JavaScript 进阶营让前端飞前端开发笔记

vue国际化初探

2018-10-08  本文已影响7人  tiancai啊呆

安装

npm install vue-i18n

基本使用

我假设你的项目是基于vue-cli创建的。
main.js文件如下:

// main.js
import Vue from 'vue'
import App from './App.vue'
import VueI18n from 'vue-i18n'

Vue.use(VueI18n)
const i18n = new VueI18n({
  locale: 'en',
  messages: {
    zh: {
        msg: '你好世界'
    },
    en: {
        msg: 'hello world'
    } 
  },
})
new Vue({
  i18n,
  render: h => h(App)
}).$mount('#app')

App.vue文件如下:

// App.vue
<template>
  <h4>{{ $t('msg') }}</h4>
</template>

以上就是vue-i18n的最简单使用,我们发现上面的例子存在一些问题,例如默认是英文,没有根据用户的设置来动态初始化,还有我们无法实现各种语言的切换,国际化的时候对于数字时间日期是如何处理呢等等许多问题。

更多用法

针对上面的问题,我们可以做出相对应的优化。

英文

我们可以看到表格中的时间日期与数字均按照我们设置的指定格式所展示。例如英文数字小数点后面最少三位,英文日期有带星期,中文日期日子都是2位的等等。

总结

万变不离其宗,我们发现国际化的步骤都是一样的。

  1. 安装对应的国际化包,如vue-i18n
  2. 准备不同语言的语言文件(需要进行国际化的文本)。
  3. 在项目启动时根据用户的语言自动加载对应语言文件,在需要国际化的地方按照对应的语法进行文本替换。

参考资料

vue-i18n
为了学习国际化,简单的写了一个国际化demo,上面的例子都在demo 里面可以找到,有需要的可以自行下载,欢迎各位star。
另外还有一篇react国际化的文章,点这里

上一篇 下一篇

猜你喜欢

热点阅读