Preglasite pot z vhodom configPath, če potrebujete neprivzeto lokacijo.
Shema
# .github/resource-translator.ymlsourceLocale: entoLocales: - fr - de - esinclude: - "src/**/*.en.json" - "apps/**/*.en.resx"exclude: - "**/__tests__/**"glossary: Acme: Contoso Octocat: Octocat # keep brand names verbatim
# Domain / industry — uses an Azure Custom Translator category trained on# your tone and vocabulary. Leave unset for the general model.categoryId: my-custom-translator-category
# Translator request shape — most users can ignore these.textType: plain # plain | htmlprofanityAction: NoAction # NoAction | Marked | DeletedprofanityMarker: Asterisk # Asterisk | Tag (only when profanityAction == Marked)allowFallback: true # false fails when the categoryId has no deployment
apiVersion: "3.0"
# 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.*"Terenska referenca
| Polje | Vrsta | Opombe |
|---|---|---|
sourceLocale | string | Če ni nastavljen, se vrne na vhod sourceLocale. Prav tako sem from=<locale> posredovan prevajalcu, da kratki nizi niso samodejno zaznani. |
toLocales | string[] | Bodisi polje ali niz, ločen z vejico. |
include / exclude | string[] | Glob vzorce ocenjujejo glede na absolutne in delovno prostorsko relativne poti. |
glossary | map<string,string> | Izrazi po prevodu. Zaveda se meje besed (ročaji C++, .NET). |
categoryId | string | Azure Custom Translator kategorija — vaša panoga/domenska funkcija (pravni, medicinski, marketinški ton itd.). Poslano kot ?category=.... |
textType | "plain" | "html" | Privzeto se nastavi na plain. Uporabljajte html le, če vaše vrednosti virov vsebujejo prave HTML fragmente. |
profanityAction | "NoAction" | "Marked" | "Deleted" | Kako obravnavati vulgarne izraze v prevedenem izhodu. |
profanityMarker | "Asterisk" | "Tag" | Pomembno je le, ko je profanityAction "Marked". |
allowFallback | boolean | Nastavi false, da prevod ne uspe, ko tvoj categoryId nima nameščanja za ciljno lokacijo, namesto da bi se vrnil k splošnemu modelu. |
apiVersion | string | Translator REST API različica. Privzeto se nastavi na 3.0. |
maxRetries | integer | Največ poskusov ponovnega poskusa pri prehodnih HTTP odgovorih (408, 425, 429, 500, 502, 503, 504). Privzeto nastavi 5. Skupno število HTTP klicev na zahtevo je 1 + maxRetries. |
retryBackoffMs | integer | Omejitev (ms) pri vsakem enkratnem backoff spanju. Privzeto se nastavi na 30000. Azurejeva Retry-After glava je spoštovana natanko, kadar je prisotna; v nasprotnem primeru se uporablja nihanje eksponentnega umika, omejeno na to vrednost. |
protectPlaceholders | boolean | Privzeto se nastavi na true. Ko so vklopljeni, se žetoni, kot so {{name}}, ${var}, {0}, {0:N2}, %s, %1$s in HTML entitete, pred prevodom zamenjajo s sentinel žetoni in kasneje obnovijo. Onemogoči le, kadar izvorna koda namerno vsebuje literale v obliki začasnega pomena. |
customPlaceholderPatterns | string[] | Dodatni regex vzorci (brez ločil) dodani privzetemu naboru nadomestkov, npr. <<.+?>> za prilagojeno sintakso žetonov. Neveljavni regexi se ignorirajo. |
noTranslatePatterns | string[] | Glob vzorci so se ujemali s ključi na ravni parserja (JSON pikčasta pot, RESX name, PO msgid, XLIFF enota id, INI/restext ključ). Ujemajoči se ključi iz zahteve odstranijo in preidejo skozi z ohranjeno izvorno vrednostjo. |
Vrstni red nalaganja
- Akcija bere eksplicitne vhode iz delovnega toka.
- Iz
configPathnaloži YAML konfiguracijo. - Za vsako skupno polje zmaga vhod; v nasprotnem primeru se uporablja vrednost YAML.
- Združene vrednosti so potrjene. Neveljavni enumi (npr.
profanityAction: Mask) povzročijo, da dejanje hitro spodleti, če je jasno sporočilo.
Ton in industrija, preprosto povedano
API Azure AI Translator v3 nima niti enega gumba za ton. Dve nastavitvi skupaj omogočata večino enakega nadzora:
- Industrija / področje: Uporabite
categoryId, da pokažete na kategorijo Azure Custom Translator, usposobljeno na vašem lastnem korpusu — pravni, tehnični, medicinski, marketinški ali karkoli drugega. To je najmočnejši vzvod za ton, glas blagovne znamke in besedišče. - Površinsko besedilo: Uporabite Slovar za dobesedno zaklepanje imen blagovnih znamk in izdelkov ter uporabite
profanityActionza odstranjevanje kletvic, ko ciljate na lokalizacijo za mlajše občinstva.