• vue 中使用 国际化(i18n)


    效果图

    第一步

    • 安装插件
    • npm install vue-i18n --save
    • 打开package.json 文件查看 vue-i18n

    第二步

    • 在assets文件下新建文件夹language
    • 包含 index.js,language-CN.js, language.EN.js 三个文件

    第三步 - 编写代码

    • index.js 文件如下
    import Vue from 'vue';
    import VueI18n from 'vue-i18n';
    import enLocale from './language-EN'
    import usLocal from './language-CN'
    Vue.use(VueI18n);
    const messages = {
        en: {
            ...enLocale
        },
        cn: {
            ...usLocal
        }
    }
    const i18n = new VueI18n({
        locale: localStorage.getItem('lang') || 'cn',
        messages,
    });
    
    export default i18n;
    
    • language-cn.js 代码如下
    export default {
        message: {
            'hello': '你好 世界',
            'desc': 'Ant Design 是西湖区最具影响力的 Web 设计规范',
            'loginAccount': '账户密码登录',
            'loginByPhone': '手机号登录',
            'account': '账户',
            'password': '密码',
            'autoLofin': '自动登录',
            'forgetPassword': '忘记密码',
            'loginBtn': '登录',
            'otherLoginWay': '其他方式登录',
            'register': '注册',
            'help': '帮助',
            'privacy': '隐私',
            'clause': '条款',
            'phone': '手机号',
            'code': '验证码',
            'getCode': '获取验证码',
        }
    };
    
    • language-en.js 代码如下
    
    export default {
        message: {
            'hello': 'hello world',
            'desc': 'Ant Design is the most influential web design specification in Xihu district',
            'loginAccount': 'Credentials',
            'loginByPhone': 'Mobile number',
            'account': 'Account',
            'password': 'password',
            'autoLofin': 'Remember me',
            'forgetPassword': 'Forgot your password?',
            'loginBtn': 'Login',
            'otherLoginWay': 'Sign in with',
            'register': 'Sign up',
            'help': 'help',
            'privacy': 'privacy',
            'clause': 'clause',
            'phone': 'Mobile Number',
            'code': 'Verification code',
            'getCode': 'Get code',
        }
    }
    
    

    第四步

    • 在main.js 中使用
    import i18n from './assets/language/index';
    new Vue({
        router,
        i18n,
        render: h => h(App),
    }).$mount('#app')
    

    第五步 - 在页面中使用

    // 文本描述
    {{$t('message.desc')}}
    
    // 输入框默认填充字符
    :placeholder="$t('message.phone')"
    

    本文只是简述使用方法(登录页面的内容),没有对所有页面进行结构划分,

  • 相关阅读:
    互联网某些方面代替了朋友的作用
    穷人
    血脉之力
    鹤立鸡群
    如果有了一个进化的机会,你会选择放弃人类这个身份么?
    怎么样的制度才算是好制度
    /etc/fstab 参数详解及如何设置开机自动挂载
    Linux 查看系统硬件信息(实例详解)
    Linux下添加新硬盘,分区及挂载
    Quartz.NET
  • 原文地址:https://www.cnblogs.com/niluiquhz/p/15063258.html
Copyright © 2020-2023  润新知