Since SAP introduced SAP Fiori a few years ago, it has become more widely adopted as companies move to SAP S/4HANA. And as more Fiori apps are being rolled out, there is more need to translate their user interface texts so the apps can be used in new locations around the world. Here’s a short guide on the options you have when translating your custom SAP Fiori apps.
The Do-It-Yourself Way
SAP Fiori apps are typically developed in a hybrid way, with an external IDE such as SAP WebIDE or Eclipse to develop the apps, and an SAP system for testing and delivery. Most of the Fiori apps use a large number of SAP backend objects, too, such as tables, data elements, or ABAP classes. This means that some texts visible to the end user in the app are texts from the app itself, and some are from the SAP backend.
One obvious way to get your SAP Fiori translated is to copy the content of your i18n_en.properties files to i18n_de.properties files, for example (if you are translating into German), and overwrite all English texts with German ones. You then manually find all your custom SAP backend objects whose texts are used on the user interface and enter German texts in the SAP backend system. That will do the job, but it’s a lot work. Plus, you need to at speak German well to produce a decent translation.
Outsourcing to a Language Services Provider
If you already have the i18n_en.properties file, you can also send it out to a translation company. If you use a language provider with an SAP background, you can get good results this way. This language services provider will almost certainly use an industry tool such as SDL Trados or Memsource that integrates a translation memory system, which will save costs but, more importantly, in the hands of a good translator, will ensure that your app is translated consistently.
You can also download the texts from any backend objects by collecting them in an object list and downloading them using transaction LXE_MASTER. Then you can send those to the language services provider, too. The ABAP part is actually more easily translated in SAP using transaction SE63, but that would leave you with two translation projects in two separate environments, which is less than ideal.
Sending everything in file form scales well on the translation side, since you can outsource translation of any number of apps this way and trust that they will be translated well. But you do have to do some technical work in the background, such as copying and pasting each i18n.properties file and exporting and importing files for ABAP texts. Unless you update your apps regularly, this is manageable, but it can cause a lot of overhead when you frequently test and release new versions of your apps.
Using the SAP Translation Hub App on SAP Cloud Platform
If you plan to do the translation yourself, a good option is the SAP Translation Hub App on SAP Cloud Platform. Using this app, you can create a translation project for each app you want to translate. This app will read the texts in the app’s i18n_en.properties files directly from its Git repository and propose translations from SAP Translation Hub, either from the Multilingual Text Repository (a repository storing almost all of SAP’s own translations) or from SAP Machine Translation. You can then edit the texts and push the translations back to Git.
For any ABAP-based texts, you can create an object list on the backend system, but instead of exporting, you can read it into an additional project that you create on SAP Translation Hub. Using the SAP Translation Hub works best if you only have a few apps and do not plan to outsource translation. This is because the translation editor that SAP Translation Hub provides is targeted at a simple usage scenario, especially for easy use cases and non-professional translators.
End-to-End Fiori Translation Using i18n Translation Manager
The final option we will discuss is to build a true end-to-end translation workflow using i18n Translation Manager for SAP Fiori from our partner LUDECKE. This tool reads texts from any number of i18n.properties in any number of apps into a snapshot and makes the texts available for translation in the SAP backend. Since that is where the other half of texts used in your apps are, it’s easy to translate the texts from i18n.properties together with any data elements, tables, or messages. All those texts are made available in a single worklist in transaction SE63.
The tool also reduces friction and overhead by taking all file handling, downloads, and uploads out of the equation and enabling you to easily update translations on a regular basis. It automatically updates your Git repositories for each of your apps, and it scales from translating a single app into one language to translating hundreds of apps into any of the languages supported by SAP. If you outsource translation and use i18n Translation Manager, translators can enter translations directly in your SAP backend system, and you can update the apps in the Fiori system and in Git and register the changes in transports with the press of a button. And you can still integrate SAP Translation Hub, too.