前言

  vue+vue-i18n实现多语言

本文主要内容

  1. 安装
  2. 多语言配置
  3. element 内置语言国际化
  4. 踩到的坑以及解决方案

安装

npm install vue-i18n

配置

1.i18n.js

import Vue from 'vue';
  import locale from 'element-ui/lib/locale';
import VueI18n from 'vue-i18n';

import en from './langs/en';
import sc from './langs/cn';
import tc from './langs/tc'; Vue.use(VueI18n);
const i18n = new VueI18n({
//locale: localStorage.lang || 'en',
locale: localStorage.getItem('localize_lang') || 'en',
messages: {
sc, //中文
en, //英文
tc //繁体
}
}); locale.i18n((key, value) => i18n.t(key, value)); //重点:为了实现element插件的多语言切换 export default i18n;

2.main.js (引用i18n)

import Vue from 'vue';
import i18n from './i18n/i18n'; new Vue({
el: '#app',
i18n
});

3.langs 建立新文件夹 主要用来存放语言文件

你有多少种语言就添加多少

  

// en.js
const en ={
name:'fannie'
}
export default en
// cn.js
  import zhLocale from 'element-ui/lib/locale/lang/zh-CN';
const cn ={
name:'法妮' ,
  ...zhLocale
}
export default cn

4.demo.vue (组件内应用)

<template>
<div>{{$t('name')}}</div>
<el-select v-model="langType" class="changeLangType" size="mini" @change="changeLangType">
<el-option value="en" label="English"></el-option>
<el-option value="cn" label="中文简体"></el-option>
<el-option value="tc" label="中文繁體"></el-option>
</el-select>
</template>
<script>
export default {
data(){
return {
  langType:'',
 }; },
methods:{
changeLangType(type){
localStorage.setItem('locale',type);
this.$i18n.locale = type;
}
}
};
</script>

elementUI 内置国际化

打开element官网,里面有国际化的文档。可以查看现在官网支持多少种语言

import zhLocale from 'element-ui/lib/locale/lang/zh-CN';
...zhLocale
写在cn.js 中

踩到的坑以及解决方案

1.Value of key 'xxx' is not string!
Cannot translate the value of keypath 'xxx'. Use the value of keypath as default.

 解决方案:

  1. 可能是你字符没有声明,找不到。
  2. 引用配置这些地方有问题 仔细对照一下,比如引用路径 比如在mian.js 中是否导入了
  3. 一定要写messages哦

fannie总结

  按照步骤来,注意细节

