Providing multiple language support with dynamic content (Plus and Enterprise)

In the Plus and Enterprise versions of Zendesk, you can create dynamic content that can then be referenced via a placeholder in automations, macros, triggers and by many of the system generated messages such as those sent in email notifications when a user creates an account.

As an example of how dynamic content is used, the text of a message that you currently add to a macro can be replaced by a dynamic content placeholder.

This text:

If you forget your password, just click the "Help! I don't know what to enter here!" link on the login page. 

Thanks and have a great day!

The MondoCam Support Team

Is replaced with this placeholder:

{{dc.password_help}}

When the macro is applied to a ticket, the content is inserted into the ticket. If you're already using Zendesk placeholders in your Zendesk, you're already familiar with how this works. The difference between the Zendesk placeholders and dynamic content is that you define the content that is dynamically inserted into your business rules and communications with your customers.

Dynamic content is a combination of a default version of the text (typically in the same language as your default language) and variants for every other language that you support. In the example above, the default variant is in English. If your Zendesk also supports French and German, for example, you create variants for each of those languages. Then, based on the end-user's language, the appropriate variant is automatically used when the dynamic content is referenced and displayed to the end-user.

If the end-user's language is not one of your supported languages, the default variant is used.

Note: Only text is supported in dynamic content in business rules. HTML is not supported. HTML is, however, supported in dynamic content in Help Center. For more information about dynamic content in Help Center, see Localizing the Help Center.

Dynamic content provides you with a way to streamline support for multiple languages. You reference one placeholder and the appropriate language is displayed based on the end-user's language preference. How an end-user's language is detected is described in Setting and detecting a user's language.

Of course when you support multiple languages, you must translate your content into the languages you support in your Zendesk. There are a number of ways to manage the translation of your default content. You can create and edit all your language variants directly in your Zendesk or you can export all your dynamic content and send it off to a translation agency. You then import the dynamic content back into your Zendesk and all language variants are added.

If you later update the default content, the variants are flagged as being potentially out of date with the default content. Meaning that if you update the default content you probably need to also update the translations in the variants. When an update is required, you simply repeat the export and import process to update the content. See Managing the translation of your dynamic content.

You can also manually set variants to be inactive so that they are not used. You might do this if your variant isn't ready to be made public (for example, if the translation is incomplete or incorrect).

Finally, how you use your dynamic content in automations, macros, and triggers is tracked so that you have an easy way to monitor their use.

Creating dynamic content

When you create a dynamic content item, you select the default language and enter the text of the dynamic content. You then create variants for each of your supported languages.

The list of languages you can choose from is based on your default language and the additional languages you've chosen to support in the Localization settings page. You can add language variants for all of the languages that are supported in Zendesk.

To create a dynamic content item
  1. Click the Admin icon () in the sidebar, then select Dynamic Content.
    Zendesk Classic: Select the Manage menu, then select Dynamic Content.
  2. Click Add item.
  3. Enter a title for the dynamic content.
  4. Select the default language.
  5. Enter the text of the dynamic content.
    • You can use Zendesk placeholders in your dynamic content. For example, you can add placeholders for ticket and user properties. See Zendesk data object (placeholders) reference. You can also add other dynamic content placeholders.
  6. Click Create.

When you create a dynamic content item, the detail page is displayed. Below the title of the dynamic content, you'll see the placeholder that you'll use to refer to this dynamic content in your automations, macros, triggers and in system messages.

Note: Dynamic content placeholders always begin with the 'dc' prefix.

Once you use the placeholder, you'll see where its been used in the References section.

You can edit the dynamic content title by selecting Edit.

Note: Changing the title after you've created the dynamic content does not also change the placeholder name; it remains the same regardless of the subsequent changes you may make to the title.

The text of your default content, shown above in the Variants section, can be edited by clicking the Edit button in the table row.

After you create your language variants, they are listed in the Variants section of the page.

Creating variants

Variants are different language versions of the default variant.

