Azure AI Text Translation SDK for Python Client library for Azure AI Translator text translation service for real-time text translation, transliteration, and language operations. Installation pip install azure-ai-translation-text Environment Variables AZURE_TRANSLATOR_KEY = < your-api-key
AZURE_TRANSLATOR_REGION
< your-region
e.g., eastus, westus2
Or use custom endpoint
AZURE_TRANSLATOR_ENDPOINT
https:// < resource
.cognitiveservices.azure.com Authentication API Key with Region import os from azure . ai . translation . text import TextTranslationClient from azure . core . credentials import AzureKeyCredential key = os . environ [ "AZURE_TRANSLATOR_KEY" ] region = os . environ [ "AZURE_TRANSLATOR_REGION" ]
Create credential with region
credential
AzureKeyCredential ( key ) client = TextTranslationClient ( credential = credential , region = region ) API Key with Custom Endpoint endpoint = os . environ [ "AZURE_TRANSLATOR_ENDPOINT" ] client = TextTranslationClient ( credential = AzureKeyCredential ( key ) , endpoint = endpoint ) Entra ID (Recommended) from azure . ai . translation . text import TextTranslationClient from azure . identity import DefaultAzureCredential client = TextTranslationClient ( credential = DefaultAzureCredential ( ) , endpoint = os . environ [ "AZURE_TRANSLATOR_ENDPOINT" ] ) Basic Translation
Translate to a single language
result
client . translate ( body = [ "Hello, how are you?" , "Welcome to Azure!" ] , to = [ "es" ]
Spanish
) for item in result : for translation in item . translations : print ( f"Translated: { translation . text } " ) print ( f"Target language: { translation . to } " ) Translate to Multiple Languages result = client . translate ( body = [ "Hello, world!" ] , to = [ "es" , "fr" , "de" , "ja" ]
Spanish, French, German, Japanese
) for item in result : print ( f"Source: { item . detected_language . language if item . detected_language else 'unknown' } " ) for translation in item . translations : print ( f" { translation . to } : { translation . text } " ) Specify Source Language result = client . translate ( body = [ "Bonjour le monde" ] , from_parameter = "fr" ,
Source is French
to
[ "en" , "es" ] ) Language Detection result = client . translate ( body = [ "Hola, como estas?" ] , to = [ "en" ] ) for item in result : if item . detected_language : print ( f"Detected language: { item . detected_language . language } " ) print ( f"Confidence: { item . detected_language . score : .2f } " ) Transliteration Convert text from one script to another: result = client . transliterate ( body = [ "konnichiwa" ] , language = "ja" , from_script = "Latn" ,
From Latin script
to_script
"Jpan"
To Japanese script
) for item in result : print ( f"Transliterated: { item . text } " ) print ( f"Script: { item . script } " ) Dictionary Lookup Find alternate translations and definitions: result = client . lookup_dictionary_entries ( body = [ "fly" ] , from_parameter = "en" , to = "es" ) for item in result : print ( f"Source: { item . normalized_source } ( { item . display_source } )" ) for translation in item . translations : print ( f" Translation: { translation . normalized_target } " ) print ( f" Part of speech: { translation . pos_tag } " ) print ( f" Confidence: { translation . confidence : .2f } " ) Dictionary Examples Get usage examples for translations: from azure . ai . translation . text . models import DictionaryExampleTextItem result = client . lookup_dictionary_examples ( body = [ DictionaryExampleTextItem ( text = "fly" , translation = "volar" ) ] , from_parameter = "en" , to = "es" ) for item in result : for example in item . examples : print ( f"Source: { example . source_prefix } { example . source_term } { example . source_suffix } " ) print ( f"Target: { example . target_prefix } { example . target_term } { example . target_suffix } " ) Get Supported Languages
Get all supported languages
languages
client . get_supported_languages ( )
Translation languages
print ( "Translation languages:" ) for code , lang in languages . translation . items ( ) : print ( f" { code } : { lang . name } ( { lang . native_name } )" )
Transliteration languages
print ( "\nTransliteration languages:" ) for code , lang in languages . transliteration . items ( ) : print ( f" { code } : { lang . name } " ) for script in lang . scripts : print ( f" { script . code } -> { [ t . code for t in script . to_scripts ] } " )
Dictionary languages
print ( "\nDictionary languages:" ) for code , lang in languages . dictionary . items ( ) : print ( f" { code } : { lang . name } " ) Break Sentence Identify sentence boundaries: result = client . find_sentence_boundaries ( body = [ "Hello! How are you? I hope you are well." ] , language = "en" ) for item in result : print ( f"Sentence lengths: { item . sent_len } " ) Translation Options result = client . translate ( body = [ "Hello, world!" ] , to = [ "de" ] , text_type = "html" ,
"plain" or "html"
profanity_action
"Marked" ,
"NoAction", "Deleted", "Marked"
profanity_marker
"Asterisk" ,
"Asterisk", "Tag"
include_alignment
True ,
Include word alignment
include_sentence_length
True
Include sentence boundaries
) for item in result : translation = item . translations [ 0 ] print ( f"Translated: { translation . text } " ) if translation . alignment : print ( f"Alignment: { translation . alignment . proj } " ) if translation . sent_len : print ( f"Sentence lengths: { translation . sent_len . src_sent_len } " ) Async Client from azure . ai . translation . text . aio import TextTranslationClient from azure . core . credentials import AzureKeyCredential async def translate_text ( ) : async with TextTranslationClient ( credential = AzureKeyCredential ( key ) , region = region ) as client : result = await client . translate ( body = [ "Hello, world!" ] , to = [ "es" ] ) print ( result [ 0 ] . translations [ 0 ] . text ) Client Methods Method Description translate Translate text to one or more languages transliterate Convert text between scripts detect Detect language of text find_sentence_boundaries Identify sentence boundaries lookup_dictionary_entries Dictionary lookup for translations lookup_dictionary_examples Get usage examples get_supported_languages List supported languages Best Practices Batch translations — Send multiple texts in one request (up to 100) Specify source language when known to improve accuracy Use async client for high-throughput scenarios Cache language list — Supported languages don't change frequently Handle profanity appropriately for your application Use html text_type when translating HTML content Include alignment for applications needing word mapping When to Use This skill is applicable to execute the workflow or actions described in the overview.