1// Copyright (c) 2009 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef ENCODINGS_COMPACT_LANG_DET_WIN_CLD_UNICODETEXT_H_ 6#define ENCODINGS_COMPACT_LANG_DET_WIN_CLD_UNICODETEXT_H_ 7 8#include "languages/public/languages.h" 9#include "unicode/utypes.h" 10 11namespace CompactLangDet { 12 struct DetectionTables; 13} // namespace CompactLangDet 14 15// Detects a language of the UTF-16 encoded zero-terminated text. 16// [in] detection_tables - internal CLD data tables (see compact_lang_det.h). 17// Can be NULL, in this case CLD will fall back to builtin static tables. 18// [in] text - UTF-16 encoded text to detect a language of. 19// [in] is_plain_text - true if plain text, false otherwise (e.g. HTML). 20// [out] is_reliable - true, if returned language was detected reliably. 21// See compact_lang_det.h for details. 22// [out] num_languages - set to the number of languages detected on the page. 23// Language counts only if it's detected in more than 20% of the text. 24// [out, optional] error_code - set to 0 in case of success, Windows 25// GetLastError() code otherwise. Pass NULL, if not interested in errors. 26// See encodings/compact_lang_det/compact_lang_det.h, 27// CompactLangDet::DetectLanguage() description for other input parameters 28// description. 29// Returns: Language enum. 30// Returns NUM_LANGUAGES in case of any error. 31// See googleclient/languages/internal/languages.cc 32// for details. 33Language DetectLanguageOfUnicodeText( 34 const CompactLangDet::DetectionTables* detection_tables, 35 const UChar* text, bool is_plain_text, 36 bool* is_reliable, int* num_languages, 37 int* error_code, int* text_bytes); 38 39 40#endif // ENCODINGS_COMPACT_LANG_DET_WIN_CLD_UNICODETEXT_H_ 41