vue项目 - uniapp 设置可切换中英文

需求:
可以去切换中英文模式

npm i vue-i18n

显示:
中文版
在这里插入图片描述
英文版
在这里插入图片描述

代码:

  1. main.js
import VueI18n from 'vue-i18n';
Vue.use(VueI18n)
import languages from '@/common/lang'; //详见2
const i18n = new VueI18n({
	locale:  uni.getStorageSync('lang') ? uni.getStorageSync('lang') : 'cn', //现在配置的是中文
	 // getStorageSync 数据缓存
	messages: {
		'en': languages.en, //英文
		'cn': languages.cn  //中文
	}
});
  1. /common/lang
    在这里插入图片描述
    index.js 文件
//这里是设置的自动引入文件。
const files = require.context('.', false, /\.js$/)
const languages = {}
files.keys().forEach(key => {
  if (key === './index.js') return
  const item = files(key).default
  let name = key.replace(/.\/|.js/g, '')
  languages[name] = item || 'cn'
})

export default languages;

cn.js

const cn = {
    home:{
        welcomeTitle: '欢迎来到这里',
        welcomeSubTitle: '热烈欢迎你的到来'
    },
    service:{
        cabinService:{
            desc: '欢迎'
        }
    }
}
export default cn;

en.js

const en = {
    home:{
        welcomeTitle: 'Welcome here',
        welcomeSubTitle: 'A warm welcome to you'
    },
    service:{
        cabinService:{
            desc: 'Welcome'
        }
    }
}
export default en;

使用:

 <view class="left-box">
     <view class="tips-title">{{ $lang.home.welcomeTitle }}</view>
     <view class="tips-sub">{{ $lang.home.welcomeSubTitle }}</view>
 </view>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王小王和他的小伙伴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值