Bilingual Ideas

Hey community,

Is there any ideas and examples for bilingual apps or a showcase on this, because I succeeded in only adding the title of a certain button or a title of a field but the Tab, unfortunately, will have to create another total tab for the menu section because there is no ability to modify the name or look it up from the table

I have done this for one of my clientā€™s app. The idea is to create multiple rows in the same sheet, letā€™s say ā€œMenuā€ for languages you want to show.

For example I create rows for English and French, then fill the corresponding translations in multiple columns.

In the user profiles sheet, I have a ā€œPreferred Languageā€ column that they can change anytime, and in this case it would contain choice values English and French.

In the Menu tab, in the tab level filter, I filter Language is Signed-in userā€™s Preferred Language, so the right row would be shown to them.

1 Like

I still canā€™t get it becauwe If I created relation relation should be multi rule which will end by selecting only the results that has one row

We donā€™t have to use relations here. Only need a user profiles setup and a tab that stores the bilingual content.

If you want to do it the proper way @Yasin_Hassanien pls contact @Mark and say you want to add your language to Glide languages. I just finished adding a language. Iā€™ll announce it when shipped. Glide would gladly add the language for you. Itā€™s not really hard. No more than 200 hundred phrases to translate, and because Itā€™s permanent, you can use your language as the default language of your app.

You can always then translate any new sentences you may want to add under a particular section using whatever your translation source.

1 Like

Thanks @ThinhDinh , I used your method and made an example that I think extends upon it for the way that I build my apps. Iā€™d love to get some feedback!

Edit 1: I just realized my lookup columns wonā€™t be user-specific, so there will be some issues!

Multi-language trial

Sorry for the slow performance, background construction noise, and that Iā€™m looking at a different screen haha.

Yes, I believe the method will work well for your case. In my case, the app was just one tab so I can let the user write to a user-specific column on the same sheet without any lookups.

2 Likes

I create a condition column based in the language the user chose and having same sentence in different languages and then I connect this column to a button or anything else and each user see the sentence in his chosen language.
You can this in my app here

2 Likes

It works nice, thanks! However, I think that on a much larger app this would get very unmanageable. I have another idea Iā€™m working on now and will make another video if it works out.

I have about 200 columns like this in the app and it works ok but any good idea is always welcome

2 Likes

I built a concept app for doing multiple languages a while back, youā€™ll find a link to it on my profile page. Iā€™ve since used it in one app Iā€™m working on now, and @Mark_Turrell is using the same framework in his COVID testing app. If youā€™d like to take a look under the hood, I can make a copy available.

3 Likes

This is the sample of 4 languages appā€¦

32 thousands rows!

1 Like

Another advantage to this method is that you can easily add more languages to the conditioned columns without needing to add more column as it just another condition on the already existing columns

1 Like

I noticed that the language doesnā€™t change on the buttons, and also your About page.

The entire text of the Bible gets downloaded to the phone? Do you know how much data this consumes? Does it adversely affect your users who are downloading via their data plan? Iā€™m curious, not criticizing.

I saw what @Mark_Turrell is doing and Iā€™m not sold on the idea of writing all the text within the app to each user row, it really seems redundant. (No offense intended, maybe there are reasons for it that I just donā€™t see yet. But in an ideal world I donā€™t think you would do this.)

This translation issue is really challenging my understanding of the Glide concepts related to writing of data on the userā€™s device versus the app backend.

Looking at your app made me rethink my understanding of how the apps work with multiple users. When I first started with Glide I had a lot of problems trying to make them public, but with the user being able to take more actions than just viewing things.

Seeing your app being able to change language, without the user being signed in, confused me. I thought that this would be changing it for all users and they would be stumbling over each other. I revisited the method that I showed in the video and tested it with multiple users, signed-in or not signed-in, and the language wasnā€™t over-writing the other users. So Iā€™m happy, but a little confused and need to do more testing.

2 Likes

Feel free to ping me if you have any questions on this is done.

1 Like

Finishing my thought here - the behaviour that I didnā€™t expect was that ITE and Lookup columns that draw from a USC + Rel behave as though theyā€™re USC. This allows me to keep the multi-lingual app content separate from the user info. I can use USC on the individual tabs and then write back to the user table, as necessary. (The UI examples shown arenā€™t all perfect.) Further testing continuesā€¦

First 1000 Ā· Glide - Google Chrome 2021-06-28 at 2.34.49 PM

First 1000 Ā· Glide - Google Chrome 2021-06-28 at 2.34.01 PM

First 1000 Ā· Glide - Google Chrome 2021-06-28 at 2.35.30 PM

First 1000 Ā· Glide - Google Chrome 2021-06-28 at 2.36.29 PM

First 1000 Ā· Glide - Google Chrome 2021-06-28 at 2.42.25 PM

First 1000 Ā· Glide - Google Chrome 2021-06-28 at 2.24.07 PM

First 1000 Ā· Glide - Google Chrome 2021-06-28 at 2.32.16 PM

To be clear, any computed columns that sources from user-specific columns will also be user-specific.

1 Like

To also add, computed columns are computed on the userā€™s device, so whatever data they are seeing or working with, whether itā€™s user specific or not, is what will be used for those computed columns. None of those computations happen on glide servers.

2 Likes