X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flanguage.C;h=34e08854199483f00fa1aa0e91c99b50a7f7eb12;hb=37d42d45f3f4a5d3e916a080af50b37ae4a9d118;hp=298890e06781518bfacecdf0992776e0376fac2d;hpb=83acbbd5237373926c629855379e1df9a04209b2;p=lyx.git diff --git a/src/language.C b/src/language.C index 298890e067..34e0885419 100644 --- a/src/language.C +++ b/src/language.C @@ -1,79 +1,82 @@ -/* This file is part of - * ====================================================== - * - * LyX, The Document Processor - * - * Copyright 1995 Matthias Ettrich - * Copyright 1995-2001 The LyX Team. +/** + * \file language.C + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * ====================================================== */ + * \author Lars Gullik Bjønnes + * \author Jean-Marc Lasgouttes + * \author Dekel Tsur + * + * Full author contact details are available in file CREDITS. + */ #include -#ifdef __GNUG__ -#pragma implementation -#endif - #include "language.h" -#include "gettext.h" + +#include "debug.h" #include "encoding.h" -#include "lyxrc.h" -#include "lyx_gui_misc.h" #include "lyxlex.h" -#include "debug.h" +#include "lyxrc.h" using std::endl; +using std::string; + 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; -void Languages::setDefaults() -{ - languagelist["english"] = Language("english", "english", N_("English"), - false, - encodings.getEncoding("iso8859-1"), - "en", ""); - english_language = default_language = &languagelist["english"]; -} void Languages::read(string const & filename) { + // We need to set the encoding of latex_lang + latex_lang = Language("latex", "latex", "Latex", false, "iso8859-1", + encodings.getEncoding("iso8859-1"), + "latex", ""); + LyXLex lex(0, 0); lex.setFile(filename); - while (lex.IsOK()) { - string lang, babel, display, encoding_str, code, latex_options; + 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(); + display = lex.getString(); if (lex.next()) - rtl = lex.GetBool(); + rtl = lex.getBool(); if (lex.next()) - encoding_str = lex.GetString(); + encoding_str = lex.getString(); if (lex.next()) - code = lex.GetString(); + code = lex.getString(); if (lex.next()) - latex_options = 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, latex_options); + languagelist[lang] = Language(lang, babel, display, rtl, + encoding_str, encoding, code, latex_options); } default_language = getLanguage(lyxrc.default_language); @@ -91,11 +94,9 @@ void Languages::read(string const & filename) english_language = default_language; } + Language const * Languages::getLanguage(string const & language) const { - const_iterator it = languagelist.find(language); - if (it != languagelist.end()) - return &(*it).second; - else - return 0; + const_iterator it = languagelist.find(language); + return it == languagelist.end() ? 0 : &it->second; }