Перейти к содержанию

Язык

Выбирайте свой язык

Переключитесь на ту же страницу на другом языке.

EnglishEnglishenAfrikaansAfrikaansafአማርኛAmharicamالعربيةArabicarঅসমীয়াAssameseasAzərbaycanAzerbaijaniazБашҡортBashkirbaБългарскиBulgarianbgभोजपुरीBhojpuribhoবাংলাBanglabnབོད་སྐད་Tibetanboबड़ोBodobrxBosanskiBosnianbsCatalàCatalancaČeštinaCzechcsCymraegWelshcyDanskDanishdaDeutschGermandeडोगरीDogridoiDolnoserbšćinaLower SorbiandsbދިވެހިބަސްDivehidvΕλληνικάGreekelEspañolSpanishesEestiEstonianetEuskaraBasqueeuفارسیPersianfaSuomiFinnishfiFilipinoFilipinofilVakavitiFijianfjFøroysktFaroesefoFrançaisFrenchfrFrançais (Canada)French (Canada)fr-CAGaeilgeIrishgaGalegoGalicianglकोंकणीKonkanigomગુજરાતીGujaratiguHausaHausahaעבריתHebrewheहिन्दीHindihiछत्तीसगढ़ीChhattisgarhihneHrvatskiCroatianhrHornjoserbsceUpper SorbianhsbHaitian CreoleHaitian CreolehtMagyarHungarianhuՀայերենArmenianhyIndonesiaIndonesianidÌgbòIgboigInuinnaqtunInuinnaqtuniktÍslenskaIcelandicisItalianoItalianitᐃᓄᒃᑎᑐᑦInuktitutiuInuktitut (Latin)Inuktitut (Latin)iu-Latn日本語JapanesejaქართულიGeorgiankaҚазақ ТіліKazakhkkខ្មែរKhmerkmKurmancîKurdish (Northern)kmrಕನ್ನಡKannadakn한국어KoreankoكٲشُرKashmiriksکوردیی ناوەندیKurdish (Central)kuКыргызчаKyrgyzkyLëtzebuergeschLuxembourgishlbLingálaLingalalnລາວLaoloLietuviųLithuanianltLugandaGandalugLatviešuLatvianlv中文 (文言文)Chinese (Literary)lzhमैथिलीMaithilimaiMalagasyMalagasymgTe Reo MāoriMāorimiМакедонскиMacedonianmkമലയാളംMalayalammlМонгол хэлMongolian (Cyrillic)mn-Cyrlᠮᠣᠩᠭᠣᠯ ᠬᠡᠯᠡMongolian (Traditional)mn-MongমৈতৈলোনManipurimniमराठीMarathimrMelayuMalaymsMaltiMaltesemtHmong DawHmong Dawmwwမြန်မာMyanmar (Burmese)myNorsk BokmålNorwegian BokmålnbनेपालीNepalineNederlandsDutchnlSesotho sa LeboaSesotho sa LeboansoChinyanjaChichewanyaଓଡ଼ିଆOdiaorHñähñuQuerétaro OtomiotqਪੰਜਾਬੀPunjabipaPolskiPolishplدریDariprsپښتوPashtopsPortuguês (Brasil)Portuguese (Brazil)ptPortuguês (Portugal)Portuguese (Portugal)pt-PTRomânăRomanianroРусскийRussianruIkirundiRundirunKinyarwandaKinyarwandarwسنڌيSindhisdසිංහලSinhalasiSlovenčinaSlovakskSlovenščinaSlovenianslGagana SāmoaSamoansmchiShonaShonasnSoomaaliSomalisoShqipAlbaniansqСрпски (ћирилица)Serbian (Cyrillic)sr-CyrlSrpski (latinica)Serbian (Latin)sr-LatnSesothoSesothostSvenskaSwedishsvKiswahiliSwahiliswதமிழ்TamiltaతెలుగుTeluguteไทยThaithትግርTigrinyatiTürkmen DiliTurkmentkLea fakatongaTongantoTürkçeTurkishtrТатарTatarttReo TahitiTahitiantyئۇيغۇرچەUyghurugУкраїнськаUkrainianukاردوUrduurUzbek (Latin)Uzbek (Latin)uzTiếng ViệtVietnameseviisiXhosaisiXhosaxhÈdè YorùbáYorubayoYucatec MayaYucatec Mayayua粵語Cantonese (Traditional)yue中文 (简体)Chinese Simplifiedzh-Hans中文 (繁體)Chinese Traditionalzh-HantisiZuluisiZuluzu

