Әгәр стандарт булмаған урын кәрәк булһа, 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 маҡсатлы урын өсөн деплоймент булмаһа, тәржемә уңышһыҙ булһын өсөн, дөйөм модельгә кире ҡайтырға кәрәк.
apiVersionТәржемәсе 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.
maxRetriesТранзиент 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 паттерндары (делимитерһыҙ) стандарт placeholder set-ҡа өҫтәлде, мәҫәлән, <<.+?>> махсус токен синтаксисы өсөн. Дөрөҫ булмаған регекстар иҫәпкә алынмай.
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 ҡиммәте ҡулланыла.
- Берләштерелгән ҡиммәттәр раҫлана. Дөрөҫ булмаған enum-дар (мәҫәлән,
profanityAction: Mask) асыҡ хәбәр менән эште тиҙ тамамлауға килтерә.
Тон һәм индустрия, ябай итеп әйткәндә
Azure AI Translator v3 API-һында бер генә тон төймәһе юҡ. Ике көйләү бергәләп күпселек бер үк контролде бирә:
- Сәнәғәт / өлкә:
categoryIdҡулланып, үҙегеҙҙең корпуста өйрәнелгән Azure Custom Translator категорияһына — юридика, техник, медицина, маркетинг йәки башҡа нәмәләргә — күрһәтегеҙ. Был тон, бренд тауышы һәм һүҙлек байлығы өсөн иң көслө рычаг. - Өҫкө текст: Глоссарий ҡулланығыҙ — бренд исемдәрен һәм продукт терминдарын һүҙмә-һүҙ бикләгеҙ, ә
profanityActionҡулланығыҙ, йәш аудиторияға локализацияны маҡсат итеп алғанда ялған һүҙҙәрҙе бөтөрөү өсөн.