uniapp实现中英文切换



home.js

复制代码
const data = {
    ZH: {
        content1: "苹果",
    },
    EN: {
        content1: "Apple",
    }
}
export default data

index.js

复制代码
import home from "./home.js"
export default {
    home
}

en.js

复制代码
import part1 from './data/part1/index.js'
const en = {
	language: {
		name: "english"
	},
	part1: {
		home: {
			content1: part1.home.EN.content1,
		}
     }
}
export default en

zh.js

复制代码
import part1 from './data/part1/index'
const zh = {
	language: {
		name: "中文"
	},
	part1: {
		home: {
			content1: part1.home.ZH.content1,
		},
	},
}
export default zh

使用

复制代码
{{$t("part1.home.content1")}}

页面标题

复制代码
onShow: function() {
			uni.hideHomeButton();
			if (this.$i18n.locale == 'en') {
				uni.setNavigationBarTitle({
					title: 'Home Page'
				});
			} else {
				uni.setNavigationBarTitle({
					title: '首页'
				});
			}
		},

main.js

复制代码
import ZH from '@/language/zh.js'  //中文最终汇总暴露的信息
import EN from '@/language/en.js'  //英文
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
const i18n = new VueI18n({
  // localStorage.getItem('languageSet') || 'zh'
  locale: 'zh',   //从localStorage里获取用户中英文选择,没有则默认中文
  messages: {
    'zh': ZH,
    'en': EN
  }
})

const app = new Vue({
	i18n,
	store,
	...App
})

使用

复制代码
<u-button size="medium" type='primary' @click="chagelanguage">{{ language }}</u-button>

chagelanguage() {
				this.$i18n.locale == 'zh' ? this.$i18n.locale = 'en' : this.$i18n.locale = 'zh' //设置中英文模式
				if (this.$i18n.locale === 'zh') {
					this.language = "en"
					uni.setNavigationBarTitle({
						title: '首页'
					});
					uni.setTabBarItem({
						index: 0,
						text: '首页',
					})
					uni.setTabBarItem({
						index: 1,
						text: '我的',
					})
				} else {
					this.language = "zh"
					uni.setNavigationBarTitle({
						title: 'Home Page'
					});
					uni.setTabBarItem({
						index: 0,
						text: 'Home Page',
					})
					uni.setTabBarItem({
						index: 1,
						text: 'User',
					})

				}
			},
相关推荐
To_OC5 小时前
LC 51 N 皇后:我以为难的是回溯,结果栽在了对角线下标
javascript·算法·leetcode
腻害兔5 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
小林ixn7 小时前
从零到一理解 React 父子组件通信:手写一个 Todo 应用带你彻底搞懂单向数据流
前端·javascript·react.js
三声三视7 小时前
uni-app 鸿蒙端传参变成 [object Object]?顺着源码追到 ArkTS router 底层才搞明白
人工智能·ai·uni-app·aigc·ai编程·harmonyos
窝子面9 小时前
手搓最简前后端协作-node
javascript·数据库
kyriewen10 小时前
我让AI给前端项目做了一次完整的Code Review——它和人类的差距,比我想的大得多
前端·javascript·ai编程
এ慕ོ冬℘゜10 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途
开发语言·前端·javascript
sugar__salt11 小时前
Vue3 表单双向绑定与响应式核心 API 技术详解
前端·javascript·vue.js
郝亚军12 小时前
使用Vue 3和Nginx打包和部署Vue.js项目的一般步骤
前端·vue.js·nginx
SmartBoyW12 小时前
CSS弹性布局(Flexbox)学习笔记:从零开始搞懂弹性布局
前端·javascript