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
。