Skip to main content

Localizing content

Localizing content for different regions and markets is more than simply translating text. There are other factors to consider, including the correct use of cultural references, regional terms and so on.

Although you may not need to do "translation" you may need to do same-language localization. A common example of this is localizing for American and British English to make your content relevant for the different regions. Typical changes are to change “grey” to “gray,” remove the “u” from “colour” and convert money amounts from pounds to dollars.

For flexibility and to support different workflows, Dynamic Content provides two methods of localizing content:

Both methods of localization use locales, an ISO standard combination of languages and country codes.

Considerations for localizing content
Link copied!

Before you start, decide whether to adopt a field level or content item level approach- or a combination of both. It doesn't matter if you change your approach in the future. Whichever way you choose, Dynamic Content simplifies the process by automatically creating the necessary fields or variants according to the locales set up on your hub.

There are a number of things to consider when implementing localization:

How many languages do you support?

If you are single team translating only a small number of languages, and you don’t have a requirement to publish different languages at different times then a field level approach may be the simplest option.

Translation vs localization

If your requirements focus more on same-language localization than translation into different languages, content item localization offers the most flexibility. The content item level approach allows for structural differences between each language variant (within the constraints of the content type).

Who does your translation?

If you have in-market teams who translate content for their region a content item level localization approach often works best, as each language variant is a distinct item and no dependencies are created between teams or languages.

When and where will your content be published?

Managing content across multiple time zones can be complex and different language variants may need to be scheduled at different times in different regions.

Generally the item level approach is most appropriate as language variants can be scheduled and published independently. Setting up time zones in your settings, makes it easy to switch between time contexts when scheduling across multiple regions.

Discover more

Find out more about the decisions for choosing a localization strategy, by reading our How to get localization right blog.

Field level localization
Link copied!

To support field level localization, developers need to create content types containing properties that are localizable so that users can enter separate values for each locale in each localizable field. See the developer guide for Creating localizable content types.

For users, creating localized content is the same as creating any other type of content and additional features allow you to visualize content for each locale and filter by locale to focus on the particular languages you are working on.

A content item supporting multiple locales

Field level localization is a good choice if:

  • You have a single site and support a small number of locales
  • You have an inhouse team that handles your localization
  • You don't have a requirement to schedule and publish content for different locales at different times

Creating localized content at field level
Link copied!

Creating localized content is the same as creating any other type of content, the only difference is that you can enter separate values for each locale in each localizable property.

The content form for a simple banner is shown below. The headline, strapline and background image properties have been set up to be localizable and separate fields are shown to allow the user, or different users providing each translation, to enter a value for each locale that has been added to the hub. In this example we have locales defined for English, French and German languages.

A simple banner with localizable text and images

Filtering content using locales
Link copied!

When you create or edit a content item with localized properties, you can choose which locales, in addition to the master locale, are displayed. For example, if you're working on a German translation, you might just want the German localized fields to be displayed and uncheck the other locales, as shown below.

Filtering localized properties by locale

Visualizing localized content
Link copied!

When you view the visualization for a localized content item, a list of the available locales will be displayed on the top left of the visualization window. Choose the locale for which you want the visualization to be displayed. In the example below we've chosen de-DE to display the visualization using the fields localized for German.

Note that the locales menu will only be available for a visualization for a particular content type if it has been updated to support locales.

Choosing the locale to use to visualize the content item

The visualization for the de-DE locale is displayed.

Visualizing the content item using the de-DE locale

Content item localization
Link copied!

With content item localization, when you localize a content item, new variants of the item will be created for each locale you selected. These variants will be separate content items, each with their own unique ID and revision history.

Content item localization is a good choice if:

  • You have many sites and support many locales across those sites. Typically each site would also have its own set of slots
  • You use several teams for localizing content into particular locales or groups of locales
  • You use external localization providers and want to restrict write access to only those repositories that each team is working in
  • You want to have the option to schedule and publish different locales at different times

Here we are localizing a content item to create new items for other locales.

Choosing to localize a content item

When content is localized, the locale is displayed on its card. The image below shows fr-FR and de-DE variants of the "Winter collection image".

A variant of the content item is created for each selected locale

Localized content can be created either in the same repository or in a repository to which one or more locales have been assigned. This allows you to set up repositories to contain content localized for particular locales, and makes it easier to share translation work among different teams.

Setting up repositories for localization

The way in which your repositories are set up by your administrator will affect how localization works for you. localization group.

You can also localize content such as carousels or grids, that contain other content items. See Localizing linked content.

Assigning a locale to a content item
Link copied!

