To give you the flexibility to support your particular workflow, Dynamic Content supports two methods of localizing your content:
- field level localization
- content item level localization
Both methods of localization use locales, an ISO standard combination of languages and country codes. With field level localization, users create a single content item with fields for each supported locale, while content item localization allows you to create a separate content item for each locale.
Field level localizationLink 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 Creating localizable content types for more details on 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.
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 levelLink 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 editing window 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.
Filtering content using localesLink 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 in the image below.
Visualizing localized contentLink 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.
The visualization for the de-DE locale is displayed.
Content item localizationLink copied!
With content item localization, when you choose to 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.
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".
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.
You can also localize content such as carousels or grids, that contain other content items. See Localizing linked content.
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
Assigning a locale to a content itemLink copied!
In order to localize a content item, you must first assign it a locale.
To assign a locale, choose "Assign locale" from the item's contextual menu or from the "Save" menu in the content editing window.
An item can be assigned any locale that has been added to a hub. You might choose to assign locales to particular repositories and in that case when you assign a locale to a content item, you will be restricted to the locales to the locales assigned to that repository. See the Assigning locales to repositories section for more details.
Here we are choosing to assign the en-GB locale because we have created the content item with English content.
A visual indication of the locale is now shown on the content item's card in the Content Library. It's also shown in the list view.
Localizing a content itemLink 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.
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.
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.
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 effecting the other variants.
Note that 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.
Switching between locale variantsLink copied!
Even though each variant is a separate content item, you can easily switch between each variant. Open the content editing window 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.
Assigning locales to repositoriesLink copied!
When you set up your project, you can discuss with your Custom Success Manager how your repositories should be set up and organised. If you have separate teams working on translating your content, it makes sense to have content organised into repositories that will contain the localized content for one or more locales.
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. You can ask Amplience to set up your repositories for any locales you choose.
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.
Localization groupsLink copied!
You can choose to organise your repositories into localization groups. 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.
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.
When you choose to localize an item of content in a repository that is part of a localization group, you can create content variants for each of the locales in the entire 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.
Here's the frenchWebsite repository. The "Winter hats" content item has been created in fr-FR, fr-CH and fr-BE variants.
The de-DE variant of the "Winter hats" content item is created in the germanWebsite repository.
Localizing linked contentLink 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
On this page we'll walk through some examples that demonstrate these principles in more detail.
Example- localizing a carousel linked to items with no assigned localesLink copied!
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.
The available locales are displayed. In this example we'll choose to localize 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.
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.
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.
Example: a carousel linked to one item with an assigned localeLink copied!
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.
We choose to localize the carousel into the de-DE locale.
A de-DE variant of the carousel is created, together with a de-DE variant of the Style d'hiver image.
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 editing window.
Note that variants will only be created if the child item is assigned the same locale as the parent.
Example: a carousel and grid linked to the same itemLink copied!
In this example we have a carousel and grid that both link to the same item: the Winter boots image content item.
All of the items are assigned the en-US locale. The grid and carousel are both localized into the fr-FR locale.
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.
Locales are associated with a Dynamic Content hub. A locale is a combination of language code and country code, with the language code being mandatory and the country code optional.
To manage locales, choose the "Locale" menu item as shown in the image below.
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. 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.
For example, you might wish to provide a localized string for Portuguese, in which case you would add one locale with just the pr language code, or there may be a requirement to localize separate strings in Portuguese for Portugal (a locale code of pt-PT) and Brazil (pt-BR).