]> git.lyx.org Git - lyx.git/blobdiff - src/language.C
Add GraphicsTypes.h to libgraphics_la_SOURCES
[lyx.git] / src / language.C
index 9a1d26c9452c63343b7b418443dad0ff89fb8fdc..7208e3564a23588db2a4a8721fd3b2c47294402a 100644 (file)
@@ -4,7 +4,7 @@
  *           LyX, The Document Processor
  *        
  *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-2000 The LyX Team.
+ *           Copyright 1995-2001 The LyX Team.
  *
  * ====================================================== */
 
@@ -27,15 +27,21 @@ using std::endl;
 Languages languages;
 Language const * english_language;
 Language const * default_language;
-Language ignore_lang("ignore", "ignore", "Ignore", false, 0, "ignore");
+Language ignore_lang("ignore", "ignore", "Ignore", false, 0, "ignore", "");
 Language const * ignore_language = &ignore_lang;
+Language latex_lang("latex", "latex", "Latex", false, 0, "latex", "");
+Language const * latex_language = &latex_lang;
+#ifdef INHERIT_LANG
+Language inherit_lang("inherit", "inherit", "Inherit", false, 0, "inherit", "");
+Language const * inherit_language = &inherit_lang;
+#endif
 
 void Languages::setDefaults()
 {
        languagelist["english"] = Language("english", "english", N_("English"),
                                           false, 
                                           encodings.getEncoding("iso8859-1"),
-                                          "en");
+                                          "en", "");
        english_language = default_language = &languagelist["english"];
 }
 
@@ -43,26 +49,33 @@ void Languages::read(string const & filename)
 {
        LyXLex lex(0, 0);
        lex.setFile(filename);
-       while (lex.IsOK()) {
-               string lang, babel, display, encoding_str, code;
+       while (lex.isOK()) {
+               string lang;
+               string babel;
+               string display;
+               string encoding_str;
+               string code;
+               string latex_options;
                bool rtl = false;
 
                if (lex.next())
-                       lang = lex.GetString();
+                       lang = lex.getString();
                else
                        break;
                lyxerr[Debug::INIT] << "Reading language " << lang << endl;
 
                if (lex.next())
-                       babel = lex.GetString();
+                       babel = lex.getString();
+               if (lex.next())
+                       display = lex.getString();
                if (lex.next())
-                       display = lex.GetString();
+                       rtl = lex.getBool();
                if (lex.next())
-                       rtl = lex.GetBool();
+                       encoding_str = lex.getString();
                if (lex.next())
-                       encoding_str = lex.GetString();
+                       code = lex.getString();
                if (lex.next())
-                       code = lex.GetString();
+                       latex_options = lex.getString();
 
                Encoding const * encoding = encodings.getEncoding(encoding_str);
                if (!encoding) {
@@ -70,14 +83,10 @@ void Languages::read(string const & filename)
                        lyxerr << "Unknown encoding " << encoding_str << endl; 
                }
 
-               languagelist[lang] = Language(lang, babel, display, rtl, encoding, code);
+               languagelist[lang] = Language(lang, babel, display, rtl, 
+                                             encoding, code, latex_options);
        }
 
-#ifdef DO_USE_DEFAULT_LANGUAGE
-       languagelist["default"] = Language("default", "default",
-                                          N_("Document wide language"),
-                                          false, &iso8859_1, "");
-#endif
        default_language = getLanguage(lyxrc.default_language);
        if (!default_language) {
                lyxerr << "Default language \"" << lyxrc.default_language
@@ -97,7 +106,7 @@ Language const * Languages::getLanguage(string const & language) const
 {
                const_iterator it = languagelist.find(language);
        if (it != languagelist.end())
-               return &(*it).second;
+               return &it->second;
        else
                return 0;
 }