См. Конфигурация схеме YAML и порядке загрузки.
Требуемые входные данные
sourceLocaleИсходный код (например, en), используемый для поиска ресурсных файлов, таких как **/*.en.resx. Также переслано провайдеру как from=<locale>.
Выбор поставщика и квалификация
Выбирайте одного провайдера на один заезд с provider. Указывайте только данные выбранного провайдера — смотрите Входы и выходы руководство для полной настройки.
providerПоставщик перевода: azure (по умолчанию), aws или google. Используется только один провайдер для каждого вызова действия.
subscriptionKeyКлюч подписки Azure AI Translator. Требуется для azure. Проезжай через secrets.
endpointAzure Translator endpoint URL, например, https://api.cognitive.microsofttranslator.com/. Требуется для azure.
awsAccessKeyIdИдентификатор ключа доступа AWS. Опционально — опустить (с awsSecretAccessKey) использование стандартной цепочки учетных данных AWS / OIDC. Проезжай через secrets.
awsSecretAccessKeyСекретный ключ доступа AWS. Необходимо поставлять вместе с awsAccessKeyId. Проезжай через secrets.
awsSessionTokenОпциональный токен сессии AWS для временных учетных данных. Проезжай через secrets.
awsRegionРегион AWS для сервиса Translate (например, us-east-1). Требуется для aws, если AWS_REGION не установлен в среде.
awsFormalityAWS Translate formality setting: FORMAL or INFORMAL.
awsBrevityWhen true, enables AWS Translate brevity mode for supported language pairs.
awsTerminologyNamesAWS Translate custom terminology resource names. Accepts a JSON array or comma-separated values.
awsParallelDataNamesAWS Translate parallel data resource names. Accepts a JSON array or comma-separated values.
googleApiKeyКлюч Google Cloud API. Предоставьте этот OR googleCredentials для google. Проходите через secrets.
googleCredentialsКлюч сервиса Google Cloud в виде строки JSON. Предоставьте этот OR googleApiKey для google. Проходите через secrets.
googleProjectIdОпциональный идентификатор проекта Google Cloud. Обычно это выводится по учётной записи сервисного аккаунта.
googleModelGoogle Cloud Translation model, e.g. nmt or base.
googleApiEndpointOptional Google Cloud Translation API endpoint override.
googleAutoRetryOptional Google Cloud Translation automatic retry toggle. Leave unset to use the Google client default.
Распространённые опциональные входы
regionРегион ресурсов переводчика (опущен для глобальных ресурсов).
toLocalesМеста для перевода. Принимает массив JSON (["fr","de"]) или значения, разделённые по запятым.
includeУзоры шаров, разделённые по новой линии; переводятся только совпадающие файлы.
excludeУзоры шаров, разделённые по новой линии; Совпадение файлов пропускается (применяется после включения).
configPathПуть к конфигурационному файлу YAML (относительно корня рабочего пространства).
changeDetectionSmart change detection mode. smart translates only keys whose source value, target presence, state entry, or translation-affecting settings require it. Use disabled or false to send every eligible key on every run.
statePathPath to the compact deterministic smart change-detection state manifest. Defaults to .github/resource-translator-state.json; commit it so future runs can audit and reuse unchanged translations.
snapshotOnlyWhen true, create/update the smart change-detection manifest from existing source and target files without calling a translation provider or writing target resource files. Useful when bootstrapping statePath while a provider is unavailable.
dryRunКогда true, запускайте переводы и выпускайте резюме, но не записывайте файлы.
failOnErrorКогда true, неожиданные ошибки не выполняют действие; Когда false, ошибки — это предупреждения.
Azure Translator request inputs
Они напрямую соотносятся с параметрами запроса Azure AI Translator v3 и применяются к провайдеру Azure. textType и profanityAction также сопоставляются с AWS/Google, где существует эквивалент (см. руководство по провайдеру); остальные — только Azure. Каждая из них необязательна; по умолчанию применяются настройки Translator, когда не установлены.
categoryIdAzure Custom Translator category — ручка industry/domain/tone. Переслано как ?category=....
textTypeplain или html. Используйте html только тогда, когда ваши значения ресурсов — настоящие HTML-фрагменты.
profanityActionNoAction, Marked или Deleted. Контролирует то, как произносятся ненормативные выражения в переводах.
profanityMarkerAsterisk или Tag. Это имеет смысл только тогда, когда profanityAction Marked.
allowFallbackКогда false, Translator возвращает ошибку вместо того, чтобы возвращаться к общей системе, если у вашего categoryId нет развертывания для целевого места.
apiVersionВерсия REST API для транслятора.
Устойчивость и временная защита
Эти вводы контролируют поведение действия, когда Translator ограничивает ваш запрос, и как он защищает временные жетоны вроде {{name}} или {0} от повреждений при переводе.
maxRetriesМаксимальные попытки повторных попыток временных HTTP-ответов (408, 425, 429, 500, 502, 503, 504). Общее количество HTTP-звонков на запрос составляет 1 + maxRetries.
retryBackoffMsОграничение (в миллисекундах) на любой единственный режим обратного сна. Действие отражает заголовок Retry-After ответа Azure именно тогда, когда он присутствует; в противном случае используется дрожащий экспоненциальный откат с ограничением на этом значении.
protectPlaceholdersПри true (по умолчанию) заполняющие элементы, такие как {{name}}, ${var}, {0}, {0:N2}, %s, %1$s и HTML-сущности, заменяются на сентинел-токены перед переводом и восстанавливаются после. Отключайте только тогда, когда ваш источник намеренно содержит буквальный текст в форме заполня, который следует переводить.
customPlaceholderPatternsВ стандартный набор заполнений добавлены регулярные выражения, разделённые по новой строке (без разделителей), например, <<.+?>> для синтаксиса пользовательских токенов.
noTranslatePatternsШаблоны глоба, разделённые по новым строкам, сопоставили с ключами уровня парсера (JSON пунктирный путь, RESX name, PO msgid, XLIFF блок id, ключ INI/restext). Совпадающие ключи удаляются из запроса Translator и проходят с сохранением исходного значения.
Выходы
summary-titleКраткое резюме, удобное для PR-заголовка, например, Machine-translated 320 files, a total of 5,418 translations.
summary-detailsСводка по размещению, подходящая для PR-организации или резюме вакансии.
has-new-translations'true' когда генерировался один или несколько новых переводов.