gpt4 book ai didi

ios - iPhone : Using localization change language of an app set it in NSUserDefaults

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:08:05 25 4
gpt4 key购买 nike

嗨, friend 们,我是 iPhone 的新手。在我的项目中,我使用本地化来更改应用程序的语言。我做到了,但问题。当应用程序停止并再次运行时,不会保留通过本地化设置的语言。所以我读到我们需要在 NSUserDefaults 中保存由本地化设置的语言。请帮我。如何在应用程序启动时将其保存在 NSUserDefaults 和回调中?这是代码。这样我设置了语言

- (IBAction)EngLang:(id)sender {
[[Localization sharedInstance] setPreferred:@"en" fallback:@"es"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"en" forKey:@"Applanguage"];
}

- (IBAction)espLang:(id)sender {
[[Localization sharedInstance] setPreferred:@"es" fallback:@"en"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"es" forKey:@"Applanguage"];
}

如何在 NSUserDefaults 中保存语言以及如何在应用启动时调用它?现在我将语言保存在 NSUserDefaults 中。如何阅读?这是我以前阅读的代码。我在 appDelegate 中完成了此操作。

[[NSUserDefaults standardUserDefaults] setObject: [NSArray arrayWithObjects:@"en",@"es", nil] forKey:@"Applanguage"];
[[NSUserDefaults standardUserDefaults] synchronize];

最佳答案

试试这个。

// Set languge en
- (IBAction)EngLang:(id)sender {
[[Localization sharedInstance] setPreferred:@"en" fallback:@"es"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"en" forKey:@"Applanguage"];
[defaults synchronize];
}

// Set languge es
- (IBAction)espLang:(id)sender {
[[Localization sharedInstance] setPreferred:@"es" fallback:@"en"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"es" forKey:@"Applanguage"];
[defaults synchronize];
}

// Call this method on launching.
- (void) retainTheLastSettedLanguage
{
NSString * currentLanguage ;

if ([[NSUserDefaults standardUserDefaults] valueForKey:@"Applanguage"] != nil)
{
currentLanguage = [[NSUserDefaults standardUserDefaults] valueForKey:@"Applanguage"];
if ([currentLanguage isEqualToString:@"en"])
{
[[Localization sharedInstance] setPreferred:@"en" fallback:@"es"];
}
else
{
[[Localization sharedInstance] setPreferred:@"es" fallback:@"en"];
}
}
}

关于ios - iPhone : Using localization change language of an app set it in NSUserDefaults,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21472208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com