Free Tool

Localization / i18n Generator

Generate a complete _locales/ folder for your Chrome extension. Define your English strings, pick target languages, and download translation-ready messages.json files. Localized extensions get up to 50% more installs.

Extension Info

Used as __MSG_appName__ in manifest.json

Used as __MSG_appDescription__ in manifest.json

Custom Messages

Target Languages

8 of 55 locales selected

Folder Structure

_locales/
en/
messages.json
es/
messages.json
fr/
messages.json
de/
messages.json
ja/
messages.json
zh_CN/
messages.json
ko/
messages.json
pt_BR/
messages.json

Manifest.json Snippet

Add this to your manifest.json and use __MSG_appName__ / __MSG_appDescription__ for name and description fields.

{
  "default_locale": "en",
  "name": "__MSG_appName__",
  "description": "__MSG_appDescription__"
}

Generated Files

How Chrome Extension i18n Works

Chrome extensions support internationalization through the _locales/ folder. Each supported language has its own subfolder with a messages.json file containing key-value pairs for all translatable strings.

In manifest.json

Set "default_locale": "en" and use __MSG_keyName__ for name and description fields.

In JavaScript

Use chrome.i18n.getMessage("keyName") to retrieve translated strings at runtime.

In HTML

No built-in HTML support — use JavaScript to set textContent or use a small script that replaces data-i18n attributes on load.

In CSS

Use __MSG_@@bidi_dir__ for RTL support. Chrome automatically resolves the text direction based on the user's locale.

Need help with other store listing assets?

Open Full CWS Kit