Zurück zum Blog
Four regional language code badges — fr-CA, pt-BR, es-MX, en-GB — connecting to a single API endpoint.

PolyLingo unterstützt jetzt regionale Sprachcodes: fr-CA, pt-BR, es-MX und mehr

By Robert M

PolyLingo unterstützt jetzt regionale Sprachcodes: fr-CA, pt-BR, es-MX und mehr

Sie können jetzt regionale Dialektcodes direkt als Übersetzungsziele in PolyLingo übergeben. fr-CA, pt-BR, es-MX, en-GB und mehrere andere sind jetzt gültige Werte in Ihrem targets-Array, neben oder anstelle ihrer generischen Gegenstücke.

An der Art und Weise, wie Sie die API aufrufen, ändert sich nichts. Derselbe Endpunkt, dieselbe Anforderungsstruktur. Sie haben nur mehr gültige Codes zur Auswahl.


Was wurde hinzugefügt

Sieben neue regionale Codes nach dem BCP-47-Standard:

CodeSprache
en-GBEnglisch (UK)
fr-CAFranzösisch (Kanada)
es-ESSpanisch (Spanien)
es-MXSpanisch (Mexiko)
pt-PTPortugiesisch (Portugal)
pt-BRPortugiesisch (Brasilien)
zh-HKChinesisch (Hongkong)

Diese stehen neben dem bestehenden zh-TW (Traditionelles Chinesisch), das bereits die gleiche BCP-47-Konvention verwendet. Die Zielanzahl wurde außerdem von 36 auf 50 erhöht, um Teams zu unterstützen, die mehrere regionale Varianten in einem einzigen Aufruf ansteuern.


Warum regionale Codes wichtig sind

Generische Sprachcodes (fr, pt, es) sind in Ordnung, wenn Ihr Publikum breit gefächert oder gemischt ist. Aber wenn Sie ein Produkt in ein bestimmtes Land liefern, ist generisch oft nicht ausreichend.

Brasilianisches Portugiesisch und Europäisches Portugiesisch unterscheiden sich in Wortschatz, Rechtschreibung und Register auf eine Weise, die für Muttersprachler wichtig ist. Mexikanisches Spanisch und Kastilisches Spanisch sind ähnlich genug, dass eine generische Übersetzung weder für den einen noch für den anderen völlig fremd klingt, aber auch für keinen von beiden perfekt natürlich ist. Kanadisches Französisch hat eigene Konventionen, die sich vom Pariser Französisch auf eine Weise unterscheiden, die für einen Quebecer sofort offensichtlich sind.

Wenn Sie an einen bestimmten Markt verkaufen, verdient dieser Markt eine Übersetzung, die für ihn geschrieben wurde. Regionale Codes machen das möglich, ohne einen separaten API-Aufruf oder einen separaten Workflow zu benötigen.


Gleicher Aufruf, mehrere Varianten

Generische und regionale Codes können in derselben Anfrage koexistieren. Jeder erhält seinen eigenen Schlüssel in der Antwort:

curl -sS -X POST "https://api.usepolylingo.com/v1/translate" \
  -H "Authorization: Bearer $POLYLINGO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Your order has been confirmed.",
    "targets": ["fr", "fr-CA", "pt", "pt-BR"]
  }'
{
  "translations": {
    "fr":    "Votre commande a été confirmée.",
    "fr-CA": "Votre commande a été confirmée.",
    "pt":    "O seu pedido foi confirmado.",
    "pt-BR": "O seu pedido foi confirmado."
  }
}

Sie erhalten vier Schlüssel zurück, einen pro Code. Wenn fr und fr-CA für einen gegebenen String dasselbe Ergebnis liefern, ist das erwartet — sie werden sich in Wortschatz und Register unterscheiden, wo der Unterschied bedeutsam ist.


Nur einen bestimmten Markt ansteuern

Wenn Sie für einen bekannten Markt bauen und die generische Variante nicht benötigen, übergeben Sie einfach den regionalen Code:

curl -sS -X POST "https://api.usepolylingo.com/v1/translate" \
  -H "Authorization: Bearer $POLYLINGO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Sign in to your account.",
    "targets": ["en-GB", "es-MX", "pt-BR", "zh-HK"]
  }'

Aufbau einer marktspezifischen Zielliste in Node.js

import { PolyLingo } from '@polylingo/node'

const client = new PolyLingo(process.env.POLYLINGO_API_KEY)

