Не удается автоматически загрузить локализованные ресурсы с помощью pathForResource

У меня есть приложение для 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 .

Я пробую его на симуляторе, но это не удалось:

  • журнал указывает, что путь: (...) / myapp.app/presentation.htm
  • the файл, загруженный в симулятор, на французском, а симулятор на английском.

Вторая попытка:

Затем я удаляю ресурсы и повторно добавьте их в папку их группы (Resource / html /). Я нажал кнопку «Информация» и выбрал «Сделать файл локализуемым». Файл был добавлен в папку English.lproj . Затем я выбираю «Добавить локализацию» и «Французский».

Я пробовал это на симуляторе, но это не удалось (я очистил сборку перед тестированием):

  • журнал указывает, что путь: (...) / myapp.app/presentation.htm
  • файл, загруженный в симулятор, написан на французском языке, а симулятор - на английском.

Третья попытка:

После прочтения этой страницы о загрузке локализованных ресурсов в iPhone OS 4.0 я изменил ресурсы в локализованных папках (удалил ресурсы и переименовал папки в en_UK. lproj и fr_FR.lproj

Я пробовал его на симуляторе, но не удалось (я очистил сборку перед тестированием):

  • журнал указывает, что путь: (. ..) / myapp.app/presentation.htm
  • the файл, загруженный в симулятор, находится на французском языке, Я знаю, что есть функция: - (NSString *) pathForResource: (NSString *) nameType: (NSString *) расширение inDirectory: (NSString *) subpath forLocalization: (NSString *) localizationName

    Но я хочу, чтобы оно было как можно более автоматическим, и исправление таких вещей, как Directory или localizationName, может помешать моему приложению работать автоматически.

5
задан Community 23 May 2017 в 11:53
поделиться