| Index: base/i18n/rtl.cc
|
| diff --git a/base/i18n/rtl.cc b/base/i18n/rtl.cc
|
| index 2712a44aa3f2335d2ac5190692b4c86dabc86367..9684b1d94c586c340254296f3bc49b9358b6174f 100644
|
| --- a/base/i18n/rtl.cc
|
| +++ b/base/i18n/rtl.cc
|
| @@ -20,10 +20,12 @@
|
|
|
| namespace {
|
|
|
| -// Extract language and country, ignore keywords, concatenate using dash.
|
| +// Extract language, country and variant, but ignore keywords. For example,
|
| +// en-US, ca@valencia, ca-ES@valencia.
|
| std::string GetLocaleString(const icu::Locale& locale) {
|
| const char* language = locale.getLanguage();
|
| const char* country = locale.getCountry();
|
| + const char* variant = locale.getVariant();
|
|
|
| std::string result =
|
| (language != NULL && *language != '\0') ? language : "und";
|
| @@ -33,6 +35,12 @@ std::string GetLocaleString(const icu::Locale& locale) {
|
| result += country;
|
| }
|
|
|
| + if (variant != NULL && *variant != '\0') {
|
| + std::string variant_str(variant);
|
| + StringToLowerASCII(&variant_str);
|
| + result += '@' + variant_str;
|
| + }
|
| +
|
| return result;
|
| }
|
|
|
|
|