/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * 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 . */ 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:

@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 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 likely 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 com::sun::star::lang::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(); }; }; }; }; }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */