Я пытался изменить название сайта в разделе «Настроить» на другом языке, не английском, но при загрузке страницы название сайта по-прежнему отображается на английском.
Смена языка по умолчанию никак не влияет: название и описание остаются неизменными, независимо от выбранного языка.
Это настройки сайта, верно? Они, насколько я знаю, не зависят от локали, поэтому вам нужно вручную отредактировать и заполнить контент на предпочитаемом вами языке.
Не совсем понятно, почему у вас возникло ожидание автоматического перевода. Не могли бы вы немного подробнее об этом рассказать?
Ни одна из настроек нашего сайта не привязана к локали, только строки интерфейса её поддерживают (те, которые можно изменить в разделе настройки администратора).
Это разумная просьба о новой функции, но её реализация может оказаться непростой задачей.
Я изменил js.login.header_title, активировал set locale from accept language header, и теперь заголовок заголовка загружается правильно в зависимости от локали, но сам заголовок и описание не меняются?
Неужели нет способа переопределить версию UI, используя локаль с сервера и файлы, специфичные для языка клиента? Я хочу, чтобы заголовок и описание были на другом языке, а не на английском, когда форум используется испаноязычными людьми.
Проблема в том, что включение опции set locale from accept language header приводит к тому, что весь контент отображается на испанском, за исключением заголовка и описания сайта.
Если другой пользователь из Турции заходит на сайт, он видит весь контент на турецком, но заголовок и описание остаются на английском, что является серьёзной проблемой.
Кроме того, все темы и сообщения будут написаны на их исходном языке.
Хотя Discourse можно использовать для многоязычных сообществ — либо выделяя для каждого языка отдельную категорию, либо активно полагаясь на плагин Discourse Translator, — сама система не является и в настоящее время не стремится стать программным обеспечением, способным обеспечить 100% локализованный опыт в рамках одного экземпляра.
Это даёт вам два варианта:
Работать с приемлемым, но не идеальным опытом в рамках одного экземпляра.
Развернуть отдельный экземпляр Discourse для каждого языка, на котором обслуживаются ваши клиенты или сервис.
У нас есть клиенты, использующие оба решения, но у каждого из них есть свои плюсы и минусы. На эту тему существует множество обсуждений по тегу Topics tagged multi-lingual.
Язык сайта — это настройка, которая сообщает Discourse использовать разные тексты для каждого локали. Эти тексты включены в вашу установку Discourse. Всё, что пользователь или администратор ввел вручную, не меняется в зависимости от языковой настройки, насколько мне известно.
Одна глупость, которую я сделал давным-давно, — это PHP-скрипт, который использовал сервис GeoIP для определения страны пользователя, а затем автоматически переводил части текста сайта на родной язык этой страны с помощью Google Translate API.
Меняете ли вы своё имя, когда говорите на другом языке? Почему же веб-сайт должен это делать?
Однако, я думаю, вы могли бы создать компонент темы, который делал бы это довольно легко. Если бы тысячам пользователей Discourse это было нужно (и они тоже считали бы абсурдным не менять заголовок при смене локали), то уже существовал бы готовый компонент темы. Но теперь вы нашли место, где можете внести свой вклад. В зависимости от того, сколько элементов вы хотите настроить для каждой локали, я предполагаю, что это работа стоимостью от 250 до 1000 долларов (которую вы можете выполнить самостоятельно, если у вас есть необходимые навыки и желание).
Поисковые системы поймут, что разные категории представлены на разных языках, и вы сможете задать для них любые title, description и т. д., используя schema.org. Каждая CreativeWork — это категория, представляющая определённый язык.
Вы можете добавить в заголовок сколько угодно объектов CreativeWork.
Таким образом, вам не придётся вносить изменения в сам Discourse, но при этом вы сможете сообщить поисковым системам, что ваш основной сайт называется XYZ на разных языках.