Localize your repo on buri kwiyemeza.
Resource Translator opens machine-translated pull requests for your resource files using Azure AI Translator via the official SDK — no extra services, just a workflow.
- 0 npm-audit issues
- 150 tests
- Node 20 / 22 / 24
- Official Azure SDK
.NET XML .xliff XLIFF 2.0 .po gettext .json Bye Bye Birdie or Flat .ini key=value .restext Inyandiko ya MUI Built for shipping
Guhindura akazi ni akazi kabo, ntabwo ari akazi k'ubucuruzi.
Drop the action into your existing CI, point it at Azure AI Translator, and let your repo speak every language you target.
Six file formats
Round-trips .resx, .xliff, .po, .json, .ini, and .restext with byte-stable formatting.
Repo-level config
Drop a .github/resource-translator.yml file for include globs, glossaries, and Custom Translator categories.
Glossary-aware
Funga amazina y'ibicuruzwa n'amagambo y'ibicuruzwa hamwe na regex y'amagambo meza ifata C++, .NET, n'inshuti.
Dry-run + soft-fail
Preview translations without writing files, or surface every error as a warning while you iterate.
PR-friendly outputs
summary-title, summary-details, and has-new-translations Direct into create-pull-request.
Official Azure SDK
Built on @azure-rest/ai-translation-text + @azure/core-rest-pipeline — automatic retries on 408/429/5xx, no hand-rolled HTTP. esbuild-bundled, audit-clean.
Drop-in workflow
Copy. Paste. Semura.
Three secrets, four lines, and your repo is multilingual on the next push.
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: localizationReady to localize on autopilot?
One Azure AI Translator key, one workflow file. Resource Translator ikora ibisigaye.