当前位置: 首页 > 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 还有啥
http://www.dtcms.com/a/35915.html

相关文章:

  • 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合并库文件
  • 2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷(一)
  • ROS ur10机械臂添加140夹爪全流程记录
  • Android Studio超级详细讲解下载、安装配置教程(建议收藏)
  • 第二章:辅助功能
  • FFmpeg进化论:从av_register_all手动注册到编译期自动加载的技术跃迁
  • 高中数学基础-平面向量
  • JMeter性能问题
  • 5 分钟用满血 DeepSeek R1 搭建个人 AI 知识库(含本地部署)
  • Linux提权之提权脚本应用(十二)
  • halcon三维点云数据处理(二十五)moments_object_model_3d