iPhoneアプリ開発者が知っておきたい「アプリを多言語化(ローカライズ)」する方法

  • |
iPhoneアプリ開発者が知っておきたい「アプリを多言語化(ローカライズ)」する方法
   

AppStoreの魅力の一つに、全世界でアプリを配信できることがあります。
iPhoneを使っている人は、全世界合わせるととてもたくさんの人がいますので、是非その人達にも利用してもらえるようにしたいですね。
今回は、その多言語化(ローカライズ)について、ブログで紹介をしたいと思います。

AppStoreの多言語化は2つありますので、順番に説明します。

  1. AppStoreの説明文のローカライズ
  2. アプリのタイトル、テキスト文章、画像のローカライズ


AppStoreの説明文のローカライズ

アプリを公開する際に、iTunesConnectで言語の設定をしていると思います。
これは、各言語ごとに個別に設定ができます。アプリが公開されている場合は変更できないのですが、アップデートなどをしている状態ですと変更ができます。


設定手順

まずはiTunesConnectのアプリの「View Details」をクリックします。
2013 3 27 6655


次に[Metadata and uploads]の右側にある[Choose Another Language】から、説明文を追加したい言語を選びます。
[Add]のボタンを押します。
2013 3 27 yyk


後は、日本語を登録したと同じように、上から名前、説明文、キーワードを入力して完了で、
言語の追加が完了になります。
2013 3 27 ggb

後は、アップデートが行われれば、AppStoreでも反映ができています。

言語の編集とデフォルト言語の編集

一度言語を設定すれば、後から説明文やアップデート内容の変更がいつでもできます。
2013 3 27 6655


後、複数の言語を登録している場合は、デフォルトの言語を変更できるようになります。
これはアプリのトップ画面、【AppInfomation】のEditを押すと、言語の設定ができます。
2013 3 27 6655


この中に、【default Language】という項目があるので、好きな言語に変更できます。
言語設定のないと、デフォルトに設定された言語が優先されるので、英語をデフォルトにしておいたほうがいいでしょう。
2013 3 27 ffd


アプリのローカライズ

続きまして、アプリ自体をローカライズしていきましょう。
おそらく、日本語で色々テキストや画像を作成されていると思います。これを、言語ごとに変更することができます。

アプリ名のローカライズ

まずは、iPhone上で表示されるアプリ名のローカライズです。
2013 3 27 logo
2013 3 27 yyg


まずは、PROJECTのinfoになる[Localization]に、ローカライズする言語を追加します。
2013 3 27 ddee


次にXcodeの【supporting Files】フォルダの中に、[infoPlist.string]というファイルを作成します。
私は【String file】で作成しました。
2013 3 27 yyyb


[infoPlist.string]を選択した状態で、右のバーにある【Localization]を見てください。
ここに、先ほど追加した言語ででていますので、どちらもチェックを入れます。
2013 3 27 ttg


そうすると、ファイルが2つに増えています。
このファイルに、各言語の設定をしていきます。
2013 3 27 66y

以下のようなコードをそれぞれのファイルに書きます。
これ一行です。
//infoPlist.strings(English)
CFBundleDisplayName = "App"; //英語

//infoPlist.strings(Japanese)
CFBundleDisplayName = "アプリ";//日本語

そうすると、アプリの表示名が言語ごとに変更されます。

アプリ名のテキスト文章と画像のローカライズ

先ほどと同じように、今後は、[Localizable.strings]とファイルを作成し、ローカライズの設定を右のサイドバーから行います。
2013 3 27 666t


ファイルにはそれぞれ、テキスト文章を設定します。
ここに記載している[button1]は、引数です。これを、実際に文章を表示させる箇所で利用します。
//Localizable.strings(English)
"button1" = "button"; //英語

//Localizable.strings(Japanese)
"button1" = "ボタン";//日本語


//実際に利用する所でのコード
 NSString *helloe = NSLocalizedString(@"button1",nil);
 CCLabelTTF *label = [CCLabelTTF labelWithString:helloe fontName:@"Marker Felt" fontSize:64];


//button1を引数にして、各言語に記載された文字列を引っ張ってきています。
NSLocalizedString(@"button1",nil);



これは、文章だけでなく画像のフォーマットをしているすることで、画像のローカライズもできます。


//Localizable.strings(English)
"button1" = "button-en.png"; //英語

//Localizable.strings(Japanese)
"button1" = "button.png";//日本語


//実際に利用する所でのコード
 CCSprite *sprite = [CCSprite spriteWithFile: NSLocalizedString(@"image1",nil)];



こんな感じになります。

cocos2d ver2.0のテンプレートを使っています。
【英語】
スクリーンショット 2013 03 27 17 19

【日本語】
スクリーンショット 2013 03 27 17 21


ローカライズのテスト、確認はどうするのか?

実機でも、シミュレーターでもどちらでもいいのですが、
[設定]=>[一般]=>[言語環境]で、言語の変更ができます。これを使って確かめましょう。
Logosettei0327

Related Posts Plugin for WordPress, Blogger...