Crownpeak (Retired)

An overview of the Translation Module Framework (TMF)


The Translation Model Framework (TMF) was created to improve the management of multilingual content in the CMS. It allows for easy maintenance of any type of content or number of sites, whether they are global, regional, or local. The current version of the TMF is incorporated into the DXM Services Template API Library, which is accessible via DXM Template API. It is now more efficient to manage and install the latest and greatest version of the Core API of the TMF for each project; however, the TMF configuration templates are still being managed under the System folder per CMS instance.

This document provides the overview, the steps to set up the TMF for implementation, and the best practices. It shows how you can install and configure TMF to be shared by more than one site or self-contained to support a single site.


Leveraging the Crownpeak TMF enables you to:

  • Manage sites of a multi-language nature (i.e. English and Spanish versions of the US site)
  • Manage sites with similar content and structure, that will be localized for each regional deployment.
  • Manage content that has a single point of origination (or multiple originations), with requirements to derive and deploy multiple versions of the content.


Crownpeak's TMF will allow you to:

  • Collaborate between content owners.
  • Provide notifications when master content has changed.
  • Provide authors the ability to review changes in the master content, for incorporation into their derived content set.
  • Provide the ability to selectively send content out to a translation service.
  • Use a variety of translation services.
  • Support localization by regional content owners.
  • Identify the master and derived sources.

Before installing TMF

Decide where the TMF configuration folder(s) would be installed in your project. Analyzing the site structure and project requirements are the first step for a successful TMF integration. TMF supports various project scenarios and it could be installed in a single folder or multiple locations. Review the best practice scenarios below to see which best fits your needs.

A single TMF configuration folder example:


Multiple TMF configuration folders example:


Installation & Configurations

These are the required steps to install the TMF.

1. Create a ‘_TMF’ folder

Create a ‘_TMF’ folder by choosing File > New > Folder from the top menu


2. Create the folder structure

Create the following folders in the newly created ‘_TMF’ folder, then apply the correct model, respectively. The folder names should be ‘Country Sites Config’, ‘Languages Config’, ‘Locales Config’, ‘Relationships Config’, ‘TMF Config’. When complete, your _TMF folder should look like this:



3. Apply models

From the Properties panel (accessible via the View menu) of each newly created folder, apply the correct model by selecting Model, then browse to select the following for each. Make sure to click Save before moving to the next folder.

  • Country Sites Config Model: /System/Translation Model Framework/_Models/Country Site/
  • Languages Config Model: /System/Translation Model Framework/_Models/Language/
  • Locales Config Model: /System/Translation Model Framework/_Models/Locale/
  • Relationships Config Model: /System/Translation Model Framework/_Models/Relationship/
  • TMF Config: No model assigned

image006.png  image007.png

4. Create configuration assets

Use the models to create configuration assets as needed in the newly created folders. These are steps for each folder.

Country Sites Config

Select File > New > Model > Country Site


Enter a country name in the Site Title textbox. Choose which user(s) will be notified about the content changes via Email.


Languages Config

Select File > New > Model > Language


Enter a language name in the Language Title text-box. Choose which user(s) will be notified about the content changes via Email.

Locales Config

You will need to have configuration assets for all languages and countries before configuring the locale.


Select the appropriate country, language, and Site Root.


Relationships Config

No action is required. When TMF is triggered, the relationship configuration assets will be automatically created in this folder. This is how TMF keeps the relationships between Source Asset and Destination Asset.

TMF Config

Templates configuration – This configuration reads the entire assets and associated fields within the project. If there are a lot of associated templates and a number of fields, then you may experience some slowness when opening the template configuration asset.

1) Create a new file under the “TMF Config” folder.


2) Enter “Templates configuration” as the Filename. For the Template, select the “Templates Config” at this path “/System/Translation Model Framework/_Templates/”.


Auto Link Locales

This is an optional step.

Create a new file under “TMF Config” folder.


Enter “Auto Link Locales” as the label. Select “Auto Link Locales” for the template name in “/System/Translation Model Framework/_Templates/”. It is not necessary to select a Workflow.



There are two ways of enabling the TMF in the CMS project:

Using Component Library Template Definitions

If the project is implemented in the Component Library framework, TMF can be enabled in each template definition. On the Settings tab, tick the Enable TMF checkbox, and hit the Save button. Doing this will create TMF related files and update the template files.



Manually update the custom templates

If the template was created manually, then you will need to open each template file and add the following code:

input.aspx – Add the below code at the end of the file




<% try { ServicesTMF.Input.LoadInput(asset, context); } catch (Exception ex){} %>





output.aspx – Add the below code at the end of the file




<% try { ServicesTMF.Output.LoadOutput(asset, context); } catch (Exception ex){} %>





