From 7f929f96a1cbab83749e378343193928e7203f75 Mon Sep 17 00:00:00 2001 From: Peter Serwylo Date: Sat, 11 Apr 2015 23:04:37 +1000 Subject: [PATCH] Added en-US locale to preferences. Also changed the way locales are loaded. Now it deals well with language codes that are followed by country codes (e.g. "en-US" rather than just "en"). --- F-Droid/res/values/no_trans.xml | 1 + .../fdroid/views/fragments/PreferencesFragment.java | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/F-Droid/res/values/no_trans.xml b/F-Droid/res/values/no_trans.xml index 4f79a8a49..28404c335 100644 --- a/F-Droid/res/values/no_trans.xml +++ b/F-Droid/res/values/no_trans.xml @@ -39,6 +39,7 @@ de el en-rGB + en-US eo es eu diff --git a/F-Droid/src/org/fdroid/fdroid/views/fragments/PreferencesFragment.java b/F-Droid/src/org/fdroid/fdroid/views/fragments/PreferencesFragment.java index ad57961d6..47da7d245 100644 --- a/F-Droid/src/org/fdroid/fdroid/views/fragments/PreferencesFragment.java +++ b/F-Droid/src/org/fdroid/fdroid/views/fragments/PreferencesFragment.java @@ -7,6 +7,7 @@ import android.preference.CheckBoxPreference; import android.preference.EditTextPreference; import android.preference.ListPreference; import android.preference.Preference; +import android.support.annotation.Nullable; import android.support.v4.preference.PreferenceFragment; import android.text.TextUtils; @@ -299,8 +300,12 @@ public class PreferencesFragment extends PreferenceFragment String[] langNames = new String[langValues.length]; langNames[0] = getString(R.string.pref_language_default); for (int i = 1; i < langValues.length; i++) { - Locale appLoc = new Locale(langValues[i]); - langNames[i] = appLoc.getDisplayLanguage(appLoc); + try { + final Locale appLoc = Locale.forLanguageTag(langValues[i]); + langNames[i] = appLoc.getDisplayName(appLoc); + } catch (Exception e) { + langNames[i] = langValues[i]; + } } pref.setEntries(langNames); }