Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.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
Objective c iOS本地化不';t加载语言_Objective C_Ios_Cocoa Touch_Localization - Fatal编程技术网

Objective c iOS本地化不';t加载语言

Objective c iOS本地化不';t加载语言,objective-c,ios,cocoa-touch,localization,Objective C,Ios,Cocoa Touch,Localization,今天我想试试iOS的本地化功能。 我在项目中添加了一个可本地化的.strings文件,内容如下: "TP_Start_Button" = "Workout Plan"; "TL_Start_Button" = "Training Log"; "Calc_Start_Button" = "Calculator"; 我将三个ui按钮的标题设置如下: - (void)viewDidLoad { [super viewDidLoad]; [self.tp_start_button s

今天我想试试iOS的本地化功能。 我在项目中添加了一个
可本地化的.strings
文件,内容如下:

"TP_Start_Button" = "Workout Plan";
"TL_Start_Button" = "Training Log";
"Calc_Start_Button" = "Calculator";
我将三个
ui按钮的标题设置如下:

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self.tp_start_button setTitle:NSLocalizedString(@"TP_Start_Button", nil) forState:UIControlStateNormal];
    [self.tl_start_button setTitle:NSLocalizedString(@"TL_Start_Button", nil) forState:UIControlStateNormal];
    [self.calc_start_button setTitle:NSLocalizedString(@"Calc_Start_Button", nil) forState:UIControlStateNormal];
}
之后,我通过选择我的项目并按下本地化下的“+”按钮添加了另一种语言。O选择德语,并创建了另一个可本地化的字符串。我用德语翻译替换了内容。然后我有以下几点:

Localizable.strings
    Localizable.strings (English)
    Localizable.strings (German)
在我的项目文件夹中,文件夹
de.lproj
en.lproj
创建时,内部带有
可本地化的.strings

然而,在启动iPhone模拟器后,英语 已加载为默认语言。将语言设置为德语后,我的应用程序的语言没有改变。即使从my Manager中删除并重新安装应用程序 设备坏了


当设置中的语言发生更改时,如何自动切换语言?

如我在评论中所述,Clean&Re build将解决此问题


对于本地化功能,您必须经常清理和重建,因为此功能由XCode缓存。

您是否向目标添加了localizable.strings?

清理和重建&删除+重新安装应用程序解决了问题。thx;)