Can I set different Language per app User

I have some App Users that would function better if the app was in their own language is it possible to set user setting. Or can someone point me towards the information so I can learn it.

Solved Solved
0 25 662
2 ACCEPTED SOLUTIONS

To make Enum values translatable, create a worksheet (or whatever) called (e.g.) enum values that defines the known Enum values and their translations:

Steve_3-1725637135388.png

Add the worksheet as a table. Read-only means Enum values and their translations need be managed in the sheet directly rather than in the app. You really don't want to risk users of the app messing with your Enum values and translations.

Steve_2-1725637093572.png

Setup the columns of the table. Setting their type to LongText allows for the possibility of multi-line translations even if most or even all are just a single line. Add a virtual column named (e.g.) label to receive the translation for the current user and make this column the row's label.

Steve_4-1725637263557.png

Use the label column's App formula to compute the translation for the current app user. This example expression uses USERLOCALE() to identify the current user's language preference, but you could just as easily use USERSETTINGS() or some other means. You might also prefer to use a different default result than [enum] if the user's preferred language isn't supported.

Steve_5-1725637320719.png

Setup an Enum-type column to use these translatable values. Set the allowable values to key column values in the enum values table. Set the Base type to Ref. Set Referenced table name to the enum values table.

Steve_6-1725638249762.png

View solution in original post

I found a way to make it work

I created a table for each Language that has columns

Row Number

Expense Type German

Expense German

Then I added these columns for Enum in table expenses

Then made a show if usersettings(Language)= “German”

View solution in original post

25 REPLIES 25

