如何以及在哪里找到 Phrase OTA 下载的翻译文件?

问题描述

我已经实现了“短语”SDK 来简单地“推拉”翻译,它运行良好。

现在在实现 PhraseSDK(OTA 版本)时,我也可以在运行时使用 Phrase.shared.updateTranslations 方法更新翻译。

接下来,当我清除本地翻译文件内容时,例如从 en.lrpoj/Localizable.stringses.lproj/Localizable.strings 内部,我仍然能够看到翻译,因为 OTA SDK 已存储更新的翻译某处,与认的 .lproj 文件分开。

顺便说一句,这就是它的工作原理,因为 OTA 下载的翻译优先于本地翻译。

现在我想知道这个 Phrase OTA SDK 在哪里存储这些翻译,因为我在文档目录中找不到它。

参考:iOS App Translation Over the Air with Phrase

解决方法

下载的翻译存储在 Apple 推荐的沙盒 Application Support 目录中。

完整的文件夹是这样组成的:

└── Application Support
    └── PhraseSDK
        └── Translations
            └── [Release Version Number]
                ├── en.lproj
                │   ├── Localizable.strings
                │   └── Localizable.stringsdict
                └── ...
                    ├── Localizable.strings
                    └── Localizable.stringsdict

像往常一样访问应用程序支持,例如使用 FileManager.default.urls(for: .applicationSupportDirectory,in: .userDomainMask).first

之后为 PhraseSDKTranslations 附加路径组件。版本号取决于后端中的设置并自动更新。

如果您想删除所有下载的翻译,您可以根据需要删除 Translations 中的所有内容,但请注意,在运行下载期间绝不应该发生这种情况(尽管会捕获错误,但这可能会导致未知的副作用)。

但我们也在检查文件系统中是否有已知的发布版本,如果没有,则无论如何都会触发重新下载。

hth!