Skip to main content

TD Tool Kit - Importing new language in Multilingual Maximo environment

Greetings!

+IBM MAXIMO gives you ability to use multiple languages like Spanish , Portuguese, Chinese , Korean , French etc other than English , if your Maximo environment is global and have users across the globe.

Importing a new language in Maximo can be done by TD Tool kit. TD took kit stands for Translation Data Toolkit.  The Translation Data Toolkit is used to translate the Maximo database and handling Multi Language functionality.

The TDToolkit is located under the {Maximo_install}\tools\maximo directory. 



The process to import new language is a 3 step activity-




1. Take Maximo down by stopping application servers.
2. Export Labels in XLIFF file format
3. Translate the XLIFF file
4. Check for error and import translated XLIFF files.
5. Validate and start Maximo.

Export Labels in XLIFF file format - 
In Maximo directory , XLIFF files store all the translations for different tags related with a MBO or database table. In order to export existing labels and other artifacts , export of these tags are required. Following steps are required to export the XLIFF files-

1. Before export localizable flag for all MBOs need to be updated to 0.  Run following select query -

select 'Update maxattribute set localizable = 0 where (localizable = 1 and persistent = 1) and objectname = '||''''||objectname||''''||' and attributename = '||''''||attributename||''''||';' from maxattribute where persistent = 1 and (localizable = 1 and persistent = 1) and objectname not in ('ASSETATTRIBUTE','CLASSIFICATION','CLASSSTRUCTURE','COMMODITIES','LAYOUT','MAXAPPS','MAXATTRIBUTECFG','MAXATTRIBUTE','MAXDOMAIN','MAXINTOBJDETAIL','MAXLABELS','MAXMENU','MAXMESSAGES','MAXMODULES','MAXOBJECT','MAXOBJECTCFG','MAXSERVICE','NUMERICDOMAIN','PALETTEITEM','REPORT','REPORTLABEL','REPORTLOOKUP','RSCONFIG','SCCONFIG','SIGOPTION','SYNONYMDOMAIN');

select 'Update maxattributecfg set localizable = 0 where (localizable = 1 and persistent = 1) and objectname = '||''''||objectname||''''||' and attributename = '||''''||attributename||''''||';' from maxattribute where persistent = 1 and (localizable = 1 and persistent = 1) and objectname not in ('ASSETATTRIBUTE','CLASSIFICATION','CLASSSTRUCTURE','COMMODITIES','LAYOUT','MAXAPPS','MAXATTRIBUTECFG','MAXATTRIBUTE','MAXDOMAIN','MAXINTOBJDETAIL','MAXLABELS','MAXMENU','MAXMESSAGES','MAXMODULES','MAXOBJECT','MAXOBJECTCFG','MAXSERVICE','NUMERICDOMAIN','PALETTEITEM','REPORT','REPORTLABEL','REPORTLOOKUP','RSCONFIG','SCCONFIG','SIGOPTION','SYNONYMDOMAIN');

These queries will provide update statements as output. Take those update statements and execute. These update statement will update localizable flag in MAXATTRIBUTE and MAXATTRIBUTECFG table.

2. After executing these scripts , run following command via command prompt. Execution of this command will result all XLIFF files to be exported in given target directory. Go to {Maximo_install}\tools\maximo directory , as shown in figure above and execute the bat file.

TDToolkit.bat –export –DE"D:\Romanian\export" 

Once command execution is complete , you'll be able to see one folder created in D: drive of your machine which will have XLIFF files exported.  

3. Run following queries to find the update statement which need to be executed to revert the change on localizable flag in MAXATTRIBUTE and MAXATTIRBUTECFG table.

select 'Update maxattribute set localizable = 0 where (localizable = 1 and persistent = 1) and objectname = '||''''||objectname||''''||' and attributename = '||''''||attributename||''''||';' from maxattribute where persistent = 1 and (localizable = 1 and persistent = 1) and objectname not in ('ASSETATTRIBUTE','CLASSIFICATION','CLASSSTRUCTURE','COMMODITIES','LAYOUT','MAXAPPS','MAXATTRIBUTECFG','MAXATTRIBUTE','MAXDOMAIN','MAXINTOBJDETAIL','MAXLABELS','MAXMENU','MAXMESSAGES','MAXMODULES','MAXOBJECT','MAXOBJECTCFG','MAXSERVICE','NUMERICDOMAIN','PALETTEITEM','REPORT','REPORTLABEL','REPORTLOOKUP','RSCONFIG','SCCONFIG','SIGOPTION','SYNONYMDOMAIN');

