Нужна система электронного документооборота на казахском языке? Татарском, узбекском, кыргызском, не суть важно каком? Начиная с версии 1.2, в СЭД Detrix появилась возможность быстрой и несложной локализации, которая выполняется в четыре шага.
Шаг 1. Перевод языкового файла
Все интерфейсные надписи системы, информационные сообщения, сообщения об ошибках теперь находятся в одном файле languages/ru.ini. Скопируйте этот файл, назовите, к примеру, kz.ini (если речь идет о локализации на казахский язык), и переведите содержимое, сохраняя структуру файла. Размещен он должен быть, конечно, в каталоге languages.
Шаг 2. Настройка системы
В конфигурационном файле settings.xml находим секцию language и приводим ее к виду:
<item name="language" type="array">
<item name="ru" value="default"/>
<item name="kz" value=""/>
</item>
Если захотите добавить третий, язык в систему, например, английский, нужно будет просто добавить <item name="en" value=""/>
. Количество таких добавлений неограниченно.
Следует выделить один из языков, чтобы он использовался по умолчанию, если языковые установки у пользователя не заданы. Для этой цели служит атрибут value="default"
. В приведенном выше примере таким языком является русский.
Шаг 3. Установка языка у пользователя
У всех пользователей используется язык по умолчанию до тех пор пока не будет установлен иной. Изменить язык может каждый пользователь самостоятельно в своем профиле.
Либо это может сделать администратор через справочник Пользователи.
Шаг 4. Локализация конфигурации
Итак, на этом этапе мы имеем локализованный интерфейс системы документооборота с возможностью установки каждым пользователем предпочтительного языка. Остались последние штрихи в отношении самого содержимого системы. В принципе, возможность создать для каждого языка отдельное поле в типе документа или справочнике, присутствует в СЭД Detrix изначально. Интерфейс типов документов и справочников также может быть локализован на любой язык в шаблоне. Пока мы не знаем как локализовать меню, которое формируется из названий справочников, журналов и их групп, их подсказок и описаний, полей заголовков табличных представлений справочников и журналов. Для этой цели введены так называемые языковые теги. Например, если ввести в качестве названия типа документа
#ru#Приказ#/ru##kz#Бұйрық#/kz#
то для русскоязычного пользователя документ предстанет как Приказ, а для казахоязычного как Бұйрық.
Таким образом, языковой тег представляет из себя название языкового файла без расширения, заключенного между символами # и /#. Т.е. при переводе Detrix, к примеру, на албанский язык вполне уместно будет создать языковой файл alb.ini. И тогда вышеприведенную строку с названием приказа можно будет оформлять следующим образом:
#ru#Приказ#/ru##kz#Бұйрық#/kz##alb#Urdhër#/alb#
Detrix-1.2.2. Пропущена точка с запятой в 357 строке файла ru.ini (JS_LOCALE_EDITOR_TABLE_DLG_ROW_EVEN…)
Всем кто займется локализацией советую очень строго следить за кавычками — одна незакрытая пара приводит к ошибкам не указывающим на конкретную строку с пропуском, а на последствия неверного формирования массива
Языковые теги у меня не работают в описаниях полей, заголовках диалоговых окон, маршруте и шаблоне документа