如何在应用内更改系统警报语言

时间:2019-06-29 04:54:10

标签: ios swift localization alert uialertcontroller

我正在开发应用程序,客户希望将其完全本地化。对于每种支持的语言,我们有几个Localizable.strings和InfoPlist.strings文件。 应用程序中有机会“即时”更改应用程序的语言。 (这是通过将另一个捆绑软件与所选语言相关联来完成的)到主捆绑软件。因此,当应用调用[NSBundle.mainBundle localizedStringForKey:value:table:]时,它实际上是指用户选择的语言包。)

带来不良后果。系统权限警报(对位置使用情况,相机使用情况等的请求)未使用在应用内选择的语言进行本地化,而是使用iOS设置中的首选语言进行了本地化。

例如,如果用户在“设置”中使用英语作为首选语言,但是在我们的应用中他选择了法语,则整个系统将以法语显示,但系统警报将以英语显示。

有什么办法可以解决?我的意思是,要以编程方式选择必须考虑将哪种语言系统警报视为首选?

苹果拒绝原因:您的应用程序的模式警报为英语,但您应用程序的主要语言为法语。为了帮助用户理解您的应用为何请求访问特定功能的原因,您应用的模式警报应使用与其他应用相同的语言。

0 个答案:

没有答案