言語別にジャンプするページを変更する。
今回からプログラム的な事も書いてみようと、まずは第一回。
Mac OS Xは言語別にアプリケーションを用意しなくても、1つのパッケージで多言語に対応している。対応していると言うか、作り手が対応させるのだけれど、例えばホームページなどで日本語、英語などのサポートページを用意している場合、起動している言語でジャンプさせるURLを指定させたいと思う。
まず頭に浮かぶのが、ローカライズしたNibファイル別にアクション先を変更。例えば、
- (IBAction)goHomePage_ja:(id)sender{
日本語ページへ
}
- (IBAction)goHomePage_en:(id)sender{
英語ページへ
}
これだとスマートじゃ無いし、接続が面倒なので、このようにする。
- (IBAction)goHomePage:(id)sender{
NSURL *url;
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
NSArray *languages = [def objectForKey:@"AppleLanguages"];
NSString *prefLang = [languages objectAtIndex:0];
if ([prefLang isEqualToString:@"ja"]){
url = [NSURL URLWithString:@"日本語ページURL"];
}else{
url = [NSURL URLWithString:@"英語ページURL"];
}
[[NSWorkspace sharedWorkspace] openURL:url];
}
これで1つのアクションメソッドで、日本語以外は英語ページへジャンプするようになる。
新しく言語を追加したら、
}else if ([prefLang isEqualToString:@"fr"]){
url = [NSURL URLWithString:@"フランス語ページURL"];
}
とすればOK。
さっきからなんかガクブルするなぁ・・・と思ってたら、冷房つけてた(笑)

for OS X







for iPhone







