Amazon Translate

A neural machine translation service supporting over 75 languages

Overview

Amazon Translate is a fully managed service that provides text translation between over 75 languages using neural machine translation technology. It offers two modes - a real-time translation API and batch translation - covering use cases from real-time multilingual web applications to bulk document translation. Registering a custom terminology lets you improve translation accuracy for company-specific product names and specialized terms.

Choosing Between Real-Time and Batch Translation

Translate's real-time translation returns results instantly by calling the TranslateText API. Each request processes up to 10,000 bytes of text, making it suitable for web application chat translation, real-time multilingual customer support, and instant translation of user-generated content. Response times are typically 100-300 milliseconds, fast enough to maintain a smooth user experience. Batch translation (StartTextTranslationJob API), on the other hand, is an asynchronous process that translates documents on S3 in bulk. It supports HTML, DOCX, XLIFF, and plain text formats, processing thousands of files in a single job. Batch translation has the same per-character cost as real-time translation but offers higher throughput for large volumes and reduces API call overhead. You simply specify the source and target language pair, and automatic source language detection is also supported. Combined with Comprehend, you can build a pipeline that automatically detects the text language and then translates with the appropriate language pair.

Custom Terminology and Translation Quality Control

Custom Terminology is a feature that locks the translation of specific words and phrases. Register a terminology file in CSV or TMX format, then specify the terminology name in translation requests - registered terms override the neural translation model's output with the fixed translation. This is essential for ensuring quality on proper expressions that generic translation models can't handle accurately, such as product names, brand names, and internal terminology. You can register up to 256 terminologies, each containing up to 5,000 entries. Since only one terminology can be specified per translation request, managing separate terminologies per domain is a practical design. Additionally, a formality control option is available. You can specify formal or informal tone, applying polite language for business documents and casual expressions for social media posts. Enabling the profanity masking feature automatically masks inappropriate expressions in translation output.

Pipeline Integration and Cost Structure

Patterns for integrating Translate into existing data pipelines are diverse. The simplest is a serverless architecture calling the TranslateText API from a Lambda function, implemented as a microservice that receives requests via API Gateway and returns translated results. An event-driven pipeline that detects documents uploaded to S3 via EventBridge + Lambda and automatically launches batch translation jobs is also practical. Orchestrating with Step Functions lets you build multi-stage pipelines: language detection with Comprehend, translation with Translate, and storage to S3. The cost structure is pay-per-character, at $15 per million characters. A free tier provides up to 2 million characters per month free for the first 12 months. The key to cost optimization is caching translation results. Storing translations in DynamoDB or ElastiCache and skipping API calls on cache hits is an effective design to avoid re-translating identical text.

共有するXB!