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

标签 iphone objective-c cocoa ios localization

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

现在,我正在使用这段代码:

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

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

最佳答案

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

如果您确保具有以下 bundle 布局,这应该可以工作:

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

重要的是你没有在包的根级别(又名非本地化级别)有一个 Numbers.plist 文件,因为如果你这样做,Numbers.plist 将始终优先于本地化版本(出于性能原因)。

关于iphone - 如何加载正确的本地化文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4505635/

相关文章:

ios - 如何在 UITableview iOS 的每一行添加多个按钮和标签

objective-c - 重用 View Controller

iphone - 强制iphone应用程序以编程方式重新启动?

macos - 使用 rsync 在远程 Mac 计算机上创建备份

iphone - itms-services//action=download-manifest url 作为本地文件

ios - 两个数字之间的动画 UILabel 文本?

swift - 将单选组分配给单选按钮

cocoa - 单击鼠标时“确定”按钮的行为有所不同

iphone - NSString 编码问题

iphone - NSPredicate 在一对多关系中引用多个字段?