-
新增两种多语言文件词条输出方式
mode: 'sample' | 'depth'
,sample
模式把所有词条输出到一个多语言文件中,depth
模式下,会根据传入的rootPath
和outputPath
,自动创建i18n
目录,并分源文件层级输出多语言文件到该目录中。 -
新增
prefix
属性用于在原处修改源文件时输入字符串,一般用于在文件顶部导入相关的模块,该属性只有在开启原处修改(extractOnly: false
)才会生效。
- 使用
rollup
重新打包 - 修复了
depth
模式下由于文件夹不存在而失败的问题
- 修复了 cli 报错的问题
- 修复了
{template: true, extractOnly: false}
导出语言模板后内容被替换无法再次提取的问题
- 使用
ts transformer
API 替换先前版本字符串替换的方式
- 修复了文件目录可能存在
-
符号,导致生成的key
不符合规则的问题 - 移除对不可处理的模板字符串的词条统计
- 基于react-intl-universal关于包含变量词条(模板字符串)的写法方式,新增模板字符串原地替换,举例:
const message = `你好${visitor},我是${name}`
// 将被替换成
const message = intl.get(key, { visitor, name })
// 需要注意的是,`intl.get`将由配置`templateString.funcName`指定,可以根据项目不同选择封装适合的函数
- 考虑到多个可能的导入,
prefix
配置变成string[]
,支持传入多个字符串
- 构建时生成对应的
.d.ts
文件,修复编译ts
可能出错的问题 - 使用
prettier
格式化生成代码
- 优化运行流程,简化配置
- 修复生成词条格式化 bug
- 词条文件按目录结构生成并组织好可以导出
- 集成
kiwi-intl
- 修复了因为文件名中包含'-'时报错的问题
- 修复了
js
和ts
环境检测异常的问题 - 统一了提示格式,修复了
unhandledRejection
异常
- 新增:属性命名使用
{prefix}_{index}
的短命名方式 - 新增:版本概念,每次运行时生成对应版本的多语言文件,适用于多次/增量的国际化需求
- 优化
prettier
格式化生成文件,默认读取项目中的prettier
配置 - 修复了命名规则在某些情况下错误的问题
- 修复了
basePath
不为src
目录时替换异常的问题
- 调整生成文件存放目录
- 集成了完整的
kiwi-intl``React
运行更新逻辑,请查看迁移文档
- 修复首次运行生成
.extintl.json
格式化错误的问题
- 此版本基于多语言平台的解决方案实现,必须和多语言词库平台配合使用
- 新增:提取过程未翻译词条检测&推送至词库平台
- 新增:生成多语言词条配置文件
- 新增:词库平台词条更新同步到本地
- 此版本的更多更新内容见迁移文档
- 变更:
extractOnly
模式下,不再生成多语言模版文件 - 变更:现在
langs
配置的语言类型必须为zh-CN
即符合ISO 639-1规范的语言编码以及国家地区码构成 - 新增:
langMapper
配置项,用于标准的langs
到可能的词库平台定义的语言的映射关系
- 修复:生成词条语言文件时,会去除掉重复的词条数据
- 新增:
extract
命令,用于上传本地已提取词条到词库平台(需使用最新的词库平台)
- 新增:完全集成
native
和browser
两套多语言模版,生成后无需额外配置即可运行 - 变更:删除
prifix
配置项,现在在多语言替换时自动导入相关模块和hooks
- 优化:其它代码优化