| // 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); |
| |
| // Returns the version string of CLD. |
| std::string GetCLDVersion(); |
| |
| } // namespace LanguageDetectionUtil |
| |
| #endif // CHROME_COMMON_TRANSLATE_LANGUAGE_DETECTION_UTIL_H_ |