
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.
원본 messages.json을 업로드하고 대상 언어를 선택한 뒤, 한 번만 결제하면 바로 배포 가능한 _locales ZIP을 다운로드할 수 있습니다.
Firefox 부가 기능 로컬라이제이션을 위한 간단한 3단계. 결제 후 번역이 실행되며, 작업을 대기열에 넣고 몇 분 안에 ZIP을 생성합니다.
원본 messages.json 파일을 드롭하세요. 즉시 파싱하고 Firefox 부가 기능 형식을 검증합니다.
52개 언어 중에서 선택하세요. 결제 전에 파일 크기를 기준으로 한 투명한 가격을 확인할 수 있습니다.
Stripe로 한 번만 결제하세요. 모든 _locales/{lang}/messages.json 파일을 생성하고 ZIP으로 묶어 제공합니다.
업로드 전에 결제 금액을 정확히 확인하세요. 최종 견적은 업로드 후 문자열 길이와 선택한 언어를 기준으로 계산됩니다.
여기에 messages.json을 드롭하세요
또는 클릭하여 찾아보기
Firefox WebExtension 형식만 지원. 최대 500KB.
총 55개 언어 중 3개 선택됨
최종 가격은 결제 페이지에서 파일 업로드 후 계산됩니다
일회성 결제 • 구독 없음
Firefox 부가 기능 로케일 형식에 맞춰 설계되었습니다. 범용 번역 도구가 아닙니다.
message, description, placeholder 지원을 포함한 Firefox 부가 기능 messages.json 구조에 맞춰 특별히 제작되었습니다.
$PLACEHOLDER$ 구문을 있는 그대로 정확히 보존합니다. 모든 언어에서 변수가 그대로 유지됩니다.
description 필드를 읽어 컨텍스트 힌트로 활용해 더 정확한 AI 번역을 제공합니다.
올바른 _locales/{lang}/messages.json 폴더 구조로 ZIP을 다운로드하세요. 확장 프로그램에 넣기만 하면 됩니다.
모든 언어가 동시에 번역됩니다. 대부분의 작업은 5분 이내에 완료됩니다.
구독도, 월 요금도 없습니다. 작업당 한 번만 결제하고, 언제든 다운로드하세요.
Firefox WebExtensions는 _locales/ 아래에서 동일한 messages.json 형식을 사용합니다. _locales/ 디렉터리가 존재할 때는 manifest.json의 "default_locale" 필드가 필수이며, 이를 누락하면 부가 기능이 거부됩니다. browser.i18n API는 런타임에 로케일 문자열을 읽으며, $PLACEHOLDER$ 치환을 완전히 지원합니다.
_locales/
├── en/
│ └── messages.json ← default_locale
├── de/
│ └── messages.json
├── fr/
│ └── messages.json
└── ja/
└── messages.json{
"appName": {
"message": "My Extension",
"description": "Extension name"
},
"greeting": {
"message": "Hello, $USER$!",
"placeholders": {
"user": { "content": "$1" }
}
}
}런타임 API
browser.i18n호출 예시
browser.i18n.getMessage("appName")manifest에 필수
"default_locale"AMO(addons.mozilla.org)는 _locales/가 존재하면 검토자의 로케일에 맞춰 부가 기능 이름과 설명을 표시합니다. 모든 로케일에서 일관된 번역은 스토어 승인률을 높입니다.
Firefox reads the same file format as Chrome, but Mozilla's store handles listing text in a completely separate place.
Shipping a fully localized _locales/ folder does not localize your AMO page. Those are two separate pieces of work.
범용 번역 도구는 Firefox 부가 기능 형식을 이해하지 못합니다.
LocalePack | 수동 번역 | 범용 TMS | |
|---|---|---|---|
| 설정 시간 | 2분 | 언어당 수시간 | 30분 이상 |
| 비용 투명성 | |||
| Firefox 형식 안전성 | |||
| 플레이스홀더 보호 | |||
| 속도(52개 언어) | < 5분 | 주 | 시간 |
| 가장 적합한 경우 | Firefox 부가 기능 | 소규모 프로젝트 | 엔터프라이즈 웹 앱 |
LocalePack을 사용해 최대 52개 언어로 전 세계 사용자에게 도달한 실제 프로젝트들.

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.

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.

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.

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.
“지루한 작업 시간을 몇 시간이나 절약해줬어요. messages.json을 업로드하니, 제가 필요로 하던 정확한 형식 그대로 완벽한 번역이 돌아왔습니다.”
Sarah K.
인디 개발자, AdBlock 확장 프로그램
“드디어 Firefox 부가 기능 형식을 이해하는 도구가 나왔네요. 번역 후 깨진 플레이스홀더를 더 이상 고칠 필요가 없어요.”
Marcus T.
확장 프로그램 유지관리자
“투명한 가격 정책이 결정적이었어요. 무엇이든 업로드하기 전에 내가 얼마를 내게 될지 정확히 알 수 있었거든요.”
Dev J.
오픈 소스 기여자
52
지원 로케일
100%
플레이스홀더 안전 출력
ZIP
출시 준비 완료
LocalePack에 대해 알아야 할 모든 것.
Deep dives on the formats, APIs and errors behind this page — written for developers, not translators.
Using browser.i18n in Firefox add-ons: the messages.json format, AMO localization requirements, and how to avoid common pitfalls on addons.mozilla.org.
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.
A complete reference for the WebExtension messages.json format: the message, description, and placeholders fields, $PLACEHOLDER$ syntax, $1 positional substitutions, and common mistakes.
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.
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.