I18n functionality
Yeah, unfortunately, at the moment the UI (once rendered) is not updating on locale changes, so you would need to rerender the editor.
Read full answer below ↓Question
Version: latest
Are you able to reproduce the bug from the demo?
- [] Yes
- No
What is the expected behavior? to editor.I18n.setLocale("es") work in runtime.
Describe the bug detailed I don't know if it's a bug or it's not supposed to work this way, also, i don't know backbone enough to know if it's possible, but, when use editor.I18n.setLocale("es") on run time, it doesn't change the labels.
What is the current behavior? It's just set the locale internally, but not change the labels at runtime.
Describe the bug detailed
- I created a new plugin to pass the localization files
import cookie from './cookie';
import pt from './i18n/pt';
import es from './i18n/es';
export default (editor, opts = {}) => {
let login_language = cookie.get("login_language");
let language = "";
switch(login_language){
case "en_US": language="en"; break;
case "es_AR": language="es"; break;
default: case "pt_BR": language="pt"; break;
}
const options = { ...{
i18n: {},
// default options
}, ...opts };
var I18nManager = editor.I18n;
// Load i18n files
I18nManager && I18nManager.addMessages({
...options.i18n,
pt,
es
});
//change editor localization
I18nManager.setLocale(language);
};
- On first load, got the current locale, set right on portuguese.

- On set to spanish, it keeps the portuguese on first run:

- If i change the tab, it set the messages to spanish:

- And if i set it to en, we have 3 language set:

- Here the 3 languages

Of course, the plugin works, if user is es, pt or en, it's setup properly. But when we will set up a new editor with plugins, we can't change the labels, or i don't know how 🤔 (This is why i've created this PR: https://github.com/artf/grapesjs-blocks-basic/pull/38)
Answers (4)
Yeah, unfortunately, at the moment the UI (once rendered) is not updating on locale changes, so you would need to rerender the editor.
Well, i don't know if backbone have template binding, so i'll close for a while..
Yeah, unfortunately, at the moment the UI (once rendered) is not updating on locale changes, so you would need to rerender the editor.
Has this not been solved yet? I tried to use editor.render(), it works, but it duplicates the panels...
Thanks for reporting this, @ronaldohoch.
Security and dependency issues are important. The GrapesJS team actively works on keeping dependencies up-to-date.
For you right now:
- Run
npm audit fixto see available patches - Check for a newer GrapesJS version that may have already addressed this
- If available, test the latest stable release before upgrading
- If the vulnerability is critical,
npm audit fix --forceis an option, but test thoroughly
Understanding the risk:
- Review the specific vulnerability details on GitHub Security Advisories
- Not all high-severity issues affect your code path
- Some vulnerabilities only trigger under specific conditions
Staying current:
- Watch for new GrapesJS releases
- Subscribe to security notifications on the repo
- The team prioritizes security updates in their release cycle
Related Questions and Answers
Continue research with similar issue discussions.
Issue #3457
Custom trait input not working
Hi @artf ! Version: 0.17.3 Are you able to reproduce the bug from the demo?[ ] Yes[x] No What is the expected behavior? The input is create...
Issue #3343
Illegal Invocation error when using keepEmptyTextNodes
Version: 0.16.44 Are you able to reproduce the bug from the demo?[x] Yes[ ] No Set editor.Parser.getConfig().keepEmptyTextNodes = true; in...
Issue #6211
Too much recursion
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? Firefox 131.0.2 Reproducible demo link htt...
Issue #5149
Non-named plugins and options
GrapesJS version [X] I confirm to use the latest version of GrapesJS What browser are you using? all and none, the bug is during the build...
Paid Plugins That Match This Issue
Curated by issue keywords and label relevance to help you ship faster.
Loading paid plugin recommendations...
Check the open-source GrapesJS plugins on GitHub or run a quick search in our free catalog.
Browse free plugins →Premium plugins ship with support, regular updates, and production-ready features — save days of integration work.
Browse premium plugins →Related tutorials
In-depth guides on the same topic.
Tutorial
Find the Right GrapesJS Plugin in Seconds: Smarter Discovery Is Live
We're shipping a set of discovery upgrades. New label filters, a proper compatibility switch for GrapesJS vs Studio, one-click and a smarter sort bar.
Tutorial
GrapesJS vs Webflow vs Tilda: What to Choose for Your Business in 2026
Choosing the right website platform in 2026 is no longer just about building a site
Tutorial
GJS Market 2.0 - Donations, Tracking, Labels and Better Product Discovery
We’ve rolled out a new set of GrapesJS marketplace updates across GJS Market, focused on improving how creators distribute products
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.