Дивіться CHANGELOG.md для повного матеріалу.
Релізи
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 —
- Мультивендор: перекладати з Azure AI Translator, AWS Translate або Google Cloud Translation за єдиною API-поверхнею. Обирайте одного провайдера на кожен забіг з новим
providerвходом; дія делегує відповідному SDK за фабрикою і поводиться однаково незалежно від постачальника. Повністю зворотна сумісність —providerза замовчуваннямazure, тому існуючі робочі процеси Azure працюють без змін. - Новий провайдер AWS Translate (
@aws-sdk/client-translate). Автентифікація за стандартним ланцюжком облікових даних AWS (рекомендовано: OIDC через aws-actions/configure-aws-credentials) або явнимawsAccessKeyId/awsSecretAccessKey; регіон черезawsRegionабоAWS_REGION. - Новий провайдер Google Cloud Translation (
@google-cloud/translate, v2). Автентифікація за допомогою JSON-облікового запису сервісу (googleCredentials) або API-ключа (googleApiKey); ОпціональнаgoogleProjectId. - Нові входи:
provider,awsAccessKeyId,awsSecretAccessKey,awsRegion,googleApiKey,googleCredentials,googleProjectId. - Відображення специфікатора наміру:
textTypeмапи наformatGoogle, аprofanityActionкарти на маскування лайки AWS, де існує еквівалент. Специфікатори, що працюють лише з Azure (categoryId,apiVersion,profanityMarker,allowFallback), ігноруються іншими провайдерами. - Вхідні дані запиту Azure (
subscriptionKey,endpoint,region) більше не позначаються обов'язковими вaction.yml, тому можна обрати інших провайдерів — вони все одно перевіряються під час виконання, колиproviderazure. - Сторінка нових провайдерів перекладу, вкладки провайдерів у розділі «Початок», вибір провайдера на сторінці вхідних даних та оновлена головна сторінка з Azure, AWS та Google.
3.0.2 —
- Виправлено: Запити перекладача тепер фіксують
api-version=3.0на дроті як для/translate, так і для/languages. Azure SDK поважає опцію api-версії на рівні клієнта лише при передачі облікових даних; дія автентифікує кожен запит через заголовки, тому ця опція була безшумно вилучена, а запити за замовчуванням перейшли на версію API-попереднього перегляду, контракт/translateякої відхиляв тіло з HTTP 400 (код помилки400074). Завершує виправлення, розпочате у версії 3.0.1.
3.0.1 —
- Виправлено: Тіло запиту
/translateтепер є порожнім JSON-масивом із{ text }елементів замість обгорнутого{ inputs }об'єкта, що відповідає контракту REST версії 3.0. Саме по собі це не відновило переклади — див. 3.0.2.
3.0.0 —
- Перенесено на
node24час виконання (РОЗРИВ). - Нові входи:
include,exclude,configPath,categoryId,apiVersion,dryRun,failOnError, а також просунуті ручки перекладачаtextType,profanityAction,profanityMarkerіallowFallback. - Source locale тепер також передається на Translator як
from=<locale>, щоб короткі рядки не визначалися автоматично. - Стійкість: автоматична повторна спроба тимчасових HTTP-відповідей (
408, 425, 429, 500, 502, 503, 504), що поважає заголовок AzureRetry-After— повертається до тремтіння експоненційного відходу при відсутності. Налаштовується черезmaxRetriesіretryBackoffMs. Закриває #46. - Тимчасовий захист: токени, такі як
{{name}},${var},{0},{0:N2},%s,%1$sта HTML-сутності, загорнуті в сентинели перед перекладом і відновлюються після, тому Translator перестає псувати i18next/Mustache/Handlebars/.NET/printf. Перемикати черезprotectPlaceholders; розширюватися зcustomPlaceholderPatterns. Затягує #16. - Відмова для кожної клавіші: новий
noTranslatePatternsinput повністю відмовляється від відповідних ключів із запиту перекладача (зберігає значення джерел для назв брендів, кодів помилок тощо). Порівнює шаблони glob з ключами рівня парсера (JSON пунктирний шлях, RESXname, POmsgid, XLIFF unitid, INI/restext key). Закривається #35. - Конфігурація рівня репозиторії через
.github/resource-translator.yml. - Підтримка глосарію, короткий підсумок кроку через
core.summary. - esbuild bundler, ESLint 9 flat config, Prettier, EditorConfig.
- Чистий аудит NPM (0 вразливостей).
- Сайт документації Astro + Tailwind v4 з переходами та експресивним кодом.
- Доступність документів: WCAG 2.1 AA pass. Гліфи логотипу перетворені на шляхи, щоб вони більше не втрачали колірний контраст із градієнтними зупинками, плаваюча кнопка
Back to topвикористовуєinert, будучи прихованою (замістьaria-hidden-перемикача, який робив її табельною),formats.astroсекції більше не стикаються з автозгенерованими ідентифікаторами заголовків, три картки локалізації тепер відкривають атрибути BCP-47lang(nya→ny,lug→lg,run→rn), дублікатиDocumentationпозначки орієнтирів розрізняються між бічною панеллю та підвалом, І кожна таблиця даних наinputs/configurationпоставляється з підписом для екранного читача. - Стиль вбудованого коду: docs проза
<code>тепер має теплий/бурштиновий акцент — відмінний від палітри бренду→акценту, що використовується для посилань і заголовків. - Автоматичне об'єднання Dependabot, сканування CodeQL, матриця 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).