summaryrefslogtreecommitdiffstats
path: root/components/translate/core/browser/translate_prefs.cc
diff options
context:
space:
mode:
authorhajimehoshi <hajimehoshi@chromium.org>2014-11-12 20:05:53 -0800
committerCommit bot <commit-bot@chromium.org>2014-11-13 04:06:16 +0000
commit098153f8613fa71e15397537baa0a1310d82cd07 (patch)
tree5c522dde7dd5d17c19b8f712d6dc879dd62c1dee /components/translate/core/browser/translate_prefs.cc
parent1bc033c4375e34fa4ccfc4913e2a9582442f2446 (diff)
downloadchromium_src-098153f8613fa71e15397537baa0a1310d82cd07.zip
chromium_src-098153f8613fa71e15397537baa0a1310d82cd07.tar.gz
chromium_src-098153f8613fa71e15397537baa0a1310d82cd07.tar.bz2
Convert Chinese lang codes with a region code to a compatible lang code
Convert zh-HK, zh-MO, zh-SG to their compatible language codes such as zh-CN and zh-TW. This will help to show Translate UI on websites in the Chinese langs with the region codes. BUG=409606 TEST=components_unittests --gtest_filter=Language*:Translate*, unit_tests --gtest_filter=Translate*, browser_tests --gtest_filter=ChromeRenderViewTest.LanguageCommonMistakesAreCorrected Review URL: https://codereview.chromium.org/715593002 Cr-Commit-Position: refs/heads/master@{#303981}
Diffstat (limited to 'components/translate/core/browser/translate_prefs.cc')
-rw-r--r--components/translate/core/browser/translate_prefs.cc25
1 files changed, 4 insertions, 21 deletions
diff --git a/components/translate/core/browser/translate_prefs.cc b/components/translate/core/browser/translate_prefs.cc
index 4f9c2a7..a7cd5c1 100644
--- a/components/translate/core/browser/translate_prefs.cc
+++ b/components/translate/core/browser/translate_prefs.cc
@@ -492,38 +492,21 @@ void TranslatePrefs::CreateBlockedLanguages(
for (std::vector<std::string>::const_iterator it = accept_languages.begin();
it != accept_languages.end(); ++it) {
- std::string converted_lang = ConvertLangCodeForTranslation(*it);
+ std::string lang = *it;
+ translate::ToTranslateLanguageSynonym(&lang);
// Regarding http://crbug.com/36182, even though English exists in Accept
// language list, English could be translated on non-English locale.
- if (converted_lang == "en" && !is_ui_english)
+ if (lang == "en" && !is_ui_english)
continue;
- result.insert(converted_lang);
+ result.insert(lang);
}
blocked_languages->insert(
blocked_languages->begin(), result.begin(), result.end());
}
-// static
-std::string TranslatePrefs::ConvertLangCodeForTranslation(
- const std::string& lang) {
- std::vector<std::string> tokens;
- base::SplitString(lang, '-', &tokens);
- if (tokens.size() < 1)
- return lang;
-
- std::string main_part = tokens[0];
-
- // Translate doesn't support General Chinese and the sub code is necessary.
- if (main_part == "zh")
- return lang;
-
- translate::ToTranslateLanguageSynonym(&main_part);
- return main_part;
-}
-
bool TranslatePrefs::IsValueInList(const base::ListValue* list,
const std::string& in_value) const {
for (size_t i = 0; i < list->GetSize(); ++i) {