See Configuration for the YAML schema and loading order.
Inputs required
sourceLocaleSource locale (e.g. en) used to find resource files such as **/*.en.resx. Yoherejwe kandi ku muyobozi nk'uko from=<locale>.
Provider selection & credentials
Choose one provider per run with provider. Tanga gusa ibyangombwa by'umutanga watoranijwe — reba ubuyobozi bw'Inputs & outputs kugirango ushyireho byuzuye.
providerIgisubizo: azure (default), aws, cyangwa google. Only one provider is used per action call.
subscriptionKeyAzure AI Translator subscription key. Birakenewe azure. Pass via secrets.
endpointAzure Translator endpoint URL, e.g. https://api.cognitive.microsofttranslator.com/. Byari bikenewe azure.
awsAccessKeyIdAWS access key ID. Optional — omit (with awsSecretAccessKey) to use the AWS default credential chain / OIDC. Pass via secrets.
awsSecretAccessKeyBye Bye Secret Entry Key Agomba gutangwa hamwe n'awsAccessKeyId. Pass via secrets.
awsSessionTokenOptional AWS session token for temporary credentials. Pass via secrets.
awsRegionAkarere ka Nyamasheke kahawe inshingano zo gusemura imikoreshereze y'ubutaka (I us-east-1 foto/Umurengezi R) Birakenewe aws keretse iyo AWS_REGION yashyizweho mu rwego rwo kubungabunga ibidukikije.
awsFormalityAWS Translate formality setting: FORMAL or INFORMAL.
awsBrevityWhen true, enables AWS Translate brevity mode for supported language pairs.
awsTerminologyNamesAWS Translate custom terminology resource names. Accepts a JSON array or comma-separated values.
awsParallelDataNamesAWS Translate parallel data resource names. Accepts a JSON array or comma-separated values.
googleApiKeyUrufunguzo rwa API ya Google Cloud Tanga iyi CYANGWA googleCredentials google. Pass via secrets.
googleCredentialsGoogle Cloud service-account key as a JSON string. Tanga iyi CYANGWA googleApiKey google. Pass via secrets.
googleProjectIdOptional Google Cloud project id. Usually inferred from the service-account credential.
googleModelGoogle Cloud Translation model, e.g. nmt or base.
googleApiEndpointOptional Google Cloud Translation API endpoint override.
googleAutoRetryOptional Google Cloud Translation automatic retry toggle. Leave unset to use the Google client default.
Common optional inputs
regionTranslator resource region (omit for global resources).
toLocalesLocales to translate to. Yemera JSON array (["fr","de"]) cyangwa ibipimo bitandukanywa na koma.
includeNewline-separated glob patterns; gusa inyandiko zihuje n'izo zihindurwa.
excludeNewline-separated glob patterns; Matching files are skipped (applied after include).
configPathInzira y'umurongo wa YAML config file (ijyanye n'umuzi w'akazi).
changeDetectionSmart change detection mode. smart translates only keys whose source value, target presence, state entry, or translation-affecting settings require it. Use disabled or false to send every eligible key on every run.
statePathPath to the compact deterministic smart change-detection state manifest. Defaults to .github/resource-translator-state.json; commit it so future runs can audit and reuse unchanged translations.
snapshotOnlyWhen true, create/update the smart change-detection manifest from existing source and target files without calling a translation provider or writing target resource files. Useful when bootstrapping statePath while a provider is unavailable.
dryRunMu gihe true, jya uhindura inyandiko n'inyandiko zinyuranye, ariko ntuzigere wandika.
failOnErrorWhen true, unexpected errors fail the action; Iyo false amakosa aba ari umuburo.
Azure Translator request inputs
These map directly into Azure AI Translator v3 query parameters and apply to the Azure provider. textType and profanityAction are also mapped to AWS/Google where an equivalent exists (see the providers guide); Ibisigaye ni Azure-only. Buri wese aba ari amahitamo ye; The Translator defaults apply when unset.
categoryIdAzure Custom Translator category — the industry/domain/tone knob. Bye Bye ?category=....
textTypeplain cyangwa html. Use html only when your resource values are real HTML fragments.
profanityActionNoAction, Marked, cyangwa Deleted. Genzura uburyo amagambo y'urukozasoni akoreshwa mu buhinduzi.
profanityMarkerAsterisk cyangwa Tag. Only significant when profanityAction is Marked.
allowFallbackIyo false, umusemuzi asubiza ikosa aho gusubira muri sisitemu rusange niba categoryId yawe idafite aho igenewe.
apiVersionTranslator REST API version.
Resilience & placeholder protection
These inputs control how the action behaves when Translator throttles your request and how it shields placeholder tokens like {{name}} or {0} from being mangled during translation.
maxRetriesMaximum retry attempts on transient HTTP responses (408, 425, 429, 500, 502, 503, 504). Umubare w'abahamagara kuri buri busabe ni 1 + maxRetries.
retryBackoffMsCap (in milliseconds) on any single backoff sleep. The action honors Azure's Retry-After response header exactly when present; otherwise it uses jittered exponential backoff capped at this value.
protectPlaceholdersWhen true (default), placeholders such as {{name}}, ${var}, {0}, {0:N2}, %s, %1$s and HTML entities are replaced with sentinel tokens before translation and restored afterward. Disable only when your source intentionally contains literal placeholder-shaped text that should be translated.
customPlaceholderPatternsNewline-separated regexes (without delimiters) added to the default placeholder set, e.g. <<.+?>> for custom token syntax.
noTranslatePatternsNewline-separated glob patterns matched against parser-level keys (JSON dotted path, RESX name, PO msgid, XLIFF unit id, INI / restext key). Imfunguzo zihuza zikurwa ku busabe bw'Umusemuzi hanyuma zinyura hamwe n'agaciro k'inkomoko yazo.
Ibicuruzwa
summary-titleShort PR-title-friendly summary, e.g. Machine-translated 320 files, a total of 5,418 translations.
summary-detailsMarkdown summary suitable for a PR body or job summary.
has-new-translations'true' igihe hasohotse ubuhinduzi bushya bumwe cyangwa bwinshi.