Skip to Content
Technical Articles
Author's profile photo Facundo Ferrer

ui5-translator CLI tool

Hi everyone!

I’ve always found it frustrating to have to maintain several i18n files by hand. Maybe when you need to support 2 languages is not a big deal. But when you have to support 4 or more, you can easily add the entry on the main i18n file but forget to update the said entry on the other i18n languages.

With this in mind I created a nodejs based CLI ui5-translator tool to ease the developer experience.

Just to give a demonstration of it’s features I created a test project. project2 using the basic Project Template on BAS.

To begin, run the installer on the root of the UI5 Application project.
The CLI tool will look for the i18n file on ./webapp/i18n/i18n.properties

npm install -g @facuferrer86/ui5-translator


The CLI tools expects a list of target languages.
Also the source i18n file should be English.

ui5-translator spanish,german,italian

Note: The CLI tool looks for translations on 3 sources:

  1. Previously created i18n files with already translated entries.
  2. SAP Translation HUB.
  3. Google Translator.

If it can’t find the prior it will look it on the following source.

All languages on iso639-2 are supported.

Please do share feedbacks or thoughts in a comment section and feel free to follow me for more content updates.

Also, do follow SAPUI5 environment Topic page (https://community.sap.com/topics/ui5)

If you are interested in building your own CLI tools on nodejs look at:

https://dev.to/rushankhan1/build-a-cli-with-node-js-4jbi

Assigned Tags

      9 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Yogesh Gupta
      Yogesh Gupta

      Hi Facundo,

      Thanks for publishing such informative blog.

      However when I'm trying to execute the mentioned commands I'm getting below error.

      bash: ui5-translator: command not found

      Any suggestions, how to overcome it?

      Author's profile photo Santiago González
      Santiago González

      Hi Yogesh,

      Try to install it with -g or else run it npx ui5-translator... 

      Hope it helps you

      Author's profile photo Yogesh Gupta
      Yogesh Gupta

      Thanks Santiago, it works now.

      Author's profile photo Facundo Ferrer
      Facundo Ferrer
      Blog Post Author

      Thanks Santiago for noticing! I just modified the post to reflect this

      npm install -g @facuferrer86/ui5-translator

       

      Author's profile photo Volker Buzek
      Volker Buzek

      excellent helper! maybe you could align the translation process with the similarly cut ui5 tooling task https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-task-i18ncheck - then we‘d have both a cli and a task working by the same principle!

      Author's profile photo Facundo Ferrer
      Facundo Ferrer
      Blog Post Author

      I like that idea very much. I'll look into it!

      Author's profile photo Wolfgang Röckelein
      Wolfgang Röckelein

      There is also already https://blogs.sap.com/2021/01/21/ui5-tooling-custom-task-using-sap-translation-hub-for-i18n-of-ui5-apps/ and https://github.com/DerGuteWolf/ui5-task-translationhub

      Author's profile photo Rewati Raman
      Rewati Raman

      Hi @Facundo Ferrer,

       

      I am getting below error while using this module.

       

      Best Regards,

      Rewati

      Author's profile photo Facundo Ferrer
      Facundo Ferrer
      Blog Post Author

      Hi Rewati,

      So the cli uses under the hood this library @vitalets/google-translate-api. It seems that the response format has changed, there is an open issue on the library about it.

      https://github.com/vitalets/google-translate-api/issues/117