Повністю зворотна сумісність: provider за замовчуванням azure, тому існуючі робочі процеси Azure працюють без змін — без змін не потрібно.
Вибір провайдера
Встановіть вхід provider на azure (за замовчуванням), aws або google, а потім введіть облікові дані цього провайдера. На кожен дзвінок використовується лише один провайдер; дія детерміновано делегує відповідному SDK за фабрикою.
Порівняння постачальників
підпискаКлюч, кінцева точка, регіон (за бажанням)
OIDC / ланцюг за замовчуванням, або awsAccessKeyId + awsSecretAccessKey; awsRegion
googleApiKey АБО googleCredentials (сервіс-акаунт JSON)
Azure AI Translator (default)
Провайдер за замовчуванням. Надайте ресурс Azure AI Translator та пропустіть subscriptionKey, endpoint і, за бажанням, region. Це та сама конфігурація, яку вже використовують існуючі робочі процеси.
Official Azure docs
jobs: translate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5
- id: translator uses: IEvangelist/resource-translator@v3 with: provider: | azure: subscriptionKey: ${{ secrets.TRANSLATOR_KEY }} endpoint: ${{ secrets.TRANSLATOR_ENDPOINT }} region: ${{ secrets.TRANSLATOR_REGION }} sourceLocale: en toLocales: '["es","fr","de"]'AWS Translate
Використовує @aws-sdk/client-translate. Віддаю перевагу OIDC через aws-actions/configure-aws-credentials, щоб не зберігалися довговічні секрети — дія читає ланцюжок облікових даних AWS SDK за замовчуванням. Альтернативно, пропускайте awsAccessKeyId і awsSecretAccessKey явно. Регіон завжди потрібен, через awsRegion або AWS_REGION змінну середовища.
Official AWS docs
- Amazon Translate overview
- TranslateText API reference
- Setting formality
- Using brevity
- Custom terminology
- Parallel data
- Supported languages
OIDC (рекомендовано)
permissions: id-token: write # for aws-actions/configure-aws-credentials OIDC contents: write pull-requests: write
jobs: translate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5
- uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: arn:aws:iam::123456789012:role/gh-actions-translate aws-region: us-east-1
- id: translator uses: IEvangelist/resource-translator@v3 with: provider: | aws: region: us-east-1 # or rely on AWS_REGION from the step above formality: FORMAL brevity: true sourceLocale: en toLocales: '["es","fr","de"]'Щоб використовувати статичні клавіші замість OIDC, відкладіть aws-actions/configure-aws-credentials крок і передайте awsAccessKeyId / awsSecretAccessKey (через secrets) плюс awsRegion.
Google Cloud Translation
Використовує @google-cloud/translate (v2). Автентифікація за допомогою API (googleApiKey) або JSON-облікового запису сервісу (googleCredentials). Постачайте рівно одну; необов'язковий googleProjectId виводиться з облікового дані, якщо його опускати.
Official Google docs
jobs: translate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5
- id: translator uses: IEvangelist/resource-translator@v3 with: provider: | google: # Provide EITHER a service-account JSON credential... credentials: ${{ secrets.GCP_TRANSLATE_CREDENTIALS }} # ...OR an API key: # apiKey: ${{ secrets.GCP_TRANSLATE_API_KEY }} model: nmt sourceLocale: en toLocales: '["es","fr","de"]'Відображення спеціфікатора наміру
Специфікатори, специфічні для постачальника, відображаються там, де існує еквівалент. Все інше повертається до розумних стандартних норм, щоб поведінка залишалася послідовною.
textTypeprofanityActioncategoryIdallowFallbackawsFormalityawsBrevityawsTerminologyNamesawsParallelDataNamesgoogleModelgoogleApiEndpointКоди локалізації відрізняються залежно від провайдера
Кожен провайдер використовує власні коди локацій (наприклад, спрощена китайська zh-Hans на Azure, zh на AWS, а zh-CN в Google). Коди проходять без змін і керують іменами вихідних файлів, тому обирайте toLocales значення, які підтримує обраний вами провайдер.