Create a multi-language campaign
It is possible to send multi-language campaigns in Vero. Using the multi-language feature of Vero you can create multiple language versions of an email which include localised content for each language you want to send your campaign in. This feature is best suited if you have already translated your content to multiple languages.
In order to tell which language version of an email to send to your customers, Vero reserves the locale
property for each customer.
For example: If a customer has the property locale
set to es
then Vero will assign the user to receive the es
language variation you set up. Learn more about customer properties.
Note: Vero does not offer a translation service, multi-language campaigns are best suited for campaigns that have already been translated. For translation services, check out: Transifex or Smartling
Creating a new multi-language campaign
To create a new multi-langauge campaign follow these steps:
- Create a new campaign (mutli-language emails are available on any type of campaign).
- Setup your campaign as you normally would, with your entire list of users to begin with.
- This first variation will be your "default language". This is essentially the control email and will contain the conditions with which the language variations are built from. If most of your users are english speaking, we recommend using the first (default) language version as english. This means that if a customer doesn’t have a locale set then they will still receive the english version.
- Click on the 'Enable Languages' option.
- Add a language version to this campaign by hitting '+ Add Languages'.
- Choose the language you want this content version to be sent to. Any customer with the corresponding locale will be sent that version of the email.
Adding languages to an existing campaign
If you are adding language variations to an existing workflow or behavioural campaign, please be aware that if the campaign has been launched, any changes woulc automatically be live for your customers.
To edit an existing campaign you can pause the campaign, edit as above and then un-pause the campaign.
Or alternately you can add a condition to your default content that will ensure no users receive the language variations until they are completed. Typically we recommend adding the locale property of the default language. So if your default language is English add the condition "has property locale equal to en".
This will ensure only English users receive the content and this content will be your default variation.
When you are ready to go live with your language variations, remove this condition and users will start being sent the correct content.
For working with dates and timestamps
We provide a with_locale
filter that will format the date in the language of the locale passed to the filter.
purchase_date = "2015-04-01 11:33"
{{ purchase_date | with_locale: '%Y %b %H:%M', 'es-MX' }} => 2024 abr 11:33
You can also pass it a user property.
purchase_date = "2015-04-01 11:33"
user.locale = "es-MX"
{{ purchase_date | with_locale: '%Y %b %H:%M', user.locale }} => 2024 abr 11:33
Allow partial matching of locale codes
By default, Vero will use an "exact match" for locale codes. If you want to allow for a partial match, for example, any user who has the property 'locale' that contains 'es'- such as 'es-MX' or 'es-US', you can switch this feature on in Settings>Labs.
Language Codes
Listed below are the codes that should be used on the locale
customer property:
Language | Code |
---|---|
Afrikaans (Namibia) | af-NA |
Afrikaans (South Africa) | af-ZA |
Afrikaans | af |
Akan (Ghana) | ak-GH |
Akan | ak |
Albanian (Albania) | sq-AL |
Albanian | sq |
Amharic (Ethiopia) | am-ET |
Amharic | am |
Arabic (Algeria) | ar-DZ |
Arabic (Bahrain) | ar-BH |
Arabic (Egypt) | ar-EG |
Arabic (Iraq) | ar-IQ |
Arabic (Jordan) | ar-JO |
Arabic (Kuwait) | ar-KW |
Arabic (Lebanon) | ar-LB |
Arabic (Libya) | ar-LY |
Arabic (Morocco) | ar-MA |
Arabic (Oman) | ar-OM |
Arabic (Qatar) | ar-QA |
Arabic (Saudi Arabia) | ar-SA |
Arabic (Sudan) | ar-SD |
Arabic (Syria) | ar-SY |
Arabic (Tunisia) | ar-TN |
Arabic (United Arab Emirates) | ar-AE |
Arabic (Yemen) | ar-YE |
Arabic | ar |
Armenian (Armenia) | hy-AM |
Armenian | hy |
Assamese (India) | as-IN |
Assamese | as |
Asu (Tanzania) | asa-TZ |
Asu | asa |
Azerbaijani | az |
Bambara (Mali) | bm-ML |
Bambara | bm |
Basque (Spain) | eu-ES |
Basque | eu |
Belarusian (Belarus) | be-BY |
Belarusian | be |
Bemba (Zambia) | bem-ZM |
Bemba | bem |
Bena (Tanzania) | bez-TZ |
Bena | bez |
Bengali (Bangladesh) | bn-BD |
Bengali (India) | bn-IN |
Bengali | bn |
Bosnian (Bosnia and Herzegovina) | bs-BA |
Bosnian | bs |
Bulgarian (Bulgaria) | bg-BG |
Bulgarian | bg |
Burmese (Myanmar [Burma]) | my-MM |
Burmese | my |
Catalan (Spain) | ca-ES |
Catalan | ca |
Central Morocco Tamazight | tzm |
Cherokee (United States) | chr-US |
Cherokee | chr |
Chiga (Uganda) | cgg-UG |
Chiga | cgg |
Chinese (Simplified Han) | zh-Hans |
Chinese (Simplified Han China) | zh-Hans-CN |
Chinese (Simplified Han Hong Kong SAR China) | zh-Hans-HK |
Chinese (Simplified Han Macau SAR China) | zh-Hans-MO |
Chinese (Simplified Han Singapore) | zh-Hans-SG |
Chinese (Traditional Han) | zh-Hant |
Chinese (Traditional Han Hong Kong SAR China) | zh-Hant-HK |
Chinese (Traditional Han Macau SAR China) | zh-Hant-MO |
Chinese (Traditional Han Taiwan) | zh-Hant-TW |
Chinese | zh |
Cornish (United Kingdom) | kw-GB |
Cornish | kw |
Croatian (Croatia) | hr-HR |
Croatian | hr |
Czech (Czech Republic) | cs-CZ |
Czech | cs |
Danish (Denmark) | da-DK |
Danish | da |
Dutch (Belgium) | nl-BE |
Dutch (Netherlands) | nl-NL |
Dutch | nl |
Embu (Kenya) | ebu-KE |
Embu | ebu |
English (American Samoa) | en-AS |
English (Australia) | en-AU |
English (Belgium) | en-BE |
English (Belize) | en-BZ |
English (Botswana) | en-BW |
English (Canada) | en-CA |
English (France) | en-FR |
English (Guam) | en-GU |
English (Germany) | en-DE |
English (Hong Kong SAR China) | en-HK |
English (India) | en-IN |
English (Ireland) | en-IE |
English (Jamaica) | en-JM |
English (Malta) | en-MT |
English (Marshall Islands) | en-MH |
English (Mauritius) | en-MU |
English (Namibia) | en-NA |
English (Netherlands) | en-NL |
English (New Zealand) | en-NZ |
English (Northern Mariana Islands) | en-MP |
English (Pakistan) | en-PK |
English (Philippines) | en-PH |
English (Singapore) | en-SG |
English (South Africa) | en-ZA |
English (Trinidad and Tobago) | en-TT |
English (U.S. Minor Outlying Islands) | en-UM |
English (U.S. Virgin Islands) | en-VI |
English (United Kingdom) | en-GB |
English (United States) | en-US |
English (Zimbabwe) | en-ZW |
English | en |
Esperanto | eo |
Estonian (Estonia) | et-EE |
Estonian | et |
Ewe (Ghana) | ee-GH |
Ewe (Togo) | ee-TG |
Ewe | ee |
Faroese (Faroe Islands) | fo-FO |
Faroese | fo |
Filipino (Philippines) | fil-PH |
Filipino | fil |
Finnish (Finland) | fi-FI |
Finnish | fi |
French (Belgium) | fr-BE |
French (Benin) | fr-BJ |
French (Burkina Faso) | fr-BF |
French (Burundi) | fr-BI |
French (Cameroon) | fr-CM |
French (Canada) | fr-CA |
French (Central African Republic) | fr-CF |
French (Chad) | fr-TD |
French (Comoros) | fr-KM |
French (Congo - Brazzaville) | fr-CG |
French (Congo - Kinshasa) | fr-CD |
French (Côte d’Ivoire) | fr-CI |
French (Djibouti) | fr-DJ |
French (Equatorial Guinea) | fr-GQ |
French (France) | fr-FR |
French (Gabon) | fr-GA |
French (Guadeloupe) | fr-GP |
French (Guinea) | fr-GN |
French (Luxembourg) | fr-LU |
French (Madagascar) | fr-MG |
French (Mali) | fr-ML |
French (Martinique) | fr-MQ |
French (Monaco) | fr-MC |
French (Niger) | fr-NE |
French (Rwanda) | fr-RW |
French (Réunion) | fr-RE |
French (Saint Barthélemy) | fr-BL |
French (Saint Martin) | fr-MF |
French (Senegal) | fr-SN |
French (Switzerland) | fr-CH |
French (Togo) | fr-TG |
French | fr |
Fulah (Senegal) | ff-SN |
Fulah | ff |
Galician (Spain) | gl-ES |
Galician | gl |
Ganda (Uganda) | lg-UG |
Ganda | lg |
Georgian (Georgia) | ka-GE |
Georgian | ka |
German (Austria) | de-AT |
German (Belgium) | de-BE |
German (Germany) | de-DE |
German (Liechtenstein) | de-LI |
German (Luxembourg) | de-LU |
German (Switzerland) | de-CH |
German | de |
Greek (Cyprus) | el-CY |
Greek (Greece) | el-GR |
Greek | el |
Gujarati (India) | gu-IN |
Gujarati | gu |
Gusii (Kenya) | guz-KE |
Gusii | guz |
Hausa | ha |
Hawaiian (United States) | haw-US |
Hawaiian | haw |
Hebrew (Israel) | he-IL |
Hebrew | he |
Hindi (India) | hi-IN |
Hindi | hi |
Hungarian (Hungary) | hu-HU |
Hungarian | hu |
Icelandic (Iceland) | is-IS |
Icelandic | is |
Igbo (Nigeria) | ig-NG |
Igbo | ig |
Indonesian (Indonesia) | id-ID |
Indonesian | id |
Irish (Ireland) | ga-IE |
Irish | ga |
Italian (Italy) | it-IT |
Italian (Switzerland) | it-CH |
Italian | it |
Japanese (Japan) | ja-JP |
Japanese | ja |
Kabuverdianu (Cape Verde) | kea-CV |
Kabuverdianu | kea |
Kabyle (Algeria) | kab-DZ |
Kabyle | kab |
Kalaallisut (Greenland) | kl-GL |
Kalaallisut | kl |
Kalenjin (Kenya) | kln-KE |
Kalenjin | kln |
Kamba (Kenya) | kam-KE |
Kamba | kam |
Kannada (India) | kn-IN |
Kannada | kn |
Kazakh | kk |
Khmer (Cambodia) | km-KH |
Khmer | km |
Kikuyu (Kenya) | ki-KE |
Kikuyu | ki |
Kinyarwanda (Rwanda) | rw-RW |
Kinyarwanda | rw |
Konkani (India) | kok-IN |
Konkani | kok |
Korean (South Korea) | ko-KR |
Korean | ko |
Koyra Chiini (Mali) | khq-ML |
Koyra Chiini | khq |
Koyraboro Senni (Mali) | ses-ML |
Koyraboro Senni | ses |
Langi (Tanzania) | lag-TZ |
Langi | lag |
Latvian (Latvia) | lv-LV |
Latvian | lv |
Lithuanian (Lithuania) | lt-LT |
Lithuanian | lt |
Luo (Kenya) | luo-KE |
Luo | luo |
Luyia (Kenya) | luy-KE |
Luyia | luy |
Macedonian (Macedonia) | mk-MK |
Macedonian | mk |
Machame (Tanzania) | jmc-TZ |
Machame | jmc |
Makonde (Tanzania) | kde-TZ |
Makonde | kde |
Malagasy (Madagascar) | mg-MG |
Malagasy | mg |
Malay (Brunei) | ms-BN |
Malay (Malaysia) | ms-MY |
Malay | ms |
Malayalam (India) | ml-IN |
Malayalam | ml |
Maltese (Malta) | mt-MT |
Maltese | mt |
Manx (United Kingdom) | gv-GB |
Manx | gv |
Marathi (India) | mr-IN |
Marathi | mr |
Masai (Kenya) | mas-KE |
Masai (Tanzania) | mas-TZ |
Masai | mas |
Meru (Kenya) | mer-KE |
Meru | mer |
Morisyen (Mauritius) | mfe-MU |
Morisyen | mfe |
Nama (Namibia) | naq-NA |
Nama | naq |
Nepali (India) | ne-IN |
Nepali (Nepal) | ne-NP |
Nepali | ne |
North Ndebele (Zimbabwe) | nd-ZW |
North Ndebele | nd |
Norwegian Bokmål (Norway) | nb-NO |
Norwegian Bokmål | nb |
Norwegian Nynorsk (Norway) | nn-NO |
Norwegian Nynorsk | nn |
Nyankole (Uganda) | nyn-UG |
Nyankole | nyn |
Oriya (India) | or-IN |
Oriya | or |
Oromo (Ethiopia) | om-ET |
Oromo (Kenya) | om-KE |
Oromo | om |
Pashto (Afghanistan) | ps-AF |
Pashto | ps |
Persian (Afghanistan) | fa-AF |
Persian (Iran) | fa-IR |
Persian | fa |
Polish (Poland) | pl-PL |
Polish | pl |
Portuguese (Brazil) | pt-BR |
Portuguese (Guinea-Bissau) | pt-GW |
Portuguese (Mozambique) | pt-MZ |
Portuguese (Portugal) | pt-PT |
Portuguese | pt |
Punjabi (Arabic) | pa-Arab |
Punjabi (Arabic Pakistan) | pa-Arab-PK |
Punjabi (Gurmukhi) | pa-Guru |
Punjabi (Gurmukhi India) | pa-Guru-IN |
Punjabi | pa |
Romanian (Moldova) | ro-MD |
Romanian (Romania) | ro-RO |
Romanian | ro |
Romansh (Switzerland) | rm-CH |
Romansh | rm |
Rombo (Tanzania) | rof-TZ |
Rombo | rof |
Russian (Moldova) | ru-MD |
Russian (Russia) | ru-RU |
Russian (Ukraine) | ru-UA |
Russian | ru |
Rwa (Tanzania) | rwk-TZ |
Rwa | rwk |
Samburu (Kenya) | saq-KE |
Samburu | saq |
Sango (Central African Republic) | sg-CF |
Sango | sg |
Sena (Mozambique) | seh-MZ |
Sena | seh |
Serbian | sr |
Shona (Zimbabwe) | sn-ZW |
Shona | sn |
Sichuan Yi (China) | ii-CN |
Sichuan Yi | ii |
Sinhala (Sri Lanka) | si-LK |
Sinhala | si |
Slovak (Slovakia) | sk-SK |
Slovak | sk |
Slovenian (Slovenia) | sl-SI |
Slovenian | sl |
Soga (Uganda) | xog-UG |
Soga | xog |
Somali (Djibouti) | so-DJ |
Somali (Ethiopia) | so-ET |
Somali (Kenya) | so-KE |
Somali (Somalia) | so-SO |
Somali | so |
Spanish (Argentina) | es-AR |
Spanish (Bolivia) | es-BO |
Spanish (Chile) | es-CL |
Spanish (Colombia) | es-CO |
Spanish (Costa Rica) | es-CR |
Spanish (Dominican Republic) | es-DO |
Spanish (Ecuador) | es-EC |
Spanish (El Salvador) | es-SV |
Spanish (Equatorial Guinea) | es-GQ |
Spanish (Guatemala) | es-GT |
Spanish (Honduras) | es-HN |
Spanish (Latin America) | es-419 |
Spanish (Mexico) | es-MX |
Spanish (Nicaragua) | es-NI |
Spanish (Panama) | es-PA |
Spanish (Paraguay) | es-PY |
Spanish (Peru) | es-PE |
Spanish (Puerto Rico) | es-PR |
Spanish (Spain) | es-ES |
Spanish (United States) | es-US |
Spanish (Uruguay) | es-UY |
Spanish (Venezuela) | es-VE |
Spanish | es |
Swahili (Kenya) | sw-KE |
Swahili (Tanzania) | sw-TZ |
Swahili | sw |
Swedish (Finland) | sv-FI |
Swedish (Sweden) | sv-SE |
Swedish | sv |
Swiss German (Switzerland) | gsw-CH |
Swiss German | gsw |
Tachelhit (Tifinagh) | shi-Tfng |
Tachelhit (Tifinagh Morocco) | shi-Tfng-MA |
Tachelhit | shi |
Taita (Kenya) | dav-KE |
Taita | dav |
Tamil (India) | ta-IN |
Tamil (Sri Lanka) | ta-LK |
Tamil | ta |
Telugu (India) | te-IN |
Telugu | te |
Teso (Kenya) | teo-KE |
Teso (Uganda) | teo-UG |
Teso | teo |
Thai (Thailand) | th-TH |
Thai | th |
Tibetan (China) | bo-CN |
Tibetan (India) | bo-IN |
Tibetan | bo |
Tigrinya (Eritrea) | ti-ER |
Tigrinya (Ethiopia) | ti |
Tigrinya | ti |
Tonga (Tonga) | to-TO |
Tonga | to |
Turkish (Turkey) | tr-TR |
Turkish | tr |
Ukrainian (Ukraine) | uk-UA |
Ukrainian | uk |
Urdu (India) | ur-IN |
Urdu (Pakistan) | ur-PK |
Urdu | ur |
Uzbek (Arabic) | uz-Arab |
Uzbek (Arabic Afghanistan) | uz-Arab-AF |
Uzbek | uz |
Vietnamese (Vietnam) | vi-VN |
Vietnamese | vi |
Vunjo (Tanzania) | vun-TZ |
Vunjo | vun |
Welsh (United Kingdom) | cy-GB |
Welsh | cy |
Yoruba (Nigeria) | yo-NG |
Yoruba | yo |
Zulu (South Africa) | zu-ZA |
Zulu | zu |