Yi amfani da hanyar tare da shigarwar configPath idan kana buƙatar wurin da ba na tsoho ba.
Tsarin
# .github/resource-translator.ymlsourceLocale: en
# Provider config can be nested. Keep secrets in workflow inputs; use repo# config for non-secret defaults like region, model, formality, or category.provider: azure: categoryId: my-custom-translator-category apiVersion: "3.0" allowFallback: true
toLocales: - fr - de - esinclude: - "src/**/*.en.json" - "apps/**/*.en.resx"exclude: - "**/__tests__/**"glossary: Acme: Contoso Octocat: Octocat # keep brand names verbatim
# Translator request shape — most users can ignore these.textType: plain # plain | htmlprofanityAction: NoAction # NoAction | Marked | DeletedprofanityMarker: Asterisk # Asterisk | Tag (only when profanityAction == Marked)
# Resilience — Translator returns 429 under load. Defaults are usually# fine; tune only if your runs are large enough to hit them.maxRetries: 5retryBackoffMs: 30000 # cap on any single backoff sleep (ms)
# Placeholder protection. ON by default — wraps tokens like {{name}},# {0}, %s, ${var} into sentinels before translation and restores them# on the way back. Set false only when source intentionally contains# placeholder-shaped literals.protectPlaceholders: truecustomPlaceholderPatterns: - "<<.+?>>" # any extra token syntax you use
# Per-key opt-out. Keys matching any glob are dropped from the request# and pass through with the source value preserved.noTranslatePatterns: - "errors.code.*" - "brands.*"Bayanin filin
providerEither a provider string or a nested provider block (provider.azure, provider.aws, or provider.google). Prefer nested blocks for provider-specific settings; keep secrets in workflow inputs rather than committed config.
sourceLocaleKomawa zuwa maɓallin sourceLocale idan ba a saita shi ba. Har ila yau, an tura shi zuwa ga mai fassara kamar yadda from=<locale> don haka ba a gano gajerun igiyoyi ta atomatik.
toLocalesKo dai wani nau'i na nau'i
include / excludeTsarin Glob da aka kimanta akan cikakkiyar hanyoyin da ke da alaƙa da wurin aiki.
glossaryPost-translation term overrides. Word-boundary aware (rike C++, .NET).
categoryIdAzure Custom Translator category — your industry/domain knob (shari'a, likitanci, sautin tallace-tallace, da sauransu). An aika shi a matsayin ?category=....
textTypeRashin daidaituwa ga plain. Yi amfani da html ne kawai idan darajar albarkatun ka sun ƙunshi gutsutsuren HTML na ainihi.
profanityActionTa yaya za a bi da kalmomin da ba su dace ba a cikin fassarar fassarar?
profanityMarkerMa'ana ne kawai lokacin da profanityAction "Marked".
allowFallbackSaita zuwa false don gazawa fassarar lokacin da categoryId ka ba shi da ƙaddamar da wurin da aka yi niyya maimakon komawa zuwa samfurin gama gari.
apiVersionTranslator REST API version. Rashin daidaituwa ga 3.0.
awsFormalityAWS Translate formality setting for supported target languages.
awsBrevitySet to true to enable AWS Translate brevity mode for supported language pairs.
awsTerminologyNames / awsParallelDataNamesAWS Translate custom terminology and parallel data resource names. Either an array or comma-separated string.
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.
maxRetriesMatsakaicin ƙoƙari na sake gwadawa akan amsoshin HTTP na wucin gadi (408, 425, 429, 500, 502, 503, 504). Rashin daidaituwa ga 5. Jimlar kiran HTTP a kowace buƙata 1 + maxRetries.
retryBackoffMsCap (ms) a kan kowane barci na baya. Rashin daidaituwa ga 30000. Ana girmama rubutun Retry-After na Azure daidai lokacin da yake nan; in ba haka ba ana amfani da jittered exponential backoff, wanda aka rufe a wannan darajar.
protectPlaceholdersRashin daidaituwa ga true. Lokacin da aka kunna, alamu kamar {{name}}, ${var}, {0}, {0:N2}, %s, %1$s da HTML ana maye gurbin su da alamun sentinel kafin fassara kuma an dawo da su daga baya. Kashe ne kawai idan tushen da gangan ya ƙunshi zahiri mai siffar placeholder.
customPlaceholderPatternsƘarin alamun regex (ba tare da ƙayyadaddun ƙayyadaddun ba) an ƙara su zuwa saitin mai riƙe wuri na asali, misali <<.+?>> don ƙididdigar alamar al'ada. An yi watsi da regexes marasa inganci.
noTranslatePatternsTsarin Glob ya dace da maɓallan matakin parser (hanyar JSON, RESX name, PO msgid, XLIFF naúrar id, INI / restext key). Ana sauke maɓallan da suka dace daga buƙata kuma suna wucewa tare da ƙimar tushen su da aka kiyaye su.
changeDetectionDefaults to smart. Uses the committed state manifest to translate only changed or missing parser keys. Set to disabled or false to preserve the legacy always-translate behavior.
statePathPath to the deterministic smart change-detection state manifest. Defaults to .github/resource-translator-state.json.
Loading order
- Aikin yana karanta bayyananniyar shigarwa daga aikin aiki.
- Yana loda YAML config daga
configPath. - Ga kowane filin da aka raba, shigarwar ta ci nasara; in ba haka ba, ana amfani da darajar YAML.
- An tabbatar da dabi'un da aka haɗa. Abubuwan da ba su da inganci (misali
profanityAction: Mask) suna haifar da aikin ya gaza da sauri tare da bayyananniyar saƙo.
Tone da masana'antu, a bayyane yake
Azure AI Translator v3 API ba shi da maɓallin sauti guda ɗaya. Saitin biyu sun haɗu don ba ku mafi yawan sarrafawa iri ɗaya:
- Masana'antu / yanki: Yi amfani da
categoryIddon nuna rukunin Azure Custom Translator da aka horar da shi a kan jikin ku - shari'a, fasaha, likitanci, tallace-tallace, ko wani abu. Wannan shine mafi ƙarfin ƙarfi don sauti, muryar alama, da ƙamus. - Rubutun farfajiya: Yi amfani da Glossary don kulle sunayen alama da sharuɗɗan samfura a kalma, kuma yi amfani da
profanityActiondon goge sharuɗɗa marasa kyau yayin niyya ga yanki ga matasa masu sauraro.