Εισαγωγή

Καλώς ήρθατε στο API Μετάφρασης i18n-agent! Υπηρεσία μετάφρασης με τεχνητή νοημοσύνη και πολιτισμική προσαρμογή

Αυτή η τεκμηρίωση API παρέχει ολοκληρωμένες πληροφορίες σχετικά με όλα τα διαθέσιμα τελικά σημεία, τις μεθόδους ταυτοποίησης, τις μορφές αιτήματος/απόκρισης και τους κωδικούς σφάλματος.

Βάση URLs

Περιβάλλον URL
Ανάπτυξη http://localhost:8000
Παραγωγή https://api.i18nagent.ai

Βασικά Χαρακτηριστικά

  • 🌐 Υποστήριξη Πολλαπλών Γλωσσών - Μετάφραση περιεχομένου σε 10+ γλώσσες με πολιτισμική προσαρμογή
  • 🚀 Ροή Πραγματικού Χρόνου - Συμβάντα Αποστολής Διακομιστή για ενημερώσεις προόδου
  • 📁 Μετάφραση Αρχείων - Υποστήριξη για JSON, YAML, XML, CSV και άλλα
  • 🔐 Ασφαλής Ταυτοποίηση - Ταυτοποίηση βασισμένη σε κλειδί API
  • 💳 Σύστημα Πίστωσης - Μοντέλο τιμολόγησης πληρωμής ανά χρήση
  • 🤖 Με τεχνητή νοημοσύνη - Χρησιμοποιεί προηγμένα LLMs για ακριβείς μεταφράσεις

Έλεγχος ταυτότητας

Για έλεγχο ταυτότητας, χρησιμοποιήστε αυτόν τον κωδικό:

# With shell, you can just pass the correct header with each request
curl "api_endpoint_here" \
  -H "Authorization: Bearer i18n_your_api_key_here"
const headers = {
  'Authorization': 'Bearer i18n_your_api_key_here',
  'Content-Type': 'application/json'
};

fetch('api_endpoint_here', { headers })
  .then(response => response.json())
  .then(data => console.log(data));
import requests

headers = {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
}

response = requests.get('api_endpoint_here', headers=headers)
print(response.json())
package main

import (
    "net/http"
)

