]> git.lyx.org Git - lyx.git/blobdiff - src/Language.cpp
Update fr.po
[lyx.git] / src / Language.cpp
index 95e725f3f3c2b3f0178b0d4be1c9cbad66cac678..31212cba2894c1e624d45fb7ec9cbbd6eabe4553 100644 (file)
@@ -38,6 +38,18 @@ Language const * latex_language = 0;
 Language const * reset_language = 0;
 
 
+bool Language::isPolyglossiaExclusive() const
+{
+       return babel().empty() && !polyglossia().empty() && requires().empty();
+}
+
+
+bool Language::isBabelExclusive() const
+{
+       return !babel().empty() && polyglossia().empty() && requires().empty();
+}
+
+
 docstring const Language::translateLayout(string const & m) const
 {
        if (m.empty())
@@ -66,7 +78,9 @@ bool Language::readLanguage(Lexer & lex)
                LA_BABELNAME,
                LA_ENCODING,
                LA_END,
+               LA_FONTENC,
                LA_GUINAME,
+               LA_HAS_GUI_SUPPORT,
                LA_INTERNAL_ENC,
                LA_LANG_CODE,
                LA_LANG_VARIETY,
@@ -85,7 +99,9 @@ bool Language::readLanguage(Lexer & lex)
                { "babelname",            LA_BABELNAME },
                { "encoding",             LA_ENCODING },
                { "end",                  LA_END },
+               { "fontencoding",         LA_FONTENC },
                { "guiname",              LA_GUINAME },
+               { "hasguisupport",        LA_HAS_GUI_SUPPORT },
                { "internalencoding",     LA_INTERNAL_ENC },
                { "langcode",             LA_LANG_CODE },
                { "langvariety",          LA_LANG_VARIETY },
@@ -114,7 +130,7 @@ bool Language::readLanguage(Lexer & lex)
                        error = true;
                        continue;
 
-               default: 
+               default:
                        break;
                }
                switch (static_cast<LanguageTags>(le)) {
@@ -139,9 +155,15 @@ bool Language::readLanguage(Lexer & lex)
                case LA_ENCODING:
                        lex >> encodingStr_;
                        break;
+               case LA_FONTENC:
+                       lex >> fontenc_;
+                       break;
                case LA_GUINAME:
                        lex >> display_;
                        break;
+               case LA_HAS_GUI_SUPPORT:
+                       lex >> has_gui_support_;
+                       break;
                case LA_INTERNAL_ENC:
                        lex >> internal_enc_;
                        break;
@@ -153,11 +175,11 @@ bool Language::readLanguage(Lexer & lex)
                        break;
                case LA_POSTBABELPREAMBLE:
                        babel_postsettings_ =
-                               lex.getLongString("EndPostBabelPreamble");
+                               lex.getLongString(from_ascii("EndPostBabelPreamble"));
                        break;
                case LA_PREBABELPREAMBLE:
                        babel_presettings_ =
-                               lex.getLongString("EndPreBabelPreamble");
+                               lex.getLongString(from_ascii("EndPreBabelPreamble"));
                        break;
                case LA_REQUIRES:
                        lex >> requires_;
@@ -255,12 +277,8 @@ void Languages::read(FileName const & filename)
        }
 
        // Read layout translations
-       FileName path = libFileSearch(string(), "layouttranslations");
+       FileName const path = libFileSearch(string(), "layouttranslations");
        readLayoutTranslations(path);
-
-       // Read installed translations
-       path = libFileSearch(string(), "installed_translations");
-       readInstalledTranslations(path);
 }
 
 
@@ -311,7 +329,7 @@ Match match(string const & code, Language const & lang)
        return NoMatch;
 }
 
-}
+} // namespace
 
 
 void Languages::readLayoutTranslations(support::FileName const & filename)
@@ -369,32 +387,6 @@ void Languages::readLayoutTranslations(support::FileName const & filename)
 }
 
 
-void Languages::readInstalledTranslations(support::FileName const & filename)
-{
-       Lexer lex;
-       lex.setFile(filename);
-       lex.setContext("Languages::read");
-
-       // 1) read all installed gmo files names
-       set<string> installed_translations;
-       string lang_code;
-       while (lex.isOK()) {
-               lex >> lang_code;
-               installed_translations.insert(lang_code);
-       }
-
-       // 2) mark all corresponding languages as translated.
-       LanguageList::iterator lit = languagelist.begin();
-       LanguageList::iterator const lend = languagelist.end();
-       for ( ; lit != lend ; ++lit) {
-               if (installed_translations.count(lit->second.code())
-                   || installed_translations.count(token(lit->second.code(), '_', 0)))
-                       lit->second.translated(true);
-       }
-
-}
-
-
 Language const * Languages::getLanguage(string const & language) const
 {
        if (language == "reset")