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

Sejarah

Log perubahan

Ringkasan rilis tingkat tinggi. Changelog kanonik dan otoritatif berada di CHANGELOG.md di repositori.

Di halaman ini

    Lihat CHANGELOG.md untuk catatan lengkapnya.

    Rilis

    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 —

    • Multi-vendor: menerjemahkan dengan Azure AI Translator, AWS Translate, atau Google Cloud Translation di balik satu permukaan API terpadu. Pilih satu penyedia per eksekusi dengan input provider baru; tindakan didelegasikan ke SDK yang cocok di belakang pabrik dan berperilaku identik terlepas dari vendornya. Sepenuhnya kompatibel dengan versi sebelumnya — provider default ke azure, sehingga alur kerja Azure yang ada tetap berfungsi tidak berubah.
    • Penyedia AWS Translate baru (@aws-sdk/client-translate). Autentikasi dengan rantai kredensial default AWS (disarankan: OIDC melalui aws-actions/configure-aws-credentials) atau awsAccessKeyId / awsSecretAccessKey eksplisit; wilayah melalui awsRegion atau AWS_REGION.
    • Penyedia Google Cloud Translation baru (@google-cloud/translate, v2). Autentikasi dengan kredensial JSON akun layanan (googleCredentials) atau kunci API (googleApiKey); googleProjectId opsional.
    • Input baru: provider, awsAccessKeyId, awsSecretAccessKey, awsRegion, googleApiKey, googleCredentials, googleProjectId.
    • Pemetaan penentu maksud: textType memetakan ke format Google dan peta profanityAction ke penyamaran kata-kata kotor AWS di mana ada yang setara. Penentu khusus Azure (categoryId, apiVersion, profanityMarker, allowFallback) diabaikan oleh penyedia lain.
    • Input permintaan Azure (subscriptionKey, endpoint, region) tidak lagi ditandai wajib dalam action.yml sehingga penyedia lain dapat dipilih — masih divalidasi saat runtime saat provider azure.
    • Halaman penyedia terjemahan baru, tab penyedia di Memulai, pemilihan penyedia di halaman Input, dan halaman beranda yang diperbarui yang mengarah dengan Azure, AWS, dan Google.

    3.0.2 —

    • Diperbaiki: Permintaan Penerjemah sekarang menyematkan api-version=3.0 pada kabel untuk /translate dan /languages. Azure SDK hanya menghormati opsi versi api tingkat klien saat kredensial diteruskan; tindakan mengautentikasi per permintaan melalui header, sehingga opsi itu diam-diam dihilangkan dan permintaan default ke versi API pratinjau yang kontrak /translate-nya menolak isi dengan HTTP 400 (kode kesalahan 400074). Menyelesaikan perbaikan yang dimulai di 3.0.1.

    3.0.1 —

    • Diperbaiki: Isi permintaan /translate sekarang menjadi array JSON kosong dari item { text }, bukan objek { inputs } yang dibungkus, cocok dengan kontrak REST v3.0. Dengan sendirinya ini tidak memulihkan terjemahan — lihat 3.0.2.

    3.0.0 —

    • Menabrak ke node24 runtime (MEMECAHKAN).
    • Input baru: include, exclude, configPath, categoryId, apiVersion, dryRun, failOnError, ditambah kenop Penerjemah tingkat lanjut textType, profanityAction, profanityMarker, dan allowFallback.
    • Lokal sumber sekarang juga diteruskan ke Penerjemah karena from=<locale> sehingga string pendek tidak terdeteksi secara otomatis.
    • Ketahanan: percobaan ulang otomatis pada respons HTTP sementara (408, 425, 429, 500, 502, 503, 504) yang menghormati header Retry-After Azure — kembali ke backoff eksponensial yang gelisah saat tidak ada. Dapat disetel melalui maxRetries dan retryBackoffMs. Menutup #46.
    • Token Perlindungan placeholder: seperti entitas {{name}}, ${var}, {0}, {0:N2}, %s, %1$s, dan HTML dibungkus dalam penjaga sebelum diterjemahkan dan dipulihkan setelahnya, sehingga Penerjemah berhenti merusak placeholder i18next/Mustache/Handlebars/.NET/printf. Beralih melalui protectPlaceholders; memperluas dengan customPlaceholderPatterns. Mengencangkan #16.
    • Penolakan per kunci: input noTranslatePatterns baru akan menghapus kunci yang cocok dari permintaan Penerjemah sepenuhnya (mempertahankan nilai sumber untuk nama merek, kode kesalahan, dll.). Mencocokkan pola glob dengan kunci tingkat parser (jalur putus-putus JSON, name RESX, PO msgid, id unit XLIFF, kunci INI/restext). Tutup #35.
    • Konfigurasi tingkat repositori melalui .github/resource-translator.yml.
    • Dukungan glosarium, ringkasan langkah melalui core.summary.
    • esbuild bundler, ESLint 9 konfigurasi datar, Prettier, EditorConfig.
    • Audit NPM bersih (0 kerentanan).
    • Situs dokumen Astro + Tailwind v4 dengan transisi tampilan dan Kode Ekspresif.
    • Aksesibilitas dokumen: WCAG 2.1 AA lulus. Mesin terbang logo dikonversi menjadi jalur sehingga tidak lagi gagal kontras warna terhadap penghentian gradien, tombol Back to top mengambang menggunakan inert saat tersembunyi (alih-alih sakelar aria-hidden yang membuatnya dapat ditab), bagian formats.astro tidak lagi bertabrakan dengan ID judul yang dibuat secara otomatis, tiga kartu lokal sekarang mengekspos atribut lang yang valid BCP-47 (nya→ny, lug→lg, run→rn), label landmark duplikat Documentation didisambiguasi antara bilah sisi dan footer, dan setiap tabel data di inputs/configuration dikirimkan dengan keterangan pembaca layar.
    • Gaya kode sebaris: <code> prosa docs sekarang mengenakan aksen tema hangat/kuning — berbeda dari palet aksen →merek yang digunakan untuk tautan dan judul.
    • Penggabungan otomatis Dependabot, pemindaian CodeQL, matriks 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).