tp-sync-api

API-Dokumentation zur Integration von Übersetzungen in TranslatePress (TP Sync API)

API-Dokumentation zur Integration von Übersetzungen in TranslatePress (TP Sync API)

Diese API bietet zwei Endpunkte für die Arbeit mit Übersetzungsstrings im TranslatePress-Plugin. Die Standardsprache ist Englisch (US-EnglischAlle Anfragen erfordern eine Authentifizierung mittels Bearer-Token (wird im WordPress-Adminbereich im Menü "TP Sync" abgerufen).

Basis-URL: https://your-site.com/wp-json/tp-sync/v1/

1. Abrufen von Übersetzungsstrings (GET /keys)

Dieser Endpunkt gibt eine Liste von Zeichenketten aus dem TranslatePress-Wörterbuch für die angegebene Sprache zurück. Jede Zeichenkette enthält eine ID (im Format, languages="[\"de\",\"fr\",\"id\",\"it\",\"ko\",\"tr\",\"vi\",\"zh\",\"ru\",\"pt\",\"es\"]") Wörterbuch:{id}Originaltext in Englisch, aktuelle Übersetzung, Status und Paginierungsmetadaten. Sortierung nach ID DESC (neueste oben). Daten, Erstellt am und Aktualisiert am immer null werden in SQL nicht abgefragt).

Abfrageparameter

Parameter Typ Erforderlich Beschreibung Standardwert
Sprache Zeichenkette Ja Sprachcode (zum Beispiel, de für Deutsch,, fr für Französisch). Kurzcodes werden normalisiert (de → de_de).
Seite Ganzzahl Nein Seitennummer für die Paginierung. 1
Limit Ganzzahl Nein Anzahl der Zeilen pro Seite (mindestens 1, höchstens 500). 100
Aktualisiert seit Zeichenkette Nein Filter nach Aktualisierungsdatum (ISO8601, z.B., 2025-10-01T00:00:00Zinput=). Gibt nur Zeilen zurück, die nach diesem Datum aktualisiert wurden.

Überschriften

  • Autorisierung: Bearer {токен} (Pflicht)

Beispielanfrage (cURL)

curl -X GET "https://your-site.com/wp-json/tp-sync/v1/keys?lang=de&page=1&limit=50&updated_since=2025-10-01T00:00:00Z" \
  -H "Authorization: Bearer your-api-token-here"

Beispielantwort (JSON)

{
  "keys": [
    {
      "key_id": "dictionary:123",
      "original": "Hello World",
      "translated": "Hallo Welt",
      "status": 2,
      "created_at": null,
      "updated_at": null
    },
    {
      "key_id": "dictionary:124",
      "original": "Welcome",
      "translated": "Willkommen",
      "status": 0,
      "created_at": null,
      "updated_at": null
    }
  ],
  "meta": {
    "total_count": 150,
    "page": 1,
    "limit": 50,
    "page_count": 3,
    "next_page": "https://your-site.com/wp-json/tp-sync/v1/keys?lang=de&page=2&limit=50&updated_since=2025-10-01T00:00:00Z"
  }
}

Beschreibung der Felder in der Antwort

Feld Typ Beschreibung
Schlüssel-ID Zeichenkette Eindeutige Zeilen-ID: Wörterbuch:{id} id — die Nummer des Eintrags in der Tabelle wp_trp_dictionary_en_us_{lang}).
original Zeichenkette Originaltext in Englisch.
übersetzt Zeichenkette Aktuelle Übersetzung für die angegebene Sprache (kann leer sein).
Status Ganzzahl Status: 0 — nicht übersetzt, 1 — in Bearbeitung, 2 — übersetzt.
Erstellt am Zeichenkette Erstellungsdatum (ISO8601, null — не запрашивается).
Aktualisiert am Zeichenkette Aktualisierungsdatum (ISO8601) null — не запрашивается).

Metadaten (meta)

  • GesamtanzahlGesamtanzahl der Zeilen (inklusive Filter).
  • SeiteAktuelle Seite.
  • LimitSeitenlimit.
  • SeitenanzahlGesamtanzahl der Seiten.
  • Nächste SeiteURL der nächsten Seite (null, wenn es die letzte ist).

