Перейти к содержанию

Мультиязычность и локализация

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

В настоящее время полная локализация доступна для русского и английского языков. Для остальных языков может быть реализована локализация следующих объектов:

а также локализация пользовательских данных:

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

Системные ресурсы

Некоторые наименования объектов в системе реализованы в виде ресурсов интерфейса, предназначенных для локализации (т.е. перевода на другие языки).

Такие ресурсы имеют вид \<%&...%>.

Например, типовые статусы задач, такие как Новая, Выполняется, в режиме администрирования отображаются как \<%&New%>, \<%&InProcess%>. Типовые переходы по маршруту, такие как Обжаловать, отображаются как \<%&Appeal%>. И так далее.

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

В дополнение к типовым, запрограммированным ресурсам в системе есть набор ресурсов для локализации, которые могут создаваться и настраиваться администратором.

Локализация текста задач и текстовых ДП

В пользовательском интерфейсе может быть включена возможность задать локализованное значение при редактировании текста задачи, а также ДП "Текст" и "Большой текст с форматированием/без форматирования" в SPA.

Для категории должны быть включены общие настройки: "Локализовать текст задач" и "Разрешить HTML в тексте задач". Для ДП должна быть активна опция "Локализуемый" в расширенных настройках.

Отображается только в карточке уже созданной задачи.

В окне выбора локализованного значения для текста задачи и ДП "Текст" и "Большой текст с форматированием/без форматирования " отображаются только активные языки системы. Список используемых языков настраивается в окне Доступные языки в Общих настройках приложения.

Фильтрация в гриде по локализованным текстовым ДП (типы Текст, Большой текст с форматированием, Большой текст без форматирования) недоступна — при включении флага «Локализуемый» фильтрующий столбец в гриде не отображается. Ограничение не распространяется на текстовые ДП без флага локализации.

Локализация объектов

Все объекты (сущности) "Первой Формы" локализуются в интерфейсе администратора. Названия объектов можно переводить по отдельности или пакетно. Пакетный способ доступен в разделе Прочее на странице Пакетный перевод сущностей. Перевод отдельных названий описан ниже.

Рядом с объектом отображается иконка локализации — по клику на нее открывается окно для задания названий объекта в разных локалях.

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

Локализация в смарт-автоматизациях

В смарт-автоматизациях локализацию можно реализовать только с помощью запросов TSQL. Структуру таблиц, которые хранят данные для локализации, можно посмотреть на схеме.

Локализация данных

Чтобы текст задачи можно было задавать для разных локалей, в основных настройках категории надо включить опцию Локализовать текст задач. Тогда в карточке задачи станет доступна кнопка Локализовать, по нажатию на которую открывается окно для задания текста задачи в разных локалях. В карточке задачи текст задачи будет отображаться на том языке, который выбран в профиле пользователя.

Автоматический перевод комментариев через AI-сервис

Azure Cognitive Speech (с текущей версии)

При изменении локализованных значений система автоматически выполняет их асинхронный перевод на все поддерживаемые языки через AI-сервис.

Чтобы включить автоматический перевод комментариев, нужно выполнить следующие действия:

1. Создать и настроить сервис TranslateService. Для работы сервиса используются только поля Url и Ключ.

2. В Общих настройках приложения выбрать этот сервис в поле Перевод комментариев.

Для асинхронного автоматического перевода локализованных значений на все языки используется задание по таймеру AzureCognitiveTranslateJob. Джоб принимает параметры: исходный текст, язык источника и целевой язык.

Автоматический перевод комментариев Azure Cognitive

Для возврата к использованию Azure Cognitive Services предусмотрена возможность указать кастомную настройку TranslationService со значением azure.

Azure Cognitive Speech (до версии с новым TranslationService)

Перевод комментариев можно автоматизировать с помощью интеграции с сервисом Azure Cognitive.

Чтобы включить автоматический перевод комментариев, нужно выполнить следующие действия:

1. Создать и настроить сервис с типом Azure Cognitive.

2. В Общих настройках приложения выбрать этот сервис в поле Перевод комментариев.

Автоматический перевод комментария срабатывает, когда пользователь открывает ленту комментариев, в том случае, если выполняются условия:

  • Язык интерфейса, указанный в профиле отправителя комментария, отличается от языка интерфейса, указанного в профиле текущего пользователя,

  • В профиле пользователя на вкладке Вид в блоке Лента комментариев включен параметр Перевод комментариев в ленте.

Если для комментария уже есть перевод, то отображается переведенный комментарий, а если перевода еще нет, то комментарий добавляется в очередь на перевод. Очередь переводов обрабатывается заданием CommentsTranslationJob.

Сущности локализации

В системе используются следующие сущности:

Раздел:

  • Название — Category

Категория, Настройки, Основные:

  • Название — Subcategory

Категория, Настройки, Прочие названия интерфейса:

  • Название сущности — SubcategoryEntity

  • Текст кнопки постановки — SubcategorySendButton

  • Наименование заказчика — SubcategoryTaskOwnerName

  • Наименование исполнителя — SubcategoryTaskPerformerName

  • Название срока выполнения — SubcategorySrokName

  • Название даты начала работы — SubcategoryTaskStartName

  • Сообщение о создании задачи — SubcategoryNewTaskMessage

