1.安装npminstallvue-i18n@nextORyarnaddvue-i18n@nextPS:我的版本是9.1.62.使用1.在src目录下新建language文件夹(如下图)PS:有的话我这里用TS是没有JS2可以用来安装TS的。在语言文件夹下创建三个文件index.tsen-US.tszh-CN.ts//en-US.tsexportdefault{//name'name':'peng-xiao-hei'}//zh-CN.tsexportdefault{//name'name':'彭小黑'}PS:这里用到了VITE的import.meta.globEager。非VITE用户可以使用require.context//index.tsimport{createI18n}from'vue-i18n'//引入vue-i18n组件//引入同目录下的文件constmodules=import.meta.globEager('./*')//假设你在其他目录下有语言文件,它的路径是src/views/home/locales/en-US.ts//那么你可以使用:lower:(小写):upper:(大写)来导入文件constviewModules=import.meta.globEager('../views/**/locales/[[:lower:]][[:lower:]]-[[:upper:]][[:upper:].ts')functiongetLangAll():any{letmessage:any={}getLangFiles(modules,message)getLangFiles(viewModules,message)returnmessage}/***获取所有语言文件*@param{Object}mList*/functiongetLangFiles(mList:any,msg:any){for(letpathinmList){,if(mList[path].default){//获取文件名letpathName=letpathName=path.substr(path.lastIndexOf('/')+1,5)if(msg[pathName]){msg[pathName]={...mList[pathName],...mList[path].default}}else{msg[pathName]=mList[path].default}}}}//注册i8n实例并导入语言文件consti18n=createI18n({legacy:false,locale:'zh-CN',消息:getLangAll()})exportdefaulti18n;//暴露i18n,在main.js引入mount3.main注册//main.tsimportVueI18nfrom'./language'letapp=createApp(App);app.use(VueI18n)4.页面使用//home.vue
