When you are developing SAP Fiori apps whose user interface needs to be translated into other languages, you can generally only start translation once development is complete. Especially when you are developing SAP add-ons that are sold to companies running SAP, translation can delay the release of the next version of your add-on, and can even cost you sales. With i18n Translation Manager for SAP Fiori, you can now develop and translate in parallel.
Note: This blog post deals specifically with SAP Fiori apps being developed by SAP partners selling SAP add-ons. You can find a blog post with an example of an end-customer scenario on ludecke.net, the website of our SAP development and consultancy partner.
Translation and Time to Market
Here’s the problem. With Fiori apps, your developers store the user interface texts in i18n.properties files. And if some of these apps need to be available in more than one language, your language services provider will want to access those files too. But the texts in these files are constantly being changed by developers, up and until the app is released to be published on the SAP App Center, and to be sold to SAP customers. That means that the translators can only start working on the files after development is complete, and that means that you have to hold the release of your apps for a few days (or weeks), until translation is done, before you can package and ship your SAP add-on. With i18n Translation Manager, it is now possible to reduce the time to market by getting the translation done while development is still ongoing.
With i18n Translation Manager for SAP Fiori, translation can start while development is still ongoing.
Things Were Simpler with ABAP
Many, if not most SAP partners making add-ons that come with Fiori apps develop a significant portion of their product in ABAP, on on-premise SAP systems (SAP ERP or one of the SAP S/4 HANA variants that support traditional ABAP development). And in many ways, it’s a lot simpler to build a translation workflow for this part of your app. If you have translated ABAP-based add-ons before, you know that it is quite possible to start translation while your developers are still making changes to the add-on, in fact, for most SAP partners, this is the preferred way to approach translation. This is possible because the user interface texts for SAP backend objects such as data elements, text elements, messages or tables can be accessed and changed by translators without affecting development at all. Translators may have to deal with texts sometimes changing mid-project, but developers never notice what the translators are doing, unless they happen to log on in the target language.
It’s a New World with SAP Fiori
But Fiori apps are different. There is no way for translators to change the target-language i18n.properties files without interfering with what developers are doing. In fact, the way most SAP partners selling add-ons translate the user interface texts of their Fiori apps into, say, from English into French, is to finish development first, and then copy out the texts of the i18n.properties files to e-mail them to their preferred languages services provider. And while the files are in translation, you cannot really change any texts without losing data.
The reason is, if you change any French texts, they would be overwritten when you paste in the content of the files that the translation agency sends back. But you can change the English source texts, right? Well, you still shouldn’t. For any English user interface texts that you change while the files are being translated, the translation that you get back will now not match the English source texts. So you have introduced a translation mistake before the first user opens the app.
i18n Translation Manager checks out texts for translation, and checks them back in without overwritten changes made by developers in the meantime.
Translating Safely
i18n Translation Manager for SAP Fiori changes this dynamic completely. Instead of copying out the content of your i18n.properties files manually, they are automatically checked out into a snapshot created based on the BSP applications for the apps you need translated. Your translation provider can then translate your user interface texts without interfering with the development process. In fact, if your apps also have a “traditional” component that is written in ABAP on the SAP backend, or if you are displaying texts from data elements or message, for example, you can include these texts and hand them over to translation all at the same time.
i18n Translation Manager checks out texts for translation, and checks them back in without overwriting changes made by developers in the meantime.
Once translation is complete, i18n Translation Manager offers a way to put the target texts back where they belong, again without interfering with development. This so-called write-back functionality writes the translations back to your BSP applications (and update the corresponding Git repositories), but it does not simply overwrite the last version of the files. Instead, in our example, it will check for any English source texts that have been changed by developers in the meantime, and even for changed French texts. Then it generates a version of each i18n_fr.properties file that only contains the translations that are safe to write. That means that for any keys where source or target text have changed, the translation created by the translator will be skipped, and if an “old” target-language text is available (that was added by development), that is the text that will be included.
Development and Translation, Synchronized
This synchronization process that is performed during write-back gives you the piece of mind that translators can never accidentally overwrite any texts created by developers. It also means that you can start the translation process early in the development cycle, let’s say when 80 % of the user interface has been developed. This way, the majority of translations are available to you even before development is done, and any texts that development adds at the last minute can usually be translated and written back within 24 hours. All of this works without your development teams having to lift a finger – it can be done by whoever is in charge of translation in your in-house team, or by your language services provider. This means that for the first time, it is possible to run development and translation concurrently for SAP Fiori apps.