Universally dispone di due API e quale ti serve dipende da cosa stai creando. Una traduce contenuti, l'altra gestisce il tuo account. Entrambe sono documentate con esempi di richieste live su developer.universally.com.
Le due API
| API Translator | API Platform | |
|---|---|---|
| Host | translator.universally.com |
api.universally.com |
| Riferimento | Apri la specifica | Apri la specifica |
| Per | tradurre contenuti in un'altra lingua | gestire progetti, lingue, glossari e traduzioni archiviate |
| Chiave | la chiave API privata del progetto | una chiave API dell'area di lavoro |
| Usato da | il plugin WordPress e la tua integrazione | script e strumenti attorno alla dashboard |
Se stai sostituendo il plugin WordPress su un'altra piattaforma, l'API Translator è quella che ti serve. L'API Platform serve per automatizzare la dashboard, non per servire pagine.
Per prima cosa, crea un progetto
Un progetto è ciò che contiene il tuo dominio, la lingua di origine, le lingue di destinazione e le tue chiavi, quindi viene prima di qualsiasi chiamata API. Due modi per crearne uno.
Nella dashboard. Apri Nuovo Progetto. Seleziona la Tua Tecnologia attualmente offre solo WordPress: le altre opzioni riportano un badge Coming Soon e non possono essere selezionate. Va bene così per un'integrazione API, poiché la tecnologia cambia solo ciò che la dashboard ti mostra, non ciò che l'API Translator accetta. Una conseguenza da aspettarsi: la schermata Impostazioni API del progetto continuerà a riportare "Plugin Universally non rilevato", perché per un progetto WordPress cerca il plugin sul tuo dominio. Non c'è niente di sbagliato e la traduzione funziona indipendentemente.
Con l'API Platform. POST /sites crea un progetto con una chiave pak_ dell'area di lavoro e accetta name, domain, sourceLanguage e tech. Usa tech: "wordpress" per un sito con un dominio, o tech: "app" quando non c'è un dominio da fornire. tech: "website" e la modalità sottodominio sono in beta chiusa e al momento vengono rifiutate. Non inviare un workspaceId: viene preso dalla chiave.
curl -X POST https://api.universally.com/sites \
-H "X-API-Key: $UNIVERSALLY_PLATFORM_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Docs site","domain":"example.com","sourceLanguage":"en-us","tech":"wordpress"}'
Aggiungi quindi le lingue di destinazione, o dalla schermata Tutte le lingue del progetto o tramite l'API Platform, e copia la chiave del progetto da Impostazioni API.
L'API Translator
Tre endpoint, tutti POST, tutti autenticati con la chiave privata del progetto in un header X-API-Key:
| Endpoint | Inviala |
|---|---|
/v1/translate/html |
una pagina renderizzata, quando puoi fornire l'HTML completo |
/v1/translate/strings |
un array di stringhe, quando gestisci tu stesso il contenuto |
/v1/translate |
o, e decide quale delle opzioni precedenti si applica |
L'endpoint HTML è la corrispondenza più vicina al funzionamento del plugin: il tuo server invia la pagina che stava per restituire e restituisce ciò che riceve. Nulla deve sapere in anticipo quale testo si trova sulla pagina. Vedi Panoramica API REST per le forme di richiesta e risposta e Errori e limiti API per cosa aspettarsi quando si raggiunge un limite di parole a metà richiesta.
curl -X POST https://translator.universally.com/v1/translate/html \
-H "X-API-Key: $UNIVERSALLY_KEY" \
-H "Content-Type: application/json" \
-d '{"html":"<html>...</html>","targetLanguage":"es","sourceUrl":"https://example.com/pricing/"}'
L'API della piattaforma
Stessa intestazione, chiave diversa: una chiave API dell'area di lavoro, che inizia con pak_. Raggiunge gli stessi endpoint utilizzati dalla dashboard, quindi può aggiungere lingue, modificare le regole del glossario, leggere le traduzioni memorizzate ed elencare i siti senza che nessuno faccia clic sull'interfaccia utente.
Creane una in Aree di lavoro, quindi Chiavi API. Vedi Trova la tua chiave API.
Cosa devi ancora creare
Il plugin fa più che chiamare un endpoint, e nulla di tutto ciò è gratuito tramite l'API:
- Gestione degli URL delle lingue. Qualcosa deve instradare
/es/pricing/alla tua risposta in spagnolo. Universally traduce ciò che invii; non si posiziona davanti al tuo sito. - Caching. Traduci una volta e memorizza il risultato. L'invio della stessa pagina non consuma nuovamente parole, poiché una stringa viene addebitata solo la prima volta che viene visualizzata, ma ogni richiesta comporta un viaggio di andata e ritorno e la latenza che ne deriva.
- Rilevamento delle modifiche. Rinvio di una pagina quando il suo contenuto cambia, altrimenti i visitatori continuano a vedere la vecchia traduzione.
- Il selettore di lingua. Il plugin ne fornisce uno. Tramite l'API, il markup è tuo. Vedi Crea un selettore di lingua personalizzato in WordPress per la sua forma.