Forums/Documentation/Supporting multiple languages

Configuring your Zendesk to support multiple languages (Plus and Enterprise)

Anton de Young
posted this on January 18, 2012 09:27

If you support multiple languages, you'll need the Plus or Enterprise versions of Zendesk. These versions of Zendesk allow you to select multiple languages, which are then available to end-users in the Web portal. Your language choices are also used to determine what language is used in system messages and the email notifications that are generated by your business rules.

You first configure your account settings to support multiple languages. You then create and manage translations of all the content that is sent in email notifications to your users and modify your business rules to automatically send that content based on the user's language. Finally, you set up your knowledge base to deliver content in your supported languages.

The key to providing multiple language support is dynamic content. This feature allows you to create content in your default language and then variants based on language. Each content item is referenced by a placeholder that you include in your automations, macros, and triggers. Dynamic content is described in detail in Providing multiple language support with dynamic content. This article describes the language settings and how to create a workflow based on language.

Selecting the languages you want to support

To provide support for multiple languages, you must first select those languages from the more than 40 languages that are available in Zendesk.


To change your language settings

  1. Click the Admin icon () from the sidebar, then select Account.
    Zendesk Classic: Select the Settings menu, then select Account.
  2. Select the Localization tab.

There are two language settings: the default language and additional languages. If you haven't already done so, select the default language. This is the language that end-users see in the Help Center or Web portal by default.

In the Plus and Enterprise versions of Zendesk, you can select additional languages to support.

This means that your end-users will have the option of selecting one of these additional languages when they visit your Help Center or Web portal. The language selector is added to the top menu bar in the Help Center or Web portal.

In addition to providing a translated user interface in the Help Center or Web portal, your language settings are used throughout your Zendesk to help you manage your workflow. For example, you can create automations or triggers that route tickets through your workflow based on the language setting of the requester.

Creating a multiple language workflow is described in Using a requester's language in your business rules below.

Setting and detecting a user's language

In the Plus and Enterprise versions of Zendesk, all your user's can set a language preference in their user profile (this includes both your staff and your end-users).

If present, this setting can be used in your business rules to, for example, determine which dynamic content language variant is used or to route tickets to specific groups or agents.

The list of available languages is the same as the languages you selected in the Localization tab of the Account settings page. If the user's language is not supported, they cannot select it.

A user's language preference can be set in the following ways:

  • The user can set their own language preference by editing their profile.
  • Agents with user management permission can set a user's language preference.
  • You can set a user's language with the Set requester's language action, which is available in automations and triggers.
  • The language used in a user's email support request can be automatically detected. See Detecting an end-user's language from an email message.

For unknown end-users (those who do not yet have an account in your Zendesk or registered users who have not logged in) the language can be detected in several ways.

In the Help Center or Web portal, end-users can select one of your supported languages themselves from the menu bar (as shown above in Selecting the languages you want to support).

When an unknown end-user has selected a language, the support request submit form, like the rest of the Help Center or Web portal, is set to that language. Then, when the end-user submits a support request, the language is identified, the unknown end-user's unverified account is flagged with the language, and the response email notification is in the selected language (if you've set up dynamic content to handle this).

This works the same way with Feedback Tabs. The language you set when creating a Feedback Tab is used as the language for unknown end-users.

An unknown end-user's language can also be detected even if they do not explicitly set a language preference in the Help Center or Web portal. Zendesk may be able to detect a user's preferred language from their Web browser preference setting. The accept-language header, which is passed via HTTP, contains information about the user's language preference. If that is present, the language can be detected.

Setting your business hours

When providing multiple language support, it may be helpful to also set business hours, which you can then use to help automate your workflow. The business hours you set are relative to the time zone you select (see Setting your Zendesk time zone and format).


To set your business hours

  1. Click the Admin icon () from the sidebar, then select Account.
    Zendesk Classic: Select the Settings menu, then select Account.
  2. Select the Localization tab.
  3. Select Business Hours > Enabled.
  4. Set your business hours by selecting the days of week and hours during the day in which you will provide support.
  5. Click Save tab.

Once you've established your business hours, you can use this information in SLAs (service level agreements), automations, triggers. and reports. For example, in both automations and triggers there is a condition called Within business hours? that you can use to determine how requests should be handled when they are received in your Zendesk.

For several examples of how business hours can be used, see Tip of the Week: Using business hours in your triggers and notifications.

Displaying content based on language

One of the ways you can provide support in multiple languages is to create a knowledge base that contains content in each of your supported languages. The way it works depends on whether you use the Help Center or the Web portal.

