Учет мультиязычности при настройке системы
С появлением мультиязычности, языковая версии продукта (по моему скромному мнению) перестала играть серьезное значение. Действительно, какая разница для пользователей, английский сервер стоит или русский? Ведь интерфейс пользователей всегда можно сделать русским установив пакет локализации.
На что базовый язык влияет, так это на настройки системы. Все настройки должны проводиться в базовом языке. И только после этого, языковые метки можно локализовывать. Как это сделать? Достаточно просто.
Итак, у нас есть английский сервер с установленным русским языковым пакетом. Мы хотим добавить на карточку юрлица поле Внутренний код (а для пользователей с английским интерфейсом - Internal code). Последовательность шагов следующая:
- Переходим в английский интерфейс (повторюсь, все настройки должны проводиться в базовом языке)
- Открываем свойства объекта Бизнес-партнер
- Добавляем атрибут new_internalcode (отображаемое имя - Internal code) и выводим его на форму
- Публикуем изменения. Теперь, мы должны настроить эту кастомизацию для другого языка (в нашем случае - русского)
- Открываем Settings->Customization и выбираем пункт Export Labels for Translations
- Нажимаем Ок, выбираем пункт Save, указываем расположение файла с метками и нажимаем кнопку Save
- Теперь, открываем файл CrmTranslations.zip (обратите внимание, все настройки теперь экспортируются в виде zip файлов) и открываем файл CrmTranslations.xml. При этом, запускается Microsoft Excel, в котором мы можем редактировать файл меток
- Открываем 3-ю закладку, которая называется Localized Labels. Структура таблицы достаточно проста: ID объекта или атрибута, название колонки (Description, DisplayName, LocalizedName или LocalizedCollectionName) и варианты для всех поддерживаемых системой языков. Т.е., если у нас поддерживаются 2 языка (английский и русский), то у нас будет 2 колонки, которые называются 1033 и 1049
- Соответственно, находим соответствующую строку в таблице (можно использовать функции поиска), добавляем локализованный вариант названия нашего атрибута в колонку 1049 (Внутренний код) и сохраняем файл, например, на рабочем столе
- Теперь, открываем Settings->Customization и выбираем пункт Import Labels for Translations
- Указываем наш файл и нажимаем кнопку Import
- После завершения операции импорта, нам остается только опубликовать все изменения