如何利用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'
  }
}
相关推荐
掘金安东尼7 小时前
让 JavaScript 更容易「善后」的新能力
前端·javascript·面试
掘金安东尼7 小时前
用 HTMX 为 React Data Grid 加速实时更新
前端·javascript·面试
灵感__idea9 小时前
Hello 算法:众里寻她千“百度”
前端·javascript·算法
yinuo9 小时前
轻松接入大语言模型API -04
前端
袋鼠云数栈UED团队10 小时前
基于 Lexical 实现变量输入编辑器
前端·javascript·架构
cipher10 小时前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
UrbanJazzerati10 小时前
非常友好的Vue 3 生命周期详解
前端·面试
AAA阿giao10 小时前
从零构建一个现代登录页:深入解析 Tailwind CSS + Vite + Lucide React 的完整技术栈
前端·css·react.js
亦妤10 小时前
JS执行机制、作用域及作用域链
javascript
兆子龙11 小时前
像 React Hook 一样「自动触发」:用 Git Hook 拦住忘删的测试代码与其它翻车现场
前端·架构