npm.io
0.0.38 • Published 8 months ago

beauty-soft-common

Licence
Version
0.0.38
Deps
1
Size
237 kB
Vulns
0
Weekly
0

BeautySoftCommon

API: translate (локализация и мультиязычность)

Папка src/shared/translate предоставляет универсальный API для работы с переводами и языками в Angular-проектах:

  • LanguageService — сервис для управления языком, получения переводов, работы с масками и числительными.

    • setLang(lang: TSupportedLanguage): void — установить текущий язык.
    • getLang(): TSupportedLanguage — получить текущий язык.
    • getLangStatic(): TSupportedLanguage — получить язык (статически).
    • getData(): TLangData — получить все языковые данные.
    • setLangData(data: TLangData): void — добавить/обновить языковые данные.
    • translate(path: string, masks?: { [id: string]: string }): string — получить перевод по ключу с поддержкой масок.
    • splitNumeral(path: string): string[] — получить массив форм числительных по ключу.
    • numeral(path: string, number: number, masks?: { [id: string]: string }): string — получить корректную форму слова для числа.
    • langDataLoaded(): Observable<object> — подписка на событие загрузки языковых данных.
  • TranslatePipe — пайп для шаблонов:

    • Использование: {{ 'some.key' | translate }}
  • objectGet — утилита для безопасного получения значения по пути из объекта.

  • Типы:

    • TLangData — структура языковых данных.
    • TSupportedLanguage — поддерживаемые языки.
    • SupportedLanguage — enum поддерживаемых языков.

Особенности:

  • Строгая типизация, нет any/as, все методы с модификаторами доступа.
  • Соответствие CODE_STYLE.md (4 пробела, фигурные скобки, ранний возврат).
  • Не зависит от UI, может использоваться в любом Angular-проекте.