Skip to content

Olulimi

Londa olulimi lw'okozesa

Kyusa olupapula lwe lumu mu lulimi olulala.

EnglishEnglishenAfrikaansAfrikaansafአማርኛAmharicamالعربيةArabicarঅসমীয়াAssameseasAzərbaycanAzerbaijaniazБашҡортBashkirbaБългарскиBulgarianbgभोजपुरीBhojpuribhoবাংলাBanglabnབོད་སྐད་Tibetanboबड़ोBodobrxBosanskiBosnianbsCatalàCatalancaČeštinaCzechcsCymraegWelshcyDanskDanishdaDeutschGermandeडोगरीDogridoiDolnoserbšćinaLower SorbiandsbދިވެހިބަސްDivehidvΕλληνικάGreekelEspañolSpanishesEestiEstonianetEuskaraBasqueeuفارسیPersianfaSuomiFinnishfiFilipinoFilipinofilVakavitiFijianfjFøroysktFaroesefoFrançaisFrenchfrFrançais (Canada)French (Canada)fr-CAGaeilgeIrishgaGalegoGalicianglकोंकणीKonkanigomગુજરાતીGujaratiguHausaHausahaעבריתHebrewheहिन्दीHindihiछत्तीसगढ़ीChhattisgarhihneHrvatskiCroatianhrHornjoserbsceUpper SorbianhsbHaitian CreoleHaitian CreolehtMagyarHungarianhuՀայերենArmenianhyIndonesiaIndonesianidÌgbòIgboigInuinnaqtunInuinnaqtuniktÍslenskaIcelandicisItalianoItalianitᐃᓄᒃᑎᑐᑦInuktitutiuInuktitut (Latin)Inuktitut (Latin)iu-Latn日本語JapanesejaქართულიGeorgiankaҚазақ ТіліKazakhkkខ្មែរKhmerkmKurmancîKurdish (Northern)kmrಕನ್ನಡKannadakn한국어KoreankoكٲشُرKashmiriksکوردیی ناوەندیKurdish (Central)kuКыргызчаKyrgyzkyLëtzebuergeschLuxembourgishlbLingálaLingalalnລາວLaoloLietuviųLithuanianltLugandaGandalugLatviešuLatvianlv中文 (文言文)Chinese (Literary)lzhमैथिलीMaithilimaiMalagasyMalagasymgTe Reo MāoriMāorimiМакедонскиMacedonianmkമലയാളംMalayalammlМонгол хэлMongolian (Cyrillic)mn-Cyrlᠮᠣᠩᠭᠣᠯ ᠬᠡᠯᠡMongolian (Traditional)mn-MongমৈতৈলোনManipurimniमराठीMarathimrMelayuMalaymsMaltiMaltesemtHmong DawHmong Dawmwwမြန်မာMyanmar (Burmese)myNorsk BokmålNorwegian BokmålnbनेपालीNepalineNederlandsDutchnlSesotho sa LeboaSesotho sa LeboansoChinyanjaChichewanyaଓଡ଼ିଆOdiaorHñähñuQuerétaro OtomiotqਪੰਜਾਬੀPunjabipaPolskiPolishplدریDariprsپښتوPashtopsPortuguês (Brasil)Portuguese (Brazil)ptPortuguês (Portugal)Portuguese (Portugal)pt-PTRomânăRomanianroРусскийRussianruIkirundiRundirunKinyarwandaKinyarwandarwسنڌيSindhisdසිංහලSinhalasiSlovenčinaSlovakskSlovenščinaSlovenianslGagana SāmoaSamoansmchiShonaShonasnSoomaaliSomalisoShqipAlbaniansqСрпски (ћирилица)Serbian (Cyrillic)sr-CyrlSrpski (latinica)Serbian (Latin)sr-LatnSesothoSesothostSvenskaSwedishsvKiswahiliSwahiliswதமிழ்TamiltaతెలుగుTeluguteไทยThaithትግርTigrinyatiTürkmen DiliTurkmentkLea fakatongaTongantoTürkçeTurkishtrТатарTatarttReo TahitiTahitiantyئۇيغۇرچەUyghurugУкраїнськаUkrainianukاردوUrduurUzbek (Latin)Uzbek (Latin)uzTiếng ViệtVietnameseviisiXhosaisiXhosaxhÈdè YorùbáYorubayoYucatec MayaYucatec Mayayua粵語Cantonese (Traditional)yue中文 (简体)Chinese Simplifiedzh-Hans中文 (繁體)Chinese Traditionalzh-HantisiZuluisiZuluzu

