Я знаю, что в Discourse теперь можно изменять текст практически на всём сайте через панель администратора, но есть ли способ сделать что-то вроде глобального поиска и замены?
Я понимаю, что категории и темы являются фундаментальными элементами архитектуры Discourse, но что, если я хочу воссоздать опыт форума, на который я мигрировал, и вместо «Категорий» использовать «Форумы», а вместо «Тем» — «Треды»?
Я не вижу простого способа сделать это. Думаю, самый лёгкий вариант — создать плагин, который переопределяет все нужные вам экземпляры, чтобы вы могли работать с ними в текстовом редакторе. На это у меня, вероятно, уйдёт пара часов. Несколько лет назад, возможно, пять? Вы бы начали с 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.