Проверить перевод и устранить ошибки

Если локаль установлена некорректно, возникнут ошибки: пустой интерфейс разделов, не загружается страница и т. д. Чтобы этого избежать, выполните проверку. При этом рекомендуем использовать режим инкогнито или другой браузер.

Проверить установку локали и переводы

  1. Убедитесь, что в настройках разделов и модулей:
  • на странице Переводы содержатся корректные файлы формата .po с переводами ресурсов;
  • установлен исходный язык интерфейса, на котором создан раздел или модуль.

Если вы импортировали раздел или модуль из другой компании, проверьте, что в его настройках указан исходный язык интерфейса. Он должен быть выбран в исходной компании перед экспортом.

  1. Проверьте, что в настройках профиля пользователя новый язык доступен для выбора.
  2. Установите в своём профиле новый язык и проверьте перевод интерфейса на страницах разделов системы.

Ошибки локализации и их причины

  1. Ошибка: после смены языка в профиле пользователя не загружается страница. При этом текст ошибки в консоли ссылается на языковой пакет.

Стандартная причина такой ошибки: не установлен исходный язык в настройках раздела.

  1. Ошибка: пустой интерфейс раздела, зависает страница.

Причиной может быть некорректный перевод ресурсов в .po-файле. Чтобы этого избежать, переводите файлы формата .po в специальной программе, например Poеdit. Исправляйте некорректный перевод также в этой программе.

Пример .po-файла с ошибками, который открыт в Poеdit:

set-new-locale-9

  1. Ошибка оформления кода в файле формата .po.

Причиной может быть некорректное использование двойных кавычек. Соблюдайте следующие правила их оформления:

  1. Двойные кавычки могут быть только в начале и конце каждой строки перевода.

Пример кода с ошибкой:

msgid ""
"текст1\n"
"текст2\n"
msgstr ""text1\n"text2\n"

Пример верного кода 1:

msgid ""
"текст1\n"
"текст2\n"
msgstr "text1\ntext2\n"

Пример верного кода 2:

msgid ""
"текст1\n"
"текст2\n"
msgstr ""
"text1\n"
"text2\n"

  1. Если двойные кавычки нужны внутри перевода, их нужно экранировать знаком \, например:

msgstr "Add the \"Start\" button";
msgstr "Тестовое значение равно = \"1\""

Другие особенности оформления кода в .po-файле:

  • если значение параметра msgstr разбито на две строки, вы можете его написать в одну строку. Это не вызовет ошибку;
  • значение параметра msgid (ключ перевода) нельзя изменять, чтобы исключить такие ошибки, как опечатки, лишние пробелы, изменение регистра и т. п. При наличии этих ошибок ключ перевода может не примениться;
  • если в переводе есть специальные символы, их также нельзя изменять. В этом случае переводите только слова оригинального текста.