はじめに前回の記事では、Xamarin.Formsで線形と放射状のグラデーションを使い分けて矩形と円を描画するコントロールを作成しました。本記事では、Xamarin.Formsで、日本語を既定の言語にして多言語対応する方法を紹介します。多言語対応とは日本語以外の言語でアプリを表示できるようにすることです。ほとんどの場合、対象ユーザーを日本人だけにするより、英語でもリリースした方がアプリのダウンロード数は多くなります。対象となるユーザーの数が日本人だけより何十倍も増えるためです。多言語対応は、後からやろうとすると手間がかかるため、最初から仕組みだけは作っておいた方が良いと思います。Xamarin.Formsで既定の言語を英語とする前提での多言語対応の記事は多くあります。本稿では、日本語を既定の言語にする方法を紹介します。既定の言語を日本語にすると、何が嬉しいかというと、下図のようにリソース文字列のインテリセンスで日本語の文字列が表示される点です。日本語と英語のリソース文字列を同時に定義するのが面倒な場合、とりあえず既定の言語である日本語のリソース文字列だけを定義して、英語のリソース文字列は未定義のままにしておけます(英語のリソース文字列が未定義で英語で表示しようとした場合、既定の言語である日本語のリソース文字列が表示されます)。基本的な多言語対応として、コードビハインドとxamlでリソース文字列を取得する方法を紹介します。この章の内容は、英語を既定の言語にする場合と同じです。従って、下記の記事に書いてあることと、だいたい同じです。いうファイルを作成します。任意のリソース文字列を設定します。ここでは例として「LabelText」という名前で「日本語テキスト」というリソース文字列を設定しています。コードビハインドでリソース文字列を利用コードビハインドでリソース文字列を利用する場合は、AppResourceクラスのプロパティでリソース文字列を取得できます。テキストにリソース文字列を設定する例です。xamlでリソース文字列を利用xamlでリソース文字列を利用する場合は、まずxamlのマークアップ拡張を定義するクラスとしてTranslateExtensionクラスを作成します。AppResource.resxに定義したリソース文字列を取得します。日本語を既定の言語にして多言語対応する手順この章で、日本語を既定の言語にする方法を説明します。部分が英語を意味します)。以下のように、同じキー名([名前]列の値)で、英語用に別のリソース文字列を定義します。既定の言語を変更するデフォルトでは既定の言語は英語になっているため、以下の方法で既定の言語を日本語に変更します。共通プロジェクトの[プロパティ]-[パッケージ]で既定の言語を「日本語(日本)」に変更します。UWPとAndroidとiOSのプロジェクトで既定の言語を変更UWPとAndroidとiOSのAssemblyInfoに既定の言語の設定を追加します。具体的には、以下の行を末尾に追加します。アプリの起動中に使用する言語を指定するここまでの手順で、英語と日本語のリソース文字列が定義済みであれば、以下のようにカルチャを用いて言語を指定することで、その言語のリソース文字列を表示できます。Appクラスのコンストラクタなど、アプリの起動時に設定可能です。CultureInfo("en-US");アプリを起動したプラットフォームの言語を元に、自動的にカルチャを設定する方法は、以下の記事を参照ください。DocsAndroidの場合の例を以下に記載します。以下のコードを実行すると、プラットフォームの言語を元に自動的に適したカルチャを設定します。まとめ日本語を既定の言語にして、多言語対応する方法を紹介しました。本稿で説明したソースコードは以下から取得できます。Twitterにて、10年以上のツール開発経験を元に、C#/Javascript/React/設計技法/チームビルディングの有用な情報を発信しています。こちら↓のURLにあるツールを作ったりしています。upLoginユーザーは見つかりませんでした。