强制语言更改通知iOS

我的应用程序正在本地化,我们关注方言。 (即在西class牙语和西class牙语在peurto rico之间的区别)我注意到,只是改变区域不会推动通知到应用程序,将触发本地化..只有改变语言触发这个通知。

在我的应用程序委托,我想检查,如果该区域已经改变了我的applicationDidBecomeActive方法,如果它有,我想推iOS通知,如果语言已经改变了..这是可能的吗?

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

示例 – 从西class牙到墨西哥应该将语言环境从es_ES更改为es_MX

编辑

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

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

以编程方式发布通知:

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