Список локализованных файлов
Ребята из Konichiwa, я ломаю голову над нестандартной процедурой, чтобы прочитать кучу локализованных XML-файлов, расположенных в моем проекте.
Моя цель состоит в том, чтобы рекурсивно прочитать все эти файлы для того, чтобы передать базу данных sqlite db для создания различных основанных на 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 ответ
Хорошо, решил это!
для тех, кто ищет ответ на проблему, вот решение:
NSArray *onlyXMLs = [[NSBundle mainBundle] pathsForResourcesOfType:@"xml" inDirectory:nil forLocalization:@"English"];
помните, что параметр, который содержит желаемый язык, всегда должен совпадать с каталогом.plist, содержащим нужные файлы в вашем проекте.
так что если у вас есть English.plist с необходимым вам материалом, это также должна быть строка имени для передачи (как показано в примере выше), в противном случае, если вы имеете дело с en.plist, @"en"будет строкой.
вот и все.