Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有可能;重定向";iOS上的本地化?_Ios_Iphone_Localization_Nslocalizedstring - Fatal编程技术网

有没有可能;重定向";iOS上的本地化?

有没有可能;重定向";iOS上的本地化?,ios,iphone,localization,nslocalizedstring,Ios,Iphone,Localization,Nslocalizedstring,我想要的很简单: 我的应用程序只有两种语言:英语和简体中文。我希望如果系统语言是简体或繁体中文,那么就使用简体中文;否则使用英语 似乎大多数用户不知道他们可以设置他们的第二首选语言。因此我不能依赖它们。您可以使用此代码检索用户语言并设置应用程序语言: NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; // Reset system defaults to get the complete language list

我想要的很简单:

我的应用程序只有两种语言:英语和简体中文。我希望如果系统语言是简体或繁体中文,那么就使用简体中文;否则使用英语


似乎大多数用户不知道他们可以设置他们的第二首选语言。因此我不能依赖它们。

您可以使用此代码检索用户语言并设置应用程序语言:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
// Reset system defaults to get the complete language list.
[defaults removeObjectForKey:@"AppleLanguages"];
// Default language choosen by user.
NSString *defLanguage = [defaults objectForKey:@"Language"];
NSArray *sysLangugages = [defaults arrayForKey:@"AppleLanguages"];
// System default language: first element of array.
NSString *sysLanguage = [sysLangugages objectAtIndex:0];
NSArray *array = [NSArray arrayWithObjects:defLanguage, sysLanguage, nil];
LocalizationSetLanguage(defLanguage);
[defaults setObject:array forKey:@"AppleLanguages"];

 //To set and get the saved language
 // in the .h
#define LocalizationSetLanguage(language) \
[[LocalizationSystem sharedLocalSystem] setLanguage:(language)]

//in the .m
- (void) setLanguage:(NSString*) language
{

    lang = language;
}

- (NSString*) getLanguage
{

    if (!lang) {
        NSArray* languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];

        NSString *preferredLang = [languages objectAtIndex:0];
        lang = preferredLang;
    }

    return lang;
}

使用
AMLocalizedString
,您可以使用它设置您的本地语言。

这将是默认行为。您的应用程序将显示除中文以外的所有语言的英语。@alex但如果系统语言是繁体中文,我需要选择简体中文。是的,我知道了。Mutave的答案看起来不错。伙计,您可以告诉我“实际使用的语言列表存储在用户默认值中”…我的错,很高兴它有帮助