Reference

Abavvuunuzi

Choose one translation provider per run — Azure AI Translator, AWS Translate, or Google Cloud Translation — behind a single, unified API surface. Omuvvuunuzi yeeyisa mu ngeri y'emu awatali kusosola; Ebiwandiiko byokka byawukana.

Ku lupapula luno

    Fully backward compatible: provider defaults to azure, so existing Azure workflows keep working unchanged — no edits required.

    Okulonda omusuubuzi

    Mu ngeri y'emu, provider bw'owandiisa azure (default), aws, oba google, olwo n'owa obubaka bw'omuwabuzi oyo. Only one provider is used per action call; the action deterministically delegates to the matching SDK behind a factory.

    Provider comparison

    Azure AI Translator
    Omuwendo gw'abasuubuzi
    Azure (default)
    SDK
    @azure-rest/ai-translation-text

    subscriptionKey, endpoint, region (optional)

    AWS Translate
    Omuwendo gw'abasuubuzi
    aws
    SDK
    @aws-sdk/client-translate

    OIDC / default chain, oba awsAccessKeyId + awsSecretAccessKeyKey; awsRegion

    Google Cloud Translation
    Omuwendo gw'abasuubuzi
    Google
    SDK
    @google-cloud/translate

    googleApiKey OR googleCredentials (service-account JSON)

    Azure AI Translator (default)

    Omuwaabi wa Gavumenti eyalemererwa. Provision an Azure AI Translator resource and pass subscriptionKey, endpoint, and optionally region. This is the same configuration existing workflows already use.

    Official Azure docs

    .github/workflows/translate.yml
    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

    Kozesa @aws-sdk/client-translate. Prefer OIDC via aws-actions/configure-aws-credentials so no long-lived secrets are stored — the action reads the AWS SDK default credential chain. Alternatively, pass awsAccessKeyId and awsSecretAccessKey explicitly. A region is always needed, via awsRegion or the AWS_REGION environment variable.

    Official AWS docs

    OIDC (recommended)

    .github/workflows/translate.yml
    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"]'

    To use static keys instead of OIDC, drop the aws-actions/configure-aws-credentials step and pass awsAccessKeyId/awsSecretAccessKey (via secrets) plus awsRegion.

    Google Cloud Translation

    Kozesa @google-cloud/translate (v2). Okukakasa ng'okozesa ekisumuluzo kya API (googleApiKey) oba akawunti y'obuweereza (JSON credential (googleCredentials). Supply exactly one; an optional googleProjectId is inferred from the credential when omitted.

    Official Google docs

    .github/workflows/translate.yml
    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"]'

    Intent-specifier mapping

    Ebifaananyi by'ebi Ebirala byonna biva ku buzibu obw'amagezi, n'olwekyo enneeyisa esigala nga nnungi nnyo.

    textType
    Azure
    textType (plain / html)
    AWS
    Ignored (no toggle)
    Google
    Format (Text / HTML)
    profanityAction
    Azure
    Obuwagizi mu bujjuvu
    AWS
    Marked / Deleted → masking
    Google
    Ignored
    categoryId
    Azure
    Custom Translator
    AWS
    Ignored
    Google
    Ignored
    allowFallback
    Azure
    Okuwagira
    AWS
    Ignored
    Google
    Ignored
    awsFormality
    Azure
    Ignored
    AWS
    Formality setting
    Google
    Ignored
    awsBrevity
    Azure
    Ignored
    AWS
    Brevity mode
    Google
    Ignored
    awsTerminologyNames
    Azure
    Ignored
    AWS
    Custom terminology
    Google
    Ignored
    awsParallelDataNames
    Azure
    Ignored
    AWS
    Parallel data
    Google
    Ignored
    googleModel
    Azure
    Ignored
    AWS
    Ignored
    Google
    Translation model
    googleApiEndpoint
    Azure
    Ignored
    AWS
    Ignored
    Google
    API endpoint override

    Locale codes differ per provider

    Buli kitongole kikozesa ennamba zaakyo ez'ekifo (eky'okulabirako Simplified Chinese zh-Hans ku Azure, zh ku AWS, ne zh-CN ku Google). Codes pass through as-is and drive the output file names, so choose toLocales values your selected provider supports.