Feature: Changing the language in your app (localization)

Thanks very much for taking the time to respond. I looked in other apps of mine to see if I could find “Done” in English in non-AppSheet apps but came up empty-handed. Perhaps someone from AppSheet will be able to shed some light on this before too long. Thanks again! :slightly_smiling_face:
P.S. As you say, this looks like it’s part of the iOS virtual keyboard so you may indeed be right that AppSheet can’t control that.

@dbaum Your response prompted me to search for “iOS virtual keyboard done” which led me to an answer. In Safari, when the phone’s system is set to Japanese, the iOS virtual keyboard behaves as it does in AppSheet in that a “Done” button appears – but it’s labeled in Japanese, not English:

Now I think I understand the issue with “Done” in AppSheet: The AppSheet iPhone app ignores the language setting of the phone and always presents menus in English. For example, please look at the following:

This AppSheet interface is always in English regardless of the language to which iOS (or Android, etc.) is set to.

I’ve already ask why the editing interface is only in English. I guess this is the same sort of issue.

Consider testing also a non-Apple app, such as another web browser like Chrome or Firefox. Potentially, Safari is integrated with a device’s iOS settings in a way unavailable to non-Apple products.

1 Like

Hi @Kirk_Masden I see a number of responses below, including one from @Koichi_Tsuji that it may be an iOS issue rather than and AppSheet issue. Have you been able to get an answer to your question or do you need additional information?

1 Like

Test done. Chrome adjusts the “Done” spot to “完了” (appropriate Japanese term) so, technically, it should be possible for AppSheet to do the same.

1 Like

Thanks for your response. Primarily with the help of @dbaum , it has become clear to me that the AppSheet app does not respond to the language chosen by the user as the device’s interface. This is true of iOS, Android, and web browsers. We, as creators, have significant potential to localize our apps but the AppSheet platform itself doesn’t localize – it’s always in English regardless of who uses it. That’s why “Done” comes up on iOS, even when the app is in Japanese (“Done” is part of iOS that is not localized by the AppSheet app) . So, in this sense, AppSheet is different from other Google apps, such as Chrome, etc. which do change the language of menus and messages in accord with the OS language selected by the user. See the following for post for a more detailed explanation:
https://www.googlecloudcommunity.com/gc/Tips-Tricks/Feature-Changing-the-language-in-your-app-localization/m-p/600046/highlight/true#M8458

Does AppSheet have any plans to add such localization to the basic AppSheet interface (not just what we build inside it)? Isn’t it a bit ironic that AppSheet would see the value in allowing us to localize without localizing the basic platform (that is, the AppSheet app and/or the editing interface)?

1 Like

I made an app with a formula for the display field: LOOKUP(“Yes”, “Translation”, “TranslationID”, “CurrentLanguageLAbel”). This example it is for the Yes button. It could be every field. This works. But the user has to choose a his language in the usersettings. This formula gives the language that is set in the employee table. Dutch (NL) or German (DE). IF(
ISBLANK(LOOKUP(USEREMAIL(), “Employee”, “Email”, “Language”)),
“NL”,
LOOKUP(USEREMAIL(), “Employee”, “Email”, “Language”)
)
The problem is that when a user changes the language in settings it is not seen in the formula. It gives an empty field in the Language so it gives back the default, dutch in this case. Is there a fix?

2 Likes

Hi @Peter_Bernsen

You must make sure there is only one way to select language, it could be either through User Settings, or in a reference table for employees as you did.

I would recommend using User Settings though.

Try this:

SWITCH([_THISUSER].[Language Option],
“French”, “Oui”,
“English”, “Yes”,
“German”, “Ja”,
“Ja”
)

For reference:

Note that these expressions are equivalent:

USERSETTINGS("Language Option")

and

[_THISUSER].[Language Option]

If you wish to keep on using the Employee table, you can try:

SWITCH(LOOKUP(USEREMAIL(), “Employee”, “Email”, “Language”),
“French”, “Oui”,
“English”, “Yes”,
“German”, “Ja”,
“Ja”
)
2 Likes