내용으로 건너뛰기

언어

언어를 선택하세요

다른 언어로 된 같은 페이지로 전환하세요.

English English en Afrikaans Afrikaans af አማርኛ Amharic am العربية Arabic ar অসমীয়া Assamese as Azərbaycan Azerbaijani az Башҡорт Bashkir ba Български Bulgarian bg भोजपुरी Bhojpuri bho বাংলা Bangla bn བོད་སྐད་ Tibetan bo बड़ो Bodo brx Bosanski Bosnian bs Català Catalan ca Čeština Czech cs Cymraeg Welsh cy Dansk Danish da Deutsch German de डोगरी Dogri doi Dolnoserbšćina Lower Sorbian dsb ދިވެހިބަސް Divehi dv Ελληνικά Greek el Español Spanish es Eesti Estonian et Euskara Basque eu فارسی Persian fa Suomi Finnish fi Filipino Filipino fil Vakaviti Fijian fj Føroyskt Faroese fo Français French fr Français (Canada) French (Canada) fr-CA Gaeilge Irish ga Galego Galician gl कोंकणी Konkani gom ગુજરાતી Gujarati gu Hausa Hausa ha עברית Hebrew he हिन्दी Hindi hi छत्तीसगढ़ी Chhattisgarhi hne Hrvatski Croatian hr Hornjoserbsce Upper Sorbian hsb Haitian Creole Haitian Creole ht Magyar Hungarian hu Հայերեն Armenian hy Indonesia Indonesian id Ìgbò Igbo ig Inuinnaqtun Inuinnaqtun ikt Íslenska Icelandic is Italiano Italian it ᐃᓄᒃᑎᑐᑦ Inuktitut iu Inuktitut (Latin) Inuktitut (Latin) iu-Latn 日本語 Japanese ja ქართული Georgian ka Қазақ Тілі Kazakh kk ខ្មែរ Khmer km Kurmancî Kurdish (Northern) kmr ಕನ್ನಡ Kannada kn 한국어 Korean ko كٲشُر Kashmiri ks کوردیی ناوەندی Kurdish (Central) ku Кыргызча Kyrgyz ky Lëtzebuergesch Luxembourgish lb Lingála Lingala ln ລາວ Lao lo Lietuvių Lithuanian lt Luganda Ganda lug Latviešu Latvian lv 中文 (文言文) Chinese (Literary) lzh मैथिली Maithili mai Malagasy Malagasy mg Te Reo Māori Māori mi Македонски Macedonian mk മലയാളം Malayalam ml Монгол хэл Mongolian (Cyrillic) mn-Cyrl ᠮᠣᠩᠭᠣᠯ ᠬᠡᠯᠡ Mongolian (Traditional) mn-Mong মৈতৈলোন Manipuri mni मराठी Marathi mr Melayu Malay ms Malti Maltese mt Hmong Daw Hmong Daw mww မြန်မာ Myanmar (Burmese) my Norsk Bokmål Norwegian Bokmål nb नेपाली Nepali ne Nederlands Dutch nl Sesotho sa Leboa Sesotho sa Leboa nso Chinyanja Chichewa nya ଓଡ଼ିଆ Odia or Hñähñu Querétaro Otomi otq ਪੰਜਾਬੀ Punjabi pa Polski Polish pl دری Dari prs پښتو Pashto ps Português (Brasil) Portuguese (Brazil) pt Português (Portugal) Portuguese (Portugal) pt-PT Română Romanian ro Русский Russian ru Ikirundi Rundi run Kinyarwanda Kinyarwanda rw سنڌي Sindhi sd සිංහල Sinhala si Slovenčina Slovak sk Slovenščina Slovenian sl Gagana Sāmoa Samoan sm chiShona Shona sn Soomaali Somali so Shqip Albanian sq Српски (ћирилица) Serbian (Cyrillic) sr-Cyrl Srpski (latinica) Serbian (Latin) sr-Latn Sesotho Sesotho st Svenska Swedish sv Kiswahili Swahili sw தமிழ் Tamil ta తెలుగు Telugu te ไทย Thai th ትግር Tigrinya ti Türkmen Dili Turkmen tk Lea fakatonga Tongan to Türkçe Turkish tr Татар Tatar tt Reo Tahiti Tahitian ty ئۇيغۇرچە Uyghur ug Українська Ukrainian uk اردو Urdu ur Uzbek (Latin) Uzbek (Latin) uz Tiếng Việt Vietnamese vi isiXhosa isiXhosa xh Èdè Yorùbá Yoruba yo Yucatec Maya Yucatec Maya yua 粵語 Cantonese (Traditional) yue 中文 (简体) Chinese Simplified zh-Hans 中文 (繁體) Chinese Traditional zh-Hant isiZulu isiZulu zu

야심

저장소 구성

저장소 설정 파일에서 한 번 기본값을 표현하고 모든 워크플로우가 이를 상속하도록 하세요. 행동 입력이 항상 이기는 것은 두 가지 모두가 제공될 때입니다.

이 페이지에서

    기본 위치가 아닌 위치가 필요하면 configPath 입력으로 경로를 덮어쓰세요.

    스키마

    .github/resource-translator.yml
    # .github/resource-translator.yml
    sourceLocale: en
    toLocales:
    - fr
    - de
    - es
    include:
    - "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 | html
    profanityAction: NoAction # NoAction | Marked | Deleted
    profanityMarker: 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: 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.*"

    현장 참조

    구성 필드 참조
    필드 유형 주석
    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" "Marked" profanityAction 때만 의미가 있습니다.
    allowFallback boolean false 설정해 categoryId가 대상 로케이지에 배포되지 않을 때 변환 실패로 설정하세요. 일반 모델로 되돌아가는 대신에요.
    apiVersion string 번역기 REST API 버전. 기본값은 3.0입니다.
    maxRetries integer 일시적인 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[] 기본 자리 표시자 집합에 추가된 추가 정규 표현 패턴(예: <<.+?>> 사용자 지정 토큰 구문을 위한 것). 유효하지 않은 정식은 무시합니다.
    noTranslatePatterns string[] 글롭 패턴은 파서 레벨 키(JSON 점선 경로, RESX name, PO msgid, XLIFF 단위 id, INI/restext 키)와 일치합니다. 일치하는 키는 요청에서 제외되고 소스 값이 보존된 상태로 통과됩니다.

    적재 순서

    1. 이 액션은 워크플로우에서 명시적인 입력을 읽습니다.
    2. configPath에서 YAML 설정을 불러와요.
    3. 모든 필드가 공유될 때마다, 입력이 승리합니다; 그렇지 않으면 YAML 값을 사용합니다.
    4. 병합된 값들이 검증됩니다. 유효하지 않은 열거(예: profanityAction: Mask)는 행동이 빠르게 실패하고 메시지가 명확하게 전달됩니다.

    간단히 말해, 톤과 인내심을 말해줍니다

    Azure AI Translator v3 API에는 단일 톤 노브가 없습니다. 두 가지 설정을 결합하면 대부분의 제어가 가능합니다:

    • 산업 / 분야: categoryId 사용해 자신의 말뭉치로 학습된 Azure Custom Translator 카테고리를 가리키세요 — 법률, 기술, 의료, 마케팅 등 어떤 분야든 말입니다. 이것이 톤, 브랜드 목소리, 어휘를 결정하는 가장 강력한 지렛대입니다.
    • 표면 텍스트: 용어집를 사용해 브랜드명과 제품 용어를 그대로 잠가고, 젊은 층을 위한 현지화 타겟팅 시 profanityAction 욕설을 삭제하세요.