Прекрши ја патеката со configPath влез ако ти треба нестандардна локација.
Шема
# .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.*"Теренска референца
| Поле | Тип | Белешки |
|---|---|---|
sourceLocale | string | Се враќа на sourceLocale влезот ако не е поставен. Исто така е препратен на Translator како from=<locale> за кратките низи да не се автоматски детектираат. |
toLocales | string[] | Или низа или низа одделена со запирка. |
include / exclude | string[] | Глоб шемите се оценуваат според апсолутни и работно-релативни патеки. |
glossary | map<string,string> | По преводот се надминува терминот. Свесна за границата на зборот (се однесува C++, .NET). |
categoryId | string | Azure Custom Translator категорија — твојот индустриски/доменски копче (правен, медицински, маркетинг тон, итн.). Испратен како ?category=.... |
textType | "plain" | "html" | Стандардно е plain. Користи html само ако вредностите на ресурсите содржат вистински HTML фрагменти. |
profanityAction | "NoAction" | "Marked" | "Deleted" | Како да се третираат богохулни термини во преведениот излез. |
profanityMarker | "Asterisk" | "Tag" | Значајно е само кога profanityAction е "Marked". |
allowFallback | boolean | Постави false да не успее преводот кога твојот categoryId нема распоредување за целна локација, наместо да се вратиш на општиот модел. |
apiVersion | string | Верзија на REST API за преведувач. Стандардно е 3.0. |
maxRetries | integer | Максимални обиди за повторување на привремени HTTP одговори (408, 425, 429, 500, 502, 503, 504). Стандардно е 5. Вкупниот број HTTP повици по барање е 1 + maxRetries. |
retryBackoffMs | integer | Кап (ms) на секој поединечен потег на спиење. Стандардно е 30000. Заглавието на Azure Retry-After се почитува токму кога е присутен; инаку се користи експоненцијално враќање на треперењето, ограничено на оваа вредност. |
protectPlaceholders | boolean | Стандардно е true. Кога се вклучени, токени како {{name}}, ${var}, {0}, {0:N2}, %s, %1$s и HTML ентитети се заменуваат со sentinel токени пред преводот и се враќаат потоа. Оневозможи само кога изворот намерно содржи привремени литерали. |
customPlaceholderPatterns | string[] | Дополнителни regex шеми (без делимитери) се додаваат на стандардниот сет на привремени места, на пр. <<.+?>> за прилагодена синтакса на токени. Невалидните реглегални изрази се игнорираат. |
noTranslatePatterns | string[] | Глоб шемите се совпаѓаа со клучеви на ниво на парсер (JSON пунктирана патека, RESX name, PO msgid, XLIFF единица id, INI/restext клуч). Клучевите што одговараат се отстрануваат од барањето и поминуваат со зачувана изворна вредност. |
Редослед на вчитување
- Акцијата ги чита експлицитните влезови од работниот тек.
- Се вчитува YAML конфигурацијата од
configPath. - За секое заедничко поле, внесот победува; инаку се користи YAML вредноста.
- Споените вредности се валидираат. Невалидните enums (на пр.
profanityAction: Mask) предизвикуваат акцијата брзо да не успее со јасна порака.
Тон и индустрија, едноставно
Azure AI Translator v3 API нема едно копче за тон. Две поставки се комбинираат за да ви дадат речиси иста контрола:
- Индустрија / домен: користете
categoryIdза да посочите на Azure Custom Translator категорија обучена на вашиот сопствен корпус — правен, технички, медицински, маркетинг или било што друго. Ова е најсилната лост за тон, бренд глас и вокабулар. - Површински текст: Користете го Глосар за да ги заклучите имињата на брендови и термините на производите дословно, и користете
profanityActionза да ги отстраните пцовките кога таргетирате локализација за помлада публика.