Категория, Настройки, БИ:

  • Имя блока — CustomBlockUsedAsEpBlockName

  • Имя таблицы в блоке (вкладка БИ) — CustomBlockUsedAsEpBlockSettingsName

Категория, Настройки, Кнопки:

  • Имя — TaskFormCustomButton

  • Описание — TaskFormCustomButtonMemo

Категория, Настройки, Блоки ДП:

  • Имя блока — ExtParamBlock

  • Имя группы блоков — ExtParamBlocksGroup

Категория, Настройки, Тех работы:

  • Сообщение о технических работах — SubcatTechWorksText

Категория, ДП:

  • Наименование ДП — ExtParamInSubcat

Категория, Маршрут, настройки перехода

  • Название кнопки — StateRouteInSubcat

  • Подсказка для кнопки — StepTooltip

  • Подсказка для заказчика — StepOwnerTooltip

  • Подсказка для исполнителя — StepUserTooltip

  • Текст подтверждения — ConfirmText

Категория, Маршрут, Подписи на переходе:

  • Причина — StaticSignatureReason

Типы резолюций:

  • Название — SignatureResolutionType

Мобильная политика паролей:

  • Сообщение — PasswordPolicy

Общие настройки приложения:

  • Лейбл в навигационной панели — NavigationPanelLogo

Статусы:

  • Название статуса — State

  • Почтовое сообщение подписчикам — StateForMails

  • Почтовое сообщение заказчику — StateForMailCustomers

  • Комментарий в задачу — StateCommentOnAttainments

  • Комментарий в родительскую — StateParentComments

Орг. структура:

  • Название — OrgStructureName

Типы орг.структуры:

  • Имя — OrgStructureTypeName

Общие настройки табличного вида (устаревшее, не используется):

  • Имя настроек — UserTaskOnlySettingName

Пользователи:

  • Фамилия — UserLastName

  • Имя — UserFirstName

  • Отчество — UserMiddleName

Дополнительные параметры:

  • Название — ExtParam

  • Пример содержимого — ExtParamTooltip

Расширенные настройки ДП Адресаты Email и Выбор пользователей:

  • Заголовок кнопки — ExtParamdButtonTitle

  • Контекстное меню: Только этому пользователю — ExtParamdOnlyCurrentUser

  • Контекстное меню: Удалить — ExtParamdRemoveUser

  • Контекстное меню: Удалить всех — ExtParamRemoveAll

  • Контекстное меню: Информация о пользователе — ExtParamUserInfo

  • Подсказка в пустом поле ввода — ExtParamdEmptyTooltip

  • Заголовок списка выбора — ExtParamdSelectListTitle

Расширенные настройки ДП Выпадающий список и Выпадающий список с редактированием:

  • Имя элемента — ExtParamOption

Расширенные настройки ДП Таблица:

  • Название секции — ExtParamTableSections

  • Название колонки — ExtParamTableSettingsName

  • Колонка Блок кнопок, Свойства кнопки, Имя — ActionButtonInListName

  • Колонка Блок кнопок, Свойства кнопки, Описание — ActionButtonInListDescription

Типы отсутствий:

  • Название — AbsenceType

Статусы отсутствий:

  • Название — FreeBusyStatus

Индикаторы:

  • Текст ссылки — MenuItem

Подписи:

  • Название подписи — Signature

Избранное:

  • Название кнопки/ссылки — UserLinksTitle

  • Имя папки — UserFavsFolderName

Порталы:

  • Название виджета — PortalGridBlock

Дополнительные настройки виджета Таблица:

  • Имя колонки — PortalBlockTableColumnTitle

Дополнительные настройки виджета Степпер (устаревшее, не используется):

  • Имя шага  --- StepperStepName

  • Текст кнопки ---StepperActionName

Фильтры, Настройки параметров фильтра (Отчеты, Порталы):

  • Название — FilterParam

Настройка МП, Контейнеры:

  • APIBlockTemplateValue

  • APIFolderTemplateValue

  • APIContainerTemplateValue

Реакции:

  • Название — EmojiReactionName

  • Описание — EmojiReactionDescription

Карточка задачи:

  • Текст задачи — Task

  • Локализованные ДП — TextExtParamValues

Глобальные настройки переходов (Устаревшее):

  • Название перехода — GlobalStepSettingsDescription

  • Почтовое сообщение подписчикам — GlobalStepSettingsForMail

  • Почтовое сообщение заказчику — GlobalStepSettingsForMailCustomer

  • Комментарий в задачу — GlobalStepSettingsCommentOnAttainment

  • Комментарий в родительскую — GlobalStepSettingsParentComment

Настраиваемые вкладки (Устаревшее):

  • Имя вкладки — CustomTabName

Полезные ссылки

Подключение сервисов

Справка по Azure Cognitive Services

Профиль пользователя

Задания по таймеру

Ресурсы для локализации

Пакетный перевод сущностей