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

Penyetempatan AI untuk Sambungan Safari

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

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 Safari WebExtension 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 Safari. Bukan alat terjemahan generik.

Serasi dengan format Safari

Dibina khusus untuk struktur messages.json Sambungan Safari 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 Safari berfungsi

Safari Web Extensions menggunakan format WebExtension yang sama seperti Chrome dan Firefox — struktur _locales/{locale}/messages.json yang serupa sepenuhnya. Apple menerima pakai format standard untuk memudahkan pemindahan sambungan sedia ada. API browser.i18n tersedia dalam Safari Web Extensions, dan output LocalePack serasi sepenuhnya.

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

browser.i18n

Contoh panggilan

browser.i18n.getMessage("appName")

Diperlukan dalam manifest

"default_locale"

Mac App Store dan iOS App Store memaparkan nama dan perihalan sambungan anda yang dilokalkan apabila _locales/ mengandungi bahasa pengguna. App Store Connect menghormati kod lokal dalam folder _locales/ anda.

Nota i18n Safari Web Extensions →

Safari shares the format, not the pipeline

Apple adopted the standard WebExtension format, so your locale files port directly — the difference is in how Safari extensions are built and distributed.

Standard WebExtension layout
Safari Web Extensions use the same _locales/{locale}/messages.json structure as Chrome and Firefox. Apple adopted the standard format specifically to make porting existing extensions straightforward.
browser.i18n is available
The browser.i18n API works in Safari Web Extensions, so runtime string lookup behaves the way it does on Firefox.
Distribution runs through App Store Connect
Unlike the other browsers, a Safari extension is distributed through the Mac and iOS App Stores, so store metadata is managed in App Store Connect rather than a web dashboard.
One source, every browser
Because the format is shared, the same messages.json you translate for Chrome covers Safari — you are porting a build, not redoing localization.

Safari's format compatibility is real, but its build and submission pipeline is not shared with the Chromium browsers — budget time for that separately.

Mengapa tidak gunakan alat generik sahaja?

Alat terjemahan tujuan umum tidak memahami format Sambungan Safari.

LocalePack
Terjemahan manual
TMS generik
Masa persediaan2 minitBerjam-jam setiap bahasa30+ minit
Ketelusan kos
Keselamatan format Safari
Perlindungan placeholder
Kelajuan (52 bahasa)< 5 minMingguJam
Paling sesuai untukSambungan SafariProjek 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 Safari. 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.

Safari Web Extensions localization notes

How Safari Web Extensions use the same messages.json/_locales format as Chrome and Firefox, and what to know for Mac App Store submission.

messages.json format explained (with placeholders)

A complete reference for the WebExtension messages.json format: the message, description, and placeholders fields, $PLACEHOLDER$ syntax, $1 positional substitutions, and common mistakes.

Store listing localization vs in-extension i18n (Chrome + AMO pitfalls)

The difference between localizing your Chrome Web Store listing and localizing in-extension strings — and the _MSG_ pattern that bridges them.

Chrome extension locale codes: all 55

Every locale code Chrome accepts as a _locales folder name, with language and native names, the underscore-vs-hyphen trap that makes pt-BR silently ignored, and how Chrome picks a locale at runtime.

Browse all guides →

Bersedia untuk menghantar Sambungan Safari 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