Feature: Changing the language in your app (locali... - Google Cloud Community

Language Translate - Google Cloud Community

Sample App - User Form with Multilingual Questions... - Google Cloud Community

Here are some tips in the community that can get you started. Please search by keyword "language" in tips and tricks section and in "Q&A" section. You will get many posts discussing multi language app requirement.

 

 

Thank you

I don’t think USERLOCAL() will work alone as I will have to either make copies of the app and Localize each one in a different language EX: Spanish, Slovak , French, German

So I will probable have to make an option in the app user table to allow the user to set their preferred language.

That will be the path I will have to learn

I made a table “Translations and I am adding the languages that I need on it and built a reference in the user settings.

This is working great so far Ill update this thread with more information after testing. 

I made a column visible in User Settings for Language In the main app that I want to make multi lingual. When I made a column labeled [Language] in user settings and made it to show. It isn’t showing up in the Menu Navigation Views.

1. Am I missing something

The test app I made to test this it showed up it showed up in the menu views after I added it to USER Settings and made it to show ok 

 you for the Information

I had to make two show for it to show up

In the app I have 2 types of enum lists ( None are where the user can change the list)

1. Enum List Is on the column type for equipment type “Tractor” “Trailer”

2. Enum List pulls a valid statement from a column for expenses category and sub category in a different table.

Question: could someone be able to give me an example as to how to write the expressions to pull the enum list from the Table holding the lists in each language based on which language was chosen in [user settings]

I use this expression to pull the chosen language fro each column without an enum list

lookup(usersettings(Language),Translations, Language, EMAIL)

To make Enum values translatable, create a worksheet (or whatever) called (e.g.) enum values that defines the known Enum values and their translations:

Steve_3-1725637135388.png

Add the worksheet as a table. Read-only means Enum values and their translations need be managed in the sheet directly rather than in the app. You really don't want to risk users of the app messing with your Enum values and translations.

Steve_2-1725637093572.png

Setup the columns of the table. Setting their type to LongText allows for the possibility of multi-line translations even if most or even all are just a single line. Add a virtual column named (e.g.) label to receive the translation for the current user and make this column the row's label.

Steve_4-1725637263557.png

Use the label column's App formula to compute the translation for the current app user. This example expression uses USERLOCALE() to identify the current user's language preference, but you could just as easily use USERSETTINGS() or some other means. You might also prefer to use a different default result than [enum] if the user's preferred language isn't supported.

Steve_5-1725637320719.png

Setup an Enum-type column to use these translatable values. Set the allowable values to key column values in the enum values table. Set the Base type to Ref. Set Referenced table name to the enum values table.

Steve_6-1725638249762.png

Ran into a little problem that when I changed the Language to Espanyol es

The ENUM list isn’t pulling the language from the ENUM List

This is the ENUM list that is referanced  in the  Table app user  [USERROLE]This is the ENUM list that is referanced in the Table app user [USERROLE]With the Language changed to Espanyol the USERROLE stays in default languageWith the Language changed to Espanyol the USERROLE stays in default languageVirtual column [Label]Virtual column [Label]

For the ENUM table, the ENUM column should be of type Text, not LongText, and should be the table's key column. The Label column should be of type LongText. not Text, and should be the table's label column.

I'm not sure what the "USERROLE" screenshot is showing me. The yellow triangles indicate the values displayed as options are of type Ref but do not match a key column value in the table referenced. Your Ref is misconfigured.

The expression shown uses Index(Split(...),1), which is correct when using USERLOCALE() as I suggested, but may not be for your use of usersettings(Language). Please post a screenshot of the Language column configuration in user settings.

I changed the usersettings(Language) to userlocale() and that removed the Triangles. and 

Changed the [ENUM] to key and text

 

IMG_0480.pngIMG_0482.png

 

 usersettings(Language)IMG_0478.jpeg

Please post a screenshot of the columns of the Translations table.

Translation Table for multi language

Virtual Columns of Translation tableVirtual Columns of Translation tableKey column and Label ColumnKey column and Label ColumnVirtual column for Native ListVirtual column for Native ListVirtual column for Language ListVirtual column for Language ListVirtual column for Languages availableVirtual column for Languages availableReferance column from usersettingsReferance column from usersettings

I can't make sense of this. 🙁

Me neither 

I’m trying some different methods a using a Show If to show different enum lists that use a valid if expression for each language based on the usersettings(Language) chosen by user

I’m having trouble making it show the foreign languages 

I made multiple enum list for “expensesType”and “Expenses In multiple languages 

I then made a Valid if expression to test it with just two different lists.

It works but I need to write a valid If expression that will make valid the list that corisponds to the Language chosen in usersettings(Language)IMG_0491.pngIMG_0492.pngIMG_0493.pngIMG_0494.png

I found a way to make it work

I created a table for each Language that has columns

Row Number

Expense Type German

Expense German

Then I added these columns for Enum in table expenses

Then made a show if usersettings(Language)= “German”

I made it work this way that you suggested

User roleUser roleENUM TableENUM TableLabel FormuleLabel FormuleResult in spanishResult in spanish

I made it work this way too that you suggested

IMG_0498.pngIMG_0497.pngIMG_0496.pngIMG_0495.png

I would like to use the enum list for expenses this same way its much cleaner

Only its a different type of list as uses  a category and sub category on the table Month Enum

Can this be changed to one enum for expense Type and Expense so it only shows the expenses for the expense type chosen?IMG_0502.pngIMG_0501.pngIMG_0499.pngIMG_0500.png

Thank you Steve I will work on that this weekend and will post the result or more question here

Steve
Platinum 5
Platinum 5

@Jack_Bates wrote:

I need to write the expression so it will be an IF statement in Display Name that will show if the usersettings(Language) ISBLANK() Show “Load Revenue” if not blank show the expression to pull from Translations table


Sounds pretty straight-forward to me. What are you having trouble with?

You will laugh if I told you. Brain F>>>>

First expression kept showing the virtual column name “Loaded Miles_s” worked four hours trying to get it right

IMG_0468.jpegIMG_0469.jpegIMG_0470.jpeg

So I drove a 1000 miles unloaded fixed supper. Then sat down and 5 minutes later it worked.

The officeThe office

IF(ISNOTBLANK(usersettings(Language)),lookup(usersettings(Language),Translations, Language,"LOADED MILES"),"LOADED MILES") 

It worked

SupperSupper