完全向下相容:provider預設為 azure,因此現有的 Azure 工作流程持續運作,無需修改。
選擇醫療提供者
將provider輸入設定為 azure(預設)、aws 或 google,然後提供該提供者的憑證。每個行動呼叫只使用一位提供者;該動作會確定性地委派給工廠後方的匹配 SDK。
醫療提供者比較
subscriptionKey, endpoint, region(可選)
OIDC / 預設鏈,或 awsAccessKeyID + awsSecretAccessKey;awsRegion
googleApiKey 或 googleCredentials (service-account JSON)
Azure AI Translator (default)
預設的供應商。配置 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 雲端翻譯
使用@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值。