AWS Translate β Neural Machine Translation
Amazon Translate is AWS's managed neural machine translation (NMT) service. It translates text across 75 languages β in real-time or batch β with support for custom terminology, document format preservation, and tight integration with the rest of the AWS AI stack including Bedrock and Transcribe.
What It Does
Amazon Translate uses deep learning to translate full-context sentences β not word-by-word. This produces output that reads naturally and handles idioms, sentence structure differences, and domain-specific phrasing better than older rule-based systems.
You can call it from Python with a single API call, or submit bulk document jobs via S3. It preserves the formatting of Word, PowerPoint, Excel, and HTML documents in batch mode β the translated output is a file in the same format as the input.
Language Coverage
- 75 languages supported
- 5,550 translation pairs β translate between any two supported languages, not just to/from English
- Covers major world languages including all EU official languages, Arabic, Chinese (Simplified and Traditional), Japanese, Korean, Hindi, Swahili, and more
- Automatic source language detection β don't know the input language? Set
SourceLanguageCode="auto"
Real-Time vs Batch
Real-Time (TranslateText)
- Synchronous API β instant response
- Input: plain text, HTML, or simple docx
- 5,000 byte limit per request
- Best for: chatbots, UI localisation, live responses
- boto3 method:
translate_text()
Batch (StartTextTranslationJob)
- Async β submit S3 folder of documents
- Supports: Word (.docx), PowerPoint (.pptx), Excel (.xlsx), HTML, plain text
- Preserves original document format
- Best for: bulk content localisation, document archives
- Results written back to S3
boto3 Usage
Real-time translation is a single call:
import boto3
translate = boto3.client("translate", region_name="us-east-1")
response = translate.translate_text(
Text="The model achieved state-of-the-art results on all benchmarks.",
SourceLanguageCode="en", # or "auto" for auto-detect
TargetLanguageCode="fr",
)
print(response["TranslatedText"])
# β "Le modΓ¨le a obtenu des rΓ©sultats de pointe sur tous les benchmarks."
# With custom terminology applied:
response = translate.translate_text(
Text="Our Bedrock agent achieved new benchmarks.",
SourceLanguageCode="en",
TargetLanguageCode="de",
TerminologyNames=["my-tech-glossary"], # Custom terminology file
)Custom Terminology
Custom terminology lets you define exactly how specific terms must be translated β critical for brand names, product names, and technical jargon that generic NMT gets wrong.
- Upload a CSV or TMX file mapping source terms to their required translations
- Applied to all translation calls that reference the terminology name
- No additional cost per API call once the file is uploaded
- Example: ensure "Amazon Bedrock" is never translated (kept as-is) in any target language
Active Custom Translation (ACT) goes further β supply parallel data (paired source/target sentences from your domain) to adapt the underlying translation model to your specific style and vocabulary. This is sentence-level adaptation, not just term-level. Useful for legal, medical, or brand-voice-sensitive content.
Pricing
| Tier | Price |
|---|---|
| Standard translation | $15.00 per 1M characters |
| Active Custom Translation | Slightly higher (check AWS pricing page) |
| Free tier β Standard | 2M characters/month for first 12 months |
| Free tier β ACT | 500K characters/month for first 2 months |
1 million characters β 150,000β200,000 words depending on the source language. Most typical documents are 5,000β50,000 characters.
Integration with Bedrock
Amazon Translate and Bedrock work well together in multi-step AI pipelines:
- Document translation + standardisation: Translate raw documents with Amazon Translate, then pass the output to a Bedrock LLM (e.g., Claude) to refine tone, correct mistranslations, or reformat for a specific audience.
- Video auto-dubbing pipeline: Transcribe (audio β text) β Translate (text to target language) β Bedrock (quality check + timing sync) β Polly (dubbed audio back to video).
- Multilingual RAG: Store documents in English in a vector database; at query time, translate the user's non-English question to English β retrieve β translate the response back. Bedrock provides the LLM layer, Translate handles the language switching.
- Translation agents: AWS's
bedrock-translation-agentsample implements a multi-model agentic reflective translation workflow β one Bedrock LLM translates, another reviews and improves the output.
Amazon Translate vs Using Bedrock LLMs Directly for Translation
Use Amazon Translate when:
- High-volume, cost-sensitive translation ($15/1M chars)
- Batch document localisation preserving format
- Custom terminology is required
- 75-language coverage is needed
- Low-resource languages where LLMs are weaker
Use Bedrock LLMs for translation when:
- Nuanced, tone-sensitive content
- Combined translation + summarisation or rewriting
- Domain-specific adaptation without parallel data setup
- Context from conversation history matters
In practice, many production pipelines use both: Translate for the initial pass (fast, cheap, scalable), then a Bedrock LLM for quality review or post-editing on high-priority content.
Checklist: Do You Understand This?
- Amazon Translate supports 75 languages and 5,550 translation pairs via neural machine translation
- Two modes: real-time (
translate_text(), up to 5,000 bytes) and batch (S3 documents, preserves format) - Custom terminology controls how brand names and jargon are translated β no extra per-call cost
- Active Custom Translation (ACT) adapts the model to your domain with parallel sentence data
- Pricing: $15/1M characters; 2M chars/month free for first 12 months
- Pairs with Bedrock for multilingual RAG, video dubbing, and translation quality review pipelines