Add New Languages to Your Android Application
- An overview of how the generated app supports different languages
- How to sign up for the SAP Translation Hub
- How to use the SAP Translation Hub from within an Android Studio Project
- You completed Try Out SAP BTP SDK Wizard for Android.
The SAP Translation Hub is currently not available on SAP Cloud Foundry. So if you didn’t enable SAP Translation Hub service before, you can skip this tutorial.
- Step 1
The wizard generates an Android app that contains translated strings for multiple languages as shown below.
The language codes (ar, cs, da, de, en, es, etc.) can be looked up at Codes for the Representation of Names of Languages.
Strings used within the app are read from the appropriate version of the
strings.xmlfile contains strings that are provided at design time, such as the screen names from
metadata.xmlor the app name. Android Studio provides a Translations Editor that you can use to view the values across the localized strings files. Right-click on the
strings.xmlfile and choose Open Translations Editor.
Notice in the screenshot below that the resources that are from the
strings.xmlfile, such as Suppliers, are not translated. These will get translated in Step 3.
The following code in the
WelcomeActivityclass, in the
onCreatemethod, is an example of the code used to read from a strings file.JavaCopy
new LaunchScreenSettings.Builder() .setHeaderLineLabel(getString(R.string.welcome_screen_headline_label))
getStringmethod determines what the current local language is on the device or emulator and then reads from the matching strings file.
You can set the language on an Android device or emulator using Settings > System > Languages & input > Languages. A second language, such as French, can also be added.
Select the default language by long pressing on a language and dragging it to the top of the list.
When the app is restarted, it now shows strings in the preferred language if that language is supported by the app. If the language is not currently supported, the strings will be in English by default.
For additional information, see:
How many languages does the wizard generated app provide support for?
- Step 2
The SAP Translation Hub enables translation of resources to specified languages. SAP Translation Hub is currently not available on SAP Cloud Foundry. Since we cannot enable the SAP Translation Hub on Cloud Foundry yet, we cannot follow Step 3 to use the SAP Translation Hub wizard to generate new languages for the project.
- Step 3
If you have enabled SAP Translation Hub service and the service URL is still available, then you can follow the steps to complete this part.
Right-click on a file in the Project Explorer and choose Translate Resources with SAP Translation Hub.
Fill in the necessary information:
Account Name – (optional) To save your settings for reuse, provide a name for this profile and select the Save Account Information check box. This name is used to identify the profile in the Accounts List available from Accounts.
URL – The URL of the SAP Translation Hub service.
Username and Password – The credentials of your SAP BTP account.
Click Next and choose Create New SAP Translation Hub project.
Choose the Domain of the application, specify the Source Language as English, and select the target language to add (in this case, Catalan).
Select the source file to be used for the translation, either
Press Finish and wait for a few moments. The Event Log should print
Success: Project translated successfully.
There should now be two additional files,
In the emulator or device, set the preferred language to be Catalan, then run the app and notice that the app now displays Catalan strings.
Some of the strings in the app are part of the foundation or Fiori library and their strings are not easily accessible to be localized. A couple of examples are the basic authentication screen and the passcode screen.
For further information on this feature, see SAP Translation Hub.
Congratulations! You have learned how to use the SAP Translation Hub to quickly add translations to your application!