Lewati ke konten

Bahasa

Pilih bahasa Anda

Beralih ke halaman yang sama dalam bahasa lain.

EnglishEnglishenAfrikaansAfrikaansafአማርኛAmharicamالعربيةArabicarঅসমীয়াAssameseasAzərbaycanAzerbaijaniazБашҡортBashkirbaБългарскиBulgarianbgभोजपुरीBhojpuribhoবাংলাBanglabnབོད་སྐད་Tibetanboबड़ोBodobrxBosanskiBosnianbsCatalàCatalancaČeštinaCzechcsCymraegWelshcyDanskDanishdaDeutschGermandeडोगरीDogridoiDolnoserbšćinaLower SorbiandsbދިވެހިބަސްDivehidvΕλληνικάGreekelEspañolSpanishesEestiEstonianetEuskaraBasqueeuفارسیPersianfaSuomiFinnishfiFilipinoFilipinofilVakavitiFijianfjFøroysktFaroesefoFrançaisFrenchfrFrançais (Canada)French (Canada)fr-CAGaeilgeIrishgaGalegoGalicianglकोंकणीKonkanigomગુજરાતીGujaratiguHausaHausahaעבריתHebrewheहिन्दीHindihiछत्तीसगढ़ीChhattisgarhihneHrvatskiCroatianhrHornjoserbsceUpper SorbianhsbHaitian CreoleHaitian CreolehtMagyarHungarianhuՀայերենArmenianhyIndonesiaIndonesianidÌgbòIgboigInuinnaqtunInuinnaqtuniktÍslenskaIcelandicisItalianoItalianitᐃᓄᒃᑎᑐᑦInuktitutiuInuktitut (Latin)Inuktitut (Latin)iu-Latn日本語JapanesejaქართულიGeorgiankaҚазақ ТіліKazakhkkខ្មែរKhmerkmKurmancîKurdish (Northern)kmrಕನ್ನಡKannadakn한국어KoreankoكٲشُرKashmiriksکوردیی ناوەندیKurdish (Central)kuКыргызчаKyrgyzkyLëtzebuergeschLuxembourgishlbLingálaLingalalnລາວLaoloLietuviųLithuanianltLugandaGandalugLatviešuLatvianlv中文 (文言文)Chinese (Literary)lzhमैथिलीMaithilimaiMalagasyMalagasymgTe Reo MāoriMāorimiМакедонскиMacedonianmkമലയാളംMalayalammlМонгол хэлMongolian (Cyrillic)mn-Cyrlᠮᠣᠩᠭᠣᠯ ᠬᠡᠯᠡMongolian (Traditional)mn-MongমৈতৈলোনManipurimniमराठीMarathimrMelayuMalaymsMaltiMaltesemtHmong DawHmong Dawmwwမြန်မာMyanmar (Burmese)myNorsk BokmålNorwegian BokmålnbनेपालीNepalineNederlandsDutchnlSesotho sa LeboaSesotho sa LeboansoChinyanjaChichewanyaଓଡ଼ିଆOdiaorHñähñuQuerétaro OtomiotqਪੰਜਾਬੀPunjabipaPolskiPolishplدریDariprsپښتوPashtopsPortuguês (Brasil)Portuguese (Brazil)ptPortuguês (Portugal)Portuguese (Portugal)pt-PTRomânăRomanianroРусскийRussianruIkirundiRundirunKinyarwandaKinyarwandarwسنڌيSindhisdසිංහලSinhalasiSlovenčinaSlovakskSlovenščinaSlovenianslGagana SāmoaSamoansmchiShonaShonasnSoomaaliSomalisoShqipAlbaniansqСрпски (ћирилица)Serbian (Cyrillic)sr-CyrlSrpski (latinica)Serbian (Latin)sr-LatnSesothoSesothostSvenskaSwedishsvKiswahiliSwahiliswதமிழ்TamiltaతెలుగుTeluguteไทยThaithትግርTigrinyatiTürkmen DiliTurkmentkLea fakatongaTongantoTürkçeTurkishtrТатарTatarttReo TahitiTahitiantyئۇيغۇرچەUyghurugУкраїнськаUkrainianukاردوUrduurUzbek (Latin)Uzbek (Latin)uzTiếng ViệtVietnameseviisiXhosaisiXhosaxhÈdè YorùbáYorubayoYucatec MayaYucatec Mayayua粵語Cantonese (Traditional)yue中文 (简体)Chinese Simplifiedzh-Hans中文 (繁體)Chinese Traditionalzh-HantisiZuluisiZuluzu

YAML

Konfigurasi repositori

Ekspresikan default sekali dalam file konfigurasi repositori dan biarkan setiap alur kerja mewarisinya. Input aksi selalu menang ketika keduanya disediakan.

