@infomaximum/localization
Advanced tools
+36
-0
@@ -0,1 +1,2 @@ | ||
| /** Возможные языки приложения */ | ||
| export declare enum ELanguages { | ||
@@ -6,11 +7,17 @@ ru = "ru", | ||
| interface ICommonLocParams { | ||
| /** Приводить первую букву локализации к верхнему регистру */ | ||
| capitalized?: boolean; | ||
| /** Явно заданный язык для выбора локализации */ | ||
| lang?: ELanguages; | ||
| } | ||
| interface ITemplateLocParams<T> extends ICommonLocParams { | ||
| /** Параметры для функции шаблона локализации */ | ||
| templateData?: T; | ||
| } | ||
| interface IPluralLocParams extends ICommonLocParams { | ||
| /** Если задан, то будет использоваться как количество для выбора локализации, | ||
| * склонение которой зависит от числа */ | ||
| count: number; | ||
| } | ||
| /** Выводит необходимый тип параметров в зависимости от передаваемого объекта локализации */ | ||
| export type TExtractLocalizationParams<T extends TLocalizationDescription> = T extends { | ||
@@ -27,4 +34,6 @@ [K in ELanguages]: (...args: infer P) => string; | ||
| }; | ||
| /** @deprecated используйте t для локализации строк */ | ||
| export type TLocalizationDescription = Record<ELanguages, string | TLocalizationFunctionalDescription | TLocalizationPluralDescription>; | ||
| export type TLocalizationParams = { | ||
| /** Язык для которого будут возвращаться локализации */ | ||
| language: ELanguages; | ||
@@ -39,7 +48,34 @@ }; | ||
| private static GetPlurableRu; | ||
| /** @deprecated используйте i18n из useSystemTranslations */ | ||
| private language; | ||
| constructor(params: TLocalizationParams); | ||
| /** | ||
| * Получает локализованный текст на основе переданного языка и объекта локализации. | ||
| * @deprecated используйте новый подход по локализации | ||
| * @param {ELanguages} language - Текущий язык, на котором должен быть возвращен локализованный текст. | ||
| * @param {L} locObj - Объект локализации, содержащий тексты на разных языках. | ||
| * @param {P} [props] - Дополнительные параметры локализации. | ||
| * @returns {string} - Локализованный текст для указанного языка. | ||
| */ | ||
| static getLocalizedTextSafe: <L extends TLocalizationDescription, P extends ILocalizationProps = TExtractLocalizationParams<L>>(language: ELanguages, locObj: L, props?: P | undefined) => string; | ||
| /** Возвращает установленный язык | ||
| * | ||
| * @deprecated используйте i18n.language из useSystemTranslations | ||
| */ | ||
| getLanguage(): ELanguages; | ||
| /** | ||
| * Возвращает язык, заданный в браузере пользователя | ||
| * @returns {ELanguages} | ||
| */ | ||
| getBrowserLanguage(): ELanguages; | ||
| /** | ||
| * Возвращает строку, соответствующую переданной локализации и преобразованную | ||
| * согласно параметрам | ||
| * | ||
| * @deprecated используйте t из useSystemTranslations | ||
| * | ||
| * @param {TLocalizationDescription} loc | ||
| * @param {ILocalizationProps} props | ||
| * @returns {string} | ||
| */ | ||
| getLocalized<L extends TLocalizationDescription, P extends ILocalizationProps = TExtractLocalizationParams<L>>(loc: L, props?: P): string; | ||
@@ -46,0 +82,0 @@ private getMaybeCapitalized; |
+27
-0
@@ -13,2 +13,3 @@ import { assertSimple } from '@infomaximum/assert'; | ||
| /** Возможные языки приложения */ | ||
| var ELanguages; | ||
@@ -53,5 +54,13 @@ (function (ELanguages) { | ||
| } | ||
| /** Возвращает установленный язык | ||
| * | ||
| * @deprecated используйте i18n.language из useSystemTranslations | ||
| */ | ||
| getLanguage() { | ||
| return this.language || this.getBrowserLanguage(); | ||
| } | ||
| /** | ||
| * Возвращает язык, заданный в браузере пользователя | ||
| * @returns {ELanguages} | ||
| */ | ||
| getBrowserLanguage() { | ||
@@ -62,2 +71,12 @@ return (navigator.language || ELanguages.en) | ||
| } | ||
| /** | ||
| * Возвращает строку, соответствующую переданной локализации и преобразованную | ||
| * согласно параметрам | ||
| * | ||
| * @deprecated используйте t из useSystemTranslations | ||
| * | ||
| * @param {TLocalizationDescription} loc | ||
| * @param {ILocalizationProps} props | ||
| * @returns {string} | ||
| */ | ||
| getLocalized(loc, props) { | ||
@@ -99,2 +118,10 @@ var _a; | ||
| }; | ||
| /** | ||
| * Получает локализованный текст на основе переданного языка и объекта локализации. | ||
| * @deprecated используйте новый подход по локализации | ||
| * @param {ELanguages} language - Текущий язык, на котором должен быть возвращен локализованный текст. | ||
| * @param {L} locObj - Объект локализации, содержащий тексты на разных языках. | ||
| * @param {P} [props] - Дополнительные параметры локализации. | ||
| * @returns {string} - Локализованный текст для указанного языка. | ||
| */ | ||
| Localization.getLocalizedTextSafe = (() => { | ||
@@ -101,0 +128,0 @@ let localization = null; |
+27
-0
@@ -15,2 +15,3 @@ 'use strict'; | ||
| /** Возможные языки приложения */ | ||
| exports.ELanguages = void 0; | ||
@@ -55,5 +56,13 @@ (function (ELanguages) { | ||
| } | ||
| /** Возвращает установленный язык | ||
| * | ||
| * @deprecated используйте i18n.language из useSystemTranslations | ||
| */ | ||
| getLanguage() { | ||
| return this.language || this.getBrowserLanguage(); | ||
| } | ||
| /** | ||
| * Возвращает язык, заданный в браузере пользователя | ||
| * @returns {ELanguages} | ||
| */ | ||
| getBrowserLanguage() { | ||
@@ -64,2 +73,12 @@ return (navigator.language || exports.ELanguages.en) | ||
| } | ||
| /** | ||
| * Возвращает строку, соответствующую переданной локализации и преобразованную | ||
| * согласно параметрам | ||
| * | ||
| * @deprecated используйте t из useSystemTranslations | ||
| * | ||
| * @param {TLocalizationDescription} loc | ||
| * @param {ILocalizationProps} props | ||
| * @returns {string} | ||
| */ | ||
| getLocalized(loc, props) { | ||
@@ -101,2 +120,10 @@ var _a; | ||
| }; | ||
| /** | ||
| * Получает локализованный текст на основе переданного языка и объекта локализации. | ||
| * @deprecated используйте новый подход по локализации | ||
| * @param {ELanguages} language - Текущий язык, на котором должен быть возвращен локализованный текст. | ||
| * @param {L} locObj - Объект локализации, содержащий тексты на разных языках. | ||
| * @param {P} [props] - Дополнительные параметры локализации. | ||
| * @returns {string} - Локализованный текст для указанного языка. | ||
| */ | ||
| Localization.getLocalizedTextSafe = (() => { | ||
@@ -103,0 +130,0 @@ let localization = null; |
+1
-1
| { | ||
| "name": "@infomaximum/localization", | ||
| "version": "1.2.0-legacy.0", | ||
| "version": "1.2.0-legacy.1", | ||
| "main": "dist/index.js", | ||
@@ -5,0 +5,0 @@ "module": "dist/index.esm.js", |
31241
21.47%354
34.09%