Multi-Lanugage website in Umbraco 7

In today's world a multi-language website can certainly help to foster success. Here are the steps to creating a multi-language website in Umbraco 7.

Principe to the concept is that each language will be a completely different content tree in Umbraco, starting with a language specific homepage and the language specific content will branch from there. This also result in a more maintainable website. You don't have to worry about all of your content being available in every language.

In the Umbraco back end, navigate to 'Settings' and expand languages. Start by specifying the base language for your website. In my case this will be 'English (United Kingdom)'.

Next navigate to the 'Content' tab. Create a homepage as the beginning of your content tree in the language defined above.

Your content can then be defined as branches of this tree.

To add another language, navigate back to the 'Settings'. Click the three dots next to 'Languages' then select 'Create'.

Specify the new language you would like your website to be available in. For example 'French [fr]'.

Next go to the 'Content' section of Umbraco. Create a new homepage at the same level as the existing homepage. You can name this homepage along the lines of 'FR'.

Click the three dots next to the new 'FR' node. Select 'Do Something Else'. Select 'Culture and Hostnames'. From the language dropdown select the language that we created in the steps above (in my example French). All of the content beneth this tree should now have the content created in the language specified.

The url for the new language specific content will be 'www.chrisloves.net/fr', with the country code following the trailing slash.

Next we need to setup Dictionaries for the static text that should be translated.

Navigate to 'Settings', then click the three dots next to 'Dictionary'. Select 'Create'.

Enter a name for the dictionary entry, followed by the appropriate language text in the appropriate boxes. Click 'Save'

To use the dictionary item on your view, simply call it with the following code (replacing "Hello world" with the name of your dictionary item):

@Umbraco.Field("#Hello world")