强制语言更改通知iOS

时间:2013-06-26 15:42:24

标签: ios localization nsnotification

我的应用正在本地化,我们关注方言。 (即peurto rico中的西班牙语和西班牙语之间的差异)我注意到只是更改区域不会向应用程序发送通知以触发本地化。只有更改语言才会触发此通知。

在我的app委托中,我想查看我的applicationDidBecomeActive方法中的区域是否已更改,如果有,我想推送iOS如果语言发生变化则推送的通知..是可能的?

2 个答案:

答案 0 :(得分:3)

每次你的应用程序返回到前台时(而不是当它变为活动状态时),获取当前的语言环境。将最新的区域设置与先前的区域设置进行比较。如果新的和以前的区域设置对您不同,请发布通知。

示例 - 从西班牙到墨西哥应该将区域设置从es_ES更改为es_MX

修改

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

[[NSNotificationCenter defaultCenter] postNotificationName:NSCurrentLocaleDidChangeNotification object:nil];

答案 1 :(得分:3)

以编程方式发布通知:

[[NSNotificationCenter defaultCenter] postNotificationName:NSCurrentLocaleDidChangeNotification object:self userInfo:nil];