Словари
Как переводить фиксированные тексты интерфейса сайта.
Введение
Словари — это система переводов фиксированных текстов интерфейса сайта: подписей, сообщений, текстов кнопок — всего того, что не является содержимым страницы, а представляет собой текст, «встроенный» в код, и при этом должно существовать на каждом языке.
Она включает две формы в бэк-офисе:
- Запись (
dictionary_entry) - Словарь (
dictionary)
Запись
Определяет «ключ» перевода — Код (code, используется в коде для получения значения) и Описание. Например: запись uspeshnaya-otpravka-formy, используемая для сообщения об успешной отправке контактной формы (именно она отображается в ContactForm раздела «Функциональность»).
Словарь
Это переведённое значение Записи для определённого Языка (language_id) — поле Значение (value, принимает HTML).
В отличие от Настроек, у Словаря нет механизма резервного значения без языка — для каждой Записи нужно явно задать Значение для каждого языка, на котором она используется. Если перевод для какого-либо языка отсутствует, отображается сам код Записи (например, uspeshnaya-otpravka-formy), а не общее значение.
Программно
Класс website/src/common/Cluar.js предоставляет функции для чтения записей словаря; все они возвращают код записи, если перевода нет (это помогает заметить отсутствующие переводы):
Cluar.dictionary(zapis)— получает переведённое значение на текущем языке в том виде, в котором оно сохранено (может содержать HTML).Cluar.plainDictionary(zapis)— то же, но удаляет теги<p>и<br>. Чаще всего используется в подписях интерфейса (кнопки, поля форм, уведомления).Cluar.plainTitle(zapis)— то же, но удаляет только теги<p>.Cluar.plainHTML(zapis)— удаляет все HTML-теги.Cluar.dictionaryNoParagraph(zapis)— удаляет только теги<p>(эквивалентноplainTitle).
Следующий шаг
Изучите Шаблоны.