Skip to content

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.

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.

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.

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.

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:

  1. 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.
  2. 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 %}
    
  3. 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.

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:

  1. Crea manualmente un bloque de contenido en el panel con la etiqueta “Necesita traducción”.
  2. Su servicio realiza una obtención nocturna de todos los bloques de contenido utilizando el punto final/content_blocks/list .
  3. 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.
  4. Tu servicio de traducción traduce el cuerpo de todos los bloques de contenido “Necesita traducción”.
  5. 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:

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.

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.

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:

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.
¿QUÉ TAN ÚTIL FUE ESTA PÁGINA?
New Stuff!