Skip to content

i18nScope

每个工程会创建一个i18nScope实例,并自动注册到全局单例VoerkaI18n

  • 在多包项目中,一般每一个包均会创建自己的i18nScope实例。
  • 当第三方库也使用voerkai18n作为多语言解决方案时,引入库时也会创建该库自己的i18nScope实例
javascript
import { i18nScope } from "./languages"

// 订阅语言切换事件
i18nScope.on((newLanguage)=>{...})
// 取消语言切换事件订阅
i18nScope.off(callback)
// 当前语言作用域配置
i18nScope.settings
// 当前语言名称
i18nScope.activeLanguage         // 如zh
// 默认语言名称
i18nScope.defaultLanguage         
// 返回当前支持的语言列表,可以用来显示
i18nScope.languages    // [{name:"zh",title:"中文"},{name:"en",title:"英文"},...]
// 返回当前作用域的格式化器                         
i18nScope.formatters   
// 当前作用id
i18nScope.id
// 切换语言,异步函数
await i18nScope.change(newLanguage)
// 当前语言包                         
i18nScope.messages        // {1:"...",2:"...","3":"..."}
// 引用全局VoerkaI18n实例                         
i18nScope.global
// 注册当前作用域格式化器
i18nScope.registerFormatter(name,formatter,{language:"*"})      
// 注册默认的语言包加载器
i18nScope.registerDefaultLoader(async function(language,scope){....})
成员 类型 说明