国际化支持

1.安装依赖

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

  1. yarn add vue-i18n
  1. $ yarn add vue-i18n
  2. yarn add v1.9.4
  3. 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.
  4. [/] Validating package.json...
  5. [/] Resolving packages...
  6. [/] Fetching packages...
  7. info fsevents@1.2.: The platform "win32" is incompatible with this module.
  8. info "fsevents@1.2.4" is an optional dependency and failed compatibility check. Excluding it from installation.
  9. [/] Linking dependencies...
  10. [/] Building fresh packages...
  11. success Saved lockfile.
  12. success Saved new dependency.
  13. info Direct dependencies
  14. └─ vue-i18n@8.0.
  15. info All dependencies
  16. └─ vue-i18n@8.0.
  17. Done in .19s.

2.添加配置

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

index.js

  1. import Vue from 'vue'
  2. import VueI18n from 'vue-i18n'
  3.  
  4. Vue.use(VueI18n)
  5.  
  6. // 注册i18n实例并引入语言文件,文件格式等下解析
  7. const i18n = new VueI18n({
  8. locale: 'zh',
  9. messages: {
  10. 'zh': require('@/assets/languages/zh.json'),
  11. 'en': require('@/assets/languages/en.json')
  12. }
  13. })
  14.  
  15. export default i18n

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

zh.json

  1. {
  2. "common": {
  3. "home": "首页",
  4. "login": "登录",
  5. "exit": "退出"
  6. },
  7. "sys": {
  8. "userMng": "用户管理",
  9. "deptMng": "机构管理",
  10. "roleMng": "角色管理",
  11. "menuMng": "菜单管理",
  12. "logMng": "日志管理"
  13. }
  14. }

en.json

  1. {
  2. "common": {
  3. "home": "Home",
  4. "login": "Login",
  5. "exit": "Exit"
  6. },
  7. "sys": {
  8. "userMng": "User Manage",
  9. "deptMng": "Dept Manage",
  10. "roleMng": "Role Manage",
  11. "menuMng": "Menu Manage",
  12. "logMng": "Log Manage"
  13. }
  14. }

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

  1. import Vue from 'vue'
  2. import App from './App'
  3. import router from './router'
  4. import ElementUI from 'element-ui'
  5. import 'element-ui/lib/theme-chalk/index.css'
  6. import api from './http/index'
  7. import i18n from './i18n'
  8.  
  9. Vue.config.productionTip = false
  10.  
  11. Vue.use(ElementUI)
  12. Vue.use(api)
  13.  
  14. new Vue({
  15. el: '#app',
  16. i18n,
  17. router,
  18. render: h => h(App)
  19. });

3.字符引用

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

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

3.切换菜单

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

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

4.启动测试

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

源码下载

后端:https://gitee.com/liuge1988/kitty

前端:https://gitee.com/liuge1988/kitty-ui.git


作者:朝雨忆轻尘
出处:https://www.cnblogs.com/xifengxiaoma/
版权所有,欢迎转载,转载请注明原文作者及出处。

