Translation APIs Beginner
Cloud translation APIs let you add multilingual capabilities to your applications without training or hosting your own models. This lesson covers the three most popular services: Google Cloud Translation, DeepL, and Azure Translator.
API Comparison
| Feature | Google Translate | DeepL | Azure Translator |
|---|---|---|---|
| Languages | 130+ | 30+ | 100+ |
| Quality | Very good | Excellent (European) | Very good |
| Free tier | 500K chars/month | 500K chars/month | 2M chars/month |
| Document translation | Yes | Yes | Yes |
| Glossaries | Yes | Yes | Yes |
Google Cloud Translation
pip install google-cloud-translate
from google.cloud import translate_v2 as translate client = translate.Client() # Translate text result = client.translate( "Hello, how are you?", target_language="es" ) print(result["translatedText"]) # "Hola, ¿cómo estás?" # Detect language detection = client.detect_language("Bonjour le monde") print(detection["language"]) # "fr" # Batch translation texts = ["Good morning", "Thank you", "Goodbye"] results = client.translate(texts, target_language="ja") for r in results: print(f"{r['input']} -> {r['translatedText']}")
DeepL API
import deepl translator = deepl.Translator("YOUR_DEEPL_API_KEY") # Translate text with formality control result = translator.translate_text( "How are you doing today?", target_lang="DE", formality="more" # Use formal register ) print(result.text) # "Wie geht es Ihnen heute?" # Translate with glossary (enforce specific terms) glossary = translator.create_glossary( "Tech Terms", source_lang="EN", target_lang="DE", entries={"machine learning": "maschinelles Lernen"} ) result = translator.translate_text( "We use machine learning for predictions.", target_lang="DE", glossary=glossary )
Azure Translator
import requests endpoint = "https://api.cognitive.microsofttranslator.com" headers = { "Ocp-Apim-Subscription-Key": "YOUR_AZURE_KEY", "Ocp-Apim-Subscription-Region": "eastus", "Content-Type": "application/json", } # Translate to multiple languages at once body = [{"text": "Hello, world!"}] params = {"api-version": "3.0", "to": ["fr", "de", "ja"]} response = requests.post( f"{endpoint}/translate", headers=headers, params=params, json=body ) for translation in response.json()[0]["translations"]: print(f"{translation['to']}: {translation['text']}")
Using Open-Source Models Locally
If you prefer to run translation locally without an API, use MarianMT via Hugging Face:
from transformers import MarianMTModel, MarianTokenizer model_name = "Helsinki-NLP/opus-mt-en-de" tokenizer = MarianTokenizer.from_pretrained(model_name) model = MarianMTModel.from_pretrained(model_name) texts = ["Hello, how are you?", "Machine learning is fascinating."] inputs = tokenizer(texts, return_tensors="pt", padding=True) translated = model.generate(**inputs) results = tokenizer.batch_decode(translated, skip_special_tokens=True) for src, tgt in zip(texts, results): print(f"{src} -> {tgt}")
Try It Yourself
Choose one API and translate a paragraph between 3 different languages. Compare the quality with a local MarianMT model for the same language pair.
Next: Fine-Tuning →Ready to Go Deeper?
Live instructor-led courses from our partners. Affiliate disclosure.
AI & ML Courses - 30% Off
Live instructor-led AI, machine learning, data science, and cloud courses for working professionals. Use code Limited30 at checkout.
EdurekaDataCamp - AI & Data Science
Hands-on Python, machine learning, and AI courses with interactive exercises and real projects.
DataCampedX - Top AI Courses
University-level AI courses from MIT, Harvard, Stanford. Earn certificates that employers recognize.
edX