Hi Everyone! We are releasing a multilingual starter app to help you get started when creating an app that supports multiple languages. This app carries over the translation efforts from the multilingual support that was added to the Community support app (Demo Available) earlier this year.
106 languages are supported by this app! 8 languages have been verified by individuals in the community (Spanish, French, Japanese, Portuguese, Danish, Dutch, Finnish). Google Translate was used to translate the remaining 98 languages. If you would like to help verify these remaining languages please DM me or reply to this thread.
How it works
A single table called โTranslationsโ is used where each translatable entity is setup as a column in the spreadsheet. For example, to translate โSyncโ or โSaveโ, each of these terms have their own column in the translation table. Each language is a single record in this table. To remove a language from your app, simply delete the record that corresponds to that language.
The app is setup to use a single โusersettingsโ column called โlanguageโ that references the Translate table and gives the ability for users to select their language when the app starts.
A lookup formula is used to change the text of any fields after the user selects a language; this formula can be placed in any โdisplay nameโ property of views, columns, actions, etc. Simply change the TARGET in the lookup formula below to retrieve a different field.
lookup(usersettings(Language),Translations, Language, TARGET )
Example: Creating a new action called "Mark Complete"
Adding additional translatable views, columns and actions to your app is simple exercise. Following these steps to add a new translatable entity.
Thatโs all there is to it! Please let me know if you have any questions or suggestions. This app is intended to be an empty app to help the community get started when building an app that supports multiple languages. If you want to see a demo of an app that uses this idea extensively, take a look at the Community Support app.
A special thanks goes out to the following individuals for helping translate:
Spanish/Espaรฑol: @Gaston_Barcia
French/franรงais: @Romain
Japanese/ๆฅๆฌ่ช: @tsuji_koichi
Portuguese/Portuguรชs: @Leonardo_Foletto
Danish/dansk: @Bjarne_Allerup
Dutch/Nederlands, Vlaams: @Ewout_van_Zonneveld
Finnish/suomi, suomen kieli: @Aleksi @Tocionist
Turkish: @LeventK
Albanian: Fabian
German: Fabian
Tamil: Sid
Indonesian: Heru
Sundanese: Heru
Javanese: Heru
Russian: Vadim
Ukrainian: Vadim
Really cool; awesome to see the community work together in developing this.
Wow. That is fantastic. I hope to make use of this.
@Rich
Turkish translation has been completed. FYI.
@Rich
Albanian & German translation is done.
The following languages were added. Thanks to the following individuals for helping! We now have 15 fully verified translations!
Turkish: LeventK
Albanian: Fabian
German: Fabian
Tamil: Sid
Indonesian: Heru
Sundanese: Heru
Javanese: Heru
Hi Rick,
Really cool!
Just a questionโฆ
How we can manage the language of the โEnumโ fields?
They are all hardcoded.
Hi @Stephane_Ouellet. Are you talking about the Usersettings (Language) column?
The column pulls a list from the Translations table so you can either delete the languages that are not needed from the spreadsheet or change the โvalid ifโ attribute to something like this:
"list(โLanguage Aโ, โLanguage Bโ, โLanguage Cโ)
No, is in the data, for Enum field type.
As you can see, all fields definition is english except the buttons selection.
My first language is french as you see!
Thank you very much
Oh I see. In this example if enums show as Eenglish do you want the data to get stored as French? It gets a little complicated because you probably donโt want to mix languages in the same tableโฆ
Hi Rich,
Store in the language as shown in the Enum field. I use the Enum field only for simple lists (Yes, No, N/A).
My applications will be deployed in many countries in the world and I wish to have one application for all languages.
Actually I have to manage english, french, Spanish, Finland, German.
Each country has its own database.
Thanks for your help Rich
Sorry for the delay in getting back to you.
To do this I would create a new table โenumValuesโ for these enum values that has two columns.
Then instead of populating static enum values for the field, use a valid if formula
select(enumValues[Enum Value], [Language]=usersettings(Language))
This should then populate an enum list based on what the userโs language is.
Russian and Ukrainian have been verified! Thanks @Vadim!
Hi! Iโm late to this discussion but Iโm interested in Japanese so I took a look. Though Japanese is my second language, I know it well enough to be able to say that most of the translations look good. Some, however, need some fixing. Here are my suggestions. Perhaps @tsuji_koichi can confirm if my suggestions are appropriate:
Home
ๅฎถ --> ใใผใ
Are you sure?
ๅฎใใใงใใ๏ผ --> ใใใใใงใใ๏ผ
Are you sure you want to logout?
ใใชใใใญใฐใขใฆใใใฆใใใใใใงใใ๏ผโ> ใญใฐใขใฆใใใฆใใใใใใงใใ๏ผ-
Select photo source
ๅ็ใ้ธๆใฝใผใน --> ๅ็ใฎใฝใผในใ้ธๆ or perhaps just ๅ็ใ้ธๆ (Select photo)
I agree with your suggestion!
Hi @Rich! Just took a look at the revised version.
Since I am dealing with Japanese orthography, I should have been more explicit. The " --> " in each of the Japanese texts above was intended as an arrow. So, please replace what was before the arrow only with what came after the arrow. Thanks!
Hi again!
The semester has just ended in Japan and I now have a bit more time to work on my app.
Iโve been enjoying customizing my menus but have noticed a few minor issues with linguistic customization:
fixed
Thanks a lot!! Just so thereโs no mistake, the capitalization I was referring to is in the default AppSheet messaging. I think I neglected to make that clear. See following example:
Drives me nuts, too, @Kirk_Masden.
@Kirk_Masden @tsuji_koichi cool I updated those entries.
@Kirk_Masden @tsuji_koichi
็งใฏ่พปๆตฉไธใซๅผทใๅๆใใพใใ ใใชใใฎ็ฟป่จณใฏ้ๅธธใซ้ฉๅใงใ
Where can I translate N/Y no yes buttons?
Iโm afraid you cannot translate them
However, @Peter_Jambrik, I think you could use an enum column and then designate any letters you like (or are appropriate for your language) to mean N and Y. This might mean changing the column type, etc. in your form.
@Kirk_Masden @Peter_Jambrik. We are aware of these two requests and they will be addressed in an upcoming update.
In the Chart View column name appears to be English. And when you expand the chart title is also in English. If you reload web page then Column you have selected in Chart will change to selected language. Any solutions?