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 MUI 文本 為航運而建
翻譯是一個工作流程,而不是苦差事。
把動作放進你現有的 CI,指向 Azure AI 翻譯器,讓你的倉庫能說你目標的所有語言。
六種檔案格式
來回行程.resx、.xliff、.po、.json、.ini 和 .restext,並採用位元組穩定格式。
倉庫層級設定
放置一個.github/resource-translator.yml檔案,包含 globs、詞彙表和自訂翻譯器類別。
詞彙表感知
用智慧字邊界正則表達式鎖定品牌名稱和產品名稱,處理C++、.NET和朋友。
試跑 + 軟失敗
預覽翻譯時不寫檔案,或在反覆迭代時將每個錯誤都標示為警告。
PR友善的輸出
summary-title、summary-details 和 has-new-translations 直接插入 create-pull-request。
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 翻譯器金鑰,一個工作流程檔案。剩下的則由資源翻譯器處理。