Skip to main content
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:
  1. Create a new campaign (mutli-language emails are available on any type of campaign).
  2. Setup your campaign as you normally would, with your entire list of users to begin with.
  3. 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.
  4. Click on the ‘Enable Languages’ option. vero.enable-languages
  5. Add a language version to this campaign by hitting ’+ Add Languages’. vero.add-language
  6. 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. vero.add-language-locale

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. Partial matching local codes setting

Language Codes

Listed below are the codes that should be used on the locale customer property:
LanguageCode
Afrikaans (Namibia)af-NA
Afrikaans (South Africa)af-ZA
Afrikaansaf
Akan (Ghana)ak-GH
Akanak
Albanian (Albania)sq-AL
Albaniansq
Amharic (Ethiopia)am-ET
Amharicam
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
Arabicar
Armenian (Armenia)hy-AM
Armenianhy
Assamese (India)as-IN
Assameseas
Asu (Tanzania)asa-TZ
Asuasa
Azerbaijaniaz
Bambara (Mali)bm-ML
Bambarabm
Basque (Spain)eu-ES
Basqueeu
Belarusian (Belarus)be-BY
Belarusianbe
Bemba (Zambia)bem-ZM
Bembabem
Bena (Tanzania)bez-TZ
Benabez
Bengali (Bangladesh)bn-BD
Bengali (India)bn-IN
Bengalibn
Bosnian (Bosnia and Herzegovina)bs-BA
Bosnianbs
Bulgarian (Bulgaria)bg-BG
Bulgarianbg
Burmese (Myanmar [Burma])my-MM
Burmesemy
Catalan (Spain)ca-ES
Catalanca
Central Morocco Tamazighttzm
Cherokee (United States)chr-US
Cherokeechr
Chiga (Uganda)cgg-UG
Chigacgg
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
Chinesezh
Cornish (United Kingdom)kw-GB
Cornishkw
Croatian (Croatia)hr-HR
Croatianhr
Czech (Czech Republic)cs-CZ
Czechcs
Danish (Denmark)da-DK
Danishda
Dutch (Belgium)nl-BE
Dutch (Netherlands)nl-NL
Dutchnl
Embu (Kenya)ebu-KE
Embuebu
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
Englishen
Esperantoeo
Estonian (Estonia)et-EE
Estonianet
Ewe (Ghana)ee-GH
Ewe (Togo)ee-TG
Eweee
Faroese (Faroe Islands)fo-FO
Faroesefo
Filipino (Philippines)fil-PH
Filipinofil
Finnish (Finland)fi-FI
Finnishfi
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
Frenchfr
Fulah (Senegal)ff-SN
Fulahff
Galician (Spain)gl-ES
Galiciangl
Ganda (Uganda)lg-UG
Gandalg
Georgian (Georgia)ka-GE
Georgianka
German (Austria)de-AT
German (Belgium)de-BE
German (Germany)de-DE
German (Liechtenstein)de-LI
German (Luxembourg)de-LU
German (Switzerland)de-CH
Germande
Greek (Cyprus)el-CY
Greek (Greece)el-GR
Greekel
Gujarati (India)gu-IN
Gujaratigu
Gusii (Kenya)guz-KE
Gusiiguz
Hausaha
Hawaiian (United States)haw-US
Hawaiianhaw
Hebrew (Israel)he-IL
Hebrewhe
Hindi (India)hi-IN
Hindihi
Hungarian (Hungary)hu-HU
Hungarianhu
Icelandic (Iceland)is-IS
Icelandicis
Igbo (Nigeria)ig-NG
Igboig
Indonesian (Indonesia)id-ID
Indonesianid
Irish (Ireland)ga-IE
Irishga
Italian (Italy)it-IT
Italian (Switzerland)it-CH
Italianit
Japanese (Japan)ja-JP
Japaneseja
Kabuverdianu (Cape Verde)kea-CV
Kabuverdianukea
Kabyle (Algeria)kab-DZ
Kabylekab
Kalaallisut (Greenland)kl-GL
Kalaallisutkl
Kalenjin (Kenya)kln-KE
Kalenjinkln
Kamba (Kenya)kam-KE
Kambakam
Kannada (India)kn-IN
Kannadakn
Kazakhkk
Khmer (Cambodia)km-KH
Khmerkm
Kikuyu (Kenya)ki-KE
Kikuyuki
Kinyarwanda (Rwanda)rw-RW
Kinyarwandarw
Konkani (India)kok-IN
Konkanikok
Korean (South Korea)ko-KR
Koreanko
Koyra Chiini (Mali)khq-ML
Koyra Chiinikhq
Koyraboro Senni (Mali)ses-ML
Koyraboro Sennises
Langi (Tanzania)lag-TZ
Langilag
Latvian (Latvia)lv-LV
Latvianlv
Lithuanian (Lithuania)lt-LT
Lithuanianlt
Luo (Kenya)luo-KE
Luoluo
Luyia (Kenya)luy-KE
Luyialuy
Macedonian (Macedonia)mk-MK
Macedonianmk
Machame (Tanzania)jmc-TZ
Machamejmc
Makonde (Tanzania)kde-TZ
Makondekde
Malagasy (Madagascar)mg-MG
Malagasymg
Malay (Brunei)ms-BN
Malay (Malaysia)ms-MY
Malayms
Malayalam (India)ml-IN
Malayalamml
Maltese (Malta)mt-MT
Maltesemt
Manx (United Kingdom)gv-GB
Manxgv
Marathi (India)mr-IN
Marathimr
Masai (Kenya)mas-KE
Masai (Tanzania)mas-TZ
Masaimas
Meru (Kenya)mer-KE
Merumer
Morisyen (Mauritius)mfe-MU
Morisyenmfe
Nama (Namibia)naq-NA
Namanaq
Nepali (India)ne-IN
Nepali (Nepal)ne-NP
Nepaline
North Ndebele (Zimbabwe)nd-ZW
North Ndebelend
Norwegian Bokmål (Norway)nb-NO
Norwegian Bokmålnb
Norwegian Nynorsk (Norway)nn-NO
Norwegian Nynorsknn
Nyankole (Uganda)nyn-UG
Nyankolenyn
Oriya (India)or-IN
Oriyaor
Oromo (Ethiopia)om-ET
Oromo (Kenya)om-KE
Oromoom
Pashto (Afghanistan)ps-AF
Pashtops
Persian (Afghanistan)fa-AF
Persian (Iran)fa-IR
Persianfa
Polish (Poland)pl-PL
Polishpl
Portuguese (Brazil)pt-BR
Portuguese (Guinea-Bissau)pt-GW
Portuguese (Mozambique)pt-MZ
Portuguese (Portugal)pt-PT
Portuguesept
Punjabi (Arabic)pa-Arab
Punjabi (Arabic Pakistan)pa-Arab-PK
Punjabi (Gurmukhi)pa-Guru
Punjabi (Gurmukhi India)pa-Guru-IN
Punjabipa
Romanian (Moldova)ro-MD
Romanian (Romania)ro-RO
Romanianro
Romansh (Switzerland)rm-CH
Romanshrm
Rombo (Tanzania)rof-TZ
Romborof
Russian (Moldova)ru-MD
Russian (Russia)ru-RU
Russian (Ukraine)ru-UA
Russianru
Rwa (Tanzania)rwk-TZ
Rwarwk
Samburu (Kenya)saq-KE
Samburusaq
Sango (Central African Republic)sg-CF
Sangosg
Sena (Mozambique)seh-MZ
Senaseh
Serbiansr
Shona (Zimbabwe)sn-ZW
Shonasn
Sichuan Yi (China)ii-CN
Sichuan Yiii
Sinhala (Sri Lanka)si-LK
Sinhalasi
Slovak (Slovakia)sk-SK
Slovaksk
Slovenian (Slovenia)sl-SI
Sloveniansl
Soga (Uganda)xog-UG
Sogaxog
Somali (Djibouti)so-DJ
Somali (Ethiopia)so-ET
Somali (Kenya)so-KE
Somali (Somalia)so-SO
Somaliso
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
Spanishes
Swahili (Kenya)sw-KE
Swahili (Tanzania)sw-TZ
Swahilisw
Swedish (Finland)sv-FI
Swedish (Sweden)sv-SE
Swedishsv
Swiss German (Switzerland)gsw-CH
Swiss Germangsw
Tachelhit (Tifinagh)shi-Tfng
Tachelhit (Tifinagh Morocco)shi-Tfng-MA
Tachelhitshi
Taita (Kenya)dav-KE
Taitadav
Tamil (India)ta-IN
Tamil (Sri Lanka)ta-LK
Tamilta
Telugu (India)te-IN
Telugute
Teso (Kenya)teo-KE
Teso (Uganda)teo-UG
Tesoteo
Thai (Thailand)th-TH
Thaith
Tibetan (China)bo-CN
Tibetan (India)bo-IN
Tibetanbo
Tigrinya (Eritrea)ti-ER
Tigrinya (Ethiopia)ti
Tigrinyati
Tonga (Tonga)to-TO
Tongato
Turkish (Turkey)tr-TR
Turkishtr
Ukrainian (Ukraine)uk-UA
Ukrainianuk
Urdu (India)ur-IN
Urdu (Pakistan)ur-PK
Urduur
Uzbek (Arabic)uz-Arab
Uzbek (Arabic Afghanistan)uz-Arab-AF
Uzbekuz
Vietnamese (Vietnam)vi-VN
Vietnamesevi
Vunjo (Tanzania)vun-TZ
Vunjovun
Welsh (United Kingdom)cy-GB
Welshcy
Yoruba (Nigeria)yo-NG
Yorubayo
Zulu (South Africa)zu-ZA
Zuluzu