列出本地化文件

时间:2011-10-14 18:35:23

标签: objective-c nsbundle localized

Konichiwa人, 我正在敲打一个非标准的程序来阅读我项目中的一堆本地化的xml。

我的目的是递归读取所有这些文件,以便提供coredata sqlite db来创建同一个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 */
}

没有运气,因为它会弹出我项目中所有非本地化的xml而已。

所以我想知道是否有办法让那些大坝没有本地化的xmls。

提前感谢。

如果你有疑问或问题不是陌生人,请给我留言。

-k -

1 个答案:

答案 0 :(得分:0)

好的,解决了!

对于那些寻求问题答案的人来说,这就是解决方案:

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

记住带有所需语言的参数 必须始终与包含项目中所需文件的.plist目录相同。

所以,如果你有一个包含你需要的东西的English.plist,那也必须是要传递的名字串(如上例所示),否则如果你正在处理一个en.plist ,@“en”应为字符串。

就是这样,就是这样。