Is formal German available?

Я изменил всё на значение по умолчанию (en) в app.yml и выполнил команду ./launcher rebuild app. После этого языком по умолчанию стал английский (США), и поведение вернулось к исходному: любые изменения локализации по умолчанию отменяются. То есть интерфейс принимает изменение, но когда я подтверждаю его (например, на немецкий) и перехожу на другую вкладку в админ-панели, а затем возвращаюсь, снова отображается английский (США).

Означает ли это, что любые изменения языка по умолчанию всегда должны вноситься через правку app.yml и последующую пересборку приложения?

После того как я изменил язык по умолчанию в app.yml на английский (США), я мог использовать кнопку «Заменить текст», чтобы изменить весь текст (например, Условия использования) с прежнего немецкого на английский, так как это язык по умолчанию. Это сработало. Однако, когда я попытался затем заменить весь текст (например, с английского на немецкий), это не сработало.

Означает ли это, что функция «Заменить текст» работает только в сторону языка по умолчанию экземпляра Discourse?

1 лайк

@gerhard
Чтобы начать тестирование, я установил DISCOURSE_DEFAULT_LOCALE: de_formal и выполнил ./launcher rebuild app. Затем я заменил весь текст с помощью соответствующей кнопки.

На моем тестовом экземпляре требуется вход в систему. При выходе из системы я получаю сообщение:

Требуется учетная запись. Пожалуйста, попросите существующего участника отправить приглашение или войдите в систему, чтобы продолжить.

Соответствующий текст в разделе администрирования — “login_required.welcome_message_invite_only”. Я дважды проверил в Transifex, что нет непереведенных строк с этим текстом. Однако Discourse (работающий с Deutsch(Sie)) по-прежнему отображает неформальный текст.

Возможно, в исходном файле языка в Transifex отсутствует какой-то текст?

1 лайк

@gerhard
Я уже нашел решение. Причиной была настройка «устанавливать локаль из заголовка accept language». Она была у меня активна, и это приводило к отображению неформального текста, так как заголовок языка моего браузера не содержит «de_formal».

2 лайка

@gerhard
Есть ли способ самостоятельно обновить переводы из Transifex в Discourse, или мне каждый раз нужно просить вас обновлять плагин?

В данный момент мне не хватает одного ключа из Discourse, который недоступен для перевода в Transifex:

discourse_narrative_bot.new_user_narrative.hello.title

У вас есть идея, где я могу найти его или почему он недоступен в Transifex?

2 лайка

Да, этой строки не хватает, так как она находится в плагине, а у меня сейчас нет времени это исправить. Скорее всего, это придётся отложить до тех пор, пока я не найду возможность перенести это в Crowdin и реализовать полноценное автоматизированное решение.

Я буду стараться обновлять переводы из Transifex каждую неделю. Это лучшее, что я могу сделать на данный момент. Извините. В ближайшие месяцы я постараюсь поработать над более качественным решением.

3 лайка

@gerhard
Не могли бы вы, пожалуйста, обновить переводы? Заранее спасибо.

Было бы хорошо найти решение, чтобы я мог делать это самостоятельно. Есть ли какие-то рекомендации в этом плане?

2 лайка

Готово. Вы можете создать pull-запросы с обновлениями для GitHub - gschlager/discourse-german-formal-locale: This plugin adds a formal version of German as a new locale to Discourse. · GitHub, установив GitHub - transifex/cli: The Transifex command-line client · GitHub и запустив bin/pull_translations.rb

1 лайк