
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.
Muat naik messages.json sumber anda, pilih bahasa sasaran, bayar sekali, dan muat turun ZIP _locales yang sedia untuk dihantar.
Tiga langkah mudah untuk menyetempatkan browser extension anda. Terjemahan dijalankan selepas pembayaran—kami beraturkan tugasan dan menjana ZIP dalam beberapa minit.
Letakkan fail messages.json sumber anda. Kami menghurainya serta-merta dan mengesahkan format browser extension.
Pilih daripada 52 bahasa. Lihat harga telus berdasarkan saiz fail anda sebelum anda membayar.
Bayar sekali melalui Stripe. Kami menjana semua fail _locales/{lang}/messages.json dan membungkusnya ke dalam ZIP.
Lihat dengan tepat apa yang anda akan bayar sebelum memuat naik. Sebut harga akhir dikira selepas muat naik berdasarkan panjang rentetan dan bahasa yang dipilih.
Letakkan messages.json di sini
atau klik untuk semak imbas
messages.json input. Max 500KB.
3 daripada 55 bahasa dipilih
Harga akhir dikira selepas muat naik fail di halaman daftar keluar
Bayaran sekali sahaja • Tiada langganan
Dibina khusus untuk format locale browser extension. Bukan alat terjemahan generik.
Dibina khusus untuk struktur messages.json browser extension dengan sokongan message, description, dan placeholders.
Mengekalkan sintaks $PLACEHOLDER$ tepat seperti asal. Pembolehubah anda kekal utuh merentas semua bahasa.
Kami membaca medan description anda dan menggunakannya sebagai petunjuk konteks untuk terjemahan AI yang lebih tepat.
Muat turun ZIP dengan struktur folder _locales/{lang}/messages.json yang betul. Letakkannya ke dalam sambungan anda.
Semua bahasa diterjemah serentak. Kebanyakan kerja siap dalam masa kurang daripada 5 minit.
Tiada langganan, tiada yuran bulanan. Bayar sekali bagi setiap kerja, muat turun selamanya.
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 Runtime
chrome.i18n / browser.i18nContoh panggilan
getMessage("key")Diperlukan dalam manifest
"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.
Alat terjemahan tujuan umum tidak memahami format browser extension.
LocalePack | Terjemahan manual | TMS generik | |
|---|---|---|---|
| Masa persediaan | 2 minit | Berjam-jam setiap bahasa | 30+ minit |
| Ketelusan kos | |||
| Keselamatan format WebExtension | |||
| Perlindungan placeholder | |||
| Kelajuan (52 bahasa) | < 5 min | Minggu | Jam |
| Paling sesuai untuk | Any messages.json file | Projek kecil | Aplikasi web perusahaan |
Projek sebenar yang menggunakan LocalePack untuk mencapai audiens global dalam sehingga 52 bahasa.

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.
“Menjimatkan saya berjam-jam kerja yang membosankan. Muat naik messages.json saya, dapat semula terjemahan yang sempurna dalam format tepat yang saya perlukan.”
Sarah K.
Pembangun indie, sambungan AdBlock
“Our $PLACEHOLDER$ tokens came back untouched in all 52 locales. That is the whole reason we stopped scripting it ourselves.”
Marcus T.
Penyelenggara sambungan
“Harga yang telus ialah faktor penentu. Saya tahu dengan tepat berapa yang perlu saya bayar sebelum memuat naik apa-apa.”
Dev J.
Penyumbang sumber terbuka
52
Lokal yang disokong
100%
Output selamat-placeholder
ZIP
Sedia untuk dihantar
Semua yang anda perlu tahu tentang 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.
Bayar sekali - Muat turun ZIP - Hantar ke seluruh dunia
Cuba LocalePack