2012年03月07日

iPhoneアプリをローカライズする(横着バージョン)

iPhoneアプリを多言語化する場合、InfoPlist.stringsを作成して、そいつを他言語対応させて、NSLocalizedString()を使ってローカライズさせるのが正攻法だと思いますが。1カ所だけ英語表記にしたいとかそういうときは、以下の方法で横着してます。w


//英語日本語対応
NSArray *languages = [NSLocale preferredLanguages];
NSString *currentLanguage = [languages objectAtIndex:0];
//NSLog(@"currentLanguage: %@", currentLanguage);

NSString *string1 = [NSString stringWithFormat:@""];
if ([currentLanguage isEqualToString:@"ja"]) {
imageFileName1 = @"title_japanese.png";// 日本語の場合
string1 = @"ゲーム スタート";
}else{
string1 = @"Game Start";
}
 
//Game Start menu
CCLabelBMFont *label_1 = [CCLabelBMFont labelWithString:string1 fntFile:@"sample6.fnt"];
CCMenuItemLabel *item_1 = [CCMenuItemLabel itemWithLabel:label_1
target:self
selector:@selector(pushed_GameStart)];
menu_Title_s = [CCMenu menuWithItems:item_1, nil];
menu_Title_s.position = ccp( winSize.width /2 , 180 );
[self addChild: menu_Title_s z:150 tag:950];


まぁ、これはこれで面倒だし、拡張性がないんですけどねww 
posted by nori at 01:17 | iphone開発