在我的应用中,我有一个包含以下内容的文本文件:
<html>
<style rel="stylesheet" type="text/css">
body {
font-family: Arial, sans-serif;
font-size: 18px;
color: #333333;
padding: 14px;
text-align: justify;
}
h2 {
font-size: 18px;
}
</style>
<body>
<p>
This is the first statement.
<br>
This is the second statement.
</p>
</body>
</html>
此数据将加载到UIWebView,一切正常。但是,我希望文本可以本地化,所以我想把它们放到Localizable.strings。所以,Localizable.strings有这样的东西:
FIRST_STATEMENT = "This is the first statement";
SECOND_STATEMENT = "This is the second statement";
现在,问题是,我将如何从Localizable.strings访问数据,以便将它们放到UIWebView对象的内容中?我在考虑javascript,但我不知道该怎么做。有什么想法吗?
答案 0 :(得分:0)
可以尝试制作一个html文件模板并放入
%@
在Places / Tags中你想要本地化字符串,然后将模板文件放在App Bundle / Documents目录中并使用它 -
NSString * anHtmlStr = [[NSBundle mainBundle] pathForResource:@“templateFile” ofType:@“html”]; //如果文件在App Bundle中,则使用
// NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
anHtmlStr = [NSString stringWithContentsOfFile:anHtmlStr encoding:NSUTF8StringEncoding error:&amp; err];
anHtmlStr = [NSString stringWithFormat:anHtmlStr,NSLocalizedString(@“key”,@“comment”)];
[webView loadHTMLString:anHtmlStr baseURL:baseURL];
答案 1 :(得分:0)
我假设您正在使用xcode和objective-c,通过UIWebView进行判断。你可以这样做:
// message body
NSString *htmlString = [NSString stringWithFormat:
@"<body>"
"<p>"
"%@" // first statement.
"<br />"
"%@" // second statement
"<br />"
"%d" // some integer value
"</p>"
"</body>",
NSLocalizedString(@"This is the first statement.", nil),
NSLocalizedString(@"This is the second statement.", nil),
intSomeValue];
您可以将字符串拆分为多行。顺便说一句,如果你有很多文本,那么你真的需要注释行来跟踪哪个%@表示什么是字符串替换值。