How to Create a Multilanguage Website with Umbraco

May 16, 2018

Umbraco is an open source content management system (CMS) used as the foundation for many well recognized websites. Umbraco is a platform that is designed not to get in your way. There are no predefined content schemas or templates and you're not locked into doing things "the Umbraco way".


The Umbraco CMS enables users to localize websites into many languages. To enable localization in Umbraco's backend, the user is given several tabs in any document template representing the different languages. Then users postfix all the fields with the culture code when creating them in the document type.

Step One: Add Languages

You first need to add the languages you want to localize into.


Go to Settings > Languages > Create now you have a list of languages you can localize into, choose your language, then click Create. You can add all the languages you need to add to your multilanguage website.




Step Two: Copy Content

In this step you will need to copy your home content for each language you want to implement on your website.

Step Three: Cultures and Hostnames

Now for the system to detect which languages/cultures the user wants, we use subdomains, e.g.: and Simply use the native Umbraco features to set up host headers per domain.


I think the subdomain or extension domains are necessary because you must be very careful not to duplicate content, which search engines don't like. It is possible to do without domain changes, but I like the clear and obvious solution it provides.


You basically have two options available to you, subdomains or subdirectories. A subdomain would look something like and will direct a visitor to the Arabic version. The alternative approach is to use subdirectories, like


To set up a host in Umbraco, right click on the homepage and select "Culture and Hostname".




Step Four: Dictionary

Not all content is edited through the content section, some of it may be written in the template, for which Dictionary items are useful.


Umbraco provides us with a Dictionary type. The C# Dictionary is a key/value pair. In Umbraco, a Dictionary is a key/multi-value pair. After you set up multiple languages and create a new Dictionary, you can add different values for each language.


To create a Dictionary, go to Settings > Dictionary > Create. Lastly, to display the Dictionary, we use this handy snippet @Umbraco.GetDictionaryValue("Placeholder"); .

Further GPI Resources on Connectors and Website Development


Globalization Partners International (GPI) frequently assists customers with multilingual website design, development and deployment, and has developed a suite of globalization tools to help you achieve your multilingual website localization project goals. You can explore them under the Translation tools and Portals section of our website. You may also find some of the following articles and links useful:



For more information or help with your next website translation project, please do not hesitate to contact us via e-mail at, or by phone at (866) 272-5874, or by requesting a free web translation quote on your next website translation project.

Content Management Systems
umbraco localization, umbraco development, website localization

Doing Business in IrelandHow to Create a Multilingual Website with Concrete5


Currently, there are no comments. Be the first to post one!