api.locale Работа с текущей локализацией
-
api.locale.call (object, callable)
Метод для выполнения задачи с предварительной установкой переданной локали в случае необходимости.
Параметры метода:
-
object
Возможные значения:
-
Объект пользователя (employee), идентификатор пользователя.
Если первым аргументом передается пользователь (employee), то перед выполнением задачи будет установлена локаль, полученная из персональных настроек пользователя, если она отличается от текущей установленной, а после выполнения задачи будет возвращено первоначальное значение локали.
-
Строка с локалью.
Если первым аргументом передается строка с локалью ("ru", "en" или иная локаль поддерживаемая платформой), то перед выполнением переданной будет установлена данная локаль, если она отличается от текущей установленной, а после выполнения задачи будет возвращено первоначальное значение локали
-
- callable — задача, которую необходимо выполнить и вернуть результат работы.
Особенности работы метода:
- Если переданная строка с локалью не состоит в списке доступных локалей для приложения, то создается объект-исключение.
- Если вместо пользователя или строки с локалью передано нечто иное, то создается объект-исключение.
- Если передан идентификатор пользователя, у которого настроена системная локаль (то есть пользователь не изменял язык системы вручную), то метод выполняется в системной локали.
- Если передан не существующий пользовательский UUID, то метод выполняется в системной локали.
- Для задания кода локали используется официальный двухбуквенный код языка.
Пример 1. Выполнение задачи под локалью пользователя:
def employee = utils.get('employee$8517') return api.locale.call(employee) { utils.get('mc$25701').title }
Пример 2. Выполнение задачи под локалью, переданной в методе:
api.locale.call('ru') { utils.edit('employee$8517', ['title' : 'newTitle']) }
-