LocalePack
کرومفایرفاکساجاپراسافاریفهرست CWS
Vue.jsReact
Next.jsi18nextReact Native
راهنماهای توسعه‌دهندگاننمونه‌های موفق
طراحی‌شده مخصوص افزونه‌های کروم

بومی‌سازی هوش مصنوعی برای افزونه‌های کروم

messages.json مبدأ را آپلود کنید، زبان‌های مقصد را انتخاب کنید، یک‌بار پرداخت کنید و فایل ZIP آمادهٔ انتشارِ _locales را دانلود کنید.

ترجمه‌های امن برای placeholder
سازگار با messages.json در Chrome
قیمت‌گذاری شفاف
messages.json
زبان مبدأ (نمونه)
{
  "appName": {
    "message": "My Extension",
    "description": "Name"
  },
  "welcomeMsg": {
    "message": "Hello, $USER$!",
    "placeholders": {
      "user": {
        "content": "$1"
      }
    }
  }
}
آلمانی (خروجی)
{
  "appName": {
    "message": "Meine Erweiterung",
    "description": "Name"
  },
  "welcomeMsg": {
    "message": "Hallo, $USER$!",
    "placeholders": {
      "user": {
        "content": "$1"
      }
    }
  }
}
52 locales

نحوهٔ کار

سه گام ساده برای بومی‌سازی افزونهٔ کروم. ترجمه‌ها پس از پرداخت اجرا می‌شوند—کارها را در صف قرار می‌دهیم و ظرف چند دقیقه فایل ZIP را تولید می‌کنیم.

01

آپلود

فایل messages.json مبدأ را رها کنید. آن را فوراً پردازش می‌کنیم و قالب افزونهٔ کروم را اعتبارسنجی می‌کنیم.

02

زبان‌ها را انتخاب کنید و قیمت را ببینید

از میان ۵۲ زبان انتخاب کنید. قبل از پرداخت، قیمت‌گذاری شفاف را بر اساس اندازهٔ فایل خود ببینید.

03

دانلود ZIP

یک‌بار از طریق Stripe پرداخت کنید. ما همهٔ فایل‌های _locales/{lang}/messages.json را تولید می‌کنیم و آن‌ها را در یک ZIP بسته‌بندی می‌کنیم.

دموی قیمت‌گذاری زنده

برآوردگر قیمت‌گذاری شفاف

قبل از آپلود دقیقاً ببینید چقدر پرداخت می‌کنید. قیمت نهایی پس از آپلود و بر اساس طول رشته‌ها و زبان‌های انتخاب‌شده محاسبه می‌شود.

۱. آپلود فایل

messages.json را اینجا رها کنید

یا برای مرور کلیک کنید

فقط فرمت افزونهٔ کروم. حداکثر ۵۰۰ کیلوبایت.

۲. انتخاب زبان‌ها

|

3 از 55 زبان انتخاب شده است

۳. برآورد شما

زبان‌های انتخاب‌شده3

قیمت نهایی پس از آپلود فایل در صفحهٔ تسویه‌حساب محاسبه می‌شود

پرداخت یک‌باره • بدون اشتراک

ساخته‌شده برای توسعه‌دهندگان

به‌طور اختصاصی برای فرمت localeِ افزونهٔ کروم ساخته شده است. ابزار ترجمهٔ عمومی نیست.

سازگار با فرمت Chrome

به‌طور ویژه برای ساختار messages.jsonِ افزونهٔ کروم با پشتیبانی از message، description و placeholderها ساخته شده است.

محافظت از placeholderها

سینتکس $PLACEHOLDER$ را دقیقاً همان‌طور که هست حفظ می‌کند. متغیرهای شما در همهٔ زبان‌ها دست‌نخورده می‌مانند.

زمینهٔ توضیحات

فیلدهای description شما را می‌خوانیم و از آن‌ها به‌عنوان سرنخ‌های زمینه‌ای برای ترجمه‌های دقیق‌ترِ هوش مصنوعی استفاده می‌کنیم.

خروجی ZIP آماده

یک ZIP با ساختار پوشهٔ درستِ _locales/{lang}/messages.json دانلود کنید. آن را داخل افزونه‌تان قرار دهید.

پردازش موازی

همهٔ زبان‌ها به‌صورت هم‌زمان ترجمه می‌شوند. بیشتر کارها در کمتر از ۵ دقیقه تمام می‌شوند.

پرداخت یک‌باره

بدون اشتراک، بدون هزینهٔ ماهانه. برای هر کار یک‌بار پرداخت کنید، برای همیشه دانلود کنید.

i18n افزونهٔ Chrome چگونه کار می‌کند

افزونه‌های کروم برای فعال‌سازی i18n، مقدار "default_locale" را در manifest.json اعلام می‌کنند. سپس مرورگر در زمان اجرا رشته‌های محلی‌سازی را از مسیر _locales/{locale}/messages.json می‌خواند. هر کلید یک فیلد "message" دارد، یک "description" اختیاری برای ارائهٔ زمینه، و "placeholders" اختیاری برای مقادیر پویا — که همهٔ آن‌ها توسط LocalePack به‌صورت بومی پشتیبانی می‌شوند.

ساختار پوشهٔ _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 زمان اجرا

chrome.i18n

نمونه فراخوانی

chrome.i18n.getMessage("appName")

الزامی در manifest

"default_locale"

فروشگاه وب کروم وقتی _locales/ شامل پوشهٔ زبان بازدیدکننده باشد، به‌طور خودکار نام و توضیحات افزونهٔ شما را در زبان او نمایش می‌دهد.

با قالب _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.

چرا از ابزارهای عمومی استفاده نکنیم؟

ابزارهای ترجمهٔ عمومی فرمت افزونهٔ کروم را درک نمی‌کنند.

LocalePack
ترجمهٔ دستی
TMS عمومی
زمان راه‌اندازی۲ دقیقهساعت‌ها برای هر زبان۳۰+ دقیقه
شفافیت هزینه
ایمنی فرمت Chrome
محافظت از placeholderها
سرعت (۵۲ زبان)< ۵ دقیقههفته‌هاساعت‌ها
مناسب برایافزونه‌های کرومپروژه‌های کوچکاپلیکیشن‌های وب سازمانی

نمونه‌های موفق

پروژه‌های واقعی که از LocalePack استفاده کردند تا در حداکثر ۵۲ زبان به مخاطبان جهانی برسند.

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.

مشاهدهٔ همهٔ نمونه‌های موفق

مورد اعتماد توسعه‌دهندگان افزونه

“ساعت‌ها کار خسته‌کننده را از دوشم برداشت. messages.json را آپلود کردم و ترجمه‌های بی‌نقص را دقیقاً در همان فرمتی که لازم داشتم تحویل گرفتم.”

سارا ک.

توسعه‌دهنده مستقل، افزونه AdBlock

“بالاخره ابزاری که فرمت افزونه‌های کروم را می‌فهمد. دیگر لازم نیست بعد از ترجمه، جای‌نگهدارهای خراب را درست کنم.”

مارکوس ت.

نگه‌دارندهٔ افزونه

“قیمت‌گذاری شفاف نقطهٔ قوتش بود. دقیقاً می‌دانستم قبل از آپلود هر چیزی چقدر پرداخت می‌کنم.”

Dev J.

مشارکت‌کنندهٔ متن‌باز

52

زبان‌های پشتیبانی‌شده

100%

خروجی امن برای جای‌نگهدارها

ZIP

آمادهٔ انتشار

سؤالات متداول

هرآنچه باید دربارهٔ 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 →

آماده‌اید افزونهٔ کروم خود را در سراسر جهان منتشر کنید؟

یک‌بار پرداخت - دانلود ZIP - انتشار جهانی

LocalePack را امتحان کنید
LocalePack
راهنماهاحریم خصوصیشرایطپشتیبانی

© 2025 LocalePack. همهٔ حقوق محفوظ است.

این پروژه با استفاده از LocalePack logoLocalePack