Can we provide users ability to select a language in which the app should be displayed?

Currently, we have USERLOCALE() function where the language will by default be that of a user's device. Other than this, do we have any other option where users can manually select the preferred language every time the sign in to the app? (and it will display the whole app in the selected language)

Solved Solved
0 3 242
1 ACCEPTED SOLUTION

There isn't anything that will translate your app for you.  You would need to build this capability into the app yourself.  It will be tedious but yes...it can be done!!

Probably the easiest approach is to use USERSETTINGS() to provide the user a way to select what language the app displays in.  Then you would need to build into the app the ability to translate the Column names, messaging, etc - basically all displayed text - based on the chosen language in USERSETTINGS.  There are a few ways to do this.

It is worth noting that EACH table can specify the local used to read it.  See image below.  So you could have the same table replicated for each individual language, set the local for the table added into AppSheet and then use SWITCH statements on the USERSETTINGS() value to control which table is used to perform your expressions.

Within the app's UX section there is a Localize area where you can change the label for certain app buttons - again using the USERSETTINGS value to control which text is used.

Lastly, for other messaging in the app, you may need to use lookup tables to provide the correct test string for a message in a certain language.

View solution in original post

3 REPLIES 3

There isn't anything that will translate your app for you.  You would need to build this capability into the app yourself.  It will be tedious but yes...it can be done!!

Probably the easiest approach is to use USERSETTINGS() to provide the user a way to select what language the app displays in.  Then you would need to build into the app the ability to translate the Column names, messaging, etc - basically all displayed text - based on the chosen language in USERSETTINGS.  There are a few ways to do this.

It is worth noting that EACH table can specify the local used to read it.  See image below.  So you could have the same table replicated for each individual language, set the local for the table added into AppSheet and then use SWITCH statements on the USERSETTINGS() value to control which table is used to perform your expressions.

Within the app's UX section there is a Localize area where you can change the label for certain app buttons - again using the USERSETTINGS value to control which text is used.

Lastly, for other messaging in the app, you may need to use lookup tables to provide the correct test string for a message in a certain language.

I was looking for ways to do it without using a different table for translation. Thank you for confirming that it's not possible. This is very helpful. Thank you. @WillowMobileSys and @dbaum 

Top Labels in this Space