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.

Dynamic Content editing form showing a content item with fields that support 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.

Dynamic Content editing form showing 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.

Dynamic Content editing form showing the menu for filtering localized properties by locale

Visualizing localized content
Link copied!

To view the visualization for a localized content item, choose the locale you want from the list of available locales on the top left of the visualization window. Note that the visualization locales menu will only be available for content types that have been set up to support localization.

Here the visualization displays content for the en-GB locale, and we are using the menu to refresh the visualization to show content for the fr-FR locale:

Dynamic Content editing form showing the menu for refreshing the visualization to show content for a different locale

Switching the visualization to use a different locale, refreshes the window to show content for our selected locale, which for this example is the fr-FR locale:

Dynamic Content editing form showing the refreshed visualization for a different 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
  • Different teams handle localization for specific locales or regions
  • You use external localization providers and want to restrict write access to only those repositories that each team is working in
  • You want to schedule and publish different locales independently

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

Dynamic Content library window showing the menu option 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".

Dynamic Content library window showing localized variants of content created for each selected locale

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

Tip

Content item localization can be configured so that:

  • Content creators can only localize into the locales relevant to their work. See Assigning repository locales.
  • Localized variants are created in locale specific repositories automatically, keeping content organized without manual effort. See Localization groups

Assigning a locale to a content item
Link copied!

Before localizing a content item, first assign it a locale. Choose "Assign locale" from the item's right-click menu, or from the "Save" menu in the content form.

You can assign a locale to multiple items...

Select the items in the content library then choose "Assign locale" from the bulk action toolbar or the right-click menu. See How to use bulk actions.

Dynamic Content library window showing the menu option to assign a locale for an item

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.

The Dynamic Content Assign locale dialog, with a locale selected in the list of available locales

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

Dynamic Content library window showing the assigned locale icon on the content item's card

Localizing a content item
Link copied!

Once a content item has been assigned a locale, the item can be localized by choosing "Localize" from its contextual menu. You can localize from any locale to another of your supported locales.

Dynamic Content library window showing that the Localize menu item is shown once a content item has an assigned locale

The Localize window appears showing the available locales. This hub has fr-FR and de-DE locales available, so we'll create both French and German localized versions of the content.

Dynamic Content localize window showing localized variants that have been created

Localize into folders

To create localized variants in the corresponding folder structure, turn on "Localize into folders". For more information, see What does localize into folders do?

When the localization is complete, the "Localize" window displays a check mark, time and date for each successfully created locale variant.

Info

You can only create one variant of a content item for a locale, so if a fr-FR variant already exists, fr-FR won't be available to select when localizing.

For this example, 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 content items we can edit the image and other properties without affecting the other variants.

Dynamic Content library window showing localized variants of the Winter collection image

In this example, the variants are created at the top level of the current repository.

Info

Localized variants are saved to the same repository as the original - unless you're using localization groups, in which case variants are created in their respective locale-specific repositories. See repository localization group.

What does localize into folders do?
Link copied!

By default localized variants are created at the top level of the destination repository. To automatically place them in folders that correspond to the original item's folder instead, use the "Localize into folders" option.

In this example, the content item to be localized is in the "Winter collection" folder:

Dynamic Content library window with content selected to localize

With "Localize into folders" turned on, variants are created in the same folder as the original rather than at the top level:

Dynamic Content localize window showing the localize to folder option turned on

Once localized, the new variants appear in the "Winter collection" folder. Here, the original item has been localized into fr-FR and de-DE:

Dynamic Content library window showing newly created localized content

Folders are created where necessary

If the matching folder path doesn't exist in the destination repository it's created automatically.

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.

Dynamic Content editing form showing the menu item for localizing content

The available locales are displayed. In this example we'll localize into the French fr-FR locale. Localization is done in the background and when it is complete, a check mark is displayed for the locales that we have localized into.

Dynamic Content with the Localize window open showing that the French fr-FR variant is created

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

Dynamic Content library window showing the French fr-FR variant of the carousel

If we open the French 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.

Dynamic Content editing form showing 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.

Dynamic Content editing form showing a carousel with one item that has an assigned locale

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

Dynamic Content with the Localize window open showing a de-DE variant of the carousel will be created

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

Dynamic Content library window showing 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.

Dynamic Content editing form showing the carousel linked to the localized image and the unlocalized variants of the other images

Info

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 slider that both link to the same item: the Winter boots image content item.

Dynamic Content library window showing a carousel and slider both sharing the winter boots content item

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

Dynamic Content library window with the Localize menu item selected

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

Dynamic Content library window showing the created fr-FR variants with the localized Winter boots image shared between the carousel and slider

Switching between locale variants
Link copied!

From the Dynamic Content editing form you can easily switch between each variant - even though each variant is a separate content item.

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.

Dynamic Content editing form showing the menu for switching between locale variants of content

Setting up repository locales and groups
Link copied!

When using content item level localization, your repository locale setup affects how localization works for your teams.

You can set up:

  • Assigned locales - to restrict which locales are available in each repository, so content creators can only localize into the locales relevant to their work
  • Localization groups - that ensure that each localized variant is created in a locale specific repository automatically, keeping content organized without manual effort

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 "Spring hats" content item has been created in the "frenchWebsite" repository and so we can choose from the fr-FR, fr-BE and fr-CH locales.

Dynamic Content library window showing the Assign locale dialog with locales assigned to the frenchWebsite repository

Localization groups
Link copied!

Localization groups let you organize repositories so that localized content is automatically placed into repositories that contain the localized content for one or more locales. This makes it easier for separate teams to work independently on their own locales.

When using a localization group:

  • Items in a localization group can only be localized into other locales within the same group
  • Variants of a content item can only exist once within each group. For example, 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.
  • In the content editing form you can switch between content variants in the same localization group, even if items are stored in different repositories
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.

Dynamic Content library window showing 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.

Dynamic Content with the Localize window showing 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.

Dynamic Content library window showing the fr-FR, fr-CH and fr-BE variants created in the frenchWebsite repository

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

Dynamic Content library window showing the de-DE variant in the germanWebsite repository

Locales
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 mandatory language code and optional country code. Locales can also have optional labels, which let you give them meaningful, easily identifiable names.

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

Dynamic Content library window showing the Settings menu with the Locale menu item

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

Dynamic Content 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 is 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 there is one locale for Portuguese content, using just the pt language code.

Dynamic Content Locale settings dialog with some locales added

You may have a requirement to localize separate strings for different countries with the same language. For example, Portuguese for Portugal (a locale code of pt-PT) and for Brazil (pt-BR), in which case you specify both a Language code and a Country code. We've used country flags in the locale labels to help users identify locales at a glance.

Dynamic Content Locale settings dialog with a new locale being added

Locale labels
Link copied!

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

When adding locale labels, you can include emojis by right-clicking in the locale label field. The example below shows country flag icons being added to locale labels.

Dynamic Content Locale settings dialog showing adding an emoji to a locale label

Once locale labels are added, users can see them as they create content. Here's an example showing locale labels that include emojis.

Dynamic Content Save content dialog showing locale labels as emojis

Tip

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