【问题标题】:Is it possible to swap out large localization strings to their own files?是否可以将大型本地化字符串换成自己的文件?
【发布时间】:2011-09-17 10:17:05
【问题描述】:

目前我正在使用 MonoTouch 完成我的第一个 iPhone 应用程序。通过“*.lproj”文件夹进行本地化按预期工作。

有一个显示一些用户指南的UIWebView,我用LoadHtmlString() 方法填充这个。 (即不需要互联网连接)。

由于文本有点长,我不希望它被放置在“Localizable.strings”文件中,而是被交换到一个完全独立的文件中(因为我也在为 Windows .NET 应用程序做这件事):

在上面的屏幕截图中,我将在每个语言文件夹中都有一个“help.html”文件,并调用LoadHtmlString 方法以类似于NSBundle.MainBundle.LocalizedString 的方式从适当的文件中读取。

我的问题:

是否可以拥有每种语言的文件并从 MonoTouch 应用程序中访问它们?

跟进 Dimitris 的解决方案

基于Dimitris' solution,我通过这段代码解决了:

var localizedHtmlFile = NSBundle.MainBundle.PathForResource("help", "html");
var text = File.ReadAllText(localizedHtmlFile);

helpTextView.LoadHtmlString (text, null);

【问题讨论】:

    标签: c# iphone ios xamarin.ios localizable.strings


    【解决方案1】:

    是的,当然有可能。您可以像这样获取本地化文件的路径:

    string localizedHtmlFile = NSBundle.MainBundle.PathForResource("help", "html");
    

    您可以将 PathForResource 方法用于各种不同类型的资源(PDF、图像等)。第一个参数是文件名,第二个参数是它的扩展名。检查 PathForResource 方法的其他重载以获取更多选项。

    【讨论】:

      猜你喜欢
      • 2011-12-29
      • 2016-01-26
      • 1970-01-01
      • 1970-01-01
      • 2017-07-29
      • 2011-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多