Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10324)

Unified Diff: chrome/common/translate/translate_util.cc

Issue 25531002: Move language detection to a component (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Run translate unittests on iOS Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/common/translate/translate_util.h ('k') | chrome/common/translate/translate_util_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/common/translate/translate_util.cc
diff --git a/chrome/common/translate/translate_util.cc b/chrome/common/translate/translate_util.cc
deleted file mode 100644
index 71c0860b0713ba124908cdfc1e54622a8d666625..0000000000000000000000000000000000000000
--- a/chrome/common/translate/translate_util.cc
+++ /dev/null
@@ -1,125 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/common/translate/translate_util.h"
-
-#include "base/basictypes.h"
-#include "base/command_line.h"
-#include "base/logging.h"
-#include "base/strings/string_split.h"
-#include "chrome/common/chrome_switches.h"
-#include "url/gurl.h"
-
-namespace {
-
-// Split the |language| into two parts. For example, if |language| is 'en-US',
-// this will be split into the main part 'en' and the tail part '-US'.
-void SplitIntoMainAndTail(const std::string& language,
- std::string* main_part,
- std::string* tail_part) {
- DCHECK(main_part);
- DCHECK(tail_part);
-
- std::vector<std::string> chunks;
- base::SplitString(language, '-', &chunks);
- if (chunks.size() == 0u)
- return;
-
- *main_part = chunks[0];
- *tail_part = language.substr(main_part->size());
-}
-
-} // namespace
-
-namespace TranslateUtil {
-
-struct LanguageCodePair {
- // Code used in supporting list of Translate.
- const char* const translate_language;
-
- // Code used in Chrome internal.
- const char* const chrome_language;
-};
-
-// Some languages are treated as same languages in Translate even though they
-// are different to be exact.
-//
-// If this table is updated, please sync this with the synonym table in
-// chrome/browser/resources/options/language_options.js
-const LanguageCodePair kLanguageCodeSimilitudes[] = {
- {"no", "nb"},
- {"tl", "fil"},
-};
-
-// Some languages have changed codes over the years and sometimes the older
-// codes are used, so we must see them as synonyms.
-//
-// If this table is updated, please sync this with the synonym table in
-// chrome/browser/resources/options/language_options.js
-const LanguageCodePair kLanguageCodeSynonyms[] = {
- {"iw", "he"},
- {"jw", "jv"},
-};
-
-const char kSecurityOrigin[] = "https://translate.googleapis.com/";
-
-void ToTranslateLanguageSynonym(std::string* language) {
- for (size_t i = 0; i < arraysize(kLanguageCodeSimilitudes); ++i) {
- if (*language == kLanguageCodeSimilitudes[i].chrome_language) {
- *language = kLanguageCodeSimilitudes[i].translate_language;
- return;
- }
- }
-
- std::string main_part, tail_part;
- SplitIntoMainAndTail(*language, &main_part, &tail_part);
- if (main_part.empty())
- return;
-
- // Apply liner search here because number of items in the list is just four.
- for (size_t i = 0; i < arraysize(kLanguageCodeSynonyms); ++i) {
- if (main_part == kLanguageCodeSynonyms[i].chrome_language) {
- main_part = std::string(kLanguageCodeSynonyms[i].translate_language);
- break;
- }
- }
-
- *language = main_part + tail_part;
-}
-
-void ToChromeLanguageSynonym(std::string* language) {
- for (size_t i = 0; i < arraysize(kLanguageCodeSimilitudes); ++i) {
- if (*language == kLanguageCodeSimilitudes[i].translate_language) {
- *language = kLanguageCodeSimilitudes[i].chrome_language;
- return;
- }
- }
-
- std::string main_part, tail_part;
- SplitIntoMainAndTail(*language, &main_part, &tail_part);
- if (main_part.empty())
- return;
-
- // Apply liner search here because number of items in the list is just four.
- for (size_t i = 0; i < arraysize(kLanguageCodeSynonyms); ++i) {
- if (main_part == kLanguageCodeSynonyms[i].translate_language) {
- main_part = std::string(kLanguageCodeSynonyms[i].chrome_language);
- break;
- }
- }
-
- *language = main_part + tail_part;
-}
-
-GURL GetTranslateSecurityOrigin() {
- std::string security_origin(kSecurityOrigin);
- CommandLine* command_line = CommandLine::ForCurrentProcess();
- if (command_line->HasSwitch(switches::kTranslateSecurityOrigin)) {
- security_origin =
- command_line->GetSwitchValueASCII(switches::kTranslateSecurityOrigin);
- }
- return GURL(security_origin);
-}
-
-} // namespace TranslateUtil
« no previous file with comments | « chrome/common/translate/translate_util.h ('k') | chrome/common/translate/translate_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698