Отображение локализованного текста недоступно во время компиляции на iPhone - PullRequest
1 голос
/ 10 сентября 2010

Для использования в приложении для анкетирования веб-служба предоставит список вопросов на одном из нескольких языков, выбранных пользователем во время выполнения. Вопросы будут загружены с веб-службы на выбранном языке и отображены для пользователя.

Проблема: я понятия не имею, как это сделать.

В качестве примера я попытался загрузить текстовые файлы 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 не установлено. Ничего не произошло. Нет ошибок (компиляция или время выполнения), ничего.

Есть идеи для другого подхода? Или способ заставить это работать?

Большое спасибо.

1 Ответ

0 голосов
/ 10 сентября 2010

То, что вы сейчас делаете, звучит разумно, но для другого подхода, который я использовал (который работал для меня), попробуйте использовать 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-type text / plain загружаются по-другому в веб-представлении)

...