X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flanguage.h;h=01e0c74b901b4308a6ed3322d95fdaee645b0eb3;hb=98c966c64594611e469313314abd1e59524adb4a;hp=3de11179d21ac28e93a1d8308feeeee749e89692;hpb=f9a45f76521c1c2cad9dd05868b6cfcc6c81cdbe;p=lyx.git diff --git a/src/language.h b/src/language.h index 3de11179d2..01e0c74b90 100644 --- a/src/language.h +++ b/src/language.h @@ -1,17 +1,124 @@ // -*- C++ -*- +/* This file is part of + * ====================================================== + * + * LyX, The Document Processor + * + * Copyright 1995 Matthias Ettrich + * Copyright 1995-2001 The LyX Team. + * + * ====================================================== */ + #ifndef LANGUAGE_H #define LANGUAGE_H +#ifdef __GNUG__ +#pragma interface +#endif + #include #include "LString.h" -struct Language { - string lang; - string display; - bool leftTOright; +class Encoding; + +/// +class Language { +public: + /// + Language() : RightToLeft_(false) {} + /// + Language(string const & l, string const & b, string const & d, + bool rtl, Encoding const * e, string const & c, + string const & o) + : lang_(l), babel_(b), display_(d), RightToLeft_(rtl), + encoding_(e), code_(c), latex_options_(o) + {} + /// + string const & lang() const { + return lang_; + } + /// + string const & babel() const { + return babel_; + } + /// + string const & display() const { + return display_; + } + /// + bool RightToLeft() const { + return RightToLeft_; + } + /// + Encoding const * encoding() const { + return encoding_; + } + /// + string const & code() const { + return code_; + } + /// + string const & latex_options() const { + return latex_options_; + } +private: + /// + string lang_; + /// + string babel_; + /// + string display_; + /// + bool RightToLeft_; + /// + Encoding const * encoding_; + /// + string code_; + /// + string latex_options_; +}; + +class Languages +{ +public: + /// + typedef std::map LanguageList; + /// + typedef LanguageList::const_iterator const_iterator; + /// + typedef LanguageList::size_type size_type; + /// + void read(string const & filename); + /// + void setDefaults(); + /// + Language const * getLanguage(string const & language) const; + /// + size_type size() const { + return languagelist.size(); + } + /// + const_iterator begin() const { + return languagelist.begin(); + } + /// + const_iterator end() const { + return languagelist.end(); + } + /// + +private: + /// + LanguageList languagelist; }; -typedef map Languages; extern Languages languages; +extern Language const * default_language; +extern Language const * english_language; +extern Language const * ignore_language; +extern Language const * latex_language; +#ifdef INHERIT_LANGUAGE +extern Language const * inherit_language; +#endif #endif