i18n-pro
Version:
An out-of-the-box, lightweight JavaScript i18n auto-translation solution
50 lines (49 loc) • 1.49 kB
TypeScript
import { Condition, I18nState, Translate } from './type';
export declare const state: {};
export declare function getCurrentState(namespace: string): any;
/**
* 获取目标正则
* @param regExp 基础正则
* @param index 动态参数的起始下标
* @returns
*/
export declare function getTargetRegExp(regExp: RegExp, index: number): RegExp;
/**
* 定义 t 函数的属性
* @param t
* @param condition
* @returns
*/
export declare function defineTranslateProperties(t: Translate, condition: Condition): Translate;
/**
* 生成 t 函数
* @param condition
* @param isDotT 是否是 t.t 场景
* @returns
*/
export declare function generateTranslate(condition: Condition, isDotT?: boolean): Translate;
/**
* 获取基于格式化回调处理后的文本
* @param props
* @returns
*/
export declare function getTextFromFormatter(props: {
type: 'normal' | 'plural';
originText: string;
matchTagRes: string[];
index: number;
arg: unknown;
text: string;
state: I18nState;
condition: Condition;
}): string;
/**
* translate 函数 API的具体实现
* @param i18nState 当前i18n所有状态
* @param key key
* @param text Original text
* @param args Dynamic parameter
* @returns
*/
export declare function translateImpl(condition: Condition, key: null | string, text: string, ...args: Array<string | number | unknown>): string;
export declare function isObject(object?: object): boolean;