LocalePack
ChromeFirefoxEdgeOperaSafariFiche CWS
Vue.jsReact
Next.jsi18nextReact Native
Guides développeurCas de réussite
Conçu spécialement pour les extensions Chrome

Localisation IA pour Extensions Chrome

Importez votre fichier source messages.json, choisissez les langues cibles, payez une seule fois et téléchargez un ZIP _locales prêt à être livré.

Traductions sûres pour les placeholders
Compatible avec messages.json de Chrome
Tarification transparente
messages.json
Langue source (exemple)
{
  "appName": {
    "message": "My Extension",
    "description": "Name"
  },
  "welcomeMsg": {
    "message": "Hello, $USER$!",
    "placeholders": {
      "user": {
        "content": "$1"
      }
    }
  }
}
Allemand (sortie)
{
  "appName": {
    "message": "Meine Erweiterung",
    "description": "Name"
  },
  "welcomeMsg": {
    "message": "Hallo, $USER$!",
    "placeholders": {
      "user": {
        "content": "$1"
      }
    }
  }
}
52 locales

Comment ça marche

Trois étapes simples pour localiser votre Extension Chrome. Les traductions s'exécutent après le paiement : nous mettons les tâches en file d'attente et générons le ZIP en quelques minutes.

01

Importer

Déposez votre fichier source messages.json. Nous l'analysons instantanément et validons le format de Extension Chrome.

02

Sélectionnez les langues et voyez le prix

Choisissez parmi 52 langues. Consultez une tarification transparente basée sur la taille de votre fichier avant de payer.

03

Télécharger le ZIP

Payez une seule fois via Stripe. Nous générons tous les fichiers _locales/{lang}/messages.json et les regroupons dans un ZIP.

Démo de tarification en direct

Estimateur de tarification transparente

Voyez exactement ce que vous paierez avant d'importer. Le devis final est calculé après l'import en fonction de la longueur des chaînes et des langues sélectionnées.

1. Importer le fichier

Déposez messages.json ici

ou cliquez pour parcourir

Format d’extension Chrome uniquement. 500 Ko max.

2. Sélectionner les langues

|

3 langues sélectionnées sur 55

3. Votre estimation

Langues sélectionnées3

Prix final calculé après l’import du fichier sur la page de paiement

Paiement unique • Sans abonnement

Conçu pour les développeurs

Conçu spécialement pour le format de locale Extension Chrome. Pas un outil de traduction générique.

Compatible avec le format Chrome

Conçu spécifiquement pour la structure messages.json de Extension Chrome, avec prise en charge de message, description et des placeholders.

Protection des placeholders

Préserve la syntaxe $PLACEHOLDER$ exactement telle quelle. Vos variables restent intactes dans toutes les langues.

Contexte des descriptions

Nous lisons vos champs de description et les utilisons comme indices de contexte pour des traductions IA plus précises.

Export ZIP prêt

Téléchargez un ZIP avec la structure de dossiers _locales/{lang}/messages.json correcte. Glissez-le dans votre extension.

Traitement en parallèle

Toutes les langues sont traduites simultanément. La plupart des tâches se terminent en moins de 5 minutes.

Paiement unique

Pas d’abonnements, pas de frais mensuels. Payez une fois par tâche, téléchargez pour toujours.

Comment fonctionne l’i18n de l’extension Chrome

Les extensions Chrome déclarent "default_locale" dans manifest.json pour activer l’i18n. Le navigateur lit ensuite les chaînes de langue depuis _locales/{locale}/messages.json à l’exécution. Chaque clé comporte un champ "message", une "description" facultative pour le contexte, et des "placeholders" facultatifs pour les valeurs dynamiques — tout cela étant pris en charge nativement par LocalePack.

Structure du dossier _locales/
_locales/
├── en/
│   └── messages.json   ← default_locale
├── de/
│   └── messages.json
├── fr/
│   └── messages.json
└── ja/
    └── messages.json
messages.json
{
  "appName": {
    "message": "My Extension",
    "description": "Extension name"
  },
  "greeting": {
    "message": "Hello, $USER$!",
    "placeholders": {
      "user": { "content": "$1" }
    }
  }
}

API d’exécution

chrome.i18n

Exemple d’appel

chrome.i18n.getMessage("appName")

Requis dans le manifeste

"default_locale"

Le Chrome Web Store affiche automatiquement le nom et la description de votre extension dans la langue du visiteur lorsque _locales/ contient le dossier correspondant à sa langue.

Découvrir le format _locales →

Chrome-specific rules that break builds

Chrome's i18n system fails quietly. These are the four rules that cause most broken releases.

A fixed list of locale folders
Chrome reads only a fixed set of locale codes under _locales/. Any folder outside that list is ignored — no build error, no console warning, the strings simply never load.
Underscores, not hyphens
Chrome expects pt_BR and zh_CN. BCP-47 style pt-BR or zh-CN does not match any supported locale, so the folder is skipped and the UI falls back to default_locale.
default_locale is not optional
If an extension ships a _locales/ directory, manifest.json must declare default_locale. Omit it and the manifest fails validation outright.
getMessage() is synchronous
chrome.i18n.getMessage() reads from disk synchronously, which makes it awkward inside an async Manifest V3 service worker — unlike a popup or content script, where it behaves normally.

A key that does not exist returns an empty string and logs nothing at all. Missing translations show up as blank UI, not as errors.

Pourquoi ne pas utiliser simplement des outils génériques ?

Les outils de traduction généralistes ne comprennent pas le format Extension Chrome.

LocalePack
Traduction manuelle
TMS générique
Temps de configuration2 minutesDes heures par langue30+ minutes
Transparence des coûts
Sécurité du format Chrome
Protection des placeholders
Vitesse (52 langues)< 5 minSemainesHeures
Idéal pourExtensions ChromePetits projetsApplications web d’entreprise

Cas de réussite

Des projets réels qui ont utilisé LocalePack pour toucher un public mondial dans jusqu’à 52 langues.

AstrologerAI AI astrology app localized into 52 languages

AstrologerAI: an AI astrology app localized into 52 languages

How the AstrologerAI app translated its entire experience into 52 languages with LocalePack — 6.3M tokens for $58.73 — to reach a worldwide audience in their own language.

DevToys.pro developer tools web app localized into 52 languages

DevToys.pro: 400% international traffic growth across 52 languages

How the DevToys.pro web app translated its entire UI into 52 languages with LocalePack — 5.8M tokens for $58.44 — and quadrupled its international organic traffic.

DevToys New Tab Chrome extension localized into 52 languages

DevToys New Tab: a Chrome extension localized UI + store listing in 52 languages

How the DevToys New Tab Chrome extension localized both its in-extension UI and its Chrome Web Store listing into 52 languages to reach a global audience.

The LocalePack site localized into 52 languages with LocalePack

LocalePack localized itself into 52 languages — with LocalePack

We used our own tool to translate the entire LocalePack site into 52 languages — 2.9M tokens for $27.37 — so developers worldwide find us in their own language.

Voir tous les cas de réussite

Approuvé par les développeurs d’extensions

“M’a fait gagner des heures de travail fastidieux. J’ai importé mon messages.json et j’ai récupéré des traductions parfaites, exactement dans le format dont j’avais besoin.”

Sarah K.

Développeuse indépendante, extension AdBlock

“Enfin un outil qui comprend le format des extensions Chrome. Fini de corriger des placeholders cassés après la traduction.”

Marcus T.

Mainteneur d’extension

“La tarification transparente a été l’argument décisif. Je savais exactement ce que j’allais payer avant d’importer quoi que ce soit.”

Dev J.

Contributeur open source

52

Paramètres régionaux pris en charge

100%

Sortie sûre pour les placeholders

ZIP

Prêt à livrer

Questions fréquentes

Tout ce que vous devez savoir sur LocalePack.

Related developer guides

Deep dives on the formats, APIs and errors behind this page — written for developers, not translators.

How to localize a Chrome extension (complete guide)

Step-by-step guide to adding i18n to a Chrome extension: _locales structure, default_locale, messages.json syntax, chrome.i18n.getMessage(), placeholder preservation, and how to test locale switching.

chrome.i18n: the complete API reference

All four chrome.i18n methods with exact signatures and return types: which are synchronous, which return promises, what getMessage() returns when it fails, and how browser.i18n differs in Firefox and Safari.

chrome.i18n in MV3 service workers

Synchronous getMessage() is an advantage in an MV3 service worker, not a problem — a common claim that gets this backwards. What actually breaks is the DOM, global-variable caching, localStorage and XMLHttpRequest.

Best tools for Chrome extension localization

An honest comparison of tools that translate Chrome extension messages.json files: LocalePack, Crowdin, Lokalise, Phrase, POEditor, Localazy, Weblate, and Localeship — setup overhead, pricing models, and placeholder safety.

LocalePack vs Lokalise for Chrome Extensions

Honest comparison of LocalePack and Lokalise for Chrome extension messages.json translation. Lokalise is a full TMS with team workflows and a monthly subscription; LocalePack is upload → pay once → download.

Browse all guides →

Prêt à publier votre Extension Chrome dans le monde entier ?

Payez une fois - Téléchargez le ZIP - Publiez dans le monde entier

Essayer LocalePack
LocalePack
GuidesConfidentialitéConditionsAssistance

© 2025 LocalePack. Tous droits réservés.

Ce projet a été traduit avec LocalePack logoLocalePack