Vue + Element UI 前端篇(五):国际化实现

news2024/11/27 12:34:38

Vue + Element UI 实现权限管理系统 前端篇(五):国际化实现 

国际化支持

1.安装依赖

执行以下命令,安装 i18n 依赖。

yarn add vue-i18n

复制代码

$ yarn add vue-i18n
yarn add v1.9.4
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
info fsevents@1.2.4: The platform "win32" is incompatible with this module.
info "fsevents@1.2.4" is an optional dependency and failed compatibility check. Excluding it from installation.
[4/5] Linking dependencies...
[5/5] Building fresh packages...
success Saved lockfile.
success Saved 1 new dependency.
info Direct dependencies
└─ vue-i18n@8.0.0
info All dependencies
└─ vue-i18n@8.0.0
Done in 28.19s.

复制代码

2.添加配置

2.1 在 src 下新建 i18n 目录,并创建一个 index.js。

index.js

复制代码

import Vue from 'vue'
import VueI18n from 'vue-i18n'

Vue.use(VueI18n)
 
// 注册i18n实例并引入语言文件,文件格式等下解析
const i18n = new VueI18n({
  locale: 'zh',
  messages: {
    'zh': require('@/assets/languages/zh.json'),
    'en': require('@/assets/languages/en.json')
  }
})

export default i18n

复制代码

2.2 在 assets 目录下面创建连个多语言文件。

zh.json

复制代码

{
    "common": {
        "home": "首页",
        "login": "登录",
        "exit": "退出"
    },
    "sys": {
        "userMng": "用户管理",
        "deptMng": "机构管理",
        "roleMng": "角色管理",
        "menuMng": "菜单管理",
        "logMng": "日志管理"
    }
}

复制代码

en.json

复制代码

{
    "common": {
        "home": "Home",
        "login": "Login",
        "exit": "Exit"
    },
    "sys": {
        "userMng": "User Manage",
        "deptMng": "Dept Manage",
        "roleMng": "Role Manage",
        "menuMng": "Menu Manage",
        "logMng": "Log Manage"
    }
}

复制代码

2.3 在 main.js 中引入 i18n 并注入到 vue 对象中。

复制代码

import Vue from 'vue'
import App from './App'
import router from './router'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import api from './http/index'
import i18n from './i18n'

Vue.config.productionTip = false

Vue.use(ElementUI)
Vue.use(api)

new Vue({
  el: '#app',
  i18n,
  router,
  render: h => h(App)
});

复制代码

3.字符引用

在原本使用字符串的地方,引入国际化字符串。

把原本的“用户管理”、“菜单管理”等字符串换成如下格式引入。

 

3.切换菜单

在用户信息前边添加一个用于语言切换的菜单,用于切换不同的语言。

菜单语言切换的时候,修改国际化的设置

4.启动测试

 选择点击切换英文,导航菜单成功切换到英文。

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

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

相关文章

数据分析必知的统计知识——区间估计(其四)

4. 区间估计 还以为你被上节课的内容唬住了~终于等到你,还好没放弃! 本节我们将说明两个问题:总体均值 μ \mu μ 的区间估计和总体比例 p ˉ \bar{p} pˉ​ 的区间估计。 区间估计经常用于质量控制领域来检测生产过程是否正常运行或者在…

机车整备场数字孪生 | 图扑智慧铁路

机车整备场是铁路运输系统中的重要组成部分,它承担着机车的维修、保养和整备工作,对保障铁路运输的运维和安全起着至关重要的作用。 随着铁路运输的发展、机车技术的不断进步,以及数字化转型的不断推进,数字孪生技术在机车整备场…

【Nginx23】Nginx学习:响应头与Map变量操作

Nginx学习:响应头与Map变量操作 响应头是非常重要的内容,浏览器或者客户端有很多东西可能都是根据响应头来进行判断操作的,比如说最典型的 Content-Type ,之前我们也演示过,直接设置一个空的 types 然后指定默认的数据…

OPC UA Tunnel提高了OPC Classic通信的安全性

2023年8月22日,Softing工业自动化推出了dataFEED OPC Suite 5.30版本。该版本增加了两项新功能:OPC UA Tunnel和InfluxDB数据库连接。 (OPC UA Tunnel提高了OPC Classic通信的安全性) | OPC UA Tunnel——用于提高OPC Classic通信…

日志框架Slf4j作用及其实现原理

目录 1 设计模式门面模式2 slf4j源码解析 1 设计模式门面模式 设计模式之门面模式与装饰器模式详解和应用:https://blog.csdn.net/ZGL_cyy/article/details/129073521 slf4j是门面模式的典型应用,因此在讲slf4j前,我们先简单回顾一下门面模…

前端日期比较大小(超简单版,不需要转换时间戳)

思路(把日期转换为Number类型进行比较) 效果如图: 第一步:如果获取到的日期是 :"2023-08-03 00:00:00" 用 timesss.split( )[0] // .split( ) 中间有个空格哦 timesss是自己数据的变…

