Vollständige API-Referenz: developer.universally.com enthält die Live-Spezifikation für die Translator API und die Platform API mit jedem Feld, Statuscode und Antwortbeispiel. Diese Seite behandelt, was man darüber wissen sollte.
Senden Sie ein Array von Zeichenketten und erhalten Sie eine Zuordnung von Quelltext zu Übersetzung. Verwenden Sie dies, wenn Sie Text anstelle einer Seite haben: eine App-Oberfläche, eine Headless-CMS-Nutzlast, E-Mail-Texte oder Push-Benachrichtigungen.
Endpunkt
POST https://translator.universally.com/v1/translate/strings
X-API-Key: your_api_key_here
Content-Type: application/json
Anfrage
{
"strings": ["Add to cart", "Out of stock", "Free shipping over $50"],
"targetLanguage": "de",
"fresh": false
}
| Feld | Erforderlich | Hinweise |
|---|---|---|
Zeichenketten |
ja | Zwischen 1 und 500 Einträge. Jeder muss nicht leer sein. |
Zielsprache |
ja | Ein im Projekt aktivierter Sprachcode |
frisch |
nein | true umgeht gespeicherte Übersetzungen und übersetzt erneut. Standardmäßig false. |
Beachten Sie, dass hier keine sourceUrl vorhanden ist, im Gegensatz zu HTML übersetzen. Zeichenketten sind nicht an eine Seite gebunden.
Antwort
{
"success": true,
"data": {
"translations": {
"Add to cart": "In den Warenkorb",
"Out of stock": "Nicht auf Lager",
"Free shipping over $50": "Kostenloser Versand ab 50 $"
},
"metadata": {
"sourceLanguage": "en",
"targetLanguage": "de",
"stringsReceived": 3,
"stringsTranslated": 3,
"limitReached": false,
"skippedStrings": 0
}
},
"code": "DATA_FETCHED"
}
translations ist mit Ihrer ursprünglichen Zeichenkette verschlüsselt, sodass Sie jede Zeichenkette nachschlagen können, ohne die Reihenfolge des Arrays zu verfolgen.
Fehlende Schlüssel behandeln
Eine nicht übersetzte Zeichenkette wird vollständig aus translations weggelassen. Schlagen Sie jeden Schlüssel mit einem Fallback auf Ihren eigenen Text nach:
const out = strings.map((s) => data.translations[s] ?? s);
Drei Dinge führen dazu, dass ein Schlüssel fehlt:
- Nichts zu übersetzen. Eine reine Zahl, eine URL, eine E-Mail-Adresse, ein einzelnes Zeichen.
- Das Wort-Limit ist erreicht. Der Arbeitsbereich war bereits am oder über seinem Limit, als die Anfrage eintraf, was die Antwort als
limitReached: truemit einerskippedStrings-Anzahl meldet. - Ein vorübergehender Fehler bei der Übersetzung dieses Stapels.
Lesen Sie metadata für die Form dessen, was passiert ist: stringsTranslated unter stringsReceived bedeutet, dass einige fehlen.
Es gibt einen Sonderfall, der sich anders verhält: Wenn überhaupt nichts in der Anfrage übersetzbar war, wird jeder Eingabe unverändert zurückgegeben. Bauen Sie nicht darauf auf, da dies nicht zutrifft, sobald eine Zeichenkette übersetzbar ist.
Deduplizierung
Wiederholte Zeichenketten in einer Anfrage werden einmal übersetzt. Das fünfzigmalige Senden desselben Labels kostet eine Übersetzung, daher ist keine Deduplizierung vor dem Aufruf erforderlich.
Grenzen
500 Zeichenketten pro Anfrage. Mehr schlägt fehl bei der Validierung. Teilen Sie größere Sätze auf Anfragen auf. Das 5-MB-Body-Limit gilt auch hier. Siehe API-Fehler und Limits.
Glossarregeln gelten
Glossarregeln werden auf Zeichenketten genauso angewendet wie auf Seiten, sodass ein Begriff, den Sie immer oder nie übersetzen, über beide Endpunkte hinweg konsistent ist. Siehe Glossarregeln.
Wann fresh zu verwenden ist
Lassen Sie es false. Gespeicherte Übersetzungen werden sofort zurückgegeben und kosten nichts.
fresh: true übersetzt den String erneut und gibt den neuen Text zurück, ohne ihn zu speichern. Es handelt sich also um eine Vorschau und nicht um eine Möglichkeit, die ausgelieferte Version zu ändern. Die nächste normale Anfrage für diesen String gibt weiterhin die zuvor gespeicherte Übersetzung zurück. Da nichts gespeichert wird, zählt ein fresh-Aufruf auch nicht zu Ihrer Wortanzahl.
Um die ausgelieferte Version zu ändern, speichern Sie die neue Formulierung auf dem Bildschirm Übersetzungen. Siehe Übersetzungen manuell bearbeiten.