在iOS中,我们可以有多个string
个文件[Tables
]来分隔localization
。
是否有办法验证捆绑包中是否存在特定的表?
使用案例
我有pod用作主应用程序中的组件。现在该组件有许多字符串本地化,但我想提供对主应用程序的访问权限以及修改字符串或添加其他翻译等。
目前我正在搜索应用程序的主要Bundle,如果Table
存在特定路径,那么我会从框架包中读取转换的关键值。
代码:
let preferredLanguage = Bundle.main.preferredLocalizations.first!
let pathForTable = Bundle.main.path(forResource: "MyTableName",
ofType: ".strings",
inDirectory: "\(preferredLanguage).lproj")
所以在上面的情况下如果pathForTable
是nil
,那么我从Framework-Bundle
读取字符串,否则我使用主包来读取字符串。
NSLocalizedString("mykey",
tableName: "MyTableName",
bundle: Bundle.main,
value: "",
comment: "")
有没有更好的方法来查找是否存在特定的表?