Это происходит и на моем тестовом сайте, но я смог просто отключить плагин в настройках (через безопасный режим), и сайт снова работает. Эд, вы в курсе их новой политики графика обновлений? Они будут поддерживать совместимость с ядром только в течение первых 5 дней месяца, поэтому вам сейчас не следует обновлять свой рабочий сайт и ожидать исправлений.
Спасибо всем за интерес и обратную связь.
В качестве общего замечания: пожалуйста, убедитесь, что вы прочитали документацию по этому плагину перед его использованием. Там уже рассмотрены многие вопросы. Если вы обнаружите тему, которая там не освещена, дайте мне знать, и я добавлю её.
Вы также увидите одну из функций этого плагина в действии при посещении документации (если вы гость). Это переключатель языка:
@eax Спасибо за вашу обратную связь.
Да, как вы и предположили, именно это и подразумевается за функцией языков контента. Я рекомендую пока отключить её на продакшене (то есть оставить настройку сайта выключенной) и сначала протестировать в изолированной среде, пока вы знакомитесь с ней.
Обратите внимание на следующее:
- Вы можете включать и выключать её с помощью настройки сайта
multilingual content languages enabled. - Фильтрация по языку контента применяется только в том случае, если пользователь выбрал язык контента в своих настройках профиля.
Пожалуйста, прочитайте полную документацию о языках контента здесь: Pavilion
Вы можете массово применить языковые теги через серверную операцию, подобную описанным здесь. Я рекомендую обратиться за помощью, если вы не уверены в работе с командной строкой и/или Ruby on Rails. Функция языков контента всё ещё находится на ранней стадии развития, поэтому это основной способ настроить существующий сайт для работы с этой функцией, особенно если сайт большой.
Вы можете попробовать функцию определения языка из плагина Translator в сочетании с функцией multilingual translator content tag sync в этом плагине для автоматического применения языковых тегов. Обратите внимание, что определение языка через сервисы перевода не является бесплатным. Кроме того, на данном этапе этот подход является экспериментальным, особенно на крупных сайтах.
Я только что протестировал подход «Плагин Translator + синхронизация языков контента» на try.thepavilion.io, где в настоящее время всего 77 сообщений. Вот как я это сделал.
-
Настройте плагин Translator и этот плагин, включите все соответствующие настройки для работы синхронизации. Подробнее здесь: Pavilion
-
Запустите операцию ребейка (rebake) на сервере, чтобы инициировать определение языка для всех существующих сообщений. Подробнее здесь: Rebake all posts? - #2 by zogstrip.
-
Части сообщений автоматически был присвоен языковой тег.
Это сработало не для всех тем и не идеально. Оно не сработало для некоторых тем с уже существующими тегами и не во всех случаях определило язык правильно. Например, оно посчитало это сообщение русским: https://try.thepavilion.io/t/well-have-a-whale-of-a-time/59
Более серьёзная проблема заключалась в том, что ряд тем не получил тег. Это проблема взаимодействия между массовыми операциями плагина Translator и массовыми операциями этого плагина. Я постараюсь усовершенствовать этот метод присвоения языковых тегов существующим сообщениям в течение следующего месяца или около того, чтобы сделать его более доступным для внедрения на существующих сайтах без технической помощи. Также я добавлю раздел документации на эту тему, как только добьюсь прогресса.
@Ed_Bobkov Как @davidkingham любезно отметил, Pavilion будет обновлять наши плагины для работы с самой последней версией Discourse только в первую неделю каждого месяца.
Однако, чтобы помочь, я внес необходимые изменения, чтобы этот плагин работал с самой последней версией Discourse. Вы можете увидеть это в действии прямо сейчас на последней версии Discourse по адресу https://try.thepavilion.io
Не знал об этом. Спасибо!
Не знаю, вызвана ли моя проблема сочетанием плагинов, но когда я отключил плагин в настройках, возникла ошибка 500. Даже в безопасном режиме ничего сделать было невозможно.
Если вы столкнулись с этой проблемой, не волнуйтесь: откройте терминал, подключитесь к серверу и выполните следующие команды:
cd /var/discourse
./launcher enter app
rails c
SiteSetting.multilingual_enabled = true
Если ваш форум снова работает, выполните три раза команду exit, чтобы безопасно закрыть терминал.
FYI - Установленные плагины
- git clone https://github.com/discourse/discourse-akismet.git
- git clone https://github.com/discourse/discourse-solved.git
- git clone https://github.com/discourse/discourse-assign.git
- git clone https://github.com/discourse/discourse-chat-integration.git
- git clone https://github.com/discourse/discourse-adplugin.git
- git clone https://github.com/discourse/discourse-calendar.git
- git clone https://github.com/discourse/discourse-translator.git
## Неофициальные
- git clone https://github.com/paviliondev/discourse-multilingual.git
- git clone https://github.com/Ebsy/discourse-nationalflags.git
- git clone https://github.com/jannolii/discourse-topic-trade-buttons.git
Редактирование: безопасно ли удалить группу тегов “Multilingual Disabled Content Tags”?
Когда я хочу создать новую тему, эти теги появляются в списке первыми — это неудобно (хотя, возможно, я запутался в настройках тегов и упустил что-то важное).
Если возможно, я бы хотел внимательнее посмотреть на ваш сайт, чтобы понять, что там происходит (если вы не против, напишите мне в личные сообщения).
Да, используйте элементы управления в правом нижнем углу этого скриншота (они добавляются плагином).
Забавно, кнопка в правом нижнем углу ничего не делает.
Их можно удалять по одной, но сначала я отправлю вам свои учётные данные, чтобы вы могли проверить несколько моментов. В остальном плагин работает отлично, так что это не большая проблема.
Я ищу способ, чтобы мои пользователи могли читать автоматически переведённые посты и ответы.
Я установил оба плагина: discourse-multilingual и discourse-translator.
Я включил все настройки для discourse-multilingual.
Также я включил встроенный перевод для discourse-translator и добавил ключ подписки Azure (ключ был сгенерирован заново для этого скриншота).
Я ограничил список языков в multilingual, чтобы упростить настройку. Но система жалуется на «конфликт тегов» для всех отключенных языков, и я не понимаю почему (при переходе по ссылкам открывается страница 404).
Кроме того, переводы в multilingual пусты, и я не знаю почему.
Я также включил все три настройки локализации пользователя.
Но нигде я не вижу опции для перевода контента других пользователей. Нет никаких дополнительных кнопок, заголовков или подвалов.
Что я мог упустить?
Я проверил настройки на форуме, над которым работаю: я использовал Google API для перевода, и всё работает нормально. Скорее всего, проблема не в этом плагине.
Я вижу два варианта:
- API перевода не может определить язык, поэтому не предлагает перевод. Я бы предложил создать новую тему на другом языке, очень короткую.
- Что-то не так с ключом подписки. Вы можете проверить /logs, чтобы увидеть, появились ли какие-либо сообщения об ошибках.
Но проблема с конфликтом тегов странная: на моём форуме в последней версии всё работает отлично (есть проблема с переключателем языка для гостей в шапке/подвале, но о ней уже сообщено). Вам стоит проверить страницу тегов (/tags), чтобы убедиться, что с тегами content_languages всё в порядке, и, возможно, обновить все теги на странице групп тегов (/tag_groups).
Я использую этот плагин для перевода названий категорий и подкатегорий, и он работает нормально, но не работает для названия подкатегории, когда она отображается в виде блоков.
Я заметил, что в шаблоне category-title-link.hbs код выглядит так:
<span class="category-name">{{dir-span category.name}}</span>
а в шаблоне categories-boxes.hbs:
<a class="parent-box-link" href={{c.url}}>
<h3>
{{#if c.read_restricted}}
{{d-icon "lock"}}
{{/if}}
{{c.name}}
</h3>
</a>
Как мне переопределить шаблон categories-boxes, чтобы он работал с отображением в виде блоков?
Я не могу понять суть.
Я не понимаю, как данные о названии категории получаются в компонентах categories-boxes и category-title-link.
В чём разница между этими компонентами при получении данных о названии категории?
Я нашёл это. Измените categories-boxes.hbs на следующее:
<a class="parent-box-link" href={{c.url}}>
<h3>
{{category-title-link tagName="span" category=c}}
</h3>
</a>
Просто используйте этот компонент category-title-link в качестве заголовка категории — это работает. ![]()
![]()
![]()
![]()
![]()
Здравствуйте, есть ли реальные примеры работающих форумов с этим плагином? Я хочу понять, как он работает на практике.
Также мне бы хотелось узнать, можно ли перенаправлять пользователей на разные ссылки в зависимости от языка.
У кого-то ещё возникают проблемы с tags в текущей версии Discourse и плагина Multilingual?
Было бы здорово, если бы можно было вынести только часть исключения локалей, так как это необходимо для моего форума, но я не буду использовать остальную часть плагина.
Нашёл ту же проблему. Плагин использует старый корневой путь для тегов. Проблема решилась, когда я отключил плагин.
Привет, ребята, спасибо за терпение.
@anon20593648 @Ed_Bobkov Я обновил плагин, чтобы он работал с новым маршрутом тегов.
Функции подробно описаны в документации с примерами:
Если у вас есть конкретный вопрос по одной из описанных там функций, напишите в соответствующей теме, и я отвечу.
@angus, привет! Как добавить перевод для пользовательских полей?
На нашем дискуссионном форуме используется многоязычный интерфейс для выбора языков, которые отображаются на странице профиля пользователя. На странице профиля отображаются только выбранные языки, а именно:
Арабский
Английский
Французский
Немецкий
Португальский
Румынский
Русский
Испанский
После выбора указанных выше языков в многоязычном интерфейсе и нажатия кнопки «Сохранить изменения» появляется сообщение «Внутренняя ошибка сервера».
Однако мы обнаружили, что данные сохраняются в базе данных. Но при проверке через три дня выяснилось, что ранее выбранные значения сняты в многоязычном интерфейсе (/admin/multilingual/languages).
Отображаются только значения по умолчанию, такие как английский, французский, испанский, английский (Великобритания). Никаких записей об ошибках, связанных с этим, не найдено. Кто-либо сталкивался с подобной проблемой? Пожалуйста, дайте совет.
Привет! На следующей неделе я сосредоточусь на этом плагине и отвечу на ваш вопрос ![]()
Спасибо за ваш ответ.
Не уверен, что это лучшее место для такого вопроса, но я думаю, что он напрямую связан с плагином:
На наших новых форумах (https://forums.sociocracyforall.org) я только что включил плагин Multilingual, и он в целом работает отлично, но:
- Когда я пытаюсь изменить языковой тег сообщений, созданных до включения плагина, у меня не получается — появляется ошибка 500. Это происходит как с моими собственными сообщениями, так и с чужими.
Есть ли какие-то идеи, почему это происходит и как это исправить?
-
Я заметил, что предупреждающее сообщение о том, что языковой тег не введен, немного непонятно для конечного пользователя.
-
Выбор языка контента не отображается на языке интерфейса (в данном случае на испанском)

Это потому, что он не переведён, или есть другая причина?
Если есть лучшее место для обсуждения этих вопросов, чем эта ветка — например, GitHub — дайте знать, пожалуйста ![]()
РЕДАКТИРОВАНИЕ: Я только что создал отдельные issue на GitHub для каждого из них: Issues · paviliondev/discourse-multilingual · GitHub











