I-override ang landas gamit ang configPath input kung kailangan mo ng isang di-default na lokasyon.
Schema
# .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.*"Sanggunian sa patlang
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.
sourceLocaleBumaba pabalik sa sourceLocale input kung hindi itinakda. Ipinasa din sa Translator bilang from=<locale> kaya ang mga maiikling string ay hindi awtomatikong natukoy.
toLocalesAlinman sa isang array o isang string na pinaghiwalay ng kuwit.
include / excludeMga pattern ng Glob na sinuri laban sa ganap at mga landas na may kaugnayan sa workspace.
glossaryPost-translation term overrides. Kamalayan ng hangganan ng salita (humahawak ng C++, .NET).
categoryIdKategorya ng Custom Translator ng Azure - ang iyong knob ng industriya / domain (legal, medikal, tono ng marketing, atbp.). Ipinadala bilang ?category=....
textTypeDefault sa plain. Gamitin lamang ang html kung ang iyong mga halaga ng mapagkukunan ay naglalaman ng tunay na mga fragment ng HTML.
profanityActionPaano tratuhin ang mga bastos na termino sa isinalin na output.
profanityMarkerMakabuluhan lamang kapag profanityAction ay "Marked".
allowFallbackItakda sa false na mabigo ang pagsasalin kapag ang iyong categoryId ay walang deployment para sa isang target na lokal sa halip na bumalik sa pangkalahatang modelo.
apiVersionBersyon ng REST API ng tagasalin. Default sa 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.
maxRetriesMaximum na mga pagtatangka sa muling pagtatangka sa mga pansamantalang tugon ng HTTP (408, 425, 429, 500, 502, 503, 504). Default sa 5. Ang kabuuang mga tawag sa HTTP bawat kahilingan ay 1 + maxRetries.
retryBackoffMsCap (ms) sa anumang solong backoff sleep. Default sa 30000. Ang header ng Retry-After ng Azure ay pinarangalan nang eksakto kapag naroroon; kung hindi man ay ginagamit ang jittered exponential backoff, na naka-cap sa halagang ito.
protectPlaceholdersDefault sa true. Kapag naka-on, ang mga token tulad ng {{name}}, ${var}, {0}, {0:N2}, %s, %1$s at HTML entity ay pinalitan ng mga sentinel token bago ang pagsasalin at naibalik pagkatapos. Huwag paganahin lamang kapag sinadya ng pinagmulan na naglalaman ng mga literal na hugis-placeholder.
customPlaceholderPatternsDagdag na mga pattern ng regex (nang walang mga delimiter) na idinagdag sa default na hanay ng placeholder, hal. <<.+?>> para sa pasadyang syntax ng token. Ang mga hindi wastong regex ay hindi pinansin.
noTranslatePatternsAng mga pattern ng glob ay tumutugma laban sa mga susi sa antas ng parser (JSON dotted path, RESX name, PO msgid, XLIFF unit id, INI / restext key). Ang mga pagtutugma ng mga susi ay bumaba mula sa kahilingan at dumadaan sa pamamagitan ng kanilang pinagmulan na halaga na napanatili.
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.
Email Address *
- Binabasa ng aksyon ang mga malinaw na input mula sa daloy ng trabaho.
- Naglo-load ito ng YAML config mula sa
configPath. - Para sa bawat ibinahaging larangan, ang input ay nanalo; Kung hindi, ang halaga ng YAML ay ginagamit.
- Ang mga pinagsamang halaga ay napatunayan. Ang mga hindi wastong enum (hal.
profanityAction: Mask) ay nagiging sanhi ng mabilis na pagkabigo ng pagkilos na may malinaw na mensahe.
Tono at industriya, sa simpleng mga termino
Ang Azure AI Translator v3 API ay walang isang solong tone knob. Pinagsasama ang dalawang setting upang mabigyan ka ng halos parehong kontrol:
- Industriya / domain: gumamit ng
categoryIdupang ituro ang isang kategorya ng Azure Custom Translator na sinanay sa iyong sariling corpus - legal, teknikal, medikal, marketing, o anumang bagay. Ito ang pinakamalakas na pingga para sa tono, boses ng tatak, at bokabularyo. - Teksto sa ibabaw: gamitin ang talasalitaan upang i-lock ang mga pangalan ng tatak at mga termino ng produkto nang verbatim, at gamitin ang
profanityActionupang i-scrub ang mga bastos na termino kapag nagta-target ng lokalisasyon para sa mga mas batang madla.