select 'Update maxattributecfg set localizable = 0 where (localizable = 1 and persistent = 1) and objectname = '||''''||objectname||''''||' and attributename = '||''''||attributename||''''||';' from maxattribute where persistent = 1 and (localizable = 1 and persistent = 1) and objectname not in ('ASSETATTRIBUTE','CLASSIFICATION','CLASSSTRUCTURE','COMMODITIES','LAYOUT','MAXAPPS','MAXATTRIBUTECFG','MAXATTRIBUTE','MAXDOMAIN','MAXINTOBJDETAIL','MAXLABELS','MAXMENU','MAXMESSAGES','MAXMODULES','MAXOBJECT','MAXOBJECTCFG','MAXSERVICE','NUMERICDOMAIN','PALETTEITEM','REPORT','REPORTLABEL','REPORTLOOKUP','RSCONFIG','SCCONFIG','SIGOPTION','SYNONYMDOMAIN');

Translate XLIFF files-

Once export of XLIFF files are done , file need to be translated. Send out your XLIFF files for translation or use a tool suitable for XLIFF translation. 
In the exported XLIFF file as shown in screen shot below , target-language tag will be same as source-language tag , both are EN here as translation has been exported from n English.


 <target> tag need to be changed in other language with translation. This value in <target> tag will be imported in database and will be shown in Maximo.


Check translation and Import XLIFF files in Maximo-
Once translation is complete, translated XLIFF files need to be validated.Once the XLIFF files have been translated they need to be checked with the CHKPII tool before they can be imported. This is an internal tool that can be found with IBM.






Once the files pass the CHKPII tool, you are ready to import them.Put the translated files under {Maximo_install}\tools\maximo\{Lang_Code}\xliff.

Use the import command to import the XLIFF files into a Maximo database,

TDToolkit –import –tl[Lang_Code] –versionV7100-00

For example, to import a set of Romanian records,
TDToolkit –import –tlro –versionV7100-00

The Language code must match one of the language in Maximo, to list the available languages, run the following SQL Statement against your database,

select maxlangcode, languagename from language;

The tables and columns specified in the translated XLIFF file will update the database with the new translation. Columns related to an updated column will be updated as well to make sure the database keeps its integrity.The base language will be set to the Target language specified by the -tl flag, not the Target Language specified in the XLIFF file, this is done by design.

Once import is complete , start Maximo Server and you'll be able to see Maximo in new imported non-english language.

Comments

  1. Hello! For multilingual translation projects, I suggest trying https://poeditor.com/ a software localization tool created to improve the workflow. See if it helps!

    ReplyDelete
  2. Minimise the risk of lost tools with Visual Tool Control and tools laid out in two-coloured shadow foam. View our standard kits

    Tool Kits

    Facility Maintenance Kit

    Insulated Tools

    Aviation Kits

    ReplyDelete

Post a Comment

Popular posts from this blog

Maximo OSLC Integration with External System- Get data in JSON format

Greetings! If you have noticed recent version of Maximo, couple new application in Integration module has been added which are OSLC Resources and OSLC Provider.These modules gives us ability to integrate with external system in JSON. OSLC is an open community that creates specifications for the integration of products and/or tools.  IBM is a leading contributor to this community and many software products within the IBM Software Group are implementing OSLC in order to enable cross-product integrations. An OSLC integration requires 2 players-  1. OSLC Consumer application 2. OSLC Provider application.   An OSLC provider application makes containers of associated resources(data) available for integration through service providers. Consumer applications then use these service providers to query resources and to create, update, and delete resource data.  The consumer application sends a query to the service provider for resource data. The service provider provides a link

Power of Maximo Formulas - Build logic w/o Custom Java code or Automation Script

Greetings! Maximo 7.6 has lot of additional capabilities added in Tivoli Automation Engine as compared to older versions of Maximo which aim to allow users to make change in applications for small requirements without actually going to customization route. Automation scripts is one of such tool given for users and technical developers to change the behavior of Maximo in case where functionalities can't be changed only via use of configuration. If we have a requirement to populate some field on basis of other fields , we can easily do that with automation script but in order to do that you still need to have knowledge of Jython or Javascript to write the logic. Maximo formula is one the tool given by IBM which can be used for such business requirements and user can make changes to Maximo logic via configuration without getting into difficulties of coding. Formulas are available from Maximo version 7603. With release of Maximo version 7606, there has been addition of new capabil

Call publish channel w/o enabling Event Listener in Maximo

Greetings! Generally if we have to send data to external system via MIF, we create Publish Channel and enable Event Listener on publish channel. Once event listener is enabled, Maximo listens for event and send data to end point via publish channel for each Save of related MBO . But t here are many scenarios where we need to send data to external system using publish channel on specific event and not for every save. In order  to send to external system on specific event, for example - sent data to Ariba when PO status in Maximo is changed to APPR, we can use automation script or java code to call publish channel on the go. Below code can be used in automation script - server = MXServer.getMXServer() userInfo = mbo.getUserInfo() whereClause = <CONDITION> server.lookup("MIC").exportData("<Publish Channel Name>", "<External System Name>", whereClause, userInfo, 1000) Via Java class - MXServer server = MXServer.getMXServer();