]> git.lyx.org Git - lyx.git/blobdiff - src/Layout.cpp
Update it.po
[lyx.git] / src / Layout.cpp
index b2d4d2e273edf688fafe62cacc2d6c77488cab9f..76893029cd4f8bd700c90ce08c8835aab9c476c7 100644 (file)
@@ -184,7 +184,7 @@ bool Layout::read(Lexer & lex, TextClass const & tclass)
                { "htmllabel",      LT_HTMLLABEL },
                { "htmllabelattr",  LT_HTMLLABELATTR },
                { "htmllabelfirst", LT_HTMLLABELFIRST },
-               { "htmlpremable",   LT_HTMLPREAMBLE },
+               { "htmlpreamble",   LT_HTMLPREAMBLE },
                { "htmlstyle",      LT_HTMLSTYLE },
                { "htmltag",        LT_HTMLTAG },
                { "htmltitle",      LT_HTMLTITLE },
@@ -577,8 +577,8 @@ bool Layout::read(Lexer & lex, TextClass const & tclass)
        }
        lex.popTable();
        // make sure we only have inpreamble = true for commands
-       if (inpreamble && latextype != LATEX_COMMAND) {
-               LYXERR0("InPreamble not permitted except with Command-type layouts.");
+       if (inpreamble && latextype != LATEX_COMMAND && latextype != LATEX_PARAGRAPH) {
+               LYXERR0("InPreamble not permitted except with command and paragraph layouts.");
                LYXERR0("Layout name: " << name());
                inpreamble = false;
        }
@@ -877,12 +877,14 @@ void Layout::readSpacing(Lexer & lex)
 
 namespace {
 
-docstring const i18npreamble(Language const * lang, docstring const & templ)
+docstring const i18npreamble(Language const * lang, docstring const & templ, bool const polyglossia)
 {
        if (templ.empty())
                return templ;
 
-       string preamble = subst(to_utf8(templ), "$$lang", lang->babel());
+       string preamble = polyglossia ?
+               subst(to_utf8(templ), "$$lang", lang->polyglossia()) :
+               subst(to_utf8(templ), "$$lang", lang->babel());
 
 #ifdef TEX2LYX
        // tex2lyx does not have getMessages()
@@ -895,14 +897,7 @@ docstring const i18npreamble(Language const * lang, docstring const & templ)
        smatch sub;
        while (regex_search(preamble, sub, reg)) {
                string const key = sub.str(1);
-               string translated;
-               if (isAscii(key))
-                       translated = to_utf8(getMessages(lang->code()).get(key));
-               else {
-                       lyxerr << "Warning: not translating `" << key
-                              << "' because it is not pure ASCII." << endl;
-                       translated = key;
-               }
+               string translated = to_utf8(lang->translateLayout(key));
                preamble = subst(preamble, sub.str(), translated);
        }
 #endif
@@ -912,15 +907,15 @@ docstring const i18npreamble(Language const * lang, docstring const & templ)
 }
 
 
-docstring const Layout::langpreamble(Language const * lang) const
+docstring const Layout::langpreamble(Language const * lang, bool const polyglossia) const
 {
-       return i18npreamble(lang, langpreamble_);
+       return i18npreamble(lang, langpreamble_, polyglossia);
 }
 
 
-docstring const Layout::babelpreamble(Language const * lang) const
+docstring const Layout::babelpreamble(Language const * lang, bool const polyglossia) const
 {
-       return i18npreamble(lang, babelpreamble_);
+       return i18npreamble(lang, babelpreamble_, polyglossia);
 }