vue-admin-template项目实现中英文切换

实现效果:在这里插入图片描述
在这里插入图片描述

1.安装

*注意版本号

npm install vue-i18n@8.24.5 -S

2.新建文件夹

在src目录下新建lang文件夹,里面有3个文件
在这里插入图片描述

//	index.js
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import Cookies from 'js-cookie'
import elementEnLocale from 'element-ui/lib/locale/lang/en' 
import elementZhLocale from 'element-ui/lib/locale/lang/zh-CN'
import enLocale from './en'
import zhLocale from './zh'Vue.use(VueI18n)const i18n = new VueI18n({locale: Cookies.get('language') || 'zh', // set localemessages:{en: {...enLocale,...elementEnLocale},zh: {...zhLocale,...elementZhLocale}}
})export default i18n

en.js 和 zh.js是页面中需要翻译的内容

在这里插入图片描述

3.在utils下面新建i18n.js文件

在这里插入图片描述

// i18n.js
export function generateTitle(title) {const hasKey = this.$te('route.' + title)// $t :this method from vue-i18n, inject in @/lang/index.jsconst translatedTitle = this.$t('route.' + title)if (hasKey) {return translatedTitle}return title
}

4. 配置main.js

添加以下代码

import i18n from './lang'
Vue.use(ElementUI, {i18n: (key, value) => i18n.t(key, value)
})
new Vue({el: '#app',router,store,i18n,render: h => h(App)
})

5. 配置store文件夹里面的文件

在这里插入图片描述

  1. app.js
    state里面增加

    language: Cookies.get('language') || 'zh',
    

    mutations里面增加

    // 中英文
    SET_LANGUAGE: (state, language) => {state.language = languageCookies.set('language', language)
    },
    

    actions里面增加

    // 中英文setLanguage({ commit }, language) {commit('SET_LANGUAGE', language)},
    
  2. getters.js
    getters里面增加

    language: state => state.app.language,
    

6. 设置语言版本页面使用

页面中使用 $t('')来渲染

 <template><div class="app-container"><div class="main-min"><span class="title">{{$t('set.languageSetting')}}</span><div class="radio"><el-radio-group v-model="radio" @input=langInput><el-radio label="zh" border>{{$t('set.Chinese')}}</el-radio><el-radio label="en" border>{{$t('set.English')}}</el-radio></el-radio-group></div></div></div>
