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,詞彙表,自訂翻譯器類別。
詞彙表
用智能詞界正則表達式鎖定品牌名稱同產品術語,處理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捆綁,審計乾淨。
即插即用工作流程
複製,貼上。 翻譯.
三個秘密,四行,而你嘅倉庫係多語言嘅,下次推送時。
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 翻譯器鍵,一個工作流程檔案。 Resource Translator會處理其餘嘅嘢。