summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorMihai Niță <mnita@google.com>2016-04-12 04:56:04 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-04-12 04:56:05 +0000
commite544d408c06fe3e6bc3b237f718b56f03f079f29 (patch)
treea777e00a6591dbe56434bcd14e248de485fe8440 /core/java
parent6b34b31059fbe21ed947c0213df56e04f6098f59 (diff)
parent1b2e7adc8821a6de2cfc2ce23b0c555c1bb7f1fa (diff)
Merge "Use DisplayNameWithDialect only for some locales" into nyc-dev
Diffstat (limited to 'core/java')
-rw-r--r--core/java/com/android/internal/app/LocaleHelper.java19
1 files changed, 14 insertions, 5 deletions
diff --git a/core/java/com/android/internal/app/LocaleHelper.java b/core/java/com/android/internal/app/LocaleHelper.java
index a9d51132cdcc..7e9587adaf26 100644
--- a/core/java/com/android/internal/app/LocaleHelper.java
+++ b/core/java/com/android/internal/app/LocaleHelper.java
@@ -90,6 +90,15 @@ public class LocaleHelper {
return str.toUpperCase();
}
+ // For some locales we want to use a "dialect" form, for instance
+ // "Dari" instead of "Persian (Afghanistan)", or "Moldavian" instead of "Romanian (Moldova)"
+ private static boolean shouldUseDialectName(Locale locale) {
+ final String lang = locale.getLanguage();
+ return "fa".equals(lang) // Persian
+ || "ro".equals(lang) // Romanian
+ || "zh".equals(lang); // Chinese
+ }
+
/**
* Returns the locale localized for display in the provided locale.
*
@@ -99,8 +108,10 @@ public class LocaleHelper {
* @return the localized name of the locale.
*/
public static String getDisplayName(Locale locale, Locale displayLocale, boolean sentenceCase) {
- String result = ULocale.getDisplayNameWithDialect(locale.toLanguageTag(),
- ULocale.forLocale(displayLocale));
+ final ULocale displayULocale = ULocale.forLocale(displayLocale);
+ String result = shouldUseDialectName(locale)
+ ? ULocale.getDisplayNameWithDialect(locale.toLanguageTag(), displayULocale)
+ : ULocale.getDisplayName(locale.toLanguageTag(), displayULocale);
return sentenceCase ? toSentenceCase(result, displayLocale) : result;
}
@@ -112,9 +123,7 @@ public class LocaleHelper {
* @return the localized name of the locale.
*/
public static String getDisplayName(Locale locale, boolean sentenceCase) {
- String result = ULocale.getDisplayNameWithDialect(locale.toLanguageTag(),
- ULocale.getDefault());
- return sentenceCase ? toSentenceCase(result, Locale.getDefault()) : result;
+ return getDisplayName(locale, Locale.getDefault(), sentenceCase);
}
/**