Ber*_*rnd 15 multilingual localization nslocalizedstring ios swift
我想为CocoaTouch框架添加多语言支持.
问题:我创建的Localizable.strings文件只有当它是主应用程序及其目标的一部分时才被NSLocalizedString使用.我想将它存储在Framework中以保持分离.
放置在CocoaTouch框架内时,如何使用Localizable.strings?
使用:
NSLocalizedString("Good", tableName: nil, bundle: NSBundle(forClass: self), value: "", comment: "")
Run Code Online (Sandbox Code Playgroud)
或者您可以像这样创建公共函数:
class func POLocalized(key: String) -> String{
let s = NSLocalizedString(key, tableName: nil, bundle: NSBundle(forClass: self.classForCoder()), value: "", comment: "")
return s
}
Run Code Online (Sandbox Code Playgroud)
使用示例:
let locString = POLocalized("key")
Run Code Online (Sandbox Code Playgroud)
这可以通过在NSLocalizedString构造函数中指定框架的包标识符来完成.
if let bundle: NSBundle = NSBundle(identifier: "com.mycompany.TheFramework") {
let string = NSLocalizedString("key", tableName: nil, bundle: bundle, value: "", comment: "")
print(string)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4844 次 |
| 最近记录: |