vue实现中英文切换

简单的使用(应用场景:15个以内页面的中英文切换)

1、安装 vue-i18n依赖

yarn add vue-i18n  或者 npm install vue-i18n --save-dev

2、在src/components下新建文件夹language,并在文件夹language下新建zh.js及en.js

【src/components/language/zh.js】


module.exports = {language: {name: 'English'},user: {login:'登录',register:'注册',loginUsername:'请输入邮箱/手机号',}
}【src/components/language/en.js】
module.exports = {language: {name: '中文'},user: {login:'login',register:'register',loginUsername:'please input email or phone',}
}

3、在main.js下引入及注册vue-i18n 

 

//中英文切换
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
const i18n=new VueI18n({locale:localStorage.getItem('languageSet')||'zh',   //从localStorage里获取用户中英文选择,没有则默认中文messages:{'zh':require('./components/language/zh'),'en':require('./components/language/en')}
})new Vue({el: '#app',router,i18n,   //把 i18n 挂载到 vue 根实例上components: {App},render: h => h(App),
})

4、在dom里使用 $t(' '),若在js里使用则 this.$t(' ') 

<template><span>{{$t('user.login')}}</span>   //登录<input type="text" :placeholder="$t('user.loginUsername')"  v-model="username" />   //输入用户名<div @click="changeLanguage()">{{$t('language.name')}}</div>   //切换中英文的按钮
</template><script>methods:{changeLanguage(){this.$i18n.locale=='zh'?this.$i18n.locale='en':this.$i18n.locale='zh'   //设置中英文模式localStorage.setItem('languageSet',this.$i18n.locale)   //将用户设置存储到localStorage以便用户下次打开时使用此设置},remind(){this.$toast(this.$t('user.loginUsername'))}}
<script>

复杂一点的(应用场景:整个项目大量页面需要做中英文切换)

就是基于上面的基础把文件做一下整理而已。有基础可以自己做整理的,可以略过。

1、安装 vue-i18n依赖

 

yarn add vue-i18n  或者 npm install vue-i18n --save-dev

 2、在src/components下新建文件夹language,在文件夹language下新建文件zh.js、en.js以及文件夹data

一、data文件夹下新建文件夹user,user文件夹下新建login.js,register.js,index.js
【src/components/language/data/user/login.js】 //登录页面中英文翻译文件
const info={ZH: {  //中文翻译login: "登录",loginUsername: "请输入用户名",wxLogin: "微信登录",},EN: {  //英文翻译login: "Login",loginUsername: "Please input username",wxLogin:'Login by WeChat',}
}
export default info  //需要暴露出去【src/components/language/data/user/register.js】  //注册页面中英文翻译文件
const info={ZH: {register: "注册",phoneRegister: "短信注册",emailRegister: "邮箱注册",},EN: {register: "Register",phoneRegister: "Register by phone",emailRegister: "Register by email",}
}
export default info【src/components/language/data/user/index.js】  //登录及注册等翻译文件的汇总,在此页汇总一个模块(如这里的user用户模块)的翻译文件并暴露出去
import Login from "./login"
import Register from './register'
export default{Login,Register
}二、在文件zh.js、en.js下填入以下内容
【src/components/language/zh.js】  //中文翻译最终汇总页,将所有模块在此页引入并暴露出去,在main.js全局注册后即可全局使用
import User from "./data/user/index"  //用户模块翻译文件引入
import Video from "./data/video/index"  //视频模块翻译文件引入const zh = {language: {name: 'English'},user: {login: User.Login.ZH,register: User.Register.ZH},video: {videoPlay: Video.VideoPlay.ZH,videoList: Video.VideoList.ZH},
}
export default zh  //暴露出去【src/components/language/en.js】  //英文翻译最终汇总页(同上)
import User from "./data/user/index"
import Video from "./data/video/index"const en = {language: {name: '中文'},user: {login: User.Login.EN,register: User.Register.EN},video: {videoPlay: Video.VideoPlay.EN,videoList: Video.VideoList.EN},
}
export default en

 3、在main.js下引入及挂载vue-i18n,挂载根实例后即可全局使用

//中英文切换
import ZH from '@/components/language/zh.js'  //中文最终汇总暴露的信息
import EN from '@/components/language/en.js'  //英文
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
const i18n=new VueI18n({locale:localStorage.getItem('languageSet')||'zh',   //从localStorage里获取用户中英文选择,没有则默认中文messages:{'zh': ZH,'en': EN}
})new Vue({el: '#app',router,i18n,   //把 i18n 挂载到 vue 根实例上components: {App},render: h => h(App),
})

4、在dom里使用 $t(' '),若在js里使用则 this.$t(' ') 

<template><span>{{$t('user.login.wxLogin')}}</span>   //微信登录<input type="text" :placeholder="$t('user.login.loginUsername')"  v-model="username" />   //输入用户名<div @click="changeLanguage()">{{$t('language.name')}}</div>   //切换中英文的按钮
</template><script>methods:{changeLanguage(){this.$i18n.locale=='zh'?this.$i18n.locale='en':this.$i18n.locale='zh'   //设置中英文模式localStorage.setItem('languageSet',this.$i18n.locale)   //将用户设置存储到localStorage以便用户下次打开时使用此设置},remind(){this.$toast(this.$t('video.videoPlay.warningText'))}}
<script>
cript>

Tips:根据以上方法整理后,以后只需要在language/data文件夹下建立各个模块的文件夹(里面包含一个index.js以及此模块下各个页面的翻译数据文件)

填入中英文翻译数据,并在zh.js和en.js下引入即可在页面中使用。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/38911.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue切换中英语言制作方法(Element+i18n的使用)

介绍&#xff1a; Vue I18n 是 Vue.js 的国际化插件。它可以轻松地将一些本地化功能集成到你的 Vue.js 应用程序中。 1、安装Element ui npm i element-ui -S2、全局引用Element ui 在 main.js 中写入以下内容&#xff1a; import Vue from vue; import ElementUI from elem…

vue3+antd 实现国际化 切换中英文

首先新建结构文件夹 1.下载i18n插件 npm install vue-i18n --save 2.配置i18n.js文件 import { createI18n} from vue-i18n import message from ./langs const localeData {legacy: true, // composition APIlocale: cn,messages: message, } const i18n createI18n(loca…

Vue项目切换语言,vue项目国际化,使用vue-i18n前端实现中英文切换

在项目需求中&#xff0c;我们会遇到国际化的中英文切换。 使用vue搭建的项目中我们可以使用i18n插件进行项目的中英文切换。 npm引入i18n npm install i18n --save-dev为了数据的使用方便&#xff0c;我们需要在src文件夹下建立一个如下图的文件夹 index.js&#xff1a; im…

【latex】论文或参考文献中出现俄文\西班牙文人名的解决方法

常用的latex的编辑器有&#xff1a;texstudio或者overleaf.值得说的是overleaf真的好用&#xff0c;因为它容错率高&#xff0c;即使你的编码语法有些小错误&#xff0c;它也能成功编译。缺点就是&#xff0c;某些论文投稿网站不支持overleaf.但它还是值得我喜欢&#xff0c;因…

前端多语言的切换

前端开发中多语言的切换&#xff0c;可使用js动态替换内容 1、在用户点击切换语言后&#xff0c;把选择的语言版本保存在cookie中 //写入cookie函数 function setCookie(name,value) {var Days 30;var exp new Date();exp.setTime(exp.getTime() Days*24*60*60*1000);docume…

chatgpt赋能python:Python动画制作指南:从入门到精通

Python动画制作指南&#xff1a;从入门到精通 Python作为一种易学易用的编程语言&#xff0c;在数据分析、机器学习等领域已经得到广泛应用。但是你知道吗&#xff1f;Python还可以用来制作动画&#xff01;本文将为你介绍如何用Python制作动画&#xff0c;从入门到精通&#…

吴恩达和OpenAI的《面向开发者的ChatGPT提示工程》精华笔记

《ChatGPT Prompt Engineering for Developers》 面向开发者的ChatGPT提示工程 shadow 趁着假期&#xff0c;学习了prompt课程&#xff0c;做了一些精简和关键知识点的梳理&#xff0c;分享给大家。 LLM 可完成的任务 包括: 总结&#xff08;如总结用户评论&#xff09; 推断&a…

刚刚,吴恩达 ChatGPT 新课三连发!

你有没有想过&#xff0c;你可以自己构建一个AI系统&#xff0c;或者开发一个使用大语言模型&#xff08;LLM&#xff09;的应用&#xff0c;甚至理解并创建扩散模型&#xff1f;我在吴恩达的三门新课程中找到了答案&#xff0c;这些课程让我看到了AI的无限可能性。 好消息&…

AI大神吴恩达与OpenAI官方合作推出的ChatGPT提示工程课,到底在讲什么?

ChatGPT提示工程课程&#xff0c;吴恩达&OpenAI 概述 本课程将着重介绍指令调优LM的开发最佳实践&#xff0c;以帮助开发人员利用LM技术构建聊天机器人等应用程序。 亮点 &#x1f4da; LM可用于快速构建软件应用程序&#xff0c;API可以使开发人员非常快速地构建。&#x…

吴恩达ChatGPT课程最新中文版,已突破3.2k Star!

Datawhale开源 吴恩达ChatGPT课程系列&#xff0c;中文版 项目背景 一个月前&#xff0c;DeepLearning.ai 创始人吴恩达联合 OpenAI 推出入门大模型学习的经典课程《ChatGPT Prompt Engineering for Developers》&#xff0c;深入浅出地介绍了对于开发者&#xff0c;如何构造 …

【ChatGPT】吴恩达教程笔记(预备篇)

本文概要 众所周知&#xff0c;吴恩达老师与OpenAI联合推出了一门面向开发者的Prompt课程&#xff08;https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers &#xff09;&#xff0c;时隔几天&#xff0c;吴恩达老师发推说已经有超过20万人…

100个python算法超详细讲解:双色球

完整版下载超详细Python算法案例讲解100例.zip-Python文档类资源-CSDN下载 1&#xff0e;问题描述 编写程序模拟福利彩票的双色球开奖过程&#xff0c;由程序产生出6个红色 球和1个蓝色球。 要求&#xff1a; 1&#xff09;每期开出的红色球号码不能重复&#xff0c;但蓝色球可…

软件测试计划包括哪些内容,测试计划如何编写。分享测试计划模板

相信大多数的软件测试工程师都听说过或者简单了解过测试计划&#xff0c;但是你真的知道什么是测试计划么&#xff1f;你真的知道如何编写测试计划么&#xff1f; 大多数人应该是一脸茫然。 百度的结果五花八门&#xff0c;有没有相对规范的标准呢&#xff1f;答案是没有&…

如何编写一份高质量的测试计划

一、为何要编写测试计划&#xff1f; 1.1 编写测试计划的目的 编写测试计划是测试过程中非常有必要的高效手段&#xff0c;测试计划不仅仅能够带来效率的提升&#xff0c;更能从基础上保证测试质量&#xff0c;编写测试计划主要会有以下益处&#xff1a; &#xff08;1&#xf…

软件测试计划怎么写?模板在这呢

目录 第1章 引言 第2章 项目背景 第3章质量目标 第4章 资源需求 第5章 测试策略 第6章 测试计划 总结感谢每一个认真阅读我文章的人&#xff01;&#xff01;&#xff01; 重点&#xff1a;配套学习资料和视频教学 第1章 引言 1.1目的 简述本计划的目的&#xff0c;旨…

一个程序员的年度计划

1.如何设计2016年的年度计划&#xff1f; 2.SMART原则是什么意思&#xff1f; 3.如何制定学习计划&#xff1f; 这两年&#xff0c;我一直非常感恩&#xff0c;也特别幸运的是2015年我的身体能够好起来&#xff0c;能够有机会回到我最热爱的工作中&#xff0c;所以从年初在医生…

2022卡塔尔世界杯来了,谁是你心中的夺冠热门球队?

2022年卡塔尔世界杯揭幕战将在北京时间11月21日零点上演&#xff0c;卡塔尔世界杯是首次在北半球冬季举行、首次由从未进过世界杯的国家举办的世界杯足球赛。800余名球员正陆续奔赴卡塔尔&#xff0c;在接下来近一个月时间里&#xff0c;他们将为象征足球界最高荣誉的大力神杯展…

基于QT的海康威视网络摄像头的二次开发

、摄像头激活 海康威视官网https://www.hikvision.com/cn/ 首先&#xff0c;在官网的服务支持->工具软件找到HiTools&#xff0c;下载设备网络搜索工具 然后用网线连接电脑和摄像头&#xff0c;并连接上电源&#xff0c;打开设备网络搜索工具&#xff0c;直接设置密码&…

诚迈科技携智达诚远出席高通汽车技术与合作峰会

5月25日至26日&#xff0c;诚迈科技及旗下的智能汽车操作系统及中间件产品提供商智达诚远作为高通生态伙伴&#xff0c;亮相首届“高通汽车技术与合作峰会”&#xff0c;通过产品展示和主题演讲呈现了基于高通骁龙数字底盘的最新智能座舱技术成果&#xff0c;共同展望智能网联汽…

Camera | 11.瑞芯微摄像头采集图像颜色偏绿解决笔记

前言 在实际调试基于瑞芯微平台的camera过程中&#xff0c;发现显示的图片发绿&#xff0c; 现在把调试步骤分享给大家&#xff1a; 1、修改iq文件 sdk中位置&#xff1a; external/camera_engine_rkaiq/iqfiles/isp21/ov13850_ZC-OV13850R2A-V1_Largan-50064B31.xml【现在…