| Index: chrome/browser/views/options/languages_page_view.cc
|
| diff --git a/chrome/browser/views/options/languages_page_view.cc b/chrome/browser/views/options/languages_page_view.cc
|
| index abb2490a116b50f3cf32b063121790b896990e17..2fdc7862f790180800e3175dd9e5b4f96441e581 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() {
|
|
|