Unterstützte Dateiformate und Sprachen über die API finden

Verwenden Sie diese API-Endpunkte, um herauszufinden, welche Quelldateiformate und Zielsprachen Ihr Projekt unterstützt, bevor Sie Übersetzungsaufträge erstellen.

Mithilfe dieser Endpunkte können Sie abfragen:

  • Zielsprachen, die für Ihr Projekt verfügbar sind (mit ISO-Codes)
  • Quelldateiformate, die Sie hochladen können, sowie alle zusätzlichen Übersetzungs-Ausgabeformate, die PTC für diese Dateien generieren kann

Alle Endpunkte erfordern einen gültigen API-Token:

Authorization: Bearer YOUR_API_TOKEN

Alle Zielsprachen auflisten

Ruft die Liste der Sprachen ab, in die Ihr Projekt übersetzt werden kann. Sie können diesen Endpunkt auch verwenden, um die korrekten ISO-Codes beim Erstellen von Inhaltsübersetzungsaufträgen zu erhalten.

HTTP-Anfrage

GET https://app.ptc.wpml.org/api/v1/languages

Parameter

Dieser Endpunkt akzeptiert keine Parameter.

Antworten

Erfolgreiche Antwort

  • Code: 200 OK
  • Inhaltstyp: application/json
{
  "languages": [
    {
      "id": 123,
      "iso": "es",
      "name": "Spanish"
    },
    {
      "id": 124,
      "iso": "fr", 
      "name": "French"
    },
    {
      "id": 125,
      "iso": "de",
      "name": "German"
    }
  ]
}
Antwortschema
FeldTypBeschreibung
languagesArray[Objekt]Das Array von Zielsprachenobjekten, die für dieses Projekt konfiguriert sind.
languages[].idGanzzahlDer eindeutige Bezeichner für die Sprache.
languages[].isoZeichenketteDer ISO 639-1 Sprachcode (z. B. en, es, fr).
languages[].nameZeichenketteDer menschenlesbare Name der Sprache.

Fehlerantworten

Nicht autorisiert
  • Code: 401 Unauthorized
{
  "error": "Unauthorized access. Please provide a valid API token."
}
Verboten
  • Code: 403 Forbidden
{
  "error": "Access denied. Insufficient permissions."
}

Beispielanfragen

Grundlegende Anfrage:

curl -X GET "https://app.ptc.wpml.org/api/v1/languages" \
  -H "Content-Type: application/json"

Codebeispiele

const response = await fetch('https://app.ptc.wpml.org/api/v1/languages', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log('Available target languages:', data.languages);

// Get language codes only
const languageCodes = data.languages.map(lang => lang.iso);
console.log('Language codes:', languageCodes);
import requests

headers = {
    'Content-Type': 'application/json'
}

response = requests.get('https://app.ptc.wpml.org/api/v1/languages', headers=headers)
data = response.json()

print("Available target languages:")
for language in data['languages']:
    print(f"- {language['name']} ({language['iso']})")

# Get language codes for API calls
language_ids = [lang['id'] for lang in data['languages']]
<?php
$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://app.ptc.wpml.org/api/v1/languages',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json'
    ],
]);

$response = curl_exec($curl);
curl_close($curl);

$data = json_decode($response, true);

echo "Available target languages:\n";
foreach ($data['languages'] as $language) {
    echo "- {$language['name']} ({$language['iso']})\n";
}
?>
const axios = require('axios');

const response = await axios.get('https://app.ptc.wpml.org/api/v1/languages', {
  headers: {
    'Content-Type': 'application/json'
  }
});

console.log('Available target languages:');
response.data.languages.forEach(language => {
  console.log(`- ${language.name} (${language.iso})`);
});

// Create a lookup map
const languageMap = response.data.languages.reduce((map, lang) => {
  map[lang.iso] = lang;
  return map;
}, {});

Unterstützte Dateiformate auflisten

Ruft alle Quelldateierweiterungen ab, die Sie zu PTC hochladen können, zusammen mit allen zusätzlichen Übersetzungsdateien, die PTC für diese Eingaben generieren kann.

HTTP-Anfrage

GET https://app.ptc.wpml.org/api/v1/source_files/supported_extensions

Parameter

Dieser Endpunkt akzeptiert keine Parameter.

Antworten

Erfolgreiche Antwort

  • Code: 200 OK
  • Inhaltstyp: application/json
{
  "extensions": [
    {
      "extension": "po",
      "additional_translation_files": ["mo", "wp", "php"]
    },
    {
      "extension": "pot", 
      "additional_translation_files": ["mo", "wp", "php"]
    },
    {
      "extension": "json",
      "additional_translation_files": []
    },
    {
      "extension": "yml",
      "additional_translation_files": []
    }
    //...
  ]
}
Antwortschema
FeldTypBeschreibung
extensionsarrayEin Array von unterstützten Dateierweiterungsobjekten.
extensions[].extensionZeichenketteDie Dateierweiterung, ohne den Punkt.
extensions[].additional_translation_filesarrayEin Array zusätzlicher Ausgabeformate, die für diesen Erweiterungstyp verfügbar sind.
Zusätzliche Übersetzungsdateien

Einige Dateitypen können zusätzliche Übersetzungsdateien in anderen Formaten generieren. Zum Beispiel können PO– und POT-Dateien Folgendes erzeugen:

  • mo – Kompilierte Gettext-Dateien, die von vielen Anwendungen für schnelleres Laden verwendet werden
  • wp – JavaScript-Übersetzungsdateien, die in WordPress für die clientseitige Internationalisierung verwendet werden
  • php – Übersetzungsdateien, die als PHP-Arrays gespeichert sind

Codebeispiele

curl -X GET "https://app.ptc.wpml.org/api/v1/source_files/supported_extensions" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
using System.Net.Http;
using System.Threading.Tasks;

var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "YOUR_API_TOKEN");

var response = await client.GetAsync("https://app.ptc.wpml.org/api/v1/source_files/supported_extensions");
var content = await response.Content.ReadAsStringAsync();
const https = require('https');

const options = {
  hostname: 'app.ptc.wpml.org',
  path: '/api/v1/source_files/supported_extensions',
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN'
  }
};

const req = https.request(options, (res) => {
  let data = '';
  res.on('data', (chunk) => { data += chunk; });
  res.on('end', () => { console.log(JSON.parse(data)); });
});

req.end();
$.ajax({
  url: 'https://app.ptc.wpml.org/api/v1/source_files/supported_extensions',
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN'
  },
  success: function(data) {
    console.log(data);
  }
});
import okhttp3.*;

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://app.ptc.wpml.org/api/v1/source_files/supported_extensions")
  .addHeader("Authorization", "Bearer YOUR_API_TOKEN")
  .build();

Response response = client.newCall(request).execute();
String responseBody = response.body().string();
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    client := &http.Client{}
    req, _ := http.NewRequest("GET", "https://app.ptc.wpml.org/api/v1/source_files/supported_extensions", nil)
    req.Header.Add("Authorization", "Bearer YOUR_API_TOKEN")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
    
    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}
<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://app.ptc.wpml.org/api/v1/source_files/supported_extensions',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer YOUR_API_TOKEN'
  ),
));

$response = curl_exec($curl);
curl_close($curl);

echo $response;
?>
import requests

headers = {
    'Authorization': 'Bearer YOUR_API_TOKEN'
}

response = requests.get('https://app.ptc.wpml.org/api/v1/source_files/supported_extensions', headers=headers)
print(response.json())
require 'net/http'
require 'uri'

uri = URI('https://app.ptc.wpml.org/api/v1/source_files/supported_extensions')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer YOUR_API_TOKEN'

response = http.request(request)
puts response.body

Nach oben scrollen