如何使用存储在CocoaTouch框架中的Localizable.strings?

我想为CocoaTouch框架添加多语言支持。

问题:我创build的Localizable.strings文件只有在它是主应用程序及其目标的一部分时才被NSLocalizedString使用。 我想将其存储在框架内,以保持独立。

如何在CocoaTouch框架中使用Localizable.strings

使用:

NSLocalizedString("Good", tableName: nil, bundle: NSBundle(forClass: self), value: "", comment: "") 

或者你可以像这样创build公共func:

 class func POLocalized(key: String) -> String{ let s = NSLocalizedString(key, tableName: nil, bundle: NSBundle(forClass: self.classForCoder()), value: "", comment: "") return s } 

使用示例:

 let locString = POLocalized("key") 

这可以通过在NSLocalizedString构造函数中指定框架的包标识符来完成。

 if let bundle: NSBundle = NSBundle(identifier: "com.mycompany.TheFramework") { let string = NSLocalizedString("key", tableName: nil, bundle: bundle, value: "", comment: "") print(string) }