1. 插件地址:
Vue I18n官方文档
GitHub地址
2. 安装:
在 Vue 之后引入 vue-i18n,它会自动安装:
| <script src="https://unpkg.com/vue/dist/vue.js"></script> |
| <script src="https://unpkg.com/vue-i18n/dist/vue-i18n.js"></script> |
NPM:
Yarn:
3. 使用:
① src 目录下新建 locales 文件夹存放相关文件

locales/index.js
中创建 i18n 实例,内容如下:
| import { createI18n } from "vue-i18n"; |
| import enUS from "./en-US/index"; |
| import zhCN from "./zh-CN/index"; |
| import zhHK from "./zh-HK/index"; |
| |
| const message = { |
| enUS: { |
| ...enUS, |
| }, |
| zhCN: { |
| ...zhCN, |
| }, |
| zhHK: { |
| ...zhHK, |
| }, |
| }; |
| |
| const i18n = createI18n({ |
| locale: "zhCN", |
| legacy: false, |
| globalInjection: true, |
| messages: message, |
| }); |
| |
| export default i18n; |
en-US
等文件夹用于存放不同语言配置,例如:
| |
| export default { |
| message: { |
| hello: 'hello world' |
| } |
| }; |
| |
| export default { |
| message: { |
| hello: '你好 世界' |
| } |
| }; |
| |
② main.js 中引入 i18n
| import { createApp } from "vue"; |
| import i18n from "./locales/index"; |
| |
| const app = createApp(App); |
| app.use(i18n); |
| app.mount("#app"); |
③ 页面中使用
| <div id="app"> |
| <p>{{ $t("message.hello") }}</p> |
| </div> |
④ script中使用
| <script setup> |
| import { useI18n } from "vue-i18n"; |
| import { computed } from "vue"; |
| |
| const { t, locale } = useI18n(); |
| |
| const changeLang = (lang) => { |
| locale.value = lang; |
| localStorage.setItem("LANG", lang); |
| }; |
| const getCurrentLang = computed(() => { |
| return locale.value; |
| }); |
| |
| console.log(getCurrentLang.value); |
| console.log(t("message.hello")); |
| </script> |
4. 问题:
① 使用vite时控制台报错如下:

解决方法:vite中添加如下配置
| resolve: { |
| alias: [ |
| { |
| find: "vue-i18n", |
| replacement: "vue-i18n/dist/vue-i18n.cjs.js", |
| }, |
| ], |
| }, |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2022-08-14 大文件切片上传处理
2022-08-14 Vue横向滚动实现