Pseudo Localization of SAP Applications
Pseudo Localization is a concept in software development which has become increasingly visible over the past years. Not so in SAP / ABAP development. Here the question of “Is my code properly internationalized remains unanswered until a pretty late state in the project. Sometimes, the question is not even asked at all.
SAP recently introduced a new “language”: 2Q
The Advantage of this language is that it enables you to check for truncations, hard-coded text, and to stern length restrictions. Things that make it hard or impossible to localize your own developments. As a result, the user experience of a foreign language user working with your System is impacted negatively.
To visualize the effect, here is a screen shot of a custom development in Pseudo Localization 2Q:
I think it is worth noting that, with some practicing the eye, you can rather easily read the actual text. But bear in mind that the Original Language of each object is pseudo translated. So if you create objects in languages other than English, you will see a pseudo translation of that language, i.e. German. This means that a developer/tester will not necessarily be able to understand the text.
There are minimum 4 things to talk about on this sample screen:
- There is one text (1) which has actually a length restriction which will make it easy for other longer languages to still fit into the text field when translating this string, which is nice. But you will notice that there is no closing (square) bracket “]”! This means that if the translated text was indeed longer, it might be truncated on the screen, because another UI element (the text field) overlaps the DTEL text with the label.
- Not only this string (2) but many others on this screen are not well suited for translation. Why is that? Because you can see that the closing bracket follows right after the last letter of the text, without any dots. This means the length restriction for this text was set to exactly the number of chars in the source (EN). This will not work for many other languages.
- There is a screen element (a button) where we only see “!!!”. This means that the specified max length for this text is set to be <4 which will not work at all in many languages.
- And last but not least, there is one string that does not have any square brackets and no extended characters. What does this mean? It means that this text is hard-coded and will not be caught during translation. You really want to fix this.
With this example, I hope you see some of the benefits of pseudo localization.
So how do you make this work in your SAP system?
Follow these steps:
- Start TA I18N and click on I18N System Configuration.
This takes you to RSCPINST where you can configure which Natural Languages are available in the system.
- Click Add to add another language to the list
- Enter 2Q in the field for a new entry.
- Activate the new language:
- The confirmation screen shows you the updated language list and the configuration string which you will need to add the Profile
- Start TA RZ10.
- Select the appropriate profile and add the string “DE닱” to the parameter zcsa/installed_languages.
- Now you need to restart the server for these setting to take effect.
- When the system is running again, start report RS_LXE_FILL_PSEUDO_LANG via SE38.
- You can specify the Object Types for which you want to generate Pseudo Translations and you can define which objects should NOT be touched in the Filters section. Or you specify a specific Object List, if you want to for instance only generate Pseudo Translations for certain packages.
- Since you will constantly generate new objects, it is advisable to schedule the job as a periodic job, e.g. weekly. This will ensure that pseudo translations are also generated for all new development objects.
- Depending on your hardware, scope of your system and the selected filters, this report might run a few hours, of in some cases a whole day.
- Now logon to the system with language 2Q:
- Ignore the warning – Pseudo Translation 2Q is not a complete language, you will only use it for I18N testing.
- Start a transaction, e.g. SE11
- This also works for Web Dynpro
2Q is available as of NW7.02 erst ab SP 14 !
If you find this useful, we are happy to help you with the implementation of a development strategy which encompasses translation and also Pseudo Translation.
Please contact us and / or leave your comments and questions below.