LocalePack
ChromeFirefoxEdgeOperaSafariSenarai CWS
Vue.jsReact
Next.jsi18nextReact Native
Panduan PembangunKisah Kejayaan
Dibina khusus untuk sambungan Chrome

Penyetempatan AI untuk Sambungan Chrome

Muat naik messages.json sumber anda, pilih bahasa sasaran, bayar sekali, dan muat turun ZIP _locales yang sedia untuk dihantar.

Terjemahan selamat-ruang letak
Mematuhi messages.json Chrome
Harga telus
messages.json
Bahasa sumber (contoh)
{
  "appName": {
    "message": "My Extension",
    "description": "Name"
  },
  "welcomeMsg": {
    "message": "Hello, $USER$!",
    "placeholders": {
      "user": {
        "content": "$1"
      }
    }
  }
}
Jerman (output)
{
  "appName": {
    "message": "Meine Erweiterung",
    "description": "Name"
  },
  "welcomeMsg": {
    "message": "Hallo, $USER$!",
    "placeholders": {
      "user": {
        "content": "$1"
      }
    }
  }
}
52 locales

Cara ia berfungsi

Tiga langkah mudah untuk menyetempatkan Sambungan Chrome anda. Terjemahan dijalankan selepas pembayaran—kami beraturkan tugasan dan menjana ZIP dalam beberapa minit.

01

Muat naik

Letakkan fail messages.json sumber anda. Kami menghurainya serta-merta dan mengesahkan format Sambungan Chrome.

02

Pilih bahasa & lihat harga

Pilih daripada 52 bahasa. Lihat harga telus berdasarkan saiz fail anda sebelum anda membayar.

03

Muat turun ZIP

Bayar sekali melalui Stripe. Kami menjana semua fail _locales/{lang}/messages.json dan membungkusnya ke dalam ZIP.

Demo harga langsung

Anggaran harga telus

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.

1. Muat naik fail

Letakkan messages.json di sini

atau klik untuk semak imbas

Format sambungan Chrome sahaja. Maks 500KB.

2. Pilih bahasa

|

3 daripada 55 bahasa dipilih

3. Anggaran anda

Bahasa dipilih3

Harga akhir dikira selepas muat naik fail di halaman daftar keluar

Bayaran sekali sahaja • Tiada langganan

Dibina untuk pembangun

Dibina khusus untuk format locale Sambungan Chrome. Bukan alat terjemahan generik.

Serasi dengan format Chrome

Dibina khusus untuk struktur messages.json Sambungan Chrome dengan sokongan message, description, dan placeholders.

Perlindungan placeholder

Mengekalkan sintaks $PLACEHOLDER$ tepat seperti asal. Pembolehubah anda kekal utuh merentas semua bahasa.

Konteks penerangan

Kami membaca medan description anda dan menggunakannya sebagai petunjuk konteks untuk terjemahan AI yang lebih tepat.

Eksport ZIP sedia

Muat turun ZIP dengan struktur folder _locales/{lang}/messages.json yang betul. Letakkannya ke dalam sambungan anda.

Pemprosesan selari

Semua bahasa diterjemah serentak. Kebanyakan kerja siap dalam masa kurang daripada 5 minit.

Bayaran sekali sahaja

Tiada langganan, tiada yuran bulanan. Bayar sekali bagi setiap kerja, muat turun selamanya.

Cara i18n sambungan Chrome berfungsi

Sambungan Chrome mengisytiharkan "default_locale" dalam manifest.json untuk mengaktifkan i18n. Pelayar kemudian membaca rentetan setempat daripada _locales/{locale}/messages.json semasa runtime. Setiap kunci mempunyai medan "message", "description" pilihan untuk konteks, dan "placeholders" pilihan untuk nilai dinamik — semuanya difahami oleh LocalePack secara natif.

Struktur folder _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 Runtime

chrome.i18n

Contoh panggilan

chrome.i18n.getMessage("appName")

Diperlukan dalam manifest

"default_locale"

Chrome Web Store secara automatik memaparkan nama dan penerangan sambungan anda dalam bahasa setempat pelawat apabila _locales/ mengandungi folder bahasa mereka.

Ketahui 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.

Mengapa tidak gunakan alat generik sahaja?

Alat terjemahan tujuan umum tidak memahami format Sambungan Chrome.

LocalePack
Terjemahan manual
TMS generik
Masa persediaan2 minitBerjam-jam setiap bahasa30+ minit
Ketelusan kos
Keselamatan format Chrome
Perlindungan placeholder
Kelajuan (52 bahasa)< 5 minMingguJam
Paling sesuai untukSambungan ChromeProjek kecilAplikasi web perusahaan

Kisah Kejayaan

Projek sebenar yang menggunakan LocalePack untuk mencapai audiens global dalam sehingga 52 bahasa.

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.

Lihat semua kisah kejayaan

Dipercayai oleh pembangun sambungan

“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

“Akhirnya ada alat yang memahami format sambungan Chrome. Tiada lagi membetulkan placeholder yang rosak selepas terjemahan.”

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

Soalan lazim

Semua yang anda perlu tahu tentang 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 →

Bersedia untuk menghantar Sambungan Chrome anda ke seluruh dunia?

Bayar sekali - Muat turun ZIP - Hantar ke seluruh dunia

Cuba LocalePack
LocalePack
PanduanPrivasiTermaSokongan

© 2025 LocalePack. Hak cipta terpelihara.

Projek ini diterjemahkan dengan LocalePack logoLocalePack