当前位置: 首页 > news >正文

国际化不生效

经过我的重重检查 最终发现是 版本问题。

原本下载默认next版本cnpm install vue-i18n@next

下载 国际化插件

cnpm install vue-i18n@^9.14.3  

删除掉node_models,再重新加载包:cnpm install 这时候就可以正常显示了

国际化操作:

en.js zh.js为这种格式的数据:

export default {login: {title: 'User Login',loginBtn: 'Login',usernameRule: 'Username is required',passwordRule: 'Password cannot be less than 6 digits',desc: `Test authority account:<br />Provide three kinds of authority accounts:<br />1. Super administrator account: super-admin <br />2. Administrator account: admin <br />3. Test configurable account: test <br />The uniform password is: 123456 <br /><br />Import user account:<br />You can log in with the imported username <br />The password is unified as: 123456 <br /><b>Note: Import user-discriminatory Chinese and English libraries! ! ! ! </b>`},route: {profile: 'Profile',chart: 'chart',user: 'user',excelImport: 'ExcelImport',userManage: 'EmployeeManage',userInfo: 'UserInfo',roleList: 'RoleList',permissionList: 'PermissionList',article: 'article',articleRanking: 'ArticleRanking',articleCreate: 'ArticleCreate',articleDetail: 'ArticleDetail',articleEditor: 'ArticleEditor'}
}

i18n/index.js

import { createI18n } from 'vue-i18n'
import mZhLocale from './lang/zh'
import mEnLocale from './lang/en'
import store from '@/store'const messages = {en: {msg: {...mEnLocale}},zh: {msg: {...mZhLocale}}
}/*** 返回当前 lang*/
function getLanguage () {return store && store.getters && store.getters.language
}
const i18n = createI18n({// 使用 Composition API 模式,则需要将其设置为falselegacy: false,// 全局注入 $t 函数globalInjection: true,locale: getLanguage(),messages
})export default i18n

再在main.js中挂载。

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import installElementPlus from './plugins/element'
import './styles/index.scss'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
import installIcons from './icons'
import './permission.js'
import i18n from './i18n'
const app = createApp(App)
installElementPlus(app)
// 导入svg图标
installIcons(app)
// 全局注册element图标
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {app.component(key, component)
}
app.use(store).use(router).use(i18n).mount('#app')

组件中调用

<template>中

<p class="title">{{ $t('msg.theme.themeColorChange') }}</p>

<script>中

<script setup>
import { useI18n } from 'vue-i18n'
import { computed, effect } from 'vue'
import { useStore, defineProps } from 'vuex'
import { ElMessage } from 'element-plus'defineProps({effect: {type: String,default: 'dark',validator: function (value) {return ['dark', 'light'].indexOf(value) !== -1}}
})const store = useStore()
const language = computed(() => store.getters.language)
// 切换语言的方法
const i18n = useI18n()
const handleSetLanguage = (lang) => {// 切换i18n的localei18n.locale.value = lang// 修改vuex中保存的languagestore.commit('app/setLanguage', lang)// 提示ElMessage.success(i18n.t('msg.toast.switchLangSuccess'))
}
</script>

http://www.xdnf.cn/news/105067.html

相关文章:

  • 【数字图像处理】机器视觉(1)
  • QT之Q_PROPERTY介绍以及在QWidget中的用法
  • 操作系统学习笔记
  • 2025年阅读论文的常用工具推荐
  • STM32F407 的通用定时器与串口配置深度解析
  • CSRF攻击原理与解决方法
  • 强化学习算法笔记【AMP】
  • 渗透测试中的信息收集:从入门到精通
  • 心智模式VS系统思考
  • 海外产能达产,威尔高一季度营收利润双双大增
  • 1.5软考系统架构设计师:架构师的角色与能力要求 - 超简记忆要点、知识体系全解、考点深度解析、真题训练附答案及解析
  • 【ROS2】机器人操作系统安装到Ubuntu简介
  • deepseek-php-client开源程序是强力维护的 PHP API 客户端,允许您与 deepseek API 交互
  • 第十五届蓝桥杯 2024 C/C++组 艺术与篮球
  • 【redis】哨兵模式
  • MACD红绿灯副图指标使用技巧,绿灯做多,MACD趋势线,周期共振等实战技术解密
  • 信息系统项目管理工程师备考计算类真题讲解六
  • DeepSeek+Mermaid:轻松实现可视化图表自动化生成(附实战演练)
  • 2025 Java 框架痛点全解析:如何避免性能瓶颈与依赖混乱
  • TI芯片ADS1299的代替品LHE7909其应用领域
  • kali安装切换jdk1.8.0_451java8详细教程
  • Docker配置带证书的远程访问监听
  • 一个关于相对速度的假想的故事-6
  • LeetCode每日一题4.23
  • Codeforces Round 1019 (Div. 2)(ABCD)
  • 【线段树】P1438 无聊的数列|普及+
  • Java Arrays工具类解析(Java 8-17)
  • Spark集群搭建之Yarn模式
  • 将十六进制字符串转换为二进制字符串的方法(Python,C++)
  • Linux内核编译全流程详解与实战指南