Pokud potřebujete nevýchozí polohu, přepište cestu vstupem configPath.
Sché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.*"Terénní reference
| Pole | Typ | Poznámky |
|---|---|---|
sourceLocale | string | Pokud není nastaveno, vrací se zpět k vstupu sourceLocale. Také jsem to přeposlal do Translatoru jako from=<locale>, aby se krátké řetězce nedetekovaly automaticky. |
toLocales | string[] | Buď pole, nebo řetězec oddělený čárkou. |
include / exclude | string[] | Globové vzory vyhodnocené vůči absolutním a pracovnímu prostoru relativním cestám. |
glossary | map<string,string> | Termíny po překladu. Vnímají hranice slov (rukojeti C++, .NET). |
categoryId | string | Azure Custom Translator kategorii — vaše branže/doména (právní, lékařská, marketingová stránka atd.). Odesláno jako ?category=.... |
textType | "plain" | "html" | Výchozí nastavení je plain. Používejte html pouze pokud vaše hodnoty zdrojů obsahují skutečné HTML fragmenty. |
profanityAction | "NoAction" | "Marked" | "Deleted" | Jak zacházet s vulgánními termíny v překladu. |
profanityMarker | "Asterisk" | "Tag" | Smysluplné jen tehdy, když profanityAction "Marked". |
allowFallback | boolean | Nastavte false tak, aby překlad selhal, když váš categoryId nemá nasazení pro cílové místo, místo abyste se vrátili k obecnému modelu. |
apiVersion | string | Translator REST API verzi. Výchozí nastavení je 3.0. |
maxRetries | integer | Maximální počet pokusů o opakování u přechodných HTTP odpovědí (408, 425, 429, 500, 502, 503, 504). Výchozí nastavení je 5. Celkový počet HTTP hovorů na požadavek je 1 + maxRetries. |
retryBackoffMs | integer | Limit (ms) při jakémkoli jediném zpětném spánku. Výchozí nastavení je 30000. Záhlaví Retry-After Azure je ctěno přesně tehdy, když je přítomno; jinak se používá jittered exponenciální zpětný ústup, omezený na tuto hodnotu. |
protectPlaceholders | boolean | Výchozí nastavení je true. Když jsou tokeny jako {{name}}, ${var}, {0}, {0:N2}, %s, %1$s a HTML entity před překladem nahrazeny sentinelovými tokeny a poté obnoveny. Vypnout pouze tehdy, pokud zdrojový zdroj záměrně obsahuje literály ve tvaru zástupného místa. |
customPlaceholderPatterns | string[] | Do výchozí sady zástupců přidány další regex vzory (bez oddělovačů), např. <<.+?>> pro vlastní syntaxi tokenů. Neplatné regexy jsou ignorovány. |
noTranslatePatterns | string[] | Vzory glob byly porovnány s klíči na úrovni parseru (JSON tečkovaná cesta, RESX name, PO msgid, jednotka XLIFF id, INI/restext klíč). Shodné klíče jsou z požadavku vyřazeny a přecházejí s zachovánou zdrojovou hodnotou. |
Pořadí nakládání
- Akce čte explicitní vstupy z workflow.
- Načte YAML konfiguraci z
configPath. - Pro každé sdílené pole vyhrává vstup; jinak se používá hodnota YAML.
- Sloučené hodnoty jsou ověřeny. Neplatné enumy (např.
profanityAction: Mask) způsobí, že akce rychle selže s jasnou zprávou.
Tón a průmysl, jednoduše řečeno
API Azure AI Translator v3 nemá jediný tónový knoflík. Dvě nastavení kombinují a dávají vám většinu stejné kontroly:
- Průmysl / oblast: použijte
categoryIdk ukázání na kategorii Azure Custom Translator trénovanou na vašem vlastním korpusu — právní, technická, lékařská, marketingová nebo cokoli jiného. To je nejsilnější páka pro tón, hlas značky a slovní zásobu. - Povrchový text: Použijte Slovníček k doslovnému uzamčení názvů značek a produktových termínů a použijte
profanityActionk odstranění vulgarních výrazů při cílení na lokalizaci pro mladší publikum.