VUE项目

首先我们需要创建一个vue项目。然后在创建vue项目之前,我们本地需要安装nodeJs和git。

Git之前下载安装就好,只是基本的命令。

什么是nodeJs? Node.js就是这样一个服务器端的、非阻断式I/O的、事件驱动的JavaScript运行环境。

进行国际化

首先需要准备页面,页面一般创建放在src/view目录下,然后页面需要注册router。

vue-i18n 国际化。
1、安装
npm install vue-i18n
2、在main.js中引入并使用
import VueI18n from 'vue-i18n'

Vue.use(VueI18n)

// 使用多文件管理不同的语言是一个好习惯:
const i18n = new VueI18n({
  // locale: LangStorage.getLang('zh'),  // 语言标识,后面会用做切换和将用户习惯存储到本地浏览器
  locale: 'zh', // 语言标识
  messages: {
    'zh': require('./common/lang/zh'),
    'en': require('./common/lang/en')
  }
3、创建多语言的文件夹和js文件

我是在src下创建了common目录和lang子级目录,然后新建了zh.js和en.js两个js文件。

en.js文件内容:

module.exports = {
  language: {
    name: '中文'
  },
  navbar: {
    home: 'home',
    introduction: 'introduction',
    contact: 'contact'
  }
}

zh.js文件内容:

module.exports = {
  language: {
    name: 'English'
  },
  navbar: {
    home: '首页',
    introduction: '简介',
    contact: '联系我们'
  }
}

上面的name语言之所以是反的,是因为切换按钮的文字显示需要是反,即英文页面显示中文切换按钮,中文页面显示英文切换按钮。

4、在html中使用i18n

随便找个地:

<p>{{ $t('language.navbar.contact') }}</p>

即可以显示zh.js中的contact,之所以是zh,这是main.js中初始化时的默认语言配置。

5、变更语言

随便建个按钮,绑定一个事件,在methods下加个函数并调用:

changeLocale() {
  let locale = this.$i18n.locale
  locale === 'zh' ? this.$i18n.locale = 'en' : this.$i18n.locale = 'zh'
  // LangStorage.setLang(this.$i18n.locale) //后面会用做切换和将用户习惯存储到本地浏览器
}

可以点击切换语言了。

6、存储用户习惯到cookies做默认设置
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