1. Multilingual
How to provide a multi lingual User Interface in
PowerApps
July, 2018
Peter Heffner
@Lingualizer
2. About
This is an example of how PowerApps can support multiple
languages.
Here a custom Sharepoint list provides the source text and
the translated text in columns. Each language has its own
column and can easily expanded if additional languages are
needed.
The desired language is selected in PowerApps and the
corresponding text is displayed by the Lookup-function for
the “Text” attribute.
(c) Peter Heffner 2
3. Concept
Provide a translation table
One row for each text or phrase
One column for each language
PowerApps
Select the language and store it in a Global Variable
„Text“ attribute with Switch command
Switch selects text through lookup
(c) Peter Heffner 3
Watch out!
Depending on the country settings you need
to replace the semicolon ; with a comma ,
in the formulas.
4. Create a Translation Table
Create a custom list
Use the [Title] field as a reference
Add single line text fields for each language
(c) Peter Heffner 4
5. PowerApps
Add a Data Source
Open an existing PowerApp
Add the Sharepoint list with the translations as a data
source
(c) Peter Heffner 5
6. PowerApps
Create a Collection
Create a Collection „OnStart“ and load the translation
table
(c) Peter Heffner 6
Tip: For development create the collection in „OnVisible“.
This way you don‘t need to close and re-open the App
if you add more translation text to the SP list.
7. PowerApps
Set the Language
Insert a button control for each language
Set a Global Variable „OnSelect“ of each button
(c) Peter Heffner 7
8. PowerApps
Test with a Button
Insert another button control and enter the following
formula in the „Text“ attribute:
Switch(varSelectedLanguage;
"EN";LookUp(collTranslation;Title="save";EN);
"DE";LookUp(collTranslation;Title="save";DE)
)
Depending on the Global Variable
„varSelectedLanguage“, the Switch command looks for
a match in the [Title] column and retrieves the content
of the language column.
(c) Peter Heffner 8
9. PowerApps
Add another Button
This time we duplicate (copy/paste) the previously
created button
Now we only need to adjust the „Text“ attribute:
Original formula:
Switch(varSelectedLanguage;
"EN";LookUp(collTranslation;Title="save";EN);
"DE";LookUp(collTranslation;Title="save";DE)
)
New formula:
Switch(varSelectedLanguage;
"EN";LookUp(collTranslation;Title="submit";EN);
"DE";LookUp(collTranslation;Title="submit";DE)
)
(c) Peter Heffner 9
10. PowerApps
Now with a text field
All we need to do is copy the formula from a previous
button or text
Again, We only need to adjust the „Text“ attribute:
Switch(varSelectedLanguage;
"EN";LookUp(collTranslation;Title=„tip_1";EN);
"DE";LookUp(collTranslation;Title="tip_1";DE)
)
(c) Peter Heffner 10