nlp系列(7)实体识别(Bert)pytorch

模型介绍 本项目是使用Bert模型来进行文本的实体识别。 Bert模型介绍可以查看这篇文章:nlp系列(2)文本分类(Bert)pytorch_bert文本分类_牧子川的博客-CSDN博客 模型结构 Bert模型的模型结构: 数据介绍 …

解决Android U无法通过adb安装应用(Caller has no access to session -1)的问题

在Android U(14)上,对通过adb安装应用做了限制。默认的情况下,当执行以下命令的时候 adb install XXX.apk会提示执行异常 Performing Streamed Install adb: failed to install XXX.apk: Exception occurred while executing in…

java面试之ThreadLocal问题

什么是ThreadLocal,它的基本用法是什么 简单来说就是能在多线程中保持变量独立的线程对象 不用Threadlocal多线程访问同一个变量会出现的问题 package com.pxx;/*** Created by Administrator on 2023/9/3.*/ public class Demo1 {private String v1;public String getV1() …

群晖 DS918通过CISCO SG250 LACP 链路聚合效果不佳的问题解决

问题表现 使用的是CISCO交换机打开LACP 链路聚合,且DS918上完成接口聚合并配置为平衡TCP模式后。通过IPREF测速整体网络性能仅能达到300Mbps左右。 问题解决 检查CISCO交换机LAG配置中,针对DS918的接口组是否正确配置了流量配置。请按照如下图所示&#…

易云维®医院后勤管理系统软件利用物联网智能网关帮助实现医院设备实现智能化、信息化管理

近年来,我国医院逐渐意识到医院设备信息化管理的重要性,逐步建立医院后勤管理系统软件,以提高信息化管理水平。该系统是利用数据库技术,为医院的中央空调、洁净空调、电梯、锅炉、医疗设备等建立电子档案,把设备监控、…

Python中的PYTHONPATH

迷途小书童 读完需要 4分钟 速读仅需 2 分钟 大家好,我是迷途小书童! 今天来聊聊 PYTHONPATH。 PYTHONPATH 是一个环境变量,它是一个列表,列表的元素是目录,也就是一些文件夹的路径,它告诉 Python 解释器去…

《自然的艺术形态》

艺术是科学的最高形式。《自然的艺术形态》是恩斯特海克尔在19世纪博物学和生物学的最高峰对自然界所作出的最美阐释。透过自然科学巨匠的慧眼,人类能多一个视角,认识栩栩如生的自然万物,其奇美,其壮观,若非建立在自然…

vs+opencv+QT调试程序

2021-09-28vsopencvQT简单的图像处理工程_opencv 用qt还是vs_二两山栀子的博客-CSDN博客 【vsopencvQt搭建简单的图像处理界面】https://www.bilibili.com/video/BV16T411j7XQ?vd_source0aeb782d0b9c2e6b0e0cdea3e2121eba 调试过程一直出现这种问题,后来改DEBUG为…

HDLBits 练习 Always if2 并给出逻辑简化过程

题目 Always if2 在前面的练习中我们使用了简单的逻辑门与一些逻辑门的组合。这些电路都可以作为组合电路的例子。 组合意味着这个电路的输出只是输入的函数(数学意义上的)。数学上的函数就意味着当你给定一个输入的时候 对应的只会有一个输出。因此有一…

ChatPaper临时升级教程

ChatPaper临时升级教程 文章目录 ChatPaper临时升级教程必要的声明:升级教程: 必要的声明: 最近只能手动发卡了,所以单独写一个手动升级的教程。 先声明一下付费的内容: 500K大概是30篇左右的总结; 200k大…

计算机网络的故事——HTTP首部

HTTP首部 在HTTP协议通信交互中使用的首部字段。不限于RFC2616中定义的47种首部字段,还有Cookie、setCookie和Content-Disposition等 HTTP 首部字段将定义成缓存代理和非缓存代理的行为,分成 2 种类型。端到端首部和逐跳首部

单向链表(c/c++)

链表是一种常见的数据结构,其中运用到了结构体指针,链表可以实现动态存储分配,换而言之,链表是一个功能强大的数组,可以在某个节点定义多种数据类型,可以实现任意的添加,删除,插入节…

通过nginx将https协议反向代理到http协议请求上

通过nginx将https协议反向代理到http协议请求上 1、问题背景2、介绍nginx的反向代理功能及配置https协议3、具体实现3.1 后端服务支持方式3.2 nginx重定向方式 3.3、nginx的反向代理方式4、关于nginx常用模块和指令 1、问题背景 目前一个系统仅支持https协议访问,因…

anaconda navigator打不开,一直在loading画面

anaconda navigator打不开,一直在loading画面。百度解决方法,用网上的方法在命令窗口里运行conda update anaconda结果一直显示 solving environment卡在那里。又尝试用管理员身份运行还是不行,打开后出现There in aninstance of Anaconda Na…