LocalePack
ChromeFirefoxEdgeOperaSafariCWS 掲載ページ
Vue.jsReact
Next.jsi18nextReact Native
開発者向けガイド導入事例
Firefox アドオン向けに最適化

AI ローカリゼーションで Firefox アドオン

元の messages.json をアップロードし、対象言語を選び、1回の支払いで、すぐに公開できる _locales の ZIP をダウンロードできます。

プレースホルダー安全な翻訳
Firefox の messages.json に準拠
明確な料金体系
messages.json
ソース言語(例)
{
  "appName": {
    "message": "My Extension",
    "description": "Name"
  },
  "welcomeMsg": {
    "message": "Hello, $USER$!",
    "placeholders": {
      "user": {
        "content": "$1"
      }
    }
  }
}
ドイツ語(出力)
{
  "appName": {
    "message": "Meine Erweiterung",
    "description": "Name"
  },
  "welcomeMsg": {
    "message": "Hallo, $USER$!",
    "placeholders": {
      "user": {
        "content": "$1"
      }
    }
  }
}
52 locales

仕組み

Firefox アドオン をローカライズするための簡単な3ステップ。翻訳は支払い後に実行され、ジョブをキューに入れて数分で ZIP を生成します。

01

アップロード

元の messages.json ファイルをドロップしてください。すぐに解析し、Firefox アドオン の形式を検証します。

02

言語を選択して料金を確認

52言語から選べます。支払い前に、ファイルサイズに基づく明確な料金を確認できます。

03

ZIP をダウンロード

Stripe で1回だけ支払います。すべての _locales/{lang}/messages.json ファイルを生成し、ZIP にまとめます。

リアルタイム料金デモ

明確な料金見積もり

アップロード前に支払い金額を正確に確認できます。最終見積もりは、アップロード後に文字列の長さと選択した言語に基づいて算出されます。

1. ファイルをアップロード

ここにmessages.jsonをドロップ

またはクリックして参照

Firefox WebExtension 形式のみ。最大 500KB。

2. 言語を選択

|

55言語中3言語を選択

3. お見積もり

選択した言語数3

最終価格は、チェックアウトページでファイルをアップロード後に算出されます

一括払い • サブスクリプションなし

開発者のために設計

Firefox アドオンのロケール形式に特化。汎用的な翻訳ツールではありません。

Firefox形式に対応

Firefox アドオンのmessages.json構造(message、description、placeholders)に特化して構築されています。

プレースホルダー保護

$PLACEHOLDER$構文をそのまま正確に保持します。変数はすべての言語でそのまま維持されます。

説明のコンテキスト

descriptionフィールドを読み取り、より正確なAI翻訳のためのコンテキストヒントとして活用します。

ZIPでエクスポート可能

正しい_locales/{lang}/messages.jsonのフォルダ構成でZIPをダウンロードできます。拡張機能にそのまま入れるだけです。

並列処理

すべての言語を同時に翻訳します。ほとんどのジョブは5分以内に完了します。

一括払い

サブスクなし、月額料金なし。ジョブごとに一度支払えば、いつでもダウンロードできます。

Firefox 拡張機能の i18n の仕組み

Firefox WebExtensions は _locales/ 配下で同じ messages.json 形式を使用します。_locales/ ディレクトリが存在する場合、manifest.json の "default_locale" フィールドは必須で、省略するとアドオンは却下されます。browser.i18n API は実行時にロケール文字列を読み込み、$PLACEHOLDER$ の置換を完全にサポートします。

_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

browser.i18n

呼び出し例

browser.i18n.getMessage("appName")

マニフェストで必須

"default_locale"

_locales/ が存在する場合、AMO(addons.mozilla.org)はレビュー担当者のロケールでアドオン名と説明を表示します。すべてのロケールで一貫した翻訳は、ストア承認率の向上につながります。

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.

なぜ汎用ツールではダメなのか?

汎用の翻訳ツールはFirefox アドオン形式を理解しません。

LocalePack
手動翻訳
汎用TMS
セットアップ時間2分言語ごとに数時間30分以上
料金の透明性
Firefox形式の安全性
プレースホルダー保護
速度(52言語)5分未満週時間
最適な用途Firefox アドオン小規模プロジェクトエンタープライズ向け Web アプリ

導入事例

LocalePack を使って、最大 52 言語でグローバルなユーザーに届けた実際のプロジェクト。

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.

成功事例をすべて見る

拡張機能開発者に信頼されています

“面倒な作業を何時間も節約できました。messages.json をアップロードしたら、必要な形式そのままで完璧な翻訳が返ってきました。”

Sarah K.

個人開発者、AdBlock 拡張機能

“ついに Firefox アドオン形式を理解するツールが登場。翻訳後に壊れたプレースホルダーを直す必要はもうありません。”

Marcus T.

拡張機能メンテナー

“透明な料金体系が決め手でした。何かをアップロードする前に、支払う金額が正確に分かりました。”

Dev J.

オープンソース貢献者

52

対応ロケール

100%

プレースホルダーを安全に保持

ZIP

すぐにリリース可能

よくある質問

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 →

Firefox アドオン を世界中にリリースする準備はできましたか?

一度支払い - ZIP をダウンロード - 世界中にリリース

LocalePackを試す
LocalePack
ガイドプライバシー利用規約サポート

© 2025 LocalePack. All rights reserved.

このプロジェクトは次を使用して翻訳されました LocalePack logoLocalePack