vue实现中英文切换

1、安装 vue-i18n依赖
yarn add vue-i18n  或者 npm install vue-i18n --save-dev
2、在src/components下新建文件夹language,并在文件夹language下新建zh.js及en.js
【src/components/language/zh.js】
module.exports = {
    language: {
        name: 'English'
    },
    user: {
        login:'登录',
        register:'注册',
        loginUsername:'请输入邮箱/手机号',
    }
}

【src/components/language/en.js】
module.exports = {
    language: {
        name: '中文'
    },
    user: {
        login:'login',
        register:'register',
        loginUsername:'please input email or phone',
    }
}
3、在main.js下引入及注册vue-i18n
//中英文切换
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
const i18n=new VueI18n({
    locale:localStorage.getItem('languageSet')||'zh',   //从localStorage里获取用户中英文选择,没有则默认中文
    messages:{
        'zh':require('./components/language/zh'),
        'en':require('./components/language/en')
    }
})

new Vue({
    el: '#app',
    router,
    i18n,   //把 i18n 挂载到 vue 根实例上
    components: {
        App
    },
    render: h => h(App),
})

4、使用

<template>
    <span>{{$t('user.login')}}</span>   //登录
    <input type="text" :placeholder="$t('user.loginUsername')"  v-model="username" />   //输入账号

    <div @click="changeLanguage()">{{$t('language.name')}}</div>   //切换中英文的按钮
</template>

<script>
    methods:{
        changeLanguage(){
            this.$i18n.locale=='zh'?this.$i18n.locale='en':this.$i18n.locale='zh'   //设置中英文模式
            localStorage.setItem('languageSet',this.$i18n.locale)   //将用户设置存储到localStorage以便用户下次打开时使用此设置
        },
    }
<script>

原文地址:https://www.cnblogs.com/huihuihero/p/12220786.html

时间: 2024-10-12 13:08:21

vue实现中英文切换的相关文章

虚拟化--vsphere client和vsphere web client中英文切换(语言)

经验--vsphere client和vsphere web client中英文切换(语言) vsphere client切换到中文:"C:\Program Files\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\VpxClient.exe" -locale zh_CN vsphere client切换到英文:"C:\Program Files\VMware\Infrastructure\Virtu

排球计分程序中英文切换

---恢复内容开始--- 排球计分程序中英文切换功能 主要思路是制作两套页面,一套中文的,一套英文的. 根据用户点击 中文 English 完成相应的中英文切换 根据这一设想 我增加了视图和Action. 视图的截图如下 Action的截图如下: 内部代码基本相同 只是将所需的页面文字改为英文. 示例代码如下 @{ ViewBag.Title = "Index"; } <html> <head> <title>Enter Your Name</

C#学习笔记-中英文切换(XML)

这几天因为软件需要加英文版本,所以查了好久的资料找到了相关的信息,原资料参考:http://blog.csdn.net/softimite_zifeng 上网查的中英文切换大约有两种方式:1.动态加载资源文件2.做XML用来保存控件名,以及控件的内容,最后选择用XML来学习. XML预备知识 先来一点XML的预备知识吧:https://www.ibm.com/developerworks/cn/xml/x-newxml/#list1 XML是可扩展标记语言(Extensible Markup L

iOS键盘中英文切换键盘高度获取通知方法

iOS键盘中英文切换键盘高度获取通知方法, 有需要的朋友可以参考下. 注册通知 - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotific

ThinkPHP3.2中英文切换!

小伙伴们好久不见!!! 最近公司项目版本升级,小梦已经忙成了狗,无暇顾及文章,今天抽时间写一篇助助兴! 用Thinkphp这个国产框架已经2年多了,现在有一个小功能:网站中英文切换功能,当然这个功能分为2种方案: 1.使用第三方接口翻译 2.Thinkphp语言切换包 今天给大家介绍的是第二种方案Thinkphp语言切换包,下面就开始给大家讲讲怎么实现这个功能! 1. 在Application/Common/conf/下新建tags.php(默认是没有的,需要新建)文件,增加内容如下: 1 re

Android程序中实现中英文切换

一开始项目没有考虑到英文切换这是一个很不好的开始.等到项目基本完成之后才意识到要中英文都支持. 最好是在项目开始之前规划好UI布局等等,毕竟一个英文单词的占空比汉字要长的很多,最后填英文的话很多时候都要调整UI并且单词要简写,这是很懵逼的一种操作. 没办法,坑还是得填的,今天写一写在Android studio下如何实现一个项目中英文切换. 首先在res路径下新建 New > Android Resource Directory. 弹出对话框选择Local 在右边选择地区,选择语言进行创建,语言

vue初识 --- table切换

HTML: <div id="box"> <ul> <li v-for="(item,index) in items" v-text="item" @click="clk(index)" @mouseover="clk(index)" @mouseout="clk(0)" class="tab_li"></li> <

无法启动 Maya 集成的 qt designer 的解决方法和原因 以及 中英文切换

无法启动 Maya 集成的 qt designer 的解决方法和原因 以及 中英文切换 前言: Maya 集成了 PySide,同时集成了qt designer,在 Maya 的安装目录下的 bin 文件夹中可以找到 designer.exe. 运行 designer.exe 报错解决方法和原因 当我们单独运行 Maya 中的 designer.exe 的时候,会报错:This application failed to start because it could net find or lo

关闭shift中英文切换 英文代码/中文注释随意切换着写。

x 背景 写代码的时候总是意外的就切成中文了,特别是代码中大小写切换的这种情况... 例如:"public static TimeZone CurrentTime..."public static TimeZ[这里的故事,按Shift + z 将z大写的时候,可能Shift按多了?输入法就切换为中文]开始出现中文... 特别是有思路了,代码敲的快了点,或者写Sql语句的时候,反正想着有不让Shift切换中英文了... 第一步, 我将输入法的设置-->>按键-->>