最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • vue:五分钟,让你从0开始搭建国际化(多语言)vue-i18n

    正文概述 掘金(优点:脾气好)   2021-08-05   535

    前言

    公司的项目涉及到国际化,之前也没搞过,所以稍微查阅了一些资料,然后自己从0开始实现了国际化。 记录下来以后供以后再次使用。(结尾附源码)第一次写,可能会不尽如人意,不喜可喷,欢迎交流。

    正文

    安装依赖

    依赖vue-i18n,先装依赖:yarn add vue-i18n 或 npm install vue-i18n

    准备工作

    在src下创建:

    locale/langs/zh.js 和 locale/langs/en.js 用于存放待翻译的内容

    const lang = {
      title: 'title',//(标题)
      title1: 'title1',//(标题2)
      placeholder: 'please enter',//请输入中文
    }
    
    export default lang
    

    locale/index.js 创建vuei18n实例,导入element-ui和自己的待翻译的内容

    import Vue from 'vue'
    import VueI18n from 'vue-i18n'
    import en from './langs/en.js'
    import zh from './langs/zh.js'
    import enLocale from 'element-ui/lib/locale/lang/en'
    import zhLocale from 'element-ui/lib/locale/lang/zh-CN'
    
    Vue.use(VueI18n)
    
    const i18n = new VueI18n({
      locale: 'zh-CN',
      messages: {
        'zh-CN': { ...zhLocale, ...zh },
        'en': { ...enLocale, ...en }
      }
    })
    
    export default i18n
    

    在main.js文件中导入创建好的vuei18n实例

    import Vue from 'vue'
    import App from './App.vue'
    
    import ElementUI from 'element-ui'
    import 'element-ui/lib/theme-chalk/index.css';
    import i18n from './locale'
    
    Vue.use(ElementUI, {
      i18n: (key, value) => i18n.t(key, value)
    })
    
    Vue.config.productionTip = false;
    
    new Vue({
      i18n,
      render: h => h(App),
    }).$mount('#app')
    

    到此全部的准备工作就做完了。

    使用

    切换国际化语言

    methods: {
      changeLocale (lang) {
        this.$i18n.locale = lang
      }
    }
    

    模板里使用

    <el-date-picker
      v-model="value1"
      type="datetime"
      :placeholder="$t('placeholder')">
    </el-date-picker>
    <div>
      {{ $t('title') }}
    </div>
    <div>
      {{ $t('title1') }}
    </div>
    

    源码地址:https://github.com/liangtao125061github/vue-0to100-i18n.git

    结尾

    喜欢的请点个赞吧。


    起源地下载网 » vue:五分钟,让你从0开始搭建国际化(多语言)vue-i18n

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元