﻿# Проверить перевод и устранить ошибки

> [HTML Version](check-localization.html)

Если локаль установлена некорректно, возникнут ошибки: пустой интерфейс разделов, не загружается страница и т. д. Чтобы этого избежать, выполните проверку. При этом рекомендуем использовать режим инкогнито или другой браузер.

## Проверить установку локали и переводы

1. Убедитесь, что в настройках разделов и модулей:

- на странице **Переводы** содержатся корректные файлы формата **.po** с переводами ресурсов;

- установлен исходный язык интерфейса, на котором создан [раздел](360006965372.md#section-settings) или [модуль](create-extention.md#main-tab).

Если вы импортировали раздел или модуль из другой компании, проверьте, что в его настройках указан исходный язык интерфейса. Он должен быть выбран в исходной компании перед экспортом.

2. Проверьте, что в настройках профиля пользователя новый язык доступен для выбора.

3. Установите в своём профиле новый язык и проверьте перевод интерфейса на страницах разделов системы.

## Ошибки локализации и их причины

1. Ошибка: после смены языка в профиле пользователя не загружается страница. При этом текст ошибки в консоли ссылается на языковой пакет.

Стандартная причина такой ошибки: не установлен исходный язык в настройках раздела.

2. Ошибка: пустой интерфейс раздела, зависает страница.

Причиной может быть некорректный перевод ресурсов в **.po**-файле. Чтобы этого избежать, переводите файлы формата **.po** в специальной программе, например [Poеdit](https://poedit.net/). Исправляйте некорректный перевод также в этой программе.

Пример **.po**-файла с ошибками, который открыт в **Poеdit**:

(set-new-locale-9.png)

3. Ошибка оформления кода в файле формата **.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"

2. ````
Если двойные кавычки нужны внутри перевода, их нужно экранировать знаком **\\**, например:

````
msgstr "Add the \\"Start\\" button";  
msgstr "Тестовое значение равно = \\"1\\""

````
Другие особенности оформления кода в **.po**-файле:

- если значение параметра `msgstr` разбито на две строки, вы можете его написать в одну строку. Это не вызовет ошибку;

- значение параметра `msgid` (ключ перевода) нельзя изменять, чтобы исключить такие ошибки, как опечатки, лишние пробелы, изменение регистра и т. п. При наличии этих ошибок ключ перевода может не примениться;

- если в переводе есть специальные символы, их также нельзя изменять. В этом случае переводите только слова оригинального текста.