מציאת פורמטי קבצים ושפות נתמכים דרך ה־API
השתמשו ב־endpoints אלה של ה־API כדי לגלות באילו פורמטים של קובצי מקור ושפות יעד הפרויקט שלכם תומך לפני יצירת משימות תרגום.
באמצעות endpoints אלה, תוכלו לברר:
- שפות יעד הזמינות עבור הפרויקט שלכם (עם קודי ISO)
- פורמטים של קובצי מקור שתוכלו להעלות, לצד פורמטי פלט תרגום נוספים ש־PTC יכולה ליצור עבור קבצים אלה
כל ה־endpoints דורשים טוקן API חוקי:
Authorization: Bearer YOUR_API_TOKENקישורים מהירים ל־API
רשימת כל שפות היעד
מאחזר את רשימת השפות שאליהן ניתן לתרגם את הפרויקט שלכם. תוכלו גם להשתמש ב־endpoint זה כדי לקבל את קודי ה־ISO הנכונים בעת יצירת משימות תרגום תוכן.
בקשת HTTP
GET https://app.ptc.wpml.org/api/v1/languagesפרמטרים
endpoint זה אינו מקבל פרמטרים כלשהם.
תגובות
תגובת הצלחה
{
"languages": [
{
"id": 123,
"iso": "es",
"name": "Spanish"
},
{
"id": 124,
"iso": "fr",
"name": "French"
},
{
"id": 125,
"iso": "de",
"name": "German"
}
]
}סכמת התגובה
| שדה | סוג | תיאור |
|---|---|---|
languages |
array[object] | מערך של אובייקטי שפות יעד שהוגדרו עבור פרויקט זה. |
languages[].id |
integer | המזהה הייחודי של השפה. |
languages[].iso |
string | קוד השפה לפי ISO 639-1 (לדוגמה, en, es, fr). |
languages[].name |
string | שם השפה בפורמט קריא לאדם. |
תגובות שגיאה
לא מורשה
{
"error": "Unauthorized access. Please provide a valid API token."
}גישה אסורה
{
"error": "Access denied. Insufficient permissions."
}בקשות לדוגמה
בקשה בסיסית:
curl -X GET "https://app.ptc.wpml.org/api/v1/languages" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"דוגמאות קוד
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})`);
});רשימת הפורמטים הנתמכים לקבצים
מאחזר את כל סיומות קובצי המקור שבאפשרותכם להעלות ל־PTC, יחד עם קבצי תרגום נוספים ש־PTC יכולה ליצור עבור קלטים אלה.
בקשת HTTP
GET https://app.ptc.wpml.org/api/v1/source_files/supported_extensionsפרמטרים
endpoint זה אינו מקבל פרמטרים כלשהם.
תגובות
תגובת הצלחה
{
"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": []
}
//...
]
}סכמת התגובה
| שדה | סוג | תיאור |
|---|---|---|
extensions |
array | מערך של אובייקטי סיומות קבצים נתמכות. |
extensions[].extension |
string | סיומת הקובץ, ללא הנקודה. |
extensions[].additional_translation_files |
array | מערך של פורמטי פלט נוספים הזמינים עבור סוג סיומת זה. |
קבצי תרגום נוספים
קיימים סוגי קבצים שיכולים להפיק קבצי תרגום נוספים בפורמטים אחרים. לדוגמה, קובצי PO ו־POT יכולים להפיק:
mo– קובצי gettext מקומפלים, המשמשים אפליקציות רבות לטעינה מהירה יותרwp– קובצי תרגום של JavaScript המשמשים ב־WordPress עבור בינאום בצד הלקוחphp– קובצי תרגום המאוחסנים כמערכי PHP
דוגמאות קוד
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);