Zasięg

Grow

Manage

Automate

Zasięg

Grow

Manage

Automate

G

G

M

M

Translation Files

How to localize html content

Overview

Overview

Overview

Translation files

A centralised hub for storing all your key translations to use in email, sms and push templates. These feature allows you to easily upload and store your translations

Translation Files simplify the localisation of templates by allowing you to manage multilingual content in a single, centralised system. With Translation Files, you can dynamically serve the correct language version of text in your templates based on your recipients’ locale, reducing the need for multiple templates and improving campaign efficiency.

Key Features

Centralised Management: Upload translation files in the Bird CRM interface.Store translations for multiple locales in a single file, reducing duplication and streamlining updates.

Dynamic Translation Rendering: Automatically fetch the correct translation for a recipient’s locale using Liquid syntax.Include fallback logic to ensure messages always render, even if a translation is missing.

Flexible Format: Use CSV files with row keys for locales (e.g., en-EN, fr-FR) and column keys for translation content (e.g., header, body).Example file structure:

Header 1

Header 2

Header 3

Cell 1-1

Cell 1-2

Cell 1-3

Cell 2-1

Cell 2-2

Cell 2-3

Multi-Channel Support: Use translation files across supported channels including email and also SMS and push notifications if enabled.

Locale-Based Personalisation

  • Dynamically select translations based on the recipient’s locale attribute (e.g., contact.attribute.locale) or other custom attributes.

  • Ensure consistent messaging for global audiences.

Creating and using translation files

Translation files can be uploaded to Bird and used in your templates. This guide walks you through how to upload and use them

Translation files allow you to dynamically translate content in templates based on the recipient's locale. Here's how to set up and use translation files to create a localised welcome email.

Step 1: Prepare the Translation File

File Format: Use a CSV file with the following structure:

  • Row Key (locale): Represents the locale (e.g., en-US, fr-FR, es-ES).

  • Column Headers: Keys for the sections of the template that require translation (e.g., header, body).

Example File: welcome_email_translations.csv

locale

header

body

en-US

Welcome to Bird!

We can't wait for you to get started with Inbox.

fr-FR

Bienvenue chez Bird!

Nous avons hâte que vous commenciez avec Inbox.

es-ES

¡Bienvenido a Bird!

Estamos ansiosos por que empieces con Inbox.


Save the File:

Save it as welcome_email_translations.csv.

Step 2: Upload the Translation File

  1. Go to the Content > Translation Files section in Bird.

  2. Click Upload Translation File.

  3. Select welcome_email_translations.csv and upload it.

  4. Confirm the file upload is successful.

Step 3: Use Translations in the Email Template

  1. Set the Locale: Assign the recipient's locale to a variable, typically based on their profile attribute. You can also use any custom attribute combination as long as it matches the format in your translation file. {% assign locale = contact.attributes.locale %}

  2. Fetch Translations: Use assign or capture to retrieve the relevant translation from the file using the render tag. {% assign header = "welcome_email_translations/header" | t: locale %} {% assign body = "welcome_email_translations/body" | t: locale %}

  3. Render the Template: Insert the translations dynamically into your email content. You can also render the translations directly into the variable rather than assigning them first <h1>{{ header }}</h1> <p>{{ "welcome_email_translations/body" | t: locale }}</p>

Complete Template Example:

{% assign locale = contact.attributes.locale %}
{% assign header = "welcome_email_translations/header" | t: locale %}
{% assign body = "welcome_email_translations/body" | t: locale %}


<!DOCTYPE html>
<html>
  <body>
    <h1>{{ header }}</h1>
    <p>{{ body }}</p>
  </body>
</html>

Step 4: Test Your Translations

Send a Test Email:

Use test contacts with specific locales (e.g. en-US, fr-FR, es-ES) to ensure the translations are applied correctly.

Translation files can be uploaded to Bird and used in your templates. This guide walks you through how to upload and use them

Translation files allow you to dynamically translate content in templates based on the recipient's locale. Here's how to set up and use translation files to create a localised welcome email.

Step 1: Prepare the Translation File

File Format: Use a CSV file with the following structure:

  • Row Key (locale): Represents the locale (e.g., en-US, fr-FR, es-ES).

  • Column Headers: Keys for the sections of the template that require translation (e.g., header, body).

Example File: welcome_email_translations.csv

locale

header

body

en-US

Welcome to Bird!

We can't wait for you to get started with Inbox.

fr-FR

Bienvenue chez Bird!

Nous avons hâte que vous commenciez avec Inbox.

es-ES

¡Bienvenido a Bird!

Estamos ansiosos por que empieces con Inbox.


Save the File:

Save it as welcome_email_translations.csv.

Step 2: Upload the Translation File

  1. Go to the Content > Translation Files section in Bird.

  2. Click Upload Translation File.

  3. Select welcome_email_translations.csv and upload it.

  4. Confirm the file upload is successful.

Step 3: Use Translations in the Email Template

  1. Set the Locale: Assign the recipient's locale to a variable, typically based on their profile attribute. You can also use any custom attribute combination as long as it matches the format in your translation file. {% assign locale = contact.attributes.locale %}

  2. Fetch Translations: Use assign or capture to retrieve the relevant translation from the file using the render tag. {% assign header = "welcome_email_translations/header" | t: locale %} {% assign body = "welcome_email_translations/body" | t: locale %}

  3. Render the Template: Insert the translations dynamically into your email content. You can also render the translations directly into the variable rather than assigning them first <h1>{{ header }}</h1> <p>{{ "welcome_email_translations/body" | t: locale }}</p>

