У меня есть приложение для iPhone, которое нужно локализовать. Нет проблем со строками, но у меня проблемы с ресурсами: мне нужно загрузить локализованные HTML-страницы. Файлы похожи на: presentation.htm Файлы добавляются в проект вместе с папкой, в которой они находятся (html /), и в нее добавляется группа, которая называется папкой.
Я загружаю html-страницы следующим кодом:
NSString *pathPresentation = [[NSBundle mainBundle] pathForResource:@"presentation" ofType:@"htm"];
if(!pathPresentation) {
NSLog(@"Could not find presentation.htm");
}
NSURL *url = [NSURL fileURLWithPath:pathPresentation];
NSLog(@"-> path presentation.htm : %@", pathPresentation);
UIWebView *webViewPresentation = [[UIWebView alloc] init];
NSData *htmlData = [NSData dataWithContentsOfFile:pathPresentation];
if (htmlData) {
[webViewPresentation loadData:htmlData MIMEType:@"text/html" textEncodingName:@"Latin-1" baseURL:url];
}
Первая попытка:
Я следовал указаниям этого веб-сайта Я могу локализовать , поскольку в приложении еще были локализованные ресурсы. Папки называются: en.lproj и fr.lproj .
Я пробую его на симуляторе, но это не удалось:
Вторая попытка:
Затем я удаляю ресурсы и повторно добавьте их в папку их группы (Resource / html /). Я нажал кнопку «Информация» и выбрал «Сделать файл локализуемым». Файл был добавлен в папку English.lproj . Затем я выбираю «Добавить локализацию» и «Французский».
Я пробовал это на симуляторе, но это не удалось (я очистил сборку перед тестированием):
Третья попытка:
После прочтения этой страницы о загрузке локализованных ресурсов в iPhone OS 4.0 я изменил ресурсы в локализованных папках (удалил ресурсы и переименовал папки в en_UK. lproj и fr_FR.lproj
Я пробовал его на симуляторе, но не удалось (я очистил сборку перед тестированием):
- (NSString *) pathForResource: (NSString *) nameType: (NSString *) расширение inDirectory: (NSString *) subpath forLocalization: (NSString *) localizationName
Но я хочу, чтобы оно было как можно более автоматическим, и исправление таких вещей, как Directory или localizationName, может помешать моему приложению работать автоматически.