ati18n

Python Boilerplate contains all the boilerplate you need to create a Python package.


Keywords
ati18n, click, i18n, python, typer
License
MIT
Install
pip install ati18n==0.3.4

Documentation

Documentation Status

基本用法

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.

Feature 特性

  • 可以检查多语言的条目数是否匹配,主要是针对其他语言的条目数不等于英文(默认比较对象)的条目数,也可以比较切换默认比较对象为其他语言,如中文。
  • 支持检查J2EE应用中使用properties文件来做多语言支持

Design Notes 概要设计

使用方法说明

本工具的目标是更实用为多语言类应用提供支持,提升这方面的效率。主要的使用方法有三类:

  • 命令行调用直接检查,直观的输出结果
  • 命令行调用,输出数据结果文件,方便不同工具之间的衔接
  • 可以集成到各类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 警告/错误 单个翻译项 翻译项和指定的语言类型不匹配 检查的数据项和相关信息

检查规则汇总

在应用中的多语言检查,会有各种规则,这里列出来可能适合的规则

规则编号 范围 规则名称 关联检查信息 备注
G1001 整体翻译 Support Check j2ee i18n properties for item number 1001
G1002 整体翻译 翻译文件语言种类和文件名称不匹配 1002
G2001 单个翻译条目 翻译文件语言种类和待翻译项名称不匹配 2001

Reference