Mensajes multilingües
Después de añadir configuraciones regionales a tu espacio de trabajo, puedes dirigirte a usuarios en diferentes idiomas, todo dentro de un solo push, correo electrónico, banner, mensaje dentro de la aplicación o Content Block.
Requisitos previos
| Característica | Permisos de usuario obligatorios |
|---|---|
| Configuraciones regionales de varios idiomas | Necesitas estos permisos para crear y administrar configuraciones regionales de varios idiomas:
|
| Característica | Permisos de usuario requeridos |
|---|---|
| Tipos de mensaje | Necesitas estos permisos para añadir configuraciones regionales y traducciones a Campaigns y Canvas:
|
| Característica | Permisos de usuario requeridos |
|---|---|
| Plantillas | Necesitas estos permisos para el tipo de plantilla al que deseas añadir configuraciones regionales y traducciones:
|
Usar locales
Paso 1: Configurar locales
Antes de poder añadir traducciones a un mensaje, primero debes crear los locales que quieras admitir. Los locales definen las variantes de idioma (y opcionalmente de región) disponibles para la mensajería.
Paso 2: Marcar contenido para traducción
Envuelve el texto que quieras traducir con las etiquetas de traducción de Liquid {% translation your_id_here %} y {% endtranslation %} y asigna un ID de etiqueta. Los ID de las etiquetas de traducción deben ser únicos dentro de un mensaje. Considera usar nombres de ID semánticos que describan claramente el texto, como {% translation header %}.
Aquí tienes un ejemplo de mensaje marcado para traducción: {% translation greeting %}Hello!{% endtranslation %}