To create a variant
  1. Select Add Variant.
  2. Select the variant language. The list of languages you can choose from is based on the languages you've chosen to support in the Localization settings page.
  3. Set the variant to Active or Inactive.

    Active means that the variant will be used as the text for all users of that language. When you set a variant to Inactive, you're disabling its use and users of the inactive language will instead see the default content variant. In other words, if the default content is in English and you make the German variant inactive, German users see English content. Typically, you set a variant to inactive if the variant's content is not ready to be made public (i.e., the translation is not complete).

  4. You can also optionally set the variant to be the default variant, which overrides the current default variant.

    Setting a language variant as the default variant is useful when you want to create dynamic content specifically for a group that supports a language other than your default language. For example, a Japanese language support group can set default variants as Japanese. When you change the default from one variant to another, the status of the other variants changes to Out of date.

  5. Enter the text of the variant language.

    Depending on how you're managing the translation of the content, you can instead first create all your dynamic content in your default language and then export the content and send it to a translation agency. An export file is created for each of the languages that your Zendesk supports. You then import the files back into your Zendesk and all of the language variants are added to the dynamic content. For information about managing the translation workflow, see Managing the translation of your dynamic content.

  6. Click Create.

Here's an example of the password help dynamic content variant in German (translation courtesy of Google Translate).

When you add variants, they are listed as shown here:

In the list of variants, you'll see that the default content is flagged as the default. You can edit each variant by clicking Edit. You can also delete all the variants that are not the default. To delete the default variant you need to either set a different variant as the default or delete the entire dynamic content item. See Deleting dynamic content.

The status column in the list shows if the variant is active or inactive; the selections you made when creating or updating the variant. Status also conveys the state of variants relative to the default variant. When the default variant is updated and the other variants are not, the other variants are considered to be out of date with the default variant. In other words, it is assumed that if the default variant's text was updated then the other variants text should also be updated. To give you an indication that the text in the variants may be out of sync with the default variant, they are flagged as being out of date. Therefore, you may see the following statuses for your variants:
  • Active
  • Inactive
  • Active (Out of date)

As described below (Filtering the dynamic content list by status), you can quickly view the dynamic content items that contain variants that are out of date.

Managing dynamic content

You can view all of your dynamic content by selecting Manage > Dynamic content. To add variants to a dynamic content item, or to edit an item, click the item's title.

The list of dynamic content items contains the title, the date of the last update, and the status.

The status can be either of the following:
  • Current, which means that the default content and all the variants are up-to-date.
  • Out of date, which means that one or more of the variants are out of sync with the default content. In other words, the default content was updated and one or more of the variants were not. This status gives you a quick way to locate content that may need a translation update.

Filtering the dynamic content list by status

You can filter the list by status. By clicking the drop-down list located at the top left of the dynamic content table, you can filter the list using the following options:

Filtering by the out of date status allows you to quickly see the dynamic content that needs to be updated.

Organizing and viewing dynamic content by category

You can also organize your dynamic content into categories. This is done in the same way that you can organize your macros: just add the category name and double colons to the beginning of the dynamic content title. You can then filter the list by category.

Deleting dynamic content

You can delete dynamic content only if it is not being referenced by your automations, macros, or triggers. How your dynamic content is being used is shown in the References section of each dynamic content item.

By clicking the link to the reference you can edit the business rule and remove the dynamic content placeholder. Once all the references have been removed, you can delete the dynamic content item.

Note: References are only tracked for automations, macros, and triggers. If you used a dynamic content placeholder in a system generated message, you'll need to track their use manually. If you do delete a dynamic content item without first removing the placeholder from the system message, the content continues to be displayed to users (it is not deleted from your Zendesk).
To delete a dynamic content item
  1. Click the Admin icon () in the sidebar, then select Dynamic Content.
    Zendesk Classic: Select the Manage menu, then select Dynamic Content.
  2. Locate the item you want to delete
  3. Click Delete.
  4. You'll be prompted to confirm that you want to delete the item. Click OK. If there are no references to the dynamic content, the item is deleted. If there are references, the item is not deleted. You can then remove the references and delete the item.

Deleting variants

Any of the non-default variants in a dynamic content item can be deleted at any time. References to the dynamic content placeholder do not affect the variants. To delete the default variant, you need to make another variant the default or delete the entire dynamic content item.

To delete a dynamic content variant
  1. Click the Admin icon () in the sidebar, then select Dynamic Content.
    Zendesk Classic: Select the Manage menu, then select Dynamic Content.
  2. Locate the item that contains the variant you want to delete and open it.
  3. Locate the variant and click Delete.
  4. You'll be prompted to confirm that you want to delete the item. Click OK.

Searching your dynamic content

The content in your dynamic content variants can be searched. The dynamic content search tool is located on the Manage > Dynamic Content page.

You can search for any text string in any of the languages you've used in your dynamic content variants.

Managing the translation of your dynamic content

