* Licence details can be found in the file COPYING.
*
* \author John Levon
+ * \author Jürgen Spitzmüller
*
* Full author contact details are available in file CREDITS.
*/
#include <vector>
#include <map>
+#include <string>
#ifdef HAVE_LIBMYTHES
#include MYTHES_H_LOCATION
* This class provides an interface to whatever thesauri we might support.
*/
-class Thesaurus {
+class Thesaurus
+{
public:
///
Thesaurus();
/**
* look up some text in the thesaurus
*/
- Meanings lookup(docstring const & text);
+ Meanings lookup(docstring const & text, docstring const & lang);
+ /// check if a thesaurus for a given language \p lang is available
+ bool thesaurusAvailable(docstring const & lang) const;
private:
#ifdef HAVE_LIBMYTHES
- MyThes * thes_;
+ /// add a thesaurus to the list
+ bool addThesaurus(docstring const & lang);
+
+ typedef std::map<docstring, MyThes *> Thesauri;
+ /// the thesauri
+ Thesauri thes_;
#else
#ifdef HAVE_LIBAIKSAURUS
Aiksaurus * thes_;