iPhone - Использование локализованного ресурса - PullRequest
1 голос
/ 04 мая 2011

Я пытаюсь отобразить HTML-файл в UIWebView:

NSString *htmlPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"error.htm"];

NSError* error;
NSStringEncoding encoding;
NSString *htmlContent = [NSString stringWithContentsOfFile:htmlPath usedEncoding:&encoding error:&error];

NSString* bundlePath = [[NSBundle mainBundle] bundlePath];
[self.webView loadHTMLString:htmlContent baseURL:[NSURL fileURLWithPath:bundlePath]];

error.htm локализован.При использовании этого метода страница не загружается.HtmlContent ссылается на myApp.app/error.htm.Но все мои файлы error.htm находятся в локализованных папках.
Если я использую другой нелокализованный HTML-файл (error2.htm, чистая копия error.htm), он отображается.

Как использоватьлокализованный файл?

Ответы [ 3 ]

4 голосов
/ 04 мая 2011

Вы сами создаете путь к html-файлу, используя путь к корневому ресурсу и строку - iPhone не экстрасенс, откуда он знает, что вы локализовали этот файл?

Попробуйте использовать

NSString *htmlPath = [[NSBundle mainBundle] pathForResource:@"error" ofType:@"html"];

вместо этого - это должно иметь дело с локализованными ресурсами для вас.

0 голосов
/ 09 марта 2013

Ответ неправильный (и у меня тоже не сработал) - эта функция используется для загрузки локализованного ресурса:

- (NSString *)pathForResource:(NSString *)name ofType:(NSString *)ext inDirectory:(NSString *)subpath forLocalization:(NSString *)localizationName;

localizationName - это код языка локализации из двух символов.Кстати - вы можете получить ваш текущий / по умолчанию, используя:

return [[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] objectAtIndex:0];
0 голосов
/ 04 мая 2011

Локализация не должна быть проблемой - я прекрасно загружаю локализованные HTML-файлы, используя что-то вроде этого:

NSString *path = [[NSBundle mainBundle] pathForResource:@"error" ofType:@"htm"];

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:path isDirectory:NO]];

// ...

[self.webView loadRequest:request];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...