/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef __com_sun_star_linguistic2_XLanguageGuessing_idl__ #define __com_sun_star_linguistic2_XLanguageGuessing_idl__ #ifndef _COM_SUN_STAR_UNO_XINTERFACE_idl_ #include #endif #ifndef _COM_SUN_STAR_LANG_LOCALE_idl_ #include #endif #ifndef _COM_SUN_STAR_LANG_ILLEGALARGUMENTEXCEPTION_IDL_ #include #endif module com { module sun { module star { module linguistic2 { /** This interface allows to guess the language of a text

The current set of supported languages is:

  • af : Afrikaans
  • am : Amharic
  • ar : Arabic
  • be : Belarus
  • br : Breton
  • bs : Bosnian
  • ca : Catalan
  • cs : Czech
  • cy : Welsh
  • da : Danish
  • de : German
  • drt : Drents
  • el : Greek
  • en : English
  • eo : Esperanto
  • es : Spanish
  • et : Estonian
  • eu : Basque
  • fa : Farsi
  • fi : Finnish
  • fr : French
  • fy : Frisian
  • ga : Irish Gaelic
  • gd : Scots Gaelic
  • gv : Manx Gaelic
  • he : Hebrew
  • hi : Hindi
  • hr : Croatian
  • hu : Hungarian
  • hy : Armenian
  • id : Indonesian
  • is : Icelandic
  • it : Italian
  • ja : Japanese
  • ka : Georgian
  • ko : Korean
  • la : Latin
  • lb : Luxembourgish (added with OOo 3.3)
  • lt : Lithuanian
  • lv : Latvian
  • mr : Marathi
  • ms : Malay
  • ne : Nepali
  • nl : Dutch
  • nb : Norwegian (Bokmal)
  • pl : Polish
  • pt-PT : Portuguese (Portugal)
  • qu : Quechua
  • rm : Romansh
  • ro : Romanian
  • ru : Russian
  • sa : Sanskrit
  • sco : Scots
  • sh : Serbian (written with latin characters)
  • sk-SK : Slovak (written with latin characters)
  • sl : Slovenian
  • sq : Albanian
  • sr : Serbian (written with cyrillic characters) (added with OOo 3.4)
  • sv : Swedish
  • sw : Swahili
  • ta : Tamil
  • th : Thai
  • tl : Tagalog
  • tr : Turkish
  • uk : Ukrainian
  • vi : Vietnamese
  • yi : Yiddish
  • zh-CN : Chinese (simplified)
  • zh-TW : Chinese (traditional)

@since OOo 2.2 */ interface XLanguageGuessing { //------------------------------------------------------------------------- /** determines the single most probable language of a sub-string.

Please note that because statistical analysis is part of the algorithm the the likelihood to get the correct result increases with the length of the sub-string. A word is much less likely guessed correctly compared to a sentence or even a whole paragraph.

Also note that some languages are that 'close' to each other that it will be quite unlikely to find a difference in them, e.g. English (UK), English (IE) and English (AUS) and most liklely English (US) as well. And thus the result may be arbitrary.

@returns the locale for the language identified. If no language could be identified the locale will be empty. @param aText all the text including the part that should checked. @param nStartPos specifies the starting index of the sub-string to be checked The value must met 0 <= nStartPos < (length of text - 1). @param nLen specifies the length of the sub-string to be checked. The value must met 0 <= nLen <= (length of text). @see Locale */ com::sun::star::lang::Locale guessPrimaryLanguage( [in] string aText, [in] long nStartPos, [in] long nLen ) raises( com::sun::star::lang::IllegalArgumentException ); //------------------------------------------------------------------------- /** allows to explicitly discard some languages from the set of languages possibly returned.

By default all languages are enabled.

*/ void disableLanguages( [in] sequence< com::sun::star::lang::Locale > aLanguages ) raises( com::sun::star::lang::IllegalArgumentException ); //------------------------------------------------------------------------- /** allows to explicitly re-enable some languages that got previously disabled.

By default all languages are enabled.

*/ void enableLanguages( [in] sequence< com::sun::star::lang::Locale > aLanguages ) raises( com::sun::star::lang::IllegalArgumentException ); //------------------------------------------------------------------------- /** returns a list of all supported languages.

This should be the same as the mathematical union of all enabled and disabled languages.

*/ sequence< com::sun::star::lang::Locale > getAvailableLanguages(); //------------------------------------------------------------------------- /** returns the list of all enabled languages */ sequence< com::sun::star::lang::Locale > getEnabledLanguages(); //------------------------------------------------------------------------- /** returns the list of all disabled languages */ sequence< com::sun::star::lang::Locale > getDisabledLanguages(); }; }; }; }; }; #endif