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 99e3c6e650ae436119538dc2f83a72459232ca08..8d0441d99e17512e00ba468d9d3c647cb973ee18 100644 |
--- a/chrome/browser/translate/translate_language_list.cc |
+++ b/chrome/browser/translate/translate_language_list.cc |
@@ -13,6 +13,7 @@ |
#include "base/string_util.h" |
#include "base/values.h" |
#include "chrome/browser/browser_process.h" |
+#include "chrome/browser/translate/translate_manager_metrics.h" |
Takashi Toyoshima
2013/05/30 06:04:31
now that we use it out of TranslateManager, let's
hajimehoshi
2013/05/30 06:44:56
Done.
|
#include "chrome/browser/translate/translate_url_util.h" |
#include "chrome/common/chrome_switches.h" |
#include "googleurl/src/gurl.h" |
@@ -21,6 +22,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 { |
@@ -231,12 +233,20 @@ void TranslateLanguageList::SetSupportedLanguages( |
NOTREACHED(); |
return; |
} |
+ |
+ const std::string& locale = g_browser_process->GetApplicationLocale(); |
+ |
// Now we can clear our current state... |
supported_languages_.clear(); |
// ... and replace it with the values we just fetched from the server. |
for (DictionaryValue::Iterator iter(*target_languages); |
!iter.IsAtEnd(); |
iter.Advance()) { |
- supported_languages_.insert(iter.key()); |
+ const std::string& lang = iter.key(); |
+ if (!l10n_util::IsLocaleNameTranslated(lang.c_str(), locale)) { |
+ TranslateManagerMetrics::ReportUndisplayableLanguage(lang); |
+ continue; |
+ } |
+ supported_languages_.insert(lang); |
} |
} |