Vue 2 怎么在国际化多语言切换中配合 Vue-I18n 动态更新文案

冬伟大大_3077

冬伟大大_3077

2026-08-28

890人浏览

原创

vue 2 中通过 vue-i18n 实现文案动态更新,关键在于响应式 locale 绑定与 $t 函数使用;修改 this.$i18n.locale 即可触发所有 $t 文案自动重渲染,并需挂载 i18n 实例、合并 element ui 多语言包、持久化语言选择至 localstorage。

vue 2 怎么在国际化多语言切换中配合 vue-i18n 动态更新文案

Vue 2 中配合 vue-i18n 实现文案的动态更新,关键在于语言标识(locale)的响应式绑定和翻译函数($t)的正确使用。只要 locale 变更,所有用 $t 渲染的文本会自动重新求值,无需手动刷新组件或页面。

确保 i18n 实例已正确挂载并响应式

main.js 中创建 i18n 实例后,必须通过 new Vue({ i18n }) 挂载到根实例,才能让所有子组件访问 this.$i18nthis.$t

  • i18n 实例的 locale 属性是 Vue.observable 的响应式字段,修改它会触发所有依赖翻译的模板重新渲染
  • 不要直接改写 messages 或重置整个实例,只需赋值 this.$i18n.locale = 'en' 即可生效
  • 推荐从 localStorage 初始化 locale,保证刷新后语言状态不丢失:locale: localStorage.getItem('lang') || 'zh'

在模板中用 $t 动态渲染文案

所有静态文本都应包裹在 $t() 中,支持嵌套键、插值和复数规则:

Vue
Vue

避免 Vue 常见错误——响应式陷阱、ref 与 reactive 区别、计算属性时机及 Composition API 陷阱。

下载
  • 基础用法:{{ $t('common.submit') }} → 对应 messages.zh.common.submit: '提交'
  • 带参数插值:{{ $t('user.welcome', { name: userName }) }}zh.user.welcome: '欢迎,{name}!'
  • 避免硬编码:<button>{{ $t('form.save') }}</button>,而不是 <button>保存</button>

Element UI 组件的文案同步更新

Element UI 2.x 自带多语言包,但需显式合并进 messages,并配置其国际化接口:

  • 在 i18n 配置中合并 Element 包:zh: { ...customZh, ...zhLocale }
  • 初始化 Element UI 时传入 i18n 回调:Vue.use(ElementUI, { i18n: (key, value) => i18n.t(key, value) })
  • 这样 <el-button></el-button><el-date-picker></el-date-picker> 等组件内部文案(如“确定”“取消”“今天”)也会随 locale 切换实时更新

提供语言切换入口并持久化状态

切换动作本身要触发 locale 更新,并保存选择,否则刷新即失效:

  • 按钮方式:<button localstorage.setitem>English</button>
  • 下拉选择:<el-select v-model="$i18n.locale"><el-option label="中文" value="zh"></el-option></el-select>
  • 建议封装一个方法统一处理:changeLang(lang) { this.$i18n.locale = lang; localStorage.setItem('lang', lang); }

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关专题

更多
vuex是什么
vuex是什么

Vuex是一个用于Vue.js应用程序的状态管理模式,提供了一种结构化的方式来组织和管理应用程序的状态,使得数据的获取和修改更加简单和可靠。本专题为大家提供vuex相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

615

5

vue2.0和3.0区别
vue2.0和3.0区别

vue2.0和3.0区别:vue2的响应式原理是利⽤“Object.defineProperty()”对数据进⾏劫持结合发布订阅模式的⽅式来实现,vue3中使⽤了es6的proxy API对数据代理,实现对数据的监控。本专题为大家提供vue2.0和3.0区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.17

1574

5

vue3的生命周期有哪些
vue3的生命周期有哪些

vue3的生命周期:1、beforecreate;2、created;3、beforemount;4、mounted;5、beforeupdate;6、updated;7、beforedestroy;8、destroyed;9、activated;10、deactivated等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

11542

5

Vue3组合式API与组件开发实战
Vue3组合式API与组件开发实战

本专题讲解 Vue 3 组合式 API 的核心概念与应用技巧,深入分析响应式系统、生命周期管理、组件设计与复用策略。通过完整项目案例,指导前端开发者实现高性能、结构清晰的 Vue 应用,提升开发效率与代码可维护性。

2026.02.10

256

23

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

2026.09.16

140

9

ai生成视频的工具免费版合集
ai生成视频的工具免费版合集

本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

2026.09.16

60

10

Pandas时间序列分析与可视化报表
Pandas时间序列分析与可视化报表

本专题整理Pandas日期转换、时间索引、重采样、滚动窗口、时区处理、plot绘图、Styler表格样式和报表输出方法。

2026.09.16

60

23

Pandas数据筛选索引与清洗处理
Pandas数据筛选索引与清洗处理

本专题整理Pandas中的loc、iloc、条件筛选、query查询、缺失值处理、重复值删除、类型转换和字符串列清洗方法。

2026.09.16

40

25

Pandas数据读取导入与文件导出处理
Pandas数据读取导入与文件导出处理

本专题整理Pandas读取CSV、Excel、JSON、SQL、Parquet等文件的方法,以及to_csv、to_excel、to_sql和to_parquet等常用数据导出流程。

2026.09.16

40

27

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue 教程
Vue 教程

共42课时 | 16.6万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.4万人学习

Vue.js 微实战--十天技能课堂
Vue.js 微实战--十天技能课堂

共18课时 | 1.6万人学习