Сервис локализации
Сервис локализации (также localizationservice) предназначен для создания, хранения и управления переводами (записями локализации) в словарях.
Запись локализации содержит:
- ключ: текстовая строка-идентификатор, позволяющая находить запись локализации;
- набор пар «язык – текст перевода»: позволяющие получить текст на выбранном языке.
Словари содержат в себе группы записей локализации. Словари позволяют объединять и изолировать связанные по смыслу записи локализации, для удобной разработки и управления элементами пользовательского интерфейса: названиями кнопок, полей, описания, ошибки и др., переведенными на все или выбранные языки, поддерживающиеся продуктом.
Для создания, удаления, изменения словарей и записей локализации используюся административная консоль Платформы, API сервиса или клиентская библиотека ASE.MD.Platform.Infrastructure.Localization.Client
на языке C#.
Структуры данных сервиса локализации
Культура (Culture)
Культура (Culture): группа, определяющая языковую принадлежность записей локализации. Набор полей Culture описан в таблице ниже.
Название поля | Тип поля | Описание |
---|---|---|
ISO | string | уникальный идентификатор культуры в стандарте RFC 5646, максимальная длина поля — 5 символов (2-2, например, ru-RU) |
Title | string | описание культуры, максимальная длина поля — 50 символов |
Enabled | boolean | признак использования культуры в системе (разрешить или запретить использование) |
IsDefault | boolean | признак использования культуры как культуры по умолчанию |
Культурой по умолчанию может быть только одна культура из списка культур.
Если в настройках браузера пользователя не определена культура, будет отображаться интерфейс с использованием культуры по умолчанию, то есть той культуры, у которой параметр IsDefault принимает значение True.
Словарь (Dictionary)
Словарь (Dictionary): сгрупированные записи локализации.
В сервисе локализации поддерживается многообразие словарей, для удобства их семантического разнесения по категориям.
Словарь может формулироваться в рамках определенной тематики, системы и др. Набор полей словаря описан в таблице ниже.
Название поля | Тип поля | Описание |
---|---|---|
Code | string | уникаль ный идентификатор словаря, название, максимальная длина поля – 128 символов |
Title | string | описание словаря, максимальная длина поля — 64 символа |
Enabled | boolean | признак использования словаря в системе (разрешить или запретить использование) |
ReadOnly | boolean | Флаг только для чтения |
Если в поле ReadOnly установлен флаг только для чтения
, то изменение словаря невозможно.
Перевод (Translation)
Перевод (Translation) – связка:
- ключ: текстовая строка-идентификатор, позволяющая находить запись локализации.
- значения: набор пар «язык – текст перевода» позволяющие получить текст на вс ех языках или на выбранном языке.
Набор полей перевода описан в таблице ниже.
Название поля | Тип поля | Описание |
---|---|---|
ID | string | внутренний идентификатор перевода, генерируется при создании перевода |
Key | string | ключ, максимальная длина поля – 64 символа |
Value | string | значения |
CultureISO | string | код культуры по RFC 5646 |
DictionaryСode | string | код словаря, к которому относится перевод |
ReadOnly | boolean | Флаг только для чтения |
- ID: внутренний идентификатор перевода, через который возможна работа с Translation, например, получение или удаление Translation в клиентской библиотеке; удаление Translation с помощью ID может потребоваться в случае, если в разных словарях есть одинаковые ключи.
Если в поле ReadOnly установлен флаг только для чтения
, то изменение перевода невозможно.
Алгоритм получения перевода
- От клиента на сервис локализации приходит запрос на получение выбранной записи локализации.
- Запрос осуществляется из определенного словаря по идентификатору DictionaryCode и определенной культуры с идентификатором CultureISO, содержащей нужный перевод.
- В качестве результата работы запроса клиенту возвращается значение перевода (запись локализации).