In order to localize a content item, you must first assign it a locale.

To assign a locale to a single item, select "Assign locale" from the item's contextual menu or from the "Save" menu in the content form.

To assign a locale to multiple items, select them in the content library and choose the "Assign locale" bulk action from either the toolbar, or the right-click menu. See How to use bulk actions.

Assign a locale from the item's contextual menu

An item can be assigned any locale that has been added to a hub. Your setup may restrict the list of locales to only those permitted for the repository. See Repositories with assigned locales.

Here we are assigning the en-GB locale.

Choosing from the list of available locales

A visual indication of the locale is shown for the item in the content library.

The assigned locale is shown on the content item's card

Localizing a content item
Link copied!

Now that the item has a locale, we can localize it. Choose "Localize" from the item's contextual menu. You can choose to localize from any locale to another of your supported locales.

When a content item has an assigned locale, the Localize menu item is shown

The Localize window appears. This hub has fr-FR and de-DE locales available in addition to en-GB, so we'll choose to create both English and German localized versions of the content.

You can only create one variant of a content item for a locale, so if a fr-FR localization of this content had already been created, then you wouldn't be able to select the fr-FR locale.

Choose which locale variants to create and click the "Localize" button. A spinning icon will show that localization is in progress.

Choosing which localizations to create

When the localization is complete, a green tick will be shown next to the locales for which an item has been created, together with the time and date it was localized.

Localized variants have now been created

New content items have been created for the fr-FR and de-DE locales. These each have their own unique content ID and revision history. Because these are separate items we can edit the image and other properties without affecting the other variants.

Note, the variants are created at the root level of the current repository. If separate repositories are set up to be associated with certain locales, the variants will be created in the appropriate locale.

Localized variants of the Winter collection image shown in the Content Library

Switching between locale variants
Link copied!

Even though each variant is a separate content item, you can easily switch between each variant. Open the content form for any variant of a content item and choose the variant from the locales menu as shown below. Here the fr-FR variant is selected, but we can easily switch to the other variants we created.

Switching between locale variants of the content item

Localizing linked content
Link copied!

Linked content is content such as carousels and grids that link to other content items. When linked content is localized, Dynamic Content will preserve the way that the parent item, for example the carousel or grid, is linked to its child items such as the individual images and slides.

There are a few rules that define how linked content is localized:

  • Only one variant of a child item will be created for each locale. So if a carousel and grid link to the same image item and both items are localized, only one variant of the image will be created for each locale and it will be shared between the localized carousel and grid. This preserves the structure of the item being localized
  • A new variant of a child item will only be created if the child item linked to the item being localized has an assigned locale that is the same as the parent, otherwise the localized parent will link back to the unlocalized child

Here are some examples that demonstrate these principles in more detail.

In this example we have created a winter collection carousel and have assigned it a locale of en-GB. It links to 4 carousel slides. None of these slides have a locale assigned.

We now choose to localize the carousel by choosing localize from the Save menu.

Localizing a carousel

The available locales are displayed. In this example we'll choose to localize into the fr-FR locale.

Choosing to localize the carousel into the fr-FR locale

Localization is done in the background and when it is complete, a tick is marked by the locales that we have localized into.

The fr-FR variant is created

A fr-FR variant of the winter collection carousel is created as highlighted below. Notice that just a variant of the carousel itself is created.

The fr-FR variant of the carousel in the Content Library

If we open up the fr-FR variant of the carousel, we can see that it links to the same slides as the en-GB variant of the carousel. In this case we want to share the slides across localized variants of the locale, so we don't assign a locale to the slides.

The fr-FR variant links to the unlocalized slides from the en-GB carousel

The Winter collection carousel shown below has an assigned locale of fr-FR and links to a slide named "Style d'hiver" that is also assigned a fr-FR locale.

A carousel with one item that has an assigned locale

We choose to localize the carousel into the de-DE locale.

Choosing to create a de-DE variant of the carousel

A de-DE variant of the carousel is created, together with a de-DE variant of the Style d'hiver image.

The de-DE variant of the carousel is created, together with the localized Style d'hiver content item

The localized carousel will link back to the unlocalized variants of the other images linked to the carousel, as shown when viewing the de-DE variant of the carousel in the content form.

The carousel linked to the localized image and the unlocalized variants of the other images

Note that variants will only be created if the child item is assigned the same locale as the parent.

In this example we have a carousel and grid that both link to the same item: the Winter boots image content item.

A carousel and grid both sharing the winter boots image item

