]> git.lyx.org Git - lyx.git/blobdiff - lib/lyx2lyx/lyx2lyx_tools.py
revert_language: fix document language assignment
[lyx.git] / lib / lyx2lyx / lyx2lyx_tools.py
index dc41df2be8cf4433959e4413fe2ca242268581be..75a5c820def0b75b958f5b13505e2780ff08fcec 100644 (file)
@@ -644,6 +644,7 @@ def revert_language(document, lyxname, babelname, polyglossianame):
     primary = False
     secondary = False
 
+    orig_doc_language = document.language
     # Main language first
     if document.language == lyxname:
         primary = True
@@ -682,7 +683,7 @@ def revert_language(document, lyxname, babelname, polyglossianame):
                 endlayout = ""
             if with_polyglossia:
                 add_to_preamble(document, ["\\AtBeginDocument{\setotherlanguage{%s}}" % polyglossianame])     
-                document.body[langswitch : langswitch] = [startlayout,
+                document.body[endlang : endlang] = [startlayout,
                                         "\\begin_inset ERT", "status open", "",
                                         "\\begin_layout Plain Layout", "", "",
                                         "\\backslash",
@@ -690,7 +691,7 @@ def revert_language(document, lyxname, babelname, polyglossianame):
                                         "\\end_layout", "", "\\end_inset", "", "",
                                         endlayout, ""]
             elif with_babel:
-                document.body[langswitch : langswitch] = [startlayout,
+                document.body[endlang : endlang] = [startlayout,
                                         "\\begin_inset ERT", "status open", "",
                                         "\\begin_layout Plain Layout", "", "",
                                         "\\backslash",
@@ -724,7 +725,7 @@ def revert_language(document, lyxname, babelname, polyglossianame):
                 endlayout = ""
             if with_polyglossia:
                 parent = get_containing_layout(document.body, i)
-                document.body[langswitch : langswitch] = [startlayout,
+                document.body[endlang : endlang] = [startlayout,
                                         "\\begin_inset ERT", "status open", "",
                                         "\\begin_layout Plain Layout", "", "",
                                         "\\backslash",
@@ -733,7 +734,7 @@ def revert_language(document, lyxname, babelname, polyglossianame):
                                         endlayout, ""]
             elif with_babel:
                 parent = get_containing_layout(document.body, i)
-                document.body[langswitch : langswitch] = [startlayout,
+                document.body[endlang : endlang] = [startlayout,
                                         "\\begin_inset ERT", "status open", "",
                                         "\\begin_layout Plain Layout", "", "",
                                         "\\backslash",
@@ -761,14 +762,14 @@ def revert_language(document, lyxname, babelname, polyglossianame):
     # With babel, we need to add the language options
     if with_babel and (primary or secondary):
         insert_document_option(document, babelname)
-        if secondary and document.body[10] != "selectlanguage{%s}" % document.language:
+        if secondary and document.body[10] != "selectlanguage{%s}" % orig_doc_language:
             # Since the user options are always placed after the babel options,
             # we need to reset the main language
             document.body[2 : 2] = ["\\begin_layout Standard",
                                     "\\begin_inset ERT", "status open", "",
                                     "\\begin_layout Plain Layout", "", "",
                                     "\\backslash",
-                                    "selectlanguage{%s}" % document.language,
+                                    "selectlanguage{%s}" % orig_doc_language,
                                     "\\end_layout", "", "\\end_inset", "", "",
                                     "\\end_layout", ""]