export interface ILanguage { readonly init: (all: object, defaultSelect: string) => void /** * 获取手机当前设置语言 */ readonly getPhoneLocales: () => string /** * 获取App当前设置语言 */ readonly getAppLocales: () => string /** * 获取语言列表 */ readonly getLocalesList: () => { name: string, value: string }[] /** * 获取皮肤列表 */ readonly getThemeList: () => { name: string, value: string }[] /** * 获取当前选择的所有 */ readonly getAll: () => LanguageAllData /** * 根据页面、名称 获取当前语言 * @param page 页面 * @param name 名称 */ readonly get: (page: string, name: string) => string /** * 根据页面 获取当前页面语言 * @param page 页面 */ readonly getPage: (page: string) => LanguageData /** * 获取 config 配置 * @param name 名称 */ readonly getConfig: (name: string) => string /** * 获取 nav 配置 * @param name 名称 */ readonly getNav: (name: string) => string /** * 获取 modal 配置 * @param name 名称 */ readonly getModal: (name: string) => string /** * 获取 popup 配置 * @param name 名称 */ readonly getPopup: (name: string) => string /** * 获取 touchID 配置 * @param name 名称 */ readonly getTouchID: (name: string) => string /** * 设置 * @param all 多语言全部配置 * @param select 选中的配置名称 */ readonly set: (all: object, select: string) => void /** * use 获取页面多语言 * @param pageName 页面名称 */ readonly useLanguage: (pageName: string) => object /** * use 获取语言环境 */ readonly usePhoneLocales: () => string } export type LanguageAllData = { [key: string]: LanguageData } export type LanguageData = { [key: string]: string }; /** * 多语言数据 */ export type LanguageConfig = { // 多语言列表 languages: LanguageData[] themes: LanguageData[] nav: LanguageData config: LanguageData modal: LanguageData popup: LanguageData }