如何按应用语言本地化 iOS 通知

How to localize iOS notifications by app language

我正在使用 pod Localize,这是一个语言切换工具。

我的应用程序有一个首选项菜单,用户可以在其中更改列表中的应用程序语言。

当用户更改语言时,我也在 UserDefaults

中设置 AppleLanguages
Localize.setCurrentLanguage("nl")
UserDefaults.standard.set(["nl"], forKey: "AppleLanguages")
UserDefaults.standard.synchronize()

这适用于我的应用程序,一切都很好,除了通知本地化。

我读过the apple documentation about the localization local and remote notifications

我正在我的应用程序中存储本地化内容,使用 loc-keyloc-args 发送通知。

但通知总是在用户 preferredlanguage 中收到,这是由 iphone 首选项设置的,可能与我的应用程序语言不同。

如何解决此问题并通过应用特定语言本地化通知?

是的,用户将始终以 iPhone 首选项设置的用户首选语言收到通知,因为 Apple 从不建议从应用程序本身更改语言。 如果你这样做,那么你需要在你的服务器上本地化通知内容,在向任何用户发送推送之前,你需要检查用户正在使用的应用程序的语言。然后以应用程序选择的语言发送通知。无论在设备设置中选择什么语言。

希望对您有所帮助。如果您有任何困惑,请随时发表评论。