Passer au contenu

Langue

Choisissez votre langue

Passez à la même page dans une autre langue.

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

Histoire

Journal des modifications

Résumé général des sorties. Le journal des modifications canonique et faisant autorité se trouve en CHANGELOG.md dans le dépôt.

Sur cette page

    Voir CHANGELOG.md pour le compte rendu complet.

    Sorties

    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-fournisseurs : traduire avec Azure AI Translator, AWS Translate ou Google Cloud Translation derrière une surface API unifiée. Choisissez un seul fournisseur par run avec la nouvelle entrée provider ; l’action est déléguée au SDK correspondant derrière une usine et se comporte de la même manière quel que soit le fournisseur. Totalement rétrocompatible — provider par défaut sur azure, donc les flux de travail Azure existants continuent de fonctionner sans modification.
    • Nouveau fournisseur AWS Translate (@aws-sdk/client-translate). Authentifier avec la chaîne d’identifiants AWS par défaut (recommandée : OIDC via aws-actions/configure-aws-credentials) ou avec awsAccessKeyId / awsSecretAccessKey explicites ; la région via awsRegion ou AWS_REGION.
    • Nouveau fournisseur de traduction Google Cloud (@google-cloud/translate, v2). Authentifier avec un identifiant JSON de compte de service (googleCredentials) ou une clé API (googleApiKey) ; googleProjectId optionnel.
    • Nouvelles entrées : provider, awsAccessKeyId, awsSecretAccessKey, awsRegion, googleApiKey, googleCredentials, googleProjectId.
    • Mappage de spécification d’intention : textType correspond à la format de Google et profanityAction à AWS en masquant des jurons là où il existe un équivalent. Les spécificateurs uniquement Azure (categoryId, apiVersion, profanityMarker, allowFallback) sont ignorés par d’autres fournisseurs.
    • Les entrées de requêtes Azure (subscriptionKey, endpoint, region) ne sont plus marquées comme obligatoires dans action.yml afin que d’autres fournisseurs puissent être sélectionnés — toujours validés à l’exécution lorsque provider est azure.
    • Nouvelle page des fournisseurs de traduction, onglets fournisseurs sur Démarrage, sélection de fournisseurs sur la page Entrées, et une page d’accueil rafraîchie en début d’envoi par Azure, AWS et Google.

    3.0.2 —

    • Corrigé : Traducteur demande maintenant de api-version=3.0 sur le fil pour /translate et /languages. Le SDK Azure ne respecte l’option de version API au niveau client que lorsqu’une certification est transmise ; l’action authentifie chaque requête via des en-têtes, donc cette option a été silencieusement supprimée et les requêtes sont passées par défaut à une version API d’aperçu dont le contrat de /translate rejetait le corps avec HTTP 400 (code d’erreur 400074). Termine, la correction commencée en 3.0.1.

    3.0.1 —

    • Corrigé : Le corps de la requête /translate est désormais un tableau JSON nu de { text } items au lieu d’un objet { inputs } enveloppé, correspondant au contrat REST v3.0. Pris isolément, cela ne rétablissait pas les traductions — voir 3.0.2.

    3.0.0 —

    • Rendu à node24 durée (BREAKING).
    • Nouvelles entrées : include, exclude, configPath, categoryId, apiVersion, dryRun, failOnError, ainsi que les boutons avancés du traducteur textType, profanityAction, profanityMarker et allowFallback.
    • La localisation source est désormais également transférée vers le traducteur from=<locale> afin que les courtes chaînes ne soient pas détectées automatiquement.
    • Résilience : réessai automatique sur les réponses HTTP transitoires (408, 425, 429, 500, 502, 503, 504) honorant l’en-tête Retry-After d’Azure — revient à un retour exponentiel par jittered lorsqu’il est absent. Ajustable via maxRetries et retryBackoffMs. Clôture du #46.
    • Protection provisoire : des jetons comme {{name}}, ${var}, {0}, {0:N2}, %s, %1$s et HTML sont enveloppés dans des sentinelles avant la traduction puis restaurés ensuite, de sorte que Traducteur arrête de déformer i18next/Mustache/Handlebars/.NET/printf. Basculez via protectPlaceholders ; Prolongez avec customPlaceholderPatterns. Serre le #16.
    • Désinscription par clé : nouvelle entrée noTranslatePatterns supprime complètement les clés correspondantes de la requête Traducteur (préserve les valeurs sources des noms de marques, des codes d’erreur, etc.). Compare les motifs glob avec les clés de niveau analyseur (chemin pointillé JSON, name RESX, msgid PO, id d’unité XLIFF, clé INI/restext). Ferme le #35.
    • Configuration au niveau du dépôt via .github/resource-translator.yml.
    • Soutien au glossaire, résumé des étapes via core.summary.
    • Bundler esbuild, ESLint 9 configuration plate, Prettier, EditorConfig.
    • Audit NPM propre (0 vulnérabilité).
    • Site doc Astro + Tailwind v4 avec transitions de vue et Expressive Code.
    • Accessibilité des documents : WCAG 2.1 AA Pass. Les glyphes de logo sont convertis en chemins pour qu’ils ne manquent plus de contraste de couleur face aux arrêts de dégradé, le bouton Back to top flottant utilise inert en étant caché (au lieu d’un bascule aria-hidden qui le rendait tabable), formats.astro sections ne se heurtent plus avec leurs identifiants d’en-tête générés automatiquement, trois cartes de quartier exposent désormais des attributs de lang valides pour BCP-47 (nya→ny, lug→lg, run→rn), les doublons Documentation les labels de repère sont disambigués entre la barre latérale et le pied de page, et chaque table de données sur inputs/configuration est livrée avec une légende de lecteur d’écran.
    • Stylisme du code en ligne : prose documentaire <code> porte désormais l’accent à thème chaud/ambré — distinct de la palette d’accents → marque utilisée pour les liens et les titres.
    • Auto-fusion dépendabut, balayage CodeQL, matrice 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).