Әгәр стандарт булмаған урын кәрәк булһа, 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 объекттары кеүек токендар тәржемә алдынан сентинел токендары менән алмаштырыла һәм һуңынан тергеҙелә. Сығанаҡта махсус рәүештә ваҡытлы литералдар булғанда ғына һүндерегеҙ. |
customPlaceholderPatterns | string[] | Өҫтәмә regex паттерндары (делимитерһыҙ) стандарт placeholder set-ҡа өҫтәлде, мәҫәлән, <<.+?>> махсус токен синтаксисы өсөн. Дөрөҫ булмаған регекстар иҫәпкә алынмай. |
noTranslatePatterns | string[] | Глоб үрнәктәре парсер кимәлендәге асҡыстарға (JSON нөктәле юл, RESX name, PO msgid, XLIFF берәмеге id, INI/restext асҡысы) тап килде. Тап килгән асҡыстар һорауҙан төшөрөлә һәм сығанаҡ ҡиммәте һаҡланып үтә. |
Йөкләү тәртибе
- Хәрәкәт эш ағымынан асыҡ мәғлүмәттәрҙе уҡый.
- Ул YAML конфигурацияһын
configPathйөкләй. - Һәр уртаҡ ҡыр өсөн инпут еңә; башҡа осраҡта YAML ҡиммәте ҡулланыла.
- Берләштерелгән ҡиммәттәр раҫлана. Дөрөҫ булмаған enum-дар (мәҫәлән,
profanityAction: Mask) асыҡ хәбәр менән эште тиҙ тамамлауға килтерә.
Тон һәм индустрия, ябай итеп әйткәндә
Azure AI Translator v3 API-һында бер генә тон төймәһе юҡ. Ике көйләү бергәләп күпселек бер үк контролде бирә:
- Сәнәғәт / өлкә:
categoryIdҡулланып, үҙегеҙҙең корпуста өйрәнелгән Azure Custom Translator категорияһына — юридика, техник, медицина, маркетинг йәки башҡа нәмәләргә — күрһәтегеҙ. Был тон, бренд тауышы һәм һүҙлек байлығы өсөн иң көслө рычаг. - Өҫкө текст: Глоссарий ҡулланығыҙ — бренд исемдәрен һәм продукт терминдарын һүҙмә-һүҙ бикләгеҙ, ә
profanityActionҡулланығыҙ, йәш аудиторияға локализацияны маҡсат итеп алғанда ялған һүҙҙәрҙе бөтөрөү өсөн.