Localization works weird
@applibs I can't help if you don't provide a valid reproducible demo, please include all the missing dependencies.
Read full answer below βQuestion
GrapesJS version
- I confirm to use the latest version of GrapesJS
What browser are you using?
Chrome 111
Reproducible demo link
https://jsfiddle.net/zfkuq7sh/
Describe the bug
var editor = grapesjs.init({
fromElement: true,
container: '#gjs',
//style: '.txt-red{color: red}',
i18n: {
//de: gjsDE,
locale: 'de', // default locale
// detectLocale: true, // by default, the editor will detect the language
//localeFallback: 'de', // default fallback
//messages: { gjsDE },
},
plugins: ['grapesjs-mjml', 'gjs-plugin-ckeditor', 'inlineStorage'],
pluginsOpts: {
'grapesjs-mjml': {i18n: {de: mjmlCS}},
'gjs-plugin-ckeditor': {},
},
storageManager: { type: 'inline' }
});
editor.I18n.addMessages({
de: gjsDE
});
Some texts are translated and some not. Some are translated only after I click some tool button, then its translated. For example Top bar button Sesttins. Its in EN, After I click this button then its translated to my own language. Why?
Code of Conduct
- I agree to follow this project's Code of Conduct
Answers (2)
@applibs I can't help if you don't provide a valid reproducible demo, please include all the missing dependencies.
Thanks for reporting this, @applibs.
The issue with Localization works weird appears to be a race condition or state management timing problem. This typically happens when component lifecycle events and DOM modifications overlap, creating an inconsistent state.
What to try:
- Add a setTimeout wrapper to ensure the DOM has settled:
setTimeout(() => {
// your operation here
}, 0);
-
Check initialization order β make sure components are fully loaded before you interact with them
-
Use the editor's event system β listen to completion events:
editor.on('component:mount', (component) => {
// safe to interact with component here
});
Recommended next steps:
- Test with the latest GrapesJS version if you haven't
- Provide a minimal reproducible example (CodeSandbox) β this helps the team identify the root cause faster
- Include GrapesJS version, browser, and console errors in your report
Related Questions and Answers
Continue research with similar issue discussions.
Issue #6458
sector.setName doesn't work
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome Reproducible demo link https://jsfi...
Issue #4191
We are trying to store the data from grapesJS editor in Angular 10 application, getting CORS error, image attached below
GrapesJS version [x] I confirm to use the latest version of GrapesJS What browser are you using? Chrome 99.0.4844.5 Reproducible demo link...
Issue #6102
Traits Not Displayed After Reloading Editor for Custom Component
GrapesJS version[X] I confirm to use the latest version of GrapesJSWhat browser are you using? Chrome 91VReproducible demo link https://jsf...
Issue #5221
Desktop Version on incorrectly mobile device
GrapesJS version[X] I confirm to use the latest version of GrapesJSWhat browser are you using? Safari 16.5Reproducible demo link https://gr...
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
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
Tutorial
Big Updates: TinyMCE 8 and Placeholder 2.0 for GrapesJS
In May we shipped major updates to two of our most popular GrapesJS plugins β TinyMCE Inline Text Editor and Placeholder.
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.
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.