如何阅读Localizable.strings的内容并将其放到UIWebView中

时间:2012-10-31 08:16:14

标签: javascript objective-c ios uiwebview localizable.strings

在我的应用中,我有一个包含以下内容的文本文件:

<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,但我不知道该怎么做。有什么想法吗?

2 个答案:

答案 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];

您可以将字符串拆分为多行。顺便说一句,如果你有很多文本,那么你真的需要注释行来跟踪哪个%@表示什么是字符串替换值。