v3.0 — Node 24, repo config, glossary, dry run
将你的仓库本地化 每一次提交。
Resource Translator通过官方SDK使用Azure AI Translator打开机器翻译的资源文件拉取请求——没有额外服务,只有一个工作流程。
- 0 NPM-审计问题
- 150场测试赛
- 节点20 / 22 / 24
- Official Azure SDK
辅助 .resx
.NET XML .xliff XLIFF 2.0 .po 获取文本 .json 嵌套或平面 .ini key=value .restext MU 文本 为航运而建
翻译作为一种工作流程,而不是一项苦差事。
把动作放进你现有的配置项,指向Azure AI Translator,让你的仓库能说你目标的所有语言。
六种文件格式
往返.resx、.xliff、.po、.json、.ini和.restext,采用字节稳定格式。
仓库级配置
提交一个.github/resource-translator.yml文件,包含globs、词汇表和自定义翻译器类别。
词汇表感知
用智能词边界正则表达式锁定品牌名称和产品术语,处理C++、.NET和好友。
演练 + 软失败
在不写文件的情况下预览翻译,或者在迭代时将每个错误作为警告显示出来。
PR友好输出
summary-title、summary-details和has-new-translations直接插入创建拉取请求。
Official Azure SDK
基于@azure-rest/ai-translation-text + @azure/core-rest-pipeline——408/429/5xx自动重试,没有手卷HTTP。esbuild捆绑,审计干净。
可直接使用工作流程
复制。粘贴。 翻译。
三个秘密,四行,你的仓库在下一次推送时是多语言的。
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翻译密钥,一个工作流程文件。剩下的则由资源翻译器处理。