One source key changes
Smart detection isolates the delta before any provider call.
ꯑꯔꯣꯟꯕ ꯑꯍꯨꯝ, ꯄꯔꯦꯡ ꯃꯔꯤ, ꯑꯃꯁꯨꯡ ꯅꯍꯥꯛꯀꯤ ꯔꯦꯄꯣ ꯑꯁꯤ ꯃꯊꯪꯒꯤ ꯄꯨꯁꯇ ꯂꯣꯟ ꯀꯌꯥ ꯌꯥꯎꯋꯤ꯫
Smart detection isolates the delta before any provider call.
ꯊꯥꯗꯣꯛ-ꯊꯥꯖꯤꯟꯒꯤꯗꯃꯛ ꯁꯥꯈꯤꯕꯅꯤ
ꯑꯦꯛꯁꯟ ꯑꯗꯨ ꯅꯍꯥꯛꯀꯤ ꯍꯧꯖꯤꯛ ꯂꯩꯔꯤꯕ ꯁꯤꯑꯥꯏ ꯑꯗꯨꯗ ꯊꯥꯗꯣꯛꯄꯤꯌꯨ, ꯃꯗꯨ ꯑꯦꯓꯨꯔ, ꯑꯦꯗꯕꯜꯌꯨꯑꯦꯁ ꯅꯠꯇ꯭ꯔꯒ ꯒꯨꯒꯜꯗ ꯇꯥꯛꯄꯤꯌꯨ ꯑꯃꯁꯨꯡ ꯅꯍꯥꯛꯀꯤ ꯔꯦꯄꯣ ꯑꯗꯨꯅ ꯅꯍꯥꯛꯅ ꯄꯥꯟꯗꯝ ꯊꯝꯂꯤꯕ ꯂꯣꯜ ꯈꯨꯗꯤꯡꯃꯛ ꯉꯥꯡꯍꯜꯂꯨ꯫
Default in v3.2
A compact .github/resource-translator-state.json tracks parser keys, source hashes, and translation-affecting settings. The action skips stable keys, preserves manual target edits, and logs every decision with rule codes. Use snapshotOnly to bootstrap existing translations without a provider call.
Most runs translate only the changed keys
ꯔꯥꯎꯟꯗ-ꯇ꯭ꯔꯤꯞꯁꯤꯡ .resx, .xliff, .po, .json, .ini, ꯑꯃꯁꯨꯡ .restext ꯕꯥꯏꯠ-ꯁ꯭ꯇꯦꯕꯜ ꯐꯣꯔꯃꯦꯇꯤꯡꯒ ꯂꯣꯏꯅꯅ ꯫
ꯒ꯭ꯂꯣꯕꯁꯤꯡ, ꯒ꯭ꯂꯣꯁꯔꯤꯁꯤꯡ, ꯑꯃꯁꯨꯡ ꯀꯁꯇꯝ ꯇ꯭ꯔꯥꯟꯁ꯭ꯂꯦꯇꯔ ꯀꯦꯇꯦꯒꯔꯤꯁꯤꯡ ꯌꯥꯎꯍꯟꯅꯕꯒꯤꯗꯃꯛ .github/resource-translator.yml ꯐꯥꯏꯜ ꯑꯃ ꯊꯥꯗꯣꯛꯄꯤꯌꯨ꯫
ꯕ꯭ꯔꯥꯟꯗ ꯃꯃꯤꯡꯁꯤꯡ ꯑꯃꯁꯨꯡ ꯄꯣꯠꯊꯣꯛꯀꯤ ꯋꯥꯍꯩꯁꯤꯡ ꯑꯗꯨ C++, .NET ꯑꯃꯁꯨꯡ ꯃꯔꯨꯞꯁꯤꯡ ꯁꯦꯟꯅꯕ ꯁ꯭ꯃꯥꯔꯠ ꯋꯥꯔꯗ-ꯕꯥꯎꯟꯗꯔꯤ ꯔꯦꯖꯦꯛꯁꯀ ꯂꯣꯛ ꯇꯧ꯫
ꯐꯥꯏꯜꯁꯤꯡ ꯏꯗꯅ ꯍꯟꯗꯣꯛꯄꯁꯤꯡ ꯄ꯭ꯔꯤꯚꯤꯌꯨ ꯇꯧ, ꯅꯠꯇ꯭ꯔꯒ ꯅꯍꯥꯛꯅ ꯍꯟꯖꯤꯟꯕ ꯃꯇꯝꯗ ꯆꯦꯛꯁꯤꯟꯋꯥ ꯑꯃ ꯑꯣꯏꯅ ꯑꯁꯣꯏꯕ ꯈꯨꯗꯤꯡꯃꯛ ꯎꯠꯊꯣꯛꯎ꯫
summary-title, summary-details, ꯑꯃꯁꯨꯡ has-new-translations ꯍꯛꯊꯦꯡꯅꯅ ꯀ꯭ꯔꯤꯌꯦꯠ-ꯄꯨꯜ-ꯔꯤꯀ꯭ꯋꯦꯁꯠꯇ ꯁ꯭ꯂꯣꯠ ꯇꯧꯋꯤ꯫
ꯆꯦꯟꯕ ꯑꯃꯗ ꯄ꯭ꯔꯣꯚꯥꯏꯗꯔ ꯑꯃ ꯈꯜꯂꯨ꯫ ꯈꯨꯗꯤꯡꯃꯛ ꯑꯁꯤ ꯃꯁꯤꯒꯤ ꯑꯣꯐꯤꯁꯤꯑꯦꯜ ꯑꯦꯁ.ꯗꯤ.ꯀꯦ. (@azure-rest/ai-translation-text, @aws-sdk/client-translate, @google-cloud/translate) ꯅ 408/429/5xx ꯃꯇꯣꯝꯇ ꯑꯃꯨꯛ ꯍꯟꯅ ꯍꯣꯠꯅꯕꯒ ꯂꯣꯏꯅꯅ ꯊꯧꯏ - ꯈꯨꯠꯅ ꯔꯣꯜ ꯇꯧꯕ HTTP ꯂꯩꯇꯦ꯫ esbuild-ꯄꯨꯟꯁꯤꯟꯕ, ꯍꯤꯁꯥꯕ ꯌꯦꯡꯁꯤꯟꯕ-ꯁꯦꯡꯕ꯫
ꯔꯤꯁꯣꯔꯁ ꯇ꯭ꯔꯥꯟꯁ꯭ꯂꯦꯇꯔꯅ ꯑꯦꯓꯨꯔ, ꯑꯦꯗꯕꯜꯌꯨꯑꯦꯁ ꯅꯠꯇ꯭ꯔꯒ ꯒꯨꯒꯜ ꯁꯤꯖꯤꯟꯅꯗꯨꯅ ꯅꯍꯥꯛꯀꯤ ꯔꯤꯁꯣꯔꯁ ꯐꯥꯏꯜꯁꯤꯡꯒꯤꯗꯃꯛ ꯃꯦꯁꯤꯟꯅ ꯍꯟꯗꯣꯛꯄ ꯄꯨꯜ ꯔꯤꯀ꯭ꯋꯦꯁꯠꯁꯤꯡ ꯍꯥꯡꯗꯣꯛꯏ - ꯌꯨꯅꯤꯐꯥꯏꯗ ꯑꯦꯛꯁꯟ ꯑꯃ, ꯆꯦꯟ ꯑꯃꯗ ꯄ꯭ꯔꯣꯚꯥꯏꯗꯔ ꯑꯃ, ꯍꯨꯗ ꯃꯈꯥꯗ ꯑꯣꯐꯤꯁꯤꯌꯦꯜ ꯑꯦꯁ.ꯗꯤ.ꯀꯦ.
ꯍꯧꯔꯛꯎname: translateon: push: 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 provider: | azure: subscriptionKey: ${{ secrets.KEY }} endpoint: ${{ secrets.ENDPOINT }} region: ${{ secrets.REGION }} toLocales: '["fr","de","es","ja"]'
- uses: peter-evans/create-pull-request@v7 with: title: Update translationsꯄ꯭ꯔꯣꯚꯥꯏꯗꯔ ꯀꯤ ꯑꯃ - ꯑꯦꯓꯨꯔ, ꯑꯦꯗꯕꯜꯌꯨꯑꯦꯁ, ꯅꯠꯇ꯭ꯔꯒ ꯒꯨꯒꯜ - ꯑꯃꯁꯨꯡ ꯋꯥꯔ꯭ꯛꯐ꯭ꯂꯣ ꯐꯥꯏꯜ ꯑꯃꯥ꯫ ꯔꯤꯁꯣꯔꯁ ꯇ꯭ꯔꯥꯟꯁ꯭ꯂꯦꯇꯔꯅ ꯂꯦꯝꯍꯧꯕꯁꯤꯡ ꯌꯦꯡꯁꯤꯜꯂꯤ꯫