UNI-APP_i18n国际化引入

官方文档:https://uniapp.dcloud.net.cn/tutorial/i18n.html

vue2中使用

1. 新建文件 locale/index.js

import en from './en.json'
import zhHans from './zh-Hans.json'
import zhHant from './zh-Hant.json'
const messages = {
	en,
	'zh-Hans': zhHans,
	'zh-Hant': zhHant
}

let i18nConfig = {
  locale: uni.getLocale(),
  messages
}

export default i18nConfig

新建文件 locale/en.json 等引入的json文件

{
	"index.i1": "测试"
}

2. main.js配置

import App from './App'

// #ifndef VUE3
import Vue from 'vue'
import i18nConfig from '@/locale/index.js'
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
const i18n = new VueI18n(i18nConfig)
import './uni.promisify.adaptor'
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
	i18n,
  ...App
})
app.$mount()
// #endif

在这里插入图片描述

3. 使用

{{$t('index.i1')}}

在js中使用

import { initVueI18n } from '@dcloudio/uni-i18n'  
import messages from '@/locale/index' 
const { t } = initVueI18n(messages)  


t('config.request.i001')

4. 切换语言

  • uni.setLocale() 用来切换系统或应用语言环境,调用此方法后会重启整个应用
  • this.$i18n.locale 用来切换实际语言
  • 注意:uni.setLocale()方法需要在this.$i18n.locale切换语言之后再调用,否则app端会有问题,语言切换不能实时显示
export default {
	data() {
		return {
			langList: [
				{name: 'English', locale: 'en'},
				{name: '简体中文', locale: 'cn'}
			]
		}
	},
	methods:{
		setLocale(index, item) {
			this.$i18n.locale = item.locale
			uni.setLocale(item.locale)
		},
	}
}

vue3使用

https://blog.youkuaiyun.com/weixin_45573681/article/details/128483984

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值