How to translate forms into different languages

Normally when developing an application in a modern language or framework, you can use a translation library where all messages, labels and sentences can be referred to a code and where a table relates each code with the translated version. So providing the translation table to a translator, no matter if he or she is a programmer, can easily fulfill it and add a language to the app.

But ARS’ applications translations (localization as referred by BMC) is not as simple as looking at a table of sentences and translate them. Well, it wasn’t. But recently BMC has delivered a “Localization Toolkit”, that simplifies this work.


1. Step

You need to set AR server to be localized also go to AR System Administration: Console -> System -> General Server information. In the AR System Administration: Server Information also open tab Advanced and check Localize server true. Now is your server able to make translations.


AR System Administration: Server Information


AR System Administration: Console

After this you need to setup a local database (local means on your pc) also go to Window -> Preferences -> BMC Localization toolkit .

Remedy localization toolkit

Remedy Developer Preferences

You need to specify a Root folder, depends on you or leave a default path. Check “Use the AR System server as the localization database” and choose you AR Server, after that click on Set Up Database. This means that translations will be stored on ARS.

2. Step

Create a display1 form in BMC Remedy Developer studio with Default view. Add all fields that you need like a characters, buttons, panels, trims, dropdowns etc… In some cases I added few fields with values2 . Click on view and open Properties, set the Localize field True and do not set locale language. This means that this view is ready to translate . You need to add a character field called Locale (field ID 160) and make him hidden.


Test form

View properties

Properties of master/default view

Tip: All fields should have labels in English cause if remedy doesn’t found a translated view then the default will be used. And i think that En language is better than chinesse. 🙂

3. Step

Every time I mark all fields and and set them as Localize label: False after that you can choose fields which are needed to translate like char fields, dd, menus, texts, cells and mark them as True


Properties of field

4. Step

You can find translation definitions in sidebar (Best practice customization) in localization packages. Open AR System navigator and right click on Localization Package definitions -> New package definition to create new definition. In this definition choose Locales which are required. Do not choose language as locale which is already used on default view cause you don’t need one language twice. (English in our case) 🙂


Dialog to select locales

Tip: Locale de is default for Germany, but users from Austria are using de_AT dialect, also you are able to make different view for them. If you left make de than users with de_XX will be always redirected to de view. Its very easy to useful and clever.

5. Step

Choose independent forms – that means form which have to be translated. Forms can share translated phrases of fields each other. For example if you have buttons like a Save, you don’t have to translate them twice.

6. Step

Click ->Extract String to extracting all fields labels, active links with  text, alternate text, help text. This action takes some time you can watch a progress in Console window.

When this action ends you can export strings in different states as *.xliff file and use file editor, but for me is more friendly do the translation in developer studio. Now move to Details or Translation status, both links have same function. This tab shows current states of translations and you can choose what you want to do. Fields like a zTmp or panels can bet set as Do not translate. If I translate a phrase I will change the state to Reviewed.


Detail of Localizing package


Summary of translation statuses

Tip: Already translated phrases are shared between the forms. Also if you have already translated Yes as “Ja” (DE) in another form, then you don’t have to translate it again and you can find it in Reviewed (if you have reviewed it before). Finally you can build up a kind of  translation database. 🙂

7. Step

Back To Overview tab and click on Create/Replace View. You have to choose if you want to translate active links and stored data in form (messages and form data). This action can take some to create/update Views in mentioned languages. If any phrase is not translated then remedy will not change it and stays in default language.


Dialog to select localizing data

8. Step

Now you have form with multiple views in different languages and every view has own language and related language (except Main view). You should check width of labels and edit them if they are too long because this can cause problems to users. 🙂

Tip: BMC provides a video help, but it doesn’t contains all information.

1– if you create a regular you are able to translate stored data.
2– Remedy is able to translate values in messages of values in dropdown boxes.