</template><script>
export default {data() {return {radio: 'zh',}},created(){// 获取当前语言版本使用  this.$store.getters.languagethis.radio = this.$store.getters.language},methods: {langInput(lang){this.$i18n.locale = langthis.$store.dispatch('app/setLanguage', lang)this.$message({message: lang=='en' ? 'switch language success' : '切换成功',type: 'success'})}}
}
</script><style lang="scss">
// 页面样式
</style>

7.修改左侧路由导航栏

在这里插入图片描述

  1. 路由文件中meta里面的title一定对应en.js和zh.js文件中的名字
    在这里插入图片描述
  2. 找到侧边栏文件目录
    在这里插入图片描述
    引入i18n.js
    在这里插入图片描述
    更改html部分代码
    在这里插入图片描述

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

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

相关文章

OpenHarmony音视频—opus

简介 Opus是一种用于在互联网上进行交互式语音和音频传输的编解码器。它可以从低比特率窄带语音扩展到非常高的高品质立体声音乐。 下载安装 直接在OpenHarmony-SIG仓中搜索opus并下载。 使用说明 以OpenHarmony 3.1 Beta的rk3568版本为例 将下载的opus库代码存在以下路径&a…

深入解析面向对象编程(OOP)的三大核心特性:封装、继承与多态性

文章目录 1. 封装&#xff1a;保护数据和隐藏实现细节2. 继承&#xff1a;提高代码复用性3. 多态&#xff1a;接口一致&#xff0c;实现多样 面向对象编程&#xff08;Object-oriented programming&#xff0c;OOP&#xff09;的三大特性——封装、继承和多态。 1. 封装&#x…

软件架构设计 Azure架构

软件架构 是指软件系统的组织结构&#xff0c;它定义了软件组件之间的关系、交互方式以及系统整体的设计原则和思想。在软件开发领域&#xff0c;有许多种不同类型的架构&#xff0c;其中一些常见的包括&#xff1a; 客户端-服务器架构&#xff08;Client-Server Architecture…

【spark】spark使用sql读取elasticsearch es索引,使用keystore配置用户密码

参考文章 spark配置elasticsearch属性汇总(基于es7) es-offical-doc Spark多方案读取Es性能比较 Spark读写ES数据时遇到的问题总结 es 查询多个索引的文档 spark table中使用明文密码 set es.index.auto.createtrue drop table if exists default.test_es01; create table d…

怎样选购内衣洗衣机?2024年5款最新推荐机型种草

随着科技的不断发展&#xff0c;内衣洗衣机成为了家家户户必备的小家电之一&#xff0c;为我们的生活带来了极大的便利。但面对市场上众多的内衣洗衣机品牌&#xff0c;如何选择一款质量好的内衣洗衣机呢&#xff1f;本文将为您推荐5款最新的内衣洗衣机品牌&#xff0c;从而帮助…

vue的优化手段

vue常见优化手段 使用key 对于通过循环生成的列表,应给每个列表项一个稳定且唯一的key,这有利于在列表变动时,尽量少的删除、新增、改动元素。 使用 index 作为 key 值,唯一但是不稳定。 一般情况下,应该选取 id 作为key值。 使用冻结对象 冻结的对象不会被响应化。…

二倍体毛白杨(Populus tomentosa Carr.)基因组-春天都是杨树毛子???-文献精读-11

High quality haplotype-resolved genome assemblies of Populus tomentosa Carr., a stabilized interspecific hybrid species widespread in Asia 高质量二倍体解析的毛白杨&#xff08;Populus tomentosa Carr.&#xff09;基因组组装&#xff0c;这是一种在亚洲广泛分布的…

SCSS的基本使用(一)

目录 一、使用&符号来引用父选择器 二、scss的语法 三、变量&#xff08;Variables&#xff09; 四、嵌套&#xff08;Nesting&#xff09; 五、mixin 和 include 六、extend 继承 七、import 与 Partials 八、if简单判断 九、if复杂判断 一、使用&符号来引用父…

【代码随想录】day46

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、139单词拆分 一、139单词拆分 完全想不到还能这么背包。。。 class Solution { public:bool wordBreak(string s, vector<string>& wordDict) {vec…

原型链prototype、__proto、constructor的那些问题整理

再了解原型链之前,我们先来看看构造函数和实例对象的打印结构 - 函数 这里我们定义一个构造函数Fn,然后打印它的结构吧 function Fn(){} console.dir(Fn)控制台得到结构 从上面结构我们能看的出来,函数有两种原型,一种是作为函数特有的原型:prototype,另一种是作为对象的__…

Redis深度解析与面试必备问答(必知必会20题全)

一、Redis简介 Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的使用ANSI C语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。它通常被称为数据结构服务器&#xff0c;因为值&#xff08;value&…

Java设计模式 _结构型模式_适配器模式

一、适配器模式 **1、适配器模式&#xff08;Adapter Pattern&#xff09;**是一种结构型设计模式。适配器类用来作为两个不兼容的接口之间的桥梁&#xff0c;使得原本不兼容而不能一起工作的那些类可以一起工作。譬如&#xff1a;读卡器就是内存卡和笔记本之间的适配器。您将…

DataSource简单示例

javax.sql.DataSource是Java中用于管理数据库连接池的接口&#xff0c;它是javax.sql包中的一部分。DataSource接口提供了一种标准的方式来获取与数据库的连接&#xff0c;这样可以避免在每次需要连接数据库时都创建新的连接对象&#xff0c;从而提高了应用程序的性能和可伸缩性…

这样狠心的女人,不配当妈!

男人小时候经常受父亲虐待&#xff0c;初中毕业就到深圳打拼&#xff0c;基本与父母再无联系。 因为心有创伤&#xff0c;他没有考虑过结婚的事情&#xff0c;也不希望自己的娃成为受苦的一代。 然而&#xff0c;机缘巧合&#xff0c;他偶然之间认识了自己的爱人。 在妻子小的时…

意法半导体STM32F407VET6TR单片机优缺点、参数、应用和引脚封装

ST(意法半导体)的型号STM32F407VET6TR属于32位MCU微控制器&#xff0c;基于高性能的ArmCortex-M4 32位RISC核心&#xff0c;工作频率高达168MHz。单精度浮点单元(FPU)用于Cortex-M4核心&#xff0c;支持所有Arm单精度数据处理指令和数据类型。它还实现了一套完整的DSP指令和一个…

printjs打印表格的时候多页的时候第一页出现空白

现象&#xff1a;打印多页的时候第一页空白了&#xff0c;一页的时候没有问题 插件&#xff1a;printjs 网上搜索半天找到的方式解决&#xff1a; 1. 对于我这次的现象毫无作用。其他情况不得而知&#xff0c;未遇见过。&#xff08;这个应该是大家用的比较多的方式&#xf…

go中标签创建与引用

go中tag维护方法 util项目&#xff1a; 0 util修改的代码提交 1 从gitlab上获取最新的tag https://git.****.com/peiyou_like_shuangshi_zhongtai/beibo_utils/tags 2 创建tag: git tag -a v1.101.11 -m "its的ggb查询" 3 tagpush&#xff1a;git push origin v1.10…

[SpringBoot] JWT令牌——登录校验

JWT&#xff08;JSON Web Token&#xff09;是一种用于在网络应用之间传递信息的开放标准&#xff08;RFC 7519&#xff09;。它由三部分组成&#xff1a;头部&#xff08;header&#xff09;、载荷&#xff08;payload&#xff09;和签名&#xff08;signature&#xff09;。J…

Mybatis-plus 字段结果为NULL

问题 Mybatis-plus 字段结果为NULL 详细问题 笔者使用SpringBootMybatis-plus 进行项目开发。进行接口请求测试&#xff0c;在确定SQL语句没有问题的前提下&#xff0c;返回记录部分字段(譬如字段name)为空。 解决方案 修改Mybatis-plus中mapper的xml文件&#xff0c;使re…

JavaEE初阶——多线程(七)——定时器

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 小比特 大梦想 此篇文章与大家分享多线程的第七篇文章——关于定时器 如果有不足的或者错误的请您指出! 目录 4.定时器4.1标准库提供的定时器4.2自己实现一个定时器4.2.1任务类4.2.2Timer类4.2.3 有一个线程来负…