Last week I published about the Back to Office (Building Access) app and the response was AMAZING! This blog had visits from almost 12,000 unique users from 65 countries in a span of 5 days. I couldn’t believe that! Thank you so much.

Since then I’ve been busy supporting dozens of customers with the tool setup and supporting our internal teams to better understand Teams as a platform and how leverage the application for the complex moment we live.

The setup is super easy and lasts less than a hour. The package shared on GitHub has detailed instructions on how to run the configuration flows and import the apps into your environment. 

As I deal with non-English speakers most of the time, there are a few things I would like to document to help others.


“The exhibition mode is invalid” error when running the DeploySPLists flow

You just ran the initial configuration flow (DeploySPLists) and got a error saying something like “the exhibition mode is invalid”. You may get the error message in your native language.

clip_image001

Please make sure you created an English SharePoint Online site to host the lists. If a non-English site is created you will receive that error in the language that the site was created.

The SPO site can be in English and that will not affect the language that will be used to present the applications to end users.


How to change the language of the three apps?

You just imported the three apps (Building Access, Building Admin, and Building Security) to your Power Apps console, followed all the configuration steps but everything is still presented in English.

It is super easy to change the language. You just need to use the locale=<language code> on the app URL. For example, to present all apps in Brazilian Portuguese you just need to include locale=pt-BR in the address.

imageimage

We have translated the app in 44 different languages. Here are the codes for all those languages for your reference.

Annotation 2020-07-01 171033


How to have the app using the browser language instead?

That is possible. With a small change in the three Power Apps you can have them respecting the language configured in your browser/OS/phone.

As I mentioned previously, you can use locale=<language code> to have the application presented in a different language, that behavior is controlled by a function that is present in the initialization area of each app.

If you open each app in Power Apps and change a single line of code, you can have the app using the browser language instead.

  • Open PowerApps console with an Administrator credential.
  • Select the application you want to make the change and click Edit.
  • On the Tree View (left hand side), select Screens and click App.
  • In the OnStart event, expand the function area and find the line with: Set(varLanguage,Coalesce(“”,Param(“locale”)));
  • Change the line as shown below

Annotation 2020-07-01 173536

  • Make sure you save and publish the application

The Language() function returns the language code configured in your browser. Doing that change will break the ability to use the URL to change languages. You can definitely optimize code to support both strategies. Smile 

How to change the text for a specific language?

That will need a small hack. In the GitHub package you will find an Excel file called  colTranslations.xlsx. That file has all translations for all applications. There are three tabs, one for each app and each language has its specific line on the table.

You will need to open the table using Excel and change the text. Then you will need to save the file and reload it into each application. To do that, you need to open the Power Apps console as an Administrator, edit the App and select View –> Data sources.

Scroll down until the colTranslationsUser data source.

Annotation 2020-07-01 171836

Click … and remove the data source.

Then Search for Excel, select Import from Excel and upload your new file version. Remember the name of the Data Source needs to me colTranslationsUser.

Cristiano

Disclaimer – The information contained in this blog post doesn’t represent the official Microsoft guidance or best practices. It is just the view of the author on current alternatives, implementations and workarounds for common issues and/or business needs. Please refer to official Microsoft documentation and evaluate carefully any steps, code or procedures documented herein. The author doesn’t offer any warranty. Use this information at your own risk.