История

Журнал изменений

Общее резюме релизов. Канонический, авторитетный журнал изменений живёт в CHANGELOG.md в репозитории.

На этой странице

    См. 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. Use changeDetection=disabled or false for legacy always-translate behavior, statePath to relocate the manifest, and snapshotOnly to 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, версия 2). Аутентифицироваться с помощью учетной записи сервиса JSON (googleCredentials) или API-ключа (googleApiKey); Опционально googleProjectId.
    • Новые входы: provider, awsAccessKeyId, awsSecretAccessKey, awsRegion, googleApiKey, googleCredentials, googleProjectId.
    • Отображение спецификаторов намерения: textType карты с format Google, а profanityAction карты — к маскировке нецензурных слов AWS, где существует эквивалент. Спецификаторы только Azure (categoryId, apiVersion, profanityMarker, allowFallback) игнорируются другими провайдерами.
    • Входные запросы Azure (subscriptionKey, endpoint, region) больше не обозначены обязательными в action.yml, поэтому можно выбрать других провайдеров — они всё равно проверяются во время выполнения, когда provider azure.
    • Страница новых переводческих провайдеров, вкладки провайдеров в разделе «Начало», выбор провайдера на странице «Входы» и обновлённая главная страница с 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.
    • Исходное местоположение теперь также пересылается в Translator как from=<locale>, поэтому короткие строки не определяются автоматически.
    • Устойчивость: автоматическая попытка на временные HTTP-ответы (408, 425, 429, 500, 502, 503, 504) с уважением к заголовку Azure Retry-After — при отсутствии возвращается к дрожащему экспоненциальному отступлению. Настраиваемо через maxRetries и retryBackoffMs. Закрывается #46.
    • Временная защита: токены, такие как {{name}}, ${var}, {0}, {0:N2}, %s, %1$s и HTML-сущности, оборачиваются в sentinels перед переводом и восстанавливаются после, так что Translator перестаёт искажать i18next/Mustache/Handlebars/.NET/printf. Переключитесь через protectPlaceholders; расширять customPlaceholderPatterns. Затягивает #16.
    • Отказ по клавишам: новый noTranslatePatterns input полностью удаляет соответствующие ключи из запроса Translator (сохраняет исходные значения для брендов, коды ошибок и т.д.). Сопоставляет шаблоны glob с ключами уровня парсера (JSON пунктирный путь, RESX name, PO msgid, XLIFF unit id, INI/restext ключ). Закрывается #35.
    • Конфигурация на уровне репозитория через .github/resource-translator.yml.
    • Поддержка глоссария, краткое изложение шагов через core.summary.
    • esbuild bundler, ESLint 9 flat config, Prettier, EditorConfig.
    • Чистый аудит NPM (0 уязвимостей).
    • Сайт документации Astro + Tailwind v4 с переходами между просмотрами и Expressive Code.
    • Доступность документации: WCAG 2.1 AA. Глифы логотипа преобразованы в пути, чтобы они больше не теряли цветовой контраст при градиентных стопах, плавающая кнопка Back to top использует inert при скрытом состоянии (вместо aria-hidden переключателя, который позволял табировать), formats.astro разделы больше не сталкиваются с автоматически сгенерированными идентификаторами заголовков, теперь три карты локализации отображают lang атрибуты, действительные для BCP-47 (nya→ny, lug→lg, run→rn), дублируют Documentation метки ориентиров различаются между боковой панелью и подвалом, И каждая таблица данных на inputs/configuration поставляется с подписью для экрана.
    • Стиль встроенного кода: docs prose <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).