Translating the text that end users will see for custom applications is a manual chore. The authors recently went through the process at their company, and this article presents best practices and tips that they learned.
In today’s global marketplace, the ability to present your BW 3.x Web application in your target audience’s native language is invaluable. SAP has done the translation for you if you can use the Web templates included in the standard Business Content. If you need to translate a custom BW application, however, then you must do most of the work yourself. We recently went through this translation process for a custom BW application at our company. We will share what we learned, guiding you through the main steps and providing tips that will help you to successfully deploy your BW Web templates.
Translating your BW Web application requires setting up the system and translating the application components that affect the user interface. You need to work closely with your Basis team to install and enable languages of your interest. The Translation function area in Administrator Workbench is the primary tool that you use to translate most of the application components. We will show you how to effectively use the Translation function and handle objects that can not be translated with this tool. You need to collaborate with your user community to develop accurate translations.
System Setup
Before you begin translating your objects, have your Basis team install the languages you wish to use. After completing the installation, use transaction code RZ10 (Edit Profiles) to update your BW instance’s profile to reflect the new languages. In the Edit Profiles window, select the Basic Maintenance button and then click on the Change button. In the Display Work Process and Buffer Values window, click on the Languages button to select the languages of your choice.
The default installation of the Internet Transaction Server (ITS) or Web Application Server (WAS) does not display the language field drop-down menu when the users log into the BW Web application. To turn on the language field for Web login, point the redirect URL to login.htm and enable the bsplanguagevisible parameter. For example:
/sap/public/bsp/sap/system/login.htm?sap-url<%=PATHTRANS%>&bspchangepasswordvisible=X&bsp client=308&bsplanguagevisible=X&bsplanguage=edsi
Use transaction code SICF and read the details in SAP note 498936 to set up the parameters for the redirect URL.
Translate the Application
After you have completed the system setup, you are ready to translate your application. Most of your application translation is done using the Translation function within the Administrator Workbench. This is the tool used to translate the short, medium, and long text descriptions for your BW objects. Other application translations are done outside of the Translation function: Role menu items are translated using transaction code PFCG, report headers are translated via transaction code SE38, and master data translation is turned on in the Modeling function of the Administrator Workbench.
Tip!
You do not need to translate all text, only the text that will appear to your end-users. We recommend running your reports in your source language first, then make a list of the text that appears on your reports that need to be translated. This way, you have the translations on hand before you begin entering them in BW.
Translating Objects
You translate the descriptions (short, medium, and long) of your objects using the Administrator Workbench Translation function. From Administrator Workbench, click on the Translation button. This brings you to the Translation screen (Figure 1), which is similar to the Business Content screen.
Click on the Grouping button and select In Dataflow Before and Afterwards. This collects all objects that depend on your InfoCubes (queries, Web templates, and so on) as well as the objects your InfoCube depends on (InfoObjects, InfoSources, and so on). Click on the Collection Mode button and select Start Manual Collection.
Tip!
Start Manual Collection is the better option if you plan to select multiple objects. Otherwise you must wait for each object’s collection to complete before selecting another object.
For this example, you select an InfoCube by selecting InfoProviders by InfoAreas. Then locate your InfoArea in the adjacent panel and drill down to your InfoCubes. Drag your InfoCubes to the Collected objects panel (Figure 1).
Click on the translate icon to open the Settings window (Figure 2). Select the target and source languages on the Languages tab within the Settings window. Leave the default settings for the remainder of the tabs and click on the green check mark.
From the Worklist window, expand the Logical Objects folder. This opens the list of objects that are associated with your InfoCube. Adjacent to each object is a number in a colored square indicating the translation status.
• Red: number of text strings that have yet to be translated.
• Blue: number of text strings that have been translated and matches the proposal pool.
• Yellow: number of text strings that have been translated but do not match the proposal pool
Note
The proposal pool is a BW table that lists the available translation for the text of the selected object. You can either select one of the values stored in the proposal pool or create your own translation. You can save your translation as an alternative translation in the proposal pool by selecting Create Length Variant in the Translation Logical Objects screen (Figure 3).
Double-click on the first object. This opens the Logical Objects Translation screen (Figure 3).
At this point, enter the translation value for each description. Click on the save button to save your changes and store the translation into the proposal pool. If you open a different custom object that has the same short or long description as the one you just translated, you will see the proposal pool value populated. Repeat the translation for all your objects in the Worklist window.

Figure 1
Translate your objects in the Translation screen of Administrator Workbench

Figure 2
Select the target and source languages in the Settings window

