Browse by category


GrapesJS I18n

GrapesJS i18n plugins add multi-language support to your editor interface. Translate panel labels, button text, tooltips, and block names into any language — or let users switch locales at runtime. These extensions include ready-made locale packs for common languages and tools for adding custom translations. Browse free and premium GrapesJS internationalization plugins with language coverage details.

Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...Loading...

About GrapesJS I18n

GrapesJS includes a built-in i18n module that manages all user-facing strings in the editor interface — panel titles, button labels, tooltip text, block names, and error messages. By default the editor ships with English strings only. GrapesJS i18n plugins on GJS.Market extend this with ready-made locale packs and tools for managing translations in multi-language editor deployments. Language pack plugins provide a complete set of translated strings for a specific locale — Spanish, French, German, Portuguese, Italian, Arabic, Chinese, Japanese, and Korean packs are all available. Some locale packs also translate the default block names and trait labels, giving users a fully localised experience. Advanced i18n plugins add runtime locale switching — a language selector in the editor toolbar that reloads strings without a page refresh. If you are building a GrapesJS-powered product for an international market, start with the core locale pack for your target language, then check the coverage rating — some packs translate 100% of strings while others cover only the most common interface elements.

GrapesJS I18n — FAQ

How do I change the GrapesJS editor language?
Pass the i18n option when you initialise the editor: set locale to your language code and supply the message set under messages. GrapesJS ships English only, so the strings come from a locale pack or your own object. Anything left untranslated falls back to the fallbackLocale, which keeps the interface usable while a pack is incomplete.
Which languages does GrapesJS support out of the box?
The core library ships English strings. Everything else comes from locale packs, and this category covers the widely used ones — Spanish, French, German, Portuguese, Italian, Arabic, Chinese, Japanese and Korean. Coverage varies by pack, so check the rating on the listing: some translate every string, others only the most visible interface elements.
Can users switch the editor language at runtime?
Yes. editor.I18n.setLocale swaps the active locale and the interface re-renders without a page reload. Several plugins in this category wrap that in a language selector for the toolbar. Persist the choice yourself — in localStorage or your user profile — because GrapesJS does not remember it between sessions.
Do i18n plugins translate block and trait names too?
Some do, and it is the difference between a half-translated editor and a properly localised one. Block labels, category headings and trait names are separate string sets from the core UI, so a pack can cover the panels but leave your blocks in English. Blocks you register yourself always need their own labels — put them in your message set under the same locale.
How do I translate my own custom strings?
Add them to the messages object under your locale using the same nested key structure GrapesJS uses, then read them with editor.I18n.t('your.key'). Because your keys merge into the same store as the core ones, a single locale pack plus your additions gives you one consistent translation layer for the whole editor.