我的应用正在本地化,我们关注方言。 (即peurto rico中的西班牙语和西班牙语之间的差异)我注意到只是更改区域不会向应用程序发送通知以触发本地化。只有更改语言才会触发此通知。
在我的app委托中,我想查看我的applicationDidBecomeActive方法中的区域是否已更改,如果有,我想推送iOS如果语言发生变化则推送的通知..是可能的?
答案 0 :(得分:3)
每次你的应用程序返回到前台时(而不是当它变为活动状态时),获取当前的语言环境。将最新的区域设置与先前的区域设置进行比较。如果新的和以前的区域设置对您不同,请发布通知。
示例 - 从西班牙到墨西哥应该将区域设置从es_ES
更改为es_MX
。
修改强>:
要发布通知,您可以执行以下操作:
[[NSNotificationCenter defaultCenter] postNotificationName:NSCurrentLocaleDidChangeNotification object:nil];
答案 1 :(得分:3)
以编程方式发布通知:
[[NSNotificationCenter defaultCenter] postNotificationName:NSCurrentLocaleDidChangeNotification object:self userInfo:nil];