Siehe CHANGELOG.md für das vollständige Protokoll.
Veröffentlichungen
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-Anbieter: mit Azure AI Translator, AWS Translate oder Google Cloud Translation hinter einer einheitlichen API-Oberfläche übersetzen. Wähle pro Durchlauf einen einzelnen Anbieter mit dem neuen
providerInput; die Aktion delegiert an das passende SDK hinter einer Fabrik und verhält sich unabhängig vom Anbieter identisch. Vollständig abwärtskompatibel –providersteht standardmäßig aufazure, sodass bestehende Azure-Workflows unverändert funktionieren. - Neuer AWS Translate-Anbieter (
@aws-sdk/client-translate). Authentifiziere dich mit der AWS-Standard-Credential-Kette (empfohlen: OIDC via aws-actions/configure-aws-credentials) oder explizitawsAccessKeyId/awsSecretAccessKey; Region überawsRegionoderAWS_REGION. - Neuer Google Cloud Translation-Anbieter (
@google-cloud/translate, v2). Authentifizieren Sie sich mit einer JSON-Zugangsdaten für ein Servicekonto (googleCredentials) oder einem API-Schlüssel (googleApiKey); OptionalegoogleProjectId. - Neue Eingaben:
provider,awsAccessKeyId,awsSecretAccessKey,awsRegion,googleApiKey,googleCredentials,googleProjectId. - Intent-Specifier-Mapping:
textTypeMaps zu GooglesformatundprofanityActionzu AWS-Fluchmasking, wo ein Äquivalent existiert. Nur Azure-spezifische Spezifikationen (categoryId,apiVersion,profanityMarker,allowFallback) werden von anderen Anbietern ignoriert. - Azure-Anforderungseingaben (
subscriptionKey,endpoint,region) sind inaction.ymlnicht mehr als erforderlich markiert, sodass andere Anbieter ausgewählt werden können – sie werden zur Laufzeit weiterhin validiert, wennproviderazureist. - Neue Übersetzungsanbieter-Seite, Reiter für Anbieter auf Starten, Anbieter auswählen auf der Eingabeseite und eine aktualisierte Startseite, die mit Azure, AWS und Google führt.
3.0.2 —
- Behoben: Übersetzer-Anfragen pinnen
api-version=3.0nun sowohl für/translateals auch für/languagesauf die Leitung. Das Azure SDK akzeptiert die Client-Level-API-Version nur, wenn eine Zugangsdaten weitergegeben wird; die Aktion authentifiziert sich pro Anfrage über Header, sodass diese Option stillschweigend verworfen wurde und Anfragen standardmäßig auf eine Vorschau-API-Version umgestellt wurden, deren/translateVertrag den Body mit HTTP 400 (Fehlercode400074) ablehnte. Es ist abgeschlossen, der Fix startete in 3.0.1.
3.0.1 —
- Behoben: Der
/translate-Anforderungskörper ist nun ein nacktes JSON-Array aus{ text }Items statt eines gewrapten{ inputs }Objekts, das dem v3.0 REST-Vertrag entspricht. Allein stellte dies die Übersetzungen nicht wieder her – siehe 3.0.2.
3.0.0 —
- Auf
node24Laufzeit (BRUCH). - Neue Eingänge:
include,exclude,configPath,categoryId,apiVersion,dryRun,failOnErrorsowie die erweiterten Übersetzer-ReglertextType,profanityAction,profanityMarkerundallowFallback. - Der Quellort wird nun auch als
from=<locale>an den Übersetzer weitergeleitet, sodass kurze Zeichenketten nicht automatisch erkannt werden. - Resilienz: automatische Wiederholung bei transienten HTTP-Antworten (
408, 425, 429, 500, 502, 503, 504), die AzuresRetry-After-Header berücksichtigen – greift bei fehlendem Fehlen auf jitteres exponentielles Backoff zurück. Abstellbar übermaxRetriesundretryBackoffMs. Schluss #46. - Platzhalterschutz: Token wie
{{name}},${var},{0},{0:N2},%s,%1$sund HTML-Entitäten werden vor der Übersetzung in Sentinels eingewickelt und danach wiederhergestellt, sodass der Übersetzer aufhört, i18next/Mustache/Handlebars/.NET/printf Platzhalter zu verzerren. Umschalten überprotectPlaceholders; Erstrecke dich mitcustomPlaceholderPatterns. Zieht #16 fest. - Opt-out pro Schlüssel: neue
noTranslatePatternsEingabe verzichtet komplett auf passende Schlüssel aus der Übersetzeranfrage (bewahrt Quellwerte für Markennamen, Fehlercodes usw.). Glich Glob-Muster mit Parser-Level-Schlüsseln ab (JSON-Punktpfad, RESXname, POmsgid, XLIFF-Einheitid, INI/Restext-Tast). Schließt #35. - Repo-Level-Konfiguration über
.github/resource-translator.yml. - Glossar-Unterstützung, Schritt-Zusammenfassung über
core.summary. - esbuild bundler, ESLint 9 flat config, Prettier, EditorConfig.
- NPM-Audit sauber (0 Schwachstellen).
- Astro + Tailwind v4 Docs-Seite mit Ansichtsübergängen und Expressive Code.
- Zugänglichkeit der Dokumente: WCAG 2.1 AA-Pass. Logo-Glyphen werden in Pfade umgewandelt, damit sie keinen Farbkontrast mehr gegen Farbverlaufsstopps haben, der Floating
Back to top-Button verwendetinertwährend versteckt (statt einesaria-hidden-Schalters, der sie tabbar ließ),formats.astroAbschnitte kollidieren nicht mehr mit ihren automatisch generierten Überschrifts-IDs, drei Locale-Karten zeigen nun BCP-47-gültigelangAttribute (nya→ny,lug→lg,run→rn), doppelteDocumentationLandmark-Labels werden zwischen Seitenleiste und Fuß eindeutig getrennt, Und jede Datentabelle aufinputs/configurationwird mit einer Screenreader-Unterschrift ausgeliefert. - Inline-Code-Styling: Docs
<code>→Prosa trägt nun den warmen/amberfarbenen Akzent – anders als die MarkenAkzentpalette, die für Links und Überschriften verwendet wird. - Dependabot Auto-Merge, CodeQL-Scanning, CI-Matrix.
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).