js-localizer
Описание
Легковесный сервис локализации для JavaScript
Языки
- JavaScript100%
@e22m4u/js-localizer
Легковесный сервис локализации для JavaScript.
Содержание
- Установка
- Использование
- Дополнительные утилиты
- Настройки конструктора
- Методы экземпляра
- Тесты
- Лицензия
Установка
Модуль поддерживает ESM и CommonJS стандарты.
ESM
CommonJS
Использование
Создание экземпляра с указанием словарей и выполнение перевода.
i. Форматирование строк (, и др.) выполняется с помощью модуля
@e22m4u/js-format.
Склонения
Для обработки форм множественного числа используется объект
с ключами , , .
Пример для русского языка (3 формы)
Пример для английского языка (2 формы)
Для языков с двумя формами множественного числа (например, английского)
достаточно указать и (или ). Библиотека автоматически
использует вторую форму для всех чисел, кроме и .
Перевод по языковому объекту
Метод удобен, когда переводы хранятся не в глобальных словарях,
а непосредственно в коде (например, в UI-компоненте).
Если перевод для текущей локали отсутствует, будет использована резервная локаль, а если и она недоступна, то будет возвращён перевод для первого найденного языка в объекте. Если подходящий перевод так и не будет найден (например, объект пуст), то метод вернёт пустую строку.
Дополнительные утилиты
Библиотека также экспортирует некоторые полезные функции.
numWords
Функция для выбора правильной формы слова в зависимости от числа.
Она используется внутри , но может быть полезна и сама по себе.
Настройки конструктора
Параметры передаются в конструктор .
-
locale?: string
Текущая локаль. Используется как основная локаль для поиска соответствующего словаря или перевода в языковом объекте.
По умолчанию:undefined -
fallbackLocale?: string
Резервная локаль. Используется, если перевод для текущей локали не найден или текущая локаль не определена.
По умолчанию:'en' -
dictionaries?: LocalizerDictionaries
Объект со словарями, где ключ - это локаль.
По умолчанию:{}
Методы экземпляра
-
getLocale(): string
Возвращает текущую локаль. Если текущая локаль не установлена, то возвращается резервная локаль. -
setLocale(locale: string): this
Устанавливает текущую локаль. Это значение будет иметь приоритет над резервной локалью. -
getFallbackLocale(): string
Возвращает резервную (альтернативную) локаль. По умолчанию."en" -
setFallbackLocale(locale: string): this
Устанавливает резервную локаль. Локаль будет использоваться для поиска перевода, если текущая локаль не задана, либо если в словаре текущей локали отсутствует нужный ключ. -
getAvailableLocales(): string[]
Возвращает локали имеющихся справочников. -
setDictionary(locale: string, dictionary: object): this
Устанавливает или заменяет словарь для указанной локали. -
t(key: string, ...args: unknown[]): string
Возвращает переведённую и отформатированную строку по ключу из словаря. -
o(obj: object, ...args: unknown[]): string
Извлекает и форматирует перевод из переданного объекта для текущей локали.
Тесты
Лицензия
MIT