2010-09-10 54 views
1

为了在调查问卷应用程序中使用,Web服务将以运行时用户选择的几种语言之一提供问题列表。问题将以所选语言从网络服务下载并显示给用户。在iPhone上编译时显示本地化文本不可用

问题:我不知道如何做到这一点。

作为一个示例,我尝试在包含所述语言文本样本的资源中加载UTF-8文本文件(例如arabic.txt)。这些文件在TextMate和TextEdit中正常打开并呈现,但在Xcode中难以辨认。它们已成功读入,但其内容不会显示。

例子: 我创建了一个UITextView,并在初始化:

... 
NSString *path = [[NSBundle mainBundle] pathForResource:@"arabic" ofType:@"txt"]; 
NSString *arabicString = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringENcoding error:&error]; 
myTextView.text = arabicString; 
... 

NSError回报NULL,所以没有错误的文本文件阅读,但UITextView的内容未设置。什么都没发生。没有错误(编译或运行时),什么都没有。

有关不同方法的任何想法?或者一种方法来使这项工作?

非常感谢。

回答

0

你目前的工作听起来是否合理,但是对于我用过的不同方法(对我有效),请尝试使用UIWebView。沿着线的东西:

NSString *path = [[NSBundle mainBundle] bundlePath]; 
NSURL *baseURL = [NSURL fileURLWithPath:path]; 
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/arabic.html",path]]; 

NSData *data = [NSData dataWithContentsOfURL:url]; 
[self.helpWebView loadData:data MIMEType:@"text/html" textEncodingName:@"utf-8" baseURL:baseURL]; 

(是有趣的,看看是否在网络视图中使用arabic.txt和MIME类型text/plain的负载任何不同。)

相关问题