func main() {
    client := &http.Client{}
    req, _ := http.NewRequest("GET", "api_endpoint_here", nil)
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Βεβαιωθείτε ότι έχετε αντικαταστήσει το i18n_your_api_key_here με το API key σας.

Το API του i18n-agent χρησιμοποιεί κλειδιά API για να επιτρέψει την πρόσβαση στο API. Μπορείτε να αποκτήσετε το κλειδί API σας από τον πίνακα ελέγχου του λογαριασμού σας.

Το κλειδί API πρέπει να συμπεριληφθεί σε όλα τα αιτήματα API προς τον διακομιστή σε μια κεφαλίδα που μοιάζει με την ακόλουθη:

Authorization: Bearer i18n_your_api_key_here

Τελικά σημεία

Πιστώσεις

Λήψη πιστώσεων ομάδας

GET /credits

Λάβετε το τρέχον υπόλοιπο πίστωσης για την πιστοποιημένη ομάδα

curl -X GET "https://api.i18nagent.ai/credits" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/credits', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.get(
    'https://api.i18nagent.ai/credits',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("GET", "https://api.i18nagent.ai/credits", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Γλώσσες

Λίστα υποστηριζόμενων γλωσσών

GET /languages

Λάβετε μια λίστα όλων των υποστηριζόμενων γλωσσών με αξιολογήσεις ποιότητας

curl -X GET "https://api.i18nagent.ai/languages" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/languages', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.get(
    'https://api.i18nagent.ai/languages',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("GET", "https://api.i18nagent.ai/languages", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Εργασίες Μετάφρασης

Λήψη ιστορικού μετάφρασης

GET /translations

Λάβετε σελιδοποιημένη λίστα εργασιών μετάφρασης με προαιρετικά φίλτρα για κατάσταση, τύπο, γλώσσες-στόχους και εύρος ημερομηνιών

curl -X GET "https://api.i18nagent.ai/translations" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/translations', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.get(
    'https://api.i18nagent.ai/translations',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("GET", "https://api.i18nagent.ai/translations", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Παράμετροι Ερωτήματος

Παράμετρος Απαιτείται Περιγραφή
page Όχι Αριθμός σελίδας για σελιδοποίηση
limit Όχι Αριθμός στοιχείων ανά σελίδα
status Όχι Φιλτράρισμα κατά κατάσταση μετάφρασης
type Όχι Φιλτράρισμα κατά τύπο μετάφρασης
targetLanguages Όχι Λίστα κωδικών γλωσσών-στόχων διαχωρισμένη με κόμμα για φιλτράρισμα
fromDate Όχι Φιλτράρισμα μεταφράσεων που δημιουργήθηκαν μετά από αυτή την ημερομηνία
toDate Όχι Φιλτράρισμα μεταφράσεων που δημιουργήθηκαν πριν από αυτή την ημερομηνία

Λήψη λεπτομερειών μετάφρασης

GET /translations/{id}

Λήψη λεπτομερειών συγκεκριμένης μετάφρασης κατά ID

curl -X GET "https://api.i18nagent.ai/translations/{id}" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/translations/{id}', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.get(
    'https://api.i18nagent.ai/translations/{id}',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("GET", "https://api.i18nagent.ai/translations/{id}", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει δομημένο JSON ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Παράμετροι ερωτήματος

Παράμετρος Απαιτείται Περιγραφή
id Ναι Αναγνωριστικό μετάφρασης

Λήψη κατάστασης μετάφρασης

GET /translations/{id}/status

Λάβετε την κατάσταση μιας εργασίας μετάφρασης σε πραγματικό χρόνο με λεπτομερή παρακολούθηση προόδου, συμπεριλαμβανομένων: ποσοστού προόδου, χρόνου που έχει παρέλθει, εκτιμώμενου υπολειπόμενου χρόνου, πληροφοριών σημείου ελέγχου, μερικής ολοκλήρωσης για μεταφράσεις πολλαπλών γλωσσών και προϋπογεγραμμένου URLs λήψης για ολοκληρωμένα αποτελέσματα.

curl -X GET "https://api.i18nagent.ai/translations/{id}/status" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/translations/{id}/status', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.get(
    'https://api.i18nagent.ai/translations/{id}/status',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("GET", "https://api.i18nagent.ai/translations/{id}/status", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Παράμετροι Ερωτήματος

Παράμετρος Απαιτείται Περιγραφή
id Ναι Αναγνωριστικό μετάφρασης

Λήψη αποτελέσματος μετάφρασης

GET /translations/{id}/result

Λήψη του μεταφρασμένου περιεχομένου

curl -X GET "https://api.i18nagent.ai/translations/{id}/result" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/translations/{id}/result', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.get(
    'https://api.i18nagent.ai/translations/{id}/result',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("GET", "https://api.i18nagent.ai/translations/{id}/result", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Παράμετροι Ερωτήματος

Παράμετρος Απαιτείται Περιγραφή
id Ναι ID Μετάφρασης
language Όχι Κωδικός γλώσσας για συγκεκριμένο αποτέλεσμα γλώσσας

Λήψη αρχικού αρχείου

GET /translations/{id}/original

Λήψη του αρχικού μεταφορτωμένου αρχείου

curl -X GET "https://api.i18nagent.ai/translations/{id}/original" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/translations/{id}/original', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.get(
    'https://api.i18nagent.ai/translations/{id}/original',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("GET", "https://api.i18nagent.ai/translations/{id}/original", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Παράμετροι Ερωτήματος

Παράμετρος Απαιτείται Περιγραφή
id Ναι ID Μετάφρασης

Συνέχιση μετάφρασης από σημείο ελέγχου

POST /translations/{id}/resume

Συνέχιση μιας αποτυχημένης ή διακεκομμένης μετάφρασης από ένα συγκεκριμένο σημείο ελέγχου ή αυτόματα από το τελευταίο επιτυχημένο σημείο ελέγχου

curl -X POST "https://api.i18nagent.ai/translations/{id}/resume" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
  "texts": [
    "Hello, world!",
    "Welcome to our service"
  ],
  "targetLanguage": "es",
  "targetAudience": "general",
  "industry": "technology",
  "sourceLanguage": "en",
  "region": "Mexico",
  "notes": "Keep technical terms in English, use formal tone"
}'
const response = await fetch('https://api.i18nagent.ai/translations/{id}/resume', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
        "texts": [
            "Hello, world!",
            "Welcome to our service"
        ],
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
        "sourceLanguage": "en",
        "region": "Mexico",
        "notes": "Keep technical terms in English, use formal tone"
    })
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.post(
    'https://api.i18nagent.ai/translations/{id}/resume',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    },
    json={
        "texts": [
            "Hello, world!",
            "Welcome to our service"
        ],
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
        "sourceLanguage": "en",
        "region": "Mexico",
        "notes": "Keep technical terms in English, use formal tone"
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    data := map[string]interface{}{
        "texts": []string{"Hello, world!", "Welcome to our service"},
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
    }
    jsonData, _ := json.Marshal(data)
    
    req, _ := http.NewRequest("POST", "https://api.i18nagent.ai/translations/{id}/resume", bytes.NewBuffer(jsonData))
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Παράμετροι Ερωτήματος

Παράμετρος Απαιτείται Περιγραφή
id Ναι ID Μετάφρασης

Παράμετροι Σώματος Αιτήματος

Παράμετρος Τύπος Απαιτείται Περιγραφή
checkpointId string Όχι Αδιαφανές ID σημείου ελέγχου για συνέχιση (λαμβάνεται από το endpoint κατάστασης). Εάν δεν παρέχεται και το autoDetect είναι true, θα συνεχίσει από το τελευταίο επιτυχημένο σημείο ελέγχου.
continueToEnd boolean Όχι Εάν θα συνεχιστεί η επεξεργασία όλου του υπόλοιπου περιεχομένου μετά τη συνέχιση (προεπιλογή: true)
autoDetect boolean Όχι Αυτόματος εντοπισμός και συνέχιση από το τελευταίο επιτυχημένο σημείο ελέγχου εάν δεν παρέχεται το checkpointId (προεπιλογή: true)

Λήψη ενεργών εργασιών μετάφρασης

GET /translations/jobs/active

Λήψη λίστας των τρεχόντων ενεργών εργασιών μετάφρασης

curl -X GET "https://api.i18nagent.ai/translations/jobs/active" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/translations/jobs/active', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.get(
    'https://api.i18nagent.ai/translations/jobs/active',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("GET", "https://api.i18nagent.ai/translations/jobs/active", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Λήψη αποτελεσμάτων μετάφρασης

POST /translations/{jobId}/download

Λήψη ολοκληρωμένων αποτελεσμάτων μετάφρασης. Επιστρέφει προϋπογεγραμμένα URLs λήψης οργανωμένα ανά γλώσσα. Τα URLs λήγουν μετά από 24 ώρες.

curl -X POST "https://api.i18nagent.ai/translations/{jobId}/download" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/translations/{jobId}/download', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.post(
    'https://api.i18nagent.ai/translations/{jobId}/download',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("POST", "https://api.i18nagent.ai/translations/{jobId}/download", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Παράμετροι Ερωτήματος

Παράμετρος Απαιτείται Περιγραφή
jobId Ναι Αναγνωριστικό εργασίας μετάφρασης

Λήψη αρχείου μετάφρασης για συγκεκριμένη γλώσσα

GET /translations/{jobId}/files/{language}

Λήψη ενός μεμονωμένου αρχείου μετάφρασης για μια συγκεκριμένη γλώσσα-στόχο. Επιστρέφει το περιεχόμενο του αρχείου απευθείας με την κατάλληλη κεφαλίδα Content-Type.

curl -X GET "https://api.i18nagent.ai/translations/{jobId}/files/{language}" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/translations/{jobId}/files/{language}', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.get(
    'https://api.i18nagent.ai/translations/{jobId}/files/{language}',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("GET", "https://api.i18nagent.ai/translations/{jobId}/files/{language}", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Παράμετροι Ερωτήματος

Παράμετρος Απαιτείται Περιγραφή
jobId Ναι Αναγνωριστικό εργασίας μετάφρασης
language Ναι Κωδικός γλώσσας-στόχου (π.χ., 'es', 'fr', 'ja')

Δημιουργία μετάφρασης με ροή προόδου

POST /translations/stream

Δημιουργία μετάφρασης με Server-Sent Events (SSE) για ενημερώσεις προόδου σε πραγματικό χρόνο. Υποστηρίζει μόνο μετάφραση κειμένου (όχι αρχείων). Επιστρέφει ενημερώσεις προόδου σε πραγματικό χρόνο ως συμβάντα SSE.

curl -X POST "https://api.i18nagent.ai/translations/stream" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
  "texts": [
    "Hello, world!",
    "Welcome to our service"
  ],
  "targetLanguage": "es",
  "targetAudience": "general",
  "industry": "technology",
  "sourceLanguage": "en",
  "region": "Mexico",
  "notes": "Keep technical terms in English, use formal tone"
}'
const response = await fetch('https://api.i18nagent.ai/translations/stream', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
        "texts": [
            "Hello, world!",
            "Welcome to our service"
        ],
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
        "sourceLanguage": "en",
        "region": "Mexico",
        "notes": "Keep technical terms in English, use formal tone"
    })
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.post(
    'https://api.i18nagent.ai/translations/stream',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    },
    json={
        "texts": [
            "Hello, world!",
            "Welcome to our service"
        ],
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
        "sourceLanguage": "en",
        "region": "Mexico",
        "notes": "Keep technical terms in English, use formal tone"
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    data := map[string]interface{}{
        "texts": []string{"Hello, world!", "Welcome to our service"},
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
    }
    jsonData, _ := json.Marshal(data)
    
    req, _ := http.NewRequest("POST", "https://api.i18nagent.ai/translations/stream", bytes.NewBuffer(jsonData))
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Παράμετροι Σώματος Αιτήματος

Παράμετρος Τύπος Απαιτείται Περιγραφή
texts array Ναι Πίνακας κειμένων προς μετάφραση
targetLanguage string Όχι Κωδικός γλώσσας-στόχου (π.χ., 'es', 'fr', 'ja') - για μετάφραση σε μία γλώσσα
targetAudience string Όχι Κοινό-στόχος (π.χ., 'general', 'technical', 'casual', 'formal') (προεπιλογή: general)
industry string Όχι Πλαίσιο βιομηχανίας (π.χ., 'τεχνολογία', 'υγειονομική περίθαλψη', 'οικονομικά') (προεπιλογή: τεχνολογία)
sourceLanguage string Όχι Κωδικός γλώσσας προέλευσης (αυτόματα ανιχνεύεται αν δεν παρέχεται)
region string Όχι Συγκεκριμένη περιοχή για τοπική προσαρμογή (π.χ., 'Ισπανία', 'Μεξικό', 'Βραζιλία')
targetLanguages array Όχι Πίνακας κωδικών γλωσσών-στόχων (π.χ., ['es', 'fr', 'zh-CN']) - για μετάφραση σε πολλές γλώσσες. Δεν μπορεί να χρησιμοποιηθεί μαζί με το targetLanguage.
context string Όχι Προαιρετικό πρόσθετο πλαίσιο ή οδηγίες για τη μετάφραση (π.χ., 'Διατήρηση τεχνικών όρων στα Αγγλικά', 'Χρήση επίσημου τόνου', 'Διατήρηση ονομάτων μάρκας')
pseudoTranslation boolean Όχι Ενεργοποίηση λειτουργίας ψευδο-μετάφρασης για δοκιμή υλοποιήσεων i18n χωρίς μετάφραση AI και ΧΩΡΙΣ κόστος πίστωσης. Μετατρέπει το κείμενο με τόνους, αγκύλες και προαιρετικούς χαρακτήρες CJK για τον εντοπισμό αμετάφραστων συμβολοσειρών και τη δοκιμή διάταξης UI. (προεπιλογή: false)
pseudoOptions object Όχι Επιλογές διαμόρφωσης για ψευδο-μετάφραση (χρησιμοποιούνται μόνο όταν το pseudoTranslation είναι true)
skipWarnings boolean Όχι Παράλειψη προειδοποιήσεων ποιότητας κειμένου πηγής και συνέχιση με τη μετάφραση (προεπιλογή: false). Όταν είναι false, οι προειδοποιήσεις για προβληματικό κείμενο πηγής (π.χ., δύσκολες φράσεις για μετάφραση, ζητήματα πληθυντικού, ανησυχίες επέκτασης κειμένου) θα επιστρέφονται στην απάντηση στο πεδίο 'validationSuggestions'. Όταν είναι true, αυτές οι προειδοποιήσεις καταστέλλονται για πιο καθαρή έξοδο. (προεπιλογή: false)

Λήψη εκτίμησης κόστους μετάφρασης

POST /translations/estimate

Υπολογισμός αριθμού λέξεων και απαιτούμενων πιστώσεων για μετάφραση

curl -X POST "https://api.i18nagent.ai/translations/estimate" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
  "texts": [
    "Hello, world!",
    "Welcome to our service"
  ],
  "targetLanguage": "es",
  "targetAudience": "general",
  "industry": "technology",
  "sourceLanguage": "en",
  "region": "Mexico",
  "notes": "Keep technical terms in English, use formal tone"
}'
const response = await fetch('https://api.i18nagent.ai/translations/estimate', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
        "texts": [
            "Hello, world!",
            "Welcome to our service"
        ],
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
        "sourceLanguage": "en",
        "region": "Mexico",
        "notes": "Keep technical terms in English, use formal tone"
    })
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.post(
    'https://api.i18nagent.ai/translations/estimate',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    },
    json={
        "texts": [
            "Hello, world!",
            "Welcome to our service"
        ],
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
        "sourceLanguage": "en",
        "region": "Mexico",
        "notes": "Keep technical terms in English, use formal tone"
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    data := map[string]interface{}{
        "texts": []string{"Hello, world!", "Welcome to our service"},
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
    }
    jsonData, _ := json.Marshal(data)
    
    req, _ := http.NewRequest("POST", "https://api.i18nagent.ai/translations/estimate", bytes.NewBuffer(jsonData))
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Παράμετροι Σώματος Αιτήματος

Παράμετρος Τύπος Απαιτείται Περιγραφή
content string Ναι Περιεχόμενο προς ανάλυση
fileType string Όχι Τύπος αρχείου για ανάλυση περιεχομένου (προεπιλογή: txt)

Ανάλυση

Ανάλυση περιεχομένου για ετοιμότητα μετάφρασης

POST /analyze

Ελαφριά επικύρωση του πηγαίου κειμένου για τον εντοπισμό πιθανών προβλημάτων πριν από τη μετάφραση. Επιστρέφει αποτελέσματα επικύρωσης με κωδικούς σφαλμάτων για προγραμματική πρόσβαση. Αυτό το endpoint ΔΕΝ καταναλώνει πιστώσεις - εκτελεί γρήγορη, ντετερμινιστική επικύρωση χωρίς κλήσεις AI/LLM.

curl -X POST "https://api.i18nagent.ai/analyze" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
  "texts": [
    "Hello, world!",
    "Welcome to our service"
  ],
  "targetLanguage": "es",
  "targetAudience": "general",
  "industry": "technology",
  "sourceLanguage": "en",
  "region": "Mexico",
  "notes": "Keep technical terms in English, use formal tone"
}'
const response = await fetch('https://api.i18nagent.ai/analyze', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
        "texts": [
            "Hello, world!",
            "Welcome to our service"
        ],
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
        "sourceLanguage": "en",
        "region": "Mexico",
        "notes": "Keep technical terms in English, use formal tone"
    })
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.post(
    'https://api.i18nagent.ai/analyze',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    },
    json={
        "texts": [
            "Hello, world!",
            "Welcome to our service"
        ],
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
        "sourceLanguage": "en",
        "region": "Mexico",
        "notes": "Keep technical terms in English, use formal tone"
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    data := map[string]interface{}{
        "texts": []string{"Hello, world!", "Welcome to our service"},
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
    }
    jsonData, _ := json.Marshal(data)
    
    req, _ := http.NewRequest("POST", "https://api.i18nagent.ai/analyze", bytes.NewBuffer(jsonData))
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Παράμετροι Σώματος Αιτήματος

Παράμετρος Τύπος Απαιτείται Περιγραφή
targetLanguage string Ναι Κωδικός γλώσσας-στόχου για μετάφραση
targetAudience string Όχι Κοινό-στόχος (προεπιλογή: general)
industry string Όχι Πλαίσιο βιομηχανίας (προεπιλογή: γενικό)
sourceLanguage string Όχι Κωδικός γλώσσας προέλευσης (αυτόματα εντοπισμένος εάν δεν παρέχεται)
region string Όχι Συγκεκριμένη περιοχή για τοπική προσαρμογή
content object Ναι Περιεχόμενο προς ανάλυση (κείμενο, πίνακας κειμένων ή δομημένο αντικείμενο)
fileType string Όχι Προαιρετικός τύπος αρχείου εάν το περιεχόμενο προέρχεται από αρχείο

Μεταφράσεις Namespace

Μεταφόρτωση αρχείου μετάφρασης για επαναχρησιμοποίηση namespace

POST /namespaces/{namespace}/translations/upload

Μεταφόρτωση υπάρχοντος αρχείου μετάφρασης σε ένα namespace για μελλοντική επαναχρησιμοποίηση. Αυτό επιτρέπει τη βελτιστοποίηση κόστους με την επαναχρησιμοποίηση προηγουμένως μεταφρασμένων συμβολοσειρών. Το αρχείο υποβάλλεται σε επεξεργασία και εξάγονται ζεύγη μετάφρασης για προσωρινή αποθήκευση.

curl -X POST "https://api.i18nagent.ai/namespaces/{namespace}/translations/upload" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
  "texts": [
    "Hello, world!",
    "Welcome to our service"
  ],
  "targetLanguage": "es",
  "targetAudience": "general",
  "industry": "technology",
  "sourceLanguage": "en",
  "region": "Mexico",
  "notes": "Keep technical terms in English, use formal tone"
}'
const response = await fetch('https://api.i18nagent.ai/namespaces/{namespace}/translations/upload', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
        "texts": [
            "Hello, world!",
            "Welcome to our service"
        ],
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
        "sourceLanguage": "en",
        "region": "Mexico",
        "notes": "Keep technical terms in English, use formal tone"
    })
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.post(
    'https://api.i18nagent.ai/namespaces/{namespace}/translations/upload',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    },
    json={
        "texts": [
            "Hello, world!",
            "Welcome to our service"
        ],
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
        "sourceLanguage": "en",
        "region": "Mexico",
        "notes": "Keep technical terms in English, use formal tone"
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    data := map[string]interface{}{
        "texts": []string{"Hello, world!", "Welcome to our service"},
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
    }
    jsonData, _ := json.Marshal(data)
    
    req, _ := http.NewRequest("POST", "https://api.i18nagent.ai/namespaces/{namespace}/translations/upload", bytes.NewBuffer(jsonData))
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Παράμετροι Ερωτήματος

Παράμετρος Απαιτείται Περιγραφή
namespace Ναι Αναγνωριστικό χώρου ονομάτων (3-50 χαρακτήρες, μόνο αλφαριθμητικά + παύλες/κάτω παύλες)

Λήψη στατιστικών μετάφρασης χώρου ονομάτων

GET /namespaces/{namespace}/translations/stats

Λήψη στατιστικών για μεταφορτωμένα αρχεία μετάφρασης και επαναχρησιμοποίηση προσωρινής μνήμης για ένα χώρο ονομάτων

curl -X GET "https://api.i18nagent.ai/namespaces/{namespace}/translations/stats" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/namespaces/{namespace}/translations/stats', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.get(
    'https://api.i18nagent.ai/namespaces/{namespace}/translations/stats',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("GET", "https://api.i18nagent.ai/namespaces/{namespace}/translations/stats", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Παράμετροι Ερωτήματος

Παράμετρος Απαιτείται Περιγραφή
namespace Ναι Αναγνωριστικό χώρου ονομάτων

Λίστα μεταφορτωμένων αρχείων μετάφρασης στο χώρο ονομάτων

GET /namespaces/{namespace}/translations/files

Λήψη σελιδοποιημένης λίστας μεταφορτωμένων αρχείων μετάφρασης για ένα χώρο ονομάτων

curl -X GET "https://api.i18nagent.ai/namespaces/{namespace}/translations/files" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/namespaces/{namespace}/translations/files', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.get(
    'https://api.i18nagent.ai/namespaces/{namespace}/translations/files',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("GET", "https://api.i18nagent.ai/namespaces/{namespace}/translations/files", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Παράμετροι Ερωτήματος

Παράμετρος Απαιτείται Περιγραφή
namespace Ναι Αναγνωριστικό χώρου ονομάτων
limit Όχι Μέγιστος αριθμός αρχείων προς επιστροφή
offset Όχι Αριθμός αρχείων προς παράλειψη για σελιδοποίηση

Διαγραφή μεταφορτωμένου αρχείου μετάφρασης

DELETE /namespaces/{namespace}/translations/files/{fileId}

Διαγραφή ενός μεταφορτωμένου αρχείου μετάφρασης και όλων των σχετικών ζευγών μετάφρασης από την προσωρινή μνήμη

curl -X DELETE "https://api.i18nagent.ai/namespaces/{namespace}/translations/files/{fileId}" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/namespaces/{namespace}/translations/files/{fileId}', {
  method: 'DELETE',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.delete(
    'https://api.i18nagent.ai/namespaces/{namespace}/translations/files/{fileId}',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("DELETE", "https://api.i18nagent.ai/namespaces/{namespace}/translations/files/{fileId}", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Παράμετροι Ερωτήματος

Παράμετρος Απαιτείται Περιγραφή
namespace Ναι Αναγνωριστικό χώρου ονομάτων
fileId Ναι Αναγνωριστικό αρχείου για διαγραφή

Μεταφόρτωση παράλληλων αρχείων μετάφρασης

POST /translations/upload-parallel

Μεταφορτώστε αρχεία πηγής και στόχου παράλληλα για εξαγωγή ζεύγους μετάφρασης και προσωρινή αποθήκευση. Και τα δύο αρχεία πρέπει να έχουν την ίδια δομή και τύπο αρχείου.

curl -X POST "https://api.i18nagent.ai/translations/upload-parallel" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
  "texts": [
    "Hello, world!",
    "Welcome to our service"
  ],
  "targetLanguage": "es",
  "targetAudience": "general",
  "industry": "technology",
  "sourceLanguage": "en",
  "region": "Mexico",
  "notes": "Keep technical terms in English, use formal tone"
}'
const response = await fetch('https://api.i18nagent.ai/translations/upload-parallel', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
        "texts": [
            "Hello, world!",
            "Welcome to our service"
        ],
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
        "sourceLanguage": "en",
        "region": "Mexico",
        "notes": "Keep technical terms in English, use formal tone"
    })
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.post(
    'https://api.i18nagent.ai/translations/upload-parallel',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    },
    json={
        "texts": [
            "Hello, world!",
            "Welcome to our service"
        ],
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
        "sourceLanguage": "en",
        "region": "Mexico",
        "notes": "Keep technical terms in English, use formal tone"
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    data := map[string]interface{}{
        "texts": []string{"Hello, world!", "Welcome to our service"},
        "targetLanguage": "es",
        "targetAudience": "general",
        "industry": "technology",
    }
    jsonData, _ := json.Marshal(data)
    
    req, _ := http.NewRequest("POST", "https://api.i18nagent.ai/translations/upload-parallel", bytes.NewBuffer(jsonData))
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Αρχεία

Λήψη αρχείου από αποθήκευση

GET /files/{filePath}

Εξυπηρετεί αρχεία από τοπική αποθήκευση (ανάπτυξη) ή S3 (παραγωγή). Χρησιμοποιείται για πρόσβαση σε μεταφορτωμένα και μεταφρασμένα αρχεία.

curl -X GET "https://api.i18nagent.ai/files/{filePath}" \
  -H "Authorization: Bearer i18n_your_api_key_here" \
  -H "Content-Type: application/json"
const response = await fetch('https://api.i18nagent.ai/files/{filePath}', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer i18n_your_api_key_here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log(data);
import requests
import json

response = requests.get(
    'https://api.i18nagent.ai/files/{filePath}',
    headers={
        'Authorization': 'Bearer i18n_your_api_key_here',
        'Content-Type': 'application/json'
    }
)

print(response.json())
package main

import (
    "bytes"
    "encoding/json"
    "net/http"
)

func main() {
    client := &http.Client{}
    
    req, _ := http.NewRequest("GET", "https://api.i18nagent.ai/files/{filePath}", )
    req.Header.Add("Authorization", "Bearer i18n_your_api_key_here")
    req.Header.Add("Content-Type", "application/json")
    
    resp, _ := client.Do(req)
    defer resp.Body.Close()
}

Η παραπάνω εντολή επιστρέφει JSON δομημένο ως εξής:

{
  "translations": [
    {
      "original": "Hello, world!",
      "translated": "¡Hola, mundo!",
      "confidence": 0.98
    }
  ],
  "metadata": {
    "sourceLanguage": "en",
    "targetLanguage": "es",
    "wordCount": 2,
    "creditsUsed": 0.002,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }
}

Παράμετροι Ερωτήματος

Παράμετρος Απαιτείται Περιγραφή
filePath Ναι Διαδρομή αρχείου συμπεριλαμβανομένων τυχόν υποκαταλόγων (π.χ., 'uploads/test-file.json' ή 'translations/result.json')

Σφάλματα

Το API του i18n-agent χρησιμοποιεί τους ακόλουθους κωδικούς σφάλματος:

Κωδικός Σφάλματος Σημασία
400 Κακό Αίτημα -- Το αίτημά σας δεν είναι έγκυρο.
401 Μη Εξουσιοδοτημένο -- Το κλειδί API σας δεν είναι έγκυρο.
402 Απαιτείται Πληρωμή -- Ανεπαρκείς πιστώσεις στον λογαριασμό σας.
403 Απαγορευμένο -- Το κλειδί API σας είναι ανενεργό ή η ομάδα δεν βρέθηκε.
404 Δεν Βρέθηκε -- Ο συγκεκριμένος πόρος δεν μπόρεσε να βρεθεί.
500 Εσωτερικό Σφάλμα Διακομιστή -- Αντιμετωπίσαμε πρόβλημα με τον διακομιστή μας. Δοκιμάστε ξανά αργότερα.
503 Υπηρεσία Μη Διαθέσιμη -- Είμαστε προσωρινά εκτός λειτουργίας για συντήρηση. Παρακαλούμε δοκιμάστε ξανά αργότερα.

Μορφή Απόκρισης Σφάλματος

{
  "error": "Detailed error message describing what went wrong",
  "success": false
}