Список локализованных файлов

Ребята из 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"будет строкой.

вот и все.

Другие вопросы по тегам