Локалізація реєстру. Інтерфейс моделювання.

Загальний опис

Адміністратор реєстру повинен мати можливість обрати мову для порталу моделювання реєстру.

Актори та ролі користувачів

  • Адміністратор платформи

  • Технічний адміністратор реєстру

  • Моделювальник реєстру

Функціональні сценарії

  • Управління налаштуванням мови реєстру у control-plane-console.

  • Перегляд та використання інтерфейсу admin portal в обраній мові.

Загальні принципи та положення

  • Мову обирає технічний адміністратор реєстру для всіх користувачів порталу моделювання реєстру.

  • Застосування змін потребує оновлення файлів у git та пере розгортання кабінетів та сервісів

  • Зараз небхідно додати дві мови - англійську та українську

  • За замовчуванням обрано мову платформи

    • Для існуючих реєстрів значення мови не буде обрано. Необхідно інтерпретувати це значення як українську для зворотної сумісності.

  • Переклади зберігаються у вигляді файлів у JSON-форматі стандартизованої структури

  • Бекенд та фронтенд додатки зберігають власні JSON файли перекладу окремо

Компоненти системи та їх призначення в рамках дизайну рішення

У даному розділі наведено перелік компонент системи, які задіяні або потребують змін в рамках реалізації функціональних вимог.

Підсистема Компонент Опис змін

Підсистема управління Платформою та Реєстрами

control-plane-console

Розширення інтерфейсу управління реєстру налаштуванням мови.

Підсистема управління Реєстром

registry-regulation-management

Додати локалізацію з використанням JSON файлів (зберігаються у сервісі) та локалі з env змінної.

Портал управління Реєстром

admin-portal

Нормалізувати переклади переклавши усі в один файл. Використовувати локаль с Config Map для вибору мови.

Ключові сценарії

Зміна мови реєстру

  • перехід у налаштування реєстру

  • перехід на вкладку Загальне

  • на цій вкладці обрати нову мову із запропонованих та зберегти зміни

  • прийняти зміни та дочекатись редеплою порталів з новою env змінною та Config Map.

  • сторінки тепер завантажуються новою мовою

Інтерфейси адміністратора

Зміна мови реєстру:

registry locale edit

Перегляд обраної мови:

registry locale view

Міграція існуючих реєстрів при оновленні

Усі існуючи реєстри не будуть мати змінної у values.yaml. Для цього випадку значення за замовчуванням - українська мова (uk). Таким чином ніяких змін для міграції вносити не потрібно.

Високорівневий план розробки

Технічні експертизи

  • Devops

  • BE (Java)

  • FE (vue)

  • FE (react)

Дизайн рішення

localization admin portal
Figure 1. Передача мови платформи
:registry/deploy-templates/values.yaml
global:
  language: uk
environment.js
const ENVIRONMENT_VARIABLES = {
  language: 'uk'
  /*...*/
};
registry-regulation-management/deploy-templates/templates/deployment.yaml
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

Поза скоупом

  • Моделювальних реєстру чи адміністратор реєстру обирає свою індивідуальну мову інтерфейсу

  • Локалізація пошуку у геомодулі