Perrašykite kelią naudodami configPath įvestį, jei jums reikia nenumatytosios vietos.
Schema
# .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.*"Lauko nuoroda
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.
sourceLocaleJei nenustatyta, grįžta prie sourceLocale įvesties. Taip pat persiųsta į vertėją kaip from=<locale> todėl trumpos eilutės nėra automatiškai aptiktos.
toLocalesMasyvas arba kableliais atskirta eilutė.
include / excludeGlob modeliai, įvertinti pagal absoliučius ir darbo srities santykinius kelius.
glossaryTerminų perrašymas po vertimo. Žodžio ribos žino (rankenos C++, .NET).
categoryId"Azure" Custom Translator kategorija – jūsų pramonės / domeno rankenėlė (teisinė, medicininė, rinkodaros tonas ir kt.). Išsiųsta kaip ?category=....
textTypeNumatytoji reikšmė yra plain. Naudokite html tik tuo atveju, jei jūsų išteklių reikšmėse yra tikrų HTML fragmentų.
profanityActionKaip elgtis su nešvankiais terminais išverstoje produkcijoje.
profanityMarkerPrasminga tik tada, kai profanityAction yra "Marked".
allowFallbackNustatykite false, kad vertimas nepavyktų, kai jūsų categoryId nėra paskirties lokalės diegimo, o ne grįžti prie bendrojo modelio.
apiVersionVertėjo REST API versija. Numatytoji reikšmė yra 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.
maxRetriesMaksimalus bandymų pakartoti skaičių su trumpalaikiais HTTP atsakymais (408, 425, 429, 500, 502, 503, 504). Numatytoji reikšmė yra 5. Bendras HTTP iškvietimų skaičius vienoje užklausoje yra 1 + maxRetries.
retryBackoffMsViršutinė riba (ms) bet kuriam atskiram atgaliniam miego režimui. Numatytoji reikšmė yra 30000. "Azure" Retry-After antraštė yra pagerbta tiksliai, kai yra; kitu atveju naudojamas drebantis eksponentinis atgalinis atsitraukimas, apribojamas šia verte.
protectPlaceholdersNumatytoji reikšmė yra true. Kai įjungta, žetonai, tokie kaip {{name}}, ${var}, {0}, {0:N2}, %s, %1$s ir HTML objektai, prieš vertimą pakeičiami kontroliniais žetonais, o vėliau atkuriami. Išjungti tik tada, kai šaltinyje tyčia yra vietos rezervavimo ženklo formos literalų.
customPlaceholderPatternsPapildomi reguliariosios išraiškos šablonai (be skyriklių), įtraukti į numatytąjį vietos rezervavimo ženklų rinkinį, pvz., <<.+?>> pasirinktinės atpažinimo ženklų sintaksės. Neleistinų reguliariųjų reakcijų nepaisoma.
noTranslatePatternsGlob modeliai suderinti su analizatoriaus lygio raktais (JSON punktyrinis kelias, RESX name, PO msgid, XLIFF vieneto id, INI/restext klavišas). Atitinkantys raktai pašalinami iš užklausos ir perduodami išsaugojus jų šaltinio reikšmę.
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.
Pakrovimo tvarka
- Veiksmas nuskaito aiškias darbo eigos įvestis.
- Jis įkelia YAML konfigūraciją iš
configPath. - Kiekviename bendrai naudojamame lauke laimi įvestis; kitu atveju naudojama YAML reikšmė.
- Sulietos reikšmės patvirtinamos. Neleistini išvardijimai (pvz.,
profanityAction: Mask) sukelia greitą veiksmą ir aiškų pranešimą.
Tonas ir pramonė, paprastai tariant
"Azure AI Translator v3" API neturi vienos tono rankenėlės. Du nustatymai sujungiami, kad galėtumėte valdyti tą patį:
- Pramonė / sritis: naudokite
categoryId, kad nurodytumėte "Azure" Custom Translator kategoriją, apmokytą pagal jūsų tekstyną – teisinį, techninį, medicininį, rinkodaros ar bet ką kitą. Tai stipriausias tono, prekės ženklo balso ir žodyno svertas. - Paviršiaus tekstas: Naudokite žodynėlis, kad užrakintumėte prekės ženklų pavadinimus ir produktų terminus pažodžiui, o
profanityActionnaudokite nešvankius terminus, kai taikysite lokalizaciją jaunesnei auditorijai.