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

Mos*_*she 8 iphone cocoa localization objective-c ios

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

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

NSArray *numbersArray = [[NSArray alloc] initWithContentsOfFile:
      [[NSBundle mainBundle] pathForResource:@"Numbers" ofType:@"plist"]];
Run Code Online (Sandbox Code Playgroud)

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

NSG*_*God 12

NSArray *numbersArray = [[NSArray alloc]
   initWithContentsOfFile:
    [[NSBundle mainBundle] pathForResource:@"Numbers" ofType:@"plist"]];
Run Code Online (Sandbox Code Playgroud)

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

MyApp.app
 // no Numbers.plist here
.....
en.lproj/
    Numbers.plist // english-version
fr.lproj/
    Numbers.plist // french-version
Run Code Online (Sandbox Code Playgroud)

重要的是,你不会有一个Numbers.plist在包的根目录下(又名-非本地化级)文件,因为如果你这样做,那将Numbers.plist总是优先于本地化版本(性能原因).