分12こんにちは,太田です。Chrome拡張のローカライズ対応とギャラリーでの公開手順について,拡張の作り方を総まとめしつつお送りします。今回ローカライズする拡張はこれまで連載の中で何度か取りあえげてきたSBMカウンタをベースとして使用します。Counterと言う名称を用います。いうのも,英語圏でのはてなブックマークに相当するサービスとしてdeliciousやdiggなどがありますが,ブックマーク中心のdeliciousと,ソーシャル中心のdiggと違いがはっきりしており,はてなブックマークはその間に位置しています。いうわけで,ソーシャルカウンターとややくくりを大きくしました。i18nとl10ni18nはInternationalization(国際化)の略語(iとn間に18文字あるという意味です)で,l10nはLocalization(地域化)の略語です。ChromeのAPIとして用意されているのはi18nですが,主にローカライズのために使用することになります。APIの使い方を見ていきます。拡張のフォルダ直下に_localeというフォルダを作り,その中にさらに言語別のフォルダを作ります。47に従っているようです。指定が必須となる点に注意が必要です。Chromeの言語⁠)⁠。よって,Chrome本体がサポートする言語が増えれば,上記の一覧にも言語が追加されることになります。作成したフォルダの中に,今度はmessages.jsonというファイルを作成します。このファイルにキーワードと,それに対応するローカライズされたメッセージを記述していきます。A-Z,a-z,0-9,_(正規表現の\w相当)です。}}このmessageをchrome.i18n.getMessageで取得することができます。Scriptsでも使用することができます。設定さらに,placeholdersを使ってgetMessageに変数を渡すこともできます。はてなブックマークに追加さて,manifest.jsonのnameやdescriptionをローカライズするには,やや特殊な対応が必要です。manifest.jsonのnameとdescriptionを以下のように書き換えます。"__MSG_extDescription__",そして,messages.jsonには以下のようにフィールドを追加します。},manifest.jsonでの__MSG_NAME__のNAMEの部分が,messages.jsonのフィールドに一致するようにします。*/)を記述することが可能です。JSONとしてはパースできなくなるので,お薦めできません。JSONのフォーマットを手で書くとミスをしやすいので,JSON.stringifyメソッドで出力することをお薦めします。Inspectorのコンソールで以下のように実行すれば簡単に出力できます。コンソールでJSONをコピーcopy(JSON.stringify({name:"sample",version:"1.1"},null,2));chrome.i18n.getAcceptLanguagesgetAcceptLanguagesは,Chrome本体で設定している「ウェブサイトの表示に使用する言語」を取得できます。多くの場合,複数の言語が設定されており,優先される言語順に配列で取得することができます。含まれている場合だけ,日本語圏向けの情報を情報を表示するといった使い方ができます。l10n著者プロフィール太田昌吾(おおたしょうご,ハンドルネーム:os0x)1983年生まれ。JavaScriptをメインに,HTML/CSSにFlashなどのクライアントサイドを得意とするウェブエンジニア。Expertとして活動を開始。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。