如何使用存储在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) }