SAP Fiori applications are designed with the global enterprise in mind, where users across different countries require access to the same application in their native language. SAP Fiori Elements, which streamlines app development using metadata-driven templates, fully supports multi-language capabilities out of the box. However, ensuring your Fiori Elements app delivers a consistent and localized user experience requires careful configuration and implementation of internationalization (i18n) practices.
This article guides you through the process of enabling and configuring multi-language support in SAP Fiori Elements applications—from annotations to translation tools—so your app is ready for a global audience.
SAP environments often span multiple countries and languages. Providing an application in users' preferred languages enhances:
SAP Fiori Elements, when configured correctly, automatically adapts text elements such as labels, messages, and headers based on the user’s language preference in their SAP profile.
Annotations define labels, titles, tooltips, and messages in Fiori Elements apps. These texts can be:
These are standard .properties files used to store translatable texts in SAPUI5 apps:
i18n.properties (default - English or source language)i18n_de.properties (German)i18n_fr.properties (French)They are located in the webapp/i18n folder and automatically loaded based on the user’s language settings.
Instead of hardcoding text in CDS annotations, use @EndUserText.label, @UI.headerInfo.title, and similar annotations with references to text elements.
Example (ABAP CDS):
@EndUserText.label: 'Sales Order'
define view ZSalesOrder as select from ...
This can be externalized to translation tools later.
In your Fiori Elements app, ensure all custom labels, messages, and control texts in XML or JavaScript refer to i18n keys.
Example (XML fragment):
<Label text="{i18n>customerName}" />
In i18n.properties:
customerName=Customer Name
In i18n_de.properties:
customerName=Kundenname
Ensure the manifest.json file points to the correct i18n bundle:
"i18n": {
"bundleUrl": "i18n/i18n.properties"
}
Fiori Elements will then use the correct language bundle based on the user’s session language.
If you use local annotation files (annotation.xml), include translatable texts with i18n keys:
<Annotation Term="UI.HeaderInfo">
<Record>
<PropertyValue Property="Title" String="{@i18n>salesOrderTitle}" />
</Record>
</Annotation>
This approach centralizes all translations in the i18n files and keeps annotations language-agnostic.
SAP provides tools to help manage and maintain translations:
salesOrder.header.title) to simplify translation.key.customerName.{region}) can complicate translation.manifest.json with the i18n bundle path.Configuring SAP Fiori Elements for multi-language support is not only essential for global usability but also straightforward when following SAP’s best practices. By externalizing UI texts, leveraging i18n resource bundles, and using the right tools for translation, you ensure that your Fiori applications are accessible, scalable, and ready for international deployment.
Well-configured multilingual support promotes adoption across regions, aligns with SAP's international standards, and significantly improves the user experience.
Would you like an example project structure or i18n configuration file templates for a Fiori Elements app? Let me know, and I’ll generate them for you!
v