Figure 3
Translation of object’s long and short descriptions
Translating Role Menus
You can translate all objects associated with a role menu using the Translation function within Administrator Workbench. However, translating the menu items within a role must be done using transaction code PFCG.
Execute PFCG and select the Menu tab. Select a menu item and click on the Translate Node button. Select the Target Language and enter the translated text. Repeat this for each menu item.
Translating Report Headers
Report headers in a Web application can be translated by using BW-specific tags. Use transaction code SE38 to create a program that stores these tags in an ABAP table. Execute SE38 and enter the program name—ZCUST_TEXTS in our example (Figure 4). Select Source Code. Click on the create button. This opens the ABAP: Program Attributes window. Enter the title of the program. In the Type field of the Attributes section, select Executable Program from the drop-down list, and save.
This brings up the ABAP Editor: Change Report screen. From the menu bar, select Goto>Text Elements>Text Symbols. This opens the Text Symbols tab page in the ABAP Text Elements window. Enter a numerical key value for your text element in the Sym column followed by the report header you wish to translate in the Text column. The dLen column will be populated with the length of your report header. Enter the maximum length in the mLen column (Figure 5). Repeat this for all the report headers you want to translate. When finished, click on the activate icon.
Once the table has been activated, select Goto>Translation from the menu bar. Enter the two-digit code for the Target Translation and click on the check mark. This opens the Translation ABAP Text Pool window. Translate the report headers and exit the screen.
When you create a Web page with the Web Application Designer, insert your tag as a caption for a Web Item. Use the format displayed in Figure 6.

Figure 4
Enter the name of the ABAP program that stores BW-specific tag values

Figure 5
Enter the maximum length of the report headers in the ABAP table used to translate report headers

Figure 6
Translation of report headers in Web Application Designer
Translating Master Data
Enable the Texts Language Dependent attribute of InfoObjects that have language-dependent master data. To do this, edit your InfoObject from the Administrator Workbench Modeling function, and in the Master Data/Texts tab click on the Texts Language Dependent check box. When you create an InfoPackage for a text master data load, make sure that you populate the language key (0LANGU) column with the one-character target language key. In Figure 7, the English language records are populated with E and the Spanish language records are populated with S.
Table 1 shows a partial list of language codes. Refer to SAP’s online help for the complete list:
https://help.sap.com/sapdocu/core/470/helpdata/EN/32/
1166f1f97811d1801d00c04fadbf76/frameset.htm
Tip!
We recommend numeric code values across your DataSources. Implementing this initiative early in the project allows you to focus on translating the text and other master data attributes. If numeric code values are not an option, develop reusable transfer routines that translate character keys to a common language or numeric value.

Figure 7
Language-dependent text master data
Two-
Character Language ID |
One-
Character Language ID |
Language |
Win32 Code Page |
SAP Code
Page |
ISO Character Set |
DE |
D |
German |
1252 |
1100 |
US ASCII |
EN |
E |
English |
1252 |
1100 |
US ASCII |
FR |
F |
French |
1252 |
1100 |
US ASCII |
ES |
S |
Spanish |
1252 |
1100 |
US ASCII |
Table 1 |
Partial list of language IDs |
Best Practices for the Actual Translations
The Internet offers a number of resources that automatically perform simple language translations. We used AltaVista’s Bablefish (https://babelfish.altavista.com/babelfish/tr) for part of our project. Keep in mind, however, that these tools are far from perfect. You need to have someone who speaks the target language verify the accuracy of the translations.
Many companies provide professional translation services, usually at a per-word rate. If you have a lot of custom text to translate (10,000 words or more), then you should consider hiring a pro. If the translation is done by someone at your company who happens to speak the target language, or by a native speaker in a remote office, then run that person’s work by others who know the language. Even a native speaker might have poor grammar or spelling skills in the target language. A good proofreading process will catch most errors.
A phrase in one language might translate to a much longer or shorter one in another language. This can cause problems with your template designs, and you will have to make the appropriate adjustments.
Finally, read the source language text prior to translation with an eye toward potential problems. For example, translators often have trouble with idiom—phrases that are peculiar to a specific language but might not have literal meaning in others. You want to change such text into something more obvious for translation. Also, look for words such as proper names that should not be translated, but might be, and spell out abbreviations prior to translation.
Adrian Gawdiak
Adrian Gawdiak is a manager for the Global Data Warehouse Bath and Kitchen team at American Standard Companies, Inc. Adrian has extensive experience in the development of manufacturing applications and database administration.
You may contact the author at gawdiaka@amstd.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.
Mukunda Krishnaswamy
Mukunda Krishnaswamy is the CTO and founder of MimosaSoft. He has extensive experience developing technology solutions to solve business process challenges. He is currently focused on helping companies increase sales, brand awareness, and supply chain efficiencies through automated syndication of product catalogs to multiple channels including social networks, comparison shopping networks, marketing data pools, and GDSN.
You may contact the author at mukunda.krishnaswamy@mimosasoft.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.