title: `NSLocale preferredLanguages` contains "-US" since iOS 9
body: <p>We have code like the following to retrieved the user language preference:</p>
  
  <pre><code>NSString *language = [[NSLocale preferredLanguages] firstObject];
  </code></pre>
  
  <p>Before iOS 8.4, <code>language</code> is "zh-Hans", "de", "ru", "ja" and etc. But since iOS 9, I notice that there is additional three characters "-US" appended to <code>language</code>. For example, "zh-Hans" becomes "zh-Hans-US"</p>
  
  <p>I can find any documentation about this change. I assume that I could do something like the following to workaround this issue. </p>
  
  <pre><code>NSRange range = [language rangeOfString:@"-US"];
  if (range.location!=NSNotFound &amp;&amp; language.length==range.location+3) {
      // If the last 3 chars are "-US", remove it
      language = [language substringToIndex:range.location];
  }
  </code></pre>
  
  <p>However, I am not sure whether it is safe to do so. It seems that "-US" is the location where the user is using the app? But this doesn't really make sense because we are in Canada. Has any body from other part of the world tried this?</p>