完全後方互換性:providerデフォルトはazureで、既存のAzureワークフローは変更せずに動作し続け、編集は不要です。
提供者の選択
provider入力をazure(デフォルト)、aws、またはgoogleに設定し、そのプロバイダーの認証情報を入力します。アクションコールごとに1つのプロバイダーのみが使用されます。このアクションは、工場の背後にある対応するSDKに決定論的に委任します。
提供者比較
subscriptionKey、エンドポイント、リージョン(任意)
OIDC / デフォルトチェーン、またはawsAccessKeyID + awsSecretAccessKey;awsリージョン
googleApiKey または googleCredentials (service-account JSON)
Azure AI Translator (デフォルト)
デフォルトのプロバイダーです。Azure AI翻訳ツールのリソースをプロビジョニングし、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 翻訳
@aws-sdk/client-translateを使います。長期保存された秘密情報を保存しないためaws-actions/configure-aws-credentialsを経由してOIDCを優先します。アクションは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 翻訳
@google-cloud/translate(v2)を使います。認証はAPIキー(googleApiKey)またはサービスアカウントのJSON認証(googleCredentials)で行います。正確に1つだけ供給してください;省略すると、資格情報から任意の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地域コードはプロバイダーによって異なります
各プロバイダーは独自のローカレコードを使用しています(例えば、簡体字中国語はAzureでzh-Hans、AWSではzh、Googleではzh-CNです)。コードはAS-ISを通過し、出力ファイル名を駆動します。選択したプロバイダーがサポートする値toLocales選びましょう。