Resalta el texto que quieras traducir y usa el atajo de teclado Cmd + Alt + L (macOS) o Ctrl + Alt + L (Windows) para envolverlo en etiquetas de traducción.
Este atajo funciona en todos los canales que admiten mensajería multilingüe, excepto en los editores de arrastrar y soltar para correo electrónico y Content Blocks. Para esos, usa el botón Añadir personalización para agregar etiquetas de traducción.
Localizar URLs
Al traducir contenido, las URLs requieren un manejo especial para evitar enlaces rotos.
URLs estándar (estáticas)
Las URLs estáticas se introducen manualmente en el editor (por ejemplo, https://example.com). También recomendamos lo siguiente:
| Recomendación | Motivo |
|---|---|
Mantén el protocolo (https://) fuera de las etiquetas de traducción. Envuelve solo el dominio y la ruta (por ejemplo, example.com/en). |
Los traductores pueden alterar o eliminar accidentalmente caracteres especiales, causando enlaces rotos. |
No incluyas parámetros de consulta dentro de las etiquetas de traducción (por ejemplo, ?utm_source=promo). |
Los traductores pueden alterar o eliminar accidentalmente caracteres especiales, lo que resulta en enlaces rotos. |
Una URL estándar que sigue ambas recomendaciones es:
1
<a href="https://{% translation id_1 %}example.shop.com{% endtranslation %}">Visit our store</a>
URLs generadas con Liquid
Si tu URL se genera con Liquid (por ejemplo, {% landing_page_url %}), recomendamos lo siguiente:
| Recomendación | Motivo |
|---|---|
| Envuelve la URL generada con Liquid en etiquetas de traducción solo si necesita ser localizada. | La sintaxis de Liquid debe preservarse cuidadosamente para que se renderice correctamente. |
No incluyas parámetros de consulta (por ejemplo, ?utm_source=promo) dentro de las etiquetas de traducción. |
Los traductores pueden alterar o eliminar accidentalmente caracteres especiales, lo que resulta en enlaces rotos. |
Una URL generada con Liquid que sigue ambas recomendaciones es:
1
<a href="{% translation id_1 %}{% landing_page_url xyz %}{% endtranslation %}">View details</a>

Si estás usando seguimiento de enlaces de correo electrónico (aliasing de enlaces o plantillas de enlaces), se requiere configuración adicional cuando las URLs están envueltas en etiquetas de traducción.
Atributos y estructura HTML
Solo envuelve texto legible por humanos en etiquetas de traducción. Evita envolver atributos HTML (como class, style o id) u otro código estructural. Los atributos HTML controlan el diseño, el estilo y la funcionalidad. Envolverlos en etiquetas de traducción puede romper el formato o los estilos en las versiones localizadas de tu mensaje.
Este texto está correctamente envuelto:
1
2
3
<p class="headline" style="color: red;">
{% translation id_1 %}Welcome to our sale{% endtranslation %}
</p>
Texto envuelto incorrectamente
Este texto está envuelto incorrectamente:
1
2
3
4
5
{% translation id_1 %}
<p class="headline" style="color: red;">
Welcome to our sale
</p>
{% endtranslation %}
Paso 3: Añadir locales a tu mensaje
Después de añadir etiquetas de traducción a tu mensaje, selecciona Administrar idiomas en el editor (Idiomas en los editores de arrastrar y soltar para correo electrónico y Content Blocks) y selecciona al menos un locale para el que quieras añadir traducciones.

Content Blocks que contienen traducciones
Si tu mensaje contiene Content Blocks que ya tienen traducciones guardadas, no necesitas volver a cargar esas traducciones. Las traducciones guardadas se aplican automáticamente cuando se añade el Content Block a tu mensaje.
En el modal Administrar idiomas, los Content Blocks con traducciones guardadas aparecen en la lista, junto con los locales que admiten. Esto te permite ver qué partes de tu mensaje ya están localizadas antes de añadir nuevas traducciones.


Asegúrate de que cada Content Block incluya traducciones para cada locale añadido a tu mensaje. Si a un Content Block le faltan traducciones para uno de los locales que añadiste, se mostrará en su idioma original para los usuarios de ese locale.
Paso 4: Añadir traducciones
Después de seleccionar los locales, añade traducciones a tu mensaje usando uno de los siguientes métodos:

Selecciona Descargar plantilla para descargar un CSV que contiene una matriz de tus ID de traducción y locales seleccionados.

Para evitar problemas de visualización con caracteres no ingleses, evita usar Excel para tu CSV de traducción.
Cuando completes la plantilla, traduce solo el contenido de texto para cada locale. Si hay etiquetas HTML presentes en la plantilla descargada, déjalas sin cambios y traduce solo el texto dentro de las etiquetas.
Por ejemplo, si la plantilla contiene:
1
<p style="margin:0;margin-bottom:0">A charming bakery dedicated to crafting artisanal breads.</p>
Solo traduce el texto A charming bakery dedicated to crafting artisanal breads. y mantén las etiquetas HTML <p style="margin:0;margin-bottom:0"> y </p> tal como están.
Luego, carga el archivo completado y las traducciones se aplicarán a tu mensaje.

Usa la API de traducción de un partner para administrar y actualizar traducciones en tus Campaigns y Canvas. Esto es útil si usas un sistema externo para localización o quieres conectarte directamente con un partner de traducción.
Para usar los endpoints de traducciones con Canvas, incluye los siguientes parámetros:
workflow_idstep_idmessage_variation_id

Al usar la API de traducción con pasos en Canvas que se crearon después de que se lanzó el Canvas, el message_variation_id que pases a la API estará vacío o en blanco.
Paso 5: Previsualizar traducciones
Para previsualizar tu mensaje, selecciona la opción Usuario multilingüe en el desplegable Previsualizar como usuario. Esto te permite alternar entre diferentes definiciones de locale para previsualizar todas las traducciones de tu mensaje.

Gestionar traducciones
Duplicar pasos en Canvas o Campaigns, y traducciones
Cuando duplicas un paso en Canvas, una Campaign o una variante, las traducciones se incluyen. Esto también aplica al copiar entre espacios de trabajo, siempre que los locales estén definidos en ese espacio de trabajo de destino. Asegúrate de revisar y actualizar las traducciones en consecuencia cuando realices modificaciones en tu Canvas o Campaign.
Guardar traducciones en Content Blocks
Los Content Blocks admiten multilenguaje de la misma manera que los mensajes. Al crear o editar Content Blocks, puedes etiquetar contenido para traducción, agregar locales y cargar traducciones usando un CSV o la API de traducciones.
Las traducciones guardadas permanecen asociadas con el Content Block. Cuando el bloque se agrega a un mensaje, sus traducciones se incluyen automáticamente.
Mensajes de derecha a izquierda
Al completar el archivo de traducción para idiomas que se escriben de derecha a izquierda (como el árabe), envuelve la traducción con span para que tenga el formato adecuado:
1
{% translation your_id_here %}<span dir='rtl'>default text</span>{% endtranslation %}
Seguimiento de enlaces en correo electrónico
En las Campaigns de correo electrónico, Braze realiza el seguimiento de enlaces agregando información de seguimiento (parámetros de consulta) a cada URL. Este comportamiento es compatible tanto con el aliasing de enlaces como con las plantillas de enlaces.
Cuando una URL está envuelta en etiquetas de traducción, es posible que Braze no pueda determinar dónde agregar esta información de seguimiento. Para asegurar que esto funcione correctamente, debes incluir un carácter especial al final de la URL para indicar dónde se debe agregar el seguimiento.
Las URL utilizan dos caracteres especiales para controlar cómo funciona esto:
?agrega seguimiento a una URL que aún no lo tiene.&agrega seguimiento adicional si ya hay un?presente en la URL. Una URL solo puede contener un?.
| URL | Contiene ? |
Descripción | Ejemplo |
|---|---|---|---|
| URL estándar | No | Agrega ? después de la etiqueta de traducción de cierre si la URL aún no contiene uno. |
<a href="https://{% translation id_1 %}example.com{% endtranslation %}?">Shop Now</a> |
| URL estándar | Sí | Usa & al final de la URL (después de la etiqueta de traducción de cierre) si ya contiene ?. |
<a href="https://{% translation id_1 %}example.com{% endtranslation %}?ref=4&">Shop Now</a> |
| Generada con Liquid | No | Usa ? después de las etiquetas de traducción de cierre si la URL generada aún no contiene uno. |
<a href="{% translation id_1 %}{{ product_url }}{% endtranslation %}?">Shop Now</a> |
| Generada con Liquid | Sí | Usa & después de la etiqueta de traducción de cierre si la URL generada ya contiene un ?. |
<a href="{% translation id_1 %}{% landing_page_url xyz %}{% endtranslation %}&">Shop Now</a> |
Configuración de idioma y accesibilidad
Comienza con Idioma de accesibilidad en Accesibilidad para el contexto de WCAG, el comportamiento de canales y editores (incluidas las páginas de destino) y la configuración de Accesibilidad a nivel de mensaje.
Cuando usas mensajes multilenguaje, alinea el idioma de accesibilidad con cada locale para que los envíos localizados declaren el idioma apropiado.
Configurar el idioma de accesibilidad
Puedes establecer el idioma de accesibilidad en dos niveles:
Nivel de mensaje
A nivel de mensaje, establece el idioma de accesibilidad en la sección Accesibilidad de la configuración de tu mensaje. Para seleccionar un idioma, usar Liquid y conocer las limitaciones por canal, consulta Idioma de accesibilidad.
Nivel de locale
Para mensajes multilenguaje, establece el idioma de accesibilidad para cada locale en Configuración de localización. Puedes usar {{accessibility_language}} en la sección Accesibilidad para que el idioma del documento o la tarjeta se mapee a esos valores de locale.
Si ese token aparece de forma predeterminada para mensajes nuevos depende del canal y el editor. Por ejemplo, los In-App Messages y los Banners se comportan de manera diferente a las páginas de destino y los correos electrónicos de arrastrar y soltar. Consulta Idioma de accesibilidad para más detalles.
Preguntas frecuentes
¿Cuáles son los límites para las etiquetas de traducción?
Al utilizar etiquetas de traducción, se aplican los siguientes límites:
- Cada mensaje puede tener hasta 200 etiquetas de traducción.
- Cada texto predeterminado (el contenido entre las etiquetas de traducción) puede tener hasta 2000 caracteres.
- Las traducciones por configuración regional pueden tener hasta 409 600 bytes (aproximadamente 409,6 KB).
¿Por qué recibo un error al descargar plantillas de correo electrónico multilingüe?
Si encuentras errores al descargar plantillas de correo electrónico multilingüe, es posible que las etiquetas de traducción estén envolviendo atributos HTML o estilos CSS que entran en conflicto con la forma en que Braze procesa los cuerpos de los correos electrónicos.
Braze trata el cuerpo HTML y el cuerpo de texto plano como componentes separados del mismo mensaje. Cuando las etiquetas de traducción incluyen referencias href y estilos CSS, esto puede generar etiquetas en conflicto que impiden que la plantilla se descargue correctamente.
Para resolver esto:
- Excluye las referencias
hrefy los estilos CSS de las etiquetas de traducción. - Envuelve solo el contenido de texto legible por humanos en las etiquetas de traducción, como se describe en Atributos y estructura HTML.
- Para las URL, sigue las indicaciones en Localizar URL.
¿Puedo hacer un cambio en la copia traducida en una de mis configuraciones regionales?
Sí. Primero, realiza la edición en el CSV y luego sube el archivo de nuevo para hacer un cambio en la copia traducida.
¿Braze proporciona traducciones?
No. Debes proporcionar tus propias traducciones ya sea subiendo un CSV o utilizando la API de traducción.
¿Puedo anidar etiquetas de traducción?
No.
¿Puedo envolver mensajes HTML completos en una etiqueta de traducción?
No. Como práctica recomendada, solo debes envolver texto legible por humanos o contenido que deba ser localizado. Esto ayuda a prevenir formatos rotos, enlaces u otros elementos que no son texto.
Además, considera envolver piezas de texto más pequeñas y semánticamente relacionadas para crear traducciones precisas y evitar limitaciones de rendimiento o tamaño.
¿Puedo hacer un cambio en la copia traducida en una de mis configuraciones regionales?
Sí. Si usas un CSV, primero realiza la edición en el archivo y luego súbelo de nuevo para hacer un cambio en la copia traducida. Si usas la API de traducción, utiliza los endpoints de actualización para hacer cambios.
¿Qué validaciones o comprobaciones adicionales realiza Braze?
| Escenario | Validación en Braze |
|---|---|
| Un mensaje contiene dos o más ID de traducción coincidentes que se asignan a textos diferentes. | Este archivo de traducción no se descargará. |
| A un archivo de traducción le faltan uno o más ID de etiquetas de traducción. | Este archivo de traducción no se subirá. |
| Un archivo de traducción contiene configuraciones regionales que no están en el mensaje. | Este archivo de traducción no se subirá. |
| Las etiquetas de traducción deben añadirse a un mensaje antes de descargar la plantilla de traducción. | Este archivo de traducción no se descargará. |
| Las etiquetas de traducción encontradas en tu archivo subido no están en tu mensaje. | Las traducciones adicionales no se guardarán en el mensaje. |
Un mensaje contiene una o más etiquetas de Liquid rotas. Para abrir etiquetas usa {% translation your_id_here %}, cierra las etiquetas de traducción con {% endtranslation %}. |
Este archivo de traducción no se descargará. |
| Un archivo de traducción contiene texto predeterminado que no coincide con lo que hay en el mensaje. | Las traducciones se añaden, pero el texto original del mensaje no se actualiza. |
| Una o más de las configuraciones regionales en un mensaje han sido eliminadas en la configuración y ya no existen. | Las traducciones que ya se han añadido siguen existiendo dentro del mensaje. Si se eliminan del mensaje, las traducciones se pierden. |
| Las etiquetas de traducción contienen URL completas o URL generadas por Liquid. | Las etiquetas de traducción que contienen URL se identifican en caso de que ocurran problemas con enlaces rotos o seguimiento de enlaces. |
| Las etiquetas de traducción incluyen parámetros de consulta. | Las etiquetas de traducción que contienen parámetros de consulta se identifican en caso de que ocurran problemas con enlaces rotos o seguimiento de enlaces. |
| Las etiquetas de traducción contienen atributos o estructuras HTML. | Las etiquetas de traducción que contienen atributos o estructuras HTML se identifican en caso de que ocurran problemas con estilos y formato. |