Best way to create an app with multiple languages

It was a rainy day :slightly_smiling_face: and I created a template for localisation.

The template is based on the approach suggested by @Darren_Murphy

The FREE template is available here.

Localisation Template

The template has 3 Glide tables (Two new tables & Users table).

  1. Languages [New] - - - Supported languages

  1. Translations [New] - - - Translated text

  1. Users [Existing] - - - Additional columns for language and translations

Known Issues

Page / Tab labels are not dynamic and cannot be translated {Glide Apps limitation}

As suggested by @Darren_Murphy, there are two workarounds, none of which are really appealing:

  • Only use icons and do not use any page / tab labels at all.

  • Create a page / tab for each language and show / hide based on the User’s language.

Resources

Validate and beautify your JSON

Hope it helps.

3 Likes

Are any of these translations sourced from an API? I wonder if you can just use Google Translate’s API to do the work for you instead.

@ThinhDinh - Yes, that could work, as explained in this post

I did not use an API but instead used an AI agent (Chat GPT manually) to do the bulk of the translations.

  1. Translation is usually a one time activity for “Reference” data and this data does not change that much over time.

  2. Using API’s doesn’t work that well for single words. It usually works better for sentences where the context is known. Using Google translate, the verb “Book” as in “Book a Meeting” translates to “Livre” in French = the noun “Book” - a book on cats, and not “réserver” – “to book”.

  3. Using a conversational AI tool might be better:

    • Set the context of what the App does upfront, and all the translations follow from the initial context setting

    • Format the translation output for easy upload into the App

    • Has no impact on Glide usage limits :grinning:

In the end, it depends on the App’s use case. If there are constraints on the Glide usage limits or if the App’s content (labels, content, etc.,) is stable then the manual approach using a conversational AI tool might work better.

2 Likes