Перевод: различия между версиями

Материал из CMS Sitebill Wiki
Перейти к навигации Перейти к поиску
Строка 7: Строка 7:
 
Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en.<br />
 
Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en.<br />
 
Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского.
 
Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского.
 +
 +
=== Локализации ===
 +
Языки подключаются в два этапа - этап локализации системы и этап локализации приложения
 +
 +
==== Этап локализации системы ====
 +
Языки подключаются в систему динамически. Фактически, признаком установленного языка является наличие языковой папки со словарями размещенной в /apps/system/language.
 +
В этой папке размещаются языковые директории вида ru, en, cn. Каких-то особых ограничений на название языковой папки нет, кроме того, что ее название должно состоять только из латински букв от a до z. Логичнее всего обозначать их по кодам языков согласно ISO 639-1.
 +
Данная языковая папка содержит один файл - dictionary.ini, который описывает переводы языковых переменных. Если вам необходимо добавить новый язык, просто добавьте соответствующую языковую папку, скопируйте в нее dictionary.ini из папки ru и переведите значения на нужный язык.
 +
 +
==== Этап локализации приложения ====
 +
Приложения локализируются схожим образом. Единственным отличием является то, что языковые файлы хранятся в папке приложения.
 +
Языковой папкой приложения является /apps/приложение/language. В ней располагаются языковые папки локализаций, которые должны соответствовать папкам в системной языковой папке /apps/system/language.
 +
Эта папка содержит так же файл dictionary.ini идентичны по смыслу и функционалу со словарем системы, но описываются в нем только свойственные именно этому приложению языковые переменные

Версия 23:53, 12 декабря 2014

Для того чтобы перевести пункты меню необходимо для каждого элемента в меню добавить соответствующие языковые значения. Доступно с версии системы 2.6.7

Для того чтобы перевести текстовое описание в объявлении, нужно добавить поле описания с префиксом языка.
Например, нужно сделать перевод для поля text (описание) на английский язык (en).
Заходим в редактор форм и там добавляем поле с типом textarea_editor и системным названием text_en.
В поле доступно для групп указываем группу Администраторы. Этим мы добьемся того, что посетители сайта не будут видеть дублей полей на разных языках, т.е. гость не увидит поля text_en.
Однако, система будет использовать это поле, для того чтобы найти значение для text в другом языке, если этот язык сейчас активен. И если такое значение найдено, то будет выполнена операция перезаписи значения text=text_en.
Благодаря этому, мы получим перевод для описания объявления при просмотре его на сайте на другом языке, отличном от русского.

Локализации

Языки подключаются в два этапа - этап локализации системы и этап локализации приложения

Этап локализации системы

Языки подключаются в систему динамически. Фактически, признаком установленного языка является наличие языковой папки со словарями размещенной в /apps/system/language. В этой папке размещаются языковые директории вида ru, en, cn. Каких-то особых ограничений на название языковой папки нет, кроме того, что ее название должно состоять только из латински букв от a до z. Логичнее всего обозначать их по кодам языков согласно ISO 639-1. Данная языковая папка содержит один файл - dictionary.ini, который описывает переводы языковых переменных. Если вам необходимо добавить новый язык, просто добавьте соответствующую языковую папку, скопируйте в нее dictionary.ini из папки ru и переведите значения на нужный язык.

Этап локализации приложения

Приложения локализируются схожим образом. Единственным отличием является то, что языковые файлы хранятся в папке приложения. Языковой папкой приложения является /apps/приложение/language. В ней располагаются языковые папки локализаций, которые должны соответствовать папкам в системной языковой папке /apps/system/language. Эта папка содержит так же файл dictionary.ini идентичны по смыслу и функционалу со словарем системы, но описываются в нем только свойственные именно этому приложению языковые переменные