X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flanguage.C;h=e2523b5021210f8fffae6d4d5ba3986f71041e12;hb=d2574b7d8e2716d3d3aea92df6576bd01c421a6c;hp=f2fafe0e63b24bb0ab59ff0093f622aa84485ede;hpb=cf3c73f4e85a8aedd92030427982aef98aae2baa;p=lyx.git diff --git a/src/language.C b/src/language.C index f2fafe0e63..e2523b5021 100644 --- a/src/language.C +++ b/src/language.C @@ -1,55 +1,47 @@ -/* This file is part of - * ====================================================== +/** + * \file language.C + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * LyX, The Document Processor + * \author Lars Gullik Bjønnes + * \author Jean-Marc Lasgouttes + * \author Dekel Tsur * - * Copyright 1995 Matthias Ettrich - * Copyright 1995-2001 The LyX Team. - * - * ====================================================== */ + * 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 "lyxlex.h" -#include "debug.h" +#include "lyxrc.h" + +#include "support/filename.h" + + +namespace lyx { 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 latex_lang("latex", "latex", "Latex", false, "", 0, "latex", ""); Language const * latex_language = &latex_lang; -void Languages::setDefaults() -{ - // We need to set the encoding of latex_lang - latex_lang = Language("latex", "latex", "Latex", false, - encodings.getEncoding("iso8859-1"), - "latex", ""); - 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) +void Languages::read(support::FileName const & filename) { // We need to set the encoding of latex_lang - latex_lang = Language("latex", "latex", "Latex", false, - encodings.getEncoding("iso8859-1"), + latex_lang = Language("latex", "latex", "Latex", false, "iso8859-1", + encodings.getFromLyXName("iso8859-1"), "latex", ""); LyXLex lex(0, 0); @@ -67,7 +59,7 @@ void Languages::read(string const & filename) lang = lex.getString(); else break; - lyxerr[Debug::INIT] << "Reading language " << lang << endl; + lyxerr[Debug::INFO] << "Reading language " << lang << endl; if (lex.next()) babel = lex.getString(); @@ -82,14 +74,14 @@ void Languages::read(string const & filename) if (lex.next()) latex_options = lex.getString(); - Encoding const * encoding = encodings.getEncoding(encoding_str); + Encoding const * encoding = encodings.getFromLyXName(encoding_str); if (!encoding) { - encoding = encodings.getEncoding("iso8859-1"); + encoding = encodings.getFromLyXName("iso8859-1"); lyxerr << "Unknown encoding " << encoding_str << endl; } languagelist[lang] = Language(lang, babel, display, rtl, - encoding, code, latex_options); + encoding_str, encoding, code, latex_options); } default_language = getLanguage(lyxrc.default_language); @@ -107,11 +99,12 @@ 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; + return it == languagelist.end() ? 0 : &it->second; } + + +} // namespace lyx