Skip to main content

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

Project description

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 特性

  • 基于规则的检查模式,方便扩充
  • 可以检查三个范围可能的问题,翻译文件级别、单个翻译项级别、多个关联翻译项级别
  • 统一的规则定义、错误信息定义,方便使用
  • 基于python实现,可跨平台运行
  • 支持检查多种应用检查

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 警告/错误 单个翻译项 翻译项和指定的语言类型不匹配 检查的数据项和相关信息
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

Reference

History

0.3.2 (2022-05-13)

  • 增加文档和设计信息
  • 初步支持dockerfile

0.3.0 (2022-05-05)

  • 实现新的检查规则
  • 更新Github Action

0.2.1 (2022-04-27)

  • 适配发布流程

0.2.0 (2022-04-27)

  • 功能有更新,可以用在某系基本场景里了.

0.1.0 (2022-04-18)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ati18n-0.3.4.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

ati18n-0.3.4-py2.py3-none-any.whl (12.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ati18n-0.3.4.tar.gz.

File metadata

  • Download URL: ati18n-0.3.4.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for ati18n-0.3.4.tar.gz
Algorithm Hash digest
SHA256 bf057bc3be8dd7874a80670c240bcdce3c0a1ca3b351febac1d45d4ddfd6e16d
MD5 a6224e46bf89909942f8f0cd0f867114
BLAKE2b-256 dfd1a7dc371b6be8b430723d4866b12eff9f2340081d847d35ce724e28cb7ec6

See more details on using hashes here.

File details

Details for the file ati18n-0.3.4-py2.py3-none-any.whl.

File metadata

  • Download URL: ati18n-0.3.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for ati18n-0.3.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 72642a130dce2fb2e203f2eccc6928f5510158c3593ab94e2a5c7b01abd59afe
MD5 a494396b4349eb7778451f7e04372536
BLAKE2b-256 7b7284484badfe33a9be9e8733a0371a0c73d7ff94430a3236dd8dd791245179

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page