cancel
Showing results for 
Search instead for 
Did you mean: 
Carlosr

An easy way to add Multi-Language support

Translation Table

First, I’ll create a simple spreadsheet with my translations.  Format as table, and give the table a meaningful name:

Carlosr_6-1632864460988.png

 

 

The trick here is to orient the table with languages as rows and content as columns.  This will simplify the implementation as you will see further down.  You could connect to this spreadsheet using the OneDrive connector, but I will just import it as a static spreadsheet to reduce overhead.

Carlosr_1-1632864439392.png

 

Carlosr_2-1632864439396.png

 

Language Selection

Next, I’ll add a way to select the language. 

Then a simple drop downlist with the Items property set to your imported table.

Carlosr_3-1632864439398.png

 

I’ll set the OnChange property to:

 

 

Set(Text, Self.Selected)

 

 

Now I can set the text property of each of my controls to a column in my table:

Carlosr_4-1632864439400.png

 

Lastly, lets make sure the application initializes with the first language on the list.  I’ll set the App.OnStart to:

 

 

Set(Text, LanguageDropDown.Selected)

 

 

 

…. and voila!

Carlosr_5-1632864439411.png

If you need to add more translations, just edit the spreadsheet (save a copy somewhere safe), delete the translation table from your app and re-import it.  If you are re-using these translations across multiple apps, host the spreadsheet on SharePoint and connect to it with the Excel connector instead.

Conclusion

In the absence of direct support for localization, there are many work arounds.  Hopefully you will find this to be a simple and practical approach.

 

 

 

 

Comments

Also worth checking out is Haniel Croitoru's method, which stores the labels in a SharePoint list rather than a spreadsheet.