LocalePack
ChromeFirefoxEdgeOperaSafariLista w CWS
Vue.jsReact
Next.jsi18nextReact Native
Poradniki dla deweloperówHistorie sukcesu
Stworzone specjalnie dla rozszerzeń Safari

Lokalizacja AI dla Rozszerzenia Safari

Prześlij źródłowy plik messages.json, wybierz języki docelowe, zapłać jednorazowo i pobierz gotowy do publikacji ZIP z _locales.

Tłumaczenia bezpieczne dla placeholderów
Zgodne z Safari messages.json
Przejrzyste ceny
messages.json
Język źródłowy (przykład)
{
  "appName": {
    "message": "My Extension",
    "description": "Name"
  },
  "welcomeMsg": {
    "message": "Hello, $USER$!",
    "placeholders": {
      "user": {
        "content": "$1"
      }
    }
  }
}
Niemiecki (wynik)
{
  "appName": {
    "message": "Meine Erweiterung",
    "description": "Name"
  },
  "welcomeMsg": {
    "message": "Hallo, $USER$!",
    "placeholders": {
      "user": {
        "content": "$1"
      }
    }
  }
}
52 locales

Jak to działa

Trzy proste kroki, aby zlokalizować Twoje Rozszerzenie Safari. Tłumaczenia uruchamiamy po płatności — kolejkujemy zadania i generujemy ZIP w kilka minut.

01

Prześlij

Upuść źródłowy plik messages.json. Natychmiast go analizujemy i weryfikujemy format Rozszerzenie Safari.

02

Wybierz języki i sprawdź cenę

Wybierz spośród 52 języków. Zobacz przejrzystą wycenę na podstawie rozmiaru pliku, zanim zapłacisz.

03

Pobierz ZIP

Zapłać jednorazowo przez Stripe. Generujemy wszystkie pliki _locales/{lang}/messages.json i pakujemy je do ZIP.

Demo cen na żywo

Przejrzysty kalkulator cen

Zobacz dokładnie, ile zapłacisz, zanim prześlesz plik. Ostateczna wycena jest obliczana po przesłaniu na podstawie długości tekstów i wybranych języków.

1. Prześlij plik

Upuść tutaj messages.json

lub kliknij, aby przeglądać

Tylko format Safari WebExtension. Maks. 500KB.

2. Wybierz języki

|

Wybrano 3 z 55 języków

3. Twoja wycena

Wybrane języki3

Cena końcowa zostanie obliczona po przesłaniu pliku na stronie kasy

Płatność jednorazowa • Bez subskrypcji

Stworzone dla deweloperów

Stworzone z myślą o formacie lokalizacji Rozszerzenie Safari. To nie jest ogólne narzędzie do tłumaczeń.

Obsługa formatu Safari

Zaprojektowane specjalnie pod strukturę messages.json Rozszerzenie Safari z obsługą pól message, description oraz placeholders.

Ochrona placeholderów

Zachowuje składnię $PLACEHOLDER$ dokładnie bez zmian. Twoje zmienne pozostają nienaruszone we wszystkich językach.

Kontekst z opisu

Odczytujemy pola description i wykorzystujemy je jako wskazówki kontekstowe, aby uzyskać dokładniejsze tłumaczenia AI.

Eksport ZIP gotowy

Pobierz ZIP z poprawną strukturą folderów _locales/{lang}/messages.json. Wystarczy dodać go do rozszerzenia.

Przetwarzanie równoległe

Wszystkie języki są tłumaczone jednocześnie. Większość zadań kończy się w mniej niż 5 minut.

Płatność jednorazowa

Bez subskrypcji, bez miesięcznych opłat. Płać raz za zadanie, pobieraj bez ograniczeń.

Jak działa i18n rozszerzenia Safari

Safari Web Extensions używają tego samego formatu WebExtension co Chrome i Firefox — identycznej struktury _locales/{locale}/messages.json. Apple przyjęło standardowy format, aby ułatwić przenoszenie istniejących rozszerzeń. API browser.i18n jest dostępne w Safari Web Extensions, a wynik LocalePack jest w pełni kompatybilny.

Struktura folderu _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 w czasie działania

browser.i18n

Przykładowe wywołanie

browser.i18n.getMessage("appName")

Wymagane w manifeście

"default_locale"

Mac App Store i iOS App Store wyświetlają zlokalizowaną nazwę i opis Twojego rozszerzenia, gdy _locales/ zawiera język użytkownika. App Store Connect respektuje kody locale w Twoim folderze _locales/.

Uwagi o i18n w 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.

Dlaczego nie użyć po prostu ogólnych narzędzi?

Narzędzia do tłumaczeń ogólnego przeznaczenia nie rozumieją formatu Rozszerzenie Safari.

LocalePack
Tłumaczenie ręczne
Ogólny TMS
Czas konfiguracji2 minutyGodziny na język30+ minut
Przejrzystość kosztów
Bezpieczeństwo formatu Safari
Ochrona placeholderów
Szybkość (52 języki)< 5 minTygodnieGodziny
Najlepsze dlaRozszerzenia SafariMałe projektyKorporacyjne aplikacje webowe

Historie sukcesu

Prawdziwe projekty, które wykorzystały LocalePack, aby dotrzeć do globalnej publiczności w nawet 52 językach.

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.

Zobacz wszystkie historie sukcesu

Zaufany przez twórców rozszerzeń

“Zaoszczędziło mi godziny żmudnej pracy. Wgrałam swój messages.json i dostałam idealne tłumaczenia w dokładnie takim formacie, jakiego potrzebowałam.”

Sarah K.

Niezależna deweloperka, rozszerzenie AdBlock

“Wreszcie narzędzie, które rozumie format rozszerzeń Safari. Koniec z poprawianiem zepsutych placeholderów po tłumaczeniu.”

Marcus T.

Opiekun rozszerzenia

“Przejrzysty cennik był decydujący. Dokładnie wiedziałem, ile zapłacę, zanim cokolwiek przesłałem.”

Dev J.

Współtwórca open source

52

Obsługiwane języki

100%

Wynik bezpieczny dla placeholderów

ZIP

Gotowe do wdrożenia

Najczęściej zadawane pytania

Wszystko, co musisz wiedzieć o 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 →

Gotowy(-a) wysłać swoje Rozszerzenie Safari na cały świat?

Płać raz – Pobierz ZIP – Wysyłaj globalnie

Wypróbuj LocalePack
LocalePack
PoradnikiPrywatnośćRegulaminPomoc

© 2025 LocalePack. Wszelkie prawa zastrzeżone.

Ten projekt został przetłumaczony za pomocą LocalePack logoLocalePack