Эгер демейки эмес жайгашкан жер керек болсо, configPath киргизүү менен жолду алмаштырып коюңуз.
Схема
# .github/resource-translator.ymlsourceLocale: en
# Provider config can be nested. Keep secrets in workflow inputs; use repo# config for non-secret defaults like region, model, formality, or category.provider: azure: categoryId: my-custom-translator-category apiVersion: "3.0" allowFallback: true
toLocales: - fr - de - esinclude: - "src/**/*.en.json" - "apps/**/*.en.resx"exclude: - "**/__tests__/**"glossary: Acme: Contoso Octocat: Octocat # keep brand names verbatim
# Translator request shape — most users can ignore these.textType: plain # plain | htmlprofanityAction: NoAction # NoAction | Marked | DeletedprofanityMarker: Asterisk # Asterisk | Tag (only when profanityAction == Marked)
# 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.*"Талаа боюнча маалымат
providerEither a provider string or a nested provider block (provider.azure, provider.aws, or provider.google). Prefer nested blocks for provider-specific settings; keep secrets in workflow inputs rather than committed config.
sourceLocaleЭгер орнотулбаса, sourceLocale киргизүүгө кайтып келет. Ошондой эле Translator'га from=<locale> катары жөнөтүлүп, кыска саптар автоматтык түрдө аныкталбайт.
toLocalesЖе массив, же үтүк менен бөлүнгөн сап.
include / excludeГлоб үлгүлөрү абсолюттук жана жумуш мейкиндигине салыштырмалуу жолдор менен бааланган.
glossaryКотормодон кийинки терминдердин артыкчылыгы. Сөз чегин түшүнөт (C++, .NET).
categoryIdAzure Custom Translator категориясы — сиздин тармак/домен башкаруучу (юридикалык, медициналык, маркетинг тону ж.б.). Жөнөтүлгөн ?category=....
textTypeДемейки plain. html гана ресурс маанилериңизде чыныгы HTML фрагменттери бар болсо гана колдонуңуз.
profanityActionКотормо чыгарылыштагы жаман сөздөрдү кантип дарылоо керек.
profanityMarkerМаанилүү болгондо гана profanityAction "Marked".
allowFallbackfalse коюңуз, эгерде сиздин categoryId максаттуу жерге орнотулбаган болсо, которуу иштебей калат деп коюңуз, жалпы моделге кайтып барыңыз.
apiVersionTranslator REST API версиясы. Демейки 3.0.
awsFormalityAWS Translate formality setting for supported target languages.
awsBrevitySet to true to enable AWS Translate brevity mode for supported language pairs.
awsTerminologyNames / awsParallelDataNamesAWS Translate custom terminology and parallel data resource names. Either an array or comma-separated string.
googleModelGoogle Cloud Translation model, e.g. nmt or base.
googleApiEndpointOptional Google Cloud Translation API endpoint override.
googleAutoRetryOptional Google Cloud Translation automatic retry toggle. Leave unset to use the Google client default.
maxRetriesTransient HTTP жоопторунда максималдуу кайра аракет кылуу аракеттери (408, 425, 429, 500, 502, 503, 504). Демейки 5. Бир суроого жалпы HTTP чакыруулары 1 + maxRetries.
retryBackoffMsКап (ms) ар бир артка кайтып жаткан уйку. Демейки 30000. Azure Retry-After башы так ошол учурда эскерилет; болбосо, титирөөчү экспоненциалдык артка чегинүү колдонулат, бул мааниге чектелген.
protectPlaceholdersДемейки true. Күйгүзүлгөндө, {{name}}, ${var}, {0}, {0:N2}, %s, %1$s жана HTML объекттери сентинел токендери менен алмаштырылып, андан кийин калыбына келтирилет. Булакта атайын орун алмашуучу литералдар болгондо гана өчүрүлөт.
customPlaceholderPatternsКошумча regex үлгүлөрү (делимитерсиз) демейки плейсхолдер топтомуна кошулду, мисалы, <<.+?>> өзгөчө токен синтаксиси үчүн. Жараксыз regex'тер эске алынбайт.
noTranslatePatternsГлоб үлгүлөрү парсер деңгээлиндеги ачкычтар менен дал келген (JSON чекиттүү жол, RESX name, PO msgid, XLIFF бирдиги id, INI/restext ачкычы). Дал келген ачкычтар суроодон чыгарылып, булак мааниси сакталып өтөт.
changeDetectionDefaults to smart. Uses the committed state manifest to translate only changed or missing parser keys. Set to disabled or false to preserve the legacy always-translate behavior.
statePathPath to the deterministic smart change-detection state manifest. Defaults to .github/resource-translator-state.json.
Жүктөө тартиби
- Бул аракет иш агымынан ачык киргизилген маалыматтарды окуйт.
- Ал YAML конфигурациясын
configPath. - Ар бир бөлүшүлгөн талаа үчүн киргизүү жеңет; болбосо YAML мааниси колдонулат.
- Бириктирилген маанилер текшерилет. Жараксыз энумдар (мисалы,
profanityAction: Mask) так билдирүү менен аракетти тез эле иштен чыгарат.
Тону жана эмгекчилдиги, жөнөкөй тил менен айтканда
Azure AI Translator v3 APIде бир гана тон тумбочкасы жок. Эки орнотуу биригип, көпчүлүк бирдей башкарууну берет:
- Өнөр жай / домен:
categoryIdколдонуп, өзүңүздүн корпусуңузда окутулган Azure Custom Translator категориясын көрсөтүңүз — юридикалык, техникалык, медициналык, маркетинг же башка нерселер. Бул тон, бренддин үнү жана сөз байлыгы үчүн эң күчтүү рычаг. - Беттик текст: Глоссарий колдонуп, бренд аттарын жана продукт терминдерин сөзмө-сөз бекиттиң, ал эми
profanityActionколдонуп, жаш аудиторияга локализацияны максат кылганда жаман сөздөрдү тазалоо үчүн колдонуңуз.