LocalePack
ChromeFirefoxEdgeOperaSafariCWS sąrašas
Vue.jsReact
Next.jsi18nextReact Native
Kūrėjų gidaiSėkmės istorijos
Sukurta specialiai Safari plėtiniams

DI lokalizacija Safari plėtiniai

Įkelkite savo pradinį messages.json, pasirinkite tikslines kalbas, sumokėkite vieną kartą ir atsisiųskite paruoštą pristatymui _locales ZIP.

Saugūs vertimai su vietos rezervavimo ženklais
Suderinama su Safari messages.json
Skaidri kainodara
messages.json
Pradinė kalba (pavyzdys)
{
  "appName": {
    "message": "My Extension",
    "description": "Name"
  },
  "welcomeMsg": {
    "message": "Hello, $USER$!",
    "placeholders": {
      "user": {
        "content": "$1"
      }
    }
  }
}
Vokiečių (rezultatas)
{
  "appName": {
    "message": "Meine Erweiterung",
    "description": "Name"
  },
  "welcomeMsg": {
    "message": "Hallo, $USER$!",
    "placeholders": {
      "user": {
        "content": "$1"
      }
    }
  }
}
52 locales

Kaip tai veikia

Trys paprasti žingsniai, kad lokalizuotumėte savo Safari plėtinys. Vertimai vykdomi po apmokėjimo — mes sudedame užduotis į eilę ir per kelias minutes sugeneruojame ZIP.

01

Įkelti

Įmeskite savo pradinį messages.json failą. Mes jį iškart apdorojame ir patikriname Safari plėtinys formato atitiktį.

02

Pasirinkite kalbas ir pamatykite kainą

Rinkitės iš 52 kalbų. Prieš mokėdami matykite skaidrią kainodarą pagal failo dydį.

03

Atsisiųskite ZIP

Sumokėkite vieną kartą per „Stripe“. Mes sugeneruojame visus _locales/{lang}/messages.json failus ir supakuojame juos į ZIP.

Tiesioginė kainodaros demonstracija

Skaidrios kainodaros skaičiuoklė

Tiksliai pamatykite, kiek mokėsite prieš įkeldami. Galutinė kaina apskaičiuojama po įkėlimo pagal eilučių ilgį ir pasirinktas kalbas.

1. Įkelkite failą

Nuvilkite messages.json čia

arba spustelėkite, kad naršytumėte

Tik Safari WebExtension formatas. Maks. 500 KB.

2. Pasirinkite kalbas

|

Pasirinkta 3 iš 55 kalbų

3. Jūsų įkainis

Pasirinktos kalbos3

Galutinė kaina apskaičiuojama po failo įkėlimo atsiskaitymo puslapyje

Vienkartinis mokėjimas • Be prenumeratos

Sukurta programuotojams

Sukurta specialiai Safari plėtinys lokalės formatui. Ne bendro pobūdžio vertimo įrankis.

Pritaikyta Safari formatui

Sukurta specialiai Safari plėtinys messages.json struktūrai su message, description ir placeholders palaikymu.

Vietos rezervavimo žymų apsauga

Tiksliai išsaugo $PLACEHOLDER$ sintaksę. Jūsų kintamieji išlieka nepakitę visomis kalbomis.

Aprašymo kontekstas

Skaitome jūsų description laukus ir naudojame juos kaip konteksto užuominas tikslesniems DI vertimams.

Paruoštas ZIP eksportas

Atsisiųskite ZIP su teisinga _locales/{lang}/messages.json aplankų struktūra. Įkelkite jį į savo plėtinį.

Lygiagretus apdorojimas

Visos kalbos verčiamos vienu metu. Dauguma užduočių užbaigiamos per mažiau nei 5 minutes.

Vienkartinis mokėjimas

Jokių prenumeratų, jokių mėnesinių mokesčių. Mokėkite vieną kartą už užduotį, atsisiųskite visam laikui.

Kaip veikia Safari plėtinio i18n

Safari Web Extensions naudoja tą patį WebExtension formatą kaip Chrome ir Firefox — identišką _locales/{locale}/messages.json struktūrą. Apple perėmė standartinį formatą, kad būtų lengva perkelti esamus plėtinius. browser.i18n API yra prieinamas Safari Web Extensions, o LocalePack išvestis yra visiškai suderinama.

_locales/ aplankų struktūra
_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" }
    }
  }
}

Vykdymo laiko API

browser.i18n

Pavyzdinis iškvietimas

browser.i18n.getMessage("appName")

Privaloma manifeste

"default_locale"

Mac App Store ir iOS App Store rodo jūsų plėtinio lokalizuotą pavadinimą ir aprašą, kai _locales/ turi naudotojo kalbą. App Store Connect laikosi lokalės kodų, esančių jūsų _locales/ aplanke.

Safari Web Extensions i18n pastabos →

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.

Kodėl tiesiog nenaudoti bendrinių įrankių?

Bendro pobūdžio vertimo įrankiai nesupranta Safari plėtinys formato.

LocalePack
Rankinis vertimas
Bendro pobūdžio TMS
Diegimo laikas2 minutėsValandos vienai kalbai30+ minučių
Kainos skaidrumas
Safari formato saugumas
Vietos rezervavimo žymų apsauga
Greitis (52 kalbos)< 5 min.SavaitėsValandos
Geriausiai tinkaSafari plėtiniaiMaži projektaiĮmonių žiniatinklio programos

Sėkmės istorijos

Tikri projektai, kurie naudojo LocalePack, kad pasiektų pasaulinę auditoriją iki 52 kalbomis.

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.

Peržiūrėti visus sėkmės atvejus

Plėtinių kūrėjų pasitikėjimas

“Sutaupė man valandų nuobodaus darbo. Įkėliau savo messages.json ir gavau nepriekaištingus vertimus tiksliai tokiu formatu, kokio man reikėjo.”

Sarah K.

Nepriklausoma kūrėja, AdBlock plėtinys

“Pagaliau įrankis, kuris supranta Safari plėtinių formatą. Daugiau nebereikia taisyti sugadintų vietaženklių po vertimo.”

Marcus T.

Plėtinio prižiūrėtojas

“Skaidri kainodara buvo lemiamas argumentas. Tiksliai žinojau, kiek mokėsiu, dar prieš ką nors įkeldamas.”

Dev J.

Atvirojo kodo bendraautoris

52

Palaikomos lokalės

100%

Vietaženkliams saugus rezultatas

ZIP

Paruošta išleisti

Dažniausiai užduodami klausimai

Viskas, ką reikia žinoti apie 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 →

Pasiruošę išleisti savo Safari plėtinys visame pasaulyje?

Sumokėkite vieną kartą – Atsisiųskite ZIP – Išleiskite visame pasaulyje

Išbandykite LocalePack
LocalePack
GidaiPrivatumasSąlygosPagalba

© 2025 LocalePack. Visos teisės saugomos.

Šis projektas buvo išverstas naudojant LocalePack logoLocalePack