Usage: cli.py [OPTIONS] PATH
Console script for ati18n.
用来检查国际化是否有问题或可疑点的工具,支持Java应用、Vue应用、Flask应用中的多语言功能,检查其中是否有些可能的问题点,方便研发人员快速解决问题。
Arguments:
PATH 应用路径 [required]
Options:
-t, --type [Java|Vue|Flask] specify the app type. 指定应用类型 [default:
Java]
--install-completion [bash|zsh|fish|powershell|pwsh]
Install completion for the specified shell.
--show-completion [bash|zsh|fish|powershell|pwsh]
Show completion for the specified shell, to
copy it or customize the installation.
--help Show this message and exit.
- 基于规则的检查模式,方便扩充
- 可以检查三个范围可能的问题,翻译文件级别、单个翻译项级别、多个关联翻译项级别
- 统一的规则定义、错误信息定义,方便使用
- 基于python实现,可跨平台运行
- 支持检查多种应用检查
本工具的目标是更实用为多语言类应用提供支持,提升这方面的效率。主要的使用方法有三类:
- 命令行调用直接检查,直观的输出结果
- 命令行调用,输出数据结果文件,方便不同工具之间的衔接
- 可以集成到各类IDE中,方便在IDE中交互式使用
在第二种方式中,ati18n会根据检查结果生成一个检查结果数据文件,实际的数据结果文件是检查信息数据结构的一个数组,举例如下:
{
"tools": "ati18n",
"version": "0.1.0",
"app_path": "/xxx/xxx",
"app_type": "Java",
"datetime": "1990-01-01 12:12:12",
"result": [
{
"No": "1001",
"Level": "错误",
"Scope": "整体翻译",
"Name": "翻译条目数不匹配",
"Data": {
"type": "file",
"file_path": "/xxx.properties"
},
"Comment": ""
},
{
"No": "1002",
"Level": "错误",
"Scope": "整体翻译",
"Name": "文件名指定的语言种类和文件内容不匹配",
"Data": {
"type": "file",
"file_path": "/xxx.properties"
},
"Comment": ""
},
{
"No": "2001",
"Level": "警告",
"Scope": "单个翻译项",
"Name": "翻译项和指定的语言类型不匹配",
"Data": {
"type": "item",
"key_name": "xxxx",
"key_value": "xxxx",
"lang_code": "zh_CN",
"info": "翻译项全是英文,没有中文字符",
"file_path": "/xxx.properties"
},
"Comment": ""
}
]
}
针对应用的多语言检查,会发现相应的问题,这里定义一下返回问题的可能情况
- 级别:错误、警告、提示
- 范围:整体翻译,单个翻译项,多个翻译项
编号 No | 级别 Level | 范围 Scope | 错误名称 Name | 详细信息 Data | 备注 Comment |
---|---|---|---|---|---|
1001 | 错误 | 整体翻译 | 翻译条目数不匹配 | 检查的数据文件和相关信息 | |
1002 | 错误 | 整体翻译 | 文件名指定的语言种类和文件内容不匹配 | 检查的数据文件和相关信息 | |
2001 | 警告/错误 | 单个翻译项 | 翻译项和指定的语言类型不匹配 | 检查的数据项和相关信息 | |
2002 | 错误 | 单个翻译项 | 翻译项在 item 级别为空 | 检查的数据项和相关信息 | |
2003 | 错误 | 单个翻译项 | 源代码中有的 item 没有对应的翻译 | 检查的数据项和相关信息 | |
3001 | 警告/错误 | 多个翻译项 | 多个相同 key ,但是 value 不一致 | 检查的数据项和关联所有翻译项信息 | |
3002 | 警告/错误 | 多个翻译项 | 同一个语言的value,对应的其他语言翻译不一样 | 检查的数据项和关联所有翻译项信息 |
在应用中的多语言检查,会有各种规则,这里列出来可能适合的规则
规则编号 | 范围 | 规则名称 | 关联检查信息 | 备注 |
---|---|---|---|---|
G1001 | 整体翻译 | 检查翻译文件中翻译项数量是否匹配 | 1001 | |
G1002 | 整体翻译 | 翻译文件语言种类和文件名称不匹配 | 1002 | |
G2001 | 单个翻译条目 | 翻译文件语言种类和待翻译项名称不匹配 | 2001 | |
G2002 | 单个翻译条目 | 检查 item 级别的空规则 | 2002 | |
G2003 | 单个翻译条目 | 源代码中有的 item,但是没有对应的翻译 | 2003 | |
G3001 | 多个翻译条目 | 多个相同 key ,但是 value 不一致 | 3001 | |
G3002 | 多个翻译条目 | 同一个语言的value,对应的其他语言翻译不一样 | 3002 |