Skip to content

Latest commit

 

History

History
69 lines (50 loc) · 1.55 KB

readme.md

File metadata and controls

69 lines (50 loc) · 1.55 KB

简介

vitescv的i18n多语言模块 ,基于vue-i18n@8,提供多语言解决方案, 设置中的语言包会被当做全局加载.

安装

pnpm add @vitescv/i18n

使用

#在config.js中配置,配置部分同vue-i18n
import zhLang from "./i18n/zh.json"
modules:{
  ...
  "@vitescv/i18n":{
    dir:"i18n",              // 自动加载语言包的默认目录,内部文件名则为语言包名[lang].json
    locale:'zh',             // * 默认的语言,必填,
    fallbackLocale:'zh',     // 找不到语言包的回滚语言
    silentFallbackWarn:true, // 静默回滚错误
    messages:{               // 也可以自己设定,但是改动会触发配置文件改动,dev服务会重启
      "zh":zhLang,
      ...
    }
  },
}

页面中的自定义语言包可以在页面中自行设定,vue-i18n会自动加载合并

# pages/index.vue
....
import zhLang from "./zh.json"
export default {
  ...
  i18n:{
    messages:{
      'zh':zhLang,
      ...
    }
  },
  ...
}

扩展

该模块扩展了上下文,提供Context.I18n对象可以在其他摸块中提供对语言解决方案,该对象的api如下:

  • langs

​ 当前支持的语言列表数组

  • i18n

​ vue-i18n的实例

  • setLocaleMessage(lang,importer)

​ 针对某个语言增加全局语言包或者语言包加载器,其中importer方法可以返回一个json数据,也可以返回一个promise实现异步加载

  • setLocaleMessages(importers)

setLocaleMessage的批量方法,importers为lang和importer的映射对象