Prepiši putanju pomoću configPath ulaza ako ti treba lokacija koja nije podrazumijevana.
Šema
# .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.*"Referenca na terenu
| Polje | Tip | Bilješke |
|---|---|---|
sourceLocale | string | Vraća se na sourceLocale ulaz ako nije podešen. Također je proslijeđeno na Translator kao from=<locale> da se kratki stringovi ne bi automatski detektovali. |
toLocales | string[] | Ili niz ili niz odvojen zarezom. |
include / exclude | string[] | Glob obrasci su evaluirani u odnosu na apsolutne i radne prostor-relativne puteve. |
glossary | map<string,string> | Preklapanje termina nakon prevođenja. Svjestan granica riječi (koristi C++, .NET). |
categoryId | string | Azure Custom Translator kategorija — vaša industrijska/domena (pravni, medicinski, marketinški ton itd.). Poslano kao ?category=.... |
textType | "plain" | "html" | Podrazumijevano plain. Koristite html samo ako vaše vrijednosti resursa sadrže prave HTML fragmente. |
profanityAction | "NoAction" | "Marked" | "Deleted" | Kako tretirati psovke u prevedenim tekstovima. |
profanityMarker | "Asterisk" | "Tag" | Značajan je samo kada je profanityAction "Marked". |
allowFallback | boolean | Postavi da false ne uspije u prevodu kada tvoj categoryId nema implementaciju za ciljanu lokaciju, umjesto da se vratiš na opšti model. |
apiVersion | string | Translator REST API verzija. Podrazumijevano 3.0. |
maxRetries | integer | Maksimalan broj pokušaja ponovnog pokušaja na prolaznim HTTP odgovorima (408, 425, 429, 500, 502, 503, 504). Podrazumijevano 5. Ukupan broj HTTP poziva po zahtjevu je 1 + maxRetries. |
retryBackoffMs | integer | Ograniči (ms) na bilo koji pojedinačni backoff san. Podrazumijevano 30000. Azure Retry-After zaglavlje se poštuje tačno kada je prisutno; u suprotnom se koristi jittered eksponencijalno povlačenje, ograničeno na ovu vrijednost. |
protectPlaceholders | boolean | Podrazumijevano true. Kada su uključeni, tokeni poput {{name}}, ${var}, {0}, {0:N2}, %s, %1$s i HTML entiteti se zamjenjuju sentinel tokenima prije prevoda i vraćaju nakon toga. Onemogućite samo kada izvorni izvor namjerno sadrži literale u obliku privremenog mjesta. |
customPlaceholderPatterns | string[] | Dodatni regex obrasci (bez razdjelnika) dodani su u zadani skup placeholdera, npr. <<.+?>> za sintaksu prilagođenih tokena. Nevažeći regexovi se ignorišu. |
noTranslatePatterns | string[] | Glob obrasci usklađeni sa ključevima na nivou parsera (JSON isprekidana putanja, RESX name, PO msgid, XLIFF jedinica id, INI/restext ključ). Odgovarajući ključevi se izbacuju iz zahtjeva i prolaze kroz njega sa sačuvanom izvornom vrijednošću. |
Redoslijed utovara
- Akcija očitava eksplicitne ulaze iz radnog toka.
- Učitava YAML konfiguraciju sa
configPath. - Za svako zajedničko polje, unos pobjeđuje; u suprotnom se koristi YAML vrijednost.
- Spojene vrijednosti se validiraju. Nevažeći enumovi (npr.
profanityAction: Mask) uzrokuju da akcija brzo ne uspije, uz jasnu poruku.
Ton i industrija, jednostavno rečeno
Azure AI Translator v3 API nema jedan ton potenciometar. Dva podešavanja se kombinuju i daju vam većinu iste kontrole:
- Industrija / domena: koristite
categoryIdda ukažete na Azure Custom Translator kategoriju obučenu na vašem korpusu — pravnom, tehničkom, medicinskom, marketinškom ili bilo čemu drugom. Ovo je najjača poluga za ton, glas brenda i vokabular. - Površinski tekst: Koristite Rječnik da doslovno zaključate nazive brendova i termine proizvoda, a koristite
profanityActionda uklonite psovke kada ciljate lokalizaciju za mlađu publiku.