One source key changes
Smart detection isolates the delta before any provider call.
Trzy sekrety, cztery linie, a repozytorium jest wielojęzyczne przy następnym pushu.
Smart detection isolates the delta before any provider call.
Zbudowany do żeglugi
Wrzuć tę akcję do istniejącego CI, skieruj ją na Azure, AWS lub Google i pozwól repozytorium mówić we wszystkich językach, które wybierzesz.
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
Połączenia w obie strony .resx, .xliff, .po, .json, .ini i .restext z formatowaniem stabilnym bajt.
Zrezygnuj z pliku .github/resource-translator.yml, aby obejmować globy, słowniki i kategorie Custom Translator.
Zabezpiecz nazwy marek i terminy produktów za pomocą inteligentnego regexu granicznego słowa, który obsługuje C++, .NET i znajomych.
Podglądaj tłumaczenia bez zapisywania plików lub wyświetlaj każdy błąd jako ostrzeżenie podczas iteracji.
summary-title, summary-details i has-new-translations bezpośrednio wpadają w create-pull-request.
Wybierz jednego dostawcę na każdy bieg. Każdy jest sterowany przez oficjalne SDK (@azure-rest/ai-translation-text, @aws-sdk/client-translate, @google-cloud/translate) z automatycznymi próbami na 408/429/5xx - bez ręcznie tworzonego HTTP. esbuild pakiety, czyste jak audyt.
Resource Translator otwiera maszynowo tłumaczone pull requesty dla plików zasobów za pomocą Azure, AWS lub Google - jedna zunifikowana akcja, jeden dostawca na uruchomienie, oficjalne SDK pod maską.
Zacznijname: 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 translationsJeden klucz dostawcy - Azure, AWS lub Google - oraz jeden plik workflow. Resource Translator zajmuje się resztą.