Переводы
Большинство текстов, используемых в системе вынесены в файлы перевода. После того, как все тексты будут вынесены, можно будет приступать к задаче локализации системы (если такая задача появится). Некоторые модули, например livefeed готовы к локализации и имеют в своем составе папку locales, в которой присутствуют как английская версия сообщений так и русская.
Система предоставляет следующие механизмы работы с локализацией.
Все модули могут иметь в своем составе файл lang.json, в котором в формате ключ-значение содержатся все переводы элементов интерфейса: служебные сообщения, информация об ошибках, название полей объектов, название кнопок и прочее.
Весь код реализован в модуле lang.
Чтобы получить название элемента согласно файлу переводов достаточно вызвать функцию Lang.Tr или её аналог Tr.
Модуль имеет иерархическое хранилище переводов, то есть если вы обращаетесь к переводу часто используемого слова, например "confirm", вам скорее всего не нужно будет его определять в своём модуле(хотя желательно, для того чтобы избежать ненужных зависимостей между модулями). При этом в качестве аргумента функции перевода можно указывать название модели, тогда перевод будет в первую очередь искаться именно в файле модели.
Примеры использования:
Система предлагает использование custom binding-а lang
Пример использования:
Можно использовать вызов к функции, напрямую
В планах - разработка интерфейса для совместного редактирования переводов. На данный момент, только собирается информация об использованных на текущей странице обращениях к модулю переводов
Last updated
Was this helpful?