跳至內容

語言

選擇你的語言

切換到其他語言的同一頁面。

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

歷史

更新日誌

發布的高層次摘要。正統且權威的變更日誌存放在倉庫 CHANGELOG.md 中。

本頁

    完整紀錄請參見CHANGELOG.md

    發行作品

    3.2.0 —

    • Smart change detection now defaults to smart: a compact provider-neutral state manifest (.github/resource-translator-state.json) tracks parser keys, source hashes, target hashes, and translation-affecting settings so only changed or missing keys are sent to the selected provider. Use changeDetection=disabled or false for legacy always-translate behavior, statePath to relocate the manifest, and snapshotOnly to bootstrap the manifest from existing target files without calling a provider. The same release adds nested {provider} blocks, AWS/Google-native behavior knobs, narrow-friendly reference cards, and official provider-doc links. Key-level audit rule codes are logged for every decision.

    3.1.0 —

    • 多供應商:透過Azure AI Translator、AWS Translate或Google Cloud Translation在統一的 API 表面下進行轉換。每次執行選擇一位提供者,使用新的provider輸入;這個動作會委派給工廠後方的相符 SDK,且無論廠商為何,行為都相同。完全向下相容——provider預設為 azure,因此現有的 Azure 工作流程能保持不變。
    • 新的 AWS 翻譯供應商(@aws-sdk/client-translate)。使用 AWS 預設憑證鏈(建議:透過 aws-actions/configure-aws-credentials OIDC)或明確的 awsAccessKeyId/awsSecretAccessKey 來驗證;區域可透過awsRegionAWS_REGION
    • 新的 Google Cloud 翻譯服務提供者(@google-cloud/translate,v2)。使用服務帳號 JSON 憑證(googleCredentials)或 API 金鑰(googleApiKey)進行驗證;可選googleProjectId
    • 新輸入:providerawsAccessKeyIdawsSecretAccessKeyawsRegiongoogleApiKeygoogleCredentialsgoogleProjectId
    • 意圖-指定符映射: textType對應到 Google 的formatprofanityAction對應到 AWS 的髒話遮蔽,因為那裡有類似的保護。僅 Azure 的指定符(categoryIdapiVersionprofanityMarkerallowFallback)則被其他提供者忽略。
    • Azure 請求輸入(subscriptionKeyendpointregion)在 action.yml 中不再標記為「必需」,因此可以選擇其他提供者——當provider azure時,仍會被驗證。
    • 新增翻譯服務提供者頁面、開始服務分頁、輸入頁面的提供者選擇,以及以 Azure、AWS 和 Google 為首的全新首頁。

    3.0.2 —

    • 修正:轉播器請求現在會同時在線路上/translate/languages都用 api-version=3.0 針腳。Azure SDK 只有在傳遞憑證時才會尊重用戶端層級的 API 版本選項;該動作透過標頭為每個請求進行認證,因此該選項被悄悄放棄,請求預設為預覽版 API 版本,該 /translate 契約以 HTTP 400(錯誤代碼 400074)拒絕了該正文。完成了從 3.0.1 開始的修正。

    3.0.1 —

    • 修正: /translate請求主體現在是一個裸 JSON 陣列,包含 { text } 項目,而非一個包裹的 { inputs } 物件,與 v3.0 REST 合約相符。單獨此功能無法恢復翻譯——詳見 3.0.2。

    3.0.0 —

    • 被調到node24運行時間(破碎)。
    • 新增輸入:includeexcludeconfigPathcategoryIdapiVersiondryRunfailOnError,以及進階的翻譯旋鈕textTypeprofanityActionprofanityMarkerallowFallback
    • 來源位置現在也會像 from=<locale> 一樣轉發到 Translator,這樣短字串就不會自動偵測到。
    • 韌性: 在 Azure Retry-After標頭的臨時 HTTP 回應(408, 425, 429, 500, 502, 503, 504)自動重試,缺席時會退回抖動指數式退縮。可透過maxRetriesretryBackoffMs調整。關閉 #46。
    • 佔位保護: 代幣像是 {{name}}${var}{0}{0:N2}%s%1$s 和 HTML 實體,在翻譯前會被 sentinels 包裹,翻譯後會恢復,所以 Translator 不會再搞亂 i18next/Mustache/Handlebars/.NET/printf 佔位符。透過protectPlaceholders切換;延伸customPlaceholderPatterns收緊 #16。
    • 按金鑰選擇退出:新的noTranslatePatterns輸入會完全從翻譯器請求中移除匹配的鍵(保留品牌名稱、錯誤代碼等的原始值)。將 glob 模式與解析器層級的鍵(JSON 點線路徑、RESX name、PO msgid、XLIFF 單位id、INI/重文本鍵)匹配。關閉#35。
    • 透過 .github/resource-translator.yml 進行倉庫層級設定。
    • 詞彙表支援,步驟摘要可透過core.summary
    • esbuild bundler、ESLint 9 flat config、Prettier、EditorConfig.
    • NPM 審計清潔(0 漏洞)。
    • Astro + Tailwind v4 文件網站,附有視圖轉換和表達式程式碼。
    • 文件的可及性: WCAG 2.1 AA 通行證。標誌字形轉換為路徑,使其不再因漸層阻擋而失色,浮動Back to top按鈕隱藏時使用inert(取代aria-hidden切換,保持分頁),formats.astro區塊不再與自動產生的標題 ID 碰撞,三張區域卡顯示符合 BCP-47 的 lang 屬性(nya→nylug→lgrun→rn),重複的Documentation地標標籤在側邊欄與頁尾間進行消歧, inputs/configuration 上的每個資料表都附有螢幕閱讀器說明。
    • 內嵌程式碼樣式設計: Docs 的散文<code>現在採用溫暖/琥珀色主題的強調——與品牌→用於連結和標題的口音調色不同。
    • Dependabot 自動合併、CodeQL 掃描、CI 矩陣。

    2.2.1 —

    • Security: bumped axios (1.4.0 → 1.6.0), @babel/traverse, semver, and tough-cookie/@azure/ms-rest-js to clear Dependabot alerts.

    2.2.0 —

    • Maintenance release (dependency and dist refresh).

    2.1.9 —

    • Dependency upgrades (including xml2js 0.4.23 → 0.5.0) and a refreshed dist build.

    2.1.8 —

    • Security: bumped follow-redirects, node-fetch, decode-uri-component, minimist, ansi-regex, jsdom, json5, minimatch, and @actions/core (1.2.6 → 1.9.1).

    2.1.7 —

    • Use a different delimiter when building the translation map so keys containing the previous separator are handled correctly (#36).
    • Fixes #32.

    2.1.6 —

    • Assorted bug fixes and improved logging.

    2.1.5 —

    • Fix an issue with file names containing four segments.

    2.1.4 —

    • Added a JSON parser and .json file support.
    • Fix batching bug (#18).

    2.1.3 —

    • Maintenance release.

    2.1.2 —

    • Fixes #15.

    2.1.1 —

    • Fix the generated step summary.

    2.1.0 —

    • Support for additional resource file formats beyond .resx: .ini, .po, .restext, and .xliff.

    2.0.4 —

    • Maintenance release.

    2.0.3 —

    • Fixes a batching bug and other related issues.

    2.0.2 —

    • File filtering to limit excessive translations.
    • Batching of the translate API call to avoid rate limiting.

    2.0.1 —

    • New action outputs: has-new-translations, summary-title, and summary-details.
    • Fix a bug where an error was logged but the action failure was not set.

    2.0.0 —

    • First official, fully functional and verified release.

    1.0.1 —

    • Build release.

    1.0.0 —

    • Initial release of the Azure AI Translator resource action (.resx support).

    0.0.x —

    • Initial prototype pre-releases (tags 0.01–0.09).