Vue实现国际化处理

本文介绍了如何在Vue项目中实现国际化处理,包括安装相关插件、配置国际化文件(zh.ts、en.ts)、设置国际化配置文件(index.ts),并在main.ts中注册插件。在组件中,可以使用`$t()`获取国际化内容,通过`useI18n`方法的`locale.value`来切换语言。整个过程基于查表思想,将需切换的语言内容存储于语言包,然后动态获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 安装 插件

npm install vue-i18n@next  

2 在src 目录下配置国际化文件locales, 并且创建 语言表,和配置文件

zh.ts

 export default {
    layout: {
        Home: '首页',
        
    }
}

en.ts

 export default {
    layout: {
        Home: 'home',
        
    }
}

国际化配置文件

index.ts

import { createI18n } from 'vue-i18n' //引入vue-i18n组件
import zh from './zh'  // 中文语言包
import en from './en'  // 英文语言包
 
// 实例化I18n
const i18n = createI18n({
    legacy: false, //处理报错Uncaught (in promise) 
    locale: "zh", // 初始化配置语言
    messages: {
        zh,
        en
    }
})
 
export default i18n

在到mian.ts中注册插件

import i18n from './locales/index'  // 引入
import App from './App.vue'

createApp(App)
    .use(i18n)    //加载

这样我们就可以在组件中使用国际化了

1 获取 =>{{$t(layout.Home)}}

2 改变语言

<template>
  <img alt="Vue logo" src="./assets/logo.png" />
  <button  @click="change('zh')">中文</button> --
 
  <router-view />
</template>
 
<script setup lang="ts">
import { useI18n } from 'vue-i18n'
 
const { locale } = useI18n()
    function change(type: string) {
      locale.value = type;
    }
</script>

总结: 国际化的本质 查表的思想 

1:将我们项目中的所有需要切换语言 内容 存放到语言包中

2: 在将我们所有需要却换内容的地方  国际化获取到动态的数据 {{ $t(表中对应的内容)}}}

3: 在通过 useI18n 这个 方法返回对象中的数据 locale.value 改变 语言

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值