X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLanguage.h;h=1dabbacaec4c011e44093c1d09f37ea54b9fcf03;hb=1e519d1115f41f71c253cb9e2fbb7803e9a583a9;hp=c26a77d568da374fd4df7ab1e658f68583fa6836;hpb=1f945177b9628b213c60872df88f2d155c3d6c54;p=lyx.git diff --git a/src/Language.h b/src/Language.h index c26a77d568..1dabbacaec 100644 --- a/src/Language.h +++ b/src/Language.h @@ -15,10 +15,13 @@ #ifndef LANGUAGE_H #define LANGUAGE_H +#include "BufferParams.h" + #include "support/docstring.h" #include "support/trivstring.h" #include +#include namespace lyx { @@ -33,7 +36,7 @@ class Language { public: /// Language() : rightToLeft_(false), encoding_(0), internal_enc_(false), - as_babel_options_(false), has_gui_support_(false) {} + has_gui_support_(false) {} /// LyX language name std::string const lang() const { return lang_; } /// Babel language name @@ -44,10 +47,14 @@ public: std::string const polyglossiaOpts() const { return polyglossia_opts_; } /// Is this language only supported by polyglossia? bool isPolyglossiaExclusive() const; + /// Is this language only supported by babel? + bool isBabelExclusive() const; /// quotation marks style std::string const quoteStyle() const { return quote_style_; } /// requirement (package, function) std::string const requires() const { return requires_; } + /// provides feature + std::string const provides() const { return provides_; } /// translatable GUI name std::string const display() const { return display_; } /// is this a RTL language? @@ -77,10 +84,10 @@ public: docstring babel_presettings() const { return babel_presettings_; } /// This language internally sets a font encoding bool internalFontEncoding() const { return internal_enc_; } - /// fontenc encoding(s) - std::string const fontenc() const { return fontenc_; } - /// This language needs to be passed to babel itself (not the class) - bool asBabelOptions() const { return as_babel_options_; } + /// The most suitable font encoding(s) for the selected document font + std::string fontenc(BufferParams const &) const; + /// Return the localized date formats (long, medium, short format) + std::string dateFormat(size_t i) const; /// This language corresponds to a translation of the GUI bool hasGuiSupport() const { return has_gui_support_; } /// @@ -107,6 +114,8 @@ private: /// trivstring requires_; /// + trivstring provides_; + /// trivstring display_; /// bool rightToLeft_; @@ -123,7 +132,9 @@ private: /// trivdocstring babel_presettings_; /// - trivstring fontenc_; + std::vector fontenc_; + /// + std::vector dateformats_; /// bool internal_enc_; /// @@ -153,6 +164,8 @@ public: /// void read(support::FileName const & filename); /// + Language const * getFromCode(std::string const & code) const; + /// void readLayoutTranslations(support::FileName const & filename); /// Language const * getLanguage(std::string const & language) const;