Vue + Element UI 实现权限管理系统 前端篇(五):国际化实现的更多相关文章

  1. Vue + Element UI 实现权限管理系统 前端篇(十三):页面权限控制

    权限控制方案 既然是后台权限管理系统,当然少不了权限控制啦,至于权限控制,前端方面当然就是对页面资源的访问和操作控制啦. 前端资源权限主要又分为两个部分,即导航菜单的查看权限和页面增删改操作按钮的操作 ...

  2. Vue + Element UI 实现权限管理系统 前端篇(十一):第三方图标库

    使用第三方图标库 用过Elment的同鞋都知道,Element UI提供的字体图符少之又少,实在是不够用啊,幸好现在有不少丰富的第三方图标库可用,引入也不会很麻烦. Font Awesome Font ...

  3. Vue + Element UI 实现权限管理系统 前端篇(一):搭建开发环境

    技术基础 开发之前,请先熟悉下面的4个文档 vue.js2.0中文, 优秀的JS框架 vue-router, vue.js 配套路由 vuex,vue.js 应用状态管理库 Element,饿了么提供 ...

  4. Vue + Element UI 实现权限管理系统 前端篇(十六):系统备份还原

    系统备份还原 在很多时候,我们需要系统数据进行备份还原.我们这里就使用MySql的备份还原命令实现系统备份还原的功能. 后台接口准备 系统备份还原是对数据库的备份还原,所以必须有后台接口的支持,我们准 ...

  5. Vue + Element UI 实现权限管理系统 前端篇(十二):用户管理模块

    用户管理模块 添加接口 在 http/moduls/user.js 中添加用户管理相关接口. import axios from '../axios' /* * 用户管理模块 */ // 保存 exp ...

  6. Vue + Element UI 实现权限管理系统 前端篇(十):动态加载菜单

    动态加载菜单 之前我们的导航树都是写死在页面里的,而实际应用中是需要从后台服务器获取菜单数据之后动态生成的. 我们在这里就用上一篇准备好的数据格式Mock出模拟数据,然后动态生成我们的导航菜单. 接口 ...

  7. Vue + Element UI 实现权限管理系统 前端篇(八):管理应用状态

    使用 Vuex 管理应用状态 1. 引入背景 像先前我们是有导航菜单栏收缩和展开功能的,但是因为组件封装的原因,隐藏按钮在头部组件,而导航菜单在导航菜单组件,这样就涉及到了组件收缩状态的共享问题.收缩 ...

  8. Vue + Element UI 实现权限管理系统 前端篇(四):优化登录流程

    完善登录流程 1. 丰富登录界面 1.1 从 Element 指南中选择组件模板丰富登录界面,放置一个登录界面表单,包含账号密码输入框和登录重置按钮. <template> <el- ...

  9. Vue + Element UI 实现权限管理系统 前端篇(二):Vue + Element 案例

    导入项目 打开 Visual Studio Code,File --> add Folder to Workspace,导入我们的项目. 安装 Element 安装依赖 Element 是国内饿 ...

  10. Vue + Element UI 实现权限管理系统 前端篇(十四):菜单功能实现

    菜单功能实现 菜单接口封装 菜单管理是一个对菜单树结构的增删改查操作. 提供一个菜单查询接口,查询整颗菜单树形结构. http/modules/menu.js 添加 findMenuTree 接口. ...

随机推荐

  1. 1.4isAlive()方法

    方法isAlive()的功能是判断当前线程是否处于活动状态 活动状态是线程已经启动且尚未终止,线程处于正在运行或准备开始运行的状态,就认为线程是存活的. 测试如下 package com.cky.th ...

  2. MapServer和GeoServer对比

    https://blog.csdn.net/theonegis/article/details/45823099

  3. URAL1099. Work Scheduling(一般图匹配带花树开花算法)

    1099. Work Scheduling Time limit: 0.5 second Memory limit: 64 MB There is certain amount of night gu ...

  4. 当有多个form表单请求时如何处理?

    问题:当有多个表单请求时如何处理?两种获取form表单 name属性值来区分是哪一个form表单.问题:如何获取name的值呢?<form name="myForm" met ...

  5. Anroid 手机助手 详细解析 概述(二)

    这篇主要说一下手机插入之后的一些动作. 1)  捕获窗口消息 插入拔出一个USB设备windows 会给所有的窗口发送特定的消息,只要我们捕获这些消息就可以处理设备插入和拔出.需要注意的是插入或者拔出 ...

  6. shell 网络状态查询 ping curl telnet

    ping curl telnet python -m SimpleHTTPServer

  7. poj 2777 线段树的区间更新

    Count Color Time Limit: 1000 MS Memory Limit: 65536 KB 64-bit integer IO format: %I64d , %I64u Java ...

  8. uniGUI 通过SessionList操作另外的登录用户

    参照bbs,写了这个方法,检查是否有同名用户已经登录:procedure TUniMainModule.CheckSameUser(aUserLoginCode: string);var  ASess ...

  9. 背水一战 Windows 10 (57) - 控件(集合类): ListViewBase - 增量加载, 分步绘制

    [源码下载] 背水一战 Windows 10 (57) - 控件(集合类): ListViewBase - 增量加载, 分步绘制 作者:webabcd 介绍背水一战 Windows 10 之 控件(集 ...

  10. 【BZOJ4819】 新生舞会(01分数规划,费用流)

    Solution 考虑一下这个东西的模型转换: \(\frac{\sum_{i=1}^n{a_i}}{\sum_{i=1}^n{b_i}}\) 然后转换一下发现显然是01分数规划. \(\sum_{i ...