| Index: chrome/browser/translate/translate_language_list.cc
|
| diff --git a/chrome/browser/translate/translate_language_list.cc b/chrome/browser/translate/translate_language_list.cc
|
| index 7056f6dc739d32f41c196c49f3607657e87eaa3d..977760ee116081d68150e36590a34d43fbbc2981 100644
|
| --- a/chrome/browser/translate/translate_language_list.cc
|
| +++ b/chrome/browser/translate/translate_language_list.cc
|
| @@ -14,6 +14,7 @@
|
| #include "base/strings/stringprintf.h"
|
| #include "base/values.h"
|
| #include "chrome/browser/browser_process.h"
|
| +#include "chrome/browser/translate/translate_browser_metrics.h"
|
| #include "chrome/browser/translate/translate_event_details.h"
|
| #include "chrome/browser/translate/translate_manager.h"
|
| #include "chrome/browser/translate/translate_url_util.h"
|
| @@ -23,6 +24,7 @@
|
| #include "net/http/http_status_code.h"
|
| #include "net/url_request/url_fetcher.h"
|
| #include "net/url_request/url_request_status.h"
|
| +#include "ui/base/l10n/l10n_util.h"
|
|
|
| namespace {
|
|
|
| @@ -162,6 +164,8 @@ void SetSupportedLanguages(const std::string& language_list,
|
| return;
|
| }
|
|
|
| + const std::string& locale = g_browser_process->GetApplicationLocale();
|
| +
|
| // Now we can clear language list.
|
| set->clear();
|
| std::string message;
|
| @@ -170,11 +174,16 @@ void SetSupportedLanguages(const std::string& language_list,
|
| !iter.IsAtEnd();
|
| iter.Advance()) {
|
| // TODO(toyoshim): Check if UI libraries support adding locale.
|
| - set->insert(iter.key());
|
| + const std::string& lang = iter.key();
|
| + if (!l10n_util::IsLocaleNameTranslated(lang.c_str(), locale)) {
|
| + TranslateBrowserMetrics::ReportUndisplayableLanguage(lang);
|
| + continue;
|
| + }
|
| + set->insert(lang);
|
| if (message.empty())
|
| - message += iter.key();
|
| + message += lang;
|
| else
|
| - message += ", " + iter.key();
|
| + message += ", " + lang;
|
| }
|
| NotifyEvent(__LINE__, message);
|
| }
|
|
|