איתור פורמטי קבצים ושפות נתמכים באמצעות ה-API
השתמשו בנקודות קצה (endpoints) אלו של ה-API כדי לגלות באילו פורמטים של קובצי מקור ושפות יעד הפרויקט שלכם תומך לפני יצירת עבודות תרגום.
באמצעות נקודות קצה אלו, תוכלו לשלוח שאילתות לגבי:
- שפות יעד הזמינות עבור הפרויקט שלכם (כולל קודי ISO)
- פורמטים של קובצי מקור שניתן להעלות, בתוספת פורמטי פלט תרגום נוספים ש-PTC יכול להפיק עבור קבצים אלו
כל נקודות הקצה דורשות טוקן API תקף:
Authorization: Bearer YOUR_API_TOKENקישורים מהירים ל-API
רשימת כל שפות היעד
שילפו את רשימת השפות שאליהן ניתן לתרגם את הפרויקט שלכם. ניתן להשתמש בנקודת קצה זו גם כדי לקבל את קודי ה-ISO הנכונים בעת יצירת עבודות תרגום תוכן.
בקשת HTTP
GET https://app.ptc.wpml.org/api/v1/languagesפרמטרים
נקודת קצה זו אינה מקבלת פרמטרים כלשהם.
תגובות
תגובת הצלחה
{
"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 | שם השפה בפורמט קריא לבני אדם. |
תגובות שגיאה
Unauthorized
{
"error": "Unauthorized access. Please provide a valid API token."
}Forbidden
{
"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פרמטרים
נקודת קצה זו אינה מקבלת פרמטרים כלשהם.
תגובות
תגובת הצלחה
{
"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 מהודרים (compiled), המשמשים אפליקציות רבות לטעינה מהירה יותרwp– קובצי תרגום JavaScript המשמשים ב-WordPress עבור בינאום (internationalization) בצד הלקוח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);