Список локализованных файлов - PullRequest
0 голосов
/ 14 октября 2011

Коничива, Я ломаю голову над нестандартной процедурой, чтобы прочитать кучу локализованных XML-файлов, расположенных в моем проекте.

Моя цель состоит в том, чтобы рекурсивно прочитать все эти файлы, чтобы передать sqlite db coredata для создания различных основанных на lang версий одной и той же БД.

Во-первых, я попробовал методику старой школы, например:

NSString *bundleRoot = [[NSBundle mainBundle] bundlePath];
NSArray *dirContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:bundleRoot error:nil];
NSArray *onlyXMLs = [dirContents filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self ENDSWITH '.xml'"]];
for (NSString *tString in onlyXMLs) { 
   /* stuff */
}

без всякой удачи, потому что он выскакивает все нелокализованные xmls в моем проекте и ничего более.

так что мне было интересно, есть ли способ получить эти чертовы не локализованные xmls.

спасибо заранее.

Если у вас есть сомнения или вопросы, не будьте незнакомцем, напишите мне.

-K-

1 Ответ

0 голосов
/ 20 октября 2011

ок, решил!

для тех, кто ищет ответ на проблему, вот решение:

    NSArray *onlyXMLs = [[NSBundle mainBundle] pathsForResourcesOfType:@"xml" inDirectory:nil forLocalization:@"English"];

помните, что параметр, который несет нужный язык всегда должен совпадать с каталогом .plist, содержащим нужные файлы в вашем проекте.

так что если у вас есть список English.plist с необходимым вам материалом, это также должна быть строка имени для передачи (как показано в примере выше), в противном случае, если вы имеете дело с en.plist , @ "en" должно быть строкой.

Вот и все, вот и все.

...