SuperAPI AI 工具集

github-action

测试与质量

查看项目

更新于 10-15 20:29

技能介绍

用途:crowdin/github-action 在 Docker 容器中运行 Crowdin CLI,作为单个工作流步骤把仓库与 Crowdin 项目同步:上传源文件、下载已完成译文、提交到本地化分支并创建拉取请求。因是 Docker 动作,仅能在 Linux 运行器(ubuntu-latest 或带 Docker 的自托管 Linux)运行,不支持 macos-* 与 windows-*。

主要能力:一个步骤按固定顺序执行最多五项操作,各由输入开关控制:upload_sources(默认 true)、upload_translations、download_sources、download_translations、download_bundle。git 部分(add、commit、强制推送本地化分支、开 PR)只在下载后触发,可用 push_translations、push_sources、create_pull_request 分别开关。command 加 command_args 可改为执行任意 CLI 命令,其 stdout 通过 command_output 输出;command 会替换整个流水线,且 config、token、project_id、base_url 等输入不会传给 command,需用 env 与 command_args 提供。

使用方式:配置 crowdin.yml(project_id_env、api_token_env、preserve_hierarchy: true 及 files 映射),在仓库 Secrets 添加 CROWDIN_PROJECT_ID 与 CROWDIN_PERSONAL_TOKEN,编写工作流引用 crowdin/github-action@v3,凭据放 env,并授予 contents: write 与 pull-requests: write,同时在仓库设置中允许 Actions 创建 PR。可用 dryrun_action 验证文件匹配,用 workflow_dispatch 手动触发,用 concurrency 串行化避免 409。

适用场景与限制:适合需要自动同步翻译并生成翻译 PR 的仓库。注意 upload_sources 默认开启,仅想下载需显式关闭;git add . 会提交工作区全部改动,应把该步骤放在构建之前或独立 job;每次有变更都强制推送,PR 检查会重跑;默认 GITHUB_TOKEN 创建的 PR 不触发工作流;容器以 root 运行可能造成文件属主问题,可用 user: auto;字符串型项目需用 download_bundle;Enterprise 需设 base_url。@v3 对应 CLI 5,@v2 为旧版 CLI 4,命令语法有差异。