前端国际化

18 篇文章 0 订阅
4 篇文章 0 订阅

1.下载依赖包

// package.json

"dependencies": {
    "vue-i18n": "^9.2.2",
},

        yarn 安装

2. 在src目录下新建目录结构

 3. locales/lang/*.js  

// zh.js

const zh = {
    messages: {
        welcome: '欢迎',
    }
}
export default zh


// en.js

const en = {
    messages: {
        welcome: 'Welcome'
    }
}
export default en

// ru.js

const ru = {
    messages: {
        welcome: 'Добро пожаловать'
    }
}
export default ru

3. locales/index.js 

import en from './lang/en'
import zh from './lang/zh'
import ru from './lang/ru'
export default {
    en, zh, ru
}

4. locales/i18n.js 

import { createApp } from 'vue'
import App from '../App.vue'

import { createI18n } from 'vue-i18n'
import messages from './index'

const app = createApp(App)

const i18n = createI18n({
    legacy: false,
    locale: localStorage.getItem('lang') || "zh", // 当前环境默认语言
    messages
})

export default function (app) {
    app.use(i18n)
}

5. main.js

// 国际化
...

import I18n from './locales/i18n'

....


app.use(I18n)

 基本配置已完成

6 .使用

··6.1 模板中使用

// 模板中使用不需要导入任何模块
<div>
    {{ $t('messages.welcome') }}
</div>

 6.2 script中使用

import { useI18n } from 'vue-i18n'
const { t } = useI18n();

console.log(t('messages.welcome'))

7 切换语言

import { useI18n } from 'vue-i18n'

export function handleSetLang(lang) {

	const { locale } = useI18n()
	locale.value = lang  //lang = 'zh|ru|en'
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值