我正在本地化一个 flutter 应用程序。在 Android 中一切正常,而 iOS 中的字符串按照预期从 .arb 文件中进行翻译。但是,我不知道如何翻译 info.plist 中的字符串 - NSAppleMusicUsageDescription、NSBluetoothAlwaysUsageDescription 等 - 这些字符串在安装过程中用于描述用户必须授予的权限。
我已经尝试过How to localize a string inside the iOS info.plist file?中的答案,包括 YodagamaHeshan 的最后一个适用于 XCode 15+ 的答案,但没有任何效果。安装过程中根本不显示字符串。
有人可以提供或指出适用于 XCode 15 的分步程序吗?或者是否有调试输出可以告诉我进程在哪里失败?
我能够让它发挥作用。我不知道这是否是最好的方法,但它似乎可以完成工作:
为每种支持的语言手动创建名为“InfoPlist.strings”的文件。在名为“.lproj”的目录中创建它们;例如,英语的应该是“en.lproj/InfoPlist.strings”。
为您要使用的每个条目在每个文件中添加一行;例如:
NSAppleMusicUsageDescription = "My description text";
更改 Info.plist 文件以引用这些条目,例如:
我必须通过将 .lproj 文件夹拖到导航器中来手动将它们添加到 xcode 项目中。
我必须通过选中每个文件夹的目标成员资格复选框来手动将这些文件夹包含在项目中。如果没有这一步,上述任何操作都不会执行任何操作。
很可能有一种更正确的方法来完成这一切,但上述过程对我有用。