4

我的应用程序正在本地化,我们关注方言。(即波多黎各的西班牙语和西班牙语之间的区别)我注意到仅更改区域不会向将触发本地化的应用程序推送通知。仅更改语言会触发此通知。

在我的应用程序委托中,我想检查该区域是否在我的 applicationDidBecomeActive 方法中发生了变化,如果有,我想推送如果语言发生变化,iOS 会推送的通知。这可能吗?

4

2 回答 2

3

每次您的应用程序返回前台时(而不是在它变为活动时),获取当前语言环境。将最新的语言环境与以前的语言环境进行比较。如果新的和以前的语言环境对您来说足够不同,请发布通知。

示例 - 从西班牙到墨西哥应该将语言环境从 更改es_ESes_MX

编辑

要发布通知,您可以执行以下操作:

[[NSNotificationCenter defaultCenter] postNotificationName:NSCurrentLocaleDidChangeNotification object:nil];
于 2013-06-26T16:07:15.393 回答
3

以编程方式发布通知:

[[NSNotificationCenter defaultCenter] postNotificationName:NSCurrentLocaleDidChangeNotification object:self userInfo:nil];
于 2013-06-26T16:52:08.943 回答