v3.0 — Node 24, repo config, glossary, dry run
本地化您的存储库 每一次提交。
Resource Translator 通過官方 SDK 使用 Azure AI Translator 為您的資源文件打開機器翻譯的拉取請求,無需額外服務,只需一個工作流。
- 0 npm-audit 问题
- 150 次测试
- 节点 20 / 22 / 24
- 官方 Azure SDK
支持者 .resx
.NET XML .xliff XLIFF 2.0 .po gettext .json 嵌套或扁平 .ini key=value .restext MUI 文本 专为运输而生
翻译是一种工作流程,而不是一件苦差事。
将操作放入现有 CI 中,指向 Azure AI Translator,然后让您的存储库说出您所针对的每种语言。
六种文件格式
往返 .resx、.xliff、.po、.json、.ini 和 .restext,采用字节稳定格式。
Repo-level config
删除一个.github/resource-translator.yml文件,以包括 globs、glossaries 和 Custom Translator 类别。
词汇表意识
使用智能词界正则表达式锁定品牌名称和产品术语,以处理C++、.NET和朋友。
试运行 + 软失败
预览翻译而不写文件,或者在迭代时显示每个错误作为警告。
公关友好的输出
summary-title、summary-details 和 has-new-translations 直接插入 create-pull-request 中。
官方 Azure SDK
基于 @azure-rest/ai-translation-text + @azure/core-rest-pipeline 构建 — 在 408/429/5xx 上自动重试,无需手动滚动 HTTP。 esbuild捆绑,审计干净。
Drop-in 工作流程
复制,粘贴。 翻译。
三个秘密,四行,你的存储库在下一次推送时是多语言的。
name: translateon: push: branches: [main] paths: ["**/*.en.resx", "**/*.en.json"]
permissions: contents: write pull-requests: write
jobs: translate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - id: translator uses: IEvangelist/resource-translator@v3 with: sourceLocale: en subscriptionKey: ${{ secrets.TRANSLATOR_KEY }} endpoint: ${{ secrets.TRANSLATOR_ENDPOINT }} region: ${{ secrets.TRANSLATOR_REGION }} toLocales: '["fr","de","es","ja"]'
- if: steps.translator.outputs.has-new-translations == 'true' uses: peter-evans/create-pull-request@v7 with: branch: machine-translation title: ${{ steps.translator.outputs.summary-title }} body: ${{ steps.translator.outputs.summary-details }} labels: localization准备好自动本地化了吗?
一个 Azure AI Translator 密钥,一个工作流文件。 Resource Translator 处理其余部分。