Difference between revisions of "XTM"

From Lingoport Wiki
Jump to: navigation, search
(XTM Configuration)
Line 79: Line 79:
   
 
# configure proper URL for your company
 
# configure proper URL for your company
xtm.api.callbackURL=http://jenkins.company.com/jenkins/buildByToken/buildWithParameters/build?job=XTMCallback&token=ZISXTMTOKEN
+
xtm.api.callbackURL=http://jenkins.company.com/jenkins/buildByToken/buildWithParameters/build?job=XTMCallback&token=<the_token_configured_in_XTMCallback>
   
 
#
 
#
 
# You can test your callback configuration using curl on the command line (note the escaped & before token):
 
# You can test your callback configuration using curl on the command line (note the escaped & before token):
# curl http://jenkins.company.com/jenkins/buildByToken/buildWithParameters/build?job=XTMCallback\&token=ZISXTMTOKEN
+
# curl http://jenkins.company.com/jenkins/buildByToken/buildWithParameters/build?job=XTMCallback\&token=<the_token_configured_in_XTMCallback>
 
# A successful curl command simply returns.
 
# A successful curl command simply returns.
 
# An unsuccessful curl command will display an error.
 
# An unsuccessful curl command will display an error.

Revision as of 21:28, 17 June 2020

Link LRM and XTM

To begin working with XTM, create or use an existing Jenkins project configured with LRM.

  1. Configure <HOME>/Lingoport_Data/L10nStreamlining/config/config_xtm_tofrom.properties:
    • configure xtm.out.to.translation.dir
    • configure xtm.in.from.translation.dir
  2. Create an XTM local vendor in Jenkins:
    • Select Manage Jenkins->Configure System
    • Scroll down to the LRM L10n Vendor Setup section and select Add Local Vendor
    • Provide a unique vendor name
    • Select Group or Project; if group, select group name from drop down list
    • Configure Prep Kit Files Directory; this must match xtm.out.to.translation.dir in config_xtm_tofrom.properties
    • Configure Imported Files Directory; this must match xtm.in.from.translation.dir in config_xtm_tofrom.properties
    • Save
  3. Configure your Jenkins job to use XTM local vendor:
    • Select the Jenkins job you want to use XTM
    • Click Configure
    • Scroll down to the L10n Vendor section of your LRM configuration
    • Choose Group or Project; if project, click Local Vendor and then select the Local Vendor Name from the list
    • Save

Configure and Enable XTM Jenkins Jobs

  1. Enable the XTMCallback Jenkins job and modify the token value or keep the default.
  2. Enable the XTMCheckCallback Jenkins job.
  3. Enable the XTMSend Jenkins job.
  4. Modify the Jenkins job LocalVendorDownload and check Build after other projects are built and then in Projects to watch, type in XTMCallback.

XTM Configuration

Configure the XTM settings in the config_xtm_vendor.properties (which can be specified at the group or project config level).

#
# Contains configuration for xtm
#
# Note: this file should be placed in ~/Lingoport_Data/L10nStreamlining/<group>/config 
#                                  or ~/Lingoport_Data/L10nStreamlining/<group>/projects/<project>/config
#
# Run the following command to get the token:
# java -jar lingoport-xtm-cli.jar --get-token -s <server> -c <client> -u <userId> -p <password> 
#
# Run the following command to get the customerId:
# java -jar lingoport-xtm-cli.jar --get-customer-id -s <server> -t <token> -cn <customerName>
#
# Run the following command to get the templateId (if using a template):
# java -jar lingoport-xtm-cli.jar --get-template-id -s <server> -t <token> -ci <customerid> -tn <templatename>
#
# Run the following command to get the workflowId (if using a workflow id):
# java -jar lingoport-xtm-cli.jar --get-workflow-id -s <server> -t <token> -wn <workflowname>
#
# Required to configure either a workflow name, workflow id, or template id
#

# the following are required
xtm.api.hostURL=https://wstest2.xtm-intl.com
xtm.api.token=
xtm.api.id.customer=
xtm.api.source.locale=en_US

# one of the following must be configured
xtm.api.name.workflow=
xtm.api.id.workflow=
xtm.api.id.template=

# configure proper URL for your company
xtm.api.callbackURL=http://jenkins.company.com/jenkins/buildByToken/buildWithParameters/build?job=XTMCallback&token=<the_token_configured_in_XTMCallback>

#
# You can test your callback configuration using curl on the command line (note the escaped & before token):
#     curl http://jenkins.company.com/jenkins/buildByToken/buildWithParameters/build?job=XTMCallback\&token=<the_token_configured_in_XTMCallback>
# A successful curl command simply returns.
# An unsuccessful curl command will display an error.
#

XTM Locale Mapping

Configure config_xtm_locale_mapping.properties (which can be specified at the group or project config level).
This file maps locales from LRM to XTM. For example, LRM supports the language only locale fr, which must be mapped to fr_FR for XTM.

#
#Locale mapping language only locales - Locales should be in the java format (_)
# This is the default mapping. For your community, you'll need to edit this file
# and place it either at the group level or the project level.
#
aa=aa_DJ
ab=ab_GE
af=af_ZA
ak=ak_GH
am=am_ET
...

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";