Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.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
Iphone 强制本地化应用程序_Iphone_Ios_Cocoa Touch_Localization - Fatal编程技术网

Iphone 强制本地化应用程序

Iphone 强制本地化应用程序,iphone,ios,cocoa-touch,localization,Iphone,Ios,Cocoa Touch,Localization,我实际上正在开发一个应用程序,需要在他自己的设置中强制本地化(不是常规设置,我没有制定规范,不要问我为什么要这样做:-)) 我可以强制我的应用程序使用具有以下类别的特定Localizable.string文件: +(NSString*)localizedString:(NSString*)string forLanguageCode:(NSString*)languageCode { NSString *pathToLocalizedBundle = [[NSBundle mainBu

我实际上正在开发一个应用程序,需要在他自己的设置中强制本地化(不是常规设置,我没有制定规范,不要问我为什么要这样做:-))

我可以强制我的应用程序使用具有以下类别的特定Localizable.string文件:

+(NSString*)localizedString:(NSString*)string forLanguageCode:(NSString*)languageCode {

    NSString *pathToLocalizedBundle = [[NSBundle mainBundle] pathForResource:languageCode ofType:@"lproj"];

    if(!pathToLocalizedBundle) pathToLocalizedBundle = [[NSBundle mainBundle] pathForResource:@"en" ofType:@"lproj"];
    NSBundle *aBundle = [NSBundle bundleWithPath:pathToLocalizedBundle];
    return [aBundle localizedStringForKey:string value:@"" table:nil];
}
我面临的问题是本地化一些“苹果的东西”,我的意思是像“编辑”按钮或一些默认的标签,如这些(特色和更多):


我试图更改
用户默认值
中的
“AppleLanguages
”键,但它仅在应用程序重新启动且我不想要它时才起作用。这可能吗?

您可能想访问这里:

您需要使用
AppleLanguages
方式重新初始化视图以进行即时更改。感谢您的快速回复,有没有简单的方法重新初始化视图?添加本地化字符串并在模拟器或设备设置中更改语言。已经完成,我想在运行时更改应用程序语言,特别是系统本地化的字符串,如edit button或back button。此链接仅显示如何使用NSLocalizedString,我的问题是强制系统为系统标签/按钮使用特定语言。其他方法可能很粗糙,您不希望使用这些方法。即使苹果也不推荐使用
AppleLanguages
技巧。但如果你真的想使用它,请尝试通过释放并重新分配它来重新启动视图。Weel,看起来我不能直接做我想做的事情,我将使用release/realloc方法,谢谢:-)