HTML文件本地化



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

所以我找到了这个问题。我的一个HTML文件适用于所有语言。使用以下代码获取时

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

我正在获取HTML文件路径为-

/用户/Tushar/库/开发人员/核心模拟器/设备/F607AED8-BC01-48DE-B3D0-BC3C028BBB23/数据/容器/捆绑包/应用程序/8AB487BF-3CC2-4FC9-8371-D3AAB4955D05/APP_NAME.APP/hu.lproj/about.html

但是,对于另一个HTML文件,我得到的htmlFile路径为-

/用户/Tushar/库/开发人员/核心模拟器/设备/F607AED8-BC01-48DE-B3D0-BC3C028BBB23/数据/容器/捆绑包/应用程序/8AB487BF-3CC2-4FC9-8371-D3AAB4955D05/APP_NAME.APP/disclaimer.html

很明显,如果您观察到,第二个htmlFile文件路径中缺少"hu.lproj/",这就造成了这个问题。我不明白为什么会发生这种事。

请帮帮我。

提前谢谢。

最后,我解决了这个问题。万一其他人也面临同样的问题。我不知道为什么,但是方法,

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"]];

现在它运行得非常好。

希望这能帮助到别人。

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

XCode存在一个长期存在的错误,即它不总是正确地将新的或更新的资源复制到已编译的应用程序包中。我已经有一段时间没有使用XCode了,但也许这仍然是一件事?要确定,请检查build/Debug文件夹中的.app文件,右键单击并选择"显示包内容",然后查看那里是否存在hu.lproj/disclaimer.html

最新更新