Let the user change the native app language

0
Hello there,  what is the right process for letting the user change the app language? I added the language as in here till step3: https://docs.mendix.com/refguide/translatable-texts I want the user to change the language via drop down menu, therefore I did the following: - when the user changes the drop-down menu value, it will call a nanoflow to do the following The javascript updates the app mx.reload(); Note: We didn’t connect the profile with System.User, we just retrieved the Language object and change it and I think here’s the problem. I don’t know how should I change the system language
asked
4 answers
3

As Ronald says, you should just be able to change reference between the currentUser and the language you require. 

Something like this should work. $currentUser is a variable that should be available by default to your microflow, and not something you need to retrieve. You will need to retrieve the correct Language though.

 

answered
3

In addition to the answers above I have an old ticket with support on this. Be sure to change to language in a microflow and not a nanoflow..:

 

Daria Nerush (Mendix)

Sep 25, 2020, 12:41 GMT+2

Hi Sjors, 

Thank you for your patience on this request. 

I have a response from the R&D team that System. Language is read-only for offline-applications. We don’t have a way of changing the language in offline applications at the moment.
There is already a story with our dedicated R&D team. But unfortunately, we can not provide you the ETA for now. 

Please, let me know if you want to be updated on this and if you have any other outstanding questions. 

Best regards,

Technical support engineer
Mendix
Daria Nerush

answered
1

You need to change the reference between user and language (User_Language). So retrieve the current user and change this reference to the selecte language.

Regards,

Ronald

 

answered
0

Hi, 

In addition to Robert’s answer, I changed the language object to match the user’s selection as follow:

and when it returns to the nanoflow it reload the app (mx.reload() )

Is that process correct? 

Because when the user changes the language (the default is english) from english to arabic it works, but when they want to return to english it doesn’t work, the app language is still arabic

 

answered