i18n+vue3+uniapp国际化(语言切换)

i18n+vue3+uniapp国际化(语言切换)

1. 安装vue-i18n

. npm install vue-i18n --save

2. 创建locales文件

  • 在目录下创建locales文件夹(与pages同级)放入应该index.ts文件 代码如下


import { createI18n } from "vue-i18n"
import zh from "./lang/zh"
import en from "./lang/en"
// console.log("当前系统语言", uni.getLocale())
const defaultLang = uni.getStorageSync("lang") || "zh"
// console.log("当前系统语言", defaultLang, typeof defaultLang)

const i18n = createI18n({
  locale: defaultLang || "zh",
  messages: {
    en,
    zh
  },
  fallbackLocale: "zh", // 回退语言
  legacy: false
})
export default i18n

  • 在locales创建文件夹lang,创建两个文件en和zh对应中英文配置文件结构如下
    在这里插入图片描述

英文文件

// en.ts
const locale = {
  index: {
    title: "hello"
  }
}

export default locale

中文文件

// zh.ts
const locale = {
  index: {
    title: "欢迎"
  }
}

export default locale

3.在main文件中引入

import { createSSRApp } from 'vue'
import VueI18n from "@/locales" // 引入i18n
export function createApp() {
  const app = createSSRApp(App)
   app.use(VueI18n)
  return {
    app
  }
}

4.在页面中使用

<template>
	<view class="content">
		<image class="logo" src="/static/logo.png"></image>
		<view class="text-area">
			<text class="title">{{t("index.title") }}</text>
			//切换语言
			<button @click="switchLang('zh')">中文</button>
			<button @click="switchLang('en')">英文</button>
		</view>
	</view>
</template>

<script setup lang="ts">
import { useI18n } from "vue-i18n" // 使用vue-i18n的useI18n方法
import { onMounted, ref } from 'vue';
onMounted(()=>{
	uni.setNavigationBarTitle({ title: t("index.title") }) //修改当前页面的标题(中英文)
	uni.setTabBarItem({//修改tabbar的名称(中英文)
	  index: 0,//tabbar的坐标(第几个)
	  text: t("index.title"),//需要修改的文字
	})
})
const { locale, t } = useI18n()
	
	//切换语言
	const switchLang=(lang:any)=>{
		 locale.value = lang;
		 //以上只需要页面上的中英文
		  //以下是需要切换页面标题和tabbar时候刷新的操作
		 uni.setStorageSync("lang",lang)
		  uni.redirectTo({
		      url: '/pages/index/index'
		  })
		        
	}
</script>
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于在VSCode中配置Vue3、Vuex和Uniapp的开发环境,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装了Node.js和npm(Node.js的包管理器)。你可以在官网上下载并安装它们。 2. 接下来,你需要全局安装Vue CLI。在命令行中执行以下命令: ``` npm install -g @vue/cli ``` 3. 创建一个新的Vue项目。在命令行中进入你想要创建项目的目录,并执行以下命令: ``` vue create your-project-name ``` 根据提示选择你需要的特性和插件,包括Vuex,以及是否使用TypeScript等。 4. 安装Uniapp插件。在命令行中进入项目目录,并执行以下命令: ``` vue add uni-app ``` 根据提示选择适用于你的平台(如H5、微信小程序等)以及是否使用TypeScript等。 5. 配置Vuex。在项目目录中找到src目录,然后创建一个store目录,在其中创建一个index.js文件。在index.js中编写你的Vuex配置,例如: ```javascript import { createStore } from 'vuex' const store = createStore({ state: { // 状态 }, mutations: { // 修改状态的方法 }, actions: { // 异步操作 }, getters: { // 计算属性 } }) export default store ``` 然后,在src目录的main.js中引入Vuex并使用它: ```javascript import { createApp } from 'vue' import App from './App.vue' import store from './store/index' createApp(App).use(store).mount('#app') ``` 6. 在VSCode中打开你的项目,在扩展商店中搜索并安装VueVuex和Uniapp相关的插件,例如"Vetur"和"uniapp-snippet"等。这些插件将提供语法高亮、代码提示和其他开发工具。 现在,你已经成功配置了VSCode中的Vue3、Vuex和Uniapp开发环境。你可以开始开发你的项目了。祝你好运!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值