1:下载vue-i18n插件

npm install vue-i18n

2:创建中英文js文件

在文件中写入需要翻译的内容

中文版cn.js

export const m = {help: "帮助",homeSearch: "请输入",
}

英文版en.js

export const m = {help: "help",homeSearch: "Please input",
}

3:配置main.js文件

//引入中英文切换插件vue-i18n
import VueI18n from 'vue-i18n'Vue.use(VueI18n) // 挂载const i18n = new VueI18n({locale: 'zh-CN',    // 语言标识messages: {'zh-CN': require('./utils/i18n/langs/cn'),   // 中文版cn.js文件路径'en-US': require('./utils/i18n/langs/en')    // 英文版en.js文件路径}
})new Vue({el: '#app',render:h=>h(App),router,store,i18n,  // !!!!!一定要引入
})

4:语言切换组件

html代码

<el-dropdown trigger="click" @command="setLanguage" @visible-change="visibleChange"><span class="el-dropdown-link"><el-button type="primary" size="small" class="languageBtn"><span>{{translate}}</span><i :class="languageIcon"></i></el-button></span><el-dropdown-menu slot="dropdown"><el-dropdown-item command="en">English</el-dropdown-item><el-dropdown-item command="cn">中文</el-dropdown-item></el-dropdown-menu>
</el-dropdown>

js代码

data() {translate: "中文",languageIcon: "el-icon-caret-bottom"
},
methods() {setLanguage(name) {if (name === "cn") {this.translate = "中文"this.$i18n.locale = 'zh-CN'       // 切换为中文this.$message.success('已切换中文');} else {this.translate = "English"this.$i18n.locale = 'en-US'        // 切换为英文this.$message.success('Chinese switched');}},visibleChange(value) {if(value){this.languageIcon = "el-icon-caret-top"} else {this.languageIcon = "el-icon-caret-bottom"}}
}

5:数据渲染

使用方式一:

<el-buttontype="primary"icon="el-icon-plus"
>{{$t('m.help')}}</el-button>

使用方式二:

<el-inputv-model="value":placeholder="$t('m.homeSearch')"
></el-input>

6:看效果


参考https://blog.csdn.net/m0_46627730/article/details/107590852

手写一个vue中英文翻译组件相关推荐

  1. Vue手写一个日历组件

    工作中遇到一个需求是根据日历查看某一天/某一周/某一月的睡眠报告,但是找了好多日历组件都不是很符合需求,只好自己手写一个日历组件,顺便记录一下. 先来看看设计图是什么样式, 跟其他日历有点不一样,这个 ...

  2. vue @click 赋值_vue 手写一个时间选择器

    vue 手写一个时间选择器 最近研究了 DatePicker 的实现原理后做了一个 vue 的 DatePicker 组件,今天带大家一步一步实现 DatePicker 的 vue 组件. 原理 Da ...

  3. 深入Vue底层,手写一个vuex

    深入底层,手把手教你写一个Vuex 1. Vuex是什么?什么场景下使用? 2. Vuex的基本使用 3. 手写一个vuex 1. Vuex是什么?什么场景下使用? Vuex是vue的一个插件,叫做状 ...

  4. 深入了解Vue 2响应式原理,并手写一个简单的Vue

    1. Vue 2的响应式原理 Vue.js 一个核心思想是数据驱动.所谓数据驱动是指视图是由数据驱动生成的,对视图的修改,不会直接操作 DOM,而是通过修改数据.vue.js里面只需要改变数据,Vue ...

  5. vue中手写一个放大镜功能

    vue中手写一个放大镜功能 有的时候需要对图片进行放大,类似于电商的商品放大功能,于是在这个想法上写了一个放大镜的功能,并且在放大镜的基础上新添加了一些小功能,下面开始吧! 放大镜是封装的组件的形式, ...

  6. vue 手写一个时间选择器

    最近研究了 DatePicker 的实现原理后做了一个 vue 的 DatePicker 组件,今天带大家一步一步实现 DatePicker 的 vue 组件. 原理 DatePicker 的原理是- ...

  7. vue 使用fs_模仿vue-cli,手写一个脚手架

    vue-cli 在vue的开发的过程中,经常会使用到vue-cli脚手架工具去生成一个项目.在终端运行命令vue create hello-world后,就会有许多自动的脚本运行. 为什么会这样运行呢 ...

  8. 基于vue手写一个分屏器,通过鼠标控制屏幕宽度。

    基于vue手写一个分屏器,通过鼠标控制屏幕宽度. 先来看看实现效果: QQ录屏20220403095856 下面是实现代码: <template><section class=&qu ...

  9. vue手写一个计算器

    计算器大家都不陌生 有计算器机器 有手机计算器 网页计算器! 那么好 今天我来给大家手写一个计算器 啥都不说上操作 请听题:vue手写计算器 一个个小方块拼成一个计算器 绿色比较好 可以缓解视力哦 i ...

最新文章

  1. MySQL_常见函数
  2. [以太坊源代码分析] VI. 基于p2p的底层通信(上篇)
  3. 零基础学习Java开发,这些学习笔记送给你
  4. OpenCV FLANN在数据集中搜索查询图片的实例(附完整代码)
  5. 搭建项目前端页面环境
  6. element.style内联样式修改
  7. integer 负数字符串比较_JAVA源码之Integer-1
  8. html jade文件,Jade模板
  9. 华为海思总裁凌晨邮件燃爆全国:多年备胎一夜转“正”,今后要科技自立
  10. 栈的典型应用 —— 逆序输出
  11. (转)当你惊讶于才的胜利 它早已“入侵”投资界
  12. 用命令提示符使用MySQL
  13. coremail服务器无响应,icoremail邮箱系统 邮件收发常见问题|创思Chance
  14. Git和GitHub的关系和区别
  15. 阿里云-学生成长计划领取资格考试 - 云计算及云服务器入门!超详细多题答案!白嫖阿里云服务器!
  16. python中forward是什么意思_pytorch 调用forward 的具体流程
  17. system-config-network
  18. Google Adsense西联快汇收款流程
  19. PPOJ1100: 诡异的楼梯
  20. 如何在图片上写字?——text in the pic

热门文章

  1. Android 9.0 蓝牙扫描流程
  2. SDN之NOS概述——云原生
  3. H12-223 31-60(解析)
  4. WebDAV之葫芦儿·派盘 + Strongbox
  5. 海信智慧黑板Android版本,海信推出智慧黑板来打造沉浸式智慧课堂,保护视力让学生爱上上课...
  6. ICPC 2019 徐州网络赛
  7. amazon账号注册用什么软件?
  8. linux服务器上tcp有大量time_wait状态的解决方法和原因解释
  9. Android——AndroidStudio主题样式、字体设置
  10. QtCreator报错 LNK1104:无法打开文件debug\.obj