Пакет локализации, является обёрткой над i18n.
-
В папке проекта будет заведен новый каталог с именем resources.
-
В каталоге будет находиться 3 файла с именами:
- en.json
- ru.json
- В каждом файле согласно формату json будет пара ключ-значение, где: -- "ключ" - это значение слова на английском -- "значение" - это перевод слова на язык файла. (В файле "en.json" ключ и значения могут отличаться только в местах пробела и регистрах)
Пример файла en.json:
{
"login": "Login",
"password": "Password",
"phone_number": "Phone number"
}Пример tr.json:
{
"login": "Kullanıcı adı",
"password": "Şifre",
"phone_number": "Telefon numarası"
}Для объекта типа Translater была выбрана архитектура singleton.
Такой выбор обоснован из-за того что:
- Планируется всего 1 объект, который будет вбирать в себя информацию из языковых файлов
- Объект Localizer (оберткой которого является translater) является потокобезопасным
Пока примеры показаны только в тестах.