کاملا سازگار با نسخه های قبلی: provider به طور پیش فرض روی azure است، بنابراین جریان های کاری موجود Azure بدون تغییر کار می کنند — نیازی به ویرایش نیست.
انتخاب ارائه دهنده
ورودی provider را روی azure (پیش فرض)، aws یا google تنظیم کنید و سپس اطلاعات ورود آن ارائه دهنده را ارائه دهید. برای هر فراخوان عملیاتی فقط یک ارائه دهنده استفاده می شود؛ این اقدام به طور قطعی به SDK تطبیقی پشت یک کارخانه واگذار می شود.
مقایسه ارائه دهندگان
subscriptionKey، نقطه پایانی، منطقه (اختیاری)
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/translate (نسخه ۲) استفاده می کند. احراز هویت را با کلید 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 در گوگل). کدها همان طور که هست عبور می کنند و نام فایل های خروجی را هدایت می کنند، پس مقادیری toLocales را که ارائه دهنده انتخابی شما پشتیبانی می کند انتخاب کنید.