Локалізація реєстру. Інтерфейс моделювання.
Загальний опис
Адміністратор реєстру повинен мати можливість обрати мову для порталу моделювання реєстру.
Актори та ролі користувачів
-
Адміністратор платформи
-
Технічний адміністратор реєстру
-
Моделювальник реєстру
Функціональні сценарії
-
Управління налаштуванням мови реєстру у control-plane-console.
-
Перегляд та використання інтерфейсу admin portal в обраній мові.
Загальні принципи та положення
-
Мову обирає технічний адміністратор реєстру для всіх користувачів порталу моделювання реєстру.
-
Застосування змін потребує оновлення файлів у git та пере розгортання кабінетів та сервісів
-
Зараз небхідно додати дві мови - англійську та українську
-
За замовчуванням обрано мову платформи
-
Для існуючих реєстрів значення мови не буде обрано. Необхідно інтерпретувати це значення як українську для зворотної сумісності.
-
-
Переклади зберігаються у вигляді файлів у JSON-форматі стандартизованої структури
-
Бекенд та фронтенд додатки зберігають власні JSON файли перекладу окремо
Компоненти системи та їх призначення в рамках дизайну рішення
У даному розділі наведено перелік компонент системи, які задіяні або потребують змін в рамках реалізації функціональних вимог.
Підсистема | Компонент | Опис змін |
---|---|---|
Підсистема управління Платформою та Реєстрами |
control-plane-console |
Розширення інтерфейсу управління реєстру налаштуванням мови. |
Підсистема управління Реєстром |
registry-regulation-management |
Додати локалізацію з використанням JSON файлів (зберігаються у сервісі) та локалі з env змінної. |
Портал управління Реєстром |
admin-portal |
Нормалізувати переклади переклавши усі в один файл. Використовувати локаль с Config Map для вибору мови. |
Ключові сценарії
Міграція існуючих реєстрів при оновленні
Усі існуючи реєстри не будуть мати змінної у values.yaml
. Для цього випадку значення за замовчуванням - українська мова (uk
). Таким чином ніяких змін для міграції вносити не потрібно.
Високорівневий план розробки
Дизайн рішення
global:
language: uk
const ENVIRONMENT_VARIABLES = {
language: 'uk'
/*...*/
};
env:
- name: LANGUAGE
value: {{ .Values.global.language }}
План розробки
-
Додати на вкладку
Загальне
налаштувань реєстру можливість вибору мови та обробити запит на оновлення цьєї змінної (уvalues.yaml
)-
Доступні дві мови - English (en) та Українська (uk)
-
Зберігати необхідно саме HTML language codes
-
-
Зробити змінну обраної мови доступною:
-
для registry-regulation-management як environment variable (Devops).
-
частиною Config Map (
environment.js
) у common-web-app (Devops).
-
-
На admin-portal:
-
Нормалізувати переклади та перекласти їх усі в один файл
-
У рамках нормалізації перекладів зробити мову Form Builder повність англійською
-
Сформувати файл з англомовними перекладами
-
Для кожної мови використовувати відповідну локаль (uk - Україна, en - United States)
-
Значення мови за замовчуванням у разі порожнього значення з Config Map -
uk
-
-
На registry-regulation-management:
-
додати JSON файли з перекладом (по одній на мову)
-
Спираючись на мову з environment variable додати переклад до усіх текстів які може побачити користувач (enum, помилки тощо), а також додати логіку локалі до валідаційних перевірок, форматів дат тощо.
-
Значення мови за замовчуванням у разі порожнього значення env змінної -
uk
-
Для кожної мови використовувати відповідну локаль (uk - Україна, en - United States)
-
Особливості файлів з перекладом
-
Бекенд та фронтенд використовують власні файли перекладу у форматі JSON. По одному файлу на кожну мову.
-
Файли перекладу розташовані у репозиторії common-web-app для admin-portal та у registry-regulation-management для системи управління реєстром
-
У admin-portal (розташован у common-web-app) треба переформатувати файли перекладу та скласти усі тексти в один файл
-
Частина перекладу admin-portal треба при форматуванні перекласти з web-components