# Language Variants

Language Variants allows you to vary content by culture, so you can allow a content node to exist in multiple languages.

This article will cover the different aspects of enabling and working with language variants on your Umbraco website.

## Contents

* [Video tutorial](#video-tutorial)
* [How to enable Language Variants](#how-to-enable-language-variants)
* [Enabling Language Variants on Document Types](#enabling-language-variants-on-document-types)
* [Working with Language Variants on content](#working-with-language-variants-on-content)
* [Test your language variants](#test-your-language-variants)
* [Control User Group permissions on language variants](#control-user-group-permissions-on-language-variants)
* [Related Links](#related-links)

## Video tutorial

{% embed url="<https://www.youtube.com/watch?ab_channel=UmbracoLearningBase&v=TWLqt-jVdyQ>" %}
How to use Language Variants in Umbraco
{% endembed %}

## How to enable Language Variants

To work with Language Variants you need to have more than one language enabled. This can be done from the `Settings` section:

![Adding a language](https://2050077833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb0WSXUuM7Qx5BfREagAI%2Fuploads%2Fgit-blob-e5bb43dc9c06ef5e243c7b06dd584fc457589d88%2Fadding-a-language.png?alt=media)

{% hint style="info" %}
You will always have one default language but each language can be set to mandatory.
{% endhint %}

## Enabling Language Variants on Document Types

Now that there are two languages to vary the content with, it needs to be enabled on the Document Types. To do so:

1. Go to the Document Type in the **structure** section.
2. Open the **settings** page.
3. Toggle **Allow vary by culture**.

   <figure><img src="https://2050077833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb0WSXUuM7Qx5BfREagAI%2Fuploads%2Fgit-blob-65f9a34c49952d0fdb0ed671e2cc2ac23e5fc9f3%2Fallow-variance2.png?alt=media" alt=""><figcaption></figcaption></figure>

To allow a property on the Document Type to be varied it will have to be enabled for the property:

![Allowing Variance on properties](https://2050077833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb0WSXUuM7Qx5BfREagAI%2Fuploads%2Fgit-blob-8c01350fe7c16e4fdbeeca71a32d4826f614828a%2Fvarying-properties.png?alt=media)

## Working with Language Variants on content

When you return to your content node you will notice two things:

1. At the top of the Content tree there will now be a dropdown so you can show the Content tree in the language of your choice.
2. To the right of the content name there is now a dropdown where you can select a language. You can also open a split view so you can see two languages at once.

   ![Allowing Variance on properties](https://2050077833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb0WSXUuM7Qx5BfREagAI%2Fuploads%2Fgit-blob-b9cb76264f677d7a7a09807a14660bc5e5c4234f%2FAllowing-Variance-on-properties.png?alt=media)

To read about how you render variant content in Templates, check out the [rendering content section](https://docs.umbraco.com/umbraco-cms/fundamentals/design/rendering-content).

## Test your language variants

Culture and hostnames must be added to your language sites before the content can be tested for variants:

1. Click **...** next to the Home node and select **Culture and Hostnames**.
2. Add a specific URL per language and save. For eg: An English language variant with English (United States) as the language can be given a specific URL `https://yourwebsite.com/en-us` and a Danish language variant can be given a specific URL `https://yourwebsite.com/dk`.

The Info content app should now show specific URLs for your language variants.

## Control User Group permissions on language variants

{% hint style="info" %}
This feature is available from Umbraco version 10.2.
{% endhint %}

When you are working with a multilingual site you might want to control who can edit the different variations of the content on the website.

This can be controlled on a User Group level. All default User Groups, except the Sensitive data group, have access to all languages out of the box.

When "Allow access to all languages" is not checked, languages can be added and/or removed. This is to determine which variants the users in the user group have access to.

![Assign access to all or individual languages on the User Group](https://2050077833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fb0WSXUuM7Qx5BfREagAI%2Fuploads%2Fgit-blob-e03a4c893e8ee4bea91286d433e735aa0b5de607%2FAssign-Access-Languages.png?alt=media)

{% hint style="info" %}
Even though the language permissions have been set, a user will still be able to view and browse all the language variations. The permission setting will ensure that only the added languages are editable by users of the User Group.
{% endhint %}

## Related Links

* [Umbraco 8: Language Variants (official blog post from Umbraco HQ)](https://umbraco.com/blog/umbraco-8-language-variants/)
* [Language variations](https://docs.umbraco.com/umbraco-cms/reference/language-variation)
* [Render varied content in Templates](https://docs.umbraco.com/umbraco-cms/fundamentals/design/rendering-content)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.umbraco.com/umbraco-cms/fundamentals/backoffice/variants.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
