Массовая замена в переведённых строках?

Я знаю, что в Discourse теперь можно изменять текст практически на всём сайте через панель администратора, но есть ли способ сделать что-то вроде глобального поиска и замены?

Я понимаю, что категории и темы являются фундаментальными элементами архитектуры Discourse, но что, если я хочу воссоздать опыт форума, на который я мигрировал, и вместо «Категорий» использовать «Форумы», а вместо «Тем» — «Треды»?

Да, вот это:

Не существует простого способа выполнить массовый перевод. Кроме того, это может вызвать путаницу, так как URL-адреса не будут отражать изменения.

Я думаю, что это можно сделать с помощью плагина, который заменяет локаль. Но мне кажется, это может запутать людей.

Мне тоже интересно заняться чем-то подобным. Если есть способ реализовать это в рамках тарифа Standard или Business, это было бы отлично!

Я тоже, правда, я использую собственный хостинг

Это немного проще, если вы используете собственный хостинг. Я бы, вероятно, сделал это через консоль Rails, хотя плагин — это ещё один способ.

Что вы хотите заменить?

Я хочу заменить текст «Topic» на «Thread». Есть ли команда для этого?

Я не вижу простого способа сделать это. Думаю, самый лёгкий вариант — создать плагин, который переопределяет все нужные вам экземпляры, чтобы вы могли работать с ними в текстовом редакторе. На это у меня, вероятно, уйдёт пара часов. Несколько лет назад, возможно, пять? Вы бы начали с GitHub - discourse/discourse-plugin-skeleton: Template for Discourse plugins · GitHub, скопировали бы config/locales/client.en.yml в config/locales внутри шаблона плагина, удалили бы строки, которые не хотите менять, и отредактировали те, что нужно изменить. Хотя, должно быть, существует способ заставить Rails вывести все строки (о, вот он: https://stackoverflow.com/questions/37842701/how-to-list-all-available-locale-keys-in-rails), после чего можно было бы перебрать их все, получить строку и добавить TranslationOverride для тех, что нужно изменить. Но путь через плагин, вероятно, лучше, так как вам всё равно придётся вручную настраивать вещи и видеть, что именно вы меняете.

Однако попытка заменить «topic» на «thread» — плохая идея. От этого ничего хорошего не будет. И в Discourse нет потоковых обсуждений, именно поэтому они называются темами (topics). Кроме того, новые строки, содержащие «topic», добавляются редко, но со временем они всё же могут проскользнуть.

Хорошо, я попробую это сегодня позже. Думаю, это может быть слишком много работы для такой простой вещи. Я знаю немного JS и Python, но никогда не работал с Ruby.

Спасибо за вашу помощь!

Действительно. Я бы рекомендовал вам потратить время на что угодно другое, что, по вашему мнению, поможет вашему форуму добиться успеха.

Напоминаю: я написал плагин, который может решить эту проблему