Localización
Para las empresas con clientes en muchos países, gestionar la localización al principio de su recorrido de Braze puede ahorrarles tiempo y recursos.
Cómo funciona
Después de integrar el SDK de Braze, la información de localización de los dispositivos de los usuarios se recopila automáticamente. La configuración regional contiene el idioma y un identificador de región. Esta información está disponible en la herramienta de segmentación Braze en País e Idioma.
Gestión de traducciones
Considera los siguientes enfoques para gestionar tus traducciones.
Una plantilla para todos
En este enfoque, la localización se aplica a una sola plantilla en Braze utilizando Liquid. Tras el envío, el panel proporciona análisis agregados de la campaña. El compromiso a nivel de usuario puede medirse utilizando embudos de segmentos personalizados, por ejemplo, combinando los filtros País y Campaña recibida.
Ventajas | Consideraciones | |
---|---|---|
- Enfoque centralizado - Reducción del tiempo de creación del correo electrónico, sin necesidad de crear un correo electrónico varias veces |
- Elaboración manual de informes - El informe de campaña muestra métricas agregadas en lugar de métricas por país - Necesidad de probar a fondo Liquid para garantizar que se rellena como se espera - Dependiendo de cómo introduzcas el valor del país o de cuántos condados tengas configurados, podría ser complicado probar cada país - Es más difícil programar envíos a horas concretas en distintas zonas horarias - Es más difícil de usar si quieres enviar contenidos separados por país. |
|
-– | -– | -– |
Una plantilla por país
Este enfoque separa la plantilla en distintas localizaciones de envío. Tras el envío, el panel de control informa de los análisis de envío en función de cada país por separado, y cualquier evento Currents posterior a nivel de usuario también estará vinculado a una campaña específica.
- Las plantillas se benefician de la implantación de etiquetas con fines de mantenimiento y seguimiento.
- Las campañas pueden heredar las configuraciones de la misma plantilla Braze y de los Bloques de contenido (como las plantillas de correo electrónico que contienen Liquid).
- Las campañas y plantillas preexistentes pueden duplicarse para acelerar la obtención de valor.
Ventajas | Consideraciones |
---|---|
- Escalable a múltiples ubicaciones - Informes sobre ingresos por país en Braze (por ejemplo, por campaña) - Flexibilidad si hay contenidos drásticamente diferentes por país |
- Requiere una estructuración estratégica - Requiere más esfuerzo de construcción (como campañas separadas para cada país) |
Un viaje para todos
En este enfoque, la localización se gestiona dentro de Canvas Journeys y Liquid para definir la mensajería para cada usuario.
Tras el envío de un Canvas, el panel de control proporciona análisis agregados de Canvas, mientras que la participación a nivel de usuario puede medirse a través de embudos de segmentos personalizados, como la combinación de filtros de País y Paso de Canvas recibido.
Ventajas | Consideraciones |
---|---|
- Enfoque centralizado - Reducción del tiempo de creación del correo electrónico: no es necesario crear un correo electrónico varias veces. |
- Elaboración manual de informes - El informe Canvas muestra métricas agregadas en lugar de métricas por país - Necesidad de probar a fondo Liquid para garantizar que se rellena como se espera - Dependiendo de cómo introduzcas el valor del país o de cuántos condados tengas configurados, podría ser complicado probar cada país - Es más difícil programar envíos a horas concretas en distintas zonas horarias - Es más difícil de usar si quieres enviar contenidos separados por país. |
Un viaje por país
En este enfoque, el constructor de recorridos Canvas proporciona la flexibilidad de crear recorridos de usuario a través de múltiples componentes Canvas. Estos componentes pueden duplicarse a nivel de componente y de trayecto global.
La localización se puede conseguir con los siguientes métodos:
- Lienzos separados por país, lo que garantiza que los recorridos complejos de los usuarios se definan en la parte superior del embudo mediante filtros de audiencia.
- Viajes de usuario personalizados por país, la implementación de Audience Paths para segmentar intuitivamente a los usuarios a gran escala para cada viaje mediante la creación de hilos de mensajes separados para cada país en un único Canvas.
Una vez enviado, el panel proporciona análisis dinámicos por país y dentro de los eventos Currents a nivel de usuario en función de la ubicación actual del cliente.
Ventajas | Consideraciones |
---|---|
- Informes sobre ingresos por país dentro de Braze (como por Canvas, variante o paso) - Flexibilidad si hay contenidos drásticamente diferentes por país - Puedes añadir otros canales como parte del recorrido en el futuro |
- Requiere una estructuración estratégica - Requiere más esfuerzo de construcción (como pasos de mensaje separados para cada país) - El lienzo puede volverse grande y difícil de leer si tiene recorridos personalizados y complejos para cada país en un solo lienzo. |
Envío de mensajes traducidos
Para enviar mensajes personalizados basados en el idioma o la localización de un usuario, utiliza uno de los siguientes métodos:
Puedes pegar manualmente tu contenido en el cuerpo del mensaje y utilizar Liquid para mostrar condicionalmente el idioma correcto al destinatario. Para ello:
- Redacta tu mensaje y, a continuación, selecciona Idioma para generar la lógica condicional Liquid para cada uno de los idiomas que hayas seleccionado.
-
Puedes utilizar la siguiente plantilla Liquid para elaborar tu mensaje. Para cada campo con plantillas, debe introducir las variaciones después del segmento de plantillas entre corchetes. La variación debe corresponder al código de idioma al que se hace referencia en los corchetes que la preceden.
1 2 3 4 5 6 7 8 9
{% if ${language} == 'en' %} This is a message in English from Braze! {% elsif ${language} == 'es' %} Este es un mensaje en español de Braze ! {% elsif ${language} == 'zh' %} 这是一条来自Braze的中文消息。 {% else %} This is a message from Braze! This will go to anyone who does not match the other specified languages! {% endif %}
- Pruebe su mensaje antes de enviarlo introduciendo el ID o el correo electrónico de un usuario para comprobar cómo le aparecería un mensaje a una persona en función de su idioma.
Siempre recomendamos incluir una declaración {% else %}
en tu mensajería. Mientras que la mayoría de los usuarios verán los mensajes para su idioma específico, el texto será visible para aquellos que:
- No tienes ningún idioma seleccionado
- Tienes un idioma que Braze no admite
- Tener un dispositivo en el que el idioma sea indetectable
Los bloques de contenido Braze son bloques de contenido reutilizables. Cuando se modifica un bloque, cambian todas las referencias a ese bloque. Por ejemplo, las actualizaciones del encabezado o pie de página de un correo electrónico se reflejarán en todos los correos electrónicos o en las traducciones de la casa. Estos bloques también pueden crearse y actualizarse mediante la API REST, y los usuarios pueden cargar traducciones mediante programación.
Al crear una campaña en el panel de control, se puede hacer referencia a los bloques de contenido mediante la etiqueta {{content_blocks.${name_of_content_block}}}
. Estos bloques pueden contener todas las traducciones dentro de una lógica condicional para cada idioma, como se muestra en la opción 1, o se puede utilizar un bloque independiente para cada idioma.
Los bloques de contenido también pueden utilizarse como un proceso de gestión de la traducción en el que el contenido que requiere traducción se aloja dentro de un bloque de contenido, se busca, se traduce y luego se actualiza:
- Crea manualmente un bloque de contenido en el panel con la etiqueta “Necesita traducción”.
- Su servicio realiza una obtención nocturna de todos los bloques de contenido utilizando el punto final
/content_blocks/list
. - Su servicio obtiene detalles sobre cada bloque de contenido a través del endpoint
/content_blocks/info
para ver qué bloques están etiquetados para su traducción. - Tu servicio de traducción traduce el cuerpo de todos los bloques de contenido “Necesita traducción”.
- Tu servicio accede al punto final
/content_block/update
para actualizar el contenido traducido y actualizar la etiqueta a “Traducción completa”.
Los catálogos le permiten acceder a datos de objetos JSON importados a través de la API y archivos CSV para enriquecer sus mensajes, de forma similar a los atributos personalizados o propiedades de eventos personalizados a través de Liquid. Por ejemplo:
Cree un catálogo mediante la siguiente llamada a la API:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
curl --location --request POST 'https://your_api_endpoint/catalogs' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
"catalogs": [
{
"name": "translations",
"description": "My localization samples",
"fields": [
{
"name": "id",
"type": "string"
},
{
"name": "context",
"type": "string"
},
{
"name": "language",
"type": "string"
},
{
"name": "body",
"type": "string"
}
]
}
]
}'
Añada elementos mediante la siguiente llamada a la API:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
curl --location --request POST 'https://your_api_endpoint/catalogs/translations/items' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
"items": [
{
"id": "1",
"context": "1",
"language": "en",
"body": "Hey"
},
{
"id": "2",
"context": "1",
"language": "es",
"body": "Hola"
},
{
"id": "3",
"context": "1",
"language": "pt",
"body": "Oi"
},
{
"id": "4",
"context": "1",
"language": "de",
"body": "Hallo"
}
]
}'
Cree un CSV con el siguiente formato:
ID | contexto | language | cuerpo |
---|---|---|---|
1 | 1 | en | Hola |
2 | 1 | es | Hola |
3 | 1 | pt | Oi |
4 | 1 | de | Hola |
5 | 2 | en | Hola |
6 | 2 | es | Hola |
7 | 2 | pt | Oi |
8 | 2 | de | Hola |
9 | 3 | en | Hola |
10 | 3 | es | Hola |
11 | 3 | pt | Oi |
12 | 3 | de | Hola |
Estos elementos del catálogo pueden ser referenciados utilizando la personalización, que se muestra a continuación, o selecciones que le permiten crear grupos de datos.
1
2
3
{% catalog_items translations 1 %}
{{items[0].body}}
//returns “Hey”
Añade y utiliza localizaciones en tu mensaje para dirigirte a usuarios en diferentes idiomas, todo dentro de una misma campaña o Canvas para los canales de correo electrónico o push. Para un recorrido completo, consulta Locales en los mensajes de correo electrónico o Locales en los mensajes push.
Esta característica está actualmente en acceso anticipado. Ponte en contacto con tu director de cuentas de Braze si estás interesado en participar en el acceso anticipado.
Muchos socios de Braze ofrecen soluciones de localización, como Transifex y Crowdin. Normalmente, los usuarios utilizan la plataforma junto con un equipo interno y una agencia de traducción. Estas traducciones se cargan allí y se puede acceder a ellas a través de la API REST. Estos servicios también suelen aprovechar Connected Content, lo que permite a los usuarios obtener las traducciones a través de la API.
Por ejemplo, las siguientes llamadas a Connected Content llaman a Transifex y Crowdin para obtener una traducción, aprovechando {{${language}}}
para identificar la traducción correcta para un usuario determinado. A continuación, esta traducción se guarda en el bloque JSON “cadenas” y se hace referencia a ella.
1
2
{% connected_content https://www.transifex.com/api/2/project/example/resource/example/translation/{{${language}}}/strings :basic_auth semc :save strings %}
{{strings[0].translation}}
1
2
{% connected_content https://api.crowdin.com/api/project/braze-test/export-file?key=you_api_key&language={{${language}}}&file=test.json&export_translated_only=1 :save response %}
{{response.value_1}}
Aloja las traducciones en una hoja de cálculo y, a continuación, utiliza uno de los siguientes métodos para enviar tu mensaje en el idioma correspondiente.
Puedes contratar a una agencia de traducción para que almacene las traducciones en una hoja de cálculo de Google y, a continuación, consultar este contenido mediante Braze Connected Content. Cuando envíes un mensaje, la traducción correspondiente a cada usuario se incluirá en el cuerpo de tu campaña en función del idioma que haya seleccionado.
La API de Google Sheets tiene un límite de 500 solicitudes cada 100 segundos por proyecto. Las llamadas a Contenidos Conectados pueden almacenarse en caché, pero esta solución no es escalable para una campaña de alto tráfico.
Esta opción proporciona un método alternativo para transformar Google Sheets en objetos JSON consultados a través de Connected Content. Al convertir una hoja de cálculo en una API JSON a través de SheetDB, puede elegir entre varios niveles de suscripción en función de la cadencia de las llamadas a la API.
La estructura de la hoja de cálculo sigue los pasos de la opción 4, pero SheetDB también proporciona filtros adicionales para consultar los objetos.
Algunos usuarios pueden preferir implementar SheetDB con menos dependencias de Liquid y Connected Block implementando el método de búsqueda de SheetDB en las llamadas de solicitud GET para filtrar los objetos JSON basados en la etiqueta {{${language}}}
Liquid para devolver automáticamente los resultados de un solo idioma en lugar de construir grandes bloques condicionales.
Paso 1: Formatear la hoja de Google
Primero, construye la hoja de Google de modo que los idiomas sean objetos diferentes:
idioma | título1 | cuerpo1 | título2 | cuerpo2 |
es | Hey | 1 | Hey2 | 5 |
es | Hola | 2 | Hola2 | 6 |
pt | Oi | 3 | Oi2 | 7 |
de | Hallo | 4 | Hallo2 | 8 |
Paso 2: Utiliza la etiqueta de idioma Liquid en una llamada de contenido conectado
A continuación, implementa la etiqueta de Liquid {{${language}}}
dentro de una llamada a Contenido conectado. Tenga en cuenta que SheetDB generará automáticamente sheet_id
al crear la hoja de cálculo.
1
{% connected_content https://sheetdb.io/api/v1/[sheet_id]/search?language={{${language}}} :save result%}
Paso 3: Plantilla de tus mensajes
Por último, utilice Liquid para crear plantillas para sus mensajes:
1
2
{{result[0].title1}} //returns “Hey”
{{result[0].title2}} //returns “Hey2”
Consideraciones
- El campo
{{${language}}}
debe definirse para todos los usuarios; de lo contrario, debe aparecer un bloque condicional Liquid como gestor alternativo para los usuarios sin idioma. - El modelado de datos dentro de Google Sheets tiene que seguir una vertical diferente basada en el lenguaje en lugar de tener objetos de mensaje.
- SheetDB ofrece una cuenta gratuita limitada y múltiples opciones de pago que deberían considerarse en función de su estrategia de campaña.
- Las llamadas a Contenidos Conectados pueden almacenarse en caché. Recomendamos medir la cadencia prevista de las llamadas a la API e investigar un enfoque alternativo de llamar al punto final principal de SheetDB en lugar de utilizar el método de búsqueda.