Hey fellow Bubblers! ![]()
Building a multilingual app can be a massive headache. Usually, you are forced to choose between managing hundreds of database entries or using auto-translation plugins that freeze your page, drain your API limits, and ruin the user experience.
I wanted to share a project that solves this completely. Polyglot is now live, and it brings Enterprise-grade translation architecture to the community for free! ![]()
Say goodbye to slow page loads and API limits! Polyglot is a fully autonomous, highly optimized translation engine that translates your entire Bubble app on the fly based on your user’s browser language.
Key Features:
-
Viewport-First Translation (Lazy-Load): Polyglot uses an IntersectionObserver to only translate text that is currently visible on the screen. It translates as the user scrolls, saving massive bandwidth and protecting your API limits! -
Priority Queueing: CTAs, Buttons, Headers, and Menus are instantly bumped to the front of the translation queue. This means your app becomes usable immediately, while heavier paragraphs load silently in the background. -
Smart LRU Caching: Translated text is saved in the browser’s localStorage using a dynamic LRU (Least Recently Used) algorithm. If a user refreshes or returns to your app, translations load instantly in 0ms! -
Anti-Loop & DOM Batching: Rebuilt with a smart MutationObserver that batches DOM changes and debounces requests. This guarantees zero memory leaks or CPU freezing, even on huge, data-heavy pages. -
Instant Reversion: If the user switches back to your app’s original language, Polyglot instantly restores the native text and cleanly strips all injected layers, returning your app to 100% native performance. -
Scope Limitation: Don’t want to translate the whole page? You can now target specific sections of your app (e.g., main-dashboard-container) and Polyglot will ignore the rest.
Setup is effortless: Just drop the element on your page, set your app’s base language, and let the engine do the heavy lifting.
You can grab the plugin here: Click Here
Check out the demo here: Click Here
I’d love for you to drop this into your heaviest pages and see the performance for yourself. Let me know what you think or if you have any questions! Happy building! ![]()
![]()