博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue 项目的I18n国际化之路
阅读量:6606 次
发布时间:2019-06-24

本文共 1630 字,大约阅读时间需要 5 分钟。

I18n (internationalization ) ---未完善

产品国际化是产品后期维护及推广中重要的一环,通过国际化操作使得产品能更好适应不同语言和地区的需求

国际化重点:

1、 语言
语言本地化
2、 文化
颜色、习俗等
3、 书写习惯
日期格式、时区、数字格式、书写方向
备注:项目中会兵分两路,一路是语言的国际化,另一路主要为文化国际化

产品设计之初引入国际化标准,符合项目的开发流程。

国内主要主要三点,一个是港澳台采用中文繁体+英文,内陆通俗中文简体,新疆等地区采用文化标准。

Vue-I18n

Vue-I18n安装
CDN:

NPM:

npm install vue-i18n --save-dev

vue-I18n暴露$t对象进行应用

项目例子(面向中国内陆及港澳台)

Main.js

import VueI18n from 'vue-i18n'/* 平台国际语言静态字典 */import LangEn from './lang/en'import LangZhCHS from './lang/zhCHS'import LangZhCHT from './lang/zhCHT'/* vue-i18n注册 */Vue.use(VueI18n)// 设置语言项const i18n = new VueI18n({  locale: 'zhCHS',  messages: {    'en': LangEn,    'zhCHS': LangZhCHS,    'zhCHT': LangZhCHT  }})/* eslint-disable no-new */new Vue({  el: '#app',  i18n,  components: { App },  template: '
'})

zhCHS.js

通过exports

module.exports = {  buttom: {    cancel: '取消',    determine: '确定',    login: '登陆',    signOut: '退出登陆',    registered: '注册',    search: '查询',    submit: '提交',    save: '保存'  }}

Example.vue

通过$t进行数据绑定
例子中初始化先检查浏览器默认语言,并保存到localstorage中
通过this.$i18n.locale可以随意切换版本

{
{$t('buttom.cancel')}}
中文
format_align_left
English
format_color_text
watch: { icon (val) { this.$i18n.locale = val this.setLocalStorage('PLAY_LANG', val) } }, created () { let lang = this.getLocalStorage('PLAY_LANG') if (lang) { this.icon = lang } else { let defaultLang = this.getNavigatorLang() // 获取浏览器设置语言 this.setLocalStorage('PLAY_LANG', defaultLang) this.icon = defaultLang } }

效果图:

中文
图片描述
英文
图片描述

完整项目github地址:

转载地址:http://dybso.baihongyu.com/

你可能感兴趣的文章
Mysql学习第三课-分析二进制日志进行增量备份和还原
查看>>
2-11
查看>>
Appium IOS
查看>>
xhprof安装记录
查看>>
POJ1961 Period [KMP应用]
查看>>
CSS hack
查看>>
IT项目管理工具探讨之_项目群管理
查看>>
如何在 Android 手机上安装 Ubuntu 13.04
查看>>
HDU 6073 - Matching In Multiplication | 2017 Multi-University Training Contest 4
查看>>
编程面试过程中常见的10大算法(转)
查看>>
尝试记录自己的工作学习
查看>>
centos6.5 安装nginx
查看>>
生成若干个不重复的随机数数组
查看>>
topcoder srm 465 div1
查看>>
多伦多大学 - 学习编程:写出高质量的代码
查看>>
C语言 scanf()和gets()函数的区别
查看>>
密码学===网站的安全登录认证设计
查看>>
如何检测域名是否被微信屏蔽 微信域名检测接口API是如何实现
查看>>
WPF与WinForm开发有什么区别?
查看>>
POJ1611-The Suspects
查看>>