X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flanguage.C;h=24cb2b6a1fa7d56ce019ef29d67c5304e5b886f0;hb=c544107e324090c6eafb4c56749da2624b9b1122;hp=9a1d26c9452c63343b7b418443dad0ff89fb8fdc;hpb=235f7c1d2a47b9fedd113d18909af0374c34ff41;p=lyx.git diff --git a/src/language.C b/src/language.C index 9a1d26c945..24cb2b6a1f 100644 --- a/src/language.C +++ b/src/language.C @@ -1,24 +1,19 @@ /* This file is part of - * ====================================================== - * + * ====================================================== + * * LyX, The Document Processor - * + * * Copyright 1995 Matthias Ettrich - * Copyright 1995-2000 The LyX Team. + * Copyright 1995-2001 The LyX Team. * * ====================================================== */ #include -#ifdef __GNUG__ -#pragma implementation -#endif - #include "language.h" #include "gettext.h" #include "encoding.h" #include "lyxrc.h" -#include "lyx_gui_misc.h" #include "lyxlex.h" #include "debug.h" @@ -27,57 +22,58 @@ 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; - -void Languages::setDefaults() -{ - languagelist["english"] = Language("english", "english", N_("English"), - false, - encodings.getEncoding("iso8859-1"), - "en"); - english_language = default_language = &languagelist["english"]; -} +Language latex_lang("latex", "latex", "Latex", false, 0, "latex", ""); +Language const * latex_language = &latex_lang; void Languages::read(string const & filename) { + // We need to set the encoding of latex_lang + latex_lang = Language("latex", "latex", "Latex", false, + encodings.getEncoding("iso8859-1"), + "latex", ""); + 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) { encoding = encodings.getEncoding("iso8859-1"); - lyxerr << "Unknown encoding " << encoding_str << endl; + 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 @@ -95,9 +91,9 @@ void Languages::read(string const & filename) Language const * Languages::getLanguage(string const & language) const { - const_iterator it = languagelist.find(language); + const_iterator it = languagelist.find(language); if (it != languagelist.end()) - return &(*it).second; + return &it->second; else return 0; }