时间:2021-05-26
react-i18n-auto专门为中文国际化提供的自动化方案,快速迭代国际化开发,方法如下
安装
第一步:添加babel插件配置(.babelrc添加方式)
第二步:添加自动化配置 i18n.config.js
然后运行 node i18n.config.js 自动生成配置文件,将localePolyfill.js,localeUtils.js,语言包文件自动生成到outputPath目录下
localePolyfill.js暴露全局方法 $AI, $$AI 和全局变量 LOCALE (语言包),LOCALE_VERSION (语言包版本)
更多配置请移步至react-i18n-auto github主页
第三步:修改webpack配置,为每一个entry入口添加localePolyfill.js
第四步:修改当前语言(中文无需加载语言包)
第五步:唯一的额外的工作,动态加载语言包时(如果语言包已提前加载则无需此操作)
修改前
// const.js export default Const = { SelectOptions:[ { name:'学生', value:'student', }, { name:'教师', value:'teacher', }, ]}// app.jsimport React from 'react'import Const from './const'export default class App extends React.Component { render () { return <select> { Const.selectOptions.map(item => { return <option key={item.value} value={item.value}> {item.name} </option> }) } </select> }}由于const为常量,当语言包LOCALE更新时,const并不会得到更新,需要手动调用$AI,类似的情况都需要手动更新
修改后
import React from 'react'import Const from './const'export default class App extends React.Component { render () { return <select> { Const.selectOptions.map(item => { return <option key={item.value} value={item.value}> {$AI(item.$_name, item.name)} {} </option> }) } </select> }}// 编译后的const.js// 所有的中文对应的字段,自动添加$_前缀,值为对应中文的uuidKeyexport default Const = { selectOptions: [{ name: '学生', $_name: "I_2gaaanh", value: 'student' }, { name: '教师', $_name: "I_2aq02r1", value: 'teacher' }]};ps :通过代理getter,或提前加载语言包则可跳过步骤5,具体方法可自行尝试
结束
编译前后代码对照,不污染源码,无痕开发
import React from 'react'export default class App extends React.Component { render () { return <div> <header>这是标题</header> <div title='这是提示文字'> <p>这是内容</p> </div> <footer>{this.state.title}</footer> </div> }}import React from 'react'export default class App extends React.Component { render () { return <div> <header>{$AI('I_5wtgbv1', '这是标题')}</header> <div title={$AI('I_7reuhi4', '这是提示文字')}> <p>{$AI('I_4ximl4b', '这是内容')}</p> </div> <footer>{this.state.title}</footer> </div> }}到此这篇关于react国际化化插件react-i18n-auto使用详解的文章就介绍到这了,更多相关react i18n auto 内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
最近公司准备扩张海外业务,所以要给Django系统添加国际化与本土化支持。国际化一般简称i18n,代表Internationalization中i和n有18个字
前言有些项目我们需要支持多种语言切换,满足国际化需求。vue-i18n是一个vue插件,主要作用就是让项目支持国际化多语言,使用方便快捷,能很轻松的将我们的项目
一、I18nandL10ninAngularJS1.什么是I18n和L10n? 国际化(Internationalization),简称I18n,是让
JSTL标签提供了对国际化(I18N)的支持,它可以根据发出请求的客户端地域的不同来显示不同的语言。同时还提供了格式化数据和日期的方法。实现这些功能需要I18N
需求公司项目需要国际化,点击按钮切换中文/英文1、安装npminstallvue-i18n--save2、注入vue实例中,项目中实现调用api和模板语法imp