output_changes.aspx – Add this file if it does not exist and add the below code




<% try { ServicesTMF.Output.LoadMasterAssetChanges(asset); } catch (Exception ex){} %>





post_input.aspx – Add this file if it does not exist and add the below code




<% try { ServicesTMF.PostInput.LoadPostInput(asset, context); } catch (Exception ex){} %>





post_save.aspx – Add this file if it does not exist and add the below code




<% try { ServicesTMF.PostSave.LoadPostSave(asset, context); } catch (Exception ex){} %>




Relationships Config

When TMF is triggered, it creates a relationship configuration asset under the /Relationships Config folder. Each asset represents the relationship between the Source Asset and the Destination Asset.


To manually create a relationship between the two assets, use the Relationship model in the /Relationships Config folder.


Warning: If you delete the config asset, you can break the existing relationship.


Auto Link Locales

If you have an English and French folder using the same structure and templates that have not been linked, you can use the “Auto Link Locales” feature which will create the relationship between the two folders.

Tick the “Auto Update Status” checkbox, hit “Save”, and then preview the asset. It will create the relationship and show you a table with the relationship status.


Compare Contents

TMF provides a comparison table that shows all fields from the master and derived content, and highlights any content changes. Click one of the derived assets and select Show Master Changes in the dropdown list.



Click the Inline button. You can compare each value and make changes if needed. Translated/Localized Value column is only editable.


The locale dropdown will give you an access to the other locale pages.



If you have a translator or translator vendor, it would require updating the existing workflow. Below is a generally used workflow sample. Out for Translation status is what we typically add right before the approval process.


This is an additional workflow for the translation. Once the status is set to Out for Translation on the previous step, the asset is transferred to this workflow, follow the steps and move back to the original workflow.


Here are three examples for how translation content can be processed:

  • Translation Vendor: Generate data file such as XML or JSON that is sent to the translation vendor via SFTP. Setup an SFTP location where CMS can export & import the file. Translated content will be updated automatically. Please contact your Customer Success Manager for more information about Translation Vendors.
  • Independent Translator with CMS Access: Give translator access to the CMS, so they can make content updates directly. If the project needs to restrict access to certain input fields for the translator, significant effort is required.
  • Independent Translator with No CMS Access: Build a separate authoring experience application outside the CMS using the CMS Access API. It’s not recommended here because this requires significant effort. A custom-built app is not ideal for a long-term support.


In summary, the TMF allows you to control multilingual content within the CMS then connect with translators or translation vendors, and finally give you efficient ways to compare and manage translated content. It also notifies content owners, so they can keep track of all the changes.

You should now know what to expect when you setup and use the TMF. We know some projects have different and unique needs for the translation process. Please contact either your Customer Success Manager or Crownpeak Support team if you have any additional questions or concerns.

Labels (1)

Thank you for the step - by - step approach to set up TMF

Note: As i have used c# i have not created the new.asp and copy.asp file

I have set up the TMF folder as described above.

    1. But i am getting the following error when i click on the 'Auto Link Locales' File View
      "Error! You are not authorised to do this operation."
    2. I am not able to view "Show Master Changes" - Not Available

Please let me know if i have to setup a workflow or am i missing any step due to which i am not able to see the "Show Master Changes" detailed page instead of 'Not Available icon'

The errors you are reporting are most likely unique to your instance. Please submit a support ticket with details on where you are testing so we can review your implementation and identify what is causing your issue and if there are any items missed from the implementation.

1. What is the use of - Translation Rules Config

2. Should a site-root have only one _TMF folder?

3. What is the use of 'new.asp' and 'copy.asp' templates - When will this be ported over to C#?

  1. This drives which locales are available for selection when creating a derived copy of an asset. This is how you arrange the hierarchy of languages/locales for location.

  2. I have not seen an instance where more than one copy of _TMF was required for a site. I would expect to see issues when attempting to locate the TMF instance if so.

  3. I do not believe that these are still required for the existing version of TMF. They should be excluded from your installation.

Thank you RichardLund for the clarifications:

1. Translation Rules Config - Is there a blog available on how to setup Translation Rules Config to drive which locales are available for selection as mentioned above.


Hi @eunice-richard, Currently there is no blog available, but thanks for the question. We've added this request to the documentation queue. Best, Denise

Thank you Denise for the update.  I need to implement the same in CrownPeak.  Is there any other way that i get to implement the same.

What is the best practice to have _TML implemented for multiple micro-sites under the siteroot


      -  Microsite-1

     - Microsite-2



Can't find what you are looking for?

Find Answers

Search our DXM Forum to find answers to questions asked by other DXM users.

Ask a Question

No luck? Ask a question. Our Product and Support teams are monitoring the Forum and typically respond within 48 hours.

Ask a Question