gt-cli@2.9.0
Panoramica
La CLI gt ora supporta il formato di file Twilio Content JSON. Se usi il Content Template Builder di Twilio per inviare messaggi strutturati tramite WhatsApp, SMS o RCS, ora puoi tradurre quei template con lo stesso flusso di lavoro gt translate che già usi per la tua app.
Perché è importante
I Twilio Content Templates sono file JSON che definiscono messaggi strutturati -- testo con variabili, pulsanti di risposta rapida, card con contenuti multimediali e azioni. Questi template contengono stringhe visibili all'utente: etichette dei pulsanti, testo del corpo, titoli delle card. Se invii messaggi in più lingue, queste stringhe devono essere tradotte.
L'approccio attuale prevede la creazione manuale di 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 onere di manutenzione. Non esiste un'unica fonte affidabile che definisca cosa dice un messaggio nelle varie lingue.
Con questo aggiornamento della CLI, scrivi il template una sola volta nella lingua predefinita e lasci che gt translate si occupi del resto.
Guida passo passo
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 di variabile {{1}}, i campi id e le chiavi strutturali non sono traducibili.
Passaggio 1: Configura
Aggiungi twilioContentJson al file di configurazione gt.config.json:
{
"defaultLocale": "en",
"locales": ["en", "es", "fr", "ja"],
"files": {
"twilioContentJson": {
"include": ["twilio/[locale]/**/*.json"]
}
}
}Il segnaposto [locale] nel percorso include indica alla CLI dove trovare i file sorgente e dove salvare le traduzioni. I file sorgente vengono letti da twilio/en/ e i file tradotti vengono salvati in twilio/es/, twilio/fr/, ecc.
Passaggio 2: translate
npx gt@latest translateLe traduzioni vengono generate per ogni impostazione regionale configurata. L'output mantiene la struttura JSON di Twilio: cambiano solo i valori delle stringhe.
L'output in spagnolo potrebbe essere questo:
{
"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 di Twilio Content come nuovo template specifico per l'impostazione regionale.