SuperAPI AI 工具集

airflow-translations

编程与开发

查看项目

更新于 10-15 19:57

技能介绍

本指南用于为 Apache Airflow UI 新增或更新翻译,属于开发协作类文档,面向参与本地化的贡献者。

用途与判断:先检查 airflow-core/src/airflow/ui/public/i18n/locales/<locale>/ 目录是否存在。存在则走“更新已有翻译”,不存在则从“新增翻译”开始。

新增翻译的主要步骤:创建语言目录;更新配置——在 airflow-core/src/airflow/ui/src/i18n/config.ts 的 supportedLanguages 加入 { code: "<locale>", name: "<native name>" },在 dev/breeze/src/airflow_breeze/commands/ui_commands.py 的 PLURAL_SUFFIXES 加入复数后缀,在 .github/boring-cyborg.yml 的 labelPRBasedOnFilePath 下添加翻译标签;随后执行 breeze ui check-translation-completeness --language <locale> --add-missing 生成带 TODO: translate: 占位符的英文命名空间文件。

更新已有翻译:先阅读对应语言规范与现有 JSON 以保持术语一致,再用上述命令检查完整性,缺键用 --add-missing 补齐,多余键用 --remove-unused 移除,然后替换全部 TODO 占位符。

翻译文件结构:位于 airflow-core/src/airflow/ui/public/i18n/locales/<locale-name>/,命名空间文件包括 admin.json、assets.json、browse.json、common.json、components.json、dag.json、dags.json、dashboard.json、hitl.json、tasks.json,英文 en/ 为默认来源。

通用规则:Airflow、Dag/Dags、XCom、Provider、REST API、JSON、ID、PID、UTC、Schema 等术语默认保留英文;{{变量}} 插值名不得翻译或删除,可调整顺序但须保持大小写;复数形式按语言规范提供 _one/_other 等后缀;热键值不翻译。

验证:运行完整性检查应显示 0 missing、0 TODOs、0 unused 和 100% 覆盖;再运行 prek run --from-ref main --hook-stage pre-commit 修复格式、许可证和 lint 问题。语言规范文件覆盖 ar、ca、de、el、es、fr、he、hi、hu、it、ja、ko、nl、pl、pt、th、tr、zh-CN、zh-TW;若目标语言无规范文件,仅遵循通用规则。