const result = await client.translate({
  content: 'Free shipping on orders over $50.',
  targets: ['es', 'es-MX', 'es-ES', 'pt', 'pt-BR', 'pt-PT'],
})

console.log(result.translations['es-MX']) // Mexikanisches Spanisch
console.log(result.translations['pt-BR']) // Brasilianisches Portugiesisch

Eine Anfrage deckt sowohl den lateinamerikanischen als auch den iberischen Markt ab. Keine Schleifen, kein Batchen nach Region.


Übersetzen von JSON-Dateien pro Markt in Python

import os, requests

client = requests.Session()
client.headers['Authorization'] = f"Bearer {os.environ['POLYLINGO_API_KEY']}"

markets = {
    'latam':  ['es-MX', 'pt-BR'],
    'europe': ['en-GB', 'fr', 'es-ES', 'pt-PT', 'de', 'it'],
    'asia':   ['zh-HK', 'zh-TW', 'zh', 'ja', 'ko'],
}

content = '{"cta": "Start your free trial"}'

for region, targets in markets.items():
    r = client.post(
        'https://api.usepolylingo.com/v1/translate',
        json={'content': content, 'format': 'json', 'targets': targets},
        timeout=120,
    )
    r.raise_for_status()
    print(f"\n{region.upper()}")
    for code, text in r.json()['translations'].items():
        print(f"  {code}: {text}")

Unterstützte Codes zur Laufzeit entdecken

Wenn Sie einen Sprachwähler oder eine dynamische Zielliste bauen, müssen Sie nichts hardcodieren. GET /languages gibt die vollständige Liste einschließlich aller regionalen Varianten zurück. Filtern Sie nach Codes, die einen Bindestrich enthalten, um speziell Dialekte zu erhalten:

const res = await fetch('https://api.usepolylingo.com/v1/languages')
const { languages } = await res.json()

const dialects = languages.filter(l => l.code.includes('-'))
console.log(dialects)
// [
//   { code: 'en-GB', name: 'English (UK)',           rtl: false },
//   { code: 'fr-CA', name: 'French (Canada)',         rtl: false },
//   { code: 'es-ES', name: 'Spanish (Spain)',         rtl: false },
//   { code: 'es-MX', name: 'Spanish (Mexico)',        rtl: false },
//   { code: 'pt-PT', name: 'Portuguese (Portugal)',   rtl: false },
//   { code: 'pt-BR', name: 'Portuguese (Brazil)',     rtl: false },
//   { code: 'zh-TW', name: 'Chinese (Traditional)',  rtl: false },
//   { code: 'zh-HK', name: 'Chinese (Hong Kong)',     rtl: false },
// ]

Wann generisch vs. regional verwenden

Verwenden Sie den generischen Code (pt, fr, es), wenn Ihr Publikum geografisch gemischt oder unbekannt ist, wenn Sie gerade erst mit einem Markt starten und eine breite Abdeckung wünschen, oder wenn der Inhalt technisch genug ist, dass regionale Unterschiede wahrscheinlich keine Rolle spielen.

Verwenden Sie den regionalen Code (pt-BR, fr-CA, es-MX), wenn Sie in ein bestimmtes Land liefern, wenn das Produkterlebnis auf andere Weise lokalisiert ist (Preise, Währung, Datumsformate), wenn Ihr Inhalt konversationell oder marketingorientiert ist und das Register wichtig ist, oder wenn Sie wissen, dass Ihre Nutzer den Unterschied bemerken werden.

Die beiden Ansätze können in derselben Anfrage koexistieren. Ein gängiges Muster ist, den generischen Code als Fallback und den regionalen Code für das Erlebnis eines bestimmten Marktes zu verwenden, beide in einer Antwort zurückgegeben.


Für bestehende Nutzer ändert sich nichts

Alle bestehenden Sprachcodes funktionieren weiterhin genau wie zuvor. Die neuen Codes sind ergänzend. Wenn Sie derzeit fr übergeben, erhalten Sie weiterhin dieselbe Ausgabe. Wenn Sie speziell kanadisches Französisch möchten, fügen Sie fr-CA zu Ihren Zielen hinzu. Beide können in demselben Aufruf ohne Konflikte koexistieren.


Holen Sie sich Ihren API-Schlüssel auf usepolylingo.com — die kostenlose Stufe umfasst 50.000 Tokens pro Monat.