XTM Cloud: Difference between revisions

From Lingoport Wiki
Jump to navigation Jump to search
No edit summary
 
(13 intermediate revisions by the same user not shown)
Line 22: Line 22:
The Name cannot have a space or a variety of special characters.
The Name cannot have a space or a variety of special characters.


===LRM Resource Types Supported by XTM===
= XTM Highlights and Issue =
 
==LRM Resource Types Supported by XTM==


XTM supports the following LRM resource types:
XTM supports the following LRM resource types:
Line 42: Line 44:
* .msg
* .msg


===XTM Special Instructions - parameters (e.g. %d, etc)===
==XTM Special Instructions - parameters (e.g. %d, etc)==
XTM expects parameters in '''.strings''' resource files to be numbered.
XTM expects parameters in '''.strings''' resource files to be numbered.
If not numbered, XTM will provide numbers during translation, which will result in a parameter mismatch error during LRM import.
If not numbered, XTM will provide numbers during translation, which will result in a parameter mismatch error during LRM import.
Line 59: Line 61:
We reported an issue to XTM around ICU message formats. The issue is that for certain file type, such as JSON files, when a string has an ICU message format, the original file is renamed and this in turns does not get returned via the XTM API integration. In effect, those files must then be re-renamed back to the original files (as for all files which do not have ICU message format for any string value), and imported by hand.
We reported an issue to XTM around ICU message formats. The issue is that for certain file type, such as JSON files, when a string has an ICU message format, the original file is renamed and this in turns does not get returned via the XTM API integration. In effect, those files must then be re-renamed back to the original files (as for all files which do not have ICU message format for any string value), and imported by hand.


The XTM page on this refers directly to a file from Lingoport, as you can tell by the name of file starting with LID<digits> - LID is for Localyzer ID.
The XTM page on this refers directly to a file from Lingoport, as you can tell by the name of file starting with '''LID'''<digits> - '''LID''' is for '''L'''ocalyzer '''ID'''.


* https://xtm-cloud.atlassian.net/wiki/spaces/EXKB/pages/3273492815/How+to+configure+plurals+in+XTM+Cloud#Supported-file-formats
* https://xtm-cloud.atlassian.net/wiki/spaces/EXKB/pages/3273492815/How+to+configure+plurals+in+XTM+Cloud#Supported-file-formats


The work-around in this case may be to upload the files from Localyzer. See:
The work-around in this case may be to upload the files from Localyzer. See:
*
* [[Upload translated files]]
 
== XTM and Context ==
Localyzer can pass the context from the [[About_InContext_Translation|InContext Server]] if captured prior to sending a prep kit to XTM.
 
'''XTM support''' must enable this functionality. Furthermore, the XTM configuration must follow the key convention:
 
* JSON: keys must be in the form <code>level1.level2.level3</code> as per the tree structure of the incoming file.
* resx: keys must be the same as the data <code>name</code>
* properties: keys must be the same as the key in the .properties file
* Android strings.xml: keys must be the same as the string <code>name</code>
* iOS .string: keys must be the same as the key in the .string file.
 
The XTM configuration (filter/parser) must '''ignore''' [[JSON_Resource_Bundles#Typical_with_Keys_for_Comments|JSON comments]].

Latest revision as of 15:58, 6 April 2026

Configuring XTM Connection

Set the Host URL and other credentials


Set up the callback URL and proxy


Configure the Locale Code Set

These are a list of possible locales. In general, these can be left as the default values.

Name the Translation Memory System Connection

The Name cannot have a space or a variety of special characters.

XTM Highlights and Issue

LRM Resource Types Supported by XTM

XTM supports the following LRM resource types:

  • .html, .htm
  • .json
  • .po
  • .properties
  • .resx
  • .rc
  • .rxml
  • .strings
  • strings.xml
  • .txt
  • .yaml, .yml


XTM does not support the following LRM resource types:

  • .rjs
  • .msg

XTM Special Instructions - parameters (e.g. %d, etc)

XTM expects parameters in .strings resource files to be numbered. If not numbered, XTM will provide numbers during translation, which will result in a parameter mismatch error during LRM import. To avoid the error, number of the parameters in the base resource file.
For example, if you have the following in a .strings resource file:

"Test.Key" = "Test %d and %d";

It should be changed to:

"Test.Key" = "Test %1$d and %2$d";

Note: a single parameter must be numbered. For example:

"Test.Key_Single" = "Test %1$d";

XTM and ICU Message Format

We reported an issue to XTM around ICU message formats. The issue is that for certain file type, such as JSON files, when a string has an ICU message format, the original file is renamed and this in turns does not get returned via the XTM API integration. In effect, those files must then be re-renamed back to the original files (as for all files which do not have ICU message format for any string value), and imported by hand.

The XTM page on this refers directly to a file from Lingoport, as you can tell by the name of file starting with LID<digits> - LID is for Localyzer ID.

The work-around in this case may be to upload the files from Localyzer. See:

XTM and Context

Localyzer can pass the context from the InContext Server if captured prior to sending a prep kit to XTM.

XTM support must enable this functionality. Furthermore, the XTM configuration must follow the key convention:

  • JSON: keys must be in the form level1.level2.level3 as per the tree structure of the incoming file.
  • resx: keys must be the same as the data name
  • properties: keys must be the same as the key in the .properties file
  • Android strings.xml: keys must be the same as the string name
  • iOS .string: keys must be the same as the key in the .string file.

The XTM configuration (filter/parser) must ignore JSON comments.