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

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

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.

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. Enter the translated content in the form and save it.

For more information, see Localizing the Help Center.

Tip: Check out our support tip Change your Help Center design using dynamic content to learn how to use HTML code in your Help Center dynamic content to dynamically change your Help Center design based on the customer's language. Note that HTML is not supported in dynamic content in your business rules, including triggers, automations, and macros.

Web portal (Zendesk Classic)

If you use the Web portal, you 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 aide@mondocam.fr email address for its French language users. This email address is forwarded to french@mondocam.zendesk.com, 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.

Have more questions? Submit a request

Comments

  • Avatar
    Thomas Moreau

    Hello,

     

    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?

  • Avatar
    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>

    <script>

    if ($j('li.main.right.language_selector a.tab').text().trim() == "Français") {

    document.getElementById("langText").innerHTML = "French text.";

    } else {

    document.getElementById("langText").innerHTML = "English text.";

    }

    </script>

    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.

  • Avatar
    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.

    Thanks,

    Thomas

  • Avatar
    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. :)

  • Avatar
    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?

     

  • Avatar
    Emily

    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.

  • Avatar
    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?

  • Avatar
    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 support@zendesk.com and we'll be happy to help.

  • Avatar
    MARIA RICO

    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! 

  • Avatar
    Emily

    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!

     

  • Avatar
    MARIA RICO

    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! 

     

  • Avatar
    Emily

    Hi Maria, 

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

  • Avatar
    Mark Tointon

    I have added languages via the Account -> Localisation page, and saved them. However, when I then go into our Help Centre and click on General Settings I get the following:

    oops.

    We're sorry, but something went wrong.

    When I remove the languages I added, the page works ... so something isn't right, but no where do i see anyone else having the same problem.

    I have logged out/logged in, and emptied my browser cache, all to no avail.

Please sign in to leave a comment.