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é vit en CHANGELOG.md dans le dépôt.

Sur cette page

    Voir CHANGELOG.md pour le dossier 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 provider entrée; l’action est déléguée au SDK correspondant derrière une usine et se comporte de la même façon peu importe le fournisseur. Totalement rétrocompatible — provider par défaut est azure, donc les flux de travail Azure existants continuent de fonctionner sans changement.
    • Nouveau fournisseur AWS Translate (@aws-sdk/client-translate). Authentifier avec la chaîne d’identifiants par défaut AWS (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 optionnelle.
    • Nouvelles entrées : provider, awsAccessKeyId, awsSecretAccessKey, awsRegion, googleApiKey, googleCredentials, googleProjectId.
    • Mappage de spécificateur d’intention : textType correspond au format de Google et profanityAction correspond au masquage des jurons AWS là où il existe un équivalent. Les spécificateurs Azure uniquement (categoryId, apiVersion, profanityMarker, allowFallback) sont ignorés par d’autres fournisseurs.
    • Les entrées de requête Azure (subscriptionKey, endpoint, region) ne sont plus marquées comme requises dans action.yml afin que d’autres fournisseurs puissent être sélectionnés — toujours validées à l’exécution lorsque provider est azure.
    • Nouvelle page des fournisseurs de traduction, onglets fournisseurs sur Démarrage, sélection du fournisseur sur la page Entrées, et une page d’accueil rafraîchie en tête d’Azure, AWS et Google.

    3.0.2 —

    • Corrigé : demandes de traducteur épinglent maintenant 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’un identifiant est transmis; l’action authentifie chaque requête via des en-têtes, donc cette option a été silencieusement abandonné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 maintenant un tableau JSON nu de { text } items au lieu d’un objet { inputs } enveloppé, correspondant au contrat REST v3.0. À lui seul, cela ne restaurait pas les traductions — voir 3.0.2.

    3.0.0 —

    • Augmenté à node24 durée de jeu (BREAKS).
    • 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 maintenant aussi transférée vers le traducteur from=<locale> donc les courtes chaînes ne sont 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 jitter lorsqu’il est absent. Ajustable via maxRetries et retryBackoffMs. Ferme le #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 et restaurés ensuite, donc Traducteur arrête de déformer i18next/Mustache/Handlebars/.NET/printf. Basculez via protectPlaceholders; Prolonge-toi 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, codes d’erreur, etc.). Compare les motifs glob avec les clés de niveau analyseur (chemin pointillé JSON, name RESX, msgid PO, id unité XLIFF, clé INI/restext). Clôture le #35.
    • Configuration au niveau du dépôt via .github/resource-translator.yml.
    • Soutien au glossaire, résumé des étapes via core.summary.
    • esbuild bundler, ESLint 9 flat config, Prettier, EditorConfig.
    • Audit NPM propre (0 vulnérabilité).
    • Site de documentation Astro + Tailwind v4 avec transitions de vue et Expressive Code.
    • Accessibilité des documents : passe WCAG 2.1 AA. Les glyphes du logo sont convertis en chemins pour ne plus échouer en contraste colorimétrique avec les arrêts de dégradé, le bouton de Back to top flottant utilise inert lorsqu’il est caché (au lieu d’un bascule de aria-hidden qui le rendait tabable), formats.astro sections ne sont plus en collision avec leurs identifiants d’en-tête générés automatiquement, trois cartes de localisation exposent maintenant des attributs de lang valides pour BCP-47 (nya→ny, lug→lg, run→rn), les étiquettes dupliquées Documentation de points de repère sont disambiguïsées 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 en code en ligne : prose documentaire <code> porte maintenant l’accent à thème chaud/ambré — distinct de la palette d’accents → marque utilisée pour les liens et les titres.
    • Auto-fusion Dependabot, 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).