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

Vue3 + Vite使用 vue-i18n

安装
pnpm install vue-i18n@next -D
创建 locales目录,创建index.ts/cn.json/zh.json注册
//index.ts
import type { I18nOptions } from 'vue-i18n';
import en from './en.json';
import zh from './zh.json';
export interface Messages {
    [key: string]: any;
  }
  
  export const messages: Messages = {
    en,
    zh,
  };

  // 获取浏览器 || 获取环境变量 || 默认值
  const langVal = import.meta.env+'' || 'zh';
  const i18nOptions: I18nOptions = {
    legacy: false,  // 设置为 false,启用 composition API 模式
    locale: langVal,
    fallbackLocale: langVal,
    messages,
  };
  export default i18nOptions;
//cn.json
{
    "message": {
        "asd":"eenn"
    }
}
zh.json
{
    "message": {
        "asd":"zzhh"
    }
    
}
main文件内导入
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'

import { createI18n } from 'vue-i18n';
import i18nOptions from './locales';
const i18n = createI18n(i18nOptions);

createApp(App)
.use(i18n)
.mount('#app')
vue 文件使用
// .use(i18n)后,挂载在全局的 $t
$t('message.hello')
修改它
import { useI18n } from 'vue-i18n';
const { locale } = useI18n();
// const useI18nTo = useI18n();
const switchLanguage = (lang) => {
  console.log(lang)
  locale.value = lang; // 切换语言
  console.log(locale)
}
<div>{{ $t('message.asd') }}</div>
<button @click="switchLanguage('en')">English</button>
<button @click="switchLanguage('zh')">中文</button>
重点 重点 重点
  • 依赖不要引入错误
  • 文件名称不要错了
  • 文件后缀不要错了
  • 参数配置不要错了
  • 去看 vue-i18n 还有啥

相关文章:

  • C++术语
  • 设计模式教程:备忘录模式(Memento Pattern)
  • 数据结构与算法设计-作业4-excel表合并与数据整理
  • opencv交叉编译报错:undefined reference to `png_riffle_palette_neon
  • 大白话TypeScript第四章项目实践
  • 采用TypeHandler对隐私数据自动加解密
  • hot100-二叉树
  • 20分钟 Bash 上手指南
  • 【STL】5.<set/multiset>
  • LeetCode 每日一题 2025/2/17-2025/2/23
  • Dify私有化部署自己的AI Agent
  • 【算法】堆
  • linux 文件系统和软硬链接
  • 【数据结构】B树家族详解:B树、B+树、B*
  • 【NLP 38、激活函数 ④ GELU激活函数】
  • Week1_250217~250223_OI日志(待完善)
  • 2025 银行业科技金融创新与发展报告
  • vLLM专题(十二)-推理输出(Reasoning Outputs)
  • 回合制游戏文字版(升级)
  • 【GreenHills】GHS合并库文件
  • 秦洪看盘|指标股发力,A股渐有突破态势
  • 重庆发布经济犯罪案件接报警电子地图,企业可查询导航属地经侦服务点
  • 应急部:正在积极推动各地逐步科学建设改造应急避难场所
  • 中拉论坛第四届部长级会议将举行,外交部介绍情况
  • 印度证实印巴已同意停火
  • 中日有关部门就日本水产品输华问题进行第三次谈判,外交部回应