Zobacz CHANGELOG.md pełny dokument.
Wydania
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 —
- Wielodostawcowie: tłumaczyć Azure AI Translator, AWS Translate lub Google Cloud Translation za jedną zunifikowaną powierzchnią API. Wybierz jednego dostawcę na każdy uruchomienie z nowym
providerwejściowym; akcja deleguje się do dopasowanego SDK za fabryką i zachowuje się identycznie, niezależnie od dostawcy. W pełni kompatybilny wstecznie —providerdomyślnieazure, więc istniejące workflowy Azure działają bez zmian. - Nowy dostawca AWS Translate (
@aws-sdk/client-translate). Uwierzytelniaj się za pomocą domyślnego łańcucha poświadczeń AWS (zalecanego: OIDC przez aws-actions/configure-aws-credentials) lub jawnegoawsAccessKeyId/awsSecretAccessKey; region przezawsRegionlubAWS_REGION. - Nowy dostawca tłumaczeń Google Cloud (
@google-cloud/translate, wersja 2). Uwierzytelnianie za pomocą poświadczenia JSON do konta usługowego (googleCredentials) lub klucza API (googleApiKey); opcjonalnegoogleProjectId. - Nowe wejścia:
provider,awsAccessKeyId,awsSecretAccessKey,awsRegion,googleApiKey,googleCredentials,googleProjectId. - Mapowanie intencji-specyfikatora:
textTypemapuje naformatGoogle iprofanityActionmapy na maskowanie przekleństw w AWS tam, gdzie istnieje odpowiednik. Specyfikatory dostępne wyłącznie w Azure (categoryId,apiVersion,profanityMarker,allowFallback) są ignorowane przez innych dostawców. - Zgłoszenia żądań Azure (
subscriptionKey,endpoint,region) nie są już oznaczane jako wymagane waction.ymlwięc można wybrać innych dostawców — nadal walidowane w czasie działania, gdyproviderjestazure. - Nowa strona dostawców tłumaczy, zakładki dostawcy w trybie Rozpoczęcie, wybór dostawcy na stronie Inputs oraz odświeżona strona główna prowadząca z Azure, AWS i Google.
3.0.2 —
- Naprawione: Translator prosi teraz przypięć
api-version=3.0na przewód zarówno dla/translate, jak i/languages. Azure SDK respektuje opcję wersji API na poziomie klienta tylko wtedy, gdy dane uwierzytelniające zostaną przekazane; Akcja uwierzytelnia się na każde żądanie za pomocą nagłówków, więc ta opcja została cicho usunięta, a żądania domyślnie przechodziły do wersji API podglądowej, której/translatekontrakt odrzucił treść z HTTP 400 (kod błędu400074). Kończy poprawkę rozpoczętą w 3.0.1.
3.0.1 —
- Naprawione: Ciało żądań
/translateto teraz czysta tablica JSON{ text }elementów zamiast opakowanego obiektu{ inputs }, odpowiadająca kontraktowi REST z wersji 3.0. Samo w sobie nie przywróciło to tłumaczeń — zobacz 3.0.2.
3.0.0 —
- Przesunięto do
node24czasu działania (ŁAMANIE). - Nowe wejścia:
include,exclude,configPath,categoryId,apiVersion,dryRun,failOnError, a także zaawansowane pokrętła translatoratextType,profanityAction,profanityMarkeriallowFallback. - Lokalizacja źródła jest teraz również przekazywana do Translatora jako
from=<locale>więc krótkie ciągi znaków nie są automatycznie wykrywane. - Odporność: automatyczne ponowne próby przejściowych odpowiedzi HTTP (
408, 425, 429, 500, 502, 503, 504) respektujące nagłówekRetry-AfterAzure — gdy ich nie ma, wraca do drgającego się wycofywania się wykładniczego. Regulowane przezmaxRetriesiretryBackoffMs. Zamyka #46. - Ochrona tymczasowa: tokeny takie jak
{{name}},${var},{0},{0:N2},%s,%1$si HTML, są przed tłumaczeniem owinięte w sentinelach i przywracane po tłumaczeniu, więc Translator przestaje manipulować zastrzeżeniami i18next/Mustache/Handlebars/.NET/printf. Przełączanie przezprotectPlaceholders; przedłużcustomPlaceholderPatterns. Uciska #16. - Wyłączenie za każdy klucz: nowe
noTranslatePatternswejściowe całkowicie usuwa pasujące klucze z żądania tłumacza (zachowuje wartości źródłowe dla nazw marek, kodów błędów itp.). Dopasowuje wzorce glob do kluczy na poziomie parsera (JSON przerywana ścieżka, RESXname, POmsgid, jednostka XLIFFid, INI/klucz restextowy). Zamyka #35. - Konfiguracja na poziomie repozytorium przez
.github/resource-translator.yml. - Wsparcie słownika, podsumowanie kroków
core.summary. - esbuild bundler, ESLint 9 flat config, Prettier, EditorConfig.
- npm audit clean (0 podatności).
- Strona dokumentacji Astro + Tailwind v4 z przejściami widoków i kodem ekspresyjnym.
- Dostępność dokumentów: WCAG 2.1 AA pass. Glify logo przekształcone w ścieżki, dzięki czemu nie przestają zanikać kontrastu kolorów na gradientowych stopach, przycisk pływający
Back to topużywainertpodczas ukrycia (zamiastaria-hiddenprzełącznika, który pozwalał na zakładanie),formats.astrosekcje nie kolidują już z automatycznie generowanymi identyfikatorami nagłówków, trzy karty lokalizacji udostępniają teraz atrybutylangzgodne z BCP-47 (nya→ny,lug→lg,run→rn), zduplikowaneDocumentationznaczniki znaczników są rozróżnione między paskiem bocznym a stopką, a każda tabela danych nainputs/configurationjest dostarczana z podpisem do czytnika ekranu. - Stylizacja kodu w linii: proza
<code>dokumentów nosi teraz akcent ciepły/bursztynowy — odróżniający się od palety mark→akcent używanej do linków i nagłówków. - Auto-merge dependabot, skanowanie CodeQL, macierz 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).