Vezi CHANGELOG.md pentru înregistrarea completă.
Lansări
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. UsechangeDetection=disabledorfalsefor legacy always-translate behavior,statePathto relocate the manifest, andsnapshotOnlyto 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-furnizor: traduce cu Azure AI Translator, AWS Translate sau Google Cloud Translation în spatele unei singure suprafețe API unificate. Alege un singur furnizor pe fiecare rundă cu noua
providerde intrare; acțiunea delegă către SDK-ul corespunzător din spatele unei fabrici și se comportă identic indiferent de furnizor. Complet compatibil înapoi —providerimplicit peazure, astfel încât fluxurile de lucru Azure existente continuă să funcționeze neschimbate. - Noul furnizor AWS Translate (
@aws-sdk/client-translate). Autentifică cu lanțul implicit de acreditări AWS (recomandat: OIDC prin aws-actions/configure-aws-credentials) sau cuawsAccessKeyIdexplicit /awsSecretAccessKey; prinawsRegionsauAWS_REGION. - Noul furnizor de traduceri Google Cloud (
@google-cloud/translate, v2). Autentificare cu o acreditare JSON a contului de serviciu (googleCredentials) sau o cheie API (googleApiKey); opționalgoogleProjectId. - Intrări noi:
provider,awsAccessKeyId,awsSecretAccessKey,awsRegion,googleApiKey,googleCredentials,googleProjectId. - Maparea specificatorului de intenție:
textTypese mapează laformatGoogle șiprofanityActionla mascarea limbajului vulgar AWS acolo unde există un echivalent. Specificatorii doar Azure (categoryId,apiVersion,profanityMarker,allowFallback) sunt ignorați de alți furnizori. - Intrările de cerere Azure (
subscriptionKey,endpoint,region) nu mai sunt marcate ca fiind obligatorii înaction.ymlastfel încât alți furnizori pot fi selectați — încă validate la rulare cândprovideresteazure. - Pagina nouă de furnizori de traduceri, tab-uri pentru furnizori la Început, selecția furnizorului pe pagina Inputs și o pagină principală reîmprospătată care deschide cu Azure, AWS și Google.
3.0.2 —
- Fix: cererile traducătorului fixează acum
api-version=3.0pe fir atât pentru/translate, cât și pentru/languages. Azure SDK respectă opțiunea de versiune API la nivel de client doar atunci când o acreditare este transmisă; acțiunea se autentifică pentru fiecare cerere prin antete, astfel încât acea opțiune a fost abandonată în tăcere, iar cererile au trecut implicit la o versiune API de previzualizare al cărei contract de/translatea respins corpul cu HTTP 400 (cod de eroare400074). Finalizează corecția începută în 3.0.1.
3.0.1 —
- Fix: Corpul cererii
/translateeste acum un array JSON gol de{ text }elemente, în loc de un obiect{ inputs }înfășurat, corespunzând contractului REST v3.0. De unul singur, acest lucru nu restaura traducerile — vezi 3.0.2.
3.0.0 —
- A trecut la
node24timp de funcționare (BREAK-UP). - Intrări noi:
include,exclude,configPath,categoryId,apiVersion,dryRun,failOnError, plus butoane avansate de traduceretextType,profanityAction,profanityMarkerșiallowFallback. - Localitatea sursă este acum redirecționată și către Translator ca
from=<locale>astfel încât șirurile scurte să nu fie detectate automat. - Reziliență: reîncercare automată la răspunsurile HTTP tranzitorii (
408, 425, 429, 500, 502, 503, 504) care respectă antetulRetry-AfterAzure — revine la un backoff exponențial tremurat când lipsește. Poate fi reglat prinmaxRetriesșiretryBackoffMs. Închide #46. - Protecție provizorie: tokenuri precum
{{name}},${var},{0},{0:N2},%s,%1$sși entități HTML sunt înfășurate în sentinele înainte de traducere și restaurate ulterior, astfel încât Translator încetează să mai strice i18next/Mustache/Handlebars/.NET/printf. Comută prinprotectPlaceholders; Extindeți cucustomPlaceholderPatterns. Strânge #16. - Renunțare pe cheie: intrare
noTranslatePatternsnouă elimină complet cheile corespunzătoare din cererea Translator (păstrează valorile sursă pentru numele de brand, codurile de eroare etc.). Potrivește modelele glob cu cheile la nivel de parser (JSON doted path, RESXname, POmsgid, XLIFF unitid, INI/restext key). Închide #35. - Configurare la nivel de repository prin
.github/resource-translator.yml. - Suport pentru glosar, rezumat al pașilor prin
core.summary. - esbuild bundler, ESLint 9 flat config, Prettier, EditorConfig.
- Audit NPM curat (0 vulnerabilități).
- Site de documentație Astro + Tailwind v4 cu tranziții de vizualizare și Expressive Code.
- Accesibilitatea documentelor: WCAG 2.1 AA Pass. Glifele logo-ului au fost convertite în căi astfel încât să nu mai eșueze contrastul de culoare cu opririle de gradient, butonul de
Back to topplutitor foloseșteinertcând sunt ascunse (în loc de un comutatoraria-hiddencare îl lăsa tababil),formats.astrosecțiuni nu mai intră în coliziune cu ID-urile de titluri generate automat, trei carduri de localizare expun acum atribute delangvalide BCP-47 (nya→ny,lug→lg,run→rn), etichetele duplicateDocumentationrepere sunt dezambiguizate între bara laterală și subsol, iar fiecare tabel de date de peinputs/configurationvine cu o legendă de cititor de ecran. - Proza Stilizarea codului inline: documentară
<code>poartă acum accentul tematic cald/chihlimbar — distinct de paleta → accente de brand folosită pentru linkuri și titluri. - Dependabot auto-merge, scanare 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).