/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the 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 : Persian
  • 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