ios多言語の現地化の考え方


多言語はアプリケーションにおいて一般的に2つのやり方があります。
一、プログラムでユーザーが自分で選択する機会を提供する。
二、現在のユーザのモバイルデバイスの言語によって自動的に対応言語を切り替える。
第一のやり方は比較的簡単で、完全に自分の力で発揮しました。ここでは主に第二のやり方を話します。主にいくつかの点に分けます。
1.ローカライズアプリケーション名
2.ローカライズ文字列
3.ローカライズ画像
4.ローカライズされた他の書類
1.ローカライズアプリケーション名
(1)「new file」をクリックしてポップアップウィンドウの左側でIOSのレスポンスアイテムを選択し、右側に「String File」のアイコンが表示されます。このファイルを作成して、「InfoPlist」と名付けて、InfoPlist.strigsファイルを作成します。
(2)InfoPlist.strigsを選択してX Code->View->Utilitilities->File Inspectorをクリックして、Localizationの中で「+」をクリックして、chinese(zh-Hans)のタイプを簡体字中国語に追加します。englishは自動的に追加されます。その後、InfoPlish.strigsの左側に三角形ができます。クリックして展開したら、InfoPlish.strigsとInfoPlish.strigsの2つのバージョンのファイルが見えます。
(3)InfoPlish.strigs(english)ファイルに追加する:

CFBundleDisplayName ="Program"; 
このうち「Program」は英語のアプリケーション名であり、同じ理由でInfoPlish.strigs(chinese)ファイルに追加されています。

CFBundleDisplayName =" ";
 その中の「アプリケーション」は中国語の名前です。注意:CFBundleDisplayNameにダブルクォーテーションを付けなくてもいいです。
(4)Info.plistを編集して、新しい属性のApple has localized display nameを追加して、その種類をbootleanとして設定し、そのvalueをYESに設定すればいいです。
 2.ローカライズ文字列
(1)「ローカライズアプリケーション名」の第一歩と同様に、「new file」をクリックして、ポップアップウィンドウの左側にIOSのレスポンスアイテムを選択し、右側に「Stering File」のアイコンが表示されます。このファイルを作成して、「Localizable」と名づけました。(必ずこのファイル名です。そうでないと、後で呼び出しても違いがあります。)Localizable.strigsファイルを作成します。
(2)「ローカライズアプリケーション名」のような第二の第三のステップは、Localizable.strigsファイルに追加されます。
「welcome」=「Click on the screen to contine...」
 同じ理由でLocalizable.strigs(chinese)ファイルに参加します。
「welcome」=「スクリーンをクリックして続けます。」
(3)コードの中でNSLocalized String(<菗key胪)、<𞉀commment›>を使ってローカル化文字列を読み出します。コードは以下の通りです。

CCLabelTTF *label = [CCLabelTTF labelWithString:NSLocalizedString(@"welcome", nil) fontName:@"Marker Felt" fontSize:18];
CGSize size = [[CCDirector sharedDirector] winSize];
label.position =  ccp( size.width /2 , size.height/2+30 );
[self addChild: label];
注意:もしあなたのstrigsファイル名がLocalizableではなくカスタムであれば、wang.strigsのように、NSLocalized stringFroomTableを使ってローカル文字列を読み込まなければなりません。

NSLocalizedStringFromTable(@"welcome",@"wang", nil)
 3.ローカライズ画像
ここではまた二つの方法に分かれています。第一の方法はローカライズ文字列方法と似ています。中国語と英語の画像の名前をそれぞれ中国語のstrigsファイルに保存して、NSLocalized Stringを通じて画像の名前を取得します。
Localizable.strigsファイルに追加します。

"BtnCancel"="BtnCancelEn.png";
Localizable.strigs(chinese)ファイルに参加する:

"BtnCancel"="BtnCancelCn.png";
次に、コードにNSLocalized Stringを使用して画像名を取得する。

CCSprite *btnCancel = [CCSprite spriteWithSpriteFrameName:NSLocalizedString(@"BtnCancel", nil)];
btnCancel.position=ccp(s.width/2,s.height/2-40);
[self addChild:btnCancel z:2 tag:104];
二つ目は正規化されました。ポイントの中で現地化された画像を求めます。例えば、「icon.png」、そしてXCode->「View-」Utilitilityes->File Inspector、Localizationの中で「+」にchinese(zh-Hans)を追加します。写真の左側には逆三角が現れます。点けば2枚の図が現れます。プロジェクトフォルダにはen.lprojファイルとzh-Hans.lprojファイルが現れます。n.lprojファイルは英語版の写真を保管しています。zh-Hans.lprojは中国語版の写真を保管しています。中国語の写真の名前は同じです。私達はフォルダの中で直接に写真を交換すればいいです。最後に使う時は直接正常な名前を使えばいいです。例えば、「icon.png」。
4.ローカライズされた他の書類
ローカライズされた他のファイルはローカライズされた画像の第二の方法と似ています。まずLocalizationに言語を追加して、対応するバージョンをen.lprojとzh-Hans.lprojフォルダにコピーして、最後に引用すればいいです。
以上述べましたが、本文の内容は全部です。お好きになってください。