Di halaman ini

    Ganti jalur dengan input configPath jika Anda memerlukan lokasi non-default.

    Skema

    .github/resource-translator.yml
    # .github/resource-translator.yml
    sourceLocale: 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
    - es
    include:
    - "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 | html
    profanityAction: NoAction # NoAction | Marked | Deleted
    profanityMarker: 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: 5
    retryBackoffMs: 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: true
    customPlaceholderPatterns:
    - "<<.+?>>" # 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.*"

    Referensi bidang

    provider
    Tipe
    "azure" | "aws" | "google" | provider block

    Either 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
    Tipe
    string

    Kembali ke input sourceLocale jika tidak disetel. Juga diteruskan ke Penerjemah karena from=<locale> sehingga string pendek tidak terdeteksi secara otomatis.

    toLocales
    Tipe
    string[]

    Baik array atau string yang dipisahkan koma.

    include / exclude
    Tipe
    string[]

    Pola glob dievaluasi terhadap jalur absolut dan relatif ruang kerja.

    glossary
    Tipe
    map<string,string>

    Penggantian istilah pasca-terjemahan. Sadar batas kata (menangani C++, .NET).

    categoryId
    Tipe
    string

    Kategori Custom Translator Azure — kenop industri/domain Anda (nada hukum, medis, pemasaran, dll.). Dikirim sebagai ?category=....

    textType
    Tipe
    "plain" | "html"

    Default ke plain. Gunakan html hanya jika nilai resource Anda berisi fragmen HTML nyata.

    profanityAction
    Tipe
    "NoAction" | "Marked" | "Deleted"

    Bagaimana memperlakukan istilah tidak senonoh dalam keluaran terjemahan.

    profanityMarker
    Tipe
    "Asterisk" | "Tag"

    Hanya berarti ketika profanityAction "Marked".

    allowFallback
    Tipe
    boolean

    Atur ke false untuk gagal dalam terjemahan saat categoryId Anda tidak memiliki penyebaran untuk lokal target alih-alih kembali ke model umum.

    apiVersion
    Tipe
    string

    Versi REST API penerjemah. Default ke 3.0.

    awsFormality
    Tipe
    "FORMAL" | "INFORMAL"

    AWS Translate formality setting for supported target languages.

    awsBrevity
    Tipe
    boolean

    Set to true to enable AWS Translate brevity mode for supported language pairs.

    awsTerminologyNames / awsParallelDataNames
    Tipe
    string[]

    AWS Translate custom terminology and parallel data resource names. Either an array or comma-separated string.

    googleModel
    Tipe
    string

    Google Cloud Translation model, e.g. nmt or base.

    googleApiEndpoint
    Tipe
    string

    Optional Google Cloud Translation API endpoint override.

    googleAutoRetry
    Tipe
    boolean

    Optional Google Cloud Translation automatic retry toggle. Leave unset to use the Google client default.

    maxRetries
    Tipe
    integer

    Upaya coba ulang maksimum pada respons HTTP sementara (408, 425, 429, 500, 502, 503, 504). Default ke 5. Total panggilan HTTP per permintaan adalah 1 + maxRetries.

    retryBackoffMs
    Tipe
    integer

    Tutup (ms) pada satu tidur mundur. Default ke 30000. Header Retry-After Azure dihormati persis saat ada; jika tidak, backoff eksponensial yang gelisah digunakan, dibatasi pada nilai ini.

    protectPlaceholders
    Tipe
    boolean

    Default ke true. Saat aktif, token seperti entitas {{name}}, ${var}, {0}, {0:N2}, %s, %1$s, dan HTML diganti dengan token sentinel sebelum diterjemahkan dan dipulihkan setelahnya. Nonaktifkan hanya jika sumber sengaja berisi literal berbentuk placeholder.

    customPlaceholderPatterns
    Tipe
    string[]

    Pola regulex tambahan (tanpa pembatas) ditambahkan ke set placeholder default, misalnya <<.+?>> untuk sintaks token kustom. Regex yang tidak valid diabaikan.

    noTranslatePatterns
    Tipe
    string[]

    Pola glob cocok dengan kunci tingkat parser (jalur putus-putus JSON, name RESX, PO msgid, id unit XLIFF, kunci INI/restext). Kunci yang cocok dihapus dari permintaan dan diteruskan dengan nilai sumbernya dipertahankan.

    changeDetection
    Tipe
    "smart" | "disabled"

    Defaults 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.

    statePath
    Tipe
    string

    Path to the deterministic smart change-detection state manifest. Defaults to .github/resource-translator-state.json.

    Memuat pesanan

    1. Tindakan membaca input eksplisit dari alur kerja.
    2. Ini memuat konfigurasi YAML dari configPath.
    3. Untuk setiap bidang bersama, input menang; jika tidak, nilai YAML digunakan.
    4. Nilai yang digabungkan divalidasi. Enum yang tidak valid (misalnya profanityAction: Mask) menyebabkan tindakan gagal dengan cepat dengan pesan yang jelas.

    Nada dan industri, secara sederhana

    Azure AI Translator v3 API tidak memiliki kenop nada tunggal. Dua pengaturan digabungkan untuk memberi Anda sebagian besar kontrol yang sama:

    • Industri / domain: gunakan categoryId untuk menunjuk ke kategori Custom Translator Azure yang dilatih pada korpus Anda sendiri — hukum, teknis, medis, pemasaran, atau apa pun. Ini adalah tuas terkuat untuk nada, suara merek, dan kosakata.
    • Teks permukaan: Gunakan glosarium untuk mengunci nama merek dan istilah produk kata demi kata, dan gunakan profanityAction untuk menghapus istilah tidak senonoh saat menargetkan pelokalan untuk audiens yang lebih muda.