Fix android generating old language code for ISO 639

This commit is contained in:
zoontek 2018-09-06 15:13:33 +02:00
parent 5c9934d1b1
commit 662476c315
1 changed files with 19 additions and 8 deletions

View File

@ -78,19 +78,30 @@ public class RNLanguagesModule extends ReactContextBaseJavaModule {
}
private String toLanguageTag(Locale locale) {
String languageTag;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
return locale.toLanguageTag();
languageTag = locale.toLanguageTag();
} else {
StringBuilder builder = new StringBuilder();
builder.append(locale.getLanguage());
if (locale.getCountry() != null) {
builder.append("-");
builder.append(locale.getCountry());
}
languageTag = builder.toString();
}
StringBuilder builder = new StringBuilder();
builder.append(locale.getLanguage());
if (locale.getCountry() != null) {
builder.append("-");
builder.append(locale.getCountry());
if (languageTag.matches("^(iw|in|ji).*")) {
languageTag = languageTag
.replace("iw","he")
.replace("in","id")
.replace("ji","yi");
}
return builder.toString();
return languageTag;
}
private void registerReceiver() {