如何本地化 iOS 下 UIWebView 控制器中显示的 HTML 文件中的某些字符串?

发布于 2024-11-28 20:26:08 字数 176 浏览 0 评论 0 原文

我正在寻找一种方法,允许我本地化 iOS 下 UIWebView 中显示的 HTML 文件中的一些字符串。

我想使用 NSLocalizesString() 进行本地化,因此我正在寻找一个简单的解决方案,希望我在显示本地化的 html 文件之前生成它。

我确实可以完全控制 HTML 文件并使用某种占位符。

I am looking for a way that would allow me to localize some strings from inside a HTML file that is displayed in a UIWebView under iOS.

I want to use NSLocalizesString() for doing the localization, so I am looking for a simple solution that would like me to generate the localized html file before displaying it.

I do have full control over the HTML file and plant to use some kind of placeholders.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

余厌 2024-12-05 20:26:08

然后使用自定义标签,使用 NSXMLParser,以及自定义标记中的任何内容...例如 Something - 您剥离标签,本地化字符串,然后将此 HTML 移交给您的 Web 视图。

Use a custom tag then, parse the HTML with NSXMLParser, and anything within your custom tag... e.g. <localize>Something</localize> - you strip the tags, localize the string, then hand this HTML over to your web view.

南街九尾狐 2024-12-05 20:26:08

我尝试通过创建一组嵌入 HTML 格式的本地化字符串来实现此问题的解决方案,其想法是将这些字符串连接起来以获得单个字符串,然后将其分配给 loadHTMLString:baseURL: UIWebView 的方法。

然而,将 HTML 与本地化字符串中的常规文本混合起来似乎是未来维护的噩梦,因此我尝试了以下方法:

我用英文文本编写了一个简单的测试 HTML 文件并将其复制到我的 Xcode 项目中。然后我为此文件添加了西班牙语本地化版本。当我在 iPhone 模拟器中测试它时,效果很好。我用来读取 HTML 文件内容并将其分配给 UIWebView 的代码行是这样的:

NSString *path = [[NSBundle mainBundle] pathForResource:@"help" ofType:@"html"];
[myUIWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]]]; 

维护多个 HTML 文件可能看起来需要大量工作,但这与本地化 nib 文件时所做的事情相同,我认为当我们考虑将这种类型的内容与常规本地化字符串分开时,这种方法最有效。

希望这有帮助!

I tried to implement a solution to this by creating a set of localized strings with embedded HTML formatting, and the idea was to concatenate those to get a single string which then I'd assign to the loadHTMLString:baseURL: method of UIWebView.

However, mixing HTML with regular text in the localized strings seemed like a future maintenance nightmare waiting to happen, so instead I tried this:

I wrote a simple test HTML file with English text and copied it to my Xcode project. Then I added a Spanish localization for this file. When I tested this in the iPhone Simulator it worked fine. The line of code I used to read the content of the HTML file and assign it to the UIWebView is this:

NSString *path = [[NSBundle mainBundle] pathForResource:@"help" ofType:@"html"];
[myUIWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]]]; 

Having several HTML files to maintain might seem to be a lot of work, but it's the same thing you do when localizing nib files, and I think this approach works best when we think about separating this type of content from the regular localized strings.

Hope this helps!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文