CAT Editors

ICU Message Format (TMS)

Content is machine translated from English by Phrase Language AI.

ICU (International Components for Unicode) is a set of libraries providing globalization support for the internationalization of software systems.

Translations with ICU message format syntax are supported.

If the option to Parse ICU messages is available for the file format and selected, the messages are parsed and presented in the CAT editors.

  • To ensure that the files with ICU messages are properly exported after the translation is finished, tags in the target segment need to correspond to those in the source segment and tags in the source segment should not be edited.

  • As result of new parsing, it may be necessary to move some parts of texts from one target segment to a different target segment so that translations corresponding to grammatical rules of the target languages are followed. To view the translated ICU messages in their entirety, consult the in-context preview.

  • Segments representing particular forms (sub-messages) are saved in the translation memory and are leveraged in the translation process.

Supported file types:

  • .XLIFF 1.2

  • .XLIFF 2.0


  • .JSON

  • .XML

  • Multilingual .XML

  • .PO

  • .YAML

  • Android Strings

  • iOS Strings

If ICU messages are present when a file is imported as a job and segmented, the segment is labelled as ICU in the CAT editors with the ICU type presented in the left hand column. The ICU content is presented as a tag within the text.

Hovering over the ICU type displays categories and an example of usage in a tooltip.


All information regarding the ICU message is imported and viewable as a context note with the full form of the message presented in the in-context preview. All variants of the translated ICU message can also be checked through the ICU configurator available in the in-context preview.

ICU messages cannot be split or joined.

ICU Configurator

ICU configurator enables the checking of all variants of full ICU messages based on the values entered in the configurator and translated segments.

Click the ICU button at the top right of the ICU message in-context preview to open the ICU message preview window.

For no type variables, the configurator displays an empty input field; the value is reflected in the ICU message preview. In case of ICU with complex hierarchy, the unrelated values are hidden based on the selected variants.

Target tab

Enter the values for any variables listed in the Target tab to preview the selected ICU message translation at the top of the window. The target ICU message preview is only available if all ICU related segments are translated.

Source tab

Select Source tab to switch to the source ICU message preview.

Switching between Source and Target tabs does not affect the in-context preview.


ICU primary messages and sub-messages, if they are repeated in a job and have the same key, are identified as repetitions.


To avoid false positives (generating QA warnings for inconsistent translations where such warning is not wanted) and false negatives (no QA warnings for translations where such warning is wanted), ICU context is considered.

In case of different context:

  • The Inconsistent target is not displayed in the case of different translations.

  • The Inconsistent source is displayed for ICU messages with the identical translation and the same source text but with a different context key.

Was this article helpful?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.