Fehler

  • 401: Fehlender oder ungültiger Authorization-Header.
  • 403: Ungültiges Token.
  • 404: Sprache in TranslatePress nicht gefunden (Tabelle fehlt).

Übersetzungsaktualisierung (POST /translations)

Dieser Endpunkt aktualisiert Übersetzungen für mehrere Zeichenketten gleichzeitig (Batch). Es wird ein Array von Objekten mit der ID der Zeichenkette, der Sprache und der neuen Übersetzung übergeben. Es aktualisiert den Status auf „übersetzt“ (2) sowie das Feld, languages="[\"de\",\"fr\",\"id\",\"it\",\"ko\",\"tr\",\"vi\",\"zh\",\"ru\",\"pt\",\"es\"]" Aktualisiert am.

Anfragekörper (JSON)

Array Übersetzungen mit Objekten:

[
  {
    "key_id": "dictionary:123",
    "translation": "Hallo Welt"
  },
  {
    "key_id": "dictionary:124",
    "translation": "Willkommen"
  }
]

Parameter

Feld im Objekt Typ Erforderlich Beschreibung
Schlüssel-ID Zeichenkette Ja Zeilen-ID: Wörterbuch:{id} aus GET /keys).
language_iso Zeichenkette Ja Sprachcode (de → de_de, wird automatisch normalisiert).
Übersetzung Zeichenkette Ja Neuer Übersetzungstext (wird wie gehabt beibehalten).

Überschriften

  • Autorisierung: Bearer {токен} (Pflicht)
  • Content-Type: application/json (Pflicht)

Beispielanfrage (cURL)

curl -X POST "https://your-site.com/wp-json/tp-sync/v1/translations" \
  -H "Authorization: Bearer your-api-token-here" \
  -H "Content-Type: application/json" \
  -d '{
    "translations": [
      {
        "key_id": "dictionary:123",
        "language_iso": "de",
        "translation": "Hallo Welt"
      }
    ]
  }'

Beispielantwort (JSON)

{
  "translations": [
    {
      "key_id": "dictionary:123",
      "language_iso": "de",
      "translation": "Hallo Welt",
      "modified_at": "2025-10-15T12:00:00Z"
    }
  ],
  "errors": [
    {
      "index": 1,
      "key_id": "dictionary:999",
      "error": "Schlüssel wurde in der Datenbank nicht gefunden"
    }
  ]
}

Beschreibung der Felder in der Antwort

  • ÜbersetzungenArray der erfolgreich aktualisierten Übersetzungen (gibt die Eingabedaten zurück Geändert am in ISO8601).,
  • Fehler (optional, falls Fehler auftreten): Fehler-Array
    • IndexIndex des Elements im ursprünglichen Array.
    • Schlüssel-IDID der problematischen Zeile (falls zutreffend).
    • FehlerFehlermeldung (Beispiele: "Missing required fields", "Invalid key_id format. Expected: dictionary:{id}", "Language not found", "Key not found in database", "Database update failed").

Fehler

  • 400: Ungültige Daten (leer/nicht-Array) Übersetzungen, fehlende Felder).
  • 401/403: Autorisierungsprobleme.
  • 404: Sprache oder Schlüssel nicht gefunden (Tabelle/Eintrag fehlt).

Unterstützte Sprachen

Kurzcodes werden automatisch normalisiert (basierend auf der Zuordnung im Code). Für Unbekannte: Eingabe={code}_{code} zum Beispiel, pl → pl_pl).

  • en → en_us
  • ar → ar
  • id → id_id
  • ko → ko_kr
  • tr → tr_tr
  • vi
  • ru → ru_ru
  • fr → fr_fr
  • de → de_de
  • it → it_it
  • ja
  • pt → pt_pt
  • zh → zh_cn
  • es → es_es

Token abrufen

  • Im WordPress-Adminbereich: Menü TP Sync → Schaltfläche "Generate New Token" (32-Zeichen-Token, wird beim ersten Start automatisch generiert).
  • Der Token wird in der Option gespeichert tp_sync_api_token.