如何检查本地化字符串表是否存在

时间:2017-11-21 11:28:27

标签: ios macos localization internationalization

在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")

所以在上面的情况下如果pathForTablenil,那么我从Framework-Bundle读取字符串,否则我使用主包来读取字符串。

NSLocalizedString("mykey",
              tableName: "MyTableName",
              bundle: Bundle.main,
              value: "",
              comment: "")

有没有更好的方法来查找是否存在特定的表?

0 个答案:

没有答案