完全向後兼容:provider 預設係 azure,所以現有嘅 Azure 工作流程繼續運作,唔使改動。
揀選供應商
將provider輸入設定為azure(預設)、aws或者google,然後提供該供應商嘅憑證。 每個動作呼叫只會用一個提供者; 呢個動作會確定性咁委派畀工廠後面嘅匹配 SDK。
供應商比較
subscriptionKey, endpoint, region(可選)
OIDC / 預設鏈,或者 awsAccessKeyID + awsSecretAccessKey; awsRegion
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。 優先用 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 雲端翻譯
用@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地區代碼因供應商而異
每個供應商用自己嘅地區代碼(例如簡體中文喺Azure zh-Hans,zh喺AWS用,zh-CN喺Google用)。 代碼會按現狀通過,驅動輸出檔案名,所以揀你揀嘅供應商支持嘅toLocales值。