Help Center

If you joined Zendesk on or after August 21, 2013, you have the Help Center instead of the Web portal. After publishing articles in the default language of your Help Center, you can add translated versions of each article. The process involves opening the default-language version of an article in edit mode, and selecting the language of the article you want to add, as follows:

Paste the translated text of the article in the container and save it. For more information, see Localizing the Help Center.

Web portal (Zendesk Classic)

If you use the Web portal, you can restrict forums to specific languages. This setting is available when creating or editing a forum.

You can select any of the languages that you chose to support in your account localization settings (see Selecting the languages you want to support).

The language restricted content is visible to logged-in users who have that language preference set in their user profile, when a user selects the language from the language menu in the Web portal, and if an unknown user's language can be automatically detected.

Although you can't explicitly set a language restriction on a category, setting a language restriction on each of the forums within the category achieves the same outcome. For example, if you wanted to create community forums for each of the languages you support and only allow end-users in those languages to see them, first create a category for each language. Then, add all the forums you want into that category and set the language restriction on each. All of the forums must be restricted to the same language.

Using a requester's language in your business rules

Knowing your user's language means that you can use that information to determine how to respond to your users and how to move tickets through your workflow. As described above in Setting and detecting a user's language, there are a number of ways that a user's language can be set or detected.

Regardless of how the user's language is identified, it is accessible in automations, reports, triggers, and views via the Requester's language condition. Using this condition, you can, for example, assign incoming tickets to specific groups or agents based on language. You can also create views and reports to track tickets by language.

The Requester's language condition allows you to test for a specific language and then act on that information. You also have the option of explicitly setting the user's language with the Set requester's language to action, which is available in automations and triggers.

Here are some examples that describe how to use the Requester's language condition and Set requester's language to action to build a workflow based on language.

Using dynamic content to communicate in multiple languages

Although it's possible to create a multiple language response within the email body of, for example, a trigger using Liquid markup (described here Using Liquid markup to support multiple languages in automations, macros, and triggers), you should instead use dynamic content. One of the advantages of doing so is that language detection is handled automatically, you don't need to write Liquid markup for each of the languages you support.

As described in Using your dynamic content, dynamic content and its language variants can be referenced in many places in your Zendesk using a placeholder. In the example in that article, a message describing how end-users can reset their passwords is added to a macro by simply adding the placeholder as the text in a macro action. Based on the user's language, the correct language variant of the dynamic content is used.

All of your Zendesk content (from the welcome message to automated responses in your business rules) should be managed with dynamic content.

Assigning a ticket to a group or agent based on language

As you receive support tickets in the different languages you support, you can use automations and triggers to automatically route them through your workflow. As an example, imagine that your Zendesk supports three languages (English as the primary and default language and also French and German). You've structured your organization to support this by creating groups of agents that are fluent in French and German. When you receive support requests in either French or German you use a trigger to automatically assign those requests to the appropriate group.

This is easily done using the Requester's language condition, which is available in automations, reports, triggers, and views.

In this example, tickets from French language users are automatically assigned to the French support group.

Creating views and reports based on language

The Requester's language condition can also be used to create reports and views based on language.

You can also make the view visible to agents in a specific group.

In this example, the view is only visible to agents in the Italian Support group.

This works the same way in reports; use the Requester's language condition to select tickets in a particular language.

Setting a user's language preference with an automation or trigger

An end-user's language can be set using the Set requester's language to action, which is available in automations and triggers. You may want to use this action to set an end-user's language in those cases where the source of the support request is not otherwise identified as originating from a specific language. For example, if you use a separate support email address for each of the languages or locales that you support, you can use a trigger to then set the end-user's language based on that email address.

In this example, MondoCam uses the email address for its French language users. This email address is forwarded to, which is the email address used in this trigger.

When a user's language is set via the Set requester's language to action, that event is added to the ticket's events and notifications.



User photo
Thomas Moreau



I'm trying to set widgets in the right language for our users, as we have a bilingual Zendesk (French and English).

Our customers have language preferences set in the web platform we've created. When they click on 'support', it generates a tag to that user, with the language preference.

Using Liquid programming, I've built custom widgets like:

{% if tags == 'fr' %}
Visitez notre aide en ligne !
{% else %}
Online help available here!
{% endif %}

Those widgets are placed on different places, but mainly on the homepage, to welcome them in their own language.

Besides, I've set a trigger that says:

"If tags contain at least on of the following: fr, then requester's language is French".

