-
Notifications
You must be signed in to change notification settings - Fork 151
i18n
Candy Zheng edited this page Jul 27, 2017
·
4 revisions
** 使用 Internationalization API built-in to JavaScript. ** 目前数据的转化类还没有完全实现,遇到一个需求增加一个。
从 'utils/createi18n' 引入 i8n
开发时在需要写的的地方
-
i18n`settings.general.main${object}:=default value {obj}`此方法会返回一个 react component,此 component 已关注语言配置,可实时联动。
保证 app/i18n/ 下有languange文件夹,形如en_US、zh_CN, 并有一个 index.json ["en_US", "zh_CN"] 汇总支持的语言包
运行 yarn i18n 自动生成语言 json 包,并去除代码中:=后的内容,保留 i18n`settings.general.main${object} shape,开发时默认会显示:=后的内容,去除后会去找语言包里相应的解释。${}里为数据参数,例如${{date: new Date(), number: 23}} ,在value 里即可 default value {date} {value} 获得
生成规则: 其中 settings 会 generate 成 app/i18n/language 的目录下的一个 语言包 json 文件。general.main.* 则会在 所有语言的此 json 文件下生成
general: {
main: "default value {obj}", // value 的写法遵从 i18n 规范
}
i18n.get(settings.general.main${object}:=default value {obj}) 此方法会返回当前语言的 string,需要搭配 props 改变通知 react。