Maximo supports the following languages: English, French, Spanish, German, Italian, Japanese, Korean, Brazilian Portuguese, Chinese, Arabic, Croatian, Czech, Danish, Dutch, Finnish, Hebrew, Hungarian, Norwegian, Polish, Russian, Slovenian, Swedish and Turkish.

Additional languages can be supported through the translation tool kits.

Maximo has a wide range of products, industry solutions and add-ons. While base Maximo supports all of the languages mentioned there are some industry solutions or add-ons that may not have been translated yet. You can check by downloading the Maximo Configuration Matrix document which can be found at:

https://www-01.ibm.com/support/docview.wss?uid=swg27014419

If your base language is English (EN) then you need to install the other language packs. A user must change their user profile before they can see Maximo in that language.

Language handling in Maximo is more than just the application screens, messages, field help and reports. Fields that contain alphanumeric data can also be displayed in the language of the user. For example, if you had English, French and Spanish loaded to a Maximo database then it is possible for a user to search for an inventory item in their own language. The Item table and many others support a language table and fields can be language enabled.

Language Tables

The convention for language tables is to use the same name as the table it is supporting and use the prefix L_. The language table for ITEM is L_ITEM. The language table for COMPANIES is L_COMPANIES. This is sometimes shortened for long object names.

Language tables are available for the following administration-based objects in Maximo 7.6.1:

ALNDOMAIN, MAPTIPMENU, MAXAPPS, MAXATTRIBUTECFG, MAXATTRIBUTE, MAXDOMAIN, MAXLABELS, MAXMENU, MAXMESSAGES, MAXMODULES, MAXOBJECT, MAXOBJECTCFG, MAXSERVICE, NUMERICDOMAIN, SIGOPTION, SKDACTION, SKDDATAGROUP, SKDRESOURCEVIEW, SKDPROPERTY, SYNONYMDOMAIN

Language tables are available for the following non-administration-based objects in Maximo 7.6.1:

ASSETATTRIBUTE, COMMTEMPLATE, COMPANIES, CONDITION, COSTTYPE, CTRLCONDPROP, DMCOLLAPPTOOLBAR, ITEM, KPIMAIN, MAXINTOBJDETAIL, MAXINTOBJECT, MAXLOGMSGTOOLBAR, MAXMAILCFG, MAXMAILWF, MFMAILWFVALCFG, OSLCQUERY, PALETTEITEM, QUERY, REPORT, REPORTDESIGN, REPORTEMAILFILE, REPORTLABEL, REPORTLOOKUP, SOLUTION, WFAPPTOOLBAR

In simplified terms modules and applications, field and report labels, messages and field help, lookups (domains), attributes used in classifications, communication templates, companies, items, queries, reports and solutions all have language tables.

Database Configuration

Let’s take an example to show how language tables are used in Maximo. We’ll use the ITEM object.

You will need a language table. If you are adding one for a new object you will need to enter one and then perform a database configuration.

Then on the Attributes tab you need to say that you want the attribute to use multiple languages. You need to check Multilanguage in Use, but this is only possible if Multilanguage Supported is also checked. Notice that this is set to read-only, and so you may not be able to make an attribute language enabled. That makes sense for dates and attributes that store numeric data.

The item’s long description is also language enabled, similarly for companies. On a communication template the subject and message are marked as Multilanguage in Use.

Adding a language table to Job Plan and Job Task

In Maximo the JOBPLAN and JOBTASK are not language enabled, but you can add a language table to both L_JOBPLAN and L_JOBTASK respectively and then perform a database configuration.

Multilanguage is supported on the DESCRIPTION field in both tables, so you can mark those attributes as Multilanguage in Use and perform a second database configuration.

However, the DESCRIPTION_LONGDESCRIPTION attribute in both tables is not Multilanguage Supported and that attribute is set to be read-only. A SQL script is needed to change the attribute MLSUPPORTED to 1. I won’t tell you what this is because generally I do not advocate making this sort of change. It also requires adequate testing afterwards, bear in mind read-only fields are generally read-only for a reason.

Afterwards, you can then check the Multilanguage in Use attribute (MLINUSE) and perform another database configuration.

Testing a language enabled field

There just happens to be a job plan in the standard MAXDEMO database that has a task with both an English and Spanish translation, it is job plan 427 (Tractor Mowing) and task 30 which has an English long description of “Mowing Standards are outlined in the Integrated Vegetation Management Manual”. I started with this one.

In your Profile – Default Information change your Language, in this case to ES – Spanish.

Then log off Maximo and log back in.

The application is in Spanish and the long description says “Los estándares de segado se describen en el manual de gestión de la vegetación integrada”. A good sign.

To properly test I logged back in English created a new task 50 and added a description and long description, in English.

I then change my profile back to ES – Spanish and went to Job Plan 427 and task 50.

As my Maximo database has a base language of EN – English and there is no translation yet for the task I just entered, you will find that Maximo uses the base language descriptions rather than just showing blank – that makes sense, because I am just about to translate the text.

I changed the description and long description with the help of my favourite on-line translation tool.

Then I changed my profile to EN and tested that I saw both description and long description in English, then changed profile to ES and tested that this time it was in Spanish – great!

Applying the Job Plan to a Work Order

Then I thought, the Job Plan wouldn’t be much good unless I had a work order in the language I needed. Adding a language table to the WORKORDER table doesn’t make sense because the work order only needs to be in the language of the user deployed to implement it.

With my profile set to EN – English I created a new work order and selected Job Plan 427, I had to make the Job Plan active first. All the tasks and long descriptions were in English.

With my profile set to ES – Spanish I created a new work order and again selected Job Plan 427. All the tasks and long descriptions were in Spanish.

I then did a similar test manually generating a work order from a PM that used Job Plan 427 and this also worked-out as expected. The language that will be used is that of the logged-in user.

If you are using the Cron Task – PMWoGenCronTask, then you will need several Cron Task Instances, at least one per language. You will need to set the Run as User to an administrator that has their profile set to the language in which you want the work order generated, and you will need to use the parameters to select the PMs that should be generated in the same language. For many Maximo clients, that language may be linked to a Site, and there is a parameter on this Cron Task to select one or more sites.