Multilingual Home App


I’m building an App to be displayed on the Messenger Home for Users.
I need to customize the initial display (labels & buttons in the right language), however, no webhook is triggered when the Messenger is opened…
Did I missed something ? (hope I did ^^)



Hi Mose, when the Messenger is opened (and an app is loaded) you will always receive the initialize request. This request contains some data about where the app is being shown and the conversation ID (if it’s being displayed in a conversation). This should give you enough to determine what language to respond with when you’re building your JSON Canvas object.



It seems that the response from the init call is being cached. The init call is only called when adding the App to your messenger from the settings, but never when the end user opens the chat. Also changing the initial home canvas that the end-user will see doesn’t work until you remove the app and re-add it again to the messenger settings in the admin section.



I experience the same problem.



Ah, I figured it out. You have to use the live-canvas instead of the normal canvas. See:

1 Like


Thanks marcel, I got the trigger now !

However I have no way to determine the language as I get… well no contextual data at this point ^^

Let me add some context :

  • It’s an Home App, not suited for conversation.
  • It’s for Users only, and as our plateform is multilingual, we already know their language (and it’s pushed into language_override attribute).

Is their any way to get the language_override attribute when a Home App is opening ?

Alternatively, is there any way to identify the user in a live-canvas flow (when the user is not in a conversation) ?



Hi Mose, at the moment there isn’t a way to get that data but additional context is something we’ve been hearing a lot so it’s on our roadmap of things to add to the framework. Stay tuned…



Thanks Jeff,

So right now it’s not possible to build a Multilingual Home App.
That’s too bad, because the messenger is multilingual :disappointed_relieved:

As a matter of fact, European plateforms really need to deal with multiple languages to make business. So any lead at this point would be great !



Hey there!
Joining the multilingual topic here.

Is there any chance the native messenger apps (like Get a demo or Article Search) will be able to handle multiple languages in the future?

Thanks a lot!

1 Like


Hi @keyvan,

Yep, absolutely. We’re working on making them multilingual really soon

Stayed tuned!

1 Like


@sean don’t forget to give us developers a way to get the customer language (or better : language_override) when the Home App is opening, so we can build awesome Multilingual Home Apps :wink:



@Mose Of course not! :grinning:



Ok the new context is great : we have a LOT MORE :sunglasses:
However :

1) locale is always 'en’
whereas my browser and my system is in french.
the fun part is that the rest of the messenger is in french, so the language is ok on your side :wink:

2) language_override is missing
I’m soooo sad because that was the single only property I needed… (ok the user_id is great too)
And I checked : the data is present on your side

Yes, I could use the location data and try to infer the language with an indirect method, but the language_override is the one you use to localize the messenger, so It’s definitely the one we need to make a localized Home App !

Please tell me you will consider my humble and legitimate request…



Hey @mose :wave:

So for the time being, we use the default messenger locale, as specified on your Messenger settings. This doesn’t take into consideration the browser language (nor language_override) attributes (ie. any additional languages).

It’s a great feature request though - thanks for that :+1: For the time being, you’ll need to GET the user object with our API and grab the value of the language_override attribute.

CC: @patrick.andrews :point_up:



Thanks Zach, it will obviously do the job (sorry I did not think of this solution).

Having the language_override in the context would be a nice little performance b
oost, so i will check for any incoming change in the context.