Win8 ストアアプリをよりたくさんの人に届ける:多言語対応 その1
#win8dev_jp
せっかく作った Windows ストア アプリケーション。できる限りたくさんの人に使ってもらいたいのが開発者の望み。より質の高いアプリケーションにしていくのが最も効果的で最も効率の良い方法です。
が、それをやったうえで更にたくさんの人に使ってもらうなら、多言語対応をしましょう。でも、沢山の言語に対応しなくても、まずは英語だけでOKなんです。
日本語アプリを英語対応にして海外にも公開しよう
本当に英語対応するだけでダウンロード数が伸びるのか?それはわかりませんが、海外に展開すれば当然ユーザーの数も増えることは間違いありません。
実データを見てみましょう。
Windows 8 アプリケーション:公開 ちょっと前:日英対応 ダウンロード 5000
- 日本からのダウンロードが半分弱
- 海外からのダウンロードが半分強
参考)Photogram on Windows Phone :公開1年弱 :日英対応 ダウンロード数 約32.5万
- 日本からのダウンロード数 5000弱
- 海外からのダウンロード数 32万強
- 米国からのダウンロード数 7万強、イタリア 約3万、フランス 約1万、イギリス 約2万
Windows Phone の場合、日本市場がこういう状態なのであくまで参考情報ですが、英語対応をするだけで英語圏以外の海外からもダウンロードされるようにになります。
考えてもみてください。我々日本人も英語のアプリケーションを使うことは少なくないでしょ?
現在の言語を判断する
では、プログラムの中でどのように言語を判断したらよいのか?
System.Globalization.CultureInfo.CurrentCulture.Name
です。日本語だったら “ja” が返ってきます。英語だったら “en” ですね。
参考:https://msdn.microsoft.com/ja-jp/library/windows/apps/jj657969.aspx
この、CurrentCulture には実に様々な情報が入っています。
もっとも簡単な多言語対応
表示しているメニューの数がそれほど多くない場合(たとえば20未満程度)なら起動時に言語を見てその内容をプログラムの中で変更してしまえばいいでしょう。
private void Grid_Loaded(object sender, RoutedEventArgs e)
{
if (CultureInfo.CurrentCulture.Name.StartsWith("ja"))
{
title.Text = "マイクロソフト";
corpName.Text = "日本マイクロソフト株式会社";
}
else
{
title.Text = "Microsoft";
corpName.Text = "Microsoft Co. Ltd,.";
}
}
うん。ベタですね。もっとシンプルにするならこんな書き方も。
bool bJa = CultureInfo.CurrentCulture.Name.StartsWith("ja");
title.Text = bJa? "マイクロソフト" : "Microsoft";
corpName.Text = bJa ? "日本マイクロソフト株式会社": "Microsoft Co. Ltd,.";
関数化しちゃったり
title.Text = cstring( "マイクロソフト" , "Microsoft" );
corpName.Text = cstring( "日本マイクロソフト株式会社", "Microsoft Co. Ltd,." );
}
private static String cstring(String txtJapan, String txtEnglish)
{
return CultureInfo.CurrentCulture.Name.StartsWith("ja") ? txtJapan : txtEnglish;
}
ベタですが、それなりに効果的です。
他の国に配布する
後はストアに出す際に、配布対象国を増やせばいいわけです。
これは、申請時の2つ目のプロセス、「販売の詳しい情報」で設定します。
簡単に、「すべてを選ぶ」で世界中を選んでしまってもいいかもしれません。ただし、有償のアプリの場合、一部の優勝アプリを提供できない地域があったり、18歳以上大将のアプリ配布が許可されない市場があります。これには日本も含まれています。
また、各国で法的要件や文化の違いにより審査基準が異なる場合もあります。たとえば中国では、Twitter や Facebook の使用が禁止されているためそういった機能を持つアプリケーションは通らない可能性があります。
以上を注意して、すべてを選ぶから一部の地域を除くだけでOK。まずはチャレンジしてみましょう。
今回はものすごいベタな方法でしたが、次はもう少しインテリジェントな方法で実装しましょう。