All of this doesn't work:

  • my custom widgets are displaying only what is contained after the {% else%} tag, whatever tag the user has.
  • the language preference of a user with corresponding menu items 'check your existing requests' being 'vérifier vos demandes' in French doesn't change.
Please, can you help, as it's been a long time we're trying to set things properly and better satisfy our customers.

What should we do to have the language preference of our system automatically reflected in Zendesk?
May 24, 2012 07:15
User photo
Dave Dyson

Hi Thomas -

Your "tags == 'fr'" condition isn't going to work because "tags" has no meaning by itself -- the placeholder {{current_user.tags}} does (see our Widget Placeholder Reference), but even that would require a little more work to use, since a given user might have more than one tag associated with them.

However, there's another solution that might work better -- put the text you want to change in a named "div", and then use JQuery to change it when necessary, based on the currently-selected language on the page:

<div id="langText">test</div>
if ($j('li.main.right.language_selector').text().trim() == "Français") {
document.getElementById("langText").innerHTML = "French text.";
} else {
document.getElementById("langText").innerHTML = "English text.";

This code can just be put in a Custom Widget. Make sure the id name you use for your text element is specific enough that it doesn't interfere with anything else on the page.

August 13, 2012 17:12
User photo
Thomas Moreau

Thanks Dave,

I will try it. Doesn't seem complicated.

One question though: Can I use the tags condition in a trigger to automatically set the language of a user to a specific language? I mean the portal language, not only the email notifications.



September 04, 2012 02:44
User photo
Dr. J

@Thomas - good question!

You cannot change the user language based upon a tag, but, you can work with a developer to change the user language setting via the API, based upon those tags from your web platform you developed. This portion of the API should get you pointed in the right direction. :)

August 13, 2013 15:00
User photo
Sylvain Petit

The feedback tab in French is saying a wrong message to our requesters.

In “Details” it says “soyez aussi bref que possible” meaning “please be as concise as possible”.

Obviously we want them to be as detailed as possible.

Could this be changed?


November 21, 2013 02:57
User photo

Hi Sylvian, 

Thanks for bringing this to our attention! We've made the correction, but please don't hesitate to let us know if anything is still inaccurate.

November 22, 2013 09:49
User photo
Claudia Lowman

We have applications for different devices/operating systems.  From the App, when a customer clicks help we were directing them to a specific forum on our knowledge base (i.e. iPhone/iOS versus Android versus PC) by providing a URL to the correct forum.  Now that we are localizing our Apps, the question is does Zendesk support standard HTTP Accept-Language header so that when we call the URL Zendesk will dynamically know which language KB for that forum the customer should be directed to without having a custom URL for each language.

FYI - The URL that is used is currently redirected to the KB/Forum for that particiular OS.  Does that impact the answer?

January 28, 2014 15:30
User photo
Bob Novak

Hi Claudia - This should work if they have a specific default language set in their mobile browser. Your Zendesk Web Portal would show the appropriate Forums based on this setting, without using specific URLs for each translation. Please test this out, and if it doesn't work as expected submit a ticket to and we'll be happy to help.

February 03, 2014 14:50
User photo

Hello, I have set up several feedback tabs for different countries. If I want to create a trigger based on the language, should I set up "REquester language is English" for example. 

I mean, does the web form implictily send the laguage of the form that was submitted? 


thanks in advance! 

March 18, 2014 08:30
User photo

Hi Maria, 

As you read above, there are a number of ways a requester's language can be detected. If the user is unregistered or does not have a language specifically set in their profile, the text in the email message is analyzed by Zendesk to determine what the language is. If the detected language is not supported in your Zendesk, the language preference is set to the closest match. Again, explicitly setting the language in an end-user's profile will override this. Language detection is just your backup. 

Regardless of how the end-user's language was determined (whether it was explicitly set in the end-user profile or implicitly detected), the 'Requester language' trigger condition will allow you to reference the language being spoken in a ticket. If it's English, you could say that if the requester's language is English, assign their ticket to your English-speaking support Group, for example. 

Let me know if that doesn't answer your question!


March 18, 2014 13:43
User photo

Thank you very much Emily, that's clear. 

Regarding the default triggers that were created when we created and installed our zendesk, is there any way I can import the same triggers in other languages, so that we don't have to translate them? 

thanks again! 


March 20, 2014 07:37
User photo

Hi Maria, 

We don't offer the default triggers already translated. This something you would have to do via a third party translation service. 

March 21, 2014 15:21