[vue系列]-vue+vue-i18n+elementUI 国际化的更多相关文章

  1. Vue系列之 => vue组件创建

    创建方式 一 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  2. Vue系列:Vue Router 路由梳理

    Vue Router 是 Vue.js 官方的路由管理器.它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌.包含的功能有: 嵌套的路由/视图表 模块化的.基于组件的路由配置 路由参数. ...

  3. Vue系列---理解Vue.nextTick使用及源码分析(五)

    _ 阅读目录 一. 什么是Vue.nextTick()? 二. Vue.nextTick()方法的应用场景有哪些? 2.1 更改数据后,进行节点DOM操作. 2.2 在created生命周期中进行DO ...

  4. vue系列---理解Vue中的computed,watch,methods的区别及源码实现(六)

    _ 阅读目录 一. 理解Vue中的computed用法 二:computed 和 methods的区别? 三:Vue中的watch的用法 四:computed的基本原理及源码实现 回到顶部 一. 理解 ...

  5. [js高手之路] vue系列教程 - vue的基本用法与常见指令(1)

    本系列课程选用vue的版本为1.0.21, 什么是vue? vue是由尤雨溪开发的一款基于MVVM的框架,M->模型,V->视图, 也就是说模型数据改变了,视图也跟着改变, 视图内容改变, ...

  6. [js高手之路] vue系列教程 - vue的事件绑定与方法(2)

    一.在vue中,绑定事件,用v-on:事件类型, 如绑定一个点击事件, 我们可以这样子做 window.onload = function () { var c = new Vue({ el : 'b ...

  7. Vue系列——在vue项目中使用echarts

    该示例使用 vue-cli 脚手架搭建 安装echarts依赖 npm install echarts -S 或者使用国内的淘宝镜像安装 npm install -g cnpm --registry= ...

  8. vue系列之vue cli 3引入ts

    插件 Vue2.5+ Typescript 引入全面指南 vue-class-component强化 Vue 组件,使用 TypeScript/装饰器 增强 Vue 组件 vue-property-d ...

  9. Vue 系列(一): Vue + Echarts 开发可复用的柱形图组件

    目录 前置条件 安装echarts 引入echarts 柱形图组件开发 在何时初始化组件? 完整的代码 记得注册组件!!! 本文归柯三(kesan)所有,转载请注明出处 https://www.cnb ...

  10. [js高手之路] vue系列教程 - 事件专题(4)

    本文主要讲解事件冒泡,事件绑定的简写,事件默认行为,按键码等一系列与事件相关的知识. 一.事件绑定的简写,@事件类型.  之前我的[js高手之路] vue系列教程 - vue的事件绑定与方法(2) 用 ...

随机推荐

  1. .NET 单文件执行程序拆解器 SingleFileExtractor

    .NET 单文件执行程序拆解器 SingleFileExtractor .NET 现在支持将程序打包为单文件格式,这方便了部署,问题是,我们不能直接看到程序中使用了哪些 DLL,更不能简单地通过查看文 ...

  2. Kubernetes 可能是分布式架构的大结局了

    前两年在爬虫里折腾的太久了,最近快马加鞭追赶分布式架构潮流. SpringCloud.Dubbo.ServiceComb 刷完,以为分布式架构就是这样了.这批架构可能也就 Java 栈的人会感觉它们特 ...

  3. IDEA中导入其它由Maven管理的java web项目并运行,提示“Error:(3, 38) java: 程序包org.springframework.stereotype不存在”问题的解决

    现象描述: IDEA中导入其它由Maven管理的java web项目并运行,提示"Error:(3, 38) java: 程序包org.springframework.stereotype不 ...

  4. 搞懂现代Web端即时通讯技术一文就够:WebSocket、socket.io、SSE

    本文引用自" 豆米博客"的<JS实时通信三把斧>系列文章,有优化和改动. 1.引言 有关Web端即时通讯技术的文章我已整理过很多篇,阅读过的读者可能都很熟悉,早期的We ...

  5. Note -「基本子串结构」速通笔记

      学习自 crashed 的<一类基础子串数据结构>摘抄及注解, 略过了一些 crashed 口中 "用不上" 的东西. 这里是速通笔记, 希望快速学习技巧的读者可以 ...

  6. CDS标准视图:预期应收 I_FutureAccountsReceivables

    视图名称:预期应收 视图类型:参数 视图代码: 点击查看代码 //Documentation about annotations can be found at http://help.sap.com ...

  7. Python串口实现dk-51e1单相交直流标准源通信

    Python实现dk-51e1单相交直流标准源RS232通信 使用RS232,信号源DK51e1的协议帧格式如下: 注意点 配置串口波特率为115200 Check异或和不需要加上第一个0x81的字段 ...

  8. Cesium中3DTiles使用CustomShader着色器渲染

    加载模型 新版本cesium加载3DTiles代码如下,后续效果只修改CustomShader内内容 //加载楼栋白膜 let tileset try { tileset = await Cesium ...

  9. git撤销远已经push到程服务器上某次提交

    git撤销远已经push到程服务器上某次提交 问题: 不小心把一次错误的代码push到远程服务器上的分支上,或者没有merge强制将本地的方法push到git服务器上. 解决方法: 输入 git lo ...

  10. Spring Cloud的5大核心组件详解

    Spring Cloud Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而 ...