Эгер демейки эмес жайгашкан жер керек болсо, 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 | Translator REST API версиясы. Демейки 3.0. |
maxRetries | integer | Transient 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 үлгүлөрү (делимитерсиз) демейки плейсхолдер топтомуна кошулду, мисалы, <<.+?>> өзгөчө токен синтаксиси үчүн. Жараксыз regex'тер эске алынбайт. |
noTranslatePatterns | string[] | Глоб үлгүлөрү парсер деңгээлиндеги ачкычтар менен дал келген (JSON чекиттүү жол, RESX name, PO msgid, XLIFF бирдиги id, INI/restext ачкычы). Дал келген ачкычтар суроодон чыгарылып, булак мааниси сакталып өтөт. |
Жүктөө тартиби
- Бул аракет иш агымынан ачык киргизилген маалыматтарды окуйт.
- Ал YAML конфигурациясын
configPath. - Ар бир бөлүшүлгөн талаа үчүн киргизүү жеңет; болбосо YAML мааниси колдонулат.
- Бириктирилген маанилер текшерилет. Жараксыз энумдар (мисалы,
profanityAction: Mask) так билдирүү менен аракетти тез эле иштен чыгарат.
Тону жана эмгекчилдиги, жөнөкөй тил менен айтканда
Azure AI Translator v3 APIде бир гана тон тумбочкасы жок. Эки орнотуу биригип, көпчүлүк бирдей башкарууну берет:
- Өнөр жай / домен:
categoryIdколдонуп, өзүңүздүн корпусуңузда окутулган Azure Custom Translator категориясын көрсөтүңүз — юридикалык, техникалык, медициналык, маркетинг же башка нерселер. Бул тон, бренддин үнү жана сөз байлыгы үчүн эң күчтүү рычаг. - Беттик текст: Глоссарий колдонуп, бренд аттарын жана продукт терминдерин сөзмө-сөз бекиттиң, ал эми
profanityActionколдонуп, жаш аудиторияга локализацияны максат кылганда жаман сөздөрдү тазалоо үчүн колдонуңуз.