酢ろぐ!スマートフォン用の表示で見る酢ろぐ!カレーが嫌いなスマートフォンアプリプログラマのブログ。RTにアプリストアを経由して配布されます。世界中のWindowsユーザーにアプリケーションを配布することが容易であり、かつ英語に対応させるだけでも対象となるユーザーが増えることを考えると、日本語にしか対応しないアプリケーションを作るのは非常にもったいないです。アプリケーション内部のテキストをローカライズ(多言語)対応したアプリケーションを作ってみましょう。ローカライズするには、プログラムとXAMLで対応する方法が2通りあります。**文字列リソースファイルを追加するプロジェクトに文字列リソースファイルを追加しましょう。アプリの構成は、下図のようにstringsフォルダ配下に「英語(en)」「日本語(ja)」のフォルダを作成し、それぞれのフォルダ配下に「リソースファイル(.resw)」を配置しておきます。文字列リソースファイルの名前は、両方とも同じResources.reswにしておきます。**Resources.reswの定義値Resources.reswの定義値は、「名前」と「値」を定義して、プログラム及びXAMLからは名前を指定して「値」を取得します。名前を「LabelError」、値を「エラーが発生しました」のように定義します。プログラムでリソースファイルから文言を取得する場合は、「名前」をそのまま指定すれば良いのですが、XAMLで対応する場合はルールが少し異なります。XAMLでUidプロパティを指定する場合は、以下のような定義ルールがあります。||<例えば、TextBlockコントロールのText部分をローカライズしたい場合、「HelloWorld」と「.(ドット)」を入れて「Text」という名前にします。ここでは、「英語(en)」「日本語(ja)」のリソースファイルを下表のように定義しておきます。|ButtonHello.Content|こんにちは!|**ローカライズする以下のXAMLで定義している2つのボタンに対して、上記で用意した文字列リソースファイルを表示言語の設定ごとに切り替えて対応させてみましょう。Width="145"/></Grid>||<**XAMLでボタンのContent部分をローカライズするXAMLで対応する場合は、プログラムを触らずに対応することが可能です。x:Uidに「ButtonHello」と設定します。|xml|||<**プログラムでボタンのContent部分をローカライズするWindows.ApplicationModel.Resources.Core名前空間のResourceManagerクラスから現在実行中のアプリケーションのリソースマップを取得します。MainPage.xaml.csのコンストラクタ内で、設定されている言語にマッチした値を取得します。ここではボタンのテキスト部分を言語設定によって変更させます。実際に「日本語(日本)」と「English(米国)」に表示言語を切り替えて、同じアプリを起動してスクリーンショットを撮影しました。API)を使ってアプリ開発する際に逆引きとしてお使いください。方向性を定めず、その時興味のあるネタを書いています。嫌いな食べ物はカレーです。関連記事WindowsストアアプリでFolderPickerを使って...Objective-Cで書かれたXcodeプロジェクトをWi...OneDriveロゴを利用する際のガイドラインWindowsストアアプリでWebViewのスクロールを抑止...WindowsストアアプリでWriteableBitmapE...注目記事はてなブログをはじめよう!ch3cooh393さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。