前端国际化的实现(5种情景的中英文)

  最近做国外项目,需要实现项目的的国际化,这里大致捋一下思路、实现方式。项目技术栈是  vue + antd + java,我大致将需要翻译的内容划分为如下5个部分,接下来会一个一个的说明为何这么区分、如何实现翻译。这里强调一下,很负责的说,目前国际化,就是开发者写对象,一个key关联若干语种的翻译,纯手工翻译,目前不存在任何一下代码包可以一键智能翻译(因为翻译的不准)。ps:包括翻译表格表头,表头和表格体同时翻译都会说明

一、目录:

1、菜单等静态文本的国际化(I18n的使用,及其和antd的一些问题)

2、ui框架+其他外部依赖包的国际化

3、图片的国际化

4、服务端返回的国际化(接口反馈+维护数据)

5、登录页等无用户登录信息的国际化

 

二、菜单等静态文本的国际化

  这些基本的静态信息的国际化,我采用   vue-i18n  这个包来实现的(详细用法请查npm),指令: npm i vue-i18n ;用法很简单,不过在触发翻译的机制上会有一些蛋疼的地方,待会具体写一下。

1、引入、配置

import Vue from 'vue'; import VueI18n from 'vue-i18n' Vue.use(VueI18n) const i18n = new VueI18n({ //定义默认语言 locale: 'zh', messages:{ 'zh': require('@/constants/lang/zh'), // 语言配置文件的路径 'us': require('@/constants/lang/us') } }) new Vue({ i18n, router render: (h) => h(App) }).$mount('#app')

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzfyj.html