私のアプリケーションでは、ユーザーは言語を選択できるので、私のアプリケーションで言語を変更することはできますが、機能しません。このコードはオンラインで見つかりました:iPhone - カスタム言語の設定
// Force languages
NSString * lang=[[NSUserDefaults standardUserDefaults] stringForKey:@"idioma"];
NSLog(@"language %@",[[NSUserDefaults standardUserDefaults] stringForKey:@"AppleLanguages"]);
if ([lang isEqualToString:@"castella"]) {
[[NSUserDefaults standardUserDefaults]
setObject:[NSArray arrayWithObject:@"es"]
forKey:@"AppleLanguages"];
} //else just default user lang
このコードは機能しません。私はもう一つの好み設定を設定していると思う。私は本当にロケールを変更したい。ローカライズされたいくつかの文字列と、NIBファイルの一部があるので、最初の位置にロケールを優先するスペイン語を追加したいと思いますが、どうやってそれを行うのか本当に分かりません。
アプリケーションの設定では、言語を選択するオプションがあります。それは私の頑固さからだけではありません。ここでは地域のラグジュアリーが重要であり、時にはiPhoneがサポートを提供しない場合がありますが、私は翻訳を宣伝します。私は、ロケールをいじりあきらめることにしましたが、(en.projまたはes.projからの)異なるNIBファイルを表示することも可能であろう答えから
?私はすでに最初の部分を持っています:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
NSString * lang=[[NSUserDefaults standardUserDefaults] stringForKey:@"idioma"];
if ([lang isEqualToString:@"castella"]) {
//Load NIB filer from "es.proj".
}
}
return self;
}
それは可能ですか?
thnksを、私はそれを行うにはしたくない拒否することができますが、どのように私は示すことができた場合es.projのnibまたはen.projからのユーザーのデフォルト設定へのアロイ – vallllll
iOSは、ユーザーの設定に従って自動的に最適な選択肢を表示します。つまり、ユーザーが「es」言語を選択すると、アプリはNIBファイルの「es」バージョンを表示します。 – Beppe
私はesについて知っていますが、ほんの一例にすぎません。いくつかの珍しい言語では、それを回避する方法はありませんか? – vallllll