Vegeu CHANGELOG.md per a l'expedient complet.
Llançaments
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-venedor: tradueixen amb Azure AI Translator, AWS Translate o Google Cloud Translation darrere d'una sola superfície d'API unificada. Tria un únic proveïdor per partida amb la nova entrada
provider; l'acció delega al SDK corresponent darrere d'una fàbrica i es comporta de manera idèntica independentment del proveïdor. Totalment compatible amb versions anteriors —providerper defecte aazure, així que els fluxos de treball existents d'Azure continuen funcionant sense canvis. - Nou proveïdor AWS Translate (
@aws-sdk/client-translate). Autentica amb la cadena de credencials per defecte d'AWS (recomanada: OIDC via aws-actions/configure-aws-credentials) o ambawsAccessKeyIdexplícit /awsSecretAccessKey; a través deawsRegionoAWS_REGION. - Nou proveïdor de traducció al núvol de Google (
@google-cloud/translate, v2). Autenticar amb una credencial JSON de compte de servei (googleCredentials) o una clau API (googleApiKey); opcionalgoogleProjectId. - Noves entrades:
provider,awsAccessKeyId,awsSecretAccessKey,awsRegion,googleApiKey,googleCredentials,googleProjectId. - Mapeig d'especificació d'intenció:
textTypemapes alformatde Google iprofanityActionmapes a l'enmascarament de paraulotes d'AWS on existeix un equivalent. Els especificadors només d'Azure (categoryId,apiVersion,profanityMarker,allowFallback) són ignorats per altres proveïdors. - Les entrades de sol·licitud d'Azure (
subscriptionKey,endpoint,region) ja no es marquen com a requerides enaction.ymlperquè es puguin seleccionar altres proveïdors — encara validades en temps d'execució quanproviderestàazure. - Nova pàgina de proveïdors de traducció, pestanyes de proveïdors a Com començar, selecció de proveïdors a la pàgina d'Entrades, i una pàgina d'inici actualitzada que comença amb Azure, AWS i Google.
3.0.2 —
- Solucionat: Sol·licituds del traductor ara fixen
api-version=3.0al cable tant per a/translatecom per a/languages. L'Azure SDK només respecta l'opció de versió de l'API a nivell de client quan es passa una credencial; l'acció autentica per petició mitjançant capçaleres, així que aquesta opció es va eliminar silenciosament i les sol·licituds van passar per defecte a una versió de previsualització de l'API el contracte de la qual/translaterebutjava el cos amb HTTP 400 (codi d'error400074). Completa la correcció que va començar a la 3.0.1.
3.0.1 —
- Solucionat: El cos de la petició
/translateara és una matriu JSON nua de{ text }elements en lloc d'un objecte{ inputs }embolcallat, que coincideix amb el contracte REST v3.0. Per si sol, això no restaurava les traduccions — vegeu 3.0.2.
3.0.0 —
- Ha passat a
node24durada (TRENCAMENT). - Entrades noves:
include,exclude,configPath,categoryId,apiVersion,dryRun,failOnError, a més de botons avançats del traductortextType,profanityAction,profanityMarkeriallowFallback. - La localització d'origen ara també es reenvia al traductor com a
from=<locale>de manera que les cadenes curtes no es detectin automàticament. - Resiliència: reintent automàtic en respostes HTTP transitories (
408, 425, 429, 500, 502, 503, 504) que respecta la capçaleraRetry-Afterd'Azure — torna a un retrocés exponencial amb jittered quan no existeix. Ajustable viamaxRetriesiretryBackoffMs. Tanca el #46. - Protecció provisional: tokens com
{{name}},${var},{0},{0:N2},%s,%1$si HTML s'embolcallen en sentinelles abans de la traducció i es restauren després, de manera que el traductor deixa de malmetre els marcadors i18next/Mustache/Handlebars/.NET/printf. Canvia viaprotectPlaceholders; Amplia ambcustomPlaceholderPatterns. Tensa el #16. - Exclusió per clau: nova entrada de
noTranslatePatternselimina completament les claus coincidents de la petició del Traductor (preserva els valors font dels noms de marques, codis d'error, etc.). Fa coincidir patrons glob amb claus a nivell d'analitzador (JSON doted path, RESXname, POmsgid, unitat XLIFFid, clau INI/restext). Tanca el #35. - Configuració a nivell de repositori via
.github/resource-translator.yml. - Suport al glossari, resum dels passos via
core.summary. - esbuild bundler, ESLint 9 flat config, Pretier, EditorConfig.
- Auditoria NPM neta (0 vulnerabilitats).
- Lloc de documentació d'Astro + Tailwind v4 amb transicions de visualització i Expressive Code.
- Accessibilitat a la documentació: aprovat WCAG 2.1 AA. Els glifs del logotip es converteixen en camins perquè ja no fallin el contrast de color contra els tops de degradat, el botó de
Back to topflotant utilitzainertmentre està ocult (en lloc d'un interruptor dearia-hiddenque el deixava tabable),formats.astroseccions ja no xoquen amb els seus IDs d'encapçalaments generats automàticament, tres targetes locals ara exposen atributs delangvàlids BCP-47 (nya→ny,lug→lg,run→rn), les etiquetes duplicadesDocumentationde punts de referència es desambiguen entre la barra lateral i el peu de pàgina, i totes les taules de dades deinputs/configurations'envien amb un peu de foto per a lector de pantalla. - Estil de codi en línia: prosa documental
<code>ara porta l'accent càlid/ambre — diferent de la paleta d'accents → marca utilitzada per enllaços i encapçalaments. - Auto-fusió de dependents, escaneig CodeQL, matriu 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).