Complete Template Example:

{% assign locale = contact.attributes.locale %}
{% assign header = "welcome_email_translations/header" | t: locale %}
{% assign body = "welcome_email_translations/body" | t: locale %}


<!DOCTYPE html>
<html>
  <body>
    <h1>{{ header }}</h1>
    <p>{{ body }}</p>
  </body>
</html>

Step 4: Test Your Translations

Send a Test Email:

Use test contacts with specific locales (e.g. en-US, fr-FR, es-ES) to ensure the translations are applied correctly.

Translation files can be uploaded to Bird and used in your templates. This guide walks you through how to upload and use them

Translation files allow you to dynamically translate content in templates based on the recipient's locale. Here's how to set up and use translation files to create a localised welcome email.

Step 1: Prepare the Translation File

File Format: Use a CSV file with the following structure:

  • Row Key (locale): Represents the locale (e.g., en-US, fr-FR, es-ES).

  • Column Headers: Keys for the sections of the template that require translation (e.g., header, body).

Example File: welcome_email_translations.csv

locale

header

body

en-US

Welcome to Bird!

We can't wait for you to get started with Inbox.

fr-FR

Bienvenue chez Bird!

Nous avons hâte que vous commenciez avec Inbox.

es-ES

¡Bienvenido a Bird!

Estamos ansiosos por que empieces con Inbox.


Save the File:

Save it as welcome_email_translations.csv.

Step 2: Upload the Translation File

  1. Go to the Content > Translation Files section in Bird.

  2. Click Upload Translation File.

  3. Select welcome_email_translations.csv and upload it.

  4. Confirm the file upload is successful.

Step 3: Use Translations in the Email Template

  1. Set the Locale: Assign the recipient's locale to a variable, typically based on their profile attribute. You can also use any custom attribute combination as long as it matches the format in your translation file. {% assign locale = contact.attributes.locale %}

  2. Fetch Translations: Use assign or capture to retrieve the relevant translation from the file using the render tag. {% assign header = "welcome_email_translations/header" | t: locale %} {% assign body = "welcome_email_translations/body" | t: locale %}

  3. Render the Template: Insert the translations dynamically into your email content. You can also render the translations directly into the variable rather than assigning them first <h1>{{ header }}</h1> <p>{{ "welcome_email_translations/body" | t: locale }}</p>

Complete Template Example:

{% assign locale = contact.attributes.locale %}
{% assign header = "welcome_email_translations/header" | t: locale %}
{% assign body = "welcome_email_translations/body" | t: locale %}


<!DOCTYPE html>
<html>
  <body>
    <h1>{{ header }}</h1>
    <p>{{ body }}</p>
  </body>
</html>

Step 4: Test Your Translations

Send a Test Email:

Use test contacts with specific locales (e.g. en-US, fr-FR, es-ES) to ensure the translations are applied correctly.

Best Practices

  • Include fallbacks Always include fallback translations in case a locale-specific translation is missing. For example in the below if the locale is missing it will fallback to en-US, and if that is missing default back to the text “Welcome to Bird”. {% assign header = "welcome_email_translations/header" | t: locale, "en-US" | default: "Welcome to Bird!" %}

  • Standardise Locale Codes: Ensure consistent locales (e.g. en-US, fr-FR, es-ES) are used across all translation files.

  • Regular Updates: Keep translation files up-to-date as content changes to maintain consistency across languages.

  • Test Thoroughly: Regularly test templates after adding or updating translations to ensure they render correctly.

Outcome

Using the example above, a French recipient (locale = "fr-FR") will receive: Header: Bienvenue chez Bird! Body: Nous avons hâte que vous commenciez avec Inbox.

An English recipient (locale = "en-EN") will receive: Header: Welcome to Bird! Body: We can't wait for you to get started with Inbox.

This approach simplifies localisation, ensuring consistent messaging while reducing template duplication.

Połączmy Cię z ekspertem Bird.
Zobacz pełną moc Bird w 30 minut.

Przesyłając, zgadzasz się, że Bird może kontaktować się z Tobą w sprawie naszych produktów i usług.

Możesz zrezygnować z subskrypcji w dowolnym momencie. Zobacz Privacy Statement firmy Bird, aby uzyskać szczegóły dotyczące przetwarzania danych.

Company

Biuletyn

Bądź na bieżąco z Bird dzięki cotygodniowym aktualizacjom do Twojej skrzynki odbiorczej.

Połączmy Cię z ekspertem Bird.
Zobacz pełną moc Bird w 30 minut.

Przesyłając, zgadzasz się, że Bird może kontaktować się z Tobą w sprawie naszych produktów i usług.

Możesz zrezygnować z subskrypcji w dowolnym momencie. Zobacz Privacy Statement firmy Bird, aby uzyskać szczegóły dotyczące przetwarzania danych.

Company

Biuletyn

Bądź na bieżąco z Bird dzięki cotygodniowym aktualizacjom do Twojej skrzynki odbiorczej.

Połączmy Cię z ekspertem Bird.
Zobacz pełną moc Bird w 30 minut.

Przesyłając, zgadzasz się, że Bird może kontaktować się z Tobą w sprawie naszych produktów i usług.

Możesz zrezygnować z subskrypcji w dowolnym momencie. Zobacz Privacy Statement firmy Bird, aby uzyskać szczegóły dotyczące przetwarzania danych.

R

Reach

G

Grow

M

Manage

A

Automate

Company

Biuletyn

Bądź na bieżąco z Bird dzięki cotygodniowym aktualizacjom do Twojej skrzynki odbiorczej.