I found a workaround. The root cause of this problem is that Apple has changed the "Language Identifiers" in iOS 9, please refer to this .
Since NSLocalizedString() (and its variants) "AppleLanguages" key in NSUserDefaults to determine which user preferences for preferred languages. I forcibly used NSLocalizedString to use a specific language, which is marked as their old language identifiers in older versions of iOS, when I found their language identifier in a new format. In other words, I did an "AppleLanguages" key value "AppleLanguages" .
To do this, refer to: How to force NSLocalizedString to use a specific language
I think Apple has done a very poor job in compatibility.
source share