You can manage the translation of your dynamic content in the following ways:

  • You can add translated content when you create the variants in your Zendesk. You can then manage updates to the translated content by editing the variants.
  • You can create all the default language versions of the dynamic content and then export them as CSV (comma separated values) files and send them out for translation. When the translations are complete you import the CSV files back into your Zendesk and all the language variants are added.
  • You can do a combination of both these approaches; translating and editing some variants in-house and using the export/import process to create and update the language variants via a third-party translation agency.

For information about exporting and importing your dynamic content, see Exporting and importing dynamic content.

Using your dynamic content

The dynamic part of dynamic content is that the correct version of the content is automatically shown to the end-user based on their language. As with the Zendesk placeholders (see Zendesk data object (placeholders) reference), to use your dynamic content you simply reference the placeholder.

Using the 'Password Help' dynamic content as an example, you can use the dynamic content by adding the placeholder into a comment in a macro.

Every dynamic content item has a corresponding placeholder (it's shown below the title of the dynamic content).

In this example, it's {{dc.password_help}}.

When the macro is applied to the ticket, the appropriate language variant text is inserted into the comment. If the end-user's language is not one of your supported languages, the default variant is used.

Dynamic content placeholders can be used in your automations, macros, and triggers.

You can also use your dynamic content for common system messages such as those used in the sign up process. For example, the text contained in the user welcome email message can be replaced with a dynamic content placeholder.

You can use dynamic content placeholders in the following:

  • Ticket field names, both system and custom
  • Custom drop down labels
  • Ticket form names
  • Sign-up messages for end-users, including:
    • User registration message
    • User welcome email
    • Email verification email
    Note: These options aren't visible if you started using Zendesk after August 20, 2013 and you haven't activated your Help Center yet.
  • Agent signature (see Adding an agent signature to ticket email notifications)
  • Help Center header and footer (see Adding translated text)
  • Help Center home page welcome message (see Adding translated text)

How an end-user's language is set and detected and then used when displaying dynamic content is explained in Setting and detecting a user's language. You can also find several examples of how to build a workflow based on language in Using a requester's language in your business rules.

Have more questions? Submit a request

Comments

  • Avatar
    Aad 't Hart

    The dynamic content place holders don't seem to work for the descriptions of end-user ticket fields. If this is not possible, how can I create a multi-language support request?

  • Avatar
    Pierre Grenier

    Aad 't, we looked into enabling placeholders in ticket fields.  However, we do not believe it is the best solution going forward.  In early 2012, we want to provide for the ability to translate end-user facing ticket fields.  

    In the meantime, we have a partner's widget which effectively covers that gap.  Please connect with Graham Robson at graham.robson@coherencedesign.co.uk for more information.

    Good luck.

  • Avatar
    Aad 't Hart

    Pierre, 

    Great news, I can live with the early 2012 release date. I'm currently rolling out in one country only. 

    Thx

  • Avatar
    Adam Steinberg

    I've contacted Graham, thanks. If there is access to a beta version I would love to try this. We're looking to replace our Kayako based support site (which has good localization features but is bad in many other respects, especially workflow) with something that has localization capabilities out of the box.

     

  • Avatar
    Yoko Rizzo

    awesome feature!! is there any way we can use dynamic content in the forum articles?

  • Avatar
    Jill Kaselitz

    Hi, Yoko -

    Thanks for your feedback! While dynamic content can only be used in triggers, automations, macros and many of the system generated messages from Zendesk, you do have the ability to restrict forums based on a user's language. You can read more about additional language features here and how Zendesk will now automatically set an anonymous user's language based on the browser's "accept-language" header. As a result, this doesn't require your users to select their language preference on future visits to your Zendesk.  Please let us know if you have any questions about these features and feel free to post any suggestions on using dynamic content within forums in our Feature Request forum.

  • Avatar
    Levrige

    Will there ever be the ability to insert dynamic content into forum content?

    We sell in 25+ languages, and this would mean that we will need 25 forums,  25 articles, etc. for every language... obviously not ideal nor manageable.

    Same with ticket submission drop-down fields... need a solution to this BADLY.

    Thanks for your consideration.

    Best

    Jason

  • Avatar
    Pierre Grenier

    @Levrige... yes these are part of our near-term plans.  Multi-locale ticket fields has been scoped and we are developing the requirements for dynamic content (DC) in forums.

    Anyone who is interested in using DC in forums, please email me at pierre@zendesk.com (and put "DC in forums" in the subject)

  • Avatar
    Levrige

    Thanks Pierre, I really appreciate it!

  • Avatar
    Antoni Salas Salvadó

    I tried to use Dynamic contents in TEXT WIDGETS but it don't run....

    Am I doing something wrong?

  • Avatar
    Antoni Salas Salvadó

    I need to know where it runs and where don't

    And it was a good idea if you put some kind of help for view the placeholders on create dynamic content form, and the list of available placeholders that appears on some forms, had included the dynamic contents placeholders we created.

  • Avatar
    Pierre Grenier

    Antoni... we have not enabled dynamic content in widget yet.  We want to do it but I do not have an ETA.

  • Avatar
    François Beth
  • Avatar
    Pierre Grenier

    Francois, could you be more specific about the issue?  Alternatively, please submit a ticket to our support team on support.zendesk.com.

  • Avatar
    François Beth

    No, it's just about this article above, there is the link   How a user's language is set and detected, but it doesn't work

  • Avatar
    Anton de Young

    François

    Here's the topic you're looking for, I moved it and forgot to update the link:  Setting and detecting a user's language

  • Avatar
    Andre Nadimi

    I have tried this for our welcoming page (home page). But I am having problems making it look good. The text shows up without line breaks.

    It is quite difficult making this look organized.

     

    Any tips?

  • Avatar
    Andre Nadimi

    Adding support for HTML would be a really good solution!

  • Avatar
    Yoko Rizzo

    Hey Andre, I reported the issue where line breaks disappear in dynamic content - I've been told that a fix will be pushed out the end of this week : )

  • Avatar
    Andre Nadimi

    Hi

    This is still not fixed...

  • Avatar
    turewib

    Please add language support for widgets, it very, very strange that Zendesk doesn't have this - even in the Enterprise version...

  • Avatar
    Honza Palous

    Whats the status on dynamic content placeholders in end-user ticket fields?  

  • Avatar
    Pierre Grenier

    Hi guys, we are getting busy creating the next-generation end-user portal and forums.  The redesign will address the internationalization questions some of you have.  We are starting a beta program and we are looking for people interested in participating.  All details and subscription on this page.

  • Avatar
    Pierre Grenier

    Quick update.

    1) The line break bug is still open and we have engineers trying to fix it.  Really sorry about this.

    2) For those of you interested in using dynamic content in ticket fields, you may register to a new beta here: https://zendesk.wufoo.com/forms/multilocalizing-your-ticket-fields-beta/.

  • Avatar
    Mathis Hofer

    Hi

    I'm setting up a multi language support site and stumbled upon this issue of non-translatable ticket fields and widget texts. Since you're a company from the US, I might need to stimulate your sensibility for this topic:

    We're a company from Switzerland, acting mainly on the local market. In Switzerland we have 4 official languages. For us it's not an "internationalization" thing, we need this as a core feature to serve our local customers.

    I don't really get it -- you sell a multi language option, but it's not even possible to translate the basic support request form every user sees when he's not doing the request over email?

    When can I expect translatable ticket fields? Will you do a quick fix for the current version?

    Regards,

    Mathis

  • Avatar
    Pierre Grenier

    Mathis,

    As I mentioned in my comment previous to yours, we have a beta feature which solves this problem.  If you are interested, please regiter here: https://zendesk.wufoo.com/forms/multilocalizing-your-ticket-fields-beta/

    Pierre

  • Avatar
    Enrique Martin

    Hi Pierre,

    We are launching zendesk at our site, and as Mathis, we need support for multilanguage in ticket fields. Can you give us an estimation of when this feature will be final released?

     

    Thank you,

    Enrique.

  • Avatar
    Andrea Saez

    agreed ^^ dynamic content on ticket fields would be awesome, instead of having to write in two languages 

  • Avatar
    Pierre Grenier

    @Enrique and Andreas, this is available as a beta feature now.  You can register here.

    There are significant back-end work that needs to happen before we can release this feature.  If you need this capability in the next 2-3 months, my suggestion is that you become part of the beta.

    Hope this helps.

  • Avatar
    Alexis Fabre Ringborg

    Hello

    I would be pleased to regiter to the beta feature, but I have to admit I'm a bit afraid of the following term beta test use agreement :

    RECIPIENT IS ADVISED TO SAFEGUARD IMPORTANT DATA, TO USE CAUTION AND NOT TO RELY IN ANY WAY ON THE CORRECT FUNCTIONING OR PERFORMANCE OF THE PRODUCT.

    I would not like to use a beta version for our live environment given that you cannot ensure there will be no loss of data.

    However, would it be possible to use this beta version for our sandbox environment ?

    Best regards,

Please sign in to leave a comment.