diff options
Diffstat (limited to 'chrome/browser/views/options/languages_page_view.cc')
-rw-r--r-- | chrome/browser/views/options/languages_page_view.cc | 159 |
1 files changed, 7 insertions, 152 deletions
diff --git a/chrome/browser/views/options/languages_page_view.cc b/chrome/browser/views/options/languages_page_view.cc index abb2490..2fdc786 100644 --- a/chrome/browser/views/options/languages_page_view.cc +++ b/chrome/browser/views/options/languages_page_view.cc @@ -39,140 +39,6 @@ #include "views/widget/widget.h" #include "views/window/window.h" -static const char* const accept_language_list[] = { - "af", // Afrikaans - "am", // Amharic - "ar", // Arabic - "az", // Azerbaijani - "be", // Belarusian - "bg", // Bulgarian - "bh", // Bihari - "bn", // Bengali - "br", // Breton - "bs", // Bosnian - "ca", // Catalan - "co", // Corsican - "cs", // Czech - "cy", // Welsh - "da", // Danish - "de", // German - "de-AT", // German (Austria) - "de-CH", // German (Switzerland) - "de-DE", // German (Germany) - "el", // Greek - "en", // English - "en-AU", // English (Austrailia) - "en-CA", // English (Canada) - "en-GB", // English (UK) - "en-NZ", // English (New Zealand) - "en-US", // English (US) - "en-ZA", // English (South Africa) - "eo", // Esperanto - // TODO(jungshik) : Do we want to list all es-Foo for Latin-American - // Spanish speaking countries? - "es", // Spanish - "et", // Estonian - "eu", // Basque - "fa", // Persian - "fi", // Finnish - "fil", // Filipino - "fo", // Faroese - "fr", // French - "fr-CA", // French (Canada) - "fr-CH", // French (Switzerland) - "fr-FR", // French (France) - "fy", // Frisian - "ga", // Irish - "gd", // Scots Gaelic - "gl", // Galician - "gn", // Guarani - "gu", // Gujarati - "he", // Hebrew - "hi", // Hindi - "hr", // Croatian - "hu", // Hungarian - "hy", // Armenian - "ia", // Interlingua - "id", // Indonesian - "is", // Icelandic - "it", // Italian - "it-CH", // Italian (Switzerland) - "it-IT", // Italian (Italy) - "ja", // Japanese - "jw", // Javanese - "ka", // Georgian - "kk", // Kazakh - "km", // Cambodian - "kn", // Kannada - "ko", // Korean - "ku", // Kurdish - "ky", // Kyrgyz - "la", // Latin - "ln", // Lingala - "lo", // Laothian - "lt", // Lithuanian - "lv", // Latvian - "mk", // Macedonian - "ml", // Malayalam - "mn", // Mongolian - "mo", // Moldavian - "mr", // Marathi - "ms", // Malay - "mt", // Maltese - "nb", // Norwegian (Bokmal) - "ne", // Nepali - "nl", // Dutch - "nn", // Norwegian (Nynorsk) - "no", // Norwegian - "oc", // Occitan - "or", // Oriya - "pa", // Punjabi - "pl", // Polish - "ps", // Pashto - "pt", // Portuguese - "pt-BR", // Portuguese (Brazil) - "pt-PT", // Portuguese (Portugal) - "qu", // Quechua - "rm", // Romansh - "ro", // Romanian - "ru", // Russian - "sd", // Sindhi - "sh", // Serbo-Croatian - "si", // Sinhalese - "sk", // Slovak - "sl", // Slovenian - "sn", // Shona - "so", // Somali - "sq", // Albanian - "sr", // Serbian - "st", // Sesotho - "su", // Sundanese - "sv", // Swedish - "sw", // Swahili - "ta", // Tamil - "te", // Telugu - "tg", // Tajik - "th", // Thai - "ti", // Tigrinya - "tk", // Turkmen - "to", // Tonga - "tr", // Turkish - "tt", // Tatar - "tw", // Twi - "ug", // Uighur - "uk", // Ukrainian - "ur", // Urdu - "uz", // Uzbek - "vi", // Vietnamese - "xh", // Xhosa - "yi", // Yiddish - "yo", // Yoruba - "zh", // Chinese - "zh-CN", // Chinese (Simplified) - "zh-TW", // Chinese (Traditional) - "zu", // Zulu -}; - /////////////////////////////////////////////////////////////////////////////// // AddLanguageWindowView // @@ -289,22 +155,10 @@ void AddLanguageWindowView::ViewHierarchyChanged(bool is_add, void AddLanguageWindowView::Init() { // Determine Locale Codes. - std::vector<std::string> locale_codes; const std::string app_locale = g_browser_process->GetApplicationLocale(); - for (size_t i = 0; i < arraysize(accept_language_list); ++i) { - string16 display_name = - l10n_util::GetDisplayNameForLocale(accept_language_list[i], - app_locale, false); - // This is a hack. If ICU doesn't have a translated name for - // this language, GetDisplayNameForLocale will just return the - // language code. In that case, we skip it. - // TODO(jungshik) : Put them at the of the list with language codes - // enclosed by brackets. - if (IsStringASCII(display_name) && - UTF16ToASCII(display_name) == accept_language_list[i]) - continue; - locale_codes.push_back(accept_language_list[i]); - } + std::vector<std::string> locale_codes; + l10n_util::GetAcceptLanguagesForLocale(app_locale, &locale_codes); + accept_language_combobox_model_.reset(new LanguageComboboxModel( profile_, locale_codes)); accept_language_combobox_ = new views::Combobox( @@ -375,9 +229,10 @@ void LanguagesPageView::ButtonPressed(views::Button* sender) { } void LanguagesPageView::OnAddLanguage(const std::string& new_language) { - language_order_table_model_->Add(new_language); - language_order_table_->Select(language_order_table_model_->RowCount() - 1); - OnSelectionChanged(); + if (language_order_table_model_->Add(new_language)) { + language_order_table_->Select(language_order_table_model_->RowCount() - 1); + OnSelectionChanged(); + } } void LanguagesPageView::InitControlLayout() { |