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
API-Schnelllinks
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
Feld | Typ | Beschreibung |
---|---|---|
languages | Array[Objekt] | Das Array von Zielsprachenobjekten, die für dieses Projekt konfiguriert sind. |
languages[].id | Ganzzahl | Der eindeutige Bezeichner für die Sprache. |
languages[].iso | Zeichenkette | Der ISO 639-1 Sprachcode (z. B. en , es , fr ). |
languages[].name | Zeichenkette | Der 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
Feld | Typ | Beschreibung |
---|---|---|
extensions | array | Ein Array von unterstützten Dateierweiterungsobjekten. |
extensions[].extension | Zeichenkette | Die Dateierweiterung, ohne den Punkt. |
extensions[].additional_translation_files | array | Ein 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 werdenwp
– JavaScript-Übersetzungsdateien, die in WordPress für die clientseitige Internationalisierung verwendet werdenphp
– Übersetzungsdateien, die als PHP-Arrays gespeichert sind
Codebeispiele
- cURL
- C# – HttpClient
- NodeJS – Native
- JavaScript jQuery
- Java – OkHttp
- Go – Native
- PHP – cURL
- Python – httpclient
- Ruby – Net::HTTP
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