Docs

Docs

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

Мультиязычность

Мультиязычность

Назначение

Сервис обеспечивает использование интерфейса и данных в нескольких языковых вариантах. Включает переводы меток интерфейса (translation), словари и переключатель языка в Dinext.

Цели и задачи

  • Отображать интерфейс (метки, сообщения) на выбранном языке пользователя.
  • Вести переводы для стандартных и кастомных меток (Translation).
  • Поддерживать несколько языков для данных (описания, справочники) при настройке.
  • Переключать язык в профиле пользователя или на сайте.
  • Обеспечивать единообразие терминологии через централизованные переводы.

Для кого

  • Все пользователи, работающие на предпочитаемом языке.
  • Администраторы и переводчики, заполняющие словари переводов.
  • Многоязычные команды и заказчики.

Основные понятия

  • Translation — запись перевода: исходная строка (source text), язык, переведенная строка. Используется для меток интерфейса и при необходимости для данных.
  • Язык по умолчанию — язык интерфейса при отсутствии перевода или выбора пользователя; задается в настройках сайта или системы.
  • Language — справочник поддерживаемых языков в системе.
  • translation.py — логика загрузки и применения переводов.

Основные сущности / объекты

  • Translation , translation.py .

Основные сценарии / процессов

Переключение языка (пользователь)

  1. Открыть профиль пользователя (User) или настройки сайта.
  2. Выбрать язык интерфейса (Language); сохранить.
  3. После обновления страницы метки отображаются на выбранном языке в пределах имеющихся переводов.
  4. При отсутствии перевода отображается исходная строка (обычно на английском или языке по умолчанию).

Добавление переводов (администратор / переводчик)

  1. Открыть список Translation или инструмент переводов (например, через Language или Translate в настройках).
  2. Найти исходную строку (из интерфейса или из экспорта непереведенных строк).
  3. Создать или отредактировать запись: исходный текст, язык, переведенный текст.
  4. Сохранить; при следующей загрузке страницы перевод применится.
  5. Для массового перевода использовать экспорт строк в файл, перевод и импорт по документации Dinext.

Локализация данных (при необходимости)

  1. Для переводимых полей в справочниках (например, название номенклатуры на нескольких языках) может использоваться отдельная таблица переводов или кастомные поля (Item Name RU, Item Name EN и т.д.) в зависимости от конфигурации.
  2. Отображение значения по языку пользователя настраивается в форме или в запросах (условие по language).
  3. Стандартная модель Translation в Dinext в первую очередь для меток интерфейса; данные — по реализации проекта.

Правила и ограничения

  • Переводы кэшируются для производительности; после изменения переводов может потребоваться очистка кэша или перезагрузка воркеров.
  • Не все строки интерфейса могут быть вынесены в Translation (часть генерируется в коде); для полной локализации проверять покрытие и при необходимости добавлять строки в словарь вручную или через инструменты экспорта непереведенных.
  • Язык пользователя может переопределяться языком браузера или сайта в зависимости от настроек.

Результаты / отчетность

  • Интерфейс на выбранном языке для пользователей.
  • Список переводов (Translation) с фильтрами по языку и контексту.
  • Отчет о непереведенных строках при использовании инструментов экспорта/проверки.

Типовые вопросы и ошибки (FAQ)

После добавления перевода ничего не изменилось

Очистите кэш (Clear Cache в настройках или перезапуск приложения); обновите страницу. Убедитесь, что исходная строка совпадает точно (пробелы, регистр). Проверьте, что выбран правильный язык в профиле пользователя.

Как перевести кастомное поле?

Метка поля (Label) хранится в метаданных тип документа или в Custom Field; при смене языка подставляется перевод из Translation для этой метки, если запись создана. Создайте Translation с source text = точная метка поля и нужным языком.

Где задается язык по умолчанию для сайта?

В настройках сайта (Site Config или System Settings) обычно есть параметр default_language или language; при отсутствии выбора пользователя используется он. Уточните в документации вашей версии Dinext.

Связанные темы

Last updated 3 months ago
Was this helpful?
Thanks!