ios - 如何按应用程序语言本地化 iOS 通知

标签 ios swift notifications localization apple-push-notifications

我正在使用 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 从不建议从应用程序本身更改语言。 如果你这样做,那么你需要在你的服务器上本地化通知内容,在向任何用户发送推送之前,你需要检查用户正在使用的应用程序的语言。然后以应用程序选择的语言发送通知。无论在设备设置中选择了什么语言。

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

关于ios - 如何按应用程序语言本地化 iOS 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46198887/

相关文章:

ios - 如何将负数格式化为红色,黑色表示正数

ios - 如何更新另一个 UIViewController 上的进度 View - SWIFT?

android - 当我的应用程序处于前台时如何关闭通知图标?

objective-c - 为什么 NSNotification 中的 Observer 调用了两次......?

ios - 初始化 GKMatchMakerViewController 时出错

ios - XCode 格式 : Grey Source Code

swift - 如何在快速使用相机拍照后创建警报

ios - 当我的应用程序进入前台时运行请求失败并显示 "The network connection was lost."

notifications - 我想收到我工作日的实时通知

ios - TableView 页脚不随内容滚动