[New Feature] Multi-language support improvements


We’ve just added a feature that will make building multi-language apps much easier. Instead of using conditions to define the different values for a given text element, you can now define some “Text IDs” and use this in a text element (or a button, email action, etc.). Once these texts have been defined, you can translate them in the Languages section of the Settings Tab (as you do for Bubble built-in messages).

In run mode, the value will be whatever you defined for the current user’s language (as defined by the URL setting lang, or the user’s field, or the app primary language).


Time saver, thanks.


This is great! To make the localization support really awesome, add support for export and import of the text in a common i18n format (eg ICU). Otherwise the translation process will be a pain once you get past a few dozen phrases for several locales.



Thank you!

please @emmanuel make it possible to change the ID of the app text from the language tab.

1 Like

Thank you!

Thanks, its a great improvement

1 Like

How can I apply this new feature if I want to translate Dropdown menu options?


Is this somehting that could be added, perhaps even as a sponsored feature?

This would save so much time abd actually be a great working out of the box solution compared to what other users have come up with so far.

@emmanuel Thanks!

1 Like

Can you mimic dropdown menu with a repeating group?

Thanks, @emmanuel, this is a great feature!

@emmanuel are those translations indexed by search engines? For example:

I have my .com site in English but also translated in Russian. If I would do a google search for keywords in that site in Russian, would this be picked up?

I guess either I have to reload my landing page based on the browser’s language settings to reflect the correct language or I would have to clone the index page to make a static translation but I see downsides of both approaches.

Will adding rel=”alternate” hreflang=”x” annotations work on pages in Bubble?

Google indexes the page he sees, so i would expect both versions to be indexed currently (if you use the lang parameter in the URL, then it should be seen as different pages. I’m not a SEO expert though).

1 Like

Would it be too much of a hassle to make it possible to have two languages side by side in languages module? That would be immensely helpful for translating, much less mouse-clicking involved…

Another option would be to support something standard - like .po/.pot files or anything alike… Translating the app one row at a time is now possible, but really time-consuming thanks to lots of repetitive clicking. (Still way better than nothing, though :slight_smile: )

And yet another cool idea would be a context menu item to turn any text on page into an App Text.

This altogether would enable basic development in one language (= faster) and getting to translation later when basic functionality is already up and running.


Hi Emmanuel, where are those translations actually stored within Bubble?

Presumably the biggest flaw of a service like localize.js is the fact that they store all other languages on their own server resulting in your site not being indexed by Google for keywords in another language.

Supposedly, this should work better as it just adds the other languages in the same page and calls it using js: https://www.multilingualizer.com/shop/multilingualizer/

I assume Bubble doesn’t store the translations on another domain and it works in a similar way to the service I linked to?

These translations are stored in a database hosted by Bubble.

Guess I’ll have to implement and wait for the site to be indexed to see if it comes up in a foreign language. Thanks

I’d love dropdowns to handle translations too!


Hello @emmanuel,
we really need a possibility change a dropdown Option caption depending on Current language…
We can use App(?) for static choices, but if you use as data type you need to create multiple dropdowns depending on language, add conditions which dropdown to use in workflows to save that etc…


Is there any chance to get language switch without need of page refresh?