Hello everyone,
In this blog I'll share with you a helpful strategy I came up with along my Fiori development jouney - reutilizing standard i18n texts.
Introduction
Over the course of a Fiori app development, I was bored of writing some of the most commonly-used labels in the i18n files (like Dialog labels - e.g. "Close", "Confirm"), over and over, app after app.
I thought to myself "How can I overcome this?".
Then I decided to experiment to include an i18n file from the UI5 libraries in the app manifest and try it out.
Guess what - it worked
😊
How-to
Basically, all you need to is the following:
- In the app manifest (manifest.json), manually configure a new i18n model (similar to the default ones), mapped to the URL of a i18n file from some UI5 library:
"models": {
"i18n": {
(...)
},
"": {
(...)
},
"i18n_sap_m": {
"type": "sap.ui.model.resource.ResourceModel",
"settings": {
"bundleUrl": "/resources/sap/m/messagebundle.properties"
}
}
},
- As a result, it will load the configured (standard) i18n file (allowing you to freely use its texts):
- Example of bundle URLs:
- Utilize the standard i18n model as you would use your default i18n model - for example:
Note: this does work in any type of UI5 development (UI5 freestyle app, SAP Fiori Elements app, SAP Fiori Launchpad plugin, etc).
Advantages
- Cleaner/Smaller custom i18n files
- Less translation effort (since you'll be reutilizing standard texts, all their translations will be also reutilized with no effort)
Disadvantages
None
😊
Conclusion
To sum up, by referencing SAP i18n resource bundles, we end up reutilizing existing i18n texts in the UI5 framework, reducing and leading to cleaner Fiori solutions.
Any questions/comments/suggestions?
Feel free to leave them down below.
For more UI5-related resources, feel free to:
- Follow the UI5 topic >
https://community.sap.com/topics/ui5
- Post/answer UI5-related questions >
https://answers.sap.com/tags/500983881501772639608291559920477
- Read other UI5-related posts >
https://blogs.sap.com/tags/500983881501772639608291559920477
Best regards,
Joaquim Perez