Index: chrome/common/translate/language_detection_util.h |
diff --git a/chrome/common/translate/language_detection_util.h b/chrome/common/translate/language_detection_util.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..787c07816b14a6514194ef22411ea657f695bba1 |
--- /dev/null |
+++ b/chrome/common/translate/language_detection_util.h |
@@ -0,0 +1,44 @@ |
+// 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. |
+ |
+#ifndef CHROME_COMMON_TRANSLATE_LANGUAGE_DETECTION_UTIL_H_ |
+#define CHROME_COMMON_TRANSLATE_LANGUAGE_DETECTION_UTIL_H_ |
+ |
+#include <string> |
+ |
+#include "base/strings/string16.h" |
+ |
+namespace LanguageDetectionUtil { |
+ |
+// Determines content page language from Content-Language code and contents. |
+std::string DeterminePageLanguage(const std::string& code, |
+ const std::string& html_lang, |
+ const base::string16& contents, |
+ std::string* cld_language, |
+ bool* is_cld_reliable); |
+ |
+// Corrects language code if it contains well-known mistakes. |
+// Called only by tests. |
+void CorrectLanguageCodeTypo(std::string* code); |
+ |
+// Checks if the language code's format is valid. |
+// Called only by tests. |
+bool IsValidLanguageCode(const std::string& code); |
+ |
+// Checks if languages are matched, or similar. This function returns true |
+// against a language pair containing a language which is difficult for CLD to |
+// distinguish. |
+// Called only by tests. |
+bool IsSameOrSimilarLanguages(const std::string& page_language, |
+ const std::string& cld_language); |
+ |
+// Checks if languages pair is one of well-known pairs of wrong server |
+// configuration. |
+// Called only by tests. |
+bool MaybeServerWrongConfiguration(const std::string& page_language, |
+ const std::string& cld_language); |
+ |
+} // namespace LanguageDetectionUtil |
+ |
+#endif // CHROME_COMMON_TRANSLATE_LANGUAGE_DETECTION_UTIL_H_ |