DEV Community

Tam Nguyen
Tam Nguyen

Posted on

How to Translate Text in Python Using a Translation API

Translation has become a common requirement for modern applications. Whether you're building a chatbot, localizing a SaaS product, processing user-generated content, or translating support tickets, a translation API can save countless hours compared to manual workflows.

In this tutorial, we'll walk through how to translate text in Python using a translation API.

Why Use a Translation API Instead of a Python Library?

Many developers start with libraries such as googletrans, but eventually run into issues:

  • Unofficial APIs can break unexpectedly
  • Rate limits are difficult to predict
  • Production reliability is limited
  • Large-scale workloads become challenging

Using a dedicated translation API provides:

  • Stable infrastructure
  • Better translation quality
  • Higher throughput
  • Predictable pricing
  • Long-term maintainability

Requirements

You'll need:

  • Python 3.8+
  • The requests library
  • Access to a translation API

Install requests:

pip install requests
Enter fullscreen mode Exit fullscreen mode

Example: Translate English to Vietnamese

The following example uses the Enterprise Translation API (TranslateGemma).

import requests

url = "https://enterprise-translation-api-translategemma.p.rapidapi.com/translate"

payload = {
    "text": "Artificial Intelligence is transforming the world.",
    "source_lang": "auto",
    "target_lang": "vi"
}

headers = {
    "Content-Type": "application/json",
    "x-rapidapi-key": "YOUR_API_KEY",
    "x-rapidapi-host": "enterprise-translation-api-translategemma.p.rapidapi.com"
}

response = requests.post(
    url,
    json=payload,
    headers=headers
)

data = response.json()

translated_text = data[0]["translations"][0]["text"]

print(translated_text)
Enter fullscreen mode Exit fullscreen mode

Output:

Trí tuệ nhân tạo đang thay đổi thế giới.
Enter fullscreen mode Exit fullscreen mode

Understanding the Request Parameters

The API accepts three primary fields:

text

The text you want to translate.

{
  "text": "Hello world"
}
Enter fullscreen mode Exit fullscreen mode

source_lang

The source language code.

{
  "source_lang": "en"
}
Enter fullscreen mode Exit fullscreen mode

You can also use automatic language detection:

{
  "source_lang": "auto"
}
Enter fullscreen mode Exit fullscreen mode

target_lang

The destination language.

{
  "target_lang": "fr"
}
Enter fullscreen mode Exit fullscreen mode

Translate Multiple Languages

You can easily build a helper function:

import requests

API_KEY = "YOUR_API_KEY"

def translate(text, target_lang):
    url = "https://enterprise-translation-api-translategemma.p.rapidapi.com/translate"

    payload = {
        "text": text,
        "source_lang": "auto",
        "target_lang": target_lang
    }

    headers = {
        "Content-Type": "application/json",
        "x-rapidapi-key": API_KEY,
        "x-rapidapi-host": "enterprise-translation-api-translategemma.p.rapidapi.com"
    }

    response = requests.post(
        url,
        json=payload,
        headers=headers
    )

    return response.json()[0]["translations"][0]["text"]
Enter fullscreen mode Exit fullscreen mode

Usage:

print(translate("Hello world", "es"))
print(translate("Hello world", "de"))
print(translate("Hello world", "ja"))
Enter fullscreen mode Exit fullscreen mode

Translating Large Documents

One challenge developers often face is translating large documents.

Many translation systems require splitting text into smaller chunks before processing.

Modern AI-based translation APIs can significantly simplify this workflow.

For example, the Enterprise Translation API automatically processes documents up to 60,000 characters per request, making it suitable for:

  • Blog posts
  • Documentation
  • Product catalogs
  • Knowledge bases
  • Customer support archives

Without requiring developers to manually split content.

Error Handling

Production applications should always handle API failures gracefully.

try:
    response = requests.post(
        url,
        json=payload,
        headers=headers,
        timeout=30
    )

    response.raise_for_status()

    result = response.json()

except requests.exceptions.RequestException as e:
    print("Translation failed:", e)
Enter fullscreen mode Exit fullscreen mode

Supported Languages

Most modern translation APIs support dozens of languages, including:

  • English
  • Spanish
  • French
  • German
  • Vietnamese
  • Japanese
  • Korean
  • Chinese
  • Arabic
  • Hindi

The Enterprise Translation API currently supports more than 50 languages and includes automatic language detection.

Choosing the Right Translation API

When evaluating translation APIs, consider:

Quality

Translation quality varies significantly across providers and language pairs.

Cost

If you're translating millions of characters each month, pricing becomes a critical factor.

Latency

Real-time applications require fast response times.

Maximum Document Size

Some providers impose strict limits on request length.

Integration Simplicity

Look for APIs with straightforward documentation and predictable response formats.

Pricing Example

The Enterprise Translation API currently offers:

Plan Price Included Volume
Pro $10/month 20M translated characters
Meta $25/month 80M translated characters
Mega $60/month 240M translated characters

For many startups and SaaS products, this can be significantly more cost-effective than traditional cloud translation services.

Getting Started

If you'd like to try the API used in this tutorial:

https://rapidapi.com/tamnvhustcc/api/enterprise-translation-api-translategemma

It provides:

  • Automatic language detection
  • Microsoft Translator-compatible responses
  • Support for 50+ languages
  • Up to 60,000 characters per request

Final Thoughts

Adding multilingual support to a Python application is easier than ever.

With just a few lines of code, you can translate text, localize content, or build global applications without maintaining your own translation models.

The most important step is choosing a translation API that balances quality, scalability, and cost for your specific use case. Once that's done, integrating translation into Python is surprisingly straightforward.

Top comments (0)