All of the items are assigned the en-US locale. The grid and carousel are both localized into the fr-FR locale.

Each item has a locale assigned and a fr-FR variant of is created of both the carousel and grid

Notice that the fr-FR variant of the winter shoes image is only created once. Both the localized grid and carousel will link to this item, preserving the structure of the en-US variant of the content.

fr-FR variants are created of all items with the localized Winter boots image shared between the carousel and grid

Setting up repositories for localization
Link copied!

Within a project, you can decide how your repositories are set up and organized. If you have separate teams working on translating your content, it makes sense to have content organized into repositories that contain the localized content for one or more locales.

Repositories with assigned locales
Link copied!

Locales can be assigned to your repositories to restrict which locales are available for users to assign to content.

Assigning locales to a repository

Locales are assigned to repositories by the organization administrator. See Creating repositories.

In the example below, we have three repositories for English, German and French content. The English repository has been assigned the en-US locale, the German repository is set up for the de-DE locale and the French website has been assigned the fr-FR, fr-CH and fr-BE locales to include French content variants for Switzerland and Belgium.

When you assign a locale to a content item, you will only be able to choose from the locales assigned to that repository. The "Chapeaux d'hiver" content item has been created in the "frenchWebsite" repository and so we can choose from the fr-FR, fr-BE and fr-CH locales.

Choosing from the locales assigned to the frenchWebsite repository

Localization groups
Link copied!

Repositories can be organized into localization groups, to allow users to localize content into separate repositories.

This groups together locales so that:

  • Items in a localization group can only be localized into other locales within the same group
  • You can switch between content item variants in the same localization group, even if items are stored in different repositories
  • Variants of a content item can only exist once within each group. So if you localize a carousel and each of its slides and use the slide in many places, you can be sure that the slide will only be localized once per locale within a group.
Creating repository localization groups

Localization groups are created by an administrator or developer using the Dynamic Content Management API. See Updating a content repository localization group.

In the example below, the internationalEnglish, frenchWebsite and germanWebsite repositories are part of the same localization group.

The "Winter hats" content item has been created in the internationalEnglish repository and assigned a locale of en-US.

The Winter hats item in the internationalEnglish repository

When you localize content in a repository that is part of a localization group, you can create content variants for each of the locales in the group. Because the internationalEnglish, frenchWebsite and germanWebsite repositories are all part of the same localization group, when localizing a content item with the en-US locale, all the French variants and de-DE are available.

The fr-FR, fr-BE and fr-CH variants of the item will be created in the same repo, while the German and English variants will be created in their corresponding repositories.

Choosing from the locales available in the localization group

Here's the frenchWebsite repository. The "Winter hats" content item has been created in fr-FR, fr-CH and fr-BE variants.

r-FR, fr-CH and fr-BE variants are created in the frenchWebsite repository

The de-DE variant of the "Winter hats" content item is created in the germanWebsite repository.

The de-DE variant in the germanWebsite repository

Link copied!

Locales are associated with Dynamic Content hubs and are used for both field level and content item localization. See Localizing content.

A locale is a combination of a language code and country code, which is mandatory and an optional country code. Locales can also have labels that are optional, and allow you to define meaningful, easily identifiable names for your locales.

To manage locales, choose the "Locale" menu item.

Locale management is available from the Locale menu item

Initially, when no locales are specified, the Locale settings window looks like this:

Locale settings dialog with no locales

From the Locale settings window you can add, edit and delete locales, with the exception of the master locale. The first locale added will be the master locale and once this is set it cannot be changed or deleted. The master locale will be used by default for cards and visualizations in the content library.

To add a locale click the "+" icon at the bottom of the list of locales and choose the language code and, optionally, the country code and a label. In the example below notice how only one locale is added for Portuguese, using just the pt language code.

The locale settings screen

Custom locale labels

Locale labels provide additional, optional descriptions that help users to identify locales. Where no locale label is specified, the locale code is shown.

There may be a requirement to localize separate strings, for example in Portuguese for Portugal (a locale code of pt-PT) and Brazil (pt-BR), in which case you specify both a Language code and a Country code. Enter a locale label to provide a meaningful label for users.

Adding a new locale

Here is an example of how the addition of locale labels can make locale names friendlier for users when they create content items.

Picking a locale with labels displayed


Another way in which locale labels can be useful is where locales are used to differentiate between brands. For example, you may have used a locale code of 'en' for brand 'Acme', and a locale code of 'en-GB' for brand 'Globex'. In this scenario, defining locale labels that are aligned with the brand names makes it easier for users to identify which locale to use.

Creating localizable content types