Ha nem alapértelmezett helyre van szükséged, felülírd az útvonalat a configPath bemenettel.
Séma
# .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.*"Terepi referencia
| Mező | Típus | Jegyzetek |
|---|---|---|
sourceLocale | string | Ha nincs beállítva, visszaesik a sourceLocale bemenetre. Továbbítva a Fordítóba is, from=<locale> így a rövid láncsorok nem észlelnek automatikusan. |
toLocales | string[] | Vagy egy tömb, vagy egy vesszővel elválasztott sor. |
include / exclude | string[] | Glob mintázatokat értékelve abszolút és munkaterület-relatív útvonalakkal. |
glossary | map<string,string> | Fordítás utáni kifejezések felülírása. Szóhatártudatos (C++, .NET címe). |
categoryId | string | Azure Custom Translator kategória — az iparág/domain gomb (jogi, orvosi, marketing hangnem, stb.). Küldve ?category=.... |
textType | "plain" | "html" | Alapértelmezett plain. Használd html csak akkor, ha az erőforrás-értékeid valódi HTML töredékeket tartalmaznak. |
profanityAction | "NoAction" | "Marked" | "Deleted" | Hogyan kezeljük a káromkozó kifejezéseket a fordított kiadásban. |
profanityMarker | "Asterisk" | "Tag" | Csak akkor jelent jelentősége, ha profanityAction "Marked". |
allowFallback | boolean | Állítsd be false-re, hogy a fordítás megbukjon, amikor a categoryId-nek nincs telepítése egy cél helyszínre, ahelyett, hogy visszatérnél az általános modellhez. |
apiVersion | string | Fordító REST API verzió. Alapértelmezett 3.0. |
maxRetries | integer | Maximális újrapróbálkozási kísérletek átmeneti HTTP válaszokra (408, 425, 429, 500, 502, 503, 504). Alapértelmezett 5. A HTTP hívások összesített száma kérésenként 1 + maxRetries. |
retryBackoffMs | integer | Korlát (ms) bármely egyes visszaállásos alvásnál. Alapértelmezett 30000. Az Azure Retry-After fejlécét pontosan tiszteli, amikor jelen van; egyébként remegett exponenciális visszavonulást alkalmazunk, amely ezzel az értékkel van lezárva. |
protectPlaceholders | boolean | Alapértelmezett true. Kapcsolva a tokenek, mint az {{name}}, ${var}, {0}, {0:N2}, %s, %1$s és HTML entitások cserébe kerülnek sentinel tokenekre fordítás előtt, majd utána visszaállítják őket. Csak akkor kapcsold ki, ha a forrás szándékosan helykitöltő alakú literálisokat tartalmaz. |
customPlaceholderPatterns | string[] | További regex minták (határmeghatározók nélkül) adtak hozzá az alapértelmezett helymeghatározó halmazhoz, például <<.+?>> egyedi token szintaxishoz. Az érvénytelen regexeket figyelmen kívül hagyjuk. |
noTranslatePatterns | string[] | A glob minták párosítva a parser-szintű kulcsokhoz (JSON pontozott út, RESX name, PO msgid, XLIFF unit id, INI/restext kulcs). A megfelelő kulcsokat a kérésből eltávolítják, és forrásértékük megőrzve kerülnek tovább. |
A betöltési sorrend
- Az akció a munkafolyamatból származó explicit bemeneteket olvasza.
- A YAML konfigurációt tölti be
configPath-ről. - Minden megosztott mező esetén a bemenet nyer; különben a YAML értéket használják.
- Az összevont értékek validálva vannak. Érvénytelen enumok (pl.
profanityAction: Mask) gyors sikertelenséget okoznak az akció egyértelmű üzenet esetén.
Hangvétel és ipar, egyszerűen fogalmazva
Az Azure AI Translator v3 API-nak nincs egyetlen hanggombja. Két beállítás kombinációban szinte ugyanazt az irányítást adja:
- Iparág / terület: használd
categoryIdarra, hogy egy Azure Custom Translator kategóriára mutass, amit a saját korpusodat képeztek — jogi, technikai, orvosi, marketinges vagy bármi más. Ez a legerősebb hangzás, márkahang és szókincs eszköze. - Felszíni szöveg: Használd a Szószedet a márkaneveket és termékkifejezéseket szó szerint rögzíteni, és
profanityActionsegítségével eltávolítsd a káromkodású kifejezéseket, amikor fiatalabb közönségnek célozod a lokalizációt.