Переводы примеров текстов компонентов темы

Недавно в Crowdin было добавлено множество официальных компонентов тем.

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

Однако для компонентов, предлагающих примеры текста, таких как баннер поиска, каждое добавленное перевод делает кастомизацию более сложной. Раньше достаточно было добавить текст для языка форума по умолчанию (и английского по умолчанию), чтобы изменить текст для всех пользователей. С каждым новым переводом появляется ещё одна версия, которую нужно настраивать.

Подробный пример

В этом примере локаль сайта по умолчанию — английский (США), а рассматривается баннер поиска Discourse. Вот конфигурация по умолчанию:


Поскольку в репозитории GitHub нет переводов, все пользователи, независимо от выбранной локали, видят:



Когда я редактирую строки по умолчанию для английского (США):

Переводы темы для всех остальных локалей по-прежнему показывают текст английского (США) по умолчанию:

Однако строки перезаписываются для всех локалей, даже для тех, которые в настройках всё ещё отображают текст по умолчанию:




После добавления файла en_GB.yml с теми же строками по умолчанию в репозиторий GitHub редактирования строк для локализации сайта уже недостаточно. Версия английского (Великобритания) не затронута изменением.

Теперь администратору приходится настраивать обе версии, и чем больше переводов добавляется, тем больше строк нужно кастомизировать.

Мой опыт изучения сайтов с разными локалями по умолчанию на Discourse Discover показывает, что администраторы часто редактируют только текст локализации по умолчанию. Это означает, что с каждым новым переводом, добавленным в компонент темы, всё меньше пользователей видят кастомизированную версию.

Поэтому я считаю, что переводы для примеров текста менее полезны, пока не появится возможность перезаписывать все переводы одновременно.

3 лайка

“Админ → Внешний вид → Тексты сайта” работает аналогично. Настроенный текст применяется только к выбранному языку. Я понимаю, что такое поведение может приводить к несогласованности интерфейса или требовать значительных усилий в некоторых случаях.

На данный момент есть только два варианта:

  1. Отключить настройку сайта allow_user_locale. Все пользователи будут видеть язык по умолчанию и, следовательно, настроенный текст.
  2. Настроить текст для всех языков, которые вас интересуют.

Я открыт для предложений. Интересно, стоит ли добавить опцию «принудительная замена текста для всех языков». Не уверен, должна ли это быть глобальная переключатель или настройка для каждой строки отдельно. :thinking:

1 лайк

Я бы предложил просто не переводить компоненты, содержащие только примеры текста.

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

1 лайк

Я не знаком с этими компонентами. Пример из search_banner, который вы опубликовали, кажется хорошим вариантом по умолчанию, а не просто примером текста.

2 лайка

Просматривая раздел «Обнаружение» в Discourse, я получил впечатление, что текст часто настраивается. Например, многие форумы заменяют слово «сообщество» на название своего форума:

2 лайка

Этот форум — ещё один пример

Можно создать впечатление, что пользователям на иностранных языках нужно более настоятельно напоминать об использовании функции поиска

1 лайк