UNPKG

@ices/react-locale

Version:
84 lines (83 loc) 2.95 kB
import * as React from 'react'; import { MessageDefinitions } from './message'; declare const unregisterProp = "__localeChangeUnregister"; interface LocaleChangeHandler { (arg: string): void; [unregisterProp]?: (() => void) | null; } interface LocaleLoadListener { (locale: string, fallbackLocale: string, error?: Error): void; [unregisterProp]?: (() => void) | null; } export declare const debugMessageFilter: { warning: boolean; error: boolean; emptyKeyError: boolean; }; export declare function setDebugMessageFilter(filter: Partial<typeof debugMessageFilter>): void; /** * 获取备选区域语言代码。 */ export declare function getFallbackLocale(): string; /** * 获取当前生效的区域语言代码。 */ export declare function getLocale(): string; /** * 校验locale值是不是有效的。如果非有效,则抛出异常。 * @param locale 需要校验的值。 * @param isFallback 是否是fallback语言 * @param original 原来的值 */ export declare function validateLocale(locale: any, isFallback?: boolean, original?: any): void; /** * 设置备选的区域语言代码。 * @param locale 待设定的区域语言代码。 */ export declare function setFallbackLocale(locale: string): void; /** * 设置当前生效的区域语言。 * @param locale 待设定的区域语言代码。 */ export declare function setLocale(locale: string): void; /** * 订阅全局区域语言变化事件。 * @param handler 监听处理函数。 * @return 返回取消订阅的函数。 */ export declare function subscribe(handler: LocaleChangeHandler): (() => void) | (() => void); /** * 订阅语言文件加载错误事件。 * @param listener 监听处理函数。 * @return 返回取消订阅的函数。 */ export declare function addLoadErrorListener(listener: LocaleLoadListener): (() => void) | (() => void); /** * 订阅语言文件开始加载事件。 * @param listener 监听处理函数。 * @return 返回取消订阅的函数。 */ export declare function addLoadStartListener(listener: LocaleLoadListener): (() => void) | (() => void); /** * 订阅语言文件加载完成事件。成功或失败都会调此监听。 * @param listener 监听处理函数。 * @return 返回取消订阅的函数。 */ export declare function addLoadFinishListener(listener: LocaleLoadListener): (() => void) | (() => void); /** * 语言资源加载函数。 */ export declare type LocaleResourceLoader = (locale: string) => Promise<MessageDefinitions>; export declare function fetchLocaleData(locale: string, fallback: string, fetch: LocaleResourceLoader): Promise<MessageDefinitions>; /** * 可供选用的LocaleContext。 */ export declare const LocaleContext: React.Context<string>; /** * 默认的全局语言上下文组件。 * @param value * @param props * @constructor */ export declare const LocaleProvider: React.FC<React.ProviderProps<string>>; export {};