HTML文件本地化

我已经成功地完成了我的HTML文件的本地化。 但是,当我尝试伪定位[通过改变模拟器的语言],它仍然显示英文版的HTML文件。

所以我追查这个问题。 我的一个HTML文件可以正常使用所有语言。 用下面的代码获取它

NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"about" ofType:@"html" inDirectory:nil forLocalization:[userPrefered objectAtIndex:0]];

我得到的HTMLFilepath为 –

/Users/Tushar/Library/Developer/CoreSimulator/Devices/F607AED8-BC01-48DE-B3D0-BC3C028BBB23/data/Containers/Bundle/Application/8AB487BF-3CC2-4FC9-8371-D3AAB4955D05/APP_NAME.app/hu.lproj/about html的

但是,对于另一个HTML文件,我得到的HTMLFilepath为 –

/Users/Tushar/Library/Developer/CoreSimulator/Devices/F607AED8-BC01-48DE-B3D0-BC3C028BBB23/data/Containers/Bundle/Application/8AB487BF-3CC2-4FC9-8371-D3AAB4955D05/APP_NAME.app/disclaimer.html

显然,如果你观察到,'hu.lproj /'在第二个htmlFile文件path丢失,这是造成这个问题。 我不明白为什么会发生这种情况。

请帮帮我。

提前致谢。

最后,我解决了这个问题。 如果其他人面对同样的问题。 我不知道为什么,但方法,

 NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"about" ofType:@"html" inDirectory:nil forLocalization:[userPrefered objectAtIndex:0]]; 

工作不正常。

所以我改变了方法

 NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"about" ofType:@"html" inDirectory:[[userPrefered objectAtIndex:0] stringByAppendingPathExtension:@"lproj"]]; 

现在它的工作非常好。

希望这将有助于某人。

您确定hu.lproj/disclaimer.html文件也可以在.app包中find吗?

XCode并不总是将新的或更新的资源正确地复制到已编译的应用程序包中。 我有一段时间没有与XCode合作过,但也许这还是一件事? 可以肯定的,检查build / Debug文件夹中的.app文件,右键单击并select“Show Package Contents”,看看是否存在hu.lproj/disclaimer.html