
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.
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é.
Trois étapes simples pour localiser votre browser extension. 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.
Déposez votre fichier source messages.json. Nous l'analysons instantanément et validons le format de browser extension.
Choisissez parmi 52 langues. Consultez une tarification transparente basée sur la taille de votre fichier avant de payer.
Payez une seule fois via Stripe. Nous générons tous les fichiers _locales/{lang}/messages.json et les regroupons dans un ZIP.
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.
Déposez messages.json ici
ou cliquez pour parcourir
messages.json input. Max 500KB.
3 langues sélectionnées sur 55
Prix final calculé après l’import du fichier sur la page de paiement
Paiement unique • Sans abonnement
Conçu spécialement pour le format de locale browser extension. Pas un outil de traduction générique.
Conçu spécifiquement pour la structure messages.json de browser extension, avec prise en charge de message, description et des placeholders.
Préserve la syntaxe $PLACEHOLDER$ exactement telle quelle. Vos variables restent intactes dans toutes les langues.
Nous lisons vos champs de description et les utilisons comme indices de contexte pour des traductions IA plus précises.
Téléchargez un ZIP avec la structure de dossiers _locales/{lang}/messages.json correcte. Glissez-le dans votre extension.
Toutes les langues sont traduites simultanément. La plupart des tâches se terminent en moins de 5 minutes.
Pas d’abonnements, pas de frais mensuels. Payez une fois par tâche, téléchargez pour toujours.
A messages.json entry pairs a key with a "message" string, an optional "description" used as translation context, and an optional "placeholders" map. LocalePack parses all three: it translates only the message text, forwards the description to the model as context, and returns $PLACEHOLDER$ and $1 substitution tokens byte-identical.
_locales/
├── en/
│ └── messages.json ← default_locale
├── de/
│ └── messages.json
├── fr/
│ └── messages.json
└── ja/
└── messages.json{
"appName": {
"message": "My Extension",
"description": "Extension name"
},
"greeting": {
"message": "Hello, $USER$!",
"placeholders": {
"user": { "content": "$1" }
}
}
}API d’exécution
chrome.i18n / browser.i18nExemple d’appel
getMessage("key")Requis dans le manifeste
"default_locale"The same translated messages.json drops into _locales/{locale}/ for Chrome, Firefox, Edge, Opera and Safari without further edits.
A messages.json entry is more than a key and a string. Getting these four pieces wrong is what breaks extensions after machine translation.
Most generic translation tools treat $PLACEHOLDER$ and $1 as ordinary words. Once they are translated or reordered, the extension ships with broken interpolation.
Les outils de traduction généralistes ne comprennent pas le format browser extension.
LocalePack | Traduction manuelle | TMS générique | |
|---|---|---|---|
| Temps de configuration | 2 minutes | Des heures par langue | 30+ minutes |
| Transparence des coûts | |||
| Sécurité du format WebExtension | |||
| Protection des placeholders | |||
| Vitesse (52 langues) | < 5 min | Semaines | Heures |
| Idéal pour | Any messages.json file | Petits projets | Applications web d’entreprise |
Des projets réels qui ont utilisé LocalePack pour toucher un public mondial dans jusqu’à 52 langues.

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.

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.

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.

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.
“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
“Our $PLACEHOLDER$ tokens came back untouched in all 52 locales. That is the whole reason we stopped scripting it ourselves.”
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
Tout ce que vous devez savoir sur LocalePack.
Deep dives on the formats, APIs and errors behind this page — written for developers, not translators.
A complete reference for the WebExtension messages.json format: the message, description, and placeholders fields, $PLACEHOLDER$ syntax, $1 positional substitutions, and common mistakes.
How to catch every class of messages.json error before your users do: JSON syntax, missing required fields, missing keys across locales, malformed placeholder syntax, and manifest key mismatches.
How the __MSG_key__ substitution syntax works in Chrome and Firefox extension manifests: which fields support it, how Chrome resolves tokens at load time, and the pitfalls that cause silent failures or upload rejections.
getMessage() returns an empty string when a message is missing, and logs nothing at all. Every cause of the silent empty string, how to tell it apart from undefined, and how to confirm each one.
Payez une fois - Téléchargez le ZIP - Publiez dans le monde entier
Essayer LocalePack