如何利用i18n实现国际化

1.首先新建i18.js文件

复制代码
// i18n配置
import { createI18n } from 'vue-i18n'
// import ElementPlus from 'element-plus'
import zhCn from 'element-plus/es/locale/lang/zh-cn'
import zh from './zh-cn'
import en from './en'
import ru from './ru'
const messages = {
  en_US: {
    ...en,
    // ...elementEnLocale
  },
  zh_CN: { 
    ...zh,
    ...zhCn
  },
  ru_RU: {
    ...ru,
    // ...elementZhLocale
  }
}
// 创建i18n
const i18n = createI18n({
  locale: localStorage.getItem('language') || 'zh_CN', // 语言标识
  globalInjection: true, // 全局注入,可以直接使用$t
  // 处理报错: Uncaught (in promise) SyntaxError: Not available in legacy mode (at message-compiler.esm-bundler.js:54:19)
  legacy: false,
  messages
})

export default i18n

注意:en_US、zh_CN、ru_RU必须按照固有格式

2.新建en.js文件

复制代码
export default {
  button: {
    confirm: 'Confirm',
    login: 'Login',
    search: 'Search',
    reset: 'Reset'
  }
}
相关推荐
We་ct15 分钟前
LeetCode 5. 最长回文子串:DP + 中心扩展
前端·javascript·算法·leetcode·typescript
陈随易4 小时前
有生之年系列,Nodejs进程管理pm2 v7.0发布
前端·后端·程序员
冰暮流星4 小时前
javascript之事件代理/事件委托
前端
@yanyu6665 小时前
登录注册功能-明文
vue.js·springboot
陈随易6 小时前
AI时代,你还在坚持手搓文章吗
前端·后端·程序员
里欧跑得慢8 小时前
17. Flutter Hero动画实现:让界面过渡更加优雅
前端·css·flutter·web
IT_陈寒8 小时前
Vue的这个响应式陷阱,我debug了一整天才爬出来
前端·人工智能·后端
cn_mengbei8 小时前
用React Native开发OpenHarmony应用:Reanimated共享元素过渡
javascript·react native·react.js
kyriewen8 小时前
前端测试:别为了100%覆盖率而写测试,那是自欺欺人
前端·javascript·单元测试
去伪存真9 小时前
我自己写的第一个skills--project-core-standards
前端·agent