gt-cli@2.9.0
Panoramica
L’interfaccia a riga di comando (CLI) gt ora supporta Twilio Content JSON come formato di file. Se usi il Content Template Builder di Twilio per inviare messaggi strutturati tramite WhatsApp, SMS o RCS, ora puoi tradurre questi template con lo stesso flusso di lavoro gt translate che usi già per la tua app.
Perché è importante
I Twilio Content Templates sono file JSON che definiscono messaggi strutturati -- testo con variabili, pulsanti di risposta rapida, schede con contenuti multimediali e azioni. Questi template contengono stringhe visibili all'utente: etichette dei pulsanti, testo principale, titoli delle schede. Se invii messaggi in più lingue, queste stringhe devono essere tradotte.
L'approccio attuale consiste nel creare manualmente un content template separato per ogni lingua tramite la Twilio Console o l'API. Ogni template ha il proprio SID, il proprio ciclo di approvazione e il proprio carico di manutenzione. Non esiste un'unica fonte di riferimento per ciò che comunica un messaggio nelle varie lingue.
Con questo aggiornamento dell'interfaccia a riga di comando (CLI), scrivi il template una sola volta nella lingua predefinita e lasci che gt translate gestisca il resto.
Procedura guidata
Supponiamo che tu stia creando un flusso di assistenza clienti su WhatsApp con Twilio. Hai un template di risposta rapida che saluta l'utente e offre tre opzioni:
{
"friendly_name": "support_greeting",
"language": "en",
"variables": { "1": "Customer" },
"types": {
"twilio/quick-reply": {
"body": "Ciao, {{1}}. Grazie per aver contattato il supporto. Come possiamo aiutarti?",
"actions": [
{ "title": "Controlla lo stato dell'ordine", "id": "order_status" },
{ "title": "Restituisci un articolo", "id": "return_item" },
{ "title": "Parla con un operatore", "id": "speak_agent" }
]
},
"twilio/text": {
"body": "Ciao, {{1}}. Grazie per aver contattato il supporto. Come possiamo aiutarti?"
}
}
}I campi body e i valori title in actions sono tutte stringhe traducibili. Il segnaposto per la variabile {{1}}, i campi id e le chiavi strutturali non lo sono.
Passaggio 1: Configura
Aggiungi twilioContentJson alla configurazione del file gt.config.json:
{
"defaultLocale": "en",
"locales": ["en", "es", "fr", "ja"],
"files": {
"twilioContentJson": {
"include": ["twilio/[locale]/**/*.json"]
}
}
}Il segnaposto [locale] nel percorso include indica all'interfaccia a riga di comando (CLI) dove trovare i file di origine e dove salvare le traduzioni. I file di origine vengono letti da twilio/en/ e i file tradotti vengono salvati in twilio/es/, twilio/fr/, ecc.
Passaggio 2: Traduci
npx gt@latest translateLe traduzioni vengono generate per ogni impostazione locale configurata. L'output mantiene la struttura JSON di Twilio -- cambiano solo i valori delle stringhe.
L'output in spagnolo potrebbe apparire così:
{
"friendly_name": "support_greeting",
"language": "es",
"variables": { "1": "Customer" },
"types": {
"twilio/quick-reply": {
"body": "Hola, {{1}}. Gracias por contactar con soporte. ¿En qué podemos ayudarte?",
"actions": [
{ "title": "Ver estado del pedido", "id": "order_status" },
{ "title": "Devolver un artículo", "id": "return_item" },
{ "title": "Hablar con un agente", "id": "speak_agent" }
]
},
"twilio/text": {
"body": "Hola, {{1}}. Gracias por contactar con soporte. ¿En qué podemos ayudarte?"
}
}
}Ogni file tradotto è un template JSON Twilio Content valido che può essere caricato direttamente nell'API Twilio Content come nuovo template specifico per una lingua o variante regionale.