分123Webアプリ本体の多言語化Webアプリ本体に含まれるラベルやテキストなどを多言語化します。AppsやExtensionsであればchrome.i18nというAPIが用意されており,messages.jsonに記述した各言語のテキストをWebアプリ内で取得することができます。Appsの場合残念ながらchrome.i18nを利用することができませんので,新たに仕組みを用意するか外部のフレームワークなどを利用する必要があります。Appsの多言語化として解説します。基本的な使い方は,各ロケールのmessages.jsonに定義されたメッセージをJavaScriptで取得する形となります。定義している“⁠appName⁠”を取得し,画面に表示するコードは次のようになります。appName;chrome.i18n以下のgetMessage()メソッドの第1引数にメッセージの名前を指定します。このメソッドで取得されるメッセージは,Webアプリを表示しているChromeブラウザの現在の言語設定によって決まります。Chromeブラウザに設定されている言語は,環境設定の「高度な設定」から確認,設定することができます。JavaScriptからWebアプリを表示しているChromeブラウザが対応する言語を取得することもできます。cosole.log(languages);});対応する言語は,getAcceptLanguages()メソッドを使います。第1引数にコールバックを指定し,対応言語の一覧を配列として受け取ります。固定のメッセージだけでなく,メッセージの内容を少し変えて表示したいという場合があるでしょう。その場合,プレースホルダー付きメッセージを使います。プレースホルダー付きメッセージは,メッセージの一部を変更できるように定義する必要があります。エラーメッセージの詳細を後から指定する場合には,messages.jsonファイルで次のように定義します。"登録に失敗しました。}}メッセージの名前を“⁠errorMessage⁠”としています。エラーメッセージの詳細となる部分をプレースホルダーとして“⁠$details$⁠”というように指定しています。プレースホルダーは,「⁠$プレースホルダー名$」というフォーマットでメッセージの中に記述します。新たに“⁠placeholders⁠”以下の定義を追加し,その中でプレースホルダーに対応する“⁠content⁠”を記述します。“⁠content⁠”には“⁠$1⁠”を指定していますが,この「$1」〜は,getMessage()メソッドのオプションとして渡される配列の各要素を表します。“⁠example⁠”は任意でプレースホルダーの例などを記述してください。'通信できませんでした。メッセージを取得する。表示しているブラウザの対応する言語を取得する。コールバックで言語の一覧を配列で受け取るCSSファイルへの埋め込み各メッセージは,CSSファイルへ直接埋め込むことができます。次のように記述することで,まるでプリプロセッサのようにChromeブラウザが自動的にメッセージ部分を変更して適用します。言語によって背景色が変わるようにしてみましょう。__MSG_color__;}“color⁠”という名前でメッセージを定義し,CSSファイル内で自動的に変更される部分をプレースホルダーとして“⁠__MSG_color__⁠”と記述しています。この記述方法は,メタ情報を多言語化する際にmanifest.jsonファイルに記述したものと同様です。このように,CSSファイルにもメッセージを適用することができます。自身で定義するメッセージ以外にも既に定義済みのメッセージがいくつかありますので必要に応じて使用してください。著者プロフィール吉川徹(よしかわとおる)普段は,普通のSIer。Webからローカルアプリケーション,データベースからインフラ周りに至るまで,何でも担当する雑食系。HTML5開発者コミュニティ「HTML5-developers-jp」で活動中。同コミュニティ主催の「HTML5とか勉強会」のスタッフを務め,HTML5の最新動向を追っている。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。