Unterstützte Dateiformate und Sprachen über die API finden
Nutzen Sie diese API-Endpunkte, um herauszufinden, welche Quelldateiformate und Zielsprachen Ihr Projekt unterstützt, bevor Sie Übersetzungsjobs erstellen.
Mit diesen Endpunkten können Sie Folgendes abfragen:
- Zielsprachen, die für Ihr Projekt verfügbar sind (mit ISO-Codes)
- Quelldateiformate, die Sie hochladen können, sowie alle zusätzlichen Ausgabeformate für Übersetzungen, die die PTC für diese Dateien generieren kann
Alle Endpunkte erfordern ein gültiges API-Token:
Authorization: Bearer YOUR_API_TOKENAPI-Quicklinks
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 zu erhalten, wenn Sie Inhaltsübersetzungsjobs erstellen.
HTTP-Anfrage
GET https://app.ptc.wpml.org/api/v1/languagesParameter
Dieser Endpunkt akzeptiert keine Parameter.
Antworten
Erfolgsantwort
{
"languages": [
{
"id": 123,
"iso": "es",
"name": "Spanish"
},
{
"id": 124,
"iso": "fr",
"name": "French"
},
{
"id": 125,
"iso": "de",
"name": "German"
}
]
}Antwortschema
| Feld | Typ | Beschreibung |
|---|---|---|
languages |
array[object] | Das Array der für dieses Projekt konfigurierten Zielsprachenobjekte. |
languages[].id |
integer | Der eindeutige Bezeichner für die Sprache. |
languages[].iso |
string | Der Sprachcode (z. B. en, es, fr). Die meisten sind ISO 639-1, aber nicht alle: Die Liste enthält auch regionale und Skript-Subtags wie pt-BR, pt-PT und zh-Hans. Die Groß- und Kleinschreibung ist relevant – übernehmen Sie die Codes, die dieser Endpunkt zurückgibt, anstatt sie kleinzuschreiben. |
languages[].name |
string | Der menschenlesbare Name der Sprache. |
Der Code in einem Dateipfad ist unabhängig von dem Code in dieser Antwort zu betrachten. Wenn output_file_path den Wert {{lang}} enthält, ersetzt die PTC diesen durch das für das Projekt konfigurierte Sprach-Mapping für diese Sprache und greift auf den Systemcode als Fallback zurück, wenn kein Mapping festgelegt ist. Ein Projekt, das Deutsch auf deutsch mappt, schreibt deutsch in den Pfad, während dieser Endpunkt weiterhin de zurückgibt, und beides ist korrekt.
Fehlerantworten
Nicht autorisiert (Unauthorized)
{
"error": "Unauthorized access. Please provide a valid API token."
}Verboten (Forbidden)
{
"error": "Access denied. Insufficient permissions."
}Beispielanfragen
Einfache Anfrage:
curl -X GET "https://app.ptc.wpml.org/api/v1/languages" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"Codebeispiele
curl -X GET "https://app.ptc.wpml.org/api/v1/languages" \
-H "Authorization: Bearer YOUR_API_TOKEN"require 'net/http'
require 'uri'
uri = URI('https://app.ptc.wpml.org/api/v1/languages')
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)
require 'json'
data = JSON.parse(response.body)
data['languages'].each { |lang| puts "- #{lang['name']} (#{lang['iso']})" }import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN'
}
response = requests.get('https://app.ptc.wpml.org/api/v1/languages', headers=headers)
data = response.json()
for language in data['languages']:
print(f"- {language['name']} ({language['iso']})")<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://app.ptc.wpml.org/api/v1/languages',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_TOKEN'
],
]);
$response = curl_exec($curl);
curl_close($curl);
$data = json_decode($response, true);
foreach ($data['languages'] as $language) {
echo "- {$language['name']} ({$language['iso']})\n";
}
?>import okhttp3.*;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://app.ptc.wpml.org/api/v1/languages")
.addHeader("Authorization", "Bearer YOUR_API_TOKEN")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://app.ptc.wpml.org/api/v1/languages", nil)
req.Header.Add("Authorization", "Bearer YOUR_API_TOKEN")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
using System;
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/languages");
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);const axios = require('axios');
const response = await axios.get('https://app.ptc.wpml.org/api/v1/languages', {
headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});
response.data.languages.forEach(lang => {
console.log(`- ${lang.name} (${lang.iso})`);
});Unterstützte Dateiformate auflisten
Ruft alle Quelldateiendungen ab, die Sie in die PTC hochladen können, zusammen mit allen zusätzlichen Übersetzungsdateien, die die PTC für diese Eingaben generieren kann.
HTTP-Anfrage
GET https://app.ptc.wpml.org/api/v1/source_files/supported_extensionsParameter
Dieser Endpunkt akzeptiert keine Parameter.
Antworten
Erfolgsantwort
{
"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
| Feld | Typ | Beschreibung |
|---|---|---|
extensions |
array | Ein Array von unterstützten Dateiendungsobjekten. |
extensions[].extension |
string | Die Dateiendung, ohne den Punkt. |
extensions[].additional_translation_files |
array | Ein Array von zusätzlichen Ausgabeformaten, die für diesen Dateiendungstyp verfügbar sind. |
Zusätzliche Übersetzungsdateien
Einige Dateitypen können zusätzliche Übersetzungsdateien in anderen Formaten generieren. Beispielsweise können PO- und POT-Dateien Folgendes erzeugen:
mo– Kompilierte gettext-Dateien, die von vielen Anwendungen für schnelleres Laden verwendet werdenwp– JavaScript-Übersetzungsdateien, die in WordPress für die clientseitige Internationalisierung verwendet werdenphp– Ü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"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.bodyimport 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())<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://app.ptc.wpml.org/api/v1/source_files/supported_extensions',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_TOKEN'
],
]);
$response = curl_exec($curl);
curl_close($curl);
print_r(json_decode($response, true));
?>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();
System.out.println(response.body().string());package main
import (
"fmt"
"io"
"net/http"
)
func main() {
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, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
using System;
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();
Console.WriteLine(content);const axios = require('axios');
const response = await axios.get('https://app.ptc.wpml.org/api/v1/source_files/supported_extensions', {
headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});
console.log(response.data);