LocalePack
ChromeFirefoxEdgeOperaSafariListing CWS
Vue.jsReact
Next.jsi18nextReact Native
Panduan DevKisah Sukses
Dibuat khusus untuk ekstensi Chrome

Pelokalan AI untuk Ekstensi Chrome

Unggah messages.json sumber Anda, pilih bahasa target, bayar sekali, lalu unduh ZIP _locales yang siap dirilis.

Terjemahan aman untuk placeholder
Sesuai dengan messages.json Chrome
Harga transparan
messages.json
Bahasa sumber (contoh)
{
  "appName": {
    "message": "My Extension",
    "description": "Name"
  },
  "welcomeMsg": {
    "message": "Hello, $USER$!",
    "placeholders": {
      "user": {
        "content": "$1"
      }
    }
  }
}
Jerman (hasil)
{
  "appName": {
    "message": "Meine Erweiterung",
    "description": "Name"
  },
  "welcomeMsg": {
    "message": "Hallo, $USER$!",
    "placeholders": {
      "user": {
        "content": "$1"
      }
    }
  }
}
52 locales

Cara kerjanya

Tiga langkah sederhana untuk melokalkan Ekstensi Chrome Anda. Terjemahan berjalan setelah pembayaran—kami mengantrekan pekerjaan dan menghasilkan ZIP dalam hitungan menit.

01

Unggah

Letakkan file messages.json sumber Anda. Kami memprosesnya seketika dan memvalidasi format Ekstensi Chrome.

02

Pilih bahasa & lihat harga

Pilih dari 52 bahasa. Lihat harga transparan berdasarkan ukuran file Anda sebelum membayar.

03

Unduh ZIP

Bayar sekali melalui Stripe. Kami menghasilkan semua file _locales/{lang}/messages.json dan mengemasnya menjadi ZIP.

Demo harga langsung

Estimator harga transparan

Lihat persis berapa yang akan Anda bayar sebelum mengunggah. Penawaran final dihitung setelah unggah berdasarkan panjang string dan bahasa yang dipilih.

1. Unggah file

Letakkan messages.json di sini

atau klik untuk menelusuri

Hanya format ekstensi Chrome. Maks 500KB.

2. Pilih bahasa

|

3 dari 55 bahasa dipilih

3. Perkiraan Anda

Bahasa dipilih3

Harga final dihitung setelah file diunggah di halaman checkout

Pembayaran sekali bayar • Tanpa langganan

Dibuat untuk developer

Dibuat khusus untuk format locale Ekstensi Chrome. Bukan alat terjemahan generik.

Mendukung format Chrome

Dibuat khusus untuk struktur messages.json Ekstensi Chrome dengan dukungan message, description, dan placeholders.

Perlindungan placeholder

Mempertahankan sintaks $PLACEHOLDER$ persis apa adanya. Variabel Anda tetap utuh di semua bahasa.

Konteks deskripsi

Kami membaca kolom description Anda dan menggunakannya sebagai petunjuk konteks untuk terjemahan AI yang lebih akurat.

Ekspor ZIP siap pakai

Unduh ZIP dengan struktur folder _locales/{lang}/messages.json yang benar. Masukkan ke ekstensi Anda.

Pemrosesan paralel

Semua bahasa diterjemahkan secara bersamaan. Sebagian besar pekerjaan selesai dalam kurang dari 5 menit.

Pembayaran sekali bayar

Tanpa langganan, tanpa biaya bulanan. Bayar sekali per pekerjaan, unduh selamanya.

Cara kerja i18n ekstensi Chrome

Ekstensi Chrome mendeklarasikan "default_locale" di manifest.json untuk mengaktifkan i18n. Browser kemudian membaca string locale dari _locales/{locale}/messages.json saat runtime. Setiap key memiliki field "message", "description" opsional untuk konteks, dan "placeholders" opsional untuk nilai dinamis — semuanya dipahami LocalePack secara native.

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 pemanggilan

chrome.i18n.getMessage("appName")

Wajib di manifest

"default_locale"

Chrome Web Store secara otomatis menampilkan nama dan deskripsi ekstensi Anda dalam locale pengunjung ketika _locales/ berisi folder bahasa mereka.

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

Kenapa tidak pakai alat generik saja?

Alat terjemahan serbaguna tidak memahami format Ekstensi Chrome.

LocalePack
Terjemahan manual
TMS generik
Waktu penyiapan2 menitBerjam-jam per bahasa30+ menit
Transparansi biaya
Keamanan format Chrome
Perlindungan placeholder
Kecepatan (52 bahasa)< 5 menitMingguJam
Paling cocok untukEkstensi ChromeProyek kecilAplikasi web perusahaan

Kisah Sukses

Proyek nyata yang menggunakan LocalePack untuk menjangkau audiens global hingga 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 studi kasus sukses

Dipercaya oleh pengembang ekstensi

“Menghemat saya berjam-jam pekerjaan yang membosankan. Saya mengunggah messages.json, lalu mendapatkan terjemahan sempurna dalam format persis yang saya butuhkan.”

Sarah K.

Pengembang indie, ekstensi AdBlock

“Akhirnya ada alat yang memahami format ekstensi Chrome. Tidak perlu lagi memperbaiki placeholder yang rusak setelah diterjemahkan.”

Marcus T.

Pengelola ekstensi

“Harga yang transparan adalah poin penentunya. Saya tahu persis berapa yang akan saya bayar sebelum mengunggah apa pun.”

Dev J.

Kontributor open source

52

Locale yang didukung

100%

Output aman untuk placeholder

ZIP

Siap dirilis

Pertanyaan yang sering diajukan

Semua yang perlu Anda ketahui 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 →

Siap merilis Ekstensi Chrome Anda secara global?

Bayar sekali - Unduh ZIP - Rilis secara global

Coba LocalePack
LocalePack
PanduanPrivasiKetentuanDukungan

© 2025 LocalePack. Hak cipta dilindungi undang-undang.

Proyek ini diterjemahkan dengan LocalePack logoLocalePack