
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.
messages.json مبدأ را آپلود کنید، زبانهای مقصد را انتخاب کنید، یکبار پرداخت کنید و فایل ZIP آمادهٔ انتشارِ _locales را دانلود کنید.
سه گام ساده برای بومیسازی افزونهٔ کروم. ترجمهها پس از پرداخت اجرا میشوند—کارها را در صف قرار میدهیم و ظرف چند دقیقه فایل ZIP را تولید میکنیم.
فایل messages.json مبدأ را رها کنید. آن را فوراً پردازش میکنیم و قالب افزونهٔ کروم را اعتبارسنجی میکنیم.
از میان ۵۲ زبان انتخاب کنید. قبل از پرداخت، قیمتگذاری شفاف را بر اساس اندازهٔ فایل خود ببینید.
یکبار از طریق Stripe پرداخت کنید. ما همهٔ فایلهای _locales/{lang}/messages.json را تولید میکنیم و آنها را در یک ZIP بستهبندی میکنیم.
قبل از آپلود دقیقاً ببینید چقدر پرداخت میکنید. قیمت نهایی پس از آپلود و بر اساس طول رشتهها و زبانهای انتخابشده محاسبه میشود.
messages.json را اینجا رها کنید
یا برای مرور کلیک کنید
فقط فرمت افزونهٔ کروم. حداکثر ۵۰۰ کیلوبایت.
3 از 55 زبان انتخاب شده است
قیمت نهایی پس از آپلود فایل در صفحهٔ تسویهحساب محاسبه میشود
پرداخت یکباره • بدون اشتراک
بهطور اختصاصی برای فرمت localeِ افزونهٔ کروم ساخته شده است. ابزار ترجمهٔ عمومی نیست.
بهطور ویژه برای ساختار messages.jsonِ افزونهٔ کروم با پشتیبانی از message، description و placeholderها ساخته شده است.
سینتکس $PLACEHOLDER$ را دقیقاً همانطور که هست حفظ میکند. متغیرهای شما در همهٔ زبانها دستنخورده میمانند.
فیلدهای description شما را میخوانیم و از آنها بهعنوان سرنخهای زمینهای برای ترجمههای دقیقترِ هوش مصنوعی استفاده میکنیم.
یک ZIP با ساختار پوشهٔ درستِ _locales/{lang}/messages.json دانلود کنید. آن را داخل افزونهتان قرار دهید.
همهٔ زبانها بهصورت همزمان ترجمه میشوند. بیشتر کارها در کمتر از ۵ دقیقه تمام میشوند.
بدون اشتراک، بدون هزینهٔ ماهانه. برای هر کار یکبار پرداخت کنید، برای همیشه دانلود کنید.
افزونههای کروم برای فعالسازی i18n، مقدار "default_locale" را در manifest.json اعلام میکنند. سپس مرورگر در زمان اجرا رشتههای محلیسازی را از مسیر _locales/{locale}/messages.json میخواند. هر کلید یک فیلد "message" دارد، یک "description" اختیاری برای ارائهٔ زمینه، و "placeholders" اختیاری برای مقادیر پویا — که همهٔ آنها توسط LocalePack بهصورت بومی پشتیبانی میشوند.
_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 زمان اجرا
chrome.i18nنمونه فراخوانی
chrome.i18n.getMessage("appName")الزامی در manifest
"default_locale"فروشگاه وب کروم وقتی _locales/ شامل پوشهٔ زبان بازدیدکننده باشد، بهطور خودکار نام و توضیحات افزونهٔ شما را در زبان او نمایش میدهد.
Chrome's i18n system fails quietly. These are the four rules that cause most broken releases.
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.
ابزارهای ترجمهٔ عمومی فرمت افزونهٔ کروم را درک نمیکنند.
LocalePack | ترجمهٔ دستی | TMS عمومی | |
|---|---|---|---|
| زمان راهاندازی | ۲ دقیقه | ساعتها برای هر زبان | ۳۰+ دقیقه |
| شفافیت هزینه | |||
| ایمنی فرمت Chrome | |||
| محافظت از placeholderها | |||
| سرعت (۵۲ زبان) | < ۵ دقیقه | هفتهها | ساعتها |
| مناسب برای | افزونههای کروم | پروژههای کوچک | اپلیکیشنهای وب سازمانی |
پروژههای واقعی که از LocalePack استفاده کردند تا در حداکثر ۵۲ زبان به مخاطبان جهانی برسند.

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.
“ساعتها کار خستهکننده را از دوشم برداشت. messages.json را آپلود کردم و ترجمههای بینقص را دقیقاً در همان فرمتی که لازم داشتم تحویل گرفتم.”
سارا ک.
توسعهدهنده مستقل، افزونه AdBlock
“بالاخره ابزاری که فرمت افزونههای کروم را میفهمد. دیگر لازم نیست بعد از ترجمه، جاینگهدارهای خراب را درست کنم.”
مارکوس ت.
نگهدارندهٔ افزونه
“قیمتگذاری شفاف نقطهٔ قوتش بود. دقیقاً میدانستم قبل از آپلود هر چیزی چقدر پرداخت میکنم.”
Dev J.
مشارکتکنندهٔ متنباز
52
زبانهای پشتیبانیشده
100%
خروجی امن برای جاینگهدارها
ZIP
آمادهٔ انتشار
هرآنچه باید دربارهٔ LocalePack بدانید.
Deep dives on the formats, APIs and errors behind this page — written for developers, not translators.
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.
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.
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.
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.
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.
یکبار پرداخت - دانلود ZIP - انتشار جهانی
LocalePack را امتحان کنید