当前位置: 首页 > 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.mrgr.cn/news/92169.html

相关文章:

  • 安全面试5
  • 15.4 FAISS 向量数据库实战:构建毫秒级响应的智能销售问答系统
  • 谈谈 ES 6.8 到 7.10 的功能变迁(3)- 查询方法篇
  • MySQL-数据库的基本操作
  • X86_64位下的GS寄存器
  • 15.1 智能销售顾问系统架构与业务价值解析:AI 如何重塑销售流程
  • Windows 11【1001问】如何下载Windows 11系统镜像
  • 排序算法漫游:从冒泡到堆排的底层逻辑与性能厮杀
  • 系统学习算法:专题十二 记忆化搜索
  • 快速上手 Unstructured:安装、Docker部署及PDF文档解析示例
  • STM32-智能小车项目
  • 人工神经网络ANN入门学习笔记1
  • 前端防重复请求终极方案:从Loading地狱到精准拦截的架构升级
  • UE 跟着官方文档学习 容器TArray 系列三
  • C#中级教程(2)——走进 C# 面向对象编程:从基础到进阶的深度探索
  • 数据结构之二叉树的定义及实现
  • std::thread的同步机制
  • 讯飞离线唤醒+离线Vosk识别+DeepSeek大模型+讯飞离线合成持续优化,无限可能~
  • 【2025深度学习环境搭建-1】在Win11上用WSL2和Docker解锁GPU加速
  • C++初阶——简单实现list