Chrome拡張機能の国際化(i18n)において、__MSG_***__ プレースホルダは、多言語対応を行うための重要な仕組みです。このプレースホルダは、拡張機能内のHTMLやマニフェストファイルで、表示する文字列を言語ファイル(_locales ディレクトリ以下)から動的に読み込むために使用されます。
基本構造
1. プレースホルダの形式
この形式で記述された箇所は、拡張機能の実行時に、現在のブラウザの言語設定に応じて _locales ディレクトリ内の対応するメッセージファイル(messages.json)から文字列に置き換えられます。
2. プレースホルダの使用場所
-
manifest.json -
HTMLファイル(
popup.html,options.htmlなど)
使用例
1. _locales/ja/messages.json
_locales/ja/messages.json
2. manifest.json
manifest.json
3. popup.html
popup.html
4. JavaScriptでの動的置換(HTML内)
HTMLファイル中の __MSG_***__ は自動では置き換わらないため、JavaScriptで次のように置換する必要があります:
注意点
-
manifest.jsonでは__MSG_***__は自動で置換されます(Chromeによって)。 -
HTMLでは自動では置換されないため、スクリプトによる明示的な処理が必要です。
-
_localesフォルダ内に各言語ごとのサブフォルダ(例:en,ja)を作成し、それぞれにmessages.jsonを配置する必要があります。 -
messages.jsonのmessageキーは必須であり、descriptionはオプションです。
まとめ
__MSG_***__ プレースホルダは、Chrome拡張機能の国際化対応において、ユーザーの言語環境に応じた文字列を表示するための強力な仕組みです。正しく設定すれば、多言語に対応した柔軟なUIを提供できます。
生成日:2025/05/18