Использование меток

При создании таблиц информационной системы, пользовательских сообщений, элементов интерфейса очень часто приходится использовать текстовые массивы строк.

Для облегчения реализации многоязыкового интерфейса и исправлении синтаксических ошибок рекомендуется хранить всю текстовую интерфейсную информацию в меточных файлах (аналог файла ресурсов в MS Visual C++).

Файл меток (labels) состоит из множества сток, каждая из которых состоит из самой метки и строки на соответствующем языке.

Пример метки: @SYS1234
@ - с этого символа начинается обозначение метки;
SYS - меточный код;
1234 - уникальное, автоматически генерируемое системой число.

Трехбуквенный меточный код SYS или SYP для любой метки указывают на ее принадлежность к стандартной системе. При самостоятельном создании файла меток, трехбуквенную метку можно задавать произвольно. Метка имеет один и тот же ID во всех языках, с которыми ведется работа.

Файлы в которых хранятся метки находятся в папке ...\Navision\ Application\ Appl\ Standard. Их описание приведено в таблице.

Расширение файла Тип файла Описание файла
*.ald Axapta Label Data Главный файл в котором хранятся сами метки
*.alc Axapta Label Comments Файл описаний
*.ali Axapta Label Index Индексный файл

Формат меточного файла: Ax + <код меточного файла><язык>.ald

Если возникает необходимость в создании новых текстов для интерфейса пользователя, тогда необходимо создать и новый файл меток. Для того чтобы это сделать с наименьшими затратами в Axatpa есть специальный Мастер по созданию файла меток, который вызывается через меню "Tools/ Development toold/ Label/ Label file wizard".

Мастер создания меточного файла

На первом шаге необходимо выбрать, что мы хотим создавать:

Далее необходимо указать код меточного файла:

Мастер создания меточного файла

После чего можно выбрать дополнительный языки для которых будут создаваться метки и закончить создание файла.

Теперь посмотрим, как его можно использовать на практике; на примере "Hello World!".

В примере дважды встречается текстовая информация: на кнопке диалога и в виде сообщения, примем только на английском. Попробуем реализовать в нашем примере многоязыковый интерфейс.

Во первых в свойстве "Text" единственной кнопки диалога нажмем кнопку для выбора или создания метки.

Создание новой метки

В окне поиска меток нажмем кнопку "New" и введем заголовок кнопки на тех языках, на которых это нам необходимо.

Ввод значений на разных языках

После чего в значение свойства "Text" кнопки диалога необходимо выбрать созданную нами метку (в моем случае "@MAV9"); для этого можно нажать кнопку "Paste label".

Следующее, что нам необходимо сделать - это перевести на русский текст сообщения. Для этого необходимо создать новую метку или использовать уже имеющуюся. Для этого откроем окно работы с метками, меню "Tools/ Development toold/ Label/ Find label". В поле "Find what" вводим текст метки на указанном языке и выполняем поик; если нужная метка не найдена - создаем новую аналогично тому, как мы создавали метку для элемента диалога. В моем случаем новое имя метки - "@MAV10".

После того, как нужная метка создана - мы можем использовать ее в коде в методе "clicked":


Print("@MAV10");

А при запуске Аксапты на русском языке при нажатии на кнопку "Жми меня" появится сообщение уже на русском:

Здравствуй МИР!

Язык интерфейса указывается, перед запуском Axapta, в конфигурационной утилите в поле Language. Начиная с версии Axapta 3.0 невозможно вставить метку с одинаковым текстом и описанием.

В результате мы получили поддержку многоязычного интерфейса. А в папке ...\Navision\ Application\ Appl\ Standard появились новые файлы: axMAV*.* .

P.S.: Экспорт и Импорт меточных файлов происходит путем их копирования в папку ...\Standard.

Автор: Андрей Михайлов aka MAV

...Шаг 5 | Содержание | Шаг 7...