如何加载正确的本地化文件?

时间:2010-12-22 02:16:53

标签: iphone objective-c cocoa ios localization

我有一个我本地化的plist。如何正确加载plist?

现在,我正在使用此代码:

NSArray *numbersArray = [[NSArray alloc] initWithContentsOfFile:
      [[NSBundle mainBundle] pathForResource:@"Numbers" ofType:@"plist"]];

为了加载本地化的plist,我需要将代码更改为什么?

1 个答案:

答案 0 :(得分:12)

NSArray *numbersArray = [[NSArray alloc]
   initWithContentsOfFile:
    [[NSBundle mainBundle] pathForResource:@"Numbers" ofType:@"plist"]];

只要您确保拥有以下捆绑包布局,这应该可以使用:

MyApp.app
 // no Numbers.plist here
.....
en.lproj/
    Numbers.plist // english-version
fr.lproj/
    Numbers.plist // french-version

重要的是,在捆绑包的根级别(也称为非本地化级别)拥有Numbers.plist文件,因为如果这样做,那么这些数字。 plist将始终优先于本地化版本(出于性能原因)。