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.
- First create a new column in the translation spreadsheet called Mark Complete
- Add the translations for each language record you would like to have in your app
- Regenerate the structure of the Translate table
- Set the display name for the action to the formula lookup(usersettings(Language),Translations, Language, Mark Complete )
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:
Dutch/Nederlands, Vlaams: @Ewout_van_Zonneveld
Finnish/suomi, suomen kieli: @Aleksi @Tocionist