Мультиязычный плагин 🌐

Спасибо всем за интерес и обратную связь.

В качестве общего замечания: пожалуйста, убедитесь, что вы прочитали документацию по этому плагину перед его использованием. Там уже рассмотрены многие вопросы. Если вы обнаружите тему, которая там не освещена, дайте мне знать, и я добавлю её.

Вы также увидите одну из функций этого плагина в действии при посещении документации (если вы гость). Это переключатель языка:

@eax Спасибо за вашу обратную связь.

Да, как вы и предположили, именно это и подразумевается за функцией языков контента. Я рекомендую пока отключить её на продакшене (то есть оставить настройку сайта выключенной) и сначала протестировать в изолированной среде, пока вы знакомитесь с ней.

Обратите внимание на следующее:

  • Вы можете включать и выключать её с помощью настройки сайта multilingual content languages enabled.
  • Фильтрация по языку контента применяется только в том случае, если пользователь выбрал язык контента в своих настройках профиля.

Пожалуйста, прочитайте полную документацию о языках контента здесь: Pavilion

Вы можете массово применить языковые теги через серверную операцию, подобную описанным здесь. Я рекомендую обратиться за помощью, если вы не уверены в работе с командной строкой и/или Ruby on Rails. Функция языков контента всё ещё находится на ранней стадии развития, поэтому это основной способ настроить существующий сайт для работы с этой функцией, особенно если сайт большой.

Вы можете попробовать функцию определения языка из плагина Translator в сочетании с функцией multilingual translator content tag sync в этом плагине для автоматического применения языковых тегов. Обратите внимание, что определение языка через сервисы перевода не является бесплатным. Кроме того, на данном этапе этот подход является экспериментальным, особенно на крупных сайтах.

Я только что протестировал подход «Плагин Translator + синхронизация языков контента» на try.thepavilion.io, где в настоящее время всего 77 сообщений. Вот как я это сделал.

  1. Настройте плагин Translator и этот плагин, включите все соответствующие настройки для работы синхронизации. Подробнее здесь: Pavilion

  2. Запустите операцию ребейка (rebake) на сервере, чтобы инициировать определение языка для всех существующих сообщений. Подробнее здесь: Rebake all posts? - #2 by zogstrip.

  3. Части сообщений автоматически был присвоен языковой тег.

Это сработало не для всех тем и не идеально. Оно не сработало для некоторых тем с уже существующими тегами и не во всех случаях определило язык правильно. Например, оно посчитало это сообщение русским: 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

6 лайков