LocalePack
ChromeFirefoxEdgeOperaSafariCWS-listning
Vue.jsReact
Next.jsi18nextReact Native
UtvecklarguiderFramgångsexempel
Specialbyggt för Firefox-tillägg

AI-lokalisering för Firefox-tillägg

Ladda upp din källfil messages.json, välj målspråk, betala en gång och ladda ner en _locales-ZIP som är redo att levereras.

Platshållarsäkra översättningar
Firefox-kompatibel messages.json
Transparent prissättning
messages.json
Källspråk (exempel)
{
  "appName": {
    "message": "My Extension",
    "description": "Name"
  },
  "welcomeMsg": {
    "message": "Hello, $USER$!",
    "placeholders": {
      "user": {
        "content": "$1"
      }
    }
  }
}
Tyska (utdata)
{
  "appName": {
    "message": "Meine Erweiterung",
    "description": "Name"
  },
  "welcomeMsg": {
    "message": "Hallo, $USER$!",
    "placeholders": {
      "user": {
        "content": "$1"
      }
    }
  }
}
52 locales

Så fungerar det

Tre enkla steg för att lokalisera ditt Firefox-tillägg. Översättningarna körs efter betalning – vi köar jobb och genererar ZIP-filen på några minuter.

01

Ladda upp

Släpp din källfil messages.json. Vi tolkar den direkt och validerar formatet för Firefox-tillägg.

02

Välj språk och se pris

Välj bland 52 språk. Se transparent prissättning baserad på din filstorlek innan du betalar.

03

Ladda ner ZIP

Betala en gång via Stripe. Vi genererar alla _locales/{lang}/messages.json-filer och paketerar dem i en ZIP.

Live-demo av prissättning

Transparent prisberäknare

Se exakt vad du kommer att betala innan du laddar upp. Slutpriset beräknas efter uppladdning baserat på stränglängd och valda språk.

1. Ladda upp fil

Släpp messages.json här

eller klicka för att bläddra

Endast Firefox WebExtension-format. Max 500KB.

2. Välj språk

|

3 av 55 språk valda

3. Din uppskattning

Valda språk3

Slutpriset beräknas efter filuppladdning på kassasidan

Engångsbetalning • Ingen prenumeration

Byggt för utvecklare

Specialbyggt för Firefox-tilläggs locale-format. Inte ett generiskt översättningsverktyg.

Anpassat för Firefox-format

Byggt specifikt för Firefox-tilläggs messages.json-struktur med stöd för message, description och placeholders.

Platshållarskydd

Bevarar $PLACEHOLDER$-syntaxen exakt som den är. Dina variabler förblir intakta på alla språk.

Beskrivningskontext

Vi läser dina description-fält och använder dem som kontextledtrådar för mer träffsäkra AI-översättningar.

ZIP-export redo

Ladda ner en ZIP med korrekt _locales/{lang}/messages.json-mappstruktur. Lägg in den i ditt tillägg.

Parallell bearbetning

Alla språk översätts samtidigt. De flesta jobb blir klara på under 5 minuter.

Engångsbetalning

Inga prenumerationer, inga månadsavgifter. Betala en gång per jobb, ladda ner för alltid.

Så fungerar i18n i tillägget Firefox

Firefox WebExtensions använder samma messages.json-format under _locales/. Fältet "default_locale" i manifest.json krävs alltid när katalogen _locales/ finns — om det utelämnas blir tillägget avvisat. browser.i18n-API:t läser lokaliseringssträngar vid körning, med fullt stöd för $PLACEHOLDER$-ersättning.

_locales/-mappstruktur
_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" }
    }
  }
}

Runtime-API

browser.i18n

Exempelanrop

browser.i18n.getMessage("appName")

Krävs i manifestet

"default_locale"

AMO (addons.mozilla.org) visar ditt tilläggs namn och beskrivning på granskarens språk när _locales/ finns. Konsekventa översättningar i alla språkversioner förbättrar godkännandefrekvensen i butiken.

Fördjupning i Firefox i18n →

Firefox and AMO work differently

Firefox reads the same file format as Chrome, but Mozilla's store handles listing text in a completely separate place.

Same format, different namespace
Firefox reads the identical _locales/{locale}/messages.json layout. The runtime namespace is browser.i18n rather than chrome.i18n, with full $PLACEHOLDER$ support.
default_locale is required
Whenever the _locales/ directory exists, manifest.json must declare default_locale. Omitting it causes the add-on to be rejected.
Your AMO listing is a separate job
The name, summary, and description shown on addons.mozilla.org are not read from _locales/. They are localized separately in the AMO developer hub — Mozilla lets you translate nearly all listing text, including the add-on name.
Mozilla has no translator pipeline
Mozilla has publicly acknowledged it has no way to connect extension developers with the translation community at scale, which is why most AMO listings stay English-only.

Shipping a fully localized _locales/ folder does not localize your AMO page. Those are two separate pieces of work.

Varför inte bara använda generiska verktyg?

Översättningsverktyg för allmänt bruk förstår inte Firefox-tillägg-formatet.

LocalePack
Manuell översättning
Generiskt TMS
Uppstartstid2 minuterTimmar per språk30+ minuter
Kostnadstransparens
Säkerhet för Firefox-format
Platshållarskydd
Hastighet (52 språk)< 5 minVeckorTimmar
Bäst förFirefox-tilläggSmå projektWebbappar för företag

Framgångsexempel

Riktiga projekt som använde LocalePack för att nå en global publik på upp till 52 språk.

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.

Visa alla framgångsexempel

Betrott av tilläggsutvecklare

“Sparade mig timmar av tråkigt arbete. Laddade upp min messages.json och fick tillbaka perfekta översättningar i exakt det format jag behövde.”

Sarah K.

Indieutvecklare, AdBlock-tillägg

“Äntligen ett verktyg som förstår Firefox-tilläggsformatet. Inget mer fixande av trasiga platshållare efter översättning.”

Marcus T.

Tilläggsförvaltare

“Transparent prissättning var det som avgjorde. Jag visste exakt vad jag skulle betala innan jag laddade upp något.”

Dev J.

Bidragsgivare till öppen källkod

52

Språkversioner som stöds

100%

Platshållarsäkert resultat

ZIP

Redo att leverera

Vanliga frågor

Allt du behöver veta om LocalePack.

Related developer guides

Deep dives on the formats, APIs and errors behind this page — written for developers, not translators.

Firefox WebExtensions i18n: messages.json reference

Using browser.i18n in Firefox add-ons: the messages.json format, AMO localization requirements, and how to avoid common pitfalls on addons.mozilla.org.

Localizing your Firefox AMO listing

How to localize an add-on listing on addons.mozilla.org: which fields can be translated, the 250-character summary ceiling and what it costs you in German and Russian, and the per-locale Developer Hub workflow.

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.

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.

Browser extension i18n without a TMS subscription

Why Crowdin, Lokalise, and Phrase are overkill for most browser extension projects — and three real alternatives for indie developers who need to translate messages.json without a monthly subscription.

Browse all guides →

Redo att lansera din Firefox-tillägg globalt?

Betala en gång – Ladda ner ZIP – Lansera globalt

Prova LocalePack
LocalePack
GuiderIntegritetVillkorSupport

© 2025 LocalePack. Alla rättigheter förbehållna.

Det här projektet översattes med LocalePack logoLocalePack