Локалізація
Загальне
Розглянемо послідовність додавання нового рядка до файла локалізації.
-
Спробувати знайти такий рядок у вже існуючих файлах. Зверніть увагу, що має сенс використовувати ще раз існуючий рядок лише якщо згідно з вашою думкою при необхідності змінити рядок в одному місці використання зміниться і рядок в іншому. У іншому випадку має сенс створити новий рядок у новому контексті - таким чином ми будемо більш готові до змін.
-
Додати рядок у існуючий файл або створити новий. Тут важливо розуміти структуру файлів. Можливо три випадки:
-
Рядок буде використовуватися лише на цій сторінці та ні на якій іншій. Тоді необхідно додати рядок до файлі з папки pageSpecific (створити новий при необхідності)
-
Рядок має відношення до компонентів які використовуються майже на будь якому користувацькому шляху. Тоді має сенс додати рядок до common файлів.
-
Рядок має відношення до деяких сторінок, але зовсім не для всіх. Тоді має сенс подумати чи відноситься цей рядок до якоїсь сутності в додатку та додати його у файл з папки domainSpecific (при необхідності створити новий). Майже завжди цей рядок буде відноситися до якогось дуже специфічного компонента (не загального, як у випадку просто таблиці, тощо), але буде використовуватися на декількох сторінках.
-
-
Перевірити що цей файл підключено у index.ts файл з папки locales/<LocaleName>. Це надасть змогу використовувати ім’я файлу як namespace.
-
Використати цей рядок у коді. В наших додатках використовується hook useTranslation та HOC withTranslation. Параметром у обох випадках служить ім’я файлу (або масив, у цьому випадку рядок буде шукатися послідовно у вказаних файлах).