vue3使用i18n

安装

npm i vue-i18n

创建目录

创建lang目录,目录下创建文件index.jsen.jszhCn.js

// index.js
import {createI18n} from 'vue-i18n
import Cookies from'js-cookie
import zhCn from './zhCn
import en from'./en'
const messages ={
	en,
	zh CN': zhCn
}
const i18n = new createI18n({
	locale: Cookies.get('language') || 'zh_CN',
	messages
})
export default i18n
// en.js
export default {
	login: 'login'
}
// zhCn.js
export default {
	login: '登录'
}

main.ts配置

...
import i18n from '@/lang'
app.use(i18n)
...

template中使用

<template>
	<button>{{ $t('login') }}</button>
</template>

封装

在js中使用跟vue2中的不一样,用起来有点麻烦,封装工具,创建i18n.js

import i18n from "@/lang
const { t } = i18n.global
export default t

在vue文件中的script里使用

<script setup>
...
import t from '@/utils/i18n' // 这里不能写作$t,即 import $t from '@/utils/i18n',会报错

t('login')
...
</script>

在单独script文件里使用

...
import $t from '@/utils/i18n' // 这里可以写作$t,也可以写作t

$t('login')
...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值