Index: chrome/browser/ui/webui/chromeos/login/l10n_util.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/l10n_util.cc b/chrome/browser/ui/webui/chromeos/login/l10n_util.cc |
index d71427cd0c61d86c1efb215785e936cb3c4576f9..301bc773193fd42cc197bd8ceb09eebe87e12b21 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/l10n_util.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/l10n_util.cc |
@@ -167,7 +167,18 @@ scoped_ptr<base::ListValue> GetLanguageList( |
if (std::find(base_language_codes.begin(), |
base_language_codes.end(), |
*it) == base_language_codes.end()) { |
- continue; |
+ // Try to translate language code and look up again. |
+ std::string resolved_locale; |
+ |
+ if (!l10n_util::CheckAndResolveLocale(*it, &resolved_locale)) |
+ continue; |
+ |
+ if (std::find(base_language_codes.begin(), |
+ base_language_codes.end(), |
+ resolved_locale) == base_language_codes.end()) { |
+ continue; |
+ } |
+ // Translated language was successfully found. |
} |
const base::string16 display_name = |