[LyX features/feature/docbook] XHTML: fix for encodings in attributes (patch by Kornel)

Thibaut Cuvelier tcuvelier at lyx.org
Sat Sep 19 18:16:41 UTC 2020


The branch, feature/docbook, has been updated.
  discards  1b9da1fcac5c9c4ecfdf7eb2d64e841c9bf40217 (commit)
  discards  85f3c14aa962acd918041b36cdd757db4b3f4ed0 (commit)
  discards  4561df540602703b90b01c48d70e8c118692675d (commit)
  discards  3e5114bdad6976479411ebda0fc32dc641bd69af (commit)
  discards  119bc3dff5ff1b384e0106fc17622c243c8e998e (commit)
  discards  6af788cd0afca874a07245d908e880ccd3837d73 (commit)
  discards  2cb7050d010435c1b4345e7924699c6cfb0042da (commit)
  discards  03c09bc16dee0dad2eefb14e81eadac9cb3feb2f (commit)
  discards  52216b7323e3532639e5f67959443516fd582a56 (commit)
  discards  85d8c77522a0d4cbc1ea7f690a6252cf7a01c205 (commit)
  discards  98f92809874d68dc6c329cfd81a409331bc68d81 (commit)
  discards  46f12f6a97e633a1776b10abe46369740efaa88d (commit)
  discards  e4dfc34ead151225af5a566ce68cb3775a24fd6b (commit)
  discards  900dd8f58df2e3074e84f2c9aa8bce5ce290212b (commit)
  discards  c38e9e94c06775fd3c5d8ed8392332dba9e34117 (commit)
  discards  5f1a3cc147eeb8bb375d21cee7098e95457129bd (commit)
  discards  e8545b466f2ebacf639f559a287b9d6c0276207b (commit)
  discards  963d9cc0ae896b0377ec7f8ae21500b2dc597a28 (commit)
  discards  4be80db357b195ee0b04ab0b90a2e4b88957832b (commit)
  discards  812a140f6574f43ce99cfdcf327578ca6095aeb2 (commit)
  discards  5503144d4949455dfa95b8be218eeed0a34b9a44 (commit)
  discards  da199f744ebd93665d6ca3af0ba39150f4c91521 (commit)
  discards  f42ba13433877b9629725ff79accf2a04e650a04 (commit)
  discards  8f1cc760c8d0be1880e190a878e70bf7cb0c065b (commit)
  discards  7c66a8b188da530fede92b4437f0e56188375712 (commit)
  discards  13e8d503100b92d338a72131023f239e6e25ce96 (commit)
  discards  55157ded667091fa41e08af6d32d1b8606cf476e (commit)
  discards  57bf09e00ab469d1941588a3d158f8c9520a57f8 (commit)
  discards  8498a3643dbd24f3cb58181ccad38f3ff2a846d6 (commit)
  discards  4534899e7696f97069da8109dcfbe5765eeeec32 (commit)
  discards  0c7106744ffb43f99f0adf3318f4d4aab8a1277d (commit)
  discards  ba6b9a2ba4e135e6a4cb8d2c45fbbfd3815c31f2 (commit)
  discards  bb58ae8c8a7c104d1f08e1cce820fb3e88880273 (commit)
  discards  239f0d66024b1508da19c3737967179e2c10f5fd (commit)
  discards  3dcdc451f33116aae32366d569032905f1cbbcc5 (commit)
  discards  b9ad1ef6edd964b1c858f4433aeaed238f8a3eca (commit)
  discards  83b5416518c0bbb39919f09a22a2460a738be586 (commit)
  discards  67988d233e297bbc70375572bd7b0a5e1d26a1d2 (commit)
  discards  b76a8fb57a990819579c66b8957727aec6998dfc (commit)
  discards  260b2909dd0f77fda4cfbf76a3fb0748eccffc6a (commit)
  discards  79601dbbe9d0607abb0adeeb39cc5ebaf2d26902 (commit)
  discards  a0043adead3d9471230a81b01242613020e37848 (commit)
  discards  22b4d43f6ae040876a905eb431d500534c70179c (commit)
  discards  029ab977e4564aacc712ed2bac6b04d5e41f434e (commit)
  discards  e64dd22aae50680d258a99ababee48ca7438763c (commit)
  discards  737b1b3269d4aa02a587aa4b5f14ea7309962418 (commit)
  discards  1d62f91bdb193165066bfd25d6e349aeff61b49a (commit)
  discards  aee969fed0369409dac0224fe2ce95964d06f208 (commit)
  discards  6b55e5dd84054e96ccd2eae0fd490d86d37c6a5f (commit)
  discards  154a3a5c76df995a16ff252f4a42d591c523789e (commit)
  discards  dd82fe02e617c44e3524d343bf2f5ea39e5a2865 (commit)
  discards  d45d3305559252f7d3e7e39ab54cfe90ab4475e1 (commit)
  discards  b2ede507bd640fb9cc42c6bfa6e50b3ede858430 (commit)
  discards  04e88dcdd8f14bc28497d01862790eae6f4f6696 (commit)
  discards  a0ba094bcd6095abd09dda50d01713a9bf70a562 (commit)
  discards  e54ea8bbc327c296d21554df197a1f652ac81e1f (commit)
  discards  fc61bab5d4185e6f83652d6c96b8e504e1531976 (commit)
  discards  b75de4f79b53b2060930cffcb7ecaa8e78ea0b81 (commit)
  discards  003378708a8caec3de70e25d6ab3d61f432a6dbe (commit)
  discards  0f2a1bd8230ebd751a3a921200928848d826c8f0 (commit)
  discards  f5502ff1a073818177e64bad4c9accd16294d861 (commit)
  discards  06fe08dc294ec6a696f4c5bc7900ad01d6694ecd (commit)
  discards  70dd019e9ee64dc10aeba015cdc5ce8983fc8a52 (commit)
  discards  3c5326367ed6a3d5bfb702d00bdfeeb3378d9797 (commit)
  discards  87bb6000252fa99f426e8d405b61f970ad40f40c (commit)
  discards  94f2e7c117db4720e0bf4e86a0dc8a85b1f96ea0 (commit)
  discards  e9f7b3ce79af5d058f304013904b91b8c25be303 (commit)
  discards  0681b0f16ec72e83350187d836cfbd1182bea260 (commit)
  discards  345a1fce9b768db6e5cfd520f98d2301ed69d035 (commit)
  discards  a47e2c19314c68f7132d68ecb5a69050c857f7ba (commit)
  discards  18c313f10387660c64d8df10c9e7a45ca0336669 (commit)
  discards  afca5d0a88b7ef1f4f06d64e9a09469259ac709e (commit)
  discards  675e62706782cb0eb64b52dc53dd49532a47a958 (commit)
  discards  dba20c7b5409660faa0232b09b475c43bc6b0e81 (commit)
  discards  b68620ce3d487034a2e81a4db7930a6a67f29268 (commit)
  discards  862daa5dedb0ca009ee74f9ee591a11823116255 (commit)
  discards  f681e317d17166eaa0abf6e866521a1b52e46824 (commit)
  discards  cf728030733b7928e911dfb02f0fb0a0cede7de4 (commit)
  discards  8118925ca6c1b5642b47a67aaa9d373934bdea58 (commit)
  discards  fcbd0372c3fda5e32d2093467e98448fd7f53b90 (commit)
  discards  badd5548402e73e80997153fa61bd5907fa59069 (commit)
  discards  75e373c3d73d236b08041d337e11ef6e0ffc1d5b (commit)
  discards  2eb396e0910df10c0ece28e4c565e120517f2e4c (commit)
  discards  ff2483e7acb18e3899550a715efdea6ce5b66876 (commit)
  discards  6ee4d623cff3e4be9ed2b61fd8bd887f47c63273 (commit)
  discards  018e128a5a1566598edde36a24a31ed472ccf2b6 (commit)
  discards  d2b820eecb1f6ae5fa858a2e9f002865ac09a3fc (commit)
  discards  14806190ab9649be969921547b2ee1b574191767 (commit)
  discards  76191b5a0a775c04b5ce012984c45fbd994dc6dc (commit)

This update added new revisions after undoing existing revisions.  That is
to say, the old revision is not a strict subset of the new revision.  This
situation occurs when you --force push a change and generate a repository
containing something like this:

 * -- * -- B -- O -- O -- O (1b9da1fcac5c9c4ecfdf7eb2d64e841c9bf40217)
            \
             N -- N -- N (b5adcec28aac69e722e8b2bbf28ad2974010f853)

When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.

- Log -----------------------------------------------------------------

commit b5adcec28aac69e722e8b2bbf28ad2974010f853
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Sep 19 17:26:17 2020 +0200

    XHTML: fix for encodings in attributes (patch by Kornel)

diff --git a/src/xml.h b/src/xml.h
index d5b4233..857867b 100644
--- a/src/xml.h
+++ b/src/xml.h
@@ -184,7 +184,7 @@ struct StartTag
 	///
 	explicit StartTag(std::string const & tag, std::string const & attr,
 					  bool keepempty = false)
-			: tag_(from_ascii(tag)), attr_(from_ascii(attr)), keepempty_(keepempty) {}
+			: tag_(from_ascii(tag)), attr_(from_utf8(attr)), keepempty_(keepempty) {}
 	///
 	explicit StartTag(std::string const & tag, docstring const & attr,
 					  bool keepempty = false)

commit c83fd0eb069564710943ba308e484f937ac5bd4c
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Sep 19 04:26:06 2020 +0200

    XHTML sections: saner code to close the section.
    
    It only caused troubles in corner cases...

diff --git a/autotests/export/xhtml/A0_Poster_Simple.lyx b/autotests/export/xhtml/A0_Poster_Simple.lyx
new file mode 100644
index 0000000..998f210
--- /dev/null
+++ b/autotests/export/xhtml/A0_Poster_Simple.lyx
@@ -0,0 +1,192 @@
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 598
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass a0poster
+\begin_preamble
+% Adjust padding in boxes
+\setlength\fboxsep{12pt}
+% Added by lyx2lyx
+\setlength{\parskip}{\bigskipamount}
+\setlength{\parindent}{0pt}
+\end_preamble
+\options a0,portrait
+\use_default_options false
+\maintain_unincluded_children no
+\language english
+\language_package default
+\inputencoding utf8
+\fontencoding auto
+\font_roman "palatino" "default"
+\font_sans "default" "default"
+\font_typewriter "courier" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_roman_osf false
+\font_sans_osf false
+\font_typewriter_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures false
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize default
+\spacing single
+\use_hyperref false
+\papersize default
+\use_geometry true
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine basic
+\cite_engine_type default
+\biblio_style plain
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 0
+\use_minted 0
+\use_lineno 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\leftmargin 1cm
+\topmargin 1cm
+\rightmargin 1cm
+\bottommargin 1cm
+\secnumdepth 0
+\tocdepth 0
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style english
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 1
+\paperpagestyle empty
+\tablestyle default
+\tracking_changes false
+\output_changes false
+\change_bars false
+\postpone_fragile_content false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\docbook_table_output 0
+\end_header
+
+\begin_body
+
+\begin_layout Standard
+\align center
+\begin_inset Box Shadowbox
+position "c"
+hor_pos "c"
+has_inner_box 1
+inner_pos "c"
+use_parbox 1
+use_makebox 0
+width "98col%"
+special "none"
+height "5cm"
+height_special "none"
+thickness "0.4pt"
+separation "3pt"
+shadowsize "4pt"
+framecolor "black"
+backgroundcolor "none"
+status open
+
+\begin_layout Plain Layout
+\noindent
+\align center
+
+\series bold
+\noun on
+\begin_inset Flex Most Giant Snippet
+status open
+
+\begin_layout Plain Layout
+\noindent
+
+\series bold
+\noun on
+Poster Heading
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Box Boxed
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "98col%"
+special "none"
+height "1in"
+height_special "totalheight"
+thickness "0.4pt"
+separation "3pt"
+shadowsize "4pt"
+framecolor "black"
+backgroundcolor "none"
+status open
+
+\begin_layout Section
+Summary
+\end_layout
+
+\begin_layout Itemize
+For multiple columns, use the 
+\begin_inset Quotes eld
+\end_inset
+
+Multiple Columns
+\begin_inset Quotes erd
+\end_inset
+
+ module as documented in 
+\family sans
+Help\SpecialChar menuseparator
+Additional Features
+\family default
+.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
diff --git a/autotests/export/xhtml/A0_Poster_Simple.xhtml b/autotests/export/xhtml/A0_Poster_Simple.xhtml
new file mode 100644
index 0000000..032aa32
--- /dev/null
+++ b/autotests/export/xhtml/A0_Poster_Simple.xhtml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta name="GENERATOR" content="LyX 2.4.0dev" />
+<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
+<title>LyX Document</title>
+<style type='text/css'>
+/* Layout-provided Styles */
+dfn.lyxnoun {
+  font-variant: small-caps;
+}
+div.standard {
+	margin-bottom: 2ex;
+}
+div.plain_layout {
+text-align: left;
+
+}
+h2.section {
+font-weight: bold;
+font-size: x-large;
+margin-top: 1.3ex;
+margin-bottom: 0.7ex;
+text-align: left;
+
+}
+ul.itemize {
+margin-top: 0.7ex;
+margin-bottom: 0.7ex;
+margin-left: 3ex;
+text-align: left;
+
+}
+div.Shadowbox { border: solid gray medium; border-bottom: solid black 1ex; border-right: solid black 1ex; padding: 0.5ex; }
+span.flex_most_giant_snippet {
+font-size: xx-large;
+}
+div.Boxed {
+	border: solid thick black;
+	padding: 0.5ex;
+}
+
+
+</style>
+</head>
+<body dir="auto">
+<div class="standard" style='text-align: center;' id='magicparlabel-1'><div class='Shadowbox' style='width: 98%; height: 5cm; '><div class="plain_layout" style='text-align: center;' id='magicparlabel-5'><dfn class='lyxnoun'><b><span class="flex_most_giant_snippet"><dfn class='lyxnoun'><b>Poster Heading</b></dfn></span></b></dfn></div>
+</div></div>
+
+<div class="standard" id='magicparlabel-10'><div class='Boxed' style='width: 98%; '><section>
+<h2 class="section" id='magicparlabel-14'><span class="section_label"></span> Summary</h2>
+<ul class="itemize" id='magicparlabel-15'>
+<li class="itemize_item">For multiple columns, use the “Multiple Columns” module as documented in <span style='font-family:sans-serif;'>Help⇒Additional Features</span>.</li>
+</ul>
+</section>
+</div></div>
+</body>
+</html>
diff --git a/src/output_xhtml.cpp b/src/output_xhtml.cpp
index 0174339..d428761 100644
--- a/src/output_xhtml.cpp
+++ b/src/output_xhtml.cpp
@@ -679,9 +679,8 @@ void xhtmlParagraphs(Text const & text,
 	// If need be, close <section>s, but only at the end of the document (otherwise, dealt with at the beginning
 	// of the loop).
 	while (!headerLevels.empty() && headerLevels.top() != Layout::NOT_IN_TOC) {
-		docstring tag = from_utf8("</section>");
 		headerLevels.pop();
-		xs << XMLStream::ESCAPE_NONE << tag;
+		xs << xml::EndTag("section");
 		xs << xml::CR();
 	}
 }

commit a85b4b88ed4e8e35ee8f6d976cc1a702a106c00f
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Sep 19 03:23:00 2020 +0200

    XHTML sections: only filter out things that are not Sectioning, not based on the level.

diff --git a/autotests/export/xhtml/zh_CN_Tutorial.lyx b/autotests/export/xhtml/zh_CN_Tutorial.lyx
new file mode 100644
index 0000000..f5bbb69
--- /dev/null
+++ b/autotests/export/xhtml/zh_CN_Tutorial.lyx
@@ -0,0 +1,974 @@
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 598
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass book
+\begin_preamble
+% Chinese localization
+\@ifpackageloaded{fontspec}%
+{\usepackage{ctex}}% ctex with non-TeX fonts
+{%\usepackage[UTF8]{ctex}% error with font setup (missing font?)
+}
+\end_preamble
+\options cjk
+\use_default_options true
+\maintain_unincluded_children no
+\language chinese-simplified
+\language_package default
+\inputencoding utf8-cjk
+\fontencoding auto
+\font_roman "lmodern" "default"
+\font_sans "default" "default"
+\font_typewriter "default" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_roman_osf false
+\font_sans_osf false
+\font_typewriter_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\font_cjk gbsn
+\use_microtype false
+\use_dash_ligatures false
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\float_placement th
+\float_alignment class
+\paperfontsize 12
+\spacing onehalf
+\use_hyperref true
+\pdf_title "The LyX Tutorial"
+\pdf_author "LyX Team"
+\pdf_subject "LyX-documentation Tutorial"
+\pdf_keywords "LyX, documentation"
+\pdf_bookmarks true
+\pdf_bookmarksnumbered true
+\pdf_bookmarksopen true
+\pdf_bookmarksopenlevel 1
+\pdf_breaklinks false
+\pdf_pdfborder false
+\pdf_colorlinks true
+\pdf_backref section
+\pdf_pdfusetitle false
+\pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue,pdfpagelayout=OneColumn, pdfnewwindow=true,pdfstartview=XYZ, plainpages=false"
+\papersize a4
+\use_geometry false
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine basic
+\cite_engine_type default
+\biblio_style plain
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 0
+\use_minted 0
+\use_lineno 0
+\index 索引
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style english
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 2
+\paperpagestyle default
+\tablestyle default
+\tracking_changes false
+\output_changes false
+\change_bars false
+\postpone_fragile_content false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\docbook_table_output 0
+\end_header
+
+\begin_body
+
+\begin_layout Title
+The \SpecialChar LyX
+ Tutorial
+\end_layout
+
+\begin_layout Chapter
+介绍
+\end_layout
+
+\begin_layout Section
+欢迎来到 \SpecialChar LyX
+!
+\end_layout
+
+\begin_layout Standard
+这个文档是为那些不知道 \SpecialChar LaTeX
+ 或知之甚少的人准备的。不必担心,使用 \SpecialChar LyX
+ 不必学习 \SpecialChar LaTeX
+。\SpecialChar LyX
+ 的目标就是提供一个所见即所得的 \SpecialChar LaTeX
+ 应用。为了高效的使用 \SpecialChar LyX
+,还是需要学习一些东西的
+。
+\end_layout
+
+\begin_layout Standard
+你会发现在其它字处理软件中常用的排版方式在 \SpecialChar LyX
+ 中都不能使用了,比如:在“.”后边输入两个空格,在段间输入三个空行。你以前使用的软件允许手动调整间距、字体等东西,所
+以你不得不即录入又排版。\SpecialChar LyX
+会做好排版的事情的,而你只需要转注于重要的东西:你正在写的内容。
+\end_layout
+
+\begin_layout Standard
+继续读下去,了解更多 \SpecialChar LyX
+。读完这篇教程,你会觉得物有所值的。
+\end_layout
+
+\begin_layout Section
+本教程简介
+\end_layout
+
+\begin_layout Standard
+在开始之前建议您先读一下 Introduction,那里解释了本文使用的注释方式。当你了解了各种字体的意义之后,我们先来说说本篇教程是干什么的。
+\end_layout
+
+\begin_layout Subsection
+学习方式
+\end_layout
+
+\begin_layout Standard
+本教程包含了例子和练习。学习中您应该试着输入我们让你输入的东西,完成所有练习,看看您是不是得到了正确的东西。为了方便,将本文档打印出来会是一个好选择。
+\end_layout
+
+\begin_layout Standard
+如果对 \SpecialChar LaTeX
+ 比较熟悉的话,你将能够较快的阅读本教程,因为 \SpecialChar LyX
+ 的思想就是 \SpecialChar LaTeX
+ 思想的一种包装。\SpecialChar LyX
+ 自身也有很多特性是你想了解的。就算不想继续读下去,你也应该看看
+ 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:LaTeX-用户必读"
+
+\end_inset
+
+,它是专门写给熟练的 \SpecialChar LaTeX
+ 用户的。
+\end_layout
+
+\begin_layout Subsection
+本教程没有的
+\end_layout
+
+\begin_layout Itemize
+\SpecialChar LyX
+ 全部特性的详细解释。
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+需要的话,请阅读 the 
+\emph on
+User's Guide。
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+\SpecialChar LaTeX
+ 的详细解释。
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+没必要这样做。要想知道用 \SpecialChar LaTeX
+ 在 \SpecialChar LyX
+ 中能做些什么,可以看看 the 
+\emph on
+Embedded
+\begin_inset space ~
+\end_inset
+
+Objects
+\emph default
+ manual。
+\end_layout
+
+\end_deeper
+\begin_layout Standard
+现在是开始你的第一个文档的时候了。
+\end_layout
+
+\begin_layout Chapter
+初识 \SpecialChar LyX
+
+\end_layout
+
+\begin_layout Section
+第一个 \SpecialChar LyX
+ 文档
+\end_layout
+
+\begin_layout Standard
+开始之前说几件事情,这会使本教程发挥更大的作用。
+\end_layout
+
+\begin_layout Standard
+由于本教程不会提供所有信息,所以你需要找到其它的帮助文件。这很简单:启动 \SpecialChar LyX
+,在帮助菜单中就有 the 
+\emph on
+User's Guide。
+\shape italic
+在写自己的文件时就可以读到它们了(它们本身就是很好的例子)。注意,当打开多个文件时,可以通过 View 菜单或文档标签进行切换。
+\end_layout
+
+\begin_layout Standard
+我们假设你已经有了全功能的 \SpecialChar LyX
+ 和 \SpecialChar LaTeX
+,包括 DVI、PDF 文件浏览器。一般来说,在各种操作系统上,在安装 \SpecialChar LyX
+ 的时候就已经做好了。
+\end_layout
+
+\begin_layout Standard
+最后,我们提供了一个文件 
+\family typewriter
+example_raw.lyx,
+\family default
+给你练习使用。假想这个文件是由一个完全不知道 \SpecialChar LyX
+ 特性的人写的,在学习的过程中,我们会建议你修改这个文件的。example_raw.lyx 中也包含了修改的提示信息
+。为了对比,我们还提供了一份 \SpecialChar LyX
+ 高手写的同样内容的文档:example_lyxified.lyx。
+\end_layout
+
+\begin_layout Standard
+示例文档存在于 \SpecialChar LyX
+ 安装路径的 examples 目录下。打开示例文档,另存到自己的目录下,修改后输出到 DVI 文件看效果。
+\end_layout
+
+\begin_layout Standard
+另外,examples 目录中还有很多其它的示例文件,它们将向您展示 \SpecialChar LyX
+ 的强大功能。当你忘记了某个功能怎么使用的时候,也可以回来看看这些文档。
+\end_layout
+
+\begin_layout Subsection
+录入、查看、输出
+\end_layout
+
+\begin_layout Itemize
+使用菜单 
+\family sans
+File\SpecialChar menuseparator
+New 打开新文件。
+\end_layout
+
+\begin_layout Itemize
+输入一个句子: 
+\family typewriter
+This is my first \SpecialChar LyX
+ document!
+\end_layout
+
+\begin_layout Itemize
+使用菜单 
+\family sans
+File\SpecialChar menuseparator
+Save
+\begin_inset space ~
+\end_inset
+
+As 保存文件。
+\end_layout
+
+\begin_layout Itemize
+运行 \SpecialChar LaTeX
+ 生成 DVI 文件,使用菜单 
+\family sans
+Document\SpecialChar menuseparator
+View
+\family default
+ 或 工具栏按钮 
+\begin_inset Info
+type  "icon"
+arg   "buffer-view"
+\end_inset
+
+。 \SpecialChar LyX
+ 将打开 DVI-viewer 程序显示文档打印时的样子。 
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+保持 DVI-viewer在后台运行会节省时间。以后可以点击 
+\family sans
+Document\SpecialChar menuseparator
+Update\SpecialChar menuseparator
+DVI
+\family default
+ 或工具栏按钮 
+\begin_inset Info
+type  "icon"
+arg   "buffer-update"
+\end_inset
+
+,等 \SpecialChar LyX
+ 运算完成后切换到 DVI-viewer即可。
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+使用菜单 
+\family sans
+File\SpecialChar menuseparator
+Export
+\family default
+ 将文档输出成希望的格式。
+\end_layout
+
+\begin_layout Standard
+恭喜!你已经写出了第一个 \SpecialChar LyX
+ 文档。其余的细节,你会在其它手册中读到。
+\end_layout
+
+\begin_layout Subsection
+简单操作
+\end_layout
+
+\begin_layout Standard
+\SpecialChar LyX
+ 能够做到其它软件能做的绝大部分事情,如:自动换行、段落缩进……以下是几个简单操作的使用方法。
+\end_layout
+
+\begin_layout Description
+撤消 \SpecialChar LyX
+ 有多级撤消功能,你可以使用 
+\family sans
+Edit\SpecialChar menuseparator
+Undo
+\family default
+ (或工具拦按钮 
+\begin_inset Info
+type  "icon"
+arg   "undo"
+\end_inset
+
+)来撤消本次编辑会话开始以来的所有操作。如果撤消过头了,可以选择 
+\family sans
+Edit\SpecialChar menuseparator
+Redo
+\family default
+ (或工具栏按钮 
+\begin_inset Info
+type  "icon"
+arg   "redo"
+\end_inset
+
+)恢复。 
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+目前撤消操作支持100步,而且撤消也不是能够支持所有更改的,比如对文档布局的更改就不能被撤消,这的确是一个 bug。
+\end_layout
+
+\end_deeper
+\begin_layout Description
+剪切/粘贴/复制 使用 
+\family sans
+Edit\SpecialChar menuseparator
+Cut
+\family default
+ (工具栏按钮 
+\begin_inset Info
+type  "icon"
+arg   "cut"
+\end_inset
+
+), 
+\family sans
+Edit\SpecialChar menuseparator
+Copy
+\family default
+ (工具栏按钮 
+\begin_inset Info
+type  "icon"
+arg   "copy"
+\end_inset
+
+),和 
+\family sans
+Edit\SpecialChar menuseparator
+Paste
+\family default
+ (工具栏按钮 
+\begin_inset Info
+type  "icon"
+arg   "paste"
+\end_inset
+
+) 来实现剪切、复制和粘贴操作。或者也可通过鼠标中键来粘贴选中的文本(包括其它程序中选定的文本)。
+\end_layout
+
+\begin_layout Description
+查找/替换 点击 
+\family sans
+Edit\SpecialChar menuseparator
+Find
+\begin_inset space ~
+\end_inset
+
+&
+\begin_inset space ~
+\end_inset
+
+Replace
+\family default
+ (工具栏按钮 
+\begin_inset Info
+type  "icon"
+arg   "dialog-show findreplace"
+\end_inset
+
+) ,在出现的对话框中点击按钮“
+\family sans
+Find
+\begin_inset space ~
+\end_inset
+
+Next”
+\family default
+ 进行搜索,点击按钮“ 
+\family sans
+Replace”替换搜到的字词。
+\family default
+
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+完成后关闭窗口,如果觉得方便的话也可一直开着它。\SpecialChar LyX
+ 中的大部分窗口都可以这样。使用时注意焦点的切换即可。
+\end_layout
+
+\end_inset
+
+ 你还可以指定区分大小写或全字匹配,当然也可以反向搜索文档。
+\end_layout
+
+\begin_layout Description
+字符格式 用 
+\family sans
+Edit\SpecialChar menuseparator
+Text
+\begin_inset space ~
+\end_inset
+
+Style
+\family default
+ 对话框中的 toggle buttons ,可以
+\shape italic
+强调
+\shape default
+(默认斜体)、加粗或设置为
+\noun on
+无格式(
+\noun default
+字体一般较小,用于人名)。
+\end_layout
+
+\begin_layout Description
+工具栏 菜单支边的工具栏提供了一些常用功能的按钮,例如:粘贴、打印。
+\end_layout
+
+\begin_layout Standard
+当然,目前还没有输入足够多的内容以使所有这些功能可用。
+\end_layout
+
+\begin_layout Subsection
+所见即所想:\SpecialChar LyX
+ 中的空白
+\end_layout
+
+\begin_layout Standard
+对新用户来说,最难理解的是 \SpecialChar LyX
+ 处理空白的方式。敲多次回车只能得到一个空行;敲多次空格只能得到一个空格。在空白行上,连一个空格都无法得到。按下 Tab
+ 键也不会移动一个 Tab 位;实际上就没有 Tab 位!在页面上方也没有标尺可供设置 Tab 位和边距。
+\end_layout
+
+\begin_layout Standard
+很多字处理软件建立在 WYSIWYG 理念之上,也就是:看到的就是得到的(所见即所得)。\SpecialChar LyX
+ 不同,它建立在 WYSIWYM (所想即所得)的理念之上。你想什么就输
+入什么,\SpecialChar LyX
+ 会处理排版的问题,这样保证了输出文件的美观。回车分段,空格断词,没理由在一行中输入好几次空格。Tab 根本就没有语法意义,所以 \SpecialChar LyX
+ 不支持它。使用
+ \SpecialChar LyX
+,你将花费更多的时间去考虑文档的
+\series bold
+内容
+\series default
+,而不是它的
+\series bold
+格式
+\series default
+。更多关于 WYSIWYM 的解释参见 
+\emph on
+Introduction。
+\end_layout
+
+\begin_layout Standard
+\SpecialChar LyX
+ 的确也有不少精细调整文档格式的方法。毕竟 \SpecialChar LyX
+ 可能不会 100% 精确的按照你想的去排版。
+\emph on
+User's Guide
+\emph default
+ 包含了调整文档格式的详细方法,包括水平填充(HFills)和垂直距离(它们比空格、回车更加强大灵活);设置字体大小 、样式的方法;调整段落对齐方式的手段。你只
+需要专心写你的文档,在最后细调一下文档格式就好了。使用普通的字处理软件,你会在写文档的整个过程中都被格式排版所困扰。
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+译注:连 AbiWord 这样轻量级的字处理软件都有样式了,就不要说 MS Word、OOo 了。
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+环境
+\end_layout
+
+\begin_layout Standard
+文档的不同部分有不同的作用,我们称这些部分为“环境”(
+\emph on
+environments
+\emph default
+)。标题告诉读者新的话题(子话题)将会开始。某些文档含有特殊的环境,比如:期刊会有摘要和题目;书信就没有摘要和题目,但它有地址。
+\end_layout
+
+\begin_layout Standard
+环境是 \SpecialChar LyX
+ 所见即所得哲学的重要部分。一个环境需要具体的定义:字体大小、样式、缩进、行间距等等。这个问题非常重要,因为一个给定环境的具体定义会随着文档类型的变化而
+变化。比如:某期刊要求标题是黑体、18pt、居中,而另一个可能要求斜体、15pt、左对齐;不同的语言也有不同的缩进标准;参考文献的格式就变化更大了。\SpecialChar LyX
+
+ 会把你从这些格式中间拯救出来。
+\end_layout
+
+\begin_layout Standard
+你可以使用工具栏上的环境下拉菜单
+\begin_inset Graphics
+	filename ../../../lib/doc/clipart/ToolbarEnvBox.png
+	scale 50
+	groupId In line
+
+\end_inset
+
+来选择环境,它也能告诉你当前的环境是什么,其中“Standard”是文本的默认环境。现在我们将在你的新文档中添加几个环境,来看看它们是怎么工作的吧。
+\end_layout
+
+\begin_layout Subsection
+节(
+\family sans
+Section
+\family default
+)与子节(Subsection)
+\end_layout
+
+\begin_layout Standard
+在 \SpecialChar LyX
+ 文档的第一行输入“
+\family typewriter
+Introduction
+\family default
+”,在环境下拉菜单中设为“节”(
+\family sans
+Section
+\family default
+)
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+设定环境不需要选择整行(段),光标停留其中即可。若想一次改变多行的环境,则需要选定之。
+\end_layout
+
+\end_inset
+
+, 确定你选择了“节”(
+\family sans
+Section
+\family default
+)而不是“节
+\family sans
+*
+\family default
+”(
+\family sans
+Section*
+\family default
+)。\SpecialChar LyX
+ 将在前边加上“1”并把字体调大。现在敲回车,环境将从“节”(
+\family sans
+Section
+\family default
+)变回“标准”(Standard)。和多数环境类似,敲回车后环境将终止。输入文本:
+\end_layout
+
+\begin_layout LyX-Code
+This is an introduction to my first \SpecialChar LyX
+ document.
+\end_layout
+
+\begin_layout Standard
+再次回车,选择“节”(
+\family sans
+Section
+\family default
+)环境,\SpecialChar LyX
+ 将写上“2”并等待输入。现在输入“
+\family typewriter
+More Stuff
+\family default
+”,\SpecialChar LyX
+ 会把它设置成节(
+\family sans
+Section
+\family default
+)标题的样式。
+\end_layout
+
+\begin_layout Standard
+将光标定位到节 1 (Section
+\begin_inset space ~
+\end_inset
+
+1)末尾,敲回车,再次设置为“节”(
+\family sans
+Section
+\family default
+),\SpecialChar LyX
+ 会写上“2”并等待输入。输入“
+\family typewriter
+About This Document
+\family default
+”。刚才的节 2 (Section
+\begin_inset space ~
+\end_inset
+
+2),“More Stuff”,现在已经被改成了节 3 (Section
+\begin_inset space ~
+\end_inset
+
+3)。你只需要确定哪些文字是节(
+\family sans
+Section
+\family default
+)标题,\SpecialChar LyX
+ 会处理编号和排版格式的,这就是所见即所想(WYSIWYM)的风格。
+\end_layout
+
+\begin_layout Standard
+敲回车,回到“标准”(Standard)环境,输入下边 5 行文字:
+\end_layout
+
+\begin_layout LyX-Code
+Sections and subsections are described below.
+\end_layout
+
+\begin_layout LyX-Code
+Section Description
+\end_layout
+
+\begin_layout LyX-Code
+Sections are bigger than subsections.
+\end_layout
+
+\begin_layout LyX-Code
+Subsection description
+\end_layout
+
+\begin_layout LyX-Code
+Subsections are smaller than sections.
+\end_layout
+
+\begin_layout Standard
+点击第二行,在环境下拉菜单中设为“子节”(Subsection)。\SpecialChar LyX
+ 将会在前边加上“2.1”,并把字体调整的比正文大,比节(Section)标题小。接着把第
+ 4 行也设置成为“子节”(Subsection),\SpecialChar LyX
+ 将在它前边加上“2.2”。如果在节 2 (Section 2)前边加上了别的节,节 2 将会自动变为节
+ 3(Section 3),后边的子节也会跟着变成“3.1”和“3.2”。
+\end_layout
+
+\begin_layout Standard
+文档的层级结构还有次子节 ( Subsubsection )、段 ( Paragraph ) 和子段 ( Subparagraph ),这些就由读者自行把玩吧。
+段和子段的标题默认是不编号的,而且子段还有缩进,参阅 
+\emph on
+User's Guide
+\emph default
+ 得到更多解释以及如何改变它们。章(Chapter)是文档层级结构中最高的一级,只能在某些特定的 \SpecialChar LyX
+ 文档类型中才能使用它(见 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:文档类"
+
+\end_inset
+
+)。
+\end_layout
+
+\begin_layout Standard
+你可能还希望一些节和子节是不编号的,\SpecialChar LyX
+ 有专门的环境实现这个功能。当把节的标题环境改为“节*
+\begin_inset Quotes erd
+\end_inset
+
+(Section*)后,\SpecialChar LyX
+ 还将对它使用相同的字体,只是不再对它进行编号。相应的也有带“星”的子节和次子节环境。试着把一些节或子节的标题环境改为带星的,同时看看其
+它的编号怎么随之改变。
+\end_layout
+
+\begin_layout Standard
+练习:修改 example_raw.lyx 中的节和子节标题。
+\end_layout
+
+\begin_layout Subsection
+列表(Lists)和子列表(sublists)
+\end_layout
+
+\begin_layout Standard
+\SpecialChar LyX
+ 有好几种列表环境,在写提纲或者重新排序一个已有的列表时,这些列表环境会帮上大忙。不同的文档类型需要不同的列表环境:
+\end_layout
+
+\begin_layout Itemize
+幻灯片使用带圆点的条目环境(
+\family sans
+Itemize
+\family default
+)。
+\end_layout
+
+\begin_layout Itemize
+大纲使用带编号的枚举环境(
+\family sans
+Enumerate
+\family default
+)。
+\end_layout
+
+\begin_layout Itemize
+名词解释常用描述环境(
+\family sans
+Description
+\family default
+)。
+\end_layout
+
+\begin_layout Itemize
+列表环境(
+\family sans
+List
+\family default
+)和描述环境(
+\family sans
+Description
+\family default
+)差不多,只是对齐方式稍有不同。
+\end_layout
+
+\begin_layout Standard
+现在我们写一个 \SpecialChar LyX
+ 有关优点的列表。在文档中输入:
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\SpecialChar LyX
+ is better than other word processors because: 
+\end_layout
+
+\begin_layout Standard
+然后敲回车,并在环境下拉列表中选择条目环境(
+\family sans
+Itemize
+\family default
+)。\SpecialChar LyX
+ 会在行首加上圆点。继续输入:
+\end_layout
+
+\begin_layout LyX-Code
+Typesetting is done for you.
+\end_layout
+
+\begin_layout LyX-Code
+Math is WYSIWYG
+\end_layout
+
+\begin_layout LyX-Code
+Lists are very easy to create!
+\end_layout
+
+\begin_layout Standard
+和标题不同,列表环境在敲回车时不会终止,\SpecialChar LyX
+ 会认为你将继续写下一个条目。所以上边的输入将会产生三个列表项。重新选择标准环境(
+\family sans
+Standard
+\family default
+)或使用快捷键 
+\family sans
+Alt+P
+\begin_inset space ~
+\end_inset
+
+S
+\family default
+ 才能退出列表环境。要在一个列表项中使用多个段落,可使用保护性中断(
+\family sans
+Protected
+\begin_inset space ~
+\end_inset
+
+Break
+\family default
+),按下 Ctrl + 回车即可。
+\end_layout
+
+\begin_layout Standard
+你已经得到了一个漂亮的条目列表,你是不是已经迫不及待的想运行 \SpecialChar LaTeX
+ 看看它们打印出来的样子了?可如果您想给它们加上编号呢?你只需要选定整个列表
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+如果不连前边一段也一起选上的话,你是无法选上第一个条目前边的圆点的;类似的,你也无法选定章节编号。这是有意如此的,因为随着文档类型和文字位置的不同,这些圆点和编
+号也会发生变化。
+\end_layout
+
+\end_inset
+
+,然后选择枚举环境(
+\family sans
+Enumerate
+\family default
+)即可。如果你增删条目的话,\SpecialChar LyX
+ 会自动修改枚举编号的。
+\end_layout
+
+\begin_layout Standard
+现在列表项还是处于被选定状态的,你可以再试试描述(
+\family sans
+Description
+\family default
+)和列表(
+\family sans
+List
+\family default
+)两种环境。这两种环境都是名词加定义的形式,描述环境前边的名词用黑体,列表环境的名词和后边的定义由“Tab”
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+这里的Tab是排版Tab(它会自适应到最长的名词长度),而不是定长的打字机Tab。
+\end_layout
+
+\end_inset
+
+分隔。前边的名词如果多于一个词的话,需要使用保护性空格(
+\family sans
+Protected
+\begin_inset space ~
+\end_inset
+
+Blank
+\family default
+s)将它们分开。
+\end_layout
+
+\begin_layout Standard
+练习:排版 
+\family typewriter
+example_raw.lyx
+\family default
+ 中的列表。
+\end_layout
+
+\begin_layout Standard
+这些列表环境还可以嵌套使用,提纲就是最常见的例子。带编号或圆点的列表在子列表中会有不同的表现形式。更多详情参见 
+\emph on
+User's Guide
+\emph default
+ 。
+\end_layout
+
+\begin_layout Subsection
+其它环境:诗、引用和更多
+\end_layout
+
+\begin_layout Standard
+有两种引用环境:短一点的引用使用引用环境(
+\family sans
+Quote
+\family default
+);长一点的引用使用引文环境(
+\family sans
+Quotation
+\family default
+)。计算机代码使用代码环境(
+\family sans
+\SpecialChar LyX
+-Code
+\family default
+),该环境使用
+\family typewriter
+typewriter
+\family default
+ 字体,而且这里是 \SpecialChar LyX
+ 中唯一允许使用多个空格的地方。你还可以使用诗环境(
+\family sans
+Verse
+\family default
+)来写诗:回车分节,Ctrl + 回车断行。对所有环境的完整描述参见
+\emph on
+ User's Guide
+\emph default
+。
+\end_layout
+
+\begin_layout Standard
+练习:修改 
+\family typewriter
+example_raw.lyx
+\family default
+ 中的引用、代码、诗环境。
+\end_layout
+
+\end_body
+\end_document
diff --git a/autotests/export/xhtml/zh_CN_Tutorial.xhtml b/autotests/export/xhtml/zh_CN_Tutorial.xhtml
new file mode 100644
index 0000000..5755eee
--- /dev/null
+++ b/autotests/export/xhtml/zh_CN_Tutorial.xhtml
@@ -0,0 +1,256 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta name="GENERATOR" content="LyX 2.4.0dev" />
+<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
+<title>The LyX Tutorial</title>
+<style type='text/css'>
+/* Layout-provided Styles */
+dfn.lyxnoun {
+  font-variant: small-caps;
+}
+h1.title {
+font-size: x-large;
+margin-bottom: 1ex;
+text-align: center;
+
+}
+h1.chapter {
+font-weight: bold;
+font-size: xx-large;
+margin-top: 2ex;
+margin-bottom: 0.8ex;
+text-align: left;
+
+}
+h2.section {
+font-weight: bold;
+font-size: x-large;
+margin-top: 1.3ex;
+margin-bottom: 0.7ex;
+text-align: left;
+
+}
+div.standard {
+	margin-bottom: 2ex;
+}
+h3.subsection {
+font-weight: bold;
+font-size: large;
+margin-top: 0.9ex;
+margin-bottom: 0.5ex;
+text-align: left;
+
+}
+ul.itemize {
+margin-top: 0.7ex;
+margin-bottom: 0.7ex;
+margin-left: 3ex;
+text-align: left;
+
+}
+div.plain_layout {
+text-align: left;
+
+}
+dl.description dt { font-weight: bold; }
+div.lyx_code {
+font-family: monospace;
+margin-top: 0.5ex;
+margin-bottom: 0.5ex;
+margin-left: 3ex;
+margin-right: 3ex;
+text-align: left;
+
+}
+span.info { font-family: sans-serif; }
+span.foot_label {
+	vertical-align: super;
+	font-size: smaller;
+	font-weight: bold;
+	text-decoration: underline;
+}
+div.foot {
+	display: inline;
+	font-size: small;
+	font-weight: medium;
+	font-family: serif;
+	font-variant: normal;
+	font-style: normal;
+}
+div.foot_inner { display: none; }
+div.foot:hover div.foot_inner {
+	display: block;
+	border: 1px double black;
+	margin: 0em 1em;
+	padding: 1em;
+}
+
+
+</style>
+</head>
+<body dir="auto">
+<h1 class="title" id='magicparlabel-1'>The LyX Tutorial</h1>
+<section>
+<h1 class="chapter" id='magicparlabel-2'><span class="chapter_label">第 1 章</span> 介绍</h1>
+<section>
+<h2 class="section" id='magicparlabel-3'><span class="section_label">1.1</span> 欢迎来到 LyX!</h2>
+<div class="standard" id='magicparlabel-4'>这个文档是为那些不知道 LaTeX 或知之甚少的人准备的。不必担心,使用 LyX 不必学习 LaTeX。LyX 的目标就是提供一个所见即所得的 LaTeX 应用。为了高效的使用 LyX,还是需要学习一些东西的。</div>
+
+<div class="standard" id='magicparlabel-5'>你会发现在其它字处理软件中常用的排版方式在 LyX 中都不能使用了,比如:在“.”后边输入两个空格,在段间输入三个空行。你以前使用的软件允许手动调整间距、字体等东西,所以你不得不即录入又排版。LyX会做好排版的事情的,而你只需要转注于重要的东西:你正在写的内容。</div>
+
+<div class="standard" id='magicparlabel-6'>继续读下去,了解更多 LyX。读完这篇教程,你会觉得物有所值的。</div>
+</section>
+<section>
+<h2 class="section" id='magicparlabel-7'><span class="section_label">1.2</span> 本教程简介</h2>
+<div class="standard" id='magicparlabel-8'>在开始之前建议您先读一下 Introduction,那里解释了本文使用的注释方式。当你了解了各种字体的意义之后,我们先来说说本篇教程是干什么的。</div>
+<section>
+<h3 class="subsection" id='magicparlabel-9'><span class="subsection_label">1.2.1</span> 学习方式</h3>
+<div class="standard" id='magicparlabel-10'>本教程包含了例子和练习。学习中您应该试着输入我们让你输入的东西,完成所有练习,看看您是不是得到了正确的东西。为了方便,将本文档打印出来会是一个好选择。</div>
+
+<div class="standard" id='magicparlabel-11'>如果对 LaTeX 比较熟悉的话,你将能够较快的阅读本教程,因为 LyX 的思想就是 LaTeX 思想的一种包装。LyX 自身也有很多特性是你想了解的。就算不想继续读下去,你也应该看看 <a href="#sec_LaTeX_____">sec:LaTeX-用户必读</a>,它是专门写给熟练的 LaTeX 用户的。</div>
+</section>
+<section>
+<h3 class="subsection" id='magicparlabel-12'><span class="subsection_label">1.2.2</span> 本教程没有的</h3>
+<ul class="itemize" id='magicparlabel-13'>
+<li class="itemize_item">LyX 全部特性的详细解释。
+<div class="standard" id='magicparlabel-14'>需要的话,请阅读 the <em>User's Guide。</em></div>
+</li><li class="itemize_item">LaTeX 的详细解释。
+<div class="standard" id='magicparlabel-16'>没必要这样做。要想知道用 LaTeX 在 LyX 中能做些什么,可以看看 the <em>Embedded Objects</em> manual。</div>
+</li></ul>
+<div class="standard" id='magicparlabel-17'>现在是开始你的第一个文档的时候了。</div>
+</section>
+</section>
+</section>
+<section>
+<h1 class="chapter" id='magicparlabel-18'><span class="chapter_label">第 2 章</span> 初识 LyX</h1>
+<section>
+<h2 class="section" id='magicparlabel-19'><span class="section_label">2.1</span> 第一个 LyX 文档</h2>
+<div class="standard" id='magicparlabel-20'>开始之前说几件事情,这会使本教程发挥更大的作用。</div>
+
+<div class="standard" id='magicparlabel-21'>由于本教程不会提供所有信息,所以你需要找到其它的帮助文件。这很简单:启动 LyX,在帮助菜单中就有 the <em>User's Guide。<i>在写自己的文件时就可以读到它们了(它们本身就是很好的例子)。注意,当打开多个文件时,可以通过 View 菜单或文档标签进行切换。</i></em></div>
+
+<div class="standard" id='magicparlabel-22'>我们假设你已经有了全功能的 LyX 和 LaTeX,包括 DVI、PDF 文件浏览器。一般来说,在各种操作系统上,在安装 LyX 的时候就已经做好了。</div>
+
+<div class="standard" id='magicparlabel-23'>最后,我们提供了一个文件 <span style='font-family:monospace;'>example_raw.lyx,</span>给你练习使用。假想这个文件是由一个完全不知道 LyX 特性的人写的,在学习的过程中,我们会建议你修改这个文件的。example_raw.lyx 中也包含了修改的提示信息。为了对比,我们还提供了一份 LyX 高手写的同样内容的文档:example_lyxified.lyx。</div>
+
+<div class="standard" id='magicparlabel-24'>示例文档存在于 LyX 安装路径的 examples 目录下。打开示例文档,另存到自己的目录下,修改后输出到 DVI 文件看效果。</div>
+
+<div class="standard" id='magicparlabel-25'>另外,examples 目录中还有很多其它的示例文件,它们将向您展示 LyX 的强大功能。当你忘记了某个功能怎么使用的时候,也可以回来看看这些文档。</div>
+<section>
+<h3 class="subsection" id='magicparlabel-26'><span class="subsection_label">2.1.1</span> 录入、查看、输出</h3>
+<ul class="itemize" id='magicparlabel-27'>
+<li class="itemize_item">使用菜单 <span style='font-family:sans-serif;'>File⇒New 打开新文件。</span></li>
+<li class="itemize_item">输入一个句子: <span style='font-family:monospace;'>This is my first LyX document!</span></li>
+<li class="itemize_item">使用菜单 <span style='font-family:sans-serif;'>File⇒Save As 保存文件。</span></li>
+<li class="itemize_item">运行 LaTeX 生成 DVI 文件,使用菜单 <span style='font-family:sans-serif;'>Document⇒View</span> 或 工具栏按钮 <span class="info"><img src='D:/LyX/lyx-unstable/lib/images/buffer-view.svgz' alt='image: ' /></span>。 LyX 将打开 DVI-viewer 程序显示文档打印时的样子。 <div class="foot"><span class="foot_label">1</span><div class="foot_inner"><div class="plain_layout" id='magicparlabel-35'>保持 DVI-viewer在后台运行会节省时间。以后可以点击 <span style='font-family:sans-serif;'>Document⇒Update⇒DVI</span> 或工具栏按钮 <span class="info"><img src='D:/LyX/lyx-unstable/lib/images/buffer-update.svgz' alt='image: ' /></span>,等 LyX 运算完成后切换到 DVI-viewer即可。</div>
+</div></div></li>
+<li class="itemize_item">使用菜单 <span style='font-family:sans-serif;'>File⇒Export</span> 将文档输出成希望的格式。</li>
+</ul>
+<div class="standard" id='magicparlabel-38'>恭喜!你已经写出了第一个 LyX 文档。其余的细节,你会在其它手册中读到。</div>
+</section>
+<section>
+<h3 class="subsection" id='magicparlabel-39'><span class="subsection_label">2.1.2</span> 简单操作</h3>
+<div class="standard" id='magicparlabel-40'>LyX 能够做到其它软件能做的绝大部分事情,如:自动换行、段落缩进……以下是几个简单操作的使用方法。</div>
+<dl class='description' id='magicparlabel-41'>
+<dt class="description_label">撤消</dt>
+<dd class="description_item"> LyX 有多级撤消功能,你可以使用 <span style='font-family:sans-serif;'>Edit⇒Undo</span> (或工具拦按钮 <span class="info"><img src='D:/LyX/lyx-unstable/lib/images/undo.svgz' alt='image: ' /></span>)来撤消本次编辑会话开始以来的所有操作。如果撤消过头了,可以选择 <span style='font-family:sans-serif;'>Edit⇒Redo</span> (或工具栏按钮 <span class="info"><img src='D:/LyX/lyx-unstable/lib/images/redo.svgz' alt='image: ' /></span>)恢复。 
+<div class="standard" id='magicparlabel-44'>目前撤消操作支持100步,而且撤消也不是能够支持所有更改的,比如对文档布局的更改就不能被撤消,这的确是一个 bug。</div>
+</dd><dt class="description_label">剪切/粘贴/复制</dt>
+<dd class="description_item"> 使用 <span style='font-family:sans-serif;'>Edit⇒Cut</span> (工具栏按钮 <span class="info"><img src='D:/LyX/lyx-unstable/lib/images/cut.svgz' alt='image: ' /></span>), <span style='font-family:sans-serif;'>Edit⇒Copy</span> (工具栏按钮 <span class="info"><img src='D:/LyX/lyx-unstable/lib/images/copy.svgz' alt='image: ' /></span>),和 <span style='font-family:sans-serif;'>Edit⇒Paste</span> (工具栏按钮 <span class="info"><img src='D:/LyX/lyx-unstable/lib/images/paste.svgz' alt='image: ' /></span>) 来实现剪切、复制和粘贴操作。或者也可通过鼠标中键来粘贴选中的文本(包括其它程序中选定的文本)。</dd>
+<dt class="description_label">查找/替换</dt>
+<dd class="description_item"> 点击 <span style='font-family:sans-serif;'>Edit⇒Find & Replace</span> (工具栏按钮 <span class="info"><img src='D:/LyX/lyx-unstable/lib/images/dialog-show_findreplace.svgz' alt='image: ' /></span>) ,在出现的对话框中点击按钮“<span style='font-family:sans-serif;'>Find Next”</span> 进行搜索,点击按钮“ <span style='font-family:sans-serif;'>Replace”替换搜到的字词。</span><div class="foot"><span class="foot_label">2</span><div class="foot_inner"><div class="plain_layout" id='magicparlabel-54'>完成后关闭窗口,如果觉得方便的话也可一直开着它。LyX 中的大部分窗口都可以这样。使用时注意焦点的切换即可。</div>
+</div></div> 你还可以指定区分大小写或全字匹配,当然也可以反向搜索文档。</dd>
+<dt class="description_label">字符格式</dt>
+<dd class="description_item"> 用 <span style='font-family:sans-serif;'>Edit⇒Text Style</span> 对话框中的 toggle buttons ,可以<i>强调</i>(默认斜体)、加粗或设置为<dfn class='lyxnoun'>无格式(</dfn>字体一般较小,用于人名)。</dd>
+<dt class="description_label">工具栏</dt>
+<dd class="description_item"> 菜单支边的工具栏提供了一些常用功能的按钮,例如:粘贴、打印。</dd>
+</dl>
+<div class="standard" id='magicparlabel-57'>当然,目前还没有输入足够多的内容以使所有这些功能可用。</div>
+</section>
+<section>
+<h3 class="subsection" id='magicparlabel-58'><span class="subsection_label">2.1.3</span> 所见即所想:LyX 中的空白</h3>
+<div class="standard" id='magicparlabel-59'>对新用户来说,最难理解的是 LyX 处理空白的方式。敲多次回车只能得到一个空行;敲多次空格只能得到一个空格。在空白行上,连一个空格都无法得到。按下 Tab 键也不会移动一个 Tab 位;实际上就没有 Tab 位!在页面上方也没有标尺可供设置 Tab 位和边距。</div>
+
+<div class="standard" id='magicparlabel-60'>很多字处理软件建立在 WYSIWYG 理念之上,也就是:看到的就是得到的(所见即所得)。LyX 不同,它建立在 WYSIWYM (所想即所得)的理念之上。你想什么就输入什么,LyX 会处理排版的问题,这样保证了输出文件的美观。回车分段,空格断词,没理由在一行中输入好几次空格。Tab 根本就没有语法意义,所以 LyX 不支持它。使用 LyX,你将花费更多的时间去考虑文档的<b>内容</b>,而不是它的<b>格式</b>。更多关于 WYSIWYM 的解释参见 <em>Introduction。</em></div>
+
+<div class="standard" id='magicparlabel-61'>LyX 的确也有不少精细调整文档格式的方法。毕竟 LyX 可能不会 100% 精确的按照你想的去排版。<em>User's Guide</em> 包含了调整文档格式的详细方法,包括水平填充(HFills)和垂直距离(它们比空格、回车更加强大灵活);设置字体大小 、样式的方法;调整段落对齐方式的手段。你只需要专心写你的文档,在最后细调一下文档格式就好了。使用普通的字处理软件,你会在写文档的整个过程中都被格式排版所困扰。<div class="foot"><span class="foot_label">3</span><div class="foot_inner"><div class="plain_layout" id='magicparlabel-65'>译注:连 AbiWord 这样轻量级的字处理软件都有样式了,就不要说 MS Word、OOo 了。</div>
+</div></div></div>
+</section>
+</section>
+<section>
+<h2 class="section" id='magicparlabel-66'><span class="section_label">2.2</span> 环境</h2>
+<div class="standard" id='magicparlabel-67'>文档的不同部分有不同的作用,我们称这些部分为“环境”(<em>environments</em>)。标题告诉读者新的话题(子话题)将会开始。某些文档含有特殊的环境,比如:期刊会有摘要和题目;书信就没有摘要和题目,但它有地址。</div>
+
+<div class="standard" id='magicparlabel-68'>环境是 LyX 所见即所得哲学的重要部分。一个环境需要具体的定义:字体大小、样式、缩进、行间距等等。这个问题非常重要,因为一个给定环境的具体定义会随着文档类型的变化而变化。比如:某期刊要求标题是黑体、18pt、居中,而另一个可能要求斜体、15pt、左对齐;不同的语言也有不同的缩进标准;参考文献的格式就变化更大了。LyX 会把你从这些格式中间拯救出来。</div>
+
+<div class="standard" id='magicparlabel-69'>你可以使用工具栏上的环境下拉菜单<img style='width:50%;' src='59dc5fa2c4be2dbbd812749fb08fd5394d0b655a4cf83a012745159aab4ec6af_ToolbarEnvBox_png.png' alt='image: 59dc5fa2c4be2dbbd812749fb08fd5394d0b655a4cf83a012745159aab4ec6af_ToolbarEnvBox_png.png' />来选择环境,它也能告诉你当前的环境是什么,其中“Standard”是文本的默认环境。现在我们将在你的新文档中添加几个环境,来看看它们是怎么工作的吧。</div>
+<section>
+<h3 class="subsection" id='magicparlabel-70'><span class="subsection_label">2.2.1</span> 节(<span style='font-family:sans-serif;'>Section</span>)与子节(Subsection)</h3>
+<div class="standard" id='magicparlabel-71'>在 LyX 文档的第一行输入“<span style='font-family:monospace;'>Introduction</span>”,在环境下拉菜单中设为“节”(<span style='font-family:sans-serif;'>Section</span>)<div class="foot"><span class="foot_label">4</span><div class="foot_inner"><div class="plain_layout" id='magicparlabel-75'>设定环境不需要选择整行(段),光标停留其中即可。若想一次改变多行的环境,则需要选定之。</div>
+</div></div>, 确定你选择了“节”(<span style='font-family:sans-serif;'>Section</span>)而不是“节<span style='font-family:sans-serif;'>*</span>”(<span style='font-family:sans-serif;'>Section*</span>)。LyX 将在前边加上“1”并把字体调大。现在敲回车,环境将从“节”(<span style='font-family:sans-serif;'>Section</span>)变回“标准”(Standard)。和多数环境类似,敲回车后环境将终止。输入文本:</div>
+<div class="lyx_code" id='magicparlabel-76'>
+<div class="lyx_code_item">This is an introduction to my first LyX document.</div>
+</div>
+<div class="standard" id='magicparlabel-77'>再次回车,选择“节”(<span style='font-family:sans-serif;'>Section</span>)环境,LyX 将写上“2”并等待输入。现在输入“<span style='font-family:monospace;'>More Stuff</span>”,LyX 会把它设置成节(<span style='font-family:sans-serif;'>Section</span>)标题的样式。</div>
+
+<div class="standard" id='magicparlabel-78'>将光标定位到节 1 (Section 1)末尾,敲回车,再次设置为“节”(<span style='font-family:sans-serif;'>Section</span>),LyX 会写上“2”并等待输入。输入“<span style='font-family:monospace;'>About This Document</span>”。刚才的节 2 (Section 2),“More Stuff”,现在已经被改成了节 3 (Section 3)。你只需要确定哪些文字是节(<span style='font-family:sans-serif;'>Section</span>)标题,LyX 会处理编号和排版格式的,这就是所见即所想(WYSIWYM)的风格。</div>
+
+<div class="standard" id='magicparlabel-79'>敲回车,回到“标准”(Standard)环境,输入下边 5 行文字:</div>
+<div class="lyx_code" id='magicparlabel-80'>
+<div class="lyx_code_item">Sections and subsections are described below.</div>
+<div class="lyx_code_item">Section Description</div>
+<div class="lyx_code_item">Sections are bigger than subsections.</div>
+<div class="lyx_code_item">Subsection description</div>
+<div class="lyx_code_item">Subsections are smaller than sections.</div>
+</div>
+<div class="standard" id='magicparlabel-85'>点击第二行,在环境下拉菜单中设为“子节”(Subsection)。LyX 将会在前边加上“2.1”,并把字体调整的比正文大,比节(Section)标题小。接着把第 4 行也设置成为“子节”(Subsection),LyX 将在它前边加上“2.2”。如果在节 2 (Section 2)前边加上了别的节,节 2 将会自动变为节 3(Section 3),后边的子节也会跟着变成“3.1”和“3.2”。</div>
+
+<div class="standard" id='magicparlabel-86'>文档的层级结构还有次子节 ( Subsubsection )、段 ( Paragraph ) 和子段 ( Subparagraph ),这些就由读者自行把玩吧。段和子段的标题默认是不编号的,而且子段还有缩进,参阅 <em>User's Guide</em> 得到更多解释以及如何改变它们。章(Chapter)是文档层级结构中最高的一级,只能在某些特定的 LyX 文档类型中才能使用它(见 <a href="#sec____">sec:文档类</a>)。</div>
+
+<div class="standard" id='magicparlabel-87'>你可能还希望一些节和子节是不编号的,LyX 有专门的环境实现这个功能。当把节的标题环境改为“节*”(Section*)后,LyX 还将对它使用相同的字体,只是不再对它进行编号。相应的也有带“星”的子节和次子节环境。试着把一些节或子节的标题环境改为带星的,同时看看其它的编号怎么随之改变。</div>
+
+<div class="standard" id='magicparlabel-88'>练习:修改 example_raw.lyx 中的节和子节标题。</div>
+</section>
+<section>
+<h3 class="subsection" id='magicparlabel-89'><span class="subsection_label">2.2.2</span> 列表(Lists)和子列表(sublists)</h3>
+<div class="standard" id='magicparlabel-90'>LyX 有好几种列表环境,在写提纲或者重新排序一个已有的列表时,这些列表环境会帮上大忙。不同的文档类型需要不同的列表环境:</div>
+<ul class="itemize" id='magicparlabel-91'>
+<li class="itemize_item">幻灯片使用带圆点的条目环境(<span style='font-family:sans-serif;'>Itemize</span>)。</li>
+<li class="itemize_item">大纲使用带编号的枚举环境(<span style='font-family:sans-serif;'>Enumerate</span>)。</li>
+<li class="itemize_item">名词解释常用描述环境(<span style='font-family:sans-serif;'>Description</span>)。</li>
+<li class="itemize_item">列表环境(<span style='font-family:sans-serif;'>List</span>)和描述环境(<span style='font-family:sans-serif;'>Description</span>)差不多,只是对齐方式稍有不同。</li>
+</ul>
+<div class="standard" id='magicparlabel-95'>现在我们写一个 LyX 有关优点的列表。在文档中输入:</div>
+
+<div class="standard" id='magicparlabel-96'><span style='font-family:monospace;'>LyX is better than other word processors because: </span></div>
+
+<div class="standard" id='magicparlabel-97'>然后敲回车,并在环境下拉列表中选择条目环境(<span style='font-family:sans-serif;'>Itemize</span>)。LyX 会在行首加上圆点。继续输入:</div>
+<div class="lyx_code" id='magicparlabel-98'>
+<div class="lyx_code_item">Typesetting is done for you.</div>
+<div class="lyx_code_item">Math is WYSIWYG</div>
+<div class="lyx_code_item">Lists are very easy to create!</div>
+</div>
+<div class="standard" id='magicparlabel-101'>和标题不同,列表环境在敲回车时不会终止,LyX 会认为你将继续写下一个条目。所以上边的输入将会产生三个列表项。重新选择标准环境(<span style='font-family:sans-serif;'>Standard</span>)或使用快捷键 <span style='font-family:sans-serif;'>Alt+P S</span> 才能退出列表环境。要在一个列表项中使用多个段落,可使用保护性中断(<span style='font-family:sans-serif;'>Protected Break</span>),按下 Ctrl + 回车即可。</div>
+
+<div class="standard" id='magicparlabel-102'>你已经得到了一个漂亮的条目列表,你是不是已经迫不及待的想运行 LaTeX 看看它们打印出来的样子了?可如果您想给它们加上编号呢?你只需要选定整个列表<div class="foot"><span class="foot_label">5</span><div class="foot_inner"><div class="plain_layout" id='magicparlabel-106'>如果不连前边一段也一起选上的话,你是无法选上第一个条目前边的圆点的;类似的,你也无法选定章节编号。这是有意如此的,因为随着文档类型和文字位置的不同,这些圆点和编号也会发生变化。</div>
+</div></div>,然后选择枚举环境(<span style='font-family:sans-serif;'>Enumerate</span>)即可。如果你增删条目的话,LyX 会自动修改枚举编号的。</div>
+
+<div class="standard" id='magicparlabel-107'>现在列表项还是处于被选定状态的,你可以再试试描述(<span style='font-family:sans-serif;'>Description</span>)和列表(<span style='font-family:sans-serif;'>List</span>)两种环境。这两种环境都是名词加定义的形式,描述环境前边的名词用黑体,列表环境的名词和后边的定义由“Tab”<div class="foot"><span class="foot_label">6</span><div class="foot_inner"><div class="plain_layout" id='magicparlabel-111'>这里的Tab是排版Tab(它会自适应到最长的名词长度),而不是定长的打字机Tab。</div>
+</div></div>分隔。前边的名词如果多于一个词的话,需要使用保护性空格(<span style='font-family:sans-serif;'>Protected Blank</span>s)将它们分开。</div>
+
+<div class="standard" id='magicparlabel-112'>练习:排版 <span style='font-family:monospace;'>example_raw.lyx</span> 中的列表。</div>
+
+<div class="standard" id='magicparlabel-113'>这些列表环境还可以嵌套使用,提纲就是最常见的例子。带编号或圆点的列表在子列表中会有不同的表现形式。更多详情参见 <em>User's Guide</em> 。</div>
+</section>
+<section>
+<h3 class="subsection" id='magicparlabel-114'><span class="subsection_label">2.2.3</span> 其它环境:诗、引用和更多</h3>
+<div class="standard" id='magicparlabel-115'>有两种引用环境:短一点的引用使用引用环境(<span style='font-family:sans-serif;'>Quote</span>);长一点的引用使用引文环境(<span style='font-family:sans-serif;'>Quotation</span>)。计算机代码使用代码环境(<span style='font-family:sans-serif;'>LyX-Code</span>),该环境使用<span style='font-family:monospace;'>typewriter</span> 字体,而且这里是 LyX 中唯一允许使用多个空格的地方。你还可以使用诗环境(<span style='font-family:sans-serif;'>Verse</span>)来写诗:回车分节,Ctrl + 回车断行。对所有环境的完整描述参见<em> User's Guide</em>。</div>
+
+<div class="standard" id='magicparlabel-116'>练习:修改 <span style='font-family:monospace;'>example_raw.lyx</span> 中的引用、代码、诗环境。</div>
+</section>
+</section>
+</section>
+</body>
+</html>
diff --git a/src/output_xhtml.cpp b/src/output_xhtml.cpp
index fe396f8..0174339 100644
--- a/src/output_xhtml.cpp
+++ b/src/output_xhtml.cpp
@@ -35,6 +35,7 @@
 #include "support/textutils.h"
 
 #include <stack>
+#include <iostream>
 
 // Uncomment to activate debugging code.
 // #define XHTML_DEBUG
@@ -610,6 +611,8 @@ void xhtmlParagraphs(Text const & text,
 		ParagraphList::const_iterator send;
 
 		// Think about adding <section> and/or </section>s.
+		// Document title is not in Sectioning, but rather in FrontMatter, so that it does not need to be taken
+		// into account.
 		if (style.category() == from_utf8("Sectioning")) {
 			int level = style.toclevel;
 
@@ -620,7 +623,7 @@ void xhtmlParagraphs(Text const & text,
 			while (!headerLevels.empty() && level <= headerLevels.top()) {
 				// Output the tag only if it corresponds to a legit section.
 				int stackLevel = headerLevels.top();
-				if (stackLevel != Layout::NOT_IN_TOC && level > 1) { // <h1> is the document title.
+				if (stackLevel != Layout::NOT_IN_TOC) {
 					xs << xml::EndTag("section");
 					xs << xml::CR();
 				}
@@ -630,7 +633,7 @@ void xhtmlParagraphs(Text const & text,
 			// Open the new section: first push it onto the stack, then output it in XHTML.
 			headerLevels.push(level);
 			// Some sectioning-like elements should not be output (such as FrontMatter).
-			if (level != Layout::NOT_IN_TOC && level > 1) { // <h1> is the document title.
+			if (level != Layout::NOT_IN_TOC ) {
 				xs << xml::StartTag("section");
 				xs << xml::CR();
 			}
@@ -675,7 +678,7 @@ void xhtmlParagraphs(Text const & text,
 
 	// If need be, close <section>s, but only at the end of the document (otherwise, dealt with at the beginning
 	// of the loop).
-	while (!headerLevels.empty() && headerLevels.top() != Layout::NOT_IN_TOC && headerLevels.top() > 1) {
+	while (!headerLevels.empty() && headerLevels.top() != Layout::NOT_IN_TOC) {
 		docstring tag = from_utf8("</section>");
 		headerLevels.pop();
 		xs << XMLStream::ESCAPE_NONE << tag;

commit 0dfa24020919a436a5ee8937bb0bbc7c0863406d
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Wed Sep 16 04:13:42 2020 +0200

    XHTML: restore sections.

diff --git a/src/output_xhtml.cpp b/src/output_xhtml.cpp
index f8cd53e..fe396f8 100644
--- a/src/output_xhtml.cpp
+++ b/src/output_xhtml.cpp
@@ -675,7 +675,7 @@ void xhtmlParagraphs(Text const & text,
 
 	// If need be, close <section>s, but only at the end of the document (otherwise, dealt with at the beginning
 	// of the loop).
-	while (!headerLevels.empty() && headerLevels.top() > Layout::NOT_IN_TOC) {
+	while (!headerLevels.empty() && headerLevels.top() != Layout::NOT_IN_TOC && headerLevels.top() > 1) {
 		docstring tag = from_utf8("</section>");
 		headerLevels.pop();
 		xs << XMLStream::ESCAPE_NONE << tag;

commit 1991d0ed24780cbb0064b7be7a733bc1ee9e241e
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Wed Sep 16 04:12:26 2020 +0200

    Converters: always set version to something.
    
    Otherwise, it's common to compare "None >= (6,2,6)", which makes no sense. Set it to (0,0,0) so that any comparison fails (without an error message).

diff --git a/lib/scripts/convertDefault.py b/lib/scripts/convertDefault.py
index 5287e96..d04fa78 100644
--- a/lib/scripts/convertDefault.py
+++ b/lib/scripts/convertDefault.py
@@ -53,6 +53,8 @@ else:
         gm = True
         # we need version to be a valid integer 3-tuple
         version = (1,0,0)
+    else:
+        version = (0,0,0)
 
 # IM >= 5.5.8 separates options for source and target files
 # See http://www.imagemagick.org/Usage/basics/#why

commit e4065cc1b1394c61108735611e0ebf02b12e6bbe
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Wed Sep 16 04:02:51 2020 +0200

    Converters: slightly more pythonic code.

diff --git a/lib/scripts/convertDefault.py b/lib/scripts/convertDefault.py
index c927713..5287e96 100644
--- a/lib/scripts/convertDefault.py
+++ b/lib/scripts/convertDefault.py
@@ -25,7 +25,7 @@ re_version = re.compile(r'^Version:.*ImageMagick\s*(\d*)\.(\d*)\.(\d*).*$')
 command = 'magick'
 fout = os.popen('magick -version 2>&1')
 output = fout.readline()
-if fout.close() != None:
+if fout.close() is not None:
     # older versions
     # caution: windows has a convert.exe for converting file systems
     command = 'convert'
@@ -39,7 +39,7 @@ version = re_version.match(output)
 im = False
 gm = False
 
-if version != None:
+if version is not None:
     major = int(version.group(1))
     minor = int(version.group(2))
     patch = int(version.group(3))
@@ -49,7 +49,7 @@ else:
     # Try GraphicsMagick
     re_version = re.compile(r'^GraphicsMagick.*http:..www.GraphicsMagick.org.*$')
     version = re_version.match(output)
-    if version != None:
+    if version is not None:
         gm = True
         # we need version to be a valid integer 3-tuple
         version = (1,0,0)
@@ -72,10 +72,10 @@ if sys.argv[3] == 'ppm' and (im and version >= (6,3,5) or gm):
 
 # print (command, sys.argv[2], sys.argv[4], file= sys.stdout)
 if (im or gm) and os.system(r'%s %s "%s" %s "%s"' % (command, sopts, sys.argv[2], topts, sys.argv[3] + ':' + sys.argv[4])) != 0:
-    print (sys.argv[0], 'ERROR', file= sys.stderr)
-    print ('Execution of "%s" failed.' % command, file= sys.stderr)
+    print(sys.argv[0], 'ERROR', file= sys.stderr)
+    print('Execution of "%s" failed.' % command, file= sys.stderr)
     sys.exit(1)
 elif not im and not gm and sys.platform == 'darwin' and os.system(r'%s "%s" "%s"' % (command, sys.argv[2], sys.argv[4])) != 0:
-    print (sys.argv[0], 'ERROR', file= sys.stderr)
-    print ('Execution of "%s" failed.' % command, file= sys.stderr)
+    print(sys.argv[0], 'ERROR', file= sys.stderr)
+    print('Execution of "%s" failed.' % command, file=sys.stderr)
     sys.exit(1)

commit 15dbc2b9ab0765b950ebe57300178fa4ec59f3cd
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Wed Sep 16 03:37:46 2020 +0200

    Revert "XHTML: remove <section> support."
    
    This reverts commit 52216b73

diff --git a/src/output_xhtml.cpp b/src/output_xhtml.cpp
index 99d425e..f8cd53e 100644
--- a/src/output_xhtml.cpp
+++ b/src/output_xhtml.cpp
@@ -590,6 +590,7 @@ void xhtmlParagraphs(Text const & text,
 	ParagraphList::const_iterator const pend =
 		(epit == (int) paragraphs.size()) ?
 			paragraphs.end() : paragraphs.iterator_at(epit);
+	std::stack<int> headerLevels;
 
 	while (bpit < epit) {
 		ParagraphList::const_iterator par = paragraphs.iterator_at(bpit);
@@ -608,6 +609,33 @@ void xhtmlParagraphs(Text const & text,
 		ParagraphList::const_iterator const lastpar = par;
 		ParagraphList::const_iterator send;
 
+		// Think about adding <section> and/or </section>s.
+		if (style.category() == from_utf8("Sectioning")) {
+			int level = style.toclevel;
+
+			// Need to close a previous section if it has the same level or a higher one (close <section> if opening a
+			// <h2> after a <h2>, <h3>, <h4>, <h5> or <h6>). More examples:
+			//   - current: h2; back: h1; do not close any <section>
+			//   - current: h1; back: h2; close two <section> (first the <h2>, then the <h1>, so a new <h1> can come)
+			while (!headerLevels.empty() && level <= headerLevels.top()) {
+				// Output the tag only if it corresponds to a legit section.
+				int stackLevel = headerLevels.top();
+				if (stackLevel != Layout::NOT_IN_TOC && level > 1) { // <h1> is the document title.
+					xs << xml::EndTag("section");
+					xs << xml::CR();
+				}
+				headerLevels.pop();
+			}
+
+			// Open the new section: first push it onto the stack, then output it in XHTML.
+			headerLevels.push(level);
+			// Some sectioning-like elements should not be output (such as FrontMatter).
+			if (level != Layout::NOT_IN_TOC && level > 1) { // <h1> is the document title.
+				xs << xml::StartTag("section");
+				xs << xml::CR();
+			}
+		}
+
 		switch (style.latextype) {
 		case LATEX_COMMAND: {
 			// The files with which we are working never have more than
@@ -644,6 +672,15 @@ void xhtmlParagraphs(Text const & text,
 		}
 		bpit += distance(lastpar, par);
 	}
+
+	// If need be, close <section>s, but only at the end of the document (otherwise, dealt with at the beginning
+	// of the loop).
+	while (!headerLevels.empty() && headerLevels.top() > Layout::NOT_IN_TOC) {
+		docstring tag = from_utf8("</section>");
+		headerLevels.pop();
+		xs << XMLStream::ESCAPE_NONE << tag;
+		xs << xml::CR();
+	}
 }
 
 

commit c8e2c17a5835f5c656fd6c26a84d793058dc4440
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Wed Sep 16 03:22:38 2020 +0200

    XHTML: remove DOCTYPE, as the document is then understood as HTML4/XHTML1, and not XHTML5.

diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index 2ef5768..0cf87de 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -2217,7 +2217,7 @@ Buffer::ExportStatus Buffer::writeLyXHTMLSource(odocstream & os,
 
 	if (output_preamble) {
 		os << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-		   << "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN\" \"http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd\">\n"
+		   << "<!DOCTYPE html>\n"
 		   // FIXME Language should be set properly.
 		   << "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"
 		   << "<head>\n"

commit 92ad86daccfcdf9ae2ebfa084c38b2712d0cc8c3
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Wed Sep 16 03:18:32 2020 +0200

    XHTML: remove <section> support.

diff --git a/src/output_xhtml.cpp b/src/output_xhtml.cpp
index f8cd53e..99d425e 100644
--- a/src/output_xhtml.cpp
+++ b/src/output_xhtml.cpp
@@ -590,7 +590,6 @@ void xhtmlParagraphs(Text const & text,
 	ParagraphList::const_iterator const pend =
 		(epit == (int) paragraphs.size()) ?
 			paragraphs.end() : paragraphs.iterator_at(epit);
-	std::stack<int> headerLevels;
 
 	while (bpit < epit) {
 		ParagraphList::const_iterator par = paragraphs.iterator_at(bpit);
@@ -609,33 +608,6 @@ void xhtmlParagraphs(Text const & text,
 		ParagraphList::const_iterator const lastpar = par;
 		ParagraphList::const_iterator send;
 
-		// Think about adding <section> and/or </section>s.
-		if (style.category() == from_utf8("Sectioning")) {
-			int level = style.toclevel;
-
-			// Need to close a previous section if it has the same level or a higher one (close <section> if opening a
-			// <h2> after a <h2>, <h3>, <h4>, <h5> or <h6>). More examples:
-			//   - current: h2; back: h1; do not close any <section>
-			//   - current: h1; back: h2; close two <section> (first the <h2>, then the <h1>, so a new <h1> can come)
-			while (!headerLevels.empty() && level <= headerLevels.top()) {
-				// Output the tag only if it corresponds to a legit section.
-				int stackLevel = headerLevels.top();
-				if (stackLevel != Layout::NOT_IN_TOC && level > 1) { // <h1> is the document title.
-					xs << xml::EndTag("section");
-					xs << xml::CR();
-				}
-				headerLevels.pop();
-			}
-
-			// Open the new section: first push it onto the stack, then output it in XHTML.
-			headerLevels.push(level);
-			// Some sectioning-like elements should not be output (such as FrontMatter).
-			if (level != Layout::NOT_IN_TOC && level > 1) { // <h1> is the document title.
-				xs << xml::StartTag("section");
-				xs << xml::CR();
-			}
-		}
-
 		switch (style.latextype) {
 		case LATEX_COMMAND: {
 			// The files with which we are working never have more than
@@ -672,15 +644,6 @@ void xhtmlParagraphs(Text const & text,
 		}
 		bpit += distance(lastpar, par);
 	}
-
-	// If need be, close <section>s, but only at the end of the document (otherwise, dealt with at the beginning
-	// of the loop).
-	while (!headerLevels.empty() && headerLevels.top() > Layout::NOT_IN_TOC) {
-		docstring tag = from_utf8("</section>");
-		headerLevels.pop();
-		xs << XMLStream::ESCAPE_NONE << tag;
-		xs << xml::CR();
-	}
 }
 
 

commit bfeb3b66b104f6262de8169e32c49413bfe1a79d
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Sep 13 01:50:11 2020 +0200

    DocBook: slight code simplification.

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index c8ddc1a..0d0aa10 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -1087,8 +1087,7 @@ void docbookParagraphs(Text const &text,
 
 		// Close all sections before the bibliography.
 		// TODO: Only close all when the bibliography is at the end of the document? Or force to output the bibliography at the end of the document? Or don't care (as allowed by DocBook)?
-		auto insetsLength = distance(par->insetList().begin(), par->insetList().end());
-		if (insetsLength > 0) {
+		if (!par->insetList().empty()) {
 			Inset const *firstInset = par->getInset(0);
 			if (firstInset && (firstInset->lyxCode() == BIBITEM_CODE || firstInset->lyxCode() == BIBTEX_CODE)) {
 				while (!headerLevels.empty()) {

commit 6c51cabd35b48eb2245330cda49b2be5c9a2c223
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Sep 12 03:21:08 2020 +0200

    DocBook: fix output in Layout::write.

diff --git a/lib/layouts/aastex.layout b/lib/layouts/aastex.layout
index 78089a4..37dbd07 100644
--- a/lib/layouts/aastex.layout
+++ b/lib/layouts/aastex.layout
@@ -204,7 +204,7 @@ Style Altaffilation
 	  Color		green
 	EndFont
 	DocBookTag                        affiliation
-	DocBookAttr                       role="alternate"
+	DocBookAttr                       role='alternate'
 	DocBookWrapperTag                 author
 	DocBookWrapperMergeWithPrevious   true
 	DocBookItemTag                    orgname
diff --git a/lib/layouts/shapepar.module b/lib/layouts/shapepar.module
index 6b38cdf..2b2fbfe 100644
--- a/lib/layouts/shapepar.module
+++ b/lib/layouts/shapepar.module
@@ -36,50 +36,50 @@ Style "CD label"
 	Align		Block
 	LabelType	No_Label
 	DocBookWrapperTag  sidebar
-	DocBookWrapperAttr role="cd-label"
+	DocBookWrapperAttr role='cd-label'
 	DocBookTag  para
 End
 
 Style "Circle"
 	CopyStyle	"CD label"
 	LatexName	circlepar
-	DocBookWrapperAttr role="circle"
+	DocBookWrapperAttr role='circle'
 End
 
 Style "Diamond"
 	CopyStyle	"CD label"
 	LatexName	diamondpar
-	DocBookWrapperAttr role="diamond"
+	DocBookWrapperAttr role='diamond'
 End
 
 Style "Heart"
 	CopyStyle	"CD label"
 	LatexName	heartpar
-	DocBookWrapperAttr role="heart"
+	DocBookWrapperAttr role='heart'
 End
 
 Style "Hexagon"
 	CopyStyle	"CD label"
 	LatexName	hexagonpar
-	DocBookWrapperAttr role="hexagon"
+	DocBookWrapperAttr role='hexagon'
 End
 
 Style "Nut"
 	CopyStyle	"CD label"
 	LatexName	nutpar
-	DocBookWrapperAttr role="nut"
+	DocBookWrapperAttr role='nut'
 End
 
 Style "Square"
 	CopyStyle	"CD label"
 	LatexName	squarepar
-	DocBookWrapperAttr role="square"
+	DocBookWrapperAttr role='square'
 End
 
 Style "Star"
 	CopyStyle	"CD label"
 	LatexName	starpar
-	DocBookWrapperAttr role="star"
+	DocBookWrapperAttr role='star'
 End
 
 # now the shapes defined in the .def files
@@ -87,49 +87,49 @@ End
 Style "Candle"
 	CopyStyle	"CD label"
 	LatexName	shapepar{\candle}
-	DocBookWrapperAttr role="candle"
+	DocBookWrapperAttr role='candle'
 End
 
 Style "Drop down"
 	CopyStyle	"CD label"
 	LatexName	droppar
-	DocBookWrapperAttr role="drop-down"
+	DocBookWrapperAttr role='drop-down'
 End
 
 Style "Drop up"
 	CopyStyle	"CD label"
 	LatexName	dropuppar
-	DocBookWrapperAttr role="drop-up"
+	DocBookWrapperAttr role='drop-up'
 End
 
 Style "TeX"
 	CopyStyle	"CD label"
 	LatexName	shapepar{\TeXshape}
-	DocBookWrapperAttr role="tex"
+	DocBookWrapperAttr role='tex'
 End
 
 Style "Triangle up"
 	CopyStyle	"CD label"
 	LatexName	triangleuppar
-	DocBookWrapperAttr role="triangle-up"
+	DocBookWrapperAttr role='triangle-up'
 End
 
 Style "Triangle down"
 	CopyStyle	"CD label"
 	LatexName	triangledownpar
-	DocBookWrapperAttr role="triangle-down"
+	DocBookWrapperAttr role='triangle-down'
 End
 
 Style "Triangle left"
 	CopyStyle	"CD label"
 	LatexName	triangleleftpar
-	DocBookWrapperAttr role="triangle-left"
+	DocBookWrapperAttr role='triangle-left'
 End
 
 Style "Triangle right"
 	CopyStyle	"CD label"
 	LatexName	trianglerightpar
-	DocBookWrapperAttr role="triangle-right"
+	DocBookWrapperAttr role='triangle-right'
 End
 
 # finally the low-level commands
diff --git a/lib/layouts/stdstarsections.inc b/lib/layouts/stdstarsections.inc
index 60354b1..0159b07 100644
--- a/lib/layouts/stdstarsections.inc
+++ b/lib/layouts/stdstarsections.inc
@@ -49,7 +49,7 @@ Style Section*
 	LabelCounter	""
 	ResetArgs       1
 	DocBookTag            bridgehead
-	DocBookAttr           renderas="sect1"
+	DocBookAttr           renderas='sect1'
 	DocBookSectionTag     NONE
 	DocBookForceAbstractTag	NONE
 End
@@ -64,7 +64,7 @@ Style Subsection*
 	LabelCounter	""
 	ResetArgs       1
 	DocBookTag            bridgehead
-	DocBookAttr           renderas="sect2"
+	DocBookAttr           renderas='sect2'
 	DocBookSectionTag     NONE
 	DocBookForceAbstractTag	NONE
 End
@@ -79,7 +79,7 @@ Style Subsubsection*
 	LabelCounter	""
 	ResetArgs       1
 	DocBookTag            bridgehead
-	DocBookAttr           renderas="sect3"
+	DocBookAttr           renderas='sect3'
 	DocBookSectionTag     NONE
 	DocBookForceAbstractTag	NONE
 End
@@ -94,7 +94,7 @@ Style Paragraph*
 	LabelCounter	""
 	ResetArgs       1
 	DocBookTag            bridgehead
-	DocBookAttr           renderas="sect4"
+	DocBookAttr           renderas='sect4'
 	DocBookSectionTag     NONE
 	DocBookForceAbstractTag	NONE
 End
@@ -109,7 +109,7 @@ Style Subparagraph*
 	LabelCounter	""
 	ResetArgs       1
 	DocBookTag            bridgehead
-	DocBookAttr           renderas="sect5"
+	DocBookAttr           renderas='sect5'
 	DocBookSectionTag     NONE
 	DocBookForceAbstractTag	NONE
 End
diff --git a/src/Layout.cpp b/src/Layout.cpp
index 102410d..f5e6f77 100644
--- a/src/Layout.cpp
+++ b/src/Layout.cpp
@@ -1643,7 +1643,7 @@ void Layout::write(ostream & os) const
 	if(!docbooktag_.empty())
 		os << "\tDocBookTag " << docbooktag_ << '\n';
 	if(!docbookattr_.empty())
-		os << "\tDocBookAttr " << docbookattr_ << '\n';
+		os << "\tDocBookAttr \"" << docbookattr_ << "\"\n";
 	if(!docbooktagtype_.empty())
 		os << "\tDocBookTagType " << docbooktagtype_ << '\n';
 	if(!docbookininfo_.empty())
@@ -1669,7 +1669,7 @@ void Layout::write(ostream & os) const
 		os << "\tDocBookItemWrapperAttr " << docbookitemwrapperattr_ << '\n';
 	if(!docbookitemwrappertagtype_.empty())
 		os << "\tDocBookItemWrapperTagType " << docbookitemwrappertagtype_ << '\n';
-	os << "\tDocBookItemWrapperMergeWithPrevious " << docbookwrappermergewithprevious_ << '\n';
+	os << "\tDocBookWrapperMergeWithPrevious " << docbookwrappermergewithprevious_ << '\n';
 	if(!docbookitemlabeltag_.empty())
 		os << "\tDocBookItemLabelTag " << docbookitemlabeltag_ << '\n';
 	if(!docbookitemlabelattr_.empty())

commit 50f011e062646fbc7354ee4be938dd376769900d
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Sep 12 01:52:58 2020 +0200

    DocBook: implement InsetBox titles.

diff --git a/autotests/export/docbook/A0_Poster_Simple.lyx b/autotests/export/docbook/A0_Poster_Simple.lyx
new file mode 100644
index 0000000..998f210
--- /dev/null
+++ b/autotests/export/docbook/A0_Poster_Simple.lyx
@@ -0,0 +1,192 @@
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 598
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass a0poster
+\begin_preamble
+% Adjust padding in boxes
+\setlength\fboxsep{12pt}
+% Added by lyx2lyx
+\setlength{\parskip}{\bigskipamount}
+\setlength{\parindent}{0pt}
+\end_preamble
+\options a0,portrait
+\use_default_options false
+\maintain_unincluded_children no
+\language english
+\language_package default
+\inputencoding utf8
+\fontencoding auto
+\font_roman "palatino" "default"
+\font_sans "default" "default"
+\font_typewriter "courier" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_roman_osf false
+\font_sans_osf false
+\font_typewriter_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures false
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize default
+\spacing single
+\use_hyperref false
+\papersize default
+\use_geometry true
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine basic
+\cite_engine_type default
+\biblio_style plain
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 0
+\use_minted 0
+\use_lineno 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\leftmargin 1cm
+\topmargin 1cm
+\rightmargin 1cm
+\bottommargin 1cm
+\secnumdepth 0
+\tocdepth 0
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style english
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 1
+\paperpagestyle empty
+\tablestyle default
+\tracking_changes false
+\output_changes false
+\change_bars false
+\postpone_fragile_content false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\docbook_table_output 0
+\end_header
+
+\begin_body
+
+\begin_layout Standard
+\align center
+\begin_inset Box Shadowbox
+position "c"
+hor_pos "c"
+has_inner_box 1
+inner_pos "c"
+use_parbox 1
+use_makebox 0
+width "98col%"
+special "none"
+height "5cm"
+height_special "none"
+thickness "0.4pt"
+separation "3pt"
+shadowsize "4pt"
+framecolor "black"
+backgroundcolor "none"
+status open
+
+\begin_layout Plain Layout
+\noindent
+\align center
+
+\series bold
+\noun on
+\begin_inset Flex Most Giant Snippet
+status open
+
+\begin_layout Plain Layout
+\noindent
+
+\series bold
+\noun on
+Poster Heading
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Box Boxed
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "98col%"
+special "none"
+height "1in"
+height_special "totalheight"
+thickness "0.4pt"
+separation "3pt"
+shadowsize "4pt"
+framecolor "black"
+backgroundcolor "none"
+status open
+
+\begin_layout Section
+Summary
+\end_layout
+
+\begin_layout Itemize
+For multiple columns, use the 
+\begin_inset Quotes eld
+\end_inset
+
+Multiple Columns
+\begin_inset Quotes erd
+\end_inset
+
+ module as documented in 
+\family sans
+Help\SpecialChar menuseparator
+Additional Features
+\family default
+.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
diff --git a/autotests/export/docbook/A0_Poster_Simple.xml b/autotests/export/docbook/A0_Poster_Simple.xml
new file mode 100644
index 0000000..3594ffd
--- /dev/null
+++ b/autotests/export/docbook/A0_Poster_Simple.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This DocBook file was created by LyX 2.4.0dev
+  See http://www.lyx.org/ for more information -->
+<article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
+<sidebar role='shadowbox'>
+Poster Heading
+</sidebar>
+<sidebar role='boxed'>
+<title>Summary</title>
+<itemizedlist>
+<listitem>
+<para>For multiple columns, use the “Multiple Columns” module as documented in <emphasis role='sans'>Help&#x21D2;Additional Features</emphasis>.</para>
+</listitem>
+</itemizedlist>
+</sidebar>
+</article>
\ No newline at end of file
diff --git a/src/insets/InsetBox.cpp b/src/insets/InsetBox.cpp
index db76f53..d714cf7 100644
--- a/src/insets/InsetBox.cpp
+++ b/src/insets/InsetBox.cpp
@@ -26,6 +26,7 @@
 #include "LaTeXFeatures.h"
 #include "Lexer.h"
 #include "MetricsInfo.h"
+#include "output_docbook.h"
 #include "output_xhtml.h"
 #include "TexRow.h"
 #include "texstream.h"
@@ -727,7 +728,21 @@ void InsetBox::docbook(XMLStream & xs, OutputParams const & runparams) const
 		LYXERR0("Assertion failed: box layout " + getLayout().name() + " missing DocBookWrapperTag.");
 	}
 
-	InsetText::docbook(xs, runparams);
+	// If the box starts with a sectioning item, use as box title.
+	auto current_par = paragraphs().begin();
+	if (current_par->layout().category() == from_utf8("Sectioning")) {
+		// Only generate the first paragraph.
+		current_par = makeAny(text(), buffer(), xs, runparams, paragraphs().begin());
+	}
+
+	xs.startDivision(false);
+	// Don't call InsetText::docbook, as this would generate all paragraphs in the inset, not the ones we are
+	// interested in. The best solution would be to call docbookParagraphs with an updated OutputParams object to only
+	// generate paragraphs after the title, but it leads to strange crashes, as if text().paragraphs() then returns
+	// a smaller set of paragrphs.
+	while (current_par != paragraphs().end())
+		current_par = makeAny(text(), buffer(), xs, runparams, current_par);
+	xs.endDivision();
 
 	if (!getLayout().docbookwrappertag().empty()) {
 		if (!xs.isLastTagCR())
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index ee829e5..c8ddc1a 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -16,6 +16,7 @@
 #include "BufferParams.h"
 #include "Font.h"
 #include "InsetList.h"
+#include "output_docbook.h"
 #include "Paragraph.h"
 #include "ParagraphList.h"
 #include "ParagraphParameters.h"
@@ -347,13 +348,6 @@ void closeParTag(XMLStream & xs, Paragraph const * par, Paragraph const * nextpa
 }
 
 
-ParagraphList::const_iterator makeAny(Text const &,
-		                              Buffer const &,
-		                              XMLStream &,
-		                              OutputParams const &,
-		                              ParagraphList::const_iterator);
-
-
 void makeBibliography(
 		Text const & text,
 		Buffer const & buf,
@@ -714,35 +708,6 @@ void makeCommand(
 }
 
 
-ParagraphList::const_iterator makeAny(Text const &text,
-		                              Buffer const &buf,
-		                              XMLStream &xs,
-		                              OutputParams const &runparams,
-		                              ParagraphList::const_iterator par)
-{
-	switch (par->layout().latextype) {
-	case LATEX_COMMAND:
-		makeCommand(text, buf, xs, runparams, par);
-		break;
-	case LATEX_ENVIRONMENT:
-		makeEnvironment(text, buf, xs, runparams, par);
-		break;
-	case LATEX_LIST_ENVIRONMENT:
-	case LATEX_ITEM_ENVIRONMENT:
-		// Only case when makeAny() might consume more than one paragraph.
-		return makeListEnvironment(text, buf, xs, runparams, par);
-	case LATEX_PARAGRAPH:
-		makeParagraph(text, buf, xs, runparams, par);
-		break;
-	case LATEX_BIB_ENVIRONMENT:
-		makeBibliography(text, buf, xs, runparams, par);
-		break;
-	}
-	++par;
-	return par;
-}
-
-
 bool isLayoutSectioning(Layout const & lay)
 {
 	return lay.category() == from_utf8("Sectioning");
@@ -862,6 +827,35 @@ DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs,
 } // end anonymous namespace
 
 
+ParagraphList::const_iterator makeAny(Text const &text,
+                                      Buffer const &buf,
+                                      XMLStream &xs,
+                                      OutputParams const &runparams,
+                                      ParagraphList::const_iterator par)
+{
+	switch (par->layout().latextype) {
+	case LATEX_COMMAND:
+		makeCommand(text, buf, xs, runparams, par);
+		break;
+	case LATEX_ENVIRONMENT:
+		makeEnvironment(text, buf, xs, runparams, par);
+		break;
+	case LATEX_LIST_ENVIRONMENT:
+	case LATEX_ITEM_ENVIRONMENT:
+		// Only case when makeAny() might consume more than one paragraph.
+		return makeListEnvironment(text, buf, xs, runparams, par);
+	case LATEX_PARAGRAPH:
+		makeParagraph(text, buf, xs, runparams, par);
+		break;
+	case LATEX_BIB_ENVIRONMENT:
+		makeBibliography(text, buf, xs, runparams, par);
+		break;
+	}
+	++par;
+	return par;
+}
+
+
 xml::FontTag docbookStartFontTag(xml::FontTypes type)
 {
 	return xml::FontTag(from_utf8(fontToDocBookTag(type)), from_utf8(fontToAttribute(type)), type);
diff --git a/src/output_docbook.h b/src/output_docbook.h
index 4dcc853..401018d 100644
--- a/src/output_docbook.h
+++ b/src/output_docbook.h
@@ -16,6 +16,7 @@
 #define OUTPUT_DOCBOOK_H
 
 #include "LayoutEnums.h"
+#include "ParagraphList.h"
 
 #include "support/docstream.h"
 #include "support/strfwd.h"
@@ -27,18 +28,23 @@ class Buffer;
 class OutputParams;
 class Text;
 
-///
-std::string const fontToDocBookTag(xml::FontTypes type);
-///
+/// generates an xml::StartTag for the given style
 xml::FontTag docbookStartFontTag(xml::FontTypes type);
-///
+/// generates an xml::EndTag for the given style
 xml::EndFontTag docbookEndFontTag(xml::FontTypes type);
 
-///
-void docbookParagraphs(Text const & text,
-		               Buffer const & buf,
-                       XMLStream & os,
-		               OutputParams const & runparams);
+/// output a series of paragraphs into the XMLStream
+void docbookParagraphs(Text const &,
+		               Buffer const &,
+                       XMLStream &,
+		               OutputParams const &);
+
+/// output a single paragraph into the XMLStream
+ParagraphList::const_iterator makeAny(Text const &,
+                                      Buffer const &,
+                                      XMLStream &,
+                                      OutputParams const &,
+                                      ParagraphList::const_iterator);
 
 } // namespace lyx
 

commit 3711a38b9c2c1d777ead142460f69284efa82597
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Sep 12 01:43:57 2020 +0200

    DocBook: fix a crash in bibliography paragraphs.

diff --git a/autotests/export/docbook/SciPoster.lyx b/autotests/export/docbook/SciPoster.lyx
new file mode 100644
index 0000000..1bd3b51
--- /dev/null
+++ b/autotests/export/docbook/SciPoster.lyx
@@ -0,0 +1,867 @@
+#LyX 2.3 created this file. For more info see http://www.lyx.org/
+\lyxformat 544
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin /systemlyxdir/templates/Posters/
+\textclass sciposter
+\begin_preamble
+%% Comment this out and adapt if you want a poster background
+%\usepackage{wallpaper}
+%\CenterWallPaper{1.1}{poster-background}
+
+% Set all margins to 1cm
+\setmargins[1cm]
+
+% Set up column layout
+\setlength\columnseprule{0pt}
+\setlength\columnsep{4.5pc}
+
+% Color settings:
+\usepackage{sectionbox}
+% a.) background color
+%\definecolor{mainCol}{RGB}{255,237,208}
+% b.) text color (mainly subsection headers)
+\definecolor{TextCol}{RGB}{128,0,0}
+% c.) section header color
+\definecolor{SectionCol}{RGB}{0,0,255}
+% d.) color of section boxes
+\definecolor{sectboxfillcol}{RGB}{255,220,168}
+\definecolor{subsectboxfillcol}{RGB}{255,245,198}
+
+% Large section titles
+\renewcommand{\sectionsize}{\Large}
+\end_preamble
+\options landscape,a0,largefonts,plainsections
+\use_default_options false
+\begin_modules
+multicol
+sectionbox
+\end_modules
+\maintain_unincluded_children false
+\language english
+\language_package default
+\inputencoding utf8
+\fontencoding global
+\font_roman "default" "default"
+\font_sans "default" "default"
+\font_typewriter "default" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures false
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize default
+\spacing single
+\use_hyperref false
+\papersize default
+\use_geometry false
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine natbib
+\cite_engine_type numerical
+\biblio_style plainnat
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 0
+\use_minted 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 0
+\tocdepth -1
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style english
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tracking_changes false
+\output_changes false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\end_header
+
+\begin_body
+
+\begin_layout Title
+Poster Title
+\end_layout
+
+\begin_layout Author
+Author One and Author Two
+\end_layout
+
+\begin_layout Institute
+The University, Some address, Postal Code
+\end_layout
+
+\begin_layout E-Mail
+author1 at somewhere and author2 at elsewhere
+\end_layout
+
+\begin_layout Conference
+The Conference
+\begin_inset Note Note
+status open
+
+\begin_layout Plain Layout
+appears in footer
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Section*
+Some advices
+\end_layout
+
+\begin_layout Subsubsection*
+Appearance
+\end_layout
+
+\begin_layout Itemize
+See 
+\family sans
+Document\SpecialChar menuseparator
+Settings\SpecialChar menuseparator
+\SpecialChar LaTeX
+ Preamble
+\family default
+ for some possibilities to adjust the appearance of your poster.
+ Also check 
+\family sans
+Document\SpecialChar menuseparator
+Settings\SpecialChar menuseparator
+Document Class\SpecialChar menuseparator
+Class Options
+\family default
+ for some general settings.
+ Please refer to the 
+\family sans
+sciposter
+\family default
+ manual for possible values.
+\end_layout
+
+\begin_layout Subsubsection*
+Logo
+\end_layout
+
+\begin_layout Itemize
+You can use the 
+\family sans
+LeftLogo
+\family default
+ and 
+\family sans
+RightLogo
+\family default
+ style to insert graphic logos in the header of your poster.
+ The logos need to be given as file names (with our without extension) and
+ with full path, if the files are not in the TEXMF directory.
+\end_layout
+
+\begin_layout Itemize
+Note that the logos only appear if you do not specify a 
+\begin_inset Quotes eld
+\end_inset
+
+Conference
+\begin_inset Quotes erd
+\end_inset
+
+ (i.
+\begin_inset space \thinspace{}
+\end_inset
+
+e., no foot line).
+\end_layout
+
+\begin_layout Subsubsection*
+Columns and Boxes
+\end_layout
+
+\begin_layout Itemize
+The 
+\family sans
+Columns
+\family default
+ and 
+\family sans
+(Section) Box
+\family default
+ insets can be found at 
+\family sans
+Insert\SpecialChar menuseparator
+Custom Insets.
+\end_layout
+
+\begin_layout Itemize
+Instead of the Section Boxes, you can also use the differently looking Color
+ Boxes via the 
+\begin_inset Quotes eld
+\end_inset
+
+Color Boxes
+\begin_inset Quotes erd
+\end_inset
+
+ module.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Flex Multiple Columns
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 1
+status open
+
+\begin_layout Plain Layout
+
+3
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Flex SectionBox
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 2
+status collapsed
+
+\begin_layout Plain Layout
+Abstract
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+\size small
+\emph on
+This is my special abstract This is my special abstract This is my special
+ abstract This is my special abstract This is my special abstract This is
+ my special abstract This is my special abstract This is my special abstract
+ This is my special abstract This is my special abstract.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Flex SectionBox
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 2
+status collapsed
+
+\begin_layout Plain Layout
+Background
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+This is the background and our hypothesis.
+ This is the background and our hypothesis.
+ This is the background and our hypothesis.
+ This is the background and our hypothesis.
+ This is the background and our hypothesis.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+\size small
+\begin_inset Flex SectionBox
+status open
+
+\begin_layout Bibliography
+\begin_inset CommandInset bibitem
+LatexCommand bibitem
+label "One/Two(2010)"
+key "key-1"
+literal "true"
+
+\end_inset
+
+Author One & Author Two (2010): Our Great Book.
+ Somewhere.
+\end_layout
+
+\begin_layout Bibliography
+\begin_inset CommandInset bibitem
+LatexCommand bibitem
+label "Two/One(2011)"
+key "key-2"
+literal "true"
+
+\end_inset
+
+Author Two & Author One (2011): Our Even Greater Book.
+ Somewhere.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+columnbreak
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Flex SectionBox
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 2
+status collapsed
+
+\begin_layout Plain Layout
+Findings
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Flex SubsectionBox
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 2
+status collapsed
+
+\begin_layout Plain Layout
+Some evidence
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+point one
+\end_layout
+
+\begin_layout Itemize
+point two
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Flex SubsectionBox
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 2
+status collapsed
+
+\begin_layout Plain Layout
+More evidence
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+point three
+\end_layout
+
+\begin_layout Itemize
+point four
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Flex SubsectionBox
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 2
+status collapsed
+
+\begin_layout Plain Layout
+Other issues
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+Really have to fill in this
+\end_layout
+
+\begin_layout Itemize
+Really have to fill in this
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+columnbreak
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Flex SectionBox
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 2
+status collapsed
+
+\begin_layout Plain Layout
+Experiment
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+This is the experiment.
+ This is the experiment.
+ This is the experiment.
+ This is the experiment.
+ This is the experiment.
+ This is the experiment.
+ This is the experiment.
+ This is the experiment.
+ This is the experiment.
+ This is the experiment.
+ 
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Flex SectionBox
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 2
+status collapsed
+
+\begin_layout Plain Layout
+Results
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+result
+\end_layout
+
+\begin_layout Itemize
+result
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Flex SectionBox
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 2
+status collapsed
+
+\begin_layout Plain Layout
+Conclusions
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Enumerate
+first conclusion
+\end_layout
+
+\begin_layout Enumerate
+second conclusion
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Flex SectionBox
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 2
+status collapsed
+
+\begin_layout Plain Layout
+Available font size (and corresponding 
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+LaTeX
+\backslash
+
+\end_layout
+
+\end_inset
+
+ commands)
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\paragraph_spacing single
+\begin_inset Note Note
+status open
+
+\begin_layout Plain Layout
+The extra sizes (
+\begin_inset Quotes eld
+\end_inset
+
+Giant
+\begin_inset Quotes erd
+\end_inset
+
+ etc.) are available at 
+\family sans
+Insert\SpecialChar menuseparator
+Custom Insets
+\family default
+.
+ For small inline snippets, there are variants at 
+\family sans
+Edit\SpecialChar menuseparator
+Text Style.
+\end_layout
+
+\begin_layout Plain Layout
+Note that for some paper sizes and font settings, 
+\begin_inset Quotes eld
+\end_inset
+
+More Giant
+\begin_inset Quotes erd
+\end_inset
+
+ and 
+\begin_inset Quotes eld
+\end_inset
+
+Most Giant
+\begin_inset Quotes erd
+\end_inset
+
+ are equal.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+\size tiny
+Tiny (
+\family typewriter
+
+\backslash
+tiny
+\family default
+)
+\end_layout
+
+\begin_layout Plain Layout
+
+\size scriptsize
+Smallest (
+\family typewriter
+
+\backslash
+scriptsize
+\family default
+)
+\end_layout
+
+\begin_layout Plain Layout
+
+\size footnotesize
+Smaller (
+\family typewriter
+
+\backslash
+footnotesize
+\family default
+)
+\end_layout
+
+\begin_layout Plain Layout
+
+\size normal
+Normal (
+\family typewriter
+\size default
+
+\backslash
+normalsize
+\family default
+\size normal
+)
+\end_layout
+
+\begin_layout Plain Layout
+
+\size large
+Large (
+\family typewriter
+
+\backslash
+large
+\family default
+)
+\end_layout
+
+\begin_layout Plain Layout
+
+\size larger
+Larger (
+\family typewriter
+
+\backslash
+Large
+\family default
+)
+\end_layout
+
+\begin_layout Plain Layout
+
+\size largest
+Largest (
+\family typewriter
+
+\backslash
+LARGE
+\family default
+)
+\end_layout
+
+\begin_layout Plain Layout
+
+\size huge
+Huge (
+\family typewriter
+
+\backslash
+huge
+\family default
+)
+\end_layout
+
+\begin_layout Plain Layout
+
+\size giant
+Huger (
+\family typewriter
+
+\backslash
+Huge
+\family default
+)
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Flex Giant
+status open
+
+\begin_layout Plain Layout
+Giant (
+\family typewriter
+
+\backslash
+veryHuge
+\family default
+)
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Flex More Giant
+status open
+
+\begin_layout Plain Layout
+More Giant (
+\family typewriter
+
+\backslash
+VeryHuge
+\family default
+)
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Flex Most Giant
+status open
+
+\begin_layout Plain Layout
+Most Giant (
+\family typewriter
+
+\backslash
+VERYHuge
+\family default
+)
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
diff --git a/autotests/export/docbook/SciPoster.xml b/autotests/export/docbook/SciPoster.xml
new file mode 100644
index 0000000..abd919b
--- /dev/null
+++ b/autotests/export/docbook/SciPoster.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This DocBook file was created by LyX 2.4.0dev
+  See http://www.lyx.org/ for more information -->
+<article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
+<info>
+<title>Poster Title</title>
+<author>
+<personname>Author One and Author Two</personname>
+</author><author>
+<personname>The University, Some address, Postal Code</personname>
+</author><author>
+<personname>author1 at somewhere and author2 at elsewhere</personname>
+</author><author>
+<personname>The Conference</personname>
+</author>
+</info>
+<para>This is my special abstract This is my special abstract This is my special abstract This is my special abstract This is my special abstract This is my special abstract This is my special abstract This is my special abstract This is my special abstract This is my special abstract.This is the background and our hypothesis. This is the background and our hypothesis. This is the background and our hypothesis. This is the background and our hypothesis. This is the background and our hypothesis.<bibliography>
+<bibliomixed xml:id='key-1'>Author One & Author Two (2010): Our Great Book. Somewhere.</bibliomixed>
+<bibliomixed xml:id='key-2'>Author Two & Author One (2011): Our Even Greater Book. Somewhere.</bibliomixed>
+</bibliography>
+<!-- \columnbreak -->
+<itemizedlist>
+<listitem>
+<para>point one</para>
+</listitem>
+<listitem>
+<para>point two</para>
+</listitem>
+</itemizedlist>
+<itemizedlist>
+<listitem>
+<para>point three</para>
+</listitem>
+<listitem>
+<para>point four</para>
+</listitem>
+</itemizedlist>
+<itemizedlist>
+<listitem>
+<para>Really have to fill in this</para>
+</listitem>
+<listitem>
+<para>Really have to fill in this</para>
+</listitem>
+</itemizedlist>
+<!-- \columnbreak -->
+This is the experiment. This is the experiment. This is the experiment. This is the experiment. This is the experiment. This is the experiment. This is the experiment. This is the experiment. This is the experiment. This is the experiment. <itemizedlist>
+<listitem>
+<para>result</para>
+</listitem>
+<listitem>
+<para>result</para>
+</listitem>
+</itemizedlist>
+<orderedlist>
+<listitem>
+<para>first conclusion</para>
+</listitem>
+<listitem>
+<para>second conclusion</para>
+</listitem>
+</orderedlist>
+</para>
+<para>Tiny (\tiny)Smallest (\scriptsize)Smaller (\footnotesize)Normal (\normalsize)Large (\large)Larger (\Large)Largest (\LARGE)Huge (\huge)Huger (\Huge)Giant (\veryHuge)More Giant (\VeryHuge)Most Giant (\VERYHuge)</para>
+</article>
\ No newline at end of file
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 1e804ee..ee829e5 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -362,8 +362,8 @@ void makeBibliography(
 		ParagraphList::const_iterator const & par)
 {
 	// If this is the first paragraph in a bibliography, open the bibliography tag.
-	auto pbegin_before = text.paragraphs().getParagraphBefore(par);
-	if (pbegin_before->layout().latextype != LATEX_BIB_ENVIRONMENT) {
+	auto const * pbegin_before = text.paragraphs().getParagraphBefore(par);
+	if (pbegin_before == nullptr || (pbegin_before && pbegin_before->layout().latextype != LATEX_BIB_ENVIRONMENT)) {
 		xs << xml::StartTag("bibliography");
 		xs << xml::CR();
 	}

commit dd8660c07e2864d7abfd8708504d06b032c3ed48
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Sep 12 01:04:43 2020 +0200

    layout2layout: use name instead of pseudonym.

diff --git a/lib/scripts/layout2layout.py b/lib/scripts/layout2layout.py
index 7cf2332..74119bb 100644
--- a/lib/scripts/layout2layout.py
+++ b/lib/scripts/layout2layout.py
@@ -271,7 +271,7 @@ currentFormat = 84
 # Incremented to format 81, 12 August 2019 by rikiheck
 # New tag GuiName for counters
 
-# Incremented to format 82, 4 June 2017 by dourouc05
+# Incremented to format 82, 4 June 2017 by tcuvelier
 # - Add new tags for Layout:
 #   DocBookTag, DocBookAttr, DocBookInInfo,
 #   DocBookWrapperTag, DocBookWrapperAttr,
@@ -281,7 +281,7 @@ currentFormat = 84
 # - Removed tag Header from ClassOptionsClassOptions
 # - Removed tag Element for flex insets
 
-# Incremented to format 83, 2 August 2020 by dourouc05
+# Incremented to format 83, 2 August 2020 by tcuvelier
 # New tags DocBookWrapperMergeWithPrevious and DocBookAbstract
 
 # Incremented to format 84, 17 August 2020 by tcuvelier

commit 1b818c448d3a4e7f6fd4ea2685d775761de95767
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Sep 12 00:39:23 2020 +0200

    DocBook: work for more subfigure cases.
    
    EmbeddedObjects hid quite a few gems :).

diff --git a/autotests/export/docbook/subfigures_EmbeddedObjects.lyx b/autotests/export/docbook/subfigures_EmbeddedObjects.lyx
new file mode 100644
index 0000000..0154d21
--- /dev/null
+++ b/autotests/export/docbook/subfigures_EmbeddedObjects.lyx
@@ -0,0 +1,444 @@
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 598
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass scrbook
+\begin_preamble
+% that links to image floats jumps
+% to the beginning of the float and 
+% not to its caption
+\usepackage[figure]{hypcap}
+
+% the pages of the TOC are numbered roman
+% and a PDF-bookmark for the TOC is added
+\let\myTOC\tableofcontents
+\renewcommand\tableofcontents{%
+  \frontmatter
+  \pdfbookmark[1]{\contentsname}{}
+  \myTOC
+  \mainmatter }
+
+% provides caption formatting
+\usepackage[labelfont={bf,sf}]{caption}[2004/07/16]
+
+% provides commands to set caption
+% beside tables/images
+\newcommand{\TabBesBeg}[1][1.0]{%
+ \let\MyTable\table
+ \let\MyEndtable\endtable
+ \renewenvironment{table}[1]{\begin{SCtable}[#1]##1}{\end{SCtable}}}
+
+\newcommand{\TabBesEnd}{%
+ \let\table\MyTable
+ \let\endtable\MyEndtable}
+
+\newcommand{\FigBesBeg}[1][1.0]{%
+ \let\MyFigure\figure
+ \let\MyEndfigure\endfigure
+ \renewenvironment{figure}[1]{\begin{SCfigure}[#1]##1}{\end{SCfigure}}}
+
+\newcommand{\FigBesEnd}{%
+ \let\figure\MyFigure
+ \let\endfigure\MyEndfigure}
+
+% enables calculation of values,
+\usepackage{calc}
+
+% increase the bottom float placement fraction
+\renewcommand{\bottomfraction}{0.5}
+
+% avoids that floats are placed before their
+% corresponding section starts
+\let\mySection\section\renewcommand{\section}{\suppressfloats[t]\mySection}
+
+% speed up the longtable calculation
+\setcounter{LTchunksize}{100}
+
+% used for colored tables
+\@ifundefined{textcolor}
+ {\usepackage{color}}{}
+\definecolor{darkgreen}{cmyk}{0.5, 0, 1, 0.5}
+\definecolor{lightgrey}{gray}{0.8}
+
+% check for package colortbl
+% used for colored table cells
+\newboolean{colortbl}
+\IfFileExists{colortbl.sty}
+ {\usepackage{colortbl}
+  \setboolean{colortbl}{true}}
+ {\setboolean{colortbl}{false}}
+
+% used to have extra space in table cells
+\@ifundefined{extrarowheight}
+ {\usepackage{array}}{}
+\setlength{\extrarowheight}{2pt}
+
+% used for customized tables
+% ---
+\newcolumntype{M}[1]
+ {>{\centering\hspace{0pt}}m{#1}}
+
+\newcolumntype{S}[2]
+ {>{\centering\hspace{0pt}}m{(#1+(2\tabcolsep+\arrayrulewidth)*(1-#2))/#2}}
+
+\newcolumntype{K}[1]
+ {>{\columncolor{#1}\hspace{0pt}}c}
+
+\newcolumntype{V}{!{\vrule width 1.5pt}}
+
+\newcolumntype{W}{!{\color{green}\vline}}
+% ---
+
+% insert additional vertical space of
+% 1.5 mm between footnotes
+\let\myFoot\footnote
+\renewcommand{\footnote}[1]{\myFoot{#1\vspace{1.5mm}}}
+
+% number algorithm floats within chapters
+\numberwithin{algorithm}{chapter}
+
+% ------------------------------------
+% used to check for needed LaTeX packages
+\usepackage{ifthen}
+
+% check for package arydshln
+% used for tables with dashed lines
+\newboolean{arydshln}
+\IfFileExists{arydshln.sty}
+ {\usepackage{arydshln}
+  \setboolean{arydshln}{true}}
+ {\setboolean{arydshln}{false}}
+
+% check for package marginnote
+% used for margin notes
+\newboolean{marginnote}
+\IfFileExists{marginnote.sty}
+ {\usepackage{marginnote}
+  \let\marginpar\marginnote
+  \setboolean{marginnote}{true}}
+ {\setboolean{marginnote}{false}}
+
+% check for package sidecap
+% used for captions on the side
+\newboolean{sidecap}
+\IfFileExists{sidecap.sty}
+ {\usepackage{sidecap}
+  \setboolean{sidecap}{true}}
+ {\setboolean{sidecap}{false}}
+
+% check for picinpar
+% used for surrounded fixed objects
+\newboolean{picinpar}
+\IfFileExists{picinpar.sty}
+ {\usepackage{picinpar}
+  \setboolean{picinpar}{true}}
+ {\setboolean{picinpar}{false}}
+
+% check for lettrine
+\newboolean{lettrine}
+\IfFileExists{lettrine.sty}
+ {\usepackage{lettrine}
+  \setboolean{lettrine}{true}}
+ {\setboolean{lettrine}{false}}
+
+% check for diagbox
+\newboolean{diagbox}
+\IfFileExists{diagbox.sty}
+ {\usepackage{diagbox}
+  \setboolean{diagbox}{true}}
+ {\setboolean{diagbox}{false}}
+% Added by lyx2lyx
+\setlength{\parskip}{\medskipamount}
+\setlength{\parindent}{0pt}
+\end_preamble
+\options bibliography=totoc,index=totoc,BCOR7.5mm,titlepage,captions=tableheading,dvipsnames,table
+\use_default_options false
+\begin_modules
+initials
+graphicboxes
+varwidth
+\end_modules
+\maintain_unincluded_children no
+\language english
+\language_package default
+\inputencoding utf8
+\fontencoding auto
+\font_roman "lmodern" "default"
+\font_sans "lmss" "default"
+\font_typewriter "lmtt" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_roman_osf false
+\font_sans_osf false
+\font_typewriter_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures true
+\graphics default
+\default_output_format pdf2
+\output_sync 0
+\bibtex_command default
+\index_command makeindex
+\paperfontsize 12
+\spacing single
+\use_hyperref true
+\pdf_title "LyX's Figure, Table, Floats, Notes, and Boxes manual"
+\pdf_author "LyX Team, Uwe Stöhr"
+\pdf_subject "LyX-documentation about figures, tables, floats, notes, and boxes"
+\pdf_keywords "LyX, Tables, Figures, Floats, Boxes, Notes"
+\pdf_bookmarks true
+\pdf_bookmarksnumbered true
+\pdf_bookmarksopen true
+\pdf_bookmarksopenlevel 1
+\pdf_breaklinks false
+\pdf_pdfborder false
+\pdf_colorlinks true
+\pdf_backref false
+\pdf_pdfusetitle false
+\pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue, pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false"
+\papersize default
+\use_geometry false
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine basic
+\cite_engine_type default
+\biblio_style plain
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 0
+\use_minted 0
+\use_lineno 0
+\notefontcolor #0000ff
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style english
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 2
+\paperpagestyle default
+\tablestyle default
+\tracking_changes false
+\output_changes false
+\change_bars false
+\postpone_fragile_content false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\docbook_table_output 0
+\end_header
+
+\begin_body
+
+\begin_layout Title
+\SpecialChar LyX
+'s detailed Figure, Table, Floats, Notes, Boxes and External Material manual
+\end_layout
+
+\begin_layout Chapter
+Figures
+\end_layout
+
+\begin_layout Section
+Figure Floats
+\end_layout
+
+\begin_layout Standard
+Normally only one image is inserted to a figure float, but sometimes you
+ might want to use two images with separate subcaptions.
+ This can be done by inserting image floats into existing image floats.
+ Note that only the main caption of the float is added to the List of Figures.
+ Figure
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Two-distorted-images"
+
+\end_inset
+
+ is an example of a figure float with two images set side by side.
+ You can also set the images one below the other.
+ Figure
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Pink-object"
+
+\end_inset
+
+ and 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:A-star"
+
+\end_inset
+
+ are the subfigures.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement document
+alignment document
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\begin_inset space \hfill{}
+\end_inset
+
+
+\begin_inset Float figure
+placement document
+alignment document
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Pink-object"
+
+\end_inset
+
+Pink object.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Graphics
+	filename ../../../lib/doc/clipart/3D-structure-distort.pdf
+	width 45col%
+	scaleBeforeRotation
+	groupId distorted
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+\end_inset
+
+
+\begin_inset Float figure
+placement document
+alignment document
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:A-star"
+
+\end_inset
+
+A star.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Graphics
+	filename ../../../lib/doc/clipart/Star-structure.pdf
+	width 45col%
+	scaleBeforeRotation
+	groupId distorted
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Two-distorted-images"
+
+\end_inset
+
+Two distorted images.
+ Both images are in the image settings group named 
+\begin_inset Quotes eld
+\end_inset
+
+distorted
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
diff --git a/autotests/export/docbook/subfigures_EmbeddedObjects.xml b/autotests/export/docbook/subfigures_EmbeddedObjects.xml
new file mode 100644
index 0000000..08fda04
--- /dev/null
+++ b/autotests/export/docbook/subfigures_EmbeddedObjects.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This DocBook file was created by LyX 2.4.0dev
+  See http://www.lyx.org/ for more information -->
+<book xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
+<title>LyX's detailed Figure, Table, Floats, Notes, Boxes and External Material manual</title>
+<chapter>
+<title>Figures</title>
+<section>
+<title>Figure Floats</title>
+<para>Normally only one image is inserted to a figure float, but sometimes you might want to use two images with separate subcaptions. This can be done by inserting image floats into existing image floats. Note that only the main caption of the float is added to the List of Figures. Figure&#xA0;<xref linkend="fig.Two-distorted-images" /> is an example of a figure float with two images set side by side. You can also set the images one below the other. Figure&#xA0;<xref linkend="fig.Pink-object" /> and <xref linkend="fig.A-star" /> are the subfigures.</para>
+<formalgroup xml:id="fig.Two-distorted-images">
+<title>Two distorted images. Both images are in the image settings group named “distorted”.</title>
+<figure xml:id="fig.Pink-object">
+<title>Pink object.</title>
+<mediaobject>
+<imageobject>
+<imagedata fileref="D:/LyX/lyx-unstable/lib/doc/clipart/3D-structure-distort.pdf"  width="45%"  />
+</imageobject>
+</mediaobject>
+</figure>
+<figure xml:id="fig.A-star">
+<title>A star.</title>
+<mediaobject>
+<imageobject>
+<imagedata fileref="D:/LyX/lyx-unstable/lib/doc/clipart/Star-structure.pdf"  width="45%"  />
+</imageobject>
+</mediaobject>
+</figure>
+</formalgroup>
+</section>
+</chapter>
+</book>
\ No newline at end of file
diff --git a/autotests/export/docbook/subfigures_boxes_EmbeddedObjects.lyx b/autotests/export/docbook/subfigures_boxes_EmbeddedObjects.lyx
new file mode 100644
index 0000000..da41aa3
--- /dev/null
+++ b/autotests/export/docbook/subfigures_boxes_EmbeddedObjects.lyx
@@ -0,0 +1,420 @@
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 598
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass scrbook
+\begin_preamble
+% that links to image floats jumps
+% to the beginning of the float and 
+% not to its caption
+\usepackage[figure]{hypcap}
+
+% the pages of the TOC are numbered roman
+% and a PDF-bookmark for the TOC is added
+\let\myTOC\tableofcontents
+\renewcommand\tableofcontents{%
+  \frontmatter
+  \pdfbookmark[1]{\contentsname}{}
+  \myTOC
+  \mainmatter }
+
+% provides caption formatting
+\usepackage[labelfont={bf,sf}]{caption}[2004/07/16]
+
+% provides commands to set caption
+% beside tables/images
+\newcommand{\TabBesBeg}[1][1.0]{%
+ \let\MyTable\table
+ \let\MyEndtable\endtable
+ \renewenvironment{table}[1]{\begin{SCtable}[#1]##1}{\end{SCtable}}}
+
+\newcommand{\TabBesEnd}{%
+ \let\table\MyTable
+ \let\endtable\MyEndtable}
+
+\newcommand{\FigBesBeg}[1][1.0]{%
+ \let\MyFigure\figure
+ \let\MyEndfigure\endfigure
+ \renewenvironment{figure}[1]{\begin{SCfigure}[#1]##1}{\end{SCfigure}}}
+
+\newcommand{\FigBesEnd}{%
+ \let\figure\MyFigure
+ \let\endfigure\MyEndfigure}
+
+% enables calculation of values,
+\usepackage{calc}
+
+% increase the bottom float placement fraction
+\renewcommand{\bottomfraction}{0.5}
+
+% avoids that floats are placed before their
+% corresponding section starts
+\let\mySection\section\renewcommand{\section}{\suppressfloats[t]\mySection}
+
+% speed up the longtable calculation
+\setcounter{LTchunksize}{100}
+
+% used for colored tables
+\@ifundefined{textcolor}
+ {\usepackage{color}}{}
+\definecolor{darkgreen}{cmyk}{0.5, 0, 1, 0.5}
+\definecolor{lightgrey}{gray}{0.8}
+
+% check for package colortbl
+% used for colored table cells
+\newboolean{colortbl}
+\IfFileExists{colortbl.sty}
+ {\usepackage{colortbl}
+  \setboolean{colortbl}{true}}
+ {\setboolean{colortbl}{false}}
+
+% used to have extra space in table cells
+\@ifundefined{extrarowheight}
+ {\usepackage{array}}{}
+\setlength{\extrarowheight}{2pt}
+
+% used for customized tables
+% ---
+\newcolumntype{M}[1]
+ {>{\centering\hspace{0pt}}m{#1}}
+
+\newcolumntype{S}[2]
+ {>{\centering\hspace{0pt}}m{(#1+(2\tabcolsep+\arrayrulewidth)*(1-#2))/#2}}
+
+\newcolumntype{K}[1]
+ {>{\columncolor{#1}\hspace{0pt}}c}
+
+\newcolumntype{V}{!{\vrule width 1.5pt}}
+
+\newcolumntype{W}{!{\color{green}\vline}}
+% ---
+
+% insert additional vertical space of
+% 1.5 mm between footnotes
+\let\myFoot\footnote
+\renewcommand{\footnote}[1]{\myFoot{#1\vspace{1.5mm}}}
+
+% number algorithm floats within chapters
+\numberwithin{algorithm}{chapter}
+
+% ------------------------------------
+% used to check for needed LaTeX packages
+\usepackage{ifthen}
+
+% check for package arydshln
+% used for tables with dashed lines
+\newboolean{arydshln}
+\IfFileExists{arydshln.sty}
+ {\usepackage{arydshln}
+  \setboolean{arydshln}{true}}
+ {\setboolean{arydshln}{false}}
+
+% check for package marginnote
+% used for margin notes
+\newboolean{marginnote}
+\IfFileExists{marginnote.sty}
+ {\usepackage{marginnote}
+  \let\marginpar\marginnote
+  \setboolean{marginnote}{true}}
+ {\setboolean{marginnote}{false}}
+
+% check for package sidecap
+% used for captions on the side
+\newboolean{sidecap}
+\IfFileExists{sidecap.sty}
+ {\usepackage{sidecap}
+  \setboolean{sidecap}{true}}
+ {\setboolean{sidecap}{false}}
+
+% check for picinpar
+% used for surrounded fixed objects
+\newboolean{picinpar}
+\IfFileExists{picinpar.sty}
+ {\usepackage{picinpar}
+  \setboolean{picinpar}{true}}
+ {\setboolean{picinpar}{false}}
+
+% check for lettrine
+\newboolean{lettrine}
+\IfFileExists{lettrine.sty}
+ {\usepackage{lettrine}
+  \setboolean{lettrine}{true}}
+ {\setboolean{lettrine}{false}}
+
+% check for diagbox
+\newboolean{diagbox}
+\IfFileExists{diagbox.sty}
+ {\usepackage{diagbox}
+  \setboolean{diagbox}{true}}
+ {\setboolean{diagbox}{false}}
+% Added by lyx2lyx
+\setlength{\parskip}{\medskipamount}
+\setlength{\parindent}{0pt}
+\end_preamble
+\options bibliography=totoc,index=totoc,BCOR7.5mm,titlepage,captions=tableheading,dvipsnames,table
+\use_default_options false
+\begin_modules
+initials
+graphicboxes
+varwidth
+\end_modules
+\maintain_unincluded_children no
+\language english
+\language_package default
+\inputencoding utf8
+\fontencoding auto
+\font_roman "lmodern" "default"
+\font_sans "lmss" "default"
+\font_typewriter "lmtt" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_roman_osf false
+\font_sans_osf false
+\font_typewriter_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures true
+\graphics default
+\default_output_format pdf2
+\output_sync 0
+\bibtex_command default
+\index_command makeindex
+\paperfontsize 12
+\spacing single
+\use_hyperref true
+\pdf_title "LyX's Figure, Table, Floats, Notes, and Boxes manual"
+\pdf_author "LyX Team, Uwe Stöhr"
+\pdf_subject "LyX-documentation about figures, tables, floats, notes, and boxes"
+\pdf_keywords "LyX, Tables, Figures, Floats, Boxes, Notes"
+\pdf_bookmarks true
+\pdf_bookmarksnumbered true
+\pdf_bookmarksopen true
+\pdf_bookmarksopenlevel 1
+\pdf_breaklinks false
+\pdf_pdfborder false
+\pdf_colorlinks true
+\pdf_backref false
+\pdf_pdfusetitle false
+\pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue, pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false"
+\papersize default
+\use_geometry false
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine basic
+\cite_engine_type default
+\biblio_style plain
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 0
+\use_minted 0
+\use_lineno 0
+\notefontcolor #0000ff
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style english
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 2
+\paperpagestyle default
+\tablestyle default
+\tracking_changes false
+\output_changes false
+\change_bars false
+\postpone_fragile_content false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\docbook_table_output 0
+\end_header
+
+\begin_body
+
+\begin_layout Title
+\SpecialChar LyX
+'s detailed Figure, Table, Floats, Notes, Boxes and External Material manual
+\end_layout
+
+\begin_layout Chapter
+Floats
+\end_layout
+
+\begin_layout Section
+Floats Side by Side
+\end_layout
+
+\begin_layout Standard
+To place floats side by side, as in Figures
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Float-left"
+
+\end_inset
+
+ and 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fig:Float-right"
+
+\end_inset
+
+, only 
+\emph on
+one
+\emph default
+ float is used.
+ In it two minipage boxes are inserted.
+ 
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement document
+alignment document
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\begin_inset Box Frameless
+position "b"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+thickness "0.4pt"
+separation "3pt"
+shadowsize "4pt"
+framecolor "black"
+backgroundcolor "none"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+	filename ../../../lib/doc/clipart/2D-intensity-plot.pdf
+	width 100col%
+	scaleBeforeRotation
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Float-left"
+
+\end_inset
+
+Float on the left side.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+\end_inset
+
+
+\begin_inset Box Frameless
+position "b"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+thickness "0.4pt"
+separation "3pt"
+shadowsize "4pt"
+framecolor "black"
+backgroundcolor "none"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+	filename ../../../lib/doc/clipart/Star-structure.pdf
+	width 100col%
+	scaleBeforeRotation
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "fig:Float-right"
+
+\end_inset
+
+Float on the right side.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
diff --git a/autotests/export/docbook/subfigures_boxes_EmbeddedObjects.xml b/autotests/export/docbook/subfigures_boxes_EmbeddedObjects.xml
new file mode 100644
index 0000000..7f010cf
--- /dev/null
+++ b/autotests/export/docbook/subfigures_boxes_EmbeddedObjects.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This DocBook file was created by LyX 2.4.0dev
+  See http://www.lyx.org/ for more information -->
+<book xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
+<title>LyX's detailed Figure, Table, Floats, Notes, Boxes and External Material manual</title>
+<chapter>
+<title>Floats</title>
+<section>
+<title>Floats Side by Side</title>
+<para>To place floats side by side, as in Figures&#xA0;<xref linkend="fig.Float-left" /> and <xref linkend="fig.Float-right" />, only <emphasis>one</emphasis> float is used. In it two minipage boxes are inserted. </para>
+<formalgroup>
+<title>No caption</title>
+<figure xml:id="fig.Float-left">
+<title>Float on the left side.</title>
+<mediaobject>
+<imageobject>
+<imagedata fileref="D:/LyX/lyx-unstable/lib/doc/clipart/2D-intensity-plot.pdf"  width="100%"  />
+</imageobject>
+</mediaobject>
+</figure>
+<figure xml:id="fig.Float-right">
+<title>Float on the right side.</title>
+<mediaobject>
+<imageobject>
+<imagedata fileref="D:/LyX/lyx-unstable/lib/doc/clipart/Star-structure.pdf"  width="100%"  />
+</imageobject>
+</mediaobject>
+</figure>
+</formalgroup>
+</section>
+</chapter>
+</book>
\ No newline at end of file
diff --git a/src/insets/InsetFloat.cpp b/src/insets/InsetFloat.cpp
index eaa24cb..4e7db11 100644
--- a/src/insets/InsetFloat.cpp
+++ b/src/insets/InsetFloat.cpp
@@ -566,6 +566,66 @@ const InsetCaption* findCaptionInParagraph(const Paragraph &par)
 }
 
 
+/// Takes an unstructured subfigure container (typically, an InsetBox) and find the elements within:
+/// actual content (image or table), maybe a caption, maybe a label.
+std::tuple<InsetCode, const Inset *, const InsetCaption *, const InsetLabel *> docbookParseHopelessSubfigure(const InsetText * subfigure)
+{
+	InsetCode type = NO_CODE;
+	const Inset * content = nullptr;
+	const InsetCaption * caption = nullptr;
+	const InsetLabel * label = nullptr;
+
+	for (const auto & it : subfigure->paragraphs()) {
+		for (pos_type posIn = 0; posIn < it.size(); ++posIn) {
+			const Inset * inset = it.getInset(posIn);
+			if (inset) {
+				switch (inset->lyxCode()) {
+					case GRAPHICS_CODE:
+					case TABULAR_CODE:
+						if (!content) {
+							content = inset;
+							type = inset->lyxCode();
+						}
+						break;
+					case CAPTION_CODE:
+						if (!caption) {
+							caption = dynamic_cast<const InsetCaption *>(inset);
+
+							// A label often hides in a caption. Make a simplified version of the main loop.
+							if (!label) {
+								for (const auto &cit : caption->paragraphs()) {
+									for (pos_type cposIn = 0; cposIn < cit.size(); ++cposIn) {
+										const Inset *cinset = cit.getInset(posIn);
+										if (cinset && cinset->lyxCode() == LABEL_CODE) {
+											label = dynamic_cast<const InsetLabel *>(cinset);
+											break;
+										}
+									}
+
+									if (label)
+										break;
+								}
+							}
+						}
+						break;
+					case LABEL_CODE:
+						if (!label)
+							label = dynamic_cast<const InsetLabel *>(inset);
+						break;
+					default:
+						break;
+				}
+			}
+		}
+
+		if (content && caption && label)
+			break;
+	}
+
+	return std::make_tuple(type, content, caption, label);
+}
+
+
 void docbookSubfigures(XMLStream & xs, OutputParams const & runparams, const InsetCaption * caption,
 					   const InsetLabel * label, std::vector<const InsetCollapsible *> & subfigures)
 {
@@ -595,22 +655,27 @@ void docbookSubfigures(XMLStream & xs, OutputParams const & runparams, const Ins
 
 	// Deal with each subfigure individually. This should also deal with their caption and their label.
 	// This should be a recursive call to InsetFloat.
-	// An item in subfigure should either be an InsetBox containing an InsetFloat or directly an InsetFloat.
-	for (const InsetCollapsible *subfigure: subfigures) {
-		// If there is no InsetFloat in the paragraphs, output a warning.
-		bool foundInsetFloat = false;
+	// An item in subfigure should either be an InsetBox containing an InsetFloat, or an InsetBox directly containing
+	// an image or a table, or directly an InsetFloat.
+	for (const InsetCollapsible * subfigure: subfigures) {
+		if (subfigure == nullptr)
+			continue;
 
 		// The collapsible may already be a float (InsetFloat).
-		if (subfigure && dynamic_cast<const InsetFloat *>(subfigure))
-			foundInsetFloat = true;
+		if (dynamic_cast<const InsetFloat *>(subfigure)) {
+			subfigure->docbook(xs, runparams);
+			continue;
+		}
 
-		// Subfigures are in boxes.
-		if (!foundInsetFloat) {
+		// Subfigures are in boxes, then in InsetFloat.
+		{
+			bool foundInsetFloat = false;
 			for (const auto &it : subfigure->paragraphs()) {
 				for (pos_type posIn = 0; posIn < it.size(); ++posIn) {
 					const Inset *inset = it.getInset(posIn);
-					if (inset && dynamic_cast<const InsetFloat *>(inset)) {
+					if (inset && inset->lyxCode() == FLOAT_CODE) {
 						foundInsetFloat = true;
+						inset->docbook(xs, runparams);
 						break;
 					}
 				}
@@ -618,15 +683,79 @@ void docbookSubfigures(XMLStream & xs, OutputParams const & runparams, const Ins
 				if (foundInsetFloat)
 					break;
 			}
+			if (foundInsetFloat)
+				continue;
+		}
+
+		// Subfigures are in boxes, then directly an image or a table. In that case, generate the whole content of the
+		// InsetBox, but not the box container.
+		// Impose some model on the subfigure: at most a caption, at most a label, exactly one figure or one table.
+		{
+			InsetCode stype = NO_CODE;
+			const Inset * scontent = nullptr;
+			const InsetCaption * scaption = nullptr;
+			const InsetLabel * slabel = nullptr;
+
+			std::tie(stype, scontent, scaption, slabel) = docbookParseHopelessSubfigure(subfigure);
+
+			// If there is something, generate it. This is very much like docbookNoSubfigures, but many things
+			// must be coded differently because there is no float.
+			// TODO: some code is identical to Floating, like Floating::docbookTag or Floating::docbookCaption. How to reuse that code?
+			if (scontent) {
+				// Floating::docbookCaption()
+				string docbook_caption = "caption"; // This is already correct for tables.
+				if (stype == GRAPHICS_CODE)
+					docbook_caption = "title";
+
+				// Floating::docbookTag() with hasTitle = true, as we are in formalgroup.
+				string stag = "float";
+				if (stype == GRAPHICS_CODE)
+					stag = "figure";
+				else if (stype == TABULAR_CODE)
+					stag = "table";
+
+				// Ensure there is no label output, it is supposed to be handled as xml:id.
+				if (slabel)
+					rpNoLabel.docbook_anchors_to_ignore.emplace(slabel->screenLabel());
+
+				// Ensure the float does not output its caption, as it is handled here (DocBook mandates a specific place for
+				// captions, they cannot appear at the end of the float, albeit LyX is happy with that).
+				OutputParams rpNoTitle = runparams;
+				rpNoTitle.docbook_in_float = true;
+				if (stype == TABULAR_CODE)
+					rpNoTitle.docbook_in_table = true;
+
+				// Organisation: <float> <title if any/> <contents without title/> </float>.
+				docstring sattr = docstring();
+				if (slabel)
+					sattr += "xml:id=\"" + xml::cleanID(slabel->screenLabel()) + "\"";
+				// No layout way of adding attributes, unlike the normal code path.
+
+				xs << xml::StartTag(stag, sattr);
+				xs << xml::CR();
+				xs << xml::StartTag(docbook_caption);
+				if (scaption)
+					scaption->getCaptionAsDocBook(xs, rpNoLabel);
+				else // Mandatory in formalgroup.
+					xs << "No caption detected";
+				xs << xml::EndTag(docbook_caption);
+				xs << xml::CR();
+				scontent->docbook(xs, rpNoTitle);
+				xs << xml::EndTag(stag);
+				xs << xml::CR();
+
+				// This subfigure could be generated.
+				continue;
+			}
 		}
 
-		if (!foundInsetFloat)
-			xs << XMLStream::ESCAPE_NONE << "Error: no float found in the box. "
-								"To use subfigures in DocBook, elements must be wrapped in a float "
-			                    "inset and have a title/caption.";
+		// If there is no InsetFloat in the inset, output a warning.
+		xs << XMLStream::ESCAPE_NONE << "Error: no float found in the box. "
+							"To use subfigures in DocBook, elements must be wrapped in a float "
+		                    "inset and have a title/caption.";
 		// TODO: could also output a table, that would ensure that the document is correct and *displays* correctly (but without the right semantics), instead of just an error.
 
-		// Finally, recurse.
+		// Recurse to generate as much content as possible (avoid any loss).
 		subfigure->docbook(xs, runparams);
 	}
 

commit 8758000641e9014cd40581d309ded0e1cea44acf
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Fri Sep 11 23:38:11 2020 +0200

    DocBook: ensure xml:id is not output too many times.
    
    This is mostly important for subfigures, but debugging this issue showed that InsetCaption could be slightly simplified and InsetLabel should be made a tad more robust.

diff --git a/src/insets/InsetCaption.cpp b/src/insets/InsetCaption.cpp
index 0291625..8297c6f 100644
--- a/src/insets/InsetCaption.cpp
+++ b/src/insets/InsetCaption.cpp
@@ -367,8 +367,7 @@ void InsetCaption::getCaptionAsDocBook(XMLStream & xs,
 		return;
 
 	// Ignore full_label_, as the DocBook processor will deal with the numbering.
-	InsetText::XHTMLOptions const opts =
-			InsetText::WriteLabel | InsetText::WriteInnerTag;
+	InsetText::XHTMLOptions opts = InsetText::WriteInnerTag;
 	InsetText::docbook(xs, runparams, opts);
 }
 
diff --git a/src/insets/InsetFloat.cpp b/src/insets/InsetFloat.cpp
index d680013..eaa24cb 100644
--- a/src/insets/InsetFloat.cpp
+++ b/src/insets/InsetFloat.cpp
@@ -583,7 +583,7 @@ void docbookSubfigures(XMLStream & xs, OutputParams const & runparams, const Ins
 	xs << xml::StartTag("formalgroup", attr);
 	xs << xml::CR();
 
-	xs << xml::StartTag("title", attr);
+	xs << xml::StartTag("title"); // Don't take attr here, the ID should only go in one place, not two.
 	if (caption) {
 		caption->getCaptionAsDocBook(xs, rpNoLabel);
 	} else {
diff --git a/src/insets/InsetLabel.cpp b/src/insets/InsetLabel.cpp
index 2e80e26..5ba0344 100644
--- a/src/insets/InsetLabel.cpp
+++ b/src/insets/InsetLabel.cpp
@@ -356,8 +356,11 @@ int InsetLabel::plaintext(odocstringstream & os,
 void InsetLabel::docbook(XMLStream & xs, OutputParams const & runparams) const
 {
 	// Output an anchor only if it has not been processed before.
-	if (runparams.docbook_anchors_to_ignore.find(getParam("name")) == runparams.docbook_anchors_to_ignore.end()) {
-		docstring attr = from_utf8("xml:id=\"") + xml::cleanID(getParam("name")) + from_utf8("\"");
+	docstring id = getParam("name");
+	docstring cleaned_id = xml::cleanID(id);
+	if (runparams.docbook_anchors_to_ignore.find(id) == runparams.docbook_anchors_to_ignore.end() &&
+	        runparams.docbook_anchors_to_ignore.find(cleaned_id) == runparams.docbook_anchors_to_ignore.end()) {
+		docstring attr = from_utf8("xml:id=\"") + cleaned_id + from_utf8("\"");
 		xs << xml::CompTag("anchor", to_utf8(attr));
 	}
 }

commit d0a5ba4859702c78fb70ae30fe1f39818c98b102
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Fri Sep 11 03:14:41 2020 +0200

    DocBook: handle other cases of subfigures.

diff --git a/src/insets/InsetFloat.cpp b/src/insets/InsetFloat.cpp
index 981ba40..d680013 100644
--- a/src/insets/InsetFloat.cpp
+++ b/src/insets/InsetFloat.cpp
@@ -492,19 +492,22 @@ int InsetFloat::plaintext(odocstringstream & os, OutputParams const & runparams,
 }
 
 
-std::vector<const InsetBox *> findSubfiguresInParagraph(const Paragraph &par)
+std::vector<const InsetCollapsible *> findSubfiguresInParagraph(const Paragraph &par)
 {
 
 	// Don't make the hypothesis that all subfigures are in the same paragraph.
 	// Similarly, there may be several subfigures in the same paragraph (most likely case, based on the documentation).
 	// Any box is considered as a subfigure, even though the most likely case is \minipage.
-	std::vector<const InsetBox *> subfigures;
+	// Boxes are not required to make subfigures. The common root between InsetBox and InsetFLoat is InsetCollapsible.
+	std::vector<const InsetCollapsible *> subfigures;
 	for (pos_type pos = 0; pos < par.size(); ++pos) {
 		const Inset *inset = par.getInset(pos);
 		if (!inset)
 			continue;
 		if (const auto box = dynamic_cast<const InsetBox *>(inset))
 			subfigures.push_back(box);
+		else if (const auto fl = dynamic_cast<const InsetFloat *>(inset))
+			subfigures.push_back(fl);
 	}
 	return subfigures;
 }
@@ -564,7 +567,7 @@ const InsetCaption* findCaptionInParagraph(const Paragraph &par)
 
 
 void docbookSubfigures(XMLStream & xs, OutputParams const & runparams, const InsetCaption * caption,
-					   const InsetLabel * label, std::vector<const InsetBox *> & subfigures)
+					   const InsetLabel * label, std::vector<const InsetCollapsible *> & subfigures)
 {
 	// Ensure there is no label output, it is supposed to be handled as xml:id.
 	OutputParams rpNoLabel = runparams;
@@ -592,20 +595,29 @@ void docbookSubfigures(XMLStream & xs, OutputParams const & runparams, const Ins
 
 	// Deal with each subfigure individually. This should also deal with their caption and their label.
 	// This should be a recursive call to InsetFloat.
-	for (const InsetBox *subfigure: subfigures) {
+	// An item in subfigure should either be an InsetBox containing an InsetFloat or directly an InsetFloat.
+	for (const InsetCollapsible *subfigure: subfigures) {
 		// If there is no InsetFloat in the paragraphs, output a warning.
 		bool foundInsetFloat = false;
-		for (const auto & it : subfigure->paragraphs()) {
-			for (pos_type posIn = 0; posIn < it.size(); ++posIn) {
-				const Inset *inset = it.getInset(posIn);
-				if (inset && dynamic_cast<const InsetFloat*>(inset)) {
-					foundInsetFloat = true;
-					break;
+
+		// The collapsible may already be a float (InsetFloat).
+		if (subfigure && dynamic_cast<const InsetFloat *>(subfigure))
+			foundInsetFloat = true;
+
+		// Subfigures are in boxes.
+		if (!foundInsetFloat) {
+			for (const auto &it : subfigure->paragraphs()) {
+				for (pos_type posIn = 0; posIn < it.size(); ++posIn) {
+					const Inset *inset = it.getInset(posIn);
+					if (inset && dynamic_cast<const InsetFloat *>(inset)) {
+						foundInsetFloat = true;
+						break;
+					}
 				}
-			}
 
-			if (foundInsetFloat)
-				break;
+				if (foundInsetFloat)
+					break;
+			}
 		}
 
 		if (!foundInsetFloat)
@@ -673,11 +685,11 @@ void InsetFloat::docbook(XMLStream & xs, OutputParams const & runparams) const
 	// The caption and the label for each subfigure is handled by recursive calls.
 	const InsetCaption* caption = nullptr;
 	const InsetLabel* label = nullptr;
-	std::vector<const InsetBox *> subfigures;
+	std::vector<const InsetCollapsible *> subfigures;
 
 	auto end = paragraphs().end();
 	for (auto it = paragraphs().begin(); it != end; ++it) {
-		std::vector<const InsetBox *> foundSubfigures = findSubfiguresInParagraph(*it);
+		std::vector<const InsetCollapsible *> foundSubfigures = findSubfiguresInParagraph(*it);
 		if (!foundSubfigures.empty()) {
 			subfigures.reserve(subfigures.size() + foundSubfigures.size());
 			subfigures.insert(subfigures.end(), foundSubfigures.begin(), foundSubfigures.end());

commit 41a15f7b6d7844842d3670e564403133e85f26fb
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Fri Sep 11 03:05:04 2020 +0200

    DocBook: in configure.py, DeclareDocBookClass doesn't need to be checked anymore.

diff --git a/lib/configure.py b/lib/configure.py
index 35b9e51..7d996be 100644
--- a/lib/configure.py
+++ b/lib/configure.py
@@ -1311,7 +1311,7 @@ def _checkForClassExtension(x):
         return x.strip()
 
 def processLayoutFile(file):
-    ''' process layout file and get a line of result
+    """ process layout file and get a line of result
 
         Declare lines look like this:
 
@@ -1336,38 +1336,36 @@ def processLayoutFile(file):
         "article" "article" "article" "false" "article.cls" "Articles"
         "scrbook" "scrbook" "book (koma-script)" "false" "scrbook.cls" "Books"
         "svjog" "svjour" "article (Springer - svjour/jog)" "false" "svjour.cls,svjog.clo" ""
-    '''
+    """
     classname = file.split(os.sep)[-1].split('.')[0]
-    # return ('LaTeX', '[a,b]', 'a', ',b,c', 'article') for \DeclareLaTeXClass[a,b,c]{article}
-    p = re.compile('\s*#\s*\\\\Declare(LaTeX|DocBook)Class\s*(\[([^,]*)(,.*)*\])*\s*{(.*)}\s*$')
+    # return ('[a,b]', 'a', ',b,c', 'article') for \DeclareLaTeXClass[a,b,c]{article}
+    p = re.compile('\s*#\s*\\\\DeclareLaTeXClass\s*(\[([^,]*)(,.*)*])*\s*{(.*)}\s*$')
     q = re.compile('\s*#\s*\\\\DeclareCategory{(.*)}\s*$')
     classdeclaration = ""
     categorydeclaration = '""'
     for line in open(file, 'r', encoding='utf8').readlines():
         res = p.match(line)
         qres = q.match(line)
-        if res != None:
-            (classtype, optAll, opt, opt1, desc) = res.groups()
-            avai = {'LaTeX': 'false', 'DocBook': 'true'}[classtype]
-            if opt == None:
+        if res is not None:
+            (optAll, opt, opt1, desc) = res.groups()
+            if opt is None:
                 opt = classname
-                prereq_latex = _checkForClassExtension(classname)
+                prereq = _checkForClassExtension(classname)
             else:
                 prereq_list = optAll[1:-1].split(',')
                 prereq_list = list(map(_checkForClassExtension, prereq_list))
-                prereq_latex = ','.join(prereq_list)
-            prereq = {'LaTeX': prereq_latex, 'DocBook': ''}[classtype]
+                prereq = ','.join(prereq_list)
             classdeclaration = ('"%s" "%s" "%s" "%s" "%s"'
-                               % (classname, opt, desc, avai, prereq))
+                               % (classname, opt, desc, 'false', prereq))
             if categorydeclaration != '""':
                 return classdeclaration + " " + categorydeclaration
-        if qres != None:
-             categorydeclaration = '"%s"' % (qres.groups()[0])
-             if classdeclaration:
-                 return classdeclaration + " " + categorydeclaration
+        if qres is not None:
+            categorydeclaration = '"%s"' % (qres.groups()[0])
+            if classdeclaration:
+                return classdeclaration + " " + categorydeclaration
     if classdeclaration:
         return classdeclaration + " " + categorydeclaration
-    logger.warning("Layout file " + file + " has no \DeclareXXClass line. ")
+    logger.warning("Layout file " + file + " has no \\DeclareLaTeXClass line. ")
     return ""
 
 
@@ -1434,7 +1432,7 @@ def checkLatexConfig(check_config):
     # Construct the list of classes to test for.
     # build the list of available layout files and convert it to commands
     # for chkconfig.ltx
-    declare = re.compile('\\s*#\\s*\\\\Declare(LaTeX|DocBook)Class\\s*(\[([^,]*)(,.*)*\])*\\s*{(.*)}\\s*$')
+    declare = re.compile('\\s*#\\s*\\\\DeclareLaTeXClass\\s*(\[([^,]*)(,.*)*\])*\\s*{(.*)}\\s*$')
     category = re.compile('\\s*#\\s*\\\\DeclareCategory{(.*)}\\s*$')
     empty = re.compile('\\s*$')
     testclasses = list()
@@ -1455,10 +1453,10 @@ def checkLatexConfig(check_config):
                         nodeclaration = True
                     # A class, but no category declaration. Just break.
                     break
-                if declare.match(line) != None:
+                if declare.match(line) is not None:
                     decline = "\\TestDocClass{%s}{%s}" % (classname, line[1:].strip())
                     testclasses.append(decline)
-                elif category.match(line) != None:
+                elif category.match(line) is not None:
                     catline = ("\\DeclareCategory{%s}{%s}"
                                % (classname, category.match(line).groups()[0]))
                     testclasses.append(catline)

commit f28c193569a8b88cbebb318c1f40c9e8d8dfe7b5
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Fri Sep 11 01:50:26 2020 +0200

    DocBook: remove now useless function in configure.py.

diff --git a/lib/configure.py b/lib/configure.py
index 9f3c032..35b9e51 100644
--- a/lib/configure.py
+++ b/lib/configure.py
@@ -1265,26 +1265,6 @@ def checkConverterEntries():
 ''')
 
 
-def checkDocBook():
-    ''' Check docbook '''
-    path, DOCBOOK = checkProg('SGML-tools 2.x (DocBook), db2x scripts or xsltproc', ['sgmltools', 'db2dvi', 'xsltproc'],
-        rc_entry = [
-            r'''\converter docbook    dvi        "sgmltools -b dvi $$i"	""
-\converter docbook    html       "sgmltools -b html $$i"	""
-\converter docbook    ps         "sgmltools -b ps $$i"	""''',
-            r'''\converter docbook    dvi        "db2dvi $$i"	""
-\converter docbook    html       "db2html $$i"	""''',
-            r'''\converter docbook    dvi        ""	""
-\converter docbook    html       "" ""''',
-            r'''\converter docbook    dvi        ""	""
-\converter docbook    html       ""	""'''])
-    #
-    if DOCBOOK:
-        return ('yes', 'true', '\\def\\hasdocbook{yes}')
-    else:
-        return ('no', 'false', '')
-
-
 def checkOtherEntries():
     ''' entries other than Format and Converter '''
     checkProg('ChkTeX', ['chktex -n1 -n3 -n6 -n9 -n22 -n25 -n30 -n38'],

commit 9a48c8d22b0dd2ae1d0a78af3c2c0f4e3a65c26d
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Fri Sep 11 01:28:59 2020 +0200

    DocBook: fix handling of new lines and fonts.
    
    Only the font variable was restored to the right state, not fs.

diff --git a/autotests/export/docbook/fonts_EmbeddedObjects.lyx b/autotests/export/docbook/fonts_EmbeddedObjects.lyx
new file mode 100644
index 0000000..9ea1ff1
--- /dev/null
+++ b/autotests/export/docbook/fonts_EmbeddedObjects.lyx
@@ -0,0 +1,288 @@
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 598
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass scrbook
+\begin_preamble
+% that links to image floats jumps
+% to the beginning of the float and 
+% not to its caption
+\usepackage[figure]{hypcap}
+
+% the pages of the TOC are numbered roman
+% and a PDF-bookmark for the TOC is added
+\let\myTOC\tableofcontents
+\renewcommand\tableofcontents{%
+  \frontmatter
+  \pdfbookmark[1]{\contentsname}{}
+  \myTOC
+  \mainmatter }
+
+% provides caption formatting
+\usepackage[labelfont={bf,sf}]{caption}[2004/07/16]
+
+% provides commands to set caption
+% beside tables/images
+\newcommand{\TabBesBeg}[1][1.0]{%
+ \let\MyTable\table
+ \let\MyEndtable\endtable
+ \renewenvironment{table}[1]{\begin{SCtable}[#1]##1}{\end{SCtable}}}
+
+\newcommand{\TabBesEnd}{%
+ \let\table\MyTable
+ \let\endtable\MyEndtable}
+
+\newcommand{\FigBesBeg}[1][1.0]{%
+ \let\MyFigure\figure
+ \let\MyEndfigure\endfigure
+ \renewenvironment{figure}[1]{\begin{SCfigure}[#1]##1}{\end{SCfigure}}}
+
+\newcommand{\FigBesEnd}{%
+ \let\figure\MyFigure
+ \let\endfigure\MyEndfigure}
+
+% enables calculation of values,
+\usepackage{calc}
+
+% increase the bottom float placement fraction
+\renewcommand{\bottomfraction}{0.5}
+
+% avoids that floats are placed before their
+% corresponding section starts
+\let\mySection\section\renewcommand{\section}{\suppressfloats[t]\mySection}
+
+% speed up the longtable calculation
+\setcounter{LTchunksize}{100}
+
+% used for colored tables
+\@ifundefined{textcolor}
+ {\usepackage{color}}{}
+\definecolor{darkgreen}{cmyk}{0.5, 0, 1, 0.5}
+\definecolor{lightgrey}{gray}{0.8}
+
+% check for package colortbl
+% used for colored table cells
+\newboolean{colortbl}
+\IfFileExists{colortbl.sty}
+ {\usepackage{colortbl}
+  \setboolean{colortbl}{true}}
+ {\setboolean{colortbl}{false}}
+
+% used to have extra space in table cells
+\@ifundefined{extrarowheight}
+ {\usepackage{array}}{}
+\setlength{\extrarowheight}{2pt}
+
+% used for customized tables
+% ---
+\newcolumntype{M}[1]
+ {>{\centering\hspace{0pt}}m{#1}}
+
+\newcolumntype{S}[2]
+ {>{\centering\hspace{0pt}}m{(#1+(2\tabcolsep+\arrayrulewidth)*(1-#2))/#2}}
+
+\newcolumntype{K}[1]
+ {>{\columncolor{#1}\hspace{0pt}}c}
+
+\newcolumntype{V}{!{\vrule width 1.5pt}}
+
+\newcolumntype{W}{!{\color{green}\vline}}
+% ---
+
+% insert additional vertical space of
+% 1.5 mm between footnotes
+\let\myFoot\footnote
+\renewcommand{\footnote}[1]{\myFoot{#1\vspace{1.5mm}}}
+
+% number algorithm floats within chapters
+\numberwithin{algorithm}{chapter}
+
+% ------------------------------------
+% used to check for needed LaTeX packages
+\usepackage{ifthen}
+
+% check for package arydshln
+% used for tables with dashed lines
+\newboolean{arydshln}
+\IfFileExists{arydshln.sty}
+ {\usepackage{arydshln}
+  \setboolean{arydshln}{true}}
+ {\setboolean{arydshln}{false}}
+
+% check for package marginnote
+% used for margin notes
+\newboolean{marginnote}
+\IfFileExists{marginnote.sty}
+ {\usepackage{marginnote}
+  \let\marginpar\marginnote
+  \setboolean{marginnote}{true}}
+ {\setboolean{marginnote}{false}}
+
+% check for package sidecap
+% used for captions on the side
+\newboolean{sidecap}
+\IfFileExists{sidecap.sty}
+ {\usepackage{sidecap}
+  \setboolean{sidecap}{true}}
+ {\setboolean{sidecap}{false}}
+
+% check for picinpar
+% used for surrounded fixed objects
+\newboolean{picinpar}
+\IfFileExists{picinpar.sty}
+ {\usepackage{picinpar}
+  \setboolean{picinpar}{true}}
+ {\setboolean{picinpar}{false}}
+
+% check for lettrine
+\newboolean{lettrine}
+\IfFileExists{lettrine.sty}
+ {\usepackage{lettrine}
+  \setboolean{lettrine}{true}}
+ {\setboolean{lettrine}{false}}
+
+% check for diagbox
+\newboolean{diagbox}
+\IfFileExists{diagbox.sty}
+ {\usepackage{diagbox}
+  \setboolean{diagbox}{true}}
+ {\setboolean{diagbox}{false}}
+% Added by lyx2lyx
+\setlength{\parskip}{\medskipamount}
+\setlength{\parindent}{0pt}
+\end_preamble
+\options bibliography=totoc,index=totoc,BCOR7.5mm,titlepage,captions=tableheading,dvipsnames,table
+\use_default_options false
+\begin_modules
+initials
+graphicboxes
+varwidth
+\end_modules
+\maintain_unincluded_children no
+\language english
+\language_package default
+\inputencoding utf8
+\fontencoding auto
+\font_roman "lmodern" "default"
+\font_sans "lmss" "default"
+\font_typewriter "lmtt" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_roman_osf false
+\font_sans_osf false
+\font_typewriter_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures true
+\graphics default
+\default_output_format pdf2
+\output_sync 0
+\bibtex_command default
+\index_command makeindex
+\paperfontsize 12
+\spacing single
+\use_hyperref true
+\pdf_title "LyX's Figure, Table, Floats, Notes, and Boxes manual"
+\pdf_author "LyX Team, Uwe Stöhr"
+\pdf_subject "LyX-documentation about figures, tables, floats, notes, and boxes"
+\pdf_keywords "LyX, Tables, Figures, Floats, Boxes, Notes"
+\pdf_bookmarks true
+\pdf_bookmarksnumbered true
+\pdf_bookmarksopen true
+\pdf_bookmarksopenlevel 1
+\pdf_breaklinks false
+\pdf_pdfborder false
+\pdf_colorlinks true
+\pdf_backref false
+\pdf_pdfusetitle false
+\pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue, pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false"
+\papersize default
+\use_geometry false
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine basic
+\cite_engine_type default
+\biblio_style plain
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 0
+\use_minted 0
+\use_lineno 0
+\notefontcolor #0000ff
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style english
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 2
+\paperpagestyle default
+\tablestyle default
+\tracking_changes false
+\output_changes false
+\change_bars false
+\postpone_fragile_content false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\docbook_table_output 0
+\end_header
+
+\begin_body
+
+\begin_layout Title
+\SpecialChar LyX
+'s detailed Figure, Table, Floats, Notes, Boxes and External Material manual
+\end_layout
+
+\begin_layout Chapter
+Floats
+\end_layout
+
+\begin_layout Standard
+can be created using these commands in the document preamble:
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+
+\backslash
+usepackage[tableposition=top]{caption}
+\series default
+
+\begin_inset Newline newline
+\end_inset
+
+
+\series bold
+
+\backslash
+captionsetup[figure]{labelfont={tt}, textfont=it, indention=1cm,%
+\end_layout
+
+\end_body
+\end_document
diff --git a/autotests/export/docbook/fonts_EmbeddedObjects.xml b/autotests/export/docbook/fonts_EmbeddedObjects.xml
new file mode 100644
index 0000000..7ce65a1
--- /dev/null
+++ b/autotests/export/docbook/fonts_EmbeddedObjects.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This DocBook file was created by LyX 2.4.0dev
+  See http://www.lyx.org/ for more information -->
+<book xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
+<title>LyX's detailed Figure, Table, Floats, Notes, Boxes and External Material manual</title>
+<chapter>
+<title>Floats</title>
+<para>can be created using these commands in the document preamble:</para>
+<para><emphasis role='bold'>\usepackage[tableposition=top]{caption}</emphasis></para>
+<para><emphasis role='bold'>\captionsetup[figure]{labelfont={tt}, textfont=it, indention=1cm,%</emphasis></para>
+</chapter>
+</book>
\ No newline at end of file
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index a409d20..8da67e3 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -3350,6 +3350,7 @@ std::vector<docstring> Paragraph::simpleDocBookOnePar(Buffer const & buf,
 	vector<xml::EndFontTag> tagsToClose;
 
 	std::vector<docstring> generatedParagraphs;
+	DocBookFontState old_fs = fs;
 	odocstringstream os;
 	auto * xs = new XMLStream(os); // XMLStream has no copy constructor: to create a new object, the only solution
 	// is to hold a pointer to the XMLStream (xs = XMLStream(os) is not allowed once the first object is built).
@@ -3369,8 +3370,10 @@ std::vector<docstring> Paragraph::simpleDocBookOnePar(Buffer const & buf,
 			os = odocstringstream();
 			delete xs;
 			xs = new XMLStream(os);
-			if (!ignore_fonts)
+			if (!ignore_fonts) {
 				font_old = outerfont.fontInfo();
+				fs = old_fs;
+			}
 		}
 
 		// Determine which tags should be opened or closed regarding fonts.

commit 5f0720e9475daa2ce865fc641a4e97d94b4b36a1
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Fri Sep 11 00:44:49 2020 +0200

    XHTML: fix generation of many useless </section>.

diff --git a/src/output_xhtml.cpp b/src/output_xhtml.cpp
index 7d9a69b..f8cd53e 100644
--- a/src/output_xhtml.cpp
+++ b/src/output_xhtml.cpp
@@ -611,20 +611,26 @@ void xhtmlParagraphs(Text const & text,
 
 		// Think about adding <section> and/or </section>s.
 		if (style.category() == from_utf8("Sectioning")) {
+			int level = style.toclevel;
+
 			// Need to close a previous section if it has the same level or a higher one (close <section> if opening a
-			// <h2> after a <h2>, <h3>, <h4>, <h5>, or <h6>). More examples:
+			// <h2> after a <h2>, <h3>, <h4>, <h5> or <h6>). More examples:
 			//   - current: h2; back: h1; do not close any <section>
 			//   - current: h1; back: h2; close two <section> (first the <h2>, then the <h1>, so a new <h1> can come)
-			// The level (h1, h2, etc.) corresponds to style.toclevel.
-			while (! headerLevels.empty() && style.toclevel <= headerLevels.top()) {
+			while (!headerLevels.empty() && level <= headerLevels.top()) {
+				// Output the tag only if it corresponds to a legit section.
+				int stackLevel = headerLevels.top();
+				if (stackLevel != Layout::NOT_IN_TOC && level > 1) { // <h1> is the document title.
+					xs << xml::EndTag("section");
+					xs << xml::CR();
+				}
 				headerLevels.pop();
-				xs << xml::EndTag("section");
-				xs << xml::CR();
 			}
 
-			// Open the new one.
-			headerLevels.push(style.toclevel);
-			if (style.toclevel > 1) { // <h1> is the document title.
+			// Open the new section: first push it onto the stack, then output it in XHTML.
+			headerLevels.push(level);
+			// Some sectioning-like elements should not be output (such as FrontMatter).
+			if (level != Layout::NOT_IN_TOC && level > 1) { // <h1> is the document title.
 				xs << xml::StartTag("section");
 				xs << xml::CR();
 			}
@@ -669,9 +675,11 @@ void xhtmlParagraphs(Text const & text,
 
 	// If need be, close <section>s, but only at the end of the document (otherwise, dealt with at the beginning
 	// of the loop).
-	while (! headerLevels.empty() && headerLevels.top() > 1) {
+	while (!headerLevels.empty() && headerLevels.top() > Layout::NOT_IN_TOC) {
+		docstring tag = from_utf8("</section>");
 		headerLevels.pop();
-		xs << xml::EndTag("section") << xml::CR();
+		xs << XMLStream::ESCAPE_NONE << tag;
+		xs << xml::CR();
 	}
 }
 

commit faec7838222e5314ade3d89a3fadce731b93d759
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Fri Sep 11 00:39:41 2020 +0200

    XML: bad fix for a crash that only happened in XHTML.
    
    As an error is output, I suppose that this behaviour is OK.

diff --git a/src/xml.cpp b/src/xml.cpp
index 8e936f8..dda39a4 100644
--- a/src/xml.cpp
+++ b/src/xml.cpp
@@ -477,7 +477,8 @@ XMLStream &XMLStream::operator<<(xml::EndTag const &etag)
 						   + "' when other tags were pending. Last pending tag is `"
 						   + to_utf8(pending_tags_.back()->writeTag())
 						   + "'. Tag discarded.");
-				pending_tags_.erase(dit);
+				if (!pending_tags_.empty())
+					pending_tags_.erase(dit);
 				return *this;
 			}
 		}

commit a632a9ae3cc6e8be411b84d8bc25b54b4ae2f140
Author: Scott Kostyshak <skostysh at lyx.org>
Date:   Wed Sep 2 22:48:23 2020 -0400

    DocBook: remove useless functions.

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index ce7e641..1e804ee 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -347,30 +347,6 @@ void closeParTag(XMLStream & xs, Paragraph const * par, Paragraph const * nextpa
 }
 
 
-void openLabelTag(XMLStream & xs, Layout const & lay) // Mostly for definition lists.
-{
-	openTag(xs, lay.docbookitemlabeltag(), lay.docbookitemlabelattr(), lay.docbookitemlabeltagtype());
-}
-
-
-void closeLabelTag(XMLStream & xs, Layout const & lay)
-{
-	closeTag(xs, lay.docbookitemlabeltag(), lay.docbookitemlabeltagtype());
-}
-
-
-void openItemTag(XMLStream & xs, Layout const & lay)
-{
-	openTag(xs, lay.docbookitemtag(), lay.docbookitemattr(), lay.docbookitemtagtype());
-}
-
-
-void closeItemTag(XMLStream & xs, Layout const & lay)
-{
-	closeTag(xs, lay.docbookitemtag(), lay.docbookitemtagtype());
-}
-
-
 ParagraphList::const_iterator makeAny(Text const &,
 		                              Buffer const &,
 		                              XMLStream &,
@@ -656,17 +632,17 @@ ParagraphList::const_iterator makeListEnvironment(Text const &text,
 		if (style.labeltype != LABEL_NO_LABEL && style.docbookitemlabeltag() != "NONE") {
 			if (style.labeltype == LABEL_MANUAL) {
 				// Only variablelist gets here (or similar items defined as an extension in the layout).
-				openLabelTag(xs, style);
+				openTag(xs, style.docbookitemlabeltag(), style.docbookitemlabelattr(), style.docbookitemlabeltagtype());
 				sep = 1 + par->firstWordDocBook(xs, runparams);
-				closeLabelTag(xs, style);
+				closeTag(xs, style.docbookitemlabeltag(), style.docbookitemlabeltagtype());
 			} else {
 				// Usual cases: maybe there is something specified at the layout level. Highly unlikely, though.
 				docstring const lbl = par->params().labelString();
 
 				if (!lbl.empty()) {
-					openLabelTag(xs, style);
+					openTag(xs, style.docbookitemlabeltag(), style.docbookitemlabelattr(), style.docbookitemlabeltagtype());
 					xs << lbl;
-					closeLabelTag(xs, style);
+					closeTag(xs, style.docbookitemlabeltag(), style.docbookitemlabeltagtype());
 				}
 			}
 		}

commit 1a76fb9658cd26db9c224c0560905e6150b10efb
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Thu Sep 3 01:23:20 2020 +0200

    DocBook: avoid using isspace in StartTag::writeTag.
    
    This is the cause of crashes (on both Windows and Linux).

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index addf24a..ce7e641 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -429,16 +429,6 @@ void makeBibliography(
 }
 
 
-bool isNotOnlySpace(docstring const & str)
-{
-	for (auto const & c: str) {
-		if (c != ' ' && c != '\t' && c != '\n' && c != '\v' && c != '\f' && c != '\r')
-			return true;
-	}
-	return false;
-}
-
-
 void makeParagraph(
 		Text const & text,
 		Buffer const & buf,
@@ -531,7 +521,7 @@ void makeParagraph(
 	++nextpar;
 	auto pars = par->simpleDocBookOnePar(buf, runparams, text.outerFont(distance(begin, par)), 0, nextpar == end, special_case);
 	for (docstring const & parXML : pars) {
-		if (isNotOnlySpace(parXML)) {
+		if (xml::isNotOnlySpace(parXML)) {
 			if (open_par)
 				openParTag(xs, &*par, prevpar);
 
diff --git a/src/xml.cpp b/src/xml.cpp
index dd9790f..8e936f8 100644
--- a/src/xml.cpp
+++ b/src/xml.cpp
@@ -108,12 +108,9 @@ docstring StartTag::writeTag() const
 {
 	docstring output = '<' + tag_;
 	if (!attr_.empty()) {
-		docstring attributes = xml::escapeString(attr_, XMLStream::ESCAPE_NONE);
-		attributes.erase(attributes.begin(), std::find_if(attributes.begin(), attributes.end(),
-                                                          [](int c) {return !std::isspace(c);}));
-		if (!attributes.empty()) {
+		docstring attributes = xml::trimLeft(xml::escapeString(attr_, XMLStream::ESCAPE_NONE));
+		if (!attributes.empty())
 			output += ' ' + attributes;
-		}
 	}
 	output += ">";
 	return output;
@@ -601,6 +598,28 @@ docstring xml::uniqueID(docstring const & label)
 }
 
 
+bool xml::isNotOnlySpace(docstring const & str)
+{
+	for (auto const & c: str) {
+		if (c != ' ' && c != '\t' && c != '\n' && c != '\v' && c != '\f' && c != '\r')
+		return true;
+	}
+	return false;
+}
+
+
+docstring xml::trimLeft(docstring const & str)
+{
+	size_t i = 0;
+	for (auto const & c: str) {
+		if (c != ' ' && c != '\t' && c != '\n' && c != '\v' && c != '\f' && c != '\r')
+			return str.substr(i, docstring::npos);
+		i++;
+	}
+	return str;
+}
+
+
 docstring xml::cleanID(docstring const & orig)
 {
 	// The standard xml:id only allows letters, digits, '-' and '.' in a name.
diff --git a/src/xml.h b/src/xml.h
index 52eeb22..d5b4233 100644
--- a/src/xml.h
+++ b/src/xml.h
@@ -160,6 +160,12 @@ docstring cleanID(docstring const &orig);
 /// returns a unique numeric ID
 docstring uniqueID(docstring const & label);
 
+/// determines whether a string only contains space characters
+bool isNotOnlySpace(docstring const & str);
+
+/// trims the string to the left, i.e. remove any space-like character at the beginning of the string
+docstring trimLeft(docstring const & str);
+
 struct FontTag;
 struct EndFontTag;
 

commit 2cd7a94f8b31f1b59d002c4861585c32059c4269
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Thu Sep 3 00:48:55 2020 +0200

    DocBook: introduce Floating::docbookFloatType.
    
    This ensures that all comparisons for DocBook are made on the same normalised version of the float type. This cased a strange bug where <table> was output within <informaltable> for Linguistics Tableaux.

diff --git a/autotests/export/docbook/Linguistics.xml b/autotests/export/docbook/Linguistics.xml
index 688ee2d..e7d7875 100644
--- a/autotests/export/docbook/Linguistics.xml
+++ b/autotests/export/docbook/Linguistics.xml
@@ -140,7 +140,6 @@ EndPreamble</programlisting>
 <para>Wenn Sie allerdings Ihre Tableaux durch das Dokument hindurch nummerieren und ein eigenes Tableaux-Verzeichnis einrichten möchten, reichen die Bordmittel von LyX nicht aus. Auch hier hilft das Linguistikmodul. Wenn es ausgewählt ist, finden Sie unter <emphasis role='sans'>Einfügen&#x21D2;Gleitobjekte</emphasis> zusätzlich ein Tableau-Gleitobjekt (siehe Tableau&#xA0;<xref linkend="tab.Beispiel-Tableau" /> für ein Beispiel).</para>
 <table xml:id="tab.Beispiel-Tableau">
 <caption>Beispiel-Tableau</caption>
-<informaltable>
 <tbody>
 <tr>
 <td align='right' valign='top'>/atikap/</td>
@@ -205,7 +204,6 @@ EndPreamble</programlisting>
 <td align='center' valign='top'></td>
 </tr>
 </tbody>
-</informaltable>
 </table>
 
 <para>Bitte beachten Sie, dass die Legende in der Standardeinstellung immer unter dem Tableau ausgegeben wird, egal, wohin Sie sie im LyX-Arbeitsfenster setzen. Um die Legende über das Tableau zu setzen, müssen Sie den folgenden Code in <emphasis role='sans'>Dokument&#x21D2;Einstellungen&#x21D2;Präambel </emphasis>eingeben:</para>
diff --git a/src/Floating.cpp b/src/Floating.cpp
index 7ee042c..6ae52b4 100644
--- a/src/Floating.cpp
+++ b/src/Floating.cpp
@@ -44,6 +44,25 @@ Floating::Floating(string const & type, string const & placement,
 {}
 
 
+std::string Floating::docbookFloatType() const
+{
+	// TODO: configure this in the layouts?
+	if (floattype_ == "figure") {
+		return "figure";
+	} else if (floattype_ == "table" || floattype_ == "tableau") {
+		return "table";
+	} else if (floattype_ == "algorithm") {
+		// TODO: no good translation for now! Figures are the closest match, as they can contain text.
+		// Solvable as soon as https://github.com/docbook/docbook/issues/157 has a definitive answer.
+		return "algorithm";
+	} else {
+		// If nothing matches, return something that will not be valid.
+		LYXERR0("Unrecognised float type: " + floattype_);
+		return "unknown";
+	}
+}
+
+
 string const & Floating::htmlAttrib() const
 {
 	if (html_attrib_.empty())
@@ -91,17 +110,17 @@ string const & Floating::docbookAttr() const
 string Floating::docbookTag(bool hasTitle) const
 {
 	// TODO: configure this in the layouts?
-	if (floattype_ == "figure") {
+	if (docbookFloatType() == "figure") {
 		return hasTitle ? "figure" : "informalfigure";
-	} else if (floattype_ == "table" || floattype_ == "tableau") {
+	} else if (docbookFloatType() == "table") {
 		return hasTitle ? "table" : "informaltable";
-	} else if (floattype_ == "algorithm") {
+	} else if (docbookFloatType() == "algorithm") {
 		// TODO: no good translation for now! Figures are the closest match, as they can contain text.
 		// Solvable as soon as https://github.com/docbook/docbook/issues/157 has a definitive answer.
 		return "figure";
 	} else {
 		// If nothing matches, return something that will not be valid.
-		LYXERR0("Unrecognised float type: " + floattype_);
+		LYXERR0("Unrecognised float type: " + floattype());
 		return "float";
 	}
 }
diff --git a/src/Floating.h b/src/Floating.h
index 46816af..0a2eb50 100644
--- a/src/Floating.h
+++ b/src/Floating.h
@@ -44,6 +44,8 @@ public:
 	///
 	std::string const & floattype() const { return floattype_; }
 	///
+	std::string docbookFloatType() const;
+	///
 	std::string const & placement() const { return placement_; }
 	///
 	std::string const & ext() const {return ext_; }
diff --git a/src/insets/InsetFloat.cpp b/src/insets/InsetFloat.cpp
index 86bcf9d..981ba40 100644
--- a/src/insets/InsetFloat.cpp
+++ b/src/insets/InsetFloat.cpp
@@ -639,7 +639,7 @@ void docbookNoSubfigures(XMLStream & xs, OutputParams const & runparams, const I
 	// captions, they cannot appear at the end of the float, albeit LyX is happy with that).
 	OutputParams rpNoTitle = runparams;
 	rpNoTitle.docbook_in_float = true;
-	if (ftype.floattype() == "table")
+	if (ftype.docbookFloatType() == "table")
 		rpNoTitle.docbook_in_table = true;
 
 	// Organisation: <float> <title if any/> <contents without title/> </float>.

commit 8ed8d36595617e20d7994346ad54aa0e50b36ec3
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Thu Sep 3 00:37:52 2020 +0200

    Fix two warnings in BufferView.

diff --git a/src/BufferView.cpp b/src/BufferView.cpp
index 75d8a4e..e75bc5e 100644
--- a/src/BufferView.cpp
+++ b/src/BufferView.cpp
@@ -947,7 +947,7 @@ bool BufferView::scrollToCursor(DocIterator const & dit, bool const recenter)
 	TextMetrics & tm = d->text_metrics_[bot.text()];
 
 	pos_type const max_pit = pos_type(bot.text()->paragraphs().size() - 1);
-	int bot_pit = bot.pit();
+	pos_type bot_pit = bot.pit();
 	if (bot_pit > max_pit) {
 		// FIXME: Why does this happen?
 		LYXERR0("bottom pit is greater that max pit: "

commit 40f4da3c9f2ea863d3fe979000bfa095a75e88de
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Thu Sep 3 00:23:31 2020 +0200

    DocBook: floats can no more override DocBookTag.
    
    This lead to a quite subtle bug. The major problem is that float tags
    depend on whether the LyX float has a title (formal) or nor (informal).
    This information cannot be encoded in the layout format as easily as a
    simple DocBookTag.

diff --git a/src/Floating.cpp b/src/Floating.cpp
index fe3c72c..7ee042c 100644
--- a/src/Floating.cpp
+++ b/src/Floating.cpp
@@ -30,7 +30,7 @@ Floating::Floating(string const & type, string const & placement,
 		   string const & listName, std::string const & listCmd,
 		   string const & refPrefix, std::string const & allowedplacement,
 		   string const & htmlTag, string const & htmlAttrib,
-		   docstring const & htmlStyle, string const & docbookTag,
+		   docstring const & htmlStyle,
 		   string const & docbookAttr, string const & docbookTagType,
            string const & required, bool usesfloat, bool ispredefined,
 		   bool allowswide, bool allowssideways)
diff --git a/src/Floating.h b/src/Floating.h
index 977958b..46816af 100644
--- a/src/Floating.h
+++ b/src/Floating.h
@@ -37,7 +37,7 @@ public:
 		 std::string const & listName, std::string const & listCmd,
 		 std::string const & refPrefix, std::string const & allowedplacement,
 		 std::string const & htmlType, std::string const & htmlClass,
-		 docstring const & htmlStyle, std::string const & docbookTag,
+		 docstring const & htmlStyle,
 		 std::string const & docbookAttr, std::string const & docbookTagType,
 		 std::string const & required, bool usesfloat, bool isprefined,
 		 bool allowswide, bool allowssideways);
diff --git a/src/TextClass.cpp b/src/TextClass.cpp
index 900d6b2..2c467b6 100644
--- a/src/TextClass.cpp
+++ b/src/TextClass.cpp
@@ -1574,7 +1574,7 @@ bool TextClass::readFloat(Lexer & lexrc)
 		}
 		Floating fl(type, placement, ext, within, style, name,
 			listname, listcommand, refprefix, allowed_placement,
-			htmltag, htmlattr, htmlstyle, docbooktag, docbookattr,
+			htmltag, htmlattr, htmlstyle, docbookattr,
 			docbooktagtype, required, usesfloat, ispredefined,
 	        allowswide, allowssideways);
 		floatlist_.newFloat(fl);

commit 08a58242c157868efc5b3d52577e09f898725198
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Wed Sep 2 00:46:08 2020 +0200

    DocBook: better output with the Linguistics module.
    
    One issue left: <table> output within an <informaltable>, that does not make sense... I'm debugging it.

diff --git a/autotests/export/docbook/Linguistics.lyx b/autotests/export/docbook/Linguistics.lyx
new file mode 100644
index 0000000..39978c3
--- /dev/null
+++ b/autotests/export/docbook/Linguistics.lyx
@@ -0,0 +1,3209 @@
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 598
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass article
+\begin_preamble
+%% Kommentieren Sie das Folgende aus, um Tableaux-Überschriften zu erzeugen:
+%\floatstyle{plaintop}
+%\restylefloat{tableau}
+
+% Rückwärtskompatibilität zu forest 1.x
+% Wenn Sie forest 2.0.1 oder neuer verwenden,
+% können Sie das Folgende löschen.
+\@ifpackageloaded{forest}{%
+  \@ifpackagelater{forest}{2016/02/20}{}{%
+    \forestset{
+      roof/.style={edge path={\noexpand\path[\forestoption{edge}]%
+          (.north west)--(!u.south)--(.north east)--cycle
+          \forestoption{edge label};
+        }
+      },
+      sn edges/.style={
+        for tree={parent anchor=south, child anchor=north},
+      },
+      linguistics preamble/.style={sn edges, baseline, for tree={align=center}}
+    }
+    \preto\forest at do{%
+      \forestOpreto{\forest at root}{given options}{linguistics preamble,}%
+    }
+  }
+}{}
+
+% Trennausnahmen
+\hyphenation{Dis-kurs-reprä-sen-ta-tions-struk-tur}
+\end_preamble
+\use_default_options false
+\begin_modules
+linguistics
+\end_modules
+\maintain_unincluded_children no
+\language ngerman
+\language_package default
+\inputencoding utf8
+\fontencoding auto
+\font_roman "lmodern" "FreeSerif"
+\font_sans "default" "FreeSans"
+\font_typewriter "default" "FreeMono"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_roman_osf false
+\font_sans_osf false
+\font_typewriter_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures false
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\float_placement class
+\float_alignment class
+\paperfontsize default
+\spacing single
+\use_hyperref true
+\pdf_bookmarks true
+\pdf_bookmarksnumbered false
+\pdf_bookmarksopen false
+\pdf_bookmarksopenlevel 1
+\pdf_breaklinks false
+\pdf_pdfborder true
+\pdf_colorlinks false
+\pdf_backref false
+\pdf_pdfusetitle true
+\papersize default
+\use_geometry false
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine basic
+\cite_engine_type default
+\biblio_style plain
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 0
+\use_minted 0
+\use_lineno 0
+\index Stichwortverzeichnis
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style german
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tablestyle default
+\tracking_changes false
+\output_changes false
+\change_bars false
+\postpone_fragile_content false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\docbook_table_output 0
+\end_header
+
+\begin_body
+
+\begin_layout Title
+Linguistische Arbeiten mit \SpecialChar LyX
+
+\end_layout
+
+\begin_layout Author
+Jürgen Spitzmüller
+\begin_inset Newline newline
+\end_inset
+
+
+\begin_inset CommandInset href
+LatexCommand href
+target "spitz at lyx.org"
+type "mailto:"
+literal "false"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Date
+21.04.2015
+\end_layout
+
+\begin_layout Abstract
+In diesem Text werden einige Funktionen von \SpecialChar LyX
+ vorgestellt, die spezifisch
+ auf die Bedürfnisse von Linguistinnen und Linguisten ausgerichtet sind.
+ Es wird gezeigt, wie nummerierte Beispiele, Interlinear-Glossierung, OT-Tableau
+x, semantische Auszeichnung, Strukturbäume, Diskursrepräsentationsstrukturen
+ und phonetische Notation (IPA) erzeugt werden können.
+\end_layout
+
+\begin_layout Section
+Voraussetzungen und Ziele
+\end_layout
+
+\begin_layout Standard
+Die meisten der hier beschriebenen Funktionen werden vom 
+\begin_inset Quotes gld
+\end_inset
+
+Linguistik
+\begin_inset Quotes grd
+\end_inset
+
+-Modul bereitgestellt, das seit Version 1.6.0 mit \SpecialChar LyX
+ mitgeliefert wird.
+ 
+\begin_inset Quotes gld
+\end_inset
+
+Module
+\begin_inset Quotes grd
+\end_inset
+
+ – das Konzept wurde ebenfalls mit \SpecialChar LyX
+ 1.6.0 eingeführt – sind Ergänzungsdateien,
+ welche die von der Dokumentklasse bereitgestellten Möglichkeiten zumeist
+ für sehr spezifische Aufgaben erweitern und die für jedes Dokument (egal
+ welcher Klasse) einfach ausgewählt werden können.
+ Um das Linguistik-Modul zu verwenden, gehen sie zu 
+\family sans
+Dokument\SpecialChar menuseparator
+Einstellungen\SpecialChar menuseparator
+Module
+\family default
+, wählen Sie 
+\begin_inset Quotes gld
+\end_inset
+
+Linguistik
+\begin_inset Quotes grd
+\end_inset
+
+ aus der Liste der verfügbaren Module und drücken auf den Knopf 
+\family sans
+Hinzufügen
+\family default
+ (so wie es für dieses Dokument bereits getan wurde).
+\end_layout
+
+\begin_layout Standard
+Grundsätzlich sollte das Modul in jeder von \SpecialChar LyX
+ unterstützten Dokumentklasse
+ funktionieren (falls nicht, informieren Sie bitte den Autor dieses Textes).
+ Allerdings müssen Sie, um alle Features nutzen zu können, die folgenden
+ \SpecialChar LaTeX
+-Pakete installiert haben:
+\end_layout
+
+\begin_layout Enumerate
+
+\emph on
+covington.sty
+\emph default
+ 
+\begin_inset CommandInset citation
+LatexCommand cite
+key "covington"
+literal "true"
+
+\end_inset
+
+: Dieses Paket wird benötigt, um nummerierte Beispiele, Glossen und semantische
+ Auszeichnungen zu erzeugen.
+ Beachten Sie, dass mindestens Version 2.3 des Pakets erforderlich ist, um
+ alle Funktionen zu nutzen.
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Auf Ihrem System installiert: 
+\begin_inset Info
+type  "package"
+arg   "covington"
+\end_inset
+
+.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+
+\emph on
+csquotes.sty
+\emph default
+ 
+\begin_inset CommandInset citation
+LatexCommand cite
+key "csquotes"
+literal "true"
+
+\end_inset
+
+: Voraussetzung für den Textstil 
+\emph on
+Bedeutung
+\emph default
+ und für Glossen.
+ Das Paket erlaubt es, kontextsensible Anführungszeichen zu generieren (bspw.
+ je nach aktuell verwendeter Sprache).
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Auf Ihrem System installiert: 
+\begin_inset Info
+type  "package"
+arg   "csquotes"
+\end_inset
+
+.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+
+\emph on
+drs.sty
+\emph default
+ 
+\begin_inset CommandInset citation
+LatexCommand cite
+key "drs"
+literal "true"
+
+\end_inset
+
+: Voraussetzung für Diskursrepräsentationsstrukturen.
+ Beachten Sie, dass mindestens Version 2.3 des Pakets 
+\emph on
+covington
+\emph default
+ erforderlich ist, um dies mit anderen Funktionen gemeinsam zu nutzen.
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Auf Ihrem System installiert: 
+\begin_inset Info
+type  "package"
+arg   "drs"
+\end_inset
+
+.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+
+\emph on
+float.sty
+\emph default
+ 
+\begin_inset CommandInset citation
+LatexCommand cite
+key "float"
+literal "true"
+
+\end_inset
+
+: Dieses Paket brauchen wir für die OT-Tableaux und das Tableaux-Verzeichnis.
+ Es sollte Bestandteil jeder \SpecialChar LaTeX
+-Distribution sein.
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Auf Ihrem System installiert: 
+\begin_inset Info
+type  "package"
+arg   "float"
+\end_inset
+
+.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+
+\emph on
+forest.sty
+\emph default
+ 
+\begin_inset CommandInset citation
+LatexCommand cite
+key "forest"
+literal "true"
+
+\end_inset
+
+: Dieses Paket wird zur Erzeugung von Strukturbäumen verwendet.
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Auf Ihrem System installiert: 
+\begin_inset Info
+type  "package"
+arg   "forest"
+\end_inset
+
+.
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+
+\emph on
+pict2e.sty
+\emph default
+ 
+\begin_inset CommandInset citation
+LatexCommand cite
+key "pict2e"
+literal "true"
+
+\end_inset
+
+: Voraussetzung für 
+\emph on
+Duplex-Bedingungs-DRS
+\emph default
+.
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Auf Ihrem System installiert: 
+\begin_inset Info
+type  "package"
+arg   "pict2e"
+\end_inset
+
+.
+\end_layout
+
+\end_deeper
+\begin_layout Section
+Nummerierte Beispiele
+\end_layout
+
+\begin_layout Standard
+Nummerierte Beispiele werden über die Absatzstil-Auswahlliste in der Werkzeuglei
+ste eingefügt.
+ Es gibt drei Varianten:
+\end_layout
+
+\begin_layout Numbered Example (multiline)
+Das ist ein mehrzeiliges Beispiel [Stil 
+\emph on
+Nummeriertes Beispiel (mehrere Zeilen)
+\emph default
+]
+\end_layout
+
+\begin_layout Numbered Example (multiline)
+Wie der Name sagt, kann es mehrere Absätze enthalten
+\end_layout
+
+\begin_layout Numbered Examples (consecutive)
+Das ist ein einzeiliges Beispiel
+\begin_inset CommandInset label
+LatexCommand label
+name "exa:Beispiel-einzeilig"
+
+\end_inset
+
+ [Stil 
+\emph on
+Nummeriertes Beispiel (konsekutiv)
+\emph default
+]
+\end_layout
+
+\begin_layout Numbered Examples (consecutive)
+Jeder Absatz wird in diesem Stil neu nummeriert
+\end_layout
+
+\begin_layout Subexample
+Dies ist ein Unterbeispiel
+\begin_inset CommandInset label
+LatexCommand label
+name "subsec:Unterbeispiel"
+
+\end_inset
+
+ [Stil 
+\emph on
+Unterbeispiel
+\emph default
+]
+\end_layout
+
+\begin_layout Subexample
+Und hier noch eines
+\end_layout
+
+\begin_layout Standard
+Querverweise auf Beispiele erzeugen Sie wie gewohnt: Sie fügen im Beispiel
+ eine Marke ein, und an der Stelle, an der der Querverweis erscheinen soll,
+ einen Verweis mittels 
+\family sans
+Einfügen\SpecialChar menuseparator
+Querverweis\SpecialChar ldots
+
+\family default
+ 
+\end_layout
+
+\begin_layout Standard
+Als kleine Demonstration verweisen wir hier auf die Beispiele 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "exa:Beispiel-einzeilig"
+
+\end_inset
+
+ und 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "subsec:Unterbeispiel"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+Wenn Sie die Nummerierung für einzelne Beispiele ändern möchten, verwenden
+ Sie 
+\family sans
+Einfügen\SpecialChar menuseparator
+Benutzerdef.
+ Nummerierung
+\family default
+.
+ Für globale Anpassungen bietet 
+\emph on
+covington
+\emph default
+ selbst Möglichkeiten.
+ Bitte konsultieren Sie das Handbuch des Pakets 
+\begin_inset CommandInset citation
+LatexCommand cite
+key "covington"
+literal "false"
+
+\end_inset
+
+ für Einzelheiten.
+\end_layout
+
+\begin_layout Standard
+Ab Version 2.3 bietet 
+\emph on
+covingtons
+\emph default
+ subexamples-Umgebung ein optionales Argument (mit dem man Text zwischen
+ der Hauptnummer und dem ersten Unterbeispiel einfügen kann).
+ Dieses können Sie über 
+\family sans
+Einfügen\SpecialChar menuseparator
+Optionen für Unterbeispiele
+\family default
+ eingeben.
+ Bitte konsultieren Sie auch hier das Handbuch des Pakets 
+\begin_inset CommandInset citation
+LatexCommand cite
+key "covington"
+literal "false"
+
+\end_inset
+
+ für Einzelheiten.
+\end_layout
+
+\begin_layout Section
+Interlinear-Glossierung
+\end_layout
+
+\begin_layout Standard
+Das Linguistikmodul stellt zwei Arten von Glossen zur Verfügung.
+ Beide sind über 
+\family sans
+Einfügen\SpecialChar menuseparator
+Spezifische Einfügung
+\family default
+ zugänglich.
+ Die 
+\emph on
+Interlinear-Glosse (2
+\begin_inset space ~
+\end_inset
+
+Zeilen)
+\emph default
+ besteht aus zwei Zeilen für das Glossenpaar (bestehend aus der Darstellung
+ in der zu beschreibenden Sprache und einer interlinearen Wort-zu-Wort-Übersetzu
+ng) sowie einer weiteren Zeile für die freie Übersetzung, die 
+\emph on
+Interlinear-Glosse (3
+\begin_inset space ~
+\end_inset
+
+Zeilen)
+\emph default
+ bietet eine zusätzliche Zeile für Interlinear-Glossierung (diese dritte
+ Zeile wird zumeist für morphologische oder phonologische Angaben verwendet).
+ Die freie Übersetzung kann länger sein als eine Zeile, sie wird dann einfach
+ automatisch und korrekt umbrochen.
+ Die Version in der zu beschreibenden Sprache (erste Zeile der Glosse) wird
+ direkt in die Glosse-Einfügung geschrieben, alle anderen Teile der Glosse
+ in spezifische Unter-Einfügungen (
+\family sans
+Interlinear-Glosse
+\family default
+, bzw.
+ mit dreizeiligen Glossen: 
+\family sans
+Interlinear-Glosse (Zeile
+\begin_inset space ~
+\end_inset
+
+1)
+\family default
+ und 
+\family sans
+Interlinear-Glosse (Zeile
+\begin_inset space ~
+\end_inset
+
+2)
+\family default
+, sowie 
+\family sans
+Glossen-Übersetzung
+\family default
+).
+ \SpecialChar LyX
+ fügt diese Unter-Einfügungen automatisch ein, wenn Sie eine neue Glosse
+ einfügen.
+ Sie können aber auch manuell eingefügt werden, und zwar über 
+\family sans
+Einfügen\SpecialChar menuseparator
+Glossen-Übersetzung
+\family default
+ und 
+\family sans
+Einfügen\SpecialChar menuseparator
+Interlinear-Glosse
+\family default
+.
+ Ungeachtet wo Sie diese Untereinfügungen innerhalb der Glosse einfügen,
+ wird alles in der richtigen Reihenfolge ausgegeben.
+ Schließlich können Sie über 
+\family sans
+Einfügen\SpecialChar menuseparator
+Glossen-Optionen
+\family default
+ auch Glossen-Optionen eingeben.
+ Diese Optionen erlauben es Ihnen, die Darstellung der einzelnen Zeilen
+ zu verändern, eine Nummerierung oder vorangestellten Text hinzuzufügen.
+ Bitte konsultieren Sie das Handbuch des Pakets 
+\emph on
+covington 
+\emph default
+
+\begin_inset CommandInset citation
+LatexCommand cite
+key "covington"
+literal "false"
+
+\end_inset
+
+ für Einzelheiten.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Bitte beachten Sie, dass die Unterstützung für Glossen für \SpecialChar LyX
+ 2.4 komplett
+ überarbeitet wurde.
+ Nun werden die neuen und verbesserten Glossen-Makros verwendet, die 
+\emph on
+covington
+\emph default
+ seit der Version 2.0 anbietet.
+ Wegen der erheblichen Veränderungen können alte Glossen leider nicht in
+ die neuen konvertiert werden.
+ Statt dessen werden sie in ihrer ursprünglichen Form importiert (und als
+ 
+\family sans
+Lokales Format
+\family default
+ im Dokument gespeichert).
+ Umgekehrt werden neue Glossen in \SpecialChar TeX
+-Code exportier, wenn Sie in eine ältere
+ \SpecialChar LyX
+-Version exportieren.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Hier ist ein einfaches Beispiel für eine zweizeilige Glosse:
+\end_layout
+
+\begin_layout Standard
+\begin_inset Flex Interlinear Gloss (2 Lines)
+status open
+
+\begin_layout Plain Layout
+C'est       un exemple simple
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:1
+status open
+
+\begin_layout Plain Layout
+\begin_inset Flex GroupGlossedWords
+status open
+
+\begin_layout Plain Layout
+Dies ist
+\end_layout
+
+\end_inset
+
+ ein Beispiel einfach
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:2
+status open
+
+\begin_layout Plain Layout
+Dies ist ein einfaches Beispiel
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+Verwenden Sie 
+\family sans
+Bearbeiten\SpecialChar menuseparator
+Textstil\SpecialChar menuseparator
+Glossierte Wortgruppen
+\family default
+, um Mehrwortelemente zusammenzuhalten (alternativ können Sie auch im TeX-Modus
+ 
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+{
+\end_layout
+
+\end_inset
+
+diese Wörter geschweift einklammern
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+}
+\end_layout
+
+\end_inset
+
+).
+ Beachten Sie, dass Sie im \SpecialChar LyX
+-Fenster mehrere Leerzeichen nacheinander einfügen
+ können, um die Glossen dort schöner auszurichten.
+ Die Ausgabe wird davon nicht berührt.
+\end_layout
+
+\begin_layout Standard
+Hier ist eine dreizeilige Glosse.
+ Sie wird analog erzeugt:
+\end_layout
+
+\begin_layout Standard
+\begin_inset Flex Interlinear Gloss (3 Lines)
+status open
+
+\begin_layout Plain Layout
+Hoc est aliud exemplum
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:1
+status open
+
+\begin_layout Plain Layout
+n.sg.nom 3sg n.sg.nom n.sg.nom
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:2
+status open
+
+\begin_layout Plain Layout
+Dies ist anderes Beispiel 
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:3
+status open
+
+\begin_layout Plain Layout
+Dies ist ein anderes Beispiel
+\end_layout
+
+\end_inset
+
+
+\begin_inset Argument 1
+status open
+
+\begin_layout Plain Layout
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+fsii={
+\backslash
+normalfont
+\backslash
+scshape}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Beachten Sie, wie wir hier mit Hilfe der Glossen-Optionen die zweite Zeile
+ in Kapitälchen ausgeben lassen.
+\end_layout
+
+\begin_layout Standard
+\noindent
+Wenn Sie nummerierte Glossen benötigen, fügen Sie die Glosse entweder einfach
+ in einen Absatz mit dem Format 
+\emph on
+Nummeriertes Beispiel
+\emph default
+ ein, so wie hier:
+\end_layout
+
+\begin_layout Numbered Examples (consecutive)
+\begin_inset Flex Interlinear Gloss (3 Lines)
+status open
+
+\begin_layout Plain Layout
+Mein Luftkissenfahrzeug ist voller  Aale
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:1
+status open
+
+\begin_layout Plain Layout
+My    skeertuig                   is   vol      palings
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:2
+status open
+
+\begin_layout Plain Layout
+My    hovercraft                 is 
+\begin_inset Flex GroupGlossedWords
+status open
+
+\begin_layout Plain Layout
+full of
+\end_layout
+
+\end_inset
+
+  eels
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:3
+status open
+
+\begin_layout Plain Layout
+Do you have matches?
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+oder verwenden Sie die Glossen-Option 
+\emph on
+ex
+\emph default
+:
+\end_layout
+
+\begin_layout Standard
+\begin_inset Flex Interlinear Gloss (3 Lines)
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 1
+status open
+
+\begin_layout Plain Layout
+ex
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+Mein Luftkissenfahrzeug ist voller  Aale
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:1
+status open
+
+\begin_layout Plain Layout
+My    skeertuig                   is   vol      palings
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:2
+status open
+
+\begin_layout Plain Layout
+My    hovercraft                 is 
+\begin_inset Flex GroupGlossedWords
+status open
+
+\begin_layout Plain Layout
+full of
+\end_layout
+
+\end_inset
+
+  eels
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:3
+status open
+
+\begin_layout Plain Layout
+Do you have matches?
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection*
+Tipps & Tricks
+\end_layout
+
+\begin_layout Subsubsection*
+Seitenumbrüche innerhalb von Glossen vermeiden
+\end_layout
+
+\begin_layout Standard
+In der Standardeinstellung können innerhalb von Glossen Seiten umbrochen
+ werden, was natürlich nicht erwünscht ist.
+ Um dies zu umgehen, können Sie in 
+\family sans
+Dokument\SpecialChar menuseparator
+Einstellungen\SpecialChar ldots
+\SpecialChar menuseparator
+Dokumentklasse\SpecialChar menuseparator
+Klassenoptionen\SpecialChar menuseparator
+Benutzerdefiniert
+\family default
+ die Option 
+\emph on
+noglossbreaks
+\emph default
+ eingeben; dies wird die meisten Umbrüche verhindern.
+ Wenn trotzdem welche vorkommen, können Sie Glossen in Boxen packen (über
+ 
+\family sans
+Einfügen\SpecialChar menuseparator
+Box\SpecialChar menuseparator
+Rahmenlos
+\family default
+).
+\end_layout
+
+\begin_layout Subsubsection*
+Fußnoten in Glossen
+\end_layout
+
+\begin_layout Standard
+Sie können zwar eine Fußnote in eine 
+\emph on
+Glosse 
+\emph default
+einfügen, dies führt aber zu einem LaTeX-Fehler.
+ Wenn Sie Fußnoten benötigen, schreiben Sie an der Stelle, an der das Fußnotenze
+ichen erscheinen soll, im TeX-Modus 
+\family typewriter
+
+\backslash
+footnotemark
+\family default
+ in die Glosse.
+ Direkt nach (und außerhalb) der Glosse schreiben Sie, ebenfalls im TeX-Modus,
+\family typewriter
+ 
+\backslash
+footnotetext{Die Fußnote ...}
+\family default
+.
+ Sollten Sie mehrere Fußnoten brauchen, geben Sie einfach mehrere dieser
+ Befehlspaare ein.
+\end_layout
+
+\begin_layout Subsubsection*
+Glossen (und Beispiele) in Beamer-Präsentationen
+\end_layout
+
+\begin_layout Standard
+Wenn Sie das Linguistik-Modul in einer Beamer-Präsentation verwenden wollen,
+ beachten Sie bitte folgendes:
+\end_layout
+
+\begin_layout Itemize
+Für Glossen müssen Sie in Beamer immer einen 
+\begin_inset Quotes gld
+\end_inset
+
+fragilen
+\begin_inset Quotes grd
+\end_inset
+
+ Rahmen verwenden.
+ 
+\end_layout
+
+\begin_layout Itemize
+Ältere Versionen des Pakets 
+\emph on
+covington
+\emph default
+ und die 
+\emph on
+Beamer
+\emph default
+-Klasse arbeiten von Haus aus nicht gut zusammen, da beide die Befehle 
+\family typewriter
+
+\backslash
+example
+\family default
+ und 
+\family typewriter
+
+\backslash
+examples
+\family default
+ zu definieren versuchen, was in diesen älteren Versionen eine \SpecialChar LaTeX
+-Fehlermeldung
+ erzeugt, sobald sie Glossen oder Beispiele einfügen.
+ Sie können das Problem beheben, indem Sie in 
+\family sans
+Dokument\SpecialChar menuseparator
+Einstellungen\SpecialChar menuseparator
+Lokales Format
+\family default
+ folgenden Code kopieren:
+\end_layout
+
+\begin_deeper
+\begin_layout Quote
+\begin_inset listings
+lstparams "basicstyle={\footnotesize\ttfamily},tabsize=4"
+inline false
+status open
+
+\begin_layout Plain Layout
+
+Provides covington 1
+\end_layout
+
+\begin_layout Plain Layout
+
+AddToPreamble
+\end_layout
+
+\begin_layout Plain Layout
+
+		
+\backslash
+let
+\backslash
+example
+\backslash
+relax
+\end_layout
+
+\begin_layout Plain Layout
+
+		
+\backslash
+let
+\backslash
+endexample
+\backslash
+relax
+\end_layout
+
+\begin_layout Plain Layout
+
+		
+\backslash
+let
+\backslash
+examples
+\backslash
+relax
+\end_layout
+
+\begin_layout Plain Layout
+
+		
+\backslash
+let
+\backslash
+endexamples
+\backslash
+relax
+\end_layout
+
+\begin_layout Plain Layout
+
+		
+\backslash
+usepackage{covington}
+\end_layout
+
+\begin_layout Plain Layout
+
+EndPreamble
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Drücken Sie 
+\begin_inset Quotes gld
+\end_inset
+
+Validieren
+\begin_inset Quotes grd
+\end_inset
+
+ und dann 
+\begin_inset Quotes gld
+\end_inset
+
+OK
+\begin_inset Quotes grd
+\end_inset
+
+.
+ Dies hat den Effekt, dass die Beispiel-Umgebungen von Beamer deaktiviert
+ werden (und also nicht mehr verwendet werden können), dafür können Sie
+ dann aber die des Linguistik-Moduls verwenden.
+\end_layout
+
+\begin_layout Standard
+Ab 
+\emph on
+covington
+\emph default
+ 1.1 besteht dieses Problem nicht mehr.
+\end_layout
+
+\end_deeper
+\begin_layout Section
+Tableaux für Optimalitätstheorie
+\end_layout
+
+\begin_layout Standard
+Die OT-Tableaux selbst können natürlich einfach als normale Tabellen eingegeben
+ werden (Spezifika wie gestrichelte Tabellenlinien und schattierte Tabellenzelle
+n, die man hierfür manchmal braucht, sind in 
+\family sans
+Hilfe\SpecialChar menuseparator
+Eingebettete Objekt
+\family default
+e beschrieben).
+ 
+\end_layout
+
+\begin_layout Standard
+Wenn Sie allerdings Ihre Tableaux durch das Dokument hindurch nummerieren
+ und ein eigenes Tableaux-Verzeichnis einrichten möchten, reichen die Bordmittel
+ von \SpecialChar LyX
+ nicht aus.
+ Auch hier hilft das Linguistikmodul.
+ Wenn es ausgewählt ist, finden Sie unter 
+\family sans
+Einfügen\SpecialChar menuseparator
+Gleitobjekte
+\family default
+ zusätzlich ein Tableau-Gleitobjekt (siehe Tableau
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "tab:Beispiel-Tableau"
+
+\end_inset
+
+ für ein Beispiel).
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float tableau
+placement h
+alignment document
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Tabular
+<lyxtabular version="3" rows="5" columns="5">
+<features tabularvalignment="middle">
+<column alignment="right" valignment="top">
+<column alignment="center" valignment="top">
+<column alignment="center" valignment="top">
+<column alignment="center" valignment="top" special="|c">
+<column alignment="center" valignment="top">
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+/atikap/
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\noun on
+Onset
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\noun on
+NoCoda
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\noun on
+Dep
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\noun on
+Max
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\mbox{☞}$
+\end_inset
+
+ 
+\begin_inset Formula $\mbox{\textipa{P}}$
+\end_inset
+
+a.ti.ka
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+*
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+*
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+a.ti.ka
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+*!
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+*
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\mbox{\textipa{P}}$
+\end_inset
+
+a.ti.kap
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+*!
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+*
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+a.ti.kap
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+*!
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+*!
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+Beispiel-Tableau
+\begin_inset CommandInset label
+LatexCommand label
+name "tab:Beispiel-Tableau"
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Bitte beachten Sie, dass die Legende in der Standardeinstellung immer unter
+ dem Tableau ausgegeben wird, egal, wohin Sie sie im \SpecialChar LyX
+-Arbeitsfenster setzen.
+ Um die Legende über das Tableau zu setzen, müssen Sie den folgenden Code
+ in 
+\family sans
+Dokument\SpecialChar menuseparator
+Einstellungen\SpecialChar menuseparator
+Präambel 
+\family default
+eingeben:
+\end_layout
+
+\begin_layout Quote
+\begin_inset listings
+lstparams "language={[LaTeX]TeX},basicstyle={\footnotesize\ttfamily}"
+inline false
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+floatstyle{plaintop}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+restylefloat{tableau}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Wenn Sie eine KOMA-Klasse verwenden, nehmen Sie statt dessen das Folgende
+ (welches im Kontext der KOMA-Klassen bessere Abstände erzeugt):
+\end_layout
+
+\begin_layout Quote
+\begin_inset listings
+lstparams "language={[LaTeX]TeX},basicstyle={\footnotesize\ttfamily}"
+inline false
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+floatstyle{komaabove}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+restylefloat{tableau}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Ein Verzeichnis der Tableaux geben Sie, wie bei normalen Tabellen auch,
+ über 
+\family sans
+Einfügen\SpecialChar menuseparator
+Liste\SpecialChar breakableslash
+Inhaltsverzeichnis
+\family default
+ ein.
+ Dies sieht dann so aus:
+\end_layout
+
+\begin_layout Standard
+\begin_inset FloatList tableau
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Semantische Auszeichnung (Textstile)
+\end_layout
+
+\begin_layout Standard
+Das Linguistikmodul stellt einige Textstile zur Verfügung, die in linguistischen
+ Arbeiten allgemein gebräuchlich sind:
+\end_layout
+
+\begin_layout Enumerate
+Konzept (in Kapitälchen): 
+\begin_inset Flex Concepts
+status collapsed
+
+\begin_layout Plain Layout
+Konzept
+\end_layout
+
+\end_inset
+
+ 
+\end_layout
+
+\begin_layout Enumerate
+Ausdruck (hervorgehoben): 
+\begin_inset Flex Expression
+status collapsed
+
+\begin_layout Plain Layout
+Ausdruck
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Enumerate
+Bedeutung (in einfachen Anführungszeichen): 
+\begin_inset Flex Meaning
+status collapsed
+
+\begin_layout Plain Layout
+Bedeutung
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Diese Textstile finden Sie unter 
+\family sans
+Bearbeiten\SpecialChar menuseparator
+Textstil
+\family default
+.
+ Der Vorteil solcher Stile gegenüber direkter Hervorhebung und Auszeichnung
+ ist vor allem der, dass sie alle (und nur die) damit markierten Textteile
+ leicht global verändern können.
+ Wenn Sie (oder Ihr Verlag) also etwa Ausdrücke doch fett gesetzt haben
+ wollen, geben Sie einfach den folgenden Code in 
+\family sans
+Dokument\SpecialChar menuseparator
+Einstellungen\SpecialChar menuseparator
+Präambel
+\family default
+ ein:
+\end_layout
+
+\begin_layout Quote
+\begin_inset listings
+lstparams "language={[LaTeX]TeX},basicstyle={\footnotesize\ttfamily}"
+inline false
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+renewcommand
+\backslash
+lexp[1]{
+\backslash
+textbf{#1}}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Auf ähnliche Weise kann auch das Aussehen von 
+\emph on
+Konzept
+\emph default
+ (
+\family typewriter
+
+\backslash
+lcon
+\family default
+) und 
+\emph on
+Bedeutung
+\emph default
+ (
+\family typewriter
+
+\backslash
+lmean
+\family default
+) verändert werden.
+ Bitte konsultieren Sie das Handbuch des Pakets 
+\emph on
+covington
+\emph default
+ 
+\begin_inset CommandInset citation
+LatexCommand cite
+key "covington"
+literal "false"
+
+\end_inset
+
+ für Einzelheiten.
+\end_layout
+
+\begin_layout Section
+Linguistische Strukturbäume
+\end_layout
+
+\begin_layout Standard
+Mittlerweile gibt es mehrere \SpecialChar LaTeX
+-Pakete, die bei der Erstellung von Strukturbäumen
+ helfen.
+ \SpecialChar LyX
+ unterstützt das Paket 
+\family sans
+forest
+\family default
+, welches hohe Flexibilität und Mächtigkeit mit einer intuitiven Syntax
+ vereint.
+ Das Linguistik-Modul enthält eine Strukturbaum-Einfügung, die unter 
+\family sans
+Einfügen\SpecialChar menuseparator
+Spezifische Einfügung
+\family default
+ zu finden ist.
+ Innerhalb dieser Einfügung können Sie die Klammernotation verwenden, die
+ das Paket 
+\family sans
+forest
+\family default
+ (wie auch andere Pakete, z.
+\begin_inset space \thinspace{}
+\end_inset
+
+B.
+ 
+\family sans
+qtree
+\family default
+) anbietet.
+\end_layout
+
+\begin_layout Standard
+Hier ist ein einfaches Beispiel:
+\end_layout
+
+\begin_layout Standard
+\begin_inset Flex Structure Tree
+status open
+
+\begin_layout Plain Layout
+[VP [DP[Hans]] [V' [V[schickt]] [DP[Maria]] [DP[D[einen]][NP[Brief]]] ]
+ ]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+Wenn Sie die PDF-Ausgabe ansehen, sehen Sie, dass die Notation
+\end_layout
+
+\begin_layout Quote
+
+\family typewriter
+\size footnotesize
+[VP [DP[Hans]] [V' [V[schickt]] [DP[Maria]] [DP[D[einen]][NP[Brief]]]]]
+\end_layout
+
+\begin_layout Standard
+als Strukturbaum ausgegeben wird.
+ Um das Ergebnis bereits im \SpecialChar LyX
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+"=
+\end_layout
+
+\end_inset
+
+Eingabefenster zu sehen, können Sie die Strukturbaum-Einfügung einfach in
+ eine Vorschau-Einfügung (
+\family sans
+Einfügen\SpecialChar menuseparator
+Vorschau
+\family default
+) einbetten.
+ Wenn 
+\begin_inset Quotes gld
+\end_inset
+
+Sofortige Vorschau
+\begin_inset Quotes grd
+\end_inset
+
+ richtig eingerichtet und aktiviert ist, sollten Sie den Baum sofort sehen
+ (zur Bearbeitung klicken Sie einfach auf das Bild):
+\end_layout
+
+\begin_layout Standard
+\begin_inset Preview
+
+\begin_layout Standard
+\begin_inset Flex Structure Tree
+status open
+
+\begin_layout Plain Layout
+[VP [DP[Maria]] [V' [V[schickt]] [DP[Hans]] [DP[D[eine]][NP[Antwort]]] ]
+ ]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+Dächer (
+\begin_inset Quotes gld
+\end_inset
+
+roofs
+\begin_inset Quotes grd
+\end_inset
+
+) können mittels der Option 
+\begin_inset Quotes gld
+\end_inset
+
+roof
+\begin_inset Quotes grd
+\end_inset
+
+
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+\noindent
+Bitte beachten Sie, dass die Option 
+\begin_inset Quotes gld
+\end_inset
+
+roof
+\begin_inset Quotes grd
+\end_inset
+
+ erst ab Version 2.0 des Pakets 
+\family sans
+forest
+\family default
+ verfügbar ist.
+ Für frühere Versionen haben wir in den Vorspann dieses Dokuments Code eingefügt
+, die die Verwendung dennoch gestattet.
+ Wenn Ihre Version des Pakets 
+\family sans
+forest
+\family default
+ kleiner ist als 2.0 und Sie 
+\begin_inset Quotes gld
+\end_inset
+
+roof
+\begin_inset Quotes grd
+\end_inset
+
+ verwenden wollen, müssen Sie diesen Code in den Vorspann Ihres Dokuments
+ kopieren.
+ Statt dessen können Sie auch die alte Option 
+\begin_inset Quotes gld
+\end_inset
+
+triangle
+\begin_inset Quotes grd
+\end_inset
+
+ (statt 
+\begin_inset Quotes gld
+\end_inset
+
+roof
+\begin_inset Quotes grd
+\end_inset
+
+) verwenden.
+\end_layout
+
+\end_inset
+
+ erzeugt werden (beachten Sie, dass Kommata eine spezielle Bedeutung haben;
+ sie markieren Optionen):
+\end_layout
+
+\begin_layout Standard
+\begin_inset Flex Structure Tree
+status open
+
+\begin_layout Plain Layout
+[VP [DP[Hans]] [V' [V[schickt]] [DP[Maria]] [DP[einen weiteren Brief, roof]]
+ ] ]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+Um die Knoten des Baums besser auszurichten, verwenden Sie die Option 
+\begin_inset Quotes gld
+\end_inset
+
+tier
+\begin_inset Quotes grd
+\end_inset
+
+.
+ Alle Knoten, denen dieselbe 
+\begin_inset Quotes gld
+\end_inset
+
+tier
+\begin_inset Quotes grd
+\end_inset
+
+ (Ebene) zugewiesen wurde, werden in einer vertikalen Linie ausgerichtet.
+ Hier ist ein Beispiel:
+\end_layout
+
+\begin_layout Standard
+\begin_inset Flex Structure Tree
+status open
+
+\begin_layout Plain Layout
+[VP [DP[Hans, tier=word]] [V' [V[schickt, tier=word]] [DP[Maria, tier=word]]
+ [DP[D[einen, tier=word]][NP[Brief, tier=word]]] ] ]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+Das Paket bietet viel mehr Möglichkeiten, wie bspw.
+ Bewegungspfeile und Dekorationen.
+ Sie können hier nicht eingehend besprochen werden.
+ Bitte konsultieren Sie die ausführliche Dokumentation des Pakets 
+\begin_inset CommandInset citation
+LatexCommand cite
+key "forest"
+literal "true"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Section
+Diskursrepräsentationsstrukturen
+\end_layout
+
+\begin_layout Standard
+Das Linguistik-Modul stellt auch Einfügungen zur Erzeugung von Diskursrepräsenta
+tionsstrukturen (DRSen) in der Box-Notation von 
+\noun on
+Hans Kamps
+\noun default
+ 
+\emph on
+Diskursrepräsentationstheorie
+\emph default
+ zur Verfügung.
+ Diese Einfügungen finden Sie unter 
+\family sans
+Einfügen\SpecialChar menuseparator
+Spezifische Einfügung
+\family default
+.
+\end_layout
+
+\begin_layout Standard
+Eine einfache DRS erzeugen Sie mit der Einfügung 
+\family sans
+Diskursrepräsentationsstruktur
+\family default
+.
+ Eine DRS besteht aus (Diskurs-)
+\emph on
+Bedingungen
+\emph default
+, die direkt in die Einfügung geschrieben werden, uns den (u.
+\begin_inset space \thinspace{}
+\end_inset
+
+U.
+ leeren) (Diskurs-)
+\emph on
+Referenten
+\emph default
+ (bzw., im DRT-Jargon, dem 
+\emph on
+Universum
+\emph default
+), welche in die (automatisch eingefügte) Untereinfügung 
+\emph on
+Referenten
+\emph default
+ geschrieben werden.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Sollte diese nicht eingefügt werden, finden Sie sie unter 
+\family sans
+Einfügen\SpecialChar menuseparator
+DRS-Referenten
+\family default
+.
+ 
+\end_layout
+
+\end_inset
+
+ Zeilenwechsel müssen mittels 
+\begin_inset Info
+type  "shortcut"
+arg   "newline-insert newline"
+\end_inset
+
+ eingefügt werden.
+ Hier ist ein einfaches Beispiel:
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace defskip
+\end_inset
+
+
+\begin_inset Flex DRS
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 1
+status open
+
+\begin_layout Plain Layout
+x
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+Esel(x)
+\begin_inset Newline newline
+\end_inset
+
+grün(x)
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace defskip
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+DRSen sind durch spezifische Layout-Anpassungen so gestaltet, dass Sie gut
+ auf der Seite platziert werden.
+ Die Variante 
+\family sans
+Diskursrepräsentationsstruktur (einfach)
+\family default
+ unterdrückt diese Anpassungen.
+ 
+\end_layout
+
+\begin_layout Standard
+Zusätzlich zu diesen einfachen DRSen werden die folgenden konditionalen
+ DRSen unterstützt (sie werden in der Regel in einfache eingebettet):
+\end_layout
+
+\begin_layout Enumerate
+Die 
+\family sans
+Implikative DRS
+\family default
+ repräsentiert eine konditionale (implikative) Satzkonstruktion der Form
+ 
+\emph on
+wenn S
+\begin_inset script subscript
+
+\begin_layout Plain Layout
+
+\emph off
+1
+\end_layout
+
+\end_inset
+
+, dann S
+\emph default
+
+\begin_inset script subscript
+
+\begin_layout Plain Layout
+2
+\end_layout
+
+\end_inset
+
+:
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+\begin_inset Flex IfThen-DRS
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 1
+status open
+
+\begin_layout Plain Layout
+x
+\begin_inset space ~
+\end_inset
+
+y
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+Joseph(x)
+\begin_inset Newline newline
+\end_inset
+
+Esel(y)
+\begin_inset Newline newline
+\end_inset
+
+besitzen(x,y)
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:1
+status open
+
+\begin_layout Plain Layout
+z
+\begin_inset space ~
+\end_inset
+
+w
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:2
+status open
+
+\begin_layout Plain Layout
+z = x
+\begin_inset Newline newline
+\end_inset
+
+w = y
+\begin_inset Newline newline
+\end_inset
+
+füttern(z,w)
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Die 
+\family sans
+Konditionale DRS
+\family default
+ ist eine allgemeinere Variante, bei der Sie selbst eine beliebige Bedingung
+ (statt der implikativen) spezifizieren können.
+ In die Untereinfügung 
+\family sans
+Bedingung
+\family default
+ können Sie ein beliebiges Symbol eingeben:
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+\begin_inset Flex Cond-DRS
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 1
+status open
+
+\begin_layout Plain Layout
+x
+\begin_inset space ~
+\end_inset
+
+y
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+Joseph(x)
+\begin_inset Newline newline
+\end_inset
+
+Esel(y)
+\begin_inset Newline newline
+\end_inset
+
+besitzen(x,y)
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:1
+status open
+
+\begin_layout Plain Layout
+\begin_inset Formula $\wedge\!\,$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:2
+status open
+
+\begin_layout Plain Layout
+z
+\begin_inset space ~
+\end_inset
+
+w
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:3
+status open
+
+\begin_layout Plain Layout
+z = x
+\begin_inset Newline newline
+\end_inset
+
+w = y
+\begin_inset Newline newline
+\end_inset
+
+lieben(w,z)
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Die 
+\family sans
+Duplex-Bedingungs-DRS
+\family default
+ können Sie für sog.
+ 
+\emph on
+Duplex-Bedingungen
+\emph default
+ verwenden:
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+\begin_inset Flex QDRS
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 1
+status open
+
+\begin_layout Plain Layout
+x
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+x 
+\begin_inset Formula $\in$
+\end_inset
+
+ X
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:1
+status open
+
+\begin_layout Plain Layout
+alle
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:2
+status open
+
+\begin_layout Plain Layout
+x
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:3
+status open
+
+\begin_layout Plain Layout
+y
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument post:4
+status open
+
+\begin_layout Plain Layout
+Sekretärin(y)
+\begin_inset Newline newline
+\end_inset
+
+anstellen(x,y)
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_deeper
+\begin_layout Enumerate
+Die 
+\family sans
+Negierte DRS
+\family default
+ fügt eine DRS ein, der ein Negationszeichen vorangestellt ist:
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+\begin_inset Flex NegDRS
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 1
+status open
+
+\begin_layout Plain Layout
+x
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+Esel(x)
+\begin_inset Newline newline
+\end_inset
+
+grün(x)
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_deeper
+\begin_layout Standard
+
+\family sans
+DRS mit Satz oberhalb
+\family default
+ schließlich tut, was es verspricht: Es setzt einen Satz über die Box-Repräsenta
+tion:
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace defskip
+\end_inset
+
+
+\begin_inset Flex SDRS
+status open
+
+\begin_layout Plain Layout
+\begin_inset Argument 1
+status open
+
+\begin_layout Plain Layout
+Ein Esel ist grün
+\end_layout
+
+\end_inset
+
+ 
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Argument 2
+status open
+
+\begin_layout Plain Layout
+x
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+Esel(x)
+\begin_inset Newline newline
+\end_inset
+
+grün(x)
+\end_layout
+
+\end_inset
+
+
+\begin_inset VSpace defskip
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Das Paket 
+\emph on
+drs
+\emph default
+ bietet einige Möglichkeiten, um das Erscheinungsbild der DRS-Modelle anzupassen.
+ Bitte konsultieren Sie das Handbuch des Pakets 
+\begin_inset CommandInset citation
+LatexCommand cite
+key "drs"
+literal "false"
+
+\end_inset
+
+ für Einzelheiten.
+\end_layout
+
+\begin_layout Section
+Phonetische Notation (IPA)
+\end_layout
+
+\begin_layout Standard
+Um phonetische Zeichen einzugeben, brauchen Sie das Linguistikmodul nicht.
+ IPA-Unterstützung ist mittlerweile eine Grundfunktion von \SpecialChar LyX
+.
+ Da IPA aber von Linguistinnen und Linguisten sehr häufig gebraucht wird,
+ wird die Verwendung der IPA-Funktion hier trotzdem (kurz) beschrieben.
+\end_layout
+
+\begin_layout Standard
+Um \SpecialChar LyX
+' IPA-Funktion mit klassischem \SpecialChar LaTeX
+ oder PDF\SpecialChar LaTeX
+ zu benutzen, müssen Sie das
+ Paket 
+\emph on
+tipa
+\emph default
+ 
+\begin_inset CommandInset citation
+LatexCommand cite
+key "tipa"
+literal "true"
+
+\end_inset
+
+ installiert haben.
+ Es wird von \SpecialChar LyX
+ automatisch geladen, wenn Sie dem unten beschriebenen Vorgehen
+ folgen.
+ Wenn Sie Xe\SpecialChar TeX
+ oder Lua\SpecialChar TeX
+ verwenden (und 
+\begin_inset Quotes gld
+\end_inset
+
+Nicht-\SpecialChar TeX
+-Schriften verwenden
+\begin_inset Quotes grd
+\end_inset
+
+ in 
+\family sans
+Dokument\SpecialChar menuseparator
+Einstellungen\SpecialChar menuseparator
+Schriften
+\family default
+ aktiviert haben), wird statt dessen das Paket 
+\emph on
+xunicode
+\emph default
+ geladen, da 
+\emph on
+tipa
+\emph default
+ in diesem Fall nicht funktioniert.
+ Das Paket 
+\emph on
+xunicode
+\emph default
+ emuliert die Ausgabe von 
+\emph on
+tipa
+\emph default
+, ist aber nicht perfekt, so dass die Ausgabe möglicherweise nicht wie erwartet
+ ist.
+ Außerdem müssen Sie in diesem Fall darauf achten, dass die Nicht-\SpecialChar TeX
+-Schrift
+ die IPA-Symbole auch enthält (empfehlenswert sind Schriften wie 
+\emph on
+CMU Serif
+\emph default
+ oder 
+\emph on
+SIL Doulos
+\emph default
+).
+ Sie können auch eine Schrift nur für IPA definieren, indem sie das Folgende
+ in 
+\family sans
+Dokument\SpecialChar menuseparator
+Einstellungen\SpecialChar menuseparator
+LaTeX-Vorspann
+\family default
+ eingeben:
+\end_layout
+
+\begin_layout Standard
+\begin_inset listings
+lstparams "language={[LaTeX]TeX},basicstyle={\footnotesize\ttfamily}"
+inline false
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+AtBeginDocument{%
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+newfontfamily{
+\backslash
+ipafont}{CMU Serif}% oder eine ander Schriftart
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+def
+\backslash
+useTIPAfont{
+\backslash
+ipafont}
+\end_layout
+
+\begin_layout Plain Layout
+
+}
+\end_layout
+
+\end_inset
+
+Für eine direkte Vorschau der IPA-Symbole im Arbeitsfenster sollten Sie
+ weiterhin (egal, welche der oben beschriebenen Ausgabeformate Sie verwenden)
+ das 
+\emph on
+preview-latex
+\emph default
+-Paket 
+\begin_inset CommandInset citation
+LatexCommand cite
+key "preview"
+literal "true"
+
+\end_inset
+
+ installiert haben.
+\end_layout
+
+\begin_layout Standard
+Phonetische Zeichen werden in eine spezielle Umgebung eingegeben, die Sie
+ über 
+\family sans
+Einfügen\SpecialChar menuseparator
+Sonderzeichen\SpecialChar menuseparator
+Phonetische Symbole 
+\family default
+aktivieren.
+ Es wird ein kleiner umrahmter Eingabebereich eingefügt, in den Sie einzelne
+ Zeichen, Wörter und Wortfolgen sowie auch mehrere Absätze mit phonetischer
+ Notation eingeben können.
+ Wenn Sie in dem Eingabebereich sind, wird eine Symbolleiste aktiviert,
+ die die wichtigsten IPA-Symbole (nach den IPA-Kategorien sortiert) bereitstellt.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Es fehlt ein Symbol: der (2005 in das IPA aufgenommene) labiodentale Flap.
+ Dieses Zeichen unterstützt das 
+\emph on
+Tipa-
+\emph default
+Paket noch nicht; daher kann es auch nicht von LyX unterstützt werden.
+\end_layout
+
+\end_inset
+
+ Jeder Symbolbereich dieser Symbolleiste kann durch Klicken auf die gestrichelte
+ Linie abgetrennt werden.
+ Dadurch kann phonetische Notation recht komfortabel eingegeben werden:
+ 
+\begin_inset IPA
+
+\begin_layout Standard
+[ˈɛtva zo:]
+\end_layout
+
+\end_inset
+
+.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+Wenn Sie ein diakritisches Zeichen einfügen möchten, müssen Sie das Diakritikum
+ 
+\emph on
+nach
+\emph default
+ dem Basiszeichen einfügen.
+ Das heißt, für 
+\begin_inset IPA
+
+\begin_layout Standard
+[d̥]
+\end_layout
+
+\end_inset
+
+ geben Sie zuerst 
+\family typewriter
+<d>
+\family default
+ ein und dann direkt danach das Diakritikum 
+\family typewriter
+<Stimmlos>
+\family default
+ von der Symbolleiste.
+ Wenn Sie nur ein Diakritikum eingeben möchten, können Sie das direkt nach
+ einem Leerzeichen tun, so wie hier: 
+\begin_inset IPA
+
+\begin_layout Standard
+ ̼
+\end_layout
+
+\end_inset
+
+ (
+\family typewriter
+=
+\begin_inset space ~
+\end_inset
+
+<Leerzeichen>+<Lingolabial>
+\family default
+).
+\end_layout
+
+\end_inset
+
+ Wenn
+\emph on
+ preview-latex
+\emph default
+ installiert ist und Sie außerdem in
+\family sans
+ Werkzeuge\SpecialChar menuseparator
+Einstellungen\SpecialChar ldots
+\SpecialChar menuseparator
+Grafik
+\family default
+ 
+\begin_inset Quotes gld
+\end_inset
+
+Sofortige Vorschau
+\begin_inset Quotes grd
+\end_inset
+
+ aktiviert haben, zeigt \SpecialChar LyX
+ eine WYSIWYG-Vorschau der Notation an, sobald der
+ Cursor den IPA-Bereich verlässt.
+ Alternativ zur Symbolleiste können Sie die Zeichen auch direkt mithilfe
+ der Kurznotation eingeben können, die im 
+\emph on
+tipa
+\emph default
+-Handbuch erläutert wird: hier eine 
+\begin_inset IPA
+
+\begin_layout Standard
+[kOst"pro:b@]
+\end_layout
+
+\end_inset
+
+ (
+\emph on
+tipa
+\emph default
+-Kurznotation: 
+\family typewriter
+[kOst"pro:b@
+\family default
+]).
+ Alternativ können Sie die meisten IPA-Zeichen auch über 
+\family sans
+Einfügen\SpecialChar menuseparator
+Sonderzeichen\SpecialChar menuseparator
+Symbole\SpecialChar ldots
+
+\family default
+ in das Eingabefeld eingeben oder sie aus einem anderen Dokument kopieren
+ und dort einfügen.
+ Die Ausgabe sollte immer identisch sein, egal welche Eingabemethode Sie
+ wählen.
+\end_layout
+
+\begin_layout Standard
+Bitte beachten Sie, dass Sie die meisten IPA-Zeichen über die zuletzt genannten
+ Methoden auch außerhalb des IPA-Eingabebereichs einfügen können: [zoː viː
+ hiːɐ̯].
+ In der Ausgabe werden diese Zeichen dann ebenfalls direkt in die korrekten
+ 
+\emph on
+tipa
+\emph default
+-Makros umgewandelt (lassen Sie es uns wissen, falls das nicht der Fall
+ ist).
+ Dieses Verfahren hat aber gravierende Nachteile gegenüber der IPA-Umgebung,
+ denn die direkte Eingabe resultiert in der Regel in unerwünschter Schriftmischu
+ng (die lateinischen Buchstaben werden aus der Grundschrift, die speziellen
+ IPA-Zeichen aber aus der IPA-Schrift genommen, und diese beiden Schriften
+ passen nicht notwendigerweise zusammen).
+ Innerhalb der IPA-Eingabeumgebung wird dagegen für alle Zeichen dieselbe
+ Schrift verwendet.
+ Deshalb sollten Sie, wenn Sie nicht nur Einzelzeichen eingeben, unbedingt
+ den IPA-Eingabebereich verwenden.
+\end_layout
+
+\begin_layout Section
+Weitere Informationen
+\end_layout
+
+\begin_layout Standard
+Mehr und ausführlichere Informationen über die Möglichkeiten des Einsatzes
+ von \SpecialChar LyX
+ für linguistische Zwecke finden Sie auf der (englischsprachigen) 
+\emph on
+Linguist\SpecialChar LyX
+
+\emph default
+-Seite auf dem \SpecialChar LyX
+-Wiki 
+\begin_inset CommandInset citation
+LatexCommand cite
+key "linguistlyx"
+literal "true"
+
+\end_inset
+
+.
+ Sie sind übrigens herzlich eingeladen, dort aktiv mitzuschreiben!
+\end_layout
+
+\begin_layout Bibliography
+\begin_inset CommandInset bibitem
+LatexCommand bibitem
+key "covington"
+literal "true"
+
+\end_inset
+
+Das covington-Paket: 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+http://www.ctan.org/tex-archive/macros/latex/contrib/covington/
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Bibliography
+\begin_inset CommandInset bibitem
+LatexCommand bibitem
+key "csquotes"
+literal "true"
+
+\end_inset
+
+Das csquotes-Paket: 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+http://www.ctan.org/tex-archive/macros/latex/contrib/csquotes/
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Bibliography
+\begin_inset CommandInset bibitem
+LatexCommand bibitem
+key "drs"
+literal "false"
+
+\end_inset
+
+ Das drs-Paket: 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+https://ctan.org/tex-archive/macros/latex/contrib/drs
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Bibliography
+\begin_inset CommandInset bibitem
+LatexCommand bibitem
+key "enumitem"
+literal "true"
+
+\end_inset
+
+Das enumitem-Paket: 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+http://www.ctan.org/tex-archive/macros/latex/contrib/enumitem/
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Bibliography
+\begin_inset CommandInset bibitem
+LatexCommand bibitem
+key "float"
+literal "true"
+
+\end_inset
+
+Das float-Paket: 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+http://www.ctan.org/tex-archive/macros/latex/contrib/float/
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Bibliography
+\begin_inset CommandInset bibitem
+LatexCommand bibitem
+key "forest"
+literal "true"
+
+\end_inset
+
+Das forest-Paket: 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+http://www.ctan.org/tex-archive/graphics/pgf/contrib/forest
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Bibliography
+\begin_inset CommandInset bibitem
+LatexCommand bibitem
+key "linguistlyx"
+literal "true"
+
+\end_inset
+
+Maria Gouskova, Stacia Hartleben und Jürgen Spitzmüller: Using \SpecialChar LyX
+ for Linguistic
+ Papers.
+ 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+https://wiki.lyx.org/LyX/LinguistLyX
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Bibliography
+\begin_inset CommandInset bibitem
+LatexCommand bibitem
+key "pict2e"
+literal "false"
+
+\end_inset
+
+Das pict2e-Paket: 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+https://ctan.org/tex-archive/macros/latex/contrib/pict2e
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Bibliography
+\begin_inset CommandInset bibitem
+LatexCommand bibitem
+key "preview"
+literal "true"
+
+\end_inset
+
+Das preview-latex-Paket: 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+http://www.ctan.org/tex-archive/macros/latex/contrib/preview/
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Bibliography
+\begin_inset CommandInset bibitem
+LatexCommand bibitem
+key "tipa"
+literal "true"
+
+\end_inset
+
+Das tipa-Paket und die zugehörigen Schriften: 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+http://www.ctan.org/tex-archive/fonts/tipa/
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\end_body
+\end_document
diff --git a/autotests/export/docbook/Linguistics.xml b/autotests/export/docbook/Linguistics.xml
new file mode 100644
index 0000000..688ee2d
--- /dev/null
+++ b/autotests/export/docbook/Linguistics.xml
@@ -0,0 +1,339 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This DocBook file was created by LyX 2.4.0dev
+  See http://www.lyx.org/ for more information -->
+<article xml:lang="de_DE" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
+<info>
+<title>Linguistische Arbeiten mit LyX</title>
+<author>
+<personname>Jürgen Spitzmüller<emphasis role='size_large'><link xlink:href="spitz at lyx.org"></link></emphasis></personname>
+</author>
+<date>21.04.2015</date>
+<abstract>
+<para>In diesem Text werden einige Funktionen von LyX vorgestellt, die spezifisch auf die Bedürfnisse von Linguistinnen und Linguisten ausgerichtet sind. Es wird gezeigt, wie nummerierte Beispiele, Interlinear-Glossierung, OT-Tableaux, semantische Auszeichnung, Strukturbäume, Diskursrepräsentationsstrukturen und phonetische Notation (IPA) erzeugt werden können.</para>
+</abstract>
+
+</info>
+<section>
+<title>Voraussetzungen und Ziele</title>
+<para>Die meisten der hier beschriebenen Funktionen werden vom „Linguistik“-Modul bereitgestellt, das seit Version 1.6.0 mit LyX mitgeliefert wird. „Module“ – das Konzept wurde ebenfalls mit LyX 1.6.0 eingeführt – sind Ergänzungsdateien, welche die von der Dokumentklasse bereitgestellten Möglichkeiten zumeist für sehr spezifische Aufgaben erweitern und die für jedes Dokument (egal welcher Klasse) einfach ausgewählt werden können. Um das Linguistik-Modul zu verwenden, gehen sie zu <emphasis role='sans'>Dokument&#x21D2;Einstellungen&#x21D2;Module</emphasis>, wählen Sie „Linguistik“ aus der Liste der verfügbaren Module und drücken auf den Knopf <emphasis role='sans'>Hinzufügen</emphasis> (so wie es für dieses Dokument bereits getan wurde).</para>
+<para>Grundsätzlich sollte das Modul in jeder von LyX unterstützten Dokumentklasse funktionieren (falls nicht, informieren Sie bitte den Autor dieses Textes). Allerdings müssen Sie, um alle Features nutzen zu können, die folgenden LaTeX-Pakete installiert haben:</para>
+<orderedlist>
+<listitem>
+<para><emphasis>covington.sty</emphasis> <biblioref endterm="covington" />: Dieses Paket wird benötigt, um nummerierte Beispiele, Glossen und semantische Auszeichnungen zu erzeugen. Beachten Sie, dass mindestens Version 2.3 des Pakets erforderlich ist, um alle Funktionen zu nutzen.</para>
+<itemizedlist>
+<listitem>
+<para>Auf Ihrem System installiert: nein.</para>
+</listitem>
+</itemizedlist>
+</listitem>
+<listitem>
+<para><emphasis>csquotes.sty</emphasis> <biblioref endterm="csquotes" />: Voraussetzung für den Textstil <emphasis>Bedeutung</emphasis> und für Glossen. Das Paket erlaubt es, kontextsensible Anführungszeichen zu generieren (bspw. je nach aktuell verwendeter Sprache).</para>
+<itemizedlist>
+<listitem>
+<para>Auf Ihrem System installiert: nein.</para>
+</listitem>
+</itemizedlist>
+</listitem>
+<listitem>
+<para><emphasis>drs.sty</emphasis> <biblioref endterm="drs" />: Voraussetzung für Diskursrepräsentationsstrukturen. Beachten Sie, dass mindestens Version 2.3 des Pakets <emphasis>covington</emphasis> erforderlich ist, um dies mit anderen Funktionen gemeinsam zu nutzen.</para>
+<itemizedlist>
+<listitem>
+<para>Auf Ihrem System installiert: nein.</para>
+</listitem>
+</itemizedlist>
+</listitem>
+<listitem>
+<para><emphasis>float.sty</emphasis> <biblioref endterm="float" />: Dieses Paket brauchen wir für die OT-Tableaux und das Tableaux-Verzeichnis. Es sollte Bestandteil jeder LaTeX-Distribution sein.</para>
+<itemizedlist>
+<listitem>
+<para>Auf Ihrem System installiert: nein.</para>
+</listitem>
+</itemizedlist>
+</listitem>
+<listitem>
+<para><emphasis>forest.sty</emphasis> <biblioref endterm="forest" />: Dieses Paket wird zur Erzeugung von Strukturbäumen verwendet.</para>
+<itemizedlist>
+<listitem>
+<para>Auf Ihrem System installiert: nein.</para>
+</listitem>
+</itemizedlist>
+</listitem>
+<listitem>
+<para><emphasis>pict2e.sty</emphasis> <biblioref endterm="pict2e" />: Voraussetzung für <emphasis>Duplex-Bedingungs-DRS</emphasis>.</para>
+<itemizedlist>
+<listitem>
+<para>Auf Ihrem System installiert: nein.</para>
+</listitem>
+</itemizedlist>
+</listitem>
+</orderedlist>
+</section>
+<section>
+<title>Nummerierte Beispiele</title>
+<para>Nummerierte Beispiele werden über die Absatzstil-Auswahlliste in der Werkzeugleiste eingefügt. Es gibt drei Varianten:</para>
+<informalexample role='numbered'>
+<para>Das ist ein mehrzeiliges Beispiel [Stil <emphasis>Nummeriertes Beispiel (mehrere Zeilen)</emphasis>]</para>
+<para>Wie der Name sagt, kann es mehrere Absätze enthalten</para>
+</informalexample>
+<informalexample role='consecutive'>
+<para>Das ist ein einzeiliges Beispiel<anchor xml:id="exa.Beispiel-einzeilig" /> [Stil <emphasis>Nummeriertes Beispiel (konsekutiv)</emphasis>]Jeder Absatz wird in diesem Stil neu nummeriert</para>
+</informalexample>
+<informalexample role='consecutive'>
+<para>Dies ist ein Unterbeispiel<anchor xml:id="subsec.Unterbeispiel" /> [Stil <emphasis>Unterbeispiel</emphasis>]Und hier noch eines</para>
+</informalexample>
+<para>Querverweise auf Beispiele erzeugen Sie wie gewohnt: Sie fügen im Beispiel eine Marke ein, und an der Stelle, an der der Querverweis erscheinen soll, einen Verweis mittels <emphasis role='sans'>Einfügen&#x21D2;Querverweis&#x2026;</emphasis> </para>
+<para>Als kleine Demonstration verweisen wir hier auf die Beispiele <xref linkend="exa.Beispiel-einzeilig" /> und <xref linkend="subsec.Unterbeispiel" />.</para>
+<para>Wenn Sie die Nummerierung für einzelne Beispiele ändern möchten, verwenden Sie <emphasis role='sans'>Einfügen&#x21D2;Benutzerdef. Nummerierung</emphasis>. Für globale Anpassungen bietet <emphasis>covington</emphasis> selbst Möglichkeiten. Bitte konsultieren Sie das Handbuch des Pakets <biblioref endterm="covington" /> für Einzelheiten.</para>
+<para>Ab Version 2.3 bietet <emphasis>covingtons</emphasis> subexamples-Umgebung ein optionales Argument (mit dem man Text zwischen der Hauptnummer und dem ersten Unterbeispiel einfügen kann). Dieses können Sie über <emphasis role='sans'>Einfügen&#x21D2;Optionen für Unterbeispiele</emphasis> eingeben. Bitte konsultieren Sie auch hier das Handbuch des Pakets <biblioref endterm="covington" /> für Einzelheiten.</para>
+</section>
+<section>
+<title>Interlinear-Glossierung</title>
+<para>Das Linguistikmodul stellt zwei Arten von Glossen zur Verfügung. Beide sind über <emphasis role='sans'>Einfügen&#x21D2;Spezifische Einfügung</emphasis> zugänglich. Die <emphasis>Interlinear-Glosse (2&#xA0;Zeilen)</emphasis> besteht aus zwei Zeilen für das Glossenpaar (bestehend aus der Darstellung in der zu beschreibenden Sprache und einer interlinearen Wort-zu-Wort-Übersetzung) sowie einer weiteren Zeile für die freie Übersetzung, die <emphasis>Interlinear-Glosse (3&#xA0;Zeilen)</emphasis> bietet eine zusätzliche Zeile für Interlinear-Glossierung (diese dritte Zeile wird zumeist für morphologische oder phonologische Angaben verwendet). Die freie Übersetzung kann länger sein als eine Zeile, sie wird dann einfach automatisch und korrekt umbrochen. Die Version in der zu beschreibenden Sprache (erste Zeile der Glosse) wird direkt in die Glosse-Einfügung geschrieben, alle anderen Teile der Glosse in spezifische Unter-Einfügungen (<emphasis role='sans'>Inter
 linear-Glosse</emphasis>, bzw. mit dreizeiligen Glossen: <emphasis role='sans'>Interlinear-Glosse (Zeile&#xA0;1)</emphasis> und <emphasis role='sans'>Interlinear-Glosse (Zeile&#xA0;2)</emphasis>, sowie <emphasis role='sans'>Glossen-Übersetzung</emphasis>). LyX fügt diese Unter-Einfügungen automatisch ein, wenn Sie eine neue Glosse einfügen. Sie können aber auch manuell eingefügt werden, und zwar über <emphasis role='sans'>Einfügen&#x21D2;Glossen-Übersetzung</emphasis> und <emphasis role='sans'>Einfügen&#x21D2;Interlinear-Glosse</emphasis>. Ungeachtet wo Sie diese Untereinfügungen innerhalb der Glosse einfügen, wird alles in der richtigen Reihenfolge ausgegeben. Schließlich können Sie über <emphasis role='sans'>Einfügen&#x21D2;Glossen-Optionen</emphasis> auch Glossen-Optionen eingeben. Diese Optionen erlauben es Ihnen, die Darstellung der einzelnen Zeilen zu verändern, eine Nummerierung oder vorangestellten Text hinzuzufügen. Bitte konsultieren Sie das Handb
 uch des Pakets <emphasis>covington </emphasis><biblioref endterm="covington" /> für Einzelheiten.<footnote>
+<para>Bitte beachten Sie, dass die Unterstützung für Glossen für LyX 2.4 komplett überarbeitet wurde. Nun werden die neuen und verbesserten Glossen-Makros verwendet, die <emphasis>covington</emphasis> seit der Version 2.0 anbietet. Wegen der erheblichen Veränderungen können alte Glossen leider nicht in die neuen konvertiert werden. Statt dessen werden sie in ihrer ursprünglichen Form importiert (und als <emphasis role='sans'>Lokales Format</emphasis> im Dokument gespeichert). Umgekehrt werden neue Glossen in TeX-Code exportier, wenn Sie in eine ältere LyX-Version exportieren.</para>
+</footnote></para>
+<para>Hier ist ein einfaches Beispiel für eine zweizeilige Glosse:</para>
+<para>C'est       un exemple simple</para>
+<para>Verwenden Sie <emphasis role='sans'>Bearbeiten&#x21D2;Textstil&#x21D2;Glossierte Wortgruppen</emphasis>, um Mehrwortelemente zusammenzuhalten (alternativ können Sie auch im TeX-Modus <!-- { -->
+diese Wörter geschweift einklammern<!-- } -->
+). Beachten Sie, dass Sie im LyX-Fenster mehrere Leerzeichen nacheinander einfügen können, um die Glossen dort schöner auszurichten. Die Ausgabe wird davon nicht berührt.</para>
+<para>Hier ist eine dreizeilige Glosse. Sie wird analog erzeugt:</para>
+<para>Hoc est aliud exemplum</para>
+<para>Beachten Sie, wie wir hier mit Hilfe der Glossen-Optionen die zweite Zeile in Kapitälchen ausgeben lassen.</para>
+<para>Wenn Sie nummerierte Glossen benötigen, fügen Sie die Glosse entweder einfach in einen Absatz mit dem Format <emphasis>Nummeriertes Beispiel</emphasis> ein, so wie hier:</para>
+<informalexample role='consecutive'>
+<para>Mein Luftkissenfahrzeug ist voller  Aale</para>
+</informalexample>
+<para>oder verwenden Sie die Glossen-Option <emphasis>ex</emphasis>:</para>
+<para>Mein Luftkissenfahrzeug ist voller  Aale</para>
+<bridgehead renderas="sect2">Tipps & Tricks</bridgehead>
+<bridgehead renderas="sect3">Seitenumbrüche innerhalb von Glossen vermeiden</bridgehead>
+<para>In der Standardeinstellung können innerhalb von Glossen Seiten umbrochen werden, was natürlich nicht erwünscht ist. Um dies zu umgehen, können Sie in <emphasis role='sans'>Dokument&#x21D2;Einstellungen&#x2026;&#x21D2;Dokumentklasse&#x21D2;Klassenoptionen&#x21D2;Benutzerdefiniert</emphasis> die Option <emphasis>noglossbreaks</emphasis> eingeben; dies wird die meisten Umbrüche verhindern. Wenn trotzdem welche vorkommen, können Sie Glossen in Boxen packen (über <emphasis role='sans'>Einfügen&#x21D2;Box&#x21D2;Rahmenlos</emphasis>).</para>
+<bridgehead renderas="sect3">Fußnoten in Glossen</bridgehead>
+<para>Sie können zwar eine Fußnote in eine <emphasis>Glosse </emphasis>einfügen, dies führt aber zu einem LaTeX-Fehler. Wenn Sie Fußnoten benötigen, schreiben Sie an der Stelle, an der das Fußnotenzeichen erscheinen soll, im TeX-Modus <code>\footnotemark</code> in die Glosse. Direkt nach (und außerhalb) der Glosse schreiben Sie, ebenfalls im TeX-Modus,<code> \footnotetext{Die Fußnote ...}</code>. Sollten Sie mehrere Fußnoten brauchen, geben Sie einfach mehrere dieser Befehlspaare ein.</para>
+<bridgehead renderas="sect3">Glossen (und Beispiele) in Beamer-Präsentationen</bridgehead>
+<para>Wenn Sie das Linguistik-Modul in einer Beamer-Präsentation verwenden wollen, beachten Sie bitte folgendes:</para>
+<itemizedlist>
+<listitem>
+<para>Für Glossen müssen Sie in Beamer immer einen „fragilen“ Rahmen verwenden. </para>
+</listitem>
+<listitem>
+<para>Ältere Versionen des Pakets <emphasis>covington</emphasis> und die <emphasis>Beamer</emphasis>-Klasse arbeiten von Haus aus nicht gut zusammen, da beide die Befehle <code>\example</code> und <code>\examples</code> zu definieren versuchen, was in diesen älteren Versionen eine LaTeX-Fehlermeldung erzeugt, sobald sie Glossen oder Beispiele einfügen. Sie können das Problem beheben, indem Sie in <emphasis role='sans'>Dokument&#x21D2;Einstellungen&#x21D2;Lokales Format</emphasis> folgenden Code kopieren:</para>
+<blockquote>
+<para><programlisting>Provides covington 1
+AddToPreamble
+		\let\example\relax
+		\let\endexample\relax
+		\let\examples\relax
+		\let\endexamples\relax
+		\usepackage{covington}
+EndPreamble</programlisting>
+</para>
+</blockquote>
+<para>Drücken Sie „Validieren“ und dann „OK“. Dies hat den Effekt, dass die Beispiel-Umgebungen von Beamer deaktiviert werden (und also nicht mehr verwendet werden können), dafür können Sie dann aber die des Linguistik-Moduls verwenden.</para>
+<para>Ab <emphasis>covington</emphasis> 1.1 besteht dieses Problem nicht mehr.</para>
+</listitem>
+</itemizedlist>
+</section>
+<section>
+<title>Tableaux für Optimalitätstheorie</title>
+<para>Die OT-Tableaux selbst können natürlich einfach als normale Tabellen eingegeben werden (Spezifika wie gestrichelte Tabellenlinien und schattierte Tabellenzellen, die man hierfür manchmal braucht, sind in <emphasis role='sans'>Hilfe&#x21D2;Eingebettete Objekt</emphasis>e beschrieben). </para>
+<para>Wenn Sie allerdings Ihre Tableaux durch das Dokument hindurch nummerieren und ein eigenes Tableaux-Verzeichnis einrichten möchten, reichen die Bordmittel von LyX nicht aus. Auch hier hilft das Linguistikmodul. Wenn es ausgewählt ist, finden Sie unter <emphasis role='sans'>Einfügen&#x21D2;Gleitobjekte</emphasis> zusätzlich ein Tableau-Gleitobjekt (siehe Tableau&#xA0;<xref linkend="tab.Beispiel-Tableau" /> für ein Beispiel).</para>
+<table xml:id="tab.Beispiel-Tableau">
+<caption>Beispiel-Tableau</caption>
+<informaltable>
+<tbody>
+<tr>
+<td align='right' valign='top'>/atikap/</td>
+<td align='center' valign='top'>Onset</td>
+<td align='center' valign='top'>NoCoda</td>
+<td align='center' valign='top'>Dep</td>
+<td align='center' valign='top'>Max</td>
+</tr>
+<tr>
+<td align='right' valign='top'><inlineequation>
+<alt role='tex'>\mbox{☞}</alt>
+ <m:math>
+ 
+ <m:mrow>
+  <m:mstyle class='mathbox'>☞
+  </m:mstyle>
+ </m:mrow>
+ </m:math>
+</inlineequation> <inlineequation>
+<alt role='tex'>\mbox{\textipa{P}}</alt>
+ <m:math>
+ 
+ <m:mrow>
+  <m:mstyle class='mathbox'>P
+  </m:mstyle>
+ </m:mrow>
+ </m:math>
+</inlineequation>a.ti.ka</td>
+<td align='center' valign='top'></td>
+<td align='center' valign='top'></td>
+<td align='center' valign='top'>*</td>
+<td align='center' valign='top'>*</td>
+</tr>
+<tr>
+<td align='right' valign='top'>a.ti.ka</td>
+<td align='center' valign='top'>*!</td>
+<td align='center' valign='top'></td>
+<td align='center' valign='top'></td>
+<td align='center' valign='top'>*</td>
+</tr>
+<tr>
+<td align='right' valign='top'><inlineequation>
+<alt role='tex'>\mbox{\textipa{P}}</alt>
+ <m:math>
+ 
+ <m:mrow>
+  <m:mstyle class='mathbox'>P
+  </m:mstyle>
+ </m:mrow>
+ </m:math>
+</inlineequation>a.ti.kap</td>
+<td align='center' valign='top'></td>
+<td align='center' valign='top'>*!</td>
+<td align='center' valign='top'>*</td>
+<td align='center' valign='top'></td>
+</tr>
+<tr>
+<td align='right' valign='top'>a.ti.kap</td>
+<td align='center' valign='top'>*!</td>
+<td align='center' valign='top'>*!</td>
+<td align='center' valign='top'></td>
+<td align='center' valign='top'></td>
+</tr>
+</tbody>
+</informaltable>
+</table>
+
+<para>Bitte beachten Sie, dass die Legende in der Standardeinstellung immer unter dem Tableau ausgegeben wird, egal, wohin Sie sie im LyX-Arbeitsfenster setzen. Um die Legende über das Tableau zu setzen, müssen Sie den folgenden Code in <emphasis role='sans'>Dokument&#x21D2;Einstellungen&#x21D2;Präambel </emphasis>eingeben:</para>
+<blockquote>
+<para><programlisting language="[LaTeX]TeX">\floatstyle{plaintop}
+\restylefloat{tableau}</programlisting>
+</para>
+</blockquote>
+<para>Wenn Sie eine KOMA-Klasse verwenden, nehmen Sie statt dessen das Folgende (welches im Kontext der KOMA-Klassen bessere Abstände erzeugt):</para>
+<blockquote>
+<para><programlisting language="[LaTeX]TeX">\floatstyle{komaabove}
+\restylefloat{tableau}</programlisting>
+</para>
+</blockquote>
+<para>Ein Verzeichnis der Tableaux geben Sie, wie bei normalen Tabellen auch, über <emphasis role='sans'>Einfügen&#x21D2;Liste&#x2044;Inhaltsverzeichnis</emphasis> ein. Dies sieht dann so aus:</para>
+</section>
+<section>
+<title>Semantische Auszeichnung (Textstile)</title>
+<para>Das Linguistikmodul stellt einige Textstile zur Verfügung, die in linguistischen Arbeiten allgemein gebräuchlich sind:</para>
+<orderedlist>
+<listitem>
+<para>Konzept (in Kapitälchen): Konzept </para>
+</listitem>
+<listitem>
+<para>Ausdruck (hervorgehoben): Ausdruck</para>
+</listitem>
+<listitem>
+<para>Bedeutung (in einfachen Anführungszeichen): Bedeutung</para>
+</listitem>
+</orderedlist>
+<para>Diese Textstile finden Sie unter <emphasis role='sans'>Bearbeiten&#x21D2;Textstil</emphasis>. Der Vorteil solcher Stile gegenüber direkter Hervorhebung und Auszeichnung ist vor allem der, dass sie alle (und nur die) damit markierten Textteile leicht global verändern können. Wenn Sie (oder Ihr Verlag) also etwa Ausdrücke doch fett gesetzt haben wollen, geben Sie einfach den folgenden Code in <emphasis role='sans'>Dokument&#x21D2;Einstellungen&#x21D2;Präambel</emphasis> ein:</para>
+<blockquote>
+<para><programlisting language="[LaTeX]TeX">\renewcommand\lexp[1]{\textbf{#1}}</programlisting>
+</para>
+</blockquote>
+<para>Auf ähnliche Weise kann auch das Aussehen von <emphasis>Konzept</emphasis> (<code>\lcon</code>) und <emphasis>Bedeutung</emphasis> (<code>\lmean</code>) verändert werden. Bitte konsultieren Sie das Handbuch des Pakets <emphasis>covington</emphasis> <biblioref endterm="covington" /> für Einzelheiten.</para>
+</section>
+<section>
+<title>Linguistische Strukturbäume</title>
+<para>Mittlerweile gibt es mehrere LaTeX-Pakete, die bei der Erstellung von Strukturbäumen helfen. LyX unterstützt das Paket <emphasis role='sans'>forest</emphasis>, welches hohe Flexibilität und Mächtigkeit mit einer intuitiven Syntax vereint. Das Linguistik-Modul enthält eine Strukturbaum-Einfügung, die unter <emphasis role='sans'>Einfügen&#x21D2;Spezifische Einfügung</emphasis> zu finden ist. Innerhalb dieser Einfügung können Sie die Klammernotation verwenden, die das Paket <emphasis role='sans'>forest</emphasis> (wie auch andere Pakete, z.&#x2009;B. <emphasis role='sans'>qtree</emphasis>) anbietet.</para>
+<para>Hier ist ein einfaches Beispiel:</para>
+<para>[VP [DP[Hans]] [V' [V[schickt]] [DP[Maria]] [DP[D[einen]][NP[Brief]]] ] ]</para>
+<para>Wenn Sie die PDF-Ausgabe ansehen, sehen Sie, dass die Notation</para>
+<blockquote>
+<para><code><emphasis role='size_footnote'>[VP [DP[Hans]] [V' [V[schickt]] [DP[Maria]] [DP[D[einen]][NP[Brief]]]]]</emphasis></code></para>
+</blockquote>
+<para>als Strukturbaum ausgegeben wird. Um das Ergebnis bereits im LyX<!-- "= -->
+Eingabefenster zu sehen, können Sie die Strukturbaum-Einfügung einfach in eine Vorschau-Einfügung (<emphasis role='sans'>Einfügen&#x21D2;Vorschau</emphasis>) einbetten. Wenn „Sofortige Vorschau“ richtig eingerichtet und aktiviert ist, sollten Sie den Baum sofort sehen (zur Bearbeitung klicken Sie einfach auf das Bild):</para>
+<para>[VP [DP[Maria]] [V' [V[schickt]] [DP[Hans]] [DP[D[eine]][NP[Antwort]]] ] ]</para>
+<para>Dächer („roofs“) können mittels der Option „roof“<footnote>
+<para>Bitte beachten Sie, dass die Option „roof“ erst ab Version 2.0 des Pakets <emphasis role='sans'>forest</emphasis> verfügbar ist. Für frühere Versionen haben wir in den Vorspann dieses Dokuments Code eingefügt, die die Verwendung dennoch gestattet. Wenn Ihre Version des Pakets <emphasis role='sans'>forest</emphasis> kleiner ist als 2.0 und Sie „roof“ verwenden wollen, müssen Sie diesen Code in den Vorspann Ihres Dokuments kopieren. Statt dessen können Sie auch die alte Option „triangle“ (statt „roof“) verwenden.</para>
+</footnote> erzeugt werden (beachten Sie, dass Kommata eine spezielle Bedeutung haben; sie markieren Optionen):</para>
+<para>[VP [DP[Hans]] [V' [V[schickt]] [DP[Maria]] [DP[einen weiteren Brief, roof]] ] ]</para>
+<para>Um die Knoten des Baums besser auszurichten, verwenden Sie die Option „tier“. Alle Knoten, denen dieselbe „tier“ (Ebene) zugewiesen wurde, werden in einer vertikalen Linie ausgerichtet. Hier ist ein Beispiel:</para>
+<para>[VP [DP[Hans, tier=word]] [V' [V[schickt, tier=word]] [DP[Maria, tier=word]] [DP[D[einen, tier=word]][NP[Brief, tier=word]]] ] ]</para>
+<para>Das Paket bietet viel mehr Möglichkeiten, wie bspw. Bewegungspfeile und Dekorationen. Sie können hier nicht eingehend besprochen werden. Bitte konsultieren Sie die ausführliche Dokumentation des Pakets <biblioref endterm="forest" />.</para>
+</section>
+<section>
+<title>Diskursrepräsentationsstrukturen</title>
+<para>Das Linguistik-Modul stellt auch Einfügungen zur Erzeugung von Diskursrepräsentationsstrukturen (DRSen) in der Box-Notation von <personname>Hans Kamps</personname> <emphasis>Diskursrepräsentationstheorie</emphasis> zur Verfügung. Diese Einfügungen finden Sie unter <emphasis role='sans'>Einfügen&#x21D2;Spezifische Einfügung</emphasis>.</para>
+<para>Eine einfache DRS erzeugen Sie mit der Einfügung <emphasis role='sans'>Diskursrepräsentationsstruktur</emphasis>. Eine DRS besteht aus (Diskurs-)<emphasis>Bedingungen</emphasis>, die direkt in die Einfügung geschrieben werden, uns den (u.&#x2009;U. leeren) (Diskurs-)<emphasis>Referenten</emphasis> (bzw., im DRT-Jargon, dem <emphasis>Universum</emphasis>), welche in die (automatisch eingefügte) Untereinfügung <emphasis>Referenten</emphasis> geschrieben werden.<footnote>
+<para>Sollte diese nicht eingefügt werden, finden Sie sie unter <emphasis role='sans'>Einfügen&#x21D2;DRS-Referenten</emphasis>. </para>
+</footnote> Zeilenwechsel müssen mittels <keycap>Ctrl+Return</keycap> eingefügt werden. Hier ist ein einfaches Beispiel:</para>
+<para>
+Esel(x)grün(x)</para>
+<para>DRSen sind durch spezifische Layout-Anpassungen so gestaltet, dass Sie gut auf der Seite platziert werden. Die Variante <emphasis role='sans'>Diskursrepräsentationsstruktur (einfach)</emphasis> unterdrückt diese Anpassungen. </para>
+<para>Zusätzlich zu diesen einfachen DRSen werden die folgenden konditionalen DRSen unterstützt (sie werden in der Regel in einfache eingebettet):</para>
+<orderedlist>
+<listitem>
+<para>Die <emphasis role='sans'>Implikative DRS</emphasis> repräsentiert eine konditionale (implikative) Satzkonstruktion der Form <emphasis>wenn S<subscript>1</subscript>, dann S</emphasis><subscript>2</subscript>:</para>
+<para>Joseph(x)Esel(y)besitzen(x,y)</para>
+</listitem>
+<listitem>
+<para>Die <emphasis role='sans'>Konditionale DRS</emphasis> ist eine allgemeinere Variante, bei der Sie selbst eine beliebige Bedingung (statt der implikativen) spezifizieren können. In die Untereinfügung <emphasis role='sans'>Bedingung</emphasis> können Sie ein beliebiges Symbol eingeben:</para>
+<para>Joseph(x)Esel(y)besitzen(x,y)</para>
+</listitem>
+<listitem>
+<para>Die <emphasis role='sans'>Duplex-Bedingungs-DRS</emphasis> können Sie für sog. <emphasis>Duplex-Bedingungen</emphasis> verwenden:</para>
+<para>x <inlineequation>
+<alt role='tex'>\in</alt>
+ <m:math>
+ 
+ <m:mrow><m:mo>&#x2208;</m:mo>
+ </m:mrow>
+ </m:math>
+</inlineequation> X</para>
+</listitem>
+<listitem>
+<para>Die <emphasis role='sans'>Negierte DRS</emphasis> fügt eine DRS ein, der ein Negationszeichen vorangestellt ist:</para>
+<para>Esel(x)grün(x)</para>
+</listitem>
+</orderedlist>
+<para><emphasis role='sans'>DRS mit Satz oberhalb</emphasis> schließlich tut, was es verspricht: Es setzt einen Satz über die Box-Repräsentation:</para>
+<para>
+Esel(x)grün(x)
+</para>
+<para>Das Paket <emphasis>drs</emphasis> bietet einige Möglichkeiten, um das Erscheinungsbild der DRS-Modelle anzupassen. Bitte konsultieren Sie das Handbuch des Pakets <biblioref endterm="drs" /> für Einzelheiten.</para>
+</section>
+<section>
+<title>Phonetische Notation (IPA)</title>
+<para>Um phonetische Zeichen einzugeben, brauchen Sie das Linguistikmodul nicht. IPA-Unterstützung ist mittlerweile eine Grundfunktion von LyX. Da IPA aber von Linguistinnen und Linguisten sehr häufig gebraucht wird, wird die Verwendung der IPA-Funktion hier trotzdem (kurz) beschrieben.</para>
+<para>Um LyX' IPA-Funktion mit klassischem LaTeX oder PDFLaTeX zu benutzen, müssen Sie das Paket <emphasis>tipa</emphasis> <biblioref endterm="tipa" /> installiert haben. Es wird von LyX automatisch geladen, wenn Sie dem unten beschriebenen Vorgehen folgen. Wenn Sie XeTeX oder LuaTeX verwenden (und „Nicht-TeX-Schriften verwenden“ in <emphasis role='sans'>Dokument&#x21D2;Einstellungen&#x21D2;Schriften</emphasis> aktiviert haben), wird statt dessen das Paket <emphasis>xunicode</emphasis> geladen, da <emphasis>tipa</emphasis> in diesem Fall nicht funktioniert. Das Paket <emphasis>xunicode</emphasis> emuliert die Ausgabe von <emphasis>tipa</emphasis>, ist aber nicht perfekt, so dass die Ausgabe möglicherweise nicht wie erwartet ist. Außerdem müssen Sie in diesem Fall darauf achten, dass die Nicht-TeX-Schrift die IPA-Symbole auch enthält (empfehlenswert sind Schriften wie <emphasis>CMU Serif</emphasis> oder <emphasis>SIL Doulos</emphasis>). Sie können auch eine 
 Schrift nur für IPA definieren, indem sie das Folgende in <emphasis role='sans'>Dokument&#x21D2;Einstellungen&#x21D2;LaTeX-Vorspann</emphasis> eingeben:</para>
+<para><programlisting language="[LaTeX]TeX">\AtBeginDocument{%
+\newfontfamily{\ipafont}{CMU Serif}% oder eine ander Schriftart
+\def\useTIPAfont{\ipafont}
+}</programlisting>
+Für eine direkte Vorschau der IPA-Symbole im Arbeitsfenster sollten Sie weiterhin (egal, welche der oben beschriebenen Ausgabeformate Sie verwenden) das <emphasis>preview-latex</emphasis>-Paket <biblioref endterm="preview" /> installiert haben.</para>
+<para>Phonetische Zeichen werden in eine spezielle Umgebung eingegeben, die Sie über <emphasis role='sans'>Einfügen&#x21D2;Sonderzeichen&#x21D2;Phonetische Symbole </emphasis>aktivieren. Es wird ein kleiner umrahmter Eingabebereich eingefügt, in den Sie einzelne Zeichen, Wörter und Wortfolgen sowie auch mehrere Absätze mit phonetischer Notation eingeben können. Wenn Sie in dem Eingabebereich sind, wird eine Symbolleiste aktiviert, die die wichtigsten IPA-Symbole (nach den IPA-Kategorien sortiert) bereitstellt.<footnote>
+<para>Es fehlt ein Symbol: der (2005 in das IPA aufgenommene) labiodentale Flap. Dieses Zeichen unterstützt das <emphasis>Tipa-</emphasis>Paket noch nicht; daher kann es auch nicht von LyX unterstützt werden.</para>
+</footnote> Jeder Symbolbereich dieser Symbolleiste kann durch Klicken auf die gestrichelte Linie abgetrennt werden. Dadurch kann phonetische Notation recht komfortabel eingegeben werden: [ˈɛtva zo:].<footnote>
+<para>Wenn Sie ein diakritisches Zeichen einfügen möchten, müssen Sie das Diakritikum <emphasis>nach</emphasis> dem Basiszeichen einfügen. Das heißt, für [d̥] geben Sie zuerst <code><d></code> ein und dann direkt danach das Diakritikum <code><Stimmlos></code> von der Symbolleiste. Wenn Sie nur ein Diakritikum eingeben möchten, können Sie das direkt nach einem Leerzeichen tun, so wie hier:  ̼ (<code>=&#xA0;<Leerzeichen>+<Lingolabial></code>).</para>
+</footnote> Wenn<emphasis> preview-latex</emphasis> installiert ist und Sie außerdem in<emphasis role='sans'> Werkzeuge&#x21D2;Einstellungen&#x2026;&#x21D2;Grafik</emphasis> „Sofortige Vorschau“ aktiviert haben, zeigt LyX eine WYSIWYG-Vorschau der Notation an, sobald der Cursor den IPA-Bereich verlässt. Alternativ zur Symbolleiste können Sie die Zeichen auch direkt mithilfe der Kurznotation eingeben können, die im <emphasis>tipa</emphasis>-Handbuch erläutert wird: hier eine [kOst"pro:b@] (<emphasis>tipa</emphasis>-Kurznotation: <code>[kOst"pro:b@</code>]). Alternativ können Sie die meisten IPA-Zeichen auch über <emphasis role='sans'>Einfügen&#x21D2;Sonderzeichen&#x21D2;Symbole&#x2026;</emphasis> in das Eingabefeld eingeben oder sie aus einem anderen Dokument kopieren und dort einfügen. Die Ausgabe sollte immer identisch sein, egal welche Eingabemethode Sie wählen.</para>
+<para>Bitte beachten Sie, dass Sie die meisten IPA-Zeichen über die zuletzt genannten Methoden auch außerhalb des IPA-Eingabebereichs einfügen können: [zoː viː hiːɐ̯]. In der Ausgabe werden diese Zeichen dann ebenfalls direkt in die korrekten <emphasis>tipa</emphasis>-Makros umgewandelt (lassen Sie es uns wissen, falls das nicht der Fall ist). Dieses Verfahren hat aber gravierende Nachteile gegenüber der IPA-Umgebung, denn die direkte Eingabe resultiert in der Regel in unerwünschter Schriftmischung (die lateinischen Buchstaben werden aus der Grundschrift, die speziellen IPA-Zeichen aber aus der IPA-Schrift genommen, und diese beiden Schriften passen nicht notwendigerweise zusammen). Innerhalb der IPA-Eingabeumgebung wird dagegen für alle Zeichen dieselbe Schrift verwendet. Deshalb sollten Sie, wenn Sie nicht nur Einzelzeichen eingeben, unbedingt den IPA-Eingabebereich verwenden.</para>
+</section>
+<section>
+<title>Weitere Informationen</title>
+<para>Mehr und ausführlichere Informationen über die Möglichkeiten des Einsatzes von LyX für linguistische Zwecke finden Sie auf der (englischsprachigen) <emphasis>LinguistLyX</emphasis>-Seite auf dem LyX-Wiki <biblioref endterm="linguistlyx" />. Sie sind übrigens herzlich eingeladen, dort aktiv mitzuschreiben!</para>
+</section>
+<bibliography>
+<bibliomixed xml:id='covington'>Das covington-Paket: <link xlink:href="http://www.ctan.org/tex-archive/macros/latex/contrib/covington/">http://www.ctan.org/tex-archive/macros/latex/contrib/covington/</link>.</bibliomixed>
+<bibliomixed xml:id='csquotes'>Das csquotes-Paket: <link xlink:href="http://www.ctan.org/tex-archive/macros/latex/contrib/csquotes/">http://www.ctan.org/tex-archive/macros/latex/contrib/csquotes/</link>.</bibliomixed>
+<bibliomixed xml:id='drs'> Das drs-Paket: <link xlink:href="https://ctan.org/tex-archive/macros/latex/contrib/drs">https://ctan.org/tex-archive/macros/latex/contrib/drs</link>.</bibliomixed>
+<bibliomixed xml:id='enumitem'>Das enumitem-Paket: <link xlink:href="http://www.ctan.org/tex-archive/macros/latex/contrib/enumitem/">http://www.ctan.org/tex-archive/macros/latex/contrib/enumitem/</link>.</bibliomixed>
+<bibliomixed xml:id='float'>Das float-Paket: <link xlink:href="http://www.ctan.org/tex-archive/macros/latex/contrib/float/">http://www.ctan.org/tex-archive/macros/latex/contrib/float/</link>.</bibliomixed>
+<bibliomixed xml:id='forest'>Das forest-Paket: <link xlink:href="http://www.ctan.org/tex-archive/graphics/pgf/contrib/forest">http://www.ctan.org/tex-archive/graphics/pgf/contrib/forest</link>.</bibliomixed>
+<bibliomixed xml:id='linguistlyx'>Maria Gouskova, Stacia Hartleben und Jürgen Spitzmüller: Using LyX for Linguistic Papers. <link xlink:href="https://wiki.lyx.org/LyX/LinguistLyX">https://wiki.lyx.org/LyX/LinguistLyX</link>.</bibliomixed>
+<bibliomixed xml:id='pict2e'>Das pict2e-Paket: <link xlink:href="https://ctan.org/tex-archive/macros/latex/contrib/pict2e">https://ctan.org/tex-archive/macros/latex/contrib/pict2e</link></bibliomixed>
+<bibliomixed xml:id='preview'>Das preview-latex-Paket: <link xlink:href="http://www.ctan.org/tex-archive/macros/latex/contrib/preview/">http://www.ctan.org/tex-archive/macros/latex/contrib/preview/</link>.</bibliomixed>
+<bibliomixed xml:id='tipa'>Das tipa-Paket und die zugehörigen Schriften: <link xlink:href="http://www.ctan.org/tex-archive/fonts/tipa/">http://www.ctan.org/tex-archive/fonts/tipa/</link>.</bibliomixed>
+</bibliography>
+</article>
\ No newline at end of file
diff --git a/lib/layouts/linguistics.module b/lib/layouts/linguistics.module
index d272c25..bcfc370 100644
--- a/lib/layouts/linguistics.module
+++ b/lib/layouts/linguistics.module
@@ -82,6 +82,10 @@ Style Numbered_Example_(multiline)
 	EndFont
 	Requires	      covington
 	Category              Linguistics
+	DocBookWrapperTag     informalexample
+	DocBookWrapperAttr    role='numbered'
+	DocBookWrapperMergeWithPrevious  true
+	DocBookTag            para
 End
 
 
@@ -107,6 +111,10 @@ Style Numbered_Examples_(consecutive)
 		LabelString   "Custom Numbering|s"
 		Tooltip       "Customize the numeration"
 	EndArgument
+	DocBookWrapperTag     informalexample
+	DocBookWrapperAttr    role='consecutive'
+	DocBookWrapperMergeWithPrevious  true
+	DocBookTag            para
 End
 
 
diff --git a/src/Floating.cpp b/src/Floating.cpp
index a610c73..fe3c72c 100644
--- a/src/Floating.cpp
+++ b/src/Floating.cpp
@@ -90,9 +90,10 @@ string const & Floating::docbookAttr() const
 
 string Floating::docbookTag(bool hasTitle) const
 {
+	// TODO: configure this in the layouts?
 	if (floattype_ == "figure") {
 		return hasTitle ? "figure" : "informalfigure";
-	} else if (floattype_ == "table") {
+	} else if (floattype_ == "table" || floattype_ == "tableau") {
 		return hasTitle ? "table" : "informaltable";
 	} else if (floattype_ == "algorithm") {
 		// TODO: no good translation for now! Figures are the closest match, as they can contain text.
@@ -119,7 +120,7 @@ string const & Floating::docbookCaption() const
 	docbook_caption_ = "";
 	if (floattype_ == "figure") {
 		docbook_caption_ = "title";
-	} else if (floattype_ == "table") {
+	} else if (floattype_ == "table" || floattype_ == "tableau") {
 		docbook_caption_ = "caption";
 	} else if (floattype_ == "algorithm") {
 		// TODO: no good translation for now! Figures are the closest match, as they can contain text.
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 28d2e1e..addf24a 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -293,7 +293,8 @@ void openParTag(XMLStream & xs, const Paragraph * par, const Paragraph * prevpar
 	if (prevpar != nullptr) {
 		Layout const & prevlay = prevpar->layout();
 		if (prevlay.docbookwrappertag() != "NONE") {
-			if (prevlay.docbookwrappertag() == lay.docbookwrappertag())
+			if (prevlay.docbookwrappertag() == lay.docbookwrappertag() &&
+					prevlay.docbookwrapperattr() == lay.docbookwrapperattr())
 				openWrapper = !lay.docbookwrappermergewithprevious();
 			else
 				openWrapper = true;
@@ -329,7 +330,8 @@ void closeParTag(XMLStream & xs, Paragraph const * par, Paragraph const * nextpa
 	if (nextpar != nullptr) {
 		Layout const & nextlay = nextpar->layout();
 		if (nextlay.docbookwrappertag() != "NONE") {
-			if (nextlay.docbookwrappertag() == lay.docbookwrappertag())
+			if (nextlay.docbookwrappertag() == lay.docbookwrappertag() &&
+					nextlay.docbookwrapperattr() == lay.docbookwrapperattr())
 				closeWrapper = !nextlay.docbookwrappermergewithprevious();
 			else
 				closeWrapper = true;

commit abed1f3e6e3654e60f5f4db877fc7f3c3180bbb2
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Wed Sep 2 00:36:46 2020 +0200

    DocBook: fix crash with Linguistics example.
    
    This was due to Floating::docbookTag not returning anything with the floattype_ tableau. Another issue that happened with that document is that the standard library's isspace crashed for some characters. I therefore implemented a more efficient version of the part that required it, and inlined the definition of isspace (even though that part becomes irrespective of locale, but was that feature ever used?).

diff --git a/src/Floating.cpp b/src/Floating.cpp
index 19fbf5f..a610c73 100644
--- a/src/Floating.cpp
+++ b/src/Floating.cpp
@@ -98,6 +98,10 @@ string Floating::docbookTag(bool hasTitle) const
 		// TODO: no good translation for now! Figures are the closest match, as they can contain text.
 		// Solvable as soon as https://github.com/docbook/docbook/issues/157 has a definitive answer.
 		return "figure";
+	} else {
+		// If nothing matches, return something that will not be valid.
+		LYXERR0("Unrecognised float type: " + floattype_);
+		return "float";
 	}
 }
 
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 087d5a9..28d2e1e 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -427,6 +427,16 @@ void makeBibliography(
 }
 
 
+bool isNotOnlySpace(docstring const & str)
+{
+	for (auto const & c: str) {
+		if (c != ' ' && c != '\t' && c != '\n' && c != '\v' && c != '\f' && c != '\r')
+			return true;
+	}
+	return false;
+}
+
+
 void makeParagraph(
 		Text const & text,
 		Buffer const & buf,
@@ -518,8 +528,8 @@ void makeParagraph(
 	auto nextpar = par;
 	++nextpar;
 	auto pars = par->simpleDocBookOnePar(buf, runparams, text.outerFont(distance(begin, par)), 0, nextpar == end, special_case);
-	for (auto & parXML : pars) {
-		if (!std::all_of(parXML.begin(), parXML.end(), ::isspace)) {
+	for (docstring const & parXML : pars) {
+		if (isNotOnlySpace(parXML)) {
 			if (open_par)
 				openParTag(xs, &*par, prevpar);
 

commit 594a4763b784edeaa96f875673dd3b5b4742ffc7
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Wed Sep 2 00:00:54 2020 +0200

    Fix a few warnings.

diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 9dea24b..a409d20 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -3860,8 +3860,8 @@ bool Paragraph::isHardHyphenOrApostrophe(pos_type pos) const
 	char_type const c = d->text_[pos];
 	if (c != '-' && c != '\'')
 		return false;
-	int nextpos = pos + 1;
-	int prevpos = pos > 0 ? pos - 1 : 0;
+	pos_type nextpos = pos + 1;
+	pos_type prevpos = pos > 0 ? pos - 1 : 0;
 	if ((nextpos == psize || isSpace(nextpos))
 		&& (pos == 0 || isSpace(prevpos)))
 		return false;
diff --git a/src/insets/InsetNewline.cpp b/src/insets/InsetNewline.cpp
index b33cf00..4c6f17e 100644
--- a/src/insets/InsetNewline.cpp
+++ b/src/insets/InsetNewline.cpp
@@ -172,7 +172,7 @@ int InsetNewline::plaintext(odocstringstream & os,
 }
 
 
-void InsetNewline::docbook(XMLStream & xs, OutputParams const & runparams) const
+void InsetNewline::docbook(XMLStream &, OutputParams const &) const
 {
 	// New lines are handled by Paragraph::simpleDocBookOnePar.
 }
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 1f17351..087d5a9 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -471,7 +471,7 @@ void makeParagraph(
 	// Plain layouts must be ignored.
 	special_case |= buf.params().documentClass().isPlainLayout(par->layout()) && !runparams.docbook_force_pars;
 	// Equations do not deserve their own paragraph (DocBook allows them outside paragraphs).
-	special_case |= nInsets == par->size() && std::all_of(par->insetList().begin(), par->insetList().end(), [](InsetList::Element inset) {
+	special_case |= nInsets == (size_t) par->size() && std::all_of(par->insetList().begin(), par->insetList().end(), [](InsetList::Element inset) {
 		return inset.inset && inset.inset->asInsetMath();
 	});
 

commit 632bad62c9eb7939ed2d6eadf2f3bb5fdf4d31fe
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Mon Aug 31 03:09:16 2020 +0200

    DocBook: do a little something for shapepar.

diff --git a/lib/layouts/shapepar.module b/lib/layouts/shapepar.module
index f5068dc..6b38cdf 100644
--- a/lib/layouts/shapepar.module
+++ b/lib/layouts/shapepar.module
@@ -35,41 +35,51 @@ Style "CD label"
 	ParSkip		0.4
 	Align		Block
 	LabelType	No_Label
+	DocBookWrapperTag  sidebar
+	DocBookWrapperAttr role="cd-label"
+	DocBookTag  para
 End
 
 Style "Circle"
 	CopyStyle	"CD label"
 	LatexName	circlepar
+	DocBookWrapperAttr role="circle"
 End
 
 Style "Diamond"
 	CopyStyle	"CD label"
 	LatexName	diamondpar
+	DocBookWrapperAttr role="diamond"
 End
 
 Style "Heart"
 	CopyStyle	"CD label"
 	LatexName	heartpar
+	DocBookWrapperAttr role="heart"
 End
 
 Style "Hexagon"
 	CopyStyle	"CD label"
 	LatexName	hexagonpar
+	DocBookWrapperAttr role="hexagon"
 End
 
 Style "Nut"
 	CopyStyle	"CD label"
 	LatexName	nutpar
+	DocBookWrapperAttr role="nut"
 End
 
 Style "Square"
 	CopyStyle	"CD label"
 	LatexName	squarepar
+	DocBookWrapperAttr role="square"
 End
 
 Style "Star"
 	CopyStyle	"CD label"
 	LatexName	starpar
+	DocBookWrapperAttr role="star"
 End
 
 # now the shapes defined in the .def files
@@ -77,41 +87,49 @@ End
 Style "Candle"
 	CopyStyle	"CD label"
 	LatexName	shapepar{\candle}
+	DocBookWrapperAttr role="candle"
 End
 
 Style "Drop down"
 	CopyStyle	"CD label"
 	LatexName	droppar
+	DocBookWrapperAttr role="drop-down"
 End
 
 Style "Drop up"
 	CopyStyle	"CD label"
 	LatexName	dropuppar
+	DocBookWrapperAttr role="drop-up"
 End
 
 Style "TeX"
 	CopyStyle	"CD label"
 	LatexName	shapepar{\TeXshape}
+	DocBookWrapperAttr role="tex"
 End
 
 Style "Triangle up"
 	CopyStyle	"CD label"
 	LatexName	triangleuppar
+	DocBookWrapperAttr role="triangle-up"
 End
 
 Style "Triangle down"
 	CopyStyle	"CD label"
 	LatexName	triangledownpar
+	DocBookWrapperAttr role="triangle-down"
 End
 
 Style "Triangle left"
 	CopyStyle	"CD label"
 	LatexName	triangleleftpar
+	DocBookWrapperAttr role="triangle-left"
 End
 
 Style "Triangle right"
 	CopyStyle	"CD label"
 	LatexName	trianglerightpar
+	DocBookWrapperAttr role="triangle-right"
 End
 
 # finally the low-level commands

commit ca1ca4326b027d7781c6ff31c1dfb1b5e4e53d8c
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Mon Aug 31 02:39:37 2020 +0200

    DocBook: implement theorems.
    
    This is a minimal implementation, as DocBook lacks a serious way of encoding all of this. Maybe a <formalpara> could do the trick, but I'd need to find a way to shoehorn a title through the styles (i.e. a first complete tag):
    
    Theorem: Bla bla
    
    <formalpara>
    <title>Theorem</title>
    <para>Bla bla</para>
    </formalpara>
    
    This would also only be a solution for single-paragraph things, as formalpara only allows one paragraph. Or a sidebar, but it's semantically very remote.

diff --git a/autotests/export/docbook/Additional_lyxcode.lyx b/autotests/export/docbook/Additional_lyxcode.lyx
index fe2d428..797e315 100644
--- a/autotests/export/docbook/Additional_lyxcode.lyx
+++ b/autotests/export/docbook/Additional_lyxcode.lyx
@@ -367,5 +367,169 @@ This section is somewhat out of date.
 
 \end_layout
 
+\begin_layout Section
+AMS \SpecialChar LaTeX
+
+\end_layout
+
+\begin_layout Standard
+These same environments are provided only in the starred versions by the
+ 
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Theorems (Starred)
+\end_layout
+
+\end_inset
+
+ module:
+\end_layout
+
+\begin_layout Theorem
+This is typically used for the statements of major results.
+ 
+\end_layout
+
+\begin_layout Corollary*
+This is used for statements which follow fairly directly from previous statement
+s.
+ Again, these can be major results.
+ 
+\end_layout
+
+\begin_layout Lemma
+These are smaller results needed to prove other statements.
+\end_layout
+
+\begin_layout Proposition
+These are less major results which (hopefully) add to the general theory
+ being discussed.
+\end_layout
+
+\begin_layout Conjecture
+These are statements provided without justification, which the author does
+ not know how to prove, but which seem to be true (to the author, at least).
+\end_layout
+
+\begin_layout Definition*
+Guess what this is for.
+ The font is different for this environment than for the previous ones.
+ 
+\end_layout
+
+\begin_layout Example*
+Used for examples illustrating proven results.
+\end_layout
+
+\begin_layout Problem
+It's not really known what this is for.
+ You should figure it out.
+\end_layout
+
+\begin_layout Exercise*
+Write a description for this one.
+\end_layout
+
+\begin_layout Remark
+This environment is also a type of theorem, usually a lesser sort of observation.
+\end_layout
+
+\begin_layout Claim*
+Often used in the course of giving a proof of a larger result.
+\end_layout
+
+\begin_layout Case
+Generally, these are used to break up long arguments, using specific instances
+ of some condition.
+ 
+\end_layout
+
+\begin_layout Case
+The numbering scheme for cases is on its own, not together with other numbered
+ statements.
+ 
+\end_layout
+
+\begin_layout Proof
+At the end of this environment, a QED symbol (usually a square, but it can
+ vary with different styles) is placed.
+ If you want to have other environments within this one—for example, Case
+ environments—and have the QED symbol appear only after them, then the other
+ environments need to be nested within the proof environment.
+ See the section 
+\emph on
+Nesting Environments
+\emph default
+ of the 
+\emph on
+User's Guide
+\emph default
+ for information on nesting.
+\end_layout
+
+\begin_layout Standard
+And these environments are provided by 
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+Theorems (AMS-Extended)
+\end_layout
+
+\end_inset
+
+:
+\end_layout
+
+\begin_layout Criterion*
+A required condition.
+\end_layout
+
+\begin_layout Algorithm*
+A general procedure to be used.
+\end_layout
+
+\begin_layout Axiom*
+This is a property or statement taken as true within the system being discussed.
+\end_layout
+
+\begin_layout Condition*
+Sometimes used to state a condition assumed within the present context of
+ discussion.
+\end_layout
+
+\begin_layout Note*
+Similar to a Remark.
+\end_layout
+
+\begin_layout Notation*
+Used for the explanation of, yes, notation.
+\end_layout
+
+\begin_layout Summary
+Do we really need to tell you? 
+\end_layout
+
+\begin_layout Acknowledgement*
+Acknowledgement.
+\end_layout
+
+\begin_layout Conclusion*
+Sometimes used at the end of a long train of argument.
+\end_layout
+
+\begin_layout Fact
+Used in a way similar to Proposition, though perhaps lower on the scale.
+\end_layout
+
+\begin_layout Standard
+In addition, the AMS classes automatically provide the AMS \SpecialChar LaTeX
+ and AMS fonts
+ packages.
+ They need to be available on your system in order to use these environments.
+\end_layout
+
 \end_body
 \end_document
diff --git a/autotests/export/docbook/Additional_lyxcode.xml b/autotests/export/docbook/Additional_lyxcode.xml
index b677971..f42ac9f 100644
--- a/autotests/export/docbook/Additional_lyxcode.xml
+++ b/autotests/export/docbook/Additional_lyxcode.xml
@@ -36,5 +36,40 @@ This ...
 <para>This section is somewhat out of date. Need to describe default master documents and how children are opened when the master is. [[FIXME]]</para>
 </sidebar>
 </section>
+<section>
+<title>AMS LaTeX</title>
+<para>These same environments are provided only in the starred versions by the <code>Theorems (Starred)</code> module:</para>
+<para role='theorem'>This is typically used for the statements of major results. </para>
+<para role='corollary'>This is used for statements which follow fairly directly from previous statements. Again, these can be major results. </para>
+<para role='lemma'>These are smaller results needed to prove other statements.</para>
+<para role='proposition'>These are less major results which (hopefully) add to the general theory being discussed.</para>
+<para role='conjecture'>These are statements provided without justification, which the author does not know how to prove, but which seem to be true (to the author, at least).</para>
+<para role='definition'>Guess what this is for. The font is different for this environment than for the previous ones. </para>
+<informalexample>
+<para>Used for examples illustrating proven results.</para>
+</informalexample>
+<para role='problem'>It's not really known what this is for. You should figure it out.</para>
+<para role='exercise'>Write a description for this one.</para>
+<note role='theorem'>
+<para>This environment is also a type of theorem, usually a lesser sort of observation.</para>
+</note>
+<para role='claim'>Often used in the course of giving a proof of a larger result.</para>
+<para role='cases'>Generally, these are used to break up long arguments, using specific instances of some condition. The numbering scheme for cases is on its own, not together with other numbered statements. </para>
+<para role='proof'>At the end of this environment, a QED symbol (usually a square, but it can vary with different styles) is placed. If you want to have other environments within this one—for example, Case environments—and have the QED symbol appear only after them, then the other environments need to be nested within the proof environment. See the section <emphasis>Nesting Environments</emphasis> of the <emphasis>User's Guide</emphasis> for information on nesting.</para>
+<para>And these environments are provided by <code>Theorems (AMS-Extended)</code>:</para>
+<para role='criterion'>A required condition.</para>
+<para role='algorithm'>A general procedure to be used.</para>
+<para role='axiom'>This is a property or statement taken as true within the system being discussed.</para>
+<para role='condition'>Sometimes used to state a condition assumed within the present context of discussion.</para>
+<note role='theorem'>
+<para>Similar to a Remark.</para>
+</note>
+<para role='notation'>Used for the explanation of, yes, notation.</para>
+<para role='summary'>Do we really need to tell you? </para>
+<para role='acknowledgement'>Acknowledgement.</para>
+<para role='conclusion'>Sometimes used at the end of a long train of argument.</para>
+<para role='fact'>Used in a way similar to Proposition, though perhaps lower on the scale.</para>
+<para>In addition, the AMS classes automatically provide the AMS LaTeX and AMS fonts packages. They need to be available on your system in order to use these environments.</para>
+</section>
 </chapter>
 </book>
\ No newline at end of file
diff --git a/development/DocBookToDo b/development/DocBookToDo
index 39ca534..6b6ca34 100644
--- a/development/DocBookToDo
+++ b/development/DocBookToDo
@@ -17,4 +17,25 @@ TableRefs, TableComments: no mapping in DocBook, not really a way to add these t
 
 Clearly, with this kind of template, we're reaching the limits of such a system! Having a really good converter for all these cases would require a lot of very specific code. 
 
-More general: what the heck with appendices? It's not handled in the LyX way (Document > Start Appendix Here), but in a custom way. Making this work would solve some correctness issues with this template. 
\ No newline at end of file
+More general: what the heck with appendices? It's not handled in the LyX way (Document > Start Appendix Here), but in a custom way. Making this work would solve some correctness issues with this template. 
+
+
+
+Things specific to modules
+==========================
+
+AMS
+---
+
+Theorems and the like do not have counter parts in DocBook. Maybe a <formalpara> could do the trick, but I'd need to find a way to shoehorn a title through the styles (i.e. a first complete tag): 
+
+	LyX:
+		Theorem: Bla bla
+
+	DocBook:
+		<formalpara>
+			<title>Theorem</title>
+			<para>Bla bla</para>
+		</formalpara>
+
+This would also only be a solution for single-paragraph things, as formalpara only allows one paragraph. Or a sidebar, but it's semantically very remote. 
\ No newline at end of file
diff --git a/lib/layouts/theorems-ams-bytype.inc b/lib/layouts/theorems-ams-bytype.inc
index a306f15..fede0e8 100644
--- a/lib/layouts/theorems-ams-bytype.inc
+++ b/lib/layouts/theorems-ams-bytype.inc
@@ -110,6 +110,8 @@ Style Theorem
 		\addto\captions$$lang{\renewcommand{\theoremname}{_(Theorem)}}
 	EndBabelPreamble
 	Requires              amsthm
+	DocBookTag            para
+	DocBookAttr           role='theorem'
 End
 
 
@@ -128,6 +130,8 @@ Style Corollary
 	BabelPreamble
 		\addto\captions$$lang{\renewcommand{\corollaryname}{_(Corollary)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='corollary'
 End
 
 
@@ -146,6 +150,8 @@ Style Lemma
 	  \addto\captions$$lang{\renewcommand{\lemmaname}{_(Lemma)}}
 	EndBabelPreamble
 	LabelCounter          lemma
+	DocBookTag            para
+	DocBookAttr           role='lemma'
 End
 
 
@@ -164,6 +170,8 @@ Style Proposition
 	  \addto\captions$$lang{\renewcommand{\propositionname}{_(Proposition)}}
 	EndBabelPreamble
 	LabelCounter          proposition
+	DocBookTag            para
+	DocBookAttr           role='proposition'
 End
 
 
@@ -182,6 +190,8 @@ Style Conjecture
 	  \addto\captions$$lang{\renewcommand{\conjecturename}{_(Conjecture)}}
 	EndBabelPreamble
 	LabelCounter          conjecture
+	DocBookTag            para
+	DocBookAttr           role='conjecture'
 End
 
 
@@ -200,6 +210,8 @@ Style Fact
 	  \addto\captions$$lang{\renewcommand{\factname}{_(Fact)}}
 	EndBabelPreamble
 	LabelCounter          fact
+	DocBookTag            para
+	DocBookAttr           role='fact'
 End
 
 
@@ -225,6 +237,8 @@ Style Definition
 	  \addto\captions$$lang{\renewcommand{\definitionname}{_(Definition)}}
 	EndBabelPreamble
 	LabelCounter          definition
+	DocBookTag            para
+	DocBookAttr           role='definition'
 End
 
 
@@ -244,6 +258,9 @@ Style Example
 	  \addto\captions$$lang{\renewcommand{\examplename}{_(Example)}}
 	EndBabelPreamble
 	LabelCounter          example
+	DocBookWrapperTag     informalexample
+	DocBookTag            para
+	DocBookAttr        ""
 End
 
 
@@ -263,6 +280,8 @@ Style Problem
 	  \addto\captions$$lang{\renewcommand{\problemname}{_(Problem)}}
 	EndBabelPreamble
 	LabelCounter          problem
+	DocBookTag            para
+	DocBookAttr           role='problem'
 End
 
 
@@ -282,6 +301,8 @@ Style Exercise
 	  \addto\captions$$lang{\renewcommand{\exercisename}{_(Exercise)}}
 	EndBabelPreamble
 	LabelCounter          exercise
+	DocBookTag            para
+	DocBookAttr           role='exercise'
 End
 
 
@@ -301,6 +322,8 @@ Style Solution
 		\addto\captions$$lang{\renewcommand{\solutionname}{_(Solution)}}
 	EndBabelPreamble
 	LabelCounter          solution
+	DocBookTag            para
+	DocBookAttr           role='solution'
 End
 
 
@@ -348,6 +371,9 @@ Style Claim
 	  \addto\captions$$lang{\renewcommand{\claimname}{_(Claim)}}
 	EndBabelPreamble
 	LabelCounter          claim
+	DocBookTag            para
+	DocBookAttr           role='claim'
+	DocBookItemTag        ""
 End
 
 Input theorems-case.inc
diff --git a/lib/layouts/theorems-ams-chap-bytype.inc b/lib/layouts/theorems-ams-chap-bytype.inc
index e4528f7..faaa2d0 100644
--- a/lib/layouts/theorems-ams-chap-bytype.inc
+++ b/lib/layouts/theorems-ams-chap-bytype.inc
@@ -129,6 +129,8 @@ Style Theorem
 		\addto\captions$$lang{\renewcommand{\theoremname}{_(Theorem)}}
 	EndBabelPreamble
 	Requires              amsthm
+	DocBookTag            para
+	DocBookAttr           role='theorem'
 End
 
 
@@ -151,6 +153,8 @@ Style Corollary
 	BabelPreamble
 		\addto\captions$$lang{\renewcommand{\corollaryname}{_(Corollary)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='corollary'
 End
 
 
@@ -173,6 +177,8 @@ Style Lemma
 	  \addto\captions$$lang{\renewcommand{\lemmaname}{_(Lemma)}}
 	EndBabelPreamble
 	LabelCounter          lemma
+	DocBookTag            para
+	DocBookAttr           role='lemma'
 End
 
 
@@ -195,6 +201,8 @@ Style Proposition
 	  \addto\captions$$lang{\renewcommand{\propositionname}{_(Proposition)}}
 	EndBabelPreamble
 	LabelCounter          proposition
+	DocBookTag            para
+	DocBookAttr           role='proposition'
 End
 
 
@@ -217,6 +225,8 @@ Style Conjecture
 	  \addto\captions$$lang{\renewcommand{\conjecturename}{_(Conjecture)}}
 	EndBabelPreamble
 	LabelCounter          conjecture
+	DocBookTag            para
+	DocBookAttr           role='conjecture'
 End
 
 
@@ -239,6 +249,8 @@ Style Fact
 	  \addto\captions$$lang{\renewcommand{\factname}{_(Fact)}}
 	EndBabelPreamble
 	LabelCounter          fact
+	DocBookTag            para
+	DocBookAttr           role='fact'
 End
 
 
@@ -268,6 +280,8 @@ Style Definition
 	  \addto\captions$$lang{\renewcommand{\definitionname}{_(Definition)}}
 	EndBabelPreamble
 	LabelCounter          definition
+	DocBookTag            para
+	DocBookAttr           role='definition'
 End
 
 
@@ -291,6 +305,9 @@ Style Example
 	  \addto\captions$$lang{\renewcommand{\examplename}{_(Example)}}
 	EndBabelPreamble
 	LabelCounter          example
+	DocBookWrapperTag     informalexample
+	DocBookTag            para
+	DocBookAttr        ""
 End
 
 
@@ -314,6 +331,8 @@ Style Problem
 	  \addto\captions$$lang{\renewcommand{\problemname}{_(Problem)}}
 	EndBabelPreamble
 	LabelCounter          problem
+	DocBookTag            para
+	DocBookAttr           role='problem'
 End
 
 
@@ -337,6 +356,8 @@ Style Exercise
 	  \addto\captions$$lang{\renewcommand{\exercisename}{_(Exercise)}}
 	EndBabelPreamble
 	LabelCounter          exercise
+	DocBookTag            para
+	DocBookAttr           role='exercise'
 End
 
 
@@ -360,6 +381,8 @@ Style Solution
 		\addto\captions$$lang{\renewcommand{\solutionname}{_(Solution)}}
 	EndBabelPreamble
 	LabelCounter          solution
+	DocBookTag            para
+	DocBookAttr           role='solution'
 End
 
 
@@ -415,6 +438,9 @@ Style Claim
 	  \addto\captions$$lang{\renewcommand{\claimname}{_(Claim)}}
 	EndBabelPreamble
 	LabelCounter          claim
+	DocBookTag            para
+	DocBookAttr           role='claim'
+	DocBookItemTag        ""
 End
 
 
diff --git a/lib/layouts/theorems-ams-extended-bytype.module b/lib/layouts/theorems-ams-extended-bytype.module
index e031a74..c537def 100644
--- a/lib/layouts/theorems-ams-extended-bytype.module
+++ b/lib/layouts/theorems-ams-extended-bytype.module
@@ -87,6 +87,9 @@ Style Criterion
 	  \addto\captions$$lang{\renewcommand{\criterionname}{_(Criterion)}}
 	EndBabelPreamble
 	LabelCounter          criterion
+	DocBookTag            para
+	DocBookAttr           role='criterion'
+	DocBookItemTag        ""
 End
 
 Style Criterion*
@@ -103,6 +106,9 @@ Style Criterion*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\criterionname}{_(Criterion)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='criterion'
+	DocBookItemTag        ""
 End
 
 
@@ -121,6 +127,9 @@ Style Algorithm
 	  \addto\captions$$lang{\renewcommand{\algorithmname}{_(Algorithm)}}
 	EndBabelPreamble
 	LabelCounter          algorithm
+	DocBookTag            para
+	DocBookAttr           role='algorithm'
+	DocBookItemTag        ""
 End
 
 
@@ -138,6 +147,9 @@ Style Algorithm*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\algorithmname}{_(Algorithm)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='algorithm'
+	DocBookItemTag        ""
 End
 
 
@@ -156,6 +168,9 @@ Style Axiom
 	  \addto\captions$$lang{\renewcommand{\axiomname}{_(Axiom)}}
 	EndBabelPreamble
 	LabelCounter          axiom
+	DocBookTag            para
+	DocBookAttr           role='axiom'
+	DocBookItemTag        ""
 End
 
 
@@ -173,6 +188,9 @@ Style Axiom*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\axiomname}{_(Axiom)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='axiom'
+	DocBookItemTag        ""
 End
 
 
@@ -191,6 +209,9 @@ Style Condition
 	  \addto\captions$$lang{\renewcommand{\conditionname}{_(Condition)}}
 	EndBabelPreamble
 	LabelCounter          condition
+	DocBookTag            para
+	DocBookAttr           role='condition'
+	DocBookItemTag        ""
 End
 
 
@@ -208,6 +229,9 @@ Style Condition*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\conditionname}{_(Condition)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='condition'
+	DocBookItemTag        ""
 End
 
 
@@ -226,6 +250,8 @@ Style Note
 	  \addto\captions$$lang{\renewcommand{\notename}{_(Note)}}
 	EndBabelPreamble
 	LabelCounter          note
+	DocBookTag            note
+	DocBookItemTag        para
 End
 
 
@@ -243,6 +269,8 @@ Style Note*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\notename}{_(Note)}}
 	EndBabelPreamble
+	DocBookTag            note
+	DocBookItemTag        para
 End
 
 
@@ -261,6 +289,9 @@ Style Notation
 	  \addto\captions$$lang{\renewcommand{\notationname}{_(Notation)}}
 	EndBabelPreamble
 	LabelCounter          notation
+	DocBookTag            para
+	DocBookAttr           role='notation'
+	DocBookItemTag        ""
 End
 
 
@@ -278,6 +309,9 @@ Style Notation*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\notationname}{_(Notation)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='notation'
+	DocBookItemTag        ""
 End
 
 
@@ -296,6 +330,9 @@ Style Summary
 	  \addto\captions$$lang{\renewcommand{\summaryname}{_(Summary)}}
 	EndBabelPreamble
 	LabelCounter          summary
+	DocBookTag            para
+	DocBookAttr           role='summary'
+	DocBookItemTag        ""
 End
 
 
@@ -313,6 +350,9 @@ Style Summary*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\summaryname}{_(Summary)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='summary'
+	DocBookItemTag        ""
 End
 
 
@@ -331,6 +371,9 @@ Style Acknowledgement
 	  \addto\captions$$lang{\renewcommand{\acknowledgementname}{_(Acknowledgement)}}
 	EndBabelPreamble
 	LabelCounter          acknowledgement
+	DocBookTag            para
+	DocBookAttr           role='acknowledgement'
+	DocBookItemTag        ""
 End
 
 
@@ -348,6 +391,9 @@ Style Acknowledgement*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\acknowledgementname}{_(Acknowledgement)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='acknowledgement'
+	DocBookItemTag        ""
 End
 
 
@@ -366,6 +412,9 @@ Style Conclusion
 	  \addto\captions$$lang{\renewcommand{\conclusionname}{_(Conclusion)}}
 	EndBabelPreamble
 	LabelCounter          conclusion
+	DocBookTag            para
+	DocBookAttr           role='conclusion'
+	DocBookItemTag        ""
 End
 
 
@@ -383,6 +432,9 @@ Style Conclusion*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\conclusionname}{_(Conclusion)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='conclusion'
+	DocBookItemTag        ""
 End
 
 
@@ -401,6 +453,9 @@ Style Assumption
 	  \addto\captions$$lang{\renewcommand{\assumptionname}{_(Assumption)}}
 	EndBabelPreamble
 	LabelCounter          assumption
+	DocBookTag            para
+	DocBookAttr           role='assumption'
+	DocBookItemTag        ""
 End
 
 
@@ -418,6 +473,9 @@ Style Assumption*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\assumptionname}{_(Assumption)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='assumption'
+	DocBookItemTag        ""
 End
 
 Style Question
@@ -436,6 +494,9 @@ Style Question
 	  \addto\captions$$lang{\renewcommand{\questionname}{_(Question)}}
 	EndBabelPreamble
 	LabelCounter          question
+	DocBookTag            para
+	DocBookAttr           role='question'
+	DocBookItemTag        ""
 End
 
 Style Question*
@@ -452,6 +513,9 @@ Style Question*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\questionname}{_(Question)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='question'
+	DocBookItemTag        ""
 End
 
 Input theorems-refprefix.inc
diff --git a/lib/layouts/theorems-ams-extended-chap-bytype.module b/lib/layouts/theorems-ams-extended-chap-bytype.module
index 435eb65..7252073 100644
--- a/lib/layouts/theorems-ams-extended-chap-bytype.module
+++ b/lib/layouts/theorems-ams-extended-chap-bytype.module
@@ -105,6 +105,9 @@ Style Criterion
 	  \addto\captions$$lang{\renewcommand{\criterionname}{_(Criterion)}}
 	EndBabelPreamble
 	LabelCounter          criterion
+	DocBookTag            para
+	DocBookAttr           role='criterion'
+	DocBookItemTag        ""
 End
 
 
@@ -122,6 +125,9 @@ Style Criterion*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\criterionname}{_(Criterion)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='criterion'
+	DocBookItemTag        ""
 End
 
 
@@ -144,6 +150,9 @@ Style Algorithm
 	  \addto\captions$$lang{\renewcommand{\algorithmname}{_(Algorithm)}}
 	EndBabelPreamble
 	LabelCounter          algorithm
+	DocBookTag            para
+	DocBookAttr           role='algorithm'
+	DocBookItemTag        ""
 End
 
 
@@ -161,6 +170,9 @@ Style Algorithm*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\algorithmname}{_(Algorithm)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='algorithm'
+	DocBookItemTag        ""
 End
 
 
@@ -183,6 +195,9 @@ Style Axiom
 	  \addto\captions$$lang{\renewcommand{\axiomname}{_(Axiom)}}
 	EndBabelPreamble
 	LabelCounter          axiom
+	DocBookTag            para
+	DocBookAttr           role='axiom'
+	DocBookItemTag        ""
 End
 
 
@@ -200,6 +215,9 @@ Style Axiom*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\axiomname}{_(Axiom)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='axiom'
+	DocBookItemTag        ""
 End
 
 
@@ -222,6 +240,9 @@ Style Condition
 	  \addto\captions$$lang{\renewcommand{\conditionname}{_(Condition)}}
 	EndBabelPreamble
 	LabelCounter          condition
+	DocBookTag            para
+	DocBookAttr           role='condition'
+	DocBookItemTag        ""
 End
 
 
@@ -239,6 +260,9 @@ Style Condition*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\conditionname}{_(Condition)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='condition'
+	DocBookItemTag        ""
 End
 
 
@@ -261,6 +285,8 @@ Style Note
 	  \addto\captions$$lang{\renewcommand{\notename}{_(Note)}}
 	EndBabelPreamble
 	LabelCounter          note
+	DocBookTag            note
+	DocBookItemTag        para
 End
 
 
@@ -278,6 +304,8 @@ Style Note*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\notename}{_(Note)}}
 	EndBabelPreamble
+	DocBookTag            note
+	DocBookItemTag        para
 End
 
 
@@ -300,6 +328,9 @@ Style Notation
 	  \addto\captions$$lang{\renewcommand{\notationname}{_(Notation)}}
 	EndBabelPreamble
 	LabelCounter          notation
+	DocBookTag            para
+	DocBookAttr           role='notation'
+	DocBookItemTag        ""
 End
 
 
@@ -317,6 +348,9 @@ Style Notation*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\notationname}{_(Notation)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='notation'
+	DocBookItemTag        ""
 End
 
 
@@ -340,6 +374,9 @@ Style Summary
 	  \addto\captions$$lang{\renewcommand{\summaryname}{_(Summary)}}
 	EndBabelPreamble
 	LabelCounter          summary
+	DocBookTag            para
+	DocBookAttr           role='summary'
+	DocBookItemTag        ""
 End
 
 
@@ -357,6 +394,9 @@ Style Summary*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\summaryname}{_(Summary)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='summary'
+	DocBookItemTag        ""
 End
 
 
@@ -379,6 +419,9 @@ Style Acknowledgement
 	  \addto\captions$$lang{\renewcommand{\acknowledgementname}{_(Acknowledgement)}}
 	EndBabelPreamble
 	LabelCounter          acknowledgement
+	DocBookTag            para
+	DocBookAttr           role='acknowledgement'
+	DocBookItemTag        ""
 End
 
 
@@ -396,6 +439,9 @@ Style Acknowledgement*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\acknowledgementname}{_(Acknowledgement)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='acknowledgement'
+	DocBookItemTag        ""
 End
 
 
@@ -418,6 +464,9 @@ Style Conclusion
 	  \addto\captions$$lang{\renewcommand{\conclusionname}{_(Conclusion)}}
 	EndBabelPreamble
 	LabelCounter          conclusion
+	DocBookTag            para
+	DocBookAttr           role='conclusion'
+	DocBookItemTag        ""
 End
 
 
@@ -435,6 +484,9 @@ Style Conclusion*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\conclusionname}{_(Conclusion)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='conclusion'
+	DocBookItemTag        ""
 End
 
 
@@ -457,6 +509,9 @@ Style Assumption
 	  \addto\captions$$lang{\renewcommand{\assumptionname}{_(Assumption)}}
 	EndBabelPreamble
 	LabelCounter          assumption
+	DocBookTag            para
+	DocBookAttr           role='assumption'
+	DocBookItemTag        ""
 End
 
 
@@ -474,6 +529,9 @@ Style Assumption*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\assumptionname}{_(Assumption)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='assumption'
+	DocBookItemTag        ""
 End
 
 Style Question
@@ -496,6 +554,9 @@ Style Question
 	  \addto\captions$$lang{\renewcommand{\questionname}{_(Question)}}
 	EndBabelPreamble
 	LabelCounter          question
+	DocBookTag            para
+	DocBookAttr           role='question'
+	DocBookItemTag        ""
 End
 
 Style Question*
@@ -512,6 +573,9 @@ Style Question*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\questionname}{_(Question)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='question'
+	DocBookItemTag        ""
 End
 
 Input theorems-refprefix.inc
diff --git a/lib/layouts/theorems-ams-extended.module b/lib/layouts/theorems-ams-extended.module
index 0f33a90..f2c4cf0 100644
--- a/lib/layouts/theorems-ams-extended.module
+++ b/lib/layouts/theorems-ams-extended.module
@@ -48,6 +48,9 @@ Style Criterion
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\criterionname}{_(Criterion)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='criterion'
+	DocBookItemTag        ""
 End
 
 Style Criterion*
@@ -64,6 +67,9 @@ Style Criterion*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\criterionname}{_(Criterion)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='criterion'
+	DocBookItemTag        ""
 End
 
 
@@ -82,6 +88,9 @@ Style Algorithm
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\algorithmname}{_(Algorithm)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='algorithm'
+	DocBookItemTag        ""
 End
 
 
@@ -99,6 +108,9 @@ Style Algorithm*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\algorithmname}{_(Algorithm)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='algorithm'
+	DocBookItemTag        ""
 End
 
 
@@ -117,6 +129,9 @@ Style Axiom
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\axiomname}{_(Axiom)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='axiom'
+	DocBookItemTag        ""
 End
 
 
@@ -134,6 +149,9 @@ Style Axiom*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\axiomname}{_(Axiom)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='axiom'
+	DocBookItemTag        ""
 End
 
 
@@ -151,6 +169,9 @@ Style Condition
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\conditionname}{_(Condition)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='condition'
+	DocBookItemTag        ""
 End
 
 
@@ -168,6 +189,9 @@ Style Condition*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\conditionname}{_(Condition)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='condition'
+	DocBookItemTag        ""
 End
 
 
@@ -185,6 +209,8 @@ Style Note
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\notename}{_(Note)}}
 	EndBabelPreamble
+	DocBookTag            note
+	DocBookItemTag        para
 End
 
 
@@ -202,6 +228,8 @@ Style Note*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\notename}{_(Note)}}
 	EndBabelPreamble
+	DocBookTag            note
+	DocBookItemTag        para
 End
 
 
@@ -219,6 +247,9 @@ Style Notation
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\notationname}{_(Notation)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='notation'
+	DocBookItemTag        ""
 End
 
 
@@ -236,6 +267,9 @@ Style Notation*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\notationname}{_(Notation)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='notation'
+	DocBookItemTag        ""
 End
 
 
@@ -253,6 +287,9 @@ Style Summary
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\summaryname}{_(Summary)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='summary'
+	DocBookItemTag        ""
 End
 
 
@@ -270,6 +307,9 @@ Style Summary*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\summaryname}{_(Summary)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='summary'
+	DocBookItemTag        ""
 End
 
 
@@ -287,6 +327,9 @@ Style Acknowledgement
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\acknowledgementname}{_(Acknowledgement)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='acknowledgement'
+	DocBookItemTag        ""
 End
 
 
@@ -304,6 +347,9 @@ Style Acknowledgement*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\acknowledgementname}{_(Acknowledgement)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='acknowledgement'
+	DocBookItemTag        ""
 End
 
 
@@ -321,6 +367,9 @@ Style Conclusion
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\conclusionname}{_(Conclusion)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='conclusion'
+	DocBookItemTag        ""
 End
 
 
@@ -338,6 +387,9 @@ Style Conclusion*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\conclusionname}{_(Conclusion)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='conclusion'
+	DocBookItemTag        ""
 End
 
 
@@ -356,6 +408,9 @@ Style Assumption
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\assumptionname}{_(Assumption)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='assumption'
+	DocBookItemTag        ""
 End
 
 
@@ -373,6 +428,9 @@ Style Assumption*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\assumptionname}{_(Assumption)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='assumption'
+	DocBookItemTag        ""
 End
 
 Style Question
@@ -390,6 +448,9 @@ Style Question
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\questionname}{_(Question)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='question'
+	DocBookItemTag        ""
 End
 
 Style Question*
@@ -406,6 +467,9 @@ Style Question*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\questionname}{_(Question)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='question'
+	DocBookItemTag        ""
 End
 
 Input theorems-refprefix.inc
diff --git a/lib/layouts/theorems-ams.inc b/lib/layouts/theorems-ams.inc
index 99fcbf9..44cc806 100644
--- a/lib/layouts/theorems-ams.inc
+++ b/lib/layouts/theorems-ams.inc
@@ -69,6 +69,8 @@ Style Theorem
 	  \addto\captions$$lang{\renewcommand{\theoremname}{_(Theorem)}}
 	EndBabelPreamble
 	Requires              amsthm
+	DocBookTag            para
+	DocBookAttr           role='theorem'
 End
 
 
@@ -87,6 +89,8 @@ Style Corollary
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\corollaryname}{_(Corollary)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='corollary'
 End
 
 
@@ -105,6 +109,8 @@ Style Lemma
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\lemmaname}{_(Lemma)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='lemma'
 End
 
 
@@ -123,6 +129,8 @@ Style Proposition
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\propositionname}{_(Proposition)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='proposition'
 End
 
 
@@ -141,6 +149,8 @@ Style Conjecture
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\conjecturename}{_(Conjecture)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='conjecture'
 End
 
 
@@ -159,6 +169,8 @@ Style Fact
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\factname}{_(Fact)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='fact'
 End
 
 
@@ -184,6 +196,8 @@ Style Definition
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\definitionname}{_(Definition)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='definition'
 End
 
 
@@ -201,6 +215,9 @@ Style Example
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\examplename}{_(Example)}}
 	EndBabelPreamble
+	DocBookWrapperTag     informalexample
+	DocBookTag            para
+	DocBookAttr           ""
 End
 
 
@@ -218,6 +235,8 @@ Style Problem
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\problemname}{_(Problem)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='problem'
 End
 
 
@@ -235,6 +254,8 @@ Style Exercise
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\exercisename}{_(Exercise)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='exercise'
 End
 
 
@@ -252,6 +273,8 @@ Style Solution
 	BabelPreamble
 		\addto\captions$$lang{\renewcommand{\solutionname}{_(Solution)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='solution'
 End
 
 
@@ -297,6 +320,9 @@ Style Claim
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\claimname}{_(Claim)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='claim'
+	DocBookItemTag        ""
 End
 
 Input theorems-case.inc
diff --git a/lib/layouts/theorems-bytype.inc b/lib/layouts/theorems-bytype.inc
index a61a4df..a40098b 100644
--- a/lib/layouts/theorems-bytype.inc
+++ b/lib/layouts/theorems-bytype.inc
@@ -66,6 +66,8 @@ Style Theorem
 		\addto\captions$$lang{\renewcommand{\theoremname}{_(Theorem)}}
 	EndBabelPreamble
 	Requires              amsthm
+	DocBookTag            para
+	DocBookAttr           role='theorem'
 End
 
 
@@ -84,6 +86,8 @@ Style Corollary
 		\addto\captions$$lang{\renewcommand{\corollaryname}{_(Corollary)}}
 	EndBabelPreamble
 	LabelCounter          corollary
+	DocBookTag            para
+	DocBookAttr           role='corollary'
 End
 
 
@@ -102,6 +106,8 @@ Style Lemma
 		\addto\captions$$lang{\renewcommand{\lemmaname}{_(Lemma)}}
 	EndBabelPreamble
 	LabelCounter          lemma
+	DocBookTag            para
+	DocBookAttr           role='lemma'
 End
 
 
@@ -120,6 +126,8 @@ Style Proposition
 		\addto\captions$$lang{\renewcommand{\propositionname}{_(Proposition)}}
 	EndBabelPreamble
 	LabelCounter          proposition
+	DocBookTag            para
+	DocBookAttr           role='proposition'
 End
 
 
@@ -138,6 +146,8 @@ Style Conjecture
 		\addto\captions$$lang{\renewcommand{\conjecturename}{_(Conjecture)}}
 	EndBabelPreamble
 	LabelCounter          conjecture
+	DocBookTag            para
+	DocBookAttr           role='conjecture'
 End
 
 
@@ -156,6 +166,8 @@ Style Fact
 		\addto\captions$$lang{\renewcommand{\factname}{_(Fact)}}
 	EndBabelPreamble
 	LabelCounter          fact
+	DocBookTag            para
+	DocBookAttr           role='fact'
 End
 
 
@@ -181,6 +193,8 @@ Style Definition
 		\addto\captions$$lang{\renewcommand{\definitionname}{_(Definition)}}
 	EndBabelPreamble
 	LabelCounter          definition  
+	DocBookTag            para
+	DocBookAttr           role='definition'
 End
 
 
@@ -200,6 +214,9 @@ Style Example
 		\addto\captions$$lang{\renewcommand{\examplename}{_(Example)}}
 	EndBabelPreamble
 	LabelCounter          example
+	DocBookWrapperTag     informalexample
+	DocBookTag            para
+	DocBookAttr        ""
 End
 
 
@@ -219,6 +236,8 @@ Style Problem
 		\addto\captions$$lang{\renewcommand{\problemname}{_(Problem)}}
 	EndBabelPreamble
 	LabelCounter          problem
+	DocBookTag            para
+	DocBookAttr           role='problem'
 End
 
 
@@ -238,6 +257,8 @@ Style Exercise
 		\addto\captions$$lang{\renewcommand{\exercisename}{_(Exercise)}}
 	EndBabelPreamble
 	LabelCounter          exercise
+	DocBookTag            para
+	DocBookAttr           role='exercise'
 End
 
 
@@ -257,6 +278,8 @@ Style Solution
 		\addto\captions$$lang{\renewcommand{\solutionname}{_(Solution)}}
 	EndBabelPreamble
 	LabelCounter          solution
+	DocBookTag            para
+	DocBookAttr           role='solution'
 End
 
 
@@ -304,6 +327,9 @@ Style Claim
 		\addto\captions$$lang{\renewcommand{\claimname}{_(Claim)}}
 	EndBabelPreamble
 	LabelCounter          claim
+	DocBookTag            para
+	DocBookAttr           role='claim'
+	DocBookItemTag        ""
 End
 
 Input theorems-case.inc
diff --git a/lib/layouts/theorems-case.inc b/lib/layouts/theorems-case.inc
index cf85b48..1ee52a3 100644
--- a/lib/layouts/theorems-case.inc
+++ b/lib/layouts/theorems-case.inc
@@ -86,4 +86,6 @@ Style Case
     \addto\captions$$lang{\renewcommand{\casename}{_(Case)}}
   EndBabelPreamble
   RefPrefix OFF
+  DocBookTag            para
+  DocBookAttr           role='cases'
 End
diff --git a/lib/layouts/theorems-proof-std.inc b/lib/layouts/theorems-proof-std.inc
index 89c4173..8ba18cf 100644
--- a/lib/layouts/theorems-proof-std.inc
+++ b/lib/layouts/theorems-proof-std.inc
@@ -18,4 +18,6 @@ Style Proof
 		\fi
 	EndPreamble
 # No LangPreamble or BabelPreamble, since babel knows \proofname already.
+	DocBookTag            para
+	DocBookAttr           role='proof'
 End
diff --git a/lib/layouts/theorems-proof.inc b/lib/layouts/theorems-proof.inc
index 345ba38..949a35e 100644
--- a/lib/layouts/theorems-proof.inc
+++ b/lib/layouts/theorems-proof.inc
@@ -40,5 +40,7 @@ Style Proof
 	LabelFont
 	  Shape               Italic
 	EndFont
+	DocBookTag            para
+	DocBookAttr           role='proof'
 End
 
diff --git a/lib/layouts/theorems-starred.inc b/lib/layouts/theorems-starred.inc
index 4add989..fa02b21 100644
--- a/lib/layouts/theorems-starred.inc
+++ b/lib/layouts/theorems-starred.inc
@@ -67,6 +67,8 @@ Style Theorem*
 	  \addto\captions$$lang{\renewcommand{\theoremname}{_(Theorem)}}
 	EndBabelPreamble
 	Requires              amsthm
+	DocBookTag            para
+	DocBookAttr           role='theorem'
 End
 
 
@@ -84,6 +86,8 @@ Style Corollary*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\corollaryname}{_(Corollary)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='corollary'
 End
 
 
@@ -101,6 +105,8 @@ Style Lemma*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\lemmaname}{_(Lemma)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='lemma'
 End
 
 
@@ -118,6 +124,8 @@ Style Proposition*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\propositionname}{_(Proposition)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='proposition'
 End
 
 
@@ -135,6 +143,8 @@ Style Conjecture*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\conjecturename}{_(Conjecture)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='conjecture'
 End
 
 
@@ -152,6 +162,8 @@ Style Fact*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\factname}{_(Fact)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='fact'
 End
 
 
@@ -177,6 +189,8 @@ Style Definition*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\definitionname}{_(Definition)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='definition'
 End
 
 
@@ -194,6 +208,9 @@ Style Example*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\examplename}{_(Example)}}
 	EndBabelPreamble
+	DocBookWrapperTag     informalexample
+	DocBookTag            para
+	DocBookAttr        ""
 End
 
 
@@ -211,6 +228,8 @@ Style Problem*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\problemname}{_(Problem)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='problem'
 End
 
 
@@ -228,6 +247,8 @@ Style Exercise*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\exercisename}{_(Exercise)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='exercise'
 End
 
 
@@ -245,6 +266,8 @@ Style Solution*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\solutionname}{_(Solution)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='solution'
 End
 
 
@@ -270,6 +293,8 @@ Style Remark*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\remarkname}{_(Remark)}}
 	EndBabelPreamble
+	DocBookTag            note
+	DocBookItemTag        para
 End
 
 
@@ -287,5 +312,8 @@ Style Claim*
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\claimname}{_(Claim)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='claim'
+	DocBookItemTag        ""
 End
 
diff --git a/lib/layouts/theorems-without-preamble.inc b/lib/layouts/theorems-without-preamble.inc
index 80beb8e..43b8c0c 100644
--- a/lib/layouts/theorems-without-preamble.inc
+++ b/lib/layouts/theorems-without-preamble.inc
@@ -72,6 +72,8 @@ Style Theorem
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\theoremname}{_(Theorem)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='theorem'
 End
 
 
@@ -89,6 +91,8 @@ Style Corollary
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\corollaryname}{_(Corollary)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='corollary'
 End
 
 
@@ -106,6 +110,8 @@ Style Lemma
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\lemmaname}{_(Lemma)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='lemma'
 End
 
 
@@ -123,6 +129,8 @@ Style Proposition
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\propositionname}{_(Proposition)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='proposition'
 End
 
 
@@ -140,6 +148,8 @@ Style Prop
 	LabelFont
 	  Series	Medium
 	EndFont
+	DocBookTag            para
+	DocBookAttr           role='proposition'
 End
 
 
@@ -164,6 +174,8 @@ Style Conjecture
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\conjecturename}{_(Conjecture)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='conjecture'
 End
 
 
@@ -181,6 +193,8 @@ Style Fact
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\factname}{_(Fact)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='fact'
 End
 
 
@@ -206,6 +220,8 @@ Style Definition
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\definitionname}{_(Definition)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='definition'
 End
 
 
@@ -224,6 +240,9 @@ Style Example
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\examplename}{_(Example)}}
 	EndBabelPreamble
+	DocBookWrapperTag     informalexample
+	DocBookTag            para
+	DocBookAttr        ""
 End
 
 
@@ -243,6 +262,8 @@ Style Problem
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\problemname}{_(Problem)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='problem'
 End
 
 
@@ -276,6 +297,8 @@ Style Prob
 	EndFont
 	AddToToc	thm
 	IsTocCaption	true
+	DocBookTag            para
+	DocBookAttr           role='problem'
 End
 
 
@@ -294,6 +317,8 @@ Style Solution
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\solutionname}{_(Solution)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='solution'
 End
 
 
@@ -308,6 +333,8 @@ Style Sol
 	  Tooltip	"Label of the corresponding problem"
 	  IsTocCaption true
 	EndArgument
+	DocBookTag            para
+	DocBookAttr           role='solution'
 End
 
 
@@ -326,6 +353,8 @@ Style Exercise
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\exercisename}{_(Exercise)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='exercise'
 End
 
 
@@ -344,6 +373,8 @@ Style Remark
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\remarkname}{_(Remark)}}
 	EndBabelPreamble
+	DocBookTag            note
+	DocBookItemTag        para
 End
 
 
@@ -357,6 +388,9 @@ Style		Claim
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\claimname}{_(Claim)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='claim'
+	DocBookItemTag        ""
 End
 
 
@@ -375,6 +409,8 @@ Style Case
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\casename}{_(Case)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='case'
 End
 
 
@@ -393,6 +429,8 @@ Style Property
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\propertyname}{_(Property)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='property'
 End
 
 
@@ -411,6 +449,8 @@ Style Question
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\questionname}{_(Question)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='question'
 End
 
 
@@ -429,5 +469,7 @@ Style Note
 	BabelPreamble
 	  \addto\captions$$lang{\renewcommand{\notename}{_(Note)}}
 	EndBabelPreamble
+	DocBookTag            note
+	DocBookItemTag        para
 End
 
diff --git a/lib/layouts/theorems.inc b/lib/layouts/theorems.inc
index 9017ca6..822ee94 100644
--- a/lib/layouts/theorems.inc
+++ b/lib/layouts/theorems.inc
@@ -69,6 +69,8 @@ Style Theorem
 		\addto\captions$$lang{\renewcommand{\theoremname}{_(Theorem)}}
 	EndBabelPreamble
 	Requires              amsthm
+	DocBookTag            para
+	DocBookAttr           role='theorem'
 End
 
 
@@ -87,6 +89,8 @@ Style Corollary
 	BabelPreamble
 		\addto\captions$$lang{\renewcommand{\corollaryname}{_(Corollary)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='corollary'
 End
 
 
@@ -105,6 +109,8 @@ Style Lemma
 	BabelPreamble
 		\addto\captions$$lang{\renewcommand{\lemmaname}{_(Lemma)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='lemma'
 End
 
 
@@ -123,6 +129,8 @@ Style Proposition
 	BabelPreamble
 		\addto\captions$$lang{\renewcommand{\propositionname}{_(Proposition)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='proposition'
 End
 
 
@@ -141,6 +149,8 @@ Style Conjecture
 	BabelPreamble
 		\addto\captions$$lang{\renewcommand{\conjecturename}{_(Conjecture)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='conjecture'
 End
 
 
@@ -159,6 +169,8 @@ Style Fact
 	BabelPreamble
 		\addto\captions$$lang{\renewcommand{\factname}{_(Fact)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='fact'
 End
 
 
@@ -184,6 +196,8 @@ Style Definition
 	BabelPreamble
 		\addto\captions$$lang{\renewcommand{\definitionname}{_(Definition)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='definition'
 End
 
 
@@ -201,6 +215,9 @@ Style Example
 	BabelPreamble
 		\addto\captions$$lang{\renewcommand{\examplename}{_(Example)}}
 	EndBabelPreamble
+	DocBookWrapperTag     informalexample
+	DocBookTag            para
+	DocBookAttr        ""
 End
 
 
@@ -218,6 +235,8 @@ Style Problem
 	BabelPreamble
 		\addto\captions$$lang{\renewcommand{\problemname}{_(Problem)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='problem'
 End
 
 
@@ -235,6 +254,8 @@ Style Exercise
 	BabelPreamble
 		\addto\captions$$lang{\renewcommand{\exercisename}{_(Exercise)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='exercise'
 End
 
 
@@ -252,6 +273,8 @@ Style Solution
 	BabelPreamble
 		\addto\captions$$lang{\renewcommand{\solutionname}{_(Solution)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='solution'
 End
 
 
@@ -278,6 +301,8 @@ Style Remark
 	BabelPreamble
 		\addto\captions$$lang{\renewcommand{\remarkname}{_(Remark)}}
 	EndBabelPreamble
+	DocBookTag            note
+	DocBookItemTag        para
 End
 
 
@@ -295,6 +320,9 @@ Style Claim
 	BabelPreamble
 		\addto\captions$$lang{\renewcommand{\claimname}{_(Claim)}}
 	EndBabelPreamble
+	DocBookTag            para
+	DocBookAttr           role='claim'
+	DocBookItemTag        ""
 End
 
 Input theorems-case.inc

commit e3da8b65f644df5d7de79c233187144825b9e7f1
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Mon Aug 31 01:41:09 2020 +0200

    DocBook: several missing features for Additional.lyx.
    
    Includes: semantic markup (sorry about noun: Additional.lyx uses it to mark menus; there is something better in DocBook, but it looks like the LaTeX equivalent is really for person names), boxes, info layouts.

diff --git a/autotests/export/docbook/Additional_lyxcode.lyx b/autotests/export/docbook/Additional_lyxcode.lyx
new file mode 100644
index 0000000..fe2d428
--- /dev/null
+++ b/autotests/export/docbook/Additional_lyxcode.lyx
@@ -0,0 +1,371 @@
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 598
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass scrbook
+\begin_preamble
+% DO NOT ALTER THIS PREAMBLE!!!
+%
+% This preamble is designed to ensure that the manual prints
+% out as advertised. If you mess with this preamble,
+% parts of the manual may not print out as expected.  If you
+% have problems LaTeXing this file, please contact 
+% the documentation team
+% email: lyx-docs at lists.lyx.org
+
+% the pages of the TOC are numbered roman
+% and a PDF-bookmark for the TOC is added
+\pagenumbering{roman}
+\let\myTOC\tableofcontents
+\renewcommand{\tableofcontents}{%
+ \pdfbookmark[1]{\contentsname}{}
+ \myTOC
+ \cleardoublepage
+ \pagenumbering{arabic}}
+
+% extra space for tables
+\newcommand{\extratablespace}[1]{\noalign{\vskip#1}}
+\end_preamble
+\options bibliography=totoc,index=totoc,BCOR7.5mm,titlepage,captions=tableheading
+\use_default_options false
+\begin_modules
+logicalmkup
+theorems-ams
+theorems-ams-extended
+multicol
+shapepar
+\end_modules
+\maintain_unincluded_children no
+\language english
+\language_package default
+\inputencoding utf8
+\fontencoding auto
+\font_roman "lmodern" "default"
+\font_sans "lmss" "default"
+\font_typewriter "lmtt" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_roman_osf false
+\font_sans_osf false
+\font_typewriter_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures true
+\graphics default
+\default_output_format pdf2
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize 12
+\spacing single
+\use_hyperref true
+\pdf_title "LyX's Additional Features manual"
+\pdf_author "LyX Team"
+\pdf_subject "LyX's additional features documentation"
+\pdf_keywords "LyX, Documentation, Additional"
+\pdf_bookmarks true
+\pdf_bookmarksnumbered true
+\pdf_bookmarksopen false
+\pdf_bookmarksopenlevel 1
+\pdf_breaklinks false
+\pdf_pdfborder false
+\pdf_colorlinks true
+\pdf_backref false
+\pdf_pdfusetitle false
+\pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue, pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false"
+\papersize a4
+\use_geometry false
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine basic
+\cite_engine_type default
+\biblio_style plain
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 0
+\use_minted 0
+\use_lineno 0
+\notefontcolor #0000ff
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 1
+\math_indentation default
+\math_numbering_side default
+\quotes_style english
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 2
+\paperpagestyle headings
+\tablestyle default
+\tracking_changes false
+\output_changes false
+\change_bars false
+\postpone_fragile_content false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict true
+\docbook_table_output 0
+\end_header
+
+\begin_body
+
+\begin_layout Title
+Additional \SpecialChar LyX
+ Features
+\end_layout
+
+\begin_layout Subtitle
+Version 2.3.x
+\end_layout
+
+\begin_layout Author
+by the \SpecialChar LyX
+ Team
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+\noindent
+Principal maintainer of this file is
+\noun on
+ Richard Heck
+\noun default
+.
+ If you have comments or error corrections, please send them to the \SpecialChar LyX
+ Documentati
+on mailing list, 
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+<lyx-docs at lists.lyx.org>
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset CommandInset toc
+LatexCommand tableofcontents
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Chapter
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Inserting-TeX-Code"
+
+\end_inset
+
+Inserting \SpecialChar TeX
+ Code into \SpecialChar LyX
+ Documents
+\end_layout
+
+\begin_layout Standard
+Anything you can do in \SpecialChar LaTeX
+ you can do in \SpecialChar LyX
+, for a very simple reason: You can
+ always insert \SpecialChar TeX
+ code into any \SpecialChar LyX
+ document.
+ \SpecialChar LyX
+ cannot, and will never be able to, display every possible \SpecialChar LaTeX
+ construct.
+ If ever you need to insert \SpecialChar LaTeX
+ commands into your \SpecialChar LyX
+ document, you can use the
+ 
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+\SpecialChar TeX
+ Code
+\end_layout
+
+\end_inset
+
+ box, which you can insert into your document with 
+\begin_inset Flex Noun
+status collapsed
+
+\begin_layout Plain Layout
+Insert\SpecialChar menuseparator
+
+\family sans
+TeX
+\family default
+ Code
+\end_layout
+
+\end_inset
+
+ or the keyboard shortcut 
+\begin_inset Info
+type  "shortcut"
+arg   "ert-insert"
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+Here's an example of inserting \SpecialChar LaTeX
+ commands in a \SpecialChar LyX
+ document.
+ The code looks like this:
+\end_layout
+
+\begin_layout LyX-Code
+
+\backslash
+begin{tabular}{ll}
+\begin_inset Newline newline
+\end_inset
+
+
+\backslash
+begin{minipage}{5cm}
+\begin_inset Newline newline
+\end_inset
+
+This is an example of a minipage environment.
+ You 
+\begin_inset Newline newline
+\end_inset
+
+can put nearly everything in it, even (non-floating) 
+\begin_inset Newline newline
+\end_inset
+
+figures and tables.
+ 
+\begin_inset Newline newline
+\end_inset
+
+
+\backslash
+end{minipage}
+\begin_inset Newline newline
+\end_inset
+
+&
+\begin_inset Newline newline
+\end_inset
+
+
+\backslash
+begin{minipage}{5cm}
+\begin_inset Newline newline
+\end_inset
+
+
+\backslash
+begin{verbatim}
+\begin_inset Newline newline
+\end_inset
+
+
+\backslash
+begin{minipage}{5cm}
+\begin_inset Newline newline
+\end_inset
+
+This ...
+ 
+\begin_inset Newline newline
+\end_inset
+
+
+\backslash
+end{minipage}
+\begin_inset Newline newline
+\end_inset
+
+
+\backslash
+end{verbatim}
+\begin_inset Newline newline
+\end_inset
+
+
+\backslash
+end{minipage}
+\begin_inset Newline newline
+\end_inset
+
+
+\backslash
+end{tabular}
+\end_layout
+
+\begin_layout Section
+Cross-References Between Files
+\end_layout
+
+\begin_layout Standard
+\begin_inset Box Shadowbox
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "100col%"
+special "none"
+height "1in"
+height_special "totalheight"
+thickness "0.4pt"
+separation "3pt"
+shadowsize "4pt"
+framecolor "black"
+backgroundcolor "none"
+status open
+
+\begin_layout Plain Layout
+This section is somewhat out of date.
+ Need to describe default master documents and how children are opened when
+ the master is.
+ [[FIXME]]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
diff --git a/autotests/export/docbook/Additional_lyxcode.xml b/autotests/export/docbook/Additional_lyxcode.xml
new file mode 100644
index 0000000..b677971
--- /dev/null
+++ b/autotests/export/docbook/Additional_lyxcode.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This DocBook file was created by LyX 2.4.0dev
+  See http://www.lyx.org/ for more information -->
+<book xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
+<info>
+<title>Additional LyX Features</title>
+<subtitle>Version 2.3.x</subtitle>
+<author>
+<personname>by the LyX Team<footnote>
+<para>Principal maintainer of this file is<personname> Richard Heck</personname>. If you have comments or error corrections, please send them to the LyX Documentation mailing list, <code><lyx-docs at lists.lyx.org></code>.</para>
+</footnote></personname>
+</author>
+</info>
+<chapter xml:id="sec.Inserting-TeX-Code">
+<title>Inserting TeX Code into LyX Documents</title>
+<para>Anything you can do in LaTeX you can do in LyX, for a very simple reason: You can always insert TeX code into any LyX document. LyX cannot, and will never be able to, display every possible LaTeX construct. If ever you need to insert LaTeX commands into your LyX document, you can use the <code>TeX Code</code> box, which you can insert into your document with <personname>Insert&#x21D2;TeX Code</personname> or the keyboard shortcut <keycap>Ctrl+L</keycap>.</para>
+<para>Here's an example of inserting LaTeX commands in a LyX document. The code looks like this:</para>
+<programlisting language='lyx'>\begin{tabular}{ll}
+\begin{minipage}{5cm}
+This is an example of a minipage environment. You 
+can put nearly everything in it, even (non-floating) 
+figures and tables. 
+\end{minipage}
+&
+\begin{minipage}{5cm}
+\begin{verbatim}
+\begin{minipage}{5cm}
+This ... 
+\end{minipage}
+\end{verbatim}
+\end{minipage}
+\end{tabular}</programlisting>
+<section>
+<title>Cross-References Between Files</title>
+<sidebar role='shadowbox'>
+<para>This section is somewhat out of date. Need to describe default master documents and how children are opened when the master is. [[FIXME]]</para>
+</sidebar>
+</section>
+</chapter>
+</book>
\ No newline at end of file
diff --git a/lib/layouts/logicalmkup.module b/lib/layouts/logicalmkup.module
index bedf6dc..005a3c9 100644
--- a/lib/layouts/logicalmkup.module
+++ b/lib/layouts/logicalmkup.module
@@ -27,6 +27,8 @@ InsetLayout Flex:Noun
 	EndHTMLStyle
 	ResetsFont            true
 	CustomPars            false
+	DocBookTag            personname
+	DocBookTagType        inline
 End
 
 
@@ -42,6 +44,8 @@ InsetLayout Flex:Emph
 	HTMLTag               em
 	ResetsFont            true
 	CustomPars            false
+	DocBookTag            emphasis
+	DocBookTagType        inline
 End
 
 
@@ -60,6 +64,9 @@ InsetLayout Flex:Strong
 	HTMLTag               strong
 	ResetsFont            true
 	CustomPars            false
+	DocBookTag            personname
+	DocBookAttr           role='bold'
+	DocBookTagType        inline
 End
 
 
@@ -79,4 +86,6 @@ InsetLayout Flex:Code
 	ResetsFont            true
 	CustomPars            false
 	Spellcheck            false
+	DocBookTag            code
+	DocBookTagType        inline
 End
diff --git a/lib/layouts/stdinsets.inc b/lib/layouts/stdinsets.inc
index ab15f77..fd2b75e 100644
--- a/lib/layouts/stdinsets.inc
+++ b/lib/layouts/stdinsets.inc
@@ -434,6 +434,8 @@ InsetLayout Box
 	  Size                Small
 	EndFont
 	MultiPar              true
+	DocBookWrapperTag     sidebar
+	DocBookTag            para
 End
 
 InsetLayout Box:Frameless
@@ -441,6 +443,9 @@ InsetLayout Box:Frameless
 	HTMLStyle
 		div.Frameless { margin: 1em; }
 	EndHTMLStyle
+	DocBookWrapperTag     sidebar
+	DocBookTag            para
+	DocBookWrapperAttr    role='frameless'
 End
 
 InsetLayout Box:Shaded
@@ -452,6 +457,9 @@ InsetLayout Box:Shaded
 			padding: 0.5ex;
 		}
 	EndHTMLStyle
+	DocBookWrapperTag     sidebar
+	DocBookTag            para
+	DocBookWrapperAttr    role='shaded'
 End
 
 InsetLayout Box:Boxed
@@ -462,6 +470,9 @@ InsetLayout Box:Boxed
 			padding: 0.5ex;
 		}
 	EndHTMLStyle
+	DocBookWrapperTag     sidebar
+	DocBookTag            para
+	DocBookWrapperAttr    role='boxed'
 End
 
 InsetLayout Box:Framed
@@ -472,6 +483,9 @@ InsetLayout Box:Framed
 			padding: 0.5ex;
 		}
 	EndHTMLStyle
+	DocBookWrapperTag     sidebar
+	DocBookTag            para
+	DocBookWrapperAttr    role='framed'
 End
 
 InsetLayout Box:ovalbox
@@ -482,6 +496,9 @@ InsetLayout Box:ovalbox
 			padding: 0.5ex;
 		}
 	EndHTMLStyle
+	DocBookWrapperTag     sidebar
+	DocBookTag            para
+	DocBookWrapperAttr    role='ovalbox'
 End
 
 InsetLayout Box:Ovalbox
@@ -492,6 +509,9 @@ InsetLayout Box:Ovalbox
 			padding: 0.5ex;
 		}
 	EndHTMLStyle
+	DocBookWrapperTag     sidebar
+	DocBookTag            para
+	DocBookWrapperAttr    role='ovalbox-var'
 End
 
 InsetLayout Box:Shadowbox
@@ -499,6 +519,9 @@ InsetLayout Box:Shadowbox
 	HTMLStyle
 		div.Shadowbox { border: solid gray medium; border-bottom: solid black 1ex; border-right: solid black 1ex; padding: 0.5ex; }
 	EndHTMLStyle
+	DocBookWrapperTag     sidebar
+	DocBookTag            para
+	DocBookWrapperAttr    role='shadowbox'
 End
 
 InsetLayout Box:Doublebox
@@ -509,6 +532,9 @@ InsetLayout Box:Doublebox
 			padding: 0.5ex;
 		}
 	EndHTMLStyle
+	DocBookWrapperTag     sidebar
+	DocBookTag            para
+	DocBookWrapperAttr    role='doublebox'
 End
 
 InsetLayout Float
@@ -609,6 +635,8 @@ InsetLayout Info:menu
 	HTMLStyle
 		span.menu { font-family: sans-serif; }
 	EndHTMLStyle
+	DocBookTag            guimenu
+	DocBookTagType        inline
 End
 
 InsetLayout Info:shortcut
@@ -626,6 +654,10 @@ InsetLayout Info:shortcut
 	HTMLStyle
 		span.shortcut { font-family: sans-serif; }
 	EndHTMLStyle
+	DocBookWrapperTag     keycombo
+	DocBookWrapperTagType inline
+	DocBookTag            keycap
+	DocBookTagType        inline
 End
 
 InsetLayout Info:shortcuts
@@ -643,6 +675,10 @@ InsetLayout Info:shortcuts
 	HTMLStyle
 		span.shortcuts { font-family: sans-serif; }
 	EndHTMLStyle
+	DocBookWrapperTag     keycombo
+	DocBookWrapperTagType inline
+	DocBookTag            keycap
+	DocBookTagType        inline
 End
 
 InsetLayout Caption:Standard
diff --git a/src/insets/InsetBox.cpp b/src/insets/InsetBox.cpp
index c61efe6..db76f53 100644
--- a/src/insets/InsetBox.cpp
+++ b/src/insets/InsetBox.cpp
@@ -717,7 +717,25 @@ int InsetBox::plaintext(odocstringstream & os,
 
 void InsetBox::docbook(XMLStream & xs, OutputParams const & runparams) const
 {
+	if (!getLayout().docbookwrappertag().empty()) {
+		if (!xs.isLastTagCR())
+			xs << xml::CR();
+
+		xs << xml::StartTag(getLayout().docbookwrappertag(), getLayout().docbookwrapperattr());
+		xs << xml::CR();
+	} else {
+		LYXERR0("Assertion failed: box layout " + getLayout().name() + " missing DocBookWrapperTag.");
+	}
+
 	InsetText::docbook(xs, runparams);
+
+	if (!getLayout().docbookwrappertag().empty()) {
+		if (!xs.isLastTagCR())
+			xs << xml::CR();
+
+		xs << xml::EndTag(getLayout().docbookwrappertag());
+		xs << xml::CR();
+	}
 }
 
 
diff --git a/src/insets/InsetLayout.cpp b/src/insets/InsetLayout.cpp
index ce0d25a..d758a1c 100644
--- a/src/insets/InsetLayout.cpp
+++ b/src/insets/InsetLayout.cpp
@@ -110,7 +110,11 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass,
 		IL_HTMLSTYLE,
 		IL_HTMLPREAMBLE,
 		IL_DOCBOOKTAG,
+		IL_DOCBOOKTAGTYPE,
 		IL_DOCBOOKATTR,
+		IL_DOCBOOKWRAPPERTAG,
+		IL_DOCBOOKWRAPPERTAGTYPE,
+		IL_DOCBOOKWRAPPERATTR,
 		IL_INTOC,
 		IL_ISTOCCAPTION,
 		IL_LABELFONT,
@@ -157,6 +161,10 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass,
 		{ "display", IL_DISPLAY },
 		{ "docbookattr", IL_DOCBOOKATTR },
 		{ "docbooktag", IL_DOCBOOKTAG },
+		{ "docbooktagtype", IL_DOCBOOKTAGTYPE },
+		{ "docbookwrapperattr", IL_DOCBOOKWRAPPERATTR },
+		{ "docbookwrappertag", IL_DOCBOOKWRAPPERTAG },
+		{ "docbookwrappertagtype", IL_DOCBOOKWRAPPERTAGTYPE },
 		{ "editexternal", IL_EDITEXTERNAL },
 		{ "end", IL_END },
 		{ "fixedwidthpreambleencoding", IL_FIXEDWIDTH_PREAMBLE_ENCODING },
@@ -500,9 +508,21 @@ bool InsetLayout::read(Lexer & lex, TextClass const & tclass,
 		case IL_DOCBOOKTAG:
 			lex >> docbooktag_;
 			break;
+		case IL_DOCBOOKTAGTYPE:
+			lex >> docbooktagtype_;
+			break;
 		case IL_DOCBOOKATTR:
 			lex >> docbookattr_;
 			break;
+		case IL_DOCBOOKWRAPPERTAG:
+			lex >> docbookwrappertag_;
+			break;
+		case IL_DOCBOOKWRAPPERTAGTYPE:
+			lex >> docbookwrappertagtype_;
+			break;
+		case IL_DOCBOOKWRAPPERATTR:
+			lex >> docbookwrapperattr_;
+			break;
 		case IL_REQUIRES: {
 			lex.eatLine();
 			vector<string> const req
diff --git a/src/insets/InsetLayout.h b/src/insets/InsetLayout.h
index 00e3ba6..f11071f 100644
--- a/src/insets/InsetLayout.h
+++ b/src/insets/InsetLayout.h
@@ -150,8 +150,16 @@ public:
 	///
 	std::string docbooktag() const { return docbooktag_; }
 	///
+	std::string docbooktagtype() const { return docbooktagtype_; }
+	///
 	std::string docbookattr() const { return docbookattr_; }
 	///
+	std::string docbookwrappertag() const { return docbookwrappertag_; }
+	///
+	std::string docbookwrappertagtype() const { return docbookwrappertagtype_; }
+	///
+	std::string docbookwrapperattr() const { return docbookwrapperattr_; }
+	///
 	std::set<std::string> required() const { return required_; }
 	///
 	bool isMultiPar() const { return multipar_; }
@@ -281,8 +289,16 @@ private:
 	///
 	std::string docbooktag_;
 	///
+	std::string docbooktagtype_;
+	///
 	std::string docbookattr_;
 	///
+	std::string docbookwrappertag_;
+	///
+	std::string docbookwrappertagtype_;
+	///
+	std::string docbookwrapperattr_;
+	///
 	std::set<std::string> required_;
 	///
 	bool multipar_;
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index cf3873b..1f17351 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -493,6 +493,10 @@ void makeParagraph(
 		// Listings should not get into their own paragraph.
 		if (!special_case && firstInset->lyxCode() == lyx::LISTINGS_CODE)
 			special_case = true;
+
+		// Boxes cannot get into their own paragraph.
+		if (!special_case && firstInset->lyxCode() == lyx::BOX_CODE)
+			special_case = true;
 	}
 
 	bool const open_par = runparams.docbook_make_pars

commit 19734ea4543be66a186d6bf0592386d735c3a8cb
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Mon Aug 31 01:24:28 2020 +0200

    DocBook: implement LyX-Code.
    
    This is quite ugly.

diff --git a/lib/layouts/beamer.layout b/lib/layouts/beamer.layout
index f6d17c3..4438482 100644
--- a/lib/layouts/beamer.layout
+++ b/lib/layouts/beamer.layout
@@ -1408,6 +1408,9 @@ Style LyX-Code
   Font
     Family         Typewriter
   EndFont
+  DocBookTag            programlisting
+  DocBookTagType        paragraph
+  DocBookAttr			language='lyx'
 End
  
 Style NoteItem
diff --git a/lib/layouts/egs.layout b/lib/layouts/egs.layout
index 6ee01ed..0bd4543 100644
--- a/lib/layouts/egs.layout
+++ b/lib/layouts/egs.layout
@@ -734,6 +734,9 @@ Style LyX-Code
 	Font
 	  Family              Typewriter
 	EndFont
+	DocBookTag            programlisting
+    DocBookTagType        paragraph
+	DocBookAttr			  language='lyx'
 End
 
 
diff --git a/lib/layouts/lyxmacros.inc b/lib/layouts/lyxmacros.inc
index 1696ffd..4cf5cf6 100644
--- a/lib/layouts/lyxmacros.inc
+++ b/lib/layouts/lyxmacros.inc
@@ -38,6 +38,9 @@ Style LyX-Code
 	Font
 	  Family              Typewriter
 	EndFont
+	DocBookTag            programlisting
+    DocBookTagType        paragraph
+	DocBookAttr			  language='lyx'
 End
 
 
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index ce631e9..cf3873b 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -534,8 +534,19 @@ void makeEnvironment(Text const &text,
                      OutputParams const &runparams,
                      ParagraphList::const_iterator const & par)
 {
-	// TODO: simplify me!
 	auto const end = text.paragraphs().end();
+	auto nextpar = par;
+	++nextpar;
+
+	// Special cases for listing-like environments provided in layouts. This is quite ad-hoc, but provides a useful
+	// default. This should not be used by too many environments (only LyX-Code right now).
+	// This would be much simpler if LyX-Code was implemented as InsetListings...
+	bool mimicListing = false;
+	bool ignoreFonts = false;
+	if (par->layout().docbooktag() == "programlisting") {
+		mimicListing = true;
+		ignoreFonts = true;
+	}
 
 	// Output the opening tag for this environment, but only if it has not been previously opened (condition
 	// implemented in openParTag).
@@ -547,65 +558,25 @@ void makeEnvironment(Text const &text,
 	if (style.latextype == LATEX_COMMAND) {
 		// Nothing to do (otherwise, infinite loops).
 	} else if (style.latextype == LATEX_ENVIRONMENT) {
-		// Open a wrapper tag if needed.
-		if (style.docbookitemwrappertag() != "NONE")
-			openTag(xs, style.docbookitemwrappertag(), style.docbookitemwrapperattr(), style.docbookitemwrappertagtype());
-
-		// Generate the label, if need be. If it is taken from the text, sep != 0 and corresponds to the first
-		// character after the label.
-		pos_type sep = 0;
-		if (style.labeltype != LABEL_NO_LABEL && style.docbookitemlabeltag() != "NONE") {
-			// At least one condition must be met:
-			//  - this environment is not a list
-			//  - if this is a list, the label must not be manual (i.e. it must be taken from the layout)
-			if (style.latextype != LATEX_LIST_ENVIRONMENT || style.labeltype != LABEL_MANUAL) {
-				// Usual cases: maybe there is something specified at the layout level. Highly unlikely, though.
-				docstring const lbl = par->params().labelString();
+		// Generate the paragraph, if need be.
+		auto pars = par->simpleDocBookOnePar(buf, runparams, text.outerFont(std::distance(text.paragraphs().begin(), par)), 0, false, ignoreFonts);
 
-				if (!lbl.empty()) {
-					openLabelTag(xs, style);
-					xs << lbl;
-					closeLabelTag(xs, style);
-				}
-			} else {
-				// Only variablelist gets here (or similar items defined as an extension in the layout).
-				openLabelTag(xs, style);
-				sep = par->firstWordDocBook(xs, runparams);
-				closeLabelTag(xs, style);
-			}
-		}
-
-		// Maybe the item is completely empty, i.e. if the first word ends at the end of the current paragraph
-		// AND if the next paragraph doesn't have the same depth (if there is such a paragraph).
-		// Common case: there is only the first word on the line, but there is a nested list instead
-		// of more text.
-		bool emptyItem = false;
-		if (sep == par->size()) { // If the separator is already at the end of this paragraph...
-			auto next_par = par;
-			++next_par;
-			if (next_par == text.paragraphs().end()) // There is no next paragraph.
-				emptyItem = true;
-			else // There is a next paragraph: check depth.
-				emptyItem = par->params().depth() >= next_par->params().depth();
-		}
-
-		if (emptyItem) {
-			// Avoid having an empty item, this is not valid DocBook. A single character is enough to force
-			// generation of a full <para>.
-			// TODO: this always worked only by magic...
-			xs << ' ';
-		} else {
-			// Generate the rest of the paragraph, if need be. Open as many inner tags as necessary.
-			auto pars = par->simpleDocBookOnePar(buf, runparams, text.outerFont(std::distance(text.paragraphs().begin(), par)), sep);
+		if (mimicListing) {
 			auto p = pars.begin();
-			while (true) {
+			while (p != pars.end()) {
+				openTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnerattr(), par->layout().docbookiteminnertagtype());
 				xs << XMLStream::ESCAPE_NONE << *p;
+				closeTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnertagtype());
 				++p;
-				if (p != pars.end()) {
-					closeTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnertagtype());
-					openTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnerattr(), par->layout().docbookiteminnertagtype());
-				} else
-					break;
+
+				if (p != pars.end())
+					xs << xml::CR();
+			}
+		} else {
+			for (auto const & p : pars) {
+				openTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnerattr(), par->layout().docbookiteminnertagtype());
+				xs << XMLStream::ESCAPE_NONE << p;
+				closeTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnertagtype());
 			}
 		}
 	} else {
@@ -613,8 +584,6 @@ void makeEnvironment(Text const &text,
 	}
 
 	// Close the environment.
-	auto nextpar = par;
-	++nextpar;
 	closeParTag(xs, &*par, (nextpar != end) ? &*nextpar : nullptr); // TODO: switch in layout for par/block?
 }
 

commit bc9d3ec262c0002827c2b1970350c7dec5ec860d
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Mon Aug 31 00:50:37 2020 +0200

    DocBook: <person> is not valid per se, rather use <personname>.
    
    The cleanest solution would still be <person><personname>, but this ought to be enough. Otherwise, that would imply having two tags for some fonts...

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index c80988b..ce631e9 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -49,7 +49,7 @@ std::string fontToDocBookTag(xml::FontTypes type)
 	case xml::FontTypes::FT_BOLD:
 		return "emphasis";
 	case xml::FontTypes::FT_NOUN:
-		return "person";
+		return "personname";
 	case xml::FontTypes::FT_UBAR:
 	case xml::FontTypes::FT_WAVE:
 	case xml::FontTypes::FT_DBAR:

commit b5312cf51f7371044539aa492144cc6992374847
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Mon Aug 31 00:46:49 2020 +0200

    DocBook: subfigures example is fixed.
    
    Probably thanks to the magic of the previous commits.

diff --git a/autotests/export/docbook/subfigures.xml b/autotests/export/docbook/subfigures.xml
index 4a7c122..622edb8 100644
--- a/autotests/export/docbook/subfigures.xml
+++ b/autotests/export/docbook/subfigures.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- This DocBook file was created by LyX 2.4.0dev
   See http://www.lyx.org/ for more information -->
-<article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.1">
+<article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
 <title>Test document</title>
 <para>Formalgroup with two images: </para>
 <formalgroup>
@@ -10,7 +10,7 @@
 <title>Subfigure a.</title>
 <mediaobject>
 <imageobject>
-<imagedata fileref="C:/Users/Thibaut/Documents/GitHub/Apprentissage_automatique/01_manus_lyx/lyx-logo.png"  />
+<imagedata fileref="D:/LyX/lyx-unstable/autotests/export/docbook/lyx-logo.png"  />
 </imageobject>
 </mediaobject>
 </figure>
@@ -18,7 +18,7 @@
 <title>Subfigure b.</title>
 <mediaobject>
 <imageobject>
-<imagedata fileref="C:/Users/Thibaut/Documents/GitHub/Apprentissage_automatique/01_manus_lyx/lyx-logo.png"  />
+<imagedata fileref="D:/LyX/lyx-unstable/autotests/export/docbook/lyx-logo.png"  />
 </imageobject>
 </mediaobject>
 </figure>
@@ -29,7 +29,7 @@
 <title>Subfigure a.</title>
 <mediaobject>
 <imageobject>
-<imagedata fileref="C:/Users/Thibaut/Documents/GitHub/Apprentissage_automatique/01_manus_lyx/lyx-logo.png"  />
+<imagedata fileref="D:/LyX/lyx-unstable/autotests/export/docbook/lyx-logo.png"  />
 </imageobject>
 </mediaobject>
 </figure>
@@ -37,11 +37,12 @@
 <title>Subfigure b.</title>
 <mediaobject>
 <imageobject>
-<imagedata fileref="C:/Users/Thibaut/Documents/GitHub/Apprentissage_automatique/01_manus_lyx/lyx-logo.png"  />
+<imagedata fileref="D:/LyX/lyx-unstable/autotests/export/docbook/lyx-logo.png"  />
 </imageobject>
 </mediaobject>
 </figure>
 </formalgroup>
+
 <para>Formalgroup with two tables: </para>
 <formalgroup>
 <title>Formalgroup, tables above.</title>
@@ -51,10 +52,12 @@
 <tr>
 <td align='center' valign='top'>a</td>
 <td align='center' valign='top'>b</td>
-</tr><tr>
+</tr>
+<tr>
 <td align='center' valign='top'>c</td>
 <td align='center' valign='top'>d</td>
-</tr></tbody>
+</tr>
+</tbody>
 </table>
 <table>
 <caption>Subtable b.</caption>
@@ -62,7 +65,8 @@
 <tr>
 <td align='center' valign='top'>a</td>
 <td align='center' valign='top'>b</td>
-</tr><tr>
+</tr>
+<tr>
 <td align='center' valign='top'>c</td>
 <td align='center' valign='top'>d</td>
 </tr>
@@ -77,10 +81,12 @@
 <tr>
 <td align='center' valign='top'>a</td>
 <td align='center' valign='top'>b</td>
-</tr><tr>
+</tr>
+<tr>
 <td align='center' valign='top'>c</td>
 <td align='center' valign='top'>d</td>
-</tr></tbody>
+</tr>
+</tbody>
 </table>
 <table>
 <caption>Subtable b.</caption>
@@ -88,11 +94,12 @@
 <tr>
 <td align='center' valign='top'>a</td>
 <td align='center' valign='top'>b</td>
-</tr><tr>
+</tr>
+<tr>
 <td align='center' valign='top'>c</td>
 <td align='center' valign='top'>d</td>
-</tr></tbody>
+</tr>
+</tbody>
 </table>
 </formalgroup>
-
-</article>
+</article>
\ No newline at end of file

commit 8f3d0fd88fa69d2b8b3f523a02fed88d55cdc22a
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Mon Aug 31 00:45:19 2020 +0200

    DocBook: new-line behaviour in bibliographies.

diff --git a/autotests/export/docbook/Tufte_Book.xml b/autotests/export/docbook/Tufte_Book.xml
index 4968e25..3289cfd 100644
--- a/autotests/export/docbook/Tufte_Book.xml
+++ b/autotests/export/docbook/Tufte_Book.xml
@@ -34,12 +34,15 @@ Working with Text
 <bibliography>
 <title>References</title>
 <biblioentry xml:id="Bringhurst2005">
-<title>The Elements of Typographic Style</title><edition>3.1</edition><bibliomisc role="type">book</bibliomisc>
+<title>The Elements of Typographic Style</title>
+<edition>3.1</edition>
+<bibliomisc role="type">book</bibliomisc>
 <publisher>
 <publishername>Hartley & Marks</publishername>
 </publisher>
 <pubdate>2005</pubdate>
-<authorgroup><author>
+<authorgroup>
+<author>
 <personname>
 <firstname>Robert</firstname>
 <surname>Bringhurst</surname>
diff --git a/src/BiblioInfo.cpp b/src/BiblioInfo.cpp
index 7005519..6d2af6c 100644
--- a/src/BiblioInfo.cpp
+++ b/src/BiblioInfo.cpp
@@ -1700,6 +1700,8 @@ docstring authorsToDocBookAuthorGroup(docstring const & authorsString, XMLStream
 
 	// Output the list of authors.
 	xs << xml::StartTag("authorgroup");
+	xs << xml::CR();
+
 	auto it = authors.cbegin();
 	auto en = authors.cend();
 	for (size_t i = 0; it != en; ++it, ++i) {
diff --git a/src/insets/InsetBibtex.cpp b/src/insets/InsetBibtex.cpp
index 05fd23d..bee485e 100644
--- a/src/insets/InsetBibtex.cpp
+++ b/src/insets/InsetBibtex.cpp
@@ -1200,6 +1200,7 @@ void InsetBibtex::docbook(XMLStream & xs, OutputParams const &) const
 					xs << xml::StartTag(toDocBookTag[match[1]]);
 					xs << from_utf8(match[2].str());
 					xs << xml::EndTag(toDocBookTag[match[1]]);
+					xs << xml::CR();
 				}
 			} else {
 				LYXERR0("The BibTeX field " << match[1].str() << " is unknown.");

commit ff2e4ec7e65f43bf09b92f4b6b4be9ce135223d3
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Mon Aug 31 00:43:02 2020 +0200

    DocBook: support Full Width from Tufte Book.

diff --git a/autotests/export/docbook/Tufte_Book.xml b/autotests/export/docbook/Tufte_Book.xml
index 3fb7f24..4968e25 100644
--- a/autotests/export/docbook/Tufte_Book.xml
+++ b/autotests/export/docbook/Tufte_Book.xml
@@ -3,26 +3,32 @@
   See http://www.lyx.org/ for more information -->
 <book xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
 <info>
-
 <title>Tufte Examples</title>
+<author>
+<personname>Fake Author</personname>
+</author>
 </info>
 <chapter>
-<title>The Features of the Tufte-book Class</title>
+<title>
+The Features of the Tufte-book Class
+</title>
 <para>In this document, it was endeavored to show some of the features of the <emphasis role='sans'>Tufte-book</emphasis> class. In the first chapter, their use is outlined. In the second chapter, their use through a handout that was created in a calculus class is demonstrated.</para>
 <section>
-<title>Working with Text</title>
-<para>One of the most prominent and distinctive features of this style is the extensive use of sidenotes. There is a wide margin to provide ample room for sidenotes and small figures. Any footnotes will automatically be converted to sidenotes.<footnote><para>This is a sidenote that was entered using a <code>footnote</code>.</para>
-</footnote> Alternatively, you can also use the <code>Sidenote</code> inset directly; you'll find it in the <emphasis role='sans'>Insert&#x21D2;Custom Insets</emphasis> menu.This is a sidenote that was entered using a <code>sidenote</code>.</para>
+<title>
+Working with Text
+</title>
+<para>One of the most prominent and distinctive features of this style is the extensive use of sidenotes. There is a wide margin to provide ample room for sidenotes and small figures. Any footnotes will automatically be converted to sidenotes.<footnote>
+<para>This is a sidenote that was entered using a <code>footnote</code>.</para>
+</footnote> Alternatively, you can also use the <code>Sidenote</code> inset directly; you'll find it in the <emphasis role='sans'>Insert&#x21D2;Custom Insets</emphasis> menu.This is a sidenote that was entered using a sidenote.</para>
 <para>If you like to place ancillary information in the margin without the sidenote mark (the superscript number), you can use the <code>Marginnote</code> inset. This is Tufte's margin note. Notice that there isn't a number preceding the note, and there is no number in the main text where this note was written. The normal margin note will work as well, but it will look rather odd.<sidebar role="margin">
-<?dbfo float-type="margin.note"?><sidebar role="margin">This is a normal margin note. Don't use it.</sidebar></sidebar></para>
-<para>Another useful innovation is Tufte's <code>NewThought</code> character style (<emphasis role='sans'>Edit&#x21D2;TextStyle&#x21D2;NewThought</emphasis>). It introduces new thoughts by means of small caps, as demonstrated in this paragraph. </para>
+<?dbfo float-type="margin.note"?>
+<para>This is a normal margin note. Don't use it.</para></sidebar></para>
+<para><emphasis role='newthought'>Another useful</emphasis> innovation is Tufte's <code>NewThought</code> character style (<emphasis role='sans'>Edit&#x21D2;TextStyle&#x21D2;NewThought</emphasis>). It introduces new thoughts by means of small caps, as demonstrated in this paragraph. </para>
 <para>The Tufte document classes include two new character styles and some improvements on existing commands for letterspacing.</para>
-<para>When setting strings of <emphasis role='allcaps'>ALL CAPS</emphasis> or small caps, the letterspacing—that is, the spacing between the letters—should be increased slightly.<biblioref endterm="Bringhurst2005" /> The <emphasis>AllCaps</emphasis> character style (<emphasis role='sans'>Edit&#x21D2;TextStyle&#x21D2;AllCaps</emphasis>) has proper letterspacing for strings of <emphasis role='allcaps'>FULL CAPITAL LETTERS</emphasis>, and the <emphasis>SmallCaps</emphasis> character style (<emphasis role='sans'>Edit&#x21D2;TextStyle&#x21D2;SmallCaps</emphasis>) has letterspacing for small capital letters. These commands will also automatically convert the case of the text to upper- or lowercase, respectively.</para>
+<para>When setting strings of <emphasis role='allcaps'>ALL CAPS</emphasis> or <emphasis role='smallcaps'>small caps</emphasis>, the letterspacing—that is, the spacing between the letters—should be increased slightly.<biblioref endterm="Bringhurst2005" /> The <emphasis>AllCaps</emphasis> character style (<emphasis role='sans'>Edit&#x21D2;TextStyle&#x21D2;AllCaps</emphasis>) has proper letterspacing for strings of <emphasis role='allcaps'>FULL CAPITAL LETTERS</emphasis>, and the <emphasis>SmallCaps</emphasis> character style (<emphasis role='sans'>Edit&#x21D2;TextStyle&#x21D2;SmallCaps</emphasis>) has letterspacing for <emphasis role='smallcaps'>small capital letters</emphasis>. These commands will also automatically convert the case of the text to upper- or lowercase, respectively.</para>
 <para>The normal <emphasis>Small Caps</emphasis> shape has also been redefined to include letterspacing. Its case is left as is, however. This allows one to use both uppercase and lowercase letters: <emphasis role='smallcaps'>The Initial Letters Of The Words In This Sentence Are Capitalized.</emphasis></para>
 <para>Finally, the<emphasis> Full Width</emphasis> paragraph environment provides a paragraph layout that stretches across the main text block and the sidenotes area:</para>
-<Full Width>
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat. Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla. Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.
-</Full Width>
+<para role='fullwidth'>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat. Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla. Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.</para>
 </section>
 </chapter>
 <bibliography>
diff --git a/lib/layouts/tufte-book.layout b/lib/layouts/tufte-book.layout
index 2b88ca3..e469996 100644
--- a/lib/layouts/tufte-book.layout
+++ b/lib/layouts/tufte-book.layout
@@ -243,6 +243,8 @@ Style Full_Width
 	Align			Block
 	AlignPossible	Block, Left, Right, Center
 	LabelType		No_Label
+	DocBookTag      para
+	DocBookAttr     role='fullwidth'
 End
 
 # this steps the counters

commit 6d246bba695bdfd414c0359891fbbb4e9a061f99
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Mon Aug 31 00:42:32 2020 +0200

    DocBook: fix margin notes.
    
    They were nested twice in <sidebar>. Also fixes a new line issue.

diff --git a/lib/layouts/stdinsets.inc b/lib/layouts/stdinsets.inc
index 04c464a..ab15f77 100644
--- a/lib/layouts/stdinsets.inc
+++ b/lib/layouts/stdinsets.inc
@@ -44,8 +44,7 @@ InsetLayout Marginal
 	EndHTMLStyle
 	AddToToc              marginalnote
 	IsTocCaption          true
-	DocBookTag            sidebar
-	DocBookAttr           role="margin"
+	DocBookTag            para
 End
 
 InsetLayout Foot
diff --git a/src/insets/InsetMarginal.cpp b/src/insets/InsetMarginal.cpp
index 5d2fb90..3a5296d 100644
--- a/src/insets/InsetMarginal.cpp
+++ b/src/insets/InsetMarginal.cpp
@@ -49,6 +49,7 @@ void InsetMarginal::docbook(XMLStream & xs, OutputParams const & runparams) cons
 	xs << xml::StartTag("sidebar", "role=\"margin\"");
 	xs << xml::CR();
 	xs << XMLStream::ESCAPE_NONE << "<?dbfo float-type=\"margin.note\"?>";
+	xs << xml::CR();
 	InsetText::docbook(xs, runparams);
 	xs << xml::EndTag("sidebar");
 }

commit 91982ee105c84395cebb637444e52342938edc39
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Mon Aug 31 00:21:12 2020 +0200

    DocBook: new lines around formulae.

diff --git a/autotests/export/docbook/mathml_ns_entities.xml b/autotests/export/docbook/mathml_ns_entities.xml
index 2ee7f39..0c1509e 100644
--- a/autotests/export/docbook/mathml_ns_entities.xml
+++ b/autotests/export/docbook/mathml_ns_entities.xml
@@ -1,21 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- This DocBook file was created by LyX 2.4.0dev
   See http://www.lyx.org/ for more information -->
-<article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.1">
+<article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
 <title>Test document</title>
 <para>A formula: 
- <informalequation>
-  <m:math>
-  <m:alt role='tex'>\Vert,\vert</m:alt>
+<informalequation>
+<alt role='tex'>\Vert,\vert</alt>
+ <m:math>
+ 
  <m:mrow>
   <m:mrow><m:mi>&#x2225;</m:mi><m:mo>,</m:mo><m:mi>&#x007C;</m:mi>
   </m:mrow>
  </m:mrow>
-  </m:math>
- </informalequation>A second formula: 
- <informalequation>
-  <m:math>
-  <m:alt role='tex'>\left\Vert \mathbf{a^{T}\,x}\right\Vert _{2}\leq x_{0}</m:alt>
+ </m:math>
+</informalequation>
+A second formula: 
+<informalequation>
+<alt role='tex'>\left\Vert \mathbf{a^{T}\,x}\right\Vert _{2}\leq x_{0}</alt>
+ <m:math>
+ 
  <m:mrow>
   <m:mrow>
    <m:msub>
@@ -45,7 +48,7 @@
    </m:msub>
   </m:mrow>
  </m:mrow>
-  </m:math>
- </informalequation></para>
-
-</article>
+ </m:math>
+</informalequation>
+</para>
+</article>
\ No newline at end of file
diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp
index af30e8e..e7326b6 100644
--- a/src/mathed/InsetMathHull.cpp
+++ b/src/mathed/InsetMathHull.cpp
@@ -2418,13 +2418,11 @@ void InsetMathHull::docbook(XMLStream & xs, OutputParams const & runparams) cons
 {
 	// Choose the tag around the MathML equation.
 	docstring name;
+	bool doCR = false;
 	if (getType() == hullSimple)
 		name = from_ascii("inlineequation");
 	else {
-		// This is a block equation, always have <informalequation> on its own line.
-		if (!xs.isLastTagCR())
-			xs << xml::CR();
-
+		doCR = true; // This is a block equation, always have <informalequation> on its own line.
 		name = from_ascii("informalequation");
 	}
 
@@ -2439,6 +2437,10 @@ void InsetMathHull::docbook(XMLStream & xs, OutputParams const & runparams) cons
 		}
 	}
 
+	if (doCR)
+		if (!xs.isLastTagCR())
+			xs << xml::CR();
+
 	xs << xml::StartTag(name, attr);
 	xs << xml::CR();
 
@@ -2485,6 +2487,8 @@ void InsetMathHull::docbook(XMLStream & xs, OutputParams const & runparams) cons
 	xs << XMLStream::ESCAPE_NONE << osmath.str();
 	xs << xml::CR();
 	xs << xml::EndTag(name);
+	if (doCR)
+		xs << xml::CR();
 }
 
 

commit e995414917937e1fd8bdf108c8269777cf215719
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Mon Aug 31 00:18:35 2020 +0200

    DocBook: avoid generating fonts for "special cases" like equations.

diff --git a/autotests/export/docbook/lists.xml b/autotests/export/docbook/lists.xml
index 6812230..ce2d970 100644
--- a/autotests/export/docbook/lists.xml
+++ b/autotests/export/docbook/lists.xml
@@ -125,7 +125,7 @@
 <varlistentry>
 <term>LyX:</term>
 <listitem>
-
+<para />
 <variablelist>
 <varlistentry>
 <term>lyx16</term>
diff --git a/autotests/export/docbook/math_in_font.xml b/autotests/export/docbook/math_in_font.xml
index 0758a2e..45bb544 100644
--- a/autotests/export/docbook/math_in_font.xml
+++ b/autotests/export/docbook/math_in_font.xml
@@ -4,7 +4,8 @@
 <article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
 <title>LyX</title>
 <para>Some text before.</para>
-<informalequation><alt role='tex'>\cfrac[l]{A}{B+C}\,,\,\cfrac{A}{B+C}\,,\,\cfrac[r]{A}{B+C}</alt>
+<informalequation>
+<alt role='tex'>\cfrac[l]{A}{B+C}\,,\,\cfrac{A}{B+C}\,,\,\cfrac[r]{A}{B+C}</alt>
  <m:math>
  
  <m:mrow>
@@ -35,6 +36,7 @@
    </m:mfrac>
   </m:mrow>
  </m:mrow>
- </m:math></informalequation><para>Some text after.</para>
-
+ </m:math>
+</informalequation>
+<para>Some text after.</para>
 </article>
\ No newline at end of file
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index b88c381..9dea24b 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -3333,7 +3333,8 @@ std::vector<docstring> Paragraph::simpleDocBookOnePar(Buffer const & buf,
                                                       OutputParams const & runparams,
                                                       Font const & outerfont,
                                                       pos_type initial,
-                                                      bool is_last_par) const
+                                                      bool is_last_par,
+                                                      bool ignore_fonts) const
 {
 	// Track whether we have opened these tags
 	DocBookFontState fs;
@@ -3362,33 +3363,37 @@ std::vector<docstring> Paragraph::simpleDocBookOnePar(Buffer const & buf,
 		// If this is an InsetNewline, generate a new paragraph. Also reset the fonts, so that tags are closed in
 		// this paragraph.
 		if (getInset(i) != nullptr && getInset(i)->lyxCode() == NEWLINE_CODE) {
-			xs->closeFontTags();
+			if (!ignore_fonts)
+				xs->closeFontTags();
 			generatedParagraphs.push_back(os.str());
 			os = odocstringstream();
 			delete xs;
 			xs = new XMLStream(os);
-			font_old = outerfont.fontInfo();
+			if (!ignore_fonts)
+				font_old = outerfont.fontInfo();
 		}
 
-		// Determine which tags should be opened or closed.
+		// Determine which tags should be opened or closed regarding fonts.
 		Font const font = getFont(buf.masterBuffer()->params(), i, outerfont);
-		tie(tagsToOpen, tagsToClose) = computeDocBookFontSwitch(font_old, font, default_family, fs);
+		if (!ignore_fonts) {
+			tie(tagsToOpen, tagsToClose) = computeDocBookFontSwitch(font_old, font, default_family, fs);
 
-		// FIXME XHTML
-		// Other such tags? What about the other text ranges?
+			// FIXME XHTML
+			// Other such tags? What about the other text ranges?
 
-		vector<xml::EndFontTag>::const_iterator cit = tagsToClose.begin();
-		vector<xml::EndFontTag>::const_iterator cen = tagsToClose.end();
-		for (; cit != cen; ++cit)
-			*xs << *cit;
+			vector<xml::EndFontTag>::const_iterator cit = tagsToClose.begin();
+			vector<xml::EndFontTag>::const_iterator cen = tagsToClose.end();
+			for (; cit != cen; ++cit)
+				*xs << *cit;
 
-		vector<xml::FontTag>::const_iterator sit = tagsToOpen.begin();
-		vector<xml::FontTag>::const_iterator sen = tagsToOpen.end();
-		for (; sit != sen; ++sit)
-			*xs << *sit;
+			vector<xml::FontTag>::const_iterator sit = tagsToOpen.begin();
+			vector<xml::FontTag>::const_iterator sen = tagsToOpen.end();
+			for (; sit != sen; ++sit)
+				*xs << *sit;
 
-		tagsToClose.clear();
-		tagsToOpen.clear();
+			tagsToClose.clear();
+			tagsToOpen.clear();
+		}
 
 		if (Inset const * inset = getInset(i)) {
 			if (!runparams.for_toc || inset->isInToc()) {
@@ -3409,7 +3414,8 @@ std::vector<docstring> Paragraph::simpleDocBookOnePar(Buffer const & buf,
 	// FIXME, this code is just imported from XHTML
 	// I'm worried about what happens if a branch, say, is itself
 	// wrapped in some font stuff. I think that will not work.
-	xs->closeFontTags();
+	if (!ignore_fonts)
+		xs->closeFontTags();
 
 	// In listings, new lines are very important. Avoid generating one for the last line.
 	if (runparams.docbook_in_listing && !is_last_par)
diff --git a/src/Paragraph.h b/src/Paragraph.h
index 96c19c0..597a10b 100644
--- a/src/Paragraph.h
+++ b/src/Paragraph.h
@@ -214,7 +214,8 @@ public:
 							                   OutputParams const & runparams,
 							                   Font const & outerfont,
 							                   pos_type initial = 0,
-							                   bool is_last_par = false) const;
+							                   bool is_last_par = false,
+							                   bool ignore_fonts = false) const;
 
 	/// \return any material that has had to be deferred until after the
 	/// paragraph has closed.
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 808b4cf..c80988b 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -513,7 +513,7 @@ void makeParagraph(
 	// Open and close tags around each contained paragraph.
 	auto nextpar = par;
 	++nextpar;
-	auto pars = par->simpleDocBookOnePar(buf, runparams, text.outerFont(distance(begin, par)), 0, nextpar == end);
+	auto pars = par->simpleDocBookOnePar(buf, runparams, text.outerFont(distance(begin, par)), 0, nextpar == end, special_case);
 	for (auto & parXML : pars) {
 		if (!std::all_of(parXML.begin(), parXML.end(), ::isspace)) {
 			if (open_par)

commit 654559feb8b4ed357647554b4043b6c631482b4e
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 30 23:56:16 2020 +0200

    DocBook: fix line issues around programlisting.

diff --git a/autotests/export/docbook/listings.xml b/autotests/export/docbook/listings.xml
index e65de60..1ed2694 100644
--- a/autotests/export/docbook/listings.xml
+++ b/autotests/export/docbook/listings.xml
@@ -5,6 +5,5 @@
 <title>Test document</title>
 <para>This is a programlisting: </para>
 <programlisting>First line of programlisting
-Second line of programlisting
-</programlisting>
+Second line of programlisting</programlisting>
 </article>
\ No newline at end of file
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index b4e4bc3..b88c381 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -3332,7 +3332,8 @@ std::tuple<vector<xml::FontTag>, vector<xml::EndFontTag>> computeDocBookFontSwit
 std::vector<docstring> Paragraph::simpleDocBookOnePar(Buffer const & buf,
                                                       OutputParams const & runparams,
                                                       Font const & outerfont,
-                                                      pos_type initial) const
+                                                      pos_type initial,
+                                                      bool is_last_par) const
 {
 	// Track whether we have opened these tags
 	DocBookFontState fs;
@@ -3409,7 +3410,9 @@ std::vector<docstring> Paragraph::simpleDocBookOnePar(Buffer const & buf,
 	// I'm worried about what happens if a branch, say, is itself
 	// wrapped in some font stuff. I think that will not work.
 	xs->closeFontTags();
-	if (runparams.docbook_in_listing)
+
+	// In listings, new lines are very important. Avoid generating one for the last line.
+	if (runparams.docbook_in_listing && !is_last_par)
 		*xs << xml::CR();
 
 	// Finalise the last (and most likely only) paragraph.
diff --git a/src/Paragraph.h b/src/Paragraph.h
index ee31403..96c19c0 100644
--- a/src/Paragraph.h
+++ b/src/Paragraph.h
@@ -213,7 +213,8 @@ public:
 	std::vector<docstring> simpleDocBookOnePar(Buffer const & buf,
 							                   OutputParams const & runparams,
 							                   Font const & outerfont,
-							                   pos_type initial = 0) const;
+							                   pos_type initial = 0,
+							                   bool is_last_par = false) const;
 
 	/// \return any material that has had to be deferred until after the
 	/// paragraph has closed.
diff --git a/src/insets/InsetListings.cpp b/src/insets/InsetListings.cpp
index 848e4ae..93daab4 100644
--- a/src/insets/InsetListings.cpp
+++ b/src/insets/InsetListings.cpp
@@ -485,6 +485,9 @@ void InsetListings::docbook(XMLStream & xs, OutputParams const & rp) const
 {
 	InsetLayout const & il = getLayout();
 
+	if (!xs.isLastTagCR())
+		xs << xml::CR();
+
 	// Forge the attributes.
 	string attrs;
 	if (!il.docbookattr().empty())
@@ -517,6 +520,7 @@ void InsetListings::docbook(XMLStream & xs, OutputParams const & rp) const
 	// Done with the listing.
 	xs.endDivision();
 	xs << xml::EndTag(il.docbooktag());
+	xs << xml::CR();
 }
 
 
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index d672144..808b4cf 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -504,8 +504,6 @@ void makeParagraph(
 	//		or we're not in the last paragraph, anyway.
 	//   (ii) We didn't open it and docbook_in_par is true,
 	//		but we are in the first par, and there is a next par.
-	auto nextpar = par;
-	++nextpar;
 	bool const close_par = open_par && (!runparams.docbook_in_par);
 
 	// Determine if this paragraph has some real content. Things like new pages are not caught
@@ -513,7 +511,9 @@ void makeParagraph(
 	// Thus, remove all spaces (including new lines: \r, \n) before checking for emptiness.
 	// std::all_of allows doing this check without having to copy the string.
 	// Open and close tags around each contained paragraph.
-	auto pars = par->simpleDocBookOnePar(buf, runparams, text.outerFont(distance(begin, par)), 0);
+	auto nextpar = par;
+	++nextpar;
+	auto pars = par->simpleDocBookOnePar(buf, runparams, text.outerFont(distance(begin, par)), 0, nextpar == end);
 	for (auto & parXML : pars) {
 		if (!std::all_of(parXML.begin(), parXML.end(), ::isspace)) {
 			if (open_par)

commit 9d3a717ef1eda27ab2b58ae84b483d044364e156
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 30 23:38:40 2020 +0200

    DocBook: fix font issues when a paragraph has an InsetNewline.

diff --git a/autotests/export/docbook/issue5165.xml b/autotests/export/docbook/issue5165.xml
index 2e24ebc..81d840d 100644
--- a/autotests/export/docbook/issue5165.xml
+++ b/autotests/export/docbook/issue5165.xml
@@ -4,9 +4,10 @@
 <article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
 <info>
 <title>Title</title>
-<author><personname>Author</personname></author>
+<author>
+<personname>Author</personname>
+</author>
 <date>Date</date>
 </info>
 <para>Content</para>
-
 </article>
\ No newline at end of file
diff --git a/autotests/export/docbook/labeling_list_nested.xml b/autotests/export/docbook/labeling_list_nested.xml
index 261605c..4ecb1c6 100644
--- a/autotests/export/docbook/labeling_list_nested.xml
+++ b/autotests/export/docbook/labeling_list_nested.xml
@@ -7,22 +7,19 @@
 <variablelist>
 <varlistentry>
 <term>LyX:</term>
-
 <listitem>
-
+<para />
 <variablelist>
 <varlistentry>
 <term>lyx16</term>
-
 <listitem>
-<para> LyX 1.6 file format (lyx2lyx)</para>
+<para>LyX 1.6 file format (lyx2lyx)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>lyx21</term>
-
 <listitem>
-<para> </para>
+<para />
 </listitem>
 </varlistentry>
 </variablelist>
@@ -30,27 +27,23 @@
 </varlistentry>
 <varlistentry>
 <term>LyX:</term>
-
 <listitem>
-
+<para />
 <variablelist>
 <varlistentry>
 <term>lyx16</term>
-
 <listitem>
-<para> LyX 1.6 file format (lyx2lyx)</para>
+<para>LyX 1.6 file format (lyx2lyx)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>lyx21</term>
-
 <listitem>
-<para> </para>
+<para />
 </listitem>
 </varlistentry>
 </variablelist>
 </listitem>
 </varlistentry>
 </variablelist>
-
 </article>
\ No newline at end of file
diff --git a/autotests/export/docbook/list_depth.xml b/autotests/export/docbook/list_depth.xml
index 3833931..5eaa83c 100644
--- a/autotests/export/docbook/list_depth.xml
+++ b/autotests/export/docbook/list_depth.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- This DocBook file was created by LyX 2.4.0dev
   See http://www.lyx.org/ for more information -->
-<article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.1">
+<article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
 <title>Test document</title>
 <itemizedlist>
 <listitem>
@@ -9,5 +9,4 @@
 <para>Content.</para>
 </listitem>
 </itemizedlist>
-
-</article>
+</article>
\ No newline at end of file
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index aad1ccf..b4e4bc3 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -3358,12 +3358,15 @@ std::vector<docstring> Paragraph::simpleDocBookOnePar(Buffer const & buf,
 		if (isDeleted(i))
 			continue;
 
-		// If this is an InsetNewline, generate a new paragraph.
+		// If this is an InsetNewline, generate a new paragraph. Also reset the fonts, so that tags are closed in
+		// this paragraph.
 		if (getInset(i) != nullptr && getInset(i)->lyxCode() == NEWLINE_CODE) {
+			xs->closeFontTags();
 			generatedParagraphs.push_back(os.str());
 			os = odocstringstream();
 			delete xs;
 			xs = new XMLStream(os);
+			font_old = outerfont.fontInfo();
 		}
 
 		// Determine which tags should be opened or closed.

commit 7a1b82a16ae5594e7354c507ecb47082abada9f4
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 30 23:29:02 2020 +0200

    DocBook: fix issue with fonts.

diff --git a/autotests/export/docbook/issue1732_charstyles-docbook.xml b/autotests/export/docbook/issue1732_charstyles-docbook.xml
index 0ed9b87..fc9bffe 100644
--- a/autotests/export/docbook/issue1732_charstyles-docbook.xml
+++ b/autotests/export/docbook/issue1732_charstyles-docbook.xml
@@ -3,5 +3,4 @@
   See http://www.lyx.org/ for more information -->
 <article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
 <para><emphasis role='bold'>Fett </emphasis><emphasis>hervorgehoben</emphasis> <code>monospace</code><emphasis role='underline'> unterstrichen.</emphasis></para>
-
 </article>
\ No newline at end of file
diff --git a/src/xml.cpp b/src/xml.cpp
index 150f4c5..dd9790f 100644
--- a/src/xml.cpp
+++ b/src/xml.cpp
@@ -208,9 +208,6 @@ bool XMLStream::closeFontTags()
 		if (**curtag != xml::parsep_tag)
 			os_ << (*curtag)->writeEndTag();
 		tag_stack_.pop_back();
-		// this shouldn't happen, since then the font tags
-		// weren't in any other tag.
-		LASSERT(!tag_stack_.empty(), return true);
 		if (tag_stack_.empty())
 			return true;
 		curtag = &tag_stack_.back();

commit c3aa843da8ad1d56b54ac287a585022946422661
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 30 22:08:01 2020 +0200

    DocBook: fixes in bibliography (missing new line at the end).

diff --git a/autotests/export/docbook/easy.xml b/autotests/export/docbook/easy.xml
index 883c982..e301321 100644
--- a/autotests/export/docbook/easy.xml
+++ b/autotests/export/docbook/easy.xml
@@ -12,8 +12,9 @@
 <para>I am an abstract</para>
 <para>I am also an abstract</para>
 </abstract>
+
 </info>
-<section xml:id="sec.Sec-1-0">
+<section xml:id="sec.Sec-1">
 <title>I am the first section </title>
 <para>I am the first paragraph of the first section. </para>
 <para>I am the second paragraph of the first section. </para>
@@ -50,7 +51,7 @@
 <section>
 <title>I am the second section </title>
 <para>I am the only paragraph of the second section. <link xlink:href="http://example.org">Hyperlink.</link> “Text between quotes.”</para>
-<para>See <xref linkend="sec.Sec-1-0" />.</para>
+<para>See <xref linkend="sec.Sec-1" />.</para>
 </section>
 <section>
 <title>I am the third section and I deal with star sections</title>
diff --git a/autotests/export/docbook/issue_infinite_loop.xml b/autotests/export/docbook/issue_infinite_loop.xml
index d6e55ee..e262ed4 100644
--- a/autotests/export/docbook/issue_infinite_loop.xml
+++ b/autotests/export/docbook/issue_infinite_loop.xml
@@ -5,7 +5,8 @@
 <title>William Shakespeare</title>
 <section>
 <title>Publications</title>
-<bibliography>First Folio. Me. 1623..</bibliography>
 </section>
-
+<bibliography>
+<bibliomixed xml:id='firstref'>First Folio. Me. 1623..</bibliomixed>
+</bibliography>
 </article>
\ No newline at end of file
diff --git a/src/insets/InsetBibtex.cpp b/src/insets/InsetBibtex.cpp
index c03a8e2..05fd23d 100644
--- a/src/insets/InsetBibtex.cpp
+++ b/src/insets/InsetBibtex.cpp
@@ -1411,6 +1411,7 @@ void InsetBibtex::docbook(XMLStream & xs, OutputParams const &) const
 
 	// Footer for bibliography.
 	xs << xml::EndTag("bibliography");
+	xs << xml::CR();
 }
 
 

commit 6688b076cc6994b57564ba575d8276bd68f4bd2d
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 30 22:05:40 2020 +0200

    DocBook: fixes in lists.
    
    Actually output something when list item is empty. XMLStream discarded the sequence StartTag/EndTag (nothing in between).
    
    New-line behaviour around term in description lists.

diff --git a/autotests/export/docbook/Development.xml b/autotests/export/docbook/Development.xml
index d0bc9a4..9ec891d 100644
--- a/autotests/export/docbook/Development.xml
+++ b/autotests/export/docbook/Development.xml
@@ -6,7 +6,7 @@
 <subtitle>Version 2.3.x</subtitle>
 <section>
 <title>File formats</title>
-<section xml:id="sec.When-is-an-0">
+<section xml:id="sec.When-is-an">
 <title>When is an update of the .lyx file format number needed?</title>
 <para>When you are working on a new feature you may ask yourself whether it needs an update of the .lyx file format number. Whether an update is needed or not is not always obvious. Rule of thumb: </para>
 <blockquote>
@@ -17,30 +17,30 @@
 <varlistentry>
 <term>New&#xA0;document&#xA0;setting</term>
 <listitem>
-<para> Whenever you introduce a new setting that is stored in the document header, a file format update is needed.</para>
+<para>Whenever you introduce a new setting that is stored in the document header, a file format update is needed.</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>Removed&#xA0;document&#xA0;setting</term>
 <listitem>
-<para> If a certain setting becomes obsolete and gets removed, a file format update is needed.</para>
+<para>If a certain setting becomes obsolete and gets removed, a file format update is needed.</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>New&#xA0;valid&#xA0;value&#xA0;for&#xA0;an&#xA0;existing&#xA0;setting,</term>
 <listitem>
-<para> e.&#x2009;g.</para>
+<para>e.&#x2009;g.</para>
 <variablelist>
 <varlistentry>
 <term>Automatically&#xA0;loaded&#xA0;math&#xA0;package</term>
 <listitem>
-<para> The reason for this is that there is no true ERT inset for math formulas: Each command is parsed, and if a user happens to define a local command with the same name as a command that triggers an automatic load of a package, they need to be able to switch off the automatic loading of that package. This switch is stored by the use_package header setting.</para>
+<para>The reason for this is that there is no true ERT inset for math formulas: Each command is parsed, and if a user happens to define a local command with the same name as a command that triggers an automatic load of a package, they need to be able to switch off the automatic loading of that package. This switch is stored by the use_package header setting.</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>New&#xA0;language</term>
 <listitem>
-<para> that is stored in \language. </para>
+<para>that is stored in \language. </para>
 </listitem>
 </varlistentry>
 </variablelist>
@@ -49,49 +49,49 @@
 <varlistentry>
 <term>New&#xA0;inset</term>
 <listitem>
-<para> Of course a new inset requires a file format update.</para>
+<para>Of course a new inset requires a file format update.</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>New&#xA0;style</term>
 <listitem>
-<para> If a new style or inset layout is added to any layout file or module shipped with LyX, then a new file format is needed in the master (development) branch. It is possible to backport new styles to the stable version without a file format change.</para>
+<para>If a new style or inset layout is added to any layout file or module shipped with LyX, then a new file format is needed in the master (development) branch. It is possible to backport new styles to the stable version without a file format change.</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>Removed&#xA0;style</term>
 <listitem>
-<para> If a style or inset layout is removed in any layout file or module shipped with LyX, a new file format is required.</para>
+<para>If a style or inset layout is removed in any layout file or module shipped with LyX, a new file format is required.</para>
 </listitem>
 </varlistentry>
 </variablelist>
 <para>However, <emphasis role='bold'>new</emphasis> layouts and modules do <emphasis role='bold'>not</emphasis> require a file format update (changed 03/16). </para>
 <para>If you are still unsure, please ask on the development list.</para>
-<section xml:id="par.export-test-output-formats-1">
+<section xml:id="par.export-test-output-formats">
 <title>Output formats</title>
 <para>The following output formats are currently tested for each sample document:</para>
 <variablelist>
 <varlistentry>
 <term>LyX:</term>
 <listitem>
-
+<para />
 <variablelist>
 <varlistentry>
 <term>lyx16</term>
 <listitem>
-<para> LyX 1.6 file format (lyx2lyx)</para>
+<para>LyX 1.6 file format (lyx2lyx)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>lyx21</term>
 <listitem>
-<para> LyX 2.1 file format (lyx2lyx)</para>
+<para>LyX 2.1 file format (lyx2lyx)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>xhtml</term>
 <listitem>
-<para> LyXHTML (native LyX HTML export)</para>
+<para>LyXHTML (native LyX HTML export)</para>
 </listitem>
 </varlistentry>
 </variablelist>
@@ -100,54 +100,54 @@
 <varlistentry>
 <term>LyX&#xA0;+&#xA0;LaTeX:</term>
 <listitem>
-
+<para />
 <variablelist>
 <varlistentry>
 <term>dvi</term>
 <listitem>
-<para> DVI (8-bit latex)</para>
+<para>DVI (8-bit latex)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>dvi3_texF</term>
 <listitem>
-<para> DVI (LuaTeX with 8-bit TeX fonts)</para>
+<para>DVI (LuaTeX with 8-bit TeX fonts)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>dvi3_systemF</term>
 <listitem>
-<para> DVI (LuaTeX with Unicode fonts)</para>
+<para>DVI (LuaTeX with Unicode fonts)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>pdf2</term>
 <listitem>
-<para> PDF (pdflatex)</para>
+<para>PDF (pdflatex)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>pdf4_texF</term>
 <listitem>
-<para> PDF (XeTeX with 8-bit TeX fonts)</para>
+<para>PDF (XeTeX with 8-bit TeX fonts)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>pdf4_systemF</term>
 <listitem>
-<para> PDF (XeTeX with Unicode fonts)</para>
+<para>PDF (XeTeX with Unicode fonts)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>pdf5_texF</term>
 <listitem>
-<para> PDF (LuaTeX with 8-bit TeX fonts)</para>
+<para>PDF (LuaTeX with 8-bit TeX fonts)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>pdf5_systemF</term>
 <listitem>
-<para> PDF (LuaTeX with Unicode fonts)</para>
+<para>PDF (LuaTeX with Unicode fonts)</para>
 </listitem>
 </varlistentry>
 </variablelist>
@@ -156,18 +156,18 @@
 <varlistentry>
 <term>LyX&#xA0;+&#xA0;LaTeX&#xA0;+&#xA0;postprocessing:</term>
 <listitem>
-
+<para />
 <variablelist>
 <varlistentry>
 <term>pdf</term>
 <listitem>
-<para> DVI -> PS (dvips) -> PDF (ps2pdf)</para>
+<para>DVI -> PS (dvips) -> PDF (ps2pdf)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>pdf3</term>
 <listitem>
-<para> DVI -> PDF (dvipdfm)</para>
+<para>DVI -> PDF (dvipdfm)</para>
 </listitem>
 </varlistentry>
 </variablelist>
@@ -176,90 +176,90 @@
 <varlistentry>
 <term>not&#xA0;tested:</term>
 <listitem>
-<para> (or only if set as default output format in the document source)</para>
+<para>(or only if set as default output format in the document source)</para>
 <variablelist>
 <varlistentry>
 <term>latex</term>
 <listitem>
-<para> LaTeX (plain)</para>
+<para>LaTeX (plain)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>luatex</term>
 <listitem>
-<para> LaTeX (LuaTeX)</para>
+<para>LaTeX (LuaTeX)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>dviluatex</term>
 <listitem>
-<para> LaTeX (dviluatex)</para>
+<para>LaTeX (dviluatex)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>pdflatex</term>
 <listitem>
-<para> LaTeX (pdflatex)</para>
+<para>LaTeX (pdflatex)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>platex</term>
 <listitem>
-<para> LaTeX (pLaTeX)</para>
+<para>LaTeX (pLaTeX)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>xetex</term>
 <listitem>
-<para> LaTeX (XeTeX) </para>
+<para>LaTeX (XeTeX) </para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>eps3</term>
 <listitem>
-<para> EPS (encapsulated Postscript) (cropped)</para>
+<para>EPS (encapsulated Postscript) (cropped)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>ps</term>
 <listitem>
-<para> DVI -> Postscript (dvips)</para>
+<para>DVI -> Postscript (dvips)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>odf</term>
 <listitem>
-<para> </para>
+<para />
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>text</term>
 <listitem>
-<para> (nor text2, ..., text4)</para>
+<para>(nor text2, ..., text4)</para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>textparagraph</term>
 <listitem>
-<para> </para>
+<para />
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>word</term>
 <listitem>
-<para> </para>
+<para />
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>word2</term>
 <listitem>
-<para> </para>
+<para />
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>wordhtml</term>
 <listitem>
-<para> </para>
+<para />
 </listitem>
 </varlistentry>
 </variablelist>
@@ -269,5 +269,4 @@
 </section>
 </section>
 </section>
-
 </article>
\ No newline at end of file
diff --git a/lib/layouts/beamer.layout b/lib/layouts/beamer.layout
index b316b14..f6d17c3 100644
--- a/lib/layouts/beamer.layout
+++ b/lib/layouts/beamer.layout
@@ -234,6 +234,7 @@ Style Description
   DocBookItemTag        listitem
   DocBookItemInnerTag   para
   DocBookItemLabelTag   term
+  DocBookItemLabelTagType   paragraph
 End
 
 
diff --git a/lib/layouts/egs.layout b/lib/layouts/egs.layout
index 0298b69..6ee01ed 100644
--- a/lib/layouts/egs.layout
+++ b/lib/layouts/egs.layout
@@ -269,6 +269,7 @@ Style Description
 	DocBookItemTag        listitem
 	DocBookItemInnerTag   para
 	DocBookItemLabelTag   term
+	DocBookItemLabelTagType   paragraph
 End
 
 
diff --git a/lib/layouts/hollywood.layout b/lib/layouts/hollywood.layout
index 38767c4..7d10bb9 100644
--- a/lib/layouts/hollywood.layout
+++ b/lib/layouts/hollywood.layout
@@ -142,6 +142,7 @@ Style Description
 	DocBookItemTag        listitem
 	DocBookItemInnerTag   para
 	DocBookItemLabelTag   term
+	DocBookItemLabelTagType   paragraph
 End
 
 
diff --git a/lib/layouts/scrclass.inc b/lib/layouts/scrclass.inc
index 1a41a4d..9524ec0 100644
--- a/lib/layouts/scrclass.inc
+++ b/lib/layouts/scrclass.inc
@@ -69,6 +69,7 @@ Style Labeling
 	DocBookItemTag        listitem
 	DocBookItemInnerTag   para
 	DocBookItemLabelTag   term
+	DocBookItemLabelTagType   paragraph
 End
 
 Input stdsections.inc
diff --git a/lib/layouts/svcommon.inc b/lib/layouts/svcommon.inc
index 57573cc..67ed799 100644
--- a/lib/layouts/svcommon.inc
+++ b/lib/layouts/svcommon.inc
@@ -620,6 +620,7 @@ Style Description
 	DocBookItemTag        listitem
 	DocBookItemInnerTag   para
 	DocBookItemLabelTag   term
+	DocBookItemLabelTagType   paragraph
 End
 
 Style Petit
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index cf76bf4..d672144 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -255,6 +255,25 @@ void closeTag(XMLStream & xs, const std::string & tag, const std::string & tagty
 }
 
 
+void compTag(XMLStream & xs, const std::string & tag, const std::string & attr, const std::string & tagtype)
+{
+	if (tag.empty() || tag == "NONE")
+		return;
+
+	// Special case for <para>: always considered as a paragraph.
+	if (tag == "para" || tagtype == "paragraph" || tagtype == "block") {
+		if (!xs.isLastTagCR())
+			xs << xml::CR();
+		xs << xml::CompTag(tag, attr);
+		xs << xml::CR();
+	} else if (tagtype == "inline") {
+		xs << xml::CompTag(tag, attr);
+	} else {
+		xs.writeError("Unrecognised tag type '" + tagtype + "' for '" + tag + "'");
+	}
+}
+
+
 // Higher-level convenience functions.
 
 void openParTag(XMLStream & xs, const Paragraph * par, const Paragraph * prevpar)
@@ -692,9 +711,8 @@ ParagraphList::const_iterator makeListEnvironment(Text const &text,
 			}
 		} else {
 			// DocBook doesn't like emptiness.
-			openTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnerattr(),
+			compTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnerattr(),
 			        par->layout().docbookiteminnertagtype());
-			closeTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnertagtype());
 		}
 
 		// If the next item is deeper, it must go entirely within this item (do it recursively).
diff --git a/src/xml.cpp b/src/xml.cpp
index 557bb01..150f4c5 100644
--- a/src/xml.cpp
+++ b/src/xml.cpp
@@ -651,7 +651,8 @@ docstring xml::cleanID(docstring const & orig)
 	// as both of them would be transformed as "a.b". With this procedure, one will become "a.b" and the other "a.b-1".
 	if (mangle && mangledNames.find(content) != mangledNames.end()) {
 		int & mangleID = tMangleID.localData();
-		content += "-" + convert<docstring>(mangleID);
+		if (mangleID > 0)
+			content += "-" + convert<docstring>(mangleID);
 		mangleID += 1;
 	}
 

commit 5b01c80635f9d33d405c4d9cac05aaf9f75c6aa2
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 30 21:51:40 2020 +0200

    DocBook: fix titles in KOMA Script.

diff --git a/autotests/export/docbook/description_list_nested.xml b/autotests/export/docbook/description_list_nested.xml
index fc50c2c..ec57aaa 100644
--- a/autotests/export/docbook/description_list_nested.xml
+++ b/autotests/export/docbook/description_list_nested.xml
@@ -6,22 +6,19 @@
 <variablelist>
 <varlistentry>
 <term>New&#xA0;valid&#xA0;value&#xA0;for&#xA0;an&#xA0;existing&#xA0;setting,</term>
-
 <listitem>
-<para> e.&#x2009;g.</para>
+<para>e.&#x2009;g.</para>
 <variablelist>
 <varlistentry>
 <term>Automatically&#xA0;loaded&#xA0;math&#xA0;package</term>
-
 <listitem>
-<para> The reason </para>
+<para>The reason </para>
 </listitem>
 </varlistentry>
 <varlistentry>
 <term>New&#xA0;language</term>
-
 <listitem>
-<para> that is stored</para>
+<para>that is stored</para>
 </listitem>
 </varlistentry>
 </variablelist>
@@ -29,11 +26,9 @@
 </varlistentry>
 <varlistentry>
 <term>New&#xA0;inset</term>
-
 <listitem>
-<para> Of course a new inset requires a file format update.</para>
+<para>Of course a new inset requires a file format update.</para>
 </listitem>
 </varlistentry>
 </variablelist>
-
 </article>
\ No newline at end of file
diff --git a/autotests/export/docbook/deutsches_ert.xml b/autotests/export/docbook/deutsches_ert.xml
index 1d9b725..3e12603 100644
--- a/autotests/export/docbook/deutsches_ert.xml
+++ b/autotests/export/docbook/deutsches_ert.xml
@@ -5,12 +5,19 @@
 <info>
 <title>Erweiterte LyX Features</title>
 <subtitle>Version 2.3.x</subtitle>
-<author><personname>vom LyX-Team<footnote>Übersetzung und Bearbeitung: Hartmut<person> Haase (<person>HHa, bis März 2010),Jürgen Spitzmüller (Version 2.3.x, 2017)</person></person></footnote></personname></author>
+<author>
+<personname>vom LyX-Team<footnote>
+<para>Übersetzung und Bearbeitung: Hartmut<person> </person>Haase (<person>HHa</person>, bis März 2010),</para>
+<para>Jürgen Spitzmüller (Version 2.3.x, 2017)</para>
+</footnote></personname>
+</author>
 </info>
 <chapter>
-<chapter>Einleitung</chapter>
-<para>Wählen Sie hierfür <emphasis role='sans'>Dokument&#x21D2;Einstellungen&#x21D2;LaTeX-Vorspann. Dies öffnet ein Editierfenster, in das Sie Ihre bevorzugten Befehle schreiben können.<footnote><para>Das Editierverhalten in diesem Fenster ist spezifisch, also erwarten Sie nicht, dass die LyX<!-- „= -->Tastenkombinationen darin funktionieren.</para>
-</footnote> LyX fügt alles im <emphasis role='sans'>LaTeX-Vorspann-Fenster zu seinem eingebauten Vorspann hinzu. Bevor Sie Ihre eigenen Deklarationen zum Vorspann hinzufügen, sollten Sie prüfen, ob LyX das nicht bereits unterstützt (Erinnern Sie sich, was wir über das Rad noch einmal erfinden sagten?). Außerdem: <emphasis>stellen Sie sicher, dass Ihre Vorspannzeilen richtig sind. LyX prüft das nicht. Wenn der Vorspann fehlerhaft ist, bekommen Sie sehr wahrscheinlich die Fehlermeldung Missing \begin{document}. Sollten Sie diese jemals bekommen, prüfen Sie Ihren Vorspann!. <!-- -- --></emphasis></emphasis></emphasis></para>
+<title>Einleitung</title>
+<para>Wählen Sie hierfür <emphasis role='sans'>Dokument&#x21D2;Einstellungen&#x21D2;LaTeX-Vorspann.</emphasis> Dies öffnet ein Editierfenster, in das Sie Ihre bevorzugten Befehle schreiben können.<footnote>
+<para>Das Editierverhalten in diesem Fenster ist spezifisch, also erwarten Sie nicht, dass die LyX<!-- „= -->
+Tastenkombinationen darin funktionieren.</para>
+</footnote> LyX fügt alles im <emphasis role='sans'>LaTeX-Vorspann</emphasis>-Fenster zu seinem eingebauten Vorspann hinzu. Bevor Sie Ihre eigenen Deklarationen zum Vorspann hinzufügen, sollten Sie prüfen, ob LyX das nicht bereits unterstützt (Erinnern Sie sich, was wir über das Rad noch einmal erfinden sagten?). Außerdem: <emphasis>stellen Sie sicher, dass Ihre Vorspannzeilen richtig sind</emphasis>. LyX prüft das nicht. Wenn der Vorspann fehlerhaft ist, bekommen Sie sehr wahrscheinlich die Fehlermeldung Missing \begin{document}. Sollten Sie diese jemals bekommen, prüfen Sie Ihren Vorspann!. <!-- -- -->
+</para>
 </chapter>
-
 </book>
\ No newline at end of file
diff --git a/lib/layouts/scrartcl.layout b/lib/layouts/scrartcl.layout
index 1b27e89..4f2a8d4 100644
--- a/lib/layouts/scrartcl.layout
+++ b/lib/layouts/scrartcl.layout
@@ -26,7 +26,9 @@ Style Part
 	Font
 	  Size		Larger
 	EndFont
-	DocBookTag            part
+	DocBookTag            title
+	DocBookTagType        paragraph
+	DocBookSectionTag     part
 End
 
 Style Part*
@@ -36,5 +38,7 @@ Style Part*
 	Font
 	  Size		Larger
 	EndFont
-	DocBookTag            part
+	DocBookTag            title
+	DocBookTagType        paragraph
+	DocBookSectionTag     part
 End
diff --git a/lib/layouts/scrbook.layout b/lib/layouts/scrbook.layout
index 60caa1c..01d16ca 100644
--- a/lib/layouts/scrbook.layout
+++ b/lib/layouts/scrbook.layout
@@ -18,7 +18,9 @@ NoStyle Abstract
 Style Chapter
 	LabelString	"\thechapter"
 	TocLevel 0
-	DocBookTag            chapter
+	DocBookTag            title
+	DocBookTagType        paragraph
+	DocBookSectionTag     chapter
 End
 
 
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 2bffb0a..cf76bf4 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -978,6 +978,9 @@ void outputDocBookInfo(
 
 	// End the <info> tag if it was started.
 	if (needInfo) {
+		if (!xs.isLastTagCR())
+			xs << xml::CR();
+
 		xs << xml::EndTag("info");
 		xs << xml::CR();
 		xs.endDivision();

commit 976bd91fc2bfea65f22babcc7a9f4762a46f7795
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 30 03:30:56 2020 +0200

    DocBook: bug fixing with wrapper merging.

diff --git a/autotests/export/docbook/bibliography_precooked_aastex.xml b/autotests/export/docbook/bibliography_precooked_aastex.xml
index 70b19af..2ab4a79 100644
--- a/autotests/export/docbook/bibliography_precooked_aastex.xml
+++ b/autotests/export/docbook/bibliography_precooked_aastex.xml
@@ -40,16 +40,15 @@
 <affiliation role="alternate">
 <orgname>Patron, Alonso's Bar and Grill</orgname>
 </affiliation>
-<keyword>
-clusters: globular, peanut—bosons: bozos
-</keyword>
-<!-- Output Error: Tried to close `keywordset' when tag was not open. Tag discarded. -->
-
+</author>
+<keywordset>
+<keyword>clusters: globular, peanut—bosons: bozos</keyword>
+</keywordset>
+<abstract>
 <para>This is a preliminary report on surface photometry of the major fraction of known globular clusters, to see which of them show the signs of a collapsed core. We also explore some diversionary mathematics and recreational tables. </para>
+</abstract>
 
-<!-- Output Error: Closing tag `info' when other tags are open, namely: -->
-<!-- Output Error: author -->
-</author></info>
+</info>
 <section>
 <title>Introduction</title>
 <para>A focal problem today in the dynamics of globular clusters is core collapse. It has been predicted by theory for decades <biblioref endterm="hen61" />, <biblioref endterm="lyn68" />, <biblioref endterm="spi85" />, but observation has been less alert to the phenomenon. For many years the central brightness peak in M15 <biblioref endterm="kin75" />, <biblioref endterm="new78" /> seemed a unique anomaly. Then <biblioref endterm="aur82" /> suggested a central peak in NGC 6397, and a limited photographic survey of ours <biblioref endterm="djo84" /> found three more cases, including NGC 6624, whose sharp center had often been remarked on <biblioref endterm="can78" />. </para>
@@ -1005,11 +1004,8 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
 </inlineequation> of the electronically submitted abstracts for AAS meetings are error-free. </para>
 <acknowledgements>
 <para>We are grateful to V. Barger, T. Han, and R. J. N. Phillips for doing the math in section&#xA0;<xref linkend="bozomath" />. More information on the AASTeX macros package are available at <link xlink:href="http://www.aas.org/publications/aastex">http://www.aas.org/publications/aastex</link> or the <link xlink:href="ftp://www.aas.org/pubs/AAS ftp site">AAS ftp site</link>.</para>
-<application>
-IRAF, AIPS, Astropy, ...
-</application>
-<!-- Output Error: Tried to close `para' when tag was not open. Tag discarded. -->
-
+</acknowledgements>
+<remark role='software'>IRAF, AIPS, Astropy, ...</remark>
 </section>
 <bibliography>
 <bibliomixed xml:id='aur82'>Aurière, M. 1982, <!-- \aap -->
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 19bd1d8..2bffb0a 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -274,8 +274,10 @@ void openParTag(XMLStream & xs, const Paragraph * par, const Paragraph * prevpar
 	if (prevpar != nullptr) {
 		Layout const & prevlay = prevpar->layout();
 		if (prevlay.docbookwrappertag() != "NONE") {
-			openWrapper = prevlay.docbookwrappertag() == lay.docbookwrappertag()
-			              && !lay.docbookwrappermergewithprevious();
+			if (prevlay.docbookwrappertag() == lay.docbookwrappertag())
+				openWrapper = !lay.docbookwrappermergewithprevious();
+			else
+				openWrapper = true;
 		}
 	}
 
@@ -308,8 +310,10 @@ void closeParTag(XMLStream & xs, Paragraph const * par, Paragraph const * nextpa
 	if (nextpar != nullptr) {
 		Layout const & nextlay = nextpar->layout();
 		if (nextlay.docbookwrappertag() != "NONE") {
-			closeWrapper = nextlay.docbookwrappertag() == lay.docbookwrappertag()
-			               && !nextlay.docbookwrappermergewithprevious();
+			if (nextlay.docbookwrappertag() == lay.docbookwrappertag())
+				closeWrapper = !nextlay.docbookwrappermergewithprevious();
+			else
+				closeWrapper = true;
 		}
 	}
 
@@ -948,8 +952,7 @@ void outputDocBookInfo(
 		// that mandating a wrapper like <info> would repel users. Thus, generate them first.
 		makeAny(text, buf, xs, runparams, paragraphs.iterator_at(pit));
 	for (auto pit : info.mustBeInInfo)
-		if (info.abstract.find(pit) == info.abstract.end()) // The abstract must be in info, but is dealt with after.
-			makeAny(text, buf, xs, runparams, paragraphs.iterator_at(pit));
+		makeAny(text, buf, xs, runparams, paragraphs.iterator_at(pit));
 
 	// Always output the abstract as the last item of the <info>, as it requires special treatment (especially if
 	// it contains several paragraphs that are empty).

commit 7ec0307b13b002e5914882ece6c76f864ef61746
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 30 03:08:55 2020 +0200

    DocBook: bug fixing in AASTeX layout.
    
    That's mostly generating DocBook tags at an inappropriate place with some metadata, rather than outputting whatever you have at your disposal. Far from satisfying, but good enough for a generic tool (see details in the new TODO). Doesn't trigger assertions. Is valid XML.

diff --git a/autotests/export/docbook/bibliography_precooked_aastex.xml b/autotests/export/docbook/bibliography_precooked_aastex.xml
index 71fe700..70b19af 100644
--- a/autotests/export/docbook/bibliography_precooked_aastex.xml
+++ b/autotests/export/docbook/bibliography_precooked_aastex.xml
@@ -382,9 +382,7 @@ clusters: globular, peanut—bosons: bozos
  </m:mrow>
  </m:math>
 </inlineequation> may be formed from particle four-momenta, gauge-boson polarization vectors or fermion strings with an uncontracted Lorentz index associated with final-state fermions.</para>
-<NoteToEditor>
-Figures 1 and 2 should appear side-by-side in print
-</NoteToEditor>
+<remark role='to-editor'>Figures 1 and 2 should appear side-by-side in print</remark>
 <para>In the chiral representation the <inlineequation>
 <alt role='tex'>\gamma</alt>
  <m:math>
@@ -634,7 +632,6 @@ Figures 1 and 2 should appear side-by-side in print
  </m:mrow>
  </m:math>
 </inlineequation> by </para>
-<MathLetters>
 <informalequation>
 <alt role='tex'>u(p,\lambda)_{\pm} & = & (E\pm\lambda|{\textbf{p}}|)^{1/2}\chi_{\lambda}(p),\\
 v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi_{-\lambda}(p)
@@ -724,9 +721,7 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
   </m:mtr>
  </m:mtable>
  </m:math>
-</informalequation>
-</MathLetters>
-</section>
+</informalequation></section>
 </section>
 <section>
 <title>Floating material and so forth</title>
@@ -1008,7 +1003,7 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation> of the electronically submitted abstracts for AAS meetings are error-free. </para>
-<acknowledgement>
+<acknowledgements>
 <para>We are grateful to V. Barger, T. Han, and R. J. N. Phillips for doing the math in section&#xA0;<xref linkend="bozomath" />. More information on the AASTeX macros package are available at <link xlink:href="http://www.aas.org/publications/aastex">http://www.aas.org/publications/aastex</link> or the <link xlink:href="ftp://www.aas.org/pubs/AAS ftp site">AAS ftp site</link>.</para>
 <application>
 IRAF, AIPS, Astropy, ...
@@ -1139,7 +1134,7 @@ IRAF, AIPS, Astropy, ...
  <m:mrow><m:mi>P</m:mi>
  </m:mrow>
  </m:math>
-</inlineequation>a</td>
+</inlineequation><remark role='tablenotemark'>a</remark></td>
 <td align='right' valign='top'> <inlineequation>
 <alt role='tex'>PR_{maj}</alt>
  <m:math>
@@ -1183,7 +1178,7 @@ IRAF, AIPS, Astropy, ...
  <m:mrow><m:mo>&#x398;</m:mo>
  </m:mrow>
  </m:math>
-</inlineequation>b</td>
+</inlineequation><remark role='tablenotemark'>b</remark></td>
 <td align='center' valign='top'>Ref.</td>
 </tr>
 <tr>
@@ -1235,7 +1230,7 @@ IRAF, AIPS, Astropy, ...
 <tr>
 <td align='center' valign='top'> 4 </td>
 <td align='right' valign='top'>32733.8 </td>
-<td align='right' valign='top'>-1.2c</td>
+<td align='right' valign='top'>-1.2<remark role='tablenotemark'>c</remark></td>
 <td align='right' valign='top'>-0.5 </td>
 <td align='right' valign='top'>41 </td>
 <td align='right' valign='top'>54.8 </td>
@@ -1254,7 +1249,7 @@ IRAF, AIPS, Astropy, ...
 <td align='right' valign='top'>-0.4 </td>
 <td align='right' valign='top'>60 </td>
 <td align='right' valign='top'>1.4 </td>
-<td align='right' valign='top'>1.669c</td>
+<td align='right' valign='top'>1.669<remark role='tablenotemark'>c</remark></td>
 <td align='right' valign='top'>1.574 </td>
 <td align='right' valign='top'>2.343 </td>
 <td align='right' valign='top'>8.0 </td>
@@ -1279,23 +1274,13 @@ IRAF, AIPS, Astropy, ...
 </tr>
 </tbody>
 
-<Table note>
-a<!-- }{ -->
-Sample footnote for table&#xA0;<xref linkend="tbl-2" /> that was generated with the LaTeX table environment
-</Table note>
-<Table note>
-b<!-- }{ -->
-Yet another sample footnote for table&#xA0;<xref linkend="tbl-2" />
-</Table note>
-<Table note>
-c<!-- }{ -->
-Another sample footnote for table&#xA0;<xref linkend="tbl-2" />
-</Table note>
-<TableComments>
-We can also attach a long-ish paragraph of explanatory material to a table. Use \tablerefs to append a list of references. The following references were from a different table: I've patched them in here to show how they look, but don't take them too seriously—I certainly have not.
-</TableComments>
-<TableRefs>
-(1) Barbuy, Spite, & Spite 1985; (2) Bond 1980; (3) Carbon et al. 1987; (4) Hobbs & Duncan 1987; (5) Gilroy et al. 1988: (6) Gratton & Ortolani 1986; (7) Gratton & Sneden 1987; (8) Gratton & Sneden (1988); (9) Gratton & Sneden 1991; (10) Kraft et al. 1982; (11) LCL, or Laird, 1990; (12) Leep & Wallerstein 1981; (13) Luck & Bond 1981; (14) Luck & Bond 1985; (15) Magain 1987; (16) Magain 1989; (17) Peterson 1981; (18) Peterson, Kurucz, & Carney 1990; (19) RMB; (20) Schuster & Nissen 1988; (21) Schuster & Nissen 1989b; (22) Spite et al. 1984; (23) Spite & Spite 1986; (24) Hobbs & Thorburn 1991; (25) Hobbs et al. 1991; (26) Olsen 1983.
-</TableRefs>
+<remark role='tablenote'>a<!-- }{ -->
+Sample footnote for table&#xA0;<xref linkend="tbl-2" /> that was generated with the LaTeX table environment</remark>
+<remark role='tablenote'>b<!-- }{ -->
+Yet another sample footnote for table&#xA0;<xref linkend="tbl-2" /></remark>
+<remark role='tablenote'>c<!-- }{ -->
+Another sample footnote for table&#xA0;<xref linkend="tbl-2" /></remark>
+<remark role='tablecomments'>We can also attach a long-ish paragraph of explanatory material to a table. Use \tablerefs to append a list of references. The following references were from a different table: I've patched them in here to show how they look, but don't take them too seriously—I certainly have not.</remark>
+<remark role='tablerefs'>(1) Barbuy, Spite, & Spite 1985; (2) Bond 1980; (3) Carbon et al. 1987; (4) Hobbs & Duncan 1987; (5) Gilroy et al. 1988: (6) Gratton & Ortolani 1986; (7) Gratton & Sneden 1987; (8) Gratton & Sneden (1988); (9) Gratton & Sneden 1991; (10) Kraft et al. 1982; (11) LCL, or Laird, 1990; (12) Leep & Wallerstein 1981; (13) Luck & Bond 1981; (14) Luck & Bond 1985; (15) Magain 1987; (16) Magain 1989; (17) Peterson 1981; (18) Peterson, Kurucz, & Carney 1990; (19) RMB; (20) Schuster & Nissen 1988; (21) Schuster & Nissen 1989b; (22) Spite et al. 1984; (23) Spite & Spite 1986; (24) Hobbs & Thorburn 1991; (25) Hobbs et al. 1991; (26) Olsen 1983.</remark>
 </table>
 </article>
\ No newline at end of file
diff --git a/development/DocBookToDo b/development/DocBookToDo
new file mode 100644
index 0000000..39ca534
--- /dev/null
+++ b/development/DocBookToDo
@@ -0,0 +1,20 @@
+Things specific to layouts
+==========================
+
+AASTeX
+------
+
+No support for table notes. They could be implemented through <footnoteref>, but it becomes a nightmare to ensure xml:id uniqueness (the only ID available here is in the inset; mix it with the table ID?). Anyway, it would require a lot of specific code to make it work, probably not worth the effort right now. 
+
+	Related parts of the layout: 
+		Style "Table note"
+		InsetLayout "Flex:tablenotemark"
+	Alreayd used in the following test: 
+		bibliography_precooked_aastex.lyx
+		
+Notion of MathLetters: a group of equations. No good mapping in DocBook, maybe an informalgroup? To discuss with DocBook TC. 
+TableRefs, TableComments: no mapping in DocBook, not really a way to add these things. To discuss with DocBook TC. 
+
+Clearly, with this kind of template, we're reaching the limits of such a system! Having a really good converter for all these cases would require a lot of very specific code. 
+
+More general: what the heck with appendices? It's not handled in the LyX way (Document > Start Appendix Here), but in a custom way. Making this work would solve some correctness issues with this template. 
\ No newline at end of file
diff --git a/lib/layouts/aastex.layout b/lib/layouts/aastex.layout
index d79cd02..78089a4 100644
--- a/lib/layouts/aastex.layout
+++ b/lib/layouts/aastex.layout
@@ -285,6 +285,11 @@ Style Abstract
 	  Series	Bold
 	  Size		Normal
 	EndFont
+	DocBookAbstract       true
+	DocBookInInfo         always
+	DocBookWrapperTag     abstract
+	DocBookWrapperMergeWithPrevious    true
+	DocBookTag            para
 End
 
 
@@ -335,6 +340,7 @@ Style Keywords
 	  Size		Normal
 	EndFont
 	DocBookTag          keyword
+	DocBookTagType      paragraph
 	DocBookWrapperTag   keywordset
 	DocBookInInfo       always
 End
@@ -359,7 +365,7 @@ Style Acknowledgements
 	  Shape		Italic
 	EndFont
 	DocBookTag            para
-	DocBookWrapperTag     acknowledgement
+	DocBookWrapperTag     acknowledgements
 End
 
 
@@ -432,6 +438,7 @@ Style MathLetters
 	Font
 	  Size		Normal
 	EndFont
+	DocBookTag  NONE
 End
 
 
@@ -495,6 +502,9 @@ Style NoteToEditor
 	  Size		Normal
 	  Shape		Italic
 	EndFont
+	DocBookTag      remark
+	DocBookTagType  paragraph
+	DocBookAttr     role='to-editor'
 End
 
 
@@ -515,6 +525,9 @@ Style TableRefs
 	  Family	Roman
 	  Size		Normal
 	EndFont
+	DocBookTag      remark
+	DocBookTagType  paragraph
+	DocBookAttr     role='tablerefs'
 End
 
 
@@ -535,6 +548,9 @@ Style TableComments
 	  Family	Roman
 	  Size		Normal
 	EndFont
+	DocBookTag      remark
+	DocBookTagType  paragraph
+	DocBookAttr     role='tablecomments'
 End
 
 
@@ -550,6 +566,9 @@ Style "Table note"
 	LabelFont
 	  Color		magenta
 	EndFont
+	DocBookTag      remark
+	DocBookTagType  paragraph
+	DocBookAttr     role='tablenote'
 End
 
 
@@ -572,6 +591,9 @@ InsetLayout "Flex:tablenotemark"
 	  Color		magenta
 	  Size		Small
 	EndFont
+	DocBookTag      remark
+	DocBookTagType  paragraph
+	DocBookAttr     role='tablenotemark'
 End
 
 
diff --git a/lib/layouts/aastex6.layout b/lib/layouts/aastex6.layout
index 03d585e..6935365 100644
--- a/lib/layouts/aastex6.layout
+++ b/lib/layouts/aastex6.layout
@@ -67,8 +67,11 @@ Style Software
 	LabelFont
 	  Shape		Italic
 	EndFont
-	DocBookWrapperTag   para
-	DocBookTag          application
+	DocBookTag      remark
+	DocBookAttr     role='software'
+	# Override what's taken from Keywords, but not really wanted.
+	DocBookWrapperTag   NONE
+	DocBookInInfo       never
 End
 
 # other new commands are mainly for the user preamble
diff --git a/lib/layouts/aastex62.layout b/lib/layouts/aastex62.layout
index 3eb7dcc..1ef8636 100644
--- a/lib/layouts/aastex62.layout
+++ b/lib/layouts/aastex62.layout
@@ -78,8 +78,11 @@ Style Software
 	LabelFont
 		Shape           Italic
 	EndFont
-	DocBookWrapperTag   para
-	DocBookTag          application
+	DocBookTag      remark
+	DocBookAttr     role='software'
+	# Override what's taken from Keywords, but not really wanted.
+	DocBookWrapperTag   NONE
+	DocBookInInfo       never
 End
 
 # other new commands are mainly for the user preamble

commit fb8c07a2c76e082593152086d495b5a3f278fd31
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 30 02:34:49 2020 +0200

    DocBook: adapt AASTeX for tag types (new-line behaviour).

diff --git a/autotests/export/docbook/bibliography_precooked_aastex.xml b/autotests/export/docbook/bibliography_precooked_aastex.xml
index fe77b72..71fe700 100644
--- a/autotests/export/docbook/bibliography_precooked_aastex.xml
+++ b/autotests/export/docbook/bibliography_precooked_aastex.xml
@@ -3,25 +3,53 @@
   See http://www.lyx.org/ for more information -->
 <article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
 <info>
-<!-- shouldBeInInfo --><title>Collapsed Cores in Globular Clusters,  Gauge-Boson Couplings, and AASTeX Examples</title>
-<!-- mustBeInInfo --><author><personname>S. Djorgovski and Ivan R. King</personname>
-<affiliation><orgname>Astronomy Department, University of California, Berkeley, CA 94720</orgname></affiliation>
-<affiliation role="alternate"><orgname>Visiting Astronomer Cerro Tololo Inter-American Observatory.CTIO is operated by AURA Inc. under contract to the National Science Foundation.</orgname></affiliation>
-<affiliation role="alternate"><orgname>Society of Fellows, Harvard University.</orgname></affiliation>
-<affiliation role="alternate"><orgname>present address: Center for Astrophysics60 Garden Street, Cambridge, MA 02138</orgname></affiliation></author>
-<author><personname>C. D. Biemesderfer</personname>
-<affiliation><orgname>National Optical Astronomy Observatories, Tucson, AZ 85719</orgname></affiliation>
-<affiliation role="alternate"><orgname>Visiting Programmer, Space Telescope Science Institute</orgname></affiliation>
-<affiliation role="alternate"><orgname>Patron, Alonso's Bar and Grill</orgname></affiliation>
-<email>aastex-help at aas.org</email></author>
-<author><personname>R. J. Hanisch</personname>
-<affiliation><orgname>Space Telescope Science Institute, Baltimore, MD 21218</orgname></affiliation>
-<affiliation role="alternate"><orgname>Patron, Alonso's Bar and Grill</orgname></affiliation></author>
-<keywordset><keyword>clusters: globular, peanut—bosons: bozos</keyword></keywordset>
-<!-- /info --><!-- abs --><abstract><para>
+<title>Collapsed Cores in Globular Clusters,  Gauge-Boson Couplings, and AASTeX Examples</title>
+<author>
+<personname>S. Djorgovski and Ivan R. King</personname>
+<affiliation>
+<orgname>Astronomy Department, University of California, Berkeley, CA 94720</orgname>
+</affiliation>
+<affiliation role="alternate">
+<orgname>Visiting Astronomer Cerro Tololo Inter-American Observatory.CTIO is operated by AURA Inc. under contract to the National Science Foundation.</orgname>
+</affiliation>
+<affiliation role="alternate">
+<orgname>Society of Fellows, Harvard University.</orgname>
+</affiliation>
+<affiliation role="alternate">
+<orgname>present address: Center for Astrophysics60 Garden Street, Cambridge, MA 02138</orgname>
+</affiliation>
+</author>
+<author>
+<personname>C. D. Biemesderfer</personname>
+<affiliation>
+<orgname>National Optical Astronomy Observatories, Tucson, AZ 85719</orgname>
+</affiliation>
+<affiliation role="alternate">
+<orgname>Visiting Programmer, Space Telescope Science Institute</orgname>
+</affiliation>
+<affiliation role="alternate">
+<orgname>Patron, Alonso's Bar and Grill</orgname>
+</affiliation>
+<email>aastex-help at aas.org</email>
+</author>
+<author>
+<personname>R. J. Hanisch</personname>
+<affiliation>
+<orgname>Space Telescope Science Institute, Baltimore, MD 21218</orgname>
+</affiliation>
+<affiliation role="alternate">
+<orgname>Patron, Alonso's Bar and Grill</orgname>
+</affiliation>
+<keyword>
+clusters: globular, peanut—bosons: bozos
+</keyword>
+<!-- Output Error: Tried to close `keywordset' when tag was not open. Tag discarded. -->
+
 <para>This is a preliminary report on surface photometry of the major fraction of known globular clusters, to see which of them show the signs of a collapsed core. We also explore some diversionary mathematics and recreational tables. </para>
-</para></abstract>
-<!-- 15 --><!-- /abs --></info>
+
+<!-- Output Error: Closing tag `info' when other tags are open, namely: -->
+<!-- Output Error: author -->
+</author></info>
 <section>
 <title>Introduction</title>
 <para>A focal problem today in the dynamics of globular clusters is core collapse. It has been predicted by theory for decades <biblioref endterm="hen61" />, <biblioref endterm="lyn68" />, <biblioref endterm="spi85" />, but observation has been less alert to the phenomenon. For many years the central brightness peak in M15 <biblioref endterm="kin75" />, <biblioref endterm="new78" /> seemed a unique anomaly. Then <biblioref endterm="aur82" /> suggested a central peak in NGC 6397, and a limited photographic survey of ours <biblioref endterm="djo84" /> found three more cases, including NGC 6624, whose sharp center had often been remarked on <biblioref endterm="can78" />. </para>
@@ -107,7 +135,8 @@
 </section>
 <section>
 <title>Helicity Amplitudes</title>
-<para>It has been realized that helicity amplitudes provide a convenient means for Feynman diagram<footnote><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --><para>Footnotes can be inserted like this.</para>
+<para>It has been realized that helicity amplitudes provide a convenient means for Feynman diagram<footnote>
+<para>Footnotes can be inserted like this.</para>
 </footnote> evaluations. These amplitude-level techniques are particularly convenient for calculations involving many Feynman diagrams, where the usual trace techniques for the amplitude squared becomes unwieldy. Our calculations use the helicity techniques developed by other authors <biblioref endterm="hag86" />; we briefly summarize below.</para>
 <section>
 <title>Formalism</title>
@@ -133,7 +162,8 @@
   </m:mrow>
  </m:mrow>
  </m:math>
-</inlineequation> collisions can be expressed in terms of fermion strings of the form <informalequation>
+</inlineequation> collisions can be expressed in terms of fermion strings of the form 
+<informalequation>
 <alt role='tex'>\bar{v}(p_{2},\sigma_{2})P_{-\tau}\hat{a}_{1}\hat{a}_{2}\cdots\hat{a}_{n}u(p_{1},\sigma_{1}),</alt>
  <m:math>
  
@@ -352,7 +382,9 @@
  </m:mrow>
  </m:math>
 </inlineequation> may be formed from particle four-momenta, gauge-boson polarization vectors or fermion strings with an uncontracted Lorentz index associated with final-state fermions.</para>
-<NoteToEditor>Figures 1 and 2 should appear side-by-side in print</NoteToEditor>
+<NoteToEditor>
+Figures 1 and 2 should appear side-by-side in print
+</NoteToEditor>
 <para>In the chiral representation the <inlineequation>
 <alt role='tex'>\gamma</alt>
  <m:math>
@@ -376,7 +408,8 @@
  <m:mrow><m:mi>&#x3C3;</m:mi>
  </m:mrow>
  </m:math>
-</inlineequation> and the unit matrix 1 as <informalequation>
+</inlineequation> and the unit matrix 1 as 
+<informalequation>
 <alt role='tex'>\gamma^{\mu} & = & \left(\begin{array}{cc}
 0 & \sigma_{+}^{\mu}\\
 \sigma_{-}^{\mu} & 0
@@ -486,7 +519,8 @@
   </m:mtr>
  </m:mtable>
  </m:math>
-</informalequation> giving <informalequation>
+</informalequation> giving 
+<informalequation>
 <alt role='tex'>\hat{a}=\left(\begin{array}{cc}
 0 & (\hat{a})_{+}\\
 (\hat{a})_{-} & 0
@@ -564,11 +598,13 @@
   </m:mrow>
  </m:mrow>
  </m:math>
-</informalequation> The spinors are expressed in terms of two-component Weyl spinors as <informalequation>
+</informalequation> The spinors are expressed in terms of two-component Weyl spinors as 
+<informalequation>
 <alt role='tex'>u=\left(\begin{array}{c}
 (u)_{-}\\
 (u)_{+}
-\end{array}\right),v={\textbf{(}}\vdag_{+}{\textbf{,}}\vdag_{-}{\textbf{)}}.</alt>MathML export failed. Please report this as a bug.
+\end{array}\right),v={\textbf{(}}\vdag_{+}{\textbf{,}}\vdag_{-}{\textbf{)}}.</alt>
+<mathphrase>MathML export failed. Please report this as a bug.</mathphrase>
 </informalequation></para>
 <para>The Weyl spinors are given in terms of helicity eigenstates <inlineequation>
 <alt role='tex'>\chi_{\lambda}(p)</alt>
@@ -694,7 +730,8 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
 </section>
 <section>
 <title>Floating material and so forth</title>
-<para>Consider a task that computes profile parameters for a modified Lorentzian of the form <informalequation>
+<para>Consider a task that computes profile parameters for a modified Lorentzian of the form 
+<informalequation>
 <alt role='tex'>I=\frac{1}{1+d_{1}^{P(1+d_{2})}}</alt>
  <m:math>
  
@@ -732,7 +769,8 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
   </m:mrow>
  </m:mrow>
  </m:math>
-</informalequation> where <informalequation>
+</informalequation> where 
+<informalequation>
 <alt role='tex'>d_{1}=\sqrt{\left(\begin{array}{c}
 \frac{x_{1}}{R_{maj}}\end{array}\right)^{2}+\left(\begin{array}{c}
 \frac{y_{1}}{R_{min}}\end{array}\right)^{2}}</alt>
@@ -817,11 +855,14 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
   </m:mrow>
  </m:mrow>
  </m:math>
-</informalequation><informalequation>
+</informalequation>
+<informalequation>
 <alt role='tex'>d_{2}=\sqrt{\left(\begin{array}{c}
 \frac{x_{1}}{PR_{maj}}\end{array}\right)^{2}+\left(\begin{array}{c}
-\case{y_{1}}{PR_{min}}\end{array}\right)^{2}}</alt>MathML export failed. Please report this as a bug.
-</informalequation><informalequation>
+\case{y_{1}}{PR_{min}}\end{array}\right)^{2}}</alt>
+<mathphrase>MathML export failed. Please report this as a bug.</mathphrase>
+</informalequation>
+<informalequation>
 <alt role='tex'>x_{1}=(x-x_{0})\cos\Theta+(y-y_{0})\sin\Theta</alt>
  <m:math>
  
@@ -858,7 +899,8 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
   </m:mrow>
  </m:mrow>
  </m:math>
-</informalequation><informalequation>
+</informalequation>
+<informalequation>
 <alt role='tex'>y_{1}=-(x-x_{0})\sin\Theta+(y-y_{0})\cos\Theta</alt>
  <m:math>
  
@@ -951,7 +993,8 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
   </m:msub>
  </m:mrow>
  </m:math>
-</inlineequation>, but the assumption is that the alternate results should be less than 90° out of phase with previous values. We have no observations of <!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --><!-- \ion{Ca}{2} -->. Roughly <inlineequation>
+</inlineequation>, but the assumption is that the alternate results should be less than 90° out of phase with previous values. We have no observations of <!-- \ion{Ca}{2} -->
+. Roughly <inlineequation>
 <alt role='tex'>\nicefrac{4}{5}</alt>
  <m:math>
  
@@ -965,33 +1008,49 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation> of the electronically submitted abstracts for AAS meetings are error-free. </para>
-<acknowledgement><para>We are grateful to V. Barger, T. Han, and R. J. N. Phillips for doing the math in section&#xA0;<xref linkend="bozomath" />. More information on the AASTeX macros package are available at <link xlink:href="http://www.aas.org/publications/aastex"><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->http://www.aas.org/publications/aastex</link> or the <link xlink:href="ftp://www.aas.org/pubs/AAS ftp site">AAS ftp site</link>.</para>
-<application>IRAF, AIPS, Astropy, ...</application><!-- Output Error: Tried to close `para' when tag was not open. Tag discarded. -->
+<acknowledgement>
+<para>We are grateful to V. Barger, T. Han, and R. J. N. Phillips for doing the math in section&#xA0;<xref linkend="bozomath" />. More information on the AASTeX macros package are available at <link xlink:href="http://www.aas.org/publications/aastex">http://www.aas.org/publications/aastex</link> or the <link xlink:href="ftp://www.aas.org/pubs/AAS ftp site">AAS ftp site</link>.</para>
+<application>
+IRAF, AIPS, Astropy, ...
+</application>
+<!-- Output Error: Tried to close `para' when tag was not open. Tag discarded. -->
 
+</section>
 <bibliography>
-<bibliomixed xml:id='aur82'>Aurière, M. 1982, <!-- \aap -->, 109, 301 </bibliomixed>
-<bibliomixed xml:id='can78'>Canizares, C. R., Grindlay, J. E., Hiltner, W. A., Liller, W., and McClintock, J. E. 1978, <!-- \apj -->, 224, 39 </bibliomixed>
-<bibliomixed xml:id='djo84'>Djorgovski, S., and King, I. R. 1984, <!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --><!-- \apjl -->, 277, L49 </bibliomixed>
+<bibliomixed xml:id='aur82'>Aurière, M. 1982, <!-- \aap -->
+, 109, 301 </bibliomixed>
+<bibliomixed xml:id='can78'>Canizares, C. R., Grindlay, J. E., Hiltner, W. A., Liller, W., and McClintock, J. E. 1978, <!-- \apj -->
+, 224, 39 </bibliomixed>
+<bibliomixed xml:id='djo84'>Djorgovski, S., and King, I. R. 1984, <!-- \apjl -->
+, 277, L49 </bibliomixed>
 <bibliomixed xml:id='hag86'>Hagiwara, K., and Zeppenfeld, D. 1986, Nucl.Phys., 274, 1 </bibliomixed>
-<bibliomixed xml:id='har84'>Harris, W. E., and van den Bergh, S. 1984, <!-- \aj -->, 89, 1816 </bibliomixed>
+<bibliomixed xml:id='har84'>Harris, W. E., and van den Bergh, S. 1984, <!-- \aj -->
+, 89, 1816 </bibliomixed>
 <bibliomixed xml:id='hen61'>Hénon, M. 1961, Ann.d'Ap., 24, 369 </bibliomixed>
-<bibliomixed xml:id='kin66'>King, I. R. 1966, <!-- \aj -->, 71, 276 </bibliomixed>
+<bibliomixed xml:id='kin66'>King, I. R. 1966, <!-- \aj -->
+, 71, 276 </bibliomixed>
 <bibliomixed xml:id='kin75'>King, I. R. 1975, Dynamics of Stellar Systems, A. Hayli, Dordrecht: Reidel, 1975, 99 </bibliomixed>
-<bibliomixed xml:id='kin68'>King, I. R., Hedemann, E., Hodge, S. M., and White, R. E. 1968, <!-- \aj -->, 73, 456 </bibliomixed>
-<bibliomixed xml:id='kro84'>Kron, G. E., Hewitt, A. V., and Wasserman, L. H. 1984, <!-- \pasp -->, 96, 198 </bibliomixed>
-<bibliomixed xml:id='lyn68'>Lynden-Bell, D., and Wood, R. 1968, <!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --><!-- \mnras -->, 138, 495 </bibliomixed>
-<bibliomixed xml:id='new78'>Newell, E. B., and O'Neil, E. J. 1978, <!-- \apjs -->, 37, 27 </bibliomixed>
-<bibliomixed xml:id='ort85'>Ortolani, S., Rosino, L., and Sandage, A. 1985, <!-- \aj -->, 90, 473 </bibliomixed>
-<bibliomixed xml:id='pet76'>Peterson, C. J. 1976, <!-- \aj -->, 81, 617 </bibliomixed>
+<bibliomixed xml:id='kin68'>King, I. R., Hedemann, E., Hodge, S. M., and White, R. E. 1968, <!-- \aj -->
+, 73, 456 </bibliomixed>
+<bibliomixed xml:id='kro84'>Kron, G. E., Hewitt, A. V., and Wasserman, L. H. 1984, <!-- \pasp -->
+, 96, 198 </bibliomixed>
+<bibliomixed xml:id='lyn68'>Lynden-Bell, D., and Wood, R. 1968, <!-- \mnras -->
+, 138, 495 </bibliomixed>
+<bibliomixed xml:id='new78'>Newell, E. B., and O'Neil, E. J. 1978, <!-- \apjs -->
+, 37, 27 </bibliomixed>
+<bibliomixed xml:id='ort85'>Ortolani, S., Rosino, L., and Sandage, A. 1985, <!-- \aj -->
+, 90, 473 </bibliomixed>
+<bibliomixed xml:id='pet76'>Peterson, C. J. 1976, <!-- \aj -->
+, 81, 617 </bibliomixed>
 <bibliomixed xml:id='spi85'>Spitzer, L. 1985, Dynamics of Star Clusters, J. Goodman and P. Hut, Dordrecht: Reidel, 109 </bibliomixed>
 </bibliography>
 <table xml:id="tbl-2">
-<caption><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->Terribly relevant tabular information.</caption>
-<!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --><tbody>
+<caption>Terribly relevant tabular information.</caption>
+<tbody>
 <tr>
-<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->Star </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> Height </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> <inlineequation>
+<td align='center' valign='top'>Star </td>
+<td align='right' valign='top'> Height </td>
+<td align='right' valign='top'> <inlineequation>
 <alt role='tex'>d_{x}</alt>
  <m:math>
  
@@ -1005,7 +1064,7 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation></td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> <inlineequation>
+<td align='right' valign='top'> <inlineequation>
 <alt role='tex'>d_{y}</alt>
  <m:math>
  
@@ -1019,7 +1078,7 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation></td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> <inlineequation>
+<td align='right' valign='top'> <inlineequation>
 <alt role='tex'>n</alt>
  <m:math>
  
@@ -1027,7 +1086,7 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation></td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> <inlineequation>
+<td align='right' valign='top'> <inlineequation>
 <alt role='tex'>\chi^{2}</alt>
  <m:math>
  
@@ -1041,7 +1100,7 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation></td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> <inlineequation>
+<td align='right' valign='top'> <inlineequation>
 <alt role='tex'>R_{maj}</alt>
  <m:math>
  
@@ -1057,7 +1116,7 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation></td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> <inlineequation>
+<td align='right' valign='top'> <inlineequation>
 <alt role='tex'>R_{min}</alt>
  <m:math>
  
@@ -1073,15 +1132,15 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation></td>
-<td align='center' valign='top' colspan='1'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --><inlineequation>
+<td align='center' valign='top' colspan='1'><inlineequation>
 <alt role='tex'>P</alt>
  <m:math>
  
  <m:mrow><m:mi>P</m:mi>
  </m:mrow>
  </m:math>
-</inlineequation><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->a</td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> <inlineequation>
+</inlineequation>a</td>
+<td align='right' valign='top'> <inlineequation>
 <alt role='tex'>PR_{maj}</alt>
  <m:math>
  
@@ -1099,7 +1158,7 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation></td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> <inlineequation>
+<td align='right' valign='top'> <inlineequation>
 <alt role='tex'>PR_{min}</alt>
  <m:math>
  
@@ -1117,113 +1176,126 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation></td>
-<td align='center' valign='top' colspan='1'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --><inlineequation>
+<td align='center' valign='top' colspan='1'><inlineequation>
 <alt role='tex'>\Theta</alt>
  <m:math>
  
  <m:mrow><m:mo>&#x398;</m:mo>
  </m:mrow>
  </m:math>
-</inlineequation><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->b</td>
-<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->Ref.</td>
+</inlineequation>b</td>
+<td align='center' valign='top'>Ref.</td>
 </tr>
 <tr>
-<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --><!-- \tableline\tableline -->1 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->33472.5 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-0.1 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->0.4 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->53 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->27.4 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->2.065 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.940 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->3.900 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->68.3 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->116.2 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-27.639</td>
-<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1,2</td>
+<td align='center' valign='top'><!-- \tableline\tableline -->
+1 </td>
+<td align='right' valign='top'>33472.5 </td>
+<td align='right' valign='top'>-0.1 </td>
+<td align='right' valign='top'>0.4 </td>
+<td align='right' valign='top'>53 </td>
+<td align='right' valign='top'>27.4 </td>
+<td align='right' valign='top'>2.065 </td>
+<td align='right' valign='top'>1.940 </td>
+<td align='right' valign='top'>3.900 </td>
+<td align='right' valign='top'>68.3 </td>
+<td align='right' valign='top'>116.2 </td>
+<td align='right' valign='top'>-27.639</td>
+<td align='center' valign='top'>1,2</td>
 </tr>
 <tr>
-<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> 2 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->27802.4 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-0.3 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-0.2 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->60 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->3.7 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.628 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.510 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->2.156 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->6.8 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->7.5 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-26.764</td>
-<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->3</td>
+<td align='center' valign='top'> 2 </td>
+<td align='right' valign='top'>27802.4 </td>
+<td align='right' valign='top'>-0.3 </td>
+<td align='right' valign='top'>-0.2 </td>
+<td align='right' valign='top'>60 </td>
+<td align='right' valign='top'>3.7 </td>
+<td align='right' valign='top'>1.628 </td>
+<td align='right' valign='top'>1.510 </td>
+<td align='right' valign='top'>2.156 </td>
+<td align='right' valign='top'>6.8 </td>
+<td align='right' valign='top'>7.5 </td>
+<td align='right' valign='top'>-26.764</td>
+<td align='center' valign='top'>3</td>
 </tr>
 <tr>
-<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> 3 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->29210.6 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->0.9 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->0.3 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->60 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->3.4 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.622 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.551 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->2.159 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->6.7 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->7.3 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-40.272</td>
-<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->4</td>
+<td align='center' valign='top'> 3 </td>
+<td align='right' valign='top'>29210.6 </td>
+<td align='right' valign='top'>0.9 </td>
+<td align='right' valign='top'>0.3 </td>
+<td align='right' valign='top'>60 </td>
+<td align='right' valign='top'>3.4 </td>
+<td align='right' valign='top'>1.622 </td>
+<td align='right' valign='top'>1.551 </td>
+<td align='right' valign='top'>2.159 </td>
+<td align='right' valign='top'>6.7 </td>
+<td align='right' valign='top'>7.3 </td>
+<td align='right' valign='top'>-40.272</td>
+<td align='center' valign='top'>4</td>
 </tr>
 <tr>
-<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> 4 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->32733.8 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-1.2<!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->c</td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-0.5 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->41 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->54.8 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->2.282 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->2.156 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->4.313 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->117.4 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->78.2 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-35.847</td>
-<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->5,6</td>
+<td align='center' valign='top'> 4 </td>
+<td align='right' valign='top'>32733.8 </td>
+<td align='right' valign='top'>-1.2c</td>
+<td align='right' valign='top'>-0.5 </td>
+<td align='right' valign='top'>41 </td>
+<td align='right' valign='top'>54.8 </td>
+<td align='right' valign='top'>2.282 </td>
+<td align='right' valign='top'>2.156 </td>
+<td align='right' valign='top'>4.313 </td>
+<td align='right' valign='top'>117.4 </td>
+<td align='right' valign='top'>78.2 </td>
+<td align='right' valign='top'>-35.847</td>
+<td align='center' valign='top'>5,6</td>
 </tr>
 <tr>
-<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> 5 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> 9607.4 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-0.4 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-0.4 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->60 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.4 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.669<!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->c</td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.574 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->2.343 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->8.0 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->8.9 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-33.417</td>
-<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->7</td>
+<td align='center' valign='top'> 5 </td>
+<td align='right' valign='top'> 9607.4 </td>
+<td align='right' valign='top'>-0.4 </td>
+<td align='right' valign='top'>-0.4 </td>
+<td align='right' valign='top'>60 </td>
+<td align='right' valign='top'>1.4 </td>
+<td align='right' valign='top'>1.669c</td>
+<td align='right' valign='top'>1.574 </td>
+<td align='right' valign='top'>2.343 </td>
+<td align='right' valign='top'>8.0 </td>
+<td align='right' valign='top'>8.9 </td>
+<td align='right' valign='top'>-33.417</td>
+<td align='center' valign='top'>7</td>
 </tr>
 <tr>
-<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> 6 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->31638.6 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.6 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->0.1 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->39 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->315.2 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> 3.433 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->3.075 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->7.488 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->92.1 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->25.3 </td>
-<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-12.052 </td>
-<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->8</td>
+<td align='center' valign='top'> 6 </td>
+<td align='right' valign='top'>31638.6 </td>
+<td align='right' valign='top'>1.6 </td>
+<td align='right' valign='top'>0.1 </td>
+<td align='right' valign='top'>39 </td>
+<td align='right' valign='top'>315.2 </td>
+<td align='right' valign='top'> 3.433 </td>
+<td align='right' valign='top'>3.075 </td>
+<td align='right' valign='top'>7.488 </td>
+<td align='right' valign='top'>92.1 </td>
+<td align='right' valign='top'>25.3 </td>
+<td align='right' valign='top'>-12.052 </td>
+<td align='center' valign='top'>8</td>
 </tr>
 </tbody>
-<Table note>a<!-- }{ -->Sample footnote for table&#xA0;<xref linkend="tbl-2" /> that was generated with the LaTeX table environment</Table note>
-<Table note>b<!-- }{ -->Yet another sample footnote for table&#xA0;<xref linkend="tbl-2" /></Table note>
-<Table note>c<!-- }{ -->Another sample footnote for table&#xA0;<xref linkend="tbl-2" /></Table note>
-<TableComments>We can also attach a long-ish paragraph of explanatory material to a table. Use \tablerefs to append a list of references. The following references were from a different table: I've patched them in here to show how they look, but don't take them too seriously—I certainly have not.</TableComments>
-<TableRefs>(1) Barbuy, Spite, & Spite 1985; (2) Bond 1980; (3) Carbon et al. 1987; (4) Hobbs & Duncan 1987; (5) Gilroy et al. 1988: (6) Gratton & Ortolani 1986; (7) Gratton & Sneden 1987; (8) Gratton & Sneden (1988); (9) Gratton & Sneden 1991; (10) Kraft et al. 1982; (11) LCL, or Laird, 1990; (12) Leep & Wallerstein 1981; (13) Luck & Bond 1981; (14) Luck & Bond 1985; (15) Magain 1987; (16) Magain 1989; (17) Peterson 1981; (18) Peterson, Kurucz, & Carney 1990; (19) RMB; (20) Schuster & Nissen 1988; (21) Schuster & Nissen 1989b; (22) Spite et al. 1984; (23) Spite & Spite 1986; (24) Hobbs & Thorburn 1991; (25) Hobbs et al. 1991; (26) Olsen 1983.</TableRefs>
-</table>
-</section>
 
+<Table note>
+a<!-- }{ -->
+Sample footnote for table&#xA0;<xref linkend="tbl-2" /> that was generated with the LaTeX table environment
+</Table note>
+<Table note>
+b<!-- }{ -->
+Yet another sample footnote for table&#xA0;<xref linkend="tbl-2" />
+</Table note>
+<Table note>
+c<!-- }{ -->
+Another sample footnote for table&#xA0;<xref linkend="tbl-2" />
+</Table note>
+<TableComments>
+We can also attach a long-ish paragraph of explanatory material to a table. Use \tablerefs to append a list of references. The following references were from a different table: I've patched them in here to show how they look, but don't take them too seriously—I certainly have not.
+</TableComments>
+<TableRefs>
+(1) Barbuy, Spite, & Spite 1985; (2) Bond 1980; (3) Carbon et al. 1987; (4) Hobbs & Duncan 1987; (5) Gilroy et al. 1988: (6) Gratton & Ortolani 1986; (7) Gratton & Sneden 1987; (8) Gratton & Sneden (1988); (9) Gratton & Sneden 1991; (10) Kraft et al. 1982; (11) LCL, or Laird, 1990; (12) Leep & Wallerstein 1981; (13) Luck & Bond 1981; (14) Luck & Bond 1985; (15) Magain 1987; (16) Magain 1989; (17) Peterson 1981; (18) Peterson, Kurucz, & Carney 1990; (19) RMB; (20) Schuster & Nissen 1988; (21) Schuster & Nissen 1989b; (22) Spite et al. 1984; (23) Spite & Spite 1986; (24) Hobbs & Thorburn 1991; (25) Hobbs et al. 1991; (26) Olsen 1983.
+</TableRefs>
+</table>
 </article>
\ No newline at end of file
diff --git a/lib/layouts/aastex.layout b/lib/layouts/aastex.layout
index 74d2ab6..d79cd02 100644
--- a/lib/layouts/aastex.layout
+++ b/lib/layouts/aastex.layout
@@ -179,6 +179,7 @@ Style Affiliation
 	DocBookWrapperTag                 author
 	DocBookWrapperMergeWithPrevious   true
 	DocBookItemTag                    orgname
+	DocBookItemTagType                paragraph
 	DocBookInInfo                     always
 End
 
@@ -207,6 +208,7 @@ Style Altaffilation
 	DocBookWrapperTag                 author
 	DocBookWrapperMergeWithPrevious   true
 	DocBookItemTag                    orgname
+	DocBookItemTagType                paragraph
 	DocBookInInfo                     always
 End
 
@@ -228,6 +230,7 @@ Style Email
 	  Shape		Italic
 	EndFont
 	DocBookTag                        email
+	DocBookTagType                    paragraph
 	DocBookWrapperTag                 author
 	DocBookWrapperMergeWithPrevious   true
 	DocBookInInfo                     always

commit 1f2c51d56b4a136fd5832041c070b80d9adcc8a2
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 30 02:30:24 2020 +0200

    DocBook: adapt SimpleCV for tag types (new-line behaviour).

diff --git a/lib/layouts/simplecv.layout b/lib/layouts/simplecv.layout
index 0a69f1e..1cf6c30 100644
--- a/lib/layouts/simplecv.layout
+++ b/lib/layouts/simplecv.layout
@@ -54,6 +54,7 @@ Style Section
 		IsTocCaption   1
 	EndArgument
 	DocBookTag            title
+	DocBookTagType        paragraph
 	DocBookSectionTag     section
 End
 
@@ -176,6 +177,7 @@ Style Title
 	EndFont
 	HTMLTitle             true
 	DocBookTag            title
+	DocBookTagType        paragraph
 	DocBookInInfo         maybe
 End
 

commit ec0f4885a7fd9afb007c3a4604a4e75c10ac0452
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 30 02:30:04 2020 +0200

    DocBook: fix bibliographies (end of <bibliography> and sections).

diff --git a/autotests/export/docbook/bibliography_precooked.xml b/autotests/export/docbook/bibliography_precooked.xml
index 1f103bc..901abd4 100644
--- a/autotests/export/docbook/bibliography_precooked.xml
+++ b/autotests/export/docbook/bibliography_precooked.xml
@@ -5,11 +5,10 @@
 <title>William Shakespeare</title>
 <section>
 <title>Publications</title>
+</section>
 <bibliography>
 <bibliomixed xml:id='first'>First Folio. </bibliomixed>
 <bibliomixed xml:id='second'>Second Folio. </bibliomixed>
 <bibliomixed xml:id='third'>Third Folio. </bibliomixed>
 </bibliography>
-</section>
-
 </article>
\ No newline at end of file
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index a0ac96a..19bd1d8 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -393,12 +393,9 @@ void makeBibliography(
 
 	// If this is the last paragraph in a bibliography, close the bibliography tag.
 	auto const end = text.paragraphs().end();
-	bool endBibliography = par == end;
-	if (!endBibliography) {
-		auto nextpar = par;
-		++nextpar;
-		endBibliography = par->layout().latextype != LATEX_BIB_ENVIRONMENT;
-	}
+	auto nextpar = par;
+	++nextpar;
+	bool endBibliography = nextpar == end || nextpar->layout().latextype != LATEX_BIB_ENVIRONMENT;
 
 	if (endBibliography) {
 		xs << xml::EndTag("bibliography");
@@ -1124,7 +1121,7 @@ void docbookParagraphs(Text const &text,
 		auto insetsLength = distance(par->insetList().begin(), par->insetList().end());
 		if (insetsLength > 0) {
 			Inset const *firstInset = par->getInset(0);
-			if (firstInset && dynamic_cast<InsetBibtex const *>(firstInset)) {
+			if (firstInset && (firstInset->lyxCode() == BIBITEM_CODE || firstInset->lyxCode() == BIBTEX_CODE)) {
 				while (!headerLevels.empty()) {
 					int level = headerLevels.top().first;
 					docstring tag = from_utf8("</" + headerLevels.top().second + ">");

commit 642b18aad0b2add87ef746f78f77f3eb8467f693
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 30 01:14:44 2020 +0200

    DocBook: generate <partintro> when required.

diff --git a/autotests/export/docbook/basic.xml b/autotests/export/docbook/basic.xml
index ea91d3d..49ec1f4 100644
--- a/autotests/export/docbook/basic.xml
+++ b/autotests/export/docbook/basic.xml
@@ -12,7 +12,9 @@
 <para>I am an abstract</para>
 <para>I am also an abstract</para>
 </abstract>
+
 </info>
+<para>I am a standard paragraph. </para>
 <section xml:id="sec.Sec-1">
 <title>I am the first section </title>
 <para>I am the first paragraph of the first section. </para>
diff --git a/autotests/export/docbook/basic_book.xml b/autotests/export/docbook/basic_book.xml
index 18496b9..c6e9078 100644
--- a/autotests/export/docbook/basic_book.xml
+++ b/autotests/export/docbook/basic_book.xml
@@ -17,7 +17,9 @@
 </chapter>
 <part>
 <title>First part</title>
+<partintro>
 <para>Part intro. </para>
+</partintro>
 <chapter>
 <title>First chapter of first part</title>
 <para>Paragraph. </para>
@@ -29,7 +31,9 @@
 </part>
 <part>
 <title>Second part</title>
+<partintro>
 <para>Part 2 intro. </para>
+</partintro>
 <chapter>
 <title>First chapter of second part</title>
 <para>Paragraph. </para>
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 3e37f90..a0ac96a 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -821,7 +821,7 @@ bool hasOnlyNotes(Paragraph const & par)
 	for (int i = 0; i < par.size(); ++i)
 		// If you find something that is not an inset (like actual text) or an inset that is not a note,
 		// return false.
-		if (!par.isInset(i) || !dynamic_cast<InsetNote *>(par.insetList().get(i)))
+		if (!par.isInset(i) || par.getInset(i)->lyxCode() != NOTE_CODE)
 			return false;
 	return true;
 }
@@ -851,7 +851,7 @@ DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs,
 	for (; cpit < epit; ++cpit) {
 		// Skip paragraphs that don't generate anything in DocBook.
 		Paragraph const & par = paragraphs[cpit];
-		if (par.empty() || par.emptyTag() || hasOnlyNotes(par))
+		if (hasOnlyNotes(par))
 			continue;
 
 		// There should never be any section here. (Just a sanity check: if this fails, this function could end up
@@ -869,14 +869,14 @@ DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs,
 		}
 
 		// Based on layout information, store this paragraph in one set: should be in <info>, must be,
-		// or abstract ().
+		// or abstract (either because of layout or of position).
 		Layout const &style = par.layout();
 
 		if (style.docbookininfo() == "always")
 			mustBeInInfo.emplace(cpit);
 		else if (style.docbookininfo() == "maybe")
 			shouldBeInInfo.emplace(cpit);
-		else if (!hasAbstractLayout)
+		else if (documentHasSections && !hasAbstractLayout)
 			abstractNoLayout.emplace(cpit);
 		else // This should definitely not be in <info>.
 			break;
@@ -993,17 +993,17 @@ void docbookSimpleAllParagraphs(
 {
 	// Handle the given text, supposing it has no sections (i.e. a "simple" text). The input may vary in length
 	// between a single paragraph to a whole document.
+	pit_type const bpit = runparams.par_begin;
+	pit_type const epit = runparams.par_end;
+	ParagraphList const &paragraphs = text.paragraphs();
 
 	// First, the <info> tag.
-	ParagraphList const &paragraphs = text.paragraphs();
-	pit_type bpit = runparams.par_begin;
-	pit_type const epit = runparams.par_end;
 	DocBookInfoTag info = getParagraphsWithInfo(paragraphs, bpit, epit, false);
 	outputDocBookInfo(text, buf, xs, runparams, paragraphs, info);
 
 	// Then, the content. It starts where the <info> ends.
-	auto par = text.paragraphs().iterator_at(info.epit);
-	auto end = text.paragraphs().iterator_at(epit);
+	auto par = paragraphs.iterator_at(info.epit);
+	auto end = paragraphs.iterator_at(epit);
 	while (par != end) {
 		if (!hasOnlyNotes(*par))
 			par = makeAny(text, buf, xs, runparams, par);
@@ -1040,7 +1040,7 @@ void docbookParagraphs(Text const &text,
 	tie(documentHasSections, eppit) = hasDocumentSectioning(paragraphs, bpit, epit);
 
 	// Deal with "simple" documents, i.e. those without sections.
-	if (!documentHasSections){
+	if (!documentHasSections) {
 		docbookSimpleAllParagraphs(text, buf, xs, runparams);
 		return;
 	}
@@ -1048,7 +1048,7 @@ void docbookParagraphs(Text const &text,
 	// Output the first <info> tag (or just the title).
 	DocBookInfoTag info = getParagraphsWithInfo(paragraphs, bpit, eppit, true);
 	outputDocBookInfo(text, buf, xs, runparams, paragraphs, info);
-	bpit = eppit;
+	bpit = info.epit;
 
 	// Then, iterate through the paragraphs of this document.
 	bool currentlyInAppendix = false;
@@ -1141,6 +1141,29 @@ void docbookParagraphs(Text const &text,
 
 		// Generate this paragraph.
 		par = makeAny(text, buf, xs, ourparams, par);
+
+		// Some special sections may require abstracts (mostly parts, in books).
+		// TODO: docbookforceabstracttag is a bit contrived here, but it does the job. Having another field just for this would be cleaner, but that's just for <part> and <partintro>, so it's probably not worth the effort.
+		if (isLayoutSectioning(style) && style.docbookforceabstracttag() != "NONE") {
+			// This abstract may be found between the next paragraph and the next title.
+			pit_type cpit = std::distance(text.paragraphs().begin(), par);
+			pit_type ppit = std::get<1>(hasDocumentSectioning(paragraphs, cpit, epit));
+
+			// Generate this abstract (this code corresponds to parts of outputDocBookInfo).
+			DocBookInfoTag secInfo = getParagraphsWithInfo(paragraphs, cpit, ppit, true);
+
+			if (!secInfo.abstract.empty()) {
+				xs << xml::StartTag(style.docbookforceabstracttag());
+				xs << xml::CR();
+				for (auto const &p : secInfo.abstract)
+					makeAny(text, buf, xs, runparams, paragraphs.iterator_at(p));
+				xs << xml::EndTag(style.docbookforceabstracttag());
+				xs << xml::CR();
+			}
+
+			// Skip all the text that just has been generated.
+			par = paragraphs.iterator_at(ppit);
+		}
 	}
 
 	// If need be, close <section>s, but only at the end of the document (otherwise, dealt with at the beginning

commit 17b06f5336241236191d7ec9eb7643669ccfbab9
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 30 00:58:50 2020 +0200

    DocBook: streamline code to handle sections.

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 38bcf05..3e37f90 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -1071,18 +1071,18 @@ void docbookParagraphs(Text const &text,
 		if (isLayoutSectioning(style)) {
 			int level = style.toclevel;
 
-			// Need to close a previous section if it has the same level or a higher one (close <section> if opening a <h2>
-			// after a <h2>, <h3>, <h4>, <h5> or <h6>). More examples:
+			// Need to close a previous section if it has the same level or a higher one (close <section> if opening a
+			// <h2> after a <h2>, <h3>, <h4>, <h5> or <h6>). More examples:
 			//   - current: h2; back: h1; do not close any <section>
 			//   - current: h1; back: h2; close two <section> (first the <h2>, then the <h1>, so a new <h1> can come)
 			while (!headerLevels.empty() && level <= headerLevels.top().first) {
+				// Output the tag only if it corresponds to a legit section.
 				int stackLevel = headerLevels.top().first;
-				docstring stackTag = from_utf8("</" + headerLevels.top().second + ">");
+				if (stackLevel != Layout::NOT_IN_TOC) {
+					xs << xml::EndTag(headerLevels.top().second);
+					xs << xml::CR();
+				}
 				headerLevels.pop();
-
-				// Output the tag only if it corresponds to a legit section.
-				if (stackLevel != Layout::NOT_IN_TOC)
-					xs << XMLStream::ESCAPE_NONE << stackTag << xml::CR();
 			}
 
 			// Open the new section: first push it onto the stack, then output it in DocBook.
@@ -1111,11 +1111,10 @@ void docbookParagraphs(Text const &text,
 				}
 
 				// Write the open tag for this section.
-				docstring tag = from_utf8("<" + sectionTag);
+				docstring attrs;
 				if (!id.empty())
-					tag += from_utf8(" ") + id;
-				tag += from_utf8(">");
-				xs << XMLStream::ESCAPE_NONE << tag;
+					attrs = id;
+				xs << xml::StartTag(sectionTag, attrs);
 				xs << xml::CR();
 			}
 		}

commit f219fe1cd7aaa68ab35ec8b3e7fef25926b77cdd
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 30 00:35:47 2020 +0200

    DocBook: streamline code to handle abstracts.

diff --git a/autotests/export/docbook/basic_book.xml b/autotests/export/docbook/basic_book.xml
index c94d2fa..18496b9 100644
--- a/autotests/export/docbook/basic_book.xml
+++ b/autotests/export/docbook/basic_book.xml
@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- This DocBook file was created by LyX 2.4.0dev
   See http://www.lyx.org/ for more information -->
-<book xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.1">
-
-<info><title>Book title</title>
-<author><personname>Book author</personname></author>
-
-<abstract><para>Book abstract in info. </para>
+<book xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
+<info>
+<title>Book title</title>
+<author>
+<personname>Book author</personname>
+</author>
+<abstract>
+<para>Book abstract in info. </para>
 </abstract>
 </info>
 <chapter>
@@ -15,9 +17,7 @@
 </chapter>
 <part>
 <title>First part</title>
-
-<partintro><para>Part intro. </para>
-</partintro>
+<para>Part intro. </para>
 <chapter>
 <title>First chapter of first part</title>
 <para>Paragraph. </para>
@@ -29,9 +29,7 @@
 </part>
 <part>
 <title>Second part</title>
-
-<partintro><para>Part 2 intro. </para>
-</partintro>
+<para>Part 2 intro. </para>
 <chapter>
 <title>First chapter of second part</title>
 <para>Paragraph. </para>
@@ -41,5 +39,4 @@
 <para>Paragraph. </para>
 </chapter>
 </part>
-
 </book>
\ No newline at end of file
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index e609f39..38bcf05 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -773,21 +773,28 @@ ParagraphList::const_iterator makeAny(Text const &text,
 }
 
 
+bool isLayoutSectioning(Layout const & lay)
+{
+	return lay.category() == from_utf8("Sectioning");
+}
+
+
 using DocBookDocumentSectioning = tuple<bool, pit_type>;
 
 
 struct DocBookInfoTag
 {
 	const set<pit_type> shouldBeInInfo;
-	const set<pit_type> mustBeInInfo;
+	const set<pit_type> mustBeInInfo; // With the notable exception of the abstract!
 	const set<pit_type> abstract;
+	const bool abstractLayout;
 	pit_type bpit;
 	pit_type epit;
 
 	DocBookInfoTag(const set<pit_type> & shouldBeInInfo, const set<pit_type> & mustBeInInfo,
-				   const set<pit_type> & abstract, pit_type bpit, pit_type epit) :
+				   const set<pit_type> & abstract, bool abstractLayout, pit_type bpit, pit_type epit) :
 				   shouldBeInInfo(shouldBeInInfo), mustBeInInfo(mustBeInInfo), abstract(abstract),
-				   bpit(bpit), epit(epit) {}
+				   abstractLayout(abstractLayout), bpit(bpit), epit(epit) {}
 };
 
 
@@ -796,7 +803,7 @@ DocBookDocumentSectioning hasDocumentSectioning(ParagraphList const &paragraphs,
 
 	while (bpit < epit) {
 		Layout const &style = paragraphs[bpit].layout();
-		documentHasSections |= style.category() == from_utf8("Sectioning");
+		documentHasSections |= isLayoutSectioning(style);
 
 		if (documentHasSections)
 			break;
@@ -820,10 +827,14 @@ bool hasOnlyNotes(Paragraph const & par)
 }
 
 
-DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs, pit_type bpit, pit_type const epit) {
+DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs,
+									 pit_type bpit, pit_type const epit,
+									 // Typically, bpit is the beginning of the document and epit the end *or* the first section.
+									 bool documentHasSections) {
 	set<pit_type> shouldBeInInfo;
 	set<pit_type> mustBeInInfo;
-	set<pit_type> abstract;
+	set<pit_type> abstractWithLayout;
+	set<pit_type> abstractNoLayout;
 
 	// Find the first non empty paragraph by mutating bpit.
 	while (bpit < epit) {
@@ -834,78 +845,48 @@ DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs, pit_type b
 			break;
 	}
 
-	// Find the last info-like paragraph.
-	pit_type cpit = bpit;
+	// Traverse everything that might belong to <info>.
 	bool hasAbstractLayout = false;
-	while (cpit < epit) {
-		// Skip paragraphs only containing one note.
+	pit_type cpit = bpit;
+	for (; cpit < epit; ++cpit) {
+		// Skip paragraphs that don't generate anything in DocBook.
 		Paragraph const & par = paragraphs[cpit];
-		if (hasOnlyNotes(par)) {
-			cpit += 1;
+		if (par.empty() || par.emptyTag() || hasOnlyNotes(par))
 			continue;
+
+		// There should never be any section here. (Just a sanity check: if this fails, this function could end up
+		// processing the whole document.)
+		if (isLayoutSectioning(par.layout())) {
+			LYXERR0("Assertion failed: section found in potential <info> paragraphs.");
+			break;
 		}
 
-		if (par.layout().docbookabstract())
+		// If this is marked as an abstract by the layout, put it in the right set.
+		if (par.layout().docbookabstract()) {
 			hasAbstractLayout = true;
+			abstractWithLayout.emplace(cpit);
+			continue;
+		}
 
-		// Based on layout information, store this paragraph in one set: should be in <info>, must be.
+		// Based on layout information, store this paragraph in one set: should be in <info>, must be,
+		// or abstract ().
 		Layout const &style = par.layout();
 
-		if (style.docbookininfo() == "always") {
+		if (style.docbookininfo() == "always")
 			mustBeInInfo.emplace(cpit);
-		} else if (style.docbookininfo() == "maybe") {
+		else if (style.docbookininfo() == "maybe")
 			shouldBeInInfo.emplace(cpit);
-		} else {
-			// Hypothesis: the <info> parts should be grouped together near the beginning bpit.
-			// There may be notes in between, but nothing else.
+		else if (!hasAbstractLayout)
+			abstractNoLayout.emplace(cpit);
+		else // This should definitely not be in <info>.
 			break;
-		}
-		cpit += 1;
 	}
-	// Now, cpit points to the last paragraph that has things that could go in <info>.
+	// Now, cpit points to the first paragraph that no more has things that could go in <info>.
 	// bpit is the beginning of the <info> part.
 
-	// Go once again through the list of paragraphs to find the abstract. If there is an abstract
-	// layout, only consider it. Otherwise, an abstract is just a sequence of paragraphs with text.
-	if (hasAbstractLayout) {
-		pit_type pit = bpit;
-		while (pit < cpit) { // Don't overshoot the <info> part.
-			if (paragraphs[pit].layout().docbookabstract())
-				abstract.emplace(pit);
-			pit++;
-		}
-	} else {
-		pit_type lastAbstract = epit + 1; // A nonsensical value.
-		docstring lastAbstractLayout;
-
-		pit_type pit = bpit;
-		while (pit < cpit) { // Don't overshoot the <info> part.
-			const Paragraph & par = paragraphs.at(pit);
-			if (!par.insetList().empty()) {
-				for (const auto &i : par.insetList()) {
-					if (i.inset->getText(0) != nullptr) {
-						if (lastAbstract == epit + 1) {
-							// First paragraph that matches the heuristic definition of abstract.
-							lastAbstract = pit;
-							lastAbstractLayout = par.layout().name();
-						} else if (pit > lastAbstract + 1 || par.layout().name() != lastAbstractLayout) {
-							// This is either too far from the last abstract paragraph or doesn't
-							// have the right layout name, BUT there has already been an abstract
-							// in this document: done with detecting the abstract.
-							goto done; // Easier to get out of two nested loops.
-						}
-
-						abstract.emplace(pit);
-						break;
-					}
-				}
-			}
-			pit++;
-		}
-	}
-
-	done:
-	return DocBookInfoTag(shouldBeInInfo, mustBeInInfo, abstract, bpit, cpit);
+	return DocBookInfoTag(shouldBeInInfo, mustBeInInfo,
+					      hasAbstractLayout ? abstractWithLayout : abstractNoLayout,
+					      hasAbstractLayout, bpit, cpit);
 }
 
 } // end anonymous namespace
@@ -940,17 +921,9 @@ void outputDocBookInfo(
 	if (hasAbstract) {
 		// Generate the abstract XML into a string before further checks.
 		odocstringstream os2;
-		{
-			XMLStream xs2(os2);
-			auto bpit = *std::min_element(info.abstract.begin(), info.abstract.end());
-			auto epit = 1 + *std::max_element(info.abstract.begin(), info.abstract.end());
-			// info.abstract is inclusive, epit is exclusive, hence +1 for looping.
-
-			while (bpit < epit) {
-				makeAny(text, buf, xs2, runparams, paragraphs.iterator_at(bpit));
-				bpit += 1;
-			}
-		}
+		XMLStream xs2(os2);
+		for (auto const & p : info.abstract)
+			makeAny(text, buf, xs2, runparams, paragraphs.iterator_at(p));
 
 		// Actually output the abstract if there is something to do. Don't count line feeds or spaces in this,
 		// even though they must be properly output if there is some abstract.
@@ -974,27 +947,33 @@ void outputDocBookInfo(
 	}
 
 	// Output the elements that should go in <info>, before and after the abstract.
-	for (auto pit : info.shouldBeInInfo) { // Typically, the title: these elements are so important and ubiquitous
+	for (auto pit : info.shouldBeInInfo) // Typically, the title: these elements are so important and ubiquitous
 		// that mandating a wrapper like <info> would repel users. Thus, generate them first.
 		makeAny(text, buf, xs, runparams, paragraphs.iterator_at(pit));
-	}
-	for (auto pit : info.mustBeInInfo) {
+	for (auto pit : info.mustBeInInfo)
 		if (info.abstract.find(pit) == info.abstract.end()) // The abstract must be in info, but is dealt with after.
 			makeAny(text, buf, xs, runparams, paragraphs.iterator_at(pit));
-	}
 
 	// Always output the abstract as the last item of the <info>, as it requires special treatment (especially if
 	// it contains several paragraphs that are empty).
 	if (hasAbstract) {
-//		string tag = paragraphs[*info.abstract.begin()].layout().docbookforceabstracttag();
-//		if (tag == "NONE")
-//			tag = "abstract";
-//
-//		xs << xml::StartTag(tag);
-//		xs << xml::CR();
-		xs << XMLStream::ESCAPE_NONE << abstract;
-//		xs << xml::EndTag(tag);
-//		xs << xml::CR();
+		if (info.abstractLayout) {
+			xs << XMLStream::ESCAPE_NONE << abstract;
+			xs << xml::CR();
+		} else {
+			string tag = paragraphs[*info.abstract.begin()].layout().docbookforceabstracttag();
+			if (tag == "NONE")
+				tag = "abstract";
+
+			if (!xs.isLastTagCR())
+				xs << xml::CR();
+
+			xs << xml::StartTag(tag);
+			xs << xml::CR();
+			xs << XMLStream::ESCAPE_NONE << abstract;
+			xs << xml::EndTag(tag);
+			xs << xml::CR();
+		}
 	}
 
 	// End the <info> tag if it was started.
@@ -1006,23 +985,6 @@ void outputDocBookInfo(
 }
 
 
-void docbookFirstParagraphs(
-		Text const &text,
-		Buffer const &buf,
-		XMLStream &xs,
-		OutputParams const &runparams,
-		pit_type epit)
-{
-	// Handle the beginning of the document, supposing it has sections.
-	// Major role: output the first <info> tag.
-
-	ParagraphList const &paragraphs = text.paragraphs();
-	pit_type bpit = runparams.par_begin;
-	DocBookInfoTag info = getParagraphsWithInfo(paragraphs, bpit, epit);
-	outputDocBookInfo(text, buf, xs, runparams, paragraphs, info);
-}
-
-
 void docbookSimpleAllParagraphs(
 		Text const & text,
 		Buffer const & buf,
@@ -1036,7 +998,7 @@ void docbookSimpleAllParagraphs(
 	ParagraphList const &paragraphs = text.paragraphs();
 	pit_type bpit = runparams.par_begin;
 	pit_type const epit = runparams.par_end;
-	DocBookInfoTag info = getParagraphsWithInfo(paragraphs, bpit, epit);
+	DocBookInfoTag info = getParagraphsWithInfo(paragraphs, bpit, epit, false);
 	outputDocBookInfo(text, buf, xs, runparams, paragraphs, info);
 
 	// Then, the content. It starts where the <info> ends.
@@ -1071,20 +1033,24 @@ void docbookParagraphs(Text const &text,
 	std::stack<std::pair<int, string>> headerLevels; // Used to determine when to open/close sections: store the depth
 	// of the section and the tag that was used to open it.
 
-	// Detect whether the document contains sections. If there are no sections, there can be no automatically
-	// discovered abstract.
+	// Detect whether the document contains sections. If there are no sections, treatment is largely simplified.
+	// In particular, there can't be an abstract, unless it is manually marked.
 	bool documentHasSections;
 	pit_type eppit;
 	tie(documentHasSections, eppit) = hasDocumentSectioning(paragraphs, bpit, epit);
 
-	if (documentHasSections) {
-		docbookFirstParagraphs(text, buf, xs, runparams, eppit);
-		bpit = eppit;
-	} else {
+	// Deal with "simple" documents, i.e. those without sections.
+	if (!documentHasSections){
 		docbookSimpleAllParagraphs(text, buf, xs, runparams);
 		return;
 	}
 
+	// Output the first <info> tag (or just the title).
+	DocBookInfoTag info = getParagraphsWithInfo(paragraphs, bpit, eppit, true);
+	outputDocBookInfo(text, buf, xs, runparams, paragraphs, info);
+	bpit = eppit;
+
+	// Then, iterate through the paragraphs of this document.
 	bool currentlyInAppendix = false;
 
 	auto par = text.paragraphs().iterator_at(bpit);
@@ -1102,8 +1068,7 @@ void docbookParagraphs(Text const &text,
 		Layout const &style = par->layout();
 
 		// Think about adding <section> and/or </section>s.
-		const bool isLayoutSectioning = style.category() == from_utf8("Sectioning");
-		if (isLayoutSectioning) {
+		if (isLayoutSectioning(style)) {
 			int level = style.toclevel;
 
 			// Need to close a previous section if it has the same level or a higher one (close <section> if opening a <h2>

commit a8da31e5e0549a2b328d532c6406ea4a3bba26f2
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Aug 29 23:41:28 2020 +0200

    DocBook: fix handling of index end-of-range.

diff --git a/autotests/export/docbook/basic.xml b/autotests/export/docbook/basic.xml
index a4dc276..ea91d3d 100644
--- a/autotests/export/docbook/basic.xml
+++ b/autotests/export/docbook/basic.xml
@@ -205,9 +205,9 @@ I am a second line of code.
 <para>Then several terms for the first index: <indexterm type="idx"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary></indexterm>. </para>
 <para>With a see: <indexterm type="idx"><primary>Term</primary><see>index</see></indexterm>. With a see also: <indexterm type="idx"><primary>Term</primary><seealso>index</seealso></indexterm>. </para>
 <para>Several terms with a see: <indexterm type="idx"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary><see>index</see></indexterm>. Several terms with a see also: <indexterm type="idx"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary><seealso>index</seealso></indexterm>. </para>
-<para>A start of range: <indexterm type="idx" class="startofrange" xml:id="Term-to-index"><primary>Term to index</primary></indexterm>. The corresponding end of range: <indexterm type="idx" class="endofrange" startref="Term-to-index"><primary>Term to index</primary></indexterm>.</para>
-<para>Several terms with a start of range: <indexterm type="idx" class="startofrange" xml:id="Term.to.index"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary></indexterm>. The corresponding end of range: <indexterm type="idx" class="endofrange" startref="Term.to.index"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary></indexterm>.</para>
-<para>These terms already appeared before! Start of range: <indexterm type="idx" class="startofrange" xml:id="Term.to.index-0"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary></indexterm>. The corresponding end of range: <indexterm type="idx" class="endofrange" startref="Term.to.index-0"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary></indexterm>.</para>
+<para>A start of range: <indexterm type="idx" class="startofrange" xml:id="Term-to-index"><primary>Term to index</primary></indexterm>. The corresponding end of range: <indexterm class="endofrange" startref="Term-to-index" />.</para>
+<para>Several terms with a start of range: <indexterm type="idx" class="startofrange" xml:id="Term.to.index"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary></indexterm>. The corresponding end of range: <indexterm class="endofrange" startref="Term.to.index" />.</para>
+<para>These terms already appeared before! Start of range: <indexterm type="idx" class="startofrange" xml:id="Term.to.index-0"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary></indexterm>. The corresponding end of range: <indexterm class="endofrange" startref="Term.to.index-0" />.</para>
 </section>
 <section>
 <title>I am the eight section and I deal with star sections</title>
diff --git a/src/insets/InsetIndex.cpp b/src/insets/InsetIndex.cpp
index 987c138..149ef65 100644
--- a/src/insets/InsetIndex.cpp
+++ b/src/insets/InsetIndex.cpp
@@ -287,14 +287,17 @@ void InsetIndex::docbook(XMLStream & xs, OutputParams const & runparams) const
 		// Hence the thread-local storage, as the numbers must strictly be unique, and thus cannot be shared across
 		// a paragraph (making the solution used for HTML worthless). This solution is very similar to the one used in
 		// xml::cleanID.
-		docstring attrs = indexType;
-		if (hasStartRange || hasEndRange) {
+		// indexType can only be used for singular and startofrange types!
+		docstring attrs;
+		if (!hasStartRange && !hasEndRange) {
+			attrs = indexType;
+		} else {
 			// Append an ID if uniqueness is not guaranteed across the document.
 			static QThreadStorage<set<docstring>> tKnownTermLists;
 			static QThreadStorage<int> tID;
 
-			set<docstring> & knownTermLists = tKnownTermLists.localData();
-			int & ID = tID.localData();
+			set<docstring> &knownTermLists = tKnownTermLists.localData();
+			int &ID = tID.localData();
 
 			if (!tID.hasLocalData()) {
 				tID.localData() = 0;
@@ -319,47 +322,51 @@ void InsetIndex::docbook(XMLStream & xs, OutputParams const & runparams) const
 			// Generate the attributes.
 			docstring id = xml::cleanID(newIndexTerms);
 			if (hasStartRange) {
-				attrs += " class=\"startofrange\" xml:id=\"" + id + "\"";
+				attrs = indexType + " class=\"startofrange\" xml:id=\"" + id + "\"";
 			} else {
-				attrs += " class=\"endofrange\" startref=\"" + id + "\"";
+				attrs = " class=\"endofrange\" startref=\"" + id + "\"";
 			}
 		}
 
 		// Handle the index terms (including the specific index for this entry).
-		xs << xml::StartTag("indexterm", attrs);
-		if (terms.size() > 0) { // hasEndRange has no content.
-			xs << xml::StartTag("primary");
-			xs << terms[0];
-			xs << xml::EndTag("primary");
-		}
-		if (terms.size() > 1) {
-			xs << xml::StartTag("secondary");
-			xs << terms[1];
-			xs << xml::EndTag("secondary");
-		}
-		if (terms.size() > 2) {
-			xs << xml::StartTag("tertiary");
-			xs << terms[2];
-			xs << xml::EndTag("tertiary");
-		}
+		if (hasEndRange) {
+			xs << xml::CompTag("indexterm", attrs);
+		} else {
+			xs << xml::StartTag("indexterm", attrs);
+			if (!terms.empty()) { // hasEndRange has no content.
+				xs << xml::StartTag("primary");
+				xs << terms[0];
+				xs << xml::EndTag("primary");
+			}
+			if (terms.size() > 1) {
+				xs << xml::StartTag("secondary");
+				xs << terms[1];
+				xs << xml::EndTag("secondary");
+			}
+			if (terms.size() > 2) {
+				xs << xml::StartTag("tertiary");
+				xs << terms[2];
+				xs << xml::EndTag("tertiary");
+			}
 
-		// Handle see and see also.
-		if (!see.empty()) {
-			xs << xml::StartTag("see");
-			xs << see;
-			xs << xml::EndTag("see");
-		}
+			// Handle see and see also.
+			if (!see.empty()) {
+				xs << xml::StartTag("see");
+				xs << see;
+				xs << xml::EndTag("see");
+			}
 
-		if (!seeAlsoes.empty()) {
-			for (auto & entry : seeAlsoes) {
-				xs << xml::StartTag("seealso");
-				xs << entry;
-				xs << xml::EndTag("seealso");
+			if (!seeAlsoes.empty()) {
+				for (auto &entry : seeAlsoes) {
+					xs << xml::StartTag("seealso");
+					xs << entry;
+					xs << xml::EndTag("seealso");
+				}
 			}
-		}
 
-		// Close the entry.
-		xs << xml::EndTag("indexterm");
+			// Close the entry.
+			xs << xml::EndTag("indexterm");
+		}
 	}
 }
 
diff --git a/src/xml.cpp b/src/xml.cpp
index 0daa9d8..557bb01 100644
--- a/src/xml.cpp
+++ b/src/xml.cpp
@@ -140,11 +140,11 @@ docstring EndTag::writeEndTag() const
 
 docstring CompTag::writeTag() const
 {
-	docstring output = '<' + from_utf8(tag_);
+	docstring output = '<' + tag_;
 	if (!attr_.empty()) {
 		// Erase the beginning of the attributes if it contains space characters: this function deals with that
 		// automatically.
-		docstring attributes = escapeString(from_utf8(attr_), XMLStream::ESCAPE_NONE);
+		docstring attributes = escapeString(attr_, XMLStream::ESCAPE_NONE);
 		attributes.erase(attributes.begin(), std::find_if(attributes.begin(), attributes.end(),
                                                           [](int c) {return !std::isspace(c);}));
 		if (!attributes.empty()) {
diff --git a/src/xml.h b/src/xml.h
index 56e5d81..52eeb22 100644
--- a/src/xml.h
+++ b/src/xml.h
@@ -240,16 +240,19 @@ struct CompTag
 {
 	///
 	explicit CompTag(std::string const & tag)
-			: tag_(tag) {}
+			: tag_(from_utf8(tag)) {}
 	///
 	explicit CompTag(std::string const & tag, std::string const & attr)
-			: tag_(tag), attr_(attr) {}
+			: tag_(from_utf8(tag)), attr_(from_utf8(attr)) {}
+	///
+	explicit CompTag(std::string const & tag, docstring const & attr)
+			: tag_(from_utf8(tag)), attr_(attr) {}
 	/// <tag_ attr_ />
 	docstring writeTag() const;
 	///
-	std::string tag_;
+	docstring tag_;
 	///
-	std::string attr_;
+	docstring attr_;
 };
 
 

commit 78a361778f2ca7cc18e9a5fa6deb20694a9150e5
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Aug 29 22:58:23 2020 +0200

    DocBook: fix float tags (was unduly overridden).
    
    The output was not valid for floats without title.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index d3aa192..9085355 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,6 +6,11 @@
 
 cmake_minimum_required(VERSION 3.1.0)
 
+set(CMAKE_CXX_STANDARD 20)
+set(GNUWIN32_DIR D:/LyX/lyx-unstable/lyx-windows-deps-msvc2017)
+set(LYX_USE_QT "QT5")
+set(LYX_REQUIRE_SPELLCHECK true)
+
 set(LYX_PROJECT LyX)
 
 # Instruct cmake to not use gnu extensions,
diff --git a/autotests/export/docbook/basic.xml b/autotests/export/docbook/basic.xml
index 430611e..a4dc276 100644
--- a/autotests/export/docbook/basic.xml
+++ b/autotests/export/docbook/basic.xml
@@ -164,7 +164,7 @@ I am a second line of code.
 </tr>
 </tbody>
 </table>
-<table>
+<informaltable>
 <tbody>
 <tr>
 <td align='center' valign='top'>Table that has no caption 1</td>
@@ -182,7 +182,7 @@ I am a second line of code.
 <td align='center' valign='top'>Col 3, row 2</td>
 </tr>
 </tbody>
-</table>
+</informaltable>
 
 <para>Then, one figure: </para>
 <figure>
diff --git a/lib/layouts/stdfloats.inc b/lib/layouts/stdfloats.inc
index cd6614a..044fcb2 100644
--- a/lib/layouts/stdfloats.inc
+++ b/lib/layouts/stdfloats.inc
@@ -20,7 +20,6 @@ Float
 	UsesFloatPkg          false
 	ListCommand           listoftables
 	RefPrefix             tab
-	DocBookTag            table
 End
 
 
@@ -36,7 +35,6 @@ Float
 	UsesFloatPkg          false
 	ListCommand           listoffigures
 	RefPrefix             fig
-	DocBookTag            figure
 End
 
 
@@ -51,7 +49,6 @@ Float
 	IsPredefined          false
 	UsesFloatPkg          true
 	RefPrefix             alg
-	DocBookTag            figure # TODO: No DocBook tag really corresponds...
 End
 
 
diff --git a/src/Floating.cpp b/src/Floating.cpp
index d44afc3..19fbf5f 100644
--- a/src/Floating.cpp
+++ b/src/Floating.cpp
@@ -40,8 +40,7 @@ Floating::Floating(string const & type, string const & placement,
 	  usesfloatpkg_(usesfloat), ispredefined_(ispredefined),
 	  allowswide_(allowswide), allowssideways_(allowssideways),
 	  html_tag_(htmlTag), html_attrib_(htmlAttrib), html_style_(htmlStyle),
-	  docbook_tag_(docbookTag), docbook_attr_(docbookAttr),
-	  docbook_tag_type_(docbookTagType)
+	  docbook_attr_(docbookAttr), docbook_tag_type_(docbookTagType)
 {}
 
 
@@ -89,21 +88,17 @@ string const & Floating::docbookAttr() const
 }
 
 
-string const & Floating::docbookTag(bool hasTitle) const
+string Floating::docbookTag(bool hasTitle) const
 {
-	if (docbook_tag_.empty()) {
-		docbook_tag_ = "";
-		if (floattype_ == "figure") {
-			docbook_tag_ = hasTitle ? "figure" : "informalfigure";
-		} else if (floattype_ == "table") {
-			docbook_tag_ = hasTitle ? "table" : "informaltable";
-		} else if (floattype_ == "algorithm") {
-			// TODO: no good translation for now! Figures are the closest match, as they can contain text.
-			// Solvable as soon as https://github.com/docbook/docbook/issues/157 has a definitive answer.
-			docbook_tag_ = "figure";
-		}
+	if (floattype_ == "figure") {
+		return hasTitle ? "figure" : "informalfigure";
+	} else if (floattype_ == "table") {
+		return hasTitle ? "table" : "informaltable";
+	} else if (floattype_ == "algorithm") {
+		// TODO: no good translation for now! Figures are the closest match, as they can contain text.
+		// Solvable as soon as https://github.com/docbook/docbook/issues/157 has a definitive answer.
+		return "figure";
 	}
-	return docbook_tag_;
 }
 
 
diff --git a/src/Floating.h b/src/Floating.h
index 5cfea08..977958b 100644
--- a/src/Floating.h
+++ b/src/Floating.h
@@ -81,7 +81,7 @@ public:
 	/// tag type, defaults to "div"
 	std::string const & htmlTag() const;
 	///
-	std::string const & docbookTag(bool hasTitle = false) const;
+	std::string docbookTag(bool hasTitle = false) const;
 	///
 	std::string const & docbookAttr() const;
 	///
@@ -129,8 +129,8 @@ private:
 	mutable std::string defaultcssclass_;
 	///
 	docstring html_style_;
-	/// DocBook tag
-	mutable std::string docbook_tag_;
+	// There is no way to override the DocBook tag based on the layouts: half of it is determined by whether the float
+	// has a title or not, an information that is not available in the layouts.
 	/// attribute (mostly, role)
 	mutable std::string docbook_caption_;
 	/// caption tag (mostly, either caption or title)
diff --git a/src/insets/InsetFloat.cpp b/src/insets/InsetFloat.cpp
index 24e06b5..86bcf9d 100644
--- a/src/insets/InsetFloat.cpp
+++ b/src/insets/InsetFloat.cpp
@@ -654,7 +654,7 @@ void docbookNoSubfigures(XMLStream & xs, OutputParams const & runparams, const I
 
 	xs << xml::StartTag(ftype.docbookTag(caption != nullptr), attr);
 	xs << xml::CR();
-	if (caption != nullptr) {
+	if (caption) {
 		xs << xml::StartTag(titleTag);
 		caption->getCaptionAsDocBook(xs, rpNoLabel);
 		xs << xml::EndTag(titleTag);
diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp
index 5847121..af30e8e 100644
--- a/src/mathed/InsetMathHull.cpp
+++ b/src/mathed/InsetMathHull.cpp
@@ -2429,7 +2429,7 @@ void InsetMathHull::docbook(XMLStream & xs, OutputParams const & runparams) cons
 	}
 
 	// DocBook also has <equation>, but it comes with a title.
-	// TODO: recognise \tag from amsmath?
+	// TODO: recognise \tag from amsmath? This would allow having <equation> with a proper title.
 
 	docstring attr;
 	for (row_type i = 0; i < nrows(); ++i) {

commit 39ad6e84f076cea65f140593e5b6647905219af3
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Aug 29 19:05:59 2020 +0200

    DocBook: improve equation formatting (new lines for block equations).

diff --git a/autotests/export/docbook/basic.lyx b/autotests/export/docbook/basic.lyx
index 1735dc4..fa98d65 100644
--- a/autotests/export/docbook/basic.lyx
+++ b/autotests/export/docbook/basic.lyx
@@ -185,7 +185,7 @@ noprefix "false"
 
 \begin_layout Standard
 Also, a formula with an user-defined macro that outputs well in LaTeX but
- cannot in MathML (hence replaced by picture): 
+ cannot in MathML: 
 \begin_inset Formula $\testmacro$
 \end_inset
 
diff --git a/autotests/export/docbook/basic.xml b/autotests/export/docbook/basic.xml
index 7980289..430611e 100644
--- a/autotests/export/docbook/basic.xml
+++ b/autotests/export/docbook/basic.xml
@@ -30,7 +30,7 @@
 </inlineequation>. </para>
 </blockquote>
 <para>Now, we're outside quotes.</para>
-<para><informalequation>
+<informalequation>
 <alt role='tex'>Formula!</alt>
  <m:math>
  
@@ -39,7 +39,8 @@
   </m:mrow>
  </m:mrow>
  </m:math>
-</informalequation><informalequation xml:id="eq.EQ.">
+</informalequation>
+<informalequation xml:id="eq.EQ.">
 <alt role='tex'>\text{I am a formula with a ref.}\label{eq:EQ.}</alt>
  <m:math>
  
@@ -50,9 +51,9 @@
   </m:mstyle>
  </m:mrow>
  </m:math>
-</informalequation></para>
+</informalequation>
 <para>See <xref linkend="sec.Sec-2kqgsdiflhqsdlifgjuzer-povtuizmvnuer-t-vmsrmfli--uh--a--rtpfuo----rtpc.m-ca-rgifzapeu-tvgz" />.</para>
-<para>Also, a formula with an user-defined macro that outputs well in LaTeX but cannot in MathML (hence replaced by picture): <inlineequation>
+<para>Also, a formula with an user-defined macro that outputs well in LaTeX but cannot in MathML: <inlineequation>
 <alt role='tex'>\testmacro</alt>
 <mathphrase>MathML export failed. Please report this as a bug.</mathphrase>
 </inlineequation>. </para>
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index e87ef88..aad1ccf 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -3349,7 +3349,8 @@ std::vector<docstring> Paragraph::simpleDocBookOnePar(Buffer const & buf,
 
 	std::vector<docstring> generatedParagraphs;
 	odocstringstream os;
-	auto * xs = new XMLStream(os);
+	auto * xs = new XMLStream(os); // XMLStream has no copy constructor: to create a new object, the only solution
+	// is to hold a pointer to the XMLStream (xs = XMLStream(os) is not allowed once the first object is built).
 
 	// Parsing main loop.
 	for (pos_type i = initial; i < size(); ++i) {
@@ -3361,7 +3362,6 @@ std::vector<docstring> Paragraph::simpleDocBookOnePar(Buffer const & buf,
 		if (getInset(i) != nullptr && getInset(i)->lyxCode() == NEWLINE_CODE) {
 			generatedParagraphs.push_back(os.str());
 			os = odocstringstream();
-			// XMLStream has no copy constructor.
 			delete xs;
 			xs = new XMLStream(os);
 		}
diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp
index 800cbeb..5847121 100644
--- a/src/mathed/InsetMathHull.cpp
+++ b/src/mathed/InsetMathHull.cpp
@@ -2420,10 +2420,16 @@ void InsetMathHull::docbook(XMLStream & xs, OutputParams const & runparams) cons
 	docstring name;
 	if (getType() == hullSimple)
 		name = from_ascii("inlineequation");
-	else
+	else {
+		// This is a block equation, always have <informalequation> on its own line.
+		if (!xs.isLastTagCR())
+			xs << xml::CR();
+
 		name = from_ascii("informalequation");
+	}
 
 	// DocBook also has <equation>, but it comes with a title.
+	// TODO: recognise \tag from amsmath?
 
 	docstring attr;
 	for (row_type i = 0; i < nrows(); ++i) {
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 9d51853..e609f39 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -446,10 +446,16 @@ void makeParagraph(
 			special_case = true;
 	}
 
+	size_t nInsets = std::distance(par->insetList().begin(), par->insetList().end());
+
 	// Plain layouts must be ignored.
-	if (!special_case && buf.params().documentClass().isPlainLayout(par->layout()) && !runparams.docbook_force_pars)
-		special_case = true;
-	// TODO: Could get rid of this with a DocBook equivalent to htmlisblock?
+	special_case |= buf.params().documentClass().isPlainLayout(par->layout()) && !runparams.docbook_force_pars;
+	// Equations do not deserve their own paragraph (DocBook allows them outside paragraphs).
+	special_case |= nInsets == par->size() && std::all_of(par->insetList().begin(), par->insetList().end(), [](InsetList::Element inset) {
+		return inset.inset && inset.inset->asInsetMath();
+	});
+
+	// TODO: Could get rid of this with a DocBook equivalent to htmlisblock? Not for all cases, unfortunately... See above for those that have been determined not to be allowable for this potential refactoring.
 	if (!special_case && par->size() == 1 && par->getInset(0)) {
 		Inset const * firstInset = par->getInset(0);
 
@@ -460,10 +466,6 @@ void makeParagraph(
 		if (!special_case && firstInset->asInsetCommand())
 			special_case = firstInset->asInsetCommand()->params().getCmdName() == "bibtex";
 
-		// Equations do not deserve their own paragraph (DocBook allows them outside paragraphs).
-		if (!special_case && firstInset->asInsetMath())
-			special_case = true;
-
 		// ERTs are in comments, not paragraphs.
 		if (!special_case && firstInset->lyxCode() == lyx::ERT_CODE)
 			special_case = true;

commit 97cfabb8831ea5ab58b46f470dcecd317b26df04
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Aug 29 18:40:31 2020 +0200

    DocBook: fix indentation for section titles (including stars).

diff --git a/autotests/export/docbook/basic.lyx b/autotests/export/docbook/basic.lyx
index 0bd87ce..1735dc4 100644
--- a/autotests/export/docbook/basic.lyx
+++ b/autotests/export/docbook/basic.lyx
@@ -1,5 +1,5 @@
-#LyX 2.4 created this file. For more info see http://www.lyx.org/
-\lyxformat 544
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 598
 \begin_document
 \begin_header
 \save_transient_properties true
@@ -9,11 +9,11 @@
 \newcommand{\testmacro}{\ensuremath{\operatorname{testmacro}}}
 \end_preamble
 \use_default_options true
-\maintain_unincluded_children false
+\maintain_unincluded_children no
 \language english
 \language_package default
-\inputencoding auto
-\fontencoding global
+\inputencoding auto-legacy
+\fontencoding auto
 \font_roman "default" "default"
 \font_sans "default" "default"
 \font_typewriter "default" "default"
@@ -21,7 +21,9 @@
 \font_default_family default
 \use_non_tex_fonts false
 \font_sc false
-\font_osf false
+\font_roman_osf false
+\font_sans_osf false
+\font_typewriter_osf false
 \font_sf_scale 100 100
 \font_tt_scale 100 100
 \use_microtype false
@@ -56,6 +58,7 @@
 \justification true
 \use_refstyle 1
 \use_minted 0
+\use_lineno 0
 \index Index
 \shortcut idx
 \color #008000
@@ -75,11 +78,15 @@
 \papercolumns 1
 \papersides 1
 \paperpagestyle default
+\tablestyle default
 \tracking_changes false
 \output_changes false
+\change_bars false
+\postpone_fragile_content false
 \html_math_output 0
 \html_css_as_file 0
 \html_be_strict false
+\docbook_table_output 0
 \end_header
 
 \begin_body
@@ -140,6 +147,10 @@ I am a quote
 \end_layout
 
 \begin_layout Standard
+Now, we're outside quotes.
+\end_layout
+
+\begin_layout Standard
 \begin_inset Formula 
 \[
 Formula!
@@ -386,6 +397,8 @@ Now, three tables:
 
 \begin_layout Standard
 \begin_inset Float table
+placement document
+alignment document
 wide false
 sideways false
 status open
@@ -511,6 +524,8 @@ I am a table caption below the table.
 
 \begin_layout Standard
 \begin_inset Float table
+placement document
+alignment document
 wide false
 sideways false
 status open
@@ -636,6 +651,8 @@ Col 3, row 2
 
 \begin_layout Standard
 \begin_inset Float table
+placement document
+alignment document
 wide false
 sideways false
 status open
@@ -753,6 +770,8 @@ Then, one figure:
 
 \begin_layout Standard
 \begin_inset Float figure
+placement document
+alignment document
 wide false
 sideways false
 status open
diff --git a/autotests/export/docbook/basic.xml b/autotests/export/docbook/basic.xml
index 6f4a828..7980289 100644
--- a/autotests/export/docbook/basic.xml
+++ b/autotests/export/docbook/basic.xml
@@ -29,6 +29,7 @@
  </m:math>
 </inlineequation>. </para>
 </blockquote>
+<para>Now, we're outside quotes.</para>
 <para><informalequation>
 <alt role='tex'>Formula!</alt>
  <m:math>
@@ -72,22 +73,37 @@
 </section>
 <section>
 <title>I am the third section and I have fun with lists</title>
-<orderedlist><listitem>First item. 
-<br />
-Second line of the first item, after a line break. </listitem></orderedlist>
-<orderedlist><listitem>Second item. </listitem></orderedlist>
-<itemizedlist><listitem>Item has no order (1). </listitem></itemizedlist>
-<itemizedlist><listitem>Item has no order (2). </listitem></itemizedlist>
-<variablelist><listitem><varlistentry>
-
-Word description<!-- Output Error: Closing tag `listitem' when other tags are open, namely: -->
-<!-- Output Error: varlistentry -->
-</varlistentry></listitem></variablelist>
-<variablelist><listitem><varlistentry>
-
-Sentence meaning<!-- Output Error: Closing tag `listitem' when other tags are open, namely: -->
-<!-- Output Error: varlistentry -->
-</varlistentry></listitem></variablelist>
+<orderedlist>
+<listitem>
+<para>First item. </para>
+<para>Second line of the first item, after a line break. </para>
+</listitem>
+<listitem>
+<para>Second item. </para>
+</listitem>
+</orderedlist>
+<itemizedlist>
+<listitem>
+<para>Item has no order (1). </para>
+</listitem>
+<listitem>
+<para>Item has no order (2). </para>
+</listitem>
+</itemizedlist>
+<variablelist>
+<varlistentry>
+<term>Word</term>
+<listitem>
+<para>description</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term>Sentence</term>
+<listitem>
+<para>meaning</para>
+</listitem>
+</varlistentry>
+</variablelist>
 </section>
 <section>
 <title>I am the fourth section and I deal with formatting. </title>
@@ -95,9 +111,11 @@ Sentence meaning<!-- Output Error: Closing tag `listitem' when other tags are op
 <para><programlisting>I am some code. 
 I am a second line of code. 
 </programlisting>I am no more code. </para>
-<para>This line has inline code. <code>This has typewriter font</code><footnote><para>I repeat that in a footnote.</para>
+<para>This line has inline code. <code>This has typewriter font</code><footnote>
+<para>I repeat that in a footnote.</para>
 </footnote>. </para>
-<para>On the other hand, <footnote><para>this footnote</para>
+<para>On the other hand, <footnote>
+<para>this footnote</para>
 <para>has multiple </para>
 <para>paragraphs.</para>
 </footnote>. </para>
@@ -145,7 +163,7 @@ I am a second line of code.
 </tr>
 </tbody>
 </table>
-<informaltable>
+<table>
 <tbody>
 <tr>
 <td align='center' valign='top'>Table that has no caption 1</td>
@@ -163,7 +181,8 @@ I am a second line of code.
 <td align='center' valign='top'>Col 3, row 2</td>
 </tr>
 </tbody>
-</informaltable>
+</table>
+
 <para>Then, one figure: </para>
 <figure>
 <title>Caption.</title>
@@ -334,5 +353,4 @@ I am a second line of code.
 </author>
 </authorgroup>
 </biblioentry>
-</bibliography>
-</article>
\ No newline at end of file
+</bibliography></article>
\ No newline at end of file
diff --git a/lib/layouts/stdsections.inc b/lib/layouts/stdsections.inc
index fa42eac..30b64ea 100644
--- a/lib/layouts/stdsections.inc
+++ b/lib/layouts/stdsections.inc
@@ -7,7 +7,7 @@
 # commands that are useful for article-like document classes, but not
 # for letters.
 
-Format 82
+Format 84
 
 Style Part
 	Category              Sectioning
@@ -40,6 +40,7 @@ Style Part
 	EndFont
 	HTMLTag               h1
 	DocBookTag            title
+	DocBookTagType        paragraph
 	DocBookSectionTag     part
 	DocBookForceAbstractTag	partintro
 End
@@ -75,6 +76,7 @@ Style Chapter
 	EndFont
 	HTMLTag               h1
 	DocBookTag            title
+	DocBookTagType        paragraph
 	DocBookSectionTag     chapter
 End
 
@@ -108,6 +110,7 @@ Style Section
 	EndFont
 	HTMLTag               h2
 	DocBookTag            title
+	DocBookTagType        paragraph
 	DocBookSectionTag     section
 End
 

commit fc2c36289b5c0cd15f453c4905bb56a2b20aef25
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Thu Aug 27 00:52:06 2020 +0200

    DocBook: rewrite makeListEnvironment.

diff --git a/autotests/export/docbook/lists.lyx b/autotests/export/docbook/lists.lyx
index f4a58c2..1c1e88b 100644
--- a/autotests/export/docbook/lists.lyx
+++ b/autotests/export/docbook/lists.lyx
@@ -102,11 +102,71 @@ Second item on two lines
 I'm the second line
 \end_layout
 
+\begin_layout Itemize
+Third item
+\end_layout
+
 \begin_layout Standard
-\begin_inset Note Note
-status collapsed
+A simple enumerated list: 
+\end_layout
+
+\begin_layout Enumerate
+First item
+\end_layout
+
+\begin_layout Enumerate
+Second item on two lines
+\begin_inset Newline newline
+\end_inset
+
+I'm the second line
+\end_layout
+
+\begin_layout Standard
+A simple description list: 
+\end_layout
+
+\begin_layout Description
+Word description
+\end_layout
+
+\begin_layout Description
+Sentence meaning
+\end_layout
+
+\begin_layout Standard
+Nested lists:
+\end_layout
+
+\begin_layout Itemize
+First item
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+First first item
+\end_layout
+
+\begin_layout Itemize
+First second item
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+Second item
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Second first item
+\end_layout
+
+\begin_layout Itemize
+Second second item
+\end_layout
 
-\begin_layout Plain Layout
+\end_deeper
+\begin_layout Standard
 A complex list:
 \end_layout
 
@@ -123,7 +183,47 @@ First first item
 First second item
 \end_layout
 
-\begin_layout Plain Layout
+\begin_layout Standard
+Text after first item
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+Second item
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Second first item
+\end_layout
+
+\begin_layout Itemize
+Second second item
+\end_layout
+
+\begin_layout Standard
+Text after second item
+\end_layout
+
+\end_deeper
+\begin_layout Standard
+A very complex list:
+\end_layout
+
+\begin_layout Itemize
+First item
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+First first item
+\end_layout
+
+\begin_layout Itemize
+First second item
+\end_layout
+
+\begin_layout Standard
 Text after first item
 \end_layout
 
@@ -141,15 +241,32 @@ Second first item
 Second second item
 \end_layout
 
-\begin_layout Plain Layout
+\begin_layout Standard
 Text after second item
 \end_layout
 
 \end_deeper
-\end_inset
+\begin_layout Standard
+Nested description lists: 
+\end_layout
 
+\begin_layout Description
+LyX:
+\end_layout
 
+\begin_deeper
+\begin_layout Description
+lyx16 LyX 1.6 file format (lyx2lyx)
+\end_layout
+
+\begin_layout Description
+lyx21 LyX 2.1 file format (lyx2lyx)
 \end_layout
 
+\begin_layout Description
+xhtml LyXHTML (native LyX HTML export)
+\end_layout
+
+\end_deeper
 \end_body
 \end_document
diff --git a/autotests/export/docbook/lists.xml b/autotests/export/docbook/lists.xml
index d7b24f6..6812230 100644
--- a/autotests/export/docbook/lists.xml
+++ b/autotests/export/docbook/lists.xml
@@ -12,5 +12,141 @@
 <para>Second item on two lines</para>
 <para>I'm the second line</para>
 </listitem>
+<listitem>
+<para>Third item</para>
+</listitem>
+</itemizedlist>
+<para>A simple enumerated list: </para>
+<orderedlist>
+<listitem>
+<para>First item</para>
+</listitem>
+<listitem>
+<para>Second item on two lines</para>
+<para>I'm the second line</para>
+</listitem>
+</orderedlist>
+<para>A simple description list: </para>
+<variablelist>
+<varlistentry>
+<term>Word</term>
+<listitem>
+<para>description</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term>Sentence</term>
+<listitem>
+<para>meaning</para>
+</listitem>
+</varlistentry>
+</variablelist>
+<para>Nested lists:</para>
+<itemizedlist>
+<listitem>
+<para>First item</para>
+<itemizedlist>
+<listitem>
+<para>First first item</para>
+</listitem>
+<listitem>
+<para>First second item</para>
+</listitem>
+</itemizedlist>
+</listitem>
+<listitem>
+<para>Second item</para>
+<itemizedlist>
+<listitem>
+<para>Second first item</para>
+</listitem>
+<listitem>
+<para>Second second item</para>
+</listitem>
+</itemizedlist>
+</listitem>
+</itemizedlist>
+<para>A complex list:</para>
+<itemizedlist>
+<listitem>
+<para>First item</para>
+<itemizedlist>
+<listitem>
+<para>First first item</para>
+</listitem>
+<listitem>
+<para>First second item</para>
+</listitem>
+</itemizedlist>
+<para>Text after first item</para>
+</listitem>
+<listitem>
+<para>Second item</para>
+<itemizedlist>
+<listitem>
+<para>Second first item</para>
+</listitem>
+<listitem>
+<para>Second second item</para>
+</listitem>
+</itemizedlist>
+<para>Text after second item</para>
+</listitem>
+</itemizedlist>
+<para>A very complex list:</para>
+<itemizedlist>
+<listitem>
+<para>First item</para>
+<itemizedlist>
+<listitem>
+<para>First first item</para>
+</listitem>
+<listitem>
+<para>First second item</para>
+</listitem>
 </itemizedlist>
+<para>Text after first item</para>
+</listitem>
+<listitem>
+<para>Second item</para>
+<orderedlist>
+<listitem>
+<para>Second first item</para>
+</listitem>
+<listitem>
+<para>Second second item</para>
+</listitem>
+</orderedlist>
+<para>Text after second item</para>
+</listitem>
+</itemizedlist>
+<para>Nested description lists: </para>
+<variablelist>
+<varlistentry>
+<term>LyX:</term>
+<listitem>
+
+<variablelist>
+<varlistentry>
+<term>lyx16</term>
+<listitem>
+<para>LyX 1.6 file format (lyx2lyx)</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term>lyx21</term>
+<listitem>
+<para>LyX 2.1 file format (lyx2lyx)</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term>xhtml</term>
+<listitem>
+<para>LyXHTML (native LyX HTML export)</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</listitem>
+</varlistentry>
+</variablelist>
 </article>
\ No newline at end of file
diff --git a/lib/layouts/stdlists.inc b/lib/layouts/stdlists.inc
index c0b346d..d05e896 100644
--- a/lib/layouts/stdlists.inc
+++ b/lib/layouts/stdlists.inc
@@ -43,9 +43,7 @@ Style Itemize
 			Color latex
 		EndFont
 	EndArgument
-	DocBookWrapperTag     itemizedlist
-	DocBookWrapperMergeWithPrevious    true
-	DocBookTag            NONE
+	DocBookTag            itemizedlist
 	DocBookItemTag        listitem
 	DocBookItemInnerTag   para
 End
@@ -134,6 +132,7 @@ Style Description
 	DocBookItemTag        listitem
 	DocBookItemInnerTag   para
 	DocBookItemLabelTag   term
+	DocBookItemLabelTagType   paragraph
 End
 
 
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 356de07..9d51853 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -225,7 +225,7 @@ void closeBlockTag(XMLStream & xs, const std::string & tag)
 
 void openTag(XMLStream & xs, const std::string & tag, const std::string & attr, const std::string & tagtype)
 {
-	if (tag.empty() || tag == "NONE")
+	if (tag.empty() || tag == "NONE") // Common check to be performed elsewhere, if it was not here.
 		return;
 
 	if (tag == "para" || tagtype == "paragraph") // Special case for <para>: always considered as a paragraph.
@@ -275,7 +275,7 @@ void openParTag(XMLStream & xs, const Paragraph * par, const Paragraph * prevpar
 		Layout const & prevlay = prevpar->layout();
 		if (prevlay.docbookwrappertag() != "NONE") {
 			openWrapper = prevlay.docbookwrappertag() == lay.docbookwrappertag()
-					&& !lay.docbookwrappermergewithprevious();
+			              && !lay.docbookwrappermergewithprevious();
 		}
 	}
 
@@ -308,32 +308,8 @@ void closeParTag(XMLStream & xs, Paragraph const * par, Paragraph const * nextpa
 	if (nextpar != nullptr) {
 		Layout const & nextlay = nextpar->layout();
 		if (nextlay.docbookwrappertag() != "NONE") {
-			if (nextpar->getDepth() == par->getDepth()) {
-				// Same depth: the basic condition applies.
-				closeWrapper = nextlay.docbookwrappertag() == lay.docbookwrappertag()
-				               && !nextlay.docbookwrappermergewithprevious();
-			} else if (nextpar->getDepth() > par->getDepth()) {
-				// The next paragraph is deeper: no need to close the wrapper, only to open it (cf. openParTag).
-				closeWrapper = 0;
-			} else {
-				// This paragraph is deeper than the next one: close the wrapper,
-				// disregarding docbookwrappermergewithprevious.
-				// Hypothesis: nextlay.docbookwrappertag() == lay.docbookwrappertag(). TODO: THIS IS WRONG! Loop back until a layout with the right depth is found?
-				closeWrapper = 1L + (long long) par->getDepth() - (long long) nextpar->getDepth(); // > 0, as nextpar->getDepth() < par->getDepth()
-			}
-		} else {
-			if (nextpar->getDepth() == par->getDepth()) {
-				// This is not wrapped: this must be the rest of the item, still within the wrapper.
-				closeWrapper = 1;
-			} else if (nextpar->getDepth() > par->getDepth()) {
-				// The next paragraph is deeper: no need to close the wrapper, only to open it (cf. openParTag).
-				closeWrapper = 0;
-			} else {
-				// This paragraph is deeper than the next one: close the wrapper,
-				// disregarding docbookwrappermergewithprevious.
-				// Hypothesis: nextlay.docbookwrappertag() == lay.docbookwrappertag(). TODO: THIS IS WRONG! Loop back until a layout with the right depth is found?
-				closeWrapper = 1L + (long long) par->getDepth() - (long long) nextpar->getDepth(); // > 0, as nextpar->getDepth() < par->getDepth()
-			}
+			closeWrapper = nextlay.docbookwrappertag() == lay.docbookwrappertag()
+			               && !nextlay.docbookwrappermergewithprevious();
 		}
 	}
 
@@ -564,9 +540,7 @@ void makeEnvironment(Text const &text,
 				// Usual cases: maybe there is something specified at the layout level. Highly unlikely, though.
 				docstring const lbl = par->params().labelString();
 
-				if (lbl.empty()) {
-					xs << xml::CR();
-				} else {
+				if (!lbl.empty()) {
 					openLabelTag(xs, style);
 					xs << lbl;
 					closeLabelTag(xs, style);
@@ -628,7 +602,6 @@ ParagraphList::const_iterator findEndOfEnvironment(
 		ParagraphList::const_iterator const & pend)
 {
 	// Copy-paste from XHTML. Should be factored out at some point...
-
 	ParagraphList::const_iterator p = pstart;
 	Layout const & bstyle = p->layout();
 	size_t const depth = p->params().depth();
@@ -662,95 +635,84 @@ ParagraphList::const_iterator makeListEnvironment(Text const &text,
 												  Buffer const &buf,
 		                                          XMLStream &xs,
 		                                          OutputParams const &runparams,
-		                                          ParagraphList::const_iterator const & par)
+		                                          ParagraphList::const_iterator const & begin)
 {
+	auto par = begin;
 	auto const end = text.paragraphs().end();
+	auto const envend = findEndOfEnvironment(par, end);
 
-	// Output the opening tag for this environment, but only if it has not been previously opened (condition
-	// implemented in openParTag).
-	auto prevpar = text.paragraphs().getParagraphBefore(par);
-	openParTag(xs, &*par, prevpar); // TODO: switch in layout for par/block?
+	// Output the opening tag for this environment.
+	Layout const & envstyle = par->layout();
+	openTag(xs, envstyle.docbookwrappertag(), envstyle.docbookwrapperattr(), envstyle.docbookwrappertagtype());
+	openTag(xs, envstyle.docbooktag(), envstyle.docbookattr(), envstyle.docbooktagtype());
 
-	// Generate the contents of this environment. There is a special case if this is like some environment.
-	Layout const & style = par->layout();
-	if (style.latextype == LATEX_COMMAND) {
-		// Nothing to do (otherwise, infinite loops).
-	} else if (style.latextype == LATEX_ENVIRONMENT ||
-			style.latextype == LATEX_LIST_ENVIRONMENT ||
-			style.latextype == LATEX_ITEM_ENVIRONMENT) {
-		// Open a wrapper tag if needed.
-		if (style.docbookitemwrappertag() != "NONE")
-			openTag(xs, style.docbookitemwrappertag(), style.docbookitemwrapperattr(), style.docbookitemwrappertagtype());
+	// Handle the content of the list environment, item by item.
+	while (par != envend) {
+		Layout const & style = par->layout();
+
+		// Open the item wrapper.
+		openTag(xs, style.docbookitemwrappertag(), style.docbookitemwrapperattr(), style.docbookitemwrappertagtype());
 
 		// Generate the label, if need be. If it is taken from the text, sep != 0 and corresponds to the first
 		// character after the label.
 		pos_type sep = 0;
 		if (style.labeltype != LABEL_NO_LABEL && style.docbookitemlabeltag() != "NONE") {
-			// At least one condition must be met:
-			//  - this environment is not a list
-			//  - if this is a list, the label must not be manual (i.e. it must be taken from the layout)
-			if (style.latextype != LATEX_LIST_ENVIRONMENT || style.labeltype != LABEL_MANUAL) {
+			if (style.labeltype == LABEL_MANUAL) {
+				// Only variablelist gets here (or similar items defined as an extension in the layout).
+				openLabelTag(xs, style);
+				sep = 1 + par->firstWordDocBook(xs, runparams);
+				closeLabelTag(xs, style);
+			} else {
 				// Usual cases: maybe there is something specified at the layout level. Highly unlikely, though.
 				docstring const lbl = par->params().labelString();
 
-				if (lbl.empty()) {
-					xs << xml::CR();
-				} else {
+				if (!lbl.empty()) {
 					openLabelTag(xs, style);
 					xs << lbl;
 					closeLabelTag(xs, style);
 				}
-			} else {
-				// Only variablelist gets here (or similar items defined as an extension in the layout).
-				openLabelTag(xs, style);
-				sep = par->firstWordDocBook(xs, runparams);
-				closeLabelTag(xs, style);
 			}
 		}
 
-		// Maybe the item is completely empty, i.e. if the first word ends at the end of the current paragraph
-		// AND if the next paragraph doesn't have the same depth (if there is such a paragraph).
-		// Common case: there is only the first word on the line, but there is a nested list instead
-		// of more text.
-		bool emptyItem = false;
-		if (sep == par->size()) { // If the separator is already at the end of this paragraph...
-			auto next_par = par;
-			++next_par;
-			if (next_par == text.paragraphs().end()) // There is no next paragraph.
-				emptyItem = true;
-			else // There is a next paragraph: check depth.
-				emptyItem = par->params().depth() >= next_par->params().depth();
-		}
-
-		if (emptyItem) {
-			// Avoid having an empty item, this is not valid DocBook. A single character is enough to force
-			// generation of a full <para>.
-			// TODO: this always worked only by magic...
-			xs << ' ';
-		} else {
-			// Generate the rest of the paragraph, if need be. Open as many inner tags as necessary.
-			auto pars = par->simpleDocBookOnePar(buf, runparams, text.outerFont(std::distance(text.paragraphs().begin(), par)), sep);
-			auto p = pars.begin();
-			while (true) {
-				xs << XMLStream::ESCAPE_NONE << *p;
-				++p;
-				if (p != pars.end()) {
-					closeTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnertagtype());
-					openTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnerattr(), par->layout().docbookiteminnertagtype());
-				} else
-					break;
+		// Open the item (after the wrapper and the label).
+		openTag(xs, style.docbookitemtag(), style.docbookitemattr(), style.docbookitemtagtype());
+
+		// Generate the content of the item.
+		if (sep < par->size()) {
+			auto pars = par->simpleDocBookOnePar(buf, runparams,
+			                                     text.outerFont(std::distance(text.paragraphs().begin(), par)), sep);
+			for (auto &p : pars) {
+				openTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnerattr(),
+				        par->layout().docbookiteminnertagtype());
+				xs << XMLStream::ESCAPE_NONE << p;
+				closeTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnertagtype());
 			}
+		} else {
+			// DocBook doesn't like emptiness.
+			openTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnerattr(),
+			        par->layout().docbookiteminnertagtype());
+			closeTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnertagtype());
 		}
-	} else {
-		makeAny(text, buf, xs, runparams, par);
+
+		// If the next item is deeper, it must go entirely within this item (do it recursively).
+		// By construction, with findEndOfEnvironment, depth can only stay constant or increase, never decrease.
+		depth_type currentDepth = par->getDepth();
+		++par;
+		while (par != envend && par->getDepth() != currentDepth)
+			par = makeAny(text, buf, xs, runparams, par);
+		// Usually, this loop only makes one iteration, except in complex scenarios, like an item with a paragraph,
+		// a list, and another paragraph; or an item with two types of list (itemise then enumerate, for instance).
+
+		// Close the item.
+		closeTag(xs, style.docbookitemtag(), style.docbookitemtagtype());
+		closeTag(xs, style.docbookitemwrappertag(), style.docbookitemwrappertagtype());
 	}
 
-	// Close the environment.
-	auto nextpar = par;
-	++nextpar;
-	closeParTag(xs, &*par, (nextpar != end) ? &*nextpar : nullptr); // TODO: switch in layout for par/block?
+	// Close this environment in exactly the same way as it was opened.
+	closeTag(xs, envstyle.docbooktag(), envstyle.docbooktagtype());
+	closeTag(xs, envstyle.docbookwrappertag(), envstyle.docbookwrappertagtype());
 
-	return nextpar;
+	return envend;
 }
 
 
diff --git a/src/xml.cpp b/src/xml.cpp
index 2f49667..0daa9d8 100644
--- a/src/xml.cpp
+++ b/src/xml.cpp
@@ -185,6 +185,12 @@ void XMLStream::writeError(docstring const &s)
 }
 
 
+XMLStream::TagPtr XMLStream::getLastStackTag()
+{
+	return tag_stack_.back();
+}
+
+
 bool XMLStream::closeFontTags()
 {
 	if (isTagPending(xml::parsep_tag))
diff --git a/src/xml.h b/src/xml.h
index 45c62ab..56e5d81 100644
--- a/src/xml.h
+++ b/src/xml.h
@@ -125,7 +125,6 @@ private:
 	// own these pointers and how they will be deleted, so we use shared
 	// pointers.
 	///
-	typedef std::shared_ptr<xml::StartTag> TagPtr;
 	typedef std::deque<TagPtr> TagDeque;
 	///
 	template <typename T>

commit 8656fbd520030a2879f60a55edf0dfc706a2a60b
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Aug 29 03:03:16 2020 +0200

    DocBook: start splitting environment handling in two, to have proper things for lists.

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 12c0089..356de07 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -370,12 +370,11 @@ void closeItemTag(XMLStream & xs, Layout const & lay)
 }
 
 
-void makeAny(
-		Text const &,
-		Buffer const &,
-		XMLStream &,
-		OutputParams const &,
-		ParagraphList::const_iterator);
+ParagraphList::const_iterator makeAny(Text const &,
+		                              Buffer const &,
+		                              XMLStream &,
+		                              OutputParams const &,
+		                              ParagraphList::const_iterator);
 
 
 void makeBibliography(
@@ -664,7 +663,6 @@ ParagraphList::const_iterator makeListEnvironment(Text const &text,
 		                                          XMLStream &xs,
 		                                          OutputParams const &runparams,
 		                                          ParagraphList::const_iterator const & par)
->>>>>>> be6480e59c... DocBook: same refactoring for docbookSimpleAllParagraphs.
 {
 	auto const end = text.paragraphs().end();
 
@@ -751,6 +749,8 @@ ParagraphList::const_iterator makeListEnvironment(Text const &text,
 	auto nextpar = par;
 	++nextpar;
 	closeParTag(xs, &*par, (nextpar != end) ? &*nextpar : nullptr); // TODO: switch in layout for par/block?
+
+	return nextpar;
 }
 
 
@@ -791,10 +791,12 @@ ParagraphList::const_iterator makeAny(Text const &text,
 		makeCommand(text, buf, xs, runparams, par);
 		break;
 	case LATEX_ENVIRONMENT:
+		makeEnvironment(text, buf, xs, runparams, par);
+		break;
 	case LATEX_LIST_ENVIRONMENT:
 	case LATEX_ITEM_ENVIRONMENT:
-		makeEnvironment(buf, xs, ourparams, text, par);
-		break;
+		// Only case when makeAny() might consume more than one paragraph.
+		return makeListEnvironment(text, buf, xs, runparams, par);
 	case LATEX_PARAGRAPH:
 		makeParagraph(text, buf, xs, runparams, par);
 		break;
@@ -802,6 +804,8 @@ ParagraphList::const_iterator makeAny(Text const &text,
 		makeBibliography(text, buf, xs, runparams, par);
 		break;
 	}
+	++par;
+	return par;
 }
 
 
@@ -1208,7 +1212,7 @@ void docbookParagraphs(Text const &text,
 		}
 
 		// Generate this paragraph.
-		makeAny(text, buf, xs, ourparams, par);
+		par = makeAny(text, buf, xs, ourparams, par);
 	}
 
 	// If need be, close <section>s, but only at the end of the document (otherwise, dealt with at the beginning

commit 1bd49f9c39b103b2d8bbe079bc603cfa47509ae5
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Aug 29 03:46:30 2020 +0200

    DocBook: make all make* functions have the same argument order.

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index ff47aa6..12c0089 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -378,11 +378,11 @@ void makeAny(
 		ParagraphList::const_iterator);
 
 
-void makeParagraphBibliography(
+void makeBibliography(
+		Text const & text,
 		Buffer const & buf,
 		XMLStream & xs,
 		OutputParams const & runparams,
-		Text const & text,
 		ParagraphList::const_iterator const & par)
 {
 	// If this is the first paragraph in a bibliography, open the bibliography tag.
@@ -433,10 +433,10 @@ void makeParagraphBibliography(
 
 
 void makeParagraph(
+		Text const & text,
 		Buffer const & buf,
 		XMLStream & xs,
 		OutputParams const & runparams,
-		Text const & text,
 		ParagraphList::const_iterator const & par)
 {
 	auto const begin = text.paragraphs().begin();
@@ -531,10 +531,10 @@ void makeParagraph(
 }
 
 
-void makeEnvironment(Buffer const &buf,
+void makeEnvironment(Text const &text,
+					 Buffer const &buf,
                      XMLStream &xs,
                      OutputParams const &runparams,
-                     Text const &text,
                      ParagraphList::const_iterator const & par)
 {
 	// TODO: simplify me!
@@ -659,10 +659,10 @@ ParagraphList::const_iterator findEndOfEnvironment(
 }
 
 
-ParagraphList::const_iterator makeListEnvironment(Buffer const &buf,
+ParagraphList::const_iterator makeListEnvironment(Text const &text,
+												  Buffer const &buf,
 		                                          XMLStream &xs,
 		                                          OutputParams const &runparams,
-		                                          Text const &text,
 		                                          ParagraphList::const_iterator const & par)
 >>>>>>> be6480e59c... DocBook: same refactoring for docbookSimpleAllParagraphs.
 {
@@ -755,10 +755,10 @@ ParagraphList::const_iterator makeListEnvironment(Buffer const &buf,
 
 
 void makeCommand(
+		Text const & text,
 		Buffer const & buf,
 		XMLStream & xs,
 		OutputParams const & runparams,
-		Text const & text,
 		ParagraphList::const_iterator const & par)
 {
 	// Unlike XHTML, no need for labels, as they are handled by DocBook tags.
@@ -780,16 +780,15 @@ void makeCommand(
 }
 
 
-void makeAny(
-		Text const &text,
-		Buffer const &buf,
-		XMLStream &xs,
-		OutputParams const &ourparams,
-		ParagraphList::const_iterator par)
+ParagraphList::const_iterator makeAny(Text const &text,
+		                              Buffer const &buf,
+		                              XMLStream &xs,
+		                              OutputParams const &runparams,
+		                              ParagraphList::const_iterator par)
 {
 	switch (par->layout().latextype) {
 	case LATEX_COMMAND:
-		makeCommand(buf, xs, ourparams, text, par);
+		makeCommand(text, buf, xs, runparams, par);
 		break;
 	case LATEX_ENVIRONMENT:
 	case LATEX_LIST_ENVIRONMENT:
@@ -797,10 +796,10 @@ void makeAny(
 		makeEnvironment(buf, xs, ourparams, text, par);
 		break;
 	case LATEX_PARAGRAPH:
-		makeParagraph(buf, xs, ourparams, text, par);
+		makeParagraph(text, buf, xs, runparams, par);
 		break;
 	case LATEX_BIB_ENVIRONMENT:
-		makeParagraphBibliography(buf, xs, ourparams, text, par);
+		makeBibliography(text, buf, xs, runparams, par);
 		break;
 	}
 }

commit fc0999a4220afb1646a5ae75ea8192b6d304ec56
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Aug 29 02:55:47 2020 +0200

    DocBook: partially remove use of bpit/epit in docbookParagraphs and docbookSimpleAllParagraphs.
    
    This will help with the next refactoring to be much cleaner (only work with iterators, don't maintain twice the same information).

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 0dc5257..ff47aa6 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -308,8 +308,32 @@ void closeParTag(XMLStream & xs, Paragraph const * par, Paragraph const * nextpa
 	if (nextpar != nullptr) {
 		Layout const & nextlay = nextpar->layout();
 		if (nextlay.docbookwrappertag() != "NONE") {
-			closeWrapper = nextlay.docbookwrappertag() == lay.docbookwrappertag()
-					&& !nextlay.docbookwrappermergewithprevious();
+			if (nextpar->getDepth() == par->getDepth()) {
+				// Same depth: the basic condition applies.
+				closeWrapper = nextlay.docbookwrappertag() == lay.docbookwrappertag()
+				               && !nextlay.docbookwrappermergewithprevious();
+			} else if (nextpar->getDepth() > par->getDepth()) {
+				// The next paragraph is deeper: no need to close the wrapper, only to open it (cf. openParTag).
+				closeWrapper = 0;
+			} else {
+				// This paragraph is deeper than the next one: close the wrapper,
+				// disregarding docbookwrappermergewithprevious.
+				// Hypothesis: nextlay.docbookwrappertag() == lay.docbookwrappertag(). TODO: THIS IS WRONG! Loop back until a layout with the right depth is found?
+				closeWrapper = 1L + (long long) par->getDepth() - (long long) nextpar->getDepth(); // > 0, as nextpar->getDepth() < par->getDepth()
+			}
+		} else {
+			if (nextpar->getDepth() == par->getDepth()) {
+				// This is not wrapped: this must be the rest of the item, still within the wrapper.
+				closeWrapper = 1;
+			} else if (nextpar->getDepth() > par->getDepth()) {
+				// The next paragraph is deeper: no need to close the wrapper, only to open it (cf. openParTag).
+				closeWrapper = 0;
+			} else {
+				// This paragraph is deeper than the next one: close the wrapper,
+				// disregarding docbookwrappermergewithprevious.
+				// Hypothesis: nextlay.docbookwrappertag() == lay.docbookwrappertag(). TODO: THIS IS WRONG! Loop back until a layout with the right depth is found?
+				closeWrapper = 1L + (long long) par->getDepth() - (long long) nextpar->getDepth(); // > 0, as nextpar->getDepth() < par->getDepth()
+			}
 		}
 	}
 
@@ -507,12 +531,140 @@ void makeParagraph(
 }
 
 
-void makeEnvironment(
-		Buffer const &buf,
-		XMLStream &xs,
-		OutputParams const &runparams,
-		Text const &text,
-		ParagraphList::const_iterator const & par)
+void makeEnvironment(Buffer const &buf,
+                     XMLStream &xs,
+                     OutputParams const &runparams,
+                     Text const &text,
+                     ParagraphList::const_iterator const & par)
+{
+	// TODO: simplify me!
+	auto const end = text.paragraphs().end();
+
+	// Output the opening tag for this environment, but only if it has not been previously opened (condition
+	// implemented in openParTag).
+	auto prevpar = text.paragraphs().getParagraphBefore(par);
+	openParTag(xs, &*par, prevpar); // TODO: switch in layout for par/block?
+
+	// Generate the contents of this environment. There is a special case if this is like some environment.
+	Layout const & style = par->layout();
+	if (style.latextype == LATEX_COMMAND) {
+		// Nothing to do (otherwise, infinite loops).
+	} else if (style.latextype == LATEX_ENVIRONMENT) {
+		// Open a wrapper tag if needed.
+		if (style.docbookitemwrappertag() != "NONE")
+			openTag(xs, style.docbookitemwrappertag(), style.docbookitemwrapperattr(), style.docbookitemwrappertagtype());
+
+		// Generate the label, if need be. If it is taken from the text, sep != 0 and corresponds to the first
+		// character after the label.
+		pos_type sep = 0;
+		if (style.labeltype != LABEL_NO_LABEL && style.docbookitemlabeltag() != "NONE") {
+			// At least one condition must be met:
+			//  - this environment is not a list
+			//  - if this is a list, the label must not be manual (i.e. it must be taken from the layout)
+			if (style.latextype != LATEX_LIST_ENVIRONMENT || style.labeltype != LABEL_MANUAL) {
+				// Usual cases: maybe there is something specified at the layout level. Highly unlikely, though.
+				docstring const lbl = par->params().labelString();
+
+				if (lbl.empty()) {
+					xs << xml::CR();
+				} else {
+					openLabelTag(xs, style);
+					xs << lbl;
+					closeLabelTag(xs, style);
+				}
+			} else {
+				// Only variablelist gets here (or similar items defined as an extension in the layout).
+				openLabelTag(xs, style);
+				sep = par->firstWordDocBook(xs, runparams);
+				closeLabelTag(xs, style);
+			}
+		}
+
+		// Maybe the item is completely empty, i.e. if the first word ends at the end of the current paragraph
+		// AND if the next paragraph doesn't have the same depth (if there is such a paragraph).
+		// Common case: there is only the first word on the line, but there is a nested list instead
+		// of more text.
+		bool emptyItem = false;
+		if (sep == par->size()) { // If the separator is already at the end of this paragraph...
+			auto next_par = par;
+			++next_par;
+			if (next_par == text.paragraphs().end()) // There is no next paragraph.
+				emptyItem = true;
+			else // There is a next paragraph: check depth.
+				emptyItem = par->params().depth() >= next_par->params().depth();
+		}
+
+		if (emptyItem) {
+			// Avoid having an empty item, this is not valid DocBook. A single character is enough to force
+			// generation of a full <para>.
+			// TODO: this always worked only by magic...
+			xs << ' ';
+		} else {
+			// Generate the rest of the paragraph, if need be. Open as many inner tags as necessary.
+			auto pars = par->simpleDocBookOnePar(buf, runparams, text.outerFont(std::distance(text.paragraphs().begin(), par)), sep);
+			auto p = pars.begin();
+			while (true) {
+				xs << XMLStream::ESCAPE_NONE << *p;
+				++p;
+				if (p != pars.end()) {
+					closeTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnertagtype());
+					openTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnerattr(), par->layout().docbookiteminnertagtype());
+				} else
+					break;
+			}
+		}
+	} else {
+		makeAny(text, buf, xs, runparams, par);
+	}
+
+	// Close the environment.
+	auto nextpar = par;
+	++nextpar;
+	closeParTag(xs, &*par, (nextpar != end) ? &*nextpar : nullptr); // TODO: switch in layout for par/block?
+}
+
+
+ParagraphList::const_iterator findEndOfEnvironment(
+		ParagraphList::const_iterator const & pstart,
+		ParagraphList::const_iterator const & pend)
+{
+	// Copy-paste from XHTML. Should be factored out at some point...
+
+	ParagraphList::const_iterator p = pstart;
+	Layout const & bstyle = p->layout();
+	size_t const depth = p->params().depth();
+	for (++p; p != pend; ++p) {
+		Layout const & style = p->layout();
+		// It shouldn't happen that e.g. a section command occurs inside
+		// a quotation environment, at a higher depth, but as of 6/2009,
+		// it can happen. We pretend that it's just at lowest depth.
+		if (style.latextype == LATEX_COMMAND)
+			return p;
+
+		// If depth is down, we're done
+		if (p->params().depth() < depth)
+			return p;
+
+		// If depth is up, we're not done
+		if (p->params().depth() > depth)
+			continue;
+
+		// FIXME I am not sure about the first check.
+		// Surely we *could* have different layouts that count as
+		// LATEX_PARAGRAPH, right?
+		if (style.latextype == LATEX_PARAGRAPH || style != bstyle)
+			return p;
+	}
+	return pend;
+}
+
+
+ParagraphList::const_iterator makeListEnvironment(Buffer const &buf,
+		                                          XMLStream &xs,
+		                                          OutputParams const &runparams,
+		                                          Text const &text,
+		                                          ParagraphList::const_iterator const & par)
+>>>>>>> be6480e59c... DocBook: same refactoring for docbookSimpleAllParagraphs.
 {
 	auto const end = text.paragraphs().end();
 
@@ -921,12 +1073,13 @@ void docbookSimpleAllParagraphs(
 	outputDocBookInfo(text, buf, xs, runparams, paragraphs, info);
 
 	// Then, the content. It starts where the <info> ends.
-	bpit = info.epit;
-	while (bpit < epit) {
-		auto par = paragraphs.iterator_at(bpit);
+	auto par = text.paragraphs().iterator_at(info.epit);
+	auto end = text.paragraphs().iterator_at(epit);
+	while (par != end) {
 		if (!hasOnlyNotes(*par))
-			makeAny(text, buf, xs, runparams, par);
-		bpit += 1;
+			par = makeAny(text, buf, xs, runparams, par);
+		else
+			++par;
 	}
 }
 
@@ -967,21 +1120,20 @@ void docbookParagraphs(Text const &text,
 
 	bool currentlyInAppendix = false;
 
-	while (bpit < epit) {
+	auto par = text.paragraphs().iterator_at(bpit);
+	auto end = text.paragraphs().iterator_at(epit);
+	while (par != end) {
 		OutputParams ourparams = runparams;
 
-		auto par = paragraphs.iterator_at(bpit);
 		if (par->params().startOfAppendix())
 			currentlyInAppendix = true;
-		Layout const &style = par->layout();
-		ParagraphList::const_iterator const lastStartedPar = par;
-		ParagraphList::const_iterator send;
-
 		if (hasOnlyNotes(*par)) {
-			bpit += 1;
+			++par;
 			continue;
 		}
 
+		Layout const &style = par->layout();
+
 		// Think about adding <section> and/or </section>s.
 		const bool isLayoutSectioning = style.category() == from_utf8("Sectioning");
 		if (isLayoutSectioning) {
@@ -1058,7 +1210,6 @@ void docbookParagraphs(Text const &text,
 
 		// Generate this paragraph.
 		makeAny(text, buf, xs, ourparams, par);
-		bpit += 1;
 	}
 
 	// If need be, close <section>s, but only at the end of the document (otherwise, dealt with at the beginning

commit bfc67c59b44415f2dea7ad068a8ac86e2b19f488
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sat Aug 29 02:43:30 2020 +0200

    XML: use the new mechanisms for CR detection with errors.
    
    This helps tracking down line problems even in the presence of errors.

diff --git a/src/xml.cpp b/src/xml.cpp
index b4004af..2f49667 100644
--- a/src/xml.cpp
+++ b/src/xml.cpp
@@ -167,17 +167,21 @@ bool FontTag::operator==(StartTag const & tag) const
 } // namespace xml
 
 
-void XMLStream::writeError(std::string const &s) const
+void XMLStream::writeError(std::string const &s)
 {
 	LYXERR0(s);
-	os_ << from_utf8("<!-- Output Error: " + s + " -->\n");
+	*this << ESCAPE_NONE << from_utf8("<!-- Output Error: " + s + " -->");
+	*this << xml::CR();
 }
 
 
-void XMLStream::writeError(docstring const &s) const
+void XMLStream::writeError(docstring const &s)
 {
 	LYXERR0(s);
-	os_ << from_utf8("<!-- Output Error: ") << s << from_utf8(" -->\n");
+	*this << ESCAPE_NONE << from_utf8("<!-- Output Error: ");
+	*this << s;
+	*this << ESCAPE_NONE << from_utf8(" -->");
+	*this << xml::CR();
 }
 
 
diff --git a/src/xml.h b/src/xml.h
index 9a7cf17..45c62ab 100644
--- a/src/xml.h
+++ b/src/xml.h
@@ -103,9 +103,13 @@ public:
 	/// that simplifies the logic using this code.
 	bool isLastTagCR() const { return is_last_tag_cr_; };
 	///
-	void writeError(std::string const &) const;
+	void writeError(std::string const &);
 	///
-	void writeError(docstring const &) const;
+	void writeError(docstring const &);
+	///
+	typedef std::shared_ptr<xml::StartTag> TagPtr;
+	/// Returns the last element on the tag stack. XMLStream keeps ownership of the item.
+	TagPtr getLastStackTag();
 private:
 	///
 	void clearTagDeque();

commit 52b2d3f683250f7405f0efe14c4f1ff9c064bcf5
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Wed Aug 26 21:19:38 2020 +0200

    DocBook: make Paragraph::simpleDocBookOnePar return a list of paragraphs.
    
    Before, it directly wrote to the XMLStream, but it made implementation of new lines tricky. Now, it returns the XML for each sub-paragraph (delimited by new lines) as a string, so that the caller can adopt a more precise behaviour (such as in lists).

diff --git a/autotests/export/docbook/lists.lyx b/autotests/export/docbook/lists.lyx
index f903372..f4a58c2 100644
--- a/autotests/export/docbook/lists.lyx
+++ b/autotests/export/docbook/lists.lyx
@@ -103,6 +103,10 @@ I'm the second line
 \end_layout
 
 \begin_layout Standard
+\begin_inset Note Note
+status collapsed
+
+\begin_layout Plain Layout
 A complex list:
 \end_layout
 
@@ -119,7 +123,7 @@ First first item
 First second item
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 Text after first item
 \end_layout
 
@@ -137,10 +141,15 @@ Second first item
 Second second item
 \end_layout
 
-\begin_layout Standard
+\begin_layout Plain Layout
 Text after second item
 \end_layout
 
 \end_deeper
+\end_inset
+
+
+\end_layout
+
 \end_body
 \end_document
diff --git a/autotests/export/docbook/lists.xml b/autotests/export/docbook/lists.xml
index 4621e30..d7b24f6 100644
--- a/autotests/export/docbook/lists.xml
+++ b/autotests/export/docbook/lists.xml
@@ -2,61 +2,15 @@
 <!-- This DocBook file was created by LyX 2.4.0dev
   See http://www.lyx.org/ for more information -->
 <article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
-<title>
-Test document
-</title>
-<para>
-A simple list: 
-</para>
+<title>Test document</title>
+<para>A simple list: </para>
 <itemizedlist>
 <listitem>
 <para>First item</para>
 </listitem>
 <listitem>
-<para>Second item on two lines<!-- Is para open? yes --><!-- Output Error: Closing tag `para' when other tags are open, namely: -->
-<!-- Output Error: &LyX_parsep_tag& -->
-</para>
-<para>I'm the second line<!-- Output Error: Tags still open in closeFontTags(). Probably not a problem,
-but you might want to check these tags: -->
-<!-- Output Error: para -->
-<!-- Output Error: listitem -->
-<!-- Output Error: itemizedlist -->
-<!-- Output Error: No division separation tag found in endDivision(). -->
-</para>
+<para>Second item on two lines</para>
+<para>I'm the second line</para>
 </listitem>
 </itemizedlist>
-<para>
-A complex list:
-</para>
-<itemizedlist>
-<listitem>
-<para>First item</para>
-</listitem>
-<listitem>
-<para>First first item</para>
-</listitem>
-<listitem>
-<para>First second item</para>
-</listitem>
-</itemizedlist>
-<para>
-Text after first item
-</para>
-<itemizedlist>
-<listitem>
-<para>Second item</para>
-</listitem>
-</itemizedlist>
-<orderedlist><listitem>
-<para>Second first item</para>
-</listitem>
-</orderedlist>
-<orderedlist><listitem>
-<para>Second second item</para>
-</listitem>
-</orderedlist>
-<para>
-Text after second item
-</para>
-
 </article>
\ No newline at end of file
diff --git a/lib/doc/Customization.lyx b/lib/doc/Customization.lyx
index d6f5f17..357845a 100644
--- a/lib/doc/Customization.lyx
+++ b/lib/doc/Customization.lyx
@@ -27479,6 +27479,8 @@ status collapsed
 
 \change_inserted 1075283030 1597698872
 DocBookTagType
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -27542,6 +27544,8 @@ status collapsed
 
 \change_inserted 1075283030 1597698987
 DocBook*TagType
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -27563,6 +27567,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699012
 block
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -27621,6 +27627,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699113
 paragraph
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -27667,6 +27675,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699307
 inline
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -27702,6 +27712,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699585
 block
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -28415,8 +28427,34 @@ NONE
  This parameter only makes sense when itemising layouts are used, such as
  lists.
  
-\change_inserted 1075283030 1597699848
+\change_inserted 1075283030 1598469472
+The most likely value is 
+\begin_inset Quotes eld
+\end_inset
+
 
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1598469476
+para
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\begin_inset Newline newline
+\end_inset
+
+When a list item is split using a new line, the item inner tag will be repeated
+ for each part of the paragraph, parts being separated by new lines.
+ 
 \end_layout
 
 \begin_layout Description
@@ -28429,6 +28467,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699853
 DocBookItemInnerTagType
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -28441,6 +28481,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699866
 block, paragraph, inline
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -28594,6 +28636,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699880
 DocBookItemLabelTagType
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -28606,6 +28650,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699874
 block, paragraph, inline
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -28715,6 +28761,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699890
 DocBookItemTagType
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -28727,6 +28775,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699890
 block, paragraph, inline
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -28898,6 +28948,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699900
 DocBookItemWrapperTagType
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -28910,6 +28962,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699897
 block, paragraph, inline
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -29075,6 +29129,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699904
 DocBookInnerTagType
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -29087,6 +29143,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699904
 block, paragraph, inline
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -29238,6 +29296,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699924
 DocBookTagType
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -29250,6 +29310,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699924
 block, paragraph, inline
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -29415,6 +29477,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699932
 DocBookWrapperTagType
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -29427,6 +29491,8 @@ status collapsed
 
 \change_inserted 1075283030 1597699929
 block, paragraph, inline
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -29635,6 +29701,8 @@ status collapsed
 
 \change_inserted 1075283030 1597700120
 biblioentry
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -29660,6 +29728,8 @@ status collapsed
 
 \change_inserted 1075283030 1597700076
 bibliomixed
+\change_unchanged
+
 \end_layout
 
 \end_inset
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 24947f8..e87ef88 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -3329,19 +3329,14 @@ std::tuple<vector<xml::FontTag>, vector<xml::EndFontTag>> computeDocBookFontSwit
 } // anonymous namespace
 
 
-void Paragraph::simpleDocBookOnePar(Buffer const & buf,
-                                    XMLStream & xs,
-                                    OutputParams const & runparams,
-                                    Font const & outerfont,
-                                    bool start_paragraph, bool close_paragraph,
-                                    pos_type initial) const
+std::vector<docstring> Paragraph::simpleDocBookOnePar(Buffer const & buf,
+                                                      OutputParams const & runparams,
+                                                      Font const & outerfont,
+                                                      pos_type initial) const
 {
-	// track whether we have opened these tags
+	// Track whether we have opened these tags
 	DocBookFontState fs;
 
-	if (start_paragraph)
-		xs.startDivision(allowEmpty());
-
 	Layout const & style = *d->layout_;
 	FontInfo font_old =
 			style.labeltype == LABEL_MANUAL ? style.labelfont : style.font;
@@ -3352,15 +3347,27 @@ void Paragraph::simpleDocBookOnePar(Buffer const & buf,
 	vector<xml::FontTag> tagsToOpen;
 	vector<xml::EndFontTag> tagsToClose;
 
-	// parsing main loop
+	std::vector<docstring> generatedParagraphs;
+	odocstringstream os;
+	auto * xs = new XMLStream(os);
+
+	// Parsing main loop.
 	for (pos_type i = initial; i < size(); ++i) {
-		// let's not show deleted material in the output
+		// Don't show deleted material in the output.
 		if (isDeleted(i))
 			continue;
 
-		Font const font = getFont(buf.masterBuffer()->params(), i, outerfont);
+		// If this is an InsetNewline, generate a new paragraph.
+		if (getInset(i) != nullptr && getInset(i)->lyxCode() == NEWLINE_CODE) {
+			generatedParagraphs.push_back(os.str());
+			os = odocstringstream();
+			// XMLStream has no copy constructor.
+			delete xs;
+			xs = new XMLStream(os);
+		}
 
 		// Determine which tags should be opened or closed.
+		Font const font = getFont(buf.masterBuffer()->params(), i, outerfont);
 		tie(tagsToOpen, tagsToClose) = computeDocBookFontSwitch(font_old, font, default_family, fs);
 
 		// FIXME XHTML
@@ -3369,12 +3376,12 @@ void Paragraph::simpleDocBookOnePar(Buffer const & buf,
 		vector<xml::EndFontTag>::const_iterator cit = tagsToClose.begin();
 		vector<xml::EndFontTag>::const_iterator cen = tagsToClose.end();
 		for (; cit != cen; ++cit)
-			xs << *cit;
+			*xs << *cit;
 
 		vector<xml::FontTag>::const_iterator sit = tagsToOpen.begin();
 		vector<xml::FontTag>::const_iterator sen = tagsToOpen.end();
 		for (; sit != sen; ++sit)
-			xs << *sit;
+			*xs << *sit;
 
 		tagsToClose.clear();
 		tagsToOpen.clear();
@@ -3386,11 +3393,11 @@ void Paragraph::simpleDocBookOnePar(Buffer const & buf,
 
 				// TODO: special case will bite here.
 				np.docbook_in_par = true;
-				inset->docbook(xs, np);
+				inset->docbook(*xs, np);
 			}
 		} else {
 			char_type c = getUChar(buf.masterBuffer()->params(), runparams, i);
-			xs << c;
+			*xs << c;
 		}
 		font_old = font.fontInfo();
 	}
@@ -3398,11 +3405,15 @@ void Paragraph::simpleDocBookOnePar(Buffer const & buf,
 	// FIXME, this code is just imported from XHTML
 	// I'm worried about what happens if a branch, say, is itself
 	// wrapped in some font stuff. I think that will not work.
-	xs.closeFontTags();
+	xs->closeFontTags();
 	if (runparams.docbook_in_listing)
-		xs << xml::CR();
-	if (close_paragraph)
-		xs.endDivision();
+		*xs << xml::CR();
+
+	// Finalise the last (and most likely only) paragraph.
+	generatedParagraphs.push_back(os.str());
+	delete xs;
+
+	return generatedParagraphs;
 }
 
 
diff --git a/src/Paragraph.h b/src/Paragraph.h
index 58b2762..ee31403 100644
--- a/src/Paragraph.h
+++ b/src/Paragraph.h
@@ -24,6 +24,7 @@
 #include "support/types.h"
 
 #include <set>
+#include <vector>
 
 namespace lyx {
 
@@ -208,14 +209,11 @@ public:
 	/// Output the first word of a paragraph, return the position where it left.
 	pos_type firstWordLyXHTML(XMLStream & xs, OutputParams const & runparams) const;
 
-	/// Writes to stream the DocBook representation
-	void simpleDocBookOnePar(Buffer const & buf,
-							 XMLStream &,
-							 OutputParams const & runparams,
-							 Font const & outerfont,
-							 bool start_paragraph = true,
-							 bool close_paragraph = true,
-							 pos_type initial = 0) const;
+	/// Outputs to stream the DocBook representation, one element per paragraph.
+	std::vector<docstring> simpleDocBookOnePar(Buffer const & buf,
+							                   OutputParams const & runparams,
+							                   Font const & outerfont,
+							                   pos_type initial = 0) const;
 
 	/// \return any material that has had to be deferred until after the
 	/// paragraph has closed.
diff --git a/src/insets/InsetERT.cpp b/src/insets/InsetERT.cpp
index 8e69e88..1af67e1 100644
--- a/src/insets/InsetERT.cpp
+++ b/src/insets/InsetERT.cpp
@@ -98,23 +98,33 @@ void InsetERT::docbook(XMLStream & xs, OutputParams const & runparams) const
 	auto par = begin;
 	auto const end = paragraphs().end();
 
-	odocstringstream os2;
-	XMLStream xs2(os2);
+	odocstringstream os; // No need for XML handling here.
 
 	// Recreate the logic of makeParagraph in output_docbook.cpp, but much simplified: never open <para>
 	// in an ERT, use simple line breaks.
-	while (par != end) {
-		par->simpleDocBookOnePar(buffer(), xs2, runparams, text().outerFont(distance(begin, par)));
+	// New line after each paragraph of the ERT, save the last one.
+	while (true) { // For each paragraph in the ERT...
+		auto pars = par->simpleDocBookOnePar(buffer(), runparams, text().outerFont(distance(begin, par)));
+		auto p = pars.begin();
+		while (true) { // For each line of this ERT paragraph...
+			os << *p;
+			++p;
+			if (p != pars.end())
+				os << "\n";
+			else
+				break;
+		}
 
-		// New line after each paragraph of the ERT, save the last one.
 		++par;
 		if (par != end)
-			xs << "\n";
+			os << "\n";
+		else
+			break;
 	}
 
 	// Output the ERT as a comment with the appropriate escaping.
 	xs << XMLStream::ESCAPE_NONE << "<!-- ";
-	xs << XMLStream::ESCAPE_COMMENTS << os2.str();
+	xs << XMLStream::ESCAPE_COMMENTS << os.str();
 	xs << XMLStream::ESCAPE_NONE << " -->";
 	xs << xml::CR();
 }
diff --git a/src/insets/InsetNewline.cpp b/src/insets/InsetNewline.cpp
index 7cba0f7..b33cf00 100644
--- a/src/insets/InsetNewline.cpp
+++ b/src/insets/InsetNewline.cpp
@@ -174,20 +174,7 @@ int InsetNewline::plaintext(odocstringstream & os,
 
 void InsetNewline::docbook(XMLStream & xs, OutputParams const & runparams) const
 {
-	if (runparams.docbook_in_par) {
-		xs.closeFontTags();
-
-		// TODO: what if within a list item, and docbookiteminnertag is not para? This would require information
-		// about the paragraph's layout... Good for now, though, this should not happen in DocBook, only maybe
-		// extensions.
-		xs << XMLStream::ESCAPE_NONE << from_utf8("<!-- Is para open? " + string((xs.isTagOpen(xml::StartTag("para"))) ? "yes" : "no") +" -->");
-		xs << XMLStream::ESCAPE_NONE << from_utf8("</para>\n<para>");
-		// TODO: that's a hack...
-//		xs << xml::EndTag("para");
-//		xs << xml::CR();
-//		xs << xml::StartTag("para");
-	}
-	// Outside a paragraph, no need to handle new lines.
+	// New lines are handled by Paragraph::simpleDocBookOnePar.
 }
 
 
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index ce3f699..0dc5257 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -382,9 +382,11 @@ void makeParagraphBibliography(
 	}
 	xs << xml::StartTag(from_utf8("bibliomixed"), attr);
 
-	// Generate the entry.
+	// Generate the entry. Concatenate the different parts of the paragraph if any.
 	auto const begin = text.paragraphs().begin();
-	par->simpleDocBookOnePar(buf, xs, runparams, text.outerFont(std::distance(begin, par)), true, true, 0);
+	auto pars = par->simpleDocBookOnePar(buf, runparams, text.outerFont(std::distance(begin, par)), 0);
+	for (auto & parXML : pars)
+		xs << XMLStream::ESCAPE_NONE << parXML;
 
 	// End the precooked bibliography entry.
 	xs << xml::EndTag("bibliomixed");
@@ -488,21 +490,19 @@ void makeParagraph(
 	// Determine if this paragraph has some real content. Things like new pages are not caught
 	// by Paragraph::empty(), even though they do not generate anything useful in DocBook.
 	// Thus, remove all spaces (including new lines: \r, \n) before checking for emptiness.
-	odocstringstream os2;
-	XMLStream xs2(os2);
-	par->simpleDocBookOnePar(buf, xs2, runparams, text.outerFont(distance(begin, par)), open_par, close_par, 0);
-
-	docstring cleaned = os2.str();
-	cleaned.erase(std::remove_if(cleaned.begin(), cleaned.end(), ::isspace), cleaned.end());
-
-	if (!cleaned.empty()) {
-		if (open_par)
-			openParTag(xs, &*par, prevpar);
-
-		xs << XMLStream::ESCAPE_NONE << os2.str();
-
-		if (close_par)
-			closeParTag(xs, &*par, (nextpar != end) ? &*nextpar : nullptr);
+	// std::all_of allows doing this check without having to copy the string.
+	// Open and close tags around each contained paragraph.
+	auto pars = par->simpleDocBookOnePar(buf, runparams, text.outerFont(distance(begin, par)), 0);
+	for (auto & parXML : pars) {
+		if (!std::all_of(parXML.begin(), parXML.end(), ::isspace)) {
+			if (open_par)
+				openParTag(xs, &*par, prevpar);
+
+			xs << XMLStream::ESCAPE_NONE << parXML;
+
+			if (close_par)
+				closeParTag(xs, &*par, (nextpar != end) ? &*nextpar : nullptr);
+		}
 	}
 }
 
@@ -529,10 +529,8 @@ void makeEnvironment(
 			style.latextype == LATEX_LIST_ENVIRONMENT ||
 			style.latextype == LATEX_ITEM_ENVIRONMENT) {
 		// Open a wrapper tag if needed.
-		if (style.docbookitemwrappertag() != "NONE") {
-			xs << xml::StartTag(style.docbookitemwrappertag(), style.docbookitemwrapperattr());
-			xs << xml::CR();
-		}
+		if (style.docbookitemwrappertag() != "NONE")
+			openTag(xs, style.docbookitemwrappertag(), style.docbookitemwrapperattr(), style.docbookitemwrappertagtype());
 
 		// Generate the label, if need be. If it is taken from the text, sep != 0 and corresponds to the first
 		// character after the label.
@@ -580,9 +578,18 @@ void makeEnvironment(
 			// TODO: this always worked only by magic...
 			xs << ' ';
 		} else {
-			// Generate the rest of the paragraph, if need be.
-			par->simpleDocBookOnePar(buf, xs, runparams, text.outerFont(std::distance(text.paragraphs().begin(), par)),
-							         true, true, sep);
+			// Generate the rest of the paragraph, if need be. Open as many inner tags as necessary.
+			auto pars = par->simpleDocBookOnePar(buf, runparams, text.outerFont(std::distance(text.paragraphs().begin(), par)), sep);
+			auto p = pars.begin();
+			while (true) {
+				xs << XMLStream::ESCAPE_NONE << *p;
+				++p;
+				if (p != pars.end()) {
+					closeTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnertagtype());
+					openTag(xs, par->layout().docbookiteminnertag(), par->layout().docbookiteminnerattr(), par->layout().docbookiteminnertagtype());
+				} else
+					break;
+			}
 		}
 	} else {
 		makeAny(text, buf, xs, runparams, par);
@@ -612,8 +619,10 @@ void makeCommand(
 	auto prevpar = text.paragraphs().getParagraphBefore(par);
 	openParTag(xs, &*par, prevpar);
 
-	par->simpleDocBookOnePar(buf, xs, runparams,
-	                         text.outerFont(distance(begin, par)));
+	auto pars = par->simpleDocBookOnePar(buf, runparams,text.outerFont(distance(begin, par)));
+	for (auto & parXML : pars)
+		// TODO: decide what to do with openParTag/closeParTag in new lines.
+		xs << XMLStream::ESCAPE_NONE << parXML;
 
 	closeParTag(xs, &*par, (nextpar != end) ? &*nextpar : nullptr);
 }
diff --git a/src/xml.h b/src/xml.h
index 69d582d..9a7cf17 100644
--- a/src/xml.h
+++ b/src/xml.h
@@ -132,8 +132,6 @@ private:
 	TagDeque tag_stack_;
 	///
 	bool is_last_tag_cr_;
-public:
-	bool pending_tags_empty() { return pending_tags_.empty();};
 };
 
 namespace xml {

commit faaf780bed0e48eff34390c7c0bdb98e0f41b244
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Tue Aug 25 02:41:07 2020 +0200

    DocBook: fix compilation issues.

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 4e6c30e..ce3f699 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -30,8 +30,6 @@
 
 #include "support/lassert.h"
 
-#include "support/regex.h"
-
 #include <stack>
 #include <iostream>
 #include <algorithm>
@@ -166,18 +164,6 @@ string fontToAttribute(xml::FontTypes type) {
 }
 
 
-xml::FontTag docbookStartFontTag(xml::FontTypes type)
-{
-	return xml::FontTag(from_utf8(fontToDocBookTag(type)), from_utf8(fontToAttribute(type)), type);
-}
-
-
-xml::EndFontTag docbookEndFontTag(xml::FontTypes type)
-{
-	return xml::EndFontTag(from_utf8(fontToDocBookTag(type)), type);
-}
-
-
 // Convenience functions to open and close tags. First, very low-level ones to ensure a consistent new-line behaviour.
 // Block style:
 //	  Content before
@@ -501,13 +487,13 @@ void makeParagraph(
 
 	// Determine if this paragraph has some real content. Things like new pages are not caught
 	// by Paragraph::empty(), even though they do not generate anything useful in DocBook.
+	// Thus, remove all spaces (including new lines: \r, \n) before checking for emptiness.
 	odocstringstream os2;
 	XMLStream xs2(os2);
 	par->simpleDocBookOnePar(buf, xs2, runparams, text.outerFont(distance(begin, par)), open_par, close_par, 0);
 
 	docstring cleaned = os2.str();
-	static const lyx::regex reg("[ \\r\\n]*");
-	cleaned = from_utf8(lyx::regex_replace(to_utf8(cleaned), reg, string("")));
+	cleaned.erase(std::remove_if(cleaned.begin(), cleaned.end(), ::isspace), cleaned.end());
 
 	if (!cleaned.empty()) {
 		if (open_par)
@@ -658,8 +644,6 @@ void makeAny(
 	}
 }
 
-} // end anonymous namespace
-
 
 using DocBookDocumentSectioning = tuple<bool, pit_type>;
 
@@ -796,6 +780,20 @@ DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs, pit_type b
 	return DocBookInfoTag(shouldBeInInfo, mustBeInInfo, abstract, bpit, cpit);
 }
 
+} // end anonymous namespace
+
+
+xml::FontTag docbookStartFontTag(xml::FontTypes type)
+{
+	return xml::FontTag(from_utf8(fontToDocBookTag(type)), from_utf8(fontToAttribute(type)), type);
+}
+
+
+xml::EndFontTag docbookEndFontTag(xml::FontTypes type)
+{
+	return xml::EndFontTag(from_utf8(fontToDocBookTag(type)), type);
+}
+
 
 void outputDocBookInfo(
 		Text const & text,
@@ -829,11 +827,11 @@ void outputDocBookInfo(
 		// Actually output the abstract if there is something to do. Don't count line feeds or spaces in this,
 		// even though they must be properly output if there is some abstract.
 		abstract = os2.str();
-		static const lyx::regex reg("[ \\r\\n]*");
-		docstring abstractContent = from_utf8(lyx::regex_replace(to_utf8(abstract), reg, string("")));
+		docstring cleaned = abstract;
+		cleaned.erase(std::remove_if(cleaned.begin(), cleaned.end(), ::isspace), cleaned.end());
 
 		// Nothing? Then there is no abstract!
-		if (abstractContent.empty())
+		if (cleaned.empty())
 			hasAbstract = false;
 	}
 

commit 3d348818e083ceb531d916be01ef2db99392f9c3
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Tue Aug 25 02:11:08 2020 +0200

    DocBook: Coverity potential problem for precooked bibliographies.

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 3f6a692..4e6c30e 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -386,9 +386,10 @@ void makeParagraphBibliography(
 	// Don't forget the citation ID!
 	docstring attr;
 	for (auto i = 0; i < par->size(); ++i) {
-		Inset const *ip = par->getInset(0);
-		if (ip != nullptr && ip->lyxCode() == BIBITEM_CODE) {
-			const auto * bibitem = dynamic_cast<const InsetBibitem*>(par->getInset(i));
+		Inset const *ip = par->getInset(i);
+		if (!ip)
+			continue;
+		if (const auto * bibitem = dynamic_cast<const InsetBibitem*>(ip)) {
 			attr = from_utf8("xml:id='") + bibitem->getParam("key") + from_utf8("'");
 			break;
 		}

commit ac46456b288c35a05f716a9e3bbf022f60b2cd9f
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Tue Aug 18 05:46:40 2020 +0200

    DocBook: simplify precooked bibliography code.

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 0481890..3f6a692 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -360,63 +360,59 @@ void closeItemTag(XMLStream & xs, Layout const & lay)
 }
 
 
+void makeAny(
+		Text const &,
+		Buffer const &,
+		XMLStream &,
+		OutputParams const &,
+		ParagraphList::const_iterator);
+
+
 void makeParagraphBibliography(
 		Buffer const & buf,
 		XMLStream & xs,
 		OutputParams const & runparams,
 		Text const & text,
-		ParagraphList::const_iterator const & pbegin)
+		ParagraphList::const_iterator const & par)
 {
-	auto const begin = text.paragraphs().begin();
-	auto const end = text.paragraphs().end();
-	auto pend = pbegin;
-	++pend;
-
-	// Find the paragraph *before* pbegin.
-	ParagraphList::const_iterator pbegin_before = begin;
-	if (pbegin != begin) {
-		ParagraphList::const_iterator pbegin_before_next = begin;
-		++pbegin_before_next;
-
-		while (pbegin_before_next != pbegin) {
-			++pbegin_before;
-			++pbegin_before_next;
-		}
-	}
-
-	ParagraphList::const_iterator par = pbegin;
-
 	// If this is the first paragraph in a bibliography, open the bibliography tag.
-	if (pbegin != begin && pbegin_before->layout().latextype != LATEX_BIB_ENVIRONMENT) {
+	auto pbegin_before = text.paragraphs().getParagraphBefore(par);
+	if (pbegin_before->layout().latextype != LATEX_BIB_ENVIRONMENT) {
 		xs << xml::StartTag("bibliography");
 		xs << xml::CR();
 	}
 
-	// Generate the required paragraphs, but only if they are .
-	for (; par != pend; ++par) {
-		// Start the precooked bibliography entry. This is very much like opening a paragraph tag.
-		// Don't forget the citation ID!
-		docstring attr;
-		for (auto i = 0; i < par->size(); ++i) {
-			Inset const *ip = par->getInset(0);
-			if (ip != nullptr && ip->lyxCode() == BIBITEM_CODE) {
-				const auto * bibitem = dynamic_cast<const InsetBibitem*>(par->getInset(i));
-				attr = from_utf8("xml:id='") + bibitem->getParam("key") + from_utf8("'");
-				break;
-			}
+	// Start the precooked bibliography entry. This is very much like opening a paragraph tag.
+	// Don't forget the citation ID!
+	docstring attr;
+	for (auto i = 0; i < par->size(); ++i) {
+		Inset const *ip = par->getInset(0);
+		if (ip != nullptr && ip->lyxCode() == BIBITEM_CODE) {
+			const auto * bibitem = dynamic_cast<const InsetBibitem*>(par->getInset(i));
+			attr = from_utf8("xml:id='") + bibitem->getParam("key") + from_utf8("'");
+			break;
 		}
-		xs << xml::StartTag(from_utf8("bibliomixed"), attr);
+	}
+	xs << xml::StartTag(from_utf8("bibliomixed"), attr);
 
-		// Generate the entry.
-		par->simpleDocBookOnePar(buf, xs, runparams, text.outerFont(distance(begin, par)), true, true, 0);
+	// Generate the entry.
+	auto const begin = text.paragraphs().begin();
+	par->simpleDocBookOnePar(buf, xs, runparams, text.outerFont(std::distance(begin, par)), true, true, 0);
 
-		// End the precooked bibliography entry.
-		xs << xml::EndTag("bibliomixed");
-		xs << xml::CR();
-	}
+	// End the precooked bibliography entry.
+	xs << xml::EndTag("bibliomixed");
+	xs << xml::CR();
 
 	// If this is the last paragraph in a bibliography, close the bibliography tag.
-	if (par == end || par->layout().latextype != LATEX_BIB_ENVIRONMENT) {
+	auto const end = text.paragraphs().end();
+	bool endBibliography = par == end;
+	if (!endBibliography) {
+		auto nextpar = par;
+		++nextpar;
+		endBibliography = par->layout().latextype != LATEX_BIB_ENVIRONMENT;
+	}
+
+	if (endBibliography) {
 		xs << xml::EndTag("bibliography");
 		xs << xml::CR();
 	}
@@ -524,14 +520,6 @@ void makeParagraph(
 }
 
 
-void makeAny(
-		Text const &text,
-		Buffer const &buf,
-		XMLStream &xs,
-		OutputParams const &ourparams,
-		ParagraphList::const_iterator par);
-
-
 void makeEnvironment(
 		Buffer const &buf,
 		XMLStream &xs,

commit 6a4d3dbef779c0be9a7e69f1801b2bfb4dcb86c8
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Tue Aug 18 05:40:34 2020 +0200

    DocBook: remove useless includes.

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 12601c5..0481890 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -16,8 +16,6 @@
 #include "BufferParams.h"
 #include "Font.h"
 #include "InsetList.h"
-#include "Layout.h"
-#include "OutputParams.h"
 #include "Paragraph.h"
 #include "ParagraphList.h"
 #include "ParagraphParameters.h"
@@ -30,11 +28,7 @@
 #include "insets/InsetLabel.h"
 #include "insets/InsetNote.h"
 
-#include "support/convert.h"
-#include "support/debug.h"
 #include "support/lassert.h"
-#include "support/lstrings.h"
-#include "support/textutils.h"
 
 #include "support/regex.h"
 
@@ -159,6 +153,7 @@ string fontToRole(xml::FontTypes type)
 	}
 }
 
+
 string fontToAttribute(xml::FontTypes type) {
 	// If there is a role (i.e. nonstandard use of a tag), output the attribute. Otherwise, the sheer tag is sufficient
 	// for the font.

commit d8651cc60b0e95b262baa189196817f4de26d360
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Tue Aug 18 05:39:46 2020 +0200

    More functions in anonymous namespace.

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index ad683c7..12601c5 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -170,8 +170,6 @@ string fontToAttribute(xml::FontTypes type) {
 	}
 }
 
-} // end anonymous namespace
-
 
 xml::FontTag docbookStartFontTag(xml::FontTypes type)
 {
@@ -185,8 +183,6 @@ xml::EndFontTag docbookEndFontTag(xml::FontTypes type)
 }
 
 
-namespace {
-
 // Convenience functions to open and close tags. First, very low-level ones to ensure a consistent new-line behaviour.
 // Block style:
 //	  Content before

commit 25f72d392c60e93f5adb2412d5885a758fa2511a
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Tue Aug 18 05:37:46 2020 +0200

    DocBook: fine tuning of new lines.

diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index 82fd089..2ef5768 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -2140,8 +2140,6 @@ Buffer::ExportStatus Buffer::writeDocBookSource(odocstream & os,
 	bool const output_body =
 	  output == FullSource || output == OnlyBody;
 
-	XMLStream xs(os);
-
 	if (output_preamble) {
 		// XML preamble, no doctype needed.
 		// Not using XMLStream for this, as the root tag would be in the tag stack and make troubles with the error
@@ -2164,16 +2162,17 @@ Buffer::ExportStatus Buffer::writeDocBookSource(odocstream & os,
 	}
 
 	if (output_body) {
-		params().documentClass().counters().reset();
-
 		// Start to output the document.
+		XMLStream xs(os);
 		docbookParagraphs(text(), *this, xs, runparams);
 	}
 
 	if (output_preamble) {
-		// Close the root element.
-		os << "\n</" << from_ascii(tclass.docbookroot()) << ">";
+		// Close the root element. No need for a line break, as free text is never allowed
+		// in a root element, it must always be wrapped in some container.
+		os << "</" << from_ascii(tclass.docbookroot()) << ">";
 	}
+
 	return ExportSuccess;
 }
 
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index b7b5941..ad683c7 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -239,7 +239,8 @@ void openBlockTag(XMLStream & xs, const std::string & tag, const std::string & a
 
 void closeBlockTag(XMLStream & xs, const std::string & tag)
 {
-	xs << xml::CR();
+	if (!xs.isLastTagCR())
+		xs << xml::CR();
 	xs << xml::EndTag(tag);
 	xs << xml::CR();
 }

commit bdea21a87e7b54747ced9f913659e0e2fe6590c6
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Tue Aug 18 04:56:25 2020 +0200

    DocBook: improve comments.

diff --git a/src/xml.h b/src/xml.h
index 0948143..69d582d 100644
--- a/src/xml.h
+++ b/src/xml.h
@@ -39,7 +39,7 @@ struct CR;
 class XMLStream {
 public:
 	///
-	explicit XMLStream(odocstream & os): os_(os), escape_(ESCAPE_ALL), is_last_tag_cr_(false) {}
+	explicit XMLStream(odocstream & os): os_(os), escape_(ESCAPE_ALL), is_last_tag_cr_(true) {}
 	///
 	odocstream & os() { return os_; }
 	///
@@ -82,7 +82,7 @@ public:
 	enum EscapeSettings {
 		ESCAPE_NONE,
 		ESCAPE_AND, // meaning &
-		ESCAPE_ALL, // meaning <, >, &, at present
+		ESCAPE_ALL, // meaning <, >, &, at present, except things that are forbidden in comments
 		ESCAPE_COMMENTS // Anything that is forbidden within comments
 	};
 	/// Sets what we are going to escape on the NEXT write.
@@ -98,7 +98,9 @@ public:
 	bool isTagOpen(xml::EndTag const &, int maxdepth = -1) const;
 	///
 	bool isTagPending(xml::StartTag const &, int maxdepth = -1) const;
-	///
+	/// Is the last tag that was added to the stream a new line (CR)? This is mostly to known
+	/// whether a new line must be added. Therefore, consider that an empty stream just had a CR,
+	/// that simplifies the logic using this code.
 	bool isLastTagCR() const { return is_last_tag_cr_; };
 	///
 	void writeError(std::string const &) const;

commit 9393ca74ba93b70c2aa610e6c3c2b6aff651eb42
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Tue Aug 18 00:37:34 2020 +0200

    DocBook: new logic to handle the new lines, only used in output_docbook for now.

diff --git a/lib/layouts/stdlayouts.inc b/lib/layouts/stdlayouts.inc
index 1670695..e550518 100644
--- a/lib/layouts/stdlayouts.inc
+++ b/lib/layouts/stdlayouts.inc
@@ -7,7 +7,7 @@
 # quotations and such.
 
 
-Format 82
+Format 84
 
 Style Quotation
 	Category              MainText
diff --git a/lib/layouts/stdlists.inc b/lib/layouts/stdlists.inc
index 16a9e81..c0b346d 100644
--- a/lib/layouts/stdlists.inc
+++ b/lib/layouts/stdlists.inc
@@ -6,7 +6,7 @@
 # This include files contains various standard environments for lists.
 
 
-Format 82
+Format 84
 
 Input stdlyxlist.inc
 
diff --git a/lib/layouts/stdstruct.inc b/lib/layouts/stdstruct.inc
index c8b7eb4..2a81117 100644
--- a/lib/layouts/stdstruct.inc
+++ b/lib/layouts/stdstruct.inc
@@ -8,7 +8,7 @@
 # a document, like abstract, bibliography and such.
 
 
-Format 82
+Format 84
 
 Style Abstract
 	Margin                Static
diff --git a/lib/layouts/stdtitle.inc b/lib/layouts/stdtitle.inc
index ad989a6..44b1b8e 100644
--- a/lib/layouts/stdtitle.inc
+++ b/lib/layouts/stdtitle.inc
@@ -8,7 +8,7 @@
 # a document, like title, author and such.
 
 
-Format 82
+Format 84
 
 Style Title
 	Margin                Static
@@ -29,6 +29,7 @@ Style Title
 	HTMLTag               h1
 	HTMLTitle             true
 	DocBookTag            title
+	DocBookTagType        paragraph
 	DocBookInInfo         maybe
 End
 
@@ -50,7 +51,9 @@ Style Author
 	  Size                Large
 	EndFont
 	DocBookTag            personname
+	DocBookTagType        paragraph
 	DocBookWrapperTag     author
+	DocBookWrapperTagType inline
 	DocBookInInfo         always
 End
 
@@ -72,5 +75,6 @@ Style Date
 	  Size                Large
 	EndFont
 	DocBookTag            date
+	DocBookTagType        paragraph
 	DocBookInInfo         always
 End
diff --git a/src/insets/InsetNewline.cpp b/src/insets/InsetNewline.cpp
index 00b276e..7cba0f7 100644
--- a/src/insets/InsetNewline.cpp
+++ b/src/insets/InsetNewline.cpp
@@ -181,7 +181,7 @@ void InsetNewline::docbook(XMLStream & xs, OutputParams const & runparams) const
 		// about the paragraph's layout... Good for now, though, this should not happen in DocBook, only maybe
 		// extensions.
 		xs << XMLStream::ESCAPE_NONE << from_utf8("<!-- Is para open? " + string((xs.isTagOpen(xml::StartTag("para"))) ? "yes" : "no") +" -->");
-		xs << XMLStream::ESCAPE_NONE << from_utf8("</para>\n<para");
+		xs << XMLStream::ESCAPE_NONE << from_utf8("</para>\n<para>");
 		// TODO: that's a hack...
 //		xs << xml::EndTag("para");
 //		xs << xml::CR();
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index b29da56..b7b5941 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -43,8 +43,6 @@
 #include <algorithm>
 #include <sstream>
 
-// #define DOCBOOK_DEBUG_NEWLINES
-
 using namespace std;
 using namespace lyx::support;
 
@@ -189,14 +187,100 @@ xml::EndFontTag docbookEndFontTag(xml::FontTypes type)
 
 namespace {
 
-// convenience functions
+// Convenience functions to open and close tags. First, very low-level ones to ensure a consistent new-line behaviour.
+// Block style:
+//	  Content before
+//	  <blocktag>
+//	    Contents of the block.
+//	  </blocktag>
+//	  Content after
+// Paragraph style:
+//	  Content before
+//	    <paratag>Contents of the paragraph.</paratag>
+//	  Content after
+// Inline style:
+//    Content before<inlinetag>Contents of the paragraph.</inlinetag>Content after
+
+void openInlineTag(XMLStream & xs, const std::string & tag, const std::string & attr)
+{
+	xs << xml::StartTag(tag, attr);
+}
+
 
-void openParTag(XMLStream & xs, const Paragraph * par, const Paragraph * prevpar)
+void closeInlineTag(XMLStream & xs, const std::string & tag)
+{
+	xs << xml::EndTag(tag);
+}
+
+
+void openParTag(XMLStream & xs, const std::string & tag, const std::string & attr)
+{
+	if (!xs.isLastTagCR())
+		xs << xml::CR();
+	xs << xml::StartTag(tag, attr);
+}
+
+
+void closeParTag(XMLStream & xs, const std::string & tag)
+{
+	xs << xml::EndTag(tag);
+	xs << xml::CR();
+}
+
+
+void openBlockTag(XMLStream & xs, const std::string & tag, const std::string & attr)
+{
+	if (!xs.isLastTagCR())
+		xs << xml::CR();
+	xs << xml::StartTag(tag, attr);
+	xs << xml::CR();
+}
+
+
+void closeBlockTag(XMLStream & xs, const std::string & tag)
+{
+	xs << xml::CR();
+	xs << xml::EndTag(tag);
+	xs << xml::CR();
+}
+
+
+void openTag(XMLStream & xs, const std::string & tag, const std::string & attr, const std::string & tagtype)
+{
+	if (tag.empty() || tag == "NONE")
+		return;
+
+	if (tag == "para" || tagtype == "paragraph") // Special case for <para>: always considered as a paragraph.
+		openParTag(xs, tag, attr);
+	else if (tagtype == "block")
+		openBlockTag(xs, tag, attr);
+	else if (tagtype == "inline")
+		openInlineTag(xs, tag, attr);
+	else
+		xs.writeError("Unrecognised tag type '" + tagtype + "' for '" + tag + " " + attr + "'");
+}
+
+
+void closeTag(XMLStream & xs, const std::string & tag, const std::string & tagtype)
 {
-#ifdef DOCBOOK_DEBUG_NEWLINES
-	xs << XMLStream::ESCAPE_NONE << "<!-- openParTag -->";
-#endif
+	if (tag.empty() || tag == "NONE")
+		return;
 
+	if (tag == "para" || tagtype == "paragraph") // Special case for <para>: always considered as a paragraph.
+		closeParTag(xs, tag);
+	else if (tagtype == "block")
+		closeBlockTag(xs, tag);
+	else if (tagtype == "inline")
+		closeInlineTag(xs, tag);
+	else
+		xs.writeError("Unrecognised tag type '" + tagtype + "' for '" + tag + "'");
+}
+
+
+// Higher-level convenience functions.
+
+void openParTag(XMLStream & xs, const Paragraph * par, const Paragraph * prevpar)
+{
 	Layout const & lay = par->layout();
 
 	if (par == prevpar)
@@ -218,38 +302,25 @@ void openParTag(XMLStream & xs, const Paragraph * par, const Paragraph * prevpar
 	}
 
 	// Main logic.
-	if (openWrapper) {
-		xs << xml::StartTag(lay.docbookwrappertag(), lay.docbookwrapperattr());
-		xs << xml::CR();
-	}
+	if (openWrapper)
+		openTag(xs, lay.docbookwrappertag(), lay.docbookwrapperattr(), lay.docbookwrappertagtype());
 
-	string tag = lay.docbooktag();
+	const string & tag = lay.docbooktag();
 	if (tag != "NONE") {
 		auto xmltag = xml::ParTag(tag, lay.docbookattr());
-		if (!xs.isTagOpen(xmltag, 1)) // Don't nest a paragraph directly in a paragraph. TODO: required or not?
-			xs << xmltag;
-	}
-
-	if (lay.docbookitemtag() != "NONE") {
-		xs << xml::StartTag(lay.docbookitemtag(), lay.docbookitemattr());
-		xs << xml::CR();
+		if (!xs.isTagOpen(xmltag, 1)) // Don't nest a paragraph directly in a paragraph.
+			// TODO: required or not?
+			// TODO: avoid creating a ParTag object just for this query...
+			openTag(xs, lay.docbooktag(), lay.docbookattr(), lay.docbooktagtype());
 	}
 
-	if (lay.docbookiteminnertag() != "NONE")
-		xs << xml::StartTag(lay.docbookiteminnertag(), lay.docbookiteminnerattr());
-
-#ifdef DOCBOOK_DEBUG_NEWLINES
-	xs << XMLStream::ESCAPE_NONE << "<!-- /openParTag -->";
-#endif
+	openTag(xs, lay.docbookitemtag(), lay.docbookitemattr(), lay.docbookitemtagtype());
+	openTag(xs, lay.docbookiteminnertag(), lay.docbookiteminnerattr(), lay.docbookiteminnertagtype());
 }
 
 
 void closeParTag(XMLStream & xs, Paragraph const * par, Paragraph const * nextpar)
 {
-#ifdef DOCBOOK_DEBUG_NEWLINES
-	xs << XMLStream::ESCAPE_NONE << "<!-- closeParTag -->";
-#endif
-
 	if (par == nextpar)
 		nextpar = nullptr;
 
@@ -265,119 +336,35 @@ void closeParTag(XMLStream & xs, Paragraph const * par, Paragraph const * nextpa
 	}
 
 	// Main logic.
-	if (lay.docbookiteminnertag() != "NONE") {
-		xs << xml::EndTag(lay.docbookiteminnertag());
-		xs << xml::CR();
-	}
-
-	if (lay.docbookitemtag() != "NONE") {
-		xs << xml::EndTag(lay.docbookitemtag());
-		xs << xml::CR();
-	}
-
-	if (lay.docbooktag() != "NONE") {
-		xs << xml::EndTag(lay.docbooktag());
-		xs << xml::CR();
-	}
-
-	if (closeWrapper) {
-		xs << xml::EndTag(lay.docbookwrappertag());
-		xs << xml::CR();
-	}
-
-#ifdef DOCBOOK_DEBUG_NEWLINES
-	xs << XMLStream::ESCAPE_NONE << "<!-- /closeParTag -->";
-#endif
-}
-
-
-void openBlockTag(XMLStream & xs, const Paragraph * par, const Paragraph * prevpar)
-{
-#ifdef DOCBOOK_DEBUG_NEWLINES
-	xs << XMLStream::ESCAPE_NONE << "<!-- openBlockTag -->";
-#endif
-
-	// Similar as openParTag, but with a line feed after.
-	openParTag(xs, par, prevpar);
-	xs << xml::CR();
-
-#ifdef DOCBOOK_DEBUG_NEWLINES
-	xs << XMLStream::ESCAPE_NONE << "<!-- /openBlockTag -->";
-#endif
-}
-
-
-void closeBlockTag(XMLStream & xs, const Paragraph * par, const Paragraph * prevpar)
-{
-#ifdef DOCBOOK_DEBUG_NEWLINES
-	xs << XMLStream::ESCAPE_NONE << "<!-- closeBlockTag -->";
-#endif
-
-	// Similar as closeParTag, but with a line feed before.
-	xs << xml::CR();
-	closeParTag(xs, par, prevpar);
-
-#ifdef DOCBOOK_DEBUG_NEWLINES
-	xs << XMLStream::ESCAPE_NONE << "<!-- /closeBlockTag -->";
-#endif
+	closeTag(xs, lay.docbookiteminnertag(), lay.docbookiteminnertagtype());
+	closeTag(xs, lay.docbookitemtag(), lay.docbookitemtagtype());
+	closeTag(xs, lay.docbooktag(), lay.docbooktagtype());
+	if (closeWrapper)
+		closeTag(xs, lay.docbookwrappertag(), lay.docbookwrappertagtype());
 }
 
 
 void openLabelTag(XMLStream & xs, Layout const & lay) // Mostly for definition lists.
 {
-#ifdef DOCBOOK_DEBUG_NEWLINES
-	xs << XMLStream::ESCAPE_NONE << "<!-- openLabelTag -->";
-#endif
-
-	xs << xml::StartTag(lay.docbookitemlabeltag(), lay.docbookitemlabelattr());
-
-#ifdef DOCBOOK_DEBUG_NEWLINES
-	xs << XMLStream::ESCAPE_NONE << "<!-- /openLabelTag -->";
-#endif
+	openTag(xs, lay.docbookitemlabeltag(), lay.docbookitemlabelattr(), lay.docbookitemlabeltagtype());
 }
 
 
 void closeLabelTag(XMLStream & xs, Layout const & lay)
 {
-#ifdef DOCBOOK_DEBUG_NEWLINES
-	xs << XMLStream::ESCAPE_NONE << "<!-- closeLabelTag -->";
-#endif
-
-	xs << xml::EndTag(lay.docbookitemlabeltag());
-	xs << xml::CR();
-
-#ifdef DOCBOOK_DEBUG_NEWLINES
-	xs << XMLStream::ESCAPE_NONE << "<!-- closeLabelTag -->";
-#endif
+	closeTag(xs, lay.docbookitemlabeltag(), lay.docbookitemlabeltagtype());
 }
 
 
 void openItemTag(XMLStream & xs, Layout const & lay)
 {
-#ifdef DOCBOOK_DEBUG_NEWLINES
-	xs << XMLStream::ESCAPE_NONE << "<!-- openItemTag -->";
-#endif
-
-	xs << xml::StartTag(lay.docbookitemtag(), lay.docbookitemattr());
-
-#ifdef DOCBOOK_DEBUG_NEWLINES
-	xs << XMLStream::ESCAPE_NONE << "<!-- /openItemTag -->";
-#endif
+	openTag(xs, lay.docbookitemtag(), lay.docbookitemattr(), lay.docbookitemtagtype());
 }
 
 
 void closeItemTag(XMLStream & xs, Layout const & lay)
 {
-#ifdef DOCBOOK_DEBUG_NEWLINES
-	xs << XMLStream::ESCAPE_NONE << "<!-- closeItemTag -->";
-#endif
-
-	xs << xml::EndTag(lay.docbookitemtag());
-	xs << xml::CR();
-
-#ifdef DOCBOOK_DEBUG_NEWLINES
-	xs << XMLStream::ESCAPE_NONE << "<!-- /closeItemTag -->";
-#endif
+	closeTag(xs, lay.docbookitemtag(), lay.docbookitemtagtype());
 }
 
 
diff --git a/src/xml.h b/src/xml.h
index 581cca5..0948143 100644
--- a/src/xml.h
+++ b/src/xml.h
@@ -100,13 +100,13 @@ public:
 	bool isTagPending(xml::StartTag const &, int maxdepth = -1) const;
 	///
 	bool isLastTagCR() const { return is_last_tag_cr_; };
-private:
-	///
-	void clearTagDeque();
 	///
 	void writeError(std::string const &) const;
 	///
 	void writeError(docstring const &) const;
+private:
+	///
+	void clearTagDeque();
 	///
 	odocstream & os_;
 	///

commit 27a44f8e4854807448e827fc473995477ac037e6
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Mon Aug 17 23:44:02 2020 +0200

    XML: memorise if the last thing that is getting output is a line feed.

diff --git a/src/xml.cpp b/src/xml.cpp
index 147eadd..b4004af 100644
--- a/src/xml.cpp
+++ b/src/xml.cpp
@@ -290,6 +290,7 @@ void XMLStream::clearTagDeque()
 
 XMLStream &XMLStream::operator<<(docstring const &d)
 {
+	is_last_tag_cr_ = false;
 	clearTagDeque();
 	os_ << xml::escapeString(d, escape_);
 	escape_ = ESCAPE_ALL;
@@ -299,6 +300,7 @@ XMLStream &XMLStream::operator<<(docstring const &d)
 
 XMLStream &XMLStream::operator<<(const char *s)
 {
+	is_last_tag_cr_ = false;
 	clearTagDeque();
 	docstring const d = from_ascii(s);
 	os_ << xml::escapeString(d, escape_);
@@ -309,6 +311,7 @@ XMLStream &XMLStream::operator<<(const char *s)
 
 XMLStream &XMLStream::operator<<(char_type c)
 {
+	is_last_tag_cr_ = false;
 	clearTagDeque();
 	os_ << xml::escapeChar(c, escape_);
 	escape_ = ESCAPE_ALL;
@@ -318,6 +321,7 @@ XMLStream &XMLStream::operator<<(char_type c)
 
 XMLStream &XMLStream::operator<<(char c)
 {
+	is_last_tag_cr_ = false;
 	clearTagDeque();
 	os_ << xml::escapeChar(c, escape_);
 	escape_ = ESCAPE_ALL;
@@ -327,6 +331,7 @@ XMLStream &XMLStream::operator<<(char c)
 
 XMLStream &XMLStream::operator<<(int i)
 {
+	is_last_tag_cr_ = false;
 	clearTagDeque();
 	os_ << i;
 	escape_ = ESCAPE_ALL;
@@ -336,6 +341,7 @@ XMLStream &XMLStream::operator<<(int i)
 
 XMLStream &XMLStream::operator<<(EscapeSettings e)
 {
+	// Don't update is_last_tag_cr_ here, as this does not output anything.
 	escape_ = e;
 	return *this;
 }
@@ -343,6 +349,7 @@ XMLStream &XMLStream::operator<<(EscapeSettings e)
 
 XMLStream &XMLStream::operator<<(xml::StartTag const &tag)
 {
+	is_last_tag_cr_ = false;
 	if (tag.tag_.empty())
 		return *this;
 	pending_tags_.push_back(makeTagPtr(tag));
@@ -354,6 +361,7 @@ XMLStream &XMLStream::operator<<(xml::StartTag const &tag)
 
 XMLStream &XMLStream::operator<<(xml::ParTag const &tag)
 {
+	is_last_tag_cr_ = false;
 	if (tag.tag_.empty())
 		return *this;
 	pending_tags_.push_back(makeTagPtr(tag));
@@ -363,6 +371,7 @@ XMLStream &XMLStream::operator<<(xml::ParTag const &tag)
 
 XMLStream &XMLStream::operator<<(xml::CompTag const &tag)
 {
+	is_last_tag_cr_ = false;
 	if (tag.tag_.empty())
 		return *this;
 	clearTagDeque();
@@ -373,6 +382,7 @@ XMLStream &XMLStream::operator<<(xml::CompTag const &tag)
 
 XMLStream &XMLStream::operator<<(xml::FontTag const &tag)
 {
+	is_last_tag_cr_ = false;
 	if (tag.tag_.empty())
 		return *this;
 	pending_tags_.push_back(makeTagPtr(tag));
@@ -382,6 +392,7 @@ XMLStream &XMLStream::operator<<(xml::FontTag const &tag)
 
 XMLStream &XMLStream::operator<<(xml::CR const &)
 {
+	is_last_tag_cr_ = true;
 	clearTagDeque();
 	os_ << from_ascii("\n");
 	return *this;
@@ -434,6 +445,8 @@ bool XMLStream::isTagPending(xml::StartTag const &stag, int maxdepth) const
 // best to make things work.
 XMLStream &XMLStream::operator<<(xml::EndTag const &etag)
 {
+	is_last_tag_cr_ = false;
+
 	if (etag.tag_.empty())
 		return *this;
 
diff --git a/src/xml.h b/src/xml.h
index b585a48..581cca5 100644
--- a/src/xml.h
+++ b/src/xml.h
@@ -39,7 +39,7 @@ struct CR;
 class XMLStream {
 public:
 	///
-	explicit XMLStream(odocstream & os): os_(os), escape_(ESCAPE_ALL) {}
+	explicit XMLStream(odocstream & os): os_(os), escape_(ESCAPE_ALL), is_last_tag_cr_(false) {}
 	///
 	odocstream & os() { return os_; }
 	///
@@ -98,6 +98,8 @@ public:
 	bool isTagOpen(xml::EndTag const &, int maxdepth = -1) const;
 	///
 	bool isTagPending(xml::StartTag const &, int maxdepth = -1) const;
+	///
+	bool isLastTagCR() const { return is_last_tag_cr_; };
 private:
 	///
 	void clearTagDeque();
@@ -126,6 +128,8 @@ private:
 	TagDeque pending_tags_;
 	///
 	TagDeque tag_stack_;
+	///
+	bool is_last_tag_cr_;
 public:
 	bool pending_tags_empty() { return pending_tags_.empty();};
 };

commit 360139a0911415a9ce31137aedef760714f6e189
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Mon Aug 17 23:35:40 2020 +0200

    DocBook: documentation for the new tags.

diff --git a/lib/doc/Customization.lyx b/lib/doc/Customization.lyx
index 541e562..d6f5f17 100644
--- a/lib/doc/Customization.lyx
+++ b/lib/doc/Customization.lyx
@@ -27208,13 +27208,24 @@ Labels are rarely output, as they are redundant in DocBook: this information
 
 \begin_layout Subsection
 
-\change_inserted -970929547 1496610966
+\change_inserted 1075283030 1597699417
+\begin_inset CommandInset label
+LatexCommand label
+name "subsec:Paragraph-Style-DocBook"
+
+\end_inset
+
+
+\change_deleted 1075283030 1597699417
+
 \begin_inset CommandInset label
 LatexCommand label
 name "subsec:Paragraph-Style-XHTML-1"
 
 \end_inset
 
+
+\change_inserted -970929547 1496610966
 Paragraph styles
 \end_layout
 
@@ -27454,6 +27465,252 @@ tag
  in the example above.
  The default is the name of the float and always needs to be changed, as
  DocBook provides no generic tag.
+\change_inserted 1075283030 1597698868
+
+\end_layout
+
+\begin_layout Description
+
+\change_inserted 1075283030 1597699399
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597698872
+DocBookTagType
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597700585
+block, paragraph, inline
+\change_unchanged
+
+\end_layout
+
+\end_inset
+
+] The new-line policy for this tag, see Section
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "subsec:DocBook-New-line-policy"
+plural "false"
+caps "false"
+noprefix "false"
+
+\end_inset
+
+ for the details.
+ 
+\change_unchanged
+
+\end_layout
+
+\begin_layout Subsection
+
+\change_inserted 1075283030 1597699385
+New-line policy
+\begin_inset CommandInset label
+LatexCommand label
+name "subsec:DocBook-New-line-policy"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+\change_inserted 1075283030 1597698993
+For all tags, there are three possible policies for outputting new lines
+ (given in the 
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597698987
+DocBook*TagType
+\end_layout
+
+\end_inset
+
+ attribute): 
+\end_layout
+
+\begin_layout Itemize
+
+\change_inserted 1075283030 1597699279
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699012
+block
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+: the opening and closing tags are on their own lines (i.e.
+ a line feed after and before the opening and the closing tags).
+ Typical elements are floats.
+ For instance: 
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted 1075283030 1597699194
+Content before
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted 1075283030 1597699194
+<blocktag>
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted 1075283030 1597699098
+  Contents of the block.
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted 1075283030 1597699196
+</blocktag>
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted 1075283030 1597699198
+Content after
+\end_layout
+
+\begin_layout Itemize
+
+\change_inserted 1075283030 1597699289
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699113
+paragraph
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+: the opening and closing tags are on the same, new line; a line feed is
+ output before the opening tag and after the closing tag.
+ Typical elements are paragraphs and list items.
+ For instance: 
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted 1075283030 1597699186
+Content before
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted 1075283030 1597699357
+<paratag>Contents of the paragraph.</paratag>
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted 1075283030 1597699231
+Content after
+\end_layout
+
+\begin_layout Itemize
+
+\change_inserted 1075283030 1597699343
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699307
+inline
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+: the opening and closing tags are on the same line as the rest of the content.
+ No line feeds are output.
+ Typical elements are fonts.
+ For instance: 
+\end_layout
+
+\begin_layout LyX-Code
+
+\change_inserted 1075283030 1597699585
+Content before<inlinetag>Contents of the paragraph.</inlinetag>Content after
+\end_layout
+
+\begin_layout Standard
+
+\change_inserted 1075283030 1597699585
+The default value is always 
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699585
+block
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
 \change_unchanged
 
 \end_layout
@@ -28158,6 +28415,52 @@ NONE
  This parameter only makes sense when itemising layouts are used, such as
  lists.
  
+\change_inserted 1075283030 1597699848
+
+\end_layout
+
+\begin_layout Description
+
+\change_inserted 1075283030 1597699866
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699853
+DocBookItemInnerTagType
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699866
+block, paragraph, inline
+\end_layout
+
+\end_inset
+
+] The new-line policy for this tag, see Section
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "subsec:DocBook-New-line-policy"
+plural "false"
+caps "false"
+noprefix "false"
+
+\end_inset
+
+ for the details.
+ 
 \change_unchanged
 
 \end_layout
@@ -28277,6 +28580,52 @@ itemlabeltag
  This parameter only makes sense when itemising layouts are used with a
  notion of labels, such as definition lists.
  
+\change_inserted 1075283030 1597699874
+
+\end_layout
+
+\begin_layout Description
+
+\change_inserted 1075283030 1597699874
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699880
+DocBookItemLabelTagType
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699874
+block, paragraph, inline
+\end_layout
+
+\end_inset
+
+] The new-line policy for this tag, see Section
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "subsec:DocBook-New-line-policy"
+plural "false"
+caps "false"
+noprefix "false"
+
+\end_inset
+
+ for the details.
+ 
 \change_unchanged
 
 \end_layout
@@ -28352,6 +28701,54 @@ NONE
  This parameter only makes sense when itemising layouts are used, such as
  lists.
  
+\change_inserted 1075283030 1597699890
+
+\end_layout
+
+\begin_layout Description
+
+\change_inserted 1075283030 1597699890
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699890
+DocBookItemTagType
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699890
+block, paragraph, inline
+\end_layout
+
+\end_inset
+
+] The new-line policy for this tag, see Section
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "subsec:DocBook-New-line-policy"
+plural "false"
+caps "false"
+noprefix "false"
+
+\end_inset
+
+ for the details.
+ 
+\change_unchanged
+
 \end_layout
 
 \begin_layout Description
@@ -28487,6 +28884,52 @@ NONE
  This parameter only makes sense when itemising layouts are used, such as
  lists.
  
+\change_inserted 1075283030 1597699897
+
+\end_layout
+
+\begin_layout Description
+
+\change_inserted 1075283030 1597699897
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699900
+DocBookItemWrapperTagType
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699897
+block, paragraph, inline
+\end_layout
+
+\end_inset
+
+] The new-line policy for this tag, see Section
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "subsec:DocBook-New-line-policy"
+plural "false"
+caps "false"
+noprefix "false"
+
+\end_inset
+
+ for the details.
+ 
 \change_unchanged
 
 \end_layout
@@ -28618,6 +29061,54 @@ NONE
 
 , indicating that there is no inner tag: content is directly output without
  it.
+\change_inserted 1075283030 1597699904
+
+\end_layout
+
+\begin_layout Description
+
+\change_inserted 1075283030 1597699904
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699904
+DocBookInnerTagType
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699904
+block, paragraph, inline
+\end_layout
+
+\end_inset
+
+] The new-line policy for this tag, see Section
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "subsec:DocBook-New-line-policy"
+plural "false"
+caps "false"
+noprefix "false"
+
+\end_inset
+
+ for the details.
+ 
+\change_unchanged
+
 \end_layout
 
 \begin_layout Description
@@ -28668,7 +29159,11 @@ section
 \end_inset
 
 , and is only overridden when DocBook uses something else for sectioning
- (parts and chapters of a book).
+ (
+\change_inserted 1075283030 1597699921
+typically, 
+\change_inserted -970929547 1515110753
+parts and chapters of a book).
  
 \change_unchanged
 
@@ -28729,6 +29224,54 @@ tag
  in the example above.
  The default is the name of the float and always needs to be changed, as
  DocBook provides no generic inset tag.
+\change_inserted 1075283030 1597699924
+
+\end_layout
+
+\begin_layout Description
+
+\change_inserted 1075283030 1597699924
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699924
+DocBookTagType
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699924
+block, paragraph, inline
+\end_layout
+
+\end_inset
+
+] The new-line policy for this tag, see Section
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "subsec:DocBook-New-line-policy"
+plural "false"
+caps "false"
+noprefix "false"
+
+\end_inset
+
+ for the details.
+ 
+\change_unchanged
+
 \end_layout
 
 \begin_layout Description
@@ -28858,7 +29401,53 @@ NONE
 
 , indicating that there is no wrapper tag: tag and content are directly
  output without it.
-\change_deleted -970929547 1515111523
+\change_inserted 1075283030 1597699929
+
+\end_layout
+
+\begin_layout Description
+
+\change_inserted 1075283030 1597699929
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699932
+DocBookWrapperTagType
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597699929
+block, paragraph, inline
+\end_layout
+
+\end_inset
+
+] The new-line policy for this tag, see Section
+\begin_inset space ~
+\end_inset
+
+
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "subsec:DocBook-New-line-policy"
+plural "false"
+caps "false"
+noprefix "false"
+
+\end_inset
+
+ for the details.
+ 
+\change_unchanged
 
 \end_layout
 
@@ -29024,9 +29613,59 @@ Bibliography formatting
 
 \begin_layout Standard
 
+\change_deleted 1075283030 1597699984
+The 
+\change_inserted 1075283030 1597699985
+Included 
+\change_inserted -970929547 1515110187
+bibliograph
+\change_deleted 1075283030 1597699987
+y
+\change_inserted 1075283030 1597699987
+ies
+\change_inserted -970929547 1515110187
+ cannot be formatted: all fields are always output in the database-like
+ DocBook format (equivalent to a BibTeX file)
+\change_inserted 1075283030 1597700117
+, using the 
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597700120
+biblioentry
+\end_layout
+
+\end_inset
+
+ tag
 \change_inserted -970929547 1515110187
-The bibliography cannot be formatted: all fields are always output in the
- database-like DocBook format (equivalent to a BibTeX file).
+.
+\change_inserted 1075283030 1597700092
+
+\end_layout
+
+\begin_layout Standard
+
+\change_inserted 1075283030 1597700112
+When the bibliographic entries are manually inserted into the LyX document
+ as Bibliography Items, the user deals with formatting themself: there is
+ no attempt of parsing what the user wrote, the string is directly used
+ (with the 
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted 1075283030 1597700076
+bibliomixed
+\end_layout
+
+\end_inset
+
+ tag).
+ 
 \change_unchanged
 
 \end_layout
diff --git a/lib/generate_contributions.py b/lib/generate_contributions.py
index 4e3e191..e864ebd 100755
--- a/lib/generate_contributions.py
+++ b/lib/generate_contributions.py
@@ -650,7 +650,7 @@ contributors = [
                  "Re: Patches to improve compatibility with modern C++ standard",
                  "m=158862338815864",
                  "4 May 2020",
-                 u"Windows compatibility patches, Docbook backend"),
+                 u"Windows compatibility patches, DocBook backend"),
 
      contributor(u"Matthias Kalle Dalheimer",
                  "kalle () kdab ! net",

commit 6998e76495d4dedbc5dc11db8e0cf39b590fd674
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Mon Aug 17 23:06:26 2020 +0200

    DocBook: define new arguments in layouts to configure new-line behaviour.

diff --git a/lib/scripts/layout2layout.py b/lib/scripts/layout2layout.py
index 2bb62e3..7cf2332 100644
--- a/lib/scripts/layout2layout.py
+++ b/lib/scripts/layout2layout.py
@@ -11,7 +11,7 @@
 # This script will update a .layout file to current format
 
 # The latest layout format is also defined in src/TextClass.cpp
-currentFormat = 83
+currentFormat = 84
 
 
 # Incremented to format 4, 6 April 2007, lasgouttes
@@ -284,6 +284,11 @@ currentFormat = 83
 # Incremented to format 83, 2 August 2020 by dourouc05
 # New tags DocBookWrapperMergeWithPrevious and DocBookAbstract
 
+# Incremented to format 84, 17 August 2020 by tcuvelier
+# New tags DocBookTagType, DocBookWrapperTagTagType,
+# DocBookItemWrapperTagTagType, DocBookItemTagTagType,
+# DocBookLabelTag
+
 # Do not forget to document format change in Customization
 # Manual (section "Declaring a new text class").
 
diff --git a/src/Floating.cpp b/src/Floating.cpp
index ebd1e41..d44afc3 100644
--- a/src/Floating.cpp
+++ b/src/Floating.cpp
@@ -31,8 +31,8 @@ Floating::Floating(string const & type, string const & placement,
 		   string const & refPrefix, std::string const & allowedplacement,
 		   string const & htmlTag, string const & htmlAttrib,
 		   docstring const & htmlStyle, string const & docbookTag,
-		   string const & docbookAttr, string const & required,
-		   bool usesfloat, bool ispredefined,
+		   string const & docbookAttr, string const & docbookTagType,
+           string const & required, bool usesfloat, bool ispredefined,
 		   bool allowswide, bool allowssideways)
 	: floattype_(type), placement_(placement), ext_(ext), within_(within),
 	  style_(style), name_(name), listname_(listName), listcommand_(listCmd),
@@ -40,7 +40,8 @@ Floating::Floating(string const & type, string const & placement,
 	  usesfloatpkg_(usesfloat), ispredefined_(ispredefined),
 	  allowswide_(allowswide), allowssideways_(allowssideways),
 	  html_tag_(htmlTag), html_attrib_(htmlAttrib), html_style_(htmlStyle),
-	  docbook_tag_(docbookTag), docbook_attr_(docbookAttr)
+	  docbook_tag_(docbookTag), docbook_attr_(docbookAttr),
+	  docbook_tag_type_(docbookTagType)
 {}
 
 
@@ -90,20 +91,30 @@ string const & Floating::docbookAttr() const
 
 string const & Floating::docbookTag(bool hasTitle) const
 {
-	docbook_tag_ = "";
-	if (floattype_ == "figure") {
-		docbook_tag_ = hasTitle ? "figure" : "informalfigure";
-	} else if (floattype_ == "table") {
-		docbook_tag_ = hasTitle ? "table" : "informaltable";
-	} else if (floattype_ == "algorithm") {
-		// TODO: no good translation for now! Figures are the closest match, as they can contain text.
-		// Solvable as soon as https://github.com/docbook/docbook/issues/157 has a definitive answer.
-		docbook_tag_ = "figure";
+	if (docbook_tag_.empty()) {
+		docbook_tag_ = "";
+		if (floattype_ == "figure") {
+			docbook_tag_ = hasTitle ? "figure" : "informalfigure";
+		} else if (floattype_ == "table") {
+			docbook_tag_ = hasTitle ? "table" : "informaltable";
+		} else if (floattype_ == "algorithm") {
+			// TODO: no good translation for now! Figures are the closest match, as they can contain text.
+			// Solvable as soon as https://github.com/docbook/docbook/issues/157 has a definitive answer.
+			docbook_tag_ = "figure";
+		}
 	}
 	return docbook_tag_;
 }
 
 
+string const & Floating::docbookTagType() const
+{
+	if (docbook_tag_type_ != "block" && docbook_tag_type_ != "paragraph" && docbook_tag_type_ != "inline")
+		docbook_tag_type_ = "block";
+	return docbook_tag_type_;
+}
+
+
 string const & Floating::docbookCaption() const
 {
 	docbook_caption_ = "";
diff --git a/src/Floating.h b/src/Floating.h
index d10694f..5cfea08 100644
--- a/src/Floating.h
+++ b/src/Floating.h
@@ -38,8 +38,9 @@ public:
 		 std::string const & refPrefix, std::string const & allowedplacement,
 		 std::string const & htmlType, std::string const & htmlClass,
 		 docstring const & htmlStyle, std::string const & docbookTag,
-		 std::string const & docbookAttr, std::string const & required,
-		 bool usesfloat, bool isprefined, bool allowswide, bool allowssideways);
+		 std::string const & docbookAttr, std::string const & docbookTagType,
+		 std::string const & required, bool usesfloat, bool isprefined,
+		 bool allowswide, bool allowssideways);
 	///
 	std::string const & floattype() const { return floattype_; }
 	///
@@ -84,6 +85,8 @@ public:
 	///
 	std::string const & docbookAttr() const;
 	///
+	std::string const & docbookTagType() const;
+	///
 	std::string const & docbookCaption() const;
 private:
 	///
@@ -115,9 +118,9 @@ private:
 	///
 	bool ispredefined_;
 	///
-	bool  allowswide_;
+	bool allowswide_;
 	///
-	bool  allowssideways_;
+	bool allowssideways_;
 	///
 	mutable std::string html_tag_;
 	///
@@ -132,6 +135,8 @@ private:
 	mutable std::string docbook_caption_;
 	/// caption tag (mostly, either caption or title)
 	std::string docbook_attr_;
+	/// DocBook tag type (block, paragraph, inline)
+	mutable std::string docbook_tag_type_;
 };
 
 
diff --git a/src/Layout.cpp b/src/Layout.cpp
index 5047506..102410d 100644
--- a/src/Layout.cpp
+++ b/src/Layout.cpp
@@ -106,20 +106,26 @@ enum LayoutTags {
 	LT_HTMLFORCECSS,
 	LT_DOCBOOKTAG,
 	LT_DOCBOOKATTR,
+	LT_DOCBOOKTAGTYPE,
 	LT_DOCBOOKININFO,
 	LT_DOCBOOKABSTRACT,
 	LT_DOCBOOKWRAPPERTAG,
 	LT_DOCBOOKWRAPPERATTR,
+	LT_DOCBOOKWRAPPERTAGTYPE,
 	LT_DOCBOOKWRAPPERMERGEWITHPREVIOUS,
 	LT_DOCBOOKSECTIONTAG,
 	LT_DOCBOOKITEMWRAPPERTAG,
 	LT_DOCBOOKITEMWRAPPERATTR,
+	LT_DOCBOOKITEMWRAPPERTAGTYPE,
 	LT_DOCBOOKITEMTAG,
 	LT_DOCBOOKITEMATTR,
+	LT_DOCBOOKITEMTAGTYPE,
 	LT_DOCBOOKITEMLABELTAG,
 	LT_DOCBOOKITEMLABELATTR,
+	LT_DOCBOOKITEMLABELTAGTYPE,
 	LT_DOCBOOKITEMINNERTAG,
 	LT_DOCBOOKITEMINNERATTR,
+	LT_DOCBOOKITEMINNERTAGTYPE,
 	LT_DOCBOOKFORCEABSTRACTTAG,
 	LT_INPREAMBLE,
 	LT_HTMLTITLE,
@@ -223,23 +229,29 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
 		{ "commanddepth",   LT_COMMANDDEPTH },
 		{ "copystyle",      LT_COPYSTYLE },
 		{ "dependson",      LT_DEPENDSON },
-		{ "docbookabstract",         LT_DOCBOOKABSTRACT },
-		{ "docbookattr",             LT_DOCBOOKATTR },
-		{ "docbookforceabstracttag", LT_DOCBOOKFORCEABSTRACTTAG },
-		{ "docbookininfo",           LT_DOCBOOKININFO },
-		{ "docbookitemattr",         LT_DOCBOOKITEMATTR },
-		{ "docbookiteminnerattr",    LT_DOCBOOKITEMINNERATTR },
-		{ "docbookiteminnertag",     LT_DOCBOOKITEMINNERTAG },
-		{ "docbookitemlabelattr",    LT_DOCBOOKITEMLABELATTR },
-		{ "docbookitemlabeltag",     LT_DOCBOOKITEMLABELTAG },
-		{ "docbookitemtag",          LT_DOCBOOKITEMTAG },
-		{ "docbookitemwrapperattr",  LT_DOCBOOKITEMWRAPPERATTR },
-		{ "docbookitemwrappertag",   LT_DOCBOOKITEMWRAPPERTAG },
-		{ "docbooksectiontag",       LT_DOCBOOKSECTIONTAG },
-		{ "docbooktag",              LT_DOCBOOKTAG },
-		{ "docbookwrapperattr",      LT_DOCBOOKWRAPPERATTR },
+		{ "docbookabstract",           LT_DOCBOOKABSTRACT },
+		{ "docbookattr",               LT_DOCBOOKATTR },
+		{ "docbookforceabstracttag",   LT_DOCBOOKFORCEABSTRACTTAG },
+		{ "docbookininfo",             LT_DOCBOOKININFO },
+		{ "docbookitemattr",           LT_DOCBOOKITEMATTR },
+		{ "docbookiteminnerattr",      LT_DOCBOOKITEMINNERATTR },
+		{ "docbookiteminnertag",       LT_DOCBOOKITEMINNERTAG },
+		{ "docbookiteminnertagtype",   LT_DOCBOOKITEMINNERTAGTYPE },
+		{ "docbookitemlabelattr",      LT_DOCBOOKITEMLABELATTR },
+		{ "docbookitemlabeltag",       LT_DOCBOOKITEMLABELTAG },
+		{ "docbookitemlabeltagtype",   LT_DOCBOOKITEMLABELTAGTYPE },
+		{ "docbookitemtag",            LT_DOCBOOKITEMTAG },
+		{ "docbookitemtagtype",        LT_DOCBOOKITEMTAGTYPE },
+		{ "docbookitemwrapperattr",    LT_DOCBOOKITEMWRAPPERATTR },
+		{ "docbookitemwrappertag",     LT_DOCBOOKITEMWRAPPERTAG },
+		{ "docbookitemwrappertagtype", LT_DOCBOOKITEMWRAPPERTAGTYPE },
+		{ "docbooksectiontag",         LT_DOCBOOKSECTIONTAG },
+		{ "docbooktag",                LT_DOCBOOKTAG },
+		{ "docbooktagtype",            LT_DOCBOOKTAGTYPE },
+		{ "docbookwrapperattr",        LT_DOCBOOKWRAPPERATTR },
 		{ "docbookwrappermergewithprevious", LT_DOCBOOKWRAPPERMERGEWITHPREVIOUS },
-		{ "docbookwrappertag",       LT_DOCBOOKWRAPPERTAG },
+		{ "docbookwrappertag",         LT_DOCBOOKWRAPPERTAG },
+		{ "docbookwrappertagtype",     LT_DOCBOOKWRAPPERTAGTYPE },
 		{ "end",            LT_END },
 		{ "endlabelstring", LT_ENDLABELSTRING },
 		{ "endlabeltype",   LT_ENDLABELTYPE },
@@ -733,6 +745,10 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
 			lex >> docbookattr_;
 			break;
 
+		case LT_DOCBOOKTAGTYPE:
+			lex >> docbooktagtype_;
+			break;
+
 		case LT_DOCBOOKFORCEABSTRACTTAG:
 			lex >> docbookforceabstracttag_;
 			break;
@@ -753,6 +769,10 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
 			lex >> docbookwrapperattr_;
 			break;
 
+		case LT_DOCBOOKWRAPPERTAGTYPE:
+			lex >> docbookwrappertagtype_;
+			break;
+
 		case LT_DOCBOOKWRAPPERMERGEWITHPREVIOUS:
 			lex >> docbookwrappermergewithprevious_;
 			break;
@@ -769,6 +789,10 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
 			lex >> docbookitemwrapperattr_;
 			break;
 
+		case LT_DOCBOOKITEMWRAPPERTAGTYPE:
+			lex >> docbookitemwrappertagtype_;
+			break;
+
 		case LT_DOCBOOKITEMTAG:
 			lex >> docbookitemtag_;
 			break;
@@ -777,6 +801,10 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
 			lex >> docbookitemattr_;
 			break;
 
+		case LT_DOCBOOKITEMTAGTYPE:
+			lex >> docbookitemtagtype_;
+			break;
+
 		case LT_DOCBOOKITEMLABELTAG:
 			lex >> docbookitemlabeltag_;
 			break;
@@ -785,6 +813,10 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
 			lex >> docbookitemlabelattr_;
 			break;
 
+		case LT_DOCBOOKITEMLABELTAGTYPE:
+			lex >> docbookitemlabeltagtype_;
+			break;
+
 		case LT_DOCBOOKITEMINNERTAG:
 			lex >> docbookiteminnertag_;
 			break;
@@ -793,6 +825,10 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
 			lex >> docbookiteminnerattr_;
 			break;
 
+		case LT_DOCBOOKITEMINNERTAGTYPE:
+			lex >> docbookiteminnertagtype_;
+			break;
+
 		case LT_SPELLCHECK:
 			lex >> spellcheck;
 			break;
@@ -1608,6 +1644,8 @@ void Layout::write(ostream & os) const
 		os << "\tDocBookTag " << docbooktag_ << '\n';
 	if(!docbookattr_.empty())
 		os << "\tDocBookAttr " << docbookattr_ << '\n';
+	if(!docbooktagtype_.empty())
+		os << "\tDocBookTagType " << docbooktagtype_ << '\n';
 	if(!docbookininfo_.empty())
 		os << "\tDocBookInInfo " << docbookininfo_ << '\n';
 	os << "\tDocBookAbstract " << docbookabstract_ << '\n';
@@ -1615,25 +1653,35 @@ void Layout::write(ostream & os) const
 		os << "\tDocBookWrapperTag " << docbookwrappertag_ << '\n';
 	if(!docbookwrapperattr_.empty())
 		os << "\tDocBookWrapperAttr " << docbookwrapperattr_ << '\n';
+	if(!docbookwrappertagtype_.empty())
+		os << "\tDocBookWrapperTagType " << docbookwrappertagtype_ << '\n';
 	if(!docbooksectiontag_.empty())
 		os << "\tDocBookSectionTag " << docbooksectiontag_ << '\n';
 	if(!docbookitemtag_.empty())
 		os << "\tDocBookItemTag " << docbookitemtag_ << '\n';
 	if(!docbookitemattr_.empty())
 		os << "\tDocBookItemAttr " << docbookitemattr_ << '\n';
+	if(!docbookitemtagtype_.empty())
+		os << "\tDocBookItemTagType " << docbookitemtagtype_ << '\n';
 	if(!docbookitemwrappertag_.empty())
 		os << "\tDocBookItemWrapperTag " << docbookitemwrappertag_ << '\n';
 	if(!docbookitemwrapperattr_.empty())
 		os << "\tDocBookItemWrapperAttr " << docbookitemwrapperattr_ << '\n';
+	if(!docbookitemwrappertagtype_.empty())
+		os << "\tDocBookItemWrapperTagType " << docbookitemwrappertagtype_ << '\n';
 	os << "\tDocBookItemWrapperMergeWithPrevious " << docbookwrappermergewithprevious_ << '\n';
 	if(!docbookitemlabeltag_.empty())
 		os << "\tDocBookItemLabelTag " << docbookitemlabeltag_ << '\n';
 	if(!docbookitemlabelattr_.empty())
 		os << "\tDocBookItemLabelAttr " << docbookitemlabelattr_ << '\n';
+	if(!docbookitemlabeltagtype_.empty())
+		os << "\tDocBookItemLabelTagType " << docbookitemlabeltagtype_ << '\n';
 	if(!docbookiteminnertag_.empty())
 		os << "\tDocBookItemInnerTag " << docbookiteminnertag_ << '\n';
 	if(!docbookiteminnerattr_.empty())
 		os << "\tDocBookItemInnerAttr " << docbookiteminnerattr_ << '\n';
+	if(!docbookiteminnertagtype_.empty())
+		os << "\tDocBookItemInnerTagType " << docbookiteminnertagtype_ << '\n';
 	if(!docbookforceabstracttag_.empty())
 		os << "\tDocBookForceAbstractTag " << docbookforceabstracttag_ << '\n';
 	os << "\tSpellcheck " << spellcheck << "\n"
@@ -1786,9 +1834,12 @@ string Layout::defaultCSSClass() const
 
 string const & Layout::docbooktag() const
 {
-	// No sensible default value, unhappily...
-	if (docbooktag_.empty())
-		docbooktag_ = to_utf8(name_);
+	if (docbooktag_.empty()) {
+		if (to_ascii(name_) == "Plain Layout")
+			docbooktag_ = "para";
+		else // No sensible default value, unhappily...
+			docbooktag_ = to_utf8(name_);
+	}
 	return docbooktag_;
 }
 
@@ -1800,6 +1851,20 @@ string const & Layout::docbookattr() const
 }
 
 
+bool isValidTagType(std::string type)
+{
+	return !(type.empty() || (type != "block" && type != "paragraph" && type != "inline"));
+}
+
+
+string const & Layout::docbooktagtype() const
+{
+	if (!isValidTagType(docbooktagtype_))
+		docbooktagtype_ = "block";
+	return docbooktagtype_;
+}
+
+
 string const & Layout::docbookininfo() const
 {
 	// Indeed, a trilean. Only titles should be "maybe": otherwise, metadata is "always", content is "never". 
@@ -1823,6 +1888,14 @@ string const & Layout::docbookwrapperattr() const
 }
 
 
+string const & Layout::docbookwrappertagtype() const
+{
+	if (!isValidTagType(docbookwrappertagtype_))
+		docbookwrappertagtype_ = "block";
+	return docbookwrappertagtype_;
+}
+
+
 string const & Layout::docbooksectiontag() const
 {
 	if (docbooksectiontag_.empty())
@@ -1845,9 +1918,19 @@ string const & Layout::docbookitemwrapperattr() const
 }
 
 
+string const & Layout::docbookitemwrappertagtype() const
+{
+	if (!isValidTagType(docbookitemwrappertagtype_))
+		docbookitemwrappertagtype_ = "block";
+	return docbookitemwrappertagtype_;
+}
+
+
 string const & Layout::docbookitemtag() const
 {
-    return docbookitemtag_;
+	if (docbookitemtag_.empty())
+		docbookitemtag_ = "NONE";
+	return docbookitemtag_;
 }
 
 
@@ -1857,6 +1940,14 @@ string const & Layout::docbookitemattr() const
 }
 
 
+string const & Layout::docbookitemtagtype() const
+{
+	if (!isValidTagType(docbookitemtagtype_))
+		docbookitemtagtype_ = "block";
+	return docbookitemtagtype_;
+}
+
+
 string const & Layout::docbookitemlabeltag() const
 {
 	if (docbookitemlabeltag_.empty())
@@ -1871,6 +1962,14 @@ string const & Layout::docbookitemlabelattr() const
 }
 
 
+string const & Layout::docbookitemlabeltagtype() const
+{
+	if (!isValidTagType(docbookitemlabeltagtype_))
+		docbookitemlabeltagtype_ = "block";
+	return docbookitemlabeltagtype_;
+}
+
+
 string const & Layout::docbookiteminnertag() const
 {
 	if (docbookiteminnertag_.empty())
@@ -1885,6 +1984,14 @@ string const & Layout::docbookiteminnerattr() const
 }
 
 
+string const & Layout::docbookiteminnertagtype() const
+{
+	if (!isValidTagType(docbookiteminnertagtype_))
+		docbookiteminnertagtype_ = "block";
+	return docbookiteminnertagtype_;
+}
+
+
 std::string const & Layout::docbookforceabstracttag() const
 {
 	if (docbookforceabstracttag_.empty())
diff --git a/src/Layout.h b/src/Layout.h
index a894142..14784a2 100644
--- a/src/Layout.h
+++ b/src/Layout.h
@@ -197,6 +197,8 @@ public:
 	///
 	std::string const & docbookattr() const;
 	///
+	std::string const & docbooktagtype() const;
+	///
 	std::string const & docbookininfo() const;
 	///
 	bool docbookabstract() const { return docbookabstract_; }
@@ -205,6 +207,8 @@ public:
 	///
 	std::string const & docbookwrapperattr() const;
 	///
+	std::string const & docbookwrappertagtype() const;
+	///
 	bool docbookwrappermergewithprevious() const { return docbookwrappermergewithprevious_; }
 	///
 	std::string const & docbooksectiontag() const;
@@ -213,18 +217,26 @@ public:
 	///
 	std::string const & docbookitemwrapperattr() const;
 	///
+	std::string const & docbookitemwrappertagtype() const;
+	///
 	std::string const & docbookitemlabeltag() const;
 	///
 	std::string const & docbookitemlabelattr() const;
 	///
+	std::string const & docbookitemlabeltagtype() const;
+	///
 	std::string const & docbookiteminnertag() const;
 	///
 	std::string const & docbookiteminnerattr() const;
 	///
+	std::string const & docbookiteminnertagtype() const;
+	///
 	std::string const & docbookitemtag() const;
 	///
 	std::string const & docbookitemattr() const;
 	///
+	std::string const & docbookitemtagtype() const;
+	///
 	std::string const & docbookforceabstracttag() const;
 	///
 	bool isParagraph() const { return latextype == LATEX_PARAGRAPH; }
@@ -495,27 +507,39 @@ private:
 	mutable std::string docbooktag_;
 	/// Roles to add to docbooktag_, if any (default: none).
 	mutable std::string docbookattr_;
+	/// DocBook tag type corresponding to this layout (block, paragraph, or inline; default: block).
+	mutable std::string docbooktagtype_;
 	/// DocBook tag corresponding to this item (mainly for lists).
 	mutable std::string docbookitemtag_;
 	/// Roles to add to docbookitemtag_, if any (default: none).
 	mutable std::string docbookitemattr_;
+	/// DocBook tag type corresponding to this item (block, paragraph, or inline; default: block).
+	mutable std::string docbookitemtagtype_;
 	/// DocBook tag corresponding to the wrapper around an item (mainly for lists).
 	mutable std::string docbookitemwrappertag_;
 	/// Roles to add to docbookitemwrappertag_, if any (default: none).
 	mutable std::string docbookitemwrapperattr_;
-	/// DocBook tag corresponding to this label (only for description lists;
+	/// DocBook tag type corresponding to the wrapper around an item (block, paragraph, or inline; default: block).
+	mutable std::string docbookitemwrappertagtype_;
+	/// DocBook tag corresponding to this label (mostly for description lists;
 	/// labels in the common sense do not exist with DocBook).
 	mutable std::string docbookitemlabeltag_;
 	/// Roles to add to docbooklabeltag_, if any (default: none).
 	mutable std::string docbookitemlabelattr_;
+	/// DocBook tag corresponding to this label (block, paragraph, or inline; default: block).
+	mutable std::string docbookitemlabeltagtype_;
 	/// DocBook tag to add within the item, around its direct content (mainly for lists).
 	mutable std::string docbookiteminnertag_;
 	/// Roles to add to docbookiteminnertag_, if any (default: none).
 	mutable std::string docbookiteminnerattr_;
+	/// DocBook tag to add within the item, around its direct content (block, paragraph, or inline; default: block).
+	mutable std::string docbookiteminnertagtype_;
 	/// DocBook tag corresponding to this wrapper around the main tag.
 	mutable std::string docbookwrappertag_;
 	/// Roles to add to docbookwrappertag_, if any (default: none).
 	mutable std::string docbookwrapperattr_;
+	/// DocBook tag corresponding to this wrapper around the main tag (block, paragraph, or inline; default: block).
+	mutable std::string docbookwrappertagtype_;
 	/// Whether this wrapper tag may be merged with the previously opened wrapper tag.
 	bool docbookwrappermergewithprevious_;
 	/// Outer tag for this section, only if this layout represent a sectionning item, including chapters
diff --git a/src/TextClass.cpp b/src/TextClass.cpp
index 469cfaf..900d6b2 100644
--- a/src/TextClass.cpp
+++ b/src/TextClass.cpp
@@ -62,7 +62,7 @@ namespace lyx {
 // You should also run the development/tools/updatelayouts.py script,
 // to update the format of all of our layout files.
 //
-int const LAYOUT_FORMAT = 83; // tcuvelier: DocBookWrapperMergeWithPrevious.
+int const LAYOUT_FORMAT = 84; // tcuvelier: DocBook*TagType.
 
 
 // Layout format for the current lyx file format. Controls which format is
@@ -1378,6 +1378,7 @@ bool TextClass::readFloat(Lexer & lexrc)
 		FT_HTMLTAG,
 		FT_DOCBOOKATTR,
 		FT_DOCBOOKTAG,
+		FT_DOCBOOKTAGTYPE,
 		FT_LISTCOMMAND,
 		FT_REFPREFIX,
 		FT_ALLOWED_PLACEMENT,
@@ -1393,6 +1394,7 @@ bool TextClass::readFloat(Lexer & lexrc)
 		{ "allowswide", FT_ALLOWS_WIDE },
 		{ "docbookattr", FT_DOCBOOKATTR },
 		{ "docbooktag", FT_DOCBOOKTAG },
+		{ "docbooktagtype", FT_DOCBOOKTAGTYPE },
 		{ "end", FT_END },
 		{ "extension", FT_EXT },
 		{ "guiname", FT_NAME },
@@ -1419,6 +1421,7 @@ bool TextClass::readFloat(Lexer & lexrc)
 	string htmltag;
 	string docbookattr;
 	string docbooktag;
+	string docbooktagtype;
 	string listname;
 	string listcommand;
 	string name;
@@ -1540,6 +1543,10 @@ bool TextClass::readFloat(Lexer & lexrc)
 			lexrc.next();
 			docbooktag = lexrc.getString();
 			break;
+		case FT_DOCBOOKTAGTYPE:
+			lexrc.next();
+			docbooktagtype = lexrc.getString();
+			break;
 		case FT_END:
 			getout = true;
 			break;
@@ -1568,8 +1575,8 @@ bool TextClass::readFloat(Lexer & lexrc)
 		Floating fl(type, placement, ext, within, style, name,
 			listname, listcommand, refprefix, allowed_placement,
 			htmltag, htmlattr, htmlstyle, docbooktag, docbookattr,
-			required, usesfloat, ispredefined, allowswide,
-			allowssideways);
+			docbooktagtype, required, usesfloat, ispredefined,
+	        allowswide, allowssideways);
 		floatlist_.newFloat(fl);
 		// each float has its own counter
 		counters_.newCounter(from_ascii(type), from_ascii(within),

commit 87dae26e4a8146c7e9b450dfff4d8711deeed933
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 16 00:59:43 2020 +0200

    Simplify code to generate only one paragraph at a time.

diff --git a/autotests/export/docbook/basic.xml b/autotests/export/docbook/basic.xml
index f208ae6..6f4a828 100644
--- a/autotests/export/docbook/basic.xml
+++ b/autotests/export/docbook/basic.xml
@@ -1,69 +1,62 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- This DocBook file was created by LyX 2.4.0dev
   See http://www.lyx.org/ for more information -->
-<article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.1">
-
-<info><title>I am a title</title>
-<author><personname>I am an author</personname></author>
+<article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
+<info>
+<title>I am a title</title>
+<author>
+<personname>I am an author</personname>
+</author>
 <date>I am a date</date>
-
-<abstract><para>I am an abstract</para>
+<abstract>
+<para>I am an abstract</para>
 <para>I am also an abstract</para>
 </abstract>
 </info>
-<para>I am a standard paragraph. </para>
-<section xml:id="sec.Sec-1-0">
+<section xml:id="sec.Sec-1">
 <title>I am the first section </title>
 <para>I am the first paragraph of the first section. </para>
-
 <para>I am the second paragraph of the first section. </para>
-
-<blockquote><para>I am a quote
- <inlineequation>
-  <m:math>
-  <m:alt role='tex'>\,with\,a\,formula</m:alt>
+<blockquote>
+<para>I am a quote<inlineequation>
+<alt role='tex'>\,with\,a\,formula</alt>
+ <m:math>
+ 
  <m:mrow>
-  <m:mrow>
-  <m:mspace width="6px"/><m:mi>w</m:mi><m:mi>i</m:mi><m:mi>t</m:mi><m:mi>h</m:mi>
-  <m:mspace width="6px"/><m:mi>a</m:mi>
-  <m:mspace width="6px"/><m:mi>f</m:mi><m:mi>o</m:mi><m:mi>r</m:mi><m:mi>m</m:mi><m:mi>u</m:mi><m:mi>l</m:mi><m:mi>a</m:mi>
+  <m:mrow><m:mspace width="6px" /><m:mi>w</m:mi><m:mi>i</m:mi><m:mi>t</m:mi><m:mi>h</m:mi><m:mspace width="6px" /><m:mi>a</m:mi><m:mspace width="6px" /><m:mi>f</m:mi><m:mi>o</m:mi><m:mi>r</m:mi><m:mi>m</m:mi><m:mi>u</m:mi><m:mi>l</m:mi><m:mi>a</m:mi>
   </m:mrow>
  </m:mrow>
-  </m:math>
- </inlineequation>. </para>
+ </m:math>
+</inlineequation>. </para>
 </blockquote>
-<para>
- <informalequation>
-  <m:math>
-  <m:alt role='tex'>Formula!</m:alt>
+<para><informalequation>
+<alt role='tex'>Formula!</alt>
+ <m:math>
+ 
  <m:mrow>
   <m:mrow><m:mi>F</m:mi><m:mi>o</m:mi><m:mi>r</m:mi><m:mi>m</m:mi><m:mi>u</m:mi><m:mi>l</m:mi><m:mi>a</m:mi><m:mo>!</m:mo>
   </m:mrow>
  </m:mrow>
-  </m:math>
- </informalequation>
- <informalequation xml:id='eq.EQ.-1'>
-  <m:math>
-  <m:alt role='tex'>\text{I am a formula with a ref.}\label{eq:EQ.}</m:alt>
+ </m:math>
+</informalequation><informalequation xml:id="eq.EQ.">
+<alt role='tex'>\text{I am a formula with a ref.}\label{eq:EQ.}</alt>
+ <m:math>
+ 
  <m:mrow>
   <m:mstyle mathvariant='normal'>
    <m:mrow><m:mi>I</m:mi> <m:mi>a</m:mi><m:mi>m</m:mi> <m:mi>a</m:mi> <m:mi>f</m:mi><m:mi>o</m:mi><m:mi>r</m:mi><m:mi>m</m:mi><m:mi>u</m:mi><m:mi>l</m:mi><m:mi>a</m:mi> <m:mi>w</m:mi><m:mi>i</m:mi><m:mi>t</m:mi><m:mi>h</m:mi> <m:mi>a</m:mi> <m:mi>r</m:mi><m:mi>e</m:mi><m:mi>f</m:mi><m:mn>.</m:mn>
    </m:mrow>
   </m:mstyle>
  </m:mrow>
-  </m:math>
- </informalequation></para>
-
-<para>See <xref linkend="sec.Sec-2kqgsdiflhqsdlifgjuzer-povtuizmvnuer-t-vmsrmfli--uh--a--rtpfuo----rtpc.m-ca-rgifzapeu-tvgz-2" />.</para>
-
-<para>Also, a formula with an user-defined macro that outputs well in LaTeX but cannot in MathML (hence replaced by picture): 
- <inlineequation>
-  <m:math>
-  <m:alt role='tex'>\testmacro</m:alt>
-  </m:math>
- </inlineequation>. </para>
-
-<!-- \latexCommandThatShouldBeCommented --><section>
+ </m:math>
+</informalequation></para>
+<para>See <xref linkend="sec.Sec-2kqgsdiflhqsdlifgjuzer-povtuizmvnuer-t-vmsrmfli--uh--a--rtpfuo----rtpc.m-ca-rgifzapeu-tvgz" />.</para>
+<para>Also, a formula with an user-defined macro that outputs well in LaTeX but cannot in MathML (hence replaced by picture): <inlineequation>
+<alt role='tex'>\testmacro</alt>
+<mathphrase>MathML export failed. Please report this as a bug.</mathphrase>
+</inlineequation>. </para>
+<!-- \latexCommandThatShouldBeCommented -->
+<section>
 <title>I am the first subsection</title>
 <para>I am the only paragraph of the first subsection. </para>
 </section>
@@ -72,174 +65,150 @@
 <para>I am the only paragraph of the second subsection. </para>
 </section>
 </section>
-<section xml:id="sec.Sec-2kqgsdiflhqsdlifgjuzer-povtuizmvnuer-t-vmsrmfli--uh--a--rtpfuo----rtpc.m-ca-rgifzapeu-tvgz-2">
+<section xml:id="sec.Sec-2kqgsdiflhqsdlifgjuzer-povtuizmvnuer-t-vmsrmfli--uh--a--rtpfuo----rtpc.m-ca-rgifzapeu-tvgz">
 <title>I am the second section </title>
 <para>I am the only paragraph of the second section. <link xlink:href="http://example.org">Hyperlink.</link> “Text between quotes.”</para>
-
-<para>See <xref linkend="sec.Sec-1-0" />.</para>
+<para>See <xref linkend="sec.Sec-1" />.</para>
 </section>
 <section>
 <title>I am the third section and I have fun with lists</title>
-
-
-<orderedlist><listitem><para>First item. </para>
-<para>Second line of the first item, after a line break. </para>
-</listitem>
-
-<listitem><para>Second item. </para>
-</listitem>
-</orderedlist>
-
-
-<itemizedlist><listitem><para>Item has no order (1). </para>
-</listitem>
-
-<listitem><para>Item has no order (2). </para>
-</listitem>
-</itemizedlist>
-
-<variablelist><varlistentry><term>Word</term>
-
-
-<listitem><para> description</para>
-</listitem></varlistentry>
-<varlistentry><term>Sentence</term>
-
-
-<listitem><para> meaning</para>
-</listitem></varlistentry>
-</variablelist>
+<orderedlist><listitem>First item. 
+<br />
+Second line of the first item, after a line break. </listitem></orderedlist>
+<orderedlist><listitem>Second item. </listitem></orderedlist>
+<itemizedlist><listitem>Item has no order (1). </listitem></itemizedlist>
+<itemizedlist><listitem>Item has no order (2). </listitem></itemizedlist>
+<variablelist><listitem><varlistentry>
+
+Word description<!-- Output Error: Closing tag `listitem' when other tags are open, namely: -->
+<!-- Output Error: varlistentry -->
+</varlistentry></listitem></variablelist>
+<variablelist><listitem><varlistentry>
+
+Sentence meaning<!-- Output Error: Closing tag `listitem' when other tags are open, namely: -->
+<!-- Output Error: varlistentry -->
+</varlistentry></listitem></variablelist>
 </section>
 <section>
 <title>I am the fourth section and I deal with formatting. </title>
 <para>The following paragraph should be code. </para>
-
 <para><programlisting>I am some code. 
-I am a second line of code. </programlisting>I am no more code. </para>
-
+I am a second line of code. 
+</programlisting>I am no more code. </para>
 <para>This line has inline code. <code>This has typewriter font</code><footnote><para>I repeat that in a footnote.</para>
 </footnote>. </para>
-
 <para>On the other hand, <footnote><para>this footnote</para>
-
 <para>has multiple </para>
-
 <para>paragraphs.</para>
 </footnote>. </para>
 </section>
 <section>
 <title>I am the fifth section and I deal with floats</title>
 <para>Now, three tables: </para>
-
-
-<table><caption>I am a table caption below the table.</caption>
-
-
-<tbody><tr><td align='center' valign='top'>Table 1</td>
+<table>
+<caption>I am a table caption below the table.</caption>
+<tbody>
+<tr>
+<td align='center' valign='top'>Table 1</td>
 <td align='center' valign='top'>Table 2</td>
 <td align='center' valign='top'>Table 3</td>
 </tr>
-<tr><td align='center' valign='top'>Row 1</td>
+<tr>
+<td align='center' valign='top'>Row 1</td>
 <td align='center' valign='top'></td>
 <td align='center' valign='top'>Col 3, row 1</td>
 </tr>
-<tr><td align='center' valign='top'>Row 2</td>
+<tr>
+<td align='center' valign='top'>Row 2</td>
 <td align='center' valign='top'></td>
 <td align='center' valign='top'>Col 3, row 2</td>
-</tr></tbody>
-
+</tr>
+</tbody>
 </table>
-
-
-<table><caption>I am a table caption above the table.</caption>
-
-
-
-<tbody><tr><td align='center' valign='top'>Table 1</td>
+<table>
+<caption>I am a table caption above the table.</caption>
+<tbody>
+<tr>
+<td align='center' valign='top'>Table 1</td>
 <td align='center' valign='top'>Table 2</td>
 <td align='center' valign='top'>Table 3</td>
 </tr>
-<tr><td align='center' valign='top'>Row 1</td>
+<tr>
+<td align='center' valign='top'>Row 1</td>
 <td align='center' valign='top'></td>
 <td align='center' valign='top'>Col 3, row 1</td>
 </tr>
-<tr><td align='center' valign='top'>Row 2</td>
+<tr>
+<td align='center' valign='top'>Row 2</td>
 <td align='center' valign='top'></td>
 <td align='center' valign='top'>Col 3, row 2</td>
-</tr></tbody>
+</tr>
+</tbody>
 </table>
-
-
-
-
-<informaltable><tbody><tr><td align='center' valign='top'>Table that has no caption 1</td>
+<informaltable>
+<tbody>
+<tr>
+<td align='center' valign='top'>Table that has no caption 1</td>
 <td align='center' valign='top'>Table that has no caption 2</td>
 <td align='center' valign='top'>Table that has no caption 3</td>
 </tr>
-<tr><td align='center' valign='top'>Row 1</td>
+<tr>
+<td align='center' valign='top'>Row 1</td>
 <td align='center' valign='top'></td>
 <td align='center' valign='top'>Col 3, row 1</td>
 </tr>
-<tr><td align='center' valign='top'>Row 2</td>
+<tr>
+<td align='center' valign='top'>Row 2</td>
 <td align='center' valign='top'></td>
 <td align='center' valign='top'>Col 3, row 2</td>
-</tr></tbody>
+</tr>
+</tbody>
 </informaltable>
-
 <para>Then, one figure: </para>
-
-
-<figure><title>Caption.</title>
-
-
-<mediaobject><imageobject><imagedata fileref="0_mnt_d_Thibaut_LyX_autotests_export_docbook_lyx-logo.png"  />
+<figure>
+<title>Caption.</title>
+<mediaobject>
+<imageobject>
+<imagedata fileref="D:/LyX/lyx-unstable/autotests/export/docbook/lyx-logo.png"  />
 </imageobject>
 </mediaobject>
-
 </figure>
 </section>
 <section>
 <title>I am the sixth section and I really like bibliographies</title>
 <para>This text has references. First reference: <biblioref endterm="big" />. Second reference: <biblioref endterm="small" />. Both at the same time: <biblioref endterm="big" />, <biblioref endterm="small" />. A book: <biblioref endterm="Gro60" />. </para>
-
 <para>Many things, just testing for completeness: <biblioref endterm="article" />, <biblioref endterm="book" />, <biblioref endterm="booklet" />, <biblioref endterm="conference" />, <biblioref endterm="inbook" />, <biblioref endterm="incollection" />. </para>
 </section>
 <section>
 <title>I am the seventh section and I deal with indices</title>
 <para>First, a term to index: <indexterm type="idx"><primary>Term to index</primary></indexterm>. Then a term to add to the second index: <indexterm type="oth"><primary>Term to add to the second index</primary></indexterm>. </para>
-
 <para>Then several terms for the first index: <indexterm type="idx"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary></indexterm>. </para>
-
 <para>With a see: <indexterm type="idx"><primary>Term</primary><see>index</see></indexterm>. With a see also: <indexterm type="idx"><primary>Term</primary><seealso>index</seealso></indexterm>. </para>
-
 <para>Several terms with a see: <indexterm type="idx"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary><see>index</see></indexterm>. Several terms with a see also: <indexterm type="idx"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary><seealso>index</seealso></indexterm>. </para>
-
-<para>A start of range: <indexterm type="idx" class="startofrange" xml:id="Term-to-index-3"><primary>Term to index</primary></indexterm>. The corresponding end of range: <indexterm type="idx" class="endofrange" startref="Term-to-index-3"><primary>Term to index</primary></indexterm>.</para>
-
-<para>Several terms with a start of range: <indexterm type="idx" class="startofrange" xml:id="Term.to.index-4"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary></indexterm>. The corresponding end of range: <indexterm type="idx" class="endofrange" startref="Term.to.index-4"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary></indexterm>.</para>
-
-<para>These terms already appeared before! Start of range: <indexterm type="idx" class="startofrange" xml:id="Term.to.index-0-5"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary></indexterm>. The corresponding end of range: <indexterm type="idx" class="endofrange" startref="Term.to.index-0-5"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary></indexterm>.</para>
+<para>A start of range: <indexterm type="idx" class="startofrange" xml:id="Term-to-index"><primary>Term to index</primary></indexterm>. The corresponding end of range: <indexterm type="idx" class="endofrange" startref="Term-to-index"><primary>Term to index</primary></indexterm>.</para>
+<para>Several terms with a start of range: <indexterm type="idx" class="startofrange" xml:id="Term.to.index"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary></indexterm>. The corresponding end of range: <indexterm type="idx" class="endofrange" startref="Term.to.index"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary></indexterm>.</para>
+<para>These terms already appeared before! Start of range: <indexterm type="idx" class="startofrange" xml:id="Term.to.index-0"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary></indexterm>. The corresponding end of range: <indexterm type="idx" class="endofrange" startref="Term.to.index-0"><primary>Term</primary><secondary>to</secondary><tertiary>index</tertiary></indexterm>.</para>
 </section>
 <section>
 <title>I am the eight section and I deal with star sections</title>
-<bridgehead renderas="part">Star part</bridgehead>
+<bridgehead renderas='other' otherrenderas='part'>Star part</bridgehead>
 <bridgehead renderas="sect1">Star section (sect1)</bridgehead>
 <bridgehead renderas="sect2">Star subsection (sect2)</bridgehead>
 <bridgehead renderas="sect3">Star subsubsection (sect3)</bridgehead>
 <bridgehead renderas="sect4">Star paragraph (sect4)</bridgehead>
 <bridgehead renderas="sect5">Star subparagraph (sect5)</bridgehead>
 </section>
-
-<bibliography><title>References</title>
-
-<biblioentry xml:id="article"><title>The title of the work</title><volumenum>4</volumenum><artpagenums>201-213</artpagenums><bibliomisc role="type">article</bibliomisc>
+<bibliography>
+<title>References</title>
+<biblioentry xml:id="article">
+<title>The title of the work</title><volumenum>4</volumenum><artpagenums>201-213</artpagenums><bibliomisc role="type">article</bibliomisc>
 <pubdate>1993</pubdate>
-
-<biblioset relation="journal"><title>The name of the journal</title>
+<biblioset relation="journal">
+<title>The name of the journal</title>
 </biblioset>
-
-
-<authorgroup><author><personname><firstname>Peter</firstname>
+<authorgroup><author>
+<personname>
+<firstname>Peter</firstname>
 <surname>Adams</surname>
 </personname>
 </author>
@@ -247,119 +216,119 @@ I am a second line of code. </programlisting>I am no more code. </para>
 <biblioid class="pubsnumber">2</biblioid>
 <bibliomisc role="note">An optional note</bibliomisc>
 </biblioentry>
-
-<biblioentry xml:id="book"><title>The title of the work</title><volumenum>4</volumenum><edition>3</edition><bibliomisc role="type">book</bibliomisc>
-
-<publisher><publishername>The name of the publisher</publishername>
+<biblioentry xml:id="book">
+<title>The title of the work</title><volumenum>4</volumenum><edition>3</edition><bibliomisc role="type">book</bibliomisc>
+<publisher>
+<publishername>The name of the publisher</publishername>
 <address>The address</address></publisher>
 <pubdate>1993</pubdate>
-
-
-<authorgroup><author><personname><firstname>Peter</firstname>
+<authorgroup><author>
+<personname>
+<firstname>Peter</firstname>
 <surname>Babington</surname>
 </personname>
 </author>
 </authorgroup>
 <bibliomisc role="note">An optional note</bibliomisc>
 </biblioentry>
-
-<biblioentry xml:id="booklet"><title>The title of the work</title><bibliomisc role="type">booklet</bibliomisc>
+<biblioentry xml:id="booklet">
+<title>The title of the work</title><bibliomisc role="type">booklet</bibliomisc>
 <pubdate>1993</pubdate>
-
-
-<authorgroup><author><personname><firstname>Peter</firstname>
+<authorgroup><author>
+<personname>
+<firstname>Peter</firstname>
 <surname>Caxton</surname>
 </personname>
 </author>
 </authorgroup>
 </biblioentry>
-
-<biblioentry xml:id="conference"><title>The title of the work</title><artpagenums>213</artpagenums><bibliomisc role="type">conference</bibliomisc>
-
-<publisher><publishername>The publisher</publishername>
+<biblioentry xml:id="conference">
+<title>The title of the work</title><artpagenums>213</artpagenums><bibliomisc role="type">conference</bibliomisc>
+<publisher>
+<publishername>The publisher</publishername>
 </publisher>
 <pubdate>1993</pubdate>
-
-
-<authorgroup><author><personname><firstname>Peter</firstname>
+<authorgroup><author>
+<personname>
+<firstname>Peter</firstname>
 <surname>Draper</surname>
 </personname>
 </author>
 </authorgroup>
 </biblioentry>
-
-<biblioentry xml:id="inbook"><title>The title of the work</title><artpagenums>201-213</artpagenums><bibliomisc role="type">inbook</bibliomisc>
-
-<publisher><publishername>The name of the publisher</publishername>
+<biblioentry xml:id="inbook">
+<title>The title of the work</title><artpagenums>201-213</artpagenums><bibliomisc role="type">inbook</bibliomisc>
+<publisher>
+<publishername>The name of the publisher</publishername>
 </publisher>
 <pubdate>1993</pubdate>
-
-
-<authorgroup><author><personname><firstname>Peter</firstname>
+<authorgroup><author>
+<personname>
+<firstname>Peter</firstname>
 <surname>Eston</surname>
 </personname>
 </author>
 </authorgroup>
 </biblioentry>
-
-<biblioentry xml:id="incollection"><title>The title of the work</title><volumenum>4</volumenum><edition>3</edition><artpagenums>201-213</artpagenums><bibliomisc role="type">incollection</bibliomisc>
-
-<publisher><publishername>The name of the publisher</publishername>
+<biblioentry xml:id="incollection">
+<title>The title of the work</title><volumenum>4</volumenum><edition>3</edition><artpagenums>201-213</artpagenums><bibliomisc role="type">incollection</bibliomisc>
+<publisher>
+<publishername>The name of the publisher</publishername>
 <address>The address of the publisher</address></publisher>
 <pubdate>1993</pubdate>
-
-<biblioset relation="book"><title>The title of the book</title>
+<biblioset relation="book">
+<title>The title of the book</title>
 </biblioset>
-
-
-<authorgroup><author><personname><firstname>Peter</firstname>
+<authorgroup><author>
+<personname>
+<firstname>Peter</firstname>
 <surname>Farindon</surname>
 </personname>
 </author>
 </authorgroup>
 <bibliomisc role="note">An optional note</bibliomisc>
 </biblioentry>
-
-<biblioentry xml:id="small"><title>A small paper</title><volumenum>-1</volumenum><bibliomisc role="type">article</bibliomisc>
+<biblioentry xml:id="small">
+<title>A small paper</title><volumenum>-1</volumenum><bibliomisc role="type">article</bibliomisc>
 <pubdate>1997</pubdate>
-
-<biblioset relation="journal"><title>The journal of small papers</title>
+<biblioset relation="journal">
+<title>The journal of small papers</title>
 </biblioset>
-
-
-<authorgroup><author><personname><surname>Freely</surname>
+<authorgroup><author>
+<personname>
+<surname>Freely</surname>
 <othername role="suffix">I. P.</othername>
 </personname>
 </author>
-
-
-<author><personname><firstname>Ditto</firstname>
+<author>
+<personname>
+<firstname>Ditto</firstname>
 <surname>Johannes</surname>
 </personname>
 </author>
 </authorgroup>
 <bibliomisc role="note">to appear</bibliomisc>
 </biblioentry>
-
-<biblioentry xml:id="Gro60."><title>Éléments de géométrie algébrique</title><bibliomisc role="type">book</bibliomisc>
+<biblioentry xml:id="Gro60">
+<title>Éléments de géométrie algébrique</title><bibliomisc role="type">book</bibliomisc>
 <pubdate>1960</pubdate>
-
-
-<authorgroup><author><personname><firstname>Alexander</firstname>
+<authorgroup><author>
+<personname>
+<firstname>Alexander</firstname>
 <surname>Grothendieck</surname>
 </personname>
 </author>
 </authorgroup>
 </biblioentry>
-
-<biblioentry xml:id="big"><title>A big paper</title><volumenum>MCMXCVII</volumenum><bibliomisc role="type">article</bibliomisc>
+<biblioentry xml:id="big">
+<title>A big paper</title><volumenum>MCMXCVII</volumenum><bibliomisc role="type">article</bibliomisc>
 <pubdate>7991</pubdate>
-
-<biblioset relation="journal"><title>The journal of big papers</title>
+<biblioset relation="journal">
+<title>The journal of big papers</title>
 </biblioset>
-
-
-<authorgroup><author><personname><firstname>Hugh</firstname>
+<authorgroup><author>
+<personname>
+<firstname>Hugh</firstname>
 <surname>Jass</surname>
 </personname>
 </author>
diff --git a/autotests/export/docbook/easy.lyx b/autotests/export/docbook/easy.lyx
new file mode 100644
index 0000000..0ea08e7
--- /dev/null
+++ b/autotests/export/docbook/easy.lyx
@@ -0,0 +1,253 @@
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 598
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass article
+\begin_preamble
+\newcommand{\testmacro}{\ensuremath{\operatorname{testmacro}}}
+\end_preamble
+\use_default_options true
+\maintain_unincluded_children no
+\language english
+\language_package default
+\inputencoding auto-legacy
+\fontencoding auto
+\font_roman "default" "default"
+\font_sans "default" "default"
+\font_typewriter "default" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_roman_osf false
+\font_sans_osf false
+\font_typewriter_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures true
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize default
+\spacing single
+\use_hyperref false
+\papersize default
+\use_geometry false
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine basic
+\cite_engine_type default
+\biblio_style plain
+\use_bibtopic false
+\use_indices true
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 1
+\use_minted 0
+\use_lineno 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\index Other index
+\shortcut oth
+\color #cc0000
+\end_index
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style english
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tablestyle default
+\tracking_changes false
+\output_changes false
+\change_bars false
+\postpone_fragile_content false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\docbook_table_output 0
+\end_header
+
+\begin_body
+
+\begin_layout Title
+I am a title
+\end_layout
+
+\begin_layout Author
+I am an author
+\end_layout
+
+\begin_layout Date
+I am a date
+\end_layout
+
+\begin_layout Abstract
+I am an abstract
+\end_layout
+
+\begin_layout Abstract
+I am also an abstract
+\end_layout
+
+\begin_layout Section
+I am the first section 
+\begin_inset CommandInset label
+LatexCommand label
+name "sec:Sec-1"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+I am the first paragraph of the first section.
+ 
+\end_layout
+
+\begin_layout Standard
+I am the second paragraph of the first section.
+ 
+\end_layout
+
+\begin_layout Quote
+I am a quote
+\begin_inset Formula $\,with\,a\,formula$
+\end_inset
+
+.
+ 
+\end_layout
+
+\begin_layout Standard
+\begin_inset Formula 
+\[
+Formula!
+\]
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+I am the first subsection
+\end_layout
+
+\begin_layout Standard
+I am the only paragraph of the first subsection.
+ 
+\end_layout
+
+\begin_layout Subsection
+I am the second subsection
+\end_layout
+
+\begin_layout Standard
+I am the only paragraph of the second subsection.
+ 
+\end_layout
+
+\begin_layout Section
+I am the second section 
+\end_layout
+
+\begin_layout Standard
+I am the only paragraph of the second section.
+ 
+\begin_inset CommandInset href
+LatexCommand href
+name "Hyperlink."
+target "http://example.org"
+literal "false"
+
+\end_inset
+
+ 
+\begin_inset Quotes eld
+\end_inset
+
+Text between quotes.
+\begin_inset Quotes erd
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+See 
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "sec:Sec-1"
+plural "false"
+caps "false"
+noprefix "false"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Section
+I am the third section and I deal with star sections
+\end_layout
+
+\begin_layout Part*
+Star part
+\end_layout
+
+\begin_layout Section*
+Star section (sect1)
+\end_layout
+
+\begin_layout Subsection*
+Star subsection (sect2)
+\end_layout
+
+\begin_layout Subsubsection*
+Star subsubsection (sect3)
+\end_layout
+
+\begin_layout Paragraph*
+Star paragraph (sect4)
+\end_layout
+
+\begin_layout Subparagraph*
+Star subparagraph (sect5)
+\end_layout
+
+\begin_layout Standard
+\begin_inset CommandInset bibtex
+LatexCommand bibtex
+bibfiles "basic"
+options "plain"
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
diff --git a/autotests/export/docbook/easy.xml b/autotests/export/docbook/easy.xml
new file mode 100644
index 0000000..883c982
--- /dev/null
+++ b/autotests/export/docbook/easy.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This DocBook file was created by LyX 2.4.0dev
+  See http://www.lyx.org/ for more information -->
+<article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
+<info>
+<title>I am a title</title>
+<author>
+<personname>I am an author</personname>
+</author>
+<date>I am a date</date>
+<abstract>
+<para>I am an abstract</para>
+<para>I am also an abstract</para>
+</abstract>
+</info>
+<section xml:id="sec.Sec-1-0">
+<title>I am the first section </title>
+<para>I am the first paragraph of the first section. </para>
+<para>I am the second paragraph of the first section. </para>
+<blockquote>
+<para>I am a quote<inlineequation>
+<alt role='tex'>\,with\,a\,formula</alt>
+ <m:math>
+ 
+ <m:mrow>
+  <m:mrow><m:mspace width="6px" /><m:mi>w</m:mi><m:mi>i</m:mi><m:mi>t</m:mi><m:mi>h</m:mi><m:mspace width="6px" /><m:mi>a</m:mi><m:mspace width="6px" /><m:mi>f</m:mi><m:mi>o</m:mi><m:mi>r</m:mi><m:mi>m</m:mi><m:mi>u</m:mi><m:mi>l</m:mi><m:mi>a</m:mi>
+  </m:mrow>
+ </m:mrow>
+ </m:math>
+</inlineequation>. </para>
+</blockquote>
+<informalequation>
+<alt role='tex'>Formula!</alt>
+ <m:math>
+ 
+ <m:mrow>
+  <m:mrow><m:mi>F</m:mi><m:mi>o</m:mi><m:mi>r</m:mi><m:mi>m</m:mi><m:mi>u</m:mi><m:mi>l</m:mi><m:mi>a</m:mi><m:mo>!</m:mo>
+  </m:mrow>
+ </m:mrow>
+ </m:math>
+</informalequation><section>
+<title>I am the first subsection</title>
+<para>I am the only paragraph of the first subsection. </para>
+</section>
+<section>
+<title>I am the second subsection</title>
+<para>I am the only paragraph of the second subsection. </para>
+</section>
+</section>
+<section>
+<title>I am the second section </title>
+<para>I am the only paragraph of the second section. <link xlink:href="http://example.org">Hyperlink.</link> “Text between quotes.”</para>
+<para>See <xref linkend="sec.Sec-1-0" />.</para>
+</section>
+<section>
+<title>I am the third section and I deal with star sections</title>
+<bridgehead renderas='other' otherrenderas='part'>Star part</bridgehead>
+<bridgehead renderas="sect1">Star section (sect1)</bridgehead>
+<bridgehead renderas="sect2">Star subsection (sect2)</bridgehead>
+<bridgehead renderas="sect3">Star subsubsection (sect3)</bridgehead>
+<bridgehead renderas="sect4">Star paragraph (sect4)</bridgehead>
+<bridgehead renderas="sect5">Star subparagraph (sect5)</bridgehead>
+</section>
+<bibliography>
+<title>References</title>
+<!-- No entry in the bibliography. -->
+</bibliography>
+</article>
\ No newline at end of file
diff --git a/autotests/export/docbook/lists.lyx b/autotests/export/docbook/lists.lyx
index 4e46d70..f903372 100644
--- a/autotests/export/docbook/lists.lyx
+++ b/autotests/export/docbook/lists.lyx
@@ -87,7 +87,23 @@ Test document
 \end_layout
 
 \begin_layout Standard
-A list:
+A simple list: 
+\end_layout
+
+\begin_layout Itemize
+First item
+\end_layout
+
+\begin_layout Itemize
+Second item on two lines
+\begin_inset Newline newline
+\end_inset
+
+I'm the second line
+\end_layout
+
+\begin_layout Standard
+A complex list:
 \end_layout
 
 \begin_layout Itemize
diff --git a/autotests/export/docbook/lists.xml b/autotests/export/docbook/lists.xml
index a00ab4f..4621e30 100644
--- a/autotests/export/docbook/lists.xml
+++ b/autotests/export/docbook/lists.xml
@@ -2,33 +2,61 @@
 <!-- This DocBook file was created by LyX 2.4.0dev
   See http://www.lyx.org/ for more information -->
 <article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
-<title>Test document</title>
-<para>A list:</para>
+<title>
+Test document
+</title>
+<para>
+A simple list: 
+</para>
 <itemizedlist>
 <listitem>
 <para>First item</para>
+</listitem>
+<listitem>
+<para>Second item on two lines<!-- Is para open? yes --><!-- Output Error: Closing tag `para' when other tags are open, namely: -->
+<!-- Output Error: &LyX_parsep_tag& -->
+</para>
+<para>I'm the second line<!-- Output Error: Tags still open in closeFontTags(). Probably not a problem,
+but you might want to check these tags: -->
+<!-- Output Error: para -->
+<!-- Output Error: listitem -->
+<!-- Output Error: itemizedlist -->
+<!-- Output Error: No division separation tag found in endDivision(). -->
+</para>
+</listitem>
+</itemizedlist>
+<para>
+A complex list:
+</para>
 <itemizedlist>
 <listitem>
+<para>First item</para>
+</listitem>
+<listitem>
 <para>First first item</para>
 </listitem>
 <listitem>
 <para>First second item</para>
 </listitem>
 </itemizedlist>
-<para>Text after first item</para>
-</listitem>
+<para>
+Text after first item
+</para>
+<itemizedlist>
 <listitem>
 <para>Second item</para>
-<orderedlist>
-<listitem>
+</listitem>
+</itemizedlist>
+<orderedlist><listitem>
 <para>Second first item</para>
 </listitem>
-<listitem>
+</orderedlist>
+<orderedlist><listitem>
 <para>Second second item</para>
 </listitem>
 </orderedlist>
-<para>Text after second item</para>
-</listitem>
-</itemizedlist>
+<para>
+Text after second item
+</para>
 
 </article>
\ No newline at end of file
diff --git a/lib/layouts/stdlayouts.inc b/lib/layouts/stdlayouts.inc
index 3b10ff4..1670695 100644
--- a/lib/layouts/stdlayouts.inc
+++ b/lib/layouts/stdlayouts.inc
@@ -28,8 +28,9 @@ Style Quotation
 	AlignPossible         Block, Left, Right, Center
 	HTMLTag               blockquote
 	HTMLItem              div
-	DocBookTag            blockquote
-	DocBookItemTag        para
+	DocBookWrapperTag     blockquote
+	DocBookWrapperMergeWithPrevious    true
+	DocBookTag            para
 End
 
 
@@ -50,8 +51,9 @@ Style Quote
 	LabelType             No_Label
 	HTMLTag               blockquote
 	HTMLItem              div
-	DocBookTag            blockquote
-	DocBookItemTag        para
+	DocBookWrapperTag     blockquote
+	DocBookWrapperMergeWithPrevious    true
+	DocBookTag            para
 End
 
 
diff --git a/lib/layouts/stdlists.inc b/lib/layouts/stdlists.inc
index 0eef65c..16a9e81 100644
--- a/lib/layouts/stdlists.inc
+++ b/lib/layouts/stdlists.inc
@@ -43,7 +43,9 @@ Style Itemize
 			Color latex
 		EndFont
 	EndArgument
-	DocBookTag            itemizedlist
+	DocBookWrapperTag     itemizedlist
+	DocBookWrapperMergeWithPrevious    true
+	DocBookTag            NONE
 	DocBookItemTag        listitem
 	DocBookItemInnerTag   para
 End
diff --git a/lib/layouts/stdstarsections.inc b/lib/layouts/stdstarsections.inc
index 7d6865f..60354b1 100644
--- a/lib/layouts/stdstarsections.inc
+++ b/lib/layouts/stdstarsections.inc
@@ -19,7 +19,7 @@ Style Part*
 	LabelCounter	""
 	ResetArgs       1
 	DocBookTag            bridgehead
-	DocBookAttr           renderas="part"
+	DocBookAttr           "renderas='other' otherrenderas='part'"
 	DocBookSectionTag     NONE
 	DocBookForceAbstractTag	NONE
 End
@@ -34,7 +34,7 @@ Style Chapter*
 	LabelCounter	""
 	ResetArgs       1
 	DocBookTag            bridgehead
-	DocBookAttr           renderas="chapter"
+	DocBookAttr           "renderas='other' otherrenderas='chapter'"
 	DocBookSectionTag     NONE
 	DocBookForceAbstractTag	NONE
 End
diff --git a/lib/layouts/stdstruct.inc b/lib/layouts/stdstruct.inc
index b02499f..c8b7eb4 100644
--- a/lib/layouts/stdstruct.inc
+++ b/lib/layouts/stdstruct.inc
@@ -51,8 +51,9 @@ Style Abstract
 	EndHTMLStyle
 	DocBookAbstract       true
 	DocBookInInfo         always
-	DocBookTag            abstract
-	DocBookItemTag        para
+	DocBookWrapperTag     abstract
+	DocBookWrapperMergeWithPrevious    true
+	DocBookTag            para
 End
 
 
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 2465cc4..24947f8 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -3383,12 +3383,9 @@ void Paragraph::simpleDocBookOnePar(Buffer const & buf,
 			if (!runparams.for_toc || inset->isInToc()) {
 				OutputParams np = runparams;
 				np.local_font = &font;
-				// If the paragraph has size 1, then we are in the "special
-				// case" where we do not output the containing paragraph info.
-				// This "special case" is defined in more details in output_docbook.cpp, makeParagraphs. The results
-				// of that brittle logic is passed to this function through open_par.
-				if (!inset->getLayout().htmlisblock() && size() != 1) // TODO: htmlisblock here too!
-					np.docbook_in_par = true;
+
+				// TODO: special case will bite here.
+				np.docbook_in_par = true;
 				inset->docbook(xs, np);
 			}
 		} else {
diff --git a/src/ParagraphList.h b/src/ParagraphList.h
index a57deb4..7e5cc1a 100644
--- a/src/ParagraphList.h
+++ b/src/ParagraphList.h
@@ -29,6 +29,17 @@ public:
 	ParagraphList(InputIterator first, InputIterator last)
 		: RandomAccessList<Paragraph>(first, last)
 	{}
+
+	const Paragraph * getParagraphBefore(const_iterator const & par) const
+	{
+		// No previous paragraph.
+		if (par == begin())
+			return nullptr;
+
+		auto prevpar = par;
+		--prevpar;
+		return &*prevpar;
+	}
 };
 
 } // namespace lyx
diff --git a/src/insets/InsetBibtex.cpp b/src/insets/InsetBibtex.cpp
index 34b22c1..c03a8e2 100644
--- a/src/insets/InsetBibtex.cpp
+++ b/src/insets/InsetBibtex.cpp
@@ -1157,10 +1157,11 @@ void InsetBibtex::docbook(XMLStream & xs, OutputParams const &) const
 
 	if (vit == ven) {
 		xs << XMLStream::ESCAPE_NONE << "<!-- No entry in the bibliography. -->";
+		xs << xml::CR();
 	}
 
 	for (; vit != ven; ++vit) {
-		BiblioInfo::const_iterator const biit = bibinfo.find(*vit);
+		auto const biit = bibinfo.find(*vit);
 		if (biit == bibinfo.end())
 			continue;
 
diff --git a/src/insets/InsetERT.cpp b/src/insets/InsetERT.cpp
index a023f7a..8e69e88 100644
--- a/src/insets/InsetERT.cpp
+++ b/src/insets/InsetERT.cpp
@@ -101,7 +101,7 @@ void InsetERT::docbook(XMLStream & xs, OutputParams const & runparams) const
 	odocstringstream os2;
 	XMLStream xs2(os2);
 
-	// Recreate the logic of makeParagraphs in output_docbook.cpp, but much simplified: never open <para>
+	// Recreate the logic of makeParagraph in output_docbook.cpp, but much simplified: never open <para>
 	// in an ERT, use simple line breaks.
 	while (par != end) {
 		par->simpleDocBookOnePar(buffer(), xs2, runparams, text().outerFont(distance(begin, par)));
@@ -116,6 +116,7 @@ void InsetERT::docbook(XMLStream & xs, OutputParams const & runparams) const
 	xs << XMLStream::ESCAPE_NONE << "<!-- ";
 	xs << XMLStream::ESCAPE_COMMENTS << os2.str();
 	xs << XMLStream::ESCAPE_NONE << " -->";
+	xs << xml::CR();
 }
 
 
diff --git a/src/insets/InsetNewline.cpp b/src/insets/InsetNewline.cpp
index 45d52b2..00b276e 100644
--- a/src/insets/InsetNewline.cpp
+++ b/src/insets/InsetNewline.cpp
@@ -176,17 +176,18 @@ void InsetNewline::docbook(XMLStream & xs, OutputParams const & runparams) const
 {
 	if (runparams.docbook_in_par) {
 		xs.closeFontTags();
-		if (!xs.pending_tags_empty()) {
-			xs << xml::EndTag("para");
-			xs << xml::StartTag("para");
-		}
-		else {
-			xs << xml::CR() << xml::CompTag("br") << xml::CR();
-		}
-	}
-	else {
-		xs << xml::CR() << xml::CompTag("br") << xml::CR();
+
+		// TODO: what if within a list item, and docbookiteminnertag is not para? This would require information
+		// about the paragraph's layout... Good for now, though, this should not happen in DocBook, only maybe
+		// extensions.
+		xs << XMLStream::ESCAPE_NONE << from_utf8("<!-- Is para open? " + string((xs.isTagOpen(xml::StartTag("para"))) ? "yes" : "no") +" -->");
+		xs << XMLStream::ESCAPE_NONE << from_utf8("</para>\n<para");
+		// TODO: that's a hack...
+//		xs << xml::EndTag("para");
+//		xs << xml::CR();
+//		xs << xml::StartTag("para");
 	}
+	// Outside a paragraph, no need to handle new lines.
 }
 
 
diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp
index cb6cec5..800cbeb 100644
--- a/src/mathed/InsetMathHull.cpp
+++ b/src/mathed/InsetMathHull.cpp
@@ -2471,7 +2471,8 @@ void InsetMathHull::docbook(XMLStream & xs, OutputParams const & runparams) cons
 		osmath << ostmp.str(); // osmath is not a XMLStream, so no need for XMLStream::ESCAPE_NONE.
 		ms << ETag("math");
 	} catch (MathExportException const &) {
-		osmath << "MathML export failed. Please report this as a bug.";
+		ms.cr();
+		osmath << "<mathphrase>MathML export failed. Please report this as a bug.</mathphrase>";
 	}
 
 	// Output the complete formula to the DocBook stream.
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 4430041..b29da56 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -43,6 +43,8 @@
 #include <algorithm>
 #include <sstream>
 
+// #define DOCBOOK_DEBUG_NEWLINES
+
 using namespace std;
 using namespace lyx::support;
 
@@ -191,6 +193,10 @@ namespace {
 
 void openParTag(XMLStream & xs, const Paragraph * par, const Paragraph * prevpar)
 {
+#ifdef DOCBOOK_DEBUG_NEWLINES
+	xs << XMLStream::ESCAPE_NONE << "<!-- openParTag -->";
+#endif
+
 	Layout const & lay = par->layout();
 
 	if (par == prevpar)
@@ -212,29 +218,43 @@ void openParTag(XMLStream & xs, const Paragraph * par, const Paragraph * prevpar
 	}
 
 	// Main logic.
-	if (openWrapper)
+	if (openWrapper) {
 		xs << xml::StartTag(lay.docbookwrappertag(), lay.docbookwrapperattr());
+		xs << xml::CR();
+	}
 
 	string tag = lay.docbooktag();
-	if (tag == "Plain Layout")
-		tag = "para";
-
-	if (!xs.isTagOpen(xml::ParTag(tag, lay.docbookattr()), 1)) // Don't nest a paragraph directly in a paragraph.
-		xs << xml::ParTag(tag, lay.docbookattr());
+	if (tag != "NONE") {
+		auto xmltag = xml::ParTag(tag, lay.docbookattr());
+		if (!xs.isTagOpen(xmltag, 1)) // Don't nest a paragraph directly in a paragraph. TODO: required or not?
+			xs << xmltag;
+	}
 
-	if (lay.docbookitemtag() != "NONE")
+	if (lay.docbookitemtag() != "NONE") {
 		xs << xml::StartTag(lay.docbookitemtag(), lay.docbookitemattr());
+		xs << xml::CR();
+	}
+
+	if (lay.docbookiteminnertag() != "NONE")
+		xs << xml::StartTag(lay.docbookiteminnertag(), lay.docbookiteminnerattr());
+
+#ifdef DOCBOOK_DEBUG_NEWLINES
+	xs << XMLStream::ESCAPE_NONE << "<!-- /openParTag -->";
+#endif
 }
 
 
-void closeTag(XMLStream & xs, Paragraph const * par, Paragraph const * nextpar)
+void closeParTag(XMLStream & xs, Paragraph const * par, Paragraph const * nextpar)
 {
-	Layout const & lay = par->layout();
+#ifdef DOCBOOK_DEBUG_NEWLINES
+	xs << XMLStream::ESCAPE_NONE << "<!-- closeParTag -->";
+#endif
 
 	if (par == nextpar)
 		nextpar = nullptr;
 
 	// See comment in openParTag.
+	Layout const & lay = par->layout();
 	bool closeWrapper = lay.docbookwrappertag() != "NONE";
 	if (nextpar != nullptr) {
 		Layout const & nextlay = nextpar->layout();
@@ -245,132 +265,133 @@ void closeTag(XMLStream & xs, Paragraph const * par, Paragraph const * nextpar)
 	}
 
 	// Main logic.
-	if (lay.docbookitemtag() != "NONE")
+	if (lay.docbookiteminnertag() != "NONE") {
+		xs << xml::EndTag(lay.docbookiteminnertag());
+		xs << xml::CR();
+	}
+
+	if (lay.docbookitemtag() != "NONE") {
 		xs << xml::EndTag(lay.docbookitemtag());
+		xs << xml::CR();
+	}
 
-	string tag = lay.docbooktag();
-	if (tag == "Plain Layout")
-		tag = "para";
+	if (lay.docbooktag() != "NONE") {
+		xs << xml::EndTag(lay.docbooktag());
+		xs << xml::CR();
+	}
 
-	xs << xml::EndTag(tag);
-	if (closeWrapper)
+	if (closeWrapper) {
 		xs << xml::EndTag(lay.docbookwrappertag());
-}
-
+		xs << xml::CR();
+	}
 
-void openLabelTag(XMLStream & xs, Layout const & lay) // Mostly for definition lists.
-{
-	xs << xml::StartTag(lay.docbookitemlabeltag(), lay.docbookitemlabelattr());
+#ifdef DOCBOOK_DEBUG_NEWLINES
+	xs << XMLStream::ESCAPE_NONE << "<!-- /closeParTag -->";
+#endif
 }
 
 
-void closeLabelTag(XMLStream & xs, Layout const & lay)
+void openBlockTag(XMLStream & xs, const Paragraph * par, const Paragraph * prevpar)
 {
-	xs << xml::EndTag(lay.docbookitemlabeltag());
-	xs << xml::CR();
-}
+#ifdef DOCBOOK_DEBUG_NEWLINES
+	xs << XMLStream::ESCAPE_NONE << "<!-- openBlockTag -->";
+#endif
 
+	// Similar as openParTag, but with a line feed after.
+	openParTag(xs, par, prevpar);
+	xs << xml::CR();
 
-void openItemTag(XMLStream & xs, Layout const & lay)
-{
-	xs << xml::StartTag(lay.docbookitemtag(), lay.docbookitemattr());
+#ifdef DOCBOOK_DEBUG_NEWLINES
+	xs << XMLStream::ESCAPE_NONE << "<!-- /openBlockTag -->";
+#endif
 }
 
 
-// Return true when new elements are output in a paragraph, false otherwise.
-bool openInnerItemTag(XMLStream & xs, Layout const & lay)
+void closeBlockTag(XMLStream & xs, const Paragraph * par, const Paragraph * prevpar)
 {
-	if (lay.docbookiteminnertag() != "NONE") {
-		xs << xml::CR();
-		xs << xml::ParTag(lay.docbookiteminnertag(), lay.docbookiteminnerattr());
+#ifdef DOCBOOK_DEBUG_NEWLINES
+	xs << XMLStream::ESCAPE_NONE << "<!-- closeBlockTag -->";
+#endif
 
-		if (lay.docbookiteminnertag() == "para") {
-			return true;
-		}
-	}
-	return false;
+	// Similar as closeParTag, but with a line feed before.
+	xs << xml::CR();
+	closeParTag(xs, par, prevpar);
+
+#ifdef DOCBOOK_DEBUG_NEWLINES
+	xs << XMLStream::ESCAPE_NONE << "<!-- /closeBlockTag -->";
+#endif
 }
 
 
-void closeInnerItemTag(XMLStream & xs, Layout const & lay)
+void openLabelTag(XMLStream & xs, Layout const & lay) // Mostly for definition lists.
 {
-	if (lay.docbookiteminnertag()!= "NONE") {
-		xs << xml::EndTag(lay.docbookiteminnertag());
-		xs << xml::CR();
-	}
+#ifdef DOCBOOK_DEBUG_NEWLINES
+	xs << XMLStream::ESCAPE_NONE << "<!-- openLabelTag -->";
+#endif
+
+	xs << xml::StartTag(lay.docbookitemlabeltag(), lay.docbookitemlabelattr());
+
+#ifdef DOCBOOK_DEBUG_NEWLINES
+	xs << XMLStream::ESCAPE_NONE << "<!-- /openLabelTag -->";
+#endif
 }
 
 
-inline void closeItemTag(XMLStream & xs, Layout const & lay)
+void closeLabelTag(XMLStream & xs, Layout const & lay)
 {
-	xs << xml::EndTag(lay.docbookitemtag());
+#ifdef DOCBOOK_DEBUG_NEWLINES
+	xs << XMLStream::ESCAPE_NONE << "<!-- closeLabelTag -->";
+#endif
+
+	xs << xml::EndTag(lay.docbookitemlabeltag());
 	xs << xml::CR();
-}
 
-// end of convenience functions
+#ifdef DOCBOOK_DEBUG_NEWLINES
+	xs << XMLStream::ESCAPE_NONE << "<!-- closeLabelTag -->";
+#endif
+}
 
-ParagraphList::const_iterator findLast(
-		ParagraphList::const_iterator p,
-		ParagraphList::const_iterator const & pend,
-		LatexType type) {
-	for (++p; p != pend && p->layout().latextype == type; ++p);
 
-	return p;
-}
+void openItemTag(XMLStream & xs, Layout const & lay)
+{
+#ifdef DOCBOOK_DEBUG_NEWLINES
+	xs << XMLStream::ESCAPE_NONE << "<!-- openItemTag -->";
+#endif
 
-ParagraphList::const_iterator findLastBibliographyParagraph(
-		ParagraphList::const_iterator p,
-		ParagraphList::const_iterator const & pend) {
-	for (++p; p != pend && p->layout().latextype == LATEX_BIB_ENVIRONMENT; ++p);
+	xs << xml::StartTag(lay.docbookitemtag(), lay.docbookitemattr());
 
-	return p;
+#ifdef DOCBOOK_DEBUG_NEWLINES
+	xs << XMLStream::ESCAPE_NONE << "<!-- /openItemTag -->";
+#endif
 }
 
 
-ParagraphList::const_iterator findEndOfEnvironment(
-		ParagraphList::const_iterator const & pstart,
-		ParagraphList::const_iterator const & pend)
+void closeItemTag(XMLStream & xs, Layout const & lay)
 {
-	ParagraphList::const_iterator p = pstart;
-	size_t const depth = p->params().depth();
-
-	for (++p; p != pend; ++p) {
-		Layout const &style = p->layout();
-		// It shouldn't happen that e.g. a section command occurs inside
-		// a quotation environment, at a higher depth, but as of 6/2009,
-		// it can happen. We pretend that it's just at lowest depth.
-		if (style.latextype == LATEX_COMMAND)
-			return p;
-
-		// If depth is down, we're done
-		if (p->params().depth() < depth)
-			return p;
-
-		// If depth is up, we're not done
-		if (p->params().depth() > depth)
-			continue;
+#ifdef DOCBOOK_DEBUG_NEWLINES
+	xs << XMLStream::ESCAPE_NONE << "<!-- closeItemTag -->";
+#endif
 
-		// FIXME I am not sure about the first check.
-		// Surely we *could* have different layouts that count as
-		// LATEX_PARAGRAPH, right?
-		if (style.latextype == LATEX_PARAGRAPH || style != p->layout())
-			return p;
-	}
+	xs << xml::EndTag(lay.docbookitemtag());
+	xs << xml::CR();
 
-	return pend;
+#ifdef DOCBOOK_DEBUG_NEWLINES
+	xs << XMLStream::ESCAPE_NONE << "<!-- /closeItemTag -->";
+#endif
 }
 
 
-ParagraphList::const_iterator makeParagraphBibliography(
-		Buffer const &buf,
-		XMLStream &xs,
-		OutputParams const &runparams,
-		Text const &text,
-		ParagraphList::const_iterator const & pbegin,
-		ParagraphList::const_iterator const & pend)
+void makeParagraphBibliography(
+		Buffer const & buf,
+		XMLStream & xs,
+		OutputParams const & runparams,
+		Text const & text,
+		ParagraphList::const_iterator const & pbegin)
 {
 	auto const begin = text.paragraphs().begin();
 	auto const end = text.paragraphs().end();
+	auto pend = pbegin;
+	++pend;
 
 	// Find the paragraph *before* pbegin.
 	ParagraphList::const_iterator pbegin_before = begin;
@@ -420,322 +441,203 @@ ParagraphList::const_iterator makeParagraphBibliography(
 		xs << xml::EndTag("bibliography");
 		xs << xml::CR();
 	}
-
-	return pend;
 }
 
 
-ParagraphList::const_iterator makeParagraphs(
-		Buffer const &buf,
-		XMLStream &xs,
-		OutputParams const &runparams,
-		Text const &text,
-		ParagraphList::const_iterator const & pbegin,
-		ParagraphList::const_iterator const & pend)
+void makeParagraph(
+		Buffer const & buf,
+		XMLStream & xs,
+		OutputParams const & runparams,
+		Text const & text,
+		ParagraphList::const_iterator const & par)
 {
 	auto const begin = text.paragraphs().begin();
 	auto const end = text.paragraphs().end();
-	ParagraphList::const_iterator par = pbegin;
-	ParagraphList::const_iterator prevpar = pbegin;
-
-	for (; par != pend; prevpar = par, ++par) {
-		// We want to open the paragraph tag if:
-		//   (i) the current layout permits multiple paragraphs
-		//  (ii) we are either not already inside a paragraph (HTMLIsBlock) OR
-		//	   we are, but this is not the first paragraph
-		//
-		// But there is also a special case, and we first see whether we are in it.
-		// We do not want to open the paragraph tag if this paragraph contains
-		// only one item, and that item is "inline", i.e., not HTMLIsBlock (such
-		// as a branch). On the other hand, if that single item has a font change
-		// applied to it, then we still do need to open the paragraph.
-		//
-		// Obviously, this is very fragile. The main reason we need to do this is
-		// because of branches, e.g., a branch that contains an entire new section.
-		// We do not really want to wrap that whole thing in a <div>...</div>.
-		bool special_case = false;
-		Inset const *specinset = par->size() == 1 ? par->getInset(0) : nullptr;
-		if (specinset && !specinset->getLayout().htmlisblock()) { // TODO: Convert htmlisblock to a DocBook parameter?
-			Layout const &style = par->layout();
-			FontInfo const first_font = style.labeltype == LABEL_MANUAL ?
-										style.labelfont : style.font;
-			FontInfo const our_font =
-					par->getFont(buf.masterBuffer()->params(), 0,
-								 text.outerFont(distance(begin, par))).fontInfo();
-
-			if (first_font == our_font)
-				special_case = true;
-		}
+	auto prevpar = text.paragraphs().getParagraphBefore(par);
+
+	// We want to open the paragraph tag if:
+	//   (i) the current layout permits multiple paragraphs
+	//  (ii) we are either not already inside a paragraph (HTMLIsBlock) OR
+	//	   we are, but this is not the first paragraph
+	//
+	// But there is also a special case, and we first see whether we are in it.
+	// We do not want to open the paragraph tag if this paragraph contains
+	// only one item, and that item is "inline", i.e., not HTMLIsBlock (such
+	// as a branch). On the other hand, if that single item has a font change
+	// applied to it, then we still do need to open the paragraph.
+	//
+	// Obviously, this is very fragile. The main reason we need to do this is
+	// because of branches, e.g., a branch that contains an entire new section.
+	// We do not really want to wrap that whole thing in a <div>...</div>.
+	bool special_case = false;
+	Inset const *specinset = par->size() == 1 ? par->getInset(0) : nullptr;
+	if (specinset && !specinset->getLayout().htmlisblock()) { // TODO: Convert htmlisblock to a DocBook parameter?
+		Layout const &style = par->layout();
+		FontInfo const first_font = style.labeltype == LABEL_MANUAL ?
+									style.labelfont : style.font;
+		FontInfo const our_font =
+				par->getFont(buf.masterBuffer()->params(), 0,
+							 text.outerFont(std::distance(begin, par))).fontInfo();
 
-		// Plain layouts must be ignored.
-		if (!special_case && buf.params().documentClass().isPlainLayout(par->layout()) && !runparams.docbook_force_pars)
+		if (first_font == our_font)
 			special_case = true;
-		// TODO: Could get rid of this with a DocBook equivalent to htmlisblock?
-		if (!special_case && par->size() == 1 && par->getInset(0)) {
-			Inset const * firstInset = par->getInset(0);
+	}
+
+	// Plain layouts must be ignored.
+	if (!special_case && buf.params().documentClass().isPlainLayout(par->layout()) && !runparams.docbook_force_pars)
+		special_case = true;
+	// TODO: Could get rid of this with a DocBook equivalent to htmlisblock?
+	if (!special_case && par->size() == 1 && par->getInset(0)) {
+		Inset const * firstInset = par->getInset(0);
 
-			// Floats cannot be in paragraphs.
-			special_case = to_utf8(firstInset->layoutName()).substr(0, 6) == "Float:";
+		// Floats cannot be in paragraphs.
+		special_case = to_utf8(firstInset->layoutName()).substr(0, 6) == "Float:";
 
-			// Bibliographies cannot be in paragraphs.
-			if (!special_case && firstInset->asInsetCommand())
-				special_case = firstInset->asInsetCommand()->params().getCmdName() == "bibtex";
+		// Bibliographies cannot be in paragraphs.
+		if (!special_case && firstInset->asInsetCommand())
+			special_case = firstInset->asInsetCommand()->params().getCmdName() == "bibtex";
 
-			// Equations do not deserve their own paragraph (DocBook allows them outside paragraphs).
-			if (!special_case && firstInset->asInsetMath())
-				special_case = true;
+		// Equations do not deserve their own paragraph (DocBook allows them outside paragraphs).
+		if (!special_case && firstInset->asInsetMath())
+			special_case = true;
 
-			// ERTs are in comments, not paragraphs.
-			if (!special_case && firstInset->lyxCode() == lyx::ERT_CODE)
-				special_case = true;
+		// ERTs are in comments, not paragraphs.
+		if (!special_case && firstInset->lyxCode() == lyx::ERT_CODE)
+			special_case = true;
 
-			// Listings should not get into their own paragraph.
-			if (!special_case && firstInset->lyxCode() == lyx::LISTINGS_CODE)
-				special_case = true;
-		}
+		// Listings should not get into their own paragraph.
+		if (!special_case && firstInset->lyxCode() == lyx::LISTINGS_CODE)
+			special_case = true;
+	}
 
-		bool const open_par = runparams.docbook_make_pars
-							  && (!runparams.docbook_in_par || par != pbegin)
-							  && !special_case;
-
-		// We want to issue the closing tag if either:
-		//   (i)  We opened it, and either docbook_in_par is false,
-		//		or we're not in the last paragraph, anyway.
-		//   (ii) We didn't open it and docbook_in_par is true,
-		//		but we are in the first par, and there is a next par.
-		auto nextpar = par;
-		++nextpar;
-		bool const close_par =
-				((open_par && (!runparams.docbook_in_par || nextpar != pend))
-				|| (!open_par && runparams.docbook_in_par && par == pbegin && nextpar != pend));
-
-		// Determine if this paragraph has some real content. Things like new pages are not caught
-		// by Paragraph::empty(), even though they do not generate anything useful in DocBook.
-		odocstringstream os2;
-		XMLStream xs2(os2);
-		par->simpleDocBookOnePar(buf, xs2, runparams, text.outerFont(distance(begin, par)), open_par, close_par, 0);
+	bool const open_par = runparams.docbook_make_pars
+						  && !runparams.docbook_in_par
+						  && !special_case;
 
-		docstring cleaned = os2.str();
-		static const lyx::regex reg("[ \\r\\n]*");
-		cleaned = from_utf8(lyx::regex_replace(to_utf8(cleaned), reg, string("")));
+	// We want to issue the closing tag if either:
+	//   (i)  We opened it, and either docbook_in_par is false,
+	//		or we're not in the last paragraph, anyway.
+	//   (ii) We didn't open it and docbook_in_par is true,
+	//		but we are in the first par, and there is a next par.
+	auto nextpar = par;
+	++nextpar;
+	bool const close_par = open_par && (!runparams.docbook_in_par);
 
-		if (!cleaned.empty()) {
-			if (open_par)
-				openParTag(xs, &*par, &*prevpar);
+	// Determine if this paragraph has some real content. Things like new pages are not caught
+	// by Paragraph::empty(), even though they do not generate anything useful in DocBook.
+	odocstringstream os2;
+	XMLStream xs2(os2);
+	par->simpleDocBookOnePar(buf, xs2, runparams, text.outerFont(distance(begin, par)), open_par, close_par, 0);
 
-			xs << XMLStream::ESCAPE_NONE << os2.str();
+	docstring cleaned = os2.str();
+	static const lyx::regex reg("[ \\r\\n]*");
+	cleaned = from_utf8(lyx::regex_replace(to_utf8(cleaned), reg, string("")));
 
-			if (close_par) {
-				closeTag(xs, &*par, (nextpar != end) ? &*nextpar : nullptr);
-				xs << xml::CR();
-			}
-		}
+	if (!cleaned.empty()) {
+		if (open_par)
+			openParTag(xs, &*par, prevpar);
+
+		xs << XMLStream::ESCAPE_NONE << os2.str();
+
+		if (close_par)
+			closeParTag(xs, &*par, (nextpar != end) ? &*nextpar : nullptr);
 	}
-	return pend;
 }
 
 
-bool isNormalEnv(Layout const &lay)
-{
-	return lay.latextype == LATEX_ENVIRONMENT
-		   || lay.latextype == LATEX_BIB_ENVIRONMENT;
-}
+void makeAny(
+		Text const &text,
+		Buffer const &buf,
+		XMLStream &xs,
+		OutputParams const &ourparams,
+		ParagraphList::const_iterator par);
 
 
-ParagraphList::const_iterator makeEnvironment(
+void makeEnvironment(
 		Buffer const &buf,
 		XMLStream &xs,
 		OutputParams const &runparams,
 		Text const &text,
-		ParagraphList::const_iterator const & pbegin,
-		ParagraphList::const_iterator const & pend)
+		ParagraphList::const_iterator const & par)
 {
-	auto const begin = text.paragraphs().begin();
 	auto const end = text.paragraphs().end();
-	ParagraphList::const_iterator par = pbegin;
-	depth_type const origdepth = pbegin->params().depth();
-
-	// Output the opening tag for this environment.
-	{
-		// Find the previous paragraph.
-		auto prevpar = begin;
-		if (prevpar != par) {
-			auto prevpar_next = prevpar;
-			++prevpar_next;
-
-			while (prevpar_next != par) {
-				++prevpar_next;
-				++prevpar;
-			}
-		}
 
-		// Open tag for this environment.
-		openParTag(xs, &*par, &*prevpar);
-		xs << xml::CR();
-	}
-
-	// we will on occasion need to remember a layout from before.
-	Layout const *lastlay = nullptr;
-	auto prevpar = par;
-
-	while (par != pend) {
-		Layout const & style = par->layout();
-		ParagraphList::const_iterator send;
-
-		auto parnext = par;
-		++parnext;
-
-		// Actual content of this paragraph.
-		prevpar = par;
-		switch (style.latextype) {
-		case LATEX_ENVIRONMENT:
-		case LATEX_LIST_ENVIRONMENT:
-		case LATEX_ITEM_ENVIRONMENT: {
-			// There are two possibilities in this case.
-			// One is that we are still in the environment in which we
-			// started---which we will be if the depth is the same.
-			if (par->params().depth() == origdepth) {
-				LATTEST(par->layout() == style);
-				if (lastlay != nullptr) {
-					closeItemTag(xs, *lastlay);
-					if (lastlay->docbookitemwrappertag() != "NONE") {
-						xs << xml::EndTag(lastlay->docbookitemwrappertag());
-						xs << xml::CR();
-					}
-					lastlay = nullptr;
-				}
-
-				// this will be positive if we want to skip the
-				// initial word (if it's been taken for the label).
-				pos_type sep = 0;
+	// Output the opening tag for this environment, but only if it has not been previously opened (condition
+	// implemented in openParTag).
+	auto prevpar = text.paragraphs().getParagraphBefore(par);
+	openParTag(xs, &*par, prevpar); // TODO: switch in layout for par/block?
+
+	// Generate the contents of this environment. There is a special case if this is like some environment.
+	Layout const & style = par->layout();
+	if (style.latextype == LATEX_COMMAND) {
+		// Nothing to do (otherwise, infinite loops).
+	} else if (style.latextype == LATEX_ENVIRONMENT ||
+			style.latextype == LATEX_LIST_ENVIRONMENT ||
+			style.latextype == LATEX_ITEM_ENVIRONMENT) {
+		// Open a wrapper tag if needed.
+		if (style.docbookitemwrappertag() != "NONE") {
+			xs << xml::StartTag(style.docbookitemwrappertag(), style.docbookitemwrapperattr());
+			xs << xml::CR();
+		}
 
-				// Open a wrapper tag if needed.
-				if (style.docbookitemwrappertag() != "NONE") {
-					xs << xml::StartTag(style.docbookitemwrappertag(), style.docbookitemwrapperattr());
+		// Generate the label, if need be. If it is taken from the text, sep != 0 and corresponds to the first
+		// character after the label.
+		pos_type sep = 0;
+		if (style.labeltype != LABEL_NO_LABEL && style.docbookitemlabeltag() != "NONE") {
+			// At least one condition must be met:
+			//  - this environment is not a list
+			//  - if this is a list, the label must not be manual (i.e. it must be taken from the layout)
+			if (style.latextype != LATEX_LIST_ENVIRONMENT || style.labeltype != LABEL_MANUAL) {
+				// Usual cases: maybe there is something specified at the layout level. Highly unlikely, though.
+				docstring const lbl = par->params().labelString();
+
+				if (lbl.empty()) {
 					xs << xml::CR();
-				}
-
-				// label output
-				if (style.labeltype != LABEL_NO_LABEL &&
-						style.docbookitemlabeltag() != "NONE") {
-
-					if (isNormalEnv(style)) {
-						// in this case, we print the label only for the first
-						// paragraph (as in a theorem or an abstract).
-						if (par == pbegin) {
-							docstring const lbl = pbegin->params().labelString();
-							if (!lbl.empty()) {
-								openLabelTag(xs, style);
-								xs << lbl;
-								closeLabelTag(xs, style);
-							} else {
-								// No new line after closeLabelTag.
-								xs << xml::CR();
-							}
-						}
-					} else { // some kind of list
-						if (style.labeltype == LABEL_MANUAL) {
-							// Only variablelist gets here.
-
-							openLabelTag(xs, style);
-							sep = par->firstWordDocBook(xs, runparams);
-							closeLabelTag(xs, style);
-						} else {
-							openLabelTag(xs, style);
-							xs << par->params().labelString();
-							closeLabelTag(xs, style);
-						}
-					}
-				} // end label output
-
-				// Start generating the item.
-				bool wasInParagraph = runparams.docbook_in_par;
-				openItemTag(xs, style);
-				bool getsIntoParagraph = openInnerItemTag(xs, style);
-				OutputParams rp = runparams;
-				rp.docbook_in_par = wasInParagraph | getsIntoParagraph;
-
-				// Maybe the item is completely empty, i.e. if the first word ends at the end of the current paragraph
-				// AND if the next paragraph doesn't have the same depth (if there is such a paragraph).
-				// Common case: there is only the first word on the line, but there is a nested list instead
-				// of more text.
-				bool emptyItem = false;
-				if (sep == par->size()) {
-					auto next_par = par;
-					++next_par;
-					if (next_par == text.paragraphs().end()) // There is no next paragraph.
-						emptyItem = true;
-					else // There is a next paragraph: check depth.
-						emptyItem = par->params().depth() >= next_par->params().depth();
-				}
-
-				if (emptyItem) {
-					// Avoid having an empty item, this is not valid DocBook. A single character is enough to force
-					// generation of a full <para>.
-					xs << ' ';
 				} else {
-					// Generate the rest of the paragraph, if need be.
-					par->simpleDocBookOnePar(buf, xs, rp, text.outerFont(distance(begin, par)), true, true, sep);
+					openLabelTag(xs, style);
+					xs << lbl;
+					closeLabelTag(xs, style);
 				}
-
-				++par;
-				if (getsIntoParagraph)
-					closeInnerItemTag(xs, style);
-
-				// We may not want to close the tag yet, in particular:
-				// If we're not at the end of the item...
-				if (par != pend
-					//  and are doing items...
-					&& !isNormalEnv(style)
-					// and if the depth has changed...
-					&& par->params().depth() != origdepth) {
-					// then we'll save this layout for later, and close it when
-					// we get another item.
-					lastlay = &style;
-				} else {
-					closeItemTag(xs, style);
-
-					// Eventually, close the item wrapper.
-					if (style.docbookitemwrappertag() != "NONE") {
-						xs << xml::EndTag(style.docbookitemwrappertag());
-						xs << xml::CR();
-					}
-				}
-			}
-			// The other possibility is that the depth has increased.
-			else {
-				send = findEndOfEnvironment(par, pend);
-				par = makeEnvironment(buf, xs, runparams, text, par, send);
+			} else {
+				// Only variablelist gets here (or similar items defined as an extension in the layout).
+				openLabelTag(xs, style);
+				sep = par->firstWordDocBook(xs, runparams);
+				closeLabelTag(xs, style);
 			}
-			break;
 		}
-		case LATEX_PARAGRAPH:
-//			send = findLast(par, pend, LATEX_PARAGRAPH);
-			par = makeParagraphs(buf, xs, runparams, text, par, parnext);
-			break;
-		case LATEX_BIB_ENVIRONMENT:
-//			send = findLast(par, pend, LATEX_BIB_ENVIRONMENT);
-			makeParagraphBibliography(buf, xs, runparams, text, par, parnext);
-			break;
-		case LATEX_COMMAND:
-			par = parnext;
-			break;
+
+		// Maybe the item is completely empty, i.e. if the first word ends at the end of the current paragraph
+		// AND if the next paragraph doesn't have the same depth (if there is such a paragraph).
+		// Common case: there is only the first word on the line, but there is a nested list instead
+		// of more text.
+		bool emptyItem = false;
+		if (sep == par->size()) { // If the separator is already at the end of this paragraph...
+			auto next_par = par;
+			++next_par;
+			if (next_par == text.paragraphs().end()) // There is no next paragraph.
+				emptyItem = true;
+			else // There is a next paragraph: check depth.
+				emptyItem = par->params().depth() >= next_par->params().depth();
 		}
-	}
 
-	if (lastlay != nullptr) {
-		closeItemTag(xs, *lastlay);
-		if (lastlay->docbookitemwrappertag() != "NONE") {
-			xs << xml::EndTag(lastlay->docbookitemwrappertag());
-			xs << xml::CR();
+		if (emptyItem) {
+			// Avoid having an empty item, this is not valid DocBook. A single character is enough to force
+			// generation of a full <para>.
+			// TODO: this always worked only by magic...
+			xs << ' ';
+		} else {
+			// Generate the rest of the paragraph, if need be.
+			par->simpleDocBookOnePar(buf, xs, runparams, text.outerFont(std::distance(text.paragraphs().begin(), par)),
+							         true, true, sep);
 		}
+	} else {
+		makeAny(text, buf, xs, runparams, par);
 	}
-//	auto nextpar = par;
-//	++nextpar;
-	closeTag(xs, &*prevpar, &*par);
-//	closeTag(xs, &*par, (nextpar != end) ? &*nextpar : nullptr);
-	xs << xml::CR();
-	return pend;
+
+	// Close the environment.
+	auto nextpar = par;
+	++nextpar;
+	closeParTag(xs, &*par, (nextpar != end) ? &*nextpar : nullptr); // TODO: switch in layout for par/block?
 }
 
 
@@ -744,117 +646,48 @@ void makeCommand(
 		XMLStream & xs,
 		OutputParams const & runparams,
 		Text const & text,
-		ParagraphList::const_iterator const & pbegin)
+		ParagraphList::const_iterator const & par)
 {
-	// No need for labels, as they are handled by DocBook tags.
+	// Unlike XHTML, no need for labels, as they are handled by DocBook tags.
 	auto const begin = text.paragraphs().begin();
 	auto const end = text.paragraphs().end();
-	auto nextpar = pbegin;
+	auto nextpar = par;
 	++nextpar;
 
-	// Find the previous paragraph.
-	auto prevpar = begin;
-	if (prevpar != pbegin) {
-		auto prevpar_next = prevpar;
-		++prevpar_next;
-
-		while (prevpar_next != pbegin) {
-			++prevpar_next;
-			++prevpar;
-		}
-	}
-
 	// Generate this command.
-	openParTag(xs, &*pbegin, &*prevpar);
+	auto prevpar = text.paragraphs().getParagraphBefore(par);
+	openParTag(xs, &*par, prevpar);
 
-	pbegin->simpleDocBookOnePar(buf, xs, runparams,
-								text.outerFont(distance(begin, pbegin)));
+	par->simpleDocBookOnePar(buf, xs, runparams,
+	                         text.outerFont(distance(begin, par)));
 
-	closeTag(xs, &*pbegin, (nextpar != end) ? &*nextpar : nullptr);
-	xs << xml::CR();
+	closeParTag(xs, &*par, (nextpar != end) ? &*nextpar : nullptr);
 }
 
-pair<ParagraphList::const_iterator, ParagraphList::const_iterator> makeAny(
+
+void makeAny(
 		Text const &text,
 		Buffer const &buf,
 		XMLStream &xs,
 		OutputParams const &ourparams,
-		ParagraphList::const_iterator par,
-		ParagraphList::const_iterator send,
-		ParagraphList::const_iterator pend)
+		ParagraphList::const_iterator par)
 {
 	switch (par->layout().latextype) {
-	case LATEX_COMMAND: {
-		// The files with which we are working never have more than
-		// one paragraph in a command structure.
-		// FIXME
-		// if (ourparams.docbook_in_par)
-		//   fix it so we don't get sections inside standard, e.g.
-		// note that we may then need to make runparams not const, so we
-		// can communicate that back.
-		// FIXME Maybe this fix should be in the routines themselves, in case
-		// they are called from elsewhere.
+	case LATEX_COMMAND:
 		makeCommand(buf, xs, ourparams, text, par);
-		++par;
 		break;
-	}
 	case LATEX_ENVIRONMENT:
 	case LATEX_LIST_ENVIRONMENT:
 	case LATEX_ITEM_ENVIRONMENT:
-		// FIXME Same fix here.
-		send = findEndOfEnvironment(par, pend);
-		par = makeEnvironment(buf, xs, ourparams, text, par, send);
+		makeEnvironment(buf, xs, ourparams, text, par);
 		break;
 	case LATEX_PARAGRAPH:
-		send = findLast(par, pend, LATEX_PARAGRAPH);
-		par = makeParagraphs(buf, xs, ourparams, text, par, send);
+		makeParagraph(buf, xs, ourparams, text, par);
 		break;
 	case LATEX_BIB_ENVIRONMENT:
-		send = findLast(par, pend, LATEX_BIB_ENVIRONMENT);
-		par = makeParagraphBibliography(buf, xs, ourparams, text, par, send);
+		makeParagraphBibliography(buf, xs, ourparams, text, par);
 		break;
 	}
-
-	return make_pair(par, send);
-}
-
-ParagraphList::const_iterator makeAnySimple(
-		Text const &text,
-		Buffer const &buf,
-		XMLStream &xs,
-		OutputParams const &ourparams,
-		ParagraphList::const_iterator par)
-{
-	auto parnext = par;
-	++parnext;
-
-	switch (par->layout().latextype) {
-	case LATEX_COMMAND: {
-		// The files with which we are working never have more than
-		// one paragraph in a command structure.
-		// FIXME
-		// if (ourparams.docbook_in_par)
-		//   fix it so we don't get sections inside standard, e.g.
-		// note that we may then need to make runparams not const, so we
-		// can communicate that back.
-		// FIXME Maybe this fix should be in the routines themselves, in case
-		// they are called from elsewhere.
-		makeCommand(buf, xs, ourparams, text, par);
-		return parnext;
-	}
-	case LATEX_ENVIRONMENT:
-	case LATEX_LIST_ENVIRONMENT:
-	case LATEX_ITEM_ENVIRONMENT:
-		// FIXME Same fix here.
-		return makeEnvironment(buf, xs, ourparams, text, par, parnext);
-	case LATEX_PARAGRAPH:
-		return makeParagraphs(buf, xs, ourparams, text, par, parnext);
-	case LATEX_BIB_ENVIRONMENT:
-		return makeParagraphBibliography(buf, xs, ourparams, text, par, parnext);
-	}
-
-	// This should never happen. Return the next paragraph to avoid an infinite loop.
-	return parnext;
 }
 
 } // end anonymous namespace
@@ -885,9 +718,8 @@ DocBookDocumentSectioning hasDocumentSectioning(ParagraphList const &paragraphs,
 		Layout const &style = paragraphs[bpit].layout();
 		documentHasSections |= style.category() == from_utf8("Sectioning");
 
-		if (documentHasSections) {
+		if (documentHasSections)
 			break;
-		}
 		bpit += 1;
 	}
 	// Paragraphs before the first section: [ runparams.par_begin ; eppit )
@@ -898,7 +730,10 @@ DocBookDocumentSectioning hasDocumentSectioning(ParagraphList const &paragraphs,
 
 bool hasOnlyNotes(Paragraph const & par)
 {
+	// Precondition: the paragraph is not empty. Otherwise, the function will always return true...
 	for (int i = 0; i < par.size(); ++i)
+		// If you find something that is not an inset (like actual text) or an inset that is not a note,
+		// return false.
 		if (!par.isInset(i) || !dynamic_cast<InsetNote *>(par.insetList().get(i)))
 			return false;
 	return true;
@@ -994,37 +829,6 @@ DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs, pit_type b
 }
 
 
-pit_type generateDocBookParagraphWithoutSectioning(
-		Text const & text,
-		Buffer const & buf,
-		XMLStream & xs,
-		OutputParams const & runparams,
-		ParagraphList const & paragraphs,
-		DocBookInfoTag const & info)
-{
-	auto bpit = info.bpit;
-	auto par = paragraphs.iterator_at(bpit);
-	auto lastStartedPar = par;
-	ParagraphList::const_iterator send;
-	auto const pend =
-			(info.epit == (int) paragraphs.size()) ?
-			paragraphs.end() : paragraphs.iterator_at(info.epit);
-
-	while (bpit < info.epit) {
-		if (info.abstract.find(bpit) != info.abstract.end()) {
-			bpit += 1;
-			continue;
-		}
-
-		tie(par, send) = makeAny(text, buf, xs, runparams, par, send, pend);
-		bpit += distance(lastStartedPar, par);
-		lastStartedPar = par;
-	}
-
-	return bpit;
-}
-
-
 void outputDocBookInfo(
 		Text const & text,
 		Buffer const & buf,
@@ -1040,6 +844,7 @@ void outputDocBookInfo(
 	bool hasAbstract = !info.abstract.empty();
 	docstring abstract;
 	if (hasAbstract) {
+		// Generate the abstract XML into a string before further checks.
 		odocstringstream os2;
 		{
 			XMLStream xs2(os2);
@@ -1048,8 +853,7 @@ void outputDocBookInfo(
 			// info.abstract is inclusive, epit is exclusive, hence +1 for looping.
 
 			while (bpit < epit) {
-				makeAnySimple(text, buf, xs2, runparams, paragraphs.iterator_at(bpit));
-				xs2 << XMLStream::ESCAPE_NONE << from_ascii("<!-- " + to_string(bpit) + " -->");
+				makeAny(text, buf, xs2, runparams, paragraphs.iterator_at(bpit));
 				bpit += 1;
 			}
 		}
@@ -1065,7 +869,7 @@ void outputDocBookInfo(
 			hasAbstract = false;
 	}
 
-	// The abstract must go in <info>.
+	// The abstract must go in <info>. Otherwise, decide whether to open <info> based on the layouts.
 	bool needInfo = !info.mustBeInInfo.empty() || hasAbstract;
 
 	// Start the <info> tag if required.
@@ -1076,16 +880,17 @@ void outputDocBookInfo(
 	}
 
 	// Output the elements that should go in <info>, before and after the abstract.
-	xs << XMLStream::ESCAPE_NONE << "<!-- shouldBeInInfo -->";
-	for (auto pit : info.shouldBeInInfo) // Typically, the title: these elements are so important and ubiquitous
-		// that mandating a wrapper like <info> would repel users.
-		makeAnySimple(text, buf, xs, runparams, paragraphs.iterator_at(pit));
-	xs << XMLStream::ESCAPE_NONE << "<!-- mustBeInInfo -->";
-	for (auto pit : info.mustBeInInfo)
+	for (auto pit : info.shouldBeInInfo) { // Typically, the title: these elements are so important and ubiquitous
+		// that mandating a wrapper like <info> would repel users. Thus, generate them first.
+		makeAny(text, buf, xs, runparams, paragraphs.iterator_at(pit));
+	}
+	for (auto pit : info.mustBeInInfo) {
 		if (info.abstract.find(pit) == info.abstract.end()) // The abstract must be in info, but is dealt with after.
-			makeAnySimple(text, buf, xs, runparams, paragraphs.iterator_at(pit));
-	xs << XMLStream::ESCAPE_NONE << "<!-- /info -->";
+			makeAny(text, buf, xs, runparams, paragraphs.iterator_at(pit));
+	}
 
+	// Always output the abstract as the last item of the <info>, as it requires special treatment (especially if
+	// it contains several paragraphs that are empty).
 	if (hasAbstract) {
 //		string tag = paragraphs[*info.abstract.begin()].layout().docbookforceabstracttag();
 //		if (tag == "NONE")
@@ -1093,9 +898,7 @@ void outputDocBookInfo(
 //
 //		xs << xml::StartTag(tag);
 //		xs << xml::CR();
-		xs << XMLStream::ESCAPE_NONE << "<!-- abs -->";
 		xs << XMLStream::ESCAPE_NONE << abstract;
-		xs << XMLStream::ESCAPE_NONE << "<!-- /abs -->";
 //		xs << xml::EndTag(tag);
 //		xs << xml::CR();
 	}
@@ -1147,7 +950,7 @@ void docbookSimpleAllParagraphs(
 	while (bpit < epit) {
 		auto par = paragraphs.iterator_at(bpit);
 		if (!hasOnlyNotes(*par))
-			makeAnySimple(text, buf, xs, runparams, par);
+			makeAny(text, buf, xs, runparams, par);
 		bpit += 1;
 	}
 }
@@ -1170,9 +973,6 @@ void docbookParagraphs(Text const &text,
 				return;
 			});
 
-	ParagraphList::const_iterator const pend =
-			(epit == (int) paragraphs.size()) ?
-			paragraphs.end() : paragraphs.iterator_at(epit);
 	std::stack<std::pair<int, string>> headerLevels; // Used to determine when to open/close sections: store the depth
 	// of the section and the tag that was used to open it.
 
@@ -1203,8 +1003,7 @@ void docbookParagraphs(Text const &text,
 		ParagraphList::const_iterator send;
 
 		if (hasOnlyNotes(*par)) {
-			++par;
-			bpit += distance(lastStartedPar, par);
+			bpit += 1;
 			continue;
 		}
 
@@ -1283,8 +1082,8 @@ void docbookParagraphs(Text const &text,
 		}
 
 		// Generate this paragraph.
-		tie(par, send) = makeAny(text, buf, xs, ourparams, par, send, pend);
-		bpit += distance(lastStartedPar, par);
+		makeAny(text, buf, xs, ourparams, par);
+		bpit += 1;
 	}
 
 	// If need be, close <section>s, but only at the end of the document (otherwise, dealt with at the beginning
diff --git a/src/xml.cpp b/src/xml.cpp
index e16a784..147eadd 100644
--- a/src/xml.cpp
+++ b/src/xml.cpp
@@ -200,7 +200,7 @@ bool XMLStream::closeFontTags()
 		tag_stack_.pop_back();
 		// this shouldn't happen, since then the font tags
 		// weren't in any other tag.
-//		LASSERT(!tag_stack_.empty(), return true);
+		LASSERT(!tag_stack_.empty(), return true);
 		if (tag_stack_.empty())
 			return true;
 		curtag = &tag_stack_.back();
@@ -583,62 +583,57 @@ docstring xml::uniqueID(docstring const & label)
 
 docstring xml::cleanID(docstring const & orig)
 {
-	// The standard xml:id only allows letters,
-	// digits, '-' and '.' in a name.
-	// This routine replaces illegal characters by '-' or '.'
-	// and adds a number for uniqueness if need be.
-	docstring const allowed = from_ascii(".-_");
+	// The standard xml:id only allows letters, digits, '-' and '.' in a name.
+	// This routine replaces illegal characters by '-' or '.' and adds a number for uniqueness if need be.
 
 	// Use a cache of already mangled names: the alterations may merge several IDs as one. This ensures that the IDs
 	// are not mixed up in the document.
+	// This code could be improved: it uses Qt outside the GUI part. Any TLS implementation could do the trick.
 	typedef map<docstring, docstring> MangledMap;
 	static QThreadStorage<MangledMap> tMangledNames;
 	static QThreadStorage<int> tMangleID;
 
-	MangledMap & mangledNames = tMangledNames.localData();
-
 	// If the name is already known, just return it.
-	MangledMap::const_iterator const known = mangledNames.find(orig);
+	MangledMap & mangledNames = tMangledNames.localData();
+	auto const known = mangledNames.find(orig);
 	if (known != mangledNames.end())
 		return known->second;
 
 	// Start creating the mangled name by iterating over the characters.
 	docstring content;
-	docstring::const_iterator it  = orig.begin();
-	docstring::const_iterator end = orig.end();
+	auto it = orig.cbegin();
+	auto end = orig.cend();
 
 	// Make sure it starts with a letter.
-	if (!isAlphaASCII(*it) && allowed.find(*it) >= allowed.size())
+	if (!isAlphaASCII(*it))
 		content += "x";
 
-	// Do the mangling.
+	// Parse the ID character by character and change what needs to.
 	bool mangle = false; // Indicates whether the ID had to be changed, i.e. if ID no more ensured to be unique.
 	for (; it != end; ++it) {
 		char_type c = *it;
-		if (isAlphaASCII(c) || isDigitASCII(c) || c == '-' || c == '.'
-		      || allowed.find(c) < allowed.size())
+		if (isAlphaASCII(c) || isDigitASCII(c) || c == '-' || c == '.' || c == '_') {
 			content += c;
-		else if (c == '_' || c == ' ') {
-			mangle = true;
-			content += "-";
-		}
-		else if (c == ':' || c == ',' || c == ';' || c == '!') {
+		} else if (c == ':' || c == ',' || c == ';' || c == '!') {
 			mangle = true;
 			content += ".";
-		}
-		else {
+		} else { // Other invalid characters, such as ' '.
 			mangle = true;
 			content += "-";
 		}
 	}
 
-	if (mangle) {
+	// If there had to be a change, check if ID unicity is still guaranteed.
+	// This avoids having a clash if satisfying XML requirements for ID makes two IDs identical, like "a:b" and "a!b",
+	// as both of them would be transformed as "a.b". With this procedure, one will become "a.b" and the other "a.b-1".
+	if (mangle && mangledNames.find(content) != mangledNames.end()) {
 		int & mangleID = tMangleID.localData();
-		content += "-" + convert<docstring>(mangleID++);
+		content += "-" + convert<docstring>(mangleID);
+		mangleID += 1;
 	}
 
+	// Save the new ID to avoid recomputing it afterwards and to ensure stability over the document.
 	mangledNames[orig] = content;
-
 	return content;
 }
 

commit 9184ae14f0e1925cc6c63b046a65157c08d65159
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 16 19:07:14 2020 +0200

    A few more constants to avoid copies

diff --git a/src/insets/InsetBibtex.cpp b/src/insets/InsetBibtex.cpp
index 876adea..34b22c1 100644
--- a/src/insets/InsetBibtex.cpp
+++ b/src/insets/InsetBibtex.cpp
@@ -1216,9 +1216,9 @@ void InsetBibtex::docbook(XMLStream & xs, OutputParams const &) const
 		if (! delayedTags.empty()) {
 			unsigned long remainingTags = delayedTags.size(); // Used as a workaround. With GCC 7, when erasing all
 			// elements one by one, some elements may still pop in later on (even though they were deleted previously).
-			auto hasTag = [&delayedTags](string key) { return delayedTags.find(key) != delayedTags.end(); };
-			auto getTag = [&delayedTags](string key) { return from_utf8(delayedTags[key]); };
-			auto eraseTag = [&delayedTags, &remainingTags](string key) {
+			auto hasTag = [&delayedTags](const string & key) { return delayedTags.find(key) != delayedTags.end(); };
+			auto getTag = [&delayedTags](const string & key) { return from_utf8(delayedTags[key]); };
+			auto eraseTag = [&delayedTags, &remainingTags](const string & key) {
 				remainingTags -= 1;
 				delayedTags.erase(key);
 			};

commit dab71087cf2954b77d3d2c0e67b868f9be82fba9
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Mon Aug 3 16:04:26 2020 +0200

    DocBook: add a layout tag to tell whether an item is the abstract or not.

diff --git a/autotests/export/docbook/bibliography_precooked_aastex.xml b/autotests/export/docbook/bibliography_precooked_aastex.xml
index e15bfdd..fe77b72 100644
--- a/autotests/export/docbook/bibliography_precooked_aastex.xml
+++ b/autotests/export/docbook/bibliography_precooked_aastex.xml
@@ -3,8 +3,8 @@
   See http://www.lyx.org/ for more information -->
 <article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
 <info>
-<title>Collapsed Cores in Globular Clusters,  Gauge-Boson Couplings, and AASTeX Examples</title>
-<author><personname>S. Djorgovski and Ivan R. King</personname>
+<!-- shouldBeInInfo --><title>Collapsed Cores in Globular Clusters,  Gauge-Boson Couplings, and AASTeX Examples</title>
+<!-- mustBeInInfo --><author><personname>S. Djorgovski and Ivan R. King</personname>
 <affiliation><orgname>Astronomy Department, University of California, Berkeley, CA 94720</orgname></affiliation>
 <affiliation role="alternate"><orgname>Visiting Astronomer Cerro Tololo Inter-American Observatory.CTIO is operated by AURA Inc. under contract to the National Science Foundation.</orgname></affiliation>
 <affiliation role="alternate"><orgname>Society of Fellows, Harvard University.</orgname></affiliation>
@@ -17,16 +17,11 @@
 <author><personname>R. J. Hanisch</personname>
 <affiliation><orgname>Space Telescope Science Institute, Baltimore, MD 21218</orgname></affiliation>
 <affiliation role="alternate"><orgname>Patron, Alonso's Bar and Grill</orgname></affiliation></author>
-<abstract><para>
-<para>This is a preliminary report on surface photometry of the major fraction of known globular clusters, to see which of them show the signs of a collapsed core. We also explore some diversionary mathematics and recreational tables. </para>
-<!-- Output Error: Tried to close `keyword' when tag was not open. Tag discarded. -->
-<!-- Output Error: Tried to close `keywordset' when tag was not open. Tag discarded. -->
-
 <keywordset><keyword>clusters: globular, peanut—bosons: bozos</keyword></keywordset>
-<!-- Output Error: Closing tag `info' when other tags are open, namely: -->
-<!-- Output Error: para -->
-</para><!-- Output Error: abstract -->
-</abstract></info>
+<!-- /info --><!-- abs --><abstract><para>
+<para>This is a preliminary report on surface photometry of the major fraction of known globular clusters, to see which of them show the signs of a collapsed core. We also explore some diversionary mathematics and recreational tables. </para>
+</para></abstract>
+<!-- 15 --><!-- /abs --></info>
 <section>
 <title>Introduction</title>
 <para>A focal problem today in the dynamics of globular clusters is core collapse. It has been predicted by theory for decades <biblioref endterm="hen61" />, <biblioref endterm="lyn68" />, <biblioref endterm="spi85" />, but observation has been less alert to the phenomenon. For many years the central brightness peak in M15 <biblioref endterm="kin75" />, <biblioref endterm="new78" /> seemed a unique anomaly. Then <biblioref endterm="aur82" /> suggested a central peak in NGC 6397, and a limited photographic survey of ours <biblioref endterm="djo84" /> found three more cases, including NGC 6624, whose sharp center had often been remarked on <biblioref endterm="can78" />. </para>
@@ -112,7 +107,7 @@
 </section>
 <section>
 <title>Helicity Amplitudes</title>
-<para>It has been realized that helicity amplitudes provide a convenient means for Feynman diagram<footnote><para>Footnotes can be inserted like this.</para>
+<para>It has been realized that helicity amplitudes provide a convenient means for Feynman diagram<footnote><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --><para>Footnotes can be inserted like this.</para>
 </footnote> evaluations. These amplitude-level techniques are particularly convenient for calculations involving many Feynman diagrams, where the usual trace techniques for the amplitude squared becomes unwieldy. Our calculations use the helicity techniques developed by other authors <biblioref endterm="hag86" />; we briefly summarize below.</para>
 <section>
 <title>Formalism</title>
@@ -694,8 +689,7 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mtable>
  </m:math>
 </informalequation>
-<!-- Output Error: Tried to close `title' when tag was not open. Tag discarded. -->
-
+</MathLetters>
 </section>
 </section>
 <section>
@@ -957,7 +951,7 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
   </m:msub>
  </m:mrow>
  </m:math>
-</inlineequation>, but the assumption is that the alternate results should be less than 90° out of phase with previous values. We have no observations of <!-- \ion{Ca}{2} -->. Roughly <inlineequation>
+</inlineequation>, but the assumption is that the alternate results should be less than 90° out of phase with previous values. We have no observations of <!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --><!-- \ion{Ca}{2} -->. Roughly <inlineequation>
 <alt role='tex'>\nicefrac{4}{5}</alt>
  <m:math>
  
@@ -971,14 +965,13 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation> of the electronically submitted abstracts for AAS meetings are error-free. </para>
-<acknowledgement><para>We are grateful to V. Barger, T. Han, and R. J. N. Phillips for doing the math in section&#xA0;<xref linkend="bozomath" />. More information on the AASTeX macros package are available at <link xlink:href="http://www.aas.org/publications/aastex">http://www.aas.org/publications/aastex</link> or the <link xlink:href="ftp://www.aas.org/pubs/AAS ftp site">AAS ftp site</link>.</para>
+<acknowledgement><para>We are grateful to V. Barger, T. Han, and R. J. N. Phillips for doing the math in section&#xA0;<xref linkend="bozomath" />. More information on the AASTeX macros package are available at <link xlink:href="http://www.aas.org/publications/aastex"><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->http://www.aas.org/publications/aastex</link> or the <link xlink:href="ftp://www.aas.org/pubs/AAS ftp site">AAS ftp site</link>.</para>
 <application>IRAF, AIPS, Astropy, ...</application><!-- Output Error: Tried to close `para' when tag was not open. Tag discarded. -->
 
-<Appendix></Appendix>
 <bibliography>
 <bibliomixed xml:id='aur82'>Aurière, M. 1982, <!-- \aap -->, 109, 301 </bibliomixed>
 <bibliomixed xml:id='can78'>Canizares, C. R., Grindlay, J. E., Hiltner, W. A., Liller, W., and McClintock, J. E. 1978, <!-- \apj -->, 224, 39 </bibliomixed>
-<bibliomixed xml:id='djo84'>Djorgovski, S., and King, I. R. 1984, <!-- \apjl -->, 277, L49 </bibliomixed>
+<bibliomixed xml:id='djo84'>Djorgovski, S., and King, I. R. 1984, <!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --><!-- \apjl -->, 277, L49 </bibliomixed>
 <bibliomixed xml:id='hag86'>Hagiwara, K., and Zeppenfeld, D. 1986, Nucl.Phys., 274, 1 </bibliomixed>
 <bibliomixed xml:id='har84'>Harris, W. E., and van den Bergh, S. 1984, <!-- \aj -->, 89, 1816 </bibliomixed>
 <bibliomixed xml:id='hen61'>Hénon, M. 1961, Ann.d'Ap., 24, 369 </bibliomixed>
@@ -986,19 +979,19 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
 <bibliomixed xml:id='kin75'>King, I. R. 1975, Dynamics of Stellar Systems, A. Hayli, Dordrecht: Reidel, 1975, 99 </bibliomixed>
 <bibliomixed xml:id='kin68'>King, I. R., Hedemann, E., Hodge, S. M., and White, R. E. 1968, <!-- \aj -->, 73, 456 </bibliomixed>
 <bibliomixed xml:id='kro84'>Kron, G. E., Hewitt, A. V., and Wasserman, L. H. 1984, <!-- \pasp -->, 96, 198 </bibliomixed>
-<bibliomixed xml:id='lyn68'>Lynden-Bell, D., and Wood, R. 1968, <!-- \mnras -->, 138, 495 </bibliomixed>
+<bibliomixed xml:id='lyn68'>Lynden-Bell, D., and Wood, R. 1968, <!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --><!-- \mnras -->, 138, 495 </bibliomixed>
 <bibliomixed xml:id='new78'>Newell, E. B., and O'Neil, E. J. 1978, <!-- \apjs -->, 37, 27 </bibliomixed>
 <bibliomixed xml:id='ort85'>Ortolani, S., Rosino, L., and Sandage, A. 1985, <!-- \aj -->, 90, 473 </bibliomixed>
 <bibliomixed xml:id='pet76'>Peterson, C. J. 1976, <!-- \aj -->, 81, 617 </bibliomixed>
 <bibliomixed xml:id='spi85'>Spitzer, L. 1985, Dynamics of Star Clusters, J. Goodman and P. Hut, Dordrecht: Reidel, 109 </bibliomixed>
 </bibliography>
 <table xml:id="tbl-2">
-<caption>Terribly relevant tabular information.</caption>
-<tbody>
+<caption><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->Terribly relevant tabular information.</caption>
+<!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --><tbody>
 <tr>
-<td align='center' valign='top'>Star </td>
-<td align='right' valign='top'> Height </td>
-<td align='right' valign='top'> <inlineequation>
+<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->Star </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> Height </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> <inlineequation>
 <alt role='tex'>d_{x}</alt>
  <m:math>
  
@@ -1012,7 +1005,7 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation></td>
-<td align='right' valign='top'> <inlineequation>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> <inlineequation>
 <alt role='tex'>d_{y}</alt>
  <m:math>
  
@@ -1026,7 +1019,7 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation></td>
-<td align='right' valign='top'> <inlineequation>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> <inlineequation>
 <alt role='tex'>n</alt>
  <m:math>
  
@@ -1034,7 +1027,7 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation></td>
-<td align='right' valign='top'> <inlineequation>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> <inlineequation>
 <alt role='tex'>\chi^{2}</alt>
  <m:math>
  
@@ -1048,7 +1041,7 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation></td>
-<td align='right' valign='top'> <inlineequation>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> <inlineequation>
 <alt role='tex'>R_{maj}</alt>
  <m:math>
  
@@ -1064,7 +1057,7 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation></td>
-<td align='right' valign='top'> <inlineequation>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> <inlineequation>
 <alt role='tex'>R_{min}</alt>
  <m:math>
  
@@ -1080,15 +1073,15 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation></td>
-<td align='center' valign='top' colspan='1'><inlineequation>
+<td align='center' valign='top' colspan='1'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --><inlineequation>
 <alt role='tex'>P</alt>
  <m:math>
  
  <m:mrow><m:mi>P</m:mi>
  </m:mrow>
  </m:math>
-</inlineequation>a</td>
-<td align='right' valign='top'> <inlineequation>
+</inlineequation><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->a</td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> <inlineequation>
 <alt role='tex'>PR_{maj}</alt>
  <m:math>
  
@@ -1106,7 +1099,7 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation></td>
-<td align='right' valign='top'> <inlineequation>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> <inlineequation>
 <alt role='tex'>PR_{min}</alt>
  <m:math>
  
@@ -1124,105 +1117,105 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation></td>
-<td align='center' valign='top' colspan='1'><inlineequation>
+<td align='center' valign='top' colspan='1'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --><inlineequation>
 <alt role='tex'>\Theta</alt>
  <m:math>
  
  <m:mrow><m:mo>&#x398;</m:mo>
  </m:mrow>
  </m:math>
-</inlineequation>b</td>
-<td align='center' valign='top'>Ref.</td>
+</inlineequation><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->b</td>
+<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->Ref.</td>
 </tr>
 <tr>
-<td align='center' valign='top'><!-- \tableline\tableline -->1 </td>
-<td align='right' valign='top'>33472.5 </td>
-<td align='right' valign='top'>-0.1 </td>
-<td align='right' valign='top'>0.4 </td>
-<td align='right' valign='top'>53 </td>
-<td align='right' valign='top'>27.4 </td>
-<td align='right' valign='top'>2.065 </td>
-<td align='right' valign='top'>1.940 </td>
-<td align='right' valign='top'>3.900 </td>
-<td align='right' valign='top'>68.3 </td>
-<td align='right' valign='top'>116.2 </td>
-<td align='right' valign='top'>-27.639</td>
-<td align='center' valign='top'>1,2</td>
+<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --><!-- \tableline\tableline -->1 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->33472.5 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-0.1 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->0.4 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->53 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->27.4 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->2.065 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.940 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->3.900 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->68.3 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->116.2 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-27.639</td>
+<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1,2</td>
 </tr>
 <tr>
-<td align='center' valign='top'> 2 </td>
-<td align='right' valign='top'>27802.4 </td>
-<td align='right' valign='top'>-0.3 </td>
-<td align='right' valign='top'>-0.2 </td>
-<td align='right' valign='top'>60 </td>
-<td align='right' valign='top'>3.7 </td>
-<td align='right' valign='top'>1.628 </td>
-<td align='right' valign='top'>1.510 </td>
-<td align='right' valign='top'>2.156 </td>
-<td align='right' valign='top'>6.8 </td>
-<td align='right' valign='top'>7.5 </td>
-<td align='right' valign='top'>-26.764</td>
-<td align='center' valign='top'>3</td>
+<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> 2 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->27802.4 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-0.3 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-0.2 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->60 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->3.7 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.628 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.510 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->2.156 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->6.8 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->7.5 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-26.764</td>
+<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->3</td>
 </tr>
 <tr>
-<td align='center' valign='top'> 3 </td>
-<td align='right' valign='top'>29210.6 </td>
-<td align='right' valign='top'>0.9 </td>
-<td align='right' valign='top'>0.3 </td>
-<td align='right' valign='top'>60 </td>
-<td align='right' valign='top'>3.4 </td>
-<td align='right' valign='top'>1.622 </td>
-<td align='right' valign='top'>1.551 </td>
-<td align='right' valign='top'>2.159 </td>
-<td align='right' valign='top'>6.7 </td>
-<td align='right' valign='top'>7.3 </td>
-<td align='right' valign='top'>-40.272</td>
-<td align='center' valign='top'>4</td>
+<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> 3 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->29210.6 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->0.9 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->0.3 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->60 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->3.4 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.622 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.551 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->2.159 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->6.7 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->7.3 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-40.272</td>
+<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->4</td>
 </tr>
 <tr>
-<td align='center' valign='top'> 4 </td>
-<td align='right' valign='top'>32733.8 </td>
-<td align='right' valign='top'>-1.2c</td>
-<td align='right' valign='top'>-0.5 </td>
-<td align='right' valign='top'>41 </td>
-<td align='right' valign='top'>54.8 </td>
-<td align='right' valign='top'>2.282 </td>
-<td align='right' valign='top'>2.156 </td>
-<td align='right' valign='top'>4.313 </td>
-<td align='right' valign='top'>117.4 </td>
-<td align='right' valign='top'>78.2 </td>
-<td align='right' valign='top'>-35.847</td>
-<td align='center' valign='top'>5,6</td>
+<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> 4 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->32733.8 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-1.2<!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->c</td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-0.5 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->41 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->54.8 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->2.282 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->2.156 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->4.313 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->117.4 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->78.2 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-35.847</td>
+<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->5,6</td>
 </tr>
 <tr>
-<td align='center' valign='top'> 5 </td>
-<td align='right' valign='top'> 9607.4 </td>
-<td align='right' valign='top'>-0.4 </td>
-<td align='right' valign='top'>-0.4 </td>
-<td align='right' valign='top'>60 </td>
-<td align='right' valign='top'>1.4 </td>
-<td align='right' valign='top'>1.669c</td>
-<td align='right' valign='top'>1.574 </td>
-<td align='right' valign='top'>2.343 </td>
-<td align='right' valign='top'>8.0 </td>
-<td align='right' valign='top'>8.9 </td>
-<td align='right' valign='top'>-33.417</td>
-<td align='center' valign='top'>7</td>
+<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> 5 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> 9607.4 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-0.4 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-0.4 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->60 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.4 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.669<!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->c</td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.574 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->2.343 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->8.0 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->8.9 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-33.417</td>
+<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->7</td>
 </tr>
 <tr>
-<td align='center' valign='top'> 6 </td>
-<td align='right' valign='top'>31638.6 </td>
-<td align='right' valign='top'>1.6 </td>
-<td align='right' valign='top'>0.1 </td>
-<td align='right' valign='top'>39 </td>
-<td align='right' valign='top'>315.2 </td>
-<td align='right' valign='top'> 3.433 </td>
-<td align='right' valign='top'>3.075 </td>
-<td align='right' valign='top'>7.488 </td>
-<td align='right' valign='top'>92.1 </td>
-<td align='right' valign='top'>25.3 </td>
-<td align='right' valign='top'>-12.052 </td>
-<td align='center' valign='top'>8</td>
+<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> 6 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->31638.6 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->1.6 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->0.1 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->39 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->315.2 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info --> 3.433 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->3.075 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->7.488 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->92.1 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->25.3 </td>
+<td align='right' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->-12.052 </td>
+<td align='center' valign='top'><!-- shouldBeInInfo --><!-- mustBeInInfo --><!-- /info -->8</td>
 </tr>
 </tbody>
 <Table note>a<!-- }{ -->Sample footnote for table&#xA0;<xref linkend="tbl-2" /> that was generated with the LaTeX table environment</Table note>
diff --git a/lib/layouts/aastex.layout b/lib/layouts/aastex.layout
index 97c8b64..74d2ab6 100644
--- a/lib/layouts/aastex.layout
+++ b/lib/layouts/aastex.layout
@@ -282,9 +282,6 @@ Style Abstract
 	  Series	Bold
 	  Size		Normal
 	EndFont
-	DocBookTag            abstract
-	DocBookItemTag        para
-	DocBookInInfo         always
 End
 
 
diff --git a/lib/layouts/stdstruct.inc b/lib/layouts/stdstruct.inc
index 83d46e9..b02499f 100644
--- a/lib/layouts/stdstruct.inc
+++ b/lib/layouts/stdstruct.inc
@@ -49,9 +49,10 @@ Style Abstract
 			font-weight: bold;
 		}
 	EndHTMLStyle
+	DocBookAbstract       true
+	DocBookInInfo         always
 	DocBookTag            abstract
 	DocBookItemTag        para
-	DocBookInInfo         always
 End
 
 
diff --git a/lib/scripts/layout2layout.py b/lib/scripts/layout2layout.py
index e69deba..2bb62e3 100644
--- a/lib/scripts/layout2layout.py
+++ b/lib/scripts/layout2layout.py
@@ -282,7 +282,7 @@ currentFormat = 83
 # - Removed tag Element for flex insets
 
 # Incremented to format 83, 2 August 2020 by dourouc05
-# New tag DocBookWrapperMergeWithPrevious
+# New tags DocBookWrapperMergeWithPrevious and DocBookAbstract
 
 # Do not forget to document format change in Customization
 # Manual (section "Declaring a new text class").
diff --git a/src/Layout.cpp b/src/Layout.cpp
index eeb58d0..5047506 100644
--- a/src/Layout.cpp
+++ b/src/Layout.cpp
@@ -107,6 +107,7 @@ enum LayoutTags {
 	LT_DOCBOOKTAG,
 	LT_DOCBOOKATTR,
 	LT_DOCBOOKININFO,
+	LT_DOCBOOKABSTRACT,
 	LT_DOCBOOKWRAPPERTAG,
 	LT_DOCBOOKWRAPPERATTR,
 	LT_DOCBOOKWRAPPERMERGEWITHPREVIOUS,
@@ -177,6 +178,7 @@ Layout::Layout()
 	htmllabelfirst_ = false;
 	htmlforcecss_ = false;
 	htmltitle_ = false;
+	docbookabstract_ = false;
 	docbookwrappermergewithprevious_ = false;
 	spellcheck = true;
 	forcelocal = 0;
@@ -221,6 +223,7 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
 		{ "commanddepth",   LT_COMMANDDEPTH },
 		{ "copystyle",      LT_COPYSTYLE },
 		{ "dependson",      LT_DEPENDSON },
+		{ "docbookabstract",         LT_DOCBOOKABSTRACT },
 		{ "docbookattr",             LT_DOCBOOKATTR },
 		{ "docbookforceabstracttag", LT_DOCBOOKFORCEABSTRACTTAG },
 		{ "docbookininfo",           LT_DOCBOOKININFO },
@@ -738,6 +741,10 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
 			lex >> docbookininfo_;
 			break;
 
+		case LT_DOCBOOKABSTRACT:
+			lex >> docbookabstract_;
+			break;
+
 		case LT_DOCBOOKWRAPPERTAG:
 			lex >> docbookwrappertag_;
 			break;
@@ -1603,6 +1610,7 @@ void Layout::write(ostream & os) const
 		os << "\tDocBookAttr " << docbookattr_ << '\n';
 	if(!docbookininfo_.empty())
 		os << "\tDocBookInInfo " << docbookininfo_ << '\n';
+	os << "\tDocBookAbstract " << docbookabstract_ << '\n';
 	if(!docbookwrappertag_.empty())
 		os << "\tDocBookWrapperTag " << docbookwrappertag_ << '\n';
 	if(!docbookwrapperattr_.empty())
diff --git a/src/Layout.h b/src/Layout.h
index d9eb893..a894142 100644
--- a/src/Layout.h
+++ b/src/Layout.h
@@ -199,6 +199,8 @@ public:
 	///
 	std::string const & docbookininfo() const;
 	///
+	bool docbookabstract() const { return docbookabstract_; }
+	///
 	std::string const & docbookwrappertag() const;
 	///
 	std::string const & docbookwrapperattr() const;
@@ -516,11 +518,14 @@ private:
 	mutable std::string docbookwrapperattr_;
 	/// Whether this wrapper tag may be merged with the previously opened wrapper tag.
 	bool docbookwrappermergewithprevious_;
-	/// Outer tag for this section, only if this layout represent a sectionning item, including chapters (default: section).
+	/// Outer tag for this section, only if this layout represent a sectionning item, including chapters
+	/// (default: section).
 	mutable std::string docbooksectiontag_;
 	/// Whether this tag must/can/can't go into an <info> tag (default: never, as it only makes sense for metadata).
 	mutable std::string docbookininfo_;
-	/// whether this element (root or not) does not accept text without a section(i.e. the first text that is met
+	/// Wehther this paragraph should be considered as abstract.
+	bool docbookabstract_;
+	/// Whether this element (root or not) does not accept text without a section (i.e. the first text that is met
 	/// in LyX must be considered as the abstract if this is true); this text must be output with the specific tag
 	/// held by this attribute
 	mutable std::string docbookforceabstracttag_;
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index fd38940..4430041 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -219,7 +219,8 @@ void openParTag(XMLStream & xs, const Paragraph * par, const Paragraph * prevpar
 	if (tag == "Plain Layout")
 		tag = "para";
 
-	xs << xml::ParTag(tag, lay.docbookattr());
+	if (!xs.isTagOpen(xml::ParTag(tag, lay.docbookattr()), 1)) // Don't nest a paragraph directly in a paragraph.
+		xs << xml::ParTag(tag, lay.docbookattr());
 
 	if (lay.docbookitemtag() != "NONE")
 		xs << xml::StartTag(lay.docbookitemtag(), lay.docbookitemattr());
@@ -554,30 +555,38 @@ ParagraphList::const_iterator makeEnvironment(
 	ParagraphList::const_iterator par = pbegin;
 	depth_type const origdepth = pbegin->params().depth();
 
-	// Find the previous paragraph.
-	auto prevpar = begin;
-	if (prevpar != par) {
-		auto prevpar_next = prevpar;
-		++prevpar_next;
-
-		while (prevpar_next != par) {
+	// Output the opening tag for this environment.
+	{
+		// Find the previous paragraph.
+		auto prevpar = begin;
+		if (prevpar != par) {
+			auto prevpar_next = prevpar;
 			++prevpar_next;
-			++prevpar;
+
+			while (prevpar_next != par) {
+				++prevpar_next;
+				++prevpar;
+			}
 		}
-	}
 
-	// open tag for this environment
-	openParTag(xs, &*par, &*prevpar);
-	xs << xml::CR();
+		// Open tag for this environment.
+		openParTag(xs, &*par, &*prevpar);
+		xs << xml::CR();
+	}
 
 	// we will on occasion need to remember a layout from before.
 	Layout const *lastlay = nullptr;
+	auto prevpar = par;
 
 	while (par != pend) {
 		Layout const & style = par->layout();
 		ParagraphList::const_iterator send;
 
+		auto parnext = par;
+		++parnext;
+
 		// Actual content of this paragraph.
+		prevpar = par;
 		switch (style.latextype) {
 		case LATEX_ENVIRONMENT:
 		case LATEX_LIST_ENVIRONMENT:
@@ -701,15 +710,15 @@ ParagraphList::const_iterator makeEnvironment(
 			break;
 		}
 		case LATEX_PARAGRAPH:
-			send = findLast(par, pend, LATEX_PARAGRAPH);
-			par = makeParagraphs(buf, xs, runparams, text, par, send);
+//			send = findLast(par, pend, LATEX_PARAGRAPH);
+			par = makeParagraphs(buf, xs, runparams, text, par, parnext);
 			break;
 		case LATEX_BIB_ENVIRONMENT:
-			send = findLast(par, pend, LATEX_BIB_ENVIRONMENT);
-			par = makeParagraphBibliography(buf, xs, runparams, text, par, send);
+//			send = findLast(par, pend, LATEX_BIB_ENVIRONMENT);
+			makeParagraphBibliography(buf, xs, runparams, text, par, parnext);
 			break;
 		case LATEX_COMMAND:
-			++par;
+			par = parnext;
 			break;
 		}
 	}
@@ -721,9 +730,10 @@ ParagraphList::const_iterator makeEnvironment(
 			xs << xml::CR();
 		}
 	}
-	auto nextpar = par;
-	++nextpar;
-	closeTag(xs, &*par, (nextpar != end) ? &*nextpar : nullptr);
+//	auto nextpar = par;
+//	++nextpar;
+	closeTag(xs, &*prevpar, &*par);
+//	closeTag(xs, &*par, (nextpar != end) ? &*nextpar : nullptr);
 	xs << xml::CR();
 	return pend;
 }
@@ -773,43 +783,80 @@ pair<ParagraphList::const_iterator, ParagraphList::const_iterator> makeAny(
 		ParagraphList::const_iterator send,
 		ParagraphList::const_iterator pend)
 {
-	Layout const & style = par->layout();
-
-	switch (style.latextype) {
-		case LATEX_COMMAND: {
-			// The files with which we are working never have more than
-			// one paragraph in a command structure.
-			// FIXME
-			// if (ourparams.docbook_in_par)
-			//   fix it so we don't get sections inside standard, e.g.
-			// note that we may then need to make runparams not const, so we
-			// can communicate that back.
-			// FIXME Maybe this fix should be in the routines themselves, in case
-			// they are called from elsewhere.
-			makeCommand(buf, xs, ourparams, text, par);
-			++par;
-			break;
-		}
-		case LATEX_ENVIRONMENT:
-		case LATEX_LIST_ENVIRONMENT:
-		case LATEX_ITEM_ENVIRONMENT:
-			// FIXME Same fix here.
-			send = findEndOfEnvironment(par, pend);
-			par = makeEnvironment(buf, xs, ourparams, text, par, send);
-			break;
-		case LATEX_PARAGRAPH:
-			send = findLast(par, pend, LATEX_PARAGRAPH);
-			par = makeParagraphs(buf, xs, ourparams, text, par, send);
-			break;
-		case LATEX_BIB_ENVIRONMENT:
-			send = findLast(par, pend, LATEX_BIB_ENVIRONMENT);
-			par = makeParagraphBibliography(buf, xs, ourparams, text, par, send);
-			break;
+	switch (par->layout().latextype) {
+	case LATEX_COMMAND: {
+		// The files with which we are working never have more than
+		// one paragraph in a command structure.
+		// FIXME
+		// if (ourparams.docbook_in_par)
+		//   fix it so we don't get sections inside standard, e.g.
+		// note that we may then need to make runparams not const, so we
+		// can communicate that back.
+		// FIXME Maybe this fix should be in the routines themselves, in case
+		// they are called from elsewhere.
+		makeCommand(buf, xs, ourparams, text, par);
+		++par;
+		break;
+	}
+	case LATEX_ENVIRONMENT:
+	case LATEX_LIST_ENVIRONMENT:
+	case LATEX_ITEM_ENVIRONMENT:
+		// FIXME Same fix here.
+		send = findEndOfEnvironment(par, pend);
+		par = makeEnvironment(buf, xs, ourparams, text, par, send);
+		break;
+	case LATEX_PARAGRAPH:
+		send = findLast(par, pend, LATEX_PARAGRAPH);
+		par = makeParagraphs(buf, xs, ourparams, text, par, send);
+		break;
+	case LATEX_BIB_ENVIRONMENT:
+		send = findLast(par, pend, LATEX_BIB_ENVIRONMENT);
+		par = makeParagraphBibliography(buf, xs, ourparams, text, par, send);
+		break;
 	}
 
 	return make_pair(par, send);
 }
 
+ParagraphList::const_iterator makeAnySimple(
+		Text const &text,
+		Buffer const &buf,
+		XMLStream &xs,
+		OutputParams const &ourparams,
+		ParagraphList::const_iterator par)
+{
+	auto parnext = par;
+	++parnext;
+
+	switch (par->layout().latextype) {
+	case LATEX_COMMAND: {
+		// The files with which we are working never have more than
+		// one paragraph in a command structure.
+		// FIXME
+		// if (ourparams.docbook_in_par)
+		//   fix it so we don't get sections inside standard, e.g.
+		// note that we may then need to make runparams not const, so we
+		// can communicate that back.
+		// FIXME Maybe this fix should be in the routines themselves, in case
+		// they are called from elsewhere.
+		makeCommand(buf, xs, ourparams, text, par);
+		return parnext;
+	}
+	case LATEX_ENVIRONMENT:
+	case LATEX_LIST_ENVIRONMENT:
+	case LATEX_ITEM_ENVIRONMENT:
+		// FIXME Same fix here.
+		return makeEnvironment(buf, xs, ourparams, text, par, parnext);
+	case LATEX_PARAGRAPH:
+		return makeParagraphs(buf, xs, ourparams, text, par, parnext);
+	case LATEX_BIB_ENVIRONMENT:
+		return makeParagraphBibliography(buf, xs, ourparams, text, par, parnext);
+	}
+
+	// This should never happen. Return the next paragraph to avoid an infinite loop.
+	return parnext;
+}
+
 } // end anonymous namespace
 
 
@@ -883,7 +930,7 @@ DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs, pit_type b
 			continue;
 		}
 
-		if (par.layout().name() == from_ascii("Abstract"))
+		if (par.layout().docbookabstract())
 			hasAbstractLayout = true;
 
 		// Based on layout information, store this paragraph in one set: should be in <info>, must be.
@@ -908,7 +955,7 @@ DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs, pit_type b
 	if (hasAbstractLayout) {
 		pit_type pit = bpit;
 		while (pit < cpit) { // Don't overshoot the <info> part.
-			if (paragraphs[pit].layout().name() == from_ascii("Abstract"))
+			if (paragraphs[pit].layout().docbookabstract())
 				abstract.emplace(pit);
 			pit++;
 		}
@@ -953,17 +1000,22 @@ pit_type generateDocBookParagraphWithoutSectioning(
 		XMLStream & xs,
 		OutputParams const & runparams,
 		ParagraphList const & paragraphs,
-		pit_type bpit,
-		pit_type epit)
+		DocBookInfoTag const & info)
 {
+	auto bpit = info.bpit;
 	auto par = paragraphs.iterator_at(bpit);
 	auto lastStartedPar = par;
 	ParagraphList::const_iterator send;
 	auto const pend =
-			(epit == (int) paragraphs.size()) ?
-			paragraphs.end() : paragraphs.iterator_at(epit);
+			(info.epit == (int) paragraphs.size()) ?
+			paragraphs.end() : paragraphs.iterator_at(info.epit);
+
+	while (bpit < info.epit) {
+		if (info.abstract.find(bpit) != info.abstract.end()) {
+			bpit += 1;
+			continue;
+		}
 
-	while (bpit < epit) {
 		tie(par, send) = makeAny(text, buf, xs, runparams, par, send, pend);
 		bpit += distance(lastStartedPar, par);
 		lastStartedPar = par;
@@ -988,18 +1040,25 @@ void outputDocBookInfo(
 	bool hasAbstract = !info.abstract.empty();
 	docstring abstract;
 	if (hasAbstract) {
-		pit_type bpitAbstract = *std::min_element(info.abstract.begin(), info.abstract.end());
-		pit_type epitAbstract = *std::max_element(info.abstract.begin(), info.abstract.end());
-
 		odocstringstream os2;
-		XMLStream xs2(os2);
-		generateDocBookParagraphWithoutSectioning(text, buf, xs2, runparams, paragraphs, bpitAbstract, epitAbstract);
+		{
+			XMLStream xs2(os2);
+			auto bpit = *std::min_element(info.abstract.begin(), info.abstract.end());
+			auto epit = 1 + *std::max_element(info.abstract.begin(), info.abstract.end());
+			// info.abstract is inclusive, epit is exclusive, hence +1 for looping.
+
+			while (bpit < epit) {
+				makeAnySimple(text, buf, xs2, runparams, paragraphs.iterator_at(bpit));
+				xs2 << XMLStream::ESCAPE_NONE << from_ascii("<!-- " + to_string(bpit) + " -->");
+				bpit += 1;
+			}
+		}
 
 		// Actually output the abstract if there is something to do. Don't count line feeds or spaces in this,
 		// even though they must be properly output if there is some abstract.
-		docstring abstractContent = os2.str();
+		abstract = os2.str();
 		static const lyx::regex reg("[ \\r\\n]*");
-		abstractContent = from_utf8(lyx::regex_replace(to_utf8(abstractContent), reg, string("")));
+		docstring abstractContent = from_utf8(lyx::regex_replace(to_utf8(abstract), reg, string("")));
 
 		// Nothing? Then there is no abstract!
 		if (abstractContent.empty())
@@ -1016,19 +1075,29 @@ void outputDocBookInfo(
 		xs << xml::CR();
 	}
 
-	// Output the elements that should go in <info>.
-	generateDocBookParagraphWithoutSectioning(text, buf, xs, runparams, paragraphs, info.bpit, info.epit);
+	// Output the elements that should go in <info>, before and after the abstract.
+	xs << XMLStream::ESCAPE_NONE << "<!-- shouldBeInInfo -->";
+	for (auto pit : info.shouldBeInInfo) // Typically, the title: these elements are so important and ubiquitous
+		// that mandating a wrapper like <info> would repel users.
+		makeAnySimple(text, buf, xs, runparams, paragraphs.iterator_at(pit));
+	xs << XMLStream::ESCAPE_NONE << "<!-- mustBeInInfo -->";
+	for (auto pit : info.mustBeInInfo)
+		if (info.abstract.find(pit) == info.abstract.end()) // The abstract must be in info, but is dealt with after.
+			makeAnySimple(text, buf, xs, runparams, paragraphs.iterator_at(pit));
+	xs << XMLStream::ESCAPE_NONE << "<!-- /info -->";
 
-	if (hasAbstract && !abstract.empty()) { // The second test is probably superfluous.
-		string tag = paragraphs[*info.abstract.begin()].layout().docbookforceabstracttag();
-		if (tag == "NONE")
-			tag = "abstract";
-
-		xs << xml::StartTag(tag);
-		xs << xml::CR();
+	if (hasAbstract) {
+//		string tag = paragraphs[*info.abstract.begin()].layout().docbookforceabstracttag();
+//		if (tag == "NONE")
+//			tag = "abstract";
+//
+//		xs << xml::StartTag(tag);
+//		xs << xml::CR();
+		xs << XMLStream::ESCAPE_NONE << "<!-- abs -->";
 		xs << XMLStream::ESCAPE_NONE << abstract;
-		xs << xml::EndTag(tag);
-		xs << xml::CR();
+		xs << XMLStream::ESCAPE_NONE << "<!-- /abs -->";
+//		xs << xml::EndTag(tag);
+//		xs << xml::CR();
 	}
 
 	// End the <info> tag if it was started.
@@ -1057,23 +1126,14 @@ void docbookFirstParagraphs(
 }
 
 
-bool isParagraphEmpty(const Paragraph &par)
-{
-	InsetList const &insets = par.insetList();
-	size_t insetsLength = distance(insets.begin(), insets.end());
-	bool hasParagraphOnlyNote = insetsLength == 1 && insets.get(0) && insets.get(0)->asInsetCollapsible() &&
-								dynamic_cast<InsetNote *>(insets.get(0));
-	return hasParagraphOnlyNote;
-}
-
-
 void docbookSimpleAllParagraphs(
 		Text const & text,
 		Buffer const & buf,
 		XMLStream & xs,
 		OutputParams const & runparams)
 {
-	// Handle the document, supposing it has no sections (i.e. a "simple" document).
+	// Handle the given text, supposing it has no sections (i.e. a "simple" text). The input may vary in length
+	// between a single paragraph to a whole document.
 
 	// First, the <info> tag.
 	ParagraphList const &paragraphs = text.paragraphs();
@@ -1081,27 +1141,14 @@ void docbookSimpleAllParagraphs(
 	pit_type const epit = runparams.par_end;
 	DocBookInfoTag info = getParagraphsWithInfo(paragraphs, bpit, epit);
 	outputDocBookInfo(text, buf, xs, runparams, paragraphs, info);
-	bpit = info.bpit;
-
-	// Then, the content.
-	ParagraphList::const_iterator const pend =
-			(epit == (int) paragraphs.size()) ?
-			paragraphs.end() : paragraphs.iterator_at(epit);
 
+	// Then, the content. It starts where the <info> ends.
+	bpit = info.epit;
 	while (bpit < epit) {
 		auto par = paragraphs.iterator_at(bpit);
-		ParagraphList::const_iterator const lastStartedPar = par;
-		ParagraphList::const_iterator send;
-
-		if (isParagraphEmpty(*par)) {
-			++par;
-			bpit += distance(lastStartedPar, par);
-			continue;
-		}
-
-		// Generate this paragraph.
-		tie(par, send) = makeAny(text, buf, xs, runparams, par, send, pend);
-		bpit += distance(lastStartedPar, par);
+		if (!hasOnlyNotes(*par))
+			makeAnySimple(text, buf, xs, runparams, par);
+		bpit += 1;
 	}
 }
 
@@ -1155,7 +1202,7 @@ void docbookParagraphs(Text const &text,
 		ParagraphList::const_iterator const lastStartedPar = par;
 		ParagraphList::const_iterator send;
 
-		if (isParagraphEmpty(*par)) {
+		if (hasOnlyNotes(*par)) {
 			++par;
 			bpit += distance(lastStartedPar, par);
 			continue;
@@ -1250,4 +1297,4 @@ void docbookParagraphs(Text const &text,
 	}
 }
 
-} // namespace lyx
+} // namespace lyx
\ No newline at end of file

commit 7b0f9d95248820bc70b820dd6b558de4a6713bae
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 2 20:43:39 2020 +0200

    DocBook: simplify code to handle abstracts.

diff --git a/autotests/export/docbook/bibliography_precooked_aastex.xml b/autotests/export/docbook/bibliography_precooked_aastex.xml
index 2c9f5bd..e15bfdd 100644
--- a/autotests/export/docbook/bibliography_precooked_aastex.xml
+++ b/autotests/export/docbook/bibliography_precooked_aastex.xml
@@ -19,8 +19,10 @@
 <affiliation role="alternate"><orgname>Patron, Alonso's Bar and Grill</orgname></affiliation></author>
 <abstract><para>
 <para>This is a preliminary report on surface photometry of the major fraction of known globular clusters, to see which of them show the signs of a collapsed core. We also explore some diversionary mathematics and recreational tables. </para>
-<!-- Output Error: Tried to close `Keywords' when tag was not open. Tag discarded. -->
+<!-- Output Error: Tried to close `keyword' when tag was not open. Tag discarded. -->
+<!-- Output Error: Tried to close `keywordset' when tag was not open. Tag discarded. -->
 
+<keywordset><keyword>clusters: globular, peanut—bosons: bozos</keyword></keywordset>
 <!-- Output Error: Closing tag `info' when other tags are open, namely: -->
 <!-- Output Error: para -->
 </para><!-- Output Error: abstract -->
diff --git a/lib/layouts/aastex.layout b/lib/layouts/aastex.layout
index 445d25f..97c8b64 100644
--- a/lib/layouts/aastex.layout
+++ b/lib/layouts/aastex.layout
@@ -282,6 +282,9 @@ Style Abstract
 	  Series	Bold
 	  Size		Normal
 	EndFont
+	DocBookTag            abstract
+	DocBookItemTag        para
+	DocBookInInfo         always
 End
 
 
@@ -331,6 +334,9 @@ Style Keywords
 	  Shape		Italic
 	  Size		Normal
 	EndFont
+	DocBookTag          keyword
+	DocBookWrapperTag   keywordset
+	DocBookInInfo       always
 End
 
 
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index d0536ee..fd38940 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -50,7 +50,7 @@ namespace lyx {
 
 namespace {
 
-std::string const fontToDocBookTag(xml::FontTypes type)
+std::string fontToDocBookTag(xml::FontTypes type)
 {
 	switch (type) {
 	case xml::FontTypes::FT_EMPH:
@@ -90,6 +90,7 @@ std::string const fontToDocBookTag(xml::FontTypes type)
 	}
 }
 
+
 string fontToRole(xml::FontTypes type)
 {
 	// Specific fonts are achieved with roles. The only common ones are "" for basic emphasis,
@@ -103,14 +104,13 @@ string fontToRole(xml::FontTypes type)
 		return "";
 	case xml::FontTypes::FT_BOLD:
 		return "bold";
-	case xml::FontTypes::FT_NOUN:
-		return ""; // Outputs a <person>
-	case xml::FontTypes::FT_TYPE:
-		return ""; // Outputs a <code>
+	case xml::FontTypes::FT_NOUN: // Outputs a <person>
+	case xml::FontTypes::FT_TYPE: // Outputs a <code>
+		return "";
 	case xml::FontTypes::FT_UBAR:
 		return "underline";
 
-		// All other roles are non-standard for DocBook.
+	// All other roles are non-standard for DocBook.
 
 	case xml::FontTypes::FT_WAVE:
 		return "wave";
@@ -814,7 +814,21 @@ pair<ParagraphList::const_iterator, ParagraphList::const_iterator> makeAny(
 
 
 using DocBookDocumentSectioning = tuple<bool, pit_type>;
-using DocBookInfoTag = tuple<set<pit_type>, set<pit_type>, pit_type, pit_type>;
+
+
+struct DocBookInfoTag
+{
+	const set<pit_type> shouldBeInInfo;
+	const set<pit_type> mustBeInInfo;
+	const set<pit_type> abstract;
+	pit_type bpit;
+	pit_type epit;
+
+	DocBookInfoTag(const set<pit_type> & shouldBeInInfo, const set<pit_type> & mustBeInInfo,
+				   const set<pit_type> & abstract, pit_type bpit, pit_type epit) :
+				   shouldBeInInfo(shouldBeInInfo), mustBeInInfo(mustBeInInfo), abstract(abstract),
+				   bpit(bpit), epit(epit) {}
+};
 
 
 DocBookDocumentSectioning hasDocumentSectioning(ParagraphList const &paragraphs, pit_type bpit, pit_type const epit) {
@@ -847,6 +861,7 @@ bool hasOnlyNotes(Paragraph const & par)
 DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs, pit_type bpit, pit_type const epit) {
 	set<pit_type> shouldBeInInfo;
 	set<pit_type> mustBeInInfo;
+	set<pit_type> abstract;
 
 	// Find the first non empty paragraph by mutating bpit.
 	while (bpit < epit) {
@@ -859,14 +874,18 @@ DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs, pit_type b
 
 	// Find the last info-like paragraph.
 	pit_type cpit = bpit;
+	bool hasAbstractLayout = false;
 	while (cpit < epit) {
 		// Skip paragraphs only containing one note.
-		Paragraph const &par = paragraphs[cpit];
+		Paragraph const & par = paragraphs[cpit];
 		if (hasOnlyNotes(par)) {
 			cpit += 1;
 			continue;
 		}
 
+		if (par.layout().name() == from_ascii("Abstract"))
+			hasAbstractLayout = true;
+
 		// Based on layout information, store this paragraph in one set: should be in <info>, must be.
 		Layout const &style = par.layout();
 
@@ -876,42 +895,55 @@ DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs, pit_type b
 			shouldBeInInfo.emplace(cpit);
 		} else {
 			// Hypothesis: the <info> parts should be grouped together near the beginning bpit.
+			// There may be notes in between, but nothing else.
 			break;
 		}
 		cpit += 1;
 	}
 	// Now, cpit points to the last paragraph that has things that could go in <info>.
-	// bpit is still the beginning of the <info> part.
-
-	return make_tuple(shouldBeInInfo, mustBeInInfo, bpit, cpit);
-}
-
-
-bool hasAbstractBetween(ParagraphList const &paragraphs, pit_type const bpitAbstract, pit_type const epitAbstract)
-{
-	// Hypothesis: the paragraphs between bpitAbstract and epitAbstract can be considered an abstract because they
-	// are just after a document or part title.
-	if (epitAbstract - bpitAbstract <= 0)
-		return false;
-
-	// If there is something between these paragraphs, check if it's compatible with an abstract (i.e. some text).
-	pit_type bpit = bpitAbstract;
-	while (bpit < epitAbstract) {
-		const Paragraph &p = paragraphs.at(bpit);
-
-		if (p.layout().name() == from_ascii("Abstract"))
-			return true;
+	// bpit is the beginning of the <info> part.
+
+	// Go once again through the list of paragraphs to find the abstract. If there is an abstract
+	// layout, only consider it. Otherwise, an abstract is just a sequence of paragraphs with text.
+	if (hasAbstractLayout) {
+		pit_type pit = bpit;
+		while (pit < cpit) { // Don't overshoot the <info> part.
+			if (paragraphs[pit].layout().name() == from_ascii("Abstract"))
+				abstract.emplace(pit);
+			pit++;
+		}
+	} else {
+		pit_type lastAbstract = epit + 1; // A nonsensical value.
+		docstring lastAbstractLayout;
+
+		pit_type pit = bpit;
+		while (pit < cpit) { // Don't overshoot the <info> part.
+			const Paragraph & par = paragraphs.at(pit);
+			if (!par.insetList().empty()) {
+				for (const auto &i : par.insetList()) {
+					if (i.inset->getText(0) != nullptr) {
+						if (lastAbstract == epit + 1) {
+							// First paragraph that matches the heuristic definition of abstract.
+							lastAbstract = pit;
+							lastAbstractLayout = par.layout().name();
+						} else if (pit > lastAbstract + 1 || par.layout().name() != lastAbstractLayout) {
+							// This is either too far from the last abstract paragraph or doesn't
+							// have the right layout name, BUT there has already been an abstract
+							// in this document: done with detecting the abstract.
+							goto done; // Easier to get out of two nested loops.
+						}
 
-		if (!p.insetList().empty()) {
-			for (const auto &i : p.insetList()) {
-				if (i.inset->getText(0) != nullptr) {
-					return true;
+						abstract.emplace(pit);
+						break;
+					}
 				}
 			}
+			pit++;
 		}
-		bpit++;
 	}
-	return false;
+
+	done:
+	return DocBookInfoTag(shouldBeInInfo, mustBeInInfo, abstract, bpit, cpit);
 }
 
 
@@ -947,26 +979,18 @@ void outputDocBookInfo(
 		XMLStream & xs,
 		OutputParams const & runparams,
 		ParagraphList const & paragraphs,
-		DocBookInfoTag const & info,
-		pit_type bpitAbstract,
-		pit_type const epitAbstract)
+		DocBookInfoTag const & info)
 {
-	// Consider everything between bpitAbstract and epitAbstract (excluded) as paragraphs for the abstract.
-	// Use bpitAbstract >= epitAbstract to indicate there is no abstract.
-
-	set<pit_type> shouldBeInInfo;
-	set<pit_type> mustBeInInfo;
-	pit_type bpitInfo;
-	pit_type epitInfo;
-	tie(shouldBeInInfo, mustBeInInfo, bpitInfo, epitInfo) = info;
-
 	// Perform an additional check on the abstract. Sometimes, there are many paragraphs that should go
 	// into the abstract, but none generates actual content. Thus, first generate to a temporary stream,
 	// then only create the <abstract> tag if these paragraphs generate some content.
 	// This check must be performed *before* a decision on whether or not to output <info> is made.
-	bool hasAbstract = hasAbstractBetween(paragraphs, bpitAbstract, epitAbstract);
+	bool hasAbstract = !info.abstract.empty();
 	docstring abstract;
 	if (hasAbstract) {
+		pit_type bpitAbstract = *std::min_element(info.abstract.begin(), info.abstract.end());
+		pit_type epitAbstract = *std::max_element(info.abstract.begin(), info.abstract.end());
+
 		odocstringstream os2;
 		XMLStream xs2(os2);
 		generateDocBookParagraphWithoutSectioning(text, buf, xs2, runparams, paragraphs, bpitAbstract, epitAbstract);
@@ -983,7 +1007,7 @@ void outputDocBookInfo(
 	}
 
 	// The abstract must go in <info>.
-	bool needInfo = !mustBeInInfo.empty() || hasAbstract;
+	bool needInfo = !info.mustBeInInfo.empty() || hasAbstract;
 
 	// Start the <info> tag if required.
 	if (needInfo) {
@@ -993,10 +1017,10 @@ void outputDocBookInfo(
 	}
 
 	// Output the elements that should go in <info>.
-	generateDocBookParagraphWithoutSectioning(text, buf, xs, runparams, paragraphs, bpitInfo, epitInfo);
+	generateDocBookParagraphWithoutSectioning(text, buf, xs, runparams, paragraphs, info.bpit, info.epit);
 
 	if (hasAbstract && !abstract.empty()) { // The second test is probably superfluous.
-		string tag = paragraphs[bpitAbstract].layout().docbookforceabstracttag();
+		string tag = paragraphs[*info.abstract.begin()].layout().docbookforceabstracttag();
 		if (tag == "NONE")
 			tag = "abstract";
 
@@ -1029,7 +1053,7 @@ void docbookFirstParagraphs(
 	ParagraphList const &paragraphs = text.paragraphs();
 	pit_type bpit = runparams.par_begin;
 	DocBookInfoTag info = getParagraphsWithInfo(paragraphs, bpit, epit);
-	outputDocBookInfo(text, buf, xs, runparams, paragraphs, info, get<3>(info), epit);
+	outputDocBookInfo(text, buf, xs, runparams, paragraphs, info);
 }
 
 
@@ -1056,8 +1080,8 @@ void docbookSimpleAllParagraphs(
 	pit_type bpit = runparams.par_begin;
 	pit_type const epit = runparams.par_end;
 	DocBookInfoTag info = getParagraphsWithInfo(paragraphs, bpit, epit);
-	outputDocBookInfo(text, buf, xs, runparams, paragraphs, info, 0, 0);
-	bpit = get<3>(info); // Generate the content starting from the end of the <info> part.
+	outputDocBookInfo(text, buf, xs, runparams, paragraphs, info);
+	bpit = info.bpit;
 
 	// Then, the content.
 	ParagraphList::const_iterator const pend =

commit 0f145c3ef0828dc7e06ff839a3ececf66edf5be6
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 2 18:58:36 2020 +0200

    DocBook: use DocBookWrapperMergeWithPrevious in the code.

diff --git a/autotests/export/docbook/bibliography_precooked_aastex.xml b/autotests/export/docbook/bibliography_precooked_aastex.xml
index b663868..2c9f5bd 100644
--- a/autotests/export/docbook/bibliography_precooked_aastex.xml
+++ b/autotests/export/docbook/bibliography_precooked_aastex.xml
@@ -4,23 +4,27 @@
 <article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
 <info>
 <title>Collapsed Cores in Globular Clusters,  Gauge-Boson Couplings, and AASTeX Examples</title>
-<author><personname>S. Djorgovski and Ivan R. King</personname></author>
-<author><affiliation><orgname>Astronomy Department, University of California, Berkeley, CA 94720</orgname></affiliation></author>
-<author><affiliation role="alternate"><orgname>Visiting Astronomer Cerro Tololo Inter-American Observatory.CTIO is operated by AURA Inc. under contract to the National Science Foundation.</orgname></affiliation></author>
-<author><affiliation role="alternate"><orgname>Society of Fellows, Harvard University.</orgname></affiliation></author>
-<author><affiliation role="alternate"><orgname>present address: Center for Astrophysics60 Garden Street, Cambridge, MA 02138</orgname></affiliation></author>
-<author><personname>C. D. Biemesderfer</personname></author>
-<author><affiliation><orgname>National Optical Astronomy Observatories, Tucson, AZ 85719</orgname></affiliation></author>
-<author><affiliation role="alternate"><orgname>Visiting Programmer, Space Telescope Science Institute</orgname></affiliation></author>
-<author><affiliation role="alternate"><orgname>Patron, Alonso's Bar and Grill</orgname></affiliation></author>
-<author><email>aastex-help at aas.org</email></author>
-<author><personname>R. J. Hanisch</personname></author>
-<author><affiliation><orgname>Space Telescope Science Institute, Baltimore, MD 21218</orgname></affiliation></author>
-<author><affiliation role="alternate"><orgname>Patron, Alonso's Bar and Grill</orgname></affiliation></author>
+<author><personname>S. Djorgovski and Ivan R. King</personname>
+<affiliation><orgname>Astronomy Department, University of California, Berkeley, CA 94720</orgname></affiliation>
+<affiliation role="alternate"><orgname>Visiting Astronomer Cerro Tololo Inter-American Observatory.CTIO is operated by AURA Inc. under contract to the National Science Foundation.</orgname></affiliation>
+<affiliation role="alternate"><orgname>Society of Fellows, Harvard University.</orgname></affiliation>
+<affiliation role="alternate"><orgname>present address: Center for Astrophysics60 Garden Street, Cambridge, MA 02138</orgname></affiliation></author>
+<author><personname>C. D. Biemesderfer</personname>
+<affiliation><orgname>National Optical Astronomy Observatories, Tucson, AZ 85719</orgname></affiliation>
+<affiliation role="alternate"><orgname>Visiting Programmer, Space Telescope Science Institute</orgname></affiliation>
+<affiliation role="alternate"><orgname>Patron, Alonso's Bar and Grill</orgname></affiliation>
+<email>aastex-help at aas.org</email></author>
+<author><personname>R. J. Hanisch</personname>
+<affiliation><orgname>Space Telescope Science Institute, Baltimore, MD 21218</orgname></affiliation>
+<affiliation role="alternate"><orgname>Patron, Alonso's Bar and Grill</orgname></affiliation></author>
 <abstract><para>
 <para>This is a preliminary report on surface photometry of the major fraction of known globular clusters, to see which of them show the signs of a collapsed core. We also explore some diversionary mathematics and recreational tables. </para>
-</para></abstract>
-</info>
+<!-- Output Error: Tried to close `Keywords' when tag was not open. Tag discarded. -->
+
+<!-- Output Error: Closing tag `info' when other tags are open, namely: -->
+<!-- Output Error: para -->
+</para><!-- Output Error: abstract -->
+</abstract></info>
 <section>
 <title>Introduction</title>
 <para>A focal problem today in the dynamics of globular clusters is core collapse. It has been predicted by theory for decades <biblioref endterm="hen61" />, <biblioref endterm="lyn68" />, <biblioref endterm="spi85" />, but observation has been less alert to the phenomenon. For many years the central brightness peak in M15 <biblioref endterm="kin75" />, <biblioref endterm="new78" /> seemed a unique anomaly. Then <biblioref endterm="aur82" /> suggested a central peak in NGC 6397, and a limited photographic survey of ours <biblioref endterm="djo84" /> found three more cases, including NGC 6624, whose sharp center had often been remarked on <biblioref endterm="can78" />. </para>
@@ -688,7 +692,8 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mtable>
  </m:math>
 </informalequation>
-</MathLetters>
+<!-- Output Error: Tried to close `title' when tag was not open. Tag discarded. -->
+
 </section>
 </section>
 <section>
@@ -964,8 +969,9 @@ v(p,\lambda)_{\pm} & = & \pm\lambda(E\mp\lambda|{\textbf{p}}|)^{1/2}\chi
  </m:mrow>
  </m:math>
 </inlineequation> of the electronically submitted abstracts for AAS meetings are error-free. </para>
-<acknowledgement><para>We are grateful to V. Barger, T. Han, and R. J. N. Phillips for doing the math in section&#xA0;<xref linkend="bozomath" />. More information on the AASTeX macros package are available at <link xlink:href="http://www.aas.org/publications/aastex">http://www.aas.org/publications/aastex</link> or the <link xlink:href="ftp://www.aas.org/pubs/AAS ftp site">AAS ftp site</link>.</para></acknowledgement>
-<para><application>IRAF, AIPS, Astropy, ...</application></para>
+<acknowledgement><para>We are grateful to V. Barger, T. Han, and R. J. N. Phillips for doing the math in section&#xA0;<xref linkend="bozomath" />. More information on the AASTeX macros package are available at <link xlink:href="http://www.aas.org/publications/aastex">http://www.aas.org/publications/aastex</link> or the <link xlink:href="ftp://www.aas.org/pubs/AAS ftp site">AAS ftp site</link>.</para>
+<application>IRAF, AIPS, Astropy, ...</application><!-- Output Error: Tried to close `para' when tag was not open. Tag discarded. -->
+
 <Appendix></Appendix>
 <bibliography>
 <bibliomixed xml:id='aur82'>Aurière, M. 1982, <!-- \aap -->, 109, 301 </bibliomixed>
diff --git a/lib/layouts/aastex.layout b/lib/layouts/aastex.layout
index 5db7dee..445d25f 100644
--- a/lib/layouts/aastex.layout
+++ b/lib/layouts/aastex.layout
@@ -175,10 +175,11 @@ Style Affiliation
 	  Family	Roman
 	  Size		Normal
 	EndFont
-	DocBookTag            affiliation
-	DocBookWrapperTag     author
-	DocBookItemTag        orgname
-	DocBookInInfo         always
+	DocBookTag                        affiliation
+	DocBookWrapperTag                 author
+	DocBookWrapperMergeWithPrevious   true
+	DocBookItemTag                    orgname
+	DocBookInInfo                     always
 End
 
 
@@ -201,11 +202,12 @@ Style Altaffilation
 	LabelFont
 	  Color		green
 	EndFont
-	DocBookTag            affiliation
-	DocBookAttr           role="alternate"
-	DocBookItemTag        orgname
-	DocBookWrapperTag     author
-	DocBookInInfo         always
+	DocBookTag                        affiliation
+	DocBookAttr                       role="alternate"
+	DocBookWrapperTag                 author
+	DocBookWrapperMergeWithPrevious   true
+	DocBookItemTag                    orgname
+	DocBookInInfo                     always
 End
 
 
@@ -225,9 +227,10 @@ Style Email
 	  Size		Normal
 	  Shape		Italic
 	EndFont
-	DocBookTag            email
-	DocBookWrapperTag     author
-	DocBookInInfo         always
+	DocBookTag                        email
+	DocBookWrapperTag                 author
+	DocBookWrapperMergeWithPrevious   true
+	DocBookInInfo                     always
 End
 
 
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index a081b2d..d0536ee 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -189,11 +189,30 @@ namespace {
 
 // convenience functions
 
-void openParTag(XMLStream & xs, Paragraph const & par)
+void openParTag(XMLStream & xs, const Paragraph * par, const Paragraph * prevpar)
 {
-	Layout const & lay = par.layout();
+	Layout const & lay = par->layout();
+
+	if (par == prevpar)
+		prevpar = nullptr;
+
+	// When should the wrapper be opened here? Only if the previous paragraph has the SAME wrapper tag
+	// (usually, they won't have the same layout) and the CURRENT one allows merging.
+	// The main use case is author information in several paragraphs: if the name of the author is the
+	// first paragraph of an author, then merging with the previous tag does not make sense. Say the
+	// next paragraph is the affiliation, then it should be output in the same <author> tag (different
+	// layout, same wrapper tag).
+	bool openWrapper = lay.docbookwrappertag() != "NONE";
+	if (prevpar != nullptr) {
+		Layout const & prevlay = prevpar->layout();
+		if (prevlay.docbookwrappertag() != "NONE") {
+			openWrapper = prevlay.docbookwrappertag() == lay.docbookwrappertag()
+					&& !lay.docbookwrappermergewithprevious();
+		}
+	}
 
-	if (lay.docbookwrappertag() != "NONE")
+	// Main logic.
+	if (openWrapper)
 		xs << xml::StartTag(lay.docbookwrappertag(), lay.docbookwrapperattr());
 
 	string tag = lay.docbooktag();
@@ -207,10 +226,24 @@ void openParTag(XMLStream & xs, Paragraph const & par)
 }
 
 
-void closeTag(XMLStream & xs, Paragraph const & par)
+void closeTag(XMLStream & xs, Paragraph const * par, Paragraph const * nextpar)
 {
-	Layout const & lay = par.layout();
+	Layout const & lay = par->layout();
+
+	if (par == nextpar)
+		nextpar = nullptr;
+
+	// See comment in openParTag.
+	bool closeWrapper = lay.docbookwrappertag() != "NONE";
+	if (nextpar != nullptr) {
+		Layout const & nextlay = nextpar->layout();
+		if (nextlay.docbookwrappertag() != "NONE") {
+			closeWrapper = nextlay.docbookwrappertag() == lay.docbookwrappertag()
+					&& !nextlay.docbookwrappermergewithprevious();
+		}
+	}
 
+	// Main logic.
 	if (lay.docbookitemtag() != "NONE")
 		xs << xml::EndTag(lay.docbookitemtag());
 
@@ -219,7 +252,7 @@ void closeTag(XMLStream & xs, Paragraph const & par)
 		tag = "para";
 
 	xs << xml::EndTag(tag);
-	if (lay.docbookwrappertag() != "NONE")
+	if (closeWrapper)
 		xs << xml::EndTag(lay.docbookwrappertag());
 }
 
@@ -399,9 +432,12 @@ ParagraphList::const_iterator makeParagraphs(
 		ParagraphList::const_iterator const & pbegin,
 		ParagraphList::const_iterator const & pend)
 {
-	ParagraphList::const_iterator const begin = text.paragraphs().begin();
+	auto const begin = text.paragraphs().begin();
+	auto const end = text.paragraphs().end();
 	ParagraphList::const_iterator par = pbegin;
-	for (; par != pend; ++par) {
+	ParagraphList::const_iterator prevpar = pbegin;
+
+	for (; par != pend; prevpar = par, ++par) {
 		// We want to open the paragraph tag if:
 		//   (i) the current layout permits multiple paragraphs
 		//  (ii) we are either not already inside a paragraph (HTMLIsBlock) OR
@@ -417,7 +453,7 @@ ParagraphList::const_iterator makeParagraphs(
 		// because of branches, e.g., a branch that contains an entire new section.
 		// We do not really want to wrap that whole thing in a <div>...</div>.
 		bool special_case = false;
-		Inset const *specinset = par->size() == 1 ? par->getInset(0) : 0;
+		Inset const *specinset = par->size() == 1 ? par->getInset(0) : nullptr;
 		if (specinset && !specinset->getLayout().htmlisblock()) { // TODO: Convert htmlisblock to a DocBook parameter?
 			Layout const &style = par->layout();
 			FontInfo const first_font = style.labeltype == LABEL_MANUAL ?
@@ -466,7 +502,7 @@ ParagraphList::const_iterator makeParagraphs(
 		//		or we're not in the last paragraph, anyway.
 		//   (ii) We didn't open it and docbook_in_par is true,
 		//		but we are in the first par, and there is a next par.
-		ParagraphList::const_iterator nextpar = par;
+		auto nextpar = par;
 		++nextpar;
 		bool const close_par =
 				((open_par && (!runparams.docbook_in_par || nextpar != pend))
@@ -484,12 +520,12 @@ ParagraphList::const_iterator makeParagraphs(
 
 		if (!cleaned.empty()) {
 			if (open_par)
-				openParTag(xs, *par);
+				openParTag(xs, &*par, &*prevpar);
 
 			xs << XMLStream::ESCAPE_NONE << os2.str();
 
 			if (close_par) {
-				closeTag(xs, *par);
+				closeTag(xs, &*par, (nextpar != end) ? &*nextpar : nullptr);
 				xs << xml::CR();
 			}
 		}
@@ -514,11 +550,24 @@ ParagraphList::const_iterator makeEnvironment(
 		ParagraphList::const_iterator const & pend)
 {
 	auto const begin = text.paragraphs().begin();
+	auto const end = text.paragraphs().end();
 	ParagraphList::const_iterator par = pbegin;
 	depth_type const origdepth = pbegin->params().depth();
 
+	// Find the previous paragraph.
+	auto prevpar = begin;
+	if (prevpar != par) {
+		auto prevpar_next = prevpar;
+		++prevpar_next;
+
+		while (prevpar_next != par) {
+			++prevpar_next;
+			++prevpar;
+		}
+	}
+
 	// open tag for this environment
-	openParTag(xs, *par);
+	openParTag(xs, &*par, &*prevpar);
 	xs << xml::CR();
 
 	// we will on occasion need to remember a layout from before.
@@ -672,7 +721,9 @@ ParagraphList::const_iterator makeEnvironment(
 			xs << xml::CR();
 		}
 	}
-	closeTag(xs, *par);
+	auto nextpar = par;
+	++nextpar;
+	closeTag(xs, &*par, (nextpar != end) ? &*nextpar : nullptr);
 	xs << xml::CR();
 	return pend;
 }
@@ -686,14 +737,30 @@ void makeCommand(
 		ParagraphList::const_iterator const & pbegin)
 {
 	// No need for labels, as they are handled by DocBook tags.
+	auto const begin = text.paragraphs().begin();
+	auto const end = text.paragraphs().end();
+	auto nextpar = pbegin;
+	++nextpar;
+
+	// Find the previous paragraph.
+	auto prevpar = begin;
+	if (prevpar != pbegin) {
+		auto prevpar_next = prevpar;
+		++prevpar_next;
+
+		while (prevpar_next != pbegin) {
+			++prevpar_next;
+			++prevpar;
+		}
+	}
 
-	openParTag(xs, *pbegin);
+	// Generate this command.
+	openParTag(xs, &*pbegin, &*prevpar);
 
-	auto const begin = text.paragraphs().begin();
 	pbegin->simpleDocBookOnePar(buf, xs, runparams,
 								text.outerFont(distance(begin, pbegin)));
 
-	closeTag(xs, *pbegin);
+	closeTag(xs, &*pbegin, (nextpar != end) ? &*nextpar : nullptr);
 	xs << xml::CR();
 }
 

commit c92e0bc5e7b275e599caa50b40a3038ca27bff87
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 2 18:07:07 2020 +0200

    DocBook: fix for ordering.

diff --git a/src/Layout.cpp b/src/Layout.cpp
index a7e80ea..eeb58d0 100644
--- a/src/Layout.cpp
+++ b/src/Layout.cpp
@@ -235,8 +235,8 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
 		{ "docbooksectiontag",       LT_DOCBOOKSECTIONTAG },
 		{ "docbooktag",              LT_DOCBOOKTAG },
 		{ "docbookwrapperattr",      LT_DOCBOOKWRAPPERATTR },
-		{ "docbookwrappertag",       LT_DOCBOOKWRAPPERTAG },
 		{ "docbookwrappermergewithprevious", LT_DOCBOOKWRAPPERMERGEWITHPREVIOUS },
+		{ "docbookwrappertag",       LT_DOCBOOKWRAPPERTAG },
 		{ "end",            LT_END },
 		{ "endlabelstring", LT_ENDLABELSTRING },
 		{ "endlabeltype",   LT_ENDLABELTYPE },

commit 72c304a6297311086d8fe1a17622f7b79623d3bd
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 2 17:35:16 2020 +0200

    DocBook: make openParTag/closeTag use paragraphs instead of layouts.
    
    Not useful per se, but will be next with checking whether the wrapper tags should be opened/closed.

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 2e7b637..a081b2d 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -189,8 +189,10 @@ namespace {
 
 // convenience functions
 
-void openParTag(XMLStream & xs, Layout const & lay)
+void openParTag(XMLStream & xs, Paragraph const & par)
 {
+	Layout const & lay = par.layout();
+
 	if (lay.docbookwrappertag() != "NONE")
 		xs << xml::StartTag(lay.docbookwrappertag(), lay.docbookwrapperattr());
 
@@ -205,8 +207,10 @@ void openParTag(XMLStream & xs, Layout const & lay)
 }
 
 
-void closeTag(XMLStream & xs, Layout const & lay)
+void closeTag(XMLStream & xs, Paragraph const & par)
 {
+	Layout const & lay = par.layout();
+
 	if (lay.docbookitemtag() != "NONE")
 		xs << xml::EndTag(lay.docbookitemtag());
 
@@ -294,8 +298,8 @@ ParagraphList::const_iterator findEndOfEnvironment(
 		ParagraphList::const_iterator const & pend)
 {
 	ParagraphList::const_iterator p = pstart;
-	Layout const &bstyle = p->layout();
 	size_t const depth = p->params().depth();
+
 	for (++p; p != pend; ++p) {
 		Layout const &style = p->layout();
 		// It shouldn't happen that e.g. a section command occurs inside
@@ -315,9 +319,10 @@ ParagraphList::const_iterator findEndOfEnvironment(
 		// FIXME I am not sure about the first check.
 		// Surely we *could* have different layouts that count as
 		// LATEX_PARAGRAPH, right?
-		if (style.latextype == LATEX_PARAGRAPH || style != bstyle)
+		if (style.latextype == LATEX_PARAGRAPH || style != p->layout())
 			return p;
 	}
+
 	return pend;
 }
 
@@ -397,8 +402,6 @@ ParagraphList::const_iterator makeParagraphs(
 	ParagraphList::const_iterator const begin = text.paragraphs().begin();
 	ParagraphList::const_iterator par = pbegin;
 	for (; par != pend; ++par) {
-		Layout const &lay = par->layout();
-
 		// We want to open the paragraph tag if:
 		//   (i) the current layout permits multiple paragraphs
 		//  (ii) we are either not already inside a paragraph (HTMLIsBlock) OR
@@ -428,7 +431,7 @@ ParagraphList::const_iterator makeParagraphs(
 		}
 
 		// Plain layouts must be ignored.
-		if (!special_case && buf.params().documentClass().isPlainLayout(lay) && !runparams.docbook_force_pars)
+		if (!special_case && buf.params().documentClass().isPlainLayout(par->layout()) && !runparams.docbook_force_pars)
 			special_case = true;
 		// TODO: Could get rid of this with a DocBook equivalent to htmlisblock?
 		if (!special_case && par->size() == 1 && par->getInset(0)) {
@@ -481,12 +484,12 @@ ParagraphList::const_iterator makeParagraphs(
 
 		if (!cleaned.empty()) {
 			if (open_par)
-				openParTag(xs, lay);
+				openParTag(xs, *par);
 
 			xs << XMLStream::ESCAPE_NONE << os2.str();
 
 			if (close_par) {
-				closeTag(xs, lay);
+				closeTag(xs, *par);
 				xs << xml::CR();
 			}
 		}
@@ -510,13 +513,12 @@ ParagraphList::const_iterator makeEnvironment(
 		ParagraphList::const_iterator const & pbegin,
 		ParagraphList::const_iterator const & pend)
 {
-	ParagraphList::const_iterator const begin = text.paragraphs().begin();
+	auto const begin = text.paragraphs().begin();
 	ParagraphList::const_iterator par = pbegin;
-	Layout const &bstyle = par->layout();
 	depth_type const origdepth = pbegin->params().depth();
 
 	// open tag for this environment
-	openParTag(xs, bstyle);
+	openParTag(xs, *par);
 	xs << xml::CR();
 
 	// we will on occasion need to remember a layout from before.
@@ -535,7 +537,7 @@ ParagraphList::const_iterator makeEnvironment(
 			// One is that we are still in the environment in which we
 			// started---which we will be if the depth is the same.
 			if (par->params().depth() == origdepth) {
-				LATTEST(bstyle == style);
+				LATTEST(par->layout() == style);
 				if (lastlay != nullptr) {
 					closeItemTag(xs, *lastlay);
 					if (lastlay->docbookitemwrappertag() != "NONE") {
@@ -670,7 +672,7 @@ ParagraphList::const_iterator makeEnvironment(
 			xs << xml::CR();
 		}
 	}
-	closeTag(xs, bstyle);
+	closeTag(xs, *par);
 	xs << xml::CR();
 	return pend;
 }
@@ -683,16 +685,15 @@ void makeCommand(
 		Text const & text,
 		ParagraphList::const_iterator const & pbegin)
 {
-	Layout const &style = pbegin->layout();
-
 	// No need for labels, as they are handled by DocBook tags.
 
-	openParTag(xs, style);
+	openParTag(xs, *pbegin);
 
-	ParagraphList::const_iterator const begin = text.paragraphs().begin();
+	auto const begin = text.paragraphs().begin();
 	pbegin->simpleDocBookOnePar(buf, xs, runparams,
 								text.outerFont(distance(begin, pbegin)));
-	closeTag(xs, style);
+
+	closeTag(xs, *pbegin);
 	xs << xml::CR();
 }
 

commit c417253d0b07ba8d908a88351301fd6748977aee
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 2 17:28:50 2020 +0200

    DocBook: use DocBookItemTag within paragraphs.
    
    This is at least helpful for AAS, even though it slightly resembles a repurposition of that parameter.

diff --git a/autotests/export/docbook/bibliography_precooked_aastex.xml b/autotests/export/docbook/bibliography_precooked_aastex.xml
index 37dada8..b663868 100644
--- a/autotests/export/docbook/bibliography_precooked_aastex.xml
+++ b/autotests/export/docbook/bibliography_precooked_aastex.xml
@@ -5,21 +5,21 @@
 <info>
 <title>Collapsed Cores in Globular Clusters,  Gauge-Boson Couplings, and AASTeX Examples</title>
 <author><personname>S. Djorgovski and Ivan R. King</personname></author>
-<author><affiliation>Astronomy Department, University of California, Berkeley, CA 94720</affiliation></author>
-<author><affiliation role="alternate">Visiting Astronomer Cerro Tololo Inter-American Observatory.CTIO is operated by AURA Inc. under contract to the National Science Foundation.</affiliation></author>
-<author><affiliation role="alternate">Society of Fellows, Harvard University.</affiliation></author>
-<author><affiliation role="alternate">present address: Center for Astrophysics60 Garden Street, Cambridge, MA 02138</affiliation></author>
+<author><affiliation><orgname>Astronomy Department, University of California, Berkeley, CA 94720</orgname></affiliation></author>
+<author><affiliation role="alternate"><orgname>Visiting Astronomer Cerro Tololo Inter-American Observatory.CTIO is operated by AURA Inc. under contract to the National Science Foundation.</orgname></affiliation></author>
+<author><affiliation role="alternate"><orgname>Society of Fellows, Harvard University.</orgname></affiliation></author>
+<author><affiliation role="alternate"><orgname>present address: Center for Astrophysics60 Garden Street, Cambridge, MA 02138</orgname></affiliation></author>
 <author><personname>C. D. Biemesderfer</personname></author>
-<author><affiliation>National Optical Astronomy Observatories, Tucson, AZ 85719</affiliation></author>
-<author><affiliation role="alternate">Visiting Programmer, Space Telescope Science Institute</affiliation></author>
-<author><affiliation role="alternate">Patron, Alonso's Bar and Grill</affiliation></author>
+<author><affiliation><orgname>National Optical Astronomy Observatories, Tucson, AZ 85719</orgname></affiliation></author>
+<author><affiliation role="alternate"><orgname>Visiting Programmer, Space Telescope Science Institute</orgname></affiliation></author>
+<author><affiliation role="alternate"><orgname>Patron, Alonso's Bar and Grill</orgname></affiliation></author>
 <author><email>aastex-help at aas.org</email></author>
 <author><personname>R. J. Hanisch</personname></author>
-<author><affiliation>Space Telescope Science Institute, Baltimore, MD 21218</affiliation></author>
-<author><affiliation role="alternate">Patron, Alonso's Bar and Grill</affiliation></author>
-<abstract>
+<author><affiliation><orgname>Space Telescope Science Institute, Baltimore, MD 21218</orgname></affiliation></author>
+<author><affiliation role="alternate"><orgname>Patron, Alonso's Bar and Grill</orgname></affiliation></author>
+<abstract><para>
 <para>This is a preliminary report on surface photometry of the major fraction of known globular clusters, to see which of them show the signs of a collapsed core. We also explore some diversionary mathematics and recreational tables. </para>
-</abstract>
+</para></abstract>
 </info>
 <section>
 <title>Introduction</title>
diff --git a/lib/layouts/aastex.layout b/lib/layouts/aastex.layout
index 275018a..5db7dee 100644
--- a/lib/layouts/aastex.layout
+++ b/lib/layouts/aastex.layout
@@ -155,6 +155,9 @@ Style Author
 	  Series	Medium
 	  Shape		SmallCaps
 	EndFont
+	DocBookTag            personname
+	DocBookWrapperTag     author
+	DocBookInInfo         always
 End
 
 
@@ -172,6 +175,10 @@ Style Affiliation
 	  Family	Roman
 	  Size		Normal
 	EndFont
+	DocBookTag            affiliation
+	DocBookWrapperTag     author
+	DocBookItemTag        orgname
+	DocBookInInfo         always
 End
 
 
@@ -194,6 +201,11 @@ Style Altaffilation
 	LabelFont
 	  Color		green
 	EndFont
+	DocBookTag            affiliation
+	DocBookAttr           role="alternate"
+	DocBookItemTag        orgname
+	DocBookWrapperTag     author
+	DocBookInInfo         always
 End
 
 
@@ -213,6 +225,9 @@ Style Email
 	  Size		Normal
 	  Shape		Italic
 	EndFont
+	DocBookTag            email
+	DocBookWrapperTag     author
+	DocBookInInfo         always
 End
 
 
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 434148b..2e7b637 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -191,20 +191,25 @@ namespace {
 
 void openParTag(XMLStream & xs, Layout const & lay)
 {
-	if (lay.docbookwrappertag() != "NONE") {
+	if (lay.docbookwrappertag() != "NONE")
 		xs << xml::StartTag(lay.docbookwrappertag(), lay.docbookwrapperattr());
-	}
 
 	string tag = lay.docbooktag();
 	if (tag == "Plain Layout")
 		tag = "para";
 
 	xs << xml::ParTag(tag, lay.docbookattr());
+
+	if (lay.docbookitemtag() != "NONE")
+		xs << xml::StartTag(lay.docbookitemtag(), lay.docbookitemattr());
 }
 
 
 void closeTag(XMLStream & xs, Layout const & lay)
 {
+	if (lay.docbookitemtag() != "NONE")
+		xs << xml::EndTag(lay.docbookitemtag());
+
 	string tag = lay.docbooktag();
 	if (tag == "Plain Layout")
 		tag = "para";

commit 1a09086ec2a1e83e29437f8ba7d4115ce60eac10
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 2 17:23:37 2020 +0200

    Merge findLastParagraph and findLastBibliographyParagraph to lower code duplication.
    
    Maybe these functions should move to ParagraphList.h/cpp?

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 5b788f3..434148b 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -266,10 +266,11 @@ inline void closeItemTag(XMLStream & xs, Layout const & lay)
 
 // end of convenience functions
 
-ParagraphList::const_iterator findLastParagraph(
+ParagraphList::const_iterator findLast(
 		ParagraphList::const_iterator p,
-		ParagraphList::const_iterator const & pend) {
-	for (++p; p != pend && p->layout().latextype == LATEX_PARAGRAPH; ++p);
+		ParagraphList::const_iterator const & pend,
+		LatexType type) {
+	for (++p; p != pend && p->layout().latextype == type; ++p);
 
 	return p;
 }
@@ -644,11 +645,11 @@ ParagraphList::const_iterator makeEnvironment(
 			break;
 		}
 		case LATEX_PARAGRAPH:
-			send = findLastParagraph(par, pend);
+			send = findLast(par, pend, LATEX_PARAGRAPH);
 			par = makeParagraphs(buf, xs, runparams, text, par, send);
 			break;
 		case LATEX_BIB_ENVIRONMENT:
-			send = findLastBibliographyParagraph(par, pend);
+			send = findLast(par, pend, LATEX_BIB_ENVIRONMENT);
 			par = makeParagraphBibliography(buf, xs, runparams, text, par, send);
 			break;
 		case LATEX_COMMAND:
@@ -718,22 +719,19 @@ pair<ParagraphList::const_iterator, ParagraphList::const_iterator> makeAny(
 		}
 		case LATEX_ENVIRONMENT:
 		case LATEX_LIST_ENVIRONMENT:
-		case LATEX_ITEM_ENVIRONMENT: {
+		case LATEX_ITEM_ENVIRONMENT:
 			// FIXME Same fix here.
 			send = findEndOfEnvironment(par, pend);
 			par = makeEnvironment(buf, xs, ourparams, text, par, send);
 			break;
-		}
-		case LATEX_BIB_ENVIRONMENT: {
-			send = findLastBibliographyParagraph(par, pend);
-			par = makeParagraphBibliography(buf, xs, ourparams, text, par, send);
-			break;
-		}
-		case LATEX_PARAGRAPH: {
-			send = findLastParagraph(par, pend);
+		case LATEX_PARAGRAPH:
+			send = findLast(par, pend, LATEX_PARAGRAPH);
 			par = makeParagraphs(buf, xs, ourparams, text, par, send);
 			break;
-		}
+		case LATEX_BIB_ENVIRONMENT:
+			send = findLast(par, pend, LATEX_BIB_ENVIRONMENT);
+			par = makeParagraphBibliography(buf, xs, ourparams, text, par, send);
+			break;
 	}
 
 	return make_pair(par, send);

commit 4d78fe59577ab1f0aee03b4fe38bb76cdfec41be
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 2 17:17:25 2020 +0200

    Slight code-consistency improvements.

diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 2199239..5b788f3 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -189,7 +189,7 @@ namespace {
 
 // convenience functions
 
-void openParTag(XMLStream &xs, Layout const &lay)
+void openParTag(XMLStream & xs, Layout const & lay)
 {
 	if (lay.docbookwrappertag() != "NONE") {
 		xs << xml::StartTag(lay.docbookwrappertag(), lay.docbookwrapperattr());
@@ -203,7 +203,7 @@ void openParTag(XMLStream &xs, Layout const &lay)
 }
 
 
-void closeTag(XMLStream &xs, Layout const &lay)
+void closeTag(XMLStream & xs, Layout const & lay)
 {
 	string tag = lay.docbooktag();
 	if (tag == "Plain Layout")
@@ -228,14 +228,14 @@ void closeLabelTag(XMLStream & xs, Layout const & lay)
 }
 
 
-void openItemTag(XMLStream &xs, Layout const &lay)
+void openItemTag(XMLStream & xs, Layout const & lay)
 {
 	xs << xml::StartTag(lay.docbookitemtag(), lay.docbookitemattr());
 }
 
 
 // Return true when new elements are output in a paragraph, false otherwise.
-bool openInnerItemTag(XMLStream &xs, Layout const &lay)
+bool openInnerItemTag(XMLStream & xs, Layout const & lay)
 {
 	if (lay.docbookiteminnertag() != "NONE") {
 		xs << xml::CR();
@@ -249,7 +249,7 @@ bool openInnerItemTag(XMLStream &xs, Layout const &lay)
 }
 
 
-void closeInnerItemTag(XMLStream &xs, Layout const &lay)
+void closeInnerItemTag(XMLStream & xs, Layout const & lay)
 {
 	if (lay.docbookiteminnertag()!= "NONE") {
 		xs << xml::EndTag(lay.docbookiteminnertag());
@@ -258,7 +258,7 @@ void closeInnerItemTag(XMLStream &xs, Layout const &lay)
 }
 
 
-inline void closeItemTag(XMLStream &xs, Layout const &lay)
+inline void closeItemTag(XMLStream & xs, Layout const & lay)
 {
 	xs << xml::EndTag(lay.docbookitemtag());
 	xs << xml::CR();

commit ad18c194920fe8ed8f339ee5fc755e8f3473db51
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 2 17:07:38 2020 +0200

    DocBook: add new layout parameter DocBookWrapperMergeWithPrevious.

diff --git a/lib/scripts/layout2layout.py b/lib/scripts/layout2layout.py
index 60d4593..e69deba 100644
--- a/lib/scripts/layout2layout.py
+++ b/lib/scripts/layout2layout.py
@@ -11,7 +11,7 @@
 # This script will update a .layout file to current format
 
 # The latest layout format is also defined in src/TextClass.cpp
-currentFormat = 82
+currentFormat = 83
 
 
 # Incremented to format 4, 6 April 2007, lasgouttes
@@ -281,6 +281,9 @@ currentFormat = 82
 # - Removed tag Header from ClassOptionsClassOptions
 # - Removed tag Element for flex insets
 
+# Incremented to format 83, 2 August 2020 by dourouc05
+# New tag DocBookWrapperMergeWithPrevious
+
 # Do not forget to document format change in Customization
 # Manual (section "Declaring a new text class").
 
diff --git a/src/Layout.cpp b/src/Layout.cpp
index c45fd5c..a7e80ea 100644
--- a/src/Layout.cpp
+++ b/src/Layout.cpp
@@ -109,6 +109,7 @@ enum LayoutTags {
 	LT_DOCBOOKININFO,
 	LT_DOCBOOKWRAPPERTAG,
 	LT_DOCBOOKWRAPPERATTR,
+	LT_DOCBOOKWRAPPERMERGEWITHPREVIOUS,
 	LT_DOCBOOKSECTIONTAG,
 	LT_DOCBOOKITEMWRAPPERTAG,
 	LT_DOCBOOKITEMWRAPPERATTR,
@@ -176,6 +177,7 @@ Layout::Layout()
 	htmllabelfirst_ = false;
 	htmlforcecss_ = false;
 	htmltitle_ = false;
+	docbookwrappermergewithprevious_ = false;
 	spellcheck = true;
 	forcelocal = 0;
 	itemcommand_ = "item";
@@ -234,6 +236,7 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
 		{ "docbooktag",              LT_DOCBOOKTAG },
 		{ "docbookwrapperattr",      LT_DOCBOOKWRAPPERATTR },
 		{ "docbookwrappertag",       LT_DOCBOOKWRAPPERTAG },
+		{ "docbookwrappermergewithprevious", LT_DOCBOOKWRAPPERMERGEWITHPREVIOUS },
 		{ "end",            LT_END },
 		{ "endlabelstring", LT_ENDLABELSTRING },
 		{ "endlabeltype",   LT_ENDLABELTYPE },
@@ -743,6 +746,10 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
 			lex >> docbookwrapperattr_;
 			break;
 
+		case LT_DOCBOOKWRAPPERMERGEWITHPREVIOUS:
+			lex >> docbookwrappermergewithprevious_;
+			break;
+
 		case LT_DOCBOOKSECTIONTAG:
 			lex >> docbooksectiontag_;
 			break;
@@ -1610,6 +1617,7 @@ void Layout::write(ostream & os) const
 		os << "\tDocBookItemWrapperTag " << docbookitemwrappertag_ << '\n';
 	if(!docbookitemwrapperattr_.empty())
 		os << "\tDocBookItemWrapperAttr " << docbookitemwrapperattr_ << '\n';
+	os << "\tDocBookItemWrapperMergeWithPrevious " << docbookwrappermergewithprevious_ << '\n';
 	if(!docbookitemlabeltag_.empty())
 		os << "\tDocBookItemLabelTag " << docbookitemlabeltag_ << '\n';
 	if(!docbookitemlabelattr_.empty())
diff --git a/src/Layout.h b/src/Layout.h
index 7e9409a..d9eb893 100644
--- a/src/Layout.h
+++ b/src/Layout.h
@@ -203,6 +203,8 @@ public:
 	///
 	std::string const & docbookwrapperattr() const;
 	///
+	bool docbookwrappermergewithprevious() const { return docbookwrappermergewithprevious_; }
+	///
 	std::string const & docbooksectiontag() const;
 	///
 	std::string const & docbookitemwrappertag() const;
@@ -512,6 +514,8 @@ private:
 	mutable std::string docbookwrappertag_;
 	/// Roles to add to docbookwrappertag_, if any (default: none).
 	mutable std::string docbookwrapperattr_;
+	/// Whether this wrapper tag may be merged with the previously opened wrapper tag.
+	bool docbookwrappermergewithprevious_;
 	/// Outer tag for this section, only if this layout represent a sectionning item, including chapters (default: section).
 	mutable std::string docbooksectiontag_;
 	/// Whether this tag must/can/can't go into an <info> tag (default: never, as it only makes sense for metadata).
diff --git a/src/TextClass.cpp b/src/TextClass.cpp
index 4cc5eba..469cfaf 100644
--- a/src/TextClass.cpp
+++ b/src/TextClass.cpp
@@ -62,7 +62,7 @@ namespace lyx {
 // You should also run the development/tools/updatelayouts.py script,
 // to update the format of all of our layout files.
 //
-int const LAYOUT_FORMAT = 82; // dourouc05: DocBook additions.
+int const LAYOUT_FORMAT = 83; // tcuvelier: DocBookWrapperMergeWithPrevious.
 
 
 // Layout format for the current lyx file format. Controls which format is

commit a852706bf07d9ee265754c639560a4346de623d8
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date:   Sun Aug 2 16:52:33 2020 +0200

    DocBook: allow empty paragraphs before the <info> section.

diff --git a/autotests/export/docbook/bibliography_precooked_aastex.xml b/autotests/export/docbook/bibliography_precooked_aastex.xml
index 89b1714..37dada8 100644
--- a/autotests/export/docbook/bibliography_precooked_aastex.xml
+++ b/autotests/export/docbook/bibliography_precooked_aastex.xml
@@ -3,6 +3,23 @@
   See http://www.lyx.org/ for more information -->
 <article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
 <info>
+<title>Collapsed Cores in Globular Clusters,  Gauge-Boson Couplings, and AASTeX Examples</title>
+<author><personname>S. Djorgovski and Ivan R. King</personname></author>
+<author><affiliation>Astronomy Department, University of California, Berkeley, CA 94720</affiliation></author>
+<author><affiliation role="alternate">Visiting Astronomer Cerro Tololo Inter-American Observatory.CTIO is operated by AURA Inc. under contract to the National Science Foundation.</affiliation></author>
+<author><affiliation role="alternate">Society of Fellows, Harvard University.</affiliation></author>
+<author><affiliation role="alternate">present address: Center for Astrophysics60 Garden Street, Cambridge, MA 02138</affiliation></author>
+<author><personname>C. D. Biemesderfer</personname></author>
+<author><affiliation>National Optical Astronomy Observatories, Tucson, AZ 85719</affiliation></author>
+<author><affiliation role="alternate">Visiting Programmer, Space Telescope Science Institute</affiliation></author>
+<author><affiliation role="alternate">Patron, Alonso's Bar and Grill</affiliation></author>
+<author><email>aastex-help at aas.org</email></author>
+<author><personname>R. J. Hanisch</personname></author>
+<author><affiliation>Space Telescope Science Institute, Baltimore, MD 21218</affiliation></author>
+<author><affiliation role="alternate">Patron, Alonso's Bar and Grill</affiliation></author>
+<abstract>
+<para>This is a preliminary report on surface photometry of the major fraction of known globular clusters, to see which of them show the signs of a collapsed core. We also explore some diversionary mathematics and recreational tables. </para>
+</abstract>
 </info>
 <section>
 <title>Introduction</title>
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 5e15edc..2199239 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -764,15 +764,34 @@ DocBookDocumentSectioning hasDocumentSectioning(ParagraphList const &paragraphs,
 }
 
 
-DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs, pit_type const bpit, pit_type const epit) {
+bool hasOnlyNotes(Paragraph const & par)
+{
+	for (int i = 0; i < par.size(); ++i)
+		if (!par.isInset(i) || !dynamic_cast<InsetNote *>(par.insetList().get(i)))
+			return false;
+	return true;
+}
+
+
+DocBookInfoTag getParagraphsWithInfo(ParagraphList const &paragraphs, pit_type bpit, pit_type const epit) {
 	set<pit_type> shouldBeInInfo;
 	set<pit_type> mustBeInInfo;
 
+	// Find the first non empty paragraph by mutating bpit.
+	while (bpit < epit) {
+		Paragraph const &par = paragraphs[bpit];
+		if (par.empty() || hasOnlyNotes(par))
+			bpit += 1;
+		else
+			break;
+	}
+
+	// Find the last info-like paragraph.
 	pit_type cpit = bpit;
 	while (cpit < epit) {
 		// Skip paragraphs only containing one note.
 		Paragraph const &par = paragraphs[cpit];
-		if (par.size() == 1 && dynamic_cast<InsetNote*>(paragraphs[cpit].insetList().get(0))) {
+		if (hasOnlyNotes(par)) {
 			cpit += 1;
 			continue;
 		}

commit 7470305720d7733a27e9c6e5ef13a0774f5d0f77
Author: Juergen Spitzmueller <spitz at lyx.org>
Date:   Sat Sep 19 08:58:35 2020 +0200

    de.po

diff --git a/po/de.po b/po/de.po
index 8128523..caaf17d 100644
--- a/po/de.po
+++ b/po/de.po
@@ -94,8 +94,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: LyX 2.4git\n"
 "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2020-09-03 08:52+0200\n"
-"PO-Revision-Date: 2020-09-03 08:53+0200\n"
+"POT-Creation-Date: 2020-09-19 08:54+0200\n"
+"PO-Revision-Date: 2020-09-19 08:58+0200\n"
 "Last-Translator: Jürgen Spitzmüller <spitz at lyx.org>\n"
 "Language-Team: Deutsch <lyx-docs at lists.lyx.org>\n"
 "Language: de\n"
@@ -2365,8 +2365,8 @@ msgstr "Input"
 msgid "Verbatim"
 msgstr "Unformatiert"
 
-#: src/frontends/qt/ui/IncludeUi.ui:61 src/insets/InsetInclude.cpp:1420
-#: src/insets/InsetInclude.cpp:1426
+#: src/frontends/qt/ui/IncludeUi.ui:61 src/insets/InsetInclude.cpp:1422
+#: src/insets/InsetInclude.cpp:1428
 msgid "Program Listing"
 msgstr "Programmlisting"
 
@@ -3607,7 +3607,7 @@ msgstr "&Doppelseitiges Dokument"
 msgid "Line &spacing"
 msgstr "Zeilen&abstand"
 
-#: src/frontends/qt/ui/ParagraphUi.ui:60 src/Text.cpp:1990
+#: src/frontends/qt/ui/ParagraphUi.ui:60 src/Text.cpp:2035
 #: src/frontends/qt/GuiDocument.cpp:870
 msgid "Single"
 msgstr "Einfach"
@@ -3616,7 +3616,7 @@ msgstr "Einfach"
 msgid "1.5"
 msgstr "1,5"
 
-#: src/frontends/qt/ui/ParagraphUi.ui:70 src/Text.cpp:1996
+#: src/frontends/qt/ui/ParagraphUi.ui:70 src/Text.cpp:2041
 #: src/frontends/qt/GuiDocument.cpp:874
 msgid "Double"
 msgstr "Doppelt"
@@ -4152,16 +4152,16 @@ msgstr ""
 msgid "Search &drive for cited files"
 msgstr "Suche auf &Festplatte nach zitierten Dateien"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:128
+#: src/frontends/qt/ui/PrefEditUi.ui:144
 msgid "Patte&rn:"
 msgstr "&Suchmuster:"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:138
+#: src/frontends/qt/ui/PrefEditUi.ui:154
 msgid "Define search pattern (see UserGuide for syntax)"
 msgstr ""
 "Definiert das Suchmuster (die Syntax ist im Benutzerhandbuch erläutert)"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:151 src/LyXRC.cpp:3090
+#: src/frontends/qt/ui/PrefEditUi.ui:167 src/LyXRC.cpp:3098
 msgid ""
 "Configure the width of the text cursor. Automatic zoom-controlled cursor "
 "width used when set to 0."
@@ -4170,55 +4170,55 @@ msgstr ""
 "wird die Cursorbreite automatisch und in Abhängigkeit vom Zoom-Faktor "
 "eingestellt."
 
-#: src/frontends/qt/ui/PrefEditUi.ui:154
+#: src/frontends/qt/ui/PrefEditUi.ui:170
 msgid "Cursor width (&pixels):"
 msgstr "Dicke des Cursors (&Pixel):"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:182
+#: src/frontends/qt/ui/PrefEditUi.ui:198
 msgid "Skip trailing non-word characters"
 msgstr ""
 "Überspringe Zeichen, die nicht zu einem Wort gehören (Interpunktion etc.)"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:185
+#: src/frontends/qt/ui/PrefEditUi.ui:201
 msgid "Use M&ac-style cursor movement"
 msgstr "Cursor-Navigation im &Mac-Stil"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:192
+#: src/frontends/qt/ui/PrefEditUi.ui:208
 msgid "&Group environments by their category"
 msgstr "Absatzlayouts nach &Kategorien gruppieren"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:202
+#: src/frontends/qt/ui/PrefEditUi.ui:218
 msgid "Fullscreen"
 msgstr "Vollbild"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:220
-msgid "&Hide toolbars"
-msgstr "&Werkzeugleisten verstecken"
-
-#: src/frontends/qt/ui/PrefEditUi.ui:227
+#: src/frontends/qt/ui/PrefEditUi.ui:230
 msgid "Hide &menubar"
 msgstr "Menüleiste &verstecken"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:234
+#: src/frontends/qt/ui/PrefEditUi.ui:237
 msgid "Hide scr&ollbar"
 msgstr "S&crollbar verstecken"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:254
+#: src/frontends/qt/ui/PrefEditUi.ui:260
 msgid "Hide sta&tusbar"
 msgstr "Sta&tusleiste verstecken"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:261
+#: src/frontends/qt/ui/PrefEditUi.ui:267
 msgid "H&ide tabbar"
 msgstr "&Unterfensterleiste verstecken"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:270
+#: src/frontends/qt/ui/PrefEditUi.ui:305
 msgid "&Limit text width"
 msgstr "Begrenze Te&xtbreite"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:277
+#: src/frontends/qt/ui/PrefEditUi.ui:328
 msgid "Screen used (pi&xels):"
 msgstr "Benutzter &Bildschirmbereich (Pixel):"
 
+#: src/frontends/qt/ui/PrefEditUi.ui:375
+msgid "&Hide toolbars"
+msgstr "&Werkzeugleisten verstecken"
+
 #: src/frontends/qt/ui/PrefFileformatsUi.ui:46
 msgid "&New..."
 msgstr "&Neu..."
@@ -4541,7 +4541,7 @@ msgstr ""
 msgid "&Mark additional languages"
 msgstr "Z&usätzliche Sprachen markieren"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:199 src/LyXRC.cpp:3218
+#: src/frontends/qt/ui/PrefLanguageUi.ui:199 src/LyXRC.cpp:3226
 msgid ""
 "Select to use the current keyboard language, as set from the operating "
 "system, as default input language."
@@ -4741,7 +4741,7 @@ msgstr "Weitere Optionen"
 msgid "Output &line length:"
 msgstr "&Zeilenlänge der Ausgabe:"
 
-#: src/frontends/qt/ui/PrefOutputUi.ui:186 src/LyXRC.cpp:3029
+#: src/frontends/qt/ui/PrefOutputUi.ui:186 src/LyXRC.cpp:3037
 msgid ""
 "The maximum line length of exported plain text/LaTeX/SGML files. If set to "
 "0, paragraphs are output in a single line; if the line length is > 0, "
@@ -7301,8 +7301,7 @@ msgstr "IEEE Transactions"
 #: lib/layouts/simplecv.layout:18 lib/layouts/slides.layout:61
 #: lib/layouts/stdclass.inc:28 lib/layouts/stdinsets.inc:649
 #: lib/layouts/stdletter.inc:12 lib/layouts/svcommon.inc:26
-#: lib/layouts/tufte-book.layout:35 lib/ui/stdtoolbars.inc:75
-#: src/insets/InsetRef.cpp:578
+#: lib/layouts/tufte-book.layout:35 src/insets/InsetRef.cpp:586
 msgid "Standard"
 msgstr "Standard"
 
@@ -12074,7 +12073,7 @@ msgstr ""
 "Gleichungsnummer die Abschnittsnummer voran, bspw. '(2.1)'."
 
 #: lib/layouts/eqs-within-sections.module:17 lib/layouts/scrbook.layout:27
-#: lib/layouts/stdcounters.inc:81 src/insets/InsetRef.cpp:579
+#: lib/layouts/stdcounters.inc:81 src/insets/InsetRef.cpp:587
 #: src/mathed/InsetMathRef.cpp:246
 msgid "Equation"
 msgstr "Gleichung"
@@ -19502,19 +19501,19 @@ msgid "Copy as Reference|R"
 msgstr "Als Querverweis kopieren|k"
 
 #: lib/ui/stdcontext.inc:61 lib/ui/stdcontext.inc:354 lib/ui/stdmenus.inc:108
-#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1536
+#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1544
 #: src/mathed/InsetMathNest.cpp:560
 msgid "Cut"
 msgstr "Ausschneiden"
 
 #: lib/ui/stdcontext.inc:62 lib/ui/stdcontext.inc:355 lib/ui/stdmenus.inc:109
-#: lib/ui/stdtoolbars.inc:87 src/Text3.cpp:1541
+#: lib/ui/stdtoolbars.inc:87 src/Text3.cpp:1549
 #: src/mathed/InsetMathNest.cpp:569
 msgid "Copy"
 msgstr "Kopieren"
 
 #: lib/ui/stdcontext.inc:63 lib/ui/stdcontext.inc:356 lib/ui/stdmenus.inc:110
-#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1481
+#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1489
 #: src/frontends/qt/GuiToolbar.cpp:420 src/mathed/InsetMathGrid.cpp:1586
 #: src/mathed/InsetMathNest.cpp:539
 msgid "Paste"
@@ -21405,6 +21404,10 @@ msgstr "Sweave|S"
 msgid "XY-pic|X"
 msgstr "XY-Pic|X"
 
+#: lib/ui/stdtoolbars.inc:75
+msgid "Standard[[toolbar]]"
+msgstr "Standard"
+
 #: lib/ui/stdtoolbars.inc:77
 msgid "New document"
 msgstr "Neues Dokument"
@@ -27103,7 +27106,7 @@ msgstr ""
 "Bitte installieren Sie beide Pakete oder definieren Sie \\lyxadded und "
 "\\lyxdeleted im LaTeX-Vorspann neu."
 
-#: src/Buffer.cpp:1089 src/BufferParams.cpp:469 src/frontends/qt/GuiLog.cpp:247
+#: src/Buffer.cpp:1089 src/BufferParams.cpp:471 src/frontends/qt/GuiLog.cpp:247
 #: src/insets/InsetIndex.cpp:642
 msgid "Index"
 msgstr "Stichwortverzeichnis"
@@ -27709,7 +27712,7 @@ msgstr "Dokument %1$s neu geladen."
 msgid "Could not reload document %1$s."
 msgstr "Kann Dokument %1$s nicht neu laden."
 
-#: src/BufferParams.cpp:524
+#: src/BufferParams.cpp:526
 msgid ""
 "The LaTeX package amsmath is only used if AMS formula types or symbols from "
 "the AMS math toolbars are inserted into formulas"
@@ -27717,7 +27720,7 @@ msgstr ""
 "Die AMS-LaTeX-Pakete werden nur verwendet, wenn Symbole der AMS-"
 "Werkzeugleisten in Formeln eingefügt werden"
 
-#: src/BufferParams.cpp:526
+#: src/BufferParams.cpp:528
 msgid ""
 "The LaTeX package amssymb is only used if symbols from the AMS math toolbars "
 "are inserted into formulas"
@@ -27725,7 +27728,7 @@ msgstr ""
 "Das AMS-Symb-Paket wird nur verwendet, wenn Symbole der AMS-Werkzeugleisten "
 "in Formeln eingefügt werden"
 
-#: src/BufferParams.cpp:528
+#: src/BufferParams.cpp:530
 msgid ""
 "The LaTeX package cancel is only used if \\cancel commands are used in "
 "formulas"
@@ -27733,7 +27736,7 @@ msgstr ""
 "Das LaTeX-Paket 'cancel' wird nur verwendet, wenn der Befehl \\cancel in "
 "Formeln eingefügt wird"
 
-#: src/BufferParams.cpp:530
+#: src/BufferParams.cpp:532
 msgid ""
 "The LaTeX package esint is only used if special integral symbols are "
 "inserted into formulas"
@@ -27741,7 +27744,7 @@ msgstr ""
 "Das LaTeX-Paket 'esint' wird nur verwendet, wenn spezielle Integralzeichen "
 "in Formeln eingefügt werden"
 
-#: src/BufferParams.cpp:532
+#: src/BufferParams.cpp:534
 msgid ""
 "The LaTeX package mathdots is only used if the command \\iddots is inserted "
 "into formulas"
@@ -27749,7 +27752,7 @@ msgstr ""
 "Das LaTeX-Paket 'mathdots' wird nur verwendet, wenn der Befehl \\iddots in "
 "Formeln eingefügt wird"
 
-#: src/BufferParams.cpp:534
+#: src/BufferParams.cpp:536
 msgid ""
 "The LaTeX package mathtools is only used if some mathematical relations are "
 "inserted into formulas"
@@ -27757,7 +27760,7 @@ msgstr ""
 "Das LaTeX-Paket mathtools wird nur verwendet, wenn mathematische Relationen "
 "in Formeln eingefügt werden"
 
-#: src/BufferParams.cpp:536
+#: src/BufferParams.cpp:538
 msgid ""
 "The LaTeX package mhchem is only used if either the command \\ce or \\cf is "
 "inserted into formulas"
@@ -27765,7 +27768,7 @@ msgstr ""
 "Das LaTeX-Paket 'mhchem' wird nur verwendet, wenn entweder der Befehl \\ce "
 "oder \\cf in Formeln eingefügt wird"
 
-#: src/BufferParams.cpp:538
+#: src/BufferParams.cpp:540
 msgid ""
 "The LaTeX package stackrel is only used if the command \\stackrel with "
 "subscript is inserted into formulas"
@@ -27773,7 +27776,7 @@ msgstr ""
 "Das LaTeX-Paket 'stackrel' wird nur verwendet, wenn der Befehl \\stackrel "
 "mit Tiefstellung in Formeln eingefügt wird"
 
-#: src/BufferParams.cpp:540
+#: src/BufferParams.cpp:542
 msgid ""
 "The LaTeX package stmaryrd is only used if symbols from the St Mary's Road "
 "symbol font for theoretical computer science are inserted into formulas"
@@ -27781,7 +27784,7 @@ msgstr ""
 "Das Stmaryrd-Paket wird nur verwendet, wenn Symbole des St.-Mary's-Road-"
 "Symbolzeichensatzes für theoretische Informatik in Formeln eingefügt werden"
 
-#: src/BufferParams.cpp:542
+#: src/BufferParams.cpp:544
 msgid ""
 "The LaTeX package undertilde is only used if you use the math frame "
 "decoration 'utilde'"
@@ -27789,7 +27792,7 @@ msgstr ""
 "Das LaTeX-Paket undertilde wird nur verwendet, wenn die Mathe Rahmen-"
 "Verzierung 'utilde' verwendet wird"
 
-#: src/BufferParams.cpp:747
+#: src/BufferParams.cpp:749
 #, c-format
 msgid ""
 "The selected document class\n"
@@ -27812,11 +27815,11 @@ msgstr ""
 "In Abschnitt 3.1.2.2 des Benutzerhandbuchs\n"
 "finden Sie weitere Hilfe."
 
-#: src/BufferParams.cpp:756
+#: src/BufferParams.cpp:758
 msgid "Document class not available"
 msgstr "Die Dokumentklasse ist nicht verfügbar"
 
-#: src/BufferParams.cpp:1751 src/BufferParams.cpp:2194 src/Encoding.cpp:253
+#: src/BufferParams.cpp:1753 src/BufferParams.cpp:2196 src/Encoding.cpp:253
 #: src/Paragraph.cpp:2870 src/frontends/qt/LaTeXHighlighter.cpp:122
 #: src/insets/InsetCommandParams.cpp:510 src/insets/InsetCommandParams.cpp:518
 #: src/insets/InsetGraphics.cpp:885 src/insets/InsetGraphics.cpp:893
@@ -27826,7 +27829,7 @@ msgstr "Die Dokumentklasse ist nicht verfügbar"
 msgid "LyX Warning: "
 msgstr "LyX-Warnung: "
 
-#: src/BufferParams.cpp:1752 src/BufferParams.cpp:2195 src/Encoding.cpp:254
+#: src/BufferParams.cpp:1754 src/BufferParams.cpp:2197 src/Encoding.cpp:254
 #: src/Paragraph.cpp:2871 src/insets/InsetCommandParams.cpp:511
 #: src/insets/InsetCommandParams.cpp:519 src/insets/InsetGraphics.cpp:886
 #: src/insets/InsetGraphics.cpp:894 src/insets/InsetListings.cpp:302
@@ -27835,11 +27838,11 @@ msgstr "LyX-Warnung: "
 msgid "uncodable character"
 msgstr "unkodierbares Zeichen"
 
-#: src/BufferParams.cpp:1765
+#: src/BufferParams.cpp:1767
 msgid "Uncodable character in class options"
 msgstr "Unkodierbare Zeichen in den Klassenoptionen"
 
-#: src/BufferParams.cpp:1767
+#: src/BufferParams.cpp:1769
 #, c-format
 msgid ""
 "The class options of your document contain glyphs that are unknown in the "
@@ -27857,11 +27860,11 @@ msgstr ""
 "Wählen Sie eine passende Kodierung (bspw. utf8)\n"
 "oder ändern Sie den LaTeX-Code im Vorspann."
 
-#: src/BufferParams.cpp:2208
+#: src/BufferParams.cpp:2210
 msgid "Uncodable character in user preamble"
 msgstr "Unkodierbares Zeichen im Benutzervorspann"
 
-#: src/BufferParams.cpp:2210
+#: src/BufferParams.cpp:2212
 #, c-format
 msgid ""
 "The user preamble of your document contains glyphs that are unknown in the "
@@ -27879,7 +27882,7 @@ msgstr ""
 "Wählen Sie eine passende Kodierung (bspw. utf8)\n"
 "oder ändern Sie den LaTeX-Code im Vorspann."
 
-#: src/BufferParams.cpp:2523
+#: src/BufferParams.cpp:2525
 #, c-format
 msgid ""
 "The layout file:\n"
@@ -27894,11 +27897,11 @@ msgstr ""
 "Formaten wird benutzt werden. LyX wird nicht in der Lage sein eine korrekte\n"
 "Ausgabe zu erzeugen."
 
-#: src/BufferParams.cpp:2529
+#: src/BufferParams.cpp:2531
 msgid "Document class not found"
 msgstr "Dokumentklasse nicht gefunden"
 
-#: src/BufferParams.cpp:2536
+#: src/BufferParams.cpp:2538
 #, c-format
 msgid ""
 "Due to some error in it, the layout file:\n"
@@ -27913,15 +27916,15 @@ msgstr ""
 "korrekte\n"
 "Ausgabe erzeugen können."
 
-#: src/BufferParams.cpp:2542 src/BufferView.cpp:1368 src/BufferView.cpp:1400
+#: src/BufferParams.cpp:2544 src/BufferView.cpp:1368 src/BufferView.cpp:1400
 msgid "Could not load class"
 msgstr "Konnte Klasse nicht laden"
 
-#: src/BufferParams.cpp:2587
+#: src/BufferParams.cpp:2589
 msgid "Error reading internal layout information"
 msgstr "Fehler beim Einlesen interner Format-Informationen"
 
-#: src/BufferParams.cpp:2588 src/TextClass.cpp:1901 src/TextClass.cpp:1933
+#: src/BufferParams.cpp:2590 src/TextClass.cpp:1901 src/TextClass.cpp:1933
 msgid "Read Error"
 msgstr "Lesefehler"
 
@@ -28847,15 +28850,15 @@ msgstr "Die Ausgabe ist leer"
 msgid "No output file was generated."
 msgstr "Es wurde keine Ausgabedatei erzeugt."
 
-#: src/Cursor.cpp:418 src/Text.cpp:2008
+#: src/Cursor.cpp:418 src/Text.cpp:2058
 msgid ", Inset: "
 msgstr ", Einfügung: "
 
-#: src/Cursor.cpp:419 src/Text.cpp:2010
+#: src/Cursor.cpp:419 src/Text.cpp:2060
 msgid ", Cell: "
 msgstr ", Zelle: "
 
-#: src/Cursor.cpp:420 src/Text.cpp:2013
+#: src/Cursor.cpp:420 src/Text.cpp:2063
 msgid ", Position: "
 msgstr ", Position: "
 
@@ -29528,7 +29531,7 @@ msgstr ""
 msgid "Missing filename for --import"
 msgstr "Die Option --import verlangt die Angabe eines Dateinamens"
 
-#: src/LyXRC.cpp:3021
+#: src/LyXRC.cpp:3029
 msgid ""
 "Consider run-together words, such as \"diskdrive\" for \"disk drive\", as "
 "legal words?"
@@ -29536,7 +29539,7 @@ msgstr ""
 "Sollen zusammengeschriebene Wörter wie \"Verzeichnisname\" als korrekt "
 "angesehen werden?"
 
-#: src/LyXRC.cpp:3025
+#: src/LyXRC.cpp:3033
 msgid ""
 "Specify an alternate language. The default is to use the language of the "
 "document."
@@ -29545,7 +29548,7 @@ msgstr ""
 "Rechtschreibprüfung verwendet wird. Voreingestellt ist die Sprache des "
 "Dokuments."
 
-#: src/LyXRC.cpp:3033
+#: src/LyXRC.cpp:3041
 msgid ""
 "De-select if you don't want the current selection to be replaced "
 "automatically by what you type."
@@ -29553,7 +29556,7 @@ msgstr ""
 "Deaktivieren Sie diesen Schalter, wenn Sie nicht möchten, dass markierter "
 "Text automatisch durch Ihre Eingabe ersetzt wird."
 
-#: src/LyXRC.cpp:3037
+#: src/LyXRC.cpp:3045
 msgid ""
 "De-select if you don't want the class options to be reset to defaults after "
 "class change."
@@ -29562,14 +29565,14 @@ msgstr ""
 "Klassenoptionen nach einem Klassenwechsel auf den Standardwert zurückgesetzt "
 "werden."
 
-#: src/LyXRC.cpp:3041
+#: src/LyXRC.cpp:3049
 msgid ""
 "The time interval between auto-saves (in seconds). 0 means no auto-save."
 msgstr ""
 "Das Zeitintervall zwischen automatischen Sicherungen (in Sekunden). 0 "
 "bedeutet, dass nicht automatisch gespeichert wird."
 
-#: src/LyXRC.cpp:3048
+#: src/LyXRC.cpp:3056
 msgid ""
 "The path for storing backup files. If it is an empty string, LyX will store "
 "the backup file in the same directory as the original file."
@@ -29577,7 +29580,7 @@ msgstr ""
 "Der Pfad für Sicherungsdateien. Wird nichts angegeben, werden die Kopien im "
 "selben Verzeichnis wie das Original gespeichert."
 
-#: src/LyXRC.cpp:3052
+#: src/LyXRC.cpp:3060
 msgid ""
 "Define the options of bibtex (cf. man bibtex) or select an alternative "
 "compiler (e.g. mlbibtex or bibulus)."
@@ -29585,12 +29588,12 @@ msgstr ""
 "Definieren Sie die Optionen von BibTeX (vgl. die Manpage von bibtex) oder "
 "wählen Sie ein alternatives Programm (z. B. mlbibtex oder bibulus)."
 
-#: src/LyXRC.cpp:3056
+#: src/LyXRC.cpp:3064
 msgid "Define the options of the bibtex program for PLaTeX (Japanese LaTeX)."
 msgstr ""
 "Definiert die Optionen des BibTeX-Prozessors für pLaTeX (japanisches LaTeX)"
 
-#: src/LyXRC.cpp:3060
+#: src/LyXRC.cpp:3068
 msgid ""
 "Keybindings file. Can either specify an absolute path, or LyX will look in "
 "its global and local bind/ directories."
@@ -29599,13 +29602,13 @@ msgstr ""
 "absoluten Pfad angeben oder nur einen Namen. LyX sucht dann in den lokalen "
 "und globalen bind-Verzeichnissen."
 
-#: src/LyXRC.cpp:3064
+#: src/LyXRC.cpp:3072
 msgid "Select to check whether the lastfiles still exist."
 msgstr ""
 "Bitte aktivieren, wenn geprüft werden soll, ob die angegebenen, zuletzt "
 "bearbeiteten Dateien noch existieren."
 
-#: src/LyXRC.cpp:3068
+#: src/LyXRC.cpp:3076
 msgid ""
 "Define how to run chktex. E.g. \"chktex -n11 -n1 -n3 -n6 -n9 -22 -n25 -n30 -"
 "n38\" Refer to the ChkTeX documentation."
@@ -29614,7 +29617,7 @@ msgstr ""
 "\"chktex -n11 -n1 -n3 -n6 -n9 -22 -n25 -n30 -n38\". Bitte lesen Sie die "
 "Dokumentation von ChkTeX."
 
-#: src/LyXRC.cpp:3075
+#: src/LyXRC.cpp:3083
 msgid ""
 "Forbid use of external converters with 'needauth' option to prevent "
 "undesired effects."
@@ -29622,7 +29625,7 @@ msgstr ""
 "Verbiete die Verwendung von autorisierungspflichtigen Konvertern, um "
 "unbeabsichtigte Folgen zu verhindern."
 
-#: src/LyXRC.cpp:3079
+#: src/LyXRC.cpp:3087
 msgid ""
 "Ask user before calling external converters with 'needauth' option to "
 "prevent undesired effects."
@@ -29631,7 +29634,7 @@ msgstr ""
 "autorisierungspflichtig markiert wurden, um unbeabsichtigte Folgen zu "
 "verhindern."
 
-#: src/LyXRC.cpp:3086
+#: src/LyXRC.cpp:3094
 msgid ""
 "LyX normally doesn't update the cursor position if you move the scrollbar. "
 "Set to true if you'd prefer to always have the cursor on screen."
@@ -29640,7 +29643,7 @@ msgstr ""
 "wenn Sie im Dokument scrollen. Ist dieser Schalter aktiv, wird der Cursor ,"
 "mitgenommen`."
 
-#: src/LyXRC.cpp:3094
+#: src/LyXRC.cpp:3102
 msgid ""
 "LyX normally doesn't allow the user to scroll further than the bottom of the "
 "document. Set to true if you prefer to scroll the bottom of the document to "
@@ -29649,17 +29652,17 @@ msgstr ""
 "Normalerweise kann nur bis zum unteren Rand des Dokuments gescrollt werden. "
 "Ist dieser Schalter aktiv, kann man darüber hinaus scrollen."
 
-#: src/LyXRC.cpp:3098
+#: src/LyXRC.cpp:3106
 msgid "Make Apple key act as Meta and Control key as Ctrl."
 msgstr ""
 "Mit dieser Einstellung verhält sich die Apfeltaste wie die Meta-Taste und "
 "die Control-Taste wie Ctlr."
 
-#: src/LyXRC.cpp:3102
+#: src/LyXRC.cpp:3110
 msgid "Use the Mac OS X conventions for cursor movement"
 msgstr "Mac-OS-X-Konventionen für Cursorbewegungen benutzen"
 
-#: src/LyXRC.cpp:3106
+#: src/LyXRC.cpp:3114
 msgid ""
 "Show a small box around a Math Macro with the macro name when the cursor is "
 "inside."
@@ -29667,7 +29670,7 @@ msgstr ""
 "Zeige eine kleine Box um ein Mathe-Makro mit dem Makronamen, wenn der Cursor "
 "innerhalb des Makros ist."
 
-#: src/LyXRC.cpp:3110
+#: src/LyXRC.cpp:3118
 msgid ""
 "Command definition file. Can either specify an absolute path, or LyX will "
 "look in its global and local commands/ directories."
@@ -29676,18 +29679,18 @@ msgstr ""
 "absoluten Pfad angeben oder LyX sucht in seinen lokalen und globalen "
 "Befehlen/ Verzeichnissen."
 
-#: src/LyXRC.cpp:3114
+#: src/LyXRC.cpp:3122
 msgid ""
 "The default format used with LFUN_BUFFER_[VIEW|UPDATE] with non-TeX fonts."
 msgstr ""
 "Das voreingestellte Format, das für LFUN_BUFFER_[VIEW|UPDATE] ohne TeX-"
 "Schriften verwendet wird."
 
-#: src/LyXRC.cpp:3118
+#: src/LyXRC.cpp:3126
 msgid "The default format used with LFUN_BUFFER_[VIEW|UPDATE]."
 msgstr "Das Standardformat, das LFUN_BUFFER_[VIEW|UPDATE] verwendet."
 
-#: src/LyXRC.cpp:3122
+#: src/LyXRC.cpp:3130
 msgid ""
 "Iconify the dialogs when the main window is iconified. (Affects only dialogs "
 "shown after the change has been made.)"
@@ -29695,11 +29698,11 @@ msgstr ""
 "Dialoge werden minimiert, wenn das Hauptfenster minimiert wird (betrifft nur "
 "Dialoge, die nach dem Aktivieren dieser Option geöffnet werden)."
 
-#: src/LyXRC.cpp:3126
+#: src/LyXRC.cpp:3134
 msgid "Select how LyX will display any graphics."
 msgstr "Wählen Sie, wie LyX Grafiken darstellen soll."
 
-#: src/LyXRC.cpp:3130
+#: src/LyXRC.cpp:3138
 msgid ""
 "The default path for your documents. An empty value selects the directory "
 "LyX was started from."
@@ -29707,11 +29710,11 @@ msgstr ""
 "Der Standard-Pfad für Ihre Dokumente. Bei einem leerem Eintrag wird das "
 "Verzeichnis gewählt, aus dem LyX gestartet wurde."
 
-#: src/LyXRC.cpp:3134
+#: src/LyXRC.cpp:3142
 msgid "Specify additional chars that can be part of a word."
 msgstr "Geben Sie Sonderzeichen an, die als Teil eines Wortes erlaubt sind."
 
-#: src/LyXRC.cpp:3138
+#: src/LyXRC.cpp:3146
 msgid ""
 "The path that LyX will set when offering to choose an example. An empty "
 "value selects the directory LyX was started from."
@@ -29719,7 +29722,7 @@ msgstr ""
 "Der Pfad, den LyX bei der Auswahl eines Beispiels voreinstellt. Bei einem "
 "leeren Eintrag wird das Verzeichnis gewählt, aus dem LyX gestartet wurde."
 
-#: src/LyXRC.cpp:3145
+#: src/LyXRC.cpp:3153
 msgid ""
 "Define the options of makeindex (cf. man makeindex) or select an alternative "
 "compiler. E.g., using xindy/make-rules, the command string would be "
@@ -29729,12 +29732,12 @@ msgstr ""
 "Sie ein alternatives Programm. Bei der Verwendung von xindy/make-rules würde "
 "der Befehl z. B. \"makeindex.sh -m $$lang\" lauten."
 
-#: src/LyXRC.cpp:3149
+#: src/LyXRC.cpp:3157
 msgid "Define the options of the index program for PLaTeX (Japanese LaTeX)."
 msgstr ""
 "Definiert die Optionen des Indexprozessors für pLaTeX (japanisches LaTeX)."
 
-#: src/LyXRC.cpp:3153
+#: src/LyXRC.cpp:3161
 msgid ""
 "Define the options of makeindex (cf. man makeindex) to be used for "
 "nomenclatures. This might differ from the index processing options."
@@ -29743,11 +29746,11 @@ msgstr ""
 "Nomenklaturen. Die hier spezifizierten Optionen können von denen des "
 "Indexprozessors abweichen."
 
-#: src/LyXRC.cpp:3157
+#: src/LyXRC.cpp:3165
 msgid "The command to run the python pygments syntax highlighter."
 msgstr "Der Befehl, der die Python-Pygments-Codehervorhebung durchführt."
 
-#: src/LyXRC.cpp:3166
+#: src/LyXRC.cpp:3174
 msgid ""
 "Use this to set the correct mapping file for your keyboard. You'll need this "
 "if you for instance want to type German documents on an American keyboard."
@@ -29756,7 +29759,7 @@ msgstr ""
 "können dies z. B. verwenden, um einfach deutsche Texte auf einer "
 "amerikanischen Tastatur zu schreiben."
 
-#: src/LyXRC.cpp:3170
+#: src/LyXRC.cpp:3178
 msgid ""
 "Select if a language switching command is needed at the beginning of the "
 "document."
@@ -29764,14 +29767,14 @@ msgstr ""
 "Bitte aktivieren, wenn zu Beginn des Dokuments ein besonderer Befehl "
 "benötigt wird, um die Sprache zu aktivieren."
 
-#: src/LyXRC.cpp:3174
+#: src/LyXRC.cpp:3182
 msgid ""
 "Select if a language switching command is needed at the end of the document."
 msgstr ""
 "Bitte aktivieren, wenn am Ende des Dokuments ein besonderer Befehl benötigt "
 "wird, um die Sprache zu deaktivieren."
 
-#: src/LyXRC.cpp:3178
+#: src/LyXRC.cpp:3186
 msgid ""
 "The LaTeX command for changing from the language of the document to another "
 "language. E.g. \\selectlanguage{$$lang} where $$lang is substituted by the "
@@ -29781,15 +29784,15 @@ msgstr ""
 "zu wechseln. Beispiel: \\selectlanguage{$$lang} wobei $$lang durch den Namen "
 "der zweiten Sprache ersetzt wird."
 
-#: src/LyXRC.cpp:3182
+#: src/LyXRC.cpp:3190
 msgid "The LaTeX command for changing back to the language of the document."
 msgstr "Der LaTeX-Befehl, um zur Sprache des Dokuments zurück zu wechseln."
 
-#: src/LyXRC.cpp:3186
+#: src/LyXRC.cpp:3194
 msgid "The LaTeX command for local changing of the language."
 msgstr "Der LaTeX-Befehl, um die Sprache lokal zu ändern."
 
-#: src/LyXRC.cpp:3190
+#: src/LyXRC.cpp:3198
 msgid ""
 "De-select if you don't want the language(s) used as an argument to "
 "\\documentclass."
@@ -29797,7 +29800,7 @@ msgstr ""
 "Deaktivieren Sie diesen Schalter, wenn die Sprache nicht als Argument für "
 "\\documentclass verwendet werden soll."
 
-#: src/LyXRC.cpp:3194
+#: src/LyXRC.cpp:3202
 msgid ""
 "The LaTeX command for loading the language package. E.g. "
 "\"\\usepackage{babel}\", \"\\usepackage{omega}\"."
@@ -29805,7 +29808,7 @@ msgstr ""
 "Der LaTeX-Befehl, um das Sprachpaket zu laden. Beispiel: "
 "\"\\usepackage{babel}\", \"\\usepackage{omega}\"."
 
-#: src/LyXRC.cpp:3198
+#: src/LyXRC.cpp:3206
 msgid ""
 "De-select if you don't want babel to be used when the language of the "
 "document is the default language."
@@ -29813,25 +29816,25 @@ msgstr ""
 "Deaktivieren Sie diesen Schalter, wenn das Paket babel nicht verwendet "
 "werden soll, falls die Sprache des Dokuments die Standardsprache ist."
 
-#: src/LyXRC.cpp:3202
+#: src/LyXRC.cpp:3210
 msgid "De-select if you do not want LyX to scroll to saved position."
 msgstr ""
 "Deaktivieren Sie diesen Schalter, wenn LyX nicht zur gespeicherten Position "
 "springen soll."
 
-#: src/LyXRC.cpp:3206
+#: src/LyXRC.cpp:3214
 msgid "De-select to prevent loading files opened from the last LyX session."
 msgstr ""
 "Deaktivieren Sie diesen Schalter, um das Laden von Dateien zu verhindern, "
 "die bei der letzten LyX-Sitzung geöffnet waren."
 
-#: src/LyXRC.cpp:3210
+#: src/LyXRC.cpp:3218
 msgid "De-select if you don't want LyX to create backup files."
 msgstr ""
 "Deaktivieren Sie diesen Schalter, wenn LyX keine Sicherungsdateien erstellen "
 "soll."
 
-#: src/LyXRC.cpp:3214
+#: src/LyXRC.cpp:3222
 msgid ""
 "Select to control the highlighting of words with a language foreign to that "
 "of the document."
@@ -29839,32 +29842,32 @@ msgstr ""
 "Bitte aktivieren, um Textbereiche mit einer von der Standardsprache des "
 "Dokuments abweichenden Sprache farblich hervorzuheben."
 
-#: src/LyXRC.cpp:3222
+#: src/LyXRC.cpp:3230
 msgid "The scrolling speed of the mouse wheel."
 msgstr "Die Scrollgeschwindigkeit des Mausrads."
 
-#: src/LyXRC.cpp:3226
+#: src/LyXRC.cpp:3234
 msgid "The completion popup delay."
 msgstr "Verzögerung des Vervollständigungs-Popup"
 
-#: src/LyXRC.cpp:3230
+#: src/LyXRC.cpp:3238
 msgid "Select to display the completion popup in math mode."
 msgstr ""
 "Wählen Sie dies, um das Vervollständigungs-Popup im Mathe-Modus anzuzeigen."
 
-#: src/LyXRC.cpp:3234
+#: src/LyXRC.cpp:3242
 msgid "Select to display the completion popup in text mode."
 msgstr ""
 "Wählen Sie dies, um das Vervollständigungs-Popup im Text-Modus anzuzeigen."
 
-#: src/LyXRC.cpp:3238
+#: src/LyXRC.cpp:3246
 msgid ""
 "Show the completion popup without delay after non-unique completion attempt."
 msgstr ""
 "Das Vervollständigungs-Popup wird ohne Verzögerung nach einem mehrdeutigen "
 "Vervollständigungs-Versuch angezeigt."
 
-#: src/LyXRC.cpp:3242
+#: src/LyXRC.cpp:3250
 msgid ""
 "Show a small triangle on the cursor to indicate that a completion is "
 "available."
@@ -29872,36 +29875,36 @@ msgstr ""
 "Zeigt ein kleines Dreieck beim Cursor, um anzuzeigen, dass eine "
 "Vervollständigung verfügbar ist."
 
-#: src/LyXRC.cpp:3246
+#: src/LyXRC.cpp:3254
 msgid "The inline completion delay."
 msgstr "Verzögerung der Wortvervollständigung"
 
-#: src/LyXRC.cpp:3250
+#: src/LyXRC.cpp:3258
 msgid "Select to display the inline completion in math mode."
 msgstr ""
 "Wählen Sie dies, um Inline-Vervollständigung im Mathe-Modus anzuzeigen."
 
-#: src/LyXRC.cpp:3254
+#: src/LyXRC.cpp:3262
 msgid "Select to display the inline completion in text mode."
 msgstr "Wählen Sie dies, um Wortvervollständigung im Text-Modus anzuzeigen."
 
-#: src/LyXRC.cpp:3258
+#: src/LyXRC.cpp:3266
 msgid "Use \"...\" to shorten long completions."
 msgstr "Benutze \"...\" um lange Vervollständigungen zu kürzen."
 
-#: src/LyXRC.cpp:3262
+#: src/LyXRC.cpp:3270
 msgid "Allow TeXMacs shorthand, like => converting to \\Rightarrow."
 msgstr ""
 "Erlaube TeXMacs-Shorthands (z.B. Konvertierung von => zu \\Rightarrow)."
 
-#: src/LyXRC.cpp:3266
+#: src/LyXRC.cpp:3274
 #, c-format
 msgid "Maximal number of lastfiles. Up to %1$d can appear in the file menu."
 msgstr ""
 "Die maximale Anzahl der zuletzt geöffneten Dateien. Bis zu %1$d können im "
 "'Datei'-Menü erscheinen."
 
-#: src/LyXRC.cpp:3271
+#: src/LyXRC.cpp:3279
 msgid ""
 "Specify those directories which should be prepended to the PATH environment "
 "variable.\n"
@@ -29911,40 +29914,40 @@ msgstr ""
 "vorangestellt werden sollen.\n"
 "Verwenden Sie das native Format Ihres Betriebssystems."
 
-#: src/LyXRC.cpp:3277
+#: src/LyXRC.cpp:3285
 msgid "Shows a typeset preview of things such as math"
 msgstr "Zeigt eine exakte Vorschau bspw. von mathematischen Formeln"
 
-#: src/LyXRC.cpp:3281
+#: src/LyXRC.cpp:3289
 msgid "Previewed equations will have \"(#)\" labels rather than numbered ones"
 msgstr ""
 "Gleichungen werden in der Vorschau \"(#)\" anstelle von Nummern als Marken "
 "haben"
 
-#: src/LyXRC.cpp:3285
+#: src/LyXRC.cpp:3293
 msgid "Scale the preview size to suit."
 msgstr "Skaliere die Größe der Vorschau geeignet."
 
-#: src/LyXRC.cpp:3289
+#: src/LyXRC.cpp:3297
 msgid "The option to print out in landscape."
 msgstr "Die Option, um im Querformat zu drucken."
 
-#: src/LyXRC.cpp:3293
+#: src/LyXRC.cpp:3301
 msgid "Option to specify the dimensions of the print paper."
 msgstr "Die Option, um die Seitengröße anzugeben."
 
-#: src/LyXRC.cpp:3297
+#: src/LyXRC.cpp:3305
 msgid "The option to specify paper type."
 msgstr "Die Option, um die Papierart anzugeben."
 
-#: src/LyXRC.cpp:3301
+#: src/LyXRC.cpp:3309
 msgid ""
 "Select to have visual bidi cursor movement, unselect for logical movement."
 msgstr ""
 "Aktivieren für visuelle Cursor-Bewegung, deaktiveren für logische Cursor-"
 "Bewegung im bidirektionalen Modus."
 
-#: src/LyXRC.cpp:3305
+#: src/LyXRC.cpp:3313
 msgid ""
 "Specify whether, closing the last view of an open document, LyX should close "
 "the document (yes), hide it (no), or ask the user (ask)."
@@ -29953,7 +29956,7 @@ msgstr ""
 "dieses Dokument schließt (yes), es verbirgt (no) oder ob nachgefragt werden "
 "soll (ask)."
 
-#: src/LyXRC.cpp:3309
+#: src/LyXRC.cpp:3317
 msgid ""
 "DPI (dots per inch) of your monitor is auto-detected by LyX. If that goes "
 "wrong, override the setting here."
@@ -29962,13 +29965,13 @@ msgstr ""
 "selbsttätig ermittelt. Scheitert dies, können Sie hier den korrekten Wert "
 "vorgeben."
 
-#: src/LyXRC.cpp:3315
+#: src/LyXRC.cpp:3323
 msgid "The screen fonts used to display the text while editing."
 msgstr ""
 "Die Bildschirmschriften, die für die Anzeige des Textes während der "
 "Bearbeitung verwendet werden."
 
-#: src/LyXRC.cpp:3324
+#: src/LyXRC.cpp:3332
 msgid ""
 "Allow bitmap fonts to be resized. If you are using a bitmap font, selecting "
 "this option may make some fonts look blocky in LyX. Deselecting this option "
@@ -29979,13 +29982,13 @@ msgstr ""
 "pixelig erscheinen. Wenn Sie diese Option abwählen, verwendet LyX die "
 "nächstpassende Größe anstatt die Schrift zu skalieren."
 
-#: src/LyXRC.cpp:3328
+#: src/LyXRC.cpp:3336
 msgid "The font sizes used for calculating the scaling of the screen fonts."
 msgstr ""
 "Die Schriftgrößen, die für die Skalierung der Bildschirmschriften verwendet "
 "werden."
 
-#: src/LyXRC.cpp:3333
+#: src/LyXRC.cpp:3341
 #, no-c-format
 msgid ""
 "The zoom percentage for screen fonts. A setting of 100% will make the fonts "
@@ -29994,13 +29997,13 @@ msgstr ""
 "Der prozentuale Skalierungsfaktor für die Bildschirmschriften. Ein Wert von "
 "100% lässt die Zeichen etwa genauso groß erscheinen wie auf Papier."
 
-#: src/LyXRC.cpp:3337
+#: src/LyXRC.cpp:3345
 msgid "Allow session manager to save and restore windows geometry."
 msgstr ""
 "Erlaubt dem Sitzungsmanager, Größen von Fenstern zu speichern und wieder "
 "herzustellen."
 
-#: src/LyXRC.cpp:3341
+#: src/LyXRC.cpp:3349
 msgid ""
 "This starts the lyxserver. The pipes get an additional extension \".in\" and "
 "\".out\". Only for advanced users."
@@ -30009,13 +30012,13 @@ msgstr ""
 "Weiterleitungen erhalten automatisch die Endungen \".in\" und \".out\". "
 "Diese Option ist vor allem für Fortgeschrittene interessant."
 
-#: src/LyXRC.cpp:3348
+#: src/LyXRC.cpp:3356
 msgid "De-select if you don't want the startup banner."
 msgstr ""
 "Deaktivieren Sie diesen Schalter, wenn das Start-Logo nicht angezeigt werden "
 "soll."
 
-#: src/LyXRC.cpp:3352
+#: src/LyXRC.cpp:3360
 msgid ""
 "LyX will place its temporary directories in this path. They will be deleted "
 "when you quit LyX."
@@ -30023,12 +30026,12 @@ msgstr ""
 "In diesem Verzeichnis legt LyX seine temporären Dateien an. Diese werden "
 "gelöscht, wenn Sie LyX beenden."
 
-#: src/LyXRC.cpp:3356
+#: src/LyXRC.cpp:3364
 msgid "This is the place where the files of the thesaurus library reside."
 msgstr ""
 "Dies ist der Ort, an dem sich die Dateien des Thesaurusprogramms befinden."
 
-#: src/LyXRC.cpp:3360
+#: src/LyXRC.cpp:3368
 msgid ""
 "The path that LyX will set when offering to choose a template. An empty "
 "value selects the directory LyX was started from."
@@ -30036,7 +30039,7 @@ msgstr ""
 "Der Pfad, den LyX bei der Auswahl einer Vorlage voreinstellt. Bei einem "
 "leeren Eintrag wird das Verzeichnis gewählt, aus dem LyX gestartet wurde."
 
-#: src/LyXRC.cpp:3370
+#: src/LyXRC.cpp:3378
 msgid ""
 "Specify those directories which should be prepended to the TEXINPUTS "
 "environment variable.\n"
@@ -30047,7 +30050,7 @@ msgstr ""
 "Ein '.' repräsentiert das aktuelle Dokumentverzeichnis. Verwenden Sie das "
 "native Format Ihres Betriebssystems."
 
-#: src/LyXRC.cpp:3377
+#: src/LyXRC.cpp:3385
 msgid ""
 "The UI (user interface) file. Can either specify an absolute path, or LyX "
 "will look in its global and local ui/ directories."
@@ -30056,7 +30059,7 @@ msgstr ""
 "wird. Entweder Sie geben einen absoluten Pfad an oder LyX sucht in den "
 "lokalen und globalen ui-Verzeichnissen."
 
-#: src/LyXRC.cpp:3387
+#: src/LyXRC.cpp:3395
 msgid ""
 "Enable use the system colors for some things like main window background and "
 "selection."
@@ -30064,11 +30067,11 @@ msgstr ""
 "Verwendet die Systemfarben für einige Elemente wie den Hintergrund des "
 "Eingabefensters und Text-Markierungen."
 
-#: src/LyXRC.cpp:3391
+#: src/LyXRC.cpp:3399
 msgid "Enable the automatic appearance of tool tips in the work area."
 msgstr "Automatisches Erscheinen von Tooltips im Arbeitsbereich anschalten."
 
-#: src/LyXRC.cpp:3395
+#: src/LyXRC.cpp:3403
 msgid "Specify the paper command to DVI viewer (leave empty or use \"-paper\")"
 msgstr ""
 "Geben Sie die Papiergrößen-Option für den DVI-Betrachter an (verwenden Sie "
@@ -30203,51 +30206,55 @@ msgstr ""
 msgid "Character is uncodable in this verbatim context."
 msgstr "Das Zeichen ist in diesem unformatierten Absatz nicht kodierbar."
 
-#: src/Text.cpp:1958
+#: src/Text.cpp:2003
 msgid "[Change Tracking] "
 msgstr "[Änderungsverfolgung] "
 
-#: src/Text.cpp:1966
+#: src/Text.cpp:2011
 #, c-format
 msgid "Changed by %1$s[[author]] on %2$s[[date]]. "
 msgstr "Geändert von %1$s[[Autor]] am %2$s[[Datum]]. "
 
-#: src/Text.cpp:1976 src/mathed/InsetMathFont.cpp:237
+#: src/Text.cpp:2021 src/mathed/InsetMathFont.cpp:237
 #: src/mathed/InsetMathFontOld.cpp:111
 #, c-format
 msgid "Font: %1$s"
 msgstr "Schrift: %1$s"
 
-#: src/Text.cpp:1981
+#: src/Text.cpp:2026
 #, c-format
 msgid ", Depth: %1$d"
 msgstr ", Tiefe: %1$d"
 
-#: src/Text.cpp:1987
+#: src/Text.cpp:2032
 msgid ", Spacing: "
 msgstr ", Abstand: "
 
-#: src/Text.cpp:1993 src/frontends/qt/GuiDocument.cpp:872
+#: src/Text.cpp:2038 src/frontends/qt/GuiDocument.cpp:872
 msgid "OneHalf"
 msgstr "Eineinhalb"
 
-#: src/Text.cpp:1999
+#: src/Text.cpp:2044
 msgid "Other ("
 msgstr "Andere ("
 
-#: src/Text.cpp:2011
+#: src/Text.cpp:2055
+msgid ", Style: "
+msgstr ", Stil:"
+
+#: src/Text.cpp:2061
 msgid ", Paragraph: "
 msgstr ", Absatz: "
 
-#: src/Text.cpp:2012
+#: src/Text.cpp:2062
 msgid ", Id: "
 msgstr ", Id: "
 
-#: src/Text.cpp:2019
+#: src/Text.cpp:2069
 msgid ", Char: 0x"
 msgstr ", Zeichen: 0x"
 
-#: src/Text.cpp:2021
+#: src/Text.cpp:2071
 msgid ", Boundary: "
 msgstr ", Grenze: "
 
@@ -30271,40 +30278,40 @@ msgstr "Bereits im Regexp-Modus"
 msgid "Regexp editor mode"
 msgstr "Regexp-Editor-Modus"
 
-#: src/Text3.cpp:1575
+#: src/Text3.cpp:1583
 msgid "Layout "
 msgstr "Format "
 
-#: src/Text3.cpp:1576 src/Text3.cpp:2139
+#: src/Text3.cpp:1584 src/Text3.cpp:2147
 msgid " not known"
 msgstr " unbekannt"
 
-#: src/Text3.cpp:2138
+#: src/Text3.cpp:2146
 msgid "Table Style "
 msgstr "Tabellenstil"
 
-#: src/Text3.cpp:2332 src/frontends/qt/GuiApplication.cpp:1718
+#: src/Text3.cpp:2340 src/frontends/qt/GuiApplication.cpp:1718
 msgid "Missing argument"
 msgstr "Fehlendes Argument"
 
-#: src/Text3.cpp:2494
+#: src/Text3.cpp:2502
 msgid "Invalid argument (number exceeds stack size)!"
 msgstr "Ungültiges Argument (Zahl größer als Zwischenspeicher)!"
 
-#: src/Text3.cpp:2498
+#: src/Text3.cpp:2506
 msgid "Invalid argument (must be a non-negative number)!"
 msgstr "Ungültiges Argument (muss eine nicht-negative Zahl sein)!"
 
-#: src/Text3.cpp:2503 src/Text3.cpp:2521
+#: src/Text3.cpp:2511 src/Text3.cpp:2529
 #, c-format
 msgid "Text properties applied: %1$s"
 msgstr "Angewendete Texteigenschaften: %1$s"
 
-#: src/Text3.cpp:2673
+#: src/Text3.cpp:2681
 msgid "Path to thesaurus directory not set!"
 msgstr "Pfad zum Thesaurus-Wörterbuch nicht festlegt!"
 
-#: src/Text3.cpp:2674
+#: src/Text3.cpp:2682
 msgid ""
 "The path to the thesaurus directory has not been specified.\n"
 "The thesaurus is not functional.\n"
@@ -30316,7 +30323,7 @@ msgstr ""
 "Im Benutzerhandbuch, Abschnitt 6.15.11, finden Sie Hinweise,\n"
 "um den Thesaurus einzurichten."
 
-#: src/Text3.cpp:2741 src/Text3.cpp:2752
+#: src/Text3.cpp:2749 src/Text3.cpp:2760
 msgid "Paragraph layout set"
 msgstr "Absatzformat festgelegt"
 
@@ -34644,27 +34651,27 @@ msgstr "Quelltext-Vorschau"
 msgid "%1[[preview format name]] Preview"
 msgstr "%1-Vorschau"
 
-#: src/frontends/qt/GuiWorkArea.cpp:1614
+#: src/frontends/qt/GuiWorkArea.cpp:1657
 msgid "Close File"
 msgstr "Datei schließen"
 
-#: src/frontends/qt/GuiWorkArea.cpp:2131
+#: src/frontends/qt/GuiWorkArea.cpp:2174
 msgid "%1 (read only)"
 msgstr "%1 (schreibgeschützt)"
 
-#: src/frontends/qt/GuiWorkArea.cpp:2135
+#: src/frontends/qt/GuiWorkArea.cpp:2178
 msgid "%1 (modified externally)"
 msgstr "%1 (extern bearbeitet)"
 
-#: src/frontends/qt/GuiWorkArea.cpp:2158
+#: src/frontends/qt/GuiWorkArea.cpp:2201
 msgid "Hide tab"
 msgstr "Unterfenster verstecken"
 
-#: src/frontends/qt/GuiWorkArea.cpp:2164
+#: src/frontends/qt/GuiWorkArea.cpp:2207
 msgid "Close tab"
 msgstr "Unterfenster schließen"
 
-#: src/frontends/qt/GuiWorkArea.cpp:2203
+#: src/frontends/qt/GuiWorkArea.cpp:2246
 msgid "<b>The file %1 changed on disk.</b>"
 msgstr "<b>Die Datei %1 wurde auf der Festplatte verändert.</b>"
 
@@ -35226,7 +35233,7 @@ msgstr "Kein Literaturverzeichnis definiert!"
 msgid "+ %1$d more entries."
 msgstr "+ %1$d weitere Einträge."
 
-#: src/insets/InsetCitation.cpp:577 src/insets/InsetRef.cpp:499
+#: src/insets/InsetCitation.cpp:577 src/insets/InsetRef.cpp:507
 msgid "BROKEN: "
 msgstr "UNGÜLTIG: "
 
@@ -35640,6 +35647,10 @@ msgstr ""
 "Betroffene Datei:\n"
 "%1$s"
 
+#: src/insets/InsetInclude.cpp:1351
+msgid "FILE MISSING: "
+msgstr "FEHLENDE DATEI:"
+
 #: src/insets/InsetIndex.cpp:156
 msgid "Index sorting failed"
 msgstr "Indexsortierung fehlgeschlagen"
@@ -36345,59 +36356,59 @@ msgstr "%1$sText"
 msgid "text%1$s"
 msgstr "Text%1$s"
 
-#: src/insets/InsetRef.cpp:578 src/mathed/InsetMathRef.cpp:245
+#: src/insets/InsetRef.cpp:586 src/mathed/InsetMathRef.cpp:245
 msgid "Ref: "
 msgstr "Querverweis: "
 
-#: src/insets/InsetRef.cpp:579 src/mathed/InsetMathRef.cpp:246
+#: src/insets/InsetRef.cpp:587 src/mathed/InsetMathRef.cpp:246
 msgid "EqRef: "
 msgstr "(Querverweis): "
 
-#: src/insets/InsetRef.cpp:580 src/mathed/InsetMathRef.cpp:247
+#: src/insets/InsetRef.cpp:588 src/mathed/InsetMathRef.cpp:247
 msgid "Page Number"
 msgstr "Seitennummer"
 
-#: src/insets/InsetRef.cpp:580 src/mathed/InsetMathRef.cpp:247
+#: src/insets/InsetRef.cpp:588 src/mathed/InsetMathRef.cpp:247
 msgid "Page: "
 msgstr "Seite: "
 
-#: src/insets/InsetRef.cpp:581 src/mathed/InsetMathRef.cpp:248
+#: src/insets/InsetRef.cpp:589 src/mathed/InsetMathRef.cpp:248
 msgid "Textual Page Number"
 msgstr "Seitennummer in Textform"
 
-#: src/insets/InsetRef.cpp:581 src/mathed/InsetMathRef.cpp:248
+#: src/insets/InsetRef.cpp:589 src/mathed/InsetMathRef.cpp:248
 msgid "TextPage: "
 msgstr "TextSeite: "
 
-#: src/insets/InsetRef.cpp:582 src/mathed/InsetMathRef.cpp:249
+#: src/insets/InsetRef.cpp:590 src/mathed/InsetMathRef.cpp:249
 msgid "Standard+Textual Page"
 msgstr "Standard+Seite in Textform"
 
-#: src/insets/InsetRef.cpp:582 src/mathed/InsetMathRef.cpp:249
+#: src/insets/InsetRef.cpp:590 src/mathed/InsetMathRef.cpp:249
 msgid "Ref+Text: "
 msgstr "Querverweis+Text: "
 
-#: src/insets/InsetRef.cpp:583 src/mathed/InsetMathRef.cpp:251
+#: src/insets/InsetRef.cpp:591 src/mathed/InsetMathRef.cpp:251
 msgid "Reference to Name"
 msgstr "Referenz auf Namen"
 
-#: src/insets/InsetRef.cpp:583 src/mathed/InsetMathRef.cpp:251
+#: src/insets/InsetRef.cpp:591 src/mathed/InsetMathRef.cpp:251
 msgid "NameRef: "
 msgstr "NameRef: "
 
-#: src/insets/InsetRef.cpp:584
+#: src/insets/InsetRef.cpp:592
 msgid "Formatted"
 msgstr "Formatiert"
 
-#: src/insets/InsetRef.cpp:584
+#: src/insets/InsetRef.cpp:592
 msgid "Format: "
 msgstr "Format: "
 
-#: src/insets/InsetRef.cpp:585
+#: src/insets/InsetRef.cpp:593
 msgid "Label Only"
 msgstr "Nur Marke"
 
-#: src/insets/InsetRef.cpp:585
+#: src/insets/InsetRef.cpp:593
 msgid "Label: "
 msgstr "Marke: "
 
@@ -36738,7 +36749,7 @@ msgstr "Die Anzahl der Zeilen in '%1$s' kann nicht geändert werden."
 msgid "Can't change number of columns in '%1$s'"
 msgstr "Die Anzahl der Spalten in '%1$s' kann nicht geändert werden."
 
-#: src/mathed/InsetMathMacro.cpp:1263 src/mathed/InsetMathMacro.cpp:1269
+#: src/mathed/InsetMathMacro.cpp:1287 src/mathed/InsetMathMacro.cpp:1293
 #, c-format
 msgid "Macro: %1$s"
 msgstr "Makro: %1$s"

commit 6b85dd5ac06ecae76f63ef50ead507d9f18d2f6a
Author: Yuriy Skalko <yuriy.skalko at gmail.com>
Date:   Thu Sep 17 19:53:09 2020 +0300

    Separate string for translation

diff --git a/lib/ui/stdtoolbars.inc b/lib/ui/stdtoolbars.inc
index 5a4ffe3..e86f39a 100644
--- a/lib/ui/stdtoolbars.inc
+++ b/lib/ui/stdtoolbars.inc
@@ -72,7 +72,7 @@ Format 5
 
 ToolbarSet
 
-	Toolbar "standard" "Standard"
+	Toolbar "standard" "Standard[[toolbar]]"
 		Layouts
 		Item "New document" "buffer-new"
 		Item "Open document" "file-open"

commit 9a1f732664baa840fe3d8b98d9df29a13116798b
Author: Daniel Ramoeller <d.lyx at web.de>
Date:   Fri Sep 18 10:14:46 2020 +0200

    Show slanted caret (cursor) when text style emphasis/italics/slanted.
    
    Fixes for bug #11428. Emphasis is used regularly and it is helpful to
    see whether the next text will be written emphasized directly from the
    cursor.
    
    This is also implemented in MS Word and Google docs but not in
    LibreWriter.
    
    Also fixes the caret for RTL languages whose width was previously
    extended into the wrong direction.

diff --git a/src/frontends/qt/GuiWorkArea.cpp b/src/frontends/qt/GuiWorkArea.cpp
index f323fbc..064d4cb 100644
--- a/src/frontends/qt/GuiWorkArea.cpp
+++ b/src/frontends/qt/GuiWorkArea.cpp
@@ -130,7 +130,7 @@ namespace frontend {
 class CaretWidget {
 public:
 	CaretWidget() : rtl_(false), l_shape_(false), completable_(false),
-		x_(0), caret_width_(0)
+		x_(0), caret_width_(0), slant_(false), ascent_(0)
 	{}
 
 	/* Draw the caret. Parameter \c horiz_offset is not 0 when there
@@ -143,44 +143,57 @@ public:
 
 		int const x = x_ - horiz_offset;
 		int const y = rect_.top();
-		int const l = x_ - rect_.left();
-		int const r = rect_.right() - x_;
+		int const lx = rtl_ ? x_ - rect_.left() : rect_.right() - x_;
 		int const bot = rect_.bottom();
-
-		// draw vertical line
-		painter.fillRect(x, y, caret_width_, rect_.height(), color_);
+		int const dir = rtl_ ? -1 : 1;
+		// this is almost equal to tan(14 * PI / 180)
+		qreal const slope = 0.25;
+
+		// draw caret box
+		if (slant_ && !rtl_) {
+			// slanted (14 degree angle)
+			QPainterPath path;
+			path.moveTo(x + ascent_ * slope, y);
+			path.lineTo(x - (rect_.height() - ascent_) * slope, y + rect_.height());
+			path.lineTo(x + dir * caret_width_ - (rect_.height() - ascent_) * slope,
+			            y + rect_.height());
+			path.lineTo(x + dir * caret_width_ + ascent_ * slope, y);
+			painter.setRenderHint(QPainter::Antialiasing, true);
+			painter.fillPath(path, color_);
+			painter.setRenderHint(QPainter::Antialiasing, false);
+		} else
+			// regular
+			painter.fillRect(x, y, dir * caret_width_, rect_.height(), color_);
 
 		// draw RTL/LTR indication
 		painter.setPen(color_);
 		if (l_shape_) {
-			if (rtl_)
-				painter.drawLine(x, bot, x - l + 1, bot);
-			else
-				painter.drawLine(x, bot, x + caret_width_ + r - 1, bot);
+			painter.drawLine(x, bot, x + dir * (caret_width_ + lx - 1), bot);
 		}
 
 		// draw completion triangle
 		if (completable_) {
-			int m = y + rect_.height() / 2;
-			int d = TabIndicatorWidth - 1;
-			if (rtl_) {
-				painter.drawLine(x - 1, m - d, x - 1 - d, m);
-				painter.drawLine(x - 1, m + d, x - 1 - d, m);
-			} else {
-				painter.drawLine(x + caret_width_, m - d, x + caret_width_ + d, m);
-				painter.drawLine(x + caret_width_, m + d, x + caret_width_ + d, m);
-			}
+			int const m = y + rect_.height() / 2;
+			int const d = TabIndicatorWidth - 1;
+			// offset for slanted carret
+			int const sx = (slant_ && !rtl_) ? (ascent_ - (rect_.height() / 2 - d)) * slope : 0;
+			painter.drawLine(x + dir * (caret_width_ + 1) + sx, m - d,
+			                 x + dir * (caret_width_ + d + 1) + sx, m);
+			painter.drawLine(x + dir * (caret_width_ + 1) + sx, m + d,
+			                 x + dir * (caret_width_ + d + 1) + sx, m);
 		}
 	}
 
 	void update(int x, int y, int h, bool l_shape,
-		bool rtl, bool completable)
+		bool rtl, bool completable, bool slant, int ascent)
 	{
 		color_ = guiApp->colorCache().get(Color_cursor);
 		l_shape_ = l_shape;
 		rtl_ = rtl;
 		completable_ = completable;
 		x_ = x;
+		slant_ = slant;
+		ascent_ = ascent;
 
 		// extension to left and right
 		int l = 0;
@@ -228,6 +241,10 @@ private:
 	int x_;
 	/// the width of the vertical blinking bar
 	int caret_width_;
+	/// caret is in slanted text
+	bool slant_;
+	/// the fontmetrics ascent for drawing slanted caret
+	int ascent_;
 };
 
 
@@ -631,6 +648,7 @@ void GuiWorkArea::Private::updateCaretGeometry()
 	// RTL or not RTL
 	bool l_shape = false;
 	Font const & realfont = buffer_view_->cursor().real_current_font;
+	FontMetrics const & fm = theFontMetrics(realfont.fontInfo());
 	BufferParams const & bp = buffer_view_->buffer().params();
 	bool const samelang = realfont.language() == bp.language;
 	bool const isrtl = realfont.isVisibleRightToLeft();
@@ -649,7 +667,11 @@ void GuiWorkArea::Private::updateCaretGeometry()
 		&& !completer_->popupVisible()
 		&& !completer_->inlineVisible();
 
-	caret_->update(point.x_, point.y_, h, l_shape, isrtl, completable);
+	caret_->update(point.x_, point.y_, h, l_shape, isrtl, completable,
+		// use slanted caret for italics in text edit mode
+		fm.italic() && buffer_view_->cursor().inTexted()
+		// except for selections because the selection rect does not slant
+		&& !buffer_view_->cursor().selection(), fm.maxAscent());
 	needs_caret_geometry_update_ = false;
 }
 

commit 5154400b641a46b27a35e90d97aca725e541a14a
Author: José Matos <jamatos at lyx.org>
Date:   Fri Sep 18 01:09:36 2020 +0100

    Avoid crash when string only has one char

diff --git a/lib/lyx2lyx/lyx_2_4.py b/lib/lyx2lyx/lyx_2_4.py
index 3fd876c..9c72406 100644
--- a/lib/lyx2lyx/lyx_2_4.py
+++ b/lib/lyx2lyx/lyx_2_4.py
@@ -3512,7 +3512,7 @@ def revert_totalheight(document):
                     if ms:
                         oldval = ms.group(1)
                         oldunit = ms.group(2)
-                        if oldval[1] == ".":
+                        if len(oldval) > 1 and oldval[1] == ".":
                             oldval = "0" + oldval
                         if oldunit in list(relative_heights.keys()):
                             oldval = str(float(oldval) * 100)

commit d0a27e3afc3444d10694df10dc4cb8d604287765
Author: José Matos <jamatos at lyx.org>
Date:   Fri Sep 18 01:07:39 2020 +0100

    Whitespace cleanup

diff --git a/lib/lyx2lyx/lyx_2_4.py b/lib/lyx2lyx/lyx_2_4.py
index e1a8e6a..3fd876c 100644
--- a/lib/lyx2lyx/lyx_2_4.py
+++ b/lib/lyx2lyx/lyx_2_4.py
@@ -3777,7 +3777,7 @@ def revert_counter_inset(document):
             ert = put_cmd_in_ert("\\setcounter{%s}{\\value{%s}}" % (cnt, savecnt))
         else:
             document.warning("Unknown counter command `%s' in inset at line %d!" % (cnt, i))
-            
+
         if ert:
             document.body[i : j + 1] = ert
         i += 1
@@ -3804,7 +3804,7 @@ def revert_ams_spaces(document):
         subst = put_cmd_in_ert(inset)
         document.body[i : end + 1] = subst
         Found = True
-      
+
     if Found == True:
         # load amsmath in the preamble if not already loaded
         i = find_token(document.header, "\\use_package amsmath 2", 0)
@@ -3815,18 +3815,18 @@ def revert_ams_spaces(document):
 
 def convert_parskip(document):
     " Move old parskip settings to preamble "
-    
+
     i = find_token(document.header, "\\paragraph_separation skip", 0)
     if i == -1:
         return
-    
+
     j = find_token(document.header, "\\defskip", 0)
     if j == -1:
         document.warning("Malformed LyX document! Missing \\defskip.")
         return
-    
+
     val = get_value(document.header, "\\defskip", j)
-    
+
     skipval = "\\medskipamount"
     if val == "smallskip" or val == "medskip" or val == "bigskip":
         skipval = "\\" + val + "amount"
@@ -3834,25 +3834,25 @@ def convert_parskip(document):
         skipval = val
 
     add_to_preamble(document, ["\\setlength{\\parskip}{" + skipval + "}", "\\setlength{\\parindent}{0pt}"])
-    
+
     document.header[i] = "\\paragraph_separation indent"
     document.header[j] = "\\paragraph_indentation default"
 
 
 def revert_parskip(document):
     " Revert new parskip settings to preamble "
-    
+
     i = find_token(document.header, "\\paragraph_separation skip", 0)
     if i == -1:
         return
-    
+
     j = find_token(document.header, "\\defskip", 0)
     if j == -1:
         document.warning("Malformed LyX document! Missing \\defskip.")
         return
-    
+
     val = get_value(document.header, "\\defskip", j)
-    
+
     skipval = ""
     if val == "smallskip" or val == "medskip" or val == "bigskip":
         skipval = "[skip=\\" + val + "amount]"
@@ -3860,9 +3860,9 @@ def revert_parskip(document):
         skipval = "[skip=\\baselineskip]"
     elif val != "halfline":
         skipval = "[skip={" + val + "}]"
-    
+
     add_to_preamble(document, ["\\usepackage" + skipval + "{parskip}"])
-    
+
     document.header[i] = "\\paragraph_separation indent"
     document.header[j] = "\\paragraph_indentation default"
 

commit e36fda83751d39cb1c506b9e795e341ace8a0c4b
Author: Yuriy Skalko <yuriy.skalko at gmail.com>
Date:   Thu Sep 17 13:39:44 2020 +0300

    Update UserGuide

diff --git a/lib/doc/UserGuide.lyx b/lib/doc/UserGuide.lyx
index 81ef31b..772dc8f 100644
--- a/lib/doc/UserGuide.lyx
+++ b/lib/doc/UserGuide.lyx
@@ -204,7 +204,13 @@ literal "false"
 \begin_inset Newline newline
 \end_inset
 
-Version 2.3.x
+Version 2.
+\change_deleted -131811572 1600339801
+3
+\change_inserted -131811572 1600339801
+4
+\change_unchanged
+.x
 \begin_inset Note Note
 status collapsed
 
@@ -1726,6 +1732,8 @@ steps to minimize memory overhead.
 \end_layout
 
 \begin_layout Standard
+
+\change_deleted -131811572 1600338243
 Note that if you undo all changes to arrive at the document as it was last
  saved, the 
 \begin_inset Quotes eld
@@ -13174,7 +13182,7 @@ text
 \change_unchanged
  styles rather than specifying a particular font.
  For example, instead of changing to an italicized version of the current
- font to emphasize text, you use an 
+ font, to emphasize text you use an 
 \begin_inset Quotes eld
 \end_inset
 
@@ -13182,7 +13190,7 @@ emphasized style
 \begin_inset Quotes erd
 \end_inset
 
- instead.
+.
  This concept fits in perfectly with \SpecialChar LyX
 .
  In \SpecialChar LyX
@@ -17031,12 +17039,28 @@ name "subsec:Output-file-formats"
 \end_layout
 
 \begin_layout Subsubsection
-Simple text (ASCII)
+
+\change_deleted -131811572 1600337594
+Simple
+\change_inserted -131811572 1600337596
+Plain
+\change_unchanged
+ text
+\change_deleted -131811572 1600337574
+ (ASCII)
+\change_unchanged
+
 \begin_inset Index idx
-status collapsed
+status open
 
 \begin_layout Plain Layout
-File formats ! ASCII
+File formats ! 
+\change_deleted -131811572 1600337607
+ASCII
+\change_inserted -131811572 1600337612
+Plain text
+\change_unchanged
+
 \end_layout
 
 \end_inset
@@ -17058,7 +17082,11 @@ This file type has the extension
 \end_inset
 
 .
- It contains your document as plain text following the rules of the 
+ It contains your document as plain text 
+\change_inserted -131811572 1600337643
+in UTF-8 encoding
+\change_deleted -131811572 1600337647
+following the rules of the 
 \begin_inset Quotes eld
 \end_inset
 
@@ -17066,11 +17094,19 @@ American Standard Code for Information Interchange
 \begin_inset Quotes erd
 \end_inset
 
- (ASCII).
+ (ASCII)
+\change_unchanged
+.
 \end_layout
 
 \begin_layout Standard
-You can export your document to ASCII with the menu 
+You can export your document to 
+\change_deleted -131811572 1600337684
+ASCII
+\change_inserted -131811572 1600337686
+plain text
+\change_unchanged
+ with the menu 
 \family sans
 File\SpecialChar menuseparator
 Export\SpecialChar menuseparator
@@ -17127,7 +17163,13 @@ text
 \family default
 .
  This will first internally export your document to PostScript (generating
- thereby the external material) and then do the conversion to ASCII.
+ thereby the external material) and then do the conversion to 
+\change_deleted -131811572 1600337720
+ASCII
+\change_inserted -131811572 1600337722
+plain text
+\change_unchanged
+.
 \end_layout
 
 \begin_layout Subsubsection
@@ -20040,6 +20082,16 @@ g., in Japan)
 status collapsed
 
 \begin_layout Plain Layout
+
+\change_inserted -131811572 1600338376
+\begin_inset CommandInset label
+LatexCommand label
+name "fn:cjk-quotes"
+
+\end_inset
+
+
+\change_unchanged
 Note that these characters are just emulated with similar-looking math symbols
  in many encodings that do not cover these glyphs.
 \end_layout
@@ -20107,6 +20159,32 @@ these inner
 \end_inset
 
 g., in North Korea and China)
+\change_inserted -131811572 1600338410
+
+\begin_inset script superscript
+
+\begin_layout Plain Layout
+
+\change_inserted -131811572 1600338410
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "fn:cjk-quotes"
+plural "false"
+caps "false"
+noprefix "false"
+
+\end_inset
+
+
+\change_unchanged
+
+\end_layout
+
+\end_inset
+
+
+\change_deleted -131811572 1600338417
+
 \begin_inset Foot
 status collapsed
 
@@ -20118,6 +20196,8 @@ Note that these characters are just emulated with similar-looking math symbols
 \end_inset
 
 
+\change_unchanged
+
 \end_layout
 
 \begin_layout Standard
@@ -29154,7 +29234,25 @@ Enabling AMS-Support
 
 \begin_layout Standard
 You can make the facilities of the AMS-packages explicitly available in
- the document by selecting the checkbox 
+ the document by
+\change_inserted -131811572 1600338725
+ setting 
+\family sans
+Load always
+\family default
+ for 
+\series bold
+amsmath
+\series default
+ and 
+\series bold
+amssymb
+\series default
+ packages
+\change_unchanged
+ 
+\change_deleted -131811572 1600338685
+selecting the checkbox 
 \family sans
 Use
 \begin_inset space ~
@@ -29169,6 +29267,8 @@ math
 \end_inset
 
 package
+\change_unchanged
+
 \family default
  in the 
 \family sans
@@ -29697,7 +29797,8 @@ prettyref
 \series bold
 
 \backslash
-newrefformat
+newref\SpecialChar ligaturebreak
+format
 \series default
  (prettyref) or 
 \series bold
@@ -29765,7 +29866,8 @@ prettyref
 \series bold
 
 \backslash
-newrefformat{prop}{Proposition 
+newref\SpecialChar ligaturebreak
+format{prop}{Proposition 
 \backslash
 ref{#1}}
 \series default
@@ -45623,6 +45725,14 @@ arg   "master-buffer-view"
 
 \family sans
 Document\SpecialChar menuseparator
+
+\change_inserted -131811572 1600333746
+View
+\begin_inset space ~
+\end_inset
+
+
+\change_unchanged
 Master
 \begin_inset space ~
 \end_inset
@@ -45696,7 +45806,13 @@ arg   "buffer-toggle-output-sync"
 \family sans
 Document\SpecialChar menuseparator
 Settings\SpecialChar menuseparator
-Output\SpecialChar menuseparator
+
+\change_deleted -131811572 1600333766
+Output
+\change_inserted -131811572 1600333762
+Formats
+\change_unchanged
+\SpecialChar menuseparator
 Synchronize with Output
 \end_layout
 
@@ -50139,8 +50255,18 @@ Modify
 Modifying an existing shortcut is done the same way.
  You can also bind multiple functions to one shortcut by starting the \SpecialChar LyX
  Function
- definition with “command alternatives” and following it with the different
- function names as a semicolon separated list.
+ definition with “
+\family typewriter
+command
+\change_deleted -131811572 1600337868
+ 
+\change_inserted -131811572 1600337869
+-
+\change_unchanged
+alternatives
+\family default
+” and following it with the different function names as a semicolon separated
+ list.
  \SpecialChar LyX
  will then use the first function that is enabled in the current document
  part.
@@ -50264,7 +50390,7 @@ Settings ! Keyboard Map
 
 \begin_layout Standard
 Normally keyboard settings are made in a menu of your operating system.
- For the case thatWhere this is not possible, \SpecialChar LyX
+ For the case where this is not possible, \SpecialChar LyX
  provides keyboard maps.
  If, for example, you have a Czech keyboard but want to use it as if it
  is a Romanian one, you can enable 

commit cd933534bda9f1b2d991321566ff65219145e883
Author: Yuriy Skalko <yuriy.skalko at gmail.com>
Date:   Thu Sep 17 15:32:43 2020 +0300

    Increment preferences format to 34: rename Cyrillic *.kmap files

diff --git a/lib/configure.py b/lib/configure.py
index 1547000..9f3c032 100644
--- a/lib/configure.py
+++ b/lib/configure.py
@@ -1876,7 +1876,7 @@ if __name__ == '__main__':
     lyx_check_config = True
     lyx_kpsewhich = True
     outfile = 'lyxrc.defaults'
-    lyxrc_fileformat = 33
+    lyxrc_fileformat = 34
     rc_entries = ''
     lyx_keep_temps = False
     version_suffix = ''
diff --git a/lib/scripts/prefs2prefs_prefs.py b/lib/scripts/prefs2prefs_prefs.py
index 322990a..598c06b 100644
--- a/lib/scripts/prefs2prefs_prefs.py
+++ b/lib/scripts/prefs2prefs_prefs.py
@@ -134,6 +134,8 @@
 #   and \citation_search_view.
 #   No conversion necessary.
 
+# Incremented to format 34, by yuriy
+#   Rename *.kmap files for Cyrillic languages
 
 # NOTE: The format should also be updated in LYXRC.cpp and
 # in configure.py.
@@ -439,6 +441,16 @@ def remove_use_pixmap_cache(line):
 		return no_match
 	return (True, "")
 
+def rename_cyrillic_kmap_files(line):
+	line = line.lower()
+	if not (line.startswith("\\kbmap_primary ")
+			or line.startswith("\\kbmap_secondary ")):
+		return no_match
+	line = line.replace('"bg-bds-1251"', '"bulgarian"')
+	line = line.replace('"koi8-r"', '"russian"')
+	line = line.replace('"koi8-u"', '"ukrainian"')
+	return (True, line)
+
 # End conversions for LyX 2.3 to 2.4
 ####################################
 
@@ -486,5 +498,6 @@ conversions = [
 	[ 30, []],
 	[ 31, []],
 	[ 32, []],
-	[ 33, []]
+	[ 33, []],
+	[ 34, [rename_cyrillic_kmap_files]]
 ]
diff --git a/src/LyXRC.cpp b/src/LyXRC.cpp
index 323881d..59bdc70 100644
--- a/src/LyXRC.cpp
+++ b/src/LyXRC.cpp
@@ -65,7 +65,7 @@ namespace {
 
 // The format should also be updated in configure.py, and conversion code
 // should be added to prefs2prefs_prefs.py.
-static unsigned int const LYXRC_FILEFORMAT = 33; // sanda: add \citation_search_view
+static unsigned int const LYXRC_FILEFORMAT = 34; // yuriy: rename kmap files
 // when adding something to this array keep it sorted!
 LexerKeyword lyxrcTags[] = {
 	{ "\\accept_compound", LyXRC::RC_ACCEPT_COMPOUND },

commit 40159fd2ab5918503260d7cab05cb7dc2b19e635
Author: Juergen Spitzmueller <spitz at lyx.org>
Date:   Thu Sep 17 08:43:04 2020 +0200

    Fixup graphics height conversion when special is non-empty

diff --git a/lib/lyx2lyx/lyx_2_4.py b/lib/lyx2lyx/lyx_2_4.py
index b36ad1e..e1a8e6a 100644
--- a/lib/lyx2lyx/lyx_2_4.py
+++ b/lib/lyx2lyx/lyx_2_4.py
@@ -3606,7 +3606,7 @@ def convert_totalheight(document):
                     unit = relative_heights[unit]
                 if k != -1:
                     if special != "":
-                        val = val + "," + special
+                        val = val + unit + "," + special
                     document.body[k] = "\tspecial " + "height=" + val
                 else:
                     document.body.insert(kk + 1, "\tspecial height=" + val + unit)

commit 6ad1c359fcd7d39fd868dff00a0a0ff586c2bb94
Author: Juergen Spitzmueller <spitz at lyx.org>
Date:   Thu Sep 17 08:00:54 2020 +0200

    Fix Makefile.am after 821603def308

diff --git a/lib/Makefile.am b/lib/Makefile.am
index 331b218..dca5e0e 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -2216,11 +2216,12 @@ dist_kbd_DATA = \
 	kbd/american-2.kmap \
 	kbd/american.kmap \
 	kbd/arabic.kmap \
-	kbd/bg-bds-1251.kmap \
 	kbd/brazil.kmap \
 	kbd/brazil2.kmap \
+	kbd/bulgarian.kmap \
 	kbd/czech-prg.kmap \
 	kbd/czech.kmap \
+	kbd/espanol.kmap \
 	kbd/european.kmap \
 	kbd/farsi.kmap \
 	kbd/francais.kmap \
@@ -2230,8 +2231,6 @@ dist_kbd_DATA = \
 	kbd/german.kmap \
 	kbd/greek.kmap \
 	kbd/hebrew.kmap \
-	kbd/koi8-r.kmap \
-	kbd/koi8-u.kmap \
 	kbd/latvian.kmap \
 	kbd/magyar-2.kmap \
 	kbd/magyar-3.kmap \
@@ -2241,6 +2240,7 @@ dist_kbd_DATA = \
 	kbd/polski.kmap \
 	kbd/portuges.kmap \
 	kbd/romanian.kmap \
+	kbd/russian.kmap \
 	kbd/serbian.kmap \
 	kbd/serbocroatian.kmap \
 	kbd/sf.kmap \
@@ -2251,7 +2251,7 @@ dist_kbd_DATA = \
 	kbd/transilvanian.kmap \
 	kbd/turkish-f.kmap \
 	kbd/turkish.kmap \
-	kbd/espanol.kmap
+	kbd/ukrainian.kmap
 
 layoutsdir = $(pkgdatadir)/layouts
 dist_layouts_DATA =\

commit 821603def308b0e1c7b45da84afe2108ea3b25e3
Author: Yuriy Skalko <yuriy.skalko at gmail.com>
Date:   Wed Sep 16 10:21:07 2020 +0300

    Fix Cyrillic keyboard map files

diff --git a/lib/kbd/bg-bds-1251.kmap b/lib/kbd/bulgarian.kmap
similarity index 95%
rename from lib/kbd/bg-bds-1251.kmap
rename to lib/kbd/bulgarian.kmap
index 28974c1..ea75200 100644
--- a/lib/kbd/bg-bds-1251.kmap
+++ b/lib/kbd/bulgarian.kmap
@@ -1,4 +1,4 @@
-# keyboad mapping for BDS, code table 1251
+# Bulgarian keyboard mapping for BDS
 # by George Tellalov, 2001 <gtellalov at bigfoot.com>
 
 \kmap ` (
diff --git a/lib/kbd/koi8-r.kmap b/lib/kbd/russian.kmap
similarity index 71%
rename from lib/kbd/koi8-r.kmap
rename to lib/kbd/russian.kmap
index c06e29f..c1b8c0d 100644
--- a/lib/kbd/koi8-r.kmap
+++ b/lib/kbd/russian.kmap
@@ -1,6 +1,7 @@
-# keyboad mapping for Koi8-r
+# Russian keyboard mapping
 # by Nick Slussar, 1999 <nick at slu.spb.ru>
-# added by Vitaly Lipatov, 2001 (standart russian layout) <vitlav at mail.ru>
+# added by Vitaly Lipatov, 2001 <vitlav at mail.ru>
+# fixed by Yuriy Skalko, 2020 <yuriy.skalko at gmail.com>
 
 \kmap q й
 \kmap w ц
@@ -32,16 +33,8 @@
 \kmap b и
 \kmap n Ñ‚
 \kmap m ь
-\kmap "," б
-\kmap "." ÑŽ
-\kmap "/" .
-\kmap "@" \"
-\kmap "^" :
-\kmap "&" ?
-\kmap "`" Ñ‘
-\kmap "~" Ё
-\kmap "$" ;
-
+\kmap \, б
+\kmap . ÑŽ
 
 \kmap Q Й
 \kmap W Ц
@@ -73,6 +66,16 @@
 \kmap B И
 \kmap N Т
 \kmap M Ь
-\kmap "<" Б
-\kmap ">" Ю
-\kmap "?" ","
+\kmap < Б
+\kmap > Ю
+
+\kmap / .
+\kmap ? \,
+\kmap ` Ñ‘
+\kmap ~ Ё
+\kmap @ \"
+\kmap \# â„–
+\kmap $ ;
+\kmap ^ :
+\kmap & ?
+\kmap | /
diff --git a/lib/kbd/koi8-u.kmap b/lib/kbd/ukrainian.kmap
similarity index 96%
rename from lib/kbd/koi8-u.kmap
rename to lib/kbd/ukrainian.kmap
index 3402852..a21c288 100644
--- a/lib/kbd/koi8-u.kmap
+++ b/lib/kbd/ukrainian.kmap
@@ -1,4 +1,4 @@
-# keyboad mapping for koi8-u
+# Ukrainian keyboard mapping
 # by Volodymyr Lisivka, 2000 <lvm_ukr at yahoo.com>
 
 \kmap q й

commit 06aed96f3406495e566bd2e44e09a25b35a7639f
Author: Yuriy Skalko <yuriy.skalko at gmail.com>
Date:   Wed Sep 9 08:56:38 2020 +0300

    Update Russian localization

diff --git a/lib/doc/ru/UserGuide.lyx b/lib/doc/ru/UserGuide.lyx
index d2c296b..7b40d76 100644
--- a/lib/doc/ru/UserGuide.lyx
+++ b/lib/doc/ru/UserGuide.lyx
@@ -27172,12 +27172,18 @@ reference "sec:Formula-Numbering-and"
 \family sans
 Перейти к метке
 \family default
- устанавливает курсор перед меткой, на которую ведет ссылка.
- Этот пункт переименован в контекстном меню метки на 
+ перемещает курсор к метке, на которую указывает ссылка.
+ Также для перехода можно использовать щелчок левой кнопкой по ссылке при
+ нажатой клавише 
+\family sans
+Ctrl
+\family default
+.
+ В контекстном меню метки есть пункт 
 \family sans
 Вернуться назад
 \family default
- для возврата курсора обратно на перекрестную ссылку.
+ для возврата курсора обратно к перекрестной ссылке.
  Вы также можете вернуться с помощью кнопки 
 \begin_inset Info
 type  "icon"
@@ -28727,142 +28733,6 @@ literal "true"
 \end_layout
 
 \begin_layout Subsection
-Внешний просмотр цитируемых источников
-\end_layout
-
-\begin_layout Standard
-\SpecialChar LyX
- поддерживает просмотр материала, на который ссылается выбранная библиографическ
-ая ссылка, но для этого необходимо выполнить некоторые условия, чтобы активирова
-ть пункт 
-\family sans
-Открыть источник
-\family default
- в контекстном меню библиографической ссылки.
-\end_layout
-
-\begin_layout Standard
-Есть несколько способов сделать эту функцию доступной:
-\end_layout
-
-\begin_layout Itemize
-Запись в библиографической базе должна включать любое из таких полей: 
-\begin_inset Flex Code
-status collapsed
-
-\begin_layout Plain Layout
-url
-\end_layout
-
-\end_inset
-
- или 
-\begin_inset Flex Code
-status collapsed
-
-\begin_layout Plain Layout
-doi
-\end_layout
-
-\end_inset
-
- для Bib\SpecialChar TeX
-, 
-\begin_inset Flex Code
-status collapsed
-
-\begin_layout Plain Layout
-eprint
-\end_layout
-
-\end_inset
-
- для Bib\SpecialChar LaTeX
- (включая такие 
-\begin_inset Flex Code
-status collapsed
-
-\begin_layout Plain Layout
-eprinttype
-\end_layout
-
-\end_inset
-
-: arXiv, JSTOR, PubMed, HDL, Google Books).
- При этом будет запущен веб-браузер с соответствующей ссылкой.
-\end_layout
-
-\begin_layout Itemize
-Запись в библиографической базе должна включать любое из таких полей, задающих
- локальные файлы на диске: 
-\begin_inset Flex Code
-status collapsed
-
-\begin_layout Plain Layout
-file
-\end_layout
-
-\end_inset
-
- (заполняется 
-\family sans
-JabRef
-\family default
-), 
-\begin_inset Flex Code
-status collapsed
-
-\begin_layout Plain Layout
-localfile
-\end_layout
-
-\end_inset
-
- (заполняется 
-\family sans
-KBibTeX
-\family default
-).
- При этом будет запущен соответствующий просмотрщик файлов.
- На данный момент допустимы только абсолютные пути.
-\end_layout
-
-\begin_layout Itemize
-Должен иметься скрипт с именем 
-\begin_inset Flex Code
-status collapsed
-
-\begin_layout Plain Layout
-lyxpaperview
-\end_layout
-
-\end_inset
-
- или 
-\begin_inset Flex Code
-status collapsed
-
-\begin_layout Plain Layout
-lyxpaperview.py
-\end_layout
-
-\end_inset
-
-, который принимает на входе год и имя первого автора.
- В обязанности этого скрипта входит поиск соответствующего файла на диске
- и запуск программы просмотра.
- Этот скрипт должен находиться среди других исполняемых файлов, так чтобы
- он мог быть может обнаружен при выполнении 
-\family sans
-Инструменты\SpecialChar menuseparator
-Обновить конфигурацию
-\family default
-.
- Образцы таких скриптов присутствуют в каталоге установки \SpecialChar LyX
-.
-\end_layout
-
-\begin_layout Subsection
 Форматы ссылок
 \begin_inset Index idx
 status collapsed
@@ -29110,8 +28980,8 @@ Biblatex
 \family sans
 Natbib
 \family default
- предоставляют выбор между стилями цитирования автор-год и автор-число.
- Вы должны выбрать один стиль в выпадающем списке 
+ предоставляют выбор между вариантами автор-год и автор-число.
+ Вы должны выбрать один из них в выпадающем списке 
 \family sans
 Вариант
 \family default
@@ -29123,19 +28993,18 @@ Biblatex
  это влияет только на внешний вид рабочей области \SpecialChar LyX
 .
  Использует ли вывод числовой, автор-год или другой формат, например буквенно-ци
-фровой, зависит только от выбранного стиля цитирования 
+фровой, зависит только от выбранного 
 \family sans
-Biblatex
+Стиля ссылок biblatex
 \family default
 .
- Однако при переключении между автор-год и автор-число предлагается подходящий
- стиль.
+ При переключении между вариантами автор-год и автор-число предлагается
+ подходящий стиль.
  С 
 \family sans
 Natbib
 \family default
-, с другой стороны, выбор в диалоговом окне, в конечном итоге, определит
- стиль.
+ несколько иначе — выбор в диалоговом окне полностью определяет стиль.
 \end_layout
 
 \begin_layout Standard
@@ -29144,17 +29013,16 @@ Natbib
 Библиографическая ссылка
 \family default
  доступны несколько вариантов стилей.
- Некоторые варианты выбора также предоставляют дополнительные параметры
- такие, как возможность ввода префикса имени в верхнем регистре, такого
- как «ван Бетховен» (именно, «Ван Бетховен»), или для увеличения или уменьшения
- количества отображаемых других авторов (то есть использовать или не использоват
-ь «и др.»).
+ Некоторые варианты выбора также предоставляют дополнительные возможности,
+ такие как изменение регистра приставки фамилии (например, «Ван Бетховен»
+ вместо «ван Бетховен») или изменение количества отображаемых других авторов
+ (то есть использовать или не использовать «и др.»).
 \end_layout
 
 \begin_layout Standard
 В этом диалоговом окне вы также можете настроить отображение текста после
  ссылки на источник, например, номеров страниц, которые затем будут отформатиров
-аны в соответствии с потребностями стиля (например, с или без «
+аны в соответствии со стилем (например, с или без «
 \family sans
 стр.
 \family default
@@ -29211,21 +29079,20 @@ literal "false"
 \begin_inset Quotes rld
 \end_inset
 
-сравн.
+см.
 \begin_inset Quotes rrd
 \end_inset
 
 ).
- Этот текст затем также включается в круглые скобки, если стиль требует
- этого.
+ Этот текст может браться в скобки, если этого требует стиль.
 \end_layout
 
 \begin_layout Standard
 Обратите внимание, что эти пред- и пост-примечания относятся ко всей библиографи
 ческой ссылке.
- Таким образом, если вы ссылаетесь на несколько ссылок одновременно, пред-примеч
-ание будет предшествовать первому источнику в списке, а пост-примечание
- будет следовать за последним.
+ То есть, если вы ссылаетесь на несколько источников одновременно, пред-примечан
+ие будет предшествовать первому источнику в списке, а пост-примечание будет
+ следовать за последним.
  Некоторые стили 
 \family sans
 Biblatex
@@ -29250,14 +29117,14 @@ Biblatex
 \family default
 , 
 \family sans
-Ключ ссылки
+Ключ источника
 \family default
  и 
 \family sans
 Текст после
 \family default
 .
- Если вы дважды щелкнете по элементу 
+ Дважды щелкнув по ячейкам 
 \family sans
 Текст до
 \family default
@@ -29265,7 +29132,7 @@ Biblatex
 \family sans
 Текст после
 \family default
-, то можете добавить такие отдельные пред- и пост-примечания.
+, можно добавить такие отдельные пред- и пост-примечания.
  В полях 
 \family sans
 Общий текст до
@@ -29278,6 +29145,171 @@ Biblatex
  списку.
 \end_layout
 
+\begin_layout Subsection
+Открытие цитируемых источников из \SpecialChar LyX
+
+\end_layout
+
+\begin_layout Standard
+\SpecialChar LyX
+ поддерживает открытие материала, на который ссылается выбранная библиографическ
+ая ссылка, но для этого необходимо выполнить некоторые условия, чтобы активирова
+ть пункт 
+\family sans
+Открыть источник
+\family default
+ в контекстном меню библиографической ссылки:
+\end_layout
+
+\begin_layout Itemize
+Если запись в библиографической базе включает любое из таких полей: 
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+url
+\end_layout
+
+\end_inset
+
+ или 
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+doi
+\end_layout
+
+\end_inset
+
+ для Bib\SpecialChar TeX
+ и Bib\SpecialChar LaTeX
+, 
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+eprint
+\end_layout
+
+\end_inset
+
+ для Bib\SpecialChar LaTeX
+ (включая такие 
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+eprinttype
+\end_layout
+
+\end_inset
+
+: arXiv, JSTOR, PubMed, HDL, Google Books), то будет запущен веб-браузер
+ с соответствующей ссылкой.
+\end_layout
+
+\begin_layout Itemize
+Если запись в библиографической базе включает любое из таких полей: 
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+file
+\end_layout
+
+\end_inset
+
+ (заполняется 
+\family sans
+JabRef
+\family default
+), 
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+localfile
+\end_layout
+
+\end_inset
+
+ (заполняется 
+\family sans
+KBibTeX
+\family default
+), задающее файл на локальном диске, то будет запущен соответствующий просмотрщи
+к файлов.
+ На данный момент допустимы только абсолютные пути.
+\end_layout
+
+\begin_layout Standard
+Кроме того, \SpecialChar LyX
+ также выполняет поиск подходящих файлов на диске, если включить
+ 
+\family sans
+Искать цитируемые файлы на диске
+\family default
+ в 
+\family sans
+Инструменты\SpecialChar menuseparator
+\SpecialChar allowbreak
+Настройки\SpecialChar menuseparator
+\SpecialChar allowbreak
+Редактирование\SpecialChar menuseparator
+\SpecialChar allowbreak
+Управление
+\family default
+.
+ При этом используются ключевые слова, задаваемые в 
+\family sans
+Шаблоне
+\family default
+ в том же разделе настроек (по умолчанию: год и авторы).
+ Любое из ключевых слов в шаблоне должно присутствовать в заголовке файла
+ (в любой позиции).
+ \SpecialChar LyX
+ открывает первый подходящий найденный файл.
+ Это может быть тот файл, который вам нужен, а может и нет.
+ Чем более систематизированы имена ваших файлов и чем меньше неоднозначных
+ ключевых слов вы используете, тем больше шансов, что этот способ заработает
+ у вас.
+\end_layout
+
+\begin_layout Standard
+Синтаксис шаблона использует особые ключевые слова.
+ В основном это Bib\SpecialChar TeX
+-поля (например, 
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+title
+\end_layout
+
+\end_inset
+
+) окруженные символами 
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+%
+\end_layout
+
+\end_inset
+
+, но есть и специальные ключи, которые документированы в 
+\emph on
+Руководстве по настройке
+\emph default
+, раздел 
+\emph on
+Описание формата библиографической ссылки
+\emph default
+.
+\end_layout
+
 \begin_layout Section
 Предметный указатель
 \begin_inset Index idx
@@ -44226,7 +44258,7 @@ literal "false"
 \family default
  будет открыто главное окно \SpecialChar LyX
  с размером и расположением, которые использовались
- в последнем сеансе \SpecialChar LyX
+ в последней сессии \SpecialChar LyX
 .
 \end_layout
 
@@ -44236,7 +44268,7 @@ literal "false"
 Восстанавливать позицию курсора
 \family default
  предписывает устанавливать курсор в позицию в файле, где он находился при
- окончании последнего сеанса.
+ окончании последней сессии.
 \end_layout
 
 \begin_layout Standard
@@ -44244,7 +44276,7 @@ literal "false"
 \family sans
 Загружать открытые файлы из прошлой сессии
 \family default
- открывает все файлы, которые были открыты в последнем сеансе \SpecialChar LyX
+ открывает все файлы, которые были открыты в последней сессии \SpecialChar LyX
 .
 \end_layout
 
@@ -44253,7 +44285,7 @@ literal "false"
 \family sans
 Очистить всю информацию о сессиях
 \family default
- удаляет всю информацию из предыдущих сеансов \SpecialChar LyX
+ удаляет всю информацию о предыдущих сессиях \SpecialChar LyX
  (позиции курсора, имена последних
  открытых документов и т.
 \begin_inset space \thinspace{}
diff --git a/lib/examples/ru/Presentations/Beamer.lyx b/lib/examples/ru/Presentations/Beamer.lyx
index d91272e..d0fe692 100644
--- a/lib/examples/ru/Presentations/Beamer.lyx
+++ b/lib/examples/ru/Presentations/Beamer.lyx
@@ -401,7 +401,8 @@ status open
 \end_layout
 
 \begin_layout Frame
-В LyX титульная страница конструируется с использованием макетов 
+Ð’ \SpecialChar LyX
+ титульная страница конструируется с использованием макетов 
 \begin_inset Flex Structure
 status collapsed
 
@@ -1405,7 +1406,7 @@ status collapsed
 
 \end_inset
 
- ( в качестве примера, см.
+ (в качестве примера, см.
  библиографию в конце данной презентации)
 \end_layout
 
@@ -1674,8 +1675,8 @@ status open
  «оверлеями» («на каком под-слайде [-ах] это должно быть показано\SpecialChar breakableslash
 скрыто\SpecialChar breakableslash
 выделено»
-), но и выполнение таких задач, как «показывать только в презентации, а
- не на раздаточном материале» или «показывать только на втором экране» (так
+), но и выполнение таких задач, как «показывать только в презентации, но
+ не в раздаточном материале» или «показывать только на втором экране» (так
  называемые, «режимы»).
 \end_layout
 
@@ -1892,7 +1893,7 @@ status open
 \begin_layout Frame
 Разница между «накрытием» и «скрытием» заключается в том, что скрытое содержимое
  обрабатывается, что будто бы его нет, а накрывающееся содержимое просто
- скрывается (а занимаемое им место резервируется).
+ не показывается (но занимаемое им место резервируется).
  Если бы мы скрыли цитату на последнем слайде и не накрыли ее, она бы занимала
  место только при появлении:
 \end_layout
@@ -3985,8 +3986,10 @@ article
 \end_layout
 
 \begin_layout Itemize
-Вы также можете отображать заголовки разделов или заголовки/подзаголовки
- фреймов только в презентации/статье (как сделано для заголовков фреймов
+Вы также можете отображать заголовки разделов или заголовки\SpecialChar breakableslash
+подзаголовки
+ фреймов только в презентации\SpecialChar breakableslash
+статье (как сделано для заголовков фреймов
  «Содержание» и «Ссылки» в этой презентации)
 \end_layout
 
@@ -4016,7 +4019,8 @@ status open
 \end_layout
 
 \begin_layout Frame
-Настроить beamer-статью с LyX легко.
+Настроить beamer-статью в \SpecialChar LyX
+ легко.
 \end_layout
 
 \begin_deeper
@@ -4090,22 +4094,26 @@ status open
 \begin_deeper
 \begin_layout Itemize
 И это все.
- Теперь вы можете подготовить раздаточный материал и презентацию, скомпилировав
- один из этих двух документов, в то время как вам нужно отредактировать
- только один, а именно презентацию.
+ Теперь вы можете получить раздаточный материал и презентацию, скомпилировав
+ один из этих двух документов, в то время как редактировать нужно только
+ один документ — презентацию.
 \end_layout
 
 \end_deeper
 \begin_layout Frame
-Ознакомьтесь с прилагаемым примером 
+Ознакомьтесь с прилагаемым примером такой презентации 
 \begin_inset Quotes rld
 \end_inset
 
+
+\lang english
 Beamer Article
+\lang russian
+
 \begin_inset Quotes rrd
 \end_inset
 
- такой презентации.
+.
  Вы можете найти его в том же каталоге, где располагается этот документ.
 \end_layout
 
diff --git a/lib/examples/ru/Presentations/Beamer_Article_%28Standard_Class%29.lyx b/lib/examples/ru/Presentations/Beamer_Article_%28Standard_Class%29.lyx
index d5fff81..06f7129 100644
--- a/lib/examples/ru/Presentations/Beamer_Article_%28Standard_Class%29.lyx
+++ b/lib/examples/ru/Presentations/Beamer_Article_%28Standard_Class%29.lyx
@@ -44,7 +44,7 @@
 \pdf_colorlinks false
 \pdf_backref false
 \pdf_pdfusetitle true
-\papersize default
+\papersize a4
 \use_geometry false
 \use_package amsmath 1
 \use_package amssymb 1
diff --git a/po/ru.po b/po/ru.po
index 859d6d0..d4b2c43 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -11,8 +11,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: LyX 2.4\n"
 "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2020-08-24 07:24+0200\n"
-"PO-Revision-Date: 2020-09-07 19:18+0300\n"
+"POT-Creation-Date: 2020-09-15 20:31+0300\n"
+"PO-Revision-Date: 2020-09-15 22:05+0300\n"
 "Last-Translator: Yuriy Skalko <yuriy.skalko at gmail.com>\n"
 "Language-Team: Russian <lyx-docs at lists.lyx.org>\n"
 "Language: ru\n"
@@ -21,5931 +21,11566 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 2.3\n"
 
-#: src/frontends/qt/ui/AboutUi.ui:27
-msgid "Version"
-msgstr "Версия"
+#: src/Author.cpp:57
+#, c-format
+msgid "%1$s[[name]] (%2$s[[email]])"
+msgstr "%1$s[[name]] (%2$s[[email]])"
 
-#: src/frontends/qt/ui/AboutUi.ui:147
-msgid "Library directory"
-msgstr "Каталог библиотек"
+#: src/BiblioInfo.cpp:872 src/BiblioInfo.cpp:922 src/BiblioInfo.cpp:933
+#: src/BiblioInfo.cpp:988 src/BiblioInfo.cpp:992
+msgid "ERROR!"
+msgstr "ОШИБКА!"
 
-#: src/frontends/qt/ui/AboutUi.ui:159
-msgid "Open library directory in file browser"
-msgstr "Открыть каталог библиотек в файловом менеджере"
+#: src/BiblioInfo.cpp:1396
+msgid "No year"
+msgstr "Нет года"
 
-#: src/frontends/qt/ui/AboutUi.ui:162
-msgid "&Open..."
-msgstr "&Открыть..."
+#: src/BiblioInfo.cpp:1406
+msgid "Bibliography entry not found!"
+msgstr "Источник не найден!"
 
-#: src/frontends/qt/ui/AboutUi.ui:197
-msgid "User directory"
-msgstr "Каталог пользователя"
+#: src/Buffer.cpp:450
+msgid "Disk Error: "
+msgstr "Ошибка диска: "
 
-#: src/frontends/qt/ui/AboutUi.ui:228
-msgid "Open user directory in file browser"
-msgstr "Открыть каталог пользователя в файловом менеджере"
+#: src/Buffer.cpp:451
+#, c-format
+msgid ""
+"LyX could not create the temporary directory '%1$s' (Disk is full maybe?)"
+msgstr ""
+"LyX не смог создать временный каталог '%1$s' (Может закончилось место на "
+"диске?)"
 
-#: src/frontends/qt/ui/AboutUi.ui:231
-msgid "O&pen..."
-msgstr "О&ткрыть..."
+#: src/Buffer.cpp:580
+msgid "LyX attempted to close a document that had unsaved changes!\n"
+msgstr ""
+"LyX пытается закрыть документ который содержит несохранённые изменения!\n"
 
-#: src/frontends/qt/ui/AboutUi.ui:260
-msgid "Credits"
-msgstr "Благодарности"
+#: src/Buffer.cpp:584 src/Buffer.cpp:1671
+msgid "Save failed! Document is lost."
+msgstr "Сохранить не удалось! Мужайтесь, документ потерян."
 
-#: src/frontends/qt/ui/AboutUi.ui:285 lib/layouts/apa.layout:205
-#: lib/layouts/apax.inc:314
-msgid "Copyright"
-msgstr "Авторские права"
+#: src/Buffer.cpp:586
+msgid "Attempting to close changed document!"
+msgstr "Попытка закрыть изменённый документ!"
 
-#: src/frontends/qt/ui/AboutUi.ui:310
-msgid "Build Info"
-msgstr "Сведения о сборке"
+#: src/Buffer.cpp:595
+#, c-format
+msgid "Could not remove the temporary directory %1$s"
+msgstr "Невозможно удалить временный каталог %1$s"
 
-#: src/frontends/qt/ui/AboutUi.ui:335
-msgid "Release Notes"
-msgstr "Заметки о выпуске"
+#: src/Buffer.cpp:1002 src/Text.cpp:580
+#, c-format
+msgid "Unknown token: %1$s %2$s\n"
+msgstr "Неизвестный токен: %1$s %2$s\n"
 
-#: src/frontends/qt/ui/AboutUi.ui:380
-msgid "Copy version information to clipboard"
-msgstr "Копировать информацию о версии в буфер обмена"
+#: src/Buffer.cpp:1006 src/Buffer.cpp:1012 src/Buffer.cpp:1036
+msgid "Document header error"
+msgstr "Ошибка в заголовке документа"
 
-#: src/frontends/qt/ui/AboutUi.ui:383
-msgid "Copy &Version Info"
-msgstr "Копировать информацию о &версии"
+#: src/Buffer.cpp:1011
+msgid "\\begin_header is missing"
+msgstr "\\begin_header отсутствует"
 
-#: src/frontends/qt/ui/BibitemUi.ui:26 src/frontends/qt/ui/BibitemUi.ui:45
-msgid "The bibliography key"
-msgstr "Ключ библиографии"
+#: src/Buffer.cpp:1035
+msgid "\\begin_document is missing"
+msgstr "\\begin_document отсутствует"
 
-#: src/frontends/qt/ui/BibitemUi.ui:29
-msgid "Ke&y:"
-msgstr "К&люч:"
+#: src/Buffer.cpp:1046 src/Buffer.cpp:3024
+msgid "Changes not shown in LaTeX output"
+msgstr "Изменения не показаны в выводе LaTeX"
 
-#: src/frontends/qt/ui/BibitemUi.ui:52 src/frontends/qt/ui/BibitemUi.ui:76
-#: src/frontends/qt/GuiBibitem.cpp:91
-msgid "The label as it appears in the document"
-msgstr "Метка, как она будет показываться в документе"
+#: src/Buffer.cpp:1047 src/Buffer.cpp:3025
+msgid ""
+"Changes will not be highlighted in LaTeX output, because xcolor and ulem are "
+"not installed.\n"
+"Please install both packages or redefine \\lyxadded and \\lyxdeleted in the "
+"LaTeX preamble."
+msgstr ""
+"Изменения не будут выделены в выводе LaTeX'а потому, что xcolor и ulem не "
+"установлены.\n"
+"Пожалуйста установите эти пакеты или переопределите \\lyxadded и "
+"\\lyxdeleted в преамбуле LaTeX."
 
-#: src/frontends/qt/ui/BibitemUi.ui:55 src/frontends/qt/ui/IncludeUi.ui:183
-#: src/frontends/qt/ui/LabelUi.ui:36 src/frontends/qt/GuiBibitem.cpp:87
-#: src/frontends/qt/GuiBibitem.cpp:89
-msgid "&Label:"
-msgstr "&Метка:"
+#: src/Buffer.cpp:1089 src/BufferParams.cpp:471 src/frontends/qt/GuiLog.cpp:247
+#: src/insets/InsetIndex.cpp:642
+msgid "Index"
+msgstr "Предметный указатель"
 
-#: src/frontends/qt/ui/BibitemUi.ui:83
-msgid "&Year:"
-msgstr "Год:"
+#: src/Buffer.cpp:1196
+msgid "File Not Found"
+msgstr "Файл не найден"
 
-#: src/frontends/qt/ui/BibitemUi.ui:96
-msgid "The year with \"Author (Year)\" citations (without parentheses)."
-msgstr "Год для ссылок вида \"Автор (Год)\" (только число)"
+#: src/Buffer.cpp:1197
+#, c-format
+msgid "Unable to open file `%1$s'."
+msgstr "Невозможно открыть файл `%1$s'."
 
-#: src/frontends/qt/ui/BibitemUi.ui:105 src/frontends/qt/GuiBibitem.cpp:64
-msgid "A&ll Author Names:"
-msgstr "Имена всех авторов:"
+#: src/Buffer.cpp:1225 src/Buffer.cpp:1299
+msgid "Document format failure"
+msgstr "Ошибка формата документа"
 
-#: src/frontends/qt/ui/BibitemUi.ui:115
+#: src/Buffer.cpp:1226
+#, c-format
+msgid "%1$s ended unexpectedly, which means that it is probably corrupted."
+msgstr "Файл %1$s неожиданно закончился, скорее всего он повреждён."
+
+#: src/Buffer.cpp:1300
+#, c-format
+msgid "%1$s is not a readable LyX document."
+msgstr "%1$s нечитаемый документ LyX."
+
+#: src/Buffer.cpp:1327
+msgid "Conversion failed"
+msgstr "Конвертирование не выполнено"
+
+#: src/Buffer.cpp:1328
+#, c-format
 msgid ""
-"If you want to use an abbreviated author list (with 'et al.') as well as a "
-"full list for author-year citation, you can put the full list here and the "
-"abbreviated list above."
+"%1$s is from a different version of LyX, but a temporary file for converting "
+"it could not be created."
 msgstr ""
-"Если вы хотите использовать сокращенный список авторов (с пометкой 'et "
-"al.'), а также полный список для ссылки \"автор-год\", вы можете поместить "
-"полный список здесь и сокращенный список выше."
+"%1$s создан другой версией LyX, невозможно создать временный файл при "
+"конвертировании."
+
+#: src/Buffer.cpp:1338
+msgid "Conversion script not found"
+msgstr "Сценарий для конвертирования не найден"
 
-#: src/frontends/qt/ui/BibitemUi.ui:122 src/frontends/qt/GuiBibitem.cpp:93
+#: src/Buffer.cpp:1339
+#, c-format
 msgid ""
-"Pass content of the `Label' field literally to LaTeX. Check this if you want "
-"to enter LaTeX code."
+"%1$s is from a different version of LyX, but the conversion script lyx2lyx "
+"could not be found."
 msgstr ""
-"Передавать содержимое поля «Метка» буквально в LaTeX. Выберите этот пункт, "
-"если хотите использовать код LaTeX."
+"%1$s создан другой версией LyX, сценарий для конвертирования lyx2lyx не "
+"найден."
 
-#: src/frontends/qt/ui/BibitemUi.ui:125 src/frontends/qt/ui/CitationUi.ui:378
-#: src/frontends/qt/ui/HyperlinkUi.ui:80 src/frontends/qt/ui/IncludeUi.ui:302
-#: src/frontends/qt/ui/NomenclUi.ui:72 src/frontends/qt/ui/PrintindexUi.ui:74
-msgid "Li&teral"
-msgstr "&Буквально"
+#: src/Buffer.cpp:1362 src/Buffer.cpp:1369
+msgid "Conversion script failed"
+msgstr "Ошибка сценария преобразования"
 
-#: src/frontends/qt/ui/BiblioUi.ui:26
-msgid "Citation Style"
-msgstr "Стиль библиографических ссылок"
+#: src/Buffer.cpp:1363
+#, c-format
+msgid ""
+"%1$s is from an older version of LyX and the lyx2lyx script failed to "
+"convert it."
+msgstr ""
+"Файл %1$s создан в старой версии LyX. Сценарий lyx2lyx не смог преобразовать "
+"его."
 
-#: src/frontends/qt/ui/BiblioUi.ui:55
-msgid "Sty&le format:"
-msgstr "Формат &стиля:"
+#: src/Buffer.cpp:1370
+#, c-format
+msgid ""
+"%1$s is from a newer version of LyX and the lyx2lyx script failed to convert "
+"it."
+msgstr ""
+"Файл %1$s создан в более новой версии LyX. Сценарий lyx2lyx не смог "
+"преобразовать его."
 
-#: src/frontends/qt/ui/BiblioUi.ui:65
+#: src/Buffer.cpp:1449 src/Buffer.cpp:4703 src/Buffer.cpp:4796
+msgid "File is read-only"
+msgstr "Документ доступен только для чтения"
+
+#: src/Buffer.cpp:1450
+#, c-format
+msgid "The file %1$s cannot be written because it is marked as read-only."
+msgstr ""
+"Файл %1$s нельзя записать, так как он помечен как доступный только для "
+"чтения."
+
+#: src/Buffer.cpp:1459
+#, c-format
 msgid ""
-"A selection of different style format approaches (such as natbib) that "
-"respectively provide support for specific citation and bibliography styles. "
-"Expand to get more information."
+"Document %1$s has been externally modified. Are you sure you want to "
+"overwrite this file?"
 msgstr ""
-"Набор разных подходов к форматированию стилей (таких как natbib), который "
-"обеспечивает поддержку конкретных стилей ссылок и библиографии. Разверните, "
-"чтобы узнать больше."
+"Документ %1$s изменён извне. Вы уверены, что хотите перезаписать этот файл?"
 
-#: src/frontends/qt/ui/BiblioUi.ui:75
-msgid "&Variant:"
-msgstr "Вариант:"
+#: src/Buffer.cpp:1461
+msgid "Overwrite modified file?"
+msgstr "Перезаписать изменённый файл?"
 
-#: src/frontends/qt/ui/BiblioUi.ui:94
-msgid "Provides available cite style variants."
-msgstr "Обеспечивает доступные варианты стиля цитирования"
+#: src/Buffer.cpp:1462 src/Exporter.cpp:50
+#: src/frontends/qt/GuiClipboard.cpp:247 src/frontends/qt/GuiView.cpp:2650
+#: src/frontends/qt/GuiView.cpp:2918 src/frontends/qt/GuiView.cpp:3021
+msgid "&Overwrite"
+msgstr "&Перезаписать"
 
-#: src/frontends/qt/ui/BiblioUi.ui:118 src/frontends/qt/GuiPrefs.cpp:732
-#: src/frontends/qt/GuiPrefs.cpp:861
-msgid "Opt&ions:"
-msgstr "П&араметры:"
+#: src/Buffer.cpp:1462 src/Buffer.cpp:4693 src/Buffer.cpp:4787
+#: src/LyXVC.cpp:114 src/LyXVC.cpp:304 src/buffer_funcs.cpp:78
+#: src/frontends/qt/GuiBranches.cpp:219 src/frontends/qt/GuiClipboard.cpp:247
+#: src/frontends/qt/GuiDocument.cpp:2786 src/frontends/qt/GuiParagraph.cpp:164
+#: src/frontends/qt/GuiPrefs.cpp:3365 src/frontends/qt/GuiView.cpp:2650
+#: src/frontends/qt/GuiView.cpp:2881 src/frontends/qt/GuiView.cpp:2905
+#: src/frontends/qt/GuiView.cpp:2919 src/frontends/qt/GuiView.cpp:3021
+#: src/frontends/qt/GuiView.cpp:3066 src/frontends/qt/GuiView.cpp:3121
+#: src/frontends/qt/GuiView.cpp:3358 src/frontends/qt/GuiView.cpp:3372
+#: src/frontends/qt/GuiView.cpp:3474 src/frontends/qt/GuiView.cpp:3502
+#: src/frontends/qt/GuiView.cpp:4206 src/frontends/qt/GuiView.cpp:4213
+#: src/insets/InsetBibtex.cpp:154 src/frontends/qt/ui/BranchesUnknownUi.ui:58
+msgid "&Cancel"
+msgstr "&Отмена"
 
-#: src/frontends/qt/ui/BiblioUi.ui:134
-msgid "Here you can enter further options of the bibliography package"
-msgstr "Здесь вы можете указать дополнительные параметры пакета библиографии"
+#: src/Buffer.cpp:1527
+msgid "Backup failure"
+msgstr "Ошибка создания резервного файла"
 
-#: src/frontends/qt/ui/BiblioUi.ui:154
-msgid "Biblatex &citation style:"
-msgstr "Стиль ссылок biblatex:"
+#: src/Buffer.cpp:1528
+#, c-format
+msgid ""
+"Cannot create backup file %1$s.\n"
+"Please check whether the directory exists and is writable."
+msgstr ""
+"Не удаётся создать резервный файл %1$s.\n"
+"Пожалуйста, проверьте существует ли директория и доступна ли она для записи."
 
-#: src/frontends/qt/ui/BiblioUi.ui:164
-msgid "The style that determines the layout of the citations"
-msgstr "Стиль, задающий формат библиографических ссылок"
+#: src/Buffer.cpp:1564 src/Buffer.cpp:1575
+msgid "Write failure"
+msgstr "Ошибка записи"
 
-#: src/frontends/qt/ui/BiblioUi.ui:180 src/frontends/qt/ui/BiblioUi.ui:241
-#: src/frontends/qt/ui/BiblioUi.ui:291
-msgid "Reset to the preset default"
-msgstr "Выполнить сброс к настройкам по умолчанию"
+#: src/Buffer.cpp:1565
+#, c-format
+msgid ""
+"The file has successfully been saved as:\n"
+"  %1$s.\n"
+"But LyX could not move it to:\n"
+"  %2$s.\n"
+"Your original file has been backed up to:\n"
+"  %3$s"
+msgstr ""
+"Файл успешно сохранён как:\n"
+"  %1$s.\n"
+"Но LyX не смог переместить его в:\n"
+"  %2$s.\n"
+"Ваш оригинальный файл скопирован сюда:\n"
+"  %3$s"
 
-#: src/frontends/qt/ui/BiblioUi.ui:183
-msgid "Rese&t"
-msgstr "Сброси&ть"
+#: src/Buffer.cpp:1576
+#, c-format
+msgid ""
+"Cannot move saved file to:\n"
+"  %1$s.\n"
+"But the file has successfully been saved as:\n"
+"  %2$s."
+msgstr ""
+"Невозможно переместить файл в:\n"
+"  %1$s.\n"
+"Но файл успешно сохранён как:\n"
+"  %2$s."
 
-#: src/frontends/qt/ui/BiblioUi.ui:201
-msgid "Bibliography Style"
-msgstr "Стиль библиографии"
+#: src/Buffer.cpp:1592
+#, c-format
+msgid "Saving document %1$s..."
+msgstr "Сохранение документа %1$s..."
 
-#: src/frontends/qt/ui/BiblioUi.ui:215
-msgid "Biblate&x bibliography style:"
-msgstr "Стиль биб&лиографии biblatex:"
+#: src/Buffer.cpp:1607
+msgid " could not write file!"
+msgstr " не удалось записать файл!"
 
-#: src/frontends/qt/ui/BiblioUi.ui:231
+#: src/Buffer.cpp:1615
+msgid " done."
+msgstr " завершено."
+
+#: src/Buffer.cpp:1630
+#, c-format
+msgid "LyX: Attempting to save document %1$s\n"
+msgstr "LyX: Попытка сохранить документ  %1$s\n"
+
+#: src/Buffer.cpp:1640 src/Buffer.cpp:1653 src/Buffer.cpp:1667
+#, c-format
+msgid "Saved to %1$s. Phew.\n"
+msgstr "Сохранён как %1$s. Хух.\n"
+
+#: src/Buffer.cpp:1643
+msgid "Save failed! Trying again...\n"
+msgstr "Сохранить не удалось! Ещё одна попытка...\n"
+
+#: src/Buffer.cpp:1657
+msgid "Save failed! Trying yet again...\n"
+msgstr "Сохранить не удалось! И ещё раз...\n"
+
+#: src/Buffer.cpp:1753
+msgid "Iconv software exception Detected"
+msgstr "Обнаружено исключение программы iconv"
+
+#: src/Buffer.cpp:1754
+#, c-format
 msgid ""
-"The style that determines the layout of the biblatex-generated bibliography"
-msgstr "Стиль, задающий формат библиографии, сгенерированной biblatex"
+"Please verify that the `iconv' support software is properly installed and "
+"supports the selected encoding (%1$s), or change the encoding in "
+"Document>Settings>Language."
+msgstr ""
+"Убедитесь, что программа поддержки `iconv' установлена правильно и "
+"поддерживает выбранную кодировку (%1$s), или измените кодировку в "
+"Документ>Настройки>Язык."
 
-#: src/frontends/qt/ui/BiblioUi.ui:244 src/frontends/qt/ui/ColorUi.ui:73
-#: src/frontends/qt/ui/ColorUi.ui:134 src/frontends/qt/ui/ColorUi.ui:211
-#: src/frontends/qt/ui/ColorUi.ui:272
-msgid "R&eset"
-msgstr "С&бросить"
+#: src/Buffer.cpp:1786
+#, c-format
+msgid "Uncodable character '%1$s' (code point %2$s)"
+msgstr "Некодируемый символ '%1$s' (code point %2$s)"
 
-#: src/frontends/qt/ui/BiblioUi.ui:251
-msgid "Match biblatex bibliography with citation style"
-msgstr "Установить соответствие библиографии biblatex со стилем ссылок"
+#: src/Buffer.cpp:1789
+msgid ""
+"Some characters of your document are not representable in specific verbatim "
+"contexts.\n"
+"Changing the document encoding to utf8 could help."
+msgstr ""
+"Некоторые из символов Вашего документа не могут быть представлены в "
+"определённых дословных контекстах.\n"
+"Может помочь смена кодировки документа на utf8."
 
-#: src/frontends/qt/ui/BiblioUi.ui:254
-msgid "&Match"
-msgstr "&Соответствие"
+#: src/Buffer.cpp:1794
+#, c-format
+msgid "Could not find LaTeX command for character '%1$s' (code point %2$s)"
+msgstr "Не удалось найти команду LaTeX для символа '%1$s' (code point %2$s)"
 
-#: src/frontends/qt/ui/BiblioUi.ui:265
-msgid "Default BibTeX st&yle:"
-msgstr "&Стиль biblatex по умолчанию:"
+#: src/Buffer.cpp:1797
+msgid ""
+"Some characters of your document are probably not representable in the "
+"chosen encoding.\n"
+"Changing the document encoding to utf8 could help."
+msgstr ""
+"Некоторые из символов Вашего документа не могут быть представлены в "
+"выбранной кодировке.\n"
+"Может помочь смена кодировки документа на utf8."
 
-#: src/frontends/qt/ui/BiblioUi.ui:281
+#: src/Buffer.cpp:1805
+msgid "iconv conversion failed"
+msgstr "не удалось преобразование с iconv"
+
+#: src/Buffer.cpp:1810
+msgid "conversion failed"
+msgstr "не удалось преобразовать"
+
+#: src/Buffer.cpp:1922 src/insets/InsetGraphics.cpp:904
+msgid "Uncodable character in file path"
+msgstr "Некодируемый символ в пути файла"
+
+#: src/Buffer.cpp:1924
+#, c-format
 msgid ""
-"Here, you can define a BibTeX style that is suggested in the BibTeX dialog "
-"by default"
+"The path of your document\n"
+"(%1$s)\n"
+"contains glyphs that are unknown in the current document encoding (namely "
+"%2$s). This may result in incomplete output, unless TEXINPUTS contains the "
+"document directory and you don't use explicitly relative paths (i.e., paths "
+"starting with './' or '../') in the preamble or in ERT.\n"
+"\n"
+"In case of problems, choose an appropriate document encoding\n"
+"(such as utf8) or change the file path name."
 msgstr ""
-"Здесь можно определить стиль BibTeX, предлагаемый в диалоговом окне BibTeX "
-"по умолчанию"
+"Путь к вашему документу\n"
+"(%1$s)\n"
+"содержит символы, неизвестные\n"
+"в текущей кодировке документа (%2$s).\n"
+"Это может привести к неполному результату.\n"
+"\n"
+"Выберите соответствующую кодировку (такую как utf8)\n"
+"или измените путь."
 
-#: src/frontends/qt/ui/BiblioUi.ui:294
-msgid "&Reset"
-msgstr "С&бросить"
+#: src/Buffer.cpp:2015
+#, c-format
+msgid "The languages %1$s are only supported by Babel."
+msgstr "Языки %1$s поддерживаются только Babel."
 
-#: src/frontends/qt/ui/BiblioUi.ui:305
-msgid "Select this if you want to split your bibliography into sections"
-msgstr "Выберите, если хотите разделить библиографию по разделам"
+#: src/Buffer.cpp:2016
+#, c-format
+msgid "The language %1$s is only supported by Babel."
+msgstr "Язык %1$s поддерживается только Babel."
 
-#: src/frontends/qt/ui/BiblioUi.ui:308
-msgid "Subdivided bibli&ography"
-msgstr "Разделённая библиография"
+#: src/Buffer.cpp:2026
+#, c-format
+msgid "The languages %1$s are only supported by Polyglossia."
+msgstr "Языки %1$s поддерживаются только Polyglossia."
 
-#: src/frontends/qt/ui/BiblioUi.ui:328
-msgid "Rescan style files"
-msgstr "Обновить файлы стилей"
+#: src/Buffer.cpp:2027
+#, c-format
+msgid "The language %1$s is only supported by Polyglossia."
+msgstr "Язык %1$s поддерживается только Polyglossia."
 
-#: src/frontends/qt/ui/BiblioUi.ui:331
-msgid "Re&scan"
-msgstr "&Обновить"
+#: src/Buffer.cpp:2033
+msgid "Incompatible Languages!"
+msgstr "Несовместимые языки!"
 
-#: src/frontends/qt/ui/BiblioUi.ui:342
-msgid "&Multiple bibliographies:"
-msgstr "Отдельные библиографии:"
+#: src/Buffer.cpp:2035
+#, c-format
+msgid ""
+"You cannot use the following languages together in one LaTeX document "
+"because they require conflicting language packages:\n"
+"%1$s%2$s"
+msgstr ""
+"В одном документе LaTeX нельзя одновременно использовать следующие языки, "
+"так как для них требуются конфликтующие языковые пакеты:\n"
+"%1$s%2$s"
 
-#: src/frontends/qt/ui/BiblioUi.ui:358
-msgid "Generate a bibliography per defined unit."
-msgstr "Генерировать отдельную библиографию для заданного уровня"
+#: src/Buffer.cpp:2330
+msgid "Running chktex..."
+msgstr "Запуск chktex..."
 
-#: src/frontends/qt/ui/BiblioUi.ui:376
+#: src/Buffer.cpp:2349
+msgid "chktex failure"
+msgstr "ошибка chktex"
+
+#: src/Buffer.cpp:2350
+msgid "Could not run chktex successfully."
+msgstr "Невозможно успешно запустить chktex."
+
+#: src/Buffer.cpp:2727
+#, c-format
+msgid "Don't know how to export to format: %1$s"
+msgstr "Нет информации для экспортирования формата %1$s"
+
+#: src/Buffer.cpp:2831
+#, c-format
+msgid "Error exporting to format: %1$s."
+msgstr "Ошибка при экспортировании в формат %1$s."
+
+#: src/Buffer.cpp:2840
+msgid "Error generating literate programming code."
+msgstr "Ошибка при генерации кода грамотного программирования."
+
+#: src/Buffer.cpp:2916
+#, c-format
+msgid "Branch \"%1$s\" does not exist."
+msgstr "Ветка \"%1$s\" не существует."
+
+#: src/Buffer.cpp:2949
+#, c-format
+msgid "Branch \"%1$s\" already exists."
+msgstr "Ветка \"%1$s\" уже существует."
+
+#: src/Buffer.cpp:3006
+msgid "Error viewing the output file."
+msgstr "Ошибка при просмотре выходного файла."
+
+#: src/Buffer.cpp:3363 src/frontends/qt/GuiView.cpp:2479
+#: src/frontends/qt/Validator.cpp:222 src/insets/ExternalSupport.cpp:395
+#: src/insets/InsetGraphics.cpp:690 src/insets/InsetInclude.cpp:602
+msgid "Invalid filename"
+msgstr "Неправильное имя файла"
+
+#: src/Buffer.cpp:3364 src/insets/ExternalSupport.cpp:396
+#: src/insets/InsetGraphics.cpp:691 src/insets/InsetInclude.cpp:603
 msgid ""
-"Here you can define an alternative program to or specific options of BibTeX."
+"The following filename will cause troubles when running the exported file "
+"through LaTeX: "
 msgstr ""
-"Здесь можно определить альтернативную программу или особые параметры BibTeX"
+"Следующее имя файла вызовет проблемы при запуске экспортированного файла в "
+"LaTeX: "
 
-#: src/frontends/qt/ui/BiblioUi.ui:379 src/frontends/qt/ui/PrefLatexUi.ui:79
-msgid "Bibliography Generation"
-msgstr "Создание библиографии"
+#: src/Buffer.cpp:3369 src/insets/ExternalSupport.cpp:401
+#: src/insets/InsetGraphics.cpp:698 src/insets/InsetInclude.cpp:607
+msgid "Problematic filename for DVI"
+msgstr "Проблемное имя файла для DVI"
 
-#: src/frontends/qt/ui/BiblioUi.ui:390 src/frontends/qt/ui/IndicesUi.ui:33
-#: src/frontends/qt/ui/PrefLatexUi.ui:192
-msgid "&Processor:"
-msgstr "&Процессор:"
+#: src/Buffer.cpp:3370 src/insets/ExternalSupport.cpp:402
+#: src/insets/InsetGraphics.cpp:699 src/insets/InsetInclude.cpp:608
+msgid ""
+"The following filename can cause troubles when running the exported file "
+"through LaTeX and opening the resulting DVI: "
+msgstr ""
+"Следующее имя файла может вызвать проблемы при запуске экспортированного "
+"файла в LaTeX: "
 
-#: src/frontends/qt/ui/BiblioUi.ui:400 src/frontends/qt/ui/IndicesUi.ui:43
-msgid "Select a processor"
-msgstr "Выберите процессор"
+#: src/Buffer.cpp:3409 src/insets/InsetBibtex.cpp:349
+msgid "Export Warning!"
+msgstr "Предупреждение экспорта!"
 
-#: src/frontends/qt/ui/BiblioUi.ui:424 src/frontends/qt/ui/PrefLatexUi.ui:103
-#: src/frontends/qt/ui/PrefLatexUi.ui:205 src/frontends/qt/GuiPrefs.cpp:757
-#: src/frontends/qt/GuiPrefs.cpp:888
-msgid "Op&tions:"
-msgstr "П&араметры:"
+#: src/Buffer.cpp:3410
+msgid ""
+"There are spaces in the paths to your BibTeX databases.\n"
+"BibTeX will be unable to find them."
+msgstr ""
+"В пути к базам данных BibTeX есть пробелы.\n"
+"BibTeX не сможет найти их."
 
-#: src/frontends/qt/ui/BiblioUi.ui:440
+#: src/Buffer.cpp:4080
+#, c-format
+msgid "Preview source code for paragraph %1$d"
+msgstr "Просмотр исходного кода для абзаца %1$d"
+
+#: src/Buffer.cpp:4084
+#, c-format
+msgid "Preview source code from paragraph %1$s to %2$s"
+msgstr "Просмотр исходного кода абзацев %1$s-%2$s"
+
+#: src/Buffer.cpp:4138
+msgid "Preview source code"
+msgstr "Просмотр исходного кода"
+
+#: src/Buffer.cpp:4140
+msgid "Preview preamble"
+msgstr "Просмотр преамбулы"
+
+#: src/Buffer.cpp:4142
+msgid "Preview body"
+msgstr "Просмотр тела документа"
+
+#: src/Buffer.cpp:4157
+msgid "Plain text does not have a preamble."
+msgstr "Простой текст не имеет преамбулы."
+
+#: src/Buffer.cpp:4294
+msgid "Autosaving current document..."
+msgstr "Автосохранение текущего документа..."
+
+#: src/Buffer.cpp:4416
+#, c-format
+msgid "No information for exporting the format %1$s."
+msgstr "Нет информации для экспортирования формата %1$s."
+
+#: src/Buffer.cpp:4420
+#, c-format
+msgid "Hint: use non-TeX fonts or set input encoding  to '%1$s'"
+msgstr ""
+"Подсказка: используйте системные шрифты или установите входную кодировку "
+"'%1$s'"
+
+#: src/Buffer.cpp:4422
+msgid "Couldn't export file"
+msgstr "Невозможно экспортировать файл"
+
+#: src/Buffer.cpp:4490 src/frontends/qt/GuiView.cpp:2623
+msgid "File name error"
+msgstr "Ошибка в названии файла"
+
+#: src/Buffer.cpp:4491
+#, c-format
 msgid ""
-"Define options such as --min-crossrefs (see the documentation of BibTeX)"
-msgstr "Определить параметры типа --min-crossrefs (см. документацию BibTeX)"
+"The directory path to the document\n"
+"%1$s\n"
+"contains spaces, but your TeX installation does not allow them. You should "
+"save the file to a directory whose name does not contain spaces."
+msgstr ""
+"Путь к документу\n"
+"%1$s\n"
+"содержит пробелы, но ваш установленный TeX не разрешает их. Сохраните файл в "
+"каталог с именем без пробелов."
 
-#: src/frontends/qt/ui/BibtexUi.ui:23
-msgid "BibTeX database(s) to use"
-msgstr "Используемые базы данных BibTeX"
+#: src/Buffer.cpp:4580 src/Buffer.cpp:4610 src/frontends/qt/GuiView.cpp:756
+msgid "Document export cancelled."
+msgstr "Экспорт документа отменён."
 
-#: src/frontends/qt/ui/BibtexUi.ui:26
-msgid "&Databases"
-msgstr "Базы данных"
+#: src/Buffer.cpp:4613
+#, c-format
+msgid "Document exported as %1$s to file `%2$s'"
+msgstr "Документ экспортирован из %1$s в файл `%2$s'"
 
-#: src/frontends/qt/ui/BibtexUi.ui:37
-msgid "Found b&y LaTeX:"
-msgstr "Доступные:"
+#: src/Buffer.cpp:4620
+#, c-format
+msgid "Document exported as %1$s"
+msgstr "Документ экспортирован как %1$s"
 
-#: src/frontends/qt/ui/BibtexUi.ui:65
-msgid "Add the selected BibTeX database from the list on the left"
-msgstr "Добавить выбранную базу данных BibTeX из списка слева"
+#: src/Buffer.cpp:4689
+#, c-format
+msgid ""
+"An emergency save of the document %1$s exists.\n"
+"\n"
+"Recover emergency save?"
+msgstr ""
+"Обнаружена аварийная копия документа %1$s.\n"
+"\n"
+"Восстановить аварийную копию?"
 
-#: src/frontends/qt/ui/BibtexUi.ui:68
-msgid "&Add Selected[[bib]]"
-msgstr "&Добавить выделенное"
+#: src/Buffer.cpp:4692
+msgid "Load emergency save?"
+msgstr "Загрузить аварийную копию?"
 
-#: src/frontends/qt/ui/BibtexUi.ui:75
-msgid "Add a BibTeX database from your local directory"
-msgstr "Добавить базу данных BibTeX из локального каталога"
+#: src/Buffer.cpp:4693
+msgid "&Recover"
+msgstr "&Восстановить"
 
-#: src/frontends/qt/ui/BibtexUi.ui:78
-msgid "Add &Local..."
-msgstr "Добавить &локальную..."
+#: src/Buffer.cpp:4693
+msgid "&Load Original"
+msgstr "Загрузить &исходный"
 
-#: src/frontends/qt/ui/BibtexUi.ui:91
-msgid "Remove the selected database"
-msgstr "Удалить выбранную базу данных"
+#: src/Buffer.cpp:4704
+#, c-format
+msgid ""
+"An emergency file is successfully loaded, but the original file %1$s is "
+"marked read-only. Please make sure to save the document as a different file."
+msgstr ""
+"Аварийный файл успешно загружен, но исходный файл %1$s помечен только для "
+"чтения. Пожалуйста, не забудьте сохранить документ в другой файл."
 
-#: src/frontends/qt/ui/BibtexUi.ui:94 src/frontends/qt/ui/CitationUi.ui:159
-msgid "&Delete"
+#: src/Buffer.cpp:4711
+msgid "Document was successfully recovered."
+msgstr "Документ был успешно восстановлен."
+
+#: src/Buffer.cpp:4713
+msgid "Document was NOT successfully recovered."
+msgstr "Документ НЕ был успешно восстановлен."
+
+#: src/Buffer.cpp:4714
+#, c-format
+msgid ""
+"Remove emergency file now?\n"
+"(%1$s)"
+msgstr ""
+"Удалить аварийный файл?\n"
+"(%1$s)"
+
+#: src/Buffer.cpp:4718 src/Buffer.cpp:4730
+msgid "Delete emergency file?"
+msgstr "Удалить аварийный файл?"
+
+#: src/Buffer.cpp:4719 src/Buffer.cpp:4732
+#: src/frontends/qt/ui/BranchesUi.ui:136 src/frontends/qt/ui/IndicesUi.ui:165
+msgid "&Remove"
 msgstr "&Удалить"
 
-#: src/frontends/qt/ui/BibtexUi.ui:107
-msgid "Move the selected database up (Ctrl-Up)"
-msgstr "Переместить выбранную базу выше (Ctrl-Up)"
+#: src/Buffer.cpp:4719 src/Buffer.cpp:4732
+msgid "&Keep"
+msgstr "Хранить"
 
-#: src/frontends/qt/ui/BibtexUi.ui:110 src/frontends/qt/ui/CitationUi.ui:191
-#: src/frontends/qt/ui/ModulesUi.ui:140
-msgid "&Up"
-msgstr "&Вверх"
+#: src/Buffer.cpp:4723
+msgid "Emergency file deleted"
+msgstr "Аварийный файл удалён"
 
-#: src/frontends/qt/ui/BibtexUi.ui:130
-msgid "Move the selected database down (Ctrl-Down)"
-msgstr "Переместить выбранную базу ниже (Ctrl-Down)"
+#: src/Buffer.cpp:4724
+msgid "Do not forget to save your file now!"
+msgstr "Не забудьте сохранить ваш файл прямо сейчас!"
 
-#: src/frontends/qt/ui/BibtexUi.ui:133 src/frontends/qt/ui/CitationUi.ui:214
-#: src/frontends/qt/ui/ModulesUi.ui:147
-msgid "Do&wn"
-msgstr "В&низ"
+#: src/Buffer.cpp:4731
+msgid "Remove emergency file now?"
+msgstr "Удалить аварийный файл?"
 
-#: src/frontends/qt/ui/BibtexUi.ui:160
-msgid "Edit selected database externally"
-msgstr "Изменить выбранную базу внешним редактором"
+#: src/Buffer.cpp:4754
+msgid "Can't rename emergency file!"
+msgstr "Невозможно переименовать аварийный файл!"
 
-#: src/frontends/qt/ui/BibtexUi.ui:163
-msgid "&Edit..."
-msgstr "&Редактировать..."
+#: src/Buffer.cpp:4755
+msgid ""
+"LyX was unable to rename the emergency file. You should do so manually. "
+"Otherwise, you will be asked about it again the next time you try to load "
+"this file, and may over-write your own work."
+msgstr ""
+"LyX не удалось переименовать аварийный файл. Вы должны сделать это вручную. "
+"Иначе вас снова спросят об этом при следующей попытке загрузить этот файл и "
+"это может перезаписать вашу собственную работу."
 
-#: src/frontends/qt/ui/BibtexUi.ui:191
-msgid "Sele&cted:"
-msgstr "&Выбранные:"
+#: src/Buffer.cpp:4760
+msgid "Emergency File Renames"
+msgstr "Переименования аварийного файла"
 
-#: src/frontends/qt/ui/BibtexUi.ui:208 src/frontends/qt/ui/CitationUi.ui:27
-#: src/frontends/qt/ui/ModulesUi.ui:76 src/frontends/qt/ui/RefUi.ui:39
-msgid "&Filter:"
-msgstr "&Фильтр:"
+#: src/Buffer.cpp:4761
+#, c-format
+msgid ""
+"Emergency file renamed as:\n"
+" %1$s"
+msgstr ""
+"Аварийный файл переименован в:\n"
+" %1$s"
 
-#: src/frontends/qt/ui/BibtexUi.ui:238 src/frontends/qt/GuiBibtex.cpp:290
-msgid "E&ncoding:"
-msgstr "Кодировка:"
+#: src/Buffer.cpp:4784
+#, c-format
+msgid ""
+"The backup of the document %1$s is newer.\n"
+"\n"
+"Load the backup instead?"
+msgstr ""
+"Резервная копия  документа %1$s новее.\n"
+"\n"
+"Загрузить резервную копию вместо текущей?"
+
+#: src/Buffer.cpp:4786
+msgid "Load backup?"
+msgstr "Загрузить резервную копию?"
 
-#: src/frontends/qt/ui/BibtexUi.ui:248 src/frontends/qt/GuiBibtex.cpp:291
+#: src/Buffer.cpp:4787
+msgid "&Load backup"
+msgstr "Загрузить &резервную копию"
+
+#: src/Buffer.cpp:4787
+msgid "Load &original"
+msgstr "Загрузить &первоначальную"
+
+#: src/Buffer.cpp:4797
+#, c-format
 msgid ""
-"If your bibliography databases use a different encoding than the LyX "
-"document, specify it here"
+"A backup file is successfully loaded, but the original file %1$s is marked "
+"read-only. Please make sure to save the document as a different file."
 msgstr ""
-"Если библиографическая база данных использует кодировку, отличную от "
-"документа LyX, то укажите её здесь"
+"Резервная копия успешно загружена, но первоначальный файл %1$s доступен "
+"только для чтения. Пожалуйста сохраните документ в другой файл."
 
-#: src/frontends/qt/ui/BibtexUi.ui:260
-msgid "The BibTeX style"
-msgstr "Стиль BibTeX"
+#: src/Buffer.cpp:5190 src/insets/InsetCaption.cpp:401
+msgid "Senseless!!! "
+msgstr "Бессмысленно!!! "
 
-#: src/frontends/qt/ui/BibtexUi.ui:263
-msgid "St&yle"
-msgstr "Ст&иль"
+#: src/Buffer.cpp:5427
+#, c-format
+msgid "Document %1$s reloaded."
+msgstr "Документ %1$s перезагружен."
 
-#: src/frontends/qt/ui/BibtexUi.ui:275
-msgid "Choose a style file"
-msgstr "Выберите файл стиля"
+#: src/Buffer.cpp:5430
+#, c-format
+msgid "Could not reload document %1$s."
+msgstr "Не удалось перезагрузить документ %1$s."
 
-#: src/frontends/qt/ui/BibtexUi.ui:288
-msgid "Select a style file from your local directory"
-msgstr "Выберите файл стиля из локального каталога"
+#: src/BufferParams.cpp:526
+msgid ""
+"The LaTeX package amsmath is only used if AMS formula types or symbols from "
+"the AMS math toolbars are inserted into formulas"
+msgstr ""
+"Пакет amsmath используется только когда в формулах присутствуют окружения "
+"AMS или символы из математических панелей AMS"
 
-#: src/frontends/qt/ui/BibtexUi.ui:291
-msgid "Add L&ocal..."
-msgstr "Добавить локальный..."
+#: src/BufferParams.cpp:528
+msgid ""
+"The LaTeX package amssymb is only used if symbols from the AMS math toolbars "
+"are inserted into formulas"
+msgstr ""
+"Пакет amssymb используется только когда в формулах присутствуют символы из "
+"математических панелей AMS"
 
-#: src/frontends/qt/ui/BibtexUi.ui:304 lib/layouts/beamer.layout:516
-#: lib/layouts/beamer.layout:545 lib/layouts/beamer.layout:556
-#: lib/layouts/beamer.layout:584 lib/layouts/beamer.layout:687
-#: lib/layouts/chessboard.module:31 lib/layouts/chessboard.module:59
-#: lib/layouts/chessboard.module:129 lib/layouts/fixme.module:68
-#: lib/layouts/fixme.module:103 lib/layouts/fixme.module:146
-#: lib/layouts/fixme.module:188 lib/layouts/initials.module:35
-#: lib/layouts/lilypond.module:37 lib/layouts/litinsets.inc:46
-#: lib/layouts/litinsets.inc:47 lib/layouts/todonotes.module:79
-#: lib/layouts/todonotes.module:91 lib/layouts/todonotes.module:108
-msgid "Options"
-msgstr "Параметры"
+#: src/BufferParams.cpp:530
+msgid ""
+"The LaTeX package cancel is only used if \\cancel commands are used in "
+"formulas"
+msgstr ""
+"Пакет cancel используется только когда в формулах присутствует команда "
+"\\cancel"
 
-#: src/frontends/qt/ui/BibtexUi.ui:321 src/frontends/qt/ui/BibtexUi.ui:334
-msgid "This bibliography section contains..."
-msgstr "Раздел библиографии содержит..."
+#: src/BufferParams.cpp:532
+msgid ""
+"The LaTeX package esint is only used if special integral symbols are "
+"inserted into formulas"
+msgstr ""
+"Пакет esint используется только когда в формулах присутствуют специальные "
+"символы интеграла"
 
-#: src/frontends/qt/ui/BibtexUi.ui:324
-msgid "&Content:"
-msgstr "&Содержание:"
+#: src/BufferParams.cpp:534
+msgid ""
+"The LaTeX package mathdots is only used if the command \\iddots is inserted "
+"into formulas"
+msgstr ""
+"Пакет mathdots используется только когда в формулах присутствует команда "
+"\\iddots"
 
-#: src/frontends/qt/ui/BibtexUi.ui:338 src/frontends/qt/GuiBibtex.cpp:357
-#: src/insets/InsetBibtex.cpp:219 src/insets/InsetBibtex.cpp:237
-msgid "all cited references"
-msgstr "все процитированные источники"
+#: src/BufferParams.cpp:536
+msgid ""
+"The LaTeX package mathtools is only used if some mathematical relations are "
+"inserted into formulas"
+msgstr ""
+"Пакет mathtools используется только когда в формулах присутствуют некоторые "
+"математические отношения"
 
-#: src/frontends/qt/ui/BibtexUi.ui:343 src/frontends/qt/GuiBibtex.cpp:359
-#: src/insets/InsetBibtex.cpp:217
-msgid "all uncited references"
-msgstr "все непроцитированные источники"
+#: src/BufferParams.cpp:538
+msgid ""
+"The LaTeX package mhchem is only used if either the command \\ce or \\cf is "
+"inserted into formulas"
+msgstr ""
+"Пакет mhchem используется только когда в формулах присутствует команда \\ce "
+"или \\cf"
 
-#: src/frontends/qt/ui/BibtexUi.ui:348 src/frontends/qt/GuiBibtex.cpp:360
-#: src/insets/InsetBibtex.cpp:215 src/insets/InsetBibtex.cpp:235
-msgid "all references"
-msgstr "все источники"
+#: src/BufferParams.cpp:540
+msgid ""
+"The LaTeX package stackrel is only used if the command \\stackrel with "
+"subscript is inserted into formulas"
+msgstr ""
+"Пакет stackrel используется только когда в формулах присутствует команда "
+"\\stackrel с нижним индексом"
 
-#: src/frontends/qt/ui/BibtexUi.ui:356
-msgid "Add bibliography to the table of contents"
-msgstr "Добавить библиографию в содержание"
+#: src/BufferParams.cpp:542
+msgid ""
+"The LaTeX package stmaryrd is only used if symbols from the St Mary's Road "
+"symbol font for theoretical computer science are inserted into formulas"
+msgstr ""
+"Пакет stmaryrd используется только когда в формулах присутствуют символы из "
+"шрифта St Mary's Road для теоретической информатики"
 
-#: src/frontends/qt/ui/BibtexUi.ui:359
-msgid "Add bibliography to &TOC"
-msgstr "Добавить библиографию в &содержание"
+#: src/BufferParams.cpp:544
+msgid ""
+"The LaTeX package undertilde is only used if you use the math frame "
+"decoration 'utilde'"
+msgstr ""
+"Пакет undertilde используется только когда используется декорация 'utilde'"
 
-#: src/frontends/qt/ui/BibtexUi.ui:383
-msgid "Custo&m:"
-msgstr "Задано пользователем:"
+#: src/BufferParams.cpp:749
+#, c-format
+msgid ""
+"The selected document class\n"
+"\t%1$s\n"
+"requires external files that are not available.\n"
+"The document class can still be used, but the\n"
+"document cannot be compiled until the following\n"
+"prerequisites are installed:\n"
+"\t%2$s\n"
+"See section 3.1.2.2 (Class Availability) of the\n"
+"User's Guide for more information."
+msgstr ""
+"Выбранный класс документа\n"
+"\t%1$s\n"
+"требует внешние файлы, которые сейчас недоступны.\n"
+"Класс документа все равно можно использовать, но\n"
+"документ нельзя будет скомпилировать, пока следующие\n"
+"необходимые компоненты не будут установлены:\n"
+"\t%2$s\n"
+"См. раздел 3.1.2.2 (Наличие класса) в \n"
+"Руководстве пользователя для получения дополнительной информации."
 
-#: src/frontends/qt/ui/BibtexUi.ui:393
+#: src/BufferParams.cpp:758
+msgid "Document class not available"
+msgstr "Класс документа недоступен"
+
+#: src/BufferParams.cpp:1753 src/BufferParams.cpp:2196 src/Encoding.cpp:253
+#: src/Paragraph.cpp:2870 src/frontends/qt/LaTeXHighlighter.cpp:122
+#: src/insets/InsetCommandParams.cpp:510 src/insets/InsetCommandParams.cpp:518
+#: src/insets/InsetGraphics.cpp:885 src/insets/InsetGraphics.cpp:893
+#: src/insets/InsetListings.cpp:301 src/insets/InsetListings.cpp:309
+#: src/insets/InsetListings.cpp:332 src/mathed/MathExtern.cpp:1440
+#: src/mathed/MathExtern.cpp:1514
+msgid "LyX Warning: "
+msgstr "Предупреждение LyX: "
+
+#: src/BufferParams.cpp:1754 src/BufferParams.cpp:2197 src/Encoding.cpp:254
+#: src/Paragraph.cpp:2871 src/insets/InsetCommandParams.cpp:511
+#: src/insets/InsetCommandParams.cpp:519 src/insets/InsetGraphics.cpp:886
+#: src/insets/InsetGraphics.cpp:894 src/insets/InsetListings.cpp:302
+#: src/insets/InsetListings.cpp:310 src/mathed/MathExtern.cpp:1441
+#: src/mathed/MathExtern.cpp:1515
+msgid "uncodable character"
+msgstr "некодируемый символ"
+
+#: src/BufferParams.cpp:1767
+msgid "Uncodable character in class options"
+msgstr "Некодируемый символ в параметрах класса"
+
+#: src/BufferParams.cpp:1769
+#, c-format
 msgid ""
-"Options to the biblatex bibliography command. See the biblatex manual for "
-"details."
+"The class options of your document contain glyphs that are unknown in the "
+"current document encoding (namely %1$s).\n"
+"These glyphs are omitted  from the output, which may result in incomplete "
+"output.\n"
+"\n"
+"Please select an appropriate document encoding\n"
+"(such as utf8) or change the class options accordingly."
 msgstr ""
-"Параметры для biblatex-команды bibliography. См. руководство по biblatex."
+"Параметры класса вашего документа содержат символы\n"
+"недоступные в текущей кодировке (%1$s). Эти символы\n"
+"будут пропущены в выводе, что может привести к неполному выводу.\n"
+"\n"
+"Выберите подходящую кодировку (такую как utf8)\n"
+"или измените параметры класса."
 
-#: src/frontends/qt/ui/BibtexUi.ui:422
-msgid "Scan for new databases and styles"
-msgstr "Поиск новых баз данных и стилей"
+#: src/BufferParams.cpp:2210
+msgid "Uncodable character in user preamble"
+msgstr "Некодируемый символ в преамбуле пользователя"
 
-#: src/frontends/qt/ui/BibtexUi.ui:425 src/frontends/qt/ui/TexinfoUi.ui:144
-msgid "&Rescan"
-msgstr "&Обновить"
+#: src/BufferParams.cpp:2212
+#, c-format
+msgid ""
+"The user preamble of your document contains glyphs that are unknown in the "
+"current document encoding (namely %1$s).\n"
+"These glyphs are omitted  from the output, which may result in incomplete "
+"output.\n"
+"\n"
+"Please select an appropriate document encoding\n"
+"(such as utf8) or change the preamble code accordingly."
+msgstr ""
+"Преамбула пользователя в документе содержит символы\n"
+"недоступные в текущей кодировке (%1$s). Эти символы\n"
+"будут пропущены в выводе, что может привести к неполному выводу.\n"
+"\n"
+"Выберите подходящую кодировку (такую как utf8)\n"
+"или измените код преамбулы."
 
-#: src/frontends/qt/ui/BoxUi.ui:23
-msgid "Type and Size"
-msgstr "Тип и размер"
+#: src/BufferParams.cpp:2525
+#, c-format
+msgid ""
+"The layout file:\n"
+"%1$s\n"
+"could not be found. A default textclass with default\n"
+"layouts will be used. LyX will not be able to produce\n"
+"correct output."
+msgstr ""
+"Файл макета %1$s не найден. Будут использованы класс документа и макет по "
+"умолчанию. LyX не сможет произвести корректный вывод."
 
-#: src/frontends/qt/ui/BoxUi.ui:32 src/frontends/qt/ui/WrapUi.ui:86
-msgid "Width value"
-msgstr "Ширина"
+#: src/BufferParams.cpp:2531
+msgid "Document class not found"
+msgstr "Класс документа не найден"
 
-#: src/frontends/qt/ui/BoxUi.ui:45 src/frontends/qt/ui/ExternalUi.ui:540
-#: src/frontends/qt/ui/PageLayoutUi.ui:71
-msgid "&Height:"
-msgstr "&Высота:"
+#: src/BufferParams.cpp:2538
+#, c-format
+msgid ""
+"Due to some error in it, the layout file:\n"
+"%1$s\n"
+"could not be loaded. A default textclass with default\n"
+"layouts will be used. LyX will not be able to produce\n"
+"correct output."
+msgstr ""
+"Файл макета %1$s из-за ошибки в нём не может быть загружен. Будут "
+"использованы класс документа и макет по умолчанию. LyX не сможет произвести "
+"корректный вывод."
 
-#: src/frontends/qt/ui/BoxUi.ui:61 src/frontends/qt/ui/ExternalUi.ui:514
-#: src/frontends/qt/ui/LineUi.ui:58 src/frontends/qt/ui/PageLayoutUi.ui:100
-#: src/frontends/qt/ui/TabularUi.ui:367
-msgid "&Width:"
-msgstr "&Ширина:"
+#: src/BufferParams.cpp:2544 src/BufferView.cpp:1368 src/BufferView.cpp:1400
+msgid "Could not load class"
+msgstr "Не удалось загрузить класс"
 
-#: src/frontends/qt/ui/BoxUi.ui:77
-msgid "Inner Bo&x:"
-msgstr "Внутренний блок:"
+#: src/BufferParams.cpp:2589
+msgid "Error reading internal layout information"
+msgstr "Ошибка чтения внутренней информации макета"
 
-#: src/frontends/qt/ui/BoxUi.ui:87
-msgid "Inner box type"
-msgstr "Тип внутреннего блока"
+#: src/BufferParams.cpp:2590 src/TextClass.cpp:1901 src/TextClass.cpp:1933
+msgid "Read Error"
+msgstr "Ошибка чтения"
 
-#: src/frontends/qt/ui/BoxUi.ui:91 src/frontends/qt/ui/HSpaceUi.ui:32
-#: src/frontends/qt/ui/ListingsUi.ui:105 src/frontends/qt/ui/TabularUi.ui:1200
-#: src/frontends/qt/ui/TabularUi.ui:1219 src/frontends/qt/ui/TabularUi.ui:1267
-#: src/frontends/qt/GuiBox.cpp:424 src/frontends/qt/GuiBox.cpp:634
-#: src/frontends/qt/GuiDocument.cpp:129 src/frontends/qt/GuiGraphics.cpp:580
-#: src/frontends/qt/GuiMathMatrix.cpp:33 src/frontends/qt/GuiPrefs.cpp:2287
-#: src/frontends/qt/GuiPrefs.cpp:2310
-msgid "None"
-msgstr "Нет"
+#: src/BufferView.cpp:188
+msgid "No more insets"
+msgstr "Больше нет вставок"
 
-#: src/frontends/qt/ui/BoxUi.ui:96 src/frontends/qt/GuiBox.cpp:426
-#: src/frontends/qt/GuiBox.cpp:637 src/insets/InsetBox.cpp:139
-msgid "Parbox"
-msgstr "Parbox"
+#: src/BufferView.cpp:823
+msgid "Save bookmark"
+msgstr "Сохранить закладку"
 
-#: src/frontends/qt/ui/BoxUi.ui:101 src/frontends/qt/GuiBox.cpp:638
-#: src/insets/InsetBox.cpp:143
-msgid "Minipage"
-msgstr "Minipage"
+#: src/BufferView.cpp:1042
+msgid "Converting document to new document class..."
+msgstr "Преобразование документа к новому классу..."
 
-#: src/frontends/qt/ui/BoxUi.ui:109
-msgid "Check this if the box should break across pages"
-msgstr "Отметьте это, если поле можно разрывать при переходе на новую страницу"
+#: src/BufferView.cpp:1087
+msgid "Document is read-only"
+msgstr "Документ доступен только для чтения"
 
-#: src/frontends/qt/ui/BoxUi.ui:112
-msgid "Allow &page breaks"
-msgstr "Разрешить разрыв страниц"
+#: src/BufferView.cpp:1089
+msgid "Document has been modified externally"
+msgstr "Документ был изменён внешней программой"
 
-#: src/frontends/qt/ui/BoxUi.ui:129
-msgid "Height value"
-msgstr "Высота"
+#: src/BufferView.cpp:1098
+msgid "This portion of the document is deleted."
+msgstr "Эта часть документа удалена."
 
-#: src/frontends/qt/ui/BoxUi.ui:139 src/frontends/qt/ui/MathMatrixUi.ui:23
-#: src/frontends/qt/ui/ParagraphUi.ui:86
-msgid "Alignment"
-msgstr "Выравнивание"
+#: src/BufferView.cpp:1141 src/BufferView.cpp:2185
+#: src/frontends/qt/GuiView.cpp:4077 src/frontends/qt/GuiView.cpp:4164
+msgid "Absolute filename expected."
+msgstr "Ожидается абсолютное имя файла."
 
-#: src/frontends/qt/ui/BoxUi.ui:148 src/frontends/qt/ui/BoxUi.ui:261
-msgid "Horizontal alignment of the content inside the box"
-msgstr "Горизонтальное выравнивание содержимого внутри блока"
+#: src/BufferView.cpp:1366 src/BufferView.cpp:1398
+#, c-format
+msgid "The document class `%1$s' could not be loaded."
+msgstr "Класс документа `%1$s' невозможно загрузить."
 
-#: src/frontends/qt/ui/BoxUi.ui:151
-msgid "Horizontal"
-msgstr "Горизонтальное"
+#: src/BufferView.cpp:1416 lib/ui/stdtoolbars.inc:84
+msgid "Undo"
+msgstr "Отменить"
 
-#: src/frontends/qt/ui/BoxUi.ui:158 src/frontends/qt/ui/BoxUi.ui:200
-msgid "Vertical alignment of the content inside the box"
-msgstr "Вертикальное выравнивание содержимого внутри блока"
+#: src/BufferView.cpp:1424
+msgid "No further undo information"
+msgstr "Больше нет информации для отмены"
 
-#: src/frontends/qt/ui/BoxUi.ui:161
-msgid "Vertical"
-msgstr "Вертикальное"
+#: src/BufferView.cpp:1436 lib/ui/stdtoolbars.inc:85
+msgid "Redo"
+msgstr "Вернуть"
 
-#: src/frontends/qt/ui/BoxUi.ui:168
-msgid "Co&ntent:"
-msgstr "Содержимое:"
+#: src/BufferView.cpp:1444
+msgid "No further redo information"
+msgstr "Нет дальнейшей информации для повторения отменённого действия"
 
-#: src/frontends/qt/ui/BoxUi.ui:178 src/frontends/qt/ui/BoxUi.ui:230
-msgid "Vertical alignment of the box (with regard to baseline)"
-msgstr "Вертикальное выравнивание блока (по отношению к базисной линии)"
+#: src/BufferView.cpp:1692
+msgid "Mark off"
+msgstr "Пометка выключена"
 
-#: src/frontends/qt/ui/BoxUi.ui:181
-msgid "&Box:"
-msgstr "&Блок:"
+#: src/BufferView.cpp:1698
+msgid "Mark on"
+msgstr "Пометка включена"
 
-#: src/frontends/qt/ui/BoxUi.ui:204 src/frontends/qt/ui/BoxUi.ui:234
-#: src/frontends/qt/ui/TabularUi.ui:213 src/frontends/qt/ui/TabularUi.ui:404
-#: lib/ui/stdcontext.inc:459 src/frontends/qt/GuiMathMatrix.cpp:54
-msgid "Top"
-msgstr "Верх"
+#: src/BufferView.cpp:1705
+msgid "Mark removed"
+msgstr "Пометка удалена"
 
-#: src/frontends/qt/ui/BoxUi.ui:209 src/frontends/qt/ui/BoxUi.ui:239
-#: src/frontends/qt/ui/TabularUi.ui:218 src/frontends/qt/ui/TabularUi.ui:409
-#: lib/ui/stdcontext.inc:460 src/frontends/qt/GuiMathMatrix.cpp:55
-#: src/frontends/qt/GuiTabular.cpp:252
-msgid "Middle"
-msgstr "Центр"
+#: src/BufferView.cpp:1708
+msgid "Mark set"
+msgstr "Пометка установлена"
 
-#: src/frontends/qt/ui/BoxUi.ui:214 src/frontends/qt/ui/BoxUi.ui:244
-#: src/frontends/qt/ui/TabularUi.ui:223 src/frontends/qt/ui/TabularUi.ui:414
-#: lib/layouts/g-brief2.layout:104 lib/layouts/g-brief2.layout:125
-#: lib/layouts/g-brief2.layout:145 lib/layouts/g-brief2.layout:165
-#: lib/layouts/g-brief2.layout:185 lib/layouts/g-brief2.layout:205
-#: lib/layouts/g-brief2.layout:225 lib/layouts/g-brief2.layout:246
-#: lib/layouts/g-brief2.layout:267 lib/layouts/g-brief2.layout:287
-#: lib/layouts/g-brief2.layout:307 lib/layouts/g-brief2.layout:327
-#: lib/layouts/g-brief2.layout:347 lib/layouts/g-brief2.layout:367
-#: lib/layouts/g-brief2.layout:388 lib/layouts/g-brief2.layout:408
-#: lib/layouts/g-brief2.layout:428 lib/layouts/g-brief2.layout:448
-#: lib/layouts/g-brief2.layout:468 lib/layouts/g-brief2.layout:488
-#: lib/layouts/g-brief2.layout:509 lib/layouts/g-brief2.layout:529
-#: lib/layouts/g-brief2.layout:549 lib/layouts/g-brief2.layout:569
-#: lib/layouts/g-brief2.layout:589 lib/layouts/g-brief2.layout:609
-#: lib/layouts/g-brief2.layout:630 lib/layouts/g-brief2.layout:650
-#: lib/layouts/g-brief2.layout:670 lib/layouts/g-brief2.layout:690
-#: lib/layouts/g-brief2.layout:710 lib/ui/stdcontext.inc:461
-#: src/frontends/qt/GuiMathMatrix.cpp:56
-msgid "Bottom"
-msgstr "Низ"
+#: src/BufferView.cpp:1799
+msgid "Statistics for the selection:"
+msgstr "Статистика для выделения:"
 
-#: src/frontends/qt/ui/BoxUi.ui:219 src/frontends/qt/GuiBox.cpp:343
-#: src/frontends/qt/GuiBox.cpp:558
-msgid "Stretch"
-msgstr "Растянуть"
+#: src/BufferView.cpp:1801
+msgid "Statistics for the document:"
+msgstr "Статистика для документа:"
 
-#: src/frontends/qt/ui/BoxUi.ui:265 src/frontends/qt/ui/ListingsUi.ui:110
-#: src/frontends/qt/ui/TabularUi.ui:344 src/frontends/qt/ui/TabularUi.ui:1553
-#: src/frontends/qt/ui/WrapUi.ui:47 src/frontends/qt/GuiDocument.cpp:1545
-#: src/frontends/qt/GuiParagraph.cpp:114 src/frontends/qt/GuiTabular.cpp:1020
-msgid "Left"
-msgstr "Слева"
+#: src/BufferView.cpp:1804
+#, c-format
+msgid "%1$d words"
+msgstr "%1$d слов"
 
-#: src/frontends/qt/ui/BoxUi.ui:270 src/frontends/qt/ui/TabularUi.ui:349
-#: src/frontends/qt/GuiExternal.cpp:79 src/frontends/qt/GuiGraphics.cpp:73
-#: src/frontends/qt/GuiParagraph.cpp:116 src/frontends/qt/GuiTabular.cpp:1021
-msgid "Center"
-msgstr "По центру"
+#: src/BufferView.cpp:1806
+msgid "One word"
+msgstr "Одно слово"
 
-#: src/frontends/qt/ui/BoxUi.ui:275 src/frontends/qt/ui/ListingsUi.ui:115
-#: src/frontends/qt/ui/TabularUi.ui:354 src/frontends/qt/ui/WrapUi.ui:52
-#: src/frontends/qt/GuiDocument.cpp:1547 src/frontends/qt/GuiParagraph.cpp:115
-#: src/frontends/qt/GuiTabular.cpp:1022
-msgid "Right"
-msgstr "Справа"
+#: src/BufferView.cpp:1809
+#, c-format
+msgid "%1$d characters (including blanks)"
+msgstr "%1$d знаков (с пробелами)"
 
-#: src/frontends/qt/ui/BoxUi.ui:299 src/frontends/qt/ui/CharacterUi.ui:145
-msgid "Decoration"
-msgstr "Декорирование"
+#: src/BufferView.cpp:1812
+msgid "One character (including blanks)"
+msgstr "Один знак (с пробелами)"
 
-#: src/frontends/qt/ui/BoxUi.ui:308
-msgid "Decoration box types"
-msgstr "Типы декорирования блока"
+#: src/BufferView.cpp:1815
+#, c-format
+msgid "%1$d characters (excluding blanks)"
+msgstr "%1$d знаков (без пробелов)"
 
-#: src/frontends/qt/ui/BoxUi.ui:318
-msgid "Thickness value"
-msgstr "Толщина"
+#: src/BufferView.cpp:1818
+msgid "One character (excluding blanks)"
+msgstr "Один знак (без пробелов)"
 
-#: src/frontends/qt/ui/BoxUi.ui:325
-msgid "&Line thickness:"
-msgstr "Тол&щина линии:"
+#: src/BufferView.cpp:1820
+msgid "Statistics"
+msgstr "Статистика"
 
-#: src/frontends/qt/ui/BoxUi.ui:338
-msgid "Separation value"
-msgstr "Значение разделителя"
+#: src/BufferView.cpp:2043
+#, c-format
+msgid ""
+"`inset-forall' interrupted because number of actions is larger than %1$d"
+msgstr ""
+"`inset-forall' прерывается так как количество действий больше, чем %1$d"
 
-#: src/frontends/qt/ui/BoxUi.ui:345
-msgid "Box s&eparation:"
-msgstr "Разделитель блока:"
+#: src/BufferView.cpp:2045
+#, c-format
+msgid "Applied \"%1$s\" to %2$d insets"
+msgstr "Применено \"%1$s\" к %2$d вставкам"
 
-#: src/frontends/qt/ui/BoxUi.ui:358
-msgid "&Decoration:"
-msgstr "&Декорирование:"
+#: src/BufferView.cpp:2053
+msgid "Branch name"
+msgstr "Имя ветки"
 
-#: src/frontends/qt/ui/BoxUi.ui:368
-msgid "&Shadow size:"
-msgstr "&Размер тени:"
+#: src/BufferView.cpp:2060 src/frontends/qt/GuiBranches.cpp:218
+msgid "Branch already exists"
+msgstr "Ветка уже существует"
 
-#: src/frontends/qt/ui/BoxUi.ui:402
-msgid "Size value"
-msgstr "Размер"
+#: src/BufferView.cpp:2937
+#, c-format
+msgid "Inserting document %1$s..."
+msgstr "Вставка документа %1$s..."
 
-#: src/frontends/qt/ui/BoxUi.ui:412 src/frontends/qt/GuiBranches.cpp:55
-msgid "Color"
-msgstr "Цвет"
+#: src/BufferView.cpp:2952
+#, c-format
+msgid "Document %1$s inserted."
+msgstr "Документ %1$s вставлен."
 
-#: src/frontends/qt/ui/BoxUi.ui:434
-msgid "Back&ground:"
-msgstr "Фон:"
+#: src/BufferView.cpp:2954
+#, c-format
+msgid "Could not insert document %1$s"
+msgstr "Невозможно вставить документ %1$s"
 
-#: src/frontends/qt/ui/BoxUi.ui:444
-msgid "&Frame:"
-msgstr "Рамка:"
+#: src/BufferView.cpp:3357
+#, c-format
+msgid ""
+"Could not read the specified document\n"
+"%1$s\n"
+"due to the error: %2$s"
+msgstr ""
+"Не удалось прочесть указанный документ\n"
+"%1$s\n"
+"из-за ошибки: %2$s"
 
-#: src/frontends/qt/ui/BranchUi.ui:20
-msgid "&Available branches:"
-msgstr "Доступные ветки:"
+#: src/BufferView.cpp:3359
+msgid "Could not read file"
+msgstr "Нельзя прочесть файл"
 
-#: src/frontends/qt/ui/BranchUi.ui:30
-msgid "Select your branch"
-msgstr "Выбрать вашу ветку"
+#: src/BufferView.cpp:3366
+#, c-format
+msgid ""
+"%1$s\n"
+" is not readable."
+msgstr ""
+"%1$s\n"
+" невозможно прочесть."
 
-#: src/frontends/qt/ui/BranchUi.ui:37
-msgid "Inverted"
-msgstr "Инверсия"
+#: src/BufferView.cpp:3367 src/frontends/qt/qt_helpers.cpp:324
+#: src/frontends/qt/qt_helpers.cpp:327 src/frontends/qt/qt_helpers.cpp:333
+#: src/output.cpp:39
+msgid "Could not open file"
+msgstr "Невозможно открыть файл"
 
-#: src/frontends/qt/ui/BranchesUi.ui:25
-msgid "&New:[[branch]]"
-msgstr "&Новая:"
+#: src/BufferView.cpp:3374
+msgid "Reading not UTF-8 encoded file"
+msgstr "Считывается файл не в кодировке UTF-8"
 
-#: src/frontends/qt/ui/BranchesUi.ui:35
+#: src/BufferView.cpp:3375
 msgid ""
-"Append the name of this branch to the output filename, given the branch is "
-"active."
-msgstr "Добавить имя этой ветки к выходному файлу, если ветка активна."
+"The file is not UTF-8 encoded.\n"
+"It will be read as local 8Bit-encoded.\n"
+"If this does not give the correct result\n"
+"then please change the encoding of the file\n"
+"to UTF-8 with a program other than LyX.\n"
+msgstr ""
+"Файл не в кодировке UTF-8.\n"
+"Он будет прочитан в локальной 8-битной кодировке.\n"
+"Если это даст неправильный результат,\n"
+"измените кодировку файла на UTF-8\n"
+"внешней программой.\n"
 
-#: src/frontends/qt/ui/BranchesUi.ui:38
-msgid "Filename &Suffix"
-msgstr "Суффикс имени файла"
+#: src/Changes.cpp:375
+msgid "Uncodable character in author initials"
+msgstr "Некодируемый символ в инициалах автора"
 
-#: src/frontends/qt/ui/BranchesUi.ui:61
-msgid "Show undefined branches used in this document."
-msgstr "Показать неопределённые ветки, использованные в документе."
+#: src/Changes.cpp:376
+#, c-format
+msgid ""
+"The author initials '%1$s',\n"
+"used for change tracking, contain the following glyphs that\n"
+"cannot be represented in the current encoding: %2$s.\n"
+"These glyphs will be omitted in the exported LaTeX file.\n"
+"\n"
+"Choose an appropriate document encoding (such as utf8)\n"
+"or change the author initials."
+msgstr ""
+"Инициалы автора '%1$s',\n"
+"используемые для отслеживания изменений, содержат символы,\n"
+"недоступные в текущей кодировке: %2$s. Эти символы\n"
+"будут пропущены в экспортированном файле LaTeX.\n"
+"\n"
+"Выберите подходящую кодировку (такую как utf8)\n"
+"или измените написание инициалов автора."
 
-#: src/frontends/qt/ui/BranchesUi.ui:64
-msgid "&Undefined Branches"
-msgstr "Неопределённые ветки"
+#: src/Changes.cpp:405
+msgid "Uncodable character in author name"
+msgstr "Некодируемый символ в имени автора"
 
-#: src/frontends/qt/ui/BranchesUi.ui:84
-msgid "A&vailable Branches:"
-msgstr "&Доступные ветки:"
+#: src/Changes.cpp:406
+#, c-format
+msgid ""
+"The author name '%1$s',\n"
+"used for change tracking, contains the following glyphs that\n"
+"cannot be represented in the current encoding: %2$s.\n"
+"These glyphs will be omitted in the exported LaTeX file.\n"
+"\n"
+"Choose an appropriate document encoding (such as utf8)\n"
+"or change the spelling of the author name."
+msgstr ""
+"Имя автора '%1$s',\n"
+"используемое для отслеживания изменений, содержит символы,\n"
+"недоступные в текущей кодировке: %2$s. Эти символы\n"
+"будут пропущены в экспортированном файле LaTeX.\n"
+"\n"
+"Выберите подходящую кодировку (такую как utf8)\n"
+"или измените написание имени автора."
 
-#: src/frontends/qt/ui/BranchesUi.ui:94
-msgid "Toggle the selected branch"
-msgstr "Переключить выбранную ветку"
+#: src/Chktex.cpp:65
+#, c-format
+msgid "ChkTeX warning id # %1$s"
+msgstr "Предупреждение ChkTeX id # %1$s"
 
-#: src/frontends/qt/ui/BranchesUi.ui:97
-msgid "(&De)activate"
-msgstr "(&Де)активировать"
+#: src/Color.cpp:231 src/insets/InsetBibtex.cpp:192
+#: src/insets/InsetBibtex.cpp:211
+msgid "none"
+msgstr "нет"
 
-#: src/frontends/qt/ui/BranchesUi.ui:110
-msgid "Add a new branch to the list"
-msgstr "Добавить новую ветку к списку"
+#: src/Color.cpp:232
+msgid "black"
+msgstr "Чёрный"
+
+#: src/Color.cpp:233
+msgid "white"
+msgstr "Белый"
+
+#: src/Color.cpp:234
+msgid "blue"
+msgstr "Синий"
+
+#: src/Color.cpp:235
+msgid "brown"
+msgstr "Коричневый"
+
+#: src/Color.cpp:236
+msgid "cyan"
+msgstr "Циановый"
+
+#: src/Color.cpp:237
+msgid "darkgray"
+msgstr "Тёмно-серый"
+
+#: src/Color.cpp:238
+msgid "gray"
+msgstr "Серый"
+
+#: src/Color.cpp:239
+msgid "green"
+msgstr "Зелёный"
+
+#: src/Color.cpp:240
+msgid "lightgray"
+msgstr "Светло-серый"
+
+#: src/Color.cpp:241
+msgid "lime"
+msgstr "Лайм"
+
+#: src/Color.cpp:242
+msgid "magenta"
+msgstr "Маджента"
+
+#: src/Color.cpp:243
+msgid "olive"
+msgstr "Оливковый"
+
+#: src/Color.cpp:244
+msgid "orange"
+msgstr "Оранжевый"
+
+#: src/Color.cpp:245
+msgid "pink"
+msgstr "Розовый"
+
+#: src/Color.cpp:246
+msgid "purple"
+msgstr "Пурпурный"
+
+#: src/Color.cpp:247
+msgid "red"
+msgstr "Красный"
+
+#: src/Color.cpp:248
+msgid "teal"
+msgstr "Сине-зелёный"
+
+#: src/Color.cpp:249
+msgid "violet"
+msgstr "Фиолетовый"
+
+#: src/Color.cpp:250
+msgid "yellow"
+msgstr "Жёлтый"
+
+#: src/Color.cpp:251
+msgid "cursor"
+msgstr "курсор"
+
+#: src/Color.cpp:252
+msgid "background"
+msgstr "фон"
+
+#: src/Color.cpp:253
+msgid "text"
+msgstr "текст"
+
+#: src/Color.cpp:254
+msgid "selection"
+msgstr "выделение"
+
+#: src/Color.cpp:255
+msgid "selected text"
+msgstr "выделенный текст"
+
+#: src/Color.cpp:256
+msgid "LaTeX text"
+msgstr "текст LaTeX"
+
+#: src/Color.cpp:257
+msgid "inline completion"
+msgstr "дополнение в строке"
+
+#: src/Color.cpp:259
+msgid "non-unique inline completion"
+msgstr "неуникальное дополнение в строке"
+
+#: src/Color.cpp:261
+msgid "previewed snippet"
+msgstr "просмотренный фрагмент"
+
+#: src/Color.cpp:262
+msgid "note label"
+msgstr "метка заметки"
+
+#: src/Color.cpp:263
+msgid "note background"
+msgstr "фон заметки"
+
+#: src/Color.cpp:264
+msgid "comment label"
+msgstr "метка комментария"
+
+#: src/Color.cpp:265
+msgid "comment background"
+msgstr "фон комментария"
+
+#: src/Color.cpp:266
+msgid "greyedout inset label"
+msgstr "метка серой вставки"
+
+#: src/Color.cpp:267
+msgid "greyedout inset text"
+msgstr "текст серой вставки"
+
+#: src/Color.cpp:268
+msgid "greyedout inset background"
+msgstr "фон серой вставки"
+
+#: src/Color.cpp:269
+msgid "phantom inset text"
+msgstr "текст вставки фантома"
+
+#: src/Color.cpp:270
+msgid "shaded box"
+msgstr "закрашенный блок"
+
+#: src/Color.cpp:271
+msgid "listings background"
+msgstr "фон листингов"
+
+#: src/Color.cpp:272
+msgid "branch label"
+msgstr "метка ветки"
+
+#: src/Color.cpp:273
+msgid "footnote label"
+msgstr "метка сноски"
+
+#: src/Color.cpp:274
+msgid "index label"
+msgstr "метка рубрики"
+
+#: src/Color.cpp:275
+msgid "margin note label"
+msgstr "метка заметки на полях"
+
+#: src/Color.cpp:276
+msgid "URL label"
+msgstr "метка URL"
+
+#: src/Color.cpp:277
+msgid "URL text"
+msgstr "текст URL"
+
+#: src/Color.cpp:278
+msgid "depth bar"
+msgstr "полоска уровня окружения"
+
+#: src/Color.cpp:279
+msgid "scroll indicator"
+msgstr "индикатор прокрутки"
+
+#: src/Color.cpp:280
+msgid "language"
+msgstr "язык"
+
+#: src/Color.cpp:281
+msgid "command inset"
+msgstr "вставка команд"
+
+#: src/Color.cpp:282
+msgid "command inset background"
+msgstr "фон вставки команд"
+
+#: src/Color.cpp:283
+msgid "command inset frame"
+msgstr "рамка вставки команд"
+
+#: src/Color.cpp:284
+msgid "command inset (broken reference)"
+msgstr "командная вставка (нарушенная ссылка)"
 
-#: src/frontends/qt/ui/BranchesUi.ui:113 src/frontends/qt/ui/CitationUi.ui:146
-#: src/frontends/qt/ui/IndicesUi.ui:134 src/CutAndPaste.cpp:440
+#: src/Color.cpp:285
+msgid "button background (broken reference)"
+msgstr "фон кнопки (нарушенная ссылка)"
+
+#: src/Color.cpp:286
+msgid "button frame (broken reference)"
+msgstr "рамка кнопки (нарушенная ссылка)"
+
+#: src/Color.cpp:287
+msgid "button background (broken reference) under focus"
+msgstr "фон кнопки (нарушенная ссылка) в фокусе"
+
+#: src/Color.cpp:288
+msgid "special character"
+msgstr "специальный символ"
+
+#: src/Color.cpp:289
+msgid "math"
+msgstr "матем. формула"
+
+#: src/Color.cpp:290
+msgid "math background"
+msgstr "фон матем. формулы"
+
+#: src/Color.cpp:291
+msgid "graphics background"
+msgstr "фон изображения"
+
+#: src/Color.cpp:292 src/Color.cpp:296
+msgid "math macro background"
+msgstr "фон матем. макроса"
+
+#: src/Color.cpp:293
+msgid "math frame"
+msgstr "рамка матем. режима"
+
+#: src/Color.cpp:294
+msgid "math corners"
+msgstr "рамка матем. формулы"
+
+#: src/Color.cpp:295
+msgid "math line"
+msgstr "матем. линия"
+
+#: src/Color.cpp:297
+msgid "math macro hovered background"
+msgstr "фон матем. макроса при наведении"
+
+#: src/Color.cpp:298
+msgid "math macro label"
+msgstr "метка матем. макроса"
+
+#: src/Color.cpp:299
+msgid "math macro frame"
+msgstr "рамка матем. макроса"
+
+#: src/Color.cpp:300
+msgid "math macro blended out"
+msgstr "матем. макрос смешанный"
+
+#: src/Color.cpp:301
+msgid "math macro old parameter"
+msgstr "старый параметр матем. макроса"
+
+#: src/Color.cpp:302
+msgid "math macro new parameter"
+msgstr "новый параметр матем. макроса"
+
+#: src/Color.cpp:303
+msgid "collapsible inset text"
+msgstr "текст сворачиваемой вставки"
+
+#: src/Color.cpp:304
+msgid "collapsible inset frame"
+msgstr "рамка сворачиваемой вставки"
+
+#: src/Color.cpp:305
+msgid "inset background"
+msgstr "фон вставки"
+
+#: src/Color.cpp:306
+msgid "inset frame"
+msgstr "рамка вставки"
+
+#: src/Color.cpp:307
+msgid "LaTeX error"
+msgstr "ошибка LaTeX"
+
+#: src/Color.cpp:308
+msgid "end-of-line marker"
+msgstr "маркер конца строки"
+
+#: src/Color.cpp:309
+msgid "appendix marker"
+msgstr "маркер, отделяющий приложения"
+
+#: src/Color.cpp:310
+msgid "change bar"
+msgstr "панель изменений"
+
+#: src/Color.cpp:311
+msgid "deleted text (output)"
+msgstr "удалённый текст (вывод)"
+
+#: src/Color.cpp:312
+msgid "added text (output)"
+msgstr "добавленный текст (вывод)"
+
+#: src/Color.cpp:313
+msgid "added text (workarea, 1st author)"
+msgstr "добавленный текст (рабочая область, 1-й автор)"
+
+#: src/Color.cpp:314
+msgid "added text (workarea, 2nd author)"
+msgstr "добавленный текст (рабочая область, 2-й автор)"
+
+#: src/Color.cpp:315
+msgid "added text (workarea, 3rd author)"
+msgstr "добавленный текст (рабочая область, 3-й автор)"
+
+#: src/Color.cpp:316
+msgid "added text (workarea, 4th author)"
+msgstr "добавленный текст (рабочая область, 4-й автор)"
+
+#: src/Color.cpp:317
+msgid "added text (workarea, 5th author)"
+msgstr "добавленный текст (рабочая область, 5-й автор)"
+
+#: src/Color.cpp:318
+msgid "deleted text modifier (workarea)"
+msgstr "модификатор удалённого текста (рабочая область)"
+
+#: src/Color.cpp:319
+msgid "added space markers"
+msgstr "маркеры дополнительного пространства"
+
+#: src/Color.cpp:320
+msgid "table line"
+msgstr "линия таблицы"
+
+#: src/Color.cpp:321
+msgid "table on/off line"
+msgstr "линия таблицы (отключенная)"
+
+#: src/Color.cpp:322
+msgid "bottom area"
+msgstr "нижняя область"
+
+#: src/Color.cpp:323
+msgid "new page"
+msgstr "новая страница"
+
+#: src/Color.cpp:324
+msgid "page break / line break"
+msgstr "разрыв страницы/строки"
+
+#: src/Color.cpp:325
+msgid "button frame"
+msgstr "рамка кнопки"
+
+#: src/Color.cpp:326
+msgid "button background"
+msgstr "фон кнопки"
+
+#: src/Color.cpp:327
+msgid "button background under focus"
+msgstr "фон кнопки в фокусе"
+
+#: src/Color.cpp:328
+msgid "paragraph marker"
+msgstr "маркер абзаца"
+
+#: src/Color.cpp:329
+msgid "preview frame"
+msgstr "рамка предпросмотра"
+
+#: src/Color.cpp:330
+msgid "inherit"
+msgstr "наследовать"
+
+#: src/Color.cpp:331
+msgid "regexp frame"
+msgstr "рамка рег. выражения"
+
+#: src/Color.cpp:332
+msgid "ignore"
+msgstr "игнорировать"
+
+#: src/Converter.cpp:306
+#, c-format
+msgid ""
+"<p>The following LaTeX backend has been configured to allow execution of "
+"external programs for any document:</p><center><p><tt>%1$s</tt></p></"
+"center><p>This is a dangerous configuration. Please, consider using the "
+"support offered by LyX for allowing this privilege only to documents that "
+"actually need it, instead.</p>"
+msgstr ""
+"<p>Следующая серверная часть LaTeX настроена так, чтобы разрешить выполнение "
+"внешних программ для любого документа:</p><center><p><tt>%1$s</tt></p></"
+"center><p>Это опасная конфигурация. Пожалуйста, рассмотрите возможность "
+"использования поддержки, предлагаемой LyX для разрешения этой привилегии "
+"только для документов, которые действительно в ней нуждаются.</p>"
+
+#: src/Converter.cpp:315
+msgid "Security Warning"
+msgstr "Предупреждение безопасности"
+
+#: src/Converter.cpp:328
+#, c-format
+msgid ""
+"<p>The following LaTeX backend has been requested to allow execution of "
+"external programs:</p><center><p><tt>%1$s</tt></p></center><p>The external "
+"programs can execute arbitrary commands on your system, including dangerous "
+"ones, if instructed to do so by a maliciously crafted LyX document.</p>"
+msgstr ""
+"<p>Следующая серверная часть LaTeX была предложена для выполнения внешних "
+"программ:</p><center><p><tt>%1$s</tt></p></center><p>Внешние программы могут "
+"выполнять произвольные команды на вашей системе, в том числе опасные, если "
+"они будут проинструктированы вредоносным документом LyX.</p>"
+
+#: src/Converter.cpp:335
+#, c-format
+msgid ""
+"<p>The requested operation requires the use of a converter from %2$s to %3$s:"
+"</p><blockquote><p><tt>%1$s</tt></p></blockquote><p>This external program "
+"can execute arbitrary commands on your system, including dangerous ones, if "
+"instructed to do so by a maliciously crafted LyX document.</p>"
+msgstr ""
+"<p>Запрошенная операция требует использования конвертера из %2$s в %3$s:</"
+"p><blockquote><p><tt>%1$s</tt></p></blockquote><p>Эта внешняя программа "
+"может выполнять произвольные команды на вашей системе, в том числе опасные, "
+"если это будет проинструктировано вредоносным документом LyX.</p>"
+
+#: src/Converter.cpp:345
+msgid "An external converter is disabled for security reasons"
+msgstr "Внешний конвертер отключен для безопасности"
+
+#: src/Converter.cpp:347
+msgid ""
+"<p><b>Your current preference settings forbid its execution.</b></p><p>(To "
+"change this setting, go to <i>Preferences &#x25b9; File Handling &#x25b9; "
+"Converters</i> and uncheck <i>Security &#x25b9; Forbid needauth converters</"
+"i>.)"
+msgstr ""
+"<p><b>Текущие настройки настроек запрещают его выполнение.</b></p><p>(Для "
+"измерения этой настройки зайдите в <i>Настройки &#x25b9; Обработка файлов "
+"&#x25b9; Конвертеры</i> и уберите <i>Security &#x25b9; Forbid needauth "
+"converters</i>.)"
+
+#: src/Converter.cpp:356
+msgid "A LaTeX backend requires your authorization"
+msgstr "Серверная часть LaTeX требует вашей авторизации"
+
+#: src/Converter.cpp:357
+msgid "An external converter requires your authorization"
+msgstr "Внешний конвертер требует вашей авторизации"
+
+#: src/Converter.cpp:360
+msgid ""
+"<p>Should LaTeX backends be allowed to run external programs?</p><p><b>Allow "
+"them only if you trust the origin/sender of the LyX document!</b></p>"
+msgstr ""
+"<p>Разрешать ли LaTeX-бэкэндам запускать внешние программы?</"
+"p><p><b>Разрешайте их только в том случае, если вы доверяете происхождению/"
+"отправителю документа LyX!</b></p>"
+
+#: src/Converter.cpp:363
+msgid ""
+"<p>Would you like to run this converter?</p><p><b>Only run if you trust the "
+"origin/sender of the LyX document!</b></p>"
+msgstr ""
+"<p>Хотите запустить этот конвертер?</p><p><b>Запускайте только в том случае, "
+"если вы доверяете источнику/отправителю документа LyX!</b></p>"
+
+#: src/Converter.cpp:367
+msgid "Do &not allow"
+msgstr "Не разрешать"
+
+#: src/Converter.cpp:367
+msgid "Do &not run"
+msgstr "Не запускать"
+
+#: src/Converter.cpp:368
+msgid "A&llow"
+msgstr "Разрешить"
+
+#: src/Converter.cpp:368
+msgid "&Run"
+msgstr "Запустить"
+
+#: src/Converter.cpp:370
+msgid "&Always allow for this document"
+msgstr "Всегда разрешать для этого документа"
+
+#: src/Converter.cpp:371
+msgid "&Always run for this document"
+msgstr "Всегда запускать для этого документа"
+
+#: src/Converter.cpp:441 src/Converter.cpp:686 src/Converter.cpp:715
+msgid "Converter killed"
+msgstr "Конвертер завершён"
+
+#: src/Converter.cpp:442 src/Converter.cpp:687 src/Converter.cpp:716
+#, c-format
+msgid ""
+"The following converter was killed by the user.\n"
+" %1$s\n"
+msgstr ""
+"Следующий конвертер был завершён пользователем:\n"
+" %1$s\n"
+
+#: src/Converter.cpp:461 src/Converter.cpp:744 src/Converter.cpp:767
+#: src/Converter.cpp:809
+msgid "Cannot convert file"
+msgstr "Невозможно преобразовать файл"
+
+#: src/Converter.cpp:462
+#, c-format
+msgid ""
+"No information for converting %1$s format files to %2$s.\n"
+"Define a converter in the preferences."
+msgstr ""
+"Нет информации для преобразования файлов формата %1$s в %2$s.\n"
+"Определите конвертер в настройках."
+
+#: src/Converter.cpp:567 src/frontends/qt/GuiDocument.cpp:1995
+msgid "Pygments driver command not found!"
+msgstr "Команда драйвера Pygments не найдена!"
+
+#: src/Converter.cpp:568 src/frontends/qt/GuiDocument.cpp:1996
+msgid ""
+"The driver command necessary to use the minted package\n"
+"(pygmentize) has not been found. Make sure you have\n"
+"the python-pygments module installed or, if the driver\n"
+"is named differently, to add the following line to the\n"
+"document preamble:\n"
+"\n"
+"\\AtBeginDocument{\\renewcommand{\\MintedPygmentize}{driver}}\n"
+"\n"
+"where 'driver' is name of the driver command."
+msgstr ""
+"Команда драйвера, необходимая для использования пакета minted\n"
+"(pygmentize) не была найдена. Убедитесь, что у вас\n"
+"установлен модуль python-pygments или, если драйвер\n"
+"имеет другое имя, добавьте следующую строку в\n"
+"преамбулу документа:\n"
+"\n"
+"\\AtBeginDocument{\\renewcommand{\\MintedPygmentize}{driver}}\n"
+"\n"
+"где 'driver' - это имя команды драйвера."
+
+#: src/Converter.cpp:662 src/Format.cpp:706 src/Format.cpp:777
+msgid "Executing command: "
+msgstr "Исполняется команда: "
+
+#: src/Converter.cpp:727
+msgid "Process Killed"
+msgstr "Процесс завершён"
+
+#: src/Converter.cpp:728
+#, c-format
+msgid ""
+"The conversion process was killed while running:\n"
+"%1$s"
+msgstr ""
+"Процесс конвертации был завершён при выполнении:\n"
+"%1$s"
+
+#: src/Converter.cpp:733
+msgid "Process Timed Out"
+msgstr "Время ожидания процесса истекло"
+
+#: src/Converter.cpp:734
+#, c-format
+msgid ""
+"The conversion process:\n"
+"%1$s\n"
+"timed out before completing."
+msgstr ""
+"Процесс преобразования:\n"
+"%1$s\n"
+"время ожидания истекло до окончания."
+
+#: src/Converter.cpp:739
+msgid "Build errors"
+msgstr "Ошибки сборки"
+
+#: src/Converter.cpp:740
+msgid "There were errors during the build process."
+msgstr "В процессе сборки возникли ошибки."
+
+#: src/Converter.cpp:745
+#, c-format
+msgid ""
+"An error occurred while running:\n"
+"%1$s"
+msgstr ""
+"Произошла ошибка при выполнении:\n"
+"%1$s"
+
+#: src/Converter.cpp:768
+#, c-format
+msgid "Could not move a temporary directory from %1$s to %2$s."
+msgstr "Невозможно переместить временный каталог из %1$s в %2$s."
+
+#: src/Converter.cpp:811
+#, c-format
+msgid "Could not copy a temporary file from %1$s to %2$s."
+msgstr "Невозможно скопировать временный файл из %1$s в %2$s."
+
+#: src/Converter.cpp:812
+#, c-format
+msgid "Could not move a temporary file from %1$s to %2$s."
+msgstr "Невозможно переместить временный файл из %1$s в %2$s."
+
+#: src/Converter.cpp:852
+msgid "Running LaTeX..."
+msgstr "Выполняется LaTeX..."
+
+#: src/Converter.cpp:869
+msgid "Export canceled"
+msgstr "Экспорт отменён"
+
+#: src/Converter.cpp:870
+msgid "The export process was terminated by the user."
+msgstr "Процесс экспорта прерван пользователем."
+
+#: src/Converter.cpp:880
+msgid "Undefined reference"
+msgstr "Неопределённая ссылка"
+
+#: src/Converter.cpp:881
+msgid ""
+"Undefined references or citations were found during the build.\n"
+"Please check the warnings in the LaTeX log (Document > LaTeX Log)."
+msgstr ""
+"Неопределённые ссылки или цитаты были найдены во время сборки.\n"
+"Пожалуйста, проверьте предупреждения в журнале LaTeX (Документ > Журнал "
+"сообщений LaTeX)."
+
+#: src/Converter.cpp:893
+#, c-format
+msgid ""
+"LaTeX did not run successfully. Additionally, LyX could not locate the LaTeX "
+"log %1$s."
+msgstr ""
+"Запуск LaTeX не удался. Кроме того, LyX не может найти журнал LaTeX %1$s."
+
+#: src/Converter.cpp:896 src/Converter.cpp:903
+msgid "LaTeX failed"
+msgstr "Ошибка LaTeX"
+
+#: src/Converter.cpp:899
+#, c-format
+msgid ""
+"The external program\n"
+"%1$s\n"
+"finished with an error. It is recommended you fix the cause of the external "
+"program's error (check the logs). "
+msgstr ""
+"Внешняя программа\n"
+"%1$s\n"
+"завершилась с ошибкой. Рекомендуется устранить причину ошибки внешней "
+"программы (проверьте логи). "
+
+#: src/Converter.cpp:905
+msgid "Output is empty"
+msgstr "Вывод пуст"
+
+#: src/Converter.cpp:906
+msgid "No output file was generated."
+msgstr "Выходной файл не сгенерирован."
+
+#: src/Cursor.cpp:418 src/Text.cpp:2058
+msgid ", Inset: "
+msgstr ", Вставка: "
+
+#: src/Cursor.cpp:419 src/Text.cpp:2060
+msgid ", Cell: "
+msgstr ", Ячейка: "
+
+#: src/Cursor.cpp:420 src/Text.cpp:2063
+msgid ", Position: "
+msgstr ", Позиция: "
+
+#: src/CutAndPaste.cpp:209
+#, c-format
+msgid ""
+"The character \"%1$s\" is uncodable in this verbatim context and thus has "
+"not been pasted."
+msgstr ""
+"Символ \"%1$s\" является некодируемым в этом буквальном контексте, и поэтому "
+"не был вставлен."
+
+#: src/CutAndPaste.cpp:213
+#, c-format
+msgid ""
+"The characters \"%1$s\" are uncodable in this verbatim context and thus have "
+"not been pasted."
+msgstr ""
+"Символы \"%1$s\" являются некодируемыми в этом буквальном контексте, и "
+"поэтому не были вставлены."
+
+#: src/CutAndPaste.cpp:252
+msgid "Uncodable content"
+msgstr "Некодируемое содержимое"
+
+#: src/CutAndPaste.cpp:436
+#, c-format
+msgid ""
+"The pasted branch \"%1$s\" is undefined.\n"
+"Do you want to add it to the document's branch list?"
+msgstr ""
+"Вставленная ветка \"%1$s\" не определена.\n"
+"Добавить её в список веток документа?"
+
+#: src/CutAndPaste.cpp:439
+msgid "Unknown branch"
+msgstr "Неизвестная ветка"
+
+#: src/CutAndPaste.cpp:440 src/frontends/qt/ui/BranchesUi.ui:113
+#: src/frontends/qt/ui/CitationUi.ui:146 src/frontends/qt/ui/IndicesUi.ui:134
 msgid "&Add"
 msgstr "&Добавить"
 
-#: src/frontends/qt/ui/BranchesUi.ui:123
-msgid "Define or change background color"
-msgstr "Установить или изменить цвет фона"
-
-#: src/frontends/qt/ui/BranchesUi.ui:126 src/frontends/qt/ui/IndicesUi.ui:185
-msgid "Alter Co&lor..."
-msgstr "Изменить цвет..."
+#: src/CutAndPaste.cpp:440
+msgid "&Don't Add"
+msgstr "Не добавлять"
 
-#: src/frontends/qt/ui/BranchesUi.ui:133
-msgid "Remove the selected branch"
-msgstr "Удалить выбранную ветку"
+#: src/CutAndPaste.cpp:829 src/Text.cpp:419
+#, c-format
+msgid "Layout `%1$s' was not found."
+msgstr "Макет `%1$s' не найден."
 
-#: src/frontends/qt/ui/BranchesUi.ui:136 src/frontends/qt/ui/IndicesUi.ui:165
-#: src/Buffer.cpp:4719 src/Buffer.cpp:4732
-msgid "&Remove"
-msgstr "&Удалить"
+#: src/CutAndPaste.cpp:830 src/Text.cpp:420
+msgid "Layout Not Found"
+msgstr "Макет не найден"
 
-#: src/frontends/qt/ui/BranchesUi.ui:143
-msgid "Change the name of the selected branch"
-msgstr "Переименовать выбранную ветку"
+#: src/CutAndPaste.cpp:858
+#, c-format
+msgid "Flex inset %1$s is undefined after reloading `%2$s' layout."
+msgstr "Гибкая вставка %1$s не определена после перезагрузки макета `%2$s'."
 
-#: src/frontends/qt/ui/BranchesUi.ui:146
-msgid "Re&name..."
-msgstr "Переименовать..."
+#: src/CutAndPaste.cpp:861
+#, c-format
+msgid ""
+"Flex inset %1$s is undefined because of conversion from `%2$s' layout to `"
+"%3$s'."
+msgstr ""
+"Гибкая вставка %1$s не определена из-за преобразования из макета `%2$s' в `"
+"%3$s'."
 
-#: src/frontends/qt/ui/BranchesUnknownUi.ui:25
-msgid "Add the selected branches to the list."
-msgstr "Добавить выбранные ветки к списку."
+#: src/CutAndPaste.cpp:866
+msgid "Undefined flex inset"
+msgstr "Неопределённая гибкая вставка"
 
-#: src/frontends/qt/ui/BranchesUnknownUi.ui:28
-msgid "&Add Selected"
-msgstr "&Добавить выделенное"
+#: src/Exporter.cpp:45
+#, c-format
+msgid ""
+"The file %1$s already exists.\n"
+"\n"
+"Do you want to overwrite that file?"
+msgstr ""
+"Файл %1$s уже существует.\n"
+"\n"
+"Хотите перезаписать его?"
 
-#: src/frontends/qt/ui/BranchesUnknownUi.ui:35
-msgid "Add all unknown branches to the list."
-msgstr "Добавить все неизвестные ветки к списку."
+#: src/Exporter.cpp:48
+msgid "Overwrite file?"
+msgstr "Перезаписать файл?"
 
-#: src/frontends/qt/ui/BranchesUnknownUi.ui:38
-msgid "Add A&ll"
-msgstr "Добавить &всё"
+#: src/Exporter.cpp:50
+msgid "&Keep file"
+msgstr "&Оставить файл"
 
-#: src/frontends/qt/ui/BranchesUnknownUi.ui:58 src/Buffer.cpp:1462
-#: src/Buffer.cpp:4693 src/Buffer.cpp:4787 src/LyXVC.cpp:114 src/LyXVC.cpp:304
-#: src/buffer_funcs.cpp:78 src/frontends/qt/GuiBranches.cpp:219
-#: src/frontends/qt/GuiClipboard.cpp:247 src/frontends/qt/GuiDocument.cpp:2786
-#: src/frontends/qt/GuiParagraph.cpp:164 src/frontends/qt/GuiPrefs.cpp:3341
-#: src/frontends/qt/GuiView.cpp:2650 src/frontends/qt/GuiView.cpp:2881
-#: src/frontends/qt/GuiView.cpp:2905 src/frontends/qt/GuiView.cpp:2919
-#: src/frontends/qt/GuiView.cpp:3021 src/frontends/qt/GuiView.cpp:3066
-#: src/frontends/qt/GuiView.cpp:3121 src/frontends/qt/GuiView.cpp:3358
-#: src/frontends/qt/GuiView.cpp:3372 src/frontends/qt/GuiView.cpp:3474
-#: src/frontends/qt/GuiView.cpp:3502 src/frontends/qt/GuiView.cpp:4206
-#: src/frontends/qt/GuiView.cpp:4213 src/insets/InsetBibtex.cpp:154
-msgid "&Cancel"
-msgstr "&Отмена"
+#: src/Exporter.cpp:51
+msgid "Overwrite &all"
+msgstr "Перезаписать все"
 
-#: src/frontends/qt/ui/BranchesUnknownUi.ui:65
-#: src/frontends/qt/ui/BranchesUnknownUi.ui:78
-msgid "Undefined branches used in this document."
-msgstr "Неопределённые ветки, использованные в этом документе."
+#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:728
+msgid "&Cancel export"
+msgstr "Отменить &экспорт"
 
-#: src/frontends/qt/ui/BranchesUnknownUi.ui:68
-msgid "&Undefined Branches:"
-msgstr "Неопределённые ветки:"
+#: src/Exporter.cpp:97
+msgid "Couldn't copy file"
+msgstr "Невозможно скопировать файл"
 
-#: src/frontends/qt/ui/BulletsUi.ui:34
-msgid "&Font:"
-msgstr "Шрифт:"
+#: src/Exporter.cpp:98
+#, c-format
+msgid "Copying %1$s to %2$s failed."
+msgstr "Копирование %1$s в %2$s не удалось."
 
-#: src/frontends/qt/ui/BulletsUi.ui:44 src/frontends/qt/ui/CharacterUi.ui:117
-#: src/frontends/qt/ui/DelimiterUi.ui:78
-msgid "Si&ze:"
-msgstr "Ра&змер:"
+#: src/Font.cpp:141
+#, c-format
+msgid "Language: %1$s, "
+msgstr "Язык: %1$s, "
 
-#: src/frontends/qt/ui/BulletsUi.ui:66 src/frontends/qt/ui/ParagraphUi.ui:55
-#: src/frontends/qt/ui/TabularUi.ui:1205 src/frontends/qt/ui/TabularUi.ui:1224
-#: src/frontends/qt/ui/TabularUi.ui:1272 lib/encodings:50
-#: lib/ui/stdtoolbars.inc:121 src/Font.cpp:142 src/FontInfo.cpp:638
-#: src/frontends/qt/GuiCharacter.cpp:53 src/frontends/qt/GuiCharacter.cpp:66
-#: src/frontends/qt/GuiCharacter.cpp:87 src/frontends/qt/GuiCharacter.cpp:100
-#: src/frontends/qt/GuiCharacter.cpp:138 src/frontends/qt/GuiCharacter.cpp:149
-#: src/frontends/qt/GuiCharacter.cpp:192 src/frontends/qt/GuiCharacter.cpp:243
-#: src/frontends/qt/GuiDocument.cpp:125 src/frontends/qt/GuiDocument.cpp:861
-#: src/frontends/qt/GuiDocument.cpp:881 src/frontends/qt/GuiDocument.cpp:1051
-#: src/frontends/qt/GuiDocument.cpp:1136 src/frontends/qt/GuiDocument.cpp:1182
-#: src/frontends/qt/GuiDocument.cpp:1193 src/frontends/qt/GuiDocument.cpp:1421
-#: src/frontends/qt/GuiDocument.cpp:1539 src/frontends/qt/GuiDocument.cpp:1546
-#: src/frontends/qt/GuiDocument.cpp:2528 src/frontends/qt/GuiDocument.cpp:2615
-#: src/frontends/qt/GuiDocument.cpp:2616 src/frontends/qt/GuiDocument.cpp:2617
-#: src/frontends/qt/GuiDocument.cpp:2637 src/frontends/qt/GuiDocument.cpp:2644
-#: src/frontends/qt/GuiDocument.cpp:2651 src/frontends/qt/GuiDocument.cpp:2741
-#: src/frontends/qt/GuiDocument.cpp:3350 src/frontends/qt/GuiDocument.cpp:4827
-#: src/frontends/qt/GuiExternal.cpp:77 src/frontends/qt/GuiGraphics.cpp:71
-#: src/frontends/qt/GuiIndices.cpp:58 src/frontends/qt/GuiListings.cpp:156
-#: src/frontends/qt/GuiListings.cpp:163 src/frontends/qt/GuiPrefs.cpp:2439
-#: src/frontends/qt/GuiPrefs.cpp:2582 src/frontends/qt/GuiPrintNomencl.cpp:47
+#: src/Font.cpp:142 src/FontInfo.cpp:638 src/frontends/qt/GuiCharacter.cpp:53
+#: src/frontends/qt/GuiCharacter.cpp:66 src/frontends/qt/GuiCharacter.cpp:87
+#: src/frontends/qt/GuiCharacter.cpp:100 src/frontends/qt/GuiCharacter.cpp:138
+#: src/frontends/qt/GuiCharacter.cpp:149 src/frontends/qt/GuiCharacter.cpp:192
+#: src/frontends/qt/GuiCharacter.cpp:243 src/frontends/qt/GuiDocument.cpp:125
+#: src/frontends/qt/GuiDocument.cpp:861 src/frontends/qt/GuiDocument.cpp:881
+#: src/frontends/qt/GuiDocument.cpp:1051 src/frontends/qt/GuiDocument.cpp:1136
+#: src/frontends/qt/GuiDocument.cpp:1182 src/frontends/qt/GuiDocument.cpp:1193
+#: src/frontends/qt/GuiDocument.cpp:1421 src/frontends/qt/GuiDocument.cpp:1539
+#: src/frontends/qt/GuiDocument.cpp:1546 src/frontends/qt/GuiDocument.cpp:2528
+#: src/frontends/qt/GuiDocument.cpp:2615 src/frontends/qt/GuiDocument.cpp:2616
+#: src/frontends/qt/GuiDocument.cpp:2617 src/frontends/qt/GuiDocument.cpp:2637
+#: src/frontends/qt/GuiDocument.cpp:2644 src/frontends/qt/GuiDocument.cpp:2651
+#: src/frontends/qt/GuiDocument.cpp:2741 src/frontends/qt/GuiDocument.cpp:3350
+#: src/frontends/qt/GuiDocument.cpp:4827 src/frontends/qt/GuiExternal.cpp:77
+#: src/frontends/qt/GuiGraphics.cpp:71 src/frontends/qt/GuiIndices.cpp:58
+#: src/frontends/qt/GuiListings.cpp:156 src/frontends/qt/GuiListings.cpp:163
+#: src/frontends/qt/GuiPrefs.cpp:2439 src/frontends/qt/GuiPrefs.cpp:2582
+#: src/frontends/qt/GuiPrintNomencl.cpp:47
 #: src/frontends/qt/GuiTabularCreate.cpp:107
-#: src/frontends/qt/GuiViewSource.cpp:338
+#: src/frontends/qt/GuiViewSource.cpp:338 lib/encodings:50
+#: lib/ui/stdtoolbars.inc:121 src/frontends/qt/ui/BulletsUi.ui:66
+#: src/frontends/qt/ui/ParagraphUi.ui:55 src/frontends/qt/ui/TabularUi.ui:1205
+#: src/frontends/qt/ui/TabularUi.ui:1224 src/frontends/qt/ui/TabularUi.ui:1272
 msgid "Default"
 msgstr "По умолчанию"
 
-#: src/frontends/qt/ui/BulletsUi.ui:71 src/FontInfo.cpp:55
-#: src/frontends/qt/GuiCharacter.cpp:67 src/frontends/qt/GuiListings.cpp:156
+#: src/Font.cpp:146
+#, c-format
+msgid "Number %1$s"
+msgstr "Число %1$s"
+
+#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:150
+#: src/frontends/qt/GuiDocument.cpp:4827 src/frontends/qt/GuiListings.cpp:163
+msgid "Roman"
+msgstr "С засечками"
+
+#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:151
+#: src/frontends/qt/GuiDocument.cpp:4827 src/frontends/qt/GuiListings.cpp:163
+msgid "Sans Serif"
+msgstr "Без засечек"
+
+#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:152
+#: src/frontends/qt/GuiDocument.cpp:4827 src/frontends/qt/GuiListings.cpp:163
+msgid "Typewriter"
+msgstr "Машинописный"
+
+#: src/FontInfo.cpp:43
+msgid "Symbol"
+msgstr "Символьный"
+
+#: src/FontInfo.cpp:45 src/FontInfo.cpp:48 src/FontInfo.cpp:51
+#: src/FontInfo.cpp:57 src/FontInfo.cpp:60
+msgid "Inherit"
+msgstr "Наследовать"
+
+#: src/FontInfo.cpp:45 src/FontInfo.cpp:48 src/FontInfo.cpp:52
+#: src/FontInfo.cpp:57 src/FontInfo.cpp:60 lib/languages:137
+msgid "Ignore"
+msgstr "Игнорировать"
+
+#: src/FontInfo.cpp:48 src/frontends/qt/GuiCharacter.cpp:139
+msgid "Medium"
+msgstr "Нормальный"
+
+#: src/FontInfo.cpp:48 src/frontends/qt/GuiCharacter.cpp:140
+#: lib/layouts/beamer.layout:1450 lib/layouts/beamer.layout:1452
+msgid "Bold"
+msgstr "Полужирный"
+
+#: src/FontInfo.cpp:51 src/frontends/qt/GuiCharacter.cpp:54
+msgid "Upright"
+msgstr "Прямой"
+
+#: src/FontInfo.cpp:51 src/frontends/qt/GuiCharacter.cpp:55
+msgid "Italic"
+msgstr "Курсивный"
+
+#: src/FontInfo.cpp:51 src/frontends/qt/GuiCharacter.cpp:56
+msgid "Slanted"
+msgstr "Наклонный"
+
+#: src/FontInfo.cpp:51
+msgid "Smallcaps"
+msgstr "Капитель"
+
+#: src/FontInfo.cpp:55 src/frontends/qt/GuiCharacter.cpp:67
+#: src/frontends/qt/GuiListings.cpp:156 src/frontends/qt/ui/BulletsUi.ui:71
 msgid "Tiny"
 msgstr "Крохотный"
 
-#: src/frontends/qt/ui/BulletsUi.ui:76 src/FontInfo.cpp:55
-#: src/frontends/qt/GuiCharacter.cpp:68 src/frontends/qt/GuiListings.cpp:156
+#: src/FontInfo.cpp:55 src/frontends/qt/GuiCharacter.cpp:68
+#: src/frontends/qt/GuiListings.cpp:156 src/frontends/qt/ui/BulletsUi.ui:76
 msgid "Smallest"
 msgstr "Наименьший"
 
-#: src/frontends/qt/ui/BulletsUi.ui:81 src/FontInfo.cpp:55
-#: src/frontends/qt/GuiCharacter.cpp:69 src/frontends/qt/GuiListings.cpp:156
+#: src/FontInfo.cpp:55 src/frontends/qt/GuiCharacter.cpp:69
+#: src/frontends/qt/GuiListings.cpp:156 src/frontends/qt/ui/BulletsUi.ui:81
 msgid "Smaller"
 msgstr "Меньший"
 
-#: src/frontends/qt/ui/BulletsUi.ui:86 src/FontInfo.cpp:55
-#: src/frontends/qt/GuiCharacter.cpp:70 src/frontends/qt/GuiListings.cpp:156
+#: src/FontInfo.cpp:55 src/frontends/qt/GuiCharacter.cpp:70
+#: src/frontends/qt/GuiListings.cpp:156 src/frontends/qt/ui/BulletsUi.ui:86
 msgid "Small"
 msgstr "Малый"
 
-#: src/frontends/qt/ui/BulletsUi.ui:91 src/FontInfo.cpp:55
-#: src/frontends/qt/GuiCharacter.cpp:71 src/frontends/qt/GuiListings.cpp:156
+#: src/FontInfo.cpp:55 src/frontends/qt/GuiCharacter.cpp:71
+#: src/frontends/qt/GuiListings.cpp:156 src/frontends/qt/ui/BulletsUi.ui:91
 msgid "Normal"
 msgstr "Нормальный"
 
-#: src/frontends/qt/ui/BulletsUi.ui:96 src/FontInfo.cpp:55
-#: src/frontends/qt/GuiCharacter.cpp:72 src/frontends/qt/GuiListings.cpp:157
+#: src/FontInfo.cpp:55 src/frontends/qt/GuiCharacter.cpp:72
+#: src/frontends/qt/GuiListings.cpp:157 src/frontends/qt/ui/BulletsUi.ui:96
 msgid "Large"
 msgstr "Большой"
 
-#: src/frontends/qt/ui/BulletsUi.ui:101 src/FontInfo.cpp:56
-#: src/frontends/qt/GuiCharacter.cpp:73 src/frontends/qt/GuiListings.cpp:157
+#: src/FontInfo.cpp:56 src/frontends/qt/GuiCharacter.cpp:73
+#: src/frontends/qt/GuiListings.cpp:157 src/frontends/qt/ui/BulletsUi.ui:101
 msgid "Larger"
 msgstr "Больший"
 
-#: src/frontends/qt/ui/BulletsUi.ui:106 src/FontInfo.cpp:56
-#: src/frontends/qt/GuiCharacter.cpp:74
+#: src/FontInfo.cpp:56 src/frontends/qt/GuiCharacter.cpp:74
+#: src/frontends/qt/ui/BulletsUi.ui:106
 msgid "Largest"
 msgstr "Наибольший"
 
-#: src/frontends/qt/ui/BulletsUi.ui:111 src/FontInfo.cpp:56
-#: src/frontends/qt/GuiCharacter.cpp:75
+#: src/FontInfo.cpp:56 src/frontends/qt/GuiCharacter.cpp:75
+#: src/frontends/qt/ui/BulletsUi.ui:111
 msgid "Huge"
 msgstr "Огромный"
 
-#: src/frontends/qt/ui/BulletsUi.ui:116 src/FontInfo.cpp:56
-#: src/frontends/qt/GuiCharacter.cpp:76
+#: src/FontInfo.cpp:56 src/frontends/qt/GuiCharacter.cpp:76
+#: src/frontends/qt/ui/BulletsUi.ui:116
 msgid "Huger"
 msgstr "Огромнейший"
 
-#: src/frontends/qt/ui/BulletsUi.ui:144
-msgid "&Custom bullet:"
-msgstr "&Нестандартный маркер:"
+#: src/FontInfo.cpp:56 src/frontends/qt/GuiCharacter.cpp:77
+msgid "Increase"
+msgstr "Увеличить"
 
-#: src/frontends/qt/ui/BulletsUi.ui:174 src/frontends/qt/ui/PDFSupportUi.ui:421
-msgid "&Level:"
-msgstr "&Уровень:"
+#: src/FontInfo.cpp:56 src/frontends/qt/GuiCharacter.cpp:78
+msgid "Decrease"
+msgstr "Уменьшить"
 
-#: src/frontends/qt/ui/ChangeTrackingUi.ui:20
-msgid "If checked, additions and deletions will be tracked in the document"
-msgstr "Если включено, то в документе будут отслеживаться вставки и удаления"
+#: src/FontInfo.cpp:60 src/frontends/qt/GuiDocument.cpp:141
+#: src/frontends/qt/ui/PrefDisplayUi.ui:116
+msgid "Off"
+msgstr "Выкл."
 
-#: src/frontends/qt/ui/ChangeTrackingUi.ui:23
-msgid "&Track changes"
-msgstr "Следить за изменениями"
+#: src/FontInfo.cpp:60 src/frontends/qt/ui/PrefDisplayUi.ui:126
+msgid "On"
+msgstr "Вкл."
 
-#: src/frontends/qt/ui/ChangeTrackingUi.ui:30
-msgid "If checked, changes will be shown in the PDF/DVI/PS output"
-msgstr "Если отмечено, то изменения будут показаны в PDF/DVI/PS-файлах вывода"
+#: src/FontInfo.cpp:60
+msgid "Toggle"
+msgstr "Переключить"
 
-#: src/frontends/qt/ui/ChangeTrackingUi.ui:33
-msgid "&Show changes in output"
-msgstr "Показать изменения на выводе"
+#: src/FontInfo.cpp:617
+#, c-format
+msgid "Emphasis %1$s, "
+msgstr "Выделение %1$s, "
 
-#: src/frontends/qt/ui/ChangeTrackingUi.ui:40
-msgid "Use change bars in addition to change tracking markup"
+#: src/FontInfo.cpp:620
+#, c-format
+msgid "Underline %1$s, "
+msgstr "Подчёркивание %1$s, "
+
+#: src/FontInfo.cpp:623
+#, c-format
+msgid "Double underline %1$s, "
+msgstr "Двойное подчёркивание %1$s, "
+
+#: src/FontInfo.cpp:626
+#, c-format
+msgid "Wavy underline %1$s, "
+msgstr "Подчёркивание волной %1$s, "
+
+#: src/FontInfo.cpp:629
+#, c-format
+msgid "Strike out %1$s, "
+msgstr "Зачёркивание %1$s, "
+
+#: src/FontInfo.cpp:632
+#, c-format
+msgid "Cross out %1$s, "
+msgstr "Штриховое зачёркивание %1$s, "
+
+#: src/FontInfo.cpp:635
+#, c-format
+msgid "Noun %1$s, "
+msgstr "Имя %1$s, "
+
+#: src/Format.cpp:630 src/Format.cpp:643 src/Format.cpp:653
+msgid "Cannot view file"
+msgstr "Просмотр файла невозможен"
+
+#: src/Format.cpp:631 src/Format.cpp:723 src/frontends/qt/GuiView.cpp:3766
+#, c-format
+msgid "File does not exist: %1$s"
+msgstr "Файл не существует: %1$s"
+
+#: src/Format.cpp:644
+#, c-format
+msgid "No information for viewing %1$s"
+msgstr "Нет информации для просмотра %1$s"
+
+#: src/Format.cpp:654
+#, c-format
+msgid "Auto-view file %1$s failed"
+msgstr "Автопросмотр файла %1$s не удался"
+
+#: src/Format.cpp:722 src/Format.cpp:734 src/Format.cpp:747 src/Format.cpp:758
+msgid "Cannot edit file"
+msgstr "Невозможно редактировать файл"
+
+#: src/Format.cpp:735
+msgid "LinkBack files can only be edited on Apple Mac OSX."
+msgstr "Файлы LinkBack могут редактироваться только на macOS."
+
+#: src/Format.cpp:748
+#, c-format
+msgid "No information for editing %1$s"
+msgstr "Нет информации для редактирования %1$s"
+
+#: src/Format.cpp:759
+#, c-format
+msgid "Auto-edit file %1$s failed"
+msgstr "Авто-редактирование файла %1$s не удалось"
+
+#: src/KeyMap.cpp:229 src/KeyMap.cpp:244
+msgid "Could not find bind file"
+msgstr "Не найден файл привязок"
+
+#: src/KeyMap.cpp:230
+#, c-format
+msgid ""
+"Unable to find the bind file\n"
+"%1$s.\n"
+"Please check your installation."
 msgstr ""
-"Использовать полосы изменений в дополнение к разметке отслеживания изменений"
+"Невозможно найти файл привязок\n"
+"%1$s.\n"
+"Проверьте вашу установку."
 
-#: src/frontends/qt/ui/ChangeTrackingUi.ui:43
-msgid "Use change &bars in output"
-msgstr "Показать полосы изменений на выводе"
+#: src/KeyMap.cpp:237
+msgid "Could not find `cua.bind' file"
+msgstr "На удалось найти файл `cua.bind'"
 
-#: src/frontends/qt/ui/ChangesUi.ui:38
-msgid "Change:"
-msgstr "Изменение:"
+#: src/KeyMap.cpp:238
+msgid ""
+"Unable to find the default bind file `cua.bind'.\n"
+"Please check your installation."
+msgstr ""
+"LyX не смог найти файл привязок по умолчанию `cua.bind'.\n"
+"Проверьте вашу установку."
 
-#: src/frontends/qt/ui/ChangesUi.ui:65
-msgid "Go to previous change"
-msgstr "Перейти к предыдущему изменению"
+#: src/KeyMap.cpp:245
+#, c-format
+msgid ""
+"Unable to find the bind file\n"
+"%1$s.\n"
+"Falling back to default."
+msgstr ""
+"Невозможно найти файл привязок\n"
+"%1$s.\n"
+"Будут использованы привязки по умолчанию."
 
-#: src/frontends/qt/ui/ChangesUi.ui:68
-msgid "&Previous change"
-msgstr "Предыдущее изменение"
+#: src/KeySequence.cpp:181
+msgid "   options: "
+msgstr "   параметры: "
 
-#: src/frontends/qt/ui/ChangesUi.ui:78
-msgid "Go to next change"
-msgstr "Перейти к следующему изменению"
+#: src/LaTeX.cpp:62
+#, c-format
+msgid "Waiting for LaTeX run number %1$d"
+msgstr "Выполняется проход LaTeX номер %1$d"
 
-#: src/frontends/qt/ui/ChangesUi.ui:81
-msgid "&Next change"
-msgstr "Следующее изменение"
+#: src/LaTeX.cpp:322 src/LaTeX.cpp:459
+msgid "Running Index Processor."
+msgstr "Выполняется процессор указателя."
 
-#: src/frontends/qt/ui/ChangesUi.ui:133
-msgid "Accept this change"
-msgstr "Принять это изменение"
+#: src/LaTeX.cpp:375 src/LaTeX.cpp:436
+msgid "Running BibTeX."
+msgstr "Выполняется BibTeX."
 
-#: src/frontends/qt/ui/ChangesUi.ui:136
-msgid "&Accept"
-msgstr "&Принять"
+#: src/LaTeX.cpp:609
+msgid "Running MakeIndex for nomencl."
+msgstr "Выполняется MakeIndex."
 
-#: src/frontends/qt/ui/ChangesUi.ui:146
-msgid "Reject this change"
-msgstr "Отклонить это изменение"
+#: src/LaTeX.cpp:1113
+msgid "(NOTE: The erroneous command is in the preamble)"
+msgstr "(ЗАМЕТКА: Ошибочная команда в преамбуле)"
 
-#: src/frontends/qt/ui/ChangesUi.ui:149
-msgid "&Reject"
-msgstr "&Отклонить"
+#: src/LaTeX.cpp:1605 src/LaTeX.cpp:1611 src/LaTeX.cpp:1620
+msgid "BibTeX error: "
+msgstr "Ошибка BibTeX: "
 
-#: src/frontends/qt/ui/CharacterUi.ui:25
-msgid "Font Properties"
-msgstr "Свойства шрифта"
+#: src/LaTeX.cpp:1627
+msgid "Biber error: "
+msgstr "Ошибка Biber: "
 
-#: src/frontends/qt/ui/CharacterUi.ui:36 src/frontends/qt/ui/CharacterUi.ui:55
-msgid "Font family"
-msgstr "Гарнитура шрифта"
+#: src/LaTeX.cpp:1656
+msgid "Makeindex error: "
+msgstr "Ошибка Makeindex: "
 
-#: src/frontends/qt/ui/CharacterUi.ui:39
-msgid "Fa&mily:"
-msgstr "&Гарнитура:"
+#: src/LaTeX.cpp:1665
+msgid "Xindy error: "
+msgstr "Ошибка Xindy: "
 
-#: src/frontends/qt/ui/CharacterUi.ui:62 src/frontends/qt/ui/CharacterUi.ui:81
-msgid "Font series"
-msgstr "Насыщенность шрифта"
+#: src/LaTeXFonts.cpp:238 src/LaTeXFonts.cpp:316
+msgid "Font not available"
+msgstr "Шрифт не доступен"
 
-#: src/frontends/qt/ui/CharacterUi.ui:65
-msgid "&Series:"
-msgstr "&Насыщенность:"
+#: src/LaTeXFonts.cpp:239 src/LaTeXFonts.cpp:317
+#, c-format
+msgid ""
+"The LaTeX package `%1$s' needed for the font `%2$s'\n"
+"is not available on your system. LyX will fall back to the default font."
+msgstr ""
+"Пакет LaTeX `%1$s', необходимый для шрифта `%2$s'\n"
+"недоступен на вашей системе. LyX будет использовать шрифт по умолчанию."
 
-#: src/frontends/qt/ui/CharacterUi.ui:88 src/frontends/qt/ui/CharacterUi.ui:107
-msgid "Font shape"
-msgstr "Начертание шрифта"
+#: src/LyX.cpp:148
+msgid "Could not read configuration file"
+msgstr "Не удаётся прочитать файл конфигурации"
 
-#: src/frontends/qt/ui/CharacterUi.ui:91
-msgid "S&hape:"
-msgstr "На&чертание:"
+#: src/LyX.cpp:149
+#, c-format
+msgid ""
+"Error while reading the configuration file\n"
+"%1$s.\n"
+"Please check your installation."
+msgstr ""
+"Ошибка чтения конфигурационного файла\n"
+"%1$s.\n"
+"Проверьте вашу установку."
 
-#: src/frontends/qt/ui/CharacterUi.ui:114
-#: src/frontends/qt/ui/CharacterUi.ui:133
-msgid "Font size"
-msgstr "Размер шрифта"
+#: src/LyX.cpp:402
+msgid "The following files could not be loaded:"
+msgstr "Следующие файлы не загружаются:"
 
-#: src/frontends/qt/ui/CharacterUi.ui:159
-#: src/frontends/qt/ui/CharacterUi.ui:178
-msgid "Font color"
-msgstr "Цвет текста"
+#: src/LyX.cpp:443
+#, c-format
+msgid "%1$s does not appear like a LyX created temporary directory."
+msgstr "Невозможно создать временный каталог %1$s."
 
-#: src/frontends/qt/ui/CharacterUi.ui:162
-msgid "&Color:"
-msgstr "&Цвет:"
+#: src/LyX.cpp:445
+msgid "Cannot remove temporary directory"
+msgstr "Невозможно удалить временный каталог"
 
-#: src/frontends/qt/ui/CharacterUi.ui:185
-msgid "U&nderlining:"
-msgstr "Подчёркивание:"
+#: src/LyX.cpp:449
+#, c-format
+msgid "Unable to remove the temporary directory %1$s"
+msgstr "Невозможно удалить временный каталог %1$s"
 
-#: src/frontends/qt/ui/CharacterUi.ui:201
-msgid "Underlining of text"
-msgstr "Подчёркивание текста"
+#: src/LyX.cpp:478
+#, c-format
+msgid "Wrong command line option `%1$s'. Exiting."
+msgstr "Неверный параметр командной строки `%1$s'. Выходим."
 
-#: src/frontends/qt/ui/CharacterUi.ui:208
-msgid "S&trikethrough:"
-msgstr "Зачёркивание:"
+#: src/LyX.cpp:496
+msgid "Missing filename for this operation."
+msgstr "Не указано имя файла для этой операции."
 
-#: src/frontends/qt/ui/CharacterUi.ui:224
-msgid "Strike-through text"
-msgstr "Зачёркивание текста"
+#: src/LyX.cpp:545
+#, c-format
+msgid "LyX failed to load the following file: %1$s"
+msgstr "LyX не смог загрузить файл: %1$s"
 
-#: src/frontends/qt/ui/CharacterUi.ui:254 src/frontends/qt/GuiPrefs.cpp:214
-msgid "Language Settings"
-msgstr "Настройки языка"
+#: src/LyX.cpp:592
+msgid "No textclass is found"
+msgstr "Не найден класс документа"
 
-#: src/frontends/qt/ui/CharacterUi.ui:265 src/frontends/qt/ui/LanguageUi.ui:22
-#: src/frontends/qt/ui/LyXFilesUi.ui:94
-#: src/frontends/qt/ui/SpellcheckerUi.ui:67
-#: src/frontends/qt/ui/ThesaurusUi.ui:23
-msgid "&Language:"
-msgstr "&Язык:"
+#: src/LyX.cpp:593
+msgid ""
+"LyX will only have minimal functionality because no textclasses have been "
+"found. You can either try to reconfigure LyX normally, try to reconfigure "
+"without checking your LaTeX installation, or continue."
+msgstr ""
+"LyX будет предоставлять только минимальную функциональность, потому что не "
+"найдены классы документа. Вы можете обновить конфигурацию LyX или продолжить."
 
-#: src/frontends/qt/ui/CharacterUi.ui:281 src/frontends/qt/ui/ListingsUi.ui:334
-#: lib/layouts/bicaption.module:16 lib/layouts/europasscv.layout:350
-#: lib/layouts/europasscv.layout:383 lib/layouts/europasscv.layout:390
-#: lib/layouts/europecv.layout:247 lib/layouts/europecv.layout:253
-#: lib/layouts/moderncv.layout:477 src/frontends/qt/GuiDocument.cpp:1773
-#: src/frontends/qt/GuiPrefs.cpp:2390 src/frontends/qt/Menus.cpp:915
-msgid "Language"
-msgstr "Язык"
+#: src/LyX.cpp:597
+msgid "&Reconfigure"
+msgstr "Обновить &конфигурацию"
 
-#: src/frontends/qt/ui/CharacterUi.ui:290
-msgid "If this is selected, the marked text will not be spellchecked"
-msgstr "При включении в выделенном тексте не будет проверяться правописание"
+#: src/LyX.cpp:598
+msgid "&Without LaTeX"
+msgstr "Без LaTeX"
 
-#: src/frontends/qt/ui/CharacterUi.ui:293
-msgid "E&xclude from Spellchecking"
-msgstr "Не проверять правописание"
+#: src/LyX.cpp:599 src/VCBackend.cpp:969 src/VCBackend.cpp:973
+msgid "&Continue"
+msgstr "Продолжить"
 
-#: src/frontends/qt/ui/CharacterUi.ui:303
-msgid "Semantic Markup"
-msgstr "Логическая разметка"
+#: src/LyX.cpp:702
+msgid ""
+"SIGHUP signal caught!\n"
+"Bye."
+msgstr ""
+"Обнаружен сигнал SIGHUP!\n"
+"Пока."
 
-#: src/frontends/qt/ui/CharacterUi.ui:312
-msgid "Semantic emphasizing (italic by default, but can be adapted)"
-msgstr "Логическое выделение (курсив по умолчанию)"
+#: src/LyX.cpp:706
+msgid ""
+"SIGFPE signal caught!\n"
+"Bye."
+msgstr ""
+"Обнаружен сигнал SIGFPE!\n"
+"Пока."
 
-#: src/frontends/qt/ui/CharacterUi.ui:315
-msgid "&Emphasized"
-msgstr "Выделение"
+#: src/LyX.cpp:709
+msgid ""
+"SIGSEGV signal caught!\n"
+"Sorry, you have found a bug in LyX, hope you have not lost any data.\n"
+"Please read the bug-reporting instructions in 'Help->Introduction' and send "
+"us a bug report, if necessary. Thanks!\n"
+"Bye."
+msgstr ""
+"Обнаружен сигнал SIGSEGV!\n"
+"Извините, вы нашли ошибку в LyX, надеемся, вы не потеряли никаких данных.\n"
+"Пожалуйста, ознакомьтесь с инструкциями по сообщению об ошибках в меню "
+"'Помощь->Введение' и при необходимости отправьте нам сообщение об ошибке. "
+"Спасибо!\n"
+"Пока."
 
-#: src/frontends/qt/ui/CharacterUi.ui:322
-msgid "Semantic markup of nouns (small caps by default, but can be adapted)"
-msgstr "Логическая разметка имени (капитель по умолчанию)"
+#: src/LyX.cpp:725
+msgid "LyX crashed!"
+msgstr "Сбой LyX!"
 
-#: src/frontends/qt/ui/CharacterUi.ui:325
-msgid "&Noun"
-msgstr "Имя"
+#: src/LyX.cpp:759
+msgid "LyX: "
+msgstr "LyX: "
 
-#: src/frontends/qt/ui/CharacterUi.ui:379
-msgid "Apply each change automatically"
-msgstr "Применять каждое изменение автоматически"
+#: src/LyX.cpp:1027
+msgid "Could not create temporary directory"
+msgstr "Невозможно создать временный каталог"
 
-#: src/frontends/qt/ui/CharacterUi.ui:382
-msgid "Apply changes &immediately"
-msgstr "Применить изменения немедленно"
+#: src/LyX.cpp:1028
+#, c-format
+msgid ""
+"Could not create a temporary directory in\n"
+"\"%1$s\"\n"
+"Make sure that this path exists and is writable and try again."
+msgstr ""
+"Невозможно создать временный каталог в\n"
+"\"%1$s\"\n"
+" Проверьте, что этот путь существует,\n"
+"доступен для записи и попробуйте ещё раз."
 
-#: src/frontends/qt/ui/CitationUi.ui:48
-msgid "Select the fields on which the filter applies"
-msgstr "Выберите поля, к которым применяется фильтр"
+#: src/LyX.cpp:1092
+msgid "Missing user LyX directory"
+msgstr "Отсутствует каталог пользователя LyX"
 
-#: src/frontends/qt/ui/CitationUi.ui:61 src/frontends/qt/GuiCitation.cpp:439
-msgid "All fields"
-msgstr "Все поля"
+#: src/LyX.cpp:1093
+#, c-format
+msgid ""
+"You have specified a non-existent user LyX directory, %1$s.\n"
+"It is needed to keep your own configuration."
+msgstr ""
+"Вы указали несуществующий каталог LyX, %1$s.\n"
+"Он необходим для хранения ваших настроек."
 
-#: src/frontends/qt/ui/CitationUi.ui:75
-msgid "Select the entry types on which the filter applies"
-msgstr "Выберите типы записей, к которым применяется фильтр"
+#: src/LyX.cpp:1098
+msgid "&Create directory"
+msgstr "Создать каталог"
 
-#: src/frontends/qt/ui/CitationUi.ui:85 src/frontends/qt/GuiCitation.cpp:454
-msgid "All entry types"
-msgstr "Все типы записей"
+#: src/LyX.cpp:1099
+msgid "&Exit LyX"
+msgstr "Выйти из LyX'а"
 
-#: src/frontends/qt/ui/CitationUi.ui:93
-msgid "Click for more filter options"
-msgstr "Нажмите для дополнительных параметров фильтра"
+#: src/LyX.cpp:1100
+msgid "No user LyX directory. Exiting."
+msgstr "Нет каталога пользователя LyX. Завершение работы."
 
-#: src/frontends/qt/ui/CitationUi.ui:96
-msgid "O&ptions"
-msgstr "&Параметры"
+#: src/LyX.cpp:1104
+#, c-format
+msgid "LyX: Creating directory %1$s"
+msgstr "LyX: Создаётся каталог  %1$s"
 
-#: src/frontends/qt/ui/CitationUi.ui:116
-msgid "A&vailable Citations:"
-msgstr "&Доступные источники:"
+#: src/LyX.cpp:1109
+msgid "Failed to create directory. Exiting."
+msgstr "Ошибка при создании каталога. Завершение работы."
 
-#: src/frontends/qt/ui/CitationUi.ui:143
-msgid "Click or press Enter to add the selected citation to the list"
-msgstr "Кликните или нажмите Enter, чтобы добавить выбранный источник в список"
+#: src/LyX.cpp:1182
+msgid "List of supported debug flags:"
+msgstr "Список поддерживаемых флагов отладки:"
 
-#: src/frontends/qt/ui/CitationUi.ui:156
-msgid "Click or press Delete to delete the selected citation from the list"
+#: src/LyX.cpp:1186
+#, c-format
+msgid "Setting debug level to %1$s"
+msgstr "Установить уровень отладки на %1$s"
+
+#: src/LyX.cpp:1197
+msgid ""
+"Usage: lyx [ command line switches ] [ name.lyx ... ]\n"
+"Command line switches (case sensitive):\n"
+"\t-help              summarize LyX usage\n"
+"\t-userdir dir       set user directory to dir\n"
+"\t-sysdir dir        set system directory to dir\n"
+"\t-geometry WxH+X+Y  set geometry of the main window\n"
+"\t-dbg feature[,feature]...\n"
+"                  select the features to debug.\n"
+"                  Type `lyx -dbg' to see the list of features\n"
+"\t-x [--execute] command\n"
+"                  where command is a lyx command.\n"
+"\t-e [--export] fmt\n"
+"                  where fmt is the export format of choice. Look in\n"
+"                  Tools->Preferences->File Handling->File Formats->Short "
+"Name\n"
+"                  to see which parameter (which differs from the format "
+"name\n"
+"                  in the File->Export menu) should be passed. To export to\n"
+"                  the document's default output format, use 'default'.\n"
+"                  Note that the order of -e and -x switches matters.\n"
+"\t-E [--export-to] fmt filename\n"
+"                  where fmt is the export format of choice (see --export),\n"
+"                  and filename is the destination filename.\n"
+"\t-i [--import] fmt file.xxx\n"
+"                  where fmt is the import format of choice\n"
+"                  and file.xxx is the file to be imported.\n"
+"\t-f [--force-overwrite] what\n"
+"                  where what is either `all', `main' or `none',\n"
+"                  specifying whether all files, main file only, or no "
+"files,\n"
+"                  respectively, are to be overwritten during a batch "
+"export.\n"
+"                  Anything else is equivalent to `all', but is not "
+"consumed.\n"
+"\t--ignore-error-message which\n"
+"                  allows you to ignore specific LaTeX error messages.\n"
+"                  Do not use for final documents! Currently supported "
+"values:\n"
+"                  * missing_glyphs: Fontspec `missing glyphs' error.\n"
+"\t-n [--no-remote]\n"
+"                  open documents in a new instance\n"
+"\t-r [--remote]\n"
+"                  open documents in an already running instance\n"
+"                  (a working lyxpipe is needed)\n"
+"\t-v [--verbose]\n"
+"                  report on terminal about spawned commands.\n"
+"\t-batch    execute commands without launching GUI and exit.\n"
+"\t-version  summarize version and build info\n"
+"Check the LyX man page for more details."
 msgstr ""
-"Кликните или нажмите Delete, чтобы удалить выбранный источник из списка"
+"Использование: lyx [ ключи командной строки ] [ имя_файла.lyx ... ]\n"
+"Ключи командной строки (будьте внимательны к регистру букв):\n"
+"\t-help              данная подсказка\n"
+"\t-userdir dir       установить каталог пользователя в dir\n"
+"\t-sysdir dir        установить системный каталог в dir\n"
+"\t-geometry WxH+X+Y  установить размер и положение главного окна при "
+"запуске\n"
+"\t-dbg feature[,feature]...\n"
+"                  выбор режимов отладки\n"
+"                  Запустите `lyx -dbg' чтобы увидеть список режимов\n"
+"\t-x [--execute] команда\n"
+"                  выполнить указанную команду lyx.\n"
+"\t-e [--export] формат\n"
+"                  экспортировать документ в указанный формат.\n"
+"\t-E [--export-to] формат имя_файла\n"
+"                  экспортировать документ в файл с заданным именем \n"
+"                  в указанный формат.\n"
+"\t-i [--import] формат имя_файла\n"
+"                  импортировать заданный файл в указанном формате.\n"
+"\t-f [--force-overwrite] что_перезаписать\n"
+"                  указать перезаписываются ли файлы при экспорте,\n"
+"                  используются значения `all' (все), `main' (только "
+"главный)\n"
+"                  или `none' (не перезаписывать).\n"
+"\t--ignore-error-message сообщение\n"
+"                  позволяет игнорировать указанное сообщение об ошибке "
+"LaTeX.\n"
+"                  Возможные значения:\n"
+"                  * missing_glyphs: Fontspec `missing glyphs' error.\n"
+"\t-n [--no-remote]\n"
+"                  открыть документы в новом экземпляре программы.\n"
+"\t-r [--remote]\n"
+"                  открыть документы в запущенном экземпляре программы\n"
+"                  (необходим рабочий lyxpipe).\n"
+"\t-v [--verbose]\n"
+"                  выводить на терминал выполняемые команды.\n"
+"\t-batch    выполнить команды без запуска графического интерфейса и выйти.\n"
+"\t-version  сведения о версии и сборке.\n"
+"Более подробное описание можно найти в документации (man page)."
 
-#: src/frontends/qt/ui/CitationUi.ui:188
-msgid "Move the selected citation up (Ctrl-Up)"
-msgstr "Переместить выбранный источник выше (Ctrl-Up)"
+#: src/LyX.cpp:1250 src/frontends/qt/GuiAbout.cpp:213
+msgid "  Git commit hash "
+msgstr "  Хэш коммита Git "
 
-#: src/frontends/qt/ui/CitationUi.ui:211
-msgid "Move the selected citation down (Ctrl-Down)"
-msgstr "Переместить выбранный источник ниже (Ctrl-Down)"
+#: src/LyX.cpp:1261 src/support/Package.cpp:647
+msgid "No system directory"
+msgstr "Нет системного каталога"
 
-#: src/frontends/qt/ui/CitationUi.ui:232
-msgid "Selected &Citations:"
-msgstr "&Выбранные источники:"
+#: src/LyX.cpp:1262
+msgid "Missing directory for -sysdir switch"
+msgstr "Отсутствует каталог для ключа -sysdir"
 
-#: src/frontends/qt/ui/CitationUi.ui:276
-msgid "Formatting"
-msgstr "Форматирование"
+#: src/LyX.cpp:1273
+msgid "No user directory"
+msgstr "Нет пользовательского каталога"
 
-#: src/frontends/qt/ui/CitationUi.ui:289
-msgid "Citation st&yle:"
-msgstr "Стиль ссылки:"
+#: src/LyX.cpp:1274
+msgid "Missing directory for -userdir switch"
+msgstr "Отсутствует каталог для ключа -userdir"
 
-#: src/frontends/qt/ui/CitationUi.ui:299 src/frontends/qt/GuiCitation.cpp:304
-msgid "Text befo&re:"
-msgstr "Текст &до:"
+#: src/LyX.cpp:1285
+msgid "Incomplete command"
+msgstr "Незавершённая команда"
 
-#: src/frontends/qt/ui/CitationUi.ui:319
-msgid "Citation style to use, if different styles are provided"
-msgstr "Стиль ссылки для использования, если имеются разные стили"
+#: src/LyX.cpp:1286
+msgid "Missing command string after --execute switch"
+msgstr "Отсутствует команда после ключа --execute"
 
-#: src/frontends/qt/ui/CitationUi.ui:328 src/frontends/qt/GuiCitation.cpp:308
+#: src/LyX.cpp:1297
+msgid "Missing file type [eg latex, ps...] after --export-to switch"
+msgstr ""
+"Отсутствует тип файла [например, latex, ps, ...] после ключа --export-to"
+
+#: src/LyX.cpp:1302
+msgid "Missing destination filename after --export-to switch"
+msgstr "Отсутствует имя файла после ключа --export-to"
+
+#: src/LyX.cpp:1315
+msgid "Missing file type [eg latex, ps...] after --export switch"
+msgstr "Отсутствует тип файла [например, latex, ps, ...] после ключа --export"
+
+#: src/LyX.cpp:1328
+msgid "Missing file type [eg latex, ps...] after --import switch"
+msgstr "Отсутствует тип файла [например, latex, ps, ...] после ключа --import"
+
+#: src/LyX.cpp:1333
+msgid "Missing filename for --import"
+msgstr "Не указано имя файла для --import"
+
+#: src/LyXRC.cpp:3029
 msgid ""
-"Text that precedes the reference (e.g., \"cf.\"), if the current citation "
-"style supports this."
+"Consider run-together words, such as \"diskdrive\" for \"disk drive\", as "
+"legal words?"
 msgstr ""
-"Текст до ссылки (например \"см.\"), если текущий стиль это поддерживает."
+"Считать слитно написанные слова, например \"diskdrive\" вместо \"disk drive"
+"\", допустимыми?"
 
-#: src/frontends/qt/ui/CitationUi.ui:335 src/frontends/qt/GuiCitation.cpp:310
-msgid "&Text after:"
-msgstr "Текст по&сле:"
+#: src/LyXRC.cpp:3033
+msgid ""
+"Specify an alternate language. The default is to use the language of the "
+"document."
+msgstr "Укажите дополнительный язык. По умолчанию используется язык документа."
 
-#: src/frontends/qt/ui/CitationUi.ui:345 src/frontends/qt/GuiCitation.cpp:314
+#: src/LyXRC.cpp:3037 src/frontends/qt/ui/PrefOutputUi.ui:186
 msgid ""
-"Text that follows the reference (e.g., pages), if the current citation style "
-"supports this."
+"The maximum line length of exported plain text/LaTeX/SGML files. If set to "
+"0, paragraphs are output in a single line; if the line length is > 0, "
+"paragraphs are separated by a blank line."
 msgstr ""
-"Текст после ссылки (например \"страниц\"), если текущий стиль это "
-"поддерживает."
+"Максимальная длина строки экспортируемого файла (LaTeX, Простой текст и "
+"др.). Если установлен 0, то абзацы выводятся одной строкой; иначе абзацы "
+"разбиваются на несколько строк."
 
-#: src/frontends/qt/ui/CitationUi.ui:375
+#: src/LyXRC.cpp:3041
 msgid ""
-"Pass content of `Text before' and `Text after' fields literally to LaTeX. "
-"Check this if you want to enter LaTeX code."
+"De-select if you don't want the current selection to be replaced "
+"automatically by what you type."
 msgstr ""
-"Передавать содержимое полей `Текст до' и `Текст после' буквально в LaTeX. "
-"Выберите, если хотите ввести код LaTeX."
+"Снимите отметку, если вы не хотите, чтобы выделенный текст автоматически "
+"замещался тем, что вы печатаете."
 
-#: src/frontends/qt/ui/CitationUi.ui:398 src/frontends/qt/GuiCitation.cpp:322
+#: src/LyXRC.cpp:3045
 msgid ""
-"Force upper case in names (\"Del Piero\", not \"del Piero\"), if the current "
-"citation style supports this."
+"De-select if you don't want the class options to be reset to defaults after "
+"class change."
 msgstr ""
-"Принудительный верхний регистр в именах (\"Да Винчи\", вместо \"да Винчи\"), "
-"если текущий стиль это поддерживает."
+"Снимите отметку, если не хотите, чтобы параметры класса устанавливались по "
+"умолчанию после изменения класса."
 
-#: src/frontends/qt/ui/CitationUi.ui:401
-msgid "Force upcas&ing"
-msgstr "&Верхний регистр"
+#: src/LyXRC.cpp:3049
+msgid ""
+"The time interval between auto-saves (in seconds). 0 means no auto-save."
+msgstr ""
+"Промежуток времени между автосохранениями (в секундах). 0 означает не "
+"выполнять автосохранение."
 
-#: src/frontends/qt/ui/CitationUi.ui:408 src/frontends/qt/GuiCitation.cpp:357
+#: src/LyXRC.cpp:3056
 msgid ""
-"Always list all authors (rather than using \"et al.\"), if the current "
-"citation style supports this."
+"The path for storing backup files. If it is an empty string, LyX will store "
+"the backup file in the same directory as the original file."
 msgstr ""
-"Всегда выводить список всех авторов (вместо использования «и др.»), если это "
-"поддерживается текущим стилем."
+"Здесь указывается путь для расположения резервных файлов. Если указана "
+"пустая строка, LyX будет создавать резервный файл в том каталоге, где "
+"находится редактируемый файл."
 
-#: src/frontends/qt/ui/CitationUi.ui:411 src/frontends/qt/GuiCitation.cpp:353
-msgid "All aut&hors"
-msgstr "Все авторы"
+#: src/LyXRC.cpp:3060
+msgid ""
+"Define the options of bibtex (cf. man bibtex) or select an alternative "
+"compiler (e.g. mlbibtex or bibulus)."
+msgstr ""
+"Определите параметры bibtex (см. man bibtex) или укажите альтернативный "
+"компилятор (напр. mlbibtex или bibulus)."
 
-#: src/frontends/qt/ui/ColorUi.ui:27
-msgid "Font Colors"
-msgstr "Цвет шрифта"
+#: src/LyXRC.cpp:3064
+msgid "Define the options of the bibtex program for PLaTeX (Japanese LaTeX)."
+msgstr "Определите параметры bibtex для PLaTeX (LaTeX для японского)."
 
-#: src/frontends/qt/ui/ColorUi.ui:38
-msgid "Main text:"
-msgstr "Основной текст:"
+#: src/LyXRC.cpp:3068
+msgid ""
+"Keybindings file. Can either specify an absolute path, or LyX will look in "
+"its global and local bind/ directories."
+msgstr ""
+"Файл с привязками клавиш. Можно указать полный путь, или же LyX будет искать "
+"файл в каталогах bind/ глобальных и локальных настроек."
 
-#: src/frontends/qt/ui/ColorUi.ui:54 src/frontends/qt/ui/ColorUi.ui:115
-#: src/frontends/qt/ui/ColorUi.ui:192 src/frontends/qt/ui/ColorUi.ui:253
-msgid "Click to change the color"
-msgstr "Нажмите, чтобы изменить цвет"
+#: src/LyXRC.cpp:3072
+msgid "Select to check whether the lastfiles still exist."
+msgstr ""
+"Отметьте, чтобы осуществлялась проверка существования файлов в списке "
+"недавно открывавшихся."
 
-#: src/frontends/qt/ui/ColorUi.ui:57 src/frontends/qt/ui/ColorUi.ui:195
-msgid "Default..."
-msgstr "По умолчанию..."
+#: src/LyXRC.cpp:3076
+msgid ""
+"Define how to run chktex. E.g. \"chktex -n11 -n1 -n3 -n6 -n9 -22 -n25 -n30 -"
+"n38\" Refer to the ChkTeX documentation."
+msgstr ""
+"Определяет как запускать chktex. Например, \"chktex -n11 -n1 -n3 -n6 -n9 -22 "
+"-n25 -n30 -n38\" Обращайтесь к документации по ChkTeX."
 
-#: src/frontends/qt/ui/ColorUi.ui:70 src/frontends/qt/ui/ColorUi.ui:131
-#: src/frontends/qt/ui/ColorUi.ui:208 src/frontends/qt/ui/ColorUi.ui:269
-msgid "Revert the color to the default"
-msgstr "Установить цвет по умолчанию"
+#: src/LyXRC.cpp:3083
+msgid ""
+"Forbid use of external converters with 'needauth' option to prevent "
+"undesired effects."
+msgstr ""
+"Запретить использование внешних конвертеров с опцией 'needauth' для "
+"предотвращения нежелательных эффектов."
 
-#: src/frontends/qt/ui/ColorUi.ui:99
-msgid "Greyed-out notes:"
-msgstr "Серый текст:"
+#: src/LyXRC.cpp:3087
+msgid ""
+"Ask user before calling external converters with 'needauth' option to "
+"prevent undesired effects."
+msgstr ""
+"Спрашивать пользователя перед вызовом внешних конвертеров с опцией "
+"'needauth', чтобы предотвратить нежелательные эффекты."
 
-#: src/frontends/qt/ui/ColorUi.ui:118 src/frontends/qt/ui/ColorUi.ui:256
-#: src/frontends/qt/GuiDocument.cpp:2161 src/frontends/qt/GuiDocument.cpp:2191
-msgid "&Change..."
-msgstr "Изменить..."
+#: src/LyXRC.cpp:3094
+msgid ""
+"LyX normally doesn't update the cursor position if you move the scrollbar. "
+"Set to true if you'd prefer to always have the cursor on screen."
+msgstr ""
+"Обычно в LyX'е при перемещении по тексту с помощью полосы прокрутки позиция "
+"курсора не обновляется. Отметьте этот пункт, если вы предпочитаете всегда "
+"видеть курсор на экране."
 
-#: src/frontends/qt/ui/ColorUi.ui:165
-msgid "Background Colors"
-msgstr "Цвет фона"
+#: src/LyXRC.cpp:3098 src/frontends/qt/ui/PrefEditUi.ui:167
+msgid ""
+"Configure the width of the text cursor. Automatic zoom-controlled cursor "
+"width used when set to 0."
+msgstr ""
+"Настроить ширину текстового курсора. Используется автоматическая ширина, "
+"если установлено в 0."
 
-#: src/frontends/qt/ui/ColorUi.ui:176 lib/layouts/europecv.layout:126
-msgid "Page:"
-msgstr "Страница:"
+#: src/LyXRC.cpp:3102
+msgid ""
+"LyX normally doesn't allow the user to scroll further than the bottom of the "
+"document. Set to true if you prefer to scroll the bottom of the document to "
+"the top of the screen"
+msgstr ""
+"Обычно LyX не позволяет пользователю прокручивать ниже конца документа. "
+"Отметьте этот пункт, если вы предпочитаете прокручивать конец документа до "
+"верха экрана"
 
-#: src/frontends/qt/ui/ColorUi.ui:237
-msgid "Shaded boxes:"
-msgstr "Закрашенные блоки:"
+#: src/LyXRC.cpp:3106
+msgid "Make Apple key act as Meta and Control key as Ctrl."
+msgstr ""
+"Настроить клавишу Apple действовать как Мета, а клавишу Control как Ctrl."
 
-#: src/frontends/qt/ui/CompareHistoryUi.ui:23
-msgid "Compare Revisions"
-msgstr "Сравнить версии"
+#: src/LyXRC.cpp:3110
+msgid "Use the Mac OS X conventions for cursor movement"
+msgstr "Использовать обычный для macOS способ перемещения курсора"
 
-#: src/frontends/qt/ui/CompareHistoryUi.ui:34
-msgid "Revisions ba&ck"
-msgstr "Версий назад"
+#: src/LyXRC.cpp:3114
+msgid ""
+"Show a small box around a Math Macro with the macro name when the cursor is "
+"inside."
+msgstr ""
+"Показывать маленькую рамку с именем вокруг матем. макросов, когда курсор "
+"внутри."
 
-#: src/frontends/qt/ui/CompareHistoryUi.ui:87
-msgid "&Between revisions"
-msgstr "Между версиями"
+#: src/LyXRC.cpp:3118
+msgid ""
+"Command definition file. Can either specify an absolute path, or LyX will "
+"look in its global and local commands/ directories."
+msgstr ""
+"Файл определений команд. Можно указать как абсолютный путь, так и "
+"относительный, тогда LyX будет искать в глобальном и локальном каталоге "
+"commands/."
 
-#: src/frontends/qt/ui/CompareHistoryUi.ui:100
-msgid "Old:"
-msgstr "Старая:"
+#: src/LyXRC.cpp:3122
+msgid ""
+"The default format used with LFUN_BUFFER_[VIEW|UPDATE] with non-TeX fonts."
+msgstr ""
+"Формат по умолчанию, используемый с LFUN_BUFFER_[VIEW|UPDATE] с системными "
+"шрифтами."
 
-#: src/frontends/qt/ui/CompareHistoryUi.ui:135
-msgid "New:"
-msgstr "Новая:"
+#: src/LyXRC.cpp:3126
+msgid "The default format used with LFUN_BUFFER_[VIEW|UPDATE]."
+msgstr "Формат по умолчанию, используемый с LFUN_BUFFER_[VIEW|UPDATE]."
 
-#: src/frontends/qt/ui/CompareUi.ui:35
-msgid "Old Documen&t:"
-msgstr "Старый документ:"
+#: src/LyXRC.cpp:3130
+msgid ""
+"Iconify the dialogs when the main window is iconified. (Affects only dialogs "
+"shown after the change has been made.)"
+msgstr ""
+"Сворачивать ли диалоги при сворачивании главного окна программы. "
+"(Подействует только на вновь открываемые диалоги.)"
 
-#: src/frontends/qt/ui/CompareUi.ui:51
-msgid "Specify the original version of the document here (comparison source)"
-msgstr "Укажите исходную версию документа (источник сравнения)"
+#: src/LyXRC.cpp:3134
+msgid "Select how LyX will display any graphics."
+msgstr "Укажите как LyX будет отображать любую графику в документе."
 
-#: src/frontends/qt/ui/CompareUi.ui:61 src/frontends/qt/ui/PrefUi.ui:61
-msgid "Bro&wse..."
-msgstr "&Выбрать..."
+#: src/LyXRC.cpp:3138
+msgid ""
+"The default path for your documents. An empty value selects the directory "
+"LyX was started from."
+msgstr ""
+"Путь по умолчанию для ваших документов. Пустое значение выбирает каталог, из "
+"которого был запущен LyX."
 
-#: src/frontends/qt/ui/CompareUi.ui:71
-msgid "&New Document:"
-msgstr "Новый документ:"
+#: src/LyXRC.cpp:3142
+msgid "Specify additional chars that can be part of a word."
+msgstr "Укажите дополнительные символы, которые могут быть частью слова."
 
-#: src/frontends/qt/ui/CompareUi.ui:87
-msgid "Specify the modified version of the document here (comparison target)"
-msgstr "Укажите изменённую версию документа (цель сравнения)"
+#: src/LyXRC.cpp:3146
+msgid ""
+"The path that LyX will set when offering to choose an example. An empty "
+"value selects the directory LyX was started from."
+msgstr ""
+"Путь, по которому LyX будет переходить при необходимости выбрать шаблон. "
+"Пустое значение означает, что будет выбран каталог, из которого LyX был "
+"запущен."
 
-#: src/frontends/qt/ui/CompareUi.ui:97 src/frontends/qt/ui/ExternalUi.ui:89
-#: src/frontends/qt/ui/GraphicsUi.ui:75 src/frontends/qt/ui/IncludeUi.ui:28
-#: src/frontends/qt/ui/LaTeXUi.ui:170 src/frontends/qt/ui/LyXFilesUi.ui:152
-#: src/frontends/qt/ui/PrefInputUi.ui:52
-msgid "&Browse..."
-msgstr "&Выбрать..."
+#: src/LyXRC.cpp:3153
+msgid ""
+"Define the options of makeindex (cf. man makeindex) or select an alternative "
+"compiler. E.g., using xindy/make-rules, the command string would be "
+"\"makeindex.sh -m $$lang\"."
+msgstr ""
+"Определите параметры для makeindex (см. man makeindex) или укажите "
+"альтернативный компилятор. Напр. для xindy/make-rules, команда будет "
+"\"makeindex.sh -m $$lang\"."
 
-#: src/frontends/qt/ui/CompareUi.ui:117
-msgid "Select the document from which the settings should be taken"
-msgstr "Выберите документ, из которого должны быть взяты настройки"
+#: src/LyXRC.cpp:3157
+msgid "Define the options of the index program for PLaTeX (Japanese LaTeX)."
+msgstr "Определите параметры команды index для PLaTeX (LaTeX для японского)."
 
-#: src/frontends/qt/ui/CompareUi.ui:120 src/frontends/qt/GuiDocument.cpp:784
-msgid "Document Settings"
-msgstr "Настройки документа"
+#: src/LyXRC.cpp:3161
+msgid ""
+"Define the options of makeindex (cf. man makeindex) to be used for "
+"nomenclatures. This might differ from the index processing options."
+msgstr ""
+"Определите параметры для makeindex (см. man makeindex) для использования в "
+"условных обозначениях. Они могут отличаться от параметров обработки "
+"предметного указателя."
 
-#: src/frontends/qt/ui/CompareUi.ui:129
-msgid "O&ld Document"
-msgstr "Старый документ"
+#: src/LyXRC.cpp:3165
+msgid "The command to run the python pygments syntax highlighter."
+msgstr "Команда для выполнения Pygments."
 
-#: src/frontends/qt/ui/CompareUi.ui:136
-msgid "New Docu&ment"
-msgstr "Новый документ"
+#: src/LyXRC.cpp:3174
+msgid ""
+"Use this to set the correct mapping file for your keyboard. You'll need this "
+"if you for instance want to type German documents on an American keyboard."
+msgstr ""
+"Используйте это для установки корректной раскладки для вашей клавиатуры. Вам "
+"потребуется эта возможность, если вы, например, захотите набирать документы "
+"на немецком языке на американской клавиатуре."
 
-#: src/frontends/qt/ui/CompareUi.ui:183
+#: src/LyXRC.cpp:3178
 msgid ""
-"Turns on the change tracking and showing changes in LaTeX output for the "
-"resulting document"
+"Select if a language switching command is needed at the beginning of the "
+"document."
 msgstr ""
-"Включить отслеживание изменений и показать их в выводе LaTeX в "
-"результирующем документе"
+"Отметьте, если в начале документа требуется команда переключения языка."
 
-#: src/frontends/qt/ui/CompareUi.ui:186
-msgid "&Enable change tracking features in the output"
-msgstr "Отслеживать изменения в выходном файле"
+#: src/LyXRC.cpp:3182
+msgid ""
+"Select if a language switching command is needed at the end of the document."
+msgstr "Отметьте, если в конце документа требуется команда переключения языка."
 
-#: src/frontends/qt/ui/CounterUi.ui:22
-msgid "C&ounter:"
-msgstr "Счётчик:"
+#: src/LyXRC.cpp:3186
+msgid ""
+"The LaTeX command for changing from the language of the document to another "
+"language. E.g. \\selectlanguage{$$lang} where $$lang is substituted by the "
+"name of the second language."
+msgstr ""
+"Команда LaTeX для переключения от языка документа к другому языку. Например "
+"\\selectlanguage{$$lang}, где $$lang заменяется названием другого языка."
 
-#: src/frontends/qt/ui/CounterUi.ui:38
-msgid "Select counter to modify"
-msgstr "Выберите счётчик для изменения"
+#: src/LyXRC.cpp:3190
+msgid "The LaTeX command for changing back to the language of the document."
+msgstr "Команда LaTeX для возвращения обратно к языку документа."
 
-#: src/frontends/qt/ui/CounterUi.ui:45
-msgid "&Action:"
-msgstr "Действие:"
+#: src/LyXRC.cpp:3194
+msgid "The LaTeX command for local changing of the language."
+msgstr "Команда LaTeX для локального изменения языка."
 
-#: src/frontends/qt/ui/CounterUi.ui:63
-msgid "Select the action to perform on selected counter"
-msgstr "Выберите действие, которое необходимо произвести с выбранным счётчиком"
+#: src/LyXRC.cpp:3198
+msgid ""
+"De-select if you don't want the language(s) used as an argument to "
+"\\documentclass."
+msgstr ""
+"Снимите отметку, чтобы язык(и) не использовался как аргумент в "
+"\\documentclass."
 
-#: src/frontends/qt/ui/CounterUi.ui:79
+#: src/LyXRC.cpp:3202
 msgid ""
-"If checked, modification affects the counter only in the LyX workarea, not "
-"in the output"
+"The LaTeX command for loading the language package. E.g. "
+"\"\\usepackage{babel}\", \"\\usepackage{omega}\"."
 msgstr ""
-"Если установлено, модификация влияет на счётчик только в рабочей области "
-"LyX, а не в выводе."
+"Команда LaTeX для загрузки языкового пакета. Например "
+"\"\\usepackage{babel}\", \"\\usepackage{omega}\"."
 
-#: src/frontends/qt/ui/CounterUi.ui:85
-msgid "&Workarea only"
-msgstr "Только в рабочей области"
+#: src/LyXRC.cpp:3206
+msgid ""
+"De-select if you don't want babel to be used when the language of the "
+"document is the default language."
+msgstr ""
+"Снимите отметку, если не хотите, чтобы babel использовался, когда язык "
+"документа совпадает с языком по умолчанию."
 
-#: src/frontends/qt/ui/DelimiterUi.ui:122 src/frontends/qt/GuiDelimiter.cpp:326
-msgid "TeX Code: "
-msgstr "Код TeX: "
+#: src/LyXRC.cpp:3210
+msgid "De-select if you do not want LyX to scroll to saved position."
+msgstr "Снимите отметку, чтобы LyX не прокручивал к сохранённой позиции."
 
-#: src/frontends/qt/ui/DelimiterUi.ui:221
-msgid "Match delimiter types"
-msgstr "Обеспечивать соответствие типов ограничителей"
+#: src/LyXRC.cpp:3214
+msgid "De-select to prevent loading files opened from the last LyX session."
+msgstr ""
+"Снимите отметку, чтобы не загружать файлы, открытые в последней сессии LyX."
 
-#: src/frontends/qt/ui/DelimiterUi.ui:224
-msgid "&Keep matched"
-msgstr "&Обеспечивать соответствие"
+#: src/LyXRC.cpp:3218
+msgid "De-select if you don't want LyX to create backup files."
+msgstr "Снимите отметку, чтобы LyX не создавал резервные файлы."
 
-#: src/frontends/qt/ui/DelimiterUi.ui:240
+#: src/LyXRC.cpp:3222
 msgid ""
-"Swap left and right delimiter type (while reversing to the appropriate "
-"direction)"
-msgstr "Поменять местами левый и правый ограничитель"
+"Select to control the highlighting of words with a language foreign to that "
+"of the document."
+msgstr ""
+"Отметьте для включения подчёркивания слов, написанных в языке, отличном от "
+"языка документа."
 
-#: src/frontends/qt/ui/DelimiterUi.ui:243
-msgid "S&wap && Reverse"
-msgstr "Поменять и обратить"
+#: src/LyXRC.cpp:3226 src/frontends/qt/ui/PrefLanguageUi.ui:199
+msgid ""
+"Select to use the current keyboard language, as set from the operating "
+"system, as default input language."
+msgstr ""
+"Выберите, чтобы использовать текущий язык клавиатуры, установленный "
+"операционной системой, в качестве языка ввода по умолчанию."
 
-#: src/frontends/qt/ui/DocumentUi.ui:93
-msgid "Reset to the default settings for the document class"
-msgstr "Восстановить параметры по умолчанию для текущего класса документа"
+#: src/LyXRC.cpp:3230
+msgid "The scrolling speed of the mouse wheel."
+msgstr "Скорость прокрутки колёсика мышки."
 
-#: src/frontends/qt/ui/DocumentUi.ui:96
-msgid "Use Class Defaults"
-msgstr "По умолчанию для класса"
+#: src/LyXRC.cpp:3234
+msgid "The completion popup delay."
+msgstr "Задержка всплывающих дополнений."
 
-#: src/frontends/qt/ui/DocumentUi.ui:109
-msgid "Save settings as defaults for new documents"
-msgstr "Сохранить настройки как настройки по умолчанию для новых документов"
+#: src/LyXRC.cpp:3238
+msgid "Select to display the completion popup in math mode."
+msgstr ""
+"Выберите для показа всплывающего окна дополнения в математическом режиме."
 
-#: src/frontends/qt/ui/DocumentUi.ui:112
-msgid "Save as Document Defaults"
-msgstr "Сохранить как параметры документа по умолчанию"
+#: src/LyXRC.cpp:3242
+msgid "Select to display the completion popup in text mode."
+msgstr "Выберите для показа всплывающего окна дополнения в текстовом режиме."
 
-#: src/frontends/qt/ui/ERTUi.ui:28 src/frontends/qt/GuiPrefs.cpp:1299
-msgid "Display"
-msgstr "Вид"
+#: src/LyXRC.cpp:3246
+msgid ""
+"Show the completion popup without delay after non-unique completion attempt."
+msgstr ""
+"Показывать всплывающее окно дополнения без задержки после попытки "
+"неединственного дополнения."
 
-#: src/frontends/qt/ui/ERTUi.ui:40
-msgid "Show ERT button only"
-msgstr "Показывать только кнопку ERT"
+#: src/LyXRC.cpp:3250
+msgid ""
+"Show a small triangle on the cursor to indicate that a completion is "
+"available."
+msgstr ""
+"Показывать маленький треугольник возле курсора, если доступно дополнение."
 
-#: src/frontends/qt/ui/ERTUi.ui:43
-msgid "&Collapsed"
-msgstr "&Свёрнутый"
+#: src/LyXRC.cpp:3254
+msgid "The inline completion delay."
+msgstr "Задержка дополнения в строке."
 
-#: src/frontends/qt/ui/ERTUi.ui:50
-msgid "Show ERT contents"
-msgstr "Показывать содержимое ERT"
+#: src/LyXRC.cpp:3258
+msgid "Select to display the inline completion in math mode."
+msgstr "Выберите для показа встроенного дополнения в математическом режиме."
 
-#: src/frontends/qt/ui/ERTUi.ui:53
-msgid "O&pen"
-msgstr "&Развёрнутый"
+#: src/LyXRC.cpp:3262
+msgid "Select to display the inline completion in text mode."
+msgstr "Выберите для показа встроенного дополнения в текстовом режиме."
 
-#: src/frontends/qt/ui/ErrorListUi.ui:38
+#: src/LyXRC.cpp:3266
+msgid "Use \"...\" to shorten long completions."
+msgstr "Использовать \"...\" чтобы укоротить длинные дополнения."
+
+#: src/LyXRC.cpp:3270
+msgid "Allow TeXMacs shorthand, like => converting to \\Rightarrow."
+msgstr ""
+"Разрешить сокращения TeXMacs, например => преобразуется в \\Rightarrow."
+
+#: src/LyXRC.cpp:3274
+#, c-format
+msgid "Maximal number of lastfiles. Up to %1$d can appear in the file menu."
+msgstr ""
+"Максимальное количество недавних файлов (%1$d), которые будут показываться в "
+"меню Файл."
+
+#: src/LyXRC.cpp:3279
 msgid ""
-"Selecting an error will show the error message in the panel below and the "
-"cursor will jump to the location in the document where the error occurred."
+"Specify those directories which should be prepended to the PATH environment "
+"variable.\n"
+"Use the OS native format."
 msgstr ""
-"Выбор ошибки покажет сообщение об ней в нижней панели, при этом курсор "
-"перейдёт к месту в документе, где произошла эта ошибка."
+"Эти каталоги будут использованы до обработки переменной среды PATH. "
+"Указывайте их в том виде, как принято в вашей операционной системе."
 
-#: src/frontends/qt/ui/ErrorListUi.ui:51
-msgid "For more information, refer to the complete log."
-msgstr "За подробной информаций обратитесь к полному журналу."
+#: src/LyXRC.cpp:3285
+msgid "Shows a typeset preview of things such as math"
+msgstr "Показывать формулы так, как они будут выглядеть при печати"
 
-#: src/frontends/qt/ui/ErrorListUi.ui:58
-msgid "Description:"
-msgstr "Описание:"
+#: src/LyXRC.cpp:3289
+msgid "Previewed equations will have \"(#)\" labels rather than numbered ones"
+msgstr ""
+"У предварительно показываемых формул будут метки \"(#)\" вместо номеров"
 
-#: src/frontends/qt/ui/ErrorListUi.ui:65
-msgid "&Errors:"
-msgstr "&Ошибки:"
+#: src/LyXRC.cpp:3293
+msgid "Scale the preview size to suit."
+msgstr "Изменить размер предварительного показа до подходящего."
 
-#: src/frontends/qt/ui/ErrorListUi.ui:75
-msgid "Open the LaTeX Log File dialog"
-msgstr "Открыть диалоговое окно файла журнала LaTeX"
+#: src/LyXRC.cpp:3297
+msgid "The option to print out in landscape."
+msgstr "Параметр для печати в альбомной ориентации."
 
-#: src/frontends/qt/ui/ErrorListUi.ui:78
-msgid "View Complete &Log..."
-msgstr "Просмотр полного &журнала..."
+#: src/LyXRC.cpp:3301
+msgid "Option to specify the dimensions of the print paper."
+msgstr "Параметр для задания размеров бумаги."
 
-#: src/frontends/qt/ui/ErrorListUi.ui:101
-msgid "Attempt to show the output even if there were compilation errors"
-msgstr "Попробовать показать результат даже при наличии ошибок компиляции"
+#: src/LyXRC.cpp:3305
+msgid "The option to specify paper type."
+msgstr "Параметр, указывающий формат бумаги."
 
-#: src/frontends/qt/ui/ErrorListUi.ui:104
-msgid "Show Output &Anyway"
-msgstr "Всё равно показать результат"
+#: src/LyXRC.cpp:3309
+msgid ""
+"Select to have visual bidi cursor movement, unselect for logical movement."
+msgstr ""
+"Отметьте для визуального перемещения курсора, уберите отметку для "
+"логического перемещения."
 
-#: src/frontends/qt/ui/ExternalUi.ui:45
-msgid "F&ile"
-msgstr "&Файл"
+#: src/LyXRC.cpp:3313
+msgid ""
+"Specify whether, closing the last view of an open document, LyX should close "
+"the document (yes), hide it (no), or ask the user (ask)."
+msgstr ""
+"Укажите, следует ли, закрыв последний вид открытого документа, закрыть "
+"документ (да), скрыть его (нет) или спросить пользователя (спросить)."
 
-#: src/frontends/qt/ui/ExternalUi.ui:66 src/frontends/qt/ui/ExternalUi.ui:73
-#: lib/layouts/aastex.layout:560 lib/layouts/db_stdcharstyles.inc:7
-#: lib/layouts/db_stdcharstyles.inc:8
-msgid "Filename"
-msgstr "Имя файла"
+#: src/LyXRC.cpp:3317
+msgid ""
+"DPI (dots per inch) of your monitor is auto-detected by LyX. If that goes "
+"wrong, override the setting here."
+msgstr ""
+"DPI (количество точек на дюйм) вашего монитора определяется LyX "
+"автоматически. Если LyX сделал это неправильно, вы можете указать здесь "
+"правильное значение."
 
-#: src/frontends/qt/ui/ExternalUi.ui:76 src/frontends/qt/ui/GraphicsUi.ui:295
-#: src/frontends/qt/ui/IncludeUi.ui:89
-msgid "&File:"
-msgstr "&Файл:"
+#: src/LyXRC.cpp:3323
+msgid "The screen fonts used to display the text while editing."
+msgstr "Экранные шрифты, используемые для показа текста при редактировании."
 
-#: src/frontends/qt/ui/ExternalUi.ui:86 src/frontends/qt/ui/IncludeUi.ui:25
-msgid "Select a file"
-msgstr "Выберите файл"
+#: src/LyXRC.cpp:3332
+msgid ""
+"Allow bitmap fonts to be resized. If you are using a bitmap font, selecting "
+"this option may make some fonts look blocky in LyX. Deselecting this option "
+"makes LyX use the nearest bitmap font size available, instead of scaling."
+msgstr ""
+"Разрешить масштабирование растровых шрифтов. При установленной отметке "
+"некоторые шрифты могут выглядеть зазубренными. Если отметка снята, LyX "
+"вместо масштабирования будет использовать ближайший по размеру доступный "
+"шрифт."
 
-#: src/frontends/qt/ui/ExternalUi.ui:96
-msgid "&Draft"
-msgstr "&Черновой режим"
+#: src/LyXRC.cpp:3336
+msgid "The font sizes used for calculating the scaling of the screen fonts."
+msgstr "Размеры шрифтов, используемые для вычисления размера экранных шрифтов."
 
-#: src/frontends/qt/ui/ExternalUi.ui:103
-msgid "&Template"
-msgstr "&Шаблон"
+#: src/LyXRC.cpp:3341
+#, no-c-format
+msgid ""
+"The zoom percentage for screen fonts. A setting of 100% will make the fonts "
+"roughly the same size as on paper."
+msgstr ""
+"Масштабирования для экранных шрифтов. Указание 100% будет давать шрифты "
+"такого же размера, как и на бумаге."
 
-#: src/frontends/qt/ui/ExternalUi.ui:152
-msgid "Available templates"
-msgstr "Доступные шаблоны"
+#: src/LyXRC.cpp:3345
+msgid "Allow session manager to save and restore windows geometry."
+msgstr "Разрешить менеджеру сеансов сохранять и восстанавливать размеры окна."
 
-#: src/frontends/qt/ui/ExternalUi.ui:163 src/frontends/qt/ui/GraphicsUi.ui:493
-msgid "LaTe&X and LyX options"
-msgstr "Параметры LaTe&X и LyX"
+#: src/LyXRC.cpp:3349
+msgid ""
+"This starts the lyxserver. The pipes get an additional extension \".in\" and "
+"\".out\". Only for advanced users."
+msgstr ""
+"Это запускает lyxserver. Каналы получают дополнительное расширение \"in\" и "
+"\"out\". Только для продвинутых пользователей."
 
-#: src/frontends/qt/ui/ExternalUi.ui:184
-msgid "LaTeX Options"
-msgstr "Параметры LaTeX"
+#: src/LyXRC.cpp:3356
+msgid "De-select if you don't want the startup banner."
+msgstr "Снимите отметку, если вы не хотите видеть заставку при запуске."
 
-#: src/frontends/qt/ui/ExternalUi.ui:211
-msgid "O&ption:"
-msgstr "&Параметр:"
+#: src/LyXRC.cpp:3360
+msgid ""
+"LyX will place its temporary directories in this path. They will be deleted "
+"when you quit LyX."
+msgstr ""
+"LyX будет размещать свои временные каталоги по этому пути. Они будут удалены "
+"при выходе из LyX."
 
-#: src/frontends/qt/ui/ExternalUi.ui:224
-msgid "For&mat:"
-msgstr "&Формат:"
+#: src/LyXRC.cpp:3364
+msgid "This is the place where the files of the thesaurus library reside."
+msgstr "Это место, где хранятся файлы библиотеки тезауруса."
 
-#: src/frontends/qt/ui/ExternalUi.ui:240
+#: src/LyXRC.cpp:3368
 msgid ""
-"Enable LyX to preview this material; only if graphics previewing is not "
-"disabled at application level (see Preference dialog)."
+"The path that LyX will set when offering to choose a template. An empty "
+"value selects the directory LyX was started from."
 msgstr ""
-"Разрешить LyX предварительный просмотр объекта, если только он не запрещён "
-"на уровне приложения (см. диалоговое окно Настройки)."
+"Путь, по которому LyX будет переходить при необходимости выбрать шаблон. "
+"Пустое значение означает, что будет выбран каталог, из которого LyX был "
+"запущен."
 
-#: src/frontends/qt/ui/ExternalUi.ui:243
-msgid "&Show in LyX"
-msgstr "&Показывать в LyX"
+#: src/LyXRC.cpp:3378
+msgid ""
+"Specify those directories which should be prepended to the TEXINPUTS "
+"environment variable.\n"
+"A '.' represents the current document directory. Use the OS native format."
+msgstr ""
+"Укажите каталоги, которые будут использованы до обработки переменной среды "
+"TEXINPUTS. Указывайте их в том виде, как принято в вашей операционной "
+"системе."
 
-#: src/frontends/qt/ui/ExternalUi.ui:270 src/frontends/qt/ui/ExternalUi.ui:292
-#: src/frontends/qt/ui/GraphicsUi.ui:595 src/frontends/qt/ui/GraphicsUi.ui:602
-msgid "Percentage to scale by in LyX"
-msgstr "Процент масштабирования в LyX"
+#: src/LyXRC.cpp:3385
+msgid ""
+"The UI (user interface) file. Can either specify an absolute path, or LyX "
+"will look in its global and local ui/ directories."
+msgstr ""
+"Файл пользовательского интерфейса (UI). Может быть либо указан абсолютный "
+"путь, либо LyX будет искать его в глобальном или локальном каталоге ui/."
 
-#: src/frontends/qt/ui/ExternalUi.ui:273
-msgid "Sca&le on Screen (%):"
-msgstr "Масштаб на экране (%):"
+#: src/LyXRC.cpp:3395
+msgid ""
+"Enable use the system colors for some things like main window background and "
+"selection."
+msgstr ""
+"Включить использование системных цветов для некоторых вещей, таких как фон "
+"главного окна и выделение."
 
-#: src/frontends/qt/ui/ExternalUi.ui:329
-msgid "Si&ze and Rotation"
-msgstr "Ра&змер и поворот"
+#: src/LyXRC.cpp:3399
+msgid "Enable the automatic appearance of tool tips in the work area."
+msgstr "Включить автоматическое появление подсказок в рабочей области."
 
-#: src/frontends/qt/ui/ExternalUi.ui:350 src/frontends/qt/ui/TabularUi.ui:108
-msgid "Rotate"
-msgstr "Повернуть на"
+#: src/LyXRC.cpp:3403
+msgid "Specify the paper command to DVI viewer (leave empty or use \"-paper\")"
+msgstr ""
+"Укажите команду установки формата бумаги для просмотрщика DVI (оставьте "
+"пустым или введите \"-paper\")"
 
-#: src/frontends/qt/ui/ExternalUi.ui:413 src/frontends/qt/ui/ExternalUi.ui:443
-#: src/frontends/qt/ui/GraphicsUi.ui:269 src/frontends/qt/ui/GraphicsUi.ui:276
-msgid "Angle to rotate image by"
-msgstr "Угол поворота изображения"
+#: src/LyXVC.cpp:49
+#, c-format
+msgid "%1$s lock"
+msgstr "%1$s блокировка"
 
-#: src/frontends/qt/ui/ExternalUi.ui:423 src/frontends/qt/ui/ExternalUi.ui:436
-#: src/frontends/qt/ui/GraphicsUi.ui:243 src/frontends/qt/ui/GraphicsUi.ui:250
-msgid "The origin of the rotation"
-msgstr "Центр вращения"
+#: src/LyXVC.cpp:111
+#, c-format
+msgid "Do you want to retrieve the document %1$s from version control?"
+msgstr "Хотите получить документ %1$s из системы контроля версий?"
 
-#: src/frontends/qt/ui/ExternalUi.ui:426
-msgid "Ori&gin:"
-msgstr "&Центр:"
+#: src/LyXVC.cpp:113
+msgid "Retrieve from version control?"
+msgstr "Получить из системы контроля версий?"
 
-#: src/frontends/qt/ui/ExternalUi.ui:446
-msgid "A&ngle:"
-msgstr "&Угол:"
+#: src/LyXVC.cpp:114
+msgid "&Retrieve"
+msgstr "&Получить"
 
-#: src/frontends/qt/ui/ExternalUi.ui:461 lib/layouts/shapepar.module:123
-msgid "Scale"
-msgstr "Масштаб"
+#: src/LyXVC.cpp:148
+msgid "Document not saved"
+msgstr "Документ не сохранён"
 
-#: src/frontends/qt/ui/ExternalUi.ui:494 src/frontends/qt/ui/GraphicsUi.ui:153
-#: src/frontends/qt/GuiGraphics.cpp:481
-msgid "Height of image in output"
-msgstr "Высота изображения в выводе"
+#: src/LyXVC.cpp:149
+msgid "You must save the document before it can be registered."
+msgstr "Вы должны сохранить документ перед тем как зарегистрировать его."
 
-#: src/frontends/qt/ui/ExternalUi.ui:504 src/frontends/qt/ui/GraphicsUi.ui:121
-#: src/frontends/qt/GuiGraphics.cpp:480
-msgid "Width of image in output"
-msgstr "Ширина изображения в выводе"
+#: src/LyXVC.cpp:185
+msgid "LyX VC: Initial description"
+msgstr "LyX VC: Первоначальное описание"
 
-#: src/frontends/qt/ui/ExternalUi.ui:527
-msgid "Maintain aspect ratio with largest dimension"
-msgstr "Сохранять пропорции с наибольшим измерением"
+#: src/LyXVC.cpp:186 src/LyXVC.cpp:193
+msgid "(no initial description)"
+msgstr "(нет начального описания)"
 
-#: src/frontends/qt/ui/ExternalUi.ui:530 src/frontends/qt/ui/GraphicsUi.ui:199
-msgid "&Maintain aspect ratio"
-msgstr "&Сохранять пропорции"
+#: src/LyXVC.cpp:205 src/LyXVC.cpp:224
+msgid "LyX VC: Log message"
+msgstr "LyX VC: Сообщение журнала"
 
-#: src/frontends/qt/ui/ExternalUi.ui:553
-msgid "Crop"
-msgstr "Обрезка"
+#: src/LyXVC.cpp:206 src/LyXVC.cpp:212 src/LyXVC.cpp:225 src/LyXVC.cpp:231
+#: src/LyXVC.cpp:242
+msgid "(no log message)"
+msgstr "(нет сообщения)"
 
-#: src/frontends/qt/ui/ExternalUi.ui:577
-msgid "Clip to bounding box values"
-msgstr "Обрезать по рамке (bounding box)"
+#: src/LyXVC.cpp:246 src/frontends/qt/GuiView.cpp:3629
+msgid "LyX VC: Log Message"
+msgstr "LyX VC: Сообщение для журнала сообщений"
 
-#: src/frontends/qt/ui/ExternalUi.ui:580
-msgid "Clip to &bounding box"
-msgstr "Обрезать по &рамке"
+#: src/LyXVC.cpp:298
+#, c-format
+msgid ""
+"Reverting to the stored version of the document %1$s will lose all current "
+"changes.\n"
+"\n"
+"Do you want to revert to the older version?"
+msgstr ""
+"Откат к версии из репозитория для документа %1$s приведёт к потере всех "
+"текущих изменений.\n"
+"\n"
+"Откатить к старой версии?"
 
-#: src/frontends/qt/ui/ExternalUi.ui:587 src/frontends/qt/ui/GraphicsUi.ui:390
-msgid "Left botto&m:"
-msgstr "&Левый нижний угол:"
+#: src/LyXVC.cpp:303
+msgid "Revert to stored version of document?"
+msgstr "Откат к версии из репозитория"
 
-#: src/frontends/qt/ui/ExternalUi.ui:600
-msgid "x"
-msgstr "x"
+#: src/LyXVC.cpp:304 src/frontends/qt/GuiView.cpp:4213
+msgid "&Revert"
+msgstr "Откатить"
 
-#: src/frontends/qt/ui/ExternalUi.ui:607 src/frontends/qt/ui/GraphicsUi.ui:428
-msgid "Right &top:"
-msgstr "&Правый верхний угол:"
+#: src/Paragraph.cpp:2060
+msgid "Senseless with this layout!"
+msgstr "Бессмысленно в этом макете!"
 
-#: src/frontends/qt/ui/ExternalUi.ui:617
-msgid "Get bounding box from the (EPS) file"
-msgstr "Получить рамку из файла (EPS)"
+#: src/Paragraph.cpp:2114
+msgid "Alignment not permitted"
+msgstr "Выравнивание не разрешено"
 
-#: src/frontends/qt/ui/ExternalUi.ui:620 src/frontends/qt/ui/GraphicsUi.ui:485
-msgid "&Get from File"
-msgstr "&Получить значения из файла"
+#: src/Paragraph.cpp:2115
+msgid ""
+"The new layout does not permit the alignment previously used.\n"
+"Setting to default."
+msgstr ""
+"Новый макет не позволяет выравнивание, которое использовалось до этого.\n"
+"Возврат к умолчаниям."
 
-#: src/frontends/qt/ui/ExternalUi.ui:650
-msgid "y"
-msgstr "y"
+#: src/RowPainter.cpp:367 lib/layouts/IEEEtran.layout:333
+#: lib/layouts/IEEEtran.layout:336 lib/layouts/aastex.layout:382
+#: lib/layouts/aastex6.layout:96 lib/layouts/aastex62.layout:107
+#: lib/layouts/aastex62.layout:228 lib/layouts/aastex62.layout:234
+#: lib/layouts/aastex62.layout:250 lib/layouts/aastex62.layout:266
+#: lib/layouts/copernicus.layout:244 lib/layouts/copernicus.layout:250
+#: lib/layouts/copernicus.layout:262 lib/layouts/copernicus.layout:274
+#: lib/layouts/copernicus.layout:279 lib/layouts/ijmpc.layout:445
+#: lib/layouts/ijmpc.layout:447 lib/layouts/ijmpd.layout:466
+#: lib/layouts/ijmpd.layout:468 lib/layouts/kluwer.layout:326
+#: lib/layouts/kluwer.layout:339 lib/examples/Articles:0
+msgid "Appendix"
+msgstr "Приложение"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:14
-msgid "TabWidget"
-msgstr "TabWidget"
+#: src/Text.cpp:446
+msgid "Unknown Inset"
+msgstr "Неизвестная вставка"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:21
-msgid "Sear&ch"
-msgstr "Поиск"
+#: src/Text.cpp:562 src/insets/InsetTabular.cpp:473
+msgid "Change tracking author index missing"
+msgstr "Отсутствует авторский индекс отслеживания изменений"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:29
-#: src/frontends/qt/ui/SearchUi.ui:33
-msgid "Fi&nd:"
-msgstr "Н&айти:"
+#: src/Text.cpp:563 src/insets/InsetTabular.cpp:474
+#, c-format
+msgid ""
+"A change tracking author information for index %1$d is missing. This can "
+"happen after a wrong merge by a version control system. In this case, either "
+"fix the merge, or have this information missing until the corresponding "
+"tracked changes are merged or this user edits the file again.\n"
+msgstr ""
+"Сведения об авторе системы отслеживания изменений для индекса %1$d "
+"отсутствуют. Это может произойти после неправильного слияния системой "
+"управления версиями. В этом случае либо исправьте слияние, либо эта "
+"информация будет отсутствовать, пока соответствующие отслеживаемые изменения "
+"не будут объединены или этот пользователь не изменит файл снова.\n"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:53
-msgid "Replace &with:"
-msgstr "За&менить на:"
+#: src/Text.cpp:579
+msgid "Unknown token"
+msgstr "Неизвестный токен"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:107
-msgid "Shift+Enter search backwards directly"
-msgstr "Shift+Enter ищет сразу в обратном направлении"
+#: src/Text.cpp:964
+msgid ""
+"You cannot insert a space at the beginning of a paragraph. Please read the "
+"Tutorial."
+msgstr ""
+"Вы не можете вставлять пробелы в начале абзаца. Пожалуйста, прочитайте "
+"Самоучитель."
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:110
-#: src/frontends/qt/ui/SearchUi.ui:141
-msgid "Search &backwards"
-msgstr "Обратный &поиск"
+#: src/Text.cpp:973
+msgid "You cannot type two spaces this way. Please read the Tutorial."
+msgstr ""
+"Вы не можете вводить два пробела подряд таким способом. Пожалуйста, "
+"прочитайте Самоучитель."
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:120
-msgid "Restrict search to whole words only"
-msgstr "Искать только целые слова"
+#: src/Text.cpp:984
+msgid "Character is uncodable in this verbatim context."
+msgstr "Символ является некодируемым в буквальном контексте."
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:123
-msgid "W&hole words"
-msgstr "Только целые слова"
+#: src/Text.cpp:2003
+msgid "[Change Tracking] "
+msgstr "[Отслеживание изменений] "
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:130
-msgid "Perform a case-sensitive search"
-msgstr "Выполнить поиск с учётом регистра"
+#: src/Text.cpp:2011
+#, c-format
+msgid "Changed by %1$s[[author]] on %2$s[[date]]. "
+msgstr "Изменено автором %1$s[[author]] в %2$s[[date]]. "
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:133
-msgid "Case &sensitive"
-msgstr "Учитывать &регистр"
+#: src/Text.cpp:2021 src/mathed/InsetMathFont.cpp:237
+#: src/mathed/InsetMathFontOld.cpp:111
+#, c-format
+msgid "Font: %1$s"
+msgstr "Шрифт: %1$s"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:147
-msgid "Find next occurrence [Enter]"
-msgstr "Найти следующее совпадение [Enter]"
+#: src/Text.cpp:2026
+#, c-format
+msgid ", Depth: %1$d"
+msgstr ", Вложенность: %1$d"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:150 src/frontends/qt/ui/LogUi.ui:118
-#: src/frontends/qt/ui/SearchUi.ui:105
-msgid "Find &Next"
-msgstr "&Найти далее"
+#: src/Text.cpp:2032
+msgid ", Spacing: "
+msgstr ", Интервал: "
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:163
-msgid "Replace and find next occurrence [Enter]"
-msgstr "Заменить и найти следующее совпадение [Enter]"
+#: src/Text.cpp:2035 src/frontends/qt/GuiDocument.cpp:870
+#: src/frontends/qt/ui/ParagraphUi.ui:60
+msgid "Single"
+msgstr "Одинарный"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:166
-#: src/frontends/qt/ui/SearchUi.ui:118 src/frontends/qt/ui/SpellcheckerUi.ui:48
-#: src/frontends/qt/ui/ThesaurusUi.ui:86
-msgid "&Replace"
-msgstr "&Заменить"
+#: src/Text.cpp:2038 src/frontends/qt/GuiDocument.cpp:872
+msgid "OneHalf"
+msgstr "Полуторный"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:176
-msgid "Replace all occurrences at once"
-msgstr "Заменить все совпадения"
+#: src/Text.cpp:2041 src/frontends/qt/GuiDocument.cpp:874
+#: src/frontends/qt/ui/ParagraphUi.ui:70
+msgid "Double"
+msgstr "Двойной"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:179
-#: src/frontends/qt/ui/SearchUi.ui:155
-#: src/frontends/qt/ui/SpellcheckerUi.ui:148
-msgid "Replace &All"
-msgstr "Заменить &всё"
+#: src/Text.cpp:2044
+msgid "Other ("
+msgstr "Другой ("
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:193
-msgid "S&ettings"
-msgstr "Настройки"
+#: src/Text.cpp:2055
+msgid ", Style: "
+msgstr ", Стиль: "
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:208
-msgid "The scope to which the search horizon is restricted"
-msgstr "Диапазон, ограничивающий поиск"
+#: src/Text.cpp:2061
+msgid ", Paragraph: "
+msgstr ", Абзац: "
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:214
-msgid "Scope"
-msgstr "Диапазон"
+#: src/Text.cpp:2062
+msgid ", Id: "
+msgstr ", Id: "
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:226
-msgid "C&urrent document"
-msgstr "Текущий документ"
+#: src/Text.cpp:2069
+msgid ", Char: 0x"
+msgstr ", Символ: 0x"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:245
+#: src/Text.cpp:2071
+msgid ", Boundary: "
+msgstr ", Граница: "
+
+#: src/Text2.cpp:418
+msgid "No font change defined."
+msgstr "Изменения шрифта не определены."
+
+#: src/Text3.cpp:200
+msgid "Math editor mode"
+msgstr "Математический режим"
+
+#: src/Text3.cpp:202
+msgid "No valid math formula"
+msgstr "Некорректная математическая формула"
+
+#: src/Text3.cpp:210 src/mathed/InsetMathNest.cpp:1034
+msgid "Already in regular expression mode"
+msgstr "Уже в режиме &регулярного выражения"
+
+#: src/Text3.cpp:223
+msgid "Regexp editor mode"
+msgstr "Режим редактора regexp"
+
+#: src/Text3.cpp:1489 src/frontends/qt/GuiToolbar.cpp:420
+#: src/mathed/InsetMathGrid.cpp:1586 src/mathed/InsetMathNest.cpp:539
+#: lib/ui/stdcontext.inc:63 lib/ui/stdcontext.inc:356 lib/ui/stdmenus.inc:110
+#: lib/ui/stdtoolbars.inc:88
+msgid "Paste"
+msgstr "Вставить"
+
+#: src/Text3.cpp:1544 src/mathed/InsetMathNest.cpp:560 lib/ui/stdcontext.inc:61
+#: lib/ui/stdcontext.inc:354 lib/ui/stdmenus.inc:108 lib/ui/stdtoolbars.inc:86
+msgid "Cut"
+msgstr "Вырезать"
+
+#: src/Text3.cpp:1549 src/mathed/InsetMathNest.cpp:569 lib/ui/stdcontext.inc:62
+#: lib/ui/stdcontext.inc:355 lib/ui/stdmenus.inc:109 lib/ui/stdtoolbars.inc:87
+msgid "Copy"
+msgstr "Копировать"
+
+#: src/Text3.cpp:1583
+msgid "Layout "
+msgstr "Макет "
+
+#: src/Text3.cpp:1584 src/Text3.cpp:2147
+msgid " not known"
+msgstr " неизвестен"
+
+#: src/Text3.cpp:2146
+msgid "Table Style "
+msgstr "Стиль таблиц "
+
+#: src/Text3.cpp:2340 src/frontends/qt/GuiApplication.cpp:1718
+msgid "Missing argument"
+msgstr "Отсутствует аргумент"
+
+#: src/Text3.cpp:2502
+msgid "Invalid argument (number exceeds stack size)!"
+msgstr "Недопустимый параметр (число превышает размер стека)!"
+
+#: src/Text3.cpp:2506
+msgid "Invalid argument (must be a non-negative number)!"
+msgstr "Недопустимый параметр (введите положительное число)!"
+
+#: src/Text3.cpp:2511 src/Text3.cpp:2529
+#, c-format
+msgid "Text properties applied: %1$s"
+msgstr "Применены свойства текста: %1$s"
+
+#: src/Text3.cpp:2681
+msgid "Path to thesaurus directory not set!"
+msgstr "Путь к словарю тезауруса не установлен!"
+
+#: src/Text3.cpp:2682
 msgid ""
-"Current document and all related documents belonging to the same master "
-"document"
+"The path to the thesaurus directory has not been specified.\n"
+"The thesaurus is not functional.\n"
+"Please refer to sec. 6.15.1 of the User's Guide for setup\n"
+"instructions."
 msgstr ""
-"Текущий документ и все связанные документы, относящиеся к одному главному "
-"документу"
+"Путь к каталогу тезауруса не указан.\n"
+"Тезаурус не работает.\n"
+"Пожалуйста, обратитесь к разделу 6.15.1 Руководства пользователя за\n"
+"инструкциями по установке."
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:248
-msgid "&Master document"
-msgstr "&Главный документ"
+#: src/Text3.cpp:2749 src/Text3.cpp:2760
+msgid "Paragraph layout set"
+msgstr "Установлено размещение абзаца"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:258
-msgid "All open documents"
-msgstr "Все открытые документы"
+#: src/TextClass.cpp:127
+msgid "Plain Layout"
+msgstr "Обычный текст"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:261
-msgid "&Open documents"
-msgstr "Открытые документы"
+#: src/TextClass.cpp:918
+msgid "Missing File"
+msgstr "Отсутствует файл"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:271
-msgid "&All manuals"
-msgstr "Все руководства"
+#: src/TextClass.cpp:919
+msgid "Could not find stdinsets.inc! This may lead to data loss!"
+msgstr "Не найден stdinsets.inc! Это может привести к потере данных!"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:299
-msgid "Restrict search to math environments only"
-msgstr "Ограничить поиск только математическими окружениями"
+#: src/TextClass.cpp:922
+msgid "Corrupt File"
+msgstr "Повреждённый файл"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:302
-msgid "Search on&ly in maths"
-msgstr "Искать только в формулах"
+#: src/TextClass.cpp:923
+msgid "Could not read stdinsets.inc! This may lead to data loss!"
+msgstr "Не прочитан stdinsets.inc! Это может привести к потере данных!"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:312
+#: src/TextClass.cpp:1577
+#, c-format
+msgid "%1$s (Float)"
+msgstr "%1$s (плавающий объект)"
+
+#: src/TextClass.cpp:1582
+#, c-format
+msgid "Sub-%1$s (Float)"
+msgstr "Под-%1$s (плавающий объект)"
+
+#: src/TextClass.cpp:1877
+#, c-format
 msgid ""
-"If unchecked, the search will be limited to occurrences of the selected text "
-"and paragraph style"
+"The module %1$s has been requested by\n"
+"this document but has not been found in the list of\n"
+"available modules. If you recently installed it, you\n"
+"probably need to reconfigure LyX.\n"
 msgstr ""
-"Если флажок снят, поиск будет ограничен вхождениями выбранного стиля текста "
-"и абзаца"
-
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:315
-msgid "I&gnore format"
-msgstr "&Игнорировать форматирование"
+"Модуль %1$s требуется для этого документа,\n"
+"но его нет в списке доступных модулей.\n"
+"Если вы установили его недавно, то\n"
+"необходимо обновить конфигурацию LyX.\n"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:328
-msgid "&Expand macros"
-msgstr "Развернуть макросы"
+#: src/TextClass.cpp:1882
+msgid "Module not available"
+msgstr "Модуль не доступен"
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:335
+#: src/TextClass.cpp:1888
+#, c-format
 msgid ""
-"Keep the case of the replacement's first letter as in each matching text "
-"first letter"
+"The module %1$s requires a package that is not\n"
+"available in your LaTeX installation, or a converter that\n"
+"you have not installed. LaTeX output may not be possible.\n"
+"Missing prerequisites:\n"
+"\t%2$s\n"
+"See section 3.1.2.3 (Modules) of the User's Guide for more information."
 msgstr ""
-"Сохранять регистр первой буквы замены, как в каждой соответствующей первой "
-"букве текста"
+"Модуль %1$s требует пакет, который\n"
+"отсутствует в текущей установке LaTeX, либо\n"
+"неустановленный конвертер. Вывод LaTeX\n"
+"может быть невозможен.\n"
+"Отсутствует:\n"
+"\t%2$s\n"
+"См. раздел 3.1.2.3 (Модули) руководства пользователя."
 
-#: src/frontends/qt/ui/FindAndReplaceUi.ui:338
-msgid "&Preserve first case on replace"
-msgstr "Сохранять регистр первой буквы при замене"
+#: src/TextClass.cpp:1895 src/TextClass.cpp:1927
+msgid "Package not available"
+msgstr "Пакет недоступен"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:14
-#: src/frontends/qt/ui/OutputUi.ui:14 src/frontends/qt/ui/PDFSupportUi.ui:14
-msgid "Form"
-msgstr "Форма"
+#: src/TextClass.cpp:1900
+#, c-format
+msgid "Error reading module %1$s\n"
+msgstr "Ошибка чтения модуля %1$s\n"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:22
-msgid "Float T&ype:"
-msgstr "Тип плавающего объекта:"
+#: src/TextClass.cpp:1911
+#, c-format
+msgid ""
+"The cite engine %1$s has been requested by\n"
+"this document but has not been found in the list of\n"
+"available engines. If you recently installed it, you\n"
+"probably need to reconfigure LyX.\n"
+msgstr ""
+"Модуль цитирования %1$s запрашивается этим документом,\n"
+"но его нет в списке доступных модулей.\n"
+"Если вы установили его недавно, то\n"
+"необходимо обновить конфигурацию LyX.\n"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:70
-msgid "Alignment of Contents"
-msgstr "Выравнивание содержимого"
+#: src/TextClass.cpp:1916
+msgid "Cite Engine not available"
+msgstr "Модуль цитирования не доступен"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:94
+#: src/TextClass.cpp:1920
+#, c-format
 msgid ""
-"Use the document's default alignment for floats, as specified in Document "
-"Settings."
+"The cite engine %1$s requires a package that is not\n"
+"available in your LaTeX installation, or a converter that\n"
+"you have not installed. LaTeX output may not be possible.\n"
+"Missing prerequisites:\n"
+"\t%2$s\n"
+"See section 3.1.2.3 (Modules) of the User's Guide for more information."
 msgstr ""
-"Использовать выравнивание для плавающих объектов по умолчанию для документа, "
-"как указано в Настройках документа."
+"Модуль цитирования %1$s требует пакет, который\n"
+"отсутствует в текущей установке LaTeX, либо\n"
+"неустановленный конвертер. Вывод LaTeX\n"
+"может быть невозможен.\n"
+"Отсутствует:\n"
+"\t%2$s\n"
+"См. раздел 3.1.2.3 (Модули) руководства пользователя."
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:97
-msgid "D&ocument Default"
-msgstr "Умолчание для документа"
+#: src/TextClass.cpp:1932
+#, c-format
+msgid "Error reading cite engine %1$s\n"
+msgstr "Ошибка чтения модуля цитирования %1$s\n"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:104
-msgid "Left-align float contents"
-msgstr "Выровнять содержимое по левому краю"
+#: src/TocBackend.cpp:267 src/insets/InsetIndex.cpp:468
+#: src/insets/InsetIndex.cpp:489
+msgid "unknown type!"
+msgstr "неизвестный тип!"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:107
-#: src/frontends/qt/ui/ParagraphUi.ui:117
-msgid "&Left"
-msgstr "С&лева"
+#: src/TocBackend.cpp:270
+#, c-format
+msgid "Index Entries (%1$s)"
+msgstr "Рубрики указателя (%1$s)"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:114
-msgid "Center float contents"
-msgstr "Выровнять содержимое по центру"
+#: src/TocBackend.cpp:286 src/insets/InsetTOC.cpp:75
+msgid "Table of Contents"
+msgstr "Содержание"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:117
-#: src/frontends/qt/ui/ParagraphUi.ui:124 src/frontends/qt/ui/TabularUi.ui:1560
-msgid "&Center"
-msgstr "По центру"
+#: src/TocBackend.cpp:287
+msgid "Changes"
+msgstr "Изменения"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:124
-msgid "Right-align float contents"
-msgstr "Выровнять содержимое по правому краю"
+#: src/TocBackend.cpp:288
+msgid "Senseless"
+msgstr "Бессмысленно"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:127
-msgid "&Right"
-msgstr "Справа"
+#: src/TocBackend.cpp:289
+msgid "Citations"
+msgstr "Библиографические ссылки"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:134
-msgid "Use the class' default alignment for floats, whatever it is."
-msgstr ""
-"Использовать выравнивание для плавающих объектов по умолчанию для класса, "
-"каким бы оно ни было."
+#: src/TocBackend.cpp:290
+msgid "Labels and References"
+msgstr "Метки и ссылки"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:137
-msgid "Class &Default"
-msgstr "По умолчанию для класса"
+#: src/TocBackend.cpp:291
+msgid "Broken References and Citations"
+msgstr "Нарушенные ссылки"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:147
-msgid "Further Options"
-msgstr "Другие параметры"
+#: src/TocBackend.cpp:293 src/frontends/qt/GuiDocument.cpp:1766
+msgid "Child Documents"
+msgstr "Дочерние документы"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:156
-msgid "&Span columns"
-msgstr "&Занимать все столбцы"
+#: src/TocBackend.cpp:294
+msgid "Graphics[[listof]]"
+msgstr "Изображения"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:163
-msgid "Rotate side&ways"
-msgstr "Пов&ернуть набок"
+#: src/TocBackend.cpp:295
+msgid "Equations"
+msgstr "Нумерованные формулы"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:173
-msgid "Position on Page"
-msgstr "Размещение на странице"
+#: src/TocBackend.cpp:296 src/frontends/qt/GuiExternal.cpp:87
+#: lib/examples/Articles:0
+msgid "External Material"
+msgstr "Внешний материал"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:184
-msgid "Place&ment Settings:"
-msgstr "Настройки размещения:"
+#: src/TocBackend.cpp:297 lib/ui/stdtoolbars.inc:215
+msgid "Math Macros"
+msgstr "Математические макросы"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:199
-msgid "&Top of page"
-msgstr "&Верх страницы"
+#: src/TocBackend.cpp:298
+msgid "Nomenclature Entries"
+msgstr "Обозначения"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:206
-msgid "&Bottom of page"
-msgstr "&Низ страницы"
+#: src/VCBackend.cpp:63 src/VCBackend.cpp:875 src/VCBackend.cpp:880
+#: src/VCBackend.cpp:929 src/VCBackend.cpp:988 src/VCBackend.cpp:1047
+#: src/VCBackend.cpp:1055 src/VCBackend.cpp:1356 src/VCBackend.cpp:1458
+#: src/VCBackend.cpp:1464 src/VCBackend.cpp:1487 src/VCBackend.cpp:1973
+#: src/frontends/qt/GuiView.cpp:3545 src/frontends/qt/GuiView.cpp:3588
+msgid "Revision control error."
+msgstr "Ошибка системы контроля версий."
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:213
-msgid "&Page of floats"
-msgstr "&Страница плавающих объектов"
+#: src/VCBackend.cpp:64
+#, c-format
+msgid ""
+"Some problem occurred while running the command:\n"
+"'%1$s'."
+msgstr ""
+"Во время выполнения команды возникла проблема:\n"
+"'%1$s'."
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:220
-msgid "&Here if possible"
-msgstr "&Здесь, если возможно"
+#: src/VCBackend.cpp:636
+msgid "Up-to-date"
+msgstr "Обновлённый"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:227
-msgid "Here de&finitely"
-msgstr "Именно &здесь"
+#: src/VCBackend.cpp:638
+msgid "Locally Modified"
+msgstr "Локально модифицирован"
 
-#: src/frontends/qt/ui/FloatPlacementUi.ui:234
-msgid "&Ignore LaTeX rules"
-msgstr "&Игнорировать правила LaTeX"
+#: src/VCBackend.cpp:640
+msgid "Locally Added"
+msgstr "Локально добавлен"
 
-#: src/frontends/qt/ui/FontUi.ui:14
-msgid "FontUi"
-msgstr "FontUi"
+#: src/VCBackend.cpp:642
+msgid "Needs Merge"
+msgstr "Требуется слияние"
 
-#: src/frontends/qt/ui/FontUi.ui:35
-msgid "&Default family:"
-msgstr "Гарнитура &по умолчанию:"
+#: src/VCBackend.cpp:644
+msgid "Needs Checkout"
+msgstr "Требуется загрузка"
 
-#: src/frontends/qt/ui/FontUi.ui:47
-msgid "Select the default family for the document"
-msgstr "Выберите гарнитуру шрифта по умолчанию для документа"
+#: src/VCBackend.cpp:646
+msgid "No CVS file"
+msgstr "Нет файла CVS"
 
-#: src/frontends/qt/ui/FontUi.ui:54
-msgid "&Base size:"
-msgstr "&Основной размер:"
+#: src/VCBackend.cpp:648
+msgid "Cannot retrieve CVS status"
+msgstr "Невозможно получить статус CVS"
 
-#: src/frontends/qt/ui/FontUi.ui:86
-msgid "&LaTeX font encoding:"
-msgstr "Кодировка шрифта LaTe&X:"
+#: src/VCBackend.cpp:876
+msgid ""
+"The repository version is newer then the current check out.\n"
+"You have to update from repository first or revert your changes."
+msgstr ""
+"Версия репозитория новее текущей загруженной копии.\n"
+"Вы должны сначала обновиться из репозитория или отменить свои изменения."
 
-#: src/frontends/qt/ui/FontUi.ui:101
-msgid "Specify the font encoding (e.g., T1)."
-msgstr "Укажите кодировку шрифта (например, T1)."
+#: src/VCBackend.cpp:881
+#, c-format
+msgid ""
+"Bad status when checking in changes.\n"
+"\n"
+"'%1$s'\n"
+"\n"
+msgstr ""
+"Ошибочное состояние при загрузке изменений.\n"
+"\n"
+"'%1$s'\n"
+"\n"
 
-#: src/frontends/qt/ui/FontUi.ui:110
-msgid "&Roman:"
-msgstr "&С засечками:"
+#: src/VCBackend.cpp:930 src/VCBackend.cpp:1488
+#, c-format
+msgid ""
+"Error when updating from repository.\n"
+"You have to manually resolve the conflicts NOW!\n"
+"'%1$s'.\n"
+"\n"
+"After pressing OK, LyX will try to reopen the resolved document."
+msgstr ""
+"Ошибка при обновлении из репозитория.\n"
+"Вам нужно вручную разрешить конфликты СЕЙЧАС!\n"
+"'%1$s'.\n"
+"\n"
+"После нажатия OK, LyX попробует заново открыть этот документ."
 
-#: src/frontends/qt/ui/FontUi.ui:122
+#: src/VCBackend.cpp:964
+#, c-format
 msgid ""
-"Select the roman (serif) typeface. To filter the list of fonts, just start "
-"typing while the list is expanded."
+"There were detected changes in the working directory:\n"
+"%1$s\n"
+"\n"
+"Possible file conflicts must be then resolved manually or you will need to "
+"revert back to the repository version."
 msgstr ""
-"Выберите шрифт с засечками. Чтобы отфильтровать список шрифтов, просто "
-"начните набирать при развёрнутом списке."
+"Обнаружены изменения в рабочем каталоге:\n"
+"%1$s\n"
+"\n"
+"Возможные конфликты должны быть решены вручную или вам придётся возвратиться "
+"к версии из репозитория."
 
-#: src/frontends/qt/ui/FontUi.ui:142
-msgid "Use a real small caps shape, if the font provides one"
-msgstr "Использовать настоящую капитель при наличии в шрифте"
+#: src/VCBackend.cpp:968 src/VCBackend.cpp:972 src/VCBackend.cpp:1529
+#: src/VCBackend.cpp:1533
+msgid "Changes detected"
+msgstr "Обнаружены изменения"
 
-#: src/frontends/qt/ui/FontUi.ui:145
-msgid "Use true s&mall caps"
-msgstr "Использовать настоящую капитель"
+#: src/VCBackend.cpp:969 src/VCBackend.cpp:973
+msgid "&Abort"
+msgstr "Прервать"
 
-#: src/frontends/qt/ui/FontUi.ui:156 src/frontends/qt/ui/FontUi.ui:264
-#: src/frontends/qt/ui/FontUi.ui:372
-msgid "Use old style instead of lining figures"
-msgstr "Использовать \"строчные\" цифры старого стиля (минускульные)"
+#: src/VCBackend.cpp:969 src/VCBackend.cpp:1530
+msgid "View &Log ..."
+msgstr "Просмотр &журнала..."
 
-#: src/frontends/qt/ui/FontUi.ui:159
-msgid "Use &old style figures"
-msgstr "Использовать цифры &старого стиля"
+#: src/VCBackend.cpp:989
+#, c-format
+msgid ""
+"Error when updating document %1$s from repository.\n"
+"You have to manually resolve the conflicts NOW!\n"
+"'%2$s'.\n"
+"\n"
+"After pressing OK, LyX will try to reopen the resolved document."
+msgstr ""
+"Ошибка при обновлении документа %1$s из репозитория.\n"
+"Вам нужно вручную разрешить конфликты прямо СЕЙЧАС!\n"
+"'%2$s'.\n"
+"\n"
+"После нажатия OK, LyX попробует заново открыть этот документ."
 
-#: src/frontends/qt/ui/FontUi.ui:184 src/frontends/qt/ui/FontUi.ui:292
-#: src/frontends/qt/ui/FontUi.ui:400 src/frontends/qt/ui/PrefLatexUi.ui:133
-msgid "Options:"
-msgstr "Параметры:"
+#: src/VCBackend.cpp:1048
+#, c-format
+msgid ""
+"The document %1$s is not in repository.\n"
+"You have to check in the first revision before you can revert."
+msgstr ""
+"Документ %1$s отсутствует в репозитории.\n"
+"Вы должны зафиксировать его первую версию, прежде чем сможете выполнять "
+"откат."
 
-#: src/frontends/qt/ui/FontUi.ui:194 src/frontends/qt/ui/FontUi.ui:302
-#: src/frontends/qt/ui/FontUi.ui:410
+#: src/VCBackend.cpp:1056
+#, c-format
 msgid ""
-"Here you can insert additional options (as provided by the font package)"
+"Cannot revert document %1$s to repository version.\n"
+"The status '%2$s' is unexpected."
 msgstr ""
-"Здесь вы можете указать дополнительные параметры (предоставляемые пакетом "
-"шрифта)"
+"Невозможно вернуть документ %1$s к версии репозитория.\n"
+"Состояние \"%2$s\" является неожиданным."
 
-#: src/frontends/qt/ui/FontUi.ui:205
-msgid "&Sans Serif:"
-msgstr "&Без засечек:"
+#: src/VCBackend.cpp:1341 src/VCBackend.cpp:1477 src/VCBackend.cpp:1514
+#: src/VCBackend.cpp:1568 src/VCBackend.cpp:1958
+msgid "Error: Could not generate logfile."
+msgstr "Ошибка: не могу сгенерировать logfile."
 
-#: src/frontends/qt/ui/FontUi.ui:217
+#: src/VCBackend.cpp:1357 src/VCBackend.cpp:1974
 msgid ""
-"Select the Sans Serif (grotesque) typeface. To filter the list of fonts, "
-"just start typing while the list is expanded."
+"Error when committing to repository.\n"
+"You have to manually resolve the problem.\n"
+"LyX will reopen the document after you press OK."
 msgstr ""
-"Выберите шрифт без засечек. Чтобы отфильтровать список шрифтов, просто "
-"начните набирать при развёрнутом списке."
+"Ошибка при фиксировании в репозиторий.\n"
+"Вы должны решить проблему вручную.\n"
+"После нажатия OK LyX повторно откроет этот документ."
 
-#: src/frontends/qt/ui/FontUi.ui:237
-msgid "S&cale (%):"
-msgstr "Масштаб (%):"
+#: src/VCBackend.cpp:1459
+msgid ""
+"Error while acquiring write lock.\n"
+"Another user is most probably editing\n"
+"the current document now!\n"
+"Also check the access to the repository."
+msgstr ""
+"Ошибка при установке блокировки на запись.\n"
+"Чаще всего это происходит когда другой\n"
+"пользователь уже редактирует текущий документ!\n"
+"Также проверьте доступ к репозиторию."
 
-#: src/frontends/qt/ui/FontUi.ui:247
-msgid "Scale the Sans Serif font to match the base font's dimensions"
+#: src/VCBackend.cpp:1465
+msgid ""
+"Error while releasing write lock.\n"
+"Check the access to the repository."
 msgstr ""
-"Отмасштабируйте шрифт без засечек для соответствия размеру основного шрифта"
+"Ошибка при снятии блокировки на запись.\n"
+"Проверьте доступ к репозиторию."
 
-#: src/frontends/qt/ui/FontUi.ui:267
-msgid "Use old st&yle figures"
-msgstr "Использовать цифры &старого стиля"
+#: src/VCBackend.cpp:1524
+#, c-format
+msgid ""
+"There were detected changes in the working directory:\n"
+"%1$s\n"
+"\n"
+"In case of file conflict version of the local directory files will be "
+"preferred.\n"
+"\n"
+"Continue?"
+msgstr ""
+"Обнаружены изменения в рабочем каталоге:\n"
+"%1$s\n"
+"\n"
+"В случае конфликтов, предпочтение отдаётся файлам из локального каталога.\n"
+"\n"
+"Продолжить?"
 
-#: src/frontends/qt/ui/FontUi.ui:313
-msgid "&Typewriter:"
-msgstr "&Машинописный:"
+#: src/VCBackend.cpp:1530 src/VCBackend.cpp:1534
+#: src/frontends/qt/FindAndReplace.cpp:388 src/frontends/qt/GuiPrefs.cpp:1864
+#: src/lyxfind.cpp:272 src/lyxfind.cpp:540 src/lyxfind.cpp:568
+msgid "&Yes"
+msgstr "Да"
 
-#: src/frontends/qt/ui/FontUi.ui:325
+#: src/VCBackend.cpp:1530 src/VCBackend.cpp:1534
+#: src/frontends/qt/FindAndReplace.cpp:388 src/frontends/qt/GuiPrefs.cpp:1864
+#: src/lyxfind.cpp:272 src/lyxfind.cpp:540 src/lyxfind.cpp:568
+msgid "&No"
+msgstr "Нет"
+
+#: src/VCBackend.cpp:1593
+msgid "SVN File Locking"
+msgstr "Блокировка файла SVN"
+
+#: src/VCBackend.cpp:1594 src/VCBackend.cpp:1599
+msgid "Locking property unset."
+msgstr "Блокировка снята."
+
+#: src/VCBackend.cpp:1594 src/VCBackend.cpp:1599
+msgid "Locking property set."
+msgstr "Блокировка установлена."
+
+#: src/VCBackend.cpp:1595
+msgid "Do not forget to commit the locking property into the repository."
+msgstr "Не забывайте зафиксировать блокировку в репозитории."
+
+#: src/VSpace.cpp:190
+msgid "Default skip"
+msgstr "по умолчанию"
+
+#: src/VSpace.cpp:193
+msgid "Small skip"
+msgstr "малый"
+
+#: src/VSpace.cpp:196
+msgid "Medium skip"
+msgstr "средний"
+
+#: src/VSpace.cpp:199
+msgid "Big skip"
+msgstr "большой"
+
+#: src/VSpace.cpp:202 src/frontends/qt/GuiDocument.cpp:863
+#: src/frontends/qt/ui/VSpaceUi.ui:103
+msgid "Half line height"
+msgstr "Половина высоты строки"
+
+#: src/VSpace.cpp:205 src/frontends/qt/GuiDocument.cpp:864
+#: src/frontends/qt/ui/VSpaceUi.ui:108
+msgid "Line height"
+msgstr "Высота строки"
+
+#: src/VSpace.cpp:208
+msgid "Vertical fill"
+msgstr "заполнение"
+
+#: src/VSpace.cpp:215
+msgid "protected"
+msgstr "защищённый"
+
+#: src/buffer_funcs.cpp:75
+#, c-format
 msgid ""
-"Select the typewriter (monospaced) typeface. To filter the list of fonts, "
-"just start typing while the list is expanded."
+"The document %1$s is already loaded and has unsaved changes.\n"
+"Do you want to abandon your changes and reload the version on disk?"
 msgstr ""
-"Выберите машинописный шрифт. Чтобы отфильтровать список шрифтов, просто "
-"начните набирать при развёрнутом списке."
+"Документ %1$s уже загружен и содержит несохранённые изменения.\n"
+"Хотите ли вы отбросить эти изменения и загрузить версию документа с диска?"
 
-#: src/frontends/qt/ui/FontUi.ui:345
-msgid "Sc&ale (%):"
-msgstr "Масштаб (%):"
+#: src/buffer_funcs.cpp:77 src/frontends/qt/GuiView.cpp:4204
+msgid "Reload saved document?"
+msgstr "Вернуться к сохранённому документу?"
 
-#: src/frontends/qt/ui/FontUi.ui:355
-msgid "Scale the Typewriter font to match the base font's dimensions"
+#: src/buffer_funcs.cpp:78
+msgid "Yes, &Reload"
+msgstr "Да, &перезагрузить"
+
+#: src/buffer_funcs.cpp:78
+msgid "No, &Keep Changes"
+msgstr "Нет, сохранить изменения"
+
+#: src/buffer_funcs.cpp:100
+#, c-format
+msgid "The file %1$s exists but is not readable by the current user."
+msgstr "Файл %1$s существует, но текущий пользователь не может его прочесть."
+
+#: src/buffer_funcs.cpp:103
+msgid "File not readable!"
+msgstr "Файл невозможно прочесть!"
+
+#: src/buffer_funcs.cpp:125
+#, c-format
+msgid ""
+"The document %1$s does not yet exist.\n"
+"\n"
+"Do you want to create a new document?"
 msgstr ""
-"Отмасштабируйте машинописный шрифт для соответствия размеру основного шрифта"
+"Документ %1$s пока не существует.\n"
+"\n"
+"Хотите создать его?"
 
-#: src/frontends/qt/ui/FontUi.ui:375
-msgid "Use old style &figures"
-msgstr "Использовать цифры &старого стиля"
+#: src/buffer_funcs.cpp:128
+msgid "Create new document?"
+msgstr "Создать новый документ?"
 
-#: src/frontends/qt/ui/FontUi.ui:421
-msgid "&Math:"
-msgstr "&Математический:"
+#: src/buffer_funcs.cpp:129
+msgid "&Yes, Create New Document"
+msgstr "Да, создать новый документ"
 
-#: src/frontends/qt/ui/FontUi.ui:431
-msgid "Select the math typeface"
-msgstr "Выберите шрифт для формул"
+#: src/buffer_funcs.cpp:129
+msgid "&No, Do Not Create"
+msgstr "Нет, не создавать"
 
-#: src/frontends/qt/ui/FontUi.ui:438
-msgid "C&JK:"
-msgstr "КК&Я:"
+#: src/buffer_funcs.cpp:157
+#, c-format
+msgid ""
+"The specified document template\n"
+"%1$s\n"
+"could not be read."
+msgstr ""
+"Указанный шаблон документа\n"
+"%1$s\n"
+"нельзя прочесть."
 
-#: src/frontends/qt/ui/FontUi.ui:448
-msgid "Input the font to be used for Chinese, Japanese or Korean (CJK) script"
+#: src/buffer_funcs.cpp:159
+msgid "Could not read template"
+msgstr "Невозможно прочитать шаблон"
+
+#: src/frontends/qt/BulletsModule.cpp:44
+msgid "Standard[[Bullets]]"
+msgstr "Стандартный"
+
+#: src/frontends/qt/BulletsModule.cpp:45
+#: lib/layouts/eqs-within-sections.module:3 lib/layouts/subequations.module:3
+#: lib/layouts/theorems-ams-bytype.module:3
+#: lib/layouts/theorems-ams-chap-bytype.module:3
+#: lib/layouts/theorems-ams-extended-bytype.module:3
+#: lib/layouts/theorems-ams-extended-chap-bytype.module:3
+#: lib/layouts/theorems-ams-extended.module:3 lib/layouts/theorems-ams.module:3
+#: lib/layouts/theorems-bytype.module:3
+#: lib/layouts/theorems-chap-bytype.module:3 lib/layouts/theorems-chap.module:3
+#: lib/layouts/theorems-named.module:4 lib/layouts/theorems-sec-bytype.module:3
+#: lib/layouts/theorems-sec.module:3 lib/layouts/theorems-starred.module:3
+#: lib/layouts/theorems-std.module:3
+msgid "Maths"
+msgstr "Математика"
+
+#: src/frontends/qt/BulletsModule.cpp:46
+msgid "Dings 1"
+msgstr "Маркер 1"
+
+#: src/frontends/qt/BulletsModule.cpp:47
+msgid "Dings 2"
+msgstr "Маркер 2"
+
+#: src/frontends/qt/BulletsModule.cpp:48
+msgid "Dings 3"
+msgstr "Маркер 3"
+
+#: src/frontends/qt/BulletsModule.cpp:49
+msgid "Dings 4"
+msgstr "Маркер 4"
+
+#: src/frontends/qt/ButtonController.cpp:226
+#: src/frontends/qt/GuiApplication.cpp:1818 src/frontends/qt/GuiCompare.cpp:193
+#: src/frontends/qt/GuiSymbols.cpp:346
+msgid "Cancel"
+msgstr "Отмена"
+
+#: src/frontends/qt/ButtonController.cpp:228
+#: src/frontends/qt/GuiCompare.cpp:191 src/frontends/qt/GuiDelimiter.cpp:363
+#: src/frontends/qt/GuiSymbols.cpp:348
+msgid "Close"
+msgstr "Закрыть"
+
+#: src/frontends/qt/CategorizedCombo.cpp:189
+msgid "Unavailable:"
+msgstr "Недоступно:"
+
+#: src/frontends/qt/CategorizedCombo.cpp:469
+#, c-format
+msgid "Unavailable: %1$s"
+msgstr "Недоступно: %1$s"
+
+#: src/frontends/qt/CategorizedCombo.cpp:472
+#: src/frontends/qt/CategorizedCombo.cpp:497
+#: src/frontends/qt/CategorizedCombo.cpp:498
+msgid "Uncategorized"
+msgstr "Без категории"
+
+#: src/frontends/qt/FileDialog.cpp:188
+msgid "Directories"
+msgstr "Каталоги"
+
+#: src/frontends/qt/FindAndReplace.cpp:284
+msgid "File"
+msgstr "Файл"
+
+#: src/frontends/qt/FindAndReplace.cpp:287
+msgid "Master document"
+msgstr "Главный документ"
+
+#: src/frontends/qt/FindAndReplace.cpp:290
+msgid "Open files"
+msgstr "Открытые файлы"
+
+#: src/frontends/qt/FindAndReplace.cpp:293
+msgid "Manuals"
+msgstr "Руководства"
+
+#: src/frontends/qt/FindAndReplace.cpp:297
+#, c-format
+msgid ""
+"%1$s: the end was reached while searching forward.\n"
+"Continue searching from the beginning?"
 msgstr ""
-"Введите шрифт, который будет использоваться для китайского, корейского или "
-"японского (ККЯ) языка"
+"%1$s: достигнут конец при поиске вперёд.\n"
+"Продолжить поиск с начала?"
 
-#: src/frontends/qt/ui/FontUi.ui:457
+#: src/frontends/qt/FindAndReplace.cpp:300
+#, c-format
 msgid ""
-"Activate extensions such as character protrusion and font expansion via the "
-"microtype package"
+"%1$s: the beginning was reached while searching backward.\n"
+"Continue searching from the end?"
 msgstr ""
-"Активировать приёмы микротипографики, такие как висячие символы и растяжка "
-"шрифта, используя пакет microtype"
+"%1$s: достигнуто начало при поиске назад.\n"
+"Продолжить поиск с конца?"
 
-#: src/frontends/qt/ui/FontUi.ui:460
-msgid "Enable micr&o-typographic extensions"
-msgstr "Использовать микротипографику"
+#: src/frontends/qt/FindAndReplace.cpp:323
+msgid "Advanced search in progress (press ESC to cancel) . . ."
+msgstr "Идёт расширенный поиск (нажмите ESC для отмены) . . ."
 
-#: src/frontends/qt/ui/FontUi.ui:467
+#: src/frontends/qt/FindAndReplace.cpp:369
+msgid "Advanced search cancelled by user"
+msgstr "Расширенный поиск отменён пользователем"
+
+#: src/frontends/qt/FindAndReplace.cpp:387 src/lyxfind.cpp:271
+#: src/lyxfind.cpp:539 src/lyxfind.cpp:567
+msgid "Wrap search?"
+msgstr "Продолжить поиск?"
+
+#: src/frontends/qt/FindAndReplace.cpp:438
+msgid "Nothing to search"
+msgstr "Нечего искать"
+
+#: src/frontends/qt/FindAndReplace.cpp:486
+msgid "No open document(s) in which to search"
+msgstr "Нет открытых документов для поиска"
+
+#: src/frontends/qt/FindAndReplace.cpp:588
+msgid "Advanced Find and Replace"
+msgstr "Расширенный поиск и замена"
+
+#: src/frontends/qt/FloatPlacement.cpp:182
+#: src/frontends/qt/GuiDocument.cpp:1142 src/frontends/qt/GuiDocument.cpp:2659
+#: src/frontends/qt/GuiDocument.cpp:2686
+msgid "Class Default"
+msgstr "По умолчанию для класса"
+
+#: src/frontends/qt/FloatPlacement.cpp:184
+msgid "Document Default"
+msgstr "По умолчанию для документа"
+
+#: src/frontends/qt/FloatPlacement.cpp:185 src/frontends/qt/GuiDocument.cpp:862
+#: src/frontends/qt/GuiDocument.cpp:868 src/frontends/qt/GuiDocument.cpp:876
+#: src/frontends/qt/GuiDocument.cpp:990 src/frontends/qt/GuiDocument.cpp:1057
+#: src/frontends/qt/GuiDocument.cpp:1143 src/frontends/qt/GuiDocument.cpp:1194
+#: src/frontends/qt/GuiDocument.cpp:1540 src/frontends/qt/GuiHSpace.cpp:57
+#: src/frontends/qt/GuiPrefs.cpp:815 src/frontends/qt/GuiPrefs.cpp:843
+#: src/frontends/qt/GuiPrefs.cpp:870 src/frontends/qt/GuiPrefs.cpp:2289
+#: src/frontends/qt/GuiPrefs.cpp:2312 src/frontends/qt/GuiPrintNomencl.cpp:51
+#: src/insets/InsetInfo.cpp:234 src/insets/InsetInfo.cpp:246
+#: src/insets/InsetInfo.cpp:250 src/insets/InsetInfo.cpp:259
+#: src/insets/InsetInfo.cpp:317 src/insets/InsetInfo.cpp:335
+#: lib/layouts/stdcustom.inc:8 src/frontends/qt/ui/ParagraphUi.ui:75
+#: src/frontends/qt/ui/PrefLanguageUi.ui:87
+#: src/frontends/qt/ui/PrefLanguageUi.ui:353
+#: src/frontends/qt/ui/TabularUi.ui:1210 src/frontends/qt/ui/TabularUi.ui:1229
+#: src/frontends/qt/ui/TabularUi.ui:1277 src/frontends/qt/ui/VSpaceUi.ui:118
+msgid "Custom"
+msgstr "Задано пользователем"
+
+#: src/frontends/qt/FloatPlacement.h:38 src/frontends/qt/GuiDocument.cpp:1781
+msgid "Float Settings"
+msgstr "Плавающие объекты"
+
+#: src/frontends/qt/GuiAbout.cpp:53
+msgid "ERROR: LyX wasn't able to find the CREDITS file\n"
+msgstr "ОШИБКА: Невозможно прочитать файл CREDITS\n"
+
+#: src/frontends/qt/GuiAbout.cpp:54 src/frontends/qt/GuiAbout.cpp:59
 msgid ""
-"Use OpenType and TrueType fonts with the fontspec package (requires XeTeX or "
-"LuaTeX)"
+"Please install correctly to estimate the great\n"
+"amount of work other people have done for the LyX project."
 msgstr ""
-"Использовать шрифты OpenType и TrueType с пакетом fontspec (требуется XeTeX "
-"или LuaTeX)"
+"Пожалуйста, установите всё корректно, чтобы оценить\n"
+"тот огромный труд, который множество людей вложили в LyX."
 
-#: src/frontends/qt/ui/FontUi.ui:470
-msgid "&Use non-TeX fonts (via XeTeX/LuaTeX)"
-msgstr "Использовать системные шрифты (при помощи XeTeX/LuaTeX)"
+#: src/frontends/qt/GuiAbout.cpp:58
+msgid "ERROR: LyX wasn't able to read the CREDITS file\n"
+msgstr "Ошибка: Невозможно прочитать файл CREDITS\n"
 
-#: src/frontends/qt/ui/FontUi.ui:477
+#: src/frontends/qt/GuiAbout.cpp:95
+msgid "ERROR: LyX wasn't able to find the RELEASE-NOTES file\n"
+msgstr "Ошибка: Невозможно прочитать файл RELEASE-NOTES\n"
+
+#: src/frontends/qt/GuiAbout.cpp:96 src/frontends/qt/GuiAbout.cpp:101
 msgid ""
-"By default, a line break can occur after en- and em-dashes. Checking this "
-"box prevents that."
+"Please install correctly to see what has changed\n"
+"for this version of LyX."
 msgstr ""
-"По умолчанию разрыв строки может произойти после короткого и длинного тире. "
-"Отметьте этот флажок, чтобы запретить это."
+"Пожалуйста, установите всё корректно, чтобы увидеть изменения\n"
+"для текущей версии LyX."
 
-#: src/frontends/qt/ui/FontUi.ui:480
-msgid "Disallow l&ine breaks after dashes"
-msgstr "Запретить разрывы строк после тире"
+#: src/frontends/qt/GuiAbout.cpp:100
+msgid "ERROR: LyX wasn't able to read the RELEASE-NOTES file\n"
+msgstr "Ошибка: Невозможно прочитать файл RELEASE-NOTES\n"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:51
-msgid "&Graphics"
-msgstr "&Изображение"
+#: src/frontends/qt/GuiAbout.cpp:183
+#, c-format
+msgid ""
+"LyX is Copyright (C) 1995 by Matthias Ettrich,\n"
+"1995--%1$s LyX Team"
+msgstr ""
+"LyX\n"
+"Copyright © 1995 Matthias Ettrich, 1995–%1$s команда разработки LyX"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:72
-msgid "Select an image file"
-msgstr "Выбрать файл изображения"
+#: src/frontends/qt/GuiAbout.cpp:191
+msgid ""
+"This program is free software; you can redistribute it and/or modify it "
+"under the terms of the GNU General Public License as published by the Free "
+"Software Foundation; either version 2 of the License, or (at your option) "
+"any later version."
+msgstr ""
+"Эта программа является свободным программным обеспечением; вы можете "
+"распространять и/или модифицировать её согласно условиям GNU General Public "
+"License, опубликованной Фондом свободного программного обеспечения (Free "
+"Software Foundation); либо версии 2 лицензии, либо (по вашему выбору) любой "
+"более поздней версии."
 
-#: src/frontends/qt/ui/GraphicsUi.ui:82
-msgid "Output Size"
-msgstr "Выходной размер"
+#: src/frontends/qt/GuiAbout.cpp:197
+msgid ""
+"LyX is distributed in the hope that it will be useful, but WITHOUT ANY "
+"WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS "
+"FOR A PARTICULAR PURPOSE.\n"
+"See the GNU General Public License for more details.\n"
+"You should have received a copy of the GNU General Public License along with "
+"this program; if not, write to the Free Software Foundation, Inc., 51 "
+"Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA."
+msgstr ""
+"LyX распространяется в надежде, что он будет полезен, но БЕЗ КАКИХ-ЛИБО "
+"ГАРАНТИЙ; даже без подразумеваемой гарантии ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ "
+"КОНКРЕТНОЙ ЦЕЛИ.\n"
+"Смотрите GNU General Public License для получения дополнительной "
+"информации.\n"
+"Вы должны были получить копию лицензии вместе с этой программой; если нет, "
+"напишите в Фонд свободного программного обеспечения: Free Software "
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA."
 
-#: src/frontends/qt/ui/GraphicsUi.ui:163
-msgid "Sets height of graphic. Leave unchecked to set automatically."
+#: src/frontends/qt/GuiAbout.cpp:252
+msgid "not released yet"
+msgstr "ещё не выпущена"
+
+#: src/frontends/qt/GuiAbout.cpp:257
+#, c-format
+msgid ""
+"Version %1$s\n"
+"(%2$s)"
 msgstr ""
-"Устанавливает высоту изображения. Оставьте пустым для автоматической "
-"установки."
+"Версия %1$s\n"
+"(%2$s)"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:166 src/frontends/qt/GuiGraphics.cpp:479
-msgid "Set &height:"
-msgstr "&Высота:"
+#: src/frontends/qt/GuiAbout.cpp:265
+msgid "Built from git commit hash "
+msgstr "Собран из коммита Git с хэшем "
 
-#: src/frontends/qt/ui/GraphicsUi.ui:173
-msgid "&Scale graphics (%):"
-msgstr "&Масштаб изображения (%):"
+#: src/frontends/qt/GuiAbout.cpp:278
+#, c-format
+msgid "Qt Version (run-time): %1$s"
+msgstr "Версия Qt (выполнение): %1$s"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:183
-msgid "Sets width of graphic. Leave unchecked to set automatically."
+#: src/frontends/qt/GuiAbout.cpp:283
+#, c-format
+msgid "Qt Version (compile-time): %1$s"
+msgstr "Версия Qt (компиляция): %1$s"
+
+#: src/frontends/qt/GuiAbout.cpp:314
+msgid "About LyX"
+msgstr "О программе LyX"
+
+#: src/frontends/qt/GuiApplication.cpp:651
+msgid "About %1"
+msgstr "О %1"
+
+#: src/frontends/qt/GuiApplication.cpp:652 src/frontends/qt/GuiPrefs.cpp:3478
+msgid "Preferences"
+msgstr "Настройки"
+
+#: src/frontends/qt/GuiApplication.cpp:653
+msgid "Reconfigure"
+msgstr "Обновить конфигурацию"
+
+#: src/frontends/qt/GuiApplication.cpp:654
+msgid "Restore Defaults"
+msgstr "Восстановить значения по умолчанию"
+
+#: src/frontends/qt/GuiApplication.cpp:655
+msgid "Quit %1"
+msgstr "Выйти из %1"
+
+#: src/frontends/qt/GuiApplication.cpp:656 src/frontends/qt/GuiInclude.cpp:318
+#: src/frontends/qt/GuiInclude.cpp:323 src/frontends/qt/GuiInclude.cpp:330
+msgid "&OK"
+msgstr "&OK"
+
+#: src/frontends/qt/GuiApplication.cpp:658
+msgid "Apply"
+msgstr "Применить"
+
+#: src/frontends/qt/GuiApplication.cpp:659
+msgid "Reset"
+msgstr "Сбросить"
+
+#: src/frontends/qt/GuiApplication.cpp:660
+msgid "Open"
+msgstr "Открыть"
+
+#: src/frontends/qt/GuiApplication.cpp:1130
+msgid "Nothing to do"
+msgstr "Выполнять нечего"
+
+#: src/frontends/qt/GuiApplication.cpp:1136
+msgid "Unknown action"
+msgstr "Неизвестная команда"
+
+#: src/frontends/qt/GuiApplication.cpp:1180
+msgid "Command not handled"
+msgstr "Команда не обрабатывается"
+
+#: src/frontends/qt/GuiApplication.cpp:1186
+msgid "Command disabled"
+msgstr "Команда отключена"
+
+#: src/frontends/qt/GuiApplication.cpp:1315 src/frontends/qt/GuiView.cpp:2019
+msgid "Command not allowed without a buffer open"
+msgstr "Команда недопустима без открытых документов"
+
+#: src/frontends/qt/GuiApplication.cpp:1322
+msgid "the <LFUN-COMMAND> argument of buffer-forall is not valid"
+msgstr "аргумент <LFUN-COMMAND> buffer-forall не верен"
+
+#: src/frontends/qt/GuiApplication.cpp:1399
+msgid "Wrong focus!"
+msgstr "Неверный фокус!"
+
+#: src/frontends/qt/GuiApplication.cpp:1530
+msgid "Running configure..."
+msgstr "Выполняется конфигурирование..."
+
+#: src/frontends/qt/GuiApplication.cpp:1538
+msgid "Reloading configuration..."
+msgstr "Перезагружается конфигурация..."
+
+#: src/frontends/qt/GuiApplication.cpp:1545
+msgid "System reconfiguration failed"
+msgstr "Сбой обновления конфигурации системы"
+
+#: src/frontends/qt/GuiApplication.cpp:1546
+msgid ""
+"The system reconfiguration has failed.\n"
+"Default textclass is used but LyX may\n"
+"not be able to work properly.\n"
+"Please reconfigure again if needed."
 msgstr ""
-"Устанавливает ширину изображения. Оставьте пустым для автоматической "
-"установки."
+"Обновление конфигурации системы завершилось неудачно.\n"
+"Используется класс документа по умолчанию, но LyX может работать\n"
+"неправильно. При необходимости обновите конфигурацию ещё раз."
 
-#: src/frontends/qt/ui/GraphicsUi.ui:186 src/frontends/qt/GuiGraphics.cpp:478
-msgid "Set &width:"
-msgstr "&Ширина:"
+#: src/frontends/qt/GuiApplication.cpp:1551
+msgid "System reconfigured"
+msgstr "В системе была обновлена конфигурация"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:196
-msgid "Scale image to maximum size not exceeding width and height"
+#: src/frontends/qt/GuiApplication.cpp:1552
+msgid ""
+"The system has been reconfigured.\n"
+"You need to restart LyX to make use of any\n"
+"updated document class specifications."
 msgstr ""
-"Масштабировать изображение до максимального размера, не превышающего ширину "
-"и высоту"
+"В системе была обновлена конфигурация.\n"
+"Необходимо перезапустить LyX, чтобы использовать\n"
+"обновлённые классы документов."
 
-#: src/frontends/qt/ui/GraphicsUi.ui:209
-msgid "Rotate Graphics"
-msgstr "Поворот изображения"
+#: src/frontends/qt/GuiApplication.cpp:1632
+msgid "Exiting."
+msgstr "Выхожу."
 
-#: src/frontends/qt/ui/GraphicsUi.ui:233
-msgid "Check to change the order of rotating and scaling"
+#: src/frontends/qt/GuiApplication.cpp:1730
+#, c-format
+msgid "Opening help file %1$s..."
+msgstr "Открываем файл помощи %1$s..."
+
+#: src/frontends/qt/GuiApplication.cpp:1744
+msgid "Syntax: set-color <lyx_name> <x11_name>"
+msgstr "Синтаксис: set-color <lyx_name> <x11_name>"
+
+#: src/frontends/qt/GuiApplication.cpp:1760
+#, c-format
+msgid "Set-color \"%1$s\" failed - color is undefined or may not be redefined"
 msgstr ""
-"Установите этот флажок для изменения порядка поворота и масштабирования"
+"Установка цвета не удалась \"%1$s\" - цвет не определён или не может быть "
+"переопределён"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:236
-msgid "Ro&tate after scaling"
-msgstr "Поверну&ть после масштабирования"
+#: src/frontends/qt/GuiApplication.cpp:1865
+#, c-format
+msgid "Cannot iterate more than %1$d times"
+msgstr "Невозможно итерировать более, чем %1$d раз"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:253
-msgid "Or&igin:"
-msgstr "&Центр:"
+#: src/frontends/qt/GuiApplication.cpp:1965
+#, c-format
+msgid "Applied \"%1$s\" to %2$d buffer(s)"
+msgstr "Применено \"%1$s\" к %2$d буферу(ам)"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:279
-msgid "A&ngle (degrees):"
-msgstr "Угол (градусы):"
+#: src/frontends/qt/GuiApplication.cpp:2052
+#, c-format
+msgid "Document defaults saved in %1$s"
+msgstr "Настройки документа по умолчанию сохранены в %1$s"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:292 src/frontends/qt/ui/GraphicsUi.ui:305
-msgid "File name of image"
-msgstr "Имя файла с изображением"
+#: src/frontends/qt/GuiApplication.cpp:2056
+msgid "Unable to save document defaults"
+msgstr "Невозможно сохранить как документ по умолчанию"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:313
-msgid "&Coordinates and Clipping"
-msgstr "Координаты и обрезка"
+#: src/frontends/qt/GuiApplication.cpp:2280
+#: src/frontends/qt/GuiApplication.cpp:2295
+msgid "Unknown function."
+msgstr "Неизвестная функция."
 
-#: src/frontends/qt/ui/GraphicsUi.ui:347
+#: src/frontends/qt/GuiApplication.cpp:2796
+msgid "The current document was closed."
+msgstr "Текущий документ был закрыт."
+
+#: src/frontends/qt/GuiApplication.cpp:2806
 msgid ""
-"Clip to the coordinates specified below (bounding box for DVI/PS output, "
-"viewport for PDF output)"
+"LyX has caught an exception, it will now attempt to save all unsaved "
+"documents and exit.\n"
+"\n"
+"Exception: "
 msgstr ""
-"Обрезать по координатам, указанным ниже (bounding box для вывода DVI/PS, "
-"viewport - для вывода PDF)"
+"LyX получил сообщение об ошибке, сейчас он попытается сохранить все "
+"документы и выйти.\n"
+"\n"
+"Ошибка: "
 
-#: src/frontends/qt/ui/GraphicsUi.ui:350
-msgid "Clip to c&oordinates"
-msgstr "Обрезать по &координатам"
+#: src/frontends/qt/GuiApplication.cpp:2810
+#: src/frontends/qt/GuiApplication.cpp:2816
+msgid "Software exception Detected"
+msgstr "Обнаружена ошибка в программе"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:438 src/frontends/qt/ui/GraphicsUi.ui:445
-msgid "y:"
-msgstr "y:"
+#: src/frontends/qt/GuiApplication.cpp:2814
+msgid ""
+"LyX has caught some really weird exception, it will now attempt to save all "
+"unsaved documents and exit."
+msgstr ""
+"LyX получил сообщение о серьёзной ошибке, сейчас он попытается сохранить все "
+"документы и выйти."
 
-#: src/frontends/qt/ui/GraphicsUi.ui:452 src/frontends/qt/ui/GraphicsUi.ui:459
-msgid "x:"
-msgstr "x:"
+#: src/frontends/qt/GuiApplication.cpp:3115
+#: src/frontends/qt/GuiApplication.cpp:3127
+msgid "Could not find UI definition file"
+msgstr "Не удалось найти файл определения UI"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:482
+#: src/frontends/qt/GuiApplication.cpp:3116
+#, c-format
 msgid ""
-"Read coordinates from the file (bounding box value in case of PostScript "
-"files, graphic dimensions in case of other file types)"
+"Error while reading the included file\n"
+"%1$s\n"
+"Please check your installation."
 msgstr ""
-"Читать координаты из файла (значение bounding box для файлов PostScript, "
-"размер изображения - для других типов файлов)"
+"Ошибка при чтении включённого файла\n"
+"%1$s.\n"
+"Проверьте вашу установку."
 
-#: src/frontends/qt/ui/GraphicsUi.ui:520 src/frontends/qt/ui/GraphicsUi.ui:527
-msgid "Additional LaTeX options"
-msgstr "Дополнительные параметры LaTeX"
+#: src/frontends/qt/GuiApplication.cpp:3122
+msgid "Could not find default UI file"
+msgstr "На удалось найти файл UI по умолчанию"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:530
-msgid "LaTeX &options:"
-msgstr "&Параметры LaTeX:"
+#: src/frontends/qt/GuiApplication.cpp:3123
+msgid ""
+"LyX could not find the default UI file!\n"
+"Please check your installation."
+msgstr ""
+"LyX не смог найти файл UI по умолчанию!\n"
+"Проверьте вашу установку."
 
-#: src/frontends/qt/ui/GraphicsUi.ui:556
+#: src/frontends/qt/GuiApplication.cpp:3128
+#, c-format
 msgid ""
-"Enable LyX to preview this graphics, if graphics previewing is not disabled "
-"at application level (see Preferences dialog)."
+"Error while reading the configuration file\n"
+"%1$s\n"
+"Falling back to default.\n"
+"Please look under Tools>Preferences>User Interface and\n"
+"check which User Interface file you are using."
 msgstr ""
-"Разрешить LyX предварительный просмотр графики, если только он не запрещён "
-"на уровне приложения (см. диалоговое окно Настройки)."
+"Ошибка при чтении конфигурационного файла\n"
+"%1$s.\n"
+"Сброс к настройкам по умолчанию.\n"
+"Посмотрите Инструменты>Настройки>Интерфейс пользователя и\n"
+"проверьте какой файл интерфейса вы используете."
 
-#: src/frontends/qt/ui/GraphicsUi.ui:559
-msgid "Sho&w in LyX"
-msgstr "&Показывать в LyX"
+#: src/frontends/qt/GuiBibitem.cpp:60
+msgid "Author &Names:"
+msgstr "Имена авторов:"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:605
-msgid "Sca&le on screen (%):"
-msgstr "Масштаб на экране (%):"
+#: src/frontends/qt/GuiBibitem.cpp:62
+msgid ""
+"Insert the author name(s) for the author-year reference here. If you use an "
+"abbreviated list (with `et al.'), the full list can go below."
+msgstr ""
+"Вставьте здесь имя автора (имена авторов) для ссылки \"автор-год\". Если вы "
+"используете сокращенный список (с \"et al.''), полный список можно найти "
+"ниже."
 
-#: src/frontends/qt/ui/GraphicsUi.ui:631
-msgid "Assign the graphic to a group of graphics that share the same settings"
-msgstr "Присоединить изображение к группе изображений с такими же настройками"
+#: src/frontends/qt/GuiBibitem.cpp:64 src/frontends/qt/ui/BibitemUi.ui:105
+msgid "A&ll Author Names:"
+msgstr "Имена всех авторов:"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:634
-msgid "Graphics Group"
-msgstr "Группа изображений"
+#: src/frontends/qt/GuiBibitem.cpp:66
+msgid ""
+"Pass content of the `Author', `Year' and `All Authors' fields literally to "
+"LaTeX. Check this if you want to enter LaTeX code."
+msgstr ""
+"Передавать содержимое полей `Автор', `Год' и `Все авторы' буквально в LaTeX. "
+"Установите, если хотите ввести код LaTeX."
 
-#: src/frontends/qt/ui/GraphicsUi.ui:680
-msgid "Assigned &to group:"
-msgstr "Относится к &группе:"
+#: src/frontends/qt/GuiBibitem.cpp:87 src/frontends/qt/GuiBibitem.cpp:89
+#: src/frontends/qt/ui/BibitemUi.ui:55 src/frontends/qt/ui/IncludeUi.ui:183
+#: src/frontends/qt/ui/LabelUi.ui:36
+msgid "&Label:"
+msgstr "&Метка:"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:690
-msgid "Click to define a new graphics group."
-msgstr "Нажмите чтобы определить новую группу изображений."
+#: src/frontends/qt/GuiBibitem.cpp:91 src/frontends/qt/ui/BibitemUi.ui:52
+#: src/frontends/qt/ui/BibitemUi.ui:76
+msgid "The label as it appears in the document"
+msgstr "Метка, как она будет показываться в документе"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:693
-msgid "O&pen new group..."
-msgstr "&Создать новую группу..."
+#: src/frontends/qt/GuiBibitem.cpp:93 src/frontends/qt/ui/BibitemUi.ui:122
+msgid ""
+"Pass content of the `Label' field literally to LaTeX. Check this if you want "
+"to enter LaTeX code."
+msgstr ""
+"Передавать содержимое поля «Метка» буквально в LaTeX. Выберите этот пункт, "
+"если хотите использовать код LaTeX."
 
-#: src/frontends/qt/ui/GraphicsUi.ui:700
-msgid "Select an existing group for the current graphics."
-msgstr "Выбрать существующую группу для данных изображений."
+#: src/frontends/qt/GuiBibitem.h:36
+msgid "Bibliography Item Settings"
+msgstr "Источник"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:713
-msgid "Draft mode"
-msgstr "Черновой режим"
+#: src/frontends/qt/GuiBibtex.cpp:56 src/frontends/qt/GuiBibtex.cpp:346
+msgid "BibTeX Bibliography"
+msgstr "Библиография BibTeX"
 
-#: src/frontends/qt/ui/GraphicsUi.ui:716
-msgid "&Draft mode"
-msgstr "&Черновой режим"
+#: src/frontends/qt/GuiBibtex.cpp:68 src/frontends/qt/GuiCitation.cpp:104
+#: src/frontends/qt/GuiDocument.cpp:1664 src/frontends/qt/GuiLyXFiles.cpp:194
+#: src/frontends/qt/GuiRef.cpp:60 src/frontends/qt/PanelStack.cpp:77
+msgid "Clear text"
+msgstr "Удалить текст"
 
-#: src/frontends/qt/ui/HSpaceUi.ui:28
-msgid "Select a fill pattern style for HFills"
-msgstr ""
-"Выберите стиль шаблона заполнения (только для горизонтального заполнения)"
+#: src/frontends/qt/GuiBibtex.cpp:70
+msgid "All avail. databases"
+msgstr "Все доступные базы"
 
-#: src/frontends/qt/ui/HSpaceUi.ui:37
-msgid "..............."
-msgstr "..............."
+#: src/frontends/qt/GuiBibtex.cpp:118
+msgid ""
+"This list consists of all databases that are indexed by LaTeX and thus are "
+"found without a file path. This is usually everything in the bib/ "
+"subdirectory of LaTeX's texmf tree. If you want to reuse your own database, "
+"this is the place you should store it."
+msgstr ""
+"Этот список содержит все базы данных, которые индексируются LaTeX и поэтому "
+"находятся без задания пути к файлу. Обычно это все файлы из каталога texmf/"
+"bib/ вашей установки LaTeX. Если вы хотите использовать свою собственную "
+"базу данных, можете сохранить её там же."
 
-#: src/frontends/qt/ui/HSpaceUi.ui:42
-msgid "________"
-msgstr "________"
+#: src/frontends/qt/GuiBibtex.cpp:138 src/frontends/qt/GuiBibtex.cpp:305
+msgid "Document Encoding"
+msgstr "Кодировка документа"
 
-#: src/frontends/qt/ui/HSpaceUi.ui:47
-msgid "<-----------"
-msgstr "<-----------"
+#: src/frontends/qt/GuiBibtex.cpp:276
+msgid "Database"
+msgstr "База данных"
 
-#: src/frontends/qt/ui/HSpaceUi.ui:52
-msgid "----------->"
-msgstr "----------->"
+#: src/frontends/qt/GuiBibtex.cpp:277
+msgid "File Encoding"
+msgstr "Кодировка файла"
 
-#: src/frontends/qt/ui/HSpaceUi.ui:57
-msgid "\\-----v-----/"
-msgstr "\\-----v-----/"
+#: src/frontends/qt/GuiBibtex.cpp:284
+msgid "General E&ncoding:"
+msgstr "Общая кодировка:"
 
-#: src/frontends/qt/ui/HSpaceUi.ui:62
-msgid "/-----^-----\\"
-msgstr "/-----^-----\\"
+#: src/frontends/qt/GuiBibtex.cpp:285
+msgid ""
+"If your bibliography databases use a different encoding than the LyX "
+"document, specify it here. If indivivual databases have different encodings, "
+"you can set it in the list above."
+msgstr ""
+"Если в ваших библиографических базах данных используется кодировка, отличная "
+"от кодировки документа LyX, укажите ее здесь. Если отдельные базы данных "
+"имеют разные кодировки, вы можете установить их в вышеприведенном списке."
 
-#: src/frontends/qt/ui/HSpaceUi.ui:70 src/frontends/qt/ui/VSpaceUi.ui:23
-msgid "&Spacing:"
-msgstr "&Промежуток:"
+#: src/frontends/qt/GuiBibtex.cpp:290 src/frontends/qt/ui/BibtexUi.ui:238
+msgid "E&ncoding:"
+msgstr "Кодировка:"
 
-#: src/frontends/qt/ui/HSpaceUi.ui:80 src/frontends/qt/ui/VSpaceUi.ui:79
-msgid "Supported spacing types"
-msgstr "Поддерживаемые типы промежутков"
+#: src/frontends/qt/GuiBibtex.cpp:291 src/frontends/qt/ui/BibtexUi.ui:248
+msgid ""
+"If your bibliography databases use a different encoding than the LyX "
+"document, specify it here"
+msgstr ""
+"Если библиографическая база данных использует кодировку, отличную от "
+"документа LyX, то укажите её здесь"
 
-#: src/frontends/qt/ui/HSpaceUi.ui:87 src/frontends/qt/ui/VSpaceUi.ui:69
-msgid "&Value:"
-msgstr "&Значение:"
+#: src/frontends/qt/GuiBibtex.cpp:304
+msgid "General Encoding"
+msgstr "Общая кодировка"
 
-#: src/frontends/qt/ui/HSpaceUi.ui:100 src/frontends/qt/ui/VSpaceUi.ui:62
-msgid "Custom value. Needs spacing type \"Custom\"."
+#: src/frontends/qt/GuiBibtex.cpp:311
+msgid ""
+"If this bibliography database uses a different encoding than specified "
+"below, set it here"
 msgstr ""
-"Пользовательское значение. Требует тип промежутка \"Задано пользователем\"."
+"Если эта библиографическая база данных использует другую кодировку, чем "
+"указанная ниже, установите ее здесь."
 
-#: src/frontends/qt/ui/HSpaceUi.ui:110
-msgid "&Fill Pattern:"
-msgstr "&Шаблон заполнения:"
+#: src/frontends/qt/GuiBibtex.cpp:344
+msgid "Biblatex Bibliography"
+msgstr "Библиография Biblatex"
 
-#: src/frontends/qt/ui/HSpaceUi.ui:123 src/frontends/qt/ui/VSpaceUi.ui:46
-msgid "&Protect:"
-msgstr "&Защита:"
+#: src/frontends/qt/GuiBibtex.cpp:357 src/insets/InsetBibtex.cpp:219
+#: src/insets/InsetBibtex.cpp:237 src/frontends/qt/ui/BibtexUi.ui:338
+msgid "all cited references"
+msgstr "все процитированные источники"
 
-#: src/frontends/qt/ui/HSpaceUi.ui:133 src/frontends/qt/GuiHSpace.cpp:212
-msgid "Insert the spacing even after a line break"
-msgstr "Вставить промежуток даже после разрыва строки"
+#: src/frontends/qt/GuiBibtex.cpp:359 src/insets/InsetBibtex.cpp:217
+#: src/frontends/qt/ui/BibtexUi.ui:343
+msgid "all uncited references"
+msgstr "все непроцитированные источники"
 
-#: src/frontends/qt/ui/HyperlinkUi.ui:24 src/frontends/qt/ui/HyperlinkUi.ui:61
-#: lib/layouts/acmart.layout:685 lib/layouts/acmart.layout:703
-#: lib/layouts/amsdefs.inc:160 lib/layouts/maa-monthly.layout:143
-#: lib/layouts/maa-monthly.layout:147 lib/layouts/minimalistic.module:27
-#: lib/layouts/scrlttr2.layout:212 lib/layouts/stdinsets.inc:551
-#: lib/layouts/stdinsets.inc:554
-msgid "URL"
-msgstr "URL"
+#: src/frontends/qt/GuiBibtex.cpp:360 src/insets/InsetBibtex.cpp:215
+#: src/insets/InsetBibtex.cpp:235 src/frontends/qt/ui/BibtexUi.ui:348
+msgid "all references"
+msgstr "все источники"
 
-#: src/frontends/qt/ui/HyperlinkUi.ui:27
-msgid "&Target:"
-msgstr "Цель:"
+#: src/frontends/qt/GuiBibtex.cpp:362 src/insets/InsetBibtex.cpp:233
+msgid "all reference units"
+msgstr "все ссылки"
 
-#: src/frontends/qt/ui/HyperlinkUi.ui:37 src/frontends/qt/ui/HyperlinkUi.ui:68
-msgid "Name associated with the URL"
-msgstr "Название, связанное с URL"
+#: src/frontends/qt/GuiBibtex.cpp:458 src/frontends/qt/GuiBibtex.cpp:468
+#: src/frontends/qt/GuiCompare.cpp:163 src/frontends/qt/GuiCompare.cpp:167
+#: src/frontends/qt/GuiDocument.cpp:2837 src/frontends/qt/GuiExternal.cpp:677
+#: src/frontends/qt/GuiGraphics.cpp:791 src/frontends/qt/GuiInclude.cpp:377
+#: src/frontends/qt/GuiLyXFiles.cpp:368 src/frontends/qt/GuiLyXFiles.cpp:374
+#: src/frontends/qt/GuiView.cpp:2392 src/frontends/qt/GuiView.cpp:2451
+#: src/frontends/qt/GuiView.cpp:2589 src/frontends/qt/GuiView.cpp:2723
+#: src/frontends/qt/GuiView.cpp:2842 src/frontends/qt/GuiView.cpp:2964
+msgid "D&ocuments"
+msgstr "Документы"
 
-#: src/frontends/qt/ui/HyperlinkUi.ui:40 src/frontends/qt/ui/LyXFilesUi.ui:55
-#: src/frontends/qt/ui/PrefIdentityUi.ui:22
-msgid "&Name:"
-msgstr "&Имя:"
+#: src/frontends/qt/GuiBibtex.cpp:460
+msgid "BibTeX Databases (*.bib)"
+msgstr "Базы данных BibTeX (*.bib)"
 
-#: src/frontends/qt/ui/HyperlinkUi.ui:77
+#: src/frontends/qt/GuiBibtex.cpp:462
+msgid "Select a BibTeX database to add"
+msgstr "Добавить базу данных BiBTeX"
+
+#: src/frontends/qt/GuiBibtex.cpp:470
+msgid "BibTeX Styles (*.bst)"
+msgstr "Стили BibTeX (*.bst)"
+
+#: src/frontends/qt/GuiBibtex.cpp:472
+msgid "Select a BibTeX style"
+msgstr "Выберите стиль BibTeX"
+
+#: src/frontends/qt/GuiBox.cpp:58
+msgid "No frame"
+msgstr "Без рамки"
+
+#: src/frontends/qt/GuiBox.cpp:58
+msgid "Simple rectangular frame"
+msgstr "Простая прямоугольная рамка"
+
+#: src/frontends/qt/GuiBox.cpp:59
+msgid "Oval frame, thin"
+msgstr "Тонкая овальная рамка"
+
+#: src/frontends/qt/GuiBox.cpp:59
+msgid "Oval frame, thick"
+msgstr "Толстая овальная рамка"
+
+#: src/frontends/qt/GuiBox.cpp:60
+msgid "Drop shadow"
+msgstr "Рамка с тенью"
+
+#: src/frontends/qt/GuiBox.cpp:60
+msgid "Shaded background"
+msgstr "Закрашенный фон"
+
+#: src/frontends/qt/GuiBox.cpp:61
+msgid "Double rectangular frame"
+msgstr "Двойная прямоугольная рамка"
+
+#: src/frontends/qt/GuiBox.cpp:74 lib/layouts/beamer.layout:850
+#: lib/layouts/graphicboxes.module:56 lib/layouts/moderncv.layout:219
+msgid "Height"
+msgstr "Высота"
+
+#: src/frontends/qt/GuiBox.cpp:74
+msgid "Depth"
+msgstr "Глубина"
+
+#: src/frontends/qt/GuiBox.cpp:75
+msgid "Total Height"
+msgstr "Полная высота"
+
+#: src/frontends/qt/GuiBox.cpp:75 lib/layouts/beamer.layout:786
+#: lib/layouts/europasscv.layout:176 lib/layouts/graphicboxes.module:49
+#: lib/layouts/moderncv.layout:320 lib/layouts/sectionbox.module:22
+msgid "Width"
+msgstr "Ширина"
+
+#: src/frontends/qt/GuiBox.cpp:343 src/frontends/qt/GuiBox.cpp:558
+#: src/frontends/qt/ui/BoxUi.ui:219
+msgid "Stretch"
+msgstr "Растянуть"
+
+#: src/frontends/qt/GuiBox.cpp:424 src/frontends/qt/GuiBox.cpp:634
+#: src/frontends/qt/GuiDocument.cpp:129 src/frontends/qt/GuiGraphics.cpp:580
+#: src/frontends/qt/GuiMathMatrix.cpp:33 src/frontends/qt/GuiPrefs.cpp:2287
+#: src/frontends/qt/GuiPrefs.cpp:2310 src/frontends/qt/ui/BoxUi.ui:91
+#: src/frontends/qt/ui/HSpaceUi.ui:32 src/frontends/qt/ui/ListingsUi.ui:105
+#: src/frontends/qt/ui/TabularUi.ui:1200 src/frontends/qt/ui/TabularUi.ui:1219
+#: src/frontends/qt/ui/TabularUi.ui:1267
+msgid "None"
+msgstr "Нет"
+
+#: src/frontends/qt/GuiBox.cpp:426 src/frontends/qt/GuiBox.cpp:637
+#: src/insets/InsetBox.cpp:139 src/frontends/qt/ui/BoxUi.ui:96
+msgid "Parbox"
+msgstr "Parbox"
+
+#: src/frontends/qt/GuiBox.cpp:428 src/frontends/qt/GuiBox.cpp:636
+#: src/insets/InsetBox.cpp:141
+msgid "Makebox"
+msgstr "Makebox"
+
+#: src/frontends/qt/GuiBox.cpp:638 src/insets/InsetBox.cpp:143
+#: src/frontends/qt/ui/BoxUi.ui:101
+msgid "Minipage"
+msgstr "Minipage"
+
+#: src/frontends/qt/GuiBox.h:44
+msgid "Box Settings"
+msgstr "Блок"
+
+#: src/frontends/qt/GuiBranch.h:35
+msgid "Branch Settings"
+msgstr "Ветка"
+
+#: src/frontends/qt/GuiBranches.cpp:53 src/insets/Inset.cpp:114
+msgid "Branch"
+msgstr "Ветка"
+
+#: src/frontends/qt/GuiBranches.cpp:54
+msgid "Activated"
+msgstr "Включено"
+
+#: src/frontends/qt/GuiBranches.cpp:55 src/frontends/qt/ui/BoxUi.ui:412
+msgid "Color"
+msgstr "Цвет"
+
+#: src/frontends/qt/GuiBranches.cpp:56
+msgid "Filename Suffix"
+msgstr "Суффикс файла"
+
+#: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:143
+#: src/frontends/qt/GuiDocument.cpp:3276 src/frontends/qt/GuiDocument.cpp:4568
+#: src/frontends/qt/GuiProgressView.cpp:144
+#: src/frontends/qt/GuiProgressView.cpp:158
+#: src/frontends/qt/GuiProgressView.cpp:179
+msgid "Yes"
+msgstr "Да"
+
+#: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:143
+#: src/frontends/qt/GuiDocument.cpp:3275 src/frontends/qt/GuiDocument.cpp:3906
+#: src/frontends/qt/GuiDocument.cpp:4567
+#: src/frontends/qt/GuiProgressView.cpp:110
+#: src/frontends/qt/GuiProgressView.cpp:143
+#: src/frontends/qt/GuiProgressView.cpp:179
+msgid "No"
+msgstr "Нет"
+
+#: src/frontends/qt/GuiBranches.cpp:209
+msgid "Enter new branch name"
+msgstr "Введите название новой ветки"
+
+#: src/frontends/qt/GuiBranches.cpp:215
+#, c-format
 msgid ""
-"Pass content of the `Name' field literally to LaTeX. Check this if you want "
-"to enter LaTeX code."
+"A branch with the name \"%1$s\" already exists.\n"
+"Do you want to merge branch \"%2$s\" with that one?"
 msgstr ""
-"Передавать содержимое поля «Название» буквально в LaTeX. Выберите этот "
-"пункт, если вы хотите ввести код LaTeX."
+"Ветка с именем \"%1$s\" уже существует.\n"
+"Хотите объединить ветку \"%2$s\" с ней?"
 
-#: src/frontends/qt/ui/HyperlinkUi.ui:106
-msgid "Specify the link target"
-msgstr "Укажите цель ссылки"
+#: src/frontends/qt/GuiBranches.cpp:219
+msgid "&Merge"
+msgstr "Объединить"
 
-#: src/frontends/qt/ui/HyperlinkUi.ui:109
-msgid "Link type"
-msgstr "Тип ссылки"
+#: src/frontends/qt/GuiBranches.cpp:227 src/frontends/qt/GuiIndices.cpp:243
+msgid "Renaming failed"
+msgstr "Переименование не удалось"
 
-#: src/frontends/qt/ui/HyperlinkUi.ui:133
-msgid "Link to the web or to every other target"
-msgstr "Ссылка на веб-страницу или какую-то другую цель"
+#: src/frontends/qt/GuiBranches.cpp:228
+msgid "The branch could not be renamed."
+msgstr "Ветку невозможно переименовать."
 
-#: src/frontends/qt/ui/HyperlinkUi.ui:136
-msgid "&Web"
-msgstr "&Веб-страница"
+#: src/frontends/qt/GuiChanges.cpp:41
+msgid "Merge Changes"
+msgstr "Объединить изменения"
 
-#: src/frontends/qt/ui/HyperlinkUi.ui:146
-msgid "Link to an email address"
-msgstr "Ссылка на адрес электронной почты"
+#: src/frontends/qt/GuiChanges.cpp:77
+msgid "Inserted by %1"
+msgstr "Вставлено автором %1"
 
-#: src/frontends/qt/ui/HyperlinkUi.ui:149
-msgid "E&mail"
-msgstr "Эл. &почта"
+#: src/frontends/qt/GuiChanges.cpp:78
+msgid "Deleted by %1"
+msgstr "Удалено автором %1"
 
-#: src/frontends/qt/ui/HyperlinkUi.ui:156
-msgid "Link to a file"
-msgstr "Ссылка на файл"
+#: src/frontends/qt/GuiChanges.cpp:84
+msgid " on[[date]] %1"
+msgstr " [[date]] %1"
 
-#: src/frontends/qt/ui/HyperlinkUi.ui:159
-msgid "Fi&le"
-msgstr "&Файл"
+#: src/frontends/qt/GuiChanges.cpp:86
+msgid "Inserted on %1"
+msgstr "Вставка %1"
 
-#: src/frontends/qt/ui/IncludeUi.ui:35
-msgid "I&nclude Type:"
-msgstr "&Тип включения:"
+#: src/frontends/qt/GuiChanges.cpp:87
+msgid "Deleted on %1"
+msgstr "Удаление %1"
 
-#: src/frontends/qt/ui/IncludeUi.ui:46 src/insets/InsetInclude.cpp:424
-msgid "Include"
-msgstr "Включить (include)"
+#: src/frontends/qt/GuiCharacter.cpp:52 src/frontends/qt/GuiCharacter.cpp:65
+#: src/frontends/qt/GuiCharacter.cpp:86 src/frontends/qt/GuiCharacter.cpp:99
+#: src/frontends/qt/GuiCharacter.cpp:137 src/frontends/qt/GuiCharacter.cpp:148
+#: src/frontends/qt/GuiCharacter.cpp:191 src/frontends/qt/GuiCharacter.cpp:244
+msgid "No change"
+msgstr "Без изменений"
 
-#: src/frontends/qt/ui/IncludeUi.ui:51 src/insets/InsetInclude.cpp:414
-msgid "Input"
-msgstr "Ввести (input)"
+#: src/frontends/qt/GuiCharacter.cpp:57
+msgid "Small Caps"
+msgstr "Капитель"
 
-#: src/frontends/qt/ui/IncludeUi.ui:56 lib/layouts/stdlayouts.inc:82
-#: src/insets/InsetInclude.cpp:417
-msgid "Verbatim"
-msgstr "Буквально"
+#: src/frontends/qt/GuiCharacter.cpp:88
+msgid "(Without)[[underlining]]"
+msgstr "(нет)"
 
-#: src/frontends/qt/ui/IncludeUi.ui:61 src/insets/InsetInclude.cpp:1420
-#: src/insets/InsetInclude.cpp:1426
-msgid "Program Listing"
-msgstr "Листинг программы"
+#: src/frontends/qt/GuiCharacter.cpp:89
+msgid "Single[[underlining]]"
+msgstr "Одинарное"
 
-#: src/frontends/qt/ui/IncludeUi.ui:69
-msgid "Edit the file"
-msgstr "Редактировать файл"
+#: src/frontends/qt/GuiCharacter.cpp:90
+msgid "Double[[underlining]]"
+msgstr "Двойное"
 
-#: src/frontends/qt/ui/IncludeUi.ui:72 src/frontends/qt/ui/LocalLayoutUi.ui:77
-#: src/frontends/qt/ui/PreambleUi.ui:48 src/frontends/qt/GuiDocument.cpp:582
-#: src/frontends/qt/GuiDocument.cpp:754
-msgid "&Edit"
-msgstr "&Редактировать"
+#: src/frontends/qt/GuiCharacter.cpp:91
+msgid "Wavy"
+msgstr "Волной"
 
-#: src/frontends/qt/ui/IncludeUi.ui:79
-msgid "File name to include"
-msgstr "Выберите документ для включения"
+#: src/frontends/qt/GuiCharacter.cpp:101
+msgid "(Without)[[strikethrough]]"
+msgstr "(нет)"
 
-#: src/frontends/qt/ui/IncludeUi.ui:124
-msgid "Underline spaces in generated output"
-msgstr "Подчёркивать пробелы в генерируемом выводе"
+#: src/frontends/qt/GuiCharacter.cpp:102
+msgid "Single[[strikethrough]]"
+msgstr "Одинарное"
 
-#: src/frontends/qt/ui/IncludeUi.ui:127
-msgid "&Mark spaces in output"
-msgstr "&Отмечать пробелы в выводе"
+#: src/frontends/qt/GuiCharacter.cpp:103
+msgid "With /"
+msgstr "Штриховое"
 
-#: src/frontends/qt/ui/IncludeUi.ui:140
-msgid "Show LaTeX preview"
-msgstr "Показать предварительный просмотр LaTeX"
+#: src/frontends/qt/GuiCharacter.cpp:193
+msgid "(Without)[[color]]"
+msgstr "(нет)"
 
-#: src/frontends/qt/ui/IncludeUi.ui:143
-msgid "&Show preview"
-msgstr "&Показать предварительный просмотр"
+#: src/frontends/qt/GuiCharacter.cpp:210
+msgid "Text Properties"
+msgstr "Свойства текста"
 
-#: src/frontends/qt/ui/IncludeUi.ui:171
-msgid "Listing Parameters"
-msgstr "Параметры листинга"
+#: src/frontends/qt/GuiCharacter.cpp:276
+msgid "Reset All To &Default"
+msgstr "Сбросить все на \"По умолчанию\""
 
-#: src/frontends/qt/ui/IncludeUi.ui:252
-msgid "&Caption:"
-msgstr "Подпись:"
+#: src/frontends/qt/GuiCharacter.cpp:277
+msgid "Reset All To No Chan&ge"
+msgstr "Сбросить все на \"Без изменений\""
 
-#: src/frontends/qt/ui/IncludeUi.ui:279
-#: src/frontends/qt/ui/ListingsSettingsUi.ui:79
-#: src/frontends/qt/ui/ListingsUi.ui:507
-msgid "Check it to enter parameters that are not recognizable by LyX"
-msgstr "Поставьте этот флажок для ввода параметров, которые LyX не распознаёт"
+#: src/frontends/qt/GuiCharacter.cpp:282
+msgid "&Reset All Fields"
+msgstr "Сбросить все поля"
 
-#: src/frontends/qt/ui/IncludeUi.ui:282
-#: src/frontends/qt/ui/ListingsSettingsUi.ui:82
-#: src/frontends/qt/ui/ListingsUi.ui:510
-msgid "&Bypass validation"
-msgstr "Пропускать проверку"
+#: src/frontends/qt/GuiCitation.cpp:95
+msgid "Citation"
+msgstr "Библиографическая ссылка"
 
-#: src/frontends/qt/ui/IncludeUi.ui:289
-msgid "&More parameters"
-msgstr "До&полнительные параметры"
+#: src/frontends/qt/GuiCitation.cpp:106
+msgid "All avail. citations"
+msgstr "Все доступные источники"
 
-#: src/frontends/qt/ui/IncludeUi.ui:299
+#: src/frontends/qt/GuiCitation.cpp:112
+msgid "Regular e&xpression"
+msgstr "&Регулярное выражение"
+
+#: src/frontends/qt/GuiCitation.cpp:114
+msgid "Case se&nsitive"
+msgstr "Учитывать &регистр"
+
+#: src/frontends/qt/GuiCitation.cpp:116
+msgid "Search as you &type"
+msgstr "Искать во время &ввода текста"
+
+#: src/frontends/qt/GuiCitation.cpp:178
 msgid ""
-"Pass content of the `Caption' field literally to LaTeX. Check this if you "
-"want to enter LaTeX code."
+"Ordered list of all cited references.\n"
+"You can reorder, add and remove references with the buttons on the left."
 msgstr ""
-"Передавать содержимое поля «Название» буквально в LaTeX. Выберите этот "
-"пункт, если вы хотите ввести код LaTeX."
+"Упорядоченный список всех процитированных источников.\n"
+"Вы можете изменить порядок, добавить или удалить источники, используя кнопки "
+"слева."
 
-#: src/frontends/qt/ui/IndexUi.ui:40
-msgid "Available I&ndexes:"
-msgstr "&Доступные указатели:"
+#: src/frontends/qt/GuiCitation.cpp:294
+msgid "General text befo&re:"
+msgstr "Общий текст до:"
 
-#: src/frontends/qt/ui/IndexUi.ui:50
-msgid "Select the index this entry should be listed in."
-msgstr "Выберите указатель, в который попадёт текущая рубрика."
+#: src/frontends/qt/GuiCitation.cpp:295 src/frontends/qt/GuiCitation.cpp:299
+msgid "General &text after:"
+msgstr "Общий текст после:"
 
-#: src/frontends/qt/ui/IndicesUi.ui:19
+#: src/frontends/qt/GuiCitation.cpp:296
 msgid ""
-"Here you can define an alternative index processor and specify its options."
+"Text that precedes the whole reference list. For text that precedes "
+"individual items, double-click on the respective entry above."
 msgstr ""
-"Здесь можно задать альтернативный процессор указателей и указать его "
-"параметры"
+"Текст, предшествующий всему списку ссылок. Для текста, предшествующего "
+"отдельным пунктам, дважды щёлкните соответствующую запись выше."
 
-#: src/frontends/qt/ui/IndicesUi.ui:22 src/frontends/qt/ui/PrefLatexUi.ui:181
-msgid "Index Generation"
-msgstr "Создание указателя"
+#: src/frontends/qt/GuiCitation.cpp:300
+msgid ""
+"Text that follows the whole reference list. For text that follows individual "
+"items, double-click on the respective entry above."
+msgstr ""
+"Текст, который следует за всем списком ссылок. Для текста, следующего за "
+"отдельными пунктами, дважды щёлкните соответствующую запись выше."
 
-#: src/frontends/qt/ui/IndicesUi.ui:54 src/frontends/qt/GuiPrefs.cpp:707
-#: src/frontends/qt/GuiPrefs.cpp:833
-msgid "&Options:"
-msgstr "&Параметры:"
+#: src/frontends/qt/GuiCitation.cpp:304 src/frontends/qt/ui/CitationUi.ui:299
+msgid "Text befo&re:"
+msgstr "Текст &до:"
 
-#: src/frontends/qt/ui/IndicesUi.ui:64
-msgid "Define program options of the selected processor."
-msgstr "Определите параметры для программы выбранного процессора"
+#: src/frontends/qt/GuiCitation.cpp:306
+msgid "Text that precedes the reference (e.g., \"cf.\")"
+msgstr "Текст до ссылки (например, \"сравн.\")"
 
-#: src/frontends/qt/ui/IndicesUi.ui:89
-msgid "Check if you need multiple indexes (e.g., an Index of Names)"
-msgstr "Выберите, если вам необходимы несколько указателей"
+#: src/frontends/qt/GuiCitation.cpp:308 src/frontends/qt/ui/CitationUi.ui:328
+msgid ""
+"Text that precedes the reference (e.g., \"cf.\"), if the current citation "
+"style supports this."
+msgstr ""
+"Текст до ссылки (например \"см.\"), если текущий стиль это поддерживает."
 
-#: src/frontends/qt/ui/IndicesUi.ui:92
-msgid "&Use multiple indexes"
-msgstr "Использовать несколько указателей"
+#: src/frontends/qt/GuiCitation.cpp:310 src/frontends/qt/ui/CitationUi.ui:335
+msgid "&Text after:"
+msgstr "Текст по&сле:"
 
-#: src/frontends/qt/ui/IndicesUi.ui:114
-msgid "&New:[[index]]"
-msgstr "&Новый:"
+#: src/frontends/qt/GuiCitation.cpp:312
+msgid "Text that follows the reference (e.g., pages)"
+msgstr "Текст после ссылки (например, \"стр.\")"
 
-#: src/frontends/qt/ui/IndicesUi.ui:124
+#: src/frontends/qt/GuiCitation.cpp:314 src/frontends/qt/ui/CitationUi.ui:345
 msgid ""
-"Enter the name of the desired index (e.g. \"Index of Names\") and hit \"Add\""
+"Text that follows the reference (e.g., pages), if the current citation style "
+"supports this."
 msgstr ""
-"Введите название желаемого указателя (например, «Именной указатель») и "
-"нажмите «Добавить»"
+"Текст после ссылки (например \"страниц\"), если текущий стиль это "
+"поддерживает."
 
-#: src/frontends/qt/ui/IndicesUi.ui:131
-msgid "Add a new index to the list"
-msgstr "Добавить в список новый указатель"
+#: src/frontends/qt/GuiCitation.cpp:320
+msgid "Force upper case in names (\"Del Piero\", not \"del Piero\")."
+msgstr ""
+"Принудительный верхний регистр в именах (\"Да Винчи\", вместо \"да Винчи\")."
 
-#: src/frontends/qt/ui/IndicesUi.ui:143
-msgid "A&vailable Indexes:"
-msgstr "&Доступные указатели:"
+#: src/frontends/qt/GuiCitation.cpp:322 src/frontends/qt/ui/CitationUi.ui:398
+msgid ""
+"Force upper case in names (\"Del Piero\", not \"del Piero\"), if the current "
+"citation style supports this."
+msgstr ""
+"Принудительный верхний регистр в именах (\"Да Винчи\", вместо \"да Винчи\"), "
+"если текущий стиль это поддерживает."
 
-#: src/frontends/qt/ui/IndicesUi.ui:154
-#: src/frontends/qt/ui/ProgressViewUi.ui:168 src/frontends/qt/ui/RefUi.ui:24
-msgid "1"
-msgstr "1"
+#: src/frontends/qt/GuiCitation.cpp:353 src/frontends/qt/ui/CitationUi.ui:411
+msgid "All aut&hors"
+msgstr "Все авторы"
 
-#: src/frontends/qt/ui/IndicesUi.ui:162
-msgid "Remove the selected index"
-msgstr "Удалить выбранный указатель"
+#: src/frontends/qt/GuiCitation.cpp:355
+msgid "Always list all authors (rather than using \"et al.\")"
+msgstr "Всегда показывать всех авторов (вместо \"и др.\")"
 
-#: src/frontends/qt/ui/IndicesUi.ui:172
-msgid "Rename the selected index"
-msgstr "Переименовать выбранный указатель"
+#: src/frontends/qt/GuiCitation.cpp:357 src/frontends/qt/ui/CitationUi.ui:408
+msgid ""
+"Always list all authors (rather than using \"et al.\"), if the current "
+"citation style supports this."
+msgstr ""
+"Всегда выводить список всех авторов (вместо использования «и др.»), если это "
+"поддерживается текущим стилем."
 
-#: src/frontends/qt/ui/IndicesUi.ui:175
-msgid "R&ename..."
-msgstr "Пе&реименовать..."
+#: src/frontends/qt/GuiCitation.cpp:361
+msgid "All references available for citing."
+msgstr "Все источники, доступные для цитирования."
 
-#: src/frontends/qt/ui/IndicesUi.ui:182
-msgid "Define or change button color"
-msgstr "Установить или изменить цвет кнопок"
+#: src/frontends/qt/GuiCitation.cpp:363
+msgid ""
+"All references available for citing.\n"
+"To add the selected one, hit Add, press Enter or double-click.\n"
+"Hit Ctrl-Enter to add and close the dialog."
+msgstr ""
+"Все источники, доступные для цитирования.\n"
+"Чтобы добавить выделенный, нажмите кнопку Добавить, клавишу Enter или "
+"используйте двойной щелчок мышью.\n"
+"Нажмите Ctrl-Enter, чтобы добавить источник и закрыть это окно."
 
-#: src/frontends/qt/ui/InfoUi.ui:25
-msgid "Infor&mation Type:"
-msgstr "Тип информации:"
+#: src/frontends/qt/GuiCitation.cpp:439 src/frontends/qt/ui/CitationUi.ui:61
+msgid "All fields"
+msgstr "Все поля"
 
-#: src/frontends/qt/ui/InfoUi.ui:35
+#: src/frontends/qt/GuiCitation.cpp:440
+msgid "Keys"
+msgstr "Ключи"
+
+#: src/frontends/qt/GuiCitation.cpp:454 src/frontends/qt/ui/CitationUi.ui:85
+msgid "All entry types"
+msgstr "Все типы записей"
+
+#: src/frontends/qt/GuiCitation.cpp:481
+msgid "Displays a sketchy preview if a citation is selected above"
+msgstr "Отображает примерный печатный вид для выделенного источника"
+
+#: src/frontends/qt/GuiCitation.cpp:485
+msgid "Sketchy preview of the selected citation"
+msgstr "Предварительный просмотр источника в библиографии"
+
+#: src/frontends/qt/GuiCitation.cpp:596
+msgid "Enter string to filter the list of available citations"
+msgstr "Введите строку для фильтрации списка доступных источников"
+
+#: src/frontends/qt/GuiCitation.cpp:597
 msgid ""
-"Select the type of information to be output. Then specify the requested "
-"information below."
+"Enter string to filter the list of available citations and press <Enter>"
 msgstr ""
-"Выберите тип информации для вывода. Далее укажите соответствующую информацию "
-"ниже."
+"Введите строку для фильтрации списка доступных источников и нажмите <Enter>"
 
-#: src/frontends/qt/ui/InfoUi.ui:49 src/frontends/qt/GuiInfo.cpp:362
-msgid "&Fix Date:"
-msgstr "Заданная дата:"
+#: src/frontends/qt/GuiCitation.cpp:598
+msgid ""
+"\n"
+"The down arrow key will get you into the list of filtered citations."
+msgstr ""
+"\n"
+"Клавиша 'Стрелка вниз' переведёт вас в список отфильтрованных источников."
 
-#: src/frontends/qt/ui/InfoUi.ui:59 src/frontends/qt/GuiInfo.cpp:361
-msgid "Here you can enter a fix date (in ISO format: YYYY-MM-DD)"
-msgstr "Введите дату (в формате ISO: YYYY-MM-DD)"
+#: src/frontends/qt/GuiCitation.cpp:662
+msgid "Text before"
+msgstr "Текст до"
 
-#: src/frontends/qt/ui/InfoUi.ui:70
-msgid "&Custom:"
-msgstr "П&ользовательские:"
+#: src/frontends/qt/GuiCitation.cpp:663
+msgid "Cite key"
+msgstr "Ключ источника"
 
-#: src/frontends/qt/ui/InsetParamsUi.ui:17
-msgid "Inset Parameter Configuration"
-msgstr "Настройка параметров вставок"
+#: src/frontends/qt/GuiCitation.cpp:664
+msgid "Text after"
+msgstr "Текст после"
 
-#: src/frontends/qt/ui/InsetParamsUi.ui:47
-msgid "Update dialog when moving context"
-msgstr "Обновлять диалоговое окно при изменении контекста"
+#: src/frontends/qt/GuiClipboard.cpp:172 lib/configure.py:800
+msgid "Enhanced Metafile"
+msgstr "Улучшенный метафайл (EMF)"
 
-#: src/frontends/qt/ui/InsetParamsUi.ui:50
-msgid "S&ynchronize Dialog"
-msgstr "Синхронизировать окно"
+#: src/frontends/qt/GuiClipboard.cpp:173 lib/configure.py:799
+msgid "Windows Metafile"
+msgstr "Метафайл Windows (WMF)"
 
-#: src/frontends/qt/ui/InsetParamsUi.ui:57
-msgid "Apply settings immediately"
-msgstr "Применить настройки немедленно"
+#: src/frontends/qt/GuiClipboard.cpp:174
+msgid "LinkBack PDF"
+msgstr "LinkBack PDF"
 
-#: src/frontends/qt/ui/InsetParamsUi.ui:63
-#: src/frontends/qt/ui/ParagraphUi.ui:237
-msgid "I&mmediate Apply"
-msgstr "Применить немедленно"
+#: src/frontends/qt/GuiClipboard.cpp:175 lib/layouts/pdfcomment.module:98
+msgid "PDF"
+msgstr "PDF"
 
-#: src/frontends/qt/ui/LaTeXUi.ui:20
-msgid "Document &Class"
-msgstr "Класс документа"
+#: src/frontends/qt/GuiClipboard.cpp:176 lib/configure.py:667
+msgid "PNG"
+msgstr "PNG"
 
-#: src/frontends/qt/ui/LaTeXUi.ui:48
-msgid "Click to select a local document class definition file"
-msgstr "Нажмите для выбора локального файла, определяющего класс документа"
+#: src/frontends/qt/GuiClipboard.cpp:177
+msgid "JPEG"
+msgstr "JPEG"
 
-#: src/frontends/qt/ui/LaTeXUi.ui:51
-msgid "&Local Layout..."
-msgstr "&Локальный макет..."
+#: src/frontends/qt/GuiClipboard.cpp:186
+msgid "pasted"
+msgstr "вставлено"
 
-#: src/frontends/qt/ui/LaTeXUi.ui:61
-msgid "Class Options"
-msgstr "Параметры класса"
+#: src/frontends/qt/GuiClipboard.cpp:195
+#, c-format
+msgid "%1$s Files"
+msgstr "Файлы %1$s"
 
-#: src/frontends/qt/ui/LaTeXUi.ui:70
-msgid "Enable to use the options that are predefined in the layout file"
-msgstr "Разрешить использовать параметры, определённые в файле макета"
+#: src/frontends/qt/GuiClipboard.cpp:205
+msgid "Choose a filename to save the pasted graphic as"
+msgstr "Выберите имя файла, для сохранения вставленной графики"
 
-#: src/frontends/qt/ui/LaTeXUi.ui:73
-msgid "&Predefined:"
-msgstr "Встро&енные:"
+#: src/frontends/qt/GuiClipboard.cpp:215 src/frontends/qt/GuiView.cpp:2465
+#: src/frontends/qt/GuiView.cpp:2608 src/frontends/qt/GuiView.cpp:2624
+#: src/frontends/qt/GuiView.cpp:2636 src/frontends/qt/GuiView.cpp:2653
+#: src/frontends/qt/GuiView.cpp:2738 src/frontends/qt/GuiView.cpp:4176
+msgid "Canceled."
+msgstr "Отменено."
 
-#: src/frontends/qt/ui/LaTeXUi.ui:80
-msgid ""
-"The options that are predefined in the layout file. Click to the left to "
-"select/deselect."
-msgstr "Параметры, определённые в файле макета. Нажмите слева для выбора."
+#: src/frontends/qt/GuiClipboard.cpp:245
+msgid "Overwrite external file?"
+msgstr "Перезаписать внешний файл?"
 
-#: src/frontends/qt/ui/LaTeXUi.ui:90
-msgid "Cus&tom:"
-msgstr "П&ользовательские:"
+#: src/frontends/qt/GuiClipboard.cpp:246
+#, c-format
+msgid "File %1$s already exists, do you want to overwrite it?"
+msgstr "Файл %1$s уже существует, перезаписать?"
 
-#: src/frontends/qt/ui/LaTeXUi.ui:106
-msgid "&Graphics driver:"
-msgstr "&Графический драйвер:"
+#: src/frontends/qt/GuiCommandBuffer.cpp:106
+msgid "List of previous commands"
+msgstr "Список предыдущих команд"
 
-#: src/frontends/qt/ui/LaTeXUi.ui:136
-msgid "Select if the current document is included to a master file"
-msgstr "Отметьте, если текущий документ включается в главный документ"
+#: src/frontends/qt/GuiCommandBuffer.cpp:110
+msgid "Next command"
+msgstr "Следующая команда"
 
-#: src/frontends/qt/ui/LaTeXUi.ui:142
-msgid "Select de&fault master document"
-msgstr "&Задать главный документ"
+#: src/frontends/qt/GuiCompare.cpp:44
+msgid "Compare LyX files"
+msgstr "Сравнить файлы LyX"
 
-#: src/frontends/qt/ui/LaTeXUi.ui:160
-msgid "&Master:"
-msgstr "&Главный документ:"
+#: src/frontends/qt/GuiCompare.cpp:155
+msgid "Select document"
+msgstr "Выберите документ"
 
-#: src/frontends/qt/ui/LaTeXUi.ui:177
-msgid "Enter the name of the default master document"
-msgstr "Введите имя главного документа"
+#: src/frontends/qt/GuiCompare.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:367
+#: src/frontends/qt/GuiView.cpp:2396 src/frontends/qt/GuiView.cpp:2454
+#: src/frontends/qt/GuiView.cpp:2727 src/frontends/qt/GuiView.cpp:2853
+msgid "LyX Documents (*.lyx)"
+msgstr "Документы LyX (*.lyx)"
 
-#: src/frontends/qt/ui/LaTeXUi.ui:196
-msgid "&Suppress default date on front page"
-msgstr "Убрать вывод даты на титульном листе"
+#: src/frontends/qt/GuiCompare.cpp:199 src/frontends/qt/GuiDocument.cpp:2799
+#: src/frontends/qt/GuiDocument.cpp:2873 src/frontends/qt/GuiDocument.cpp:4770
+#: lib/layouts/fixme.module:83
+msgid "Error"
+msgstr "Ошибка"
 
-#: src/frontends/qt/ui/LaTeXUi.ui:216
-msgid "&Use refstyle (not prettyref) for cross-references"
-msgstr "Использовать refstyle (вместо prettyref) для перекрёстных ссылок"
+#: src/frontends/qt/GuiCompare.cpp:199
+msgid "Error while comparing documents."
+msgstr "Ошибка сравнения документов."
 
-#: src/frontends/qt/ui/LanguageUi.ui:39
-msgid "&Quote style:"
-msgstr "Вид кавычек:"
+#: src/frontends/qt/GuiCompare.cpp:218
+msgid "Aborted"
+msgstr "Прервано"
 
-#: src/frontends/qt/ui/LanguageUi.ui:49
-msgid "Select the default quotation marks style"
-msgstr "Выберите вид кавычек по умолчанию"
+#: src/frontends/qt/GuiCompare.cpp:230
+msgid "Finished"
+msgstr "Завершено"
 
-#: src/frontends/qt/ui/LanguageUi.ui:59
+#: src/frontends/qt/GuiCompare.cpp:264
+msgid "Aborting process..."
+msgstr "Прерывание процесса..."
+
+#: src/frontends/qt/GuiCompare.cpp:315
+msgid "differences"
+msgstr "различия"
+
+#: src/frontends/qt/GuiCompareHistory.cpp:37
+msgid "Compare different revisions"
+msgstr "Сравнение разных версий"
+
+#: src/frontends/qt/GuiCounter.h:37
+msgid "Counters"
+msgstr "Счётчик"
+
+#: src/frontends/qt/GuiDelimiter.cpp:61
+msgid "big[[delimiter size]]"
+msgstr "большой"
+
+#: src/frontends/qt/GuiDelimiter.cpp:62
+msgid "Big[[delimiter size]]"
+msgstr "Большой"
+
+#: src/frontends/qt/GuiDelimiter.cpp:63
+msgid "bigg[[delimiter size]]"
+msgstr "огромный"
+
+#: src/frontends/qt/GuiDelimiter.cpp:64
+msgid "Bigg[[delimiter size]]"
+msgstr "Огромный"
+
+#: src/frontends/qt/GuiDelimiter.cpp:184
+msgid "Math Delimiter"
+msgstr "Ограничители"
+
+#: src/frontends/qt/GuiDelimiter.cpp:244 src/frontends/qt/GuiDelimiter.cpp:245
+#: src/frontends/qt/GuiDelimiter.cpp:455 src/frontends/qt/GuiDelimiter.cpp:457
+msgid "(None)"
+msgstr "(Нет)"
+
+#: src/frontends/qt/GuiDelimiter.cpp:249
+msgid "Variable"
+msgstr "переменный"
+
+#: src/frontends/qt/GuiDelimiter.cpp:326 src/frontends/qt/ui/DelimiterUi.ui:122
+msgid "TeX Code: "
+msgstr "Код TeX: "
+
+#: src/frontends/qt/GuiDocument.cpp:141 lib/layouts/aa.layout:178
+#: lib/layouts/aapaper.layout:66 lib/layouts/aapaper.layout:139
+#: lib/layouts/aastex.layout:97 lib/layouts/aguplus.inc:29
+#: lib/layouts/amsart.layout:65 lib/layouts/amsbook.layout:56
+#: lib/layouts/apa.layout:305 lib/layouts/apax.inc:404
+#: lib/layouts/beamer.layout:286 lib/layouts/egs.layout:32
+#: lib/layouts/europasscv.layout:187 lib/layouts/europecv.layout:129
+#: lib/layouts/isprs.layout:148 lib/layouts/iucr.layout:46
+#: lib/layouts/jss.layout:25 lib/layouts/kluwer.layout:62
+#: lib/layouts/latex8.layout:47 lib/layouts/llncs.layout:48
+#: lib/layouts/ltugboat.layout:47 lib/layouts/memoir.layout:98
+#: lib/layouts/moderncv.layout:244 lib/layouts/numarticle.inc:8
+#: lib/layouts/numreport.inc:14 lib/layouts/numrevtex.inc:6
+#: lib/layouts/paper.layout:54 lib/layouts/powerdot.layout:233
+#: lib/layouts/revtex.layout:40 lib/layouts/revtex4-x.inc:30
+#: lib/layouts/revtex4.layout:68 lib/layouts/scrclass.inc:95
+#: lib/layouts/siamltex.layout:379 lib/layouts/simplecv.layout:31
+#: lib/layouts/spie.layout:21 lib/layouts/stdcounters.inc:20
+#: lib/layouts/stdsections.inc:82 lib/layouts/svcommon.inc:196
+#: lib/layouts/tufte-book.layout:111 lib/ui/stdtoolbars.inc:126
+msgid "Section"
+msgstr "Раздел"
+
+#: src/frontends/qt/GuiDocument.cpp:141 lib/layouts/beamer.layout:568
+#: lib/layouts/powerdot.layout:126 lib/layouts/seminar.layout:111
+#: lib/layouts/slides.layout:91
+msgid "Slide"
+msgstr "Слайд"
+
+#: src/frontends/qt/GuiDocument.cpp:141 lib/layouts/europecv.layout:123
+msgid "Page"
+msgstr "Страница"
+
+#: src/frontends/qt/GuiDocument.cpp:233
+msgid "Module not found!"
+msgstr "Модуль не найден!"
+
+#: src/frontends/qt/GuiDocument.cpp:582 src/frontends/qt/GuiDocument.cpp:754
+#: src/frontends/qt/ui/IncludeUi.ui:72 src/frontends/qt/ui/LocalLayoutUi.ui:77
+#: src/frontends/qt/ui/PreambleUi.ui:48
+msgid "&Edit"
+msgstr "&Редактировать"
+
+#: src/frontends/qt/GuiDocument.cpp:598 src/frontends/qt/GuiDocument.cpp:770
+msgid "&End Edit"
+msgstr "Завершить редактирование"
+
+#: src/frontends/qt/GuiDocument.cpp:658
+msgid "Validation required!"
+msgstr "Требуется проверка!"
+
+#: src/frontends/qt/GuiDocument.cpp:708
+msgid "Layout is valid!"
+msgstr "Макет без ошибок!"
+
+#: src/frontends/qt/GuiDocument.cpp:709
+msgid "Layout is invalid!"
+msgstr "Макет содержит ошибки!"
+
+#: src/frontends/qt/GuiDocument.cpp:721
+msgid "Conversion to current format impossible!"
+msgstr "Преобразование в текущий формат невозможно!"
+
+#: src/frontends/qt/GuiDocument.cpp:722
+msgid "Conversion to current stable format impossible."
+msgstr "Преобразование в текущий стабильный формат невозможно."
+
+#: src/frontends/qt/GuiDocument.cpp:727
+msgid "Convert to current format"
+msgstr "Преобразовать в текущий формат"
+
+#: src/frontends/qt/GuiDocument.cpp:784 src/frontends/qt/ui/CompareUi.ui:120
+msgid "Document Settings"
+msgstr "Настройки документа"
+
+#: src/frontends/qt/GuiDocument.cpp:865 src/frontends/qt/ui/VSpaceUi.ui:88
+msgid "SmallSkip"
+msgstr "Малый"
+
+#: src/frontends/qt/GuiDocument.cpp:866 src/frontends/qt/ui/VSpaceUi.ui:93
+msgid "MedSkip"
+msgstr "Средний"
+
+#: src/frontends/qt/GuiDocument.cpp:867 src/frontends/qt/ui/VSpaceUi.ui:98
+msgid "BigSkip"
+msgstr "Большой"
+
+#: src/frontends/qt/GuiDocument.cpp:905 src/frontends/qt/GuiInclude.cpp:52
+msgid "Child Document"
+msgstr "Дочерний документ"
+
+#: src/frontends/qt/GuiDocument.cpp:906
+msgid "Include to Output"
+msgstr "Включить в выходной файл"
+
+#: src/frontends/qt/GuiDocument.cpp:988
+msgid "Unicode (utf8)"
+msgstr "Юникод (utf8)"
+
+#: src/frontends/qt/GuiDocument.cpp:989
+msgid "Traditional (auto-selected)"
+msgstr "Традиционная (автовыбор)"
+
+#: src/frontends/qt/GuiDocument.cpp:992
+msgid "Select Unicode (utf8) encoding."
+msgstr "Выберите кодировку Юникод (utf8)."
+
+#: src/frontends/qt/GuiDocument.cpp:994
+msgid "Use language-dependent traditional encodings."
+msgstr "Использовать традиционные кодировки для выбранных языков"
+
+#: src/frontends/qt/GuiDocument.cpp:996
+msgid "Select a custom, document-wide encoding."
+msgstr "Выберите пользовательскую кодировку для документа."
+
+#: src/frontends/qt/GuiDocument.cpp:1005
+msgid "Standard Unicode support by the ``inputenc'' package."
+msgstr "Поддержка стандартного Юникода пакетом ``inputenc''."
+
+#: src/frontends/qt/GuiDocument.cpp:1008
 msgid ""
-"Output quotation marks that automatically adapt to the style selected above. "
-"If this is not selected, the quotation marks will stick with the style they "
-"have been inserted with."
+"Use UTF-8 'as-is': do not load any supporting packages, do not convert any "
+"characters to LaTeX macros. For use with non-TeX fonts (XeTeX/LuaTeX) or "
+"custom preamble code."
 msgstr ""
-"Выходные кавычки, которые автоматически адаптируются к стилю, выбранному "
-"выше. Если этот параметр не выбран, кавычки будут совпадать со стилем, в "
-"который они были вставлены."
+"Использовать UTF-8 'как есть': не загружать пакеты поддержки, не "
+"конвертировать символы в макросы LaTeX. Для использования с системными "
+"шрифтами (XeTeX/LuaTeX) или пользовательским кодом преамбулы."
 
-#: src/frontends/qt/ui/LanguageUi.ui:62
-msgid "Use d&ynamic quotation marks"
-msgstr "Использовать динамические кавычки"
+#: src/frontends/qt/GuiDocument.cpp:1013
+msgid ""
+"Load ``inputenc'' with option 'utf8x' for extended Unicode support by the "
+"``ucs'' package."
+msgstr ""
+"Загружать ``inputenc'' с опцией 'utf8x' для расширенной поддержки Unicode "
+"пакетом ``ucs''."
 
-#: src/frontends/qt/ui/LanguageUi.ui:89
-msgid "&Encoding:"
-msgstr "Кодировка:"
+#: src/frontends/qt/GuiDocument.cpp:1016
+#: src/frontends/qt/ui/PrefLanguageUi.ui:348
+msgid "Language Default"
+msgstr "По умолчанию для языка"
 
-#: src/frontends/qt/ui/LanguageUi.ui:102
-msgid "Select encoding of the generated LaTeX source (LaTeX input encoding)."
-msgstr "Выберите кодировку для кода LaTeX (входная кодировка LaTeX)"
+#: src/frontends/qt/GuiDocument.cpp:1017
+msgid "Language Default (no inputenc)"
+msgstr "По умолчанию для языка (без inputenc)"
 
-#: src/frontends/qt/ui/LanguageUi.ui:115
-msgid "Select Unicode encoding variant."
-msgstr "Выберите вариант кодировки Юникод"
+#: src/frontends/qt/GuiDocument.cpp:1019
+msgid ""
+"Use the traditional default encoding of the text language. Switch encoding "
+"if a text part is set to a language with different default."
+msgstr ""
+"Использовать традиционную кодировку по умолчанию для языка текста. "
+"Переключите кодировку, если для части текста установлен другой язык по "
+"умолчанию."
 
-#: src/frontends/qt/ui/LanguageUi.ui:125
-msgid "Specify whether to load the 'inputenc' package."
-msgstr "Укажите, загружать ли пакет 'inputenc'"
+#: src/frontends/qt/GuiDocument.cpp:1023
+msgid ""
+"Do not load the 'inputenc' package. Switch encoding if required but do not "
+"write input encoding switch commands to the source."
+msgstr ""
+"Не загружать пакет 'inputenc'. При необходимости переключите кодировку, но "
+"не записывайте команды переключения входной кодировки в документ."
 
-#: src/frontends/qt/ui/LanguageUi.ui:135
-msgid "Select custom encoding."
-msgstr "Выберите пользовательскую кодировку"
+#: src/frontends/qt/GuiDocument.cpp:1053 src/frontends/qt/GuiDocument.cpp:2658
+#: src/frontends/qt/GuiPrefs.cpp:814 src/frontends/qt/GuiPrefs.cpp:842
+#: src/frontends/qt/ui/PrefLanguageUi.ui:77
+msgid "Automatic"
+msgstr "Автоматический"
 
-#: src/frontends/qt/ui/LanguageUi.ui:142
-msgid "Language pa&ckage:"
-msgstr "Языковой &пакет:"
+#: src/frontends/qt/GuiDocument.cpp:1055
+#: src/frontends/qt/ui/PrefLanguageUi.ui:82
+msgid "Always Babel"
+msgstr "Всегда Babel"
 
-#: src/frontends/qt/ui/LanguageUi.ui:152
-msgid "Select which language package LyX should use"
-msgstr "Выберите используемый языковой пакет"
+#: src/frontends/qt/GuiDocument.cpp:1059
+#: src/frontends/qt/ui/PrefLanguageUi.ui:92
+msgid "None[[language package]]"
+msgstr "Нет"
 
-#: src/frontends/qt/ui/LanguageUi.ui:159
+#: src/frontends/qt/GuiDocument.cpp:1137
+msgid "10"
+msgstr "10"
+
+#: src/frontends/qt/GuiDocument.cpp:1138
+msgid "11"
+msgstr "11"
+
+#: src/frontends/qt/GuiDocument.cpp:1139
+msgid "12"
+msgstr "12"
+
+#: src/frontends/qt/GuiDocument.cpp:1141
+msgid "Automatic[[encoding]]"
+msgstr "Автоматическая"
+
+#: src/frontends/qt/GuiDocument.cpp:1151
 msgid ""
-"Enter the command to load the language package (default: \\usepackage{babel})"
+"Use OpenType and TrueType fonts directly (requires XeTeX or LuaTeX)\n"
+"You need to install the package \"fontspec\" to use this feature"
 msgstr ""
-"Введите команду для загрузки языкового пакета (по умолчанию: "
-"\\usepackage{babel})"
+"Использовать шрифты OpenType и TrueType (требуется XeTeX или LuaTeX)\n"
+"Необходимо установить пакет \"fontspec\" для использования этой возможности"
 
-#: src/frontends/qt/ui/LineUi.ui:22
-msgid "Of&fset:"
-msgstr "Смещение:"
+#: src/frontends/qt/GuiDocument.cpp:1183
+msgid "empty"
+msgstr "пустой"
 
-#: src/frontends/qt/ui/LineUi.ui:35
-msgid "Value of the vertical line offset."
-msgstr "Вертикальное смещение линии."
+#: src/frontends/qt/GuiDocument.cpp:1184
+msgid "plain"
+msgstr "простой"
 
-#: src/frontends/qt/ui/LineUi.ui:71
-msgid "Value of the line width."
-msgstr "Значение ширины линии."
+#: src/frontends/qt/GuiDocument.cpp:1185
+msgid "headings"
+msgstr "с заголовками"
 
-#: src/frontends/qt/ui/LineUi.ui:94
-msgid "&Thickness:"
-msgstr "Толщина:"
+#: src/frontends/qt/GuiDocument.cpp:1186
+msgid "fancy"
+msgstr "красивый (fancy)"
 
-#: src/frontends/qt/ui/LineUi.ui:107
-msgid "Value of the line thickness."
-msgstr "Значение толщины линии."
+#: src/frontends/qt/GuiDocument.cpp:1195
+msgid "US letter"
+msgstr "US letter"
 
-#: src/frontends/qt/ui/ListingsSettingsUi.ui:47
-msgid "Input here the listings parameters"
-msgstr "Параметры листингов"
+#: src/frontends/qt/GuiDocument.cpp:1196
+msgid "US legal"
+msgstr "US legal"
 
-#: src/frontends/qt/ui/ListingsSettingsUi.ui:63
-#: src/frontends/qt/ui/ListingsUi.ui:479
-msgid "Feedback window"
-msgstr "Информационное окно"
+#: src/frontends/qt/GuiDocument.cpp:1197
+msgid "US executive"
+msgstr "US executive"
 
-#: src/frontends/qt/ui/ListingsSettingsUi.ui:95
-msgid "Choose the LaTeX package for code syntax highlighting"
-msgstr "Выберите пакет LaTeX для синтаксической подсветки кода"
+#: src/frontends/qt/GuiDocument.cpp:1198
+msgid "A0"
+msgstr "A0"
 
-#: src/frontends/qt/ui/ListingsSettingsUi.ui:98
-msgid "&Syntax Highlighting Package:"
-msgstr "Пакет подсветки синтаксиса:"
+#: src/frontends/qt/GuiDocument.cpp:1199
+msgid "A1"
+msgstr "A1"
 
-#: src/frontends/qt/ui/ListingsUi.ui:14 lib/layouts/numreport.inc:37
-#: lib/layouts/stdcounters.inc:77 lib/layouts/stdinsets.inc:337
-#: lib/layouts/stdinsets.inc:343 lib/layouts/stdinsets.inc:391
-#: lib/layouts/stdinsets.inc:397 src/insets/InsetCaption.cpp:407
-#: src/insets/InsetListings.cpp:576 src/insets/InsetListings.cpp:578
-msgid "Listing"
-msgstr "Листинг"
+#: src/frontends/qt/GuiDocument.cpp:1200
+msgid "A2"
+msgstr "A2"
 
-#: src/frontends/qt/ui/ListingsUi.ui:24
-msgid "&Main Settings"
-msgstr "Основные настройки"
+#: src/frontends/qt/GuiDocument.cpp:1201
+msgid "A3"
+msgstr "A3"
 
-#: src/frontends/qt/ui/ListingsUi.ui:30
-msgid "Placement"
-msgstr "&Размещение"
+#: src/frontends/qt/GuiDocument.cpp:1202
+msgid "A4"
+msgstr "A4"
 
-#: src/frontends/qt/ui/ListingsUi.ui:39
-msgid "Check for inline listings"
-msgstr "Установите для внутристрочного листинга"
+#: src/frontends/qt/GuiDocument.cpp:1203
+msgid "A5"
+msgstr "A5"
 
-#: src/frontends/qt/ui/ListingsUi.ui:42
-msgid "&Inline listing"
-msgstr "&Внутристрочный листинг"
+#: src/frontends/qt/GuiDocument.cpp:1204
+msgid "A6"
+msgstr "A6"
 
-#: src/frontends/qt/ui/ListingsUi.ui:49
-msgid "Check for floating listings"
-msgstr "Установите для плавающего листинга"
+#: src/frontends/qt/GuiDocument.cpp:1205
+msgid "B0"
+msgstr "B0"
 
-#: src/frontends/qt/ui/ListingsUi.ui:52
-msgid "&Float"
-msgstr "&Плавающий листинг"
+#: src/frontends/qt/GuiDocument.cpp:1206
+msgid "B1"
+msgstr "B1"
 
-#: src/frontends/qt/ui/ListingsUi.ui:59 src/frontends/qt/ui/WrapUi.ui:23
-msgid "Pla&cement:"
-msgstr "&Размещение:"
+#: src/frontends/qt/GuiDocument.cpp:1207
+msgid "B2"
+msgstr "B2"
 
-#: src/frontends/qt/ui/ListingsUi.ui:72
-msgid "Specify placement (htbp) for floating listings"
-msgstr "Установите размещение (htbp) для плавающих листингов"
+#: src/frontends/qt/GuiDocument.cpp:1208
+msgid "B3"
+msgstr "B3"
 
-#: src/frontends/qt/ui/ListingsUi.ui:82
-msgid "Line numbering"
-msgstr "Нумерация строк"
+#: src/frontends/qt/GuiDocument.cpp:1209
+msgid "B4"
+msgstr "B4"
 
-#: src/frontends/qt/ui/ListingsUi.ui:91
-msgid "&Side:"
-msgstr "&Сторона:"
+#: src/frontends/qt/GuiDocument.cpp:1210
+msgid "B5"
+msgstr "B5"
 
-#: src/frontends/qt/ui/ListingsUi.ui:101
-msgid "On which side should line numbers be printed?"
-msgstr "С какой стороны должны печататься номера строк?"
+#: src/frontends/qt/GuiDocument.cpp:1211
+msgid "B6"
+msgstr "B6"
 
-#: src/frontends/qt/ui/ListingsUi.ui:126
-msgid "S&tep:"
-msgstr "&Шаг:"
+#: src/frontends/qt/GuiDocument.cpp:1212
+msgid "C0"
+msgstr "C0"
 
-#: src/frontends/qt/ui/ListingsUi.ui:139
-msgid "Difference between two numbered lines"
-msgstr "Разница между двумя пронумерованными строками"
+#: src/frontends/qt/GuiDocument.cpp:1213
+msgid "C1"
+msgstr "C1"
 
-#: src/frontends/qt/ui/ListingsUi.ui:155
-msgid "Font si&ze:"
-msgstr "Размер шрифта:"
+#: src/frontends/qt/GuiDocument.cpp:1214
+msgid "C2"
+msgstr "C2"
 
-#: src/frontends/qt/ui/ListingsUi.ui:174
-msgid "Choose the font size for line numbers"
-msgstr "Выберите размер шрифта для номеров строк"
+#: src/frontends/qt/GuiDocument.cpp:1215
+msgid "C3"
+msgstr "C3"
 
-#: src/frontends/qt/ui/ListingsUi.ui:190 src/frontends/qt/ui/TabularUi.ui:1116
-msgid "Style"
-msgstr "Стиль"
+#: src/frontends/qt/GuiDocument.cpp:1216
+msgid "C4"
+msgstr "C4"
 
-#: src/frontends/qt/ui/ListingsUi.ui:199
-msgid "F&ont size:"
-msgstr "&Размер шрифта:"
+#: src/frontends/qt/GuiDocument.cpp:1217
+msgid "C5"
+msgstr "C5"
 
-#: src/frontends/qt/ui/ListingsUi.ui:218
-msgid "The content's base font size"
-msgstr "Основной размер шрифта листинга"
+#: src/frontends/qt/GuiDocument.cpp:1218
+msgid "C6"
+msgstr "C6"
 
-#: src/frontends/qt/ui/ListingsUi.ui:231
-msgid "Font Famil&y:"
-msgstr "&Гарнитура шрифта:"
+#: src/frontends/qt/GuiDocument.cpp:1219
+msgid "JIS B0"
+msgstr "JIS B0"
 
-#: src/frontends/qt/ui/ListingsUi.ui:250
-msgid "The content's base font style"
-msgstr "Основная гарнитура шрифта листинга"
+#: src/frontends/qt/GuiDocument.cpp:1220
+msgid "JIS B1"
+msgstr "JIS B1"
 
-#: src/frontends/qt/ui/ListingsUi.ui:263
-msgid "Break lines longer than the linewidth"
-msgstr "Переносить строки, которые шире установленной ширины строк (linewidth)"
+#: src/frontends/qt/GuiDocument.cpp:1221
+msgid "JIS B2"
+msgstr "JIS B2"
 
-#: src/frontends/qt/ui/ListingsUi.ui:266
-msgid "&Break long lines"
-msgstr "&Переносить длинные строки"
+#: src/frontends/qt/GuiDocument.cpp:1222
+msgid "JIS B3"
+msgstr "JIS B3"
 
-#: src/frontends/qt/ui/ListingsUi.ui:276
-msgid "Make spaces visible by a special symbol"
-msgstr "Визуализировать пробелы специальным символом"
+#: src/frontends/qt/GuiDocument.cpp:1223
+msgid "JIS B4"
+msgstr "JIS B4"
 
-#: src/frontends/qt/ui/ListingsUi.ui:279
-msgid "S&pace as symbol"
-msgstr "Показывать пробелы"
+#: src/frontends/qt/GuiDocument.cpp:1224
+msgid "JIS B5"
+msgstr "JIS B5"
 
-#: src/frontends/qt/ui/ListingsUi.ui:289
-msgid "Make spaces in strings visible by a special symbol"
-msgstr "Визуализировать пробелы в строках специальным символом"
+#: src/frontends/qt/GuiDocument.cpp:1225
+msgid "JIS B6"
+msgstr "JIS B6"
 
-#: src/frontends/qt/ui/ListingsUi.ui:292
-msgid "Space i&n string as symbol"
-msgstr "Показывать пробелы внутри \"строк\""
+#: src/frontends/qt/GuiDocument.cpp:1347 lib/layouts/AEA.layout:230
+#: lib/layouts/acmart.layout:623 lib/layouts/beamer.layout:1333
+#: lib/layouts/elsart.layout:389 lib/layouts/linguistics.module:18
+#: lib/layouts/llncs.layout:363 lib/layouts/svmono.layout:73
+#: lib/layouts/theorems-ams-bytype.inc:48
+#: lib/layouts/theorems-ams-bytype.inc:231
+#: lib/layouts/theorems-ams-bytype.inc:241
+#: lib/layouts/theorems-ams-bytype.inc:244
+#: lib/layouts/theorems-ams-chap-bytype.inc:57
+#: lib/layouts/theorems-ams-chap-bytype.inc:274
+#: lib/layouts/theorems-ams-chap-bytype.inc:288
+#: lib/layouts/theorems-ams-chap-bytype.inc:291
+#: lib/layouts/theorems-ams.inc:190 lib/layouts/theorems-ams.inc:199
+#: lib/layouts/theorems-ams.inc:202 lib/layouts/theorems-bytype.inc:187
+#: lib/layouts/theorems-bytype.inc:197 lib/layouts/theorems-bytype.inc:200
+#: lib/layouts/theorems-bytype.module:40
+#: lib/layouts/theorems-chap-bytype.module:47
+#: lib/layouts/theorems-chap-bytype.module:151
+#: lib/layouts/theorems-order.inc:43 lib/layouts/theorems-sec-bytype.module:47
+#: lib/layouts/theorems-sec-bytype.module:123
+#: lib/layouts/theorems-starred-equivalents.inc:48
+#: lib/layouts/theorems-starred.inc:192 lib/layouts/theorems-starred.inc:195
+#: lib/layouts/theorems-without-preamble.inc:213
+#: lib/layouts/theorems-without-preamble.inc:215
+#: lib/layouts/theorems-without-preamble.inc:222
+#: lib/layouts/theorems-without-preamble.inc:225 lib/layouts/theorems.inc:190
+#: lib/layouts/theorems.inc:199 lib/layouts/theorems.inc:202
+msgid "Example"
+msgstr "Пример"
 
-#: src/frontends/qt/ui/ListingsUi.ui:302
-msgid "Tab&ulator size:"
-msgstr "&Размер табуляции:"
+#: src/frontends/qt/GuiDocument.cpp:1348
+msgid "Numbered"
+msgstr "Нумеруется"
 
-#: src/frontends/qt/ui/ListingsUi.ui:318
-msgid "Use extended character table"
-msgstr "Использовать расширенную таблицу символов"
+#: src/frontends/qt/GuiDocument.cpp:1349
+msgid "Appears in TOC"
+msgstr "Отображается в содержании"
 
-#: src/frontends/qt/ui/ListingsUi.ui:321
-msgid "&Extended character table"
-msgstr "Расширенная таблица символов"
+#: src/frontends/qt/GuiDocument.cpp:1437
+msgid "Package"
+msgstr "Пакет"
 
-#: src/frontends/qt/ui/ListingsUi.ui:343
-msgid "Lan&guage:"
-msgstr "&Язык:"
+#: src/frontends/qt/GuiDocument.cpp:1437
+msgid "Load automatically"
+msgstr "Автоматически"
 
-#: src/frontends/qt/ui/ListingsUi.ui:353
-msgid "Select the programming language"
-msgstr "Выберите язык программирования"
+#: src/frontends/qt/GuiDocument.cpp:1438
+msgid "Load always"
+msgstr "Всегда загружать"
 
-#: src/frontends/qt/ui/ListingsUi.ui:360
-msgid "&Dialect:"
-msgstr "&Диалект:"
+#: src/frontends/qt/GuiDocument.cpp:1438
+msgid "Do not load"
+msgstr "Не загружать"
 
-#: src/frontends/qt/ui/ListingsUi.ui:370
-msgid "Select the dialect of the programming language, if available"
-msgstr "Выберите диалект языка программирования (при наличии)"
+#: src/frontends/qt/GuiDocument.cpp:1450
+msgid "The AMS LaTeX packages are always used"
+msgstr "Пакеты AMS LaTeX используются всегда"
 
-#: src/frontends/qt/ui/ListingsUi.ui:380
-msgid "Range"
-msgstr "Диапазон"
+#: src/frontends/qt/GuiDocument.cpp:1453
+#, c-format
+msgid "The LaTeX package %1$s is always used"
+msgstr "Пакет LaTeX %1$s используется всегда"
 
-#: src/frontends/qt/ui/ListingsUi.ui:389
-msgid "Fi&rst line:"
-msgstr "Первая строка:"
+#: src/frontends/qt/GuiDocument.cpp:1458
+msgid "The AMS LaTeX packages are never used"
+msgstr "Пакеты AMS LaTeX никогда не используются"
 
-#: src/frontends/qt/ui/ListingsUi.ui:402
-msgid "The first line to be printed"
-msgstr "Первая строка, которая будет напечатана"
+#: src/frontends/qt/GuiDocument.cpp:1461
+#, c-format
+msgid "The LaTeX package %1$s is never used"
+msgstr "Пакет LaTeX %1$s никогда не используется"
 
-#: src/frontends/qt/ui/ListingsUi.ui:415
-msgid "&Last line:"
-msgstr "Последняя строка:"
+#: src/frontends/qt/GuiDocument.cpp:1545 src/frontends/qt/GuiParagraph.cpp:114
+#: src/frontends/qt/GuiTabular.cpp:1020 src/frontends/qt/ui/BoxUi.ui:265
+#: src/frontends/qt/ui/ListingsUi.ui:110 src/frontends/qt/ui/TabularUi.ui:344
+#: src/frontends/qt/ui/TabularUi.ui:1553 src/frontends/qt/ui/WrapUi.ui:47
+msgid "Left"
+msgstr "Слева"
 
-#: src/frontends/qt/ui/ListingsUi.ui:428
-msgid "The last line to be printed"
-msgstr "Последняя строка, которая будет напечатана"
+#: src/frontends/qt/GuiDocument.cpp:1547 src/frontends/qt/GuiParagraph.cpp:115
+#: src/frontends/qt/GuiTabular.cpp:1022 src/frontends/qt/ui/BoxUi.ui:275
+#: src/frontends/qt/ui/ListingsUi.ui:115 src/frontends/qt/ui/TabularUi.ui:354
+#: src/frontends/qt/ui/WrapUi.ui:52
+msgid "Right"
+msgstr "Справа"
 
-#: src/frontends/qt/ui/ListingsUi.ui:445
-msgid "Ad&vanced"
-msgstr "&Дополнительно"
+#: src/frontends/qt/GuiDocument.cpp:1598 src/frontends/qt/GuiDocument.cpp:2816
+#, c-format
+msgid "%1$s [Class '%2$s']"
+msgstr "%1$s [Класс '%2$s']"
 
-#: src/frontends/qt/ui/ListingsUi.ui:457
-msgid "More Parameters"
-msgstr "Больше параметров"
+#: src/frontends/qt/GuiDocument.cpp:1600 src/frontends/qt/GuiErrorList.cpp:51
+#: src/frontends/qt/GuiLog.cpp:236 src/frontends/qt/GuiPrefs.cpp:641
+#: lib/languages:145 lib/layouts/aapaper.layout:63 lib/layouts/egs.layout:702
+#: src/frontends/qt/ui/OutputUi.ui:222
+msgid "LaTeX"
+msgstr "LaTeX"
 
-#: src/frontends/qt/ui/ListingsUi.ui:499
-msgid "Input listing parameters here. Enter ? for a list of parameters."
+#: src/frontends/qt/GuiDocument.cpp:1601
+#, c-format
+msgid ""
+"Class not found by LyX. Please check if you have the matching %1$s class and "
+"all required packages (%2$s) installed."
 msgstr ""
-"Введите здесь параметры, которые нужно вывести. Введите ? для того чтобы "
-"вывести все параметры."
+"LyX не нашёл класс. Проверьте, установлен ли у вас соответствующий класс "
+"(%1$s) и все необходимые пакеты (%2$s)."
 
-#: src/frontends/qt/ui/LocalLayoutUi.ui:20
-msgid "Document-specific layout information"
-msgstr "Локальный макет текущего документа"
+#: src/frontends/qt/GuiDocument.cpp:1666
+msgid "All avail. modules"
+msgstr "Все доступные модули"
 
-#: src/frontends/qt/ui/LocalLayoutUi.ui:38
-msgid "&Validate"
-msgstr "&Проверить"
+#: src/frontends/qt/GuiDocument.cpp:1758 src/frontends/qt/GuiDocument.cpp:1981
+msgid "Input listings parameters below. Enter ? for a list of parameters."
+msgstr ""
+"Введите параметры листингов в нижнее окно. Введите ? для того, чтобы увидеть "
+"список параметров."
 
-#: src/frontends/qt/ui/LocalLayoutUi.ui:48
-#: src/frontends/qt/ui/LocalLayoutUi.ui:94
-msgid "Errors reported in terminal."
-msgstr "Ошибки показаны в терминале."
+#: src/frontends/qt/GuiDocument.cpp:1765
+msgid "Document Class"
+msgstr "Класс документа"
 
-#: src/frontends/qt/ui/LocalLayoutUi.ui:74 src/frontends/qt/ui/PreambleUi.ui:45
-msgid "Editor for Latex (plain) format will be used"
-msgstr "Будет использован редактор для формата LaTeX (plain)"
+#: src/frontends/qt/GuiDocument.cpp:1767 lib/examples/Articles:0
+msgid "Modules"
+msgstr "Модули"
 
-#: src/frontends/qt/ui/LocalLayoutUi.ui:84
-msgid "Convert"
-msgstr "Преобразовать"
+#: src/frontends/qt/GuiDocument.cpp:1768
+msgid "Local Layout"
+msgstr "Локальный макет"
 
-#: src/frontends/qt/ui/LogUi.ui:25
-msgid "Log &Type:"
-msgstr "Тип &журнала:"
+#: src/frontends/qt/GuiDocument.cpp:1769 lib/ui/stdtoolbars.inc:313
+#: lib/ui/stdtoolbars.inc:418
+msgid "Fonts"
+msgstr "Шрифты"
 
-#: src/frontends/qt/ui/LogUi.ui:71
-msgid "Jump to the next error message."
-msgstr "Перейти к следующему сообщению от ошибке."
+#: src/frontends/qt/GuiDocument.cpp:1770
+msgid "Text Layout"
+msgstr "Макет текста"
 
-#: src/frontends/qt/ui/LogUi.ui:74
-msgid "Next &Error"
-msgstr "Следующая &ошибка"
+#: src/frontends/qt/GuiDocument.cpp:1771
+#: lib/layouts/customHeadersFooters.module:3 lib/layouts/landscape.module:3
+#: lib/layouts/multicol.module:3 src/frontends/qt/ui/PageLayoutUi.ui:162
+msgid "Page Layout"
+msgstr "Макет страницы"
 
-#: src/frontends/qt/ui/LogUi.ui:84
-msgid "Jump to the next warning message."
-msgstr "Перейти к следующему предупреждению."
+#: src/frontends/qt/GuiDocument.cpp:1772
+msgid "Page Margins"
+msgstr "Поля страницы"
 
-#: src/frontends/qt/ui/LogUi.ui:87
-msgid "Next &Warning"
-msgstr "Следующее &предупреждение"
+#: src/frontends/qt/GuiDocument.cpp:1773 src/frontends/qt/GuiPrefs.cpp:2390
+#: src/frontends/qt/Menus.cpp:915 lib/layouts/bicaption.module:16
+#: lib/layouts/europasscv.layout:350 lib/layouts/europasscv.layout:383
+#: lib/layouts/europasscv.layout:390 lib/layouts/europecv.layout:247
+#: lib/layouts/europecv.layout:253 lib/layouts/moderncv.layout:477
+#: src/frontends/qt/ui/CharacterUi.ui:281 src/frontends/qt/ui/ListingsUi.ui:334
+msgid "Language"
+msgstr "Язык"
 
-#: src/frontends/qt/ui/LogUi.ui:101
-msgid "&Find:"
-msgstr "Н&айти:"
+#: src/frontends/qt/GuiDocument.cpp:1774 src/frontends/qt/GuiPrefs.cpp:1057
+msgid "Colors"
+msgstr "Цвета"
 
-#: src/frontends/qt/ui/LogUi.ui:111
-msgid "Hit Enter or click 'Find Next' to search"
-msgstr "Нажмите Enter или 'Найти далее' для поиска"
+#: src/frontends/qt/GuiDocument.cpp:1775
+msgid "Change Tracking"
+msgstr "Отслеживание изменений"
 
-#: src/frontends/qt/ui/LogUi.ui:130
-msgid "&Open Containing Directory"
-msgstr "&Открыть каталог"
+#: src/frontends/qt/GuiDocument.cpp:1776
+msgid "Numbering & TOC"
+msgstr "Нумерация и содержание"
 
-#: src/frontends/qt/ui/LogUi.ui:156
-msgid "Update the display"
-msgstr "Обновить экран"
+#: src/frontends/qt/GuiDocument.cpp:1777 src/insets/InsetBibtex.cpp:957
+#: lib/layouts/IEEEtran.layout:345 lib/layouts/aapaper.layout:108
+#: lib/layouts/aapaper.layout:222 lib/layouts/aastex.layout:414
+#: lib/layouts/aguplus.inc:172 lib/layouts/aguplus.inc:174
+#: lib/layouts/agutex.layout:208 lib/layouts/amsbook.layout:120
+#: lib/layouts/amsdefs.inc:203 lib/layouts/beamer.layout:1159
+#: lib/layouts/book.layout:24 lib/layouts/book.layout:26
+#: lib/layouts/cl2emult.layout:107 lib/layouts/copernicus.layout:355
+#: lib/layouts/egs.layout:628 lib/layouts/elsarticle.layout:284
+#: lib/layouts/foils.layout:236 lib/layouts/ijmpc.layout:470
+#: lib/layouts/ijmpd.layout:491 lib/layouts/jasatex.layout:269
+#: lib/layouts/latex8.layout:127 lib/layouts/llncs.layout:269
+#: lib/layouts/memoir.layout:270 lib/layouts/memoir.layout:272
+#: lib/layouts/moderncv.layout:509 lib/layouts/mwbk.layout:23
+#: lib/layouts/mwbk.layout:25 lib/layouts/mwrep.layout:14
+#: lib/layouts/mwrep.layout:16 lib/layouts/natbibapa.module:3
+#: lib/layouts/powerdot.layout:382 lib/layouts/recipebook.layout:48
+#: lib/layouts/recipebook.layout:50 lib/layouts/report.layout:13
+#: lib/layouts/report.layout:15 lib/layouts/scrbook.layout:33
+#: lib/layouts/scrbook.layout:35 lib/layouts/scrclass.inc:284
+#: lib/layouts/scrreprt.layout:12 lib/layouts/scrreprt.layout:14
+#: lib/layouts/siamltex.layout:326 lib/layouts/simplecv.layout:183
+#: lib/layouts/stdstruct.inc:58 lib/layouts/svcommon.inc:575
+#: lib/layouts/tufte-book.layout:290 lib/layouts/tufte-book.layout:292
+#: lib/layouts/tufte-handout.layout:77 lib/examples/Articles:0
+msgid "Bibliography"
+msgstr "Библиография"
 
-#: src/frontends/qt/ui/LogUi.ui:159 src/frontends/qt/ui/ViewSourceUi.ui:150
-#: src/frontends/qt/GuiRef.cpp:79
-msgid "&Update"
-msgstr "&Обновить"
+#: src/frontends/qt/GuiDocument.cpp:1778
+msgid "Indexes"
+msgstr "Указатели"
 
-#: src/frontends/qt/ui/LyXFilesUi.ui:23
-msgid "Filter"
-msgstr "Фильтр"
+#: src/frontends/qt/GuiDocument.cpp:1779
+msgid "PDF Properties"
+msgstr "Свойства PDF"
 
-#: src/frontends/qt/ui/LyXFilesUi.ui:32 src/frontends/qt/ui/MathMatrixUi.ui:109
-msgid "&Type:"
-msgstr "&Тип:"
+#: src/frontends/qt/GuiDocument.cpp:1780
+msgid "Math Options"
+msgstr "Математика"
 
-#: src/frontends/qt/ui/LyXFilesUi.ui:48
-msgid ""
-"Determines whether only personal user files, system files or all files are "
-"displayed"
-msgstr ""
-"Определяет, отображаются ли только личные пользовательские файлы, системные "
-"файлы или все файлы."
+#: src/frontends/qt/GuiDocument.cpp:1782 lib/layouts/stdinsets.inc:350
+msgid "Listings[[inset]]"
+msgstr "Листинги"
 
-#: src/frontends/qt/ui/LyXFilesUi.ui:72 src/frontends/qt/ui/RefUi.ui:68
-msgid "Filter case-sensitively"
-msgstr "Фильтровать с учётом регистра"
+#: src/frontends/qt/GuiDocument.cpp:1783
+msgid "Bullets"
+msgstr "Маркеры"
 
-#: src/frontends/qt/ui/LyXFilesUi.ui:75 src/frontends/qt/ui/RefUi.ui:71
-msgid "Case Sensiti&ve"
-msgstr "Учитывать &регистр"
+#: src/frontends/qt/GuiDocument.cpp:1784 lib/layouts/stdinsets.inc:14
+msgid "Branches"
+msgstr "Ветки"
 
-#: src/frontends/qt/ui/LyXFilesUi.ui:110
-msgid "The available language(s) of the selected file will be displayed here"
-msgstr "Доступные языки для выбранного файла"
+#: src/frontends/qt/GuiDocument.cpp:1785
+msgid "Formats[[output]]"
+msgstr "Форматы"
 
-#: src/frontends/qt/ui/MarginsUi.ui:28
-msgid "Use the margin settings provided by the document class"
-msgstr "Использовать параметры полей класса документа"
+#: src/frontends/qt/GuiDocument.cpp:1786
+msgid "LaTeX Preamble"
+msgstr "Преамбула LaTeX"
 
-#: src/frontends/qt/ui/MarginsUi.ui:31
-msgid "&Default margins"
-msgstr "Поля по умолчанию"
+#: src/frontends/qt/GuiDocument.cpp:2161 src/frontends/qt/GuiDocument.cpp:2191
+#: src/frontends/qt/ui/ColorUi.ui:118 src/frontends/qt/ui/ColorUi.ui:256
+msgid "&Change..."
+msgstr "Изменить..."
 
-#: src/frontends/qt/ui/MarginsUi.ui:89
-msgid "&Top:"
-msgstr "Сверху:"
+#: src/frontends/qt/GuiDocument.cpp:2174 src/frontends/qt/GuiDocument.cpp:2204
+msgid "&Default..."
+msgstr "По умолчанию..."
 
-#: src/frontends/qt/ui/MarginsUi.ui:102
-msgid "&Bottom:"
-msgstr "Снизу:"
+#: src/frontends/qt/GuiDocument.cpp:2401
+msgid "Direct (No inputenc)"
+msgstr "Прямая (без inputenc)"
 
-#: src/frontends/qt/ui/MarginsUi.ui:115
-msgid "&Inner:"
-msgstr "Внутри:"
+#: src/frontends/qt/GuiDocument.cpp:2403
+msgid "Direct (XeTeX/LuaTeX)"
+msgstr "Прямая (XeTeX/LuaTeX)"
 
-#: src/frontends/qt/ui/MarginsUi.ui:128
-msgid "O&uter:"
-msgstr "Снаружи:"
+#: src/frontends/qt/GuiDocument.cpp:2589 src/frontends/qt/GuiDocument.cpp:4248
+#: src/frontends/qt/GuiDocument.cpp:4257 src/frontends/qt/GuiDocument.cpp:4266
+#: src/frontends/qt/GuiDocument.cpp:4275
+msgid " (not installed)"
+msgstr " (не установлен)"
 
-#: src/frontends/qt/ui/MarginsUi.ui:141
-msgid "Head &sep:"
-msgstr "Промежуток до верхнего колонтитула:"
+#: src/frontends/qt/GuiDocument.cpp:2618
+msgid "Non-TeX Fonts Default"
+msgstr "Системные шрифты по умолчанию"
 
-#: src/frontends/qt/ui/MarginsUi.ui:154
-msgid "Head &height:"
-msgstr "Высота верхнего колонтитула:"
+#: src/frontends/qt/GuiDocument.cpp:2620
+msgid " (not available)"
+msgstr " (не доступен)"
 
-#: src/frontends/qt/ui/MarginsUi.ui:167
-msgid "&Foot skip:"
-msgstr "Промежуток до нижнего колонтитула:"
+#: src/frontends/qt/GuiDocument.cpp:2621
+msgid "Class Default (TeX Fonts)"
+msgstr "По умолчанию для класса (шрифты TeX)"
 
-#: src/frontends/qt/ui/MarginsUi.ui:180
-msgid "&Column sep:"
-msgstr "Промежуток между колонками:"
+#: src/frontends/qt/GuiDocument.cpp:2768
+msgid "Lay&outs"
+msgstr "Макеты"
 
-#: src/frontends/qt/ui/MasterChildUi.ui:20
-msgid "Master Document Output"
-msgstr "Вывод главного документа"
+#: src/frontends/qt/GuiDocument.cpp:2770
+msgid "LyX Layout (*.layout)"
+msgstr "Макеты LyX (*.layout)"
 
-#: src/frontends/qt/ui/MasterChildUi.ui:29
-msgid "Include all subdocuments in the output"
-msgstr "Включить в вывод все поддокументы"
+#: src/frontends/qt/GuiDocument.cpp:2772 src/frontends/qt/GuiDocument.cpp:2781
+msgid "Local layout file"
+msgstr "Локальный файл макета"
 
-#: src/frontends/qt/ui/MasterChildUi.ui:32
-msgid "&Include all children"
-msgstr "Включить все дочерние документы"
+#: src/frontends/qt/GuiDocument.cpp:2782
+msgid ""
+"The layout file you have selected is a local layout\n"
+"file, not one in the system or user directory.\n"
+"Your document will not work with this layout if you\n"
+"move the layout file to a different directory."
+msgstr ""
+"Выбранный файл макета - это локальный файл макета,\n"
+"он не находится в системном или пользовательском каталоге.\n"
+"Ваш документ не сможет работать с этим макетом, если\n"
+"файл макета будет перемещён в другой каталог."
 
-#: src/frontends/qt/ui/MasterChildUi.ui:39
-msgid "Include only the selected subdocuments in the output"
-msgstr "Включить в вывод только выбранные поддокументы"
+#: src/frontends/qt/GuiDocument.cpp:2786
+msgid "&Set Layout"
+msgstr "&Установить макет"
 
-#: src/frontends/qt/ui/MasterChildUi.ui:42
-msgid "Include only &selected children"
-msgstr "Включить выбранные дочерние документы"
+#: src/frontends/qt/GuiDocument.cpp:2800
+msgid "Unable to read local layout file."
+msgstr "Не удалось прочитать локальный файл макета."
 
-#: src/frontends/qt/ui/MasterChildUi.ui:58
+#: src/frontends/qt/GuiDocument.cpp:2817
+msgid "This is a local layout file."
+msgstr "Это локальный файл макета."
+
+#: src/frontends/qt/GuiDocument.cpp:2831
+msgid "Select master document"
+msgstr "Выберите основной документ"
+
+#: src/frontends/qt/GuiDocument.cpp:2835
+msgid "LyX Files (*.lyx)"
+msgstr "Файлы LyX (*.lyx)"
+
+#: src/frontends/qt/GuiDocument.cpp:2859 src/frontends/qt/GuiDocument.cpp:3163
+#: src/frontends/qt/GuiDocument.cpp:4759
+msgid "Unapplied changes"
+msgstr "Неприменённые изменения"
+
+#: src/frontends/qt/GuiDocument.cpp:2860 src/frontends/qt/GuiDocument.cpp:3164
+#: src/frontends/qt/GuiDocument.cpp:4760
 msgid ""
-"Here you can set up the handling of counters and references with regard to "
-"the excluded child documents."
+"Some changes in the dialog were not yet applied.\n"
+"If you do not apply now, they will be lost after this action."
 msgstr ""
-"Здесь можно настроить работу со счётчиками и ссылками с учётом исключённых "
-"дочерних документов."
+"Некоторые изменения в диалоге ещё не приняты.\n"
+"Если вы не примените их сейчас, они будут\n"
+"потеряны после этого действия."
 
-#: src/frontends/qt/ui/MasterChildUi.ui:61
-msgid "Global Counters && References"
-msgstr "Общие счётчики и ссылки"
+#: src/frontends/qt/GuiDocument.cpp:2862 src/frontends/qt/GuiDocument.cpp:3166
+#: src/frontends/qt/GuiDocument.cpp:4762
+msgid "&Apply"
+msgstr "&Применить"
 
-#: src/frontends/qt/ui/MasterChildUi.ui:67
+#: src/frontends/qt/GuiDocument.cpp:2862 src/frontends/qt/GuiDocument.cpp:3166
+#: src/frontends/qt/GuiDocument.cpp:4762
+msgid "&Dismiss"
+msgstr "&Отклонить"
+
+#: src/frontends/qt/GuiDocument.cpp:2873 src/frontends/qt/GuiDocument.cpp:4770
+msgid "Unable to set document class."
+msgstr "Не удалось установить класс документа."
+
+#: src/frontends/qt/GuiDocument.cpp:3039
+msgid "Basic numerical"
+msgstr "Числовой"
+
+#: src/frontends/qt/GuiDocument.cpp:3042
+msgid "Author-year"
+msgstr "Автор-год"
+
+#: src/frontends/qt/GuiDocument.cpp:3045
+msgid "Author-number"
+msgstr "Автор-число"
+
+#: src/frontends/qt/GuiDocument.cpp:3088
+#, c-format
+msgid "%1$s and %2$s"
+msgstr "%1$s и %2$s"
+
+#: src/frontends/qt/GuiDocument.cpp:3089 src/frontends/qt/GuiDocument.cpp:3101
+#: src/frontends/qt/GuiDocument.cpp:3227 src/frontends/qt/GuiDocument.cpp:3246
+#: lib/layouts/aastex.layout:230
+msgid "and"
+msgstr "и"
+
+#: src/frontends/qt/GuiDocument.cpp:3095
+#, c-format
+msgid "%1$s, %2$s"
+msgstr "%1$s, %2$s"
+
+#: src/frontends/qt/GuiDocument.cpp:3100
+#, c-format
+msgid "%1$s, %2$s, and %3$s"
+msgstr "%1$s, %2$s, и %3$s"
+
+#: src/frontends/qt/GuiDocument.cpp:3114
+#, c-format
+msgid "%1$s (unavailable)"
+msgstr "%1$s (недоступно)"
+
+#: src/frontends/qt/GuiDocument.cpp:3213
+msgid "Module provided by document class."
+msgstr "Модуль представляемый классом документа."
+
+#: src/frontends/qt/GuiDocument.cpp:3221
+#, c-format
+msgid "<p><b>Category:</b> %1$s.</p>"
+msgstr "<p><b>Категория:</b> %1$s.</p>"
+
+#: src/frontends/qt/GuiDocument.cpp:3231
+#, c-format
+msgid "<p><b>Package(s) required:</b> %1$s.</p>"
+msgstr "<p><b>Требуются пакеты:</b> %1$s.</p>"
+
+#: src/frontends/qt/GuiDocument.cpp:3237
+msgid "or"
+msgstr "или"
+
+#: src/frontends/qt/GuiDocument.cpp:3240
+#, c-format
+msgid "<p><b>Modules required:</b> %1$s.</p>"
+msgstr "<p><b>Требуются модули:</b> %1$s.</p>"
+
+#: src/frontends/qt/GuiDocument.cpp:3249
+#, c-format
+msgid "<p><b>Modules excluded:</b> %1$s.</p>"
+msgstr "<p><b>Исключённые модули:</b> %1$s.</p>"
+
+#: src/frontends/qt/GuiDocument.cpp:3254
+#, c-format
+msgid "<p><b>Filename:</b> <tt>%1$s.module</tt>.</p>"
+msgstr "<p><b>Имя файла:</b> <tt>%1$s.module</tt>.</p>"
+
+#: src/frontends/qt/GuiDocument.cpp:3259
 msgid ""
-"All counters and references of excluded child documents will be ignored, "
-"thus the counters in the output will differ from an output of the complete "
-"document.<br>This is the fastest method. Use this if you do not need correct "
-"counter values and references."
+"<p><font color=red><b>WARNING: Some required packages are unavailable!</b></"
+"font></p>"
 msgstr ""
-"Все счётчики и ссылки исключенных дочерних документов будут игнорироваться, "
-"при этом счётчики в выводе будут отличаться от вывода полного документа."
-"<br>Это самый быстрый метод. Используйте его, если вам не нужны правильные "
-"значения счётчиков и ссылок."
+"<p><font color=red><b>ПРЕДУПРЕЖДЕНИЕ: Некоторые требуемые пакеты недоступны!"
+"</b></font></p>"
 
-#: src/frontends/qt/ui/MasterChildUi.ui:70
-msgid "Do &not maintain (fast)"
-msgstr "Не поддерживать (быстро)"
+#: src/frontends/qt/GuiDocument.cpp:3908
+msgid "per part"
+msgstr "на часть"
 
-#: src/frontends/qt/ui/MasterChildUi.ui:77
+#: src/frontends/qt/GuiDocument.cpp:3910
+msgid "per chapter"
+msgstr "на главу"
+
+#: src/frontends/qt/GuiDocument.cpp:3912
+msgid "per section"
+msgstr "на раздел"
+
+#: src/frontends/qt/GuiDocument.cpp:3914
+msgid "per subsection"
+msgstr "на подраздел"
+
+#: src/frontends/qt/GuiDocument.cpp:3915
+msgid "per child document"
+msgstr "на дочерний документ"
+
+#: src/frontends/qt/GuiDocument.cpp:4168
+msgid "[No options predefined]"
+msgstr "[Не предопределено никаких параметров]"
+
+#: src/frontends/qt/GuiDocument.cpp:4434
+msgid "C&ustomize Hyperref Options"
+msgstr "Настроить параметры hyperref"
+
+#: src/frontends/qt/GuiDocument.cpp:4436
+msgid "&Use Hyperref Support"
+msgstr "Поддержка hyperref"
+
+#: src/frontends/qt/GuiDocument.cpp:4782
+msgid "Can't set layout!"
+msgstr "Не удалось установить макет!"
+
+#: src/frontends/qt/GuiDocument.cpp:4783
+#, c-format
+msgid "Unable to set layout for ID: %1$s"
+msgstr "Не удалось установить макет для ID: %1$s"
+
+#: src/frontends/qt/GuiDocument.cpp:4881
+msgid "Not Found"
+msgstr "Не найдено"
+
+#: src/frontends/qt/GuiDocument.cpp:4943
+msgid "Assigned master does not include this file"
+msgstr "Указанный основной документ не включает этот файл"
+
+#: src/frontends/qt/GuiDocument.cpp:4944
+#, c-format
 msgid ""
-"Counters and references of excluded child documents will be set up once and "
-"adapted if an excluded document has been modified. This sets up counters and "
-"references correctly in most cases, but it does not adjust page references "
-"to unincluded children that change due to changes of included files.<br>This "
-"is significantly faster than \"Strictly maintain\". Use this if you need "
-"correct counters and more or less correct references."
+"You must include this file in the document\n"
+"'%1$s' in order to use the master document\n"
+"feature."
 msgstr ""
-"Счётчики и ссылки для исключённых дочерних документов настраиваются один раз "
-"и адаптируются при изменениях исключённого документа. В большинстве случаев "
-"это позволяет корректно поддерживать счётчики и ссылки, но не корректирует "
-"ссылки на страницы исключённых дочерних документов, которые изменяются в "
-"результате изменения включённых файлов.<br>Это значительно быстрее, чем "
-"\"Строго поддерживать\". Используйте это, если вам нужны корректные счётчики "
-"и более или менее корректные ссылки."
+"Вы должны включить этот файл в документ\n"
+"'%1$s', если хотите использовать основной\n"
+"документ."
 
-#: src/frontends/qt/ui/MasterChildUi.ui:80
-msgid "Maintain mostl&y (medium)"
-msgstr "Поддерживать большинство"
+#: src/frontends/qt/GuiDocument.cpp:4948
+msgid "Could not load master"
+msgstr "Не удалось загрузить основной файл"
 
-#: src/frontends/qt/ui/MasterChildUi.ui:87
+#: src/frontends/qt/GuiDocument.cpp:4949
+#, c-format
 msgid ""
-"Assure that all counters and references are identical to the complete "
-"document. This can be much slower than the first two methods.<br>Use this if "
-"you absolutely need correct counters."
+"The master document '%1$s'\n"
+"could not be loaded."
 msgstr ""
-"Гарантировать что все счётчики и ссылки идентичны полному документу. Это "
-"может быть намного медленнее, чем первые два метода.<br>Используйте это, "
-"если вам абсолютно необходимы правильные счётчики."
+"Основной документ '%1$s'\n"
+"не может быть загружен."
 
-#: src/frontends/qt/ui/MasterChildUi.ui:90
-msgid "Strictly &maintain (slow)"
-msgstr "Строго поддерживать (медленно)"
+#: src/frontends/qt/GuiDocument.cpp:5093
+msgid "%1 (missing req.)"
+msgstr "%1 (не уст. пакет)"
 
-#: src/frontends/qt/ui/MathMatrixUi.ui:53
-msgid "Horizontal alignment per column (l,c,r)"
-msgstr "Горизонтальное выравнивание в столбце (l,c,r)"
+#: src/frontends/qt/GuiDocument.cpp:5096 lib/ui/stdtoolbars.inc:317
+#: lib/ui/stdtoolbars.inc:666
+msgid "Miscellaneous"
+msgstr "Разные символы"
 
-#: src/frontends/qt/ui/MathMatrixUi.ui:60
-msgid "&Vertical:"
-msgstr "&Вертикальное:"
+#: src/frontends/qt/GuiDocument.cpp:5105
+msgid "personal module"
+msgstr "персональный модуль"
 
-#: src/frontends/qt/ui/MathMatrixUi.ui:73
-msgid "Vertical alignment"
-msgstr "Вертикальное выравнивание"
+#: src/frontends/qt/GuiDocument.cpp:5105
+msgid "distributed module"
+msgstr "распространяемый модуль"
 
-#: src/frontends/qt/ui/MathMatrixUi.ui:80
-msgid "Hori&zontal:"
-msgstr "&Горизонтальное:"
+#: src/frontends/qt/GuiDocument.cpp:5106
+msgid "<b>Module name:</b> <i>%1</i> (%2)"
+msgstr "<b>Имя модуля:</b> <i>%1</i> (%2)"
 
-#: src/frontends/qt/ui/MathMatrixUi.ui:100
-msgid "Appearance"
-msgstr "Вид"
+#: src/frontends/qt/GuiDocument.cpp:5112
+msgid "<b>Note:</b> Some requirements for this module are missing!"
+msgstr "<b>Замечание:</b> Некоторые зависимости этого модуля отсутствуют!"
 
-#: src/frontends/qt/ui/MathMatrixUi.ui:122
-msgid "decoration type / matrix border"
-msgstr "Скобки матрицы"
+#: src/frontends/qt/GuiERT.h:33
+msgid "TeX Mode Inset Settings"
+msgstr "Код TeX"
 
-#: src/frontends/qt/ui/MathMatrixUi.ui:149
-#: src/frontends/qt/ui/MathMatrixUi.ui:162
-#: src/frontends/qt/ui/TabularCreateUi.ui:27
-#: src/frontends/qt/ui/TabularCreateUi.ui:40
-msgid "Number of rows"
-msgstr "Количество строк"
+#: src/frontends/qt/GuiErrorList.cpp:45
+msgid "DocBook"
+msgstr "DocBook"
 
-#: src/frontends/qt/ui/MathMatrixUi.ui:152
-#: src/frontends/qt/ui/TabularCreateUi.ui:30
-msgid "&Rows:"
-msgstr "&Строк:"
+#: src/frontends/qt/GuiErrorList.cpp:47 src/frontends/qt/GuiLog.cpp:251
+msgid "Literate"
+msgstr "Буквально"
 
-#: src/frontends/qt/ui/MathMatrixUi.ui:178
-#: src/frontends/qt/ui/MathMatrixUi.ui:191
-#: src/frontends/qt/ui/TabularCreateUi.ui:60
-#: src/frontends/qt/ui/TabularCreateUi.ui:73
-msgid "Number of columns"
-msgstr "Количество столбцов"
+#: src/frontends/qt/GuiErrorList.cpp:61
+msgid "Error List"
+msgstr "Список ошибок"
 
-#: src/frontends/qt/ui/MathMatrixUi.ui:181
-#: src/frontends/qt/ui/TabularCreateUi.ui:63
-msgid "&Columns:"
-msgstr "&Столбцов:"
+#: src/frontends/qt/GuiErrorList.cpp:155
+#, c-format
+msgid "%1$s Errors (%2$s)"
+msgstr "Ошибки %1$s (%2$s)"
 
-#: src/frontends/qt/ui/MathMatrixUi.ui:231
-#: src/frontends/qt/ui/TabularCreateUi.ui:112
-msgid "Resize this to the correct table dimensions"
-msgstr "Меняйте размер этой таблицы для задания размера матрицы"
+#: src/frontends/qt/GuiExternal.cpp:78 src/frontends/qt/GuiGraphics.cpp:72
+msgid "Top left"
+msgstr "Сверху слева"
 
-#: src/frontends/qt/ui/MathsUi.ui:51
-msgid "All packages:"
-msgstr "Все пакеты:"
+#: src/frontends/qt/GuiExternal.cpp:78 src/frontends/qt/GuiGraphics.cpp:72
+msgid "Bottom left"
+msgstr "Снизу слева"
 
-#: src/frontends/qt/ui/MathsUi.ui:58
-msgid "Load A&utomatically"
-msgstr "Автоматически"
+#: src/frontends/qt/GuiExternal.cpp:78 src/frontends/qt/GuiGraphics.cpp:72
+msgid "Baseline left"
+msgstr "По базисной линии слева"
 
-#: src/frontends/qt/ui/MathsUi.ui:65
-msgid "Load Alwa&ys"
-msgstr "Всегда загружать"
+#: src/frontends/qt/GuiExternal.cpp:79 src/frontends/qt/GuiGraphics.cpp:73
+#: src/frontends/qt/GuiParagraph.cpp:116 src/frontends/qt/GuiTabular.cpp:1021
+#: src/frontends/qt/ui/BoxUi.ui:270 src/frontends/qt/ui/TabularUi.ui:349
+msgid "Center"
+msgstr "По центру"
 
-#: src/frontends/qt/ui/MathsUi.ui:72
-msgid "Do &Not Load"
-msgstr "Не загружать"
+#: src/frontends/qt/GuiExternal.cpp:79 src/frontends/qt/GuiGraphics.cpp:73
+msgid "Top center"
+msgstr "Сверху по центру"
 
-#: src/frontends/qt/ui/MathsUi.ui:79
-msgid "Indent displayed formulas instead of centering"
-msgstr "Отступ для выделенных формул вместо центрирования"
+#: src/frontends/qt/GuiExternal.cpp:79 src/frontends/qt/GuiGraphics.cpp:73
+msgid "Bottom center"
+msgstr "Снизу по центру"
 
-#: src/frontends/qt/ui/MathsUi.ui:82
-msgid "Indent &formulas"
-msgstr "Отступ для формул"
+#: src/frontends/qt/GuiExternal.cpp:79 src/frontends/qt/GuiGraphics.cpp:73
+msgid "Baseline center"
+msgstr "По базисной линии по центру"
 
-#: src/frontends/qt/ui/MathsUi.ui:98 src/frontends/qt/ui/TextLayoutUi.ui:183
-msgid "Size of the indentation"
-msgstr "Размер отступа"
+#: src/frontends/qt/GuiExternal.cpp:80 src/frontends/qt/GuiGraphics.cpp:74
+msgid "Top right"
+msgstr "Сверху справа"
 
-#: src/frontends/qt/ui/MathsUi.ui:176
-msgid "Formula numbering side:"
-msgstr "Сторона нумерации формулы:"
+#: src/frontends/qt/GuiExternal.cpp:80 src/frontends/qt/GuiGraphics.cpp:74
+msgid "Bottom right"
+msgstr "Снизу справа"
 
-#: src/frontends/qt/ui/MathsUi.ui:192
-msgid "Side where formulas are numbered"
-msgstr "Сторона, с которой нумеруются формулы"
+#: src/frontends/qt/GuiExternal.cpp:80 src/frontends/qt/GuiGraphics.cpp:74
+msgid "Baseline right"
+msgstr "По базисной линии справа"
 
-#: src/frontends/qt/ui/ModulesUi.ui:57
-msgid "A&vailable:"
-msgstr "Доступные:"
+#: src/frontends/qt/GuiExternal.cpp:220
+msgid "Scale%"
+msgstr "% исходного размера"
 
-#: src/frontends/qt/ui/ModulesUi.ui:126
-#: src/frontends/qt/ui/PrefConvertersUi.ui:266
-#: src/frontends/qt/ui/SpellcheckerUi.ui:178
-msgid "A&dd"
-msgstr "&Добавить"
+#: src/frontends/qt/GuiExternal.cpp:673
+msgid "Select external file"
+msgstr "Выбрать внешний файл"
 
-#: src/frontends/qt/ui/ModulesUi.ui:133
-msgid "De&lete"
-msgstr "&Удалить"
+#: src/frontends/qt/GuiGraphics.cpp:78
+msgid "automatically"
+msgstr "автоматически"
 
-#: src/frontends/qt/ui/ModulesUi.ui:186
-msgid "S&elected:"
-msgstr "&Выбранные:"
+#: src/frontends/qt/GuiGraphics.cpp:113
+msgid "Graphics"
+msgstr "Изображение"
 
-#: src/frontends/qt/ui/NomenclUi.ui:14 src/insets/InsetNomencl.cpp:169
-msgid "Nomenclature"
-msgstr "Список обозначений"
+#: src/frontends/qt/GuiGraphics.cpp:261 src/frontends/qt/GuiGraphics.cpp:277
+msgid "Dissolve previous group?"
+msgstr "Разложить предыдущую группу?"
 
-#: src/frontends/qt/ui/NomenclUi.ui:22
-msgid "Sy&mbol:"
-msgstr "&Символ:"
+#: src/frontends/qt/GuiGraphics.cpp:262
+#, c-format
+msgid ""
+"If you assign this graphic to group '%2$s',\n"
+"the previously assigned group '%1$s' will be dissolved,\n"
+"because this graphic was its only member.\n"
+"How do you want to proceed?"
+msgstr ""
+"Если вы включите этот рисунок в группу '%2$s',\n"
+"группа, в которой он был до этого ('%1$s') будет удалена,\n"
+"поскольку он был её единственным элементом.\n"
+"Продолжить?"
 
-#: src/frontends/qt/ui/NomenclUi.ui:39
-msgid "Des&cription:"
-msgstr "Описание:"
+#: src/frontends/qt/GuiGraphics.cpp:268 src/frontends/qt/GuiGraphics.cpp:284
+#, c-format
+msgid "Stick with group '%1$s'"
+msgstr "Оставить в группе '%1$s'"
 
-#: src/frontends/qt/ui/NomenclUi.ui:56
-msgid "Sort &as:"
-msgstr "Сортировать как:"
+#: src/frontends/qt/GuiGraphics.cpp:270
+#, c-format
+msgid "Assign to group '%1$s' anyway"
+msgstr "Связать с группой '%1$s' в любом случае"
 
-#: src/frontends/qt/ui/NomenclUi.ui:69
+#: src/frontends/qt/GuiGraphics.cpp:278
+#, c-format
 msgid ""
-"Pass content of the `Symbol' and `Description' fields literally to LaTeX. "
-"Check this if you want to enter LaTeX code."
+"If you sign off this graphic from group '%1$s',\n"
+"the group will be dissolved,\n"
+"because this graphic was its only member.\n"
+"How do you want to proceed?"
 msgstr ""
-"Передавать содержимое полей `Символ' и `Описание' буквально в LaTeX. "
-"Установите, если хотите ввести код LaTeX."
+"Если вы исключите этот рисунок из группы '%1$s',\n"
+"группа будет удалена, потому что\n"
+"этот рисунок единственный её элемент.\n"
+"Продолжить?"
 
-#: src/frontends/qt/ui/NoteUi.ui:23 src/frontends/qt/ui/PhantomUi.ui:23
-msgid "Type"
-msgstr "Тип"
+#: src/frontends/qt/GuiGraphics.cpp:286
+#, c-format
+msgid "Sign off from group '%1$s'"
+msgstr "Исключить из группы '%1$s'"
 
-#: src/frontends/qt/ui/NoteUi.ui:44
-msgid "LyX internal only"
-msgstr "Внутренний элемент LyX"
+#: src/frontends/qt/GuiGraphics.cpp:326
+msgid "Enter unique group name:"
+msgstr "Введите уникальное название для группы:"
 
-#: src/frontends/qt/ui/NoteUi.ui:47
-msgid "LyX &Note"
-msgstr "&Заметка"
+#: src/frontends/qt/GuiGraphics.cpp:331
+msgid "Group already defined!"
+msgstr "Группа уже определена!"
 
-#: src/frontends/qt/ui/NoteUi.ui:54
-msgid "Export to LaTeX/Docbook but don't print"
-msgstr "Экспортировать в LaTeX/Docbook без печати"
+#: src/frontends/qt/GuiGraphics.cpp:332
+#, c-format
+msgid "A graphics group with the name '%1$s' already exists."
+msgstr "Группа изображений с именем '%1$s' уже существует."
 
-#: src/frontends/qt/ui/NoteUi.ui:57
-msgid "&Comment"
-msgstr "Комментарий"
+#: src/frontends/qt/GuiGraphics.cpp:473
+msgid "Set max. &width:"
+msgstr "Установить макс. &ширину:"
 
-#: src/frontends/qt/ui/NoteUi.ui:64
-msgid "Print as grey text"
-msgstr "Напечатать как серый текст"
+#: src/frontends/qt/GuiGraphics.cpp:474
+msgid "Set max. &height:"
+msgstr "Установить макс. &высоту:"
 
-#: src/frontends/qt/ui/NoteUi.ui:67
-msgid "&Greyed out"
-msgstr "&Серый текст"
+#: src/frontends/qt/GuiGraphics.cpp:475
+msgid "Maximal width of image in output"
+msgstr "Макс. ширина изображения в выводе"
 
-#: src/frontends/qt/ui/NumberingUi.ui:37
-msgid "Add line numbers to the document"
-msgstr "Добавить нумерацию строк в документ"
+#: src/frontends/qt/GuiGraphics.cpp:476
+msgid "Maximal height of image in output"
+msgstr "Макс. высота изображения в выводе"
 
-#: src/frontends/qt/ui/NumberingUi.ui:40
-msgid "L&ine numbering"
-msgstr "Нумерация строк"
+#: src/frontends/qt/GuiGraphics.cpp:478 src/frontends/qt/ui/GraphicsUi.ui:186
+msgid "Set &width:"
+msgstr "&Ширина:"
 
-#: src/frontends/qt/ui/NumberingUi.ui:63
-msgid "O&ptions:"
-msgstr "&Параметры:"
+#: src/frontends/qt/GuiGraphics.cpp:479 src/frontends/qt/ui/GraphicsUi.ui:166
+msgid "Set &height:"
+msgstr "&Высота:"
 
-#: src/frontends/qt/ui/NumberingUi.ui:73
+#: src/frontends/qt/GuiGraphics.cpp:480 src/frontends/qt/ui/ExternalUi.ui:504
+#: src/frontends/qt/ui/GraphicsUi.ui:121
+msgid "Width of image in output"
+msgstr "Ширина изображения в выводе"
+
+#: src/frontends/qt/GuiGraphics.cpp:481 src/frontends/qt/ui/ExternalUi.ui:494
+#: src/frontends/qt/ui/GraphicsUi.ui:153
+msgid "Height of image in output"
+msgstr "Высота изображения в выводе"
+
+#: src/frontends/qt/GuiGraphics.cpp:498 src/support/lengthcommon.cpp:40
+msgid "bp"
+msgstr "bp"
+
+#: src/frontends/qt/GuiGraphics.cpp:498 src/support/lengthcommon.cpp:40
+msgid "cm"
+msgstr "cm"
+
+#: src/frontends/qt/GuiGraphics.cpp:498 src/support/lengthcommon.cpp:41
+msgid "mm"
+msgstr "mm"
+
+#: src/frontends/qt/GuiGraphics.cpp:498 src/support/lengthcommon.cpp:41
+msgid "in[[unit of measure]]"
+msgstr "in"
+
+#: src/frontends/qt/GuiGraphics.cpp:778
+msgid "Select graphics file"
+msgstr "Выберите файл с изображением"
+
+#: src/frontends/qt/GuiGraphics.cpp:790
+msgid "&Clipart"
+msgstr "Галерея"
+
+#: src/frontends/qt/GuiHSpace.cpp:44 src/insets/InsetSpace.cpp:69
+msgid "Interword Space"
+msgstr "Пробел между словами"
+
+#: src/frontends/qt/GuiHSpace.cpp:45 src/insets/InsetSpace.cpp:78
+msgid "Thin Space"
+msgstr "Тонкий пробел"
+
+#: src/frontends/qt/GuiHSpace.cpp:46 src/insets/InsetSpace.cpp:81
+msgid "Medium Space"
+msgstr "Средний пробел"
+
+#: src/frontends/qt/GuiHSpace.cpp:47 src/insets/InsetSpace.cpp:84
+msgid "Thick Space"
+msgstr "Широкий пробел"
+
+#: src/frontends/qt/GuiHSpace.cpp:48 src/insets/InsetSpace.cpp:99
+msgid "Negative Thin Space"
+msgstr "Отрицательный тонкий пробел"
+
+#: src/frontends/qt/GuiHSpace.cpp:49 src/insets/InsetSpace.cpp:102
+msgid "Negative Medium Space"
+msgstr "Отрицательный средний пробел"
+
+#: src/frontends/qt/GuiHSpace.cpp:50 src/insets/InsetSpace.cpp:105
+msgid "Negative Thick Space"
+msgstr "Отрицательный широкий пробел"
+
+#: src/frontends/qt/GuiHSpace.cpp:51
+msgid "Half Quad (0.5 em)"
+msgstr "Полуквадрат (0.5 em)"
+
+#: src/frontends/qt/GuiHSpace.cpp:52
+msgid "Quad (1 em)"
+msgstr "Квадрат (1 em)"
+
+#: src/frontends/qt/GuiHSpace.cpp:53
+msgid "Double Quad (2 em)"
+msgstr "Двойной квадрат (2 em)"
+
+#: src/frontends/qt/GuiHSpace.cpp:54 src/insets/InsetSpace.cpp:108
+msgid "Horizontal Fill"
+msgstr "Горизонтальное заполнение"
+
+#: src/frontends/qt/GuiHSpace.cpp:56 src/insets/InsetSpace.cpp:75
+msgid "Visible Space"
+msgstr "Видимый пробел"
+
+#: src/frontends/qt/GuiHSpace.cpp:208
 msgid ""
-"Line numbering (lineno package) options. Please refer to the lineno package "
-"manual for details."
+"Insert the spacing even after a line break.\n"
+"Note that a protected Half Quad will be turned into\n"
+"a vertical space if used at the beginning of a paragraph!"
 msgstr ""
-"Настройки нумерации строк (пакет lineno). Обратитесь к документации пакета "
-"за подробностями."
+"Вставлять промежуток даже после разрыва строки.\n"
+"Заметьте, что защищённый полуквадрат будет преобразован\n"
+"в вертикальный промежуток, если используется в начале абзаца!"
 
-#: src/frontends/qt/ui/NumberingUi.ui:82
-msgid "&List in Table of Contents"
-msgstr "&Отображать в содержании"
+#: src/frontends/qt/GuiHSpace.cpp:212 src/frontends/qt/ui/HSpaceUi.ui:133
+msgid "Insert the spacing even after a line break"
+msgstr "Вставить промежуток даже после разрыва строки"
 
-#: src/frontends/qt/ui/NumberingUi.ui:108
-msgid "&Numbering"
-msgstr "Нумерация"
+#: src/frontends/qt/GuiHSpace.h:39
+msgid "Horizontal Space Settings"
+msgstr "Горизонтальный промежуток"
 
-#: src/frontends/qt/ui/OutputUi.ui:20
-msgid "DocBook Output Options"
-msgstr "Параметры вывода DocBook"
+#: src/frontends/qt/GuiHyperlink.h:35
+msgid "Hyperlink Settings"
+msgstr "Гиперссылка"
 
-#: src/frontends/qt/ui/OutputUi.ui:35
-msgid "&Table output:"
-msgstr "Вывод таблиц:"
+#: src/frontends/qt/GuiInclude.cpp:118 src/frontends/qt/GuiInclude.cpp:176
+#: src/frontends/qt/GuiListings.cpp:242 src/frontends/qt/GuiListings.cpp:398
+#: src/frontends/qt/GuiListings.cpp:476
+msgid ""
+"Input listing parameters on the right. Enter ? for a list of parameters."
+msgstr "Введите параметры листинга справа. Нажмите ? для списка параметров."
 
-#: src/frontends/qt/ui/OutputUi.ui:51 src/frontends/qt/ui/OutputUi.ui:203
-msgid "Format to use for math output."
-msgstr "Формат для использования в математическом выводе."
+#: src/frontends/qt/GuiInclude.cpp:330
+msgid "&Create"
+msgstr "&Создать"
 
-#: src/frontends/qt/ui/OutputUi.ui:55 src/frontends/qt/ui/OutputUi.ui:212
-msgid "HTML"
-msgstr "HTML"
+#: src/frontends/qt/GuiInclude.cpp:359
+msgid "Select document to include"
+msgstr "Выберите документ для вставки"
 
-#: src/frontends/qt/ui/OutputUi.ui:60
-msgid "CALS"
-msgstr "CALS"
+#: src/frontends/qt/GuiInclude.cpp:366
+msgid "LaTeX/LyX Documents (*.tex *.lyx)"
+msgstr "Документы LaTeX/LyX (*.tex *.lyx)"
 
-#: src/frontends/qt/ui/OutputUi.ui:84
-msgid "LyX Format"
-msgstr "Формат LyX"
+#: src/frontends/qt/GuiIndex.cpp:34
+msgid "Index Entry Settings"
+msgstr "Рубрика указателя"
 
-#: src/frontends/qt/ui/OutputUi.ui:96
-msgid ""
-"Save all parameters in the LyX file, including ones that are frequently "
-"switched or that are specific to the user (such as the output of the tracked "
-"changes, or the document directory path). Disabling this option plays nicer "
-"in collaborative settings and with version control systems."
+#: src/frontends/qt/GuiIndices.cpp:52 src/mathed/InsetMathMacroTemplate.cpp:483
+#: lib/layouts/IEEEtran.layout:393 lib/layouts/IEEEtran.layout:410
+#: lib/layouts/acmart.layout:679 lib/layouts/acmsiggraph-0-92.layout:131
+#: lib/layouts/europasscv.layout:74 lib/layouts/europecv.layout:31
+#: lib/layouts/g-brief.layout:40 lib/layouts/g-brief2.layout:44
+#: lib/layouts/g-brief2.layout:83 lib/layouts/iucr.layout:211
+#: lib/layouts/maa-monthly.layout:93 lib/layouts/moderncv.layout:81
+#: lib/layouts/moderncv.layout:194 lib/layouts/pdfcomment.module:30
+#: lib/layouts/pdfcomment.module:47 lib/layouts/pdfcomment.module:58
+#: lib/layouts/scrlettr.layout:116 lib/layouts/scrlttr2.layout:149
+#: lib/layouts/sigplanconf.layout:84 lib/layouts/sigplanconf.layout:161
+#: lib/layouts/tcolorbox.module:135
+msgid "Name"
+msgstr "Имя"
+
+#: src/frontends/qt/GuiIndices.cpp:53
+msgid "Label Color"
+msgstr "Цвет метки"
+
+#: src/frontends/qt/GuiIndices.cpp:216
+msgid "Cannot remove standard index"
+msgstr "Невозможно удалить стандартный указатель"
+
+#: src/frontends/qt/GuiIndices.cpp:217
+msgid "The default index cannot be removed."
+msgstr "Указатель по умолчанию не может быть удалён."
+
+#: src/frontends/qt/GuiIndices.cpp:236
+msgid "Enter new index name"
+msgstr "Введите название нового указателя"
+
+#: src/frontends/qt/GuiIndices.cpp:244
+msgid "The index could not be renamed. Check if the new name already exists."
 msgstr ""
-"Сохранять все параметры в файле LyX, включая часто переключаемые или "
-"специфичные для пользователя (например, результат отслеживаемых изменений "
-"или путь к каталогу документа). Отключение этой опции полезно при совместной "
-"работе над документом и при использовании систем управления версиями."
+"Невозможно переименовать указатель. Возможно такое имя уже используется."
 
-#: src/frontends/qt/ui/OutputUi.ui:99
-msgid "Save &transient properties"
-msgstr "Сохранять промежуточные свойства"
+#: src/frontends/qt/GuiInfo.cpp:70
+msgid "Date (current)"
+msgstr "Дата (текущая)"
 
-#: src/frontends/qt/ui/OutputUi.ui:109
-msgid "Output Format"
-msgstr "Формат вывода"
+#: src/frontends/qt/GuiInfo.cpp:71
+msgid "Date (last modified)"
+msgstr "Дата (последнее изменение)"
 
-#: src/frontends/qt/ui/OutputUi.ui:150 src/frontends/qt/ui/OutputUi.ui:163
-msgid "Specify the default output format (for view/update)"
-msgstr "Укажите формат вывода по умолчанию (для просмотра/обновления)"
+#: src/frontends/qt/GuiInfo.cpp:72
+msgid "Date (fix)"
+msgstr "Дата (заданная)"
 
-#: src/frontends/qt/ui/OutputUi.ui:153
-msgid "De&fault output format:"
-msgstr "&Формат вывода по умолчанию:"
+#: src/frontends/qt/GuiInfo.cpp:73
+msgid "Time (current)"
+msgstr "Время (текущее)"
 
-#: src/frontends/qt/ui/OutputUi.ui:188
-msgid "XHTML Output Options"
-msgstr "Параметры вывода XHTML"
+#: src/frontends/qt/GuiInfo.cpp:74
+msgid "Time (last modified)"
+msgstr "Время (последнее изменение)"
 
-#: src/frontends/qt/ui/OutputUi.ui:207
-msgid "MathML"
-msgstr "MathML"
+#: src/frontends/qt/GuiInfo.cpp:75
+msgid "Time (fix)"
+msgstr "Время (заданное)"
 
-#: src/frontends/qt/ui/OutputUi.ui:217
-msgid "Images"
-msgstr "Изображения"
+#: src/frontends/qt/GuiInfo.cpp:76
+msgid "Document Information"
+msgstr "Информация документа"
 
-#: src/frontends/qt/ui/OutputUi.ui:222 lib/layouts/aapaper.layout:63
-#: lib/layouts/egs.layout:702 lib/languages:145
-#: src/frontends/qt/GuiDocument.cpp:1600 src/frontends/qt/GuiErrorList.cpp:51
-#: src/frontends/qt/GuiLog.cpp:236 src/frontends/qt/GuiPrefs.cpp:641
-msgid "LaTeX"
-msgstr "LaTeX"
+#: src/frontends/qt/GuiInfo.cpp:77
+msgid "Version Control Information"
+msgstr "Информация системы управления версиями"
 
-#: src/frontends/qt/ui/OutputUi.ui:230
-msgid "Write CSS to file"
-msgstr "Записать CSS в файл"
+#: src/frontends/qt/GuiInfo.cpp:78
+msgid "LaTeX Package Availability"
+msgstr "Доступность пакета LaTeX"
 
-#: src/frontends/qt/ui/OutputUi.ui:243
-msgid "&Math output:"
-msgstr "Вывод формул:"
+#: src/frontends/qt/GuiInfo.cpp:79
+msgid "LaTeX Class Availability"
+msgstr "Доступность класса LaTeX"
 
-#: src/frontends/qt/ui/OutputUi.ui:259
-msgid "Math &image scaling:"
-msgstr "Масштаб изображений в формулах:"
+#: src/frontends/qt/GuiInfo.cpp:80
+msgid "Last Assigned Keyboard Shortcut"
+msgstr "Последнее назначенное сочетание клавиш"
 
-#: src/frontends/qt/ui/OutputUi.ui:269
-msgid "Whether to comply strictly with XHTML 1.1."
-msgstr "Обеспечивать ли строгое соответствие XHTML 1.1."
+#: src/frontends/qt/GuiInfo.cpp:81
+msgid "All Keyboard Shortcuts"
+msgstr "Все сочетания клавиш"
 
-#: src/frontends/qt/ui/OutputUi.ui:272
-msgid "&Strict XHTML 1.1"
-msgstr "Строгий XHTML 1.1"
+#: src/frontends/qt/GuiInfo.cpp:82
+msgid "LyX Menu Location"
+msgstr "Расположение меню LyX"
 
-#: src/frontends/qt/ui/OutputUi.ui:285
-msgid "Scaling factor for images used for math output."
-msgstr "Масштаб для изображений в математическом выводе."
+#: src/frontends/qt/GuiInfo.cpp:83
+msgid "Localized GUI String"
+msgstr "Переведённая строка GUI"
 
-#: src/frontends/qt/ui/OutputUi.ui:320
-msgid ""
-"Runs the LaTeX backend with the -shell-escape option (Warning: use only when "
-"really necessary)"
-msgstr ""
-"Запускать LaTeX с опцией -shell-escape (Предупреждение: используйте только в "
-"случае необходимости)"
+#: src/frontends/qt/GuiInfo.cpp:84
+msgid "LyX Toolbar Icon"
+msgstr "Значок панели LyX"
 
-#: src/frontends/qt/ui/OutputUi.ui:323
-msgid "&Allow running external programs"
-msgstr "Разрешить выполнение внешних программ"
+#: src/frontends/qt/GuiInfo.cpp:85
+msgid "LyX Preferences Entry"
+msgstr "Пункт настроек LyX"
 
-#: src/frontends/qt/ui/OutputUi.ui:330
-msgid "LaTeX Output Options"
-msgstr "Параметры вывода LaTeX"
+#: src/frontends/qt/GuiInfo.cpp:86
+msgid "LyX Application Information"
+msgstr "Информация о приложении LyX"
 
-#: src/frontends/qt/ui/OutputUi.ui:338
-msgid "Enable forward/reverse search between editor and output (e.g., SyncTeX)"
-msgstr "Включить прямой/обратный поиск между редактором и выводом (SyncTeX)"
+#: src/frontends/qt/GuiInfo.cpp:92 src/frontends/qt/GuiInfo.cpp:93
+#: src/frontends/qt/GuiInfo.cpp:94 src/frontends/qt/GuiInfo.cpp:95
+#: src/frontends/qt/GuiInfo.cpp:96 src/frontends/qt/GuiInfo.cpp:97
+msgid "Custom Format"
+msgstr "Пользовательский формат"
 
-#: src/frontends/qt/ui/OutputUi.ui:341
-msgid "S&ynchronize with output"
-msgstr "Синхронизировать с выводом"
+#: src/frontends/qt/GuiInfo.cpp:98 src/frontends/qt/GuiInfo.cpp:99
+#: src/frontends/qt/GuiInfo.cpp:108 src/frontends/qt/GuiInfo.cpp:109
+msgid "Not Applicable"
+msgstr "Не применимо"
 
-#: src/frontends/qt/ui/OutputUi.ui:366
-msgid "C&ustom macro:"
-msgstr "Пользовательский макрос:"
+#: src/frontends/qt/GuiInfo.cpp:100
+msgid "Package Name"
+msgstr "Имя пакета"
 
-#: src/frontends/qt/ui/OutputUi.ui:376
-msgid "Custom LaTeX preamble macro"
-msgstr "Пользовательская преамбула LaTeX"
+#: src/frontends/qt/GuiInfo.cpp:101
+msgid "Class Name"
+msgstr "Имя класса"
 
-#: src/frontends/qt/ui/OutputUi.ui:403
+#: src/frontends/qt/GuiInfo.cpp:102 src/frontends/qt/GuiInfo.cpp:103
+#: src/frontends/qt/GuiInfo.cpp:104 src/frontends/qt/GuiInfo.cpp:106
+msgid "LyX Function"
+msgstr "Функция LyX"
+
+#: src/frontends/qt/GuiInfo.cpp:105
+msgid "English String"
+msgstr "Строка на английском"
+
+#: src/frontends/qt/GuiInfo.cpp:107
+msgid "Preferences Key"
+msgstr "Ключ настроек"
+
+#: src/frontends/qt/GuiInfo.cpp:115 src/frontends/qt/GuiInfo.cpp:126
+#: src/frontends/qt/GuiInfo.cpp:137
 msgid ""
-"If this is checked, fragile items such as labels and index entries are moved "
-"out of moving arguments such as sections and captions. This prevents LaTeX "
-"errors that can happen in such cases. It is recommended to keep this on."
+"Enter date format specification, using the following placeholders:\n"
+"* d: day as number without a leading zero\n"
+"* dd: day as number with a leading zero\n"
+"* ddd: abbreviated localized day name\n"
+"* dddd: long localized day name\n"
+"* M: month as number without a leading zero\n"
+"* MM: month as number with a leading zero\n"
+"* MMM: abbreviated localized month name\n"
+"* MMMM: long localized month name\n"
+"* yy: year as two digit number\n"
+"* yyyy: year as four digit number"
 msgstr ""
-"Если этот флажок установлен, хрупкие элементы, такие как метки и рубрики "
-"указателя, извлекаются из перемещаемых аргументов, таких как разделы и "
-"подписи. Это предотвращает ошибки LaTeX, которые могут произойти в таких "
-"случаях. Рекомендуется оставить включенным."
+"Введите спецификацию формата даты, используя следующие обозначения:\n"
+"* d: день как число без ведущего нуля\n"
+"* dd: день как число с ведущим нулем\n"
+"* ddd: сокращенное локализованное название дня\n"
+"* dddd: длинное локализованное название дня\n"
+"* М: месяц как число без ведущего нуля\n"
+"* ММ: месяц как число с ведущим нулем\n"
+"* МММ: сокращенное локализованное название месяца\n"
+"* MMMM: длинное локализованное название месяца\n"
+"* yy: год в виде двухзначного числа\n"
+"* yyyy: год в виде четырехзначного числа"
 
-#: src/frontends/qt/ui/OutputUi.ui:406
-msgid "Put fra&gile content out of moving arguments"
-msgstr "Извлекать хрупкое содержимое из перемещаемых аргументов"
+#: src/frontends/qt/GuiInfo.cpp:148 src/frontends/qt/GuiInfo.cpp:162
+#: src/frontends/qt/GuiInfo.cpp:176
+msgid ""
+"Enter time format specification, using the following placeholders:\n"
+"* h: the hour without a leading zero (1-12 in AM/PM)\n"
+"* hh: the hour with a leading zero (01-12 in AM/PM)\n"
+"* H: the hour without a leading zero (0-23 in AM/PM)\n"
+"* HH: the hour with a leading zero (00-23 in AM/PM)\n"
+"* m: the minute without a leading zero\n"
+"* mm: the minute with a leading zero\n"
+"* s: the second without a leading zero\n"
+"* ss: the second with a leading zero\n"
+"* z: the milliseconds without leading zeroes\n"
+"* zzz: the milliseconds with leading zeroes\n"
+"* AP or A: use AM/PM display ('AM'/'PM')\n"
+"* ap or a: use am/pm display ('am'/'pm')\n"
+"* t: the timezone (e.g. CEST)"
+msgstr ""
+"Введите спецификацию формата времени, используя следующие обозначения:\n"
+"* h: час без ведущего нуля (1-12 в AM/PM)\n"
+"* hh: час с ведущим нулем (01-12 в AM/PM)\n"
+"* H: час без ведущего нуля (0-23 в AM/PM)\n"
+"* HH: час с ведущим нулем (00-23 в AM/PM)\n"
+"* m: минута без ведущего нуля\n"
+"* mm: минута с ведущим нулем\n"
+"* s: секунда без ведущего нуля\n"
+"* ss: секунда с ведущим нулем\n"
+"* z: миллисекунды без ведущих нулей\n"
+"* zzz: миллисекунды с ведущими нулями\n"
+"* AP или A: показывать AM/PM ('AM'/'PM')\n"
+"* ap или a: показывать am/pm ('am'/'pm')\n"
+"* t: часовой пояс (например, CEST)"
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:38
-msgid "&Use hyperref support"
-msgstr "Использовать поддержку hyperref"
+#: src/frontends/qt/GuiInfo.cpp:190 src/frontends/qt/GuiInfo.cpp:191
+#: src/frontends/qt/GuiInfo.cpp:208 src/frontends/qt/GuiInfo.cpp:209
+msgid "Please select a valid type above"
+msgstr "Выберите допустимый тип выше"
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:72
-msgid "&General"
-msgstr "&Общие"
+#: src/frontends/qt/GuiInfo.cpp:192
+msgid ""
+"Enter a LaTeX package name such as 'hyperref' (extension is optional). The "
+"output will be 'Yes' (package available) or 'No' (package unavailable)."
+msgstr ""
+"Введите имя пакета LaTeX, например 'hyperref'. На выходе будет 'Да' (пакет "
+"доступен) или 'Нет' (пакет отсутствует)."
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:119
-msgid "Header Information"
-msgstr "Информация заголовка"
+#: src/frontends/qt/GuiInfo.cpp:194
+msgid ""
+"Enter a LaTeX class name such as 'article' (extension is optional). The "
+"output will be 'Yes' (class available) or 'No' (class unavailable)."
+msgstr ""
+"Введите имя класса LaTeX, например 'article'. На выходе будет 'Да' (класс "
+"доступен) или 'Нет' (класс отсутствует)."
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:134
-msgid "&Title:"
-msgstr "&Название:"
+#: src/frontends/qt/GuiInfo.cpp:196
+msgid ""
+"Enter a function name such as 'math-insert \\alpha'. Please refer to Help > "
+"LyX Functions for a comprehensive list of functions. The output is the most "
+"recently assigned keyboard shortcut for this function"
+msgstr ""
+"Введите имя функции, например, 'math-insert \\alpha'. Подробный список "
+"функций см. в разделе Помощь > Функции LyX. Выходом является последнее "
+"назначенное сочетание клавиш для этой функции."
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:147
-msgid "&Author:"
-msgstr "&Автор:"
+#: src/frontends/qt/GuiInfo.cpp:198
+msgid ""
+"Enter a function name such as 'math-insert \\alpha'. Please refer to Help > "
+"LyX Functions for a comprehensive list of functions. The output lists all "
+"possible keyboard shortcuts for this function"
+msgstr ""
+"Введите имя функции, например, 'math-insert \\alpha'. Подробный список "
+"функций см. в разделе Помощь > Функции LyX. Выводятся все возможные "
+"сочетания клавиш для данной функции."
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:160
-msgid "Sub&ject:"
-msgstr "Тема:"
+#: src/frontends/qt/GuiInfo.cpp:200
+msgid ""
+"Enter a function name such as 'math-insert \\alpha'. Please refer to Help > "
+"LyX Functions for a comprehensive list of functions. The output is the path "
+"to the function in the menu (using the current localization)."
+msgstr ""
+"Введите имя функции, например, 'math-insert \\alpha'. Подробный список "
+"функций см. в разделе Помощь > Функции LyX. Выходом является путь к функции "
+"в меню (на текущем языке пользовательского интерфейса)."
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:173
-msgid "&Keywords:"
-msgstr "&Ключевые слова:"
+#: src/frontends/qt/GuiInfo.cpp:202
+msgid ""
+"Enter a localizable English string from the LyX User Interface, including "
+"accelerator markup ('&' or '|') and trailing colons. The output is the "
+"localized string (using the current localization); trailing colons and "
+"accelerator markup are stripped."
+msgstr ""
+"Введите строку на английском языке из пользовательского интерфейса LyX, "
+"включая разметку ускорителя (\"&\" или \"|\") и завершающие двоеточия. На "
+"выходе - переведённая строка (на текущем языке пользовательского "
+"интерфейса); завершающие двоеточия и разметка ускорителя удаляются."
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:206
+#: src/frontends/qt/GuiInfo.cpp:204
 msgid ""
-"If not stated explicitly, fill title and author from appropriate environments"
+"Enter a function name such as 'math-insert \\alpha'. Please refer to Help > "
+"LyX Functions for a comprehensive list of functions. The output is the "
+"toolbar icon for this function (using the active icon theme)."
 msgstr ""
-"Если не указано явно, заполнить поля названия и автора из соответствующих "
-"окружений"
+"Введите имя функции, например, 'math-insert \\alpha'. Подробный список "
+"функций см. в разделе Помощь > Функции LyX. Выходом является значок панели "
+"инструментов для этой функции (с использованием активной темы значков)."
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:209
-msgid "Automatically fi&ll header"
-msgstr "Автоматически запо&лнять заголовок"
+#: src/frontends/qt/GuiInfo.cpp:206
+msgid ""
+"Enter a LyX preferences key such as 'bind_file'. See the proposed list for "
+"available entries. The output is the current setting of this preference."
+msgstr ""
+"Введите ключ настроек LyX, например, 'bind_file'. См. предлагаемый список "
+"доступных вариантов. Выводом является текущее значение этого параметра."
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:216
-msgid "Enable fullscreen PDF presentation"
-msgstr "Разрешить полноэкранный показ PDF-презентаций"
+#: src/frontends/qt/GuiInfo.cpp:256 src/insets/InsetInclude.cpp:432
+msgid "Unknown"
+msgstr "Неизвестно"
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:219
-msgid "Load in &fullscreen mode"
-msgstr "Запуск в полноэкранном режиме"
+#: src/frontends/qt/GuiInfo.cpp:332
+msgid "Enter a valid value below"
+msgstr "Введите допустимое значение ниже"
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:229
-msgid "H&yperlinks"
-msgstr "&Гиперссылки"
+#: src/frontends/qt/GuiInfo.cpp:361 src/frontends/qt/ui/InfoUi.ui:59
+msgid "Here you can enter a fix date (in ISO format: YYYY-MM-DD)"
+msgstr "Введите дату (в формате ISO: YYYY-MM-DD)"
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:280
-msgid "Allows link text to break across lines."
-msgstr "Разрешить разрывать текст ссылок по строкам"
+#: src/frontends/qt/GuiInfo.cpp:362 src/frontends/qt/ui/InfoUi.ui:49
+msgid "&Fix Date:"
+msgstr "Заданная дата:"
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:283
-msgid "B&reak links over lines"
-msgstr "Разрывать ссылки по строкам"
+#: src/frontends/qt/GuiInfo.cpp:365
+msgid "Here you can enter a fix time (in ISO format: hh:mm:ss)"
+msgstr "Введите заданное время (в формате ISO: hh:mm:ss)"
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:290
-msgid "No &frames around links"
-msgstr "Без &рамок вокруг ссылок"
+#: src/frontends/qt/GuiInfo.cpp:366
+msgid "&Fix Time:"
+msgstr "Заданное время:"
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:300
-msgid "C&olor links"
-msgstr "&Цветные ссылки"
+#: src/frontends/qt/GuiInfo.h:40
+msgid "Field Settings"
+msgstr "Поле"
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:307
-msgid "Bibliographical backreferences"
-msgstr "Обратные библиографические ссылки"
+#: src/frontends/qt/GuiKeySymbol.cpp:816
+msgid "Shift-"
+msgstr "Shift-"
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:310
-msgid "B&ackreferences:"
-msgstr "&Обратные ссылки:"
+#: src/frontends/qt/GuiKeySymbol.cpp:817
+msgid "Control-"
+msgstr "Control-"
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:339
-msgid "&Bookmarks"
-msgstr "&Закладки"
+#: src/frontends/qt/GuiKeySymbol.cpp:818
+msgid "Option-"
+msgstr "Option-"
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:360
-msgid "G&enerate bookmarks (toc)"
-msgstr "&Создавать закладки"
+#: src/frontends/qt/GuiKeySymbol.cpp:819
+msgid "Command-"
+msgstr "Command-"
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:390
-msgid "&Numbered bookmarks"
-msgstr "&Нумерованные закладки"
+#: src/frontends/qt/GuiLabel.h:35
+msgid "Label Settings"
+msgstr "Метка"
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:397
-msgid "&Open bookmark tree"
-msgstr "&Открывать дерево закладок"
+#: src/frontends/qt/GuiLine.h:34
+msgid "Line Settings"
+msgstr "Линия"
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:431
-msgid "Number of levels"
-msgstr "Число уровней"
+#: src/frontends/qt/GuiListings.cpp:63
+msgid "No language"
+msgstr "Нет языка"
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:473
-msgid "Additional O&ptions"
-msgstr "Дополнительные &параметры"
+#: src/frontends/qt/GuiListings.cpp:168
+msgid "Program Listing Settings"
+msgstr "Листинг программы"
 
-#: src/frontends/qt/ui/PDFSupportUi.ui:509
-msgid "e.g.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
-msgstr "Например: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
+#: src/frontends/qt/GuiListings.cpp:437
+msgid "No dialect"
+msgstr "Нет диалекта"
 
-#: src/frontends/qt/ui/PageLayoutUi.ui:20
-msgid "Paper Format"
-msgstr "Формат бумаги"
+#: src/frontends/qt/GuiLog.cpp:117 src/frontends/qt/GuiLog.cpp:279
+msgid "LaTeX Log"
+msgstr "Журнал сообщений LaTeX"
 
-#: src/frontends/qt/ui/PageLayoutUi.ui:29
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:20
-msgid "&Format:"
-msgstr "&Формат:"
+#: src/frontends/qt/GuiLog.cpp:241
+msgid "Biber"
+msgstr "Biber"
 
-#: src/frontends/qt/ui/PageLayoutUi.ui:45
-msgid "Choose a particular paper size, or set your own with \"Custom\""
-msgstr ""
-"Установите размер бумаги или задайте собственный, выбрав \"Задано "
-"пользователем\""
+#: src/frontends/qt/GuiLog.cpp:243 src/insets/InsetBibtex.cpp:149
+#: lib/configure.py:725
+msgid "BibTeX"
+msgstr "BibTeX"
 
-#: src/frontends/qt/ui/PageLayoutUi.ui:126
-msgid "&Orientation:"
-msgstr "&Ориентация:"
+#: src/frontends/qt/GuiLog.cpp:254
+msgid "LyX2LyX"
+msgstr "LyX2LyX"
 
-#: src/frontends/qt/ui/PageLayoutUi.ui:136
-msgid "&Portrait"
-msgstr "&Книжная"
+#: src/frontends/qt/GuiLog.cpp:257 lib/ui/stdtoolbars.inc:294
+msgid "Version Control"
+msgstr "Управление версиями"
 
-#: src/frontends/qt/ui/PageLayoutUi.ui:146
-msgid "&Landscape"
-msgstr "&Альбомная"
+#: src/frontends/qt/GuiLog.cpp:281
+msgid "Literate Programming Build Log"
+msgstr "Журнал сборки для грамотного программирования"
 
-#: src/frontends/qt/ui/PageLayoutUi.ui:162
-#: lib/layouts/customHeadersFooters.module:3 lib/layouts/landscape.module:3
-#: lib/layouts/multicol.module:3 src/frontends/qt/GuiDocument.cpp:1771
-msgid "Page Layout"
-msgstr "Макет страницы"
+#: src/frontends/qt/GuiLog.cpp:283
+msgid "lyx2lyx Error Log"
+msgstr "Журнал ошибок lyx2lyx"
 
-#: src/frontends/qt/ui/PageLayoutUi.ui:171
-msgid "Page &style:"
-msgstr "Стиль &колонтитулов:"
+#: src/frontends/qt/GuiLog.cpp:285
+msgid "Version Control Log"
+msgstr "Журнал системы управления версиями"
 
-#: src/frontends/qt/ui/PageLayoutUi.ui:187
-msgid "Style used for the page header and footer"
-msgstr "Стиль для верхнего и нижнего колонтитула"
+#: src/frontends/qt/GuiLog.cpp:313
+msgid "Log file not found."
+msgstr "Журнал не найден."
 
-#: src/frontends/qt/ui/PageLayoutUi.ui:207
-msgid "Lay out the page for double-sided printing"
-msgstr "Компоновать страницы для двухсторонней печати"
+#: src/frontends/qt/GuiLog.cpp:316
+msgid "No literate programming build log file found."
+msgstr "Не найден журнал сборки для грамотного программирования."
 
-#: src/frontends/qt/ui/PageLayoutUi.ui:210
-msgid "&Two-sided document"
-msgstr "&Двухсторонний документ"
+#: src/frontends/qt/GuiLog.cpp:319
+msgid "No lyx2lyx error log file found."
+msgstr "Не найден лог-файл lyx2lyx."
 
-#: src/frontends/qt/ui/ParagraphUi.ui:23
-msgid "Line &spacing"
-msgstr "Междустрочный &интервал"
+#: src/frontends/qt/GuiLog.cpp:322
+msgid "No version control log file found."
+msgstr "Журнал управления версиями не найден."
 
-#: src/frontends/qt/ui/ParagraphUi.ui:60 src/Text.cpp:1990
-#: src/frontends/qt/GuiDocument.cpp:870
-msgid "Single"
-msgstr "Одинарный"
+#: src/frontends/qt/GuiLyXFiles.cpp:70 lib/languages:626
+#: lib/examples/Articles:0
+msgid "English"
+msgstr "Английский"
 
-#: src/frontends/qt/ui/ParagraphUi.ui:65
-msgid "1.5"
-msgstr "Полуторный"
+#: src/frontends/qt/GuiLyXFiles.cpp:92 src/frontends/qt/GuiLyXFiles.cpp:105
+#: lib/layouts/hollywood.layout:286
+msgid "General"
+msgstr "Общее"
 
-#: src/frontends/qt/ui/ParagraphUi.ui:70 src/Text.cpp:1996
-#: src/frontends/qt/GuiDocument.cpp:874
-msgid "Double"
-msgstr "Двойной"
+#: src/frontends/qt/GuiLyXFiles.cpp:155
+msgid "Preferred &Language:"
+msgstr "Предпочитаемый язык:"
 
-#: src/frontends/qt/ui/ParagraphUi.ui:75
-#: src/frontends/qt/ui/PrefLanguageUi.ui:87
-#: src/frontends/qt/ui/PrefLanguageUi.ui:353
-#: src/frontends/qt/ui/TabularUi.ui:1210 src/frontends/qt/ui/TabularUi.ui:1229
-#: src/frontends/qt/ui/TabularUi.ui:1277 src/frontends/qt/ui/VSpaceUi.ui:118
-#: lib/layouts/stdcustom.inc:8 src/frontends/qt/FloatPlacement.cpp:185
-#: src/frontends/qt/GuiDocument.cpp:862 src/frontends/qt/GuiDocument.cpp:868
-#: src/frontends/qt/GuiDocument.cpp:876 src/frontends/qt/GuiDocument.cpp:990
-#: src/frontends/qt/GuiDocument.cpp:1057 src/frontends/qt/GuiDocument.cpp:1143
-#: src/frontends/qt/GuiDocument.cpp:1194 src/frontends/qt/GuiDocument.cpp:1540
-#: src/frontends/qt/GuiHSpace.cpp:57 src/frontends/qt/GuiPrefs.cpp:815
-#: src/frontends/qt/GuiPrefs.cpp:843 src/frontends/qt/GuiPrefs.cpp:870
-#: src/frontends/qt/GuiPrefs.cpp:2289 src/frontends/qt/GuiPrefs.cpp:2312
-#: src/frontends/qt/GuiPrintNomencl.cpp:51 src/insets/InsetInfo.cpp:234
-#: src/insets/InsetInfo.cpp:246 src/insets/InsetInfo.cpp:250
-#: src/insets/InsetInfo.cpp:259 src/insets/InsetInfo.cpp:317
-#: src/insets/InsetInfo.cpp:335
-msgid "Custom"
-msgstr "Задано пользователем"
+#: src/frontends/qt/GuiLyXFiles.cpp:161 src/frontends/qt/GuiLyXFiles.cpp:590
+msgid "New File From Template"
+msgstr "Создать из шаблона"
 
-#: src/frontends/qt/ui/ParagraphUi.ui:110
-msgid "&Justified"
-msgstr "&По ширине"
+#: src/frontends/qt/GuiLyXFiles.cpp:196
+msgid "All available files"
+msgstr "Все доступные файлы"
 
-#: src/frontends/qt/ui/ParagraphUi.ui:131 src/frontends/qt/ui/TabularUi.ui:1570
-msgid "Ri&ght"
-msgstr "С&права"
+#: src/frontends/qt/GuiLyXFiles.cpp:197
+msgid "Enter string to filter the list of available files"
+msgstr "Введите строку для фильтрации списка доступных файлов"
 
-#: src/frontends/qt/ui/ParagraphUi.ui:138
-msgid "Use the default alignment for this paragraph, whatever it is."
+#: src/frontends/qt/GuiLyXFiles.cpp:230
+msgid "User and System Files"
+msgstr "Пользовательские и системные файлы"
+
+#: src/frontends/qt/GuiLyXFiles.cpp:231
+msgid "User Files Only"
+msgstr "Только пользовательские файлы"
+
+#: src/frontends/qt/GuiLyXFiles.cpp:232
+msgid "System Files Only"
+msgstr "Только системные файлы"
+
+#: src/frontends/qt/GuiLyXFiles.cpp:319
+msgid "File &Language:"
+msgstr "&Язык файла:"
+
+#: src/frontends/qt/GuiLyXFiles.cpp:320
+msgid ""
+"All available languages of the selected file are displayed here.\n"
+"The selected language version will be opened."
 msgstr ""
-"Использовать выравнивание для абзаца по умолчанию, каким бы оно ни было."
+"Здесь показаны все доступные языки для выделенного файла.\n"
+"Будет открыта версия для выбранного языка."
 
-#: src/frontends/qt/ui/ParagraphUi.ui:141
-msgid "Paragraph's &Default"
-msgstr "По &умолчанию"
+#: src/frontends/qt/GuiLyXFiles.cpp:366
+msgid "Select example file"
+msgstr "Выберите файл примера"
 
-#: src/frontends/qt/ui/ParagraphUi.ui:154
-msgid "Label Width"
-msgstr "Ширина метки"
+#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2452
+#: src/frontends/qt/GuiView.cpp:2590 src/frontends/qt/GuiView.cpp:2724
+msgid "&Examples"
+msgstr "&Примеры"
 
-#: src/frontends/qt/ui/ParagraphUi.ui:178
-#: src/frontends/qt/ui/ParagraphUi.ui:191
-msgid "This text defines the width of the paragraph label"
-msgstr "Этот текст определяет ширину метки абзаца"
+#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2391
+msgid "Select template file"
+msgstr "Выберите файл шаблона"
 
-#: src/frontends/qt/ui/ParagraphUi.ui:181
-msgid "Lo&ngest label"
-msgstr "Самая длин&ная метка"
+#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2393
+#: src/frontends/qt/GuiView.cpp:2843
+msgid "&Templates"
+msgstr "&Шаблоны"
 
-#: src/frontends/qt/ui/ParagraphUi.ui:201
-msgid "&Indent Paragraph"
-msgstr "&Делать отступ в начале абзаца"
+#: src/frontends/qt/GuiLyXFiles.cpp:380
+msgid "&User files"
+msgstr "&Пользовательские файлы"
 
-#: src/frontends/qt/ui/PhantomUi.ui:47
-msgid "Horizontal and vertical space of the phantom content"
-msgstr "Горизонтальное и вертикальное пространство содержимого фантома"
+#: src/frontends/qt/GuiLyXFiles.cpp:381
+msgid "&System files"
+msgstr "&Системные файлы"
 
-#: src/frontends/qt/ui/PhantomUi.ui:50
-msgid "Phanto&m"
-msgstr "Фантом"
+#: src/frontends/qt/GuiLyXFiles.cpp:384
+msgid "Chose UI file"
+msgstr "Выберите файл интерфейса (UI)"
 
-#: src/frontends/qt/ui/PhantomUi.ui:57
-msgid "Horizontal space of the phantom content"
-msgstr "Горизонтальное пространство для содержимого фантома"
+#: src/frontends/qt/GuiLyXFiles.cpp:385
+msgid "LyX UI Files (*.ui)"
+msgstr "Файлы интерфейса LyX (*.ui)"
 
-#: src/frontends/qt/ui/PhantomUi.ui:60
-msgid "&Horizontal Phantom"
-msgstr "Горизонтальный фантом"
+#: src/frontends/qt/GuiLyXFiles.cpp:388
+msgid "Chose bind file"
+msgstr "Выберите файл привязок клавиш"
 
-#: src/frontends/qt/ui/PhantomUi.ui:67
-msgid "Vertical space of the phantom content"
-msgstr "Вертикальное пространство для содержимого фантома"
+#: src/frontends/qt/GuiLyXFiles.cpp:389
+msgid "LyX Bind Files (*.bind)"
+msgstr "Привязки клавиш LyX (*.bind)"
 
-#: src/frontends/qt/ui/PhantomUi.ui:70
-msgid "Verti&cal Phantom"
-msgstr "Вертикальный фантом"
+#: src/frontends/qt/GuiLyXFiles.cpp:392
+msgid "Chose keyboard map"
+msgstr "Выберите раскладку клавиатуры"
 
-#: src/frontends/qt/ui/PreambleUi.ui:38
-msgid "&Find"
-msgstr "&Найти"
+#: src/frontends/qt/GuiLyXFiles.cpp:393
+msgid "LyX Keymap Files (*.kmap)"
+msgstr "Раскладки клавиатуры LyX (*.kmap)"
 
-#: src/frontends/qt/ui/PrefColorsUi.ui:60
-msgid "Change the selected color"
-msgstr "Изменить выбранный цвет"
+#: src/frontends/qt/GuiLyXFiles.cpp:451
+msgid "Default Template"
+msgstr "Шаблон по умолчанию"
 
-#: src/frontends/qt/ui/PrefColorsUi.ui:63
-msgid "A&lter..."
-msgstr "&Изменить..."
+#: src/frontends/qt/GuiLyXFiles.cpp:588
+msgid "Open Example File"
+msgstr "Открыть пример"
 
-#: src/frontends/qt/ui/PrefColorsUi.ui:70
-msgid "Reset the selected color to its original value"
-msgstr "Сбросить выбранный цвет к его исходному значению"
+#: src/frontends/qt/GuiLyXFiles.cpp:592
+msgid "Open File"
+msgstr "Открыть файл"
 
-#: src/frontends/qt/ui/PrefColorsUi.ui:73
-msgid "Restore &Default"
-msgstr "Восстановить значения по умолчанию"
+#: src/frontends/qt/GuiMathMatrix.cpp:34
+msgid "[x]"
+msgstr "[x]"
 
-#: src/frontends/qt/ui/PrefColorsUi.ui:80
-msgid "Reset all colors to their original value"
-msgstr "Сбросить все цвета к их исходным значениям"
+#: src/frontends/qt/GuiMathMatrix.cpp:35
+msgid "(x)"
+msgstr "(x)"
 
-#: src/frontends/qt/ui/PrefColorsUi.ui:83
-msgid "Restore A&ll"
-msgstr "Восстановить всё"
+#: src/frontends/qt/GuiMathMatrix.cpp:36
+msgid "{x}"
+msgstr "{x}"
 
-#: src/frontends/qt/ui/PrefColorsUi.ui:105
-msgid "Use the color scheme of your Operating System/Desktop Environment"
-msgstr ""
-"Использовать цветовую схему операционной системы/окружения рабочего стола"
+#: src/frontends/qt/GuiMathMatrix.cpp:37
+msgid "|x|"
+msgstr "|x|"
 
-#: src/frontends/qt/ui/PrefColorsUi.ui:108
-msgid "&Use system colors"
-msgstr "Использовать системные цвета"
+#: src/frontends/qt/GuiMathMatrix.cpp:38
+msgid "||x||"
+msgstr "||x||"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:26
-msgid "In Math"
-msgstr "В математических формулах"
+#: src/frontends/qt/GuiMathMatrix.cpp:39
+msgid "small"
+msgstr "small"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:41
-msgid ""
-"Show the grey inline completion behind the cursor in math mode after the "
-"delay."
-msgstr ""
-"Показывать серым цветом автоматическое дополнение слова после курсора в "
-"математическом режиме после задержки."
+#: src/frontends/qt/GuiMathMatrix.cpp:44
+msgid "bmatrix"
+msgstr "bmatrix"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:44
-msgid "Automatic in&line completion"
-msgstr "Автодополнение в &строке"
+#: src/frontends/qt/GuiMathMatrix.cpp:45
+msgid "pmatrix"
+msgstr "pmatrix"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:51
-msgid "Show the popup in math mode after the delay."
-msgstr "Показывать всплывающее меню в математическом режиме после задержки."
+#: src/frontends/qt/GuiMathMatrix.cpp:46
+msgid "Bmatrix"
+msgstr "Bmatrix"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:54
-msgid "Automatic p&opup"
-msgstr "Автоматическое окно подсказки"
+#: src/frontends/qt/GuiMathMatrix.cpp:47
+msgid "vmatrix"
+msgstr "vmatrix"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:61
-msgid "Autoco&rrection"
-msgstr "Автокоррекция"
+#: src/frontends/qt/GuiMathMatrix.cpp:48
+msgid "Vmatrix"
+msgstr "Vmatrix"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:71
-msgid "In Text"
-msgstr "В тексте"
+#: src/frontends/qt/GuiMathMatrix.cpp:49
+msgid "smallmatrix"
+msgstr "smallmatrix"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:86
-msgid ""
-"Show the grey inline completion behind the cursor in text mode after the "
-"delay."
-msgstr ""
-"Показывать серым цветом автоматическое дополнение слова после курсора в "
-"текстовом режиме после задержки."
+#: src/frontends/qt/GuiMathMatrix.cpp:54 lib/ui/stdcontext.inc:459
+#: src/frontends/qt/ui/BoxUi.ui:204 src/frontends/qt/ui/BoxUi.ui:234
+#: src/frontends/qt/ui/TabularUi.ui:213 src/frontends/qt/ui/TabularUi.ui:404
+msgid "Top"
+msgstr "Верх"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:89
-msgid "Automatic &inline completion"
-msgstr "Автодополнение в &строке"
+#: src/frontends/qt/GuiMathMatrix.cpp:55 src/frontends/qt/GuiTabular.cpp:252
+#: lib/ui/stdcontext.inc:460 src/frontends/qt/ui/BoxUi.ui:209
+#: src/frontends/qt/ui/BoxUi.ui:239 src/frontends/qt/ui/TabularUi.ui:218
+#: src/frontends/qt/ui/TabularUi.ui:409
+msgid "Middle"
+msgstr "Центр"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:96
-msgid "Show the popup after the set delay in text mode."
-msgstr ""
-"Показывать всплывающее меню в текстовом режиме после установленной задержки."
+#: src/frontends/qt/GuiMathMatrix.cpp:56 lib/layouts/g-brief2.layout:104
+#: lib/layouts/g-brief2.layout:125 lib/layouts/g-brief2.layout:145
+#: lib/layouts/g-brief2.layout:165 lib/layouts/g-brief2.layout:185
+#: lib/layouts/g-brief2.layout:205 lib/layouts/g-brief2.layout:225
+#: lib/layouts/g-brief2.layout:246 lib/layouts/g-brief2.layout:267
+#: lib/layouts/g-brief2.layout:287 lib/layouts/g-brief2.layout:307
+#: lib/layouts/g-brief2.layout:327 lib/layouts/g-brief2.layout:347
+#: lib/layouts/g-brief2.layout:367 lib/layouts/g-brief2.layout:388
+#: lib/layouts/g-brief2.layout:408 lib/layouts/g-brief2.layout:428
+#: lib/layouts/g-brief2.layout:448 lib/layouts/g-brief2.layout:468
+#: lib/layouts/g-brief2.layout:488 lib/layouts/g-brief2.layout:509
+#: lib/layouts/g-brief2.layout:529 lib/layouts/g-brief2.layout:549
+#: lib/layouts/g-brief2.layout:569 lib/layouts/g-brief2.layout:589
+#: lib/layouts/g-brief2.layout:609 lib/layouts/g-brief2.layout:630
+#: lib/layouts/g-brief2.layout:650 lib/layouts/g-brief2.layout:670
+#: lib/layouts/g-brief2.layout:690 lib/layouts/g-brief2.layout:710
+#: lib/ui/stdcontext.inc:461 src/frontends/qt/ui/BoxUi.ui:214
+#: src/frontends/qt/ui/BoxUi.ui:244 src/frontends/qt/ui/TabularUi.ui:223
+#: src/frontends/qt/ui/TabularUi.ui:414
+msgid "Bottom"
+msgstr "Низ"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:99
-msgid "Automatic &popup"
-msgstr "Автоматическое окно подсказки"
+#: src/frontends/qt/GuiMathMatrix.cpp:64
+msgid "Math Matrix"
+msgstr "Матрица"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:106
+#: src/frontends/qt/GuiNomenclature.h:36
+msgid "Nomenclature Settings"
+msgstr "Обозначение"
+
+#: src/frontends/qt/GuiNote.cpp:26
+msgid "Note Settings"
+msgstr "Заметка"
+
+#: src/frontends/qt/GuiParagraph.cpp:49
+msgid "Paragraph Settings"
+msgstr "Абзац"
+
+#: src/frontends/qt/GuiParagraph.cpp:83
 msgid ""
-"Show a small triangle on the cursor if a completion is available in text "
-"mode."
+"As described in the User Guide, the width of this text determines the width "
+"of the label part of each item in environments like List and Description.\n"
+"\n"
+" Normally, you won't need to set this, since the largest label width of all "
+"the items is used."
 msgstr ""
-"Показывать маленький треугольник на курсоре если доступно дополнение слова в "
-"текстовом режиме."
+"Как описано в Руководстве пользователя, ширина этого текста определяет "
+"ширину метки каждого элемента в окружениях, таких как Список и Описание.\n"
+" Обычно, вам не нужно устанавливать это, поскольку ширина наибольшей метки "
+"используется для всех элементов."
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:109
-msgid "Cursor i&ndicator"
-msgstr "И&ндикатор курсора"
+#: src/frontends/qt/GuiParagraph.cpp:113 src/frontends/qt/GuiTabular.cpp:1024
+#: src/frontends/qt/ui/TabularUi.ui:339
+msgid "Justified"
+msgstr "По ширине"
+
+#: src/frontends/qt/GuiParagraph.cpp:166 src/frontends/qt/GuiView.cpp:3121
+msgid "&Close"
+msgstr "&Закрыть"
+
+#: src/frontends/qt/GuiPhantom.cpp:25
+msgid "Phantom Settings"
+msgstr "Фантом"
+
+#: src/frontends/qt/GuiPrefs.cpp:212
+msgid "Look & Feel"
+msgstr "Вид и поведение"
+
+#: src/frontends/qt/GuiPrefs.cpp:213 src/frontends/qt/ui/PrefEditUi.ui:26
+msgid "Editing"
+msgstr "Редактирование"
+
+#: src/frontends/qt/GuiPrefs.cpp:214 src/frontends/qt/ui/CharacterUi.ui:254
+msgid "Language Settings"
+msgstr "Настройки языка"
+
+#: src/frontends/qt/GuiPrefs.cpp:215 src/frontends/qt/ui/ProgressViewUi.ui:93
+msgid "Output"
+msgstr "Вывод"
+
+#: src/frontends/qt/GuiPrefs.cpp:216
+msgid "File Handling"
+msgstr "Обработка файлов"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:119
 #: src/frontends/qt/GuiPrefs.cpp:320
+#: src/frontends/qt/ui/PrefCompletionUi.ui:119
 msgid "General[[settings]]"
 msgstr "Общие"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:142
-msgid ""
-"After the cursor has not moved for this time, the inline completion is shown "
-"if it is available."
-msgstr ""
-"После того, как курсор оставался неподвижным в течение указанного времени, "
-"показывается встроенное дополнение слова (если оно доступно)."
+#: src/frontends/qt/GuiPrefs.cpp:417
+msgid "Keyboard/Mouse"
+msgstr "Клавиатура и мышь"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:155
-msgid "s inline completion dela&y"
-msgstr "Задержка дополнен&ия (сек.)"
+#: src/frontends/qt/GuiPrefs.cpp:551
+msgid "Input Completion"
+msgstr "Дополнение ввода"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:188
+#: src/frontends/qt/GuiPrefs.cpp:691 src/frontends/qt/GuiPrefs.cpp:837
+msgid "C&ommand:"
+msgstr "&Команда:"
+
+#: src/frontends/qt/GuiPrefs.cpp:707 src/frontends/qt/GuiPrefs.cpp:833
+#: src/frontends/qt/ui/IndicesUi.ui:54
+msgid "&Options:"
+msgstr "&Параметры:"
+
+#: src/frontends/qt/GuiPrefs.cpp:716 src/frontends/qt/GuiPrefs.cpp:741
+#: src/frontends/qt/GuiPrefs.cpp:865 src/frontends/qt/GuiPrefs.cpp:892
+msgid "Co&mmand:"
+msgstr "&Команда:"
+
+#: src/frontends/qt/GuiPrefs.cpp:732 src/frontends/qt/GuiPrefs.cpp:861
+#: src/frontends/qt/ui/BiblioUi.ui:118
+msgid "Opt&ions:"
+msgstr "П&араметры:"
+
+#: src/frontends/qt/GuiPrefs.cpp:757 src/frontends/qt/GuiPrefs.cpp:888
+#: src/frontends/qt/ui/BiblioUi.ui:424 src/frontends/qt/ui/PrefLatexUi.ui:103
+#: src/frontends/qt/ui/PrefLatexUi.ui:205
+msgid "Op&tions:"
+msgstr "П&араметры:"
+
+#: src/frontends/qt/GuiPrefs.cpp:913
+msgid "Screen Fonts"
+msgstr "Экранные шрифты"
+
+#: src/frontends/qt/GuiPrefs.cpp:1299 src/frontends/qt/ui/ERTUi.ui:28
+msgid "Display"
+msgstr "Вид"
+
+#: src/frontends/qt/GuiPrefs.cpp:1376
+msgid "Paths"
+msgstr "Пути"
+
+#: src/frontends/qt/GuiPrefs.cpp:1463
+msgid "Select directory for example files"
+msgstr "Выберите каталог с файлами примеров"
+
+#: src/frontends/qt/GuiPrefs.cpp:1472
+msgid "Select a document templates directory"
+msgstr "Выберите каталог с шаблонами документов"
+
+#: src/frontends/qt/GuiPrefs.cpp:1481
+msgid "Select a temporary directory"
+msgstr "Выберите временный каталог"
+
+#: src/frontends/qt/GuiPrefs.cpp:1490
+msgid "Select a backups directory"
+msgstr "Выберите каталог для создания резервных копий"
+
+#: src/frontends/qt/GuiPrefs.cpp:1499
+msgid "Select a document directory"
+msgstr "Выберите каталог для документов"
+
+#: src/frontends/qt/GuiPrefs.cpp:1508
+msgid "Set the path to the thesaurus dictionaries"
+msgstr "Установите путь к словарям тезауруса"
+
+#: src/frontends/qt/GuiPrefs.cpp:1517
+msgid "Set the path to the Hunspell dictionaries"
+msgstr "Установите путь к словарям Hunspell"
+
+#: src/frontends/qt/GuiPrefs.cpp:1526
+msgid "Give a filename for the LyX server pipe"
+msgstr "Укажите имя файла для канала LyX-сервера"
+
+#: src/frontends/qt/GuiPrefs.cpp:1539 src/frontends/qt/GuiSpellchecker.cpp:594
+msgid "Spellchecker"
+msgstr "Правописание"
+
+#: src/frontends/qt/GuiPrefs.cpp:1545
+msgid "Native"
+msgstr "Системный"
+
+#: src/frontends/qt/GuiPrefs.cpp:1551
+msgid "Aspell"
+msgstr "Aspell"
+
+#: src/frontends/qt/GuiPrefs.cpp:1554
+msgid "Enchant"
+msgstr "Enchant"
+
+#: src/frontends/qt/GuiPrefs.cpp:1557
+msgid "Hunspell"
+msgstr "Hunspell"
+
+#: src/frontends/qt/GuiPrefs.cpp:1630
+msgid "Converters"
+msgstr "Конвертеры"
+
+#: src/frontends/qt/GuiPrefs.cpp:1863
+msgid "SECURITY WARNING!"
+msgstr "ПРЕДУПРЕЖДЕНИЕ БЕЗОПАСНОСТИ!"
+
+#: src/frontends/qt/GuiPrefs.cpp:1863
 msgid ""
-"After the cursor has not moved for this time, the completion popup is shown "
-"if it is available."
+"Unchecking this option has the effect that potentially harmful converters "
+"would be run without asking your permission first. This is UNSAFE and NOT "
+"recommended, unless you know what you are doing. Are you sure you would like "
+"to proceed ? The recommended and safe answer is NO!"
 msgstr ""
-"После того, как курсор оставался неподвижным в течение указанного времени, "
-"показывается окно с вариантами дополнения (если оно доступно)."
+"Если этот параметр отключен, потенциально опасные конвертеры будут "
+"запускаться без предварительного запроса вашего разрешения. Это НЕБЕЗОПАСНО "
+"и НЕ рекомендуется, если вы не знаете, что вы делаете. Вы уверены, что "
+"хотите продолжить? Рекомендуемый и безопасный ответ - НЕТ!"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:201
-msgid "s popup d&elay"
-msgstr "Задержка всплывающего &окна (сек.)"
+#: src/frontends/qt/GuiPrefs.cpp:1983
+msgid "File Formats"
+msgstr "Форматы файлов"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:234
+#: src/frontends/qt/GuiPrefs.cpp:2217 src/frontends/qt/GuiPrefs.cpp:2369
+msgid "Format in use"
+msgstr "Используемый формат"
+
+#: src/frontends/qt/GuiPrefs.cpp:2218
 msgid ""
-"Words with less than the specified number of characters will not be "
-"completed."
-msgstr "Слова из меньшего количества символов не будут завершаться."
+"You cannot change a format's short name if the format is used by a "
+"converter. Please remove the converter first."
+msgstr ""
+"Невозможно изменить имя формата, используемого конвертером. Удалите сначала "
+"конвертер."
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:250
-msgid "Minimum characters for words that should be completed"
-msgstr "Минимальное количество символов для завершения слов"
+#: src/frontends/qt/GuiPrefs.cpp:2370
+msgid "Cannot remove a Format used by a Converter. Remove the converter first."
+msgstr ""
+"Невозможно удалить формат, используемый конвертером. Удалите сначала "
+"конвертер."
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:275
+#: src/frontends/qt/GuiPrefs.cpp:2463
+msgid "LyX needs to be restarted!"
+msgstr "LyX должен быть перезапущен!"
+
+#: src/frontends/qt/GuiPrefs.cpp:2464
 msgid ""
-"When the TAB completion is not unique, there won't be a delay of the popup. "
-"It will be shown right away."
+"The change of user interface language will be fully effective only after a "
+"restart."
 msgstr ""
-"Когда дополнение по TAB не единственно, задержки появления всплывающего окна "
-"не будет. Оно будет показано сразу."
+"Изменение языка пользовательского интерфейса будет полностью задействовано "
+"только после перезапуска."
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:278
-msgid "Sho&w popup without delay for non-unique completions"
-msgstr ""
-"По&казывать всплывающее окно без задержки для не единственных дополнений"
+#: src/frontends/qt/GuiPrefs.cpp:2564
+msgid "User Interface"
+msgstr "Интерфейс"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:285
-msgid "Long completions are cut-off and shown with \"...\"."
-msgstr "Длинные дополнения обрезаются и показываются как \"...\"."
+#: src/frontends/qt/GuiPrefs.cpp:2583
+msgid "Classic"
+msgstr "Классический"
 
-#: src/frontends/qt/ui/PrefCompletionUi.ui:288
-msgid "&Use \"...\" to shorten long completions"
-msgstr "&Использовать \"...\" для сокращения длинных дополнений"
+#: src/frontends/qt/GuiPrefs.cpp:2584
+msgid "Oxygen"
+msgstr "Oxygen"
 
-#: src/frontends/qt/ui/PrefConvertersUi.ui:35
-msgid "Converter Defi&nitions"
-msgstr "Определения конвертеров"
+#: src/frontends/qt/GuiPrefs.cpp:2632
+msgid "Document Handling"
+msgstr "Документ"
 
-#: src/frontends/qt/ui/PrefConvertersUi.ui:128
-msgid "&Converter:"
-msgstr "К&онвертер:"
+#: src/frontends/qt/GuiPrefs.cpp:2739
+msgid "Control"
+msgstr "Управление"
 
-#: src/frontends/qt/ui/PrefConvertersUi.ui:138
-msgid "E&xtra flag:"
-msgstr "&Дополнительно:"
+#: src/frontends/qt/GuiPrefs.cpp:2860
+msgid "Shortcuts"
+msgstr "Сочетания клавиш"
 
-#: src/frontends/qt/ui/PrefConvertersUi.ui:186
-msgid "Fro&m format:"
-msgstr "&Из формата:"
+#: src/frontends/qt/GuiPrefs.cpp:2867
+msgid "Function"
+msgstr "Функция"
 
-#: src/frontends/qt/ui/PrefConvertersUi.ui:225
-msgid "&To format:"
-msgstr "&В формат:"
+#: src/frontends/qt/GuiPrefs.cpp:2868
+msgid "Shortcut"
+msgstr "Сочетание клавиш"
 
-#: src/frontends/qt/ui/PrefConvertersUi.ui:273
-#: src/frontends/qt/ui/PrefShortcutsUi.ui:54
-msgid "&Modify"
-msgstr "&Изменить"
+#: src/frontends/qt/GuiPrefs.cpp:2945
+msgid "Cursor, Mouse and Editing Functions"
+msgstr "Курсор, мышь и функции редактирования"
+
+#: src/frontends/qt/GuiPrefs.cpp:2949
+msgid "Mathematical Symbols"
+msgstr "Математические символы"
+
+#: src/frontends/qt/GuiPrefs.cpp:2953
+msgid "Document and Window"
+msgstr "Документ и окно"
 
+#: src/frontends/qt/GuiPrefs.cpp:2957
+msgid "Font, Layouts and Textclasses"
+msgstr "Шрифт, макеты и классы документа"
+
+#: src/frontends/qt/GuiPrefs.cpp:2961
+msgid "System and Miscellaneous"
+msgstr "Системное и разное"
+
+#: src/frontends/qt/GuiPrefs.cpp:3098 src/frontends/qt/GuiPrefs.cpp:3159
+msgid "Res&tore"
+msgstr "&Восстановить"
+
+#: src/frontends/qt/GuiPrefs.cpp:3100 src/frontends/qt/GuiPrefs.cpp:3187
 #: src/frontends/qt/ui/PrefConvertersUi.ui:286
-#: src/frontends/qt/ui/PrefShortcutsUi.ui:61 src/frontends/qt/GuiPrefs.cpp:3076
-#: src/frontends/qt/GuiPrefs.cpp:3163
+#: src/frontends/qt/ui/PrefShortcutsUi.ui:61
 msgid "Remo&ve"
 msgstr "&Удалить"
 
-#: src/frontends/qt/ui/PrefConvertersUi.ui:311
-msgid "Converter File Cache"
-msgstr "Кэш-файл конвертера"
+#: src/frontends/qt/GuiPrefs.cpp:3327 src/frontends/qt/GuiPrefs.cpp:3336
+#: src/frontends/qt/GuiPrefs.cpp:3342 src/frontends/qt/GuiPrefs.cpp:3405
+msgid "Failed to create shortcut"
+msgstr "Сочетание не назначено"
 
-#: src/frontends/qt/ui/PrefConvertersUi.ui:352
-msgid "&Enabled"
-msgstr "&Использовать"
+#: src/frontends/qt/GuiPrefs.cpp:3328
+msgid "Unknown or invalid LyX function"
+msgstr "Неизвестная или неправильная функция LyX"
 
-#: src/frontends/qt/ui/PrefConvertersUi.ui:372
-msgid "Maximum a&ge (in days):"
-msgstr "&Максимальный возраст (дней):"
+#: src/frontends/qt/GuiPrefs.cpp:3337
+msgid "This LyX function is hidden and cannot be bound."
+msgstr "Эта функция LyX скрыта и не может быть привязана"
 
-#: src/frontends/qt/ui/PrefConvertersUi.ui:390
-msgid "Security"
-msgstr "Безопасность"
+#: src/frontends/qt/GuiPrefs.cpp:3343
+msgid "Invalid or empty key sequence"
+msgstr "Неверное или пустое сочетание клавиш"
 
-#: src/frontends/qt/ui/PrefConvertersUi.ui:431
+#: src/frontends/qt/GuiPrefs.cpp:3358
+#, c-format
 msgid ""
-"When enabled, use of converters with the 'needauth' option is forbidden."
+"Shortcut `%1$s' is already bound to %2$s.\n"
+"Are you sure you want to unbind the current shortcut and bind it to %3$s?"
 msgstr ""
-"Если этот параметр включён, использование конвертеров с параметром "
-"'needauth' запрещено."
+"Сочетание клавиш `%1$s' уже привязано к:\n"
+"%2$s\n"
+"Вы уверены, что хотите привязать его к %3$s?"
 
-#: src/frontends/qt/ui/PrefConvertersUi.ui:434
-msgid "&Forbid use of needauth converters"
-msgstr "Запретить использование конвертеров needauth"
+#: src/frontends/qt/GuiPrefs.cpp:3364
+msgid "Redefine shortcut?"
+msgstr "Переопределить сочетание клавиш?"
 
-#: src/frontends/qt/ui/PrefConvertersUi.ui:441
-msgid ""
-"When enabled, ask user before launching any external converter with the "
-"'needauth' option."
-msgstr ""
-"Если этот параметр включён, спрашивать пользователя перед запуском любого "
-"внешнего конвертера с опцией 'needauth'."
+#: src/frontends/qt/GuiPrefs.cpp:3365
+msgid "&Redefine"
+msgstr "&Переопределить"
 
-#: src/frontends/qt/ui/PrefConvertersUi.ui:444
-msgid "Use need&auth option"
-msgstr "Использовать параметр needauth"
+#: src/frontends/qt/GuiPrefs.cpp:3406
+msgid "Can not insert shortcut to the list"
+msgstr "Невозможно добавить сочетание клавиш в список"
 
-#: src/frontends/qt/ui/PrefDisplayUi.ui:47
-msgid "Factor for the preview size"
-msgstr "Множитель для размера предпросмотра"
+#: src/frontends/qt/GuiPrefs.cpp:3437
+msgid "Identity"
+msgstr "Личные данные"
 
-#: src/frontends/qt/ui/PrefDisplayUi.ui:69
-msgid "Display &graphics"
-msgstr "Показывать &графику"
+#: src/frontends/qt/GuiPrintNomencl.cpp:49
+msgid "Longest label width"
+msgstr "Ширина самой длинной метки"
 
-#: src/frontends/qt/ui/PrefDisplayUi.ui:105
-msgid "Instant &preview:"
-msgstr "Мгновенный предпросмотр:"
+#: src/frontends/qt/GuiPrintNomencl.h:40
+msgid "Nomenclature List Settings"
+msgstr "Список обозначений"
 
-#: src/frontends/qt/ui/PrefDisplayUi.ui:116 src/FontInfo.cpp:60
-#: src/frontends/qt/GuiDocument.cpp:141
-msgid "Off"
-msgstr "Выкл."
+#: src/frontends/qt/GuiPrintindex.cpp:37
+msgid "Index Settings"
+msgstr "Указатель"
 
-#: src/frontends/qt/ui/PrefDisplayUi.ui:121
-msgid "No math"
-msgstr "Без математики"
+#: src/frontends/qt/GuiPrintindex.cpp:70
+msgid "<All indexes>"
+msgstr "<Все указатели>"
 
-#: src/frontends/qt/ui/PrefDisplayUi.ui:126 src/FontInfo.cpp:60
-msgid "On"
-msgstr "Вкл."
+#: src/frontends/qt/GuiProgress.cpp:193
+#: src/frontends/qt/ui/ToggleWarningUi.ui:65
+msgid "&Do not show this warning again!"
+msgstr "&Не отображать больше это предупреждение!"
 
-#: src/frontends/qt/ui/PrefDisplayUi.ui:134
-msgid "Mark end of paragraphs on screen with a pilcrow character."
-msgstr "Отмечать конец абзаца на экране символом pilcrow."
+#: src/frontends/qt/GuiProgress.cpp:194
+#: src/frontends/qt/ui/ToggleWarningUi.ui:62
+msgid "If you check this, LyX will not warn you again in the given case."
+msgstr "Отметьте, чтобы LyX больше не беспокоил вас в подобных ситуациях."
 
-#: src/frontends/qt/ui/PrefDisplayUi.ui:137
-msgid "&Mark end of paragraphs"
-msgstr "&Отмечать конец абзаца"
+#: src/frontends/qt/GuiProgressView.cpp:66
+msgid "Progress/Debug Messages"
+msgstr "Сообщения прогресса/отладки"
 
-#: src/frontends/qt/ui/PrefDisplayUi.ui:144
-msgid "Preview si&ze:"
-msgstr "Ра&змер предпросмотра:"
+#: src/frontends/qt/GuiProgressView.cpp:101
+msgid "Debug Level"
+msgstr "Уровень отладки"
 
-#: src/frontends/qt/ui/PrefDisplayUi.ui:154
-msgid ""
-"If this is checked, additions in change tracking are underlined in the "
-"workarea"
-msgstr ""
-"Если отмечено, то вставки при отслеживании изменений будут подчёркиваться в "
-"рабочей области"
+#: src/frontends/qt/GuiProgressView.cpp:102
+msgid "Set"
+msgstr "Установить"
 
-#: src/frontends/qt/ui/PrefDisplayUi.ui:157
-msgid "&Underline change tracking additions"
-msgstr "Подчёркивать отслеживаемые вставки"
+#: src/frontends/qt/GuiRef.cpp:49
+msgid "Cross-reference"
+msgstr "Перекрёстная ссылка"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:26
-msgid "Session Handling"
-msgstr "Сессии"
+#: src/frontends/qt/GuiRef.cpp:62
+msgid "All available labels"
+msgstr "Все доступные метки"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:38
-msgid "Restore window layouts and &geometries"
-msgstr "Восстанавливать положение и размер окон"
+#: src/frontends/qt/GuiRef.cpp:63
+msgid "Enter string to filter the list of available labels"
+msgstr "Введите строку для фильтрации списка доступных меток"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:45
-msgid "Restore to the cursor position when the file was last closed"
-msgstr "Восстанавливать позицию курсора на момент закрытия файла"
+#: src/frontends/qt/GuiRef.cpp:75
+msgid "By Occurrence"
+msgstr "По порядку"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:48
-msgid "Restore cursor &positions"
-msgstr "Восстанавливать &позицию курсора"
+#: src/frontends/qt/GuiRef.cpp:76
+msgid "Alphabetically (Case-Insensitive)"
+msgstr "По алфавиту (без учёта регистра)"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:55
-msgid "&Load opened files from last session"
-msgstr "&Загружать открытые файлы из прошлой сессии"
+#: src/frontends/qt/GuiRef.cpp:77
+msgid "Alphabetically (Case-Sensitive)"
+msgstr "По алфавиту (с учётом регистра)"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:62
-msgid "&Clear all session information"
-msgstr "Очистить всю &информацию о сессиях"
+#: src/frontends/qt/GuiRef.cpp:79 src/frontends/qt/ui/LogUi.ui:159
+#: src/frontends/qt/ui/ViewSourceUi.ui:150
+msgid "&Update"
+msgstr "&Обновить"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:85
-msgid "Backup && Saving"
-msgstr "Резервное копирование и сохранение"
+#: src/frontends/qt/GuiRef.cpp:80
+msgid "Update the label list"
+msgstr "Обновить список меток"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:94
-msgid "Backup &original documents when saving"
-msgstr "Создавать резервные копии при сохранении"
+#: src/frontends/qt/GuiRef.cpp:321 src/frontends/qt/ui/RefUi.ui:237
+msgid "<reference>"
+msgstr "<ссылка>"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:103
-msgid "&Backup documents, every"
-msgstr "Делать &резервные копии документов каждые"
+#: src/frontends/qt/GuiRef.cpp:322 src/frontends/qt/ui/RefUi.ui:242
+msgid "(<reference>)"
+msgstr "(<ссылка>)"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:120
-msgid "&minutes"
-msgstr "минут"
+#: src/frontends/qt/GuiRef.cpp:323 src/frontends/qt/ui/RefUi.ui:247
+msgid "<page>"
+msgstr "<страница>"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:145
-msgid ""
-"If this is checked, new documents will be saved in a compressed binary-"
-"format by default. Existing documents will still be saved in their current "
-"state (compressed or uncompressed)."
-msgstr ""
-"Если эта опция включена, новые документы будут сохраняться в сжатом двоичном "
-"формате по умолчанию. Существующие документы будут сохраняться в текущем "
-"состоянии (сжатом или несжатом)."
+#: src/frontends/qt/GuiRef.cpp:324 src/frontends/qt/ui/RefUi.ui:252
+msgid "on page <page>"
+msgstr "на странице <стр.>"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:148
-msgid "&Save new documents compressed by default"
-msgstr "Сохранять новые документы сжатыми по умолчанию"
+#: src/frontends/qt/GuiRef.cpp:325 src/frontends/qt/ui/RefUi.ui:257
+msgid "<reference> on page <page>"
+msgstr "<ссылка> на странице <стр.>"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:155
-msgid ""
-"If this is checked, the document directory path will be saved in the "
-"document. This allows moving the document elsewhere and still finding the "
-"included files."
-msgstr ""
-"Если эта опция включена, путь к каталогу документа будет сохранён в "
-"документе. Это позволит перемещать документ в другое место и всё равно "
-"находить включённые файлы."
+#: src/frontends/qt/GuiRef.cpp:326 src/frontends/qt/ui/RefUi.ui:267
+msgid "Textual reference"
+msgstr "Текстовая ссылка"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:158
-msgid "Save the &document directory path"
-msgstr "Сохранять путь к каталогу документа"
+#: src/frontends/qt/GuiRef.cpp:328 src/frontends/qt/GuiRef.cpp:331
+#: src/frontends/qt/ui/RefUi.ui:262
+msgid "Formatted reference"
+msgstr "Форматированная ссылка"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:168
-msgid "Windows && Work Area"
-msgstr "Окна и рабочая область"
+#: src/frontends/qt/GuiRef.cpp:329 src/frontends/qt/ui/RefUi.ui:272
+msgid "Label only"
+msgstr "Только метка"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:177
-msgid "Open documents in &tabs"
-msgstr "&Открывать документы во вкладках"
+#: src/frontends/qt/GuiRef.cpp:399
+msgid "&Go Back"
+msgstr "&Назад"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:184
+#: src/frontends/qt/GuiRef.cpp:400
+msgid "Jump back to the original cursor location"
+msgstr "Вернуться к исходному положению курсора"
+
+#: src/frontends/qt/GuiRef.cpp:406 src/frontends/qt/ui/RefUi.ui:203
+msgid "&Go to Label"
+msgstr "Перейти к метке"
+
+#: src/frontends/qt/GuiRef.cpp:407 src/frontends/qt/ui/RefUi.ui:200
+msgid "Jump to the selected label"
+msgstr "Перейти к выделенной метке"
+
+#: src/frontends/qt/GuiRef.cpp:472 src/frontends/qt/GuiRef.cpp:492
+msgid "<No prefix>"
+msgstr "<Нет префикса>"
+
+#: src/frontends/qt/GuiSearch.cpp:46
+msgid "Find and Replace"
+msgstr "Поиск и замена"
+
+#: src/frontends/qt/GuiSendto.cpp:41
+msgid "Export or Send Document"
+msgstr "Экспортировать или отправить документ"
+
+#: src/frontends/qt/GuiShowFile.cpp:30
+msgid "Show File"
+msgstr "Показать файл"
+
+#: src/frontends/qt/GuiShowFile.cpp:48
+msgid "Error -> Cannot load file!"
+msgstr "Ошибка -> невозможно загрузить файл!"
+
+#: src/frontends/qt/GuiSpellchecker.cpp:251
+#: src/frontends/qt/GuiSpellchecker.cpp:258
+#: src/frontends/qt/GuiSpellchecker.cpp:541
+#: src/frontends/qt/ui/SpellcheckerUi.ui:20
+msgid "Spell Checker"
+msgstr "Проверка правописания"
+
+#: src/frontends/qt/GuiSpellchecker.cpp:252
+msgid "Spell check of the selection done, did not find any errors."
+msgstr "Проверка правописания выделенного текста завершена, ошибки не найдены."
+
+#: src/frontends/qt/GuiSpellchecker.cpp:259
 msgid ""
-"Whether to open documents in an already running instance of LyX. (Set the "
-"LyXServer pipe path and restart LyX to enable this feature)"
-msgstr ""
-"Открывать ли документы в уже запущенном экземпляре LyX. (Установите путь "
-"канала LyXServer и перезапустите LyX для включения этой функции)"
+"We reached the end of the document, would you like to continue from the "
+"beginning?"
+msgstr "Достигнут конец документа, продолжить с начала?"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:187
-msgid "Use s&ingle instance"
-msgstr "Использовать один экземпляр"
+#: src/frontends/qt/GuiSpellchecker.cpp:542
+msgid "Spell checker has no dictionaries."
+msgstr "Нет словарей для проверки правописания."
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:194
-msgid "Whether to place close button on each tab or only one in the top left."
-msgstr ""
-"Поместить кнопку закрытия на каждую вкладку или только в верхний левый угол."
+#: src/frontends/qt/GuiSymbols.cpp:55
+msgid "Basic Latin"
+msgstr "Основная латиница"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:197
-msgid "Displa&y single close-tab button"
-msgstr "&Единственная кнопка закрытия вкладки"
+#: src/frontends/qt/GuiSymbols.cpp:56
+msgid "Latin-1 Supplement"
+msgstr "Дополнительная латиница-1"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:206
-msgid "Closing last &view:"
-msgstr "При закрытии последнего вида:"
+#: src/frontends/qt/GuiSymbols.cpp:57
+msgid "Latin Extended-A"
+msgstr "Расширенная латиница-A"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:217
-msgid "Closes document"
-msgstr "закрывать документ"
+#: src/frontends/qt/GuiSymbols.cpp:58
+msgid "Latin Extended-B"
+msgstr "Расширенная латиница-B"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:222
-msgid "Hides document"
-msgstr "скрывать документ"
+#: src/frontends/qt/GuiSymbols.cpp:59
+msgid "IPA Extensions"
+msgstr "Международный фонетический алфавит"
 
-#: src/frontends/qt/ui/PrefDocHandlingUi.ui:227
-msgid "Ask the user"
-msgstr "спросить пользователя"
+#: src/frontends/qt/GuiSymbols.cpp:60
+msgid "Spacing Modifier Letters"
+msgstr "Некомбинируемые протяжённые символы-модификаторы"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:26 src/frontends/qt/GuiPrefs.cpp:213
-msgid "Editing"
-msgstr "Редактирование"
+#: src/frontends/qt/GuiSymbols.cpp:61
+msgid "Combining Diacritical Marks"
+msgstr "Комбинируемые диакритические знаки"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:38
-msgid "Scroll &below end of document"
-msgstr "Прокручивать за конец документа"
+#: src/frontends/qt/GuiSymbols.cpp:62 lib/languages:815
+#: lib/ui/stdtoolbars.inc:318 lib/ui/stdtoolbars.inc:612
+msgid "Greek"
+msgstr "Греческий"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:45
-msgid "Sort &environments alphabetically"
-msgstr "Сортировать окружения по алфавиту"
+#: src/frontends/qt/GuiSymbols.cpp:63
+msgid "Cyrillic"
+msgstr "Кириллица"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:65
-msgid "Cursor &follows scrollbar"
-msgstr "&Курсор следует за полосой прокрутки"
+#: src/frontends/qt/GuiSymbols.cpp:64 lib/languages:276
+msgid "Armenian"
+msgstr "Армянский"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:74 src/LyXRC.cpp:3055
-msgid ""
-"Configure the width of the text cursor. Automatic zoom-controlled cursor "
-"width used when set to 0."
-msgstr ""
-"Настроить ширину текстового курсора. Используется автоматическая ширина, "
-"если установлено в 0."
+#: src/frontends/qt/GuiSymbols.cpp:65 lib/languages:846
+msgid "Hebrew"
+msgstr "Иврит"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:77
-msgid "Cursor width (&pixels):"
-msgstr "Ширина курсора (пиксели):"
+#: src/frontends/qt/GuiSymbols.cpp:66
+msgid "Arabic"
+msgstr "Арабский"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:118
-msgid "&Group environments by their category"
-msgstr "&Группировать окружения по их категории"
+#: src/frontends/qt/GuiSymbols.cpp:67
+msgid "Devanagari"
+msgstr "Деванагари"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:125
-msgid "Skip trailing non-word characters"
-msgstr "Пропускать завершающие символы, не относящиеся к словам"
+#: src/frontends/qt/GuiSymbols.cpp:68 lib/languages:407
+msgid "Bengali"
+msgstr "Бенгальский"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:128
-msgid "Use M&ac-style cursor movement"
-msgstr "Использовать перемещение курсора в стиле Mac"
+#: src/frontends/qt/GuiSymbols.cpp:69
+msgid "Gurmukhi"
+msgstr "Гурмукхи"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:136
-msgid "Edit Math Macros inline with a box around"
-msgstr "Редактировать математические макросы, окружённые рамкой"
+#: src/frontends/qt/GuiSymbols.cpp:70
+msgid "Gujarati"
+msgstr "Гуджарати"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:141
-msgid "Edit Math Macros inline with the name in the status bar"
-msgstr "Редактировать математические макросы с именем в строке состояния"
+#: src/frontends/qt/GuiSymbols.cpp:71
+msgid "Oriya"
+msgstr "Ория"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:146
-msgid "Edit Math Macros with a parameter list (like in LyX < 1.6)"
-msgstr ""
-"Редактировать математические макросы со списком параметров (как в LyX < 1.6)"
+#: src/frontends/qt/GuiSymbols.cpp:72 lib/languages:1468
+msgid "Tamil"
+msgstr "Тамильский"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:154
-msgid ""
-"If this is checked, deleted and added text in change tracking mode will not "
-"be resolved on copy/paste operations and when moving content from/to insets"
-msgstr ""
-"Если этот флажок установлен, то удалённый и добавленный текст в режиме "
-"отслеживания изменений будет сохраняться помеченным при выполнении операций "
-"копирования/вставки и при перемещении содержимого во вставки / из вставок."
+#: src/frontends/qt/GuiSymbols.cpp:73 lib/languages:1477
+msgid "Telugu"
+msgstr "Телугу"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:157
-msgid "&Keep change tracking markup on copy and paste"
-msgstr "Сохранять разметку отслеживания изменений при копировании и вставке"
+#: src/frontends/qt/GuiSymbols.cpp:74 lib/languages:970
+msgid "Kannada"
+msgstr "Каннада"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:167
-msgid "Fullscreen"
-msgstr "Полный экран"
+#: src/frontends/qt/GuiSymbols.cpp:75 lib/languages:1130
+msgid "Malayalam"
+msgstr "Малаялам"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:185
-msgid "&Hide toolbars"
-msgstr "Скрыть панели &инструментов"
+#: src/frontends/qt/GuiSymbols.cpp:76 lib/languages:1487
+msgid "Thai"
+msgstr "Тайский"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:192
-msgid "Hide scr&ollbar"
-msgstr "Скрыть &полосу прокрутки"
+#: src/frontends/qt/GuiSymbols.cpp:77 lib/languages:1031
+msgid "Lao"
+msgstr "Лао"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:199
-msgid "Hide &tabbar"
-msgstr "Скрыть панель &вкладок"
+#: src/frontends/qt/GuiSymbols.cpp:78 lib/languages:1519
+msgid "Tibetan"
+msgstr "Тибетский"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:206
-msgid "Hide &menubar"
-msgstr "Скрыть &меню"
+#: src/frontends/qt/GuiSymbols.cpp:79 lib/languages:742
+msgid "Georgian"
+msgstr "Грузинский"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:213
-msgid "Hide sta&tusbar"
-msgstr "Скрыть строку &состояния"
+#: src/frontends/qt/GuiSymbols.cpp:80
+msgid "Hangul Jamo"
+msgstr "Хангыль чамо"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:220
-msgid "&Limit text width"
-msgstr "&Ограничить ширину текста"
+#: src/frontends/qt/GuiSymbols.cpp:81
+msgid "Phonetic Extensions"
+msgstr "Фонетические расширения"
 
-#: src/frontends/qt/ui/PrefEditUi.ui:232
-msgid "Screen used (&pixels):"
-msgstr "Максимальная ши&рина (пиксели):"
+#: src/frontends/qt/GuiSymbols.cpp:82
+msgid "Latin Extended Additional"
+msgstr "Дополнительная расширенная латиница"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:46
-msgid "&New..."
-msgstr "&Создать..."
+#: src/frontends/qt/GuiSymbols.cpp:83
+msgid "Greek Extended"
+msgstr "Расширенный набор символов греческого алфавита"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:53
-msgid "Re&move"
-msgstr "&Удалить"
+#: src/frontends/qt/GuiSymbols.cpp:84
+msgid "General Punctuation"
+msgstr "Знаки пунктуации"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:73
-msgid "&Document format"
-msgstr "Формат документа"
+#: src/frontends/qt/GuiSymbols.cpp:85
+msgid "Superscripts and Subscripts"
+msgstr "Надстрочные и подстрочные знаки"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:80
-msgid "Check this to show the current format in the File > Export menu"
-msgstr "Установите для показа текущего формата в меню Файл > Экспортировать"
+#: src/frontends/qt/GuiSymbols.cpp:86
+msgid "Currency Symbols"
+msgstr "Символы валют"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:83
-msgid "Sho&w in export menu"
-msgstr "Показать в меню экспорта"
+#: src/frontends/qt/GuiSymbols.cpp:87
+msgid "Combining Diacritical Marks for Symbols"
+msgstr "Комбинируемые диакритические знаки для символов"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:90
-msgid "Vector &graphics format"
-msgstr "Формат векторной &графики"
+#: src/frontends/qt/GuiSymbols.cpp:88
+msgid "Letterlike Symbols"
+msgstr "Буквоподобные символы"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:97
-msgid "S&hort name:"
-msgstr "&Краткое имя:"
+#: src/frontends/qt/GuiSymbols.cpp:89
+msgid "Number Forms"
+msgstr "Числовые формы"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:110
-msgid "E&xtensions:"
-msgstr "Рас&ширения:"
+#: src/frontends/qt/GuiSymbols.cpp:90 lib/ui/stdtoolbars.inc:319
+#: lib/ui/stdtoolbars.inc:491
+msgid "Arrows"
+msgstr "Стрелки"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:123
-msgid "&MIME:"
-msgstr "&MIME:"
+#: src/frontends/qt/GuiSymbols.cpp:91
+msgid "Mathematical Operators"
+msgstr "Математические операторы"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:136
-msgid "Shortc&ut:"
-msgstr "Сочетание клавиш:"
+#: src/frontends/qt/GuiSymbols.cpp:92
+msgid "Miscellaneous Technical"
+msgstr "Разнообразные технические символы"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:149
-msgid "Ed&itor:"
-msgstr "Редактор:"
+#: src/frontends/qt/GuiSymbols.cpp:93
+msgid "Control Pictures"
+msgstr "Значки управляющих кодов"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:169
-msgid "&Viewer:"
-msgstr "&Просмотрщик:"
+#: src/frontends/qt/GuiSymbols.cpp:94
+msgid "Optical Character Recognition"
+msgstr "Символы оптического распознавания"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:189
-msgid "Co&pier:"
-msgstr "Ко&пир:"
+#: src/frontends/qt/GuiSymbols.cpp:95
+msgid "Enclosed Alphanumerics"
+msgstr "Вложенные буквы и цифры"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:202
+#: src/frontends/qt/GuiSymbols.cpp:96
+msgid "Box Drawing"
+msgstr "Символы для рисования рамок"
+
+#: src/frontends/qt/GuiSymbols.cpp:97
+msgid "Block Elements"
+msgstr "Символы заполнения"
+
+#: src/frontends/qt/GuiSymbols.cpp:98
+msgid "Geometric Shapes"
+msgstr "Геометрические фигуры"
+
+#: src/frontends/qt/GuiSymbols.cpp:99
+msgid "Miscellaneous Symbols"
+msgstr "Разнообразные символы"
+
+#: src/frontends/qt/GuiSymbols.cpp:100
+msgid "Dingbats"
+msgstr "Дингбаты"
+
+#: src/frontends/qt/GuiSymbols.cpp:101
+msgid "Miscellaneous Mathematical Symbols-A"
+msgstr "Разнообразные математические символы-A"
+
+#: src/frontends/qt/GuiSymbols.cpp:102
+msgid "CJK Symbols and Punctuation"
+msgstr "Символы и пунктуация ККЯ"
+
+#: src/frontends/qt/GuiSymbols.cpp:103
+msgid "Hiragana"
+msgstr "Хирагана"
+
+#: src/frontends/qt/GuiSymbols.cpp:104
+msgid "Katakana"
+msgstr "Катакана"
+
+#: src/frontends/qt/GuiSymbols.cpp:105
+msgid "Bopomofo"
+msgstr "Чжуинь. Бопомофо"
+
+#: src/frontends/qt/GuiSymbols.cpp:106
+msgid "Hangul Compatibility Jamo"
+msgstr "Комбинируемые чамо Хангыля"
+
+#: src/frontends/qt/GuiSymbols.cpp:107
+msgid "Kanbun"
+msgstr "Канбун"
+
+#: src/frontends/qt/GuiSymbols.cpp:108
+msgid "Enclosed CJK Letters and Months"
+msgstr "Вложенные буквы и месяцы ККЯ"
+
+#: src/frontends/qt/GuiSymbols.cpp:109
+msgid "CJK Compatibility"
+msgstr "Знаки совместимости ККЯ"
+
+#: src/frontends/qt/GuiSymbols.cpp:110
+msgid "CJK Unified Ideographs"
+msgstr "Унифицированные иероглифы ККЯ"
+
+#: src/frontends/qt/GuiSymbols.cpp:111
+msgid "Hangul Syllables"
+msgstr "Слоги Хангыля"
+
+#: src/frontends/qt/GuiSymbols.cpp:112
+msgid "High Surrogates"
+msgstr "Верхняя часть суррогатных пар"
+
+#: src/frontends/qt/GuiSymbols.cpp:113
+msgid "Private Use High Surrogates"
+msgstr "Верхняя часть суррогатных пар для частного использования"
+
+#: src/frontends/qt/GuiSymbols.cpp:114
+msgid "Low Surrogates"
+msgstr "Нижняя часть суррогатных пар"
+
+#: src/frontends/qt/GuiSymbols.cpp:115
+msgid "Private Use Area"
+msgstr "Область для частного использования"
+
+#: src/frontends/qt/GuiSymbols.cpp:116
+msgid "CJK Compatibility Ideographs"
+msgstr "Унифицированные иероглифы ККЯ"
+
+#: src/frontends/qt/GuiSymbols.cpp:117
+msgid "Alphabetic Presentation Forms"
+msgstr "Формы представления алфавита"
+
+#: src/frontends/qt/GuiSymbols.cpp:118
+msgid "Arabic Presentation Forms-A"
+msgstr "Арабские формы представления-A"
+
+#: src/frontends/qt/GuiSymbols.cpp:119
+msgid "Combining Half Marks"
+msgstr "Комбинируемые половинки символов"
+
+#: src/frontends/qt/GuiSymbols.cpp:120
+msgid "CJK Compatibility Forms"
+msgstr "Формы совместимости ККЯ"
+
+#: src/frontends/qt/GuiSymbols.cpp:121
+msgid "Small Form Variants"
+msgstr "Варианты малого размера"
+
+#: src/frontends/qt/GuiSymbols.cpp:122
+msgid "Arabic Presentation Forms-B"
+msgstr "Формы представления арабских букв-B"
+
+#: src/frontends/qt/GuiSymbols.cpp:123
+msgid "Halfwidth and Fullwidth Forms"
+msgstr "Полуширинные и полноширинные формы"
+
+#: src/frontends/qt/GuiSymbols.cpp:124 lib/layouts/revtex4-x.inc:233
+#: lib/layouts/revtex4-x.inc:241 lib/layouts/revtex4-x.inc:249
+msgid "Specials"
+msgstr "Особенности"
+
+#: src/frontends/qt/GuiSymbols.cpp:125
+msgid "Linear B Syllabary"
+msgstr "Слоги линейного письма Б"
+
+#: src/frontends/qt/GuiSymbols.cpp:126
+msgid "Linear B Ideograms"
+msgstr "Идеограммы линейного письма Б"
+
+#: src/frontends/qt/GuiSymbols.cpp:127
+msgid "Aegean Numbers"
+msgstr "Эгейские цифры"
+
+#: src/frontends/qt/GuiSymbols.cpp:128
+msgid "Ancient Greek Numbers"
+msgstr "Древнегреческие единицы измерения"
+
+#: src/frontends/qt/GuiSymbols.cpp:129
+msgid "Old Italic"
+msgstr "Этрусский (староитальянский) алфавит"
+
+#: src/frontends/qt/GuiSymbols.cpp:130
+msgid "Gothic"
+msgstr "Готский алфавит"
+
+#: src/frontends/qt/GuiSymbols.cpp:131
+msgid "Ugaritic"
+msgstr "Угаритский алфавит"
+
+#: src/frontends/qt/GuiSymbols.cpp:132
+msgid "Old Persian"
+msgstr "Древнеперсидский клинописный алфавит"
+
+#: src/frontends/qt/GuiSymbols.cpp:133
+msgid "Deseret"
+msgstr "Дезеретский алфавит"
+
+#: src/frontends/qt/GuiSymbols.cpp:134
+msgid "Shavian"
+msgstr "Алфавит Бернарда Шоу"
+
+#: src/frontends/qt/GuiSymbols.cpp:135
+msgid "Osmanya"
+msgstr "Османья (сомалийский алфавит)"
+
+#: src/frontends/qt/GuiSymbols.cpp:136
+msgid "Cypriot Syllabary"
+msgstr "Слоговая письменность острова Кипр"
+
+#: src/frontends/qt/GuiSymbols.cpp:137
+msgid "Kharoshthi"
+msgstr "Кхароштхи"
+
+#: src/frontends/qt/GuiSymbols.cpp:138
+msgid "Byzantine Musical Symbols"
+msgstr "Византийские музыкальные символы"
+
+#: src/frontends/qt/GuiSymbols.cpp:139
+msgid "Musical Symbols"
+msgstr "Музыкальные символы"
+
+#: src/frontends/qt/GuiSymbols.cpp:140
+msgid "Ancient Greek Musical Notation"
+msgstr "Древнегреческие музыкальные символы"
+
+#: src/frontends/qt/GuiSymbols.cpp:141
+msgid "Tai Xuan Jing Symbols"
+msgstr "Символы Тай Сюань Цзин"
+
+#: src/frontends/qt/GuiSymbols.cpp:142
+msgid "Mathematical Alphanumeric Symbols"
+msgstr "Математические буквенно-цифровые символы"
+
+#: src/frontends/qt/GuiSymbols.cpp:143
+msgid "CJK Unified Ideographs Extension B"
+msgstr "Унифицированные иероглифы ККЯ. Расширение B"
+
+#: src/frontends/qt/GuiSymbols.cpp:144
+msgid "CJK Compatibility Ideographs Supplement"
+msgstr "Унифицированные иероглифы ККЯ (дополнение)"
+
+#: src/frontends/qt/GuiSymbols.cpp:145
+msgid "Tags"
+msgstr "Теги"
+
+#: src/frontends/qt/GuiSymbols.cpp:146
+msgid "Variation Selectors Supplement"
+msgstr "Селекторы вариантов начертания (дополнение)"
+
+#: src/frontends/qt/GuiSymbols.cpp:147
+msgid "Supplementary Private Use Area-A"
+msgstr "Дополнительная зона для частного использования-A"
+
+#: src/frontends/qt/GuiSymbols.cpp:148
+msgid "Supplementary Private Use Area-B"
+msgstr "Дополнительная зона для частного использования-B"
+
+#: src/frontends/qt/GuiSymbols.cpp:247
+msgid "<p>LaTeX code: %1</p>"
+msgstr "<p>Код LaTeX: %1</p>"
+
+#: src/frontends/qt/GuiSymbols.cpp:288
+msgid "Symbols"
+msgstr "Символы"
+
+#: src/frontends/qt/GuiTabular.cpp:245 src/frontends/qt/GuiTabular.cpp:1026
+#: src/frontends/qt/ui/TabularUi.ui:359
+msgid "At Decimal Separator"
+msgstr "По разделителю"
+
+#: src/frontends/qt/GuiTabular.h:48
+msgid "Tabular Settings"
+msgstr "Таблица"
+
+#: src/frontends/qt/GuiTabularCreate.cpp:75
+msgid "Insert Table"
+msgstr "Вставить таблицу"
+
+#: src/frontends/qt/GuiTexinfo.cpp:50
+msgid "TeX Information"
+msgstr "Информация о TeX"
+
+#: src/frontends/qt/GuiThesaurus.cpp:48 lib/layouts/aapaper.inc:103
+#: lib/layouts/aapaper.layout:96 lib/ui/stdtoolbars.inc:150
+msgid "Thesaurus"
+msgstr "Тезаурус"
+
+#: src/frontends/qt/GuiThesaurus.cpp:211
+msgid "No thesaurus available for this language!"
+msgstr "Нет тезауруса для этого языка!"
+
+#: src/frontends/qt/GuiToc.cpp:36
+msgid "Outline"
+msgstr "Навигация"
+
+#: src/frontends/qt/GuiToolbar.cpp:407
+msgid "&Reset to default"
+msgstr "Сбросить к настройкам по умолчанию"
+
+#: src/frontends/qt/GuiToolbar.cpp:408
+msgid "Reset all font settings to their defaults"
+msgstr "Сбросить все настройки шрифта к значениям по умолчанию"
+
+#: src/frontends/qt/GuiToolbar.cpp:621 src/frontends/qt/Toolbars.cpp:409
+msgid "auto"
+msgstr "автоматически"
+
+#: src/frontends/qt/GuiToolbar.cpp:626 src/frontends/qt/GuiToolbar.cpp:635
+#: src/insets/InsetBranch.cpp:79 src/insets/InsetBranch.cpp:82
+msgid "off"
+msgstr "выключен"
+
+#: src/frontends/qt/GuiToolbar.cpp:629 src/frontends/qt/GuiToolbar.cpp:638
+#: src/insets/InsetBranch.cpp:79 src/insets/InsetBranch.cpp:82
+#: src/frontends/qt/ui/TabularUi.ui:1368 src/frontends/qt/ui/TabularUi.ui:1405
+#: src/frontends/qt/ui/TabularUi.ui:1446 src/frontends/qt/ui/TabularUi.ui:1477
+#: src/frontends/qt/ui/TabularUi.ui:1515
+msgid "on"
+msgstr "вкл."
+
+#: src/frontends/qt/GuiToolbar.cpp:642 src/frontends/qt/GuiToolbar.cpp:662
+#, c-format
+msgid "Toolbar \"%1$s\" state set to %2$s"
+msgstr "Состояние панели \"%1$s\" установлено в %2$s"
+
+#: src/frontends/qt/GuiToolbar.cpp:659
+msgid "movable"
+msgstr "подвижный"
+
+#: src/frontends/qt/GuiToolbar.cpp:661
+msgid "immovable"
+msgstr "неподвижный"
+
+#: src/frontends/qt/GuiVSpace.h:40
+msgid "Vertical Space Settings"
+msgstr "Вертикальный промежуток"
+
+#: src/frontends/qt/GuiView.cpp:163
 msgid ""
-"Specification of the default output formats when using specific LaTeX "
-"variants"
+"The Document\n"
+"Processor[[welcome banner]]"
 msgstr ""
-"Укажите формат вывода по умолчанию при использовании конкретных вариантов "
-"LaTeX"
+"The Document\n"
+"Processor[[welcome banner]]"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:205
-msgid "Default Output Formats"
-msgstr "Форматы вывода по умолчанию"
+#: src/frontends/qt/GuiView.cpp:164
+msgid "1.0[[possibly scale the welcome banner text size]]"
+msgstr "1.0[[possibly scale the welcome banner text size]]"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:240
-msgid "The default output format for documents using non-TeX fonts"
-msgstr ""
-"Формат вывода по умолчанию для документов, использующих системные шрифты"
+#: src/frontends/qt/GuiView.cpp:167
+msgid "version "
+msgstr "версия "
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:260
+#: src/frontends/qt/GuiView.cpp:167
+msgid "unknown version"
+msgstr "неизвестная версия"
+
+#: src/frontends/qt/GuiView.cpp:643
 msgid ""
-"This is the default output format for LyX documents, except for DocBook "
-"classes, documents that use non-TeX fonts and Japanese documents"
+"WARNING: LaTeX is allowed to execute external commands for this document. "
+"Right click to change."
 msgstr ""
-"Это формат по умолчанию для документов LyX, кроме классов DocBook, "
-"документов, использующих системные шрифты, и японских документов"
+"Предупреждение: LaTeX разрешено выполнять внешние команды для этого "
+"документа. Щёлкните правой кнопкой мыши, чтобы изменить это."
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:267
-msgid "The default output format for Japanese documents (using pLaTeX)"
-msgstr "Формат вывода по умолчанию для японских документов (с помощью pLaTeX)"
+#: src/frontends/qt/GuiView.cpp:724
+msgid "Cancel Export?"
+msgstr "Отменить экспорт?"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:274
-msgid "With n&on-TeX fonts:"
-msgstr "С системными шрифтами:"
+#: src/frontends/qt/GuiView.cpp:725
+msgid "Do you want to cancel the background export process?"
+msgstr "Отменить фоновый процесс экспорта?"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:284
-msgid "With &TeX fonts:"
-msgstr "С шрифтами TeX:"
+#: src/frontends/qt/GuiView.cpp:728
+msgid "Co&ntinue"
+msgstr "Продолжить"
 
-#: src/frontends/qt/ui/PrefFileformatsUi.ui:294
-msgid "&Japanese:"
-msgstr "Японский:"
+#: src/frontends/qt/GuiView.cpp:753
+#, c-format
+msgid "Successful export to format: %1$s"
+msgstr "Успешный экспорт в формат: %1$s"
 
-#: src/frontends/qt/ui/PrefIdentityUi.ui:34
-msgid "Your name"
-msgstr "Ваше имя"
+#: src/frontends/qt/GuiView.cpp:762
+#, c-format
+msgid "Error while exporting format: %1$s"
+msgstr "Ошибка при экспорте формата: %1$s"
 
-#: src/frontends/qt/ui/PrefIdentityUi.ui:41
-msgid "&Initials:"
-msgstr "Инициалы:"
+#: src/frontends/qt/GuiView.cpp:765
+#, c-format
+msgid "Successful preview of format: %1$s"
+msgstr "Успешный просмотр формата: %1$s"
 
-#: src/frontends/qt/ui/PrefIdentityUi.ui:63
-msgid "Initials of your name"
-msgstr "Инициалы вашего имени"
+#: src/frontends/qt/GuiView.cpp:768
+#, c-format
+msgid "Error while previewing format: %1$s"
+msgstr "Ошибка при просмотре формата %1$s"
 
-#: src/frontends/qt/ui/PrefIdentityUi.ui:72
-msgid "&E-mail:"
-msgstr "&Эл. почта:"
+#: src/frontends/qt/GuiView.cpp:771
+#, c-format
+msgid "Conversion cancelled while previewing format: %1$s"
+msgstr "Преобразование отменено при просмотре формата: %1$s"
 
-#: src/frontends/qt/ui/PrefIdentityUi.ui:82
-msgid "Your E-mail address"
-msgstr "Ваш электронный адрес"
+#: src/frontends/qt/GuiView.cpp:1109
+msgid "Exit LyX"
+msgstr "Выйти из LyX"
 
-#: src/frontends/qt/ui/PrefInputUi.ui:20
-msgid "Keyboard"
-msgstr "Клавиатура"
+#: src/frontends/qt/GuiView.cpp:1110
+msgid "LyX could not be closed because documents are being processed by LyX."
+msgstr "LyX не может быть закрыт, так как идёт обработка документов."
 
-#: src/frontends/qt/ui/PrefInputUi.ui:32
-msgid "Use &keyboard map"
-msgstr "Использовать раскладку &клавиатуры"
+#: src/frontends/qt/GuiView.cpp:1261
+#, c-format
+msgid "%1$s (modified externally)"
+msgstr "%1$s (изменён внешней программой)"
 
-#: src/frontends/qt/ui/PrefInputUi.ui:65
-#: src/frontends/qt/ui/PrefShortcutsUi.ui:83
-msgid "Br&owse..."
-msgstr "В&ыбрать..."
+#: src/frontends/qt/GuiView.cpp:1380
+msgid "Welcome to LyX!"
+msgstr "Добро пожаловать в LyX!"
 
-#: src/frontends/qt/ui/PrefInputUi.ui:78
-msgid "S&econdary:"
-msgstr "&Вторичная:"
+#: src/frontends/qt/GuiView.cpp:1491 src/mathed/InsetMathMacroTemplate.cpp:539
+#: lib/configure.py:783
+msgid "LyX"
+msgstr "LyX"
 
-#: src/frontends/qt/ui/PrefInputUi.ui:91
-msgid "&Primary:"
-msgstr "Первичная:"
+#: src/frontends/qt/GuiView.cpp:1899
+msgid "Automatic save done."
+msgstr "Автосохранение выполнено."
 
-#: src/frontends/qt/ui/PrefInputUi.ui:101
+#: src/frontends/qt/GuiView.cpp:1900
+msgid "Automatic save failed!"
+msgstr "Автосохранение не удалось!"
+
+#: src/frontends/qt/GuiView.cpp:1956
+msgid "Command not allowed without any document open"
+msgstr "Команда недопустима без открытых документов"
+
+#: src/frontends/qt/GuiView.cpp:2025
+msgid "Invalid argument of master-buffer-forall"
+msgstr "Недопустимый аргумент для master-buffer-forall"
+
+#: src/frontends/qt/GuiView.cpp:2144 src/frontends/qt/GuiView.cpp:2161
+#, c-format
+msgid "Unknown toolbar \"%1$s\""
+msgstr "Неизвестная панель инструментов \"%1$s\""
+
+#: src/frontends/qt/GuiView.cpp:2278 src/frontends/qt/GuiView.cpp:2291
+msgid "Zoom level cannot be less than %1$d%."
+msgstr "Масштаб не может быть меньше %1$d%."
+
+#: src/frontends/qt/GuiView.cpp:2420
+msgid "Document not loaded."
+msgstr "Документ невозможно загрузить."
+
+#: src/frontends/qt/GuiView.cpp:2450
+msgid "Select document to open"
+msgstr "Выберите документ для открытия"
+
+#: src/frontends/qt/GuiView.cpp:2480
+#, c-format
 msgid ""
-"Mac OS X specific setting for use with emacs bindings. Takes effect next "
-"time LyX is launched."
+"The directory in the given path\n"
+"%1$s\n"
+"does not exist."
 msgstr ""
-"Настройка использования привязок emacs (только для macOS). Вступает в силу "
-"при следующем запуске LyX."
+"Указанный каталог\n"
+"%1$s\n"
+"не существует."
 
-#: src/frontends/qt/ui/PrefInputUi.ui:104
-msgid "Do not swap Apple and Control keys"
-msgstr "Не менять местами клавиши Apple и Control"
+#: src/frontends/qt/GuiView.cpp:2497
+#, c-format
+msgid "Opening document %1$s..."
+msgstr "Открывается документ %1$s..."
 
-#: src/frontends/qt/ui/PrefInputUi.ui:124
-msgid "Mouse"
-msgstr "Мышь"
+#: src/frontends/qt/GuiView.cpp:2502
+#, c-format
+msgid "Document %1$s opened."
+msgstr "Документ %1$s открыт."
 
-#: src/frontends/qt/ui/PrefInputUi.ui:138
-msgid "&Wheel scrolling speed:"
-msgstr "&Скорость прокрутки колёсика:"
+#: src/frontends/qt/GuiView.cpp:2505
+msgid "Version control detected."
+msgstr "Обнаружено управление версиями."
 
-#: src/frontends/qt/ui/PrefInputUi.ui:148
+#: src/frontends/qt/GuiView.cpp:2507
+#, c-format
+msgid "Could not open document %1$s"
+msgstr "Невозможно открыть документ %1$s"
+
+#: src/frontends/qt/GuiView.cpp:2537
+msgid "Couldn't import file"
+msgstr "Невозможно импортировать файл"
+
+#: src/frontends/qt/GuiView.cpp:2538
+#, c-format
+msgid "No information for importing the format %1$s."
+msgstr "Нет информации для импортирования из формата %1$s."
+
+#: src/frontends/qt/GuiView.cpp:2585
+#, c-format
+msgid "Select %1$s file to import"
+msgstr "Выберите файл \"%1$s\" для импорта"
+
+#: src/frontends/qt/GuiView.cpp:2620
+#, c-format
 msgid ""
-"1.0 is the standard scrolling speed with the mouse wheel. Higher values will "
-"speed it up, low values slow it down."
+"The file name '%1$s' is invalid!\n"
+"Aborting import."
 msgstr ""
-"1.0 является стандартной скоростью прокрутки с помощью колёсика мышки. "
-"Большие значения соответствуют ускоренной прокрутке, меньшие - замедленной."
+"Имя файла '%1$s' неверно!\n"
+"Прерывание импорта."
 
-#: src/frontends/qt/ui/PrefInputUi.ui:185
+#: src/frontends/qt/GuiView.cpp:2647 src/frontends/qt/GuiView.cpp:2913
+#: src/frontends/qt/GuiView.cpp:3016
+#, c-format
 msgid ""
-"If this is checked, the middle mouse button will paste the recent selection"
+"The document %1$s already exists.\n"
+"\n"
+"Do you want to overwrite that document?"
 msgstr ""
-"При включении средняя кнопка мыши будет вставлять последний выделенный текст"
+"Документ %1$s уже существует.\n"
+"\n"
+"Хотите перезаписать его?"
 
-#: src/frontends/qt/ui/PrefInputUi.ui:188
-msgid "&Middle mouse button pasting"
-msgstr "Вставка средней кнопкой мыши"
+#: src/frontends/qt/GuiView.cpp:2649 src/frontends/qt/GuiView.cpp:2917
+#: src/frontends/qt/GuiView.cpp:3020
+msgid "Overwrite document?"
+msgstr "Перезаписать документ?"
 
-#: src/frontends/qt/ui/PrefInputUi.ui:204
-msgid "Scroll Wheel Zoom"
-msgstr "Масштаб колёсиком мыши"
+#: src/frontends/qt/GuiView.cpp:2658
+#, c-format
+msgid "Importing %1$s..."
+msgstr "Импортирование %1$s..."
 
-#: src/frontends/qt/ui/PrefInputUi.ui:230
-msgid "&Enable"
-msgstr "&Использовать"
+#: src/frontends/qt/GuiView.cpp:2661
+msgid "imported."
+msgstr "импортирован."
 
-#: src/frontends/qt/ui/PrefInputUi.ui:244
-msgid "Ctrl"
-msgstr "Ctrl"
+#: src/frontends/qt/GuiView.cpp:2663
+msgid "file not imported!"
+msgstr "файл не импортирован!"
 
-#: src/frontends/qt/ui/PrefInputUi.ui:249 src/insets/InsetInfo.cpp:856
-msgid "Shift"
-msgstr "Shift"
+#: src/frontends/qt/GuiView.cpp:2689
+msgid "newfile"
+msgstr "Новый документ "
 
-#: src/frontends/qt/ui/PrefInputUi.ui:254
-msgid "Alt"
-msgstr "Alt"
+#: src/frontends/qt/GuiView.cpp:2722
+msgid "Select LyX document to insert"
+msgstr "Выберите документ LyX для вставки"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:22
-msgid "User &interface language:"
-msgstr "Язык &пользовательского интерфейса:"
+#: src/frontends/qt/GuiView.cpp:2768
+#, c-format
+msgid ""
+"It is suggested to save the template in a subdirectory\n"
+"appropriate to the document language (%1$s).\n"
+"This subdirectory does not exists yet.\n"
+"Do you want to create it?"
+msgstr ""
+"Предлагается сохранить шаблон в подкаталоге\n"
+"в соответствии с языком документа (%1$s).\n"
+"Этот подкаталог еще не существует.\n"
+"Вы хотите создать его?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:32
-msgid "Select the language of the user interface (menus, dialogs, etc.)"
-msgstr "Выберите язык пользовательского интерфейса (меню, диалогов и т. д.)"
+#: src/frontends/qt/GuiView.cpp:2773
+msgid "Create Language Directory?"
+msgstr "Создать каталог языка?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:57
-msgid "LaTeX Language Support"
-msgstr "Поддержка языков LaTeX"
+#: src/frontends/qt/GuiView.cpp:2774 src/frontends/qt/GuiView.cpp:2805
+msgid "&Yes, Create"
+msgstr "Да, создать"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:63
-msgid "Language &package:"
-msgstr "Языковой &пакет:"
+#: src/frontends/qt/GuiView.cpp:2774 src/frontends/qt/GuiView.cpp:2805
+msgid "&No, Save Template in Parent Directory"
+msgstr "&Нет, сохранить шаблон в родительском каталоге"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:73
-msgid "Select which (LaTeX) language package documents should use by default"
-msgstr "Выберите используемый языковой пакет по умолчанию"
+#: src/frontends/qt/GuiView.cpp:2777 src/frontends/qt/GuiView.cpp:2808
+msgid "Subdirectory creation failed!"
+msgstr "Сбой создания подкаталога!"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:77
-#: src/frontends/qt/GuiDocument.cpp:1053 src/frontends/qt/GuiDocument.cpp:2658
-#: src/frontends/qt/GuiPrefs.cpp:814 src/frontends/qt/GuiPrefs.cpp:842
-msgid "Automatic"
-msgstr "Автоматический"
+#: src/frontends/qt/GuiView.cpp:2778 src/frontends/qt/GuiView.cpp:2809
+msgid ""
+"Could not create subdirectory.\n"
+"The template will be saved in the parent directory."
+msgstr ""
+"Не удалось создать подкаталог.\n"
+"Шаблон будет сохранён в родительский каталог."
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:82
-#: src/frontends/qt/GuiDocument.cpp:1055
-msgid "Always Babel"
-msgstr "Всегда Babel"
+#: src/frontends/qt/GuiView.cpp:2799
+#, c-format
+msgid ""
+"It is suggested to save the template in a subdirectory\n"
+"appropriate to the layout category (%1$s).\n"
+"This subdirectory does not exists yet.\n"
+"Do you want to create it?"
+msgstr ""
+"Предлагается сохранить шаблон в подкаталоге\n"
+"в соответствии с категорией макета (%1$s).\n"
+"Этот подкаталог еще не существует.\n"
+"Вы хотите создать его?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:92
-#: src/frontends/qt/GuiDocument.cpp:1059
-msgid "None[[language package]]"
-msgstr "Нет"
+#: src/frontends/qt/GuiView.cpp:2804
+msgid "Create Category Directory?"
+msgstr "Создать каталог категории?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:100
+#: src/frontends/qt/GuiView.cpp:2839
+msgid "Choose a filename to save template as"
+msgstr "Введите имя файла для сохраняемого шаблона"
+
+#: src/frontends/qt/GuiView.cpp:2840
+msgid "Choose a filename to save document as"
+msgstr "Введите имя файла для сохраняемого документа"
+
+#: src/frontends/qt/GuiView.cpp:2876
+#, c-format
 msgid ""
-"Enter the command to load a custom language package (default: "
-"\\usepackage{babel})"
+"The file\n"
+"%1$s\n"
+"is already open in your current session.\n"
+"Please close it before attempting to overwrite it.\n"
+"Do you want to choose a new filename?"
 msgstr ""
-"Введите команду для загрузки языкового пакета (по умолчанию: "
-"\\usepackage{babel})"
+"Файл\n"
+"%1$s\n"
+"уже открыт в текущем сеансе.\n"
+"Пожалуйста, закройте его, прежде чем пытаться перезаписать его.\n"
+"Вы хотите выбрать новое имя?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:107
-msgid "Command s&tart:"
-msgstr "Команда &начала:"
+#: src/frontends/qt/GuiView.cpp:2880
+msgid "Chosen File Already Open"
+msgstr "Выбранный файл уже открыт"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:117
+#: src/frontends/qt/GuiView.cpp:2881 src/frontends/qt/GuiView.cpp:2903
+#: src/frontends/qt/GuiView.cpp:2919 src/frontends/qt/GuiView.cpp:3021
+#: src/frontends/qt/GuiView.cpp:3066
+msgid "&Rename"
+msgstr "Пе&реименовать"
+
+#: src/frontends/qt/GuiView.cpp:2896
+#, c-format
 msgid ""
-"The LaTeX command that starts a switch to a different language. The "
-"placeholder $$lang is replaced by the actual language name."
+"The document %1$s is already registered.\n"
+"\n"
+"Do you want to choose a new name?"
 msgstr ""
-"Команда LaTeX, которая начинает переключение на иностранный язык. $$lang "
-"заменяется на используемый язык."
+"Документ %1$s уже существует.\n"
+"\n"
+"Хотите выбрать новое имя?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:124
-msgid "Command e&nd:"
-msgstr "Команда &окончания:"
+#: src/frontends/qt/GuiView.cpp:2901
+msgid "Rename document?"
+msgstr "Переименовать документ?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:134
+#: src/frontends/qt/GuiView.cpp:2901
+msgid "Copy document?"
+msgstr "Скопировать документ?"
+
+#: src/frontends/qt/GuiView.cpp:2903
+msgid "&Copy"
+msgstr "Копировать"
+
+#: src/frontends/qt/GuiView.cpp:2963
+msgid "Choose a filename to export the document as"
+msgstr "Введите имя файла для экспортируемого документа"
+
+#: src/frontends/qt/GuiView.cpp:2967
+msgid "Guess from extension (*.*)"
+msgstr "Угадать по расширению (*.*)"
+
+#: src/frontends/qt/GuiView.cpp:3062
+#, c-format
 msgid ""
-"The LaTeX command that ends a switch to a different language.  The "
-"placeholder $$lang is replaced by the actual language name."
+"The document %1$s could not be saved.\n"
+"\n"
+"Do you want to rename the document and try again?"
 msgstr ""
-"Команда LaTeX, которая заканчивает переключение на иностранный язык. $$lang "
-"заменяется на используемый язык."
+"Невозможно сохранить документ %1$s.\n"
+"\n"
+"Хотите ли вы переименовать его и попытаться ещё раз?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:141
+#: src/frontends/qt/GuiView.cpp:3065
+msgid "Rename and save?"
+msgstr "Переименовать и сохранить?"
+
+#: src/frontends/qt/GuiView.cpp:3066
+msgid "&Retry"
+msgstr "&Повторить"
+
+#: src/frontends/qt/GuiView.cpp:3111
+#, c-format
 msgid ""
-"Check to pass the language globally (to the document class), not locally (to "
-"the language package), so that other packages are also informed about the "
-"used languages."
+"Last view on document %1$s is being closed.\n"
+"Would you like to close or hide the document?\n"
+"\n"
+"Hidden documents can be displayed back through\n"
+"the menu: View->Hidden->...\n"
+"\n"
+"To remove this question, set your preference in:\n"
+"  Tools->Preferences->Look&Feel->UserInterface\n"
 msgstr ""
-"Отметьте для глобального выбора языка (для данного класса документов), не "
-"локального (для данного пакета с языком). При этом другие пакеты также "
-"информируются об используемых языках."
+"Последнее представление документа %1$s закрывается.\n"
+"Хотите закрыть или скрыть документ?\n"
+"\n"
+"Спрятанные документы можно показать снова через\n"
+"меню: Вид->Скрытые->...\n"
+"\n"
+"Чтобы убрать этот вопрос, задайте ваше предпочтение в:\n"
+"  Инструменты->Настройки->Вид и поведение->Интерфейс пользователя\n"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:144
-msgid "Set languages &globally"
-msgstr "Установить языки глобально"
+#: src/frontends/qt/GuiView.cpp:3120
+msgid "Close or hide document?"
+msgstr "Закрыть или спрятать документ?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:151
+#: src/frontends/qt/GuiView.cpp:3121
+msgid "&Hide"
+msgstr "Скрыть"
+
+#: src/frontends/qt/GuiView.cpp:3218
+msgid "Close document"
+msgstr "Закрыть документ"
+
+#: src/frontends/qt/GuiView.cpp:3219
+msgid "Document could not be closed because it is being processed by LyX."
+msgstr "Документ нельзя закрыть, он обрабатывается LyX."
+
+#: src/frontends/qt/GuiView.cpp:3354 src/frontends/qt/GuiView.cpp:3469
+#, c-format
 msgid ""
-"If checked, the document language is explicitly set by a language switch "
-"command"
+"The document %1$s has not been saved yet.\n"
+"\n"
+"Do you want to save the document?"
 msgstr ""
-"Если отмечено, язык документа устанавливается явно командой переключения "
-"языка"
+"Документ %1$s пока не сохранён.\n"
+"\n"
+"Хотите сохранить документ?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:154
-msgid "Set document language e&xplicitly"
-msgstr "Устанавливать язык документа явно"
+#: src/frontends/qt/GuiView.cpp:3357 src/frontends/qt/GuiView.cpp:3472
+msgid "Save new document?"
+msgstr "Сохранить новый документ?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:161
+#: src/frontends/qt/GuiView.cpp:3358 src/frontends/qt/GuiView.cpp:3372
+#: src/frontends/qt/GuiView.cpp:3474
+msgid "&Save"
+msgstr "&Сохранить"
+
+#: src/frontends/qt/GuiView.cpp:3363
+#, c-format
 msgid ""
-"If checked, the document language is explicitly closed by a language switch "
-"command"
+"The document %1$s has unsaved changes.\n"
+"\n"
+"Do you want to save the document or discard the changes?"
 msgstr ""
-"Если отмечено, язык документа закрывается явно командой переключения языка"
+"Документ %1$s содержит несохранённые изменения.\n"
+"\n"
+"Хотите ли вы сохранить документ или отклонить изменения?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:164
-msgid "&Unset document language explicitly"
-msgstr "Закрывать язык документа явно"
+#: src/frontends/qt/GuiView.cpp:3366
+#, c-format
+msgid ""
+"The document %1$s has not been saved yet.\n"
+"\n"
+"Do you want to save the document or discard it entirely?"
+msgstr ""
+"Документ %1$s пока не сохранён.\n"
+"\n"
+"Хотите сохранить документ?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:177
-msgid "Editor Settings"
-msgstr "Настройки редактора"
+#: src/frontends/qt/GuiView.cpp:3370 src/frontends/qt/GuiView.cpp:3466
+msgid "Save changed document?"
+msgstr "Сохранить изменённый документ?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:189
+#: src/frontends/qt/GuiView.cpp:3370
+msgid "Save document?"
+msgstr "Сохранить документ?"
+
+#: src/frontends/qt/GuiView.cpp:3372
+msgid "&Discard"
+msgstr "&Не сохранять"
+
+#: src/frontends/qt/GuiView.cpp:3463
+#, c-format
 msgid ""
-"Check to highlight additional languages (to the document language) visually "
-"in the work area"
+"The document %1$s has unsaved changes.\n"
+"\n"
+"Do you want to save the document?"
 msgstr ""
-"Отметьте для визуального выделения иностранных языков в рабочей области"
-
-#: src/frontends/qt/ui/PrefLanguageUi.ui:192
-msgid "&Mark additional languages"
-msgstr "Помечать &другие языки"
+"Документ %1$s содержит несохранённые изменения.\n"
+"\n"
+"Сохранить документ?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:199 src/LyXRC.cpp:3183
+#: src/frontends/qt/GuiView.cpp:3498
+#, c-format
 msgid ""
-"Select to use the current keyboard language, as set from the operating "
-"system, as default input language."
+"Document \n"
+"%1$s\n"
+" has been externally modified. Reload now? Any local changes will be lost."
 msgstr ""
-"Выберите, чтобы использовать текущий язык клавиатуры, установленный "
-"операционной системой, в качестве языка ввода по умолчанию."
+"Документ \n"
+"%1$s\n"
+" был изменён извне. Перезагрузить? Все локальные изменения будут утрачены."
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:202
-msgid "Respect &OS keyboard language"
-msgstr "Использовать язык клавиатуры ОС"
+#: src/frontends/qt/GuiView.cpp:3501
+msgid "Reload externally changed document?"
+msgstr "Перезагрузить изменённый внешней программой документ?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:226
+#: src/frontends/qt/GuiView.cpp:3502 src/frontends/qt/GuiView.cpp:4206
+#: src/frontends/qt/ui/WorkAreaUi.ui:82
+msgid "&Reload"
+msgstr "&Перезагрузить"
+
+#: src/frontends/qt/GuiView.cpp:3546
+msgid "Document could not be checked in."
+msgstr "Документ невозможно прочесть."
+
+#: src/frontends/qt/GuiView.cpp:3589
+msgid "Error when setting the locking property."
+msgstr "Ошибка при попытке установить блокировку."
+
+#: src/frontends/qt/GuiView.cpp:3638
+msgid "Directory is not accessible."
+msgstr "Каталог недоступен."
+
+#: src/frontends/qt/GuiView.cpp:3715
+#, c-format
+msgid "Opening child document %1$s..."
+msgstr "Открывается дочерний документ %1$s..."
+
+#: src/frontends/qt/GuiView.cpp:3773
+#, c-format
+msgid "No buffer for file: %1$s."
+msgstr "Нет буфера для файла: %1$s."
+
+#: src/frontends/qt/GuiView.cpp:3783
+msgid "Inverse Search Failed"
+msgstr "Обратный поиск не удался"
+
+#: src/frontends/qt/GuiView.cpp:3784
 msgid ""
-"Specify here how the arrow keys behave within scripts with right-to-left "
-"direction"
+"Invalid position requested by inverse search.\n"
+"You may need to update the viewed document."
 msgstr ""
-"Укажите здесь, как клавиши со стрелками ведут себя в скриптах с направлением "
-"справа налево."
+"Обратный поиск запросил неверное положение.\n"
+"Обновите просматриваемый документ."
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:229
-msgid "Right-to-left cursor movement:"
-msgstr "Движение курсора справа налево:"
+#: src/frontends/qt/GuiView.cpp:3865
+msgid "Export Error"
+msgstr "Ошибка экспорта"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:239
+#: src/frontends/qt/GuiView.cpp:3866
+msgid "Error cloning the Buffer."
+msgstr "Ошибка клонирования буфера."
+
+#: src/frontends/qt/GuiView.cpp:4017 src/frontends/qt/GuiView.cpp:4037
+msgid "Exporting ..."
+msgstr "Экспорт ..."
+
+#: src/frontends/qt/GuiView.cpp:4046
+msgid "Previewing ..."
+msgstr "Предварительный просмотр..."
+
+#: src/frontends/qt/GuiView.cpp:4084
+msgid "Document not loaded"
+msgstr "Документ не загружен"
+
+#: src/frontends/qt/GuiView.cpp:4170
+msgid "Select file to insert"
+msgstr "Выберите файл для вставки"
+
+#: src/frontends/qt/GuiView.cpp:4173
+msgid "All Files (*)"
+msgstr "Все файлы (*)"
+
+#: src/frontends/qt/GuiView.cpp:4201
+#, c-format
 msgid ""
-"The cursor follows the logic of the text direction (e.g., in embedded right-"
-"to-left text in a left-to-right paragraph, the cursor starts at the right "
-"when coming from the left)"
+"The current version will be lost. Are you sure you want to load the version "
+"on disk of the document %1$s?"
 msgstr ""
-"Курсор следует логике направления текста (например, во встроенном RTL-тексте "
-"в LTR-абзац курсор появляется справа при движении вправо)."
-
-#: src/frontends/qt/ui/PrefLanguageUi.ui:242
-msgid "&Logical"
-msgstr "&Логическое"
+"Все изменения будут потеряны. Вы уверены, что хотите откатиться к "
+"сохранённой версии документа %1$s?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:252
+#: src/frontends/qt/GuiView.cpp:4208
+#, c-format
 msgid ""
-"The cursor follows the visual direction (e.g., in embedded right-to-left "
-"text in a left-to-right paragraph, the cursor starts at the left when coming "
-"from the left)"
+"Any changes will be lost. Are you sure you want to revert to the saved "
+"version of the document %1$s?"
 msgstr ""
-"Курсор следует визуальному направлению (например, во встроенном RTL-тексте в "
-"LTR-абзац курсор появляется слева при движении вправо)."
+"Все изменения будут потеряны. Вы уверены, что хотите откатиться к "
+"сохранённой версии документа %1$s?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:255
-msgid "&Visual"
-msgstr "&Визуальное"
+#: src/frontends/qt/GuiView.cpp:4211
+msgid "Revert to saved document?"
+msgstr "Вернуться к сохранённому документу?"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:280
-msgid "Local Preferences"
-msgstr "Локальные настройки"
+#: src/frontends/qt/GuiView.cpp:4228
+msgid "Buffer export reset."
+msgstr "Сброс экспорта буфера."
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:286
-#: src/frontends/qt/ui/PrefLanguageUi.ui:344
+#: src/frontends/qt/GuiView.cpp:4251
+msgid "Saving all documents..."
+msgstr "Сохраняются все документы..."
+
+#: src/frontends/qt/GuiView.cpp:4261
+msgid "All documents saved."
+msgstr "Все документы сохранены."
+
+#: src/frontends/qt/GuiView.cpp:4300
+msgid "Developer mode is now enabled."
+msgstr "Режим разработчика включён."
+
+#: src/frontends/qt/GuiView.cpp:4302
+msgid "Developer mode is now disabled."
+msgstr "Режим разработчика отключен."
+
+#: src/frontends/qt/GuiView.cpp:4326
+msgid "Toolbars unlocked."
+msgstr "Панели инструментов разблокированы."
+
+#: src/frontends/qt/GuiView.cpp:4328
+msgid "Toolbars locked."
+msgstr "Панели инструментов заблокированы."
+
+#: src/frontends/qt/GuiView.cpp:4341
+#, c-format
+msgid "Icon size set to %1$dx%2$d."
+msgstr "Размер значков установлен на %1$dx%2$d."
+
+#: src/frontends/qt/GuiView.cpp:4427
+#, c-format
+msgid "%1$s unknown command!"
+msgstr "%1$s неизвестная команда!"
+
+#: src/frontends/qt/GuiView.cpp:4531
+msgid "Zoom level is now %1$d% (default value: %2$d%)"
+msgstr "Текущий масштаб %1$d% (по умолчанию: %2$d%)"
+
+#: src/frontends/qt/GuiView.cpp:4590
+msgid "Please, preview the document first."
+msgstr "Пожалуйста, сначала просмотрите документ."
+
+#: src/frontends/qt/GuiView.cpp:4606
+msgid "Couldn't proceed."
+msgstr "Невозможно продолжить."
+
+#: src/frontends/qt/GuiView.cpp:5087
+msgid "Disable Shell Escape"
+msgstr "Отключить выход из shell"
+
+#: src/frontends/qt/GuiViewSource.cpp:402
+#: src/frontends/qt/GuiViewSource.cpp:456
+msgid "Code Preview"
+msgstr "Предварительный просмотр кода"
+
+#: src/frontends/qt/GuiViewSource.cpp:457
+msgid "%1[[preview format name]] Preview"
+msgstr "Просмотр %1"
+
+#: src/frontends/qt/GuiWorkArea.cpp:1635
+msgid "Close File"
+msgstr "Закрыть файл"
+
+#: src/frontends/qt/GuiWorkArea.cpp:2152
+msgid "%1 (read only)"
+msgstr "%1 (только для чтения)"
+
+#: src/frontends/qt/GuiWorkArea.cpp:2156
+msgid "%1 (modified externally)"
+msgstr "%1 (изменён внешней программой)"
+
+#: src/frontends/qt/GuiWorkArea.cpp:2179
+msgid "Hide tab"
+msgstr "Спрятать вкладку"
+
+#: src/frontends/qt/GuiWorkArea.cpp:2185
+msgid "Close tab"
+msgstr "Закрыть вкладку"
+
+#: src/frontends/qt/GuiWorkArea.cpp:2224
+msgid "<b>The file %1 changed on disk.</b>"
+msgstr "<b>Файл %1 изменён на диске.</b>"
+
+#: src/frontends/qt/GuiWrap.cpp:32
+msgid "Wrap Float Settings"
+msgstr "Обтекаемый объект"
+
+#: src/frontends/qt/IconPalette.cpp:39
+msgid "Click to detach"
+msgstr "Нажмите, чтобы отделить"
+
+#: src/frontends/qt/InsetParamsDialog.cpp:88
+msgid "Ne&w Inset"
+msgstr "Создать вставку"
+
+#: src/frontends/qt/LayoutBox.cpp:337
+#, c-format
+msgid "Filtering layouts with \"%1$s\". Press ESC to remove filter."
+msgstr "Фильтрация макетов по \"%1$s\". Нажмите ESC для снятия фильтра."
+
+#: src/frontends/qt/LayoutBox.cpp:341 src/frontends/qt/LayoutBox.cpp:396
+msgid "Enter characters to filter the layout list."
+msgstr "Введите критерий для фильтрации списка макетов."
+
+#: src/frontends/qt/LayoutBox.cpp:509
+#, c-format
+msgid "%1$s (unknown)"
+msgstr "%1$s (неизвестен)"
+
+#: src/frontends/qt/Menus.cpp:725
+msgid "More...|M"
+msgstr "Больше...|Б"
+
+#: src/frontends/qt/Menus.cpp:807
+msgid "No Group"
+msgstr "Нет группы"
+
+#: src/frontends/qt/Menus.cpp:837 src/frontends/qt/Menus.cpp:838
+msgid "More Spelling Suggestions"
+msgstr "Больше предложений"
+
+#: src/frontends/qt/Menus.cpp:860
+msgid "Add to personal dictionary|n"
+msgstr "Добавить в личный словарь"
+
+#: src/frontends/qt/Menus.cpp:862
+msgid "Ignore all|I"
+msgstr "Пропустить все"
+
+#: src/frontends/qt/Menus.cpp:870
+msgid "Remove from personal dictionary|r"
+msgstr "Убрать из личного словаря"
+
+#: src/frontends/qt/Menus.cpp:900
+msgid "Switch Language...|L"
+msgstr "Переключить язык...|я"
+
+#: src/frontends/qt/Menus.cpp:914
+msgid "Language|L"
+msgstr "Язык|Я"
+
+#: src/frontends/qt/Menus.cpp:916
+msgid "More Languages ...|M"
+msgstr "Больше языков...|Б"
+
+#: src/frontends/qt/Menus.cpp:986 src/frontends/qt/Menus.cpp:987
+msgid "Hidden|H"
+msgstr "Скрытые"
+
+#: src/frontends/qt/Menus.cpp:991
+msgid "<No Documents Open>"
+msgstr "<Нет открытых документов>"
+
+#: src/frontends/qt/Menus.cpp:1057
+msgid "<No Bookmarks Saved Yet>"
+msgstr "<Закладки пока не сохранены>"
+
+#: src/frontends/qt/Menus.cpp:1097
+msgid "View (Other Formats)|F"
+msgstr "Просмотреть (другие форматы)"
+
+#: src/frontends/qt/Menus.cpp:1098
+msgid "Update (Other Formats)|p"
+msgstr "Обновить (другие форматы)"
+
+#: src/frontends/qt/Menus.cpp:1128
+#, c-format
+msgid "View [%1$s]|V"
+msgstr "Просмотреть [%1$s]|с"
+
+#: src/frontends/qt/Menus.cpp:1129
+#, c-format
+msgid "Update [%1$s]|U"
+msgstr "Обновить [%1$s]|б"
+
+#: src/frontends/qt/Menus.cpp:1245
+msgid "No Custom Insets Defined!"
+msgstr "(Пользовательские вставки не определены)"
+
+#: src/frontends/qt/Menus.cpp:1334
+msgid "(No Document Open)"
+msgstr "(Нет открытого документа)"
+
+#: src/frontends/qt/Menus.cpp:1343
+msgid "Master Document"
+msgstr "Главный документ"
+
+#: src/frontends/qt/Menus.cpp:1366
+msgid "Other Lists"
+msgstr "Другие списки"
+
+#: src/frontends/qt/Menus.cpp:1380
+msgid "(Empty Table of Contents)"
+msgstr "(Пустое содержание)"
+
+#: src/frontends/qt/Menus.cpp:1389
+msgid "Open Outliner..."
+msgstr "Показать на панели навигации..."
+
+#: src/frontends/qt/Menus.cpp:1426
+msgid "Other Toolbars"
+msgstr "Другие панели инструментов"
+
+#: src/frontends/qt/Menus.cpp:1489
+msgid "Master Documents"
+msgstr "Главные документы"
+
+#: src/frontends/qt/Menus.cpp:1505
+msgid "Index List|I"
+msgstr "Предметный указатель|у"
+
+#: src/frontends/qt/Menus.cpp:1510
+msgid "Index Entry|d"
+msgstr "Рубрика указателя|Р"
+
+#: src/frontends/qt/Menus.cpp:1525
+#, c-format
+msgid "Index: %1$s"
+msgstr "Указатель: %1$s"
+
+#: src/frontends/qt/Menus.cpp:1530 src/frontends/qt/Menus.cpp:1559
+#, c-format
+msgid "Index Entry (%1$s)"
+msgstr "Рубрика указателя (%1$s)"
+
+#: src/frontends/qt/Menus.cpp:1576
+msgid "No Citation in Scope!"
+msgstr "Нет ссылок в поле зрения!"
+
+#: src/frontends/qt/Menus.cpp:1590 src/insets/InsetCitation.cpp:322
+#: src/insets/InsetCitation.cpp:452
+msgid "No citations selected!"
+msgstr "Ссылка не выбрана!"
+
+#: src/frontends/qt/Menus.cpp:1639
+msgid "All authors|h"
+msgstr "Все авторы"
+
+#: src/frontends/qt/Menus.cpp:1670
+msgid "Force upper case|u"
+msgstr "&Верхний регистр"
+
+#: src/frontends/qt/Menus.cpp:1684
+msgid "No Text Field in Scope!"
+msgstr "Нет текстового поля в поле зрения!"
+
+#: src/frontends/qt/Menus.cpp:1703
+msgid "Custom..."
+msgstr "Другое..."
+
+#: src/frontends/qt/Menus.cpp:1771 src/frontends/qt/Menus.cpp:1786
+#: lib/layouts/AEA.layout:300
+msgid "Caption"
+msgstr "Подпись"
+
+#: src/frontends/qt/Menus.cpp:1779
+#, c-format
+msgid "Caption (%1$s)"
+msgstr "Подпись (%1$s)"
+
+#: src/frontends/qt/Menus.cpp:1804
+msgid "No Quote in Scope!"
+msgstr "Нет цитат в поле зрения!"
+
+#: src/frontends/qt/Menus.cpp:1840 src/frontends/qt/Menus.cpp:1844
+#: src/frontends/qt/Menus.cpp:1848 src/frontends/qt/Menus.cpp:1852
+#, c-format
+msgid "%1$s (dynamic)"
+msgstr "%1$s (динамическая)"
+
+#: src/frontends/qt/Menus.cpp:1884
+#, c-format
+msgid "Use dynamic quotes (%1$s)|d"
+msgstr "Использовать динамические кавычки (%1$s)"
+
+#: src/frontends/qt/Menus.cpp:1890
+msgid "dynamic[[Quotes]]"
+msgstr "динамические"
+
+#: src/frontends/qt/Menus.cpp:1890 src/frontends/qt/Menus.cpp:1900
+msgid "static[[Quotes]]"
+msgstr "статические"
+
+#: src/frontends/qt/Menus.cpp:1892
+#, c-format
+msgid "Reset to document default (%1$s, %2$s)|o"
+msgstr "Сбросить к стандартному для документа (%1$s, %2$s)|o"
+
+#: src/frontends/qt/Menus.cpp:1899
+#, c-format
+msgid "Reset to language default (%1$s, %2$s)|l"
+msgstr "Сбросить к стандартному для языка (%1$s, %2$s)"
+
+#: src/frontends/qt/Menus.cpp:1901
+#, c-format
+msgid "Reset to language default (%1$s)|l"
+msgstr "Сбросить к стандартному для языка (%1$s)"
+
+#: src/frontends/qt/Menus.cpp:1909
+msgid "Change Style|y"
+msgstr "Изменить стиль"
+
+#: src/frontends/qt/Menus.cpp:1951
+#, c-format
+msgid "Insert Separated %1$s Above"
+msgstr "Вставить отдельное \"%1$s\" выше"
+
+#: src/frontends/qt/Menus.cpp:1953
+#, c-format
+msgid "Separated %1$s Above"
+msgstr "Отдельное \"%1$s\" выше"
+
+#: src/frontends/qt/Menus.cpp:1959 src/frontends/qt/Menus.cpp:1972
+#: src/frontends/qt/Menus.cpp:1989
+#, c-format
+msgid "Insert Separated %1$s Below"
+msgstr "Вставить отдельное \"%1$s\" ниже"
+
+#: src/frontends/qt/Menus.cpp:1961 src/frontends/qt/Menus.cpp:1974
+#: src/frontends/qt/Menus.cpp:1995
+#, c-format
+msgid "Separated %1$s Below"
+msgstr "Отдельное \"%1$s\" ниже"
+
+#: src/frontends/qt/Menus.cpp:1987
+#, c-format
+msgid "Insert Separated Outer %1$s Below"
+msgstr "Вставить отдельное внешнее \"%1$s\" ниже"
+
+#: src/frontends/qt/Menus.cpp:1993
+#, c-format
+msgid "Separated Outer %1$s Below"
+msgstr "Отдельное внешнее \"%1$s\" ниже"
+
+#: src/frontends/qt/Menus.cpp:2309
+#, c-format
+msgid "Export [%1$s]|E"
+msgstr "Экспортировать [%1$s]|Э"
+
+#: src/frontends/qt/Menus.cpp:2659
+msgid "No Action Defined!"
+msgstr "Действие не определено!"
+
+#: src/frontends/qt/PanelStack.cpp:73
+msgid "Search"
+msgstr "Искать"
+
+#: src/frontends/qt/Toolbars.cpp:246
+#, c-format
+msgid "Export %1$s"
+msgstr "Экспортировать %1$s"
+
+#: src/frontends/qt/Toolbars.cpp:250
+#, c-format
+msgid "Import %1$s"
+msgstr "Импортировать %1$s"
+
+#: src/frontends/qt/Toolbars.cpp:254
+#, c-format
+msgid "Update %1$s"
+msgstr "Обновить %1$s"
+
+#: src/frontends/qt/Toolbars.cpp:258
+#, c-format
+msgid "View %1$s"
+msgstr "Просмотреть %1$s"
+
+#: src/frontends/qt/Validator.cpp:195
+msgid "space"
+msgstr "пробел"
+
+#: src/frontends/qt/Validator.cpp:223
 msgid ""
-"Here you can specify the decimal separator that is used in the tabular "
-"dialog by default. \"Language default\" selects the appropriate separator "
-"for the current language."
+"LyX does not provide LaTeX support for file names containing any of these "
+"characters:\n"
 msgstr ""
-"Здесь вы можете указать десятичный разделитель, который по умолчанию "
-"используется в диалоговом окне настройки таблицы. \"По умолчанию для языка\" "
-"выбирает разделитель, соответствующий текущему языку."
+"LyX не обеспечивает поддержку LaTeXом названий файлов, содержащих следующие "
+"символы:\n"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:289
-msgid "Default decimal &separator:"
-msgstr "Десятичный разделитель по умолчанию:"
+#: src/frontends/qt/qt_helpers.cpp:293
+msgid "Invalid URL"
+msgstr "Неверная ссылка"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:318
-msgid "Insert a custom decimal separator here"
-msgstr "Задайте здесь свой десятичный разделитель"
+#: src/frontends/qt/qt_helpers.cpp:294
+#, c-format
+msgid "The URL `%1$s' could not be resolved."
+msgstr "Ссылку `%1$s' невозможно открыть."
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:331
-#: src/frontends/qt/ui/PrefLanguageUi.ui:361
-msgid "Select the default length unit for LyX dialogs"
-msgstr "Укажите единицу длины по умолчанию для диалоговых окон LyX"
+#: src/frontends/qt/qt_helpers.cpp:300
+msgid "URL could not be accessed"
+msgstr "Ссылка не доступна."
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:334
-msgid "Default length &unit:"
-msgstr "&Единица длины по умолчанию:"
+#: src/frontends/qt/qt_helpers.cpp:301
+#, c-format
+msgid "The URL `%1$s' could not be opened although it exists!"
+msgstr "Ссылка `%1$s' существует, но её невозможно открыть!"
 
-#: src/frontends/qt/ui/PrefLanguageUi.ui:348
-#: src/frontends/qt/GuiDocument.cpp:1016
-msgid "Language Default"
-msgstr "По умолчанию для языка"
+#: src/frontends/qt/qt_helpers.cpp:325
+msgid "The lyxpaperview script failed."
+msgstr "Ошибка выполнения сценария lyxpaperview."
 
-#: src/frontends/qt/ui/PrefLatexUi.ui:34
-msgid "&DVI viewer paper size options:"
-msgstr "Параметры размера бумаги просмотрщика &DVI:"
+#: src/frontends/qt/qt_helpers.cpp:328
+#, c-format
+msgid "No file was found using the pattern `%1$s'."
+msgstr "Файл по шаблону `%1$s' не найден."
 
-#: src/frontends/qt/ui/PrefLatexUi.ui:44
-msgid "Optional paper size flag (-paper) for some DVI viewers"
-msgstr ""
-"Дополнительный флаг размера бумаги (-paper) для некоторых просмотрщиков DVI"
+#: src/frontends/qt/qt_helpers.cpp:334
+#, c-format
+msgid "The target `%1$s' could not be resolved."
+msgstr "Цель `%1$s' не найдена."
 
-#: src/frontends/qt/ui/PrefLatexUi.ui:90
-msgid "P&rocessor:"
-msgstr "&Процессор:"
+#: src/frontends/qt/qt_helpers.cpp:370
+msgid "Could not update TeX information"
+msgstr "Не удалось обновить информацию TeX"
 
-#: src/frontends/qt/ui/PrefLatexUi.ui:113
-msgid "BibTeX command and options"
-msgstr "Командная строка BibTeX"
+#: src/frontends/qt/qt_helpers.cpp:371
+#, c-format
+msgid "The script `%1$s' failed."
+msgstr "Ошибка выполнения сценария `%1$s'."
 
-#: src/frontends/qt/ui/PrefLatexUi.ui:120
-#: src/frontends/qt/ui/PrefLatexUi.ui:222
-msgid "Processor for &Japanese:"
-msgstr "Процессор для японского:"
+#: src/frontends/qt/qt_helpers.cpp:619
+msgid "All Files "
+msgstr "Все файлы "
 
-#: src/frontends/qt/ui/PrefLatexUi.ui:143
-msgid "Specific BibTeX command and options for pLaTeX (Japanese)"
-msgstr "Особая команда BibTeX и опции для pLaTeX (Японский)"
+#: src/insets/Inset.cpp:91
+msgid "Bibliography Entry"
+msgstr "Источник"
 
-#: src/frontends/qt/ui/PrefLatexUi.ui:215
-msgid "Index command and options (makeindex, xindy)"
-msgstr "Команда для создания указателя (makeindex, xindy)"
+#: src/insets/Inset.cpp:94 lib/ui/stdmenus.inc:408
+msgid "TeX Code"
+msgstr "Код TeX"
 
-#: src/frontends/qt/ui/PrefLatexUi.ui:232
-msgid "Specific index command and options for pLaTeX (Japanese)"
-msgstr "Особая команда создания указателя и параметры для pLaTeX (Японский)"
+#: src/insets/Inset.cpp:97
+msgid "Float"
+msgstr "Плавающий объект"
 
-#: src/frontends/qt/ui/PrefLatexUi.ui:268
-msgid "Command and options for nomencl (usually makeindex)"
-msgstr "Команды и опции для nomencl (обычно makeindex)"
+#: src/insets/Inset.cpp:103 lib/layouts/aguplus.inc:211
+#: lib/layouts/beamer.layout:1694 lib/layouts/powerdot.layout:544
+#: lib/layouts/powerdot.layout:622 lib/layouts/sciposter.layout:118
+#: lib/layouts/stdfloats.inc:13 lib/ui/stdtoolbars.inc:153
+msgid "Table"
+msgstr "Таблица"
 
-#: src/frontends/qt/ui/PrefLatexUi.ui:275
-msgid "CheckTeX start options and flags"
-msgstr "Начальные параметры и флаги CheckTeX"
+#: src/insets/Inset.cpp:115 src/insets/InsetBox.cpp:134
+msgid "Box"
+msgstr "Блок"
 
-#: src/frontends/qt/ui/PrefLatexUi.ui:282
-msgid "&CheckTeX command:"
-msgstr "Команда Chec&kTeX:"
+#: src/insets/Inset.cpp:117
+msgid "Horizontal Space"
+msgstr "Горизонтальный промежуток"
 
-#: src/frontends/qt/ui/PrefLatexUi.ui:292
-msgid "&Nomenclature command:"
-msgstr "&Команда номенклатуры:"
+#: src/insets/Inset.cpp:118 src/insets/InsetVSpace.cpp:123
+#: lib/layouts/europasscv.layout:195 lib/layouts/europasscv.layout:218
+#: lib/layouts/europasscv.layout:254 lib/layouts/europecv.layout:162
+#: lib/layouts/europecv.layout:222
+msgid "Vertical Space"
+msgstr "Вертикальный промежуток"
 
-#: src/frontends/qt/ui/PrefLatexUi.ui:307
+#: src/insets/Inset.cpp:121 lib/ui/stdtoolbars.inc:261
+msgid "Info"
+msgstr "Инфо"
+
+#: src/insets/Inset.cpp:166
+msgid "Horizontal Math Space"
+msgstr "Горизонтальный матем. промежуток"
+
+#: src/insets/InsetArgument.cpp:146
+msgid "Unknown Argument"
+msgstr "Неизвестный аргумент"
+
+#: src/insets/InsetArgument.cpp:147
+msgid "Argument not known in this Layout. Will be suppressed in the output."
+msgstr "Неизвестный аргумент для данного макета. Его не будет на выходе."
+
+#: src/insets/InsetBibitem.cpp:99
+msgid "Keys must be unique!"
+msgstr "Ключи должны быть уникальными!"
+
+#: src/insets/InsetBibitem.cpp:100
+#, c-format
 msgid ""
-"Select whether LyX should output Windows or Cygwin style paths to LaTeX "
-"files. Change the default only if the TeX engine was not correctly detected "
-"at configure time. Warning: Your changes here will not be saved."
+"The key %1$s already exists,\n"
+"it will be changed to %2$s."
 msgstr ""
-"Выберите, должен ли LyX выводить пути к файлам LaTeX в стиле Windows или "
-"Cygwin. Измените значение по умолчанию только если TeX не был правильно "
-"обнаружен во время настройки. Предупреждение: ваши изменения здесь не будут "
-"сохранены."
+"Ключ %1$s уже существует,\n"
+"и будет изменён на %2$s."
 
-#: src/frontends/qt/ui/PrefLatexUi.ui:313
-msgid "&Use Windows-style paths in LaTeX files"
-msgstr "&Использовать пути в стиле Windows в файлах LaTeX"
+#: src/insets/InsetBibtex.cpp:149 lib/citeengines/biblatex.citeengine:2
+msgid "Biblatex"
+msgstr "Biblatex"
 
-#: src/frontends/qt/ui/PrefLatexUi.ui:320
-msgid "Set class options to default on class change"
-msgstr "Установить параметры класса по умолчанию при изменении класса"
+#: src/insets/InsetBibtex.cpp:150
+#, c-format
+msgid ""
+"The %1$s[[BibTeX/Biblatex]] inset includes %2$s databases.\n"
+"If you proceed, all of them will be opened."
+msgstr ""
+"Вставка %1$s[[BibTeX/Biblatex]] включает %2$s баз данных.\n"
+"Если вы продолжите, они все будут открыты."
 
-#: src/frontends/qt/ui/PrefLatexUi.ui:323
-msgid "R&eset class options when document class changes"
-msgstr "&Сбросить параметры класса при изменении класса документа"
+#: src/insets/InsetBibtex.cpp:153
+msgid "Open Databases?"
+msgstr "Открыть базы данных?"
 
-#: src/frontends/qt/ui/PrefOutputUi.ui:20
-msgid "Forward Search"
-msgstr "Прямой поиск"
+#: src/insets/InsetBibtex.cpp:154
+msgid "&Proceed"
+msgstr "&Продолжить"
 
-#: src/frontends/qt/ui/PrefOutputUi.ui:40
-msgid "DV&I command:"
-msgstr "Команда DVI:"
+#: src/insets/InsetBibtex.cpp:180
+msgid "Biblatex Generated Bibliography"
+msgstr "Библиография Biblatex"
 
-#: src/frontends/qt/ui/PrefOutputUi.ui:76
-msgid "&PDF command:"
-msgstr "Команда PDF:"
+#: src/insets/InsetBibtex.cpp:181
+msgid "BibTeX Generated Bibliography"
+msgstr "Библиография BibTeX"
 
-#: src/frontends/qt/ui/PrefOutputUi.ui:107
-msgid "Dvips Options"
-msgstr "Параметры dvips"
+#: src/insets/InsetBibtex.cpp:187
+msgid "Databases:"
+msgstr "Базы данных:"
 
-#: src/frontends/qt/ui/PrefOutputUi.ui:123
-msgid "Paper t&ype:"
-msgstr "Тип &бумаги:"
+#: src/insets/InsetBibtex.cpp:210
+msgid "Style File:"
+msgstr "Стилевой файл:"
 
-#: src/frontends/qt/ui/PrefOutputUi.ui:136
-msgid "Paper si&ze:"
-msgstr "Размер &бумаги:"
+#: src/insets/InsetBibtex.cpp:213 src/insets/InsetBibtex.cpp:231
+msgid "Lists:"
+msgstr "Списки:"
 
-#: src/frontends/qt/ui/PrefOutputUi.ui:149
-msgid "Lan&dscape:"
-msgstr "&Альбом:"
+#: src/insets/InsetBibtex.cpp:222 src/insets/InsetBibtex.cpp:240
+msgid "included in TOC"
+msgstr "включено в Содержание"
 
-#: src/frontends/qt/ui/PrefOutputUi.ui:162
-msgid "Other Options"
-msgstr "Другие параметры"
+#: src/insets/InsetBibtex.cpp:227
+msgid ""
+"Note: This bibliography is not output, since bibliographies in the master "
+"file are not allowed with the setting 'Multiple bibliographies per child "
+"document'"
+msgstr ""
+"Замечание: эта библиография не выводится, так как библиографии в главном "
+"файле не разрешены установкой \"Несколько библиографий на дочерний документ\""
 
-#: src/frontends/qt/ui/PrefOutputUi.ui:170
-msgid "Output &line length:"
-msgstr "&Длина строки в выводе:"
+#: src/insets/InsetBibtex.cpp:244
+msgid "Options: "
+msgstr "Параметры: "
+
+#: src/insets/InsetBibtex.cpp:278
+msgid "[BIBLIOGRAPHY DELETED!]"
+msgstr "[БИБЛИОГРАФИЯ УДАЛЕНА!]"
 
-#: src/frontends/qt/ui/PrefOutputUi.ui:186 src/LyXRC.cpp:2994
+#: src/insets/InsetBibtex.cpp:350
 msgid ""
-"The maximum line length of exported plain text/LaTeX/SGML files. If set to "
-"0, paragraphs are output in a single line; if the line length is > 0, "
-"paragraphs are separated by a blank line."
+"There are spaces in the path to your BibTeX style file.\n"
+"BibTeX will be unable to find it."
 msgstr ""
-"Максимальная длина линии экспортируемого текстового/LaTeX/SGML файла. Если "
-"установлен 0, то абзацы будут выведены в одну строку; если длина строки "
-"больше нуля, параграфы отделяются пустой линией."
+"В пути к файлам стилей BibTeX есть пробелы.\n"
+"BibTeX не сможет найти их."
 
-#: src/frontends/qt/ui/PrefOutputUi.ui:200
-msgid "&Overwrite on export:"
-msgstr "Перезаписать при экспорте:"
+#: src/insets/InsetBibtex.cpp:958 src/insets/InsetBibtex.cpp:1034
+#: src/insets/InsetBibtex.cpp:1089 src/output_plaintext.cpp:155
+#: lib/layouts/IEEEtran.layout:361 lib/layouts/aastex.layout:428
+#: lib/layouts/aastex.layout:449 lib/layouts/agutex.layout:224
+#: lib/layouts/amsdefs.inc:219 lib/layouts/beamer.layout:1174
+#: lib/layouts/cl2emult.layout:122 lib/layouts/copernicus.layout:371
+#: lib/layouts/egs.layout:644 lib/layouts/elsarticle.layout:300
+#: lib/layouts/ijmpc.layout:486 lib/layouts/ijmpd.layout:507
+#: lib/layouts/iopart.layout:284 lib/layouts/iopart.layout:311
+#: lib/layouts/iucr.layout:239 lib/layouts/iucr.layout:246
+#: lib/layouts/jasatex.layout:285 lib/layouts/kluwer.layout:347
+#: lib/layouts/kluwer.layout:360 lib/layouts/llncs.layout:285
+#: lib/layouts/moderncv.layout:525 lib/layouts/siamltex.layout:342
+#: lib/layouts/stdstruct.inc:74 lib/layouts/svcommon.inc:591
+msgid "References"
+msgstr "Список литературы"
 
-#: src/frontends/qt/ui/PrefOutputUi.ui:210
-msgid "What to do when existing files are going to be overwritten on export."
+#: src/insets/InsetBox.cpp:70
+msgid "simple frame"
+msgstr "простая рамка"
+
+#: src/insets/InsetBox.cpp:71
+msgid "frameless"
+msgstr "без рамки"
+
+#: src/insets/InsetBox.cpp:72
+msgid "simple frame, page breaks"
+msgstr "простая рамка, разрыв страницы"
+
+#: src/insets/InsetBox.cpp:73
+msgid "oval, thin"
+msgstr "тонкая овальная рамка"
+
+#: src/insets/InsetBox.cpp:74
+msgid "oval, thick"
+msgstr "толстая овальная рамка"
+
+#: src/insets/InsetBox.cpp:75
+msgid "drop shadow"
+msgstr "рамка с тенью"
+
+#: src/insets/InsetBox.cpp:76
+msgid "shaded background"
+msgstr "закрашенный фон"
+
+#: src/insets/InsetBox.cpp:77
+msgid "double frame"
+msgstr "двойная рамка"
+
+#: src/insets/InsetBox.cpp:154 src/insets/InsetBox.cpp:157
+#, c-format
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
+#: src/insets/InsetBox.cpp:160
+#, c-format
+msgid "%1$s (%2$s, %3$s)"
+msgstr "%1$s (%2$s, %3$s)"
+
+#: src/insets/InsetBranch.cpp:70 src/insets/InsetBranch.cpp:72
+msgid "active"
+msgstr "активный"
+
+#: src/insets/InsetBranch.cpp:70 src/insets/InsetBranch.cpp:72
+#: src/insets/InsetIndex.cpp:650
+msgid "non-active"
+msgstr "не активный"
+
+#: src/insets/InsetBranch.cpp:75 src/insets/InsetBranch.cpp:85
+#, c-format
+msgid "master %1$s, child %2$s"
+msgstr "главный %1$s, дочерний %2$s"
+
+#: src/insets/InsetBranch.cpp:89
+#, c-format
+msgid ""
+"Branch Name: %1$s\n"
+"Branch Status: %2$s\n"
+"Inset Status: %3$s"
 msgstr ""
-"Что делать, когда существующие файлы должны быть перезаписаны при экспорте."
+"Имя ветки: %1$s\n"
+"Статус ветки: %2$s\n"
+"Статус вставки: %3$s"
 
-#: src/frontends/qt/ui/PrefOutputUi.ui:214
-msgid "Ask permission"
-msgstr "Спросить разрешение"
+#: src/insets/InsetBranch.cpp:120
+msgid "Branch: "
+msgstr "Ветка: "
 
-#: src/frontends/qt/ui/PrefOutputUi.ui:219
-msgid "Main file only"
-msgstr "Только главный файл"
+#: src/insets/InsetBranch.cpp:122
+msgid "Branch (child): "
+msgstr "Ветка (дочерний): "
 
-#: src/frontends/qt/ui/PrefOutputUi.ui:224
-msgid "All files"
-msgstr "Все файлы"
+#: src/insets/InsetBranch.cpp:124
+msgid "Branch (master): "
+msgstr "Ветка (главный): "
 
-#: src/frontends/qt/ui/PrefPathsUi.ui:25
+#: src/insets/InsetBranch.cpp:126
+msgid "Branch (undefined): "
+msgstr "Ветка (не определена): "
+
+#: src/insets/InsetBranch.cpp:186
+msgid "Branch state changes in master document"
+msgstr "Состояние ветки меняется в главном документе"
+
+#: src/insets/InsetBranch.cpp:187
+#, c-format
 msgid ""
-"Relative and absolute paths are allowed. Relative paths will be expanded "
-"with respect to the working directory (WD). For all paths except the "
-"\"TEXINPUTS prefix\" the WD is the directory from which you start LyX, and "
-"thus could change for each LyX session. For the \"TEXINPUTS prefix\" path "
-"the WD is the directory containing the document. The path \".\" (without "
-"quotes) is a common example of a relative path and refers to the WD."
+"The state of the branch '%1$s' was changed in the master file. Please make "
+"sure to save the master."
 msgstr ""
-"Разрешены относительные и абсолютные пути. Относительные пути будут "
-"расширены относительно рабочего каталога (WD). Для всех путей, кроме "
-"\"Префикс TEXINPUTS\", WD является каталогом, из которого вы запускаете LyX, "
-"и поэтому может меняться для каждой сессии LyX. Для пути \"Префикс TEXINPUTS"
-"\" WD - это каталог, содержащий текущий документ. Путь \".\" (без кавычек) "
-"является общим примером относительного пути и ссылается на WD."
+"Состояние ветки '%1$s' было изменено в главном документе. Пожалуйста, "
+"сохраните его."
 
-#: src/frontends/qt/ui/PrefPathsUi.ui:35
-msgid "&PATH prefix:"
-msgstr "Префикс &PATH:"
+#: src/insets/InsetCaption.cpp:407 src/insets/InsetListings.cpp:576
+#: src/insets/InsetListings.cpp:578 lib/layouts/numreport.inc:37
+#: lib/layouts/stdcounters.inc:77 lib/layouts/stdinsets.inc:337
+#: lib/layouts/stdinsets.inc:343 lib/layouts/stdinsets.inc:391
+#: lib/layouts/stdinsets.inc:397 src/frontends/qt/ui/ListingsUi.ui:14
+msgid "Listing"
+msgstr "Листинг"
 
-#: src/frontends/qt/ui/PrefPathsUi.ui:45
+#: src/insets/InsetCaption.cpp:416
+#, c-format
+msgid "Sub-%1$s"
+msgstr "Под-%1$s"
+
+#: src/insets/InsetCaption.cpp:433 lib/layouts/apa.layout:251
+#: lib/layouts/apax.inc:350 lib/layouts/stdinsets.inc:650
+msgid "standard"
+msgstr "обычный"
+
+#: src/insets/InsetCitation.cpp:318
+msgid "No bibliography defined!"
+msgstr "Не определена библиография!"
+
+#: src/insets/InsetCitation.cpp:339
+#, c-format
+msgid "+ %1$d more entries."
+msgstr "+ %1$d пунктов."
+
+#: src/insets/InsetCitation.cpp:577 src/insets/InsetRef.cpp:507
+msgid "BROKEN: "
+msgstr "НАРУШЕНО: "
+
+#: src/insets/InsetCommand.cpp:158
+msgid "LaTeX Command: "
+msgstr "Команда LaTeX: "
+
+#: src/insets/InsetCommandParams.cpp:281
+msgid "InsetCommand Error: "
+msgstr "Ошибка InsetCommand: "
+
+#: src/insets/InsetCommandParams.cpp:282 src/insets/InsetCommandParams.cpp:305
+msgid "Incompatible command name."
+msgstr "Несовместимое имя команды."
+
+#: src/insets/InsetCommandParams.cpp:304 src/insets/InsetCommandParams.cpp:358
+msgid "InsetCommandParams Error: "
+msgstr "Ошибка InsetCommandParams: "
+
+#: src/insets/InsetCommandParams.cpp:350
+msgid "InsetCommandParams: "
+msgstr "InsetCommandParams: "
+
+#: src/insets/InsetCommandParams.cpp:351
+msgid "Unknown parameter name: "
+msgstr "Неизвестный параметр: "
+
+#: src/insets/InsetCommandParams.cpp:359
+msgid "Missing \\end_inset at this point: "
+msgstr "Пропущен \\end_inset в этой точке: "
+
+#: src/insets/InsetCommandParams.cpp:467
+msgid "Uncodable characters"
+msgstr "Некодируемые символы"
+
+#: src/insets/InsetCommandParams.cpp:468
+#, c-format
 msgid ""
-"Specify those directories which should be prepended to the PATH environment "
-"variable. Use the OS native format."
+"The following characters that are used in the inset %1$s are not\n"
+"representable in the current encoding and therefore have been omitted:\n"
+"%2$s."
 msgstr ""
-"Эти каталоги будут использованы до обработки переменной среды PATH. "
-"Указывайте их в том виде, как принято в вашей операционной системе."
+"Следующие символы во вставке %1$s невозможно\n"
+"представить в текущей кодировке и они будут пропущены:\n"
+"%2$s."
 
-#: src/frontends/qt/ui/PrefPathsUi.ui:52
-msgid "TEX&INPUTS prefix:"
-msgstr "Префикс TEX&INPUTS:"
+#: src/insets/InsetCommandParams.cpp:529
+msgid "Uncodable characters in inset"
+msgstr "Некодируемые символы во вставке"
 
-#: src/frontends/qt/ui/PrefPathsUi.ui:62
+#: src/insets/InsetCommandParams.cpp:530
+#, c-format
 msgid ""
-"Specify those directories which should be prepended to the TEXINPUTS "
-"environment variable. Use the OS native format."
+"The following characters in one of the insets are\n"
+"not representable in the current encoding and have been omitted: %1$s.\n"
+"Unchecking 'Literal' in the respective inset dialog might help."
 msgstr ""
-"Эти каталоги будут использованы до обработки переменной среды TEXINPUTS. "
-"Указывайте их в том виде, как принято в вашей операционной системе."
+"Следующие символы в одной из вставок невозможно\n"
+"представить в текущей кодировке и они будут пропущены:%1$s.\n"
+"Может помочь снятие флажка \"Буквально\" в соответствующем диалоге вставки."
 
-#: src/frontends/qt/ui/PrefPathsUi.ui:69 src/frontends/qt/ui/PrefPathsUi.ui:92
-#: src/frontends/qt/ui/PrefPathsUi.ui:115
-#: src/frontends/qt/ui/PrefPathsUi.ui:138
-#: src/frontends/qt/ui/PrefPathsUi.ui:161
-#: src/frontends/qt/ui/PrefPathsUi.ui:184
-#: src/frontends/qt/ui/PrefPathsUi.ui:207
-#: src/frontends/qt/ui/PrefPathsUi.ui:243
-msgid "Browse..."
-msgstr "Выбрать..."
+#: src/insets/InsetCounter.cpp:63
+msgid "Set counter to ..."
+msgstr "Установить счётчик в ..."
 
-#: src/frontends/qt/ui/PrefPathsUi.ui:79
-msgid "T&hesaurus dictionaries:"
-msgstr "Словари тезауруса:"
+#: src/insets/InsetCounter.cpp:64
+msgid "Increase counter by ..."
+msgstr "Увеличить счётчик на ..."
 
-#: src/frontends/qt/ui/PrefPathsUi.ui:105
-msgid "&Temporary directory:"
-msgstr "&Временный каталог:"
+#: src/insets/InsetCounter.cpp:65
+msgid "Reset counter to 0"
+msgstr "Сбросить счётчик в 0"
 
-#: src/frontends/qt/ui/PrefPathsUi.ui:128
-msgid "Ly&XServer pipe:"
-msgstr "Канал сервера Ly&X:"
+#: src/insets/InsetCounter.cpp:66
+msgid "Save current counter value"
+msgstr "Сохранить значение счётчика"
 
-#: src/frontends/qt/ui/PrefPathsUi.ui:151
-msgid "&Backup directory:"
-msgstr "&Каталог резервного копирования:"
+#: src/insets/InsetCounter.cpp:67
+msgid "Restore saved counter value"
+msgstr "Восстановить сохранённое значение счётчика"
 
-#: src/frontends/qt/ui/PrefPathsUi.ui:174
-msgid "&Example files:"
-msgstr "Файлы примеров:"
+#: src/insets/InsetCounter.cpp:141
+msgid "Roman Uppercase"
+msgstr "Прописные римские"
 
-#: src/frontends/qt/ui/PrefPathsUi.ui:197
-msgid "&Document templates:"
-msgstr "&Шаблоны документов:"
+#: src/insets/InsetCounter.cpp:142
+msgid "Roman Lowercase"
+msgstr "Строчные римские"
 
-#: src/frontends/qt/ui/PrefPathsUi.ui:220
-msgid "&Working directory:"
-msgstr "&Каталог пользователя:"
+#: src/insets/InsetCounter.cpp:143
+msgid "Uppercase Letter"
+msgstr "Прописные буквы"
 
-#: src/frontends/qt/ui/PrefPathsUi.ui:230
-msgid "H&unspell dictionaries:"
-msgstr "&Словари Hunspell:"
+#: src/insets/InsetCounter.cpp:144
+msgid "Lowercase Letter"
+msgstr "Строчные буквы"
 
-#: src/frontends/qt/ui/PrefScreenFontsUi.ui:95
-msgid "Sans Seri&f:"
-msgstr "&Без засечек:"
+#: src/insets/InsetCounter.cpp:145
+msgid "Arabic Numeral"
+msgstr "Арабские"
 
-#: src/frontends/qt/ui/PrefScreenFontsUi.ui:131
-msgid "T&ypewriter:"
-msgstr "&Машинописный:"
+#: src/insets/InsetCounter.cpp:223
+#, c-format
+msgid "Counter: Set %1$s"
+msgstr "Счётчик: установить %1$s"
 
-#: src/frontends/qt/ui/PrefScreenFontsUi.ui:141
-msgid "R&oman:"
-msgstr "С &засечками:"
+#: src/insets/InsetCounter.cpp:224
+#, c-format
+msgid "Set value of counter %1$s to %2$s"
+msgstr "Установить значение счётчика %1$s в %2$s"
 
-#: src/frontends/qt/ui/PrefScreenFontsUi.ui:209
-msgid "Default &zoom %:"
-msgstr "Масштаб по умолчанию (%):"
+#: src/insets/InsetCounter.cpp:228
+#, c-format
+msgid "Counter: Add to %1$s"
+msgstr "Счётчик: увеличить %1$s"
 
-#: src/frontends/qt/ui/PrefScreenFontsUi.ui:246
-msgid "Font Sizes"
-msgstr "Размеры шрифтов"
+#: src/insets/InsetCounter.cpp:229
+#, c-format
+msgid "Add %1$s to value of counter %2$s"
+msgstr "Прибавить %1$s к значению счётчика %2$s"
 
-#: src/frontends/qt/ui/PrefScreenFontsUi.ui:294
-msgid "&Large:"
-msgstr "&Большой:"
+#: src/insets/InsetCounter.cpp:232
+#, c-format
+msgid "Counter: Reset %1$s"
+msgstr "Счётчик: сбросить %1$s"
 
-#: src/frontends/qt/ui/PrefScreenFontsUi.ui:304
-msgid "&Larger:"
-msgstr "&Больший:"
+#: src/insets/InsetCounter.cpp:233
+#, c-format
+msgid "Reset value of counter %1$s"
+msgstr "Сбросить значение счётчика %1$s"
 
-#: src/frontends/qt/ui/PrefScreenFontsUi.ui:314
-msgid "&Largest:"
-msgstr "&Наибольший:"
+#: src/insets/InsetCounter.cpp:236
+#, c-format
+msgid "Counter: Save %1$s"
+msgstr "Счётчик: сохранить %1$s"
 
-#: src/frontends/qt/ui/PrefScreenFontsUi.ui:327
-msgid "&Huge:"
-msgstr "&Огромный:"
+#: src/insets/InsetCounter.cpp:237
+#, c-format
+msgid "Save value of counter %1$s"
+msgstr "Сохранить значение счётчика %1$s"
 
-#: src/frontends/qt/ui/PrefScreenFontsUi.ui:337
-msgid "&Hugest:"
-msgstr "&Огромнейший:"
+#: src/insets/InsetCounter.cpp:240
+#, c-format
+msgid "Counter: Restore %1$s"
+msgstr "Счётчик: восстановить %1$s"
 
-#: src/frontends/qt/ui/PrefScreenFontsUi.ui:347
-msgid "S&mallest:"
-msgstr "&Наименьший:"
+#: src/insets/InsetCounter.cpp:241
+#, c-format
+msgid "Restore value of counter %1$s"
+msgstr "Восстановить значение счётчика %1$s"
 
-#: src/frontends/qt/ui/PrefScreenFontsUi.ui:357
-msgid "S&maller:"
-msgstr "&Меньший:"
+#: src/insets/InsetERT.cpp:164 src/insets/InsetERT.cpp:166
+#: lib/layouts/stdinsets.inc:207
+msgid "ERT"
+msgstr "ERT"
 
-#: src/frontends/qt/ui/PrefScreenFontsUi.ui:367
-msgid "S&mall:"
-msgstr "&Малый:"
+#: src/insets/InsetExternal.cpp:405
+#, c-format
+msgid "External template %1$s is not installed"
+msgstr "Внешний шаблон %1$s не установлен"
 
-#: src/frontends/qt/ui/PrefScreenFontsUi.ui:377
-msgid "&Normal:"
-msgstr "&Нормальный:"
+#: src/insets/InsetFloat.cpp:140
+#, c-format
+msgid "ERROR: Unknown float type: %1$s"
+msgstr "ОШИБКА: Плавающий объект неизвестного типа: %1$s"
 
-#: src/frontends/qt/ui/PrefScreenFontsUi.ui:387
-msgid "&Tiny:"
-msgstr "&Крохотный:"
+#: src/insets/InsetFloat.cpp:486
+msgid "float"
+msgstr "Плавающий объект"
 
-#: src/frontends/qt/ui/PrefShortcutsUi.ui:68
-msgid "&New"
-msgstr "&Создать"
+#: src/insets/InsetFloat.cpp:751
+msgid "float: "
+msgstr "Плавающий объект: "
 
-#: src/frontends/qt/ui/PrefShortcutsUi.ui:90
-msgid "&Bind file:"
-msgstr "&Файл привязок клавиш:"
+#: src/insets/InsetFloat.cpp:754
+msgid "subfloat: "
+msgstr "Плавающий подобъект: "
 
-#: src/frontends/qt/ui/PrefShortcutsUi.ui:108
-msgid "Show ke&y-bindings containing:"
-msgstr "Показать &привязки клавиш, содержащие:"
+#: src/insets/InsetFloat.cpp:764
+msgid " (sideways)"
+msgstr " (в стороне)"
 
-#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:41
-msgid "If unchecked, notes and comments will be excluded from spell checking"
+#: src/insets/InsetFloatList.cpp:82
+msgid "ERROR: Nonexistent float type!"
+msgstr "ОШИБКА: Плавающий объект несуществующего типа!"
+
+#: src/insets/InsetFloatList.cpp:152
+#, c-format
+msgid "LyX cannot generate a list of %1$s"
+msgstr "LyX не может создать список %1$s"
+
+#: src/insets/InsetFoot.cpp:118
+msgid "footnote"
+msgstr "Сноска"
+
+#: src/insets/InsetGraphics.cpp:560 src/insets/InsetInclude.cpp:783
+#, c-format
+msgid ""
+"Could not copy the file\n"
+"%1$s\n"
+"into the temporary directory."
 msgstr ""
-"Если отключено, то в заметках и комментариях не будет проверяться "
-"правописание"
+"Не удалось скопировать файл\n"
+"%1$s\n"
+"во временный каталог."
 
-#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:44
-msgid "Spellcheck &notes and comments"
-msgstr "Проверять заметки и комментарии"
+#: src/insets/InsetGraphics.cpp:776 src/insets/InsetGraphics.cpp:1014
+#, c-format
+msgid "No conversion of %1$s is needed after all"
+msgstr "Преобразование %1$s не нужно"
 
-#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:51
-msgid "&Spellchecker engine:"
-msgstr "Программа проверки правописания:"
+#: src/insets/InsetGraphics.cpp:905
+#, c-format
+msgid ""
+"The following characters in one of the graphic paths are\n"
+"not representable in the current encoding and have been omitted: %1$s.\n"
+"You need to adapt either the encoding or the path."
+msgstr ""
+"Следующие символы в одном из графических путей невозможно\n"
+"представить в текущей кодировке, они будут пропущены: %1$s.\n"
+"Необходимо изменить либо кодировку, либо путь."
 
-#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:64
-msgid "Accept words such as \"diskdrive\""
-msgstr "Принимать такие слова, как \"diskdrive\""
+#: src/insets/InsetGraphics.cpp:930
+#, c-format
+msgid "Graphics file: %1$s"
+msgstr "Файл изображения: %1$s"
 
-#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:67
-msgid "Accept compound &words"
-msgstr "Допускать составные &слова"
+#: src/insets/InsetHyperlink.cpp:68
+msgid "Hyperlink: "
+msgstr "Гиперссылка: "
 
-#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:74
-msgid "Mark misspelled words with a underline."
-msgstr "Помечать ошибочные слова подчёркиванием."
+#: src/insets/InsetHyperlink.cpp:272
+msgid "www"
+msgstr "www"
 
-#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:77
-msgid "S&pellcheck continuously"
-msgstr "Непрерывная проверка правописания"
+#: src/insets/InsetHyperlink.cpp:274
+msgid "email"
+msgstr "email"
 
-#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:100
-msgid "The characters inserted here are ignored by the spellchecker."
-msgstr ""
-"Символы, вставленные сюда, игнорируются программой проверки правописания."
+#: src/insets/InsetHyperlink.cpp:276
+msgid "file"
+msgstr "файл"
 
-#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:107
-msgid "&Escape characters:"
-msgstr "Управляющие &символы:"
+#: src/insets/InsetHyperlink.cpp:277
+#, c-format
+msgid "Hyperlink (%1$s) to %2$s"
+msgstr "Гиперссылка (%1$s) на %2$s"
 
-#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:117
-msgid "Override the language used for the spellchecker"
-msgstr "Подменить язык используемый для проверки правописания"
+#: src/insets/InsetIPAMacro.cpp:55 lib/ui/stdtoolbars.inc:1400
+msgid "Top tie bar"
+msgstr "Верхняя перемычка"
 
-#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:124
-msgid "Al&ternative language:"
-msgstr "&Другие языки:"
+#: src/insets/InsetIPAMacro.cpp:56 lib/ui/stdtoolbars.inc:1401
+msgid "Bottom tie bar"
+msgstr "Нижняя перемычка"
 
-#: src/frontends/qt/ui/PrefUi.ui:26
-msgid "General Look && Feel"
-msgstr "Вид и поведение"
+#: src/insets/InsetInclude.cpp:408
+msgid "FILE MISSING:"
+msgstr "ФАЙЛ ОТСУТСТВУЕТ:"
 
-#: src/frontends/qt/ui/PrefUi.ui:37
-msgid "Use icons from system's &theme"
-msgstr "Использовать значки из системной темы"
+#: src/insets/InsetInclude.cpp:414 src/frontends/qt/ui/IncludeUi.ui:51
+msgid "Input"
+msgstr "Ввести (input)"
 
-#: src/frontends/qt/ui/PrefUi.ui:48
-msgid "&User interface file:"
-msgstr "&Файл пользовательского интерфейса:"
+#: src/insets/InsetInclude.cpp:417 lib/layouts/stdlayouts.inc:82
+#: src/frontends/qt/ui/IncludeUi.ui:56
+msgid "Verbatim"
+msgstr "Буквально"
 
-#: src/frontends/qt/ui/PrefUi.ui:68
-msgid "&Icon set:"
-msgstr "&Набор значков:"
+#: src/insets/InsetInclude.cpp:420 lib/layouts/stdlayouts.inc:107
+msgid "Verbatim*"
+msgstr "Буквально*"
 
-#: src/frontends/qt/ui/PrefUi.ui:78
+#: src/insets/InsetInclude.cpp:424 src/frontends/qt/ui/IncludeUi.ui:46
+msgid "Include"
+msgstr "Включить (include)"
+
+#: src/insets/InsetInclude.cpp:426
+msgid "Include (excluded)"
+msgstr "Включить (исключено)"
+
+#: src/insets/InsetInclude.cpp:535
+#, c-format
 msgid ""
-"The icon set to use. Warning: normal size of icons may be wrong until you "
-"save the preferences and restart LyX."
+"The file\n"
+"%1$s\n"
+" has attempted to include itself.\n"
+"The document set will not work properly until this is fixed!"
 msgstr ""
-"Набор значков для использования. Предупреждение: обычный размер значков "
-"может быть неверным пока вы не сохраните настройки и не перезапустите LyX."
+"Файл\n"
+"%1$s\n"
+" попытался включить себя.\n"
+"Документ не будет работать правильно, пока это не будет исправлено!"
 
-#: src/frontends/qt/ui/PrefUi.ui:106
-msgid "Context Help"
-msgstr "Контекстная помощь"
+#: src/insets/InsetInclude.cpp:537
+msgid "Recursive Include"
+msgstr "Рекурсивный ввод"
 
-#: src/frontends/qt/ui/PrefUi.ui:133
+#: src/insets/InsetInclude.cpp:551
+msgid "No file name specified"
+msgstr "Не указано имя файла"
+
+#: src/insets/InsetInclude.cpp:552
 msgid ""
-"Checking this allows the automatic display of helpful comments for insets in "
-"the main work area of an edited document"
+"An included file name is empty.\n"
+"Ignoring Inclusion"
+msgstr "Пустое имя включаемого файла. Включение проигнорировано."
+
+#: src/insets/InsetInclude.cpp:559
+msgid "Included file not found"
+msgstr "Включённый файл не найден"
+
+#: src/insets/InsetInclude.cpp:560
+#, c-format
+msgid ""
+"The included file\n"
+"'%1$s'\n"
+"has not been found. LyX will ignore the inclusion."
 msgstr ""
-"Отметьте это, чтобы показывать полезные комментарии для вставок в главной "
-"рабочей области редактируемого документа"
+"Включённый файл\n"
+"'%1$s'\n"
+"не найден. LyX игнорирует включение."
 
-#: src/frontends/qt/ui/PrefUi.ui:136
-msgid "&Enable tool tips in main work area"
-msgstr "&Разрешить подсказки в главной рабочей области"
+#: src/insets/InsetInclude.cpp:797
+#, c-format
+msgid ""
+"Could not load included file\n"
+"`%1$s'\n"
+"Please, check whether it actually exists."
+msgstr ""
+"Не удаётся загрузить включённый файл `%1$s'.\n"
+"Пожалуйста проверьте существует ли он."
 
-#: src/frontends/qt/ui/PrefUi.ui:146
-msgid "Menus"
-msgstr "Меню"
+#: src/insets/InsetInclude.cpp:801 src/insets/InsetInclude.cpp:908
+#: src/insets/InsetInclude.cpp:934
+msgid "Error: "
+msgstr "Ошибка: "
 
-#: src/frontends/qt/ui/PrefUi.ui:157
-msgid "&Maximum last files:"
-msgstr "&Количество недавних файлов:"
+#: src/insets/InsetInclude.cpp:813
+#, c-format
+msgid ""
+"Included file `%1$s'\n"
+"has textclass `%2$s'\n"
+"while parent file has textclass `%3$s'."
+msgstr ""
+"Включённый файл `%1$s'\n"
+"имеет класс `%2$s',\n"
+"тогда как родительский файл использует класс `%3$s'."
 
-#: src/frontends/qt/ui/PrefsUi.ui:45
+#: src/insets/InsetInclude.cpp:819
+msgid "Different textclasses"
+msgstr "Различные классы документа"
+
+#: src/insets/InsetInclude.cpp:825
+#, c-format
 msgid ""
-"If this is checked, pressing OK or Apply will save the changes only for the "
-"current LyX session, not permanently."
+"Included file `%1$s'\n"
+"has use-non-TeX-fonts set to `%2$s'\n"
+"while parent file has use-non-TeX-fonts set to `%3$s'."
 msgstr ""
-"Если эта опция включена, нажатие кнопки OK или Применить будет сохранять "
-"изменения только для текущей сессии."
+"Во включённом файле `%1$s'\n"
+"параметр 'Использование системных шрифтов' имеет значение `%2$s',\n"
+"тогда как родительский файл использует `%3$s'."
 
-#: src/frontends/qt/ui/PrefsUi.ui:48
-msgid "A&pply to current session only"
-msgstr "Применить только для текущей сессии"
+#: src/insets/InsetInclude.cpp:831
+msgid "Different use-non-TeX-fonts settings"
+msgstr "Другие настройки использования системных шрифтов"
 
-#: src/frontends/qt/ui/PrintNomenclUi.ui:13
-msgid "Nomenclature settings"
-msgstr "Список обозначений"
+#: src/insets/InsetInclude.cpp:834
+#, c-format
+msgid ""
+"Included file `%1$s'\n"
+"uses input encoding \"%2$s\" [%3$s]\n"
+"while parent file uses input encoding \"%4$s\" [%5$s]."
+msgstr ""
+"Включённый файл `%1$s'\n"
+"использует кодировку \"%2$s\" [%3$s],\n"
+"тогда как родительский файл использует кодировку \"%4$s\" [%5$s]."
 
-#: src/frontends/qt/ui/PrintNomenclUi.ui:19
-#: src/frontends/qt/ui/PrintNomenclUi.ui:32
-msgid "Define hanging indentation/label length for the nomenclature list."
-msgstr "Определите отступ/длину метки для списка обозначений."
+#: src/insets/InsetInclude.cpp:842
+msgid "Different LaTeX input encodings"
+msgstr "Разные кодировки LaTeX"
 
-#: src/frontends/qt/ui/PrintNomenclUi.ui:22
-msgid "&List Indentation:"
-msgstr "&Отступ списка:"
+#: src/insets/InsetInclude.cpp:857
+#, c-format
+msgid ""
+"Included file `%1$s'\n"
+"uses module `%2$s'\n"
+"which is not used in parent file."
+msgstr ""
+"Включённый файл `%1$s'\n"
+"использует модуль `%2$s',\n"
+"который не используется в родительском файле."
 
-#: src/frontends/qt/ui/PrintNomenclUi.ui:39
-msgid "Custom &Width:"
-msgstr "Польз. ширина:"
+#: src/insets/InsetInclude.cpp:861
+msgid "Module not found"
+msgstr "Модуль не найден"
 
-#: src/frontends/qt/ui/PrintNomenclUi.ui:52
-msgid "Custom value. \"List Indentation\" needs to be set to \"Custom\"."
+#: src/insets/InsetInclude.cpp:900 src/insets/InsetInclude.cpp:927
+#, c-format
+msgid ""
+"Included file `%1$s' was not exported correctly.\n"
+" LaTeX export is probably incomplete."
 msgstr ""
-"Пользовательское значение. Требует тип отступа \"Задано пользователем\"."
+"Включённый файл `%1$s' не был корректно экспортирован.\n"
+" Результат экспорта в LaTeX вероятно не полон."
 
-#: src/frontends/qt/ui/PrintindexUi.ui:40
-msgid "Available i&ndexes:"
-msgstr "&Доступные указатели:"
+#: src/insets/InsetInclude.cpp:964 src/insets/InsetInclude.cpp:1068
+msgid "Unsupported Inclusion"
+msgstr "Неподдерживаемое включение"
 
-#: src/frontends/qt/ui/PrintindexUi.ui:50
-msgid "Select the index that shall be printed at this place of the document."
-msgstr "Выберите указатель, который будет напечатан в этом месте документа."
+#: src/insets/InsetInclude.cpp:965
+#, c-format
+msgid ""
+"LyX does not know how to include non-LyX files when generating HTML output. "
+"Offending file:\n"
+"%1$s"
+msgstr ""
+"LyX не знает, как включить не-LyX файлы при генерации HTML-вывода. Файл-"
+"нарушитель:\n"
+"%1$s"
 
-#: src/frontends/qt/ui/PrintindexUi.ui:61
-msgid "Check if this index should be part (e.g., a section) of the former one."
+#: src/insets/InsetInclude.cpp:1069
+#, c-format
+msgid ""
+"LyX does not know how to process included non-LyX files when generating "
+"DocBook output. The content of the file will be output as a comment. "
+"Offending file:\n"
+"%1$s"
 msgstr ""
-"Установите, если этот указатель должен быть частью (например, разделом) "
-"предыдущего."
+"LyX не знает, как включить не-LyX файлы при генерации DocBook-вывода. "
+"Содержимое файла будет выведено в комментарии. Файл-нарушитель:\n"
+"%1$s"
 
-#: src/frontends/qt/ui/PrintindexUi.ui:64
-msgid "&Subindex"
-msgstr "&Подуказатель"
+#: src/insets/InsetInclude.cpp:1351
+msgid "FILE MISSING: "
+msgstr "ФАЙЛ ОТСУТСТВУЕТ: "
 
-#: src/frontends/qt/ui/PrintindexUi.ui:71
+#: src/insets/InsetInclude.cpp:1422 src/insets/InsetInclude.cpp:1428
+#: src/frontends/qt/ui/IncludeUi.ui:61
+msgid "Program Listing"
+msgstr "Листинг программы"
+
+#: src/insets/InsetIndex.cpp:156
+msgid "Index sorting failed"
+msgstr "Сортировка указателя завершилась неудачно"
+
+#: src/insets/InsetIndex.cpp:157
+#, c-format
 msgid ""
-"Pass index names literally to LaTeX. Check this if you want to use LaTeX "
-"code in index names."
+"LyX's automatic index sorting algorithm faced\n"
+"problems with the entry '%1$s'.\n"
+"Please specify the sorting of this entry manually, as\n"
+"explained in the User Guide."
 msgstr ""
-"Передавать имена указателей буквально в LaTeX. Выберите это, если вы хотите "
-"использовать код LaTeX в именах для указателей."
+"Алгоритм LyX автоматической сортировки указателя\n"
+"не смог обработать элемент '%1$s'.\n"
+"Укажите, как сортировать этот элемент вручную.\n"
+"Это описано в Руководстве пользователя."
 
-#: src/frontends/qt/ui/ProgressViewUi.ui:93 src/frontends/qt/GuiPrefs.cpp:215
-msgid "Output"
-msgstr "Вывод"
+#: src/insets/InsetIndex.cpp:461
+msgid "Index Entry"
+msgstr "Рубрика указателя"
 
-#: src/frontends/qt/ui/ProgressViewUi.ui:143
-msgid "Settings"
-msgstr "Настройки"
+#: src/insets/InsetIndex.cpp:647
+msgid "Unknown index type!"
+msgstr "Неизвестный тип указателя!"
 
-#: src/frontends/qt/ui/ProgressViewUi.ui:164
-msgid "Select the debug messages that should be displayed"
-msgstr "Выберите отладочные сообщения для показа"
+#: src/insets/InsetIndex.cpp:648
+msgid "All indexes"
+msgstr "Все указатели"
 
-#: src/frontends/qt/ui/ProgressViewUi.ui:192
-msgid "Automatic cleanup of the window before LaTeX compilation proceeds"
-msgstr "Автоматическая очистка окна перед началом компиляции LaTeX"
+#: src/insets/InsetIndex.cpp:652
+msgid "subindex"
+msgstr "подуказатель"
 
-#: src/frontends/qt/ui/ProgressViewUi.ui:195
-msgid "&Clear automatically"
-msgstr "Очищать автоматически"
+#: src/insets/InsetInfo.cpp:192
+msgid "No long date format (language unknown)!"
+msgstr "Нет формата длинной даты (язык неизвестен)!"
 
-#: src/frontends/qt/ui/ProgressViewUi.ui:208
-msgid "Debug messages"
-msgstr "Отладочные сообщения"
+#: src/insets/InsetInfo.cpp:195
+msgid "No medium date format (language unknown)!"
+msgstr "Нет формата средней даты (язык неизвестен)!"
 
-#: src/frontends/qt/ui/ProgressViewUi.ui:232
-msgid "Display no debug messages"
-msgstr "Не показывать отладочные сообщения"
+#: src/insets/InsetInfo.cpp:198
+msgid "No short date format (language unknown)!"
+msgstr "Нет формата короткой даты (язык неизвестен)!"
 
-#: src/frontends/qt/ui/ProgressViewUi.ui:235
-msgid "&None"
-msgstr "Нет"
+#: src/insets/InsetInfo.cpp:227
+msgid "Please select a valid type!"
+msgstr "Укажите допустимый тип!"
 
-#: src/frontends/qt/ui/ProgressViewUi.ui:242
-msgid "Display the debug messages selected to the right"
-msgstr "Показать отладочные сообщения, выбранные справа"
+#: src/insets/InsetInfo.cpp:269
+msgid "File name (with extension)"
+msgstr "Имя файла (с расширением)"
 
-#: src/frontends/qt/ui/ProgressViewUi.ui:245
-msgid "S&elected"
-msgstr "&Выделенное"
+#: src/insets/InsetInfo.cpp:270
+msgid "File name (without extension)"
+msgstr "Имя файла (без расширения)"
 
-#: src/frontends/qt/ui/ProgressViewUi.ui:252
-msgid "Display all debug messages"
-msgstr "Показать все отладочные сообщения"
+#: src/insets/InsetInfo.cpp:271
+msgid "File path"
+msgstr "Путь файла"
 
-#: src/frontends/qt/ui/ProgressViewUi.ui:255
-msgid "&All"
-msgstr "&Все"
+#: src/insets/InsetInfo.cpp:272
+msgid "Used text class"
+msgstr "Используемый класс текста"
 
-#: src/frontends/qt/ui/ProgressViewUi.ui:265
-msgid "Display statusbar messages?"
-msgstr "Показывать сообщения строки состояния?"
+#: src/insets/InsetInfo.cpp:277 src/insets/InsetInfo.cpp:1105
+msgid "No version control!"
+msgstr "Нет управления версиями!"
 
-#: src/frontends/qt/ui/ProgressViewUi.ui:268
-msgid "&Statusbar messages"
-msgstr "Сообщения в строке состояния"
+#: src/insets/InsetInfo.cpp:280
+msgid "Revision[[Version Control]]"
+msgstr "Версия"
 
-#: src/frontends/qt/ui/RefUi.ui:49
-msgid "&In[[buffer]]:"
-msgstr "&Документ:"
+#: src/insets/InsetInfo.cpp:281
+msgid "Abbreviated revision[[Version Control]]"
+msgstr "Сокращённая версия"
 
-#: src/frontends/qt/ui/RefUi.ui:86
-msgid "The (sub-)document from which the available labels are displayed"
-msgstr "(Под-)документ, из которого отображаются доступные метки"
+#: src/insets/InsetInfo.cpp:282
+msgid "Tree revision"
+msgstr "Версия дерева"
 
-#: src/frontends/qt/ui/RefUi.ui:120
-msgid "So&rt:"
-msgstr "Сортировать:"
+#: src/insets/InsetInfo.cpp:283 lib/layouts/IEEEtran.layout:119
+#: lib/layouts/aa.layout:216 lib/layouts/aapaper.layout:84
+#: lib/layouts/aapaper.layout:183 lib/layouts/aastex.layout:149
+#: lib/layouts/aastex62.layout:150 lib/layouts/achemso.layout:80
+#: lib/layouts/acmart.layout:81 lib/layouts/acmsiggraph-0-92.layout:175
+#: lib/layouts/acmsiggraph.layout:151 lib/layouts/amsdefs.inc:54
+#: lib/layouts/apa.layout:119 lib/layouts/apax.inc:73
+#: lib/layouts/beamer.layout:1044 lib/layouts/beamerposter.layout:31
+#: lib/layouts/broadway.layout:206 lib/layouts/cl2emult.layout:60
+#: lib/layouts/copernicus.layout:58 lib/layouts/ectaart.layout:109
+#: lib/layouts/ectaart.layout:185 lib/layouts/ectaart.layout:188
+#: lib/layouts/egs.layout:361 lib/layouts/elsart.layout:117
+#: lib/layouts/elsarticle.layout:124 lib/layouts/entcs.layout:51
+#: lib/layouts/foils.layout:158 lib/layouts/hollywood.layout:325
+#: lib/layouts/ijmpc.layout:126 lib/layouts/ijmpd.layout:131
+#: lib/layouts/iopart.layout:133 lib/layouts/isprs.layout:77
+#: lib/layouts/jasatex.layout:86 lib/layouts/jss.layout:47
+#: lib/layouts/kluwer.layout:168 lib/layouts/llncs.layout:183
+#: lib/layouts/ltugboat.layout:160 lib/layouts/maa-monthly.layout:60
+#: lib/layouts/memoir.layout:263 lib/layouts/paper.layout:124
+#: lib/layouts/powerdot.layout:68 lib/layouts/revtex.layout:104
+#: lib/layouts/scrclass.inc:218 lib/layouts/siamltex.layout:218
+#: lib/layouts/sigplanconf.layout:147 lib/layouts/stdtitle.inc:36
+#: lib/layouts/svcommon.inc:344 lib/layouts/svmult.layout:79
+#: lib/layouts/svprobth.layout:93 lib/layouts/tufte-book.layout:55
+msgid "Author"
+msgstr "Автор"
 
-#: src/frontends/qt/ui/RefUi.ui:130
-msgid "Sorting of the list of available labels"
-msgstr "Сортировка списка доступных меток"
+#: src/insets/InsetInfo.cpp:284 lib/layouts/aa.layout:227
+#: lib/layouts/aapaper.layout:99 lib/layouts/aapaper.layout:194
+#: lib/layouts/aastex.layout:239 lib/layouts/acmart.layout:133
+#: lib/layouts/amsdefs.inc:74 lib/layouts/beamer.layout:1111
+#: lib/layouts/beamerposter.layout:41 lib/layouts/dinbrief.layout:161
+#: lib/layouts/egs.layout:540 lib/layouts/foils.layout:165
+#: lib/layouts/frletter.layout:22 lib/layouts/g-brief.layout:195
+#: lib/layouts/g-brief2.layout:54 lib/layouts/g-brief2.layout:862
+#: lib/layouts/jasatex.layout:148 lib/layouts/kluwer.layout:152
+#: lib/layouts/lettre.layout:56 lib/layouts/lettre.layout:219
+#: lib/layouts/moderncv.layout:573 lib/layouts/powerdot.layout:90
+#: lib/layouts/revtex.layout:112 lib/layouts/revtex4-x.inc:148
+#: lib/layouts/revtex4.layout:127 lib/layouts/scrclass.inc:225
+#: lib/layouts/scrlettr.layout:165 lib/layouts/scrlttr2.layout:244
+#: lib/layouts/siamltex.layout:237 lib/layouts/stdtitle.inc:58
+#: lib/layouts/svcommon.inc:370 lib/layouts/tufte-book.layout:60
+msgid "Date"
+msgstr "Дата"
 
-#: src/frontends/qt/ui/RefUi.ui:137
-msgid "Group the list of available labels by prefix (e.g. \"sec:\")"
-msgstr "Группировать список доступных меток по префиксу (напр. \"sec:\")"
+#: src/insets/InsetInfo.cpp:285
+msgid "Time[[of day]]"
+msgstr "Время"
 
-#: src/frontends/qt/ui/RefUi.ui:140
-msgid "Grou&p"
-msgstr "Группировать"
+#: src/insets/InsetInfo.cpp:290
+msgid "LyX version"
+msgstr "Версия LyX"
 
-#: src/frontends/qt/ui/RefUi.ui:162
-msgid "Available &Labels:"
-msgstr "Доступные метки:"
+#: src/insets/InsetInfo.cpp:291
+msgid "LyX layout format"
+msgstr "Формат макета LyX"
 
-#: src/frontends/qt/ui/RefUi.ui:174
-msgid "Sele&cted Label:"
-msgstr "&Выбранная метка:"
+#: src/insets/InsetInfo.cpp:486
+msgid "Invalid information inset"
+msgstr "Неверная информационная вставка"
 
-#: src/frontends/qt/ui/RefUi.ui:187
-msgid "Select a label from the list above or enter a label manually"
-msgstr "Выберите метку из списка выше или введите её сами"
+#: src/insets/InsetInfo.cpp:489
+#, c-format
+msgid "The keybard shortcut for the function '%1$s'"
+msgstr "Сочетание клавиш для функции '%1$s'"
 
-#: src/frontends/qt/ui/RefUi.ui:200 src/frontends/qt/GuiRef.cpp:407
-msgid "Jump to the selected label"
-msgstr "Перейти к выделенной метке"
+#: src/insets/InsetInfo.cpp:493
+#, c-format
+msgid "The keybard shortcuts for the function '%1$s'"
+msgstr "Сочетания клавиш для функции '%1$s'"
 
-#: src/frontends/qt/ui/RefUi.ui:203 src/frontends/qt/GuiRef.cpp:406
-msgid "&Go to Label"
-msgstr "Перейти к метке"
+#: src/insets/InsetInfo.cpp:497
+#, c-format
+msgid "The menu location for the function '%1$s'"
+msgstr "Расположение меню для функции '%1$s'"
 
-#: src/frontends/qt/ui/RefUi.ui:214
-msgid "Reference For&mat:"
-msgstr "Формат ссылки:"
+#: src/insets/InsetInfo.cpp:501
+#, c-format
+msgid "The localization for the string '%1$s'"
+msgstr "Перевод для строки '%1$s'"
 
-#: src/frontends/qt/ui/RefUi.ui:233
-msgid "Adjust the style of the cross-reference"
-msgstr "Настроить стиль перекрёстной ссылки"
+#: src/insets/InsetInfo.cpp:505
+#, c-format
+msgid "The toolbar icon for the function '%1$s'"
+msgstr "Значок панели для функции '%1$s'"
 
-#: src/frontends/qt/ui/RefUi.ui:237 src/frontends/qt/GuiRef.cpp:321
-msgid "<reference>"
-msgstr "<ссылка>"
+#: src/insets/InsetInfo.cpp:509
+#, c-format
+msgid "The preference setting for the preference key '%1$s'"
+msgstr "Значение параметра для ключа '%1$s'"
 
-#: src/frontends/qt/ui/RefUi.ui:242 src/frontends/qt/GuiRef.cpp:322
-msgid "(<reference>)"
-msgstr "(<ссылка>)"
+#: src/insets/InsetInfo.cpp:513
+#, c-format
+msgid "Availability of the LaTeX package '%1$s'"
+msgstr "Доступность пакета LaTeX '%1$s'"
 
-#: src/frontends/qt/ui/RefUi.ui:247 src/frontends/qt/GuiRef.cpp:323
-msgid "<page>"
-msgstr "<страница>"
+#: src/insets/InsetInfo.cpp:517
+#, c-format
+msgid "Availability of the LaTeX class '%1$s'"
+msgstr "Доступность класса LaTeX '%1$s'"
 
-#: src/frontends/qt/ui/RefUi.ui:252 src/frontends/qt/GuiRef.cpp:324
-msgid "on page <page>"
-msgstr "на странице <стр.>"
+#: src/insets/InsetInfo.cpp:522
+msgid "The name of this file (incl. extension)"
+msgstr "Имя этого файла (с расширением)"
 
-#: src/frontends/qt/ui/RefUi.ui:257 src/frontends/qt/GuiRef.cpp:325
-msgid "<reference> on page <page>"
-msgstr "<ссылка> на странице <стр.>"
+#: src/insets/InsetInfo.cpp:524
+msgid "The name of this file (without extension)"
+msgstr "Имя этого файла (без расширения)"
 
-#: src/frontends/qt/ui/RefUi.ui:262 src/frontends/qt/GuiRef.cpp:328
-#: src/frontends/qt/GuiRef.cpp:331
-msgid "Formatted reference"
-msgstr "Форматированная ссылка"
+#: src/insets/InsetInfo.cpp:526
+msgid "The path where this file is saved"
+msgstr "Путь, по которому сохранён файл"
 
-#: src/frontends/qt/ui/RefUi.ui:267 src/frontends/qt/GuiRef.cpp:326
-msgid "Textual reference"
-msgstr "Текстовая ссылка"
+#: src/insets/InsetInfo.cpp:528
+msgid "The class this document uses"
+msgstr "Используемый класс документа"
 
-#: src/frontends/qt/ui/RefUi.ui:272 src/frontends/qt/GuiRef.cpp:329
-msgid "Label only"
-msgstr "Только метка"
+#: src/insets/InsetInfo.cpp:532
+msgid "Version control revision"
+msgstr "Версия (система управления версиями)"
 
-#: src/frontends/qt/ui/RefUi.ui:310
+#: src/insets/InsetInfo.cpp:534
+msgid "Version control abbreviated revision"
+msgstr "Сокращённая версия (система управления версиями)"
+
+#: src/insets/InsetInfo.cpp:536
+msgid "Version control tree revision"
+msgstr "Версия дерева (система управления версиями)"
+
+#: src/insets/InsetInfo.cpp:538
+msgid "Version control author"
+msgstr "Автор (система управления версиями)"
+
+#: src/insets/InsetInfo.cpp:540
+msgid "Version control date"
+msgstr "Дата (система управления версиями)"
+
+#: src/insets/InsetInfo.cpp:542
+msgid "Version control time"
+msgstr "Время (система управления версиями)"
+
+#: src/insets/InsetInfo.cpp:546
+msgid "The current LyX version"
+msgstr "Текущая версия LyX"
+
+#: src/insets/InsetInfo.cpp:548
+msgid "The current LyX layout format"
+msgstr "Текущий формат макета LyX"
+
+#: src/insets/InsetInfo.cpp:551
+msgid "The current date"
+msgstr "Текущая дата"
+
+#: src/insets/InsetInfo.cpp:554
+msgid "The date of last save"
+msgstr "Дата последнего сохранения"
+
+#: src/insets/InsetInfo.cpp:557
+msgid "A static date"
+msgstr "Заданная дата"
+
+#: src/insets/InsetInfo.cpp:560
+msgid "The current time"
+msgstr "Текущее время"
+
+#: src/insets/InsetInfo.cpp:563
+msgid "The time of last save"
+msgstr "Время последнего сохранения"
+
+#: src/insets/InsetInfo.cpp:566
+msgid "A static time"
+msgstr "Заданное время"
+
+#: src/insets/InsetInfo.cpp:593
+msgid "Missing \\end_inset at this point."
+msgstr "Пропущен \\end_inset в этой точке."
+
+#: src/insets/InsetInfo.cpp:787
+msgid "Unknown Info!"
+msgstr "Неизвестная инфо!"
+
+#: src/insets/InsetInfo.cpp:796 src/insets/InsetInfo.cpp:984
+#, c-format
+msgid "Unknown action %1$s"
+msgstr "Неизвестное действие %1$s"
+
+#: src/insets/InsetInfo.cpp:802 src/insets/InsetInfo.cpp:913
+#: src/insets/InsetInfo.cpp:922 src/insets/InsetInfo.cpp:930
+msgid "undefined"
+msgstr "неопределённый"
+
+#: src/insets/InsetInfo.cpp:826 src/insets/InsetInfo.cpp:876
+msgid "Return[[Key]]"
+msgstr "Return[[Key]]"
+
+#: src/insets/InsetInfo.cpp:831
+msgid "Tab[[Key]]"
+msgstr "Tab[[Key]]"
+
+#: src/insets/InsetInfo.cpp:836
+msgid "PgUp"
+msgstr "PgUp"
+
+#: src/insets/InsetInfo.cpp:841
+msgid "PgDown"
+msgstr "PgDown"
+
+#: src/insets/InsetInfo.cpp:846
+msgid "Backtab"
+msgstr "Backtab"
+
+#: src/insets/InsetInfo.cpp:851
+msgid "Tab"
+msgstr "Tab"
+
+#: src/insets/InsetInfo.cpp:856 src/frontends/qt/ui/PrefInputUi.ui:249
+msgid "Shift"
+msgstr "Shift"
+
+#: src/insets/InsetInfo.cpp:861
+msgid "CapsLock"
+msgstr "CapsLock"
+
+#: src/insets/InsetInfo.cpp:866
+msgid "Control[[Key]]"
+msgstr "Control"
+
+#: src/insets/InsetInfo.cpp:871
+msgid "Command[[Key]]"
+msgstr "Command"
+
+#: src/insets/InsetInfo.cpp:881
+msgid "Option[[Key]]"
+msgstr "Option"
+
+#: src/insets/InsetInfo.cpp:886
+msgid "Delete[[Key]]"
+msgstr "Delete"
+
+#: src/insets/InsetInfo.cpp:891
+msgid "Fn+Del"
+msgstr "Fn+Del"
+
+#: src/insets/InsetInfo.cpp:896
+msgid "Esc"
+msgstr "Esc"
+
+#: src/insets/InsetInfo.cpp:940
+msgid "not set"
+msgstr "не установлено"
+
+#: src/insets/InsetInfo.cpp:952 src/insets/InsetInfo.cpp:969
+msgid "yes"
+msgstr "да"
+
+#: src/insets/InsetInfo.cpp:955 src/insets/InsetInfo.cpp:972
+msgid "no"
+msgstr "нет"
+
+#: src/insets/InsetInfo.cpp:995
+#, c-format
+msgid "Can't determine menu entry for action %1$s in batch mode"
+msgstr "Невозможно определить пункт меню для действия %1$s в пакетном режиме"
+
+#: src/insets/InsetInfo.cpp:1003
+#, c-format
+msgid "No menu entry for action %1$s"
+msgstr "Нет пункта меню для действия: %1$s."
+
+#: src/insets/InsetInfo.cpp:1124
+#, c-format
+msgid "%1$s[[vcs data]] unknown"
+msgstr "%1$s[[vcs data]] неизвестен"
+
+#: src/insets/InsetLabel.cpp:78
+msgid "Label names must be unique!"
+msgstr "Имена меток должны быть уникальными!"
+
+#: src/insets/InsetLabel.cpp:79
+#, c-format
 msgid ""
-"Use plural form of formatted reference. (Works only for formatted "
-"references, and only if you are using refstyle.)"
+"The label %1$s already exists,\n"
+"it will be changed to %2$s."
 msgstr ""
-"Использовать форму множественного числа отформатированной ссылки. (Работает "
-"только для отформатированных ссылок, и только если вы используете refstyle.)"
+"Метка %1$s уже существует,\n"
+"она будет изменена в %2$s."
 
-#: src/frontends/qt/ui/RefUi.ui:313
-msgid "Plural"
-msgstr "Множ. число"
+#: src/insets/InsetLabel.cpp:185
+msgid "DUPLICATE: "
+msgstr "ДУБЛИКАТ: "
 
-#: src/frontends/qt/ui/RefUi.ui:320
+#: src/insets/InsetLine.cpp:68
+msgid "Horizontal line"
+msgstr "Горизонтальная линия"
+
+#: src/insets/InsetListings.cpp:333
+msgid "no more lstline delimiters available"
+msgstr "ограничители lstline недоступны"
+
+#: src/insets/InsetListings.cpp:338
+msgid "Running out of delimiters"
+msgstr "Выход за пределы ограничителя"
+
+#: src/insets/InsetListings.cpp:339
 msgid ""
-"Use capitalized form of formatted reference. (Works only for formatted "
-"references, and only if you are using refstyle.)"
+"For inline program listings, one character must be reserved\n"
+"as a delimiter. One of the listings, however, uses all available\n"
+"characters, so none is left for delimiting purposes.\n"
+"For the time being, I have replaced '!' by a warning, but you\n"
+"must investigate!"
 msgstr ""
-"Использовать прописную форму форматированной ссылки. (Работает только для "
-"отформатированных ссылок, и только если вы используете refstyle.)"
+"Для включаемых листингов программ, один символ должен быть зарезервирован\n"
+"как разделитель. Тем не менее, один из листингов использует все имеющиеся\n"
+"в наличии символы, так что не осталось ни одного для разделителя.\n"
+"Сейчас '!' был заменён на предупреждение, но вам надо с этим разобраться!"
 
-#: src/frontends/qt/ui/RefUi.ui:323
-msgid "Capitalized"
-msgstr "Первые Прописные"
+#: src/insets/InsetListings.cpp:420 src/insets/InsetListings.cpp:429
+msgid "Uncodable characters in listings inset"
+msgstr "Некодируемый символ во вставке листинга"
 
-#: src/frontends/qt/ui/RefUi.ui:330
-msgid "Do not output part of label before \":\""
-msgstr "Не выводить часть метки до \":\""
+#: src/insets/InsetListings.cpp:421
+#, c-format
+msgid ""
+"The following characters in one of the program listings are\n"
+"not representable in the current encoding and have been omitted:\n"
+"%1$s.\n"
+"This is due to a restriction of the listings package, which does\n"
+"not support your encoding '%2$s'.\n"
+"Toggling 'Use non-TeX fonts' in Document > Settings...\n"
+"might help."
+msgstr ""
+"Следующие символы в одном из листингов программ невозможно\n"
+"представить в текущей кодировке и они будут пропущены:\n"
+"%1$s.\n"
+"Это произошло из-за ограничения пакета listings, который\n"
+"не поддерживает вашу кодировку '%2$s'.\n"
+"Переключение 'Использовать системные шрифты' в Документ > Настройки...\n"
+"может помочь."
 
-#: src/frontends/qt/ui/RefUi.ui:333 lib/ui/stdcontext.inc:106
-msgid "No Prefix"
-msgstr "Без префикса"
+#: src/insets/InsetListings.cpp:430
+#, c-format
+msgid ""
+"The following characters in one of the program listings are\n"
+"not representable in the current encoding and have been omitted:\n"
+"%1$s."
+msgstr ""
+"Следующие символы в одном из листингов программ невозможно\n"
+"представить в текущей кодировке и они будут пропущены:\n"
+"%1$s."
 
-#: src/frontends/qt/ui/SearchUi.ui:68
-msgid "Repla&ce with:"
-msgstr "Заменить &на:"
+#: src/insets/InsetListingsParams.cpp:125
+msgid "A value is expected."
+msgstr "Ожидается числовое значение."
 
-#: src/frontends/qt/ui/SearchUi.ui:127
-msgid "Case &sensitive[[search]]"
-msgstr "Учитывать &регистр"
+#: src/insets/InsetListingsParams.cpp:128
+#: src/insets/InsetListingsParams.cpp:141
+#: src/insets/InsetListingsParams.cpp:154
+#: src/insets/InsetListingsParams.cpp:167
+#: src/insets/InsetListingsParams.cpp:181
+#: src/insets/InsetListingsParams.cpp:208
+#: src/insets/InsetListingsParams.cpp:240
+msgid "Unbalanced braces!"
+msgstr "Несбалансированные скобки!"
 
-#: src/frontends/qt/ui/SearchUi.ui:134
-msgid "Match w&hole words only"
-msgstr "&Только целые слова"
+#: src/insets/InsetListingsParams.cpp:136
+msgid "Please specify true or false."
+msgstr "Пожалуйста, укажите true или false."
 
-#: src/frontends/qt/ui/SendtoUi.ui:50
-msgid "Process the converted file with this command ($$FName = file name)"
-msgstr ""
-"Обработать преобразованный файл с помощью команды ($$FName = имя файла)"
+#: src/insets/InsetListingsParams.cpp:139
+msgid "Only true or false is allowed."
+msgstr "Допустимы только true или false."
 
-#: src/frontends/qt/ui/SendtoUi.ui:95
-msgid "Export for&mats:"
-msgstr "&Форматы экспорта:"
+#: src/insets/InsetListingsParams.cpp:149
+msgid "Please specify an integer value."
+msgstr "Пожалуйста, укажите целое число."
 
-#: src/frontends/qt/ui/SendtoUi.ui:105
-msgid "Send exported file to &command:"
-msgstr "Отправить экспортированный файл в команду:"
+#: src/insets/InsetListingsParams.cpp:152
+msgid "An integer is expected."
+msgstr "Ожидается целое число."
 
-#: src/frontends/qt/ui/ShortcutUi.ui:14
-msgid "Edit shortcut"
-msgstr "Привязка клавиш"
+#: src/insets/InsetListingsParams.cpp:162
+msgid "Please specify a LaTeX length expression."
+msgstr "Пожалуйста, укажите выражение длины LaTeX."
 
-#: src/frontends/qt/ui/ShortcutUi.ui:23
-msgid "Fu&nction:"
-msgstr "&Функция:"
+#: src/insets/InsetListingsParams.cpp:165
+msgid "Invalid LaTeX length expression."
+msgstr "Неправильное выражение длины LaTeX."
 
-#: src/frontends/qt/ui/ShortcutUi.ui:33
-msgid "Enter LyX function or command sequence"
-msgstr "Введите функцию LyX или последовательность команд"
+#: src/insets/InsetListingsParams.cpp:175
+#, c-format
+msgid "Please specify a LaTeX length expression or a skip amount (%1$s)"
+msgstr "Пожалуйста, укажите выражение длины LaTeX (%1$s)"
 
-#: src/frontends/qt/ui/ShortcutUi.ui:43
-msgid "Short&cut:"
-msgstr "&Сочетание клавиш:"
+#: src/insets/InsetListingsParams.cpp:179
+msgid "Not a valid LaTeX length expression or skip amount."
+msgstr "Неправильное выражение длины LaTeX."
 
-#: src/frontends/qt/ui/ShortcutUi.ui:56
-msgid ""
-"Type shortcut after clicking on this field. You can reset the content with "
-"the 'Clear' button"
-msgstr ""
-"Введите сочетание клавиш после нажатия на это поле. Вы можете сбросить "
-"содержимое поля кнопкой \"Очистить\""
+#: src/insets/InsetListingsParams.cpp:189
+#, c-format
+msgid "Please specify one of %1$s."
+msgstr "Пожалуйста, укажите один из: %1$s."
 
-#: src/frontends/qt/ui/ShortcutUi.ui:66
-msgid "Remove last key from the shortcut sequence"
-msgstr "Удалить последнюю клавишу из сочетания"
+#: src/insets/InsetListingsParams.cpp:223
+#, c-format
+msgid "Try one of %1$s."
+msgstr "Попробуйте один из %1$s."
 
-#: src/frontends/qt/ui/ShortcutUi.ui:69
-msgid "&Delete Key"
-msgstr "&Удалить"
+#: src/insets/InsetListingsParams.cpp:225
+#, c-format
+msgid "I guess you mean %1$s."
+msgstr "Предполагаю, вы подразумевали %1$s."
 
-#: src/frontends/qt/ui/ShortcutUi.ui:76
-msgid "Clear current shortcut"
-msgstr "Очистить текущее сочетание"
+#: src/insets/InsetListingsParams.cpp:232
+#, c-format
+msgid "Please specify one or more of '%1$s'."
+msgstr "Пожалуйста, укажите один или более '%1$s'."
 
-#: src/frontends/qt/ui/ShortcutUi.ui:79 src/frontends/qt/ui/TabularUi.ui:1106
-msgid "C&lear"
-msgstr "&Очистить"
+#: src/insets/InsetListingsParams.cpp:237
+#, c-format
+msgid "Should be composed of one or more of %1$s."
+msgstr "Должен быть скомпонован из одного или больше %1$s."
 
-#: src/frontends/qt/ui/SpellcheckerUi.ui:20
-#: src/frontends/qt/GuiSpellchecker.cpp:251
-#: src/frontends/qt/GuiSpellchecker.cpp:258
-#: src/frontends/qt/GuiSpellchecker.cpp:541
-msgid "Spell Checker"
-msgstr "Проверка правописания"
+#: src/insets/InsetListingsParams.cpp:326
+msgid ""
+"Use \\footnotesize, \\small, \\itshape, \\ttfamily or something like that"
+msgstr ""
+"Используйте \\footnotesize, \\small, \\itshape, \\ttfamily или что-то в этом "
+"роде"
 
-#: src/frontends/qt/ui/SpellcheckerUi.ui:29
-msgid "Replace with selected word"
-msgstr "Заменить выбранным словом"
+#: src/insets/InsetListingsParams.cpp:329
+msgid "none, leftline, topline, bottomline, lines, single"
+msgstr "none, leftline, topline, bottomline, lines, single"
 
-#: src/frontends/qt/ui/SpellcheckerUi.ui:45
-msgid "Replace word with current choice"
-msgstr "Заменить слово на выбранное"
+#: src/insets/InsetListingsParams.cpp:331
+msgid ""
+"none, leftline, topline, bottomline, lines, single, shadowbox or subset of "
+"trblTRBL"
+msgstr ""
+"none, leftline, topline, bottomline, lines, single, shadowbox или набор из "
+"trblTRBL"
 
-#: src/frontends/qt/ui/SpellcheckerUi.ui:55
-msgid "Ignore this word"
-msgstr "Пропустить это слово"
+#: src/insets/InsetListingsParams.cpp:333
+msgid ""
+"Enter four letters (either t = round or f = square) for top right, bottom "
+"right, bottom left and top left corner."
+msgstr ""
+"Введите четыре буквы (либо t = закруглённый, либо f = квадратный) для "
+"верхнего правого, нижнего правого, нижнего левого и верхнего левого углов."
 
-#: src/frontends/qt/ui/SpellcheckerUi.ui:58
-#: src/frontends/qt/ui/WorkAreaUi.ui:89
-msgid "&Ignore"
-msgstr "&Пропустить"
+#: src/insets/InsetListingsParams.cpp:337
+msgid "Previously defined color name as a string"
+msgstr "Ранее определённое имя цвета в виде строки"
 
-#: src/frontends/qt/ui/SpellcheckerUi.ui:83
+#: src/insets/InsetListingsParams.cpp:339
+msgid "Enter something like \\color{white}"
+msgstr "Введите что-то, например \\color{white}"
+
+#: src/insets/InsetListingsParams.cpp:369
+msgid "Expect a number with an optional * before it"
+msgstr "Ожидается число и, возможно, * перед ним"
+
+#: src/insets/InsetListingsParams.cpp:453
+#: src/insets/InsetListingsParams.cpp:776
+msgid "auto, last or a number"
+msgstr "auto, last или число"
+
+#: src/insets/InsetListingsParams.cpp:463
+#: src/insets/InsetListingsParams.cpp:672
 msgid ""
-"The checked language. Switching this alters the language of the checked word."
-msgstr "Язык для проверки. Изменение влияет на язык проверяемого слова."
+"This parameter should not be entered here. Please use the caption edit box "
+"(when using the child document dialog) or menu Insert->Caption (when "
+"defining a listing inset)"
+msgstr ""
+"Этот параметр не должен вводиться здесь. Используйте диалог правки подписи "
+"(при использовании диалога дочернего документа) или меню Вставка->Подпись "
+"(при определении вставки листинга)"
 
-#: src/frontends/qt/ui/SpellcheckerUi.ui:95
-msgid "&Find Next"
-msgstr "&Найти далее"
+#: src/insets/InsetListingsParams.cpp:469
+#: src/insets/InsetListingsParams.cpp:679
+msgid ""
+"This parameter should not be entered here. Please use the label edit box "
+"(when using the child document dialog) or menu Insert->Label (when defining "
+"a listing inset)"
+msgstr ""
+"Этот параметр не должен вводиться здесь. Используйте диалог правки метки "
+"(при использовании диалога дочернего документа) или пункт меню Вставка-"
+">Метка (при определении вставки листинга)"
 
-#: src/frontends/qt/ui/SpellcheckerUi.ui:102
-msgid "Unknown word:"
-msgstr "Нет в словаре:"
+#: src/insets/InsetListingsParams.cpp:690
+msgid "default: _minted-<jobname>"
+msgstr "default: _minted-<jobname>"
 
-#: src/frontends/qt/ui/SpellcheckerUi.ui:112
-msgid "Current word"
-msgstr "Текущее слово"
+#: src/insets/InsetListingsParams.cpp:769
+msgid "Sets encoding expected by Pygments"
+msgstr "Устанавливает кодировку, ожидаемую Pygments"
 
-#: src/frontends/qt/ui/SpellcheckerUi.ui:119
-msgid "Re&placement:"
-msgstr "&Замена:"
+#: src/insets/InsetListingsParams.cpp:779
+msgid "A latex family such as tt, sf, rm"
+msgstr "Гарнитура шрифта LaTeX, такая как tt, sf, rm"
 
-#: src/frontends/qt/ui/SpellcheckerUi.ui:135
-msgid "S&uggestions:"
-msgstr "&Варианты:"
+#: src/insets/InsetListingsParams.cpp:782
+msgid "A latex series such as m, b, c, bx, sb"
+msgstr "Насыщенность шрифта LaTeX, такая как m, b, c, bx, sb"
 
-#: src/frontends/qt/ui/SpellcheckerUi.ui:155
-msgid "Ignore this word throughout this session"
-msgstr "Пропустить это слово для текущей сессии"
+#: src/insets/InsetListingsParams.cpp:785
+msgid "A latex name such as \\small"
+msgstr "Имя LaTeX, такое как \\small"
 
-#: src/frontends/qt/ui/SpellcheckerUi.ui:158
-msgid "I&gnore All"
-msgstr "Пропустить все"
+#: src/insets/InsetListingsParams.cpp:788
+msgid "A latex shape such as n, it, sl, sc"
+msgstr "Начертание шрифта LaTeX, такое как n, it, sl, sc"
 
-#: src/frontends/qt/ui/SpellcheckerUi.ui:175
-msgid "Add the word to your personal dictionary"
-msgstr "Добавить слово в личный словарь"
+#: src/insets/InsetListingsParams.cpp:807
+msgid "A range of lines such as {1,3-4}"
+msgstr "Диапазон строк типа {1,3-4}"
 
-#: src/frontends/qt/ui/SymbolsUi.ui:40
+#: src/insets/InsetListingsParams.cpp:816
 msgid ""
-"Available categories depend on the document encoding. Select UTF-8 for the "
-"full range."
+"Enter one of the supported languages. However, if you are defining a listing "
+"inset, it is better using the  language combo box, unless you need to enter "
+"a language not offered there, otherwise the combo box will be disabled."
 msgstr ""
-"Доступные категории зависят от кодировки документа. Выберите UTF-8 для "
-"полного списка."
+"Введите один из поддерживаемых языков. Однако, если вы определяете вставку "
+"листинга, лучше использовать поле со списком язык, если вам не нужно вводить "
+"язык, не предложенный там, в противном случае поле со списком будет "
+"отключено."
 
-#: src/frontends/qt/ui/SymbolsUi.ui:43
-msgid "Ca&tegory:"
-msgstr "&Категория:"
+#: src/insets/InsetListingsParams.cpp:839
+msgid "File encoding used by Pygments for highlighting"
+msgstr "Кодировка файла, используемая Pygments для подсветки"
 
-#: src/frontends/qt/ui/SymbolsUi.ui:73
-msgid "Select this to display all available characters at once"
-msgstr "Выберите для одновременного показа всех доступных символов"
+#: src/insets/InsetListingsParams.cpp:842
+msgid "Apply Python 3 highlighting"
+msgstr "Применить подсветку Python 3"
 
-#: src/frontends/qt/ui/SymbolsUi.ui:76
-msgid "&Display all"
-msgstr "&Показать все"
+#: src/insets/InsetListingsParams.cpp:855
+msgid "A macro. Default: \\textvisiblespace"
+msgstr "Макрос. По умолчанию: \\textvisiblespace"
 
-#: src/frontends/qt/ui/TabularCreateUi.ui:121
-msgid "&Style:"
-msgstr "Стиль:"
+#: src/insets/InsetListingsParams.cpp:859
+msgid "For PHP only"
+msgstr "Только для PHP"
 
-#: src/frontends/qt/ui/TabularUi.ui:33
-msgid "&Table Settings"
-msgstr "&Настройки таблицы"
+#: src/insets/InsetListingsParams.cpp:862
+msgid "The style used by Pygments"
+msgstr "Стиль, используемый Pygments"
 
-#: src/frontends/qt/ui/TabularUi.ui:39
-msgid "Row setting"
-msgstr "Настройки строки"
+#: src/insets/InsetListingsParams.cpp:875
+msgid "A macro to redefine visible tabs"
+msgstr "Макрос для переопределения видимых табуляций"
 
-#: src/frontends/qt/ui/TabularUi.ui:48
-msgid "Merge cells of different rows"
-msgstr "Объединить ячейки разных строк"
+#: src/insets/InsetListingsParams.cpp:882
+#: src/insets/InsetListingsParams.cpp:885
+msgid "Enables latex code in comments"
+msgstr "Разрешает код LaTeX в комментариях"
 
-#: src/frontends/qt/ui/TabularUi.ui:51
-msgid "M&ultirow"
-msgstr "Многострочность"
+#: src/insets/InsetListingsParams.cpp:899
+msgid "Invalid (empty) listing parameter name."
+msgstr "Неверное (пустое) имя параметра листинга."
 
-#: src/frontends/qt/ui/TabularUi.ui:63
-msgid "&Vertical Offset:"
-msgstr "Верт. смещение:"
+#: src/insets/InsetListingsParams.cpp:915
+#, c-format
+msgid "Available listing parameters are %1$s"
+msgstr "Доступные параметры листинга: %1$s"
 
-#: src/frontends/qt/ui/TabularUi.ui:76
-msgid "Optional vertical offset"
-msgstr "Возможное верт. смещение"
+#: src/insets/InsetListingsParams.cpp:918
+#, c-format
+msgid "Available listings parameters containing string \"%1$s\" are %2$s"
+msgstr "Доступные параметры листинга, содержащие строку \"%1$s\", это %2$s"
 
-#: src/frontends/qt/ui/TabularUi.ui:94
-msgid "Cell setting"
-msgstr "Настройки ячейки"
+#: src/insets/InsetListingsParams.cpp:929
+#, c-format
+msgid "Parameter %1$s: "
+msgstr "Параметр %1$s: "
 
-#: src/frontends/qt/ui/TabularUi.ui:105
-msgid "Rotate this cell by 90 degrees"
-msgstr "Повернуть ячейку"
+#: src/insets/InsetListingsParams.cpp:942
+#, c-format
+msgid "Unknown listing parameter name: %1$s"
+msgstr "Неизвестное имя параметра листинга: %1$s"
 
-#: src/frontends/qt/ui/TabularUi.ui:121 src/frontends/qt/ui/TabularUi.ui:268
-msgid "rotation angle"
-msgstr "угол поворота"
+#: src/insets/InsetListingsParams.cpp:945
+#, c-format
+msgid "Parameters starting with '%1$s': %2$s"
+msgstr "Параметры, начинающиеся с '%1$s': %2$s"
 
-#: src/frontends/qt/ui/TabularUi.ui:140
-msgid "de&grees"
-msgstr "градусов"
+#: src/insets/InsetMarginal.cpp:37 lib/layouts/stdinsets.inc:19
+msgid "margin"
+msgstr "Примечание на полях"
 
-#: src/frontends/qt/ui/TabularUi.ui:171
-msgid "Table-wide settings"
-msgstr "Общие настройки таблицы"
+#: src/insets/InsetNewpage.cpp:179 src/insets/InsetNewpage.cpp:191
+msgid "New Page"
+msgstr "Новая страница"
 
-#: src/frontends/qt/ui/TabularUi.ui:180
-msgid "W&idth:"
-msgstr "&Ширина:"
+#: src/insets/InsetNewpage.cpp:182
+msgid "Page Break"
+msgstr "Разрыв страницы с выравниванием"
 
-#: src/frontends/qt/ui/TabularUi.ui:196
-msgid "Verti&cal alignment:"
-msgstr "Верт. выравнивание:"
+#: src/insets/InsetNewpage.cpp:185
+msgid "Clear Page"
+msgstr "Очистить страницу"
 
-#: src/frontends/qt/ui/TabularUi.ui:206
-msgid "Vertical alignment of the table"
-msgstr "Верт. выравнивание таблицы"
+#: src/insets/InsetNewpage.cpp:188
+msgid "Clear Double Page"
+msgstr "Очистить двойную страницу"
 
-#: src/frontends/qt/ui/TabularUi.ui:252
-msgid "Rotate the table by 90 degrees"
-msgstr "Повернуть таблицу"
+#: src/insets/InsetNomencl.cpp:81
+msgid "Nom: "
+msgstr "Обозначение: "
 
-#: src/frontends/qt/ui/TabularUi.ui:255
-msgid "&Rotate"
-msgstr "Повернуть на"
+#: src/insets/InsetNomencl.cpp:89
+msgid "Nomenclature Symbol: "
+msgstr "Символ обозначения: "
 
-#: src/frontends/qt/ui/TabularUi.ui:287
-msgid "degrees"
-msgstr "градусов"
+#: src/insets/InsetNomencl.cpp:90
+msgid "Description: "
+msgstr "Описание: "
 
-#: src/frontends/qt/ui/TabularUi.ui:302
-msgid "Column settings"
-msgstr "Настройки столбца"
+#: src/insets/InsetNomencl.cpp:93
+msgid "Sorting: "
+msgstr "Сортировка: "
 
-#: src/frontends/qt/ui/TabularUi.ui:313
-msgid ""
-"<html><head/><body><p>Column width type:</p><p>* Text Length: Stretch to "
-"text width</p><p>* Variable: Adjust to match table width</p><p>* Custom: "
-"Fixed custom width</p></body></html>"
-msgstr ""
-"<html><head/><body><p>Ширина столбца:</p><p>* Длина текста: Растягивание до "
-"ширины текста</p><p>* Переменная: Настройка в соответствии с шириной "
-"таблицы</p><p>* Пользовательская: Фиксированная заданная ширина</p></body></"
-"html>"
+#: src/insets/InsetNomencl.cpp:169 src/frontends/qt/ui/NomenclUi.ui:14
+msgid "Nomenclature"
+msgstr "Список обозначений"
 
-#: src/frontends/qt/ui/TabularUi.ui:317
-msgid "Text length"
-msgstr "Длина текста"
+#: src/insets/InsetNote.cpp:256
+msgid "note"
+msgstr "заметка"
 
-#: src/frontends/qt/ui/TabularUi.ui:322
-msgid "Variable[[Width]]"
-msgstr "Переменная"
+#: src/insets/InsetPhantom.cpp:65
+msgid "Phantom"
+msgstr "Phantom"
 
-#: src/frontends/qt/ui/TabularUi.ui:327
-msgid "Custom[[Width]]"
-msgstr "Задана пользователем"
+#: src/insets/InsetPhantom.cpp:66
+msgid "HPhantom"
+msgstr "HPhantom"
 
-#: src/frontends/qt/ui/TabularUi.ui:335
-msgid "Horizontal alignment in column"
-msgstr "Гор. выравнивание в столбце"
+#: src/insets/InsetPhantom.cpp:67
+msgid "VPhantom"
+msgstr "VPhantom"
 
-#: src/frontends/qt/ui/TabularUi.ui:339 src/frontends/qt/GuiParagraph.cpp:113
-#: src/frontends/qt/GuiTabular.cpp:1024
-msgid "Justified"
-msgstr "По ширине"
+#: src/insets/InsetPhantom.cpp:332 src/insets/InsetPhantom.cpp:341
+msgid "phantom"
+msgstr "phantom"
 
-#: src/frontends/qt/ui/TabularUi.ui:359 src/frontends/qt/GuiTabular.cpp:245
-#: src/frontends/qt/GuiTabular.cpp:1026
-msgid "At Decimal Separator"
-msgstr "По разделителю"
+#: src/insets/InsetPhantom.cpp:335
+msgid "hphantom"
+msgstr "hphantom"
 
-#: src/frontends/qt/ui/TabularUi.ui:390
-msgid "Hori&zontal alignment:"
-msgstr "&Гор. выравнивание:"
+#: src/insets/InsetPhantom.cpp:338
+msgid "vphantom"
+msgstr "vphantom"
 
-#: src/frontends/qt/ui/TabularUi.ui:400
+#: src/insets/InsetQuotes.cpp:580
+#, c-format
+msgid "%1$souter%2$s and %3$sinner%4$s[[quotation marks]]"
+msgstr "%1$sвнешние%2$s и %3$sвнутренние%4$s"
+
+#: src/insets/InsetQuotes.cpp:590
+#, c-format
+msgid "%1$s[[quot. mark description]] (language default)"
+msgstr "%1$s (по умолчанию для языка)"
+
+#: src/insets/InsetQuotes.cpp:603
+#, c-format
+msgid "%1$stext"
+msgstr "%1$sтекст"
+
+#: src/insets/InsetQuotes.cpp:605
+#, c-format
+msgid "text%1$s"
+msgstr "текст%1$s"
+
+#: src/insets/InsetRef.cpp:586 lib/layouts/IEEEtran.layout:35
+#: lib/layouts/aa.layout:36 lib/layouts/aapaper.layout:35
+#: lib/layouts/aastex.layout:62 lib/layouts/achemso.layout:31
+#: lib/layouts/acmart.layout:63 lib/layouts/acmsiggraph-0-92.layout:43
+#: lib/layouts/acmsiggraph.layout:35 lib/layouts/agutex.layout:32
+#: lib/layouts/amsart.layout:32 lib/layouts/amsbook.layout:33
+#: lib/layouts/apa.layout:25 lib/layouts/apax.inc:21
+#: lib/layouts/beamer.layout:64 lib/layouts/broadway.layout:178
+#: lib/layouts/chess.layout:30 lib/layouts/cl2emult.layout:143
+#: lib/layouts/dtk.layout:32 lib/layouts/egs.layout:19
+#: lib/layouts/elsart.layout:50 lib/layouts/elsarticle.layout:35
+#: lib/layouts/europasscv.layout:59 lib/layouts/europecv.layout:17
+#: lib/layouts/foils.layout:31 lib/layouts/g-brief2.layout:31
+#: lib/layouts/hollywood.layout:352 lib/layouts/ijmpc.layout:23
+#: lib/layouts/ijmpd.layout:28 lib/layouts/iopart.layout:35
+#: lib/layouts/iucr.layout:20 lib/layouts/jasatex.layout:36
+#: lib/layouts/kluwer.layout:34 lib/layouts/lettre.layout:35
+#: lib/layouts/llncs.layout:24 lib/layouts/ltugboat.layout:31
+#: lib/layouts/maa-monthly.layout:48 lib/layouts/memoir.layout:37
+#: lib/layouts/moderncv.layout:21 lib/layouts/paper.layout:14
+#: lib/layouts/powerdot.layout:112 lib/layouts/revtex.layout:23
+#: lib/layouts/revtex4.layout:48 lib/layouts/sciposter.layout:78
+#: lib/layouts/scrclass.inc:25 lib/layouts/scrlettr.layout:8
+#: lib/layouts/scrlttr2.layout:11 lib/layouts/siamltex.layout:37
+#: lib/layouts/sigplanconf.layout:41 lib/layouts/simplecv.layout:18
+#: lib/layouts/slides.layout:61 lib/layouts/stdclass.inc:28
+#: lib/layouts/stdinsets.inc:649 lib/layouts/stdletter.inc:12
+#: lib/layouts/svcommon.inc:26 lib/layouts/tufte-book.layout:35
+#: lib/ui/stdtoolbars.inc:75
+msgid "Standard"
+msgstr "Обычный текст"
+
+#: src/insets/InsetRef.cpp:586 src/mathed/InsetMathRef.cpp:245
+msgid "Ref: "
+msgstr "Ссылка: "
+
+#: src/insets/InsetRef.cpp:587 src/mathed/InsetMathRef.cpp:246
+#: lib/layouts/eqs-within-sections.module:17 lib/layouts/scrbook.layout:27
+#: lib/layouts/stdcounters.inc:81
+msgid "Equation"
+msgstr "Формула"
+
+#: src/insets/InsetRef.cpp:587 src/mathed/InsetMathRef.cpp:246
+msgid "EqRef: "
+msgstr "Формула: "
+
+#: src/insets/InsetRef.cpp:588 src/mathed/InsetMathRef.cpp:247
+msgid "Page Number"
+msgstr "Номер страницы"
+
+#: src/insets/InsetRef.cpp:588 src/mathed/InsetMathRef.cpp:247
+msgid "Page: "
+msgstr "Страница: "
+
+#: src/insets/InsetRef.cpp:589 src/mathed/InsetMathRef.cpp:248
+msgid "Textual Page Number"
+msgstr "Текстовый номер страницы"
+
+#: src/insets/InsetRef.cpp:589 src/mathed/InsetMathRef.cpp:248
+msgid "TextPage: "
+msgstr "Текст стр.: "
+
+#: src/insets/InsetRef.cpp:590 src/mathed/InsetMathRef.cpp:249
+msgid "Standard+Textual Page"
+msgstr "Ссылка+Текстовый номер страницы"
+
+#: src/insets/InsetRef.cpp:590 src/mathed/InsetMathRef.cpp:249
+msgid "Ref+Text: "
+msgstr "Ссылка+Текст: "
+
+#: src/insets/InsetRef.cpp:591 src/mathed/InsetMathRef.cpp:251
+msgid "Reference to Name"
+msgstr "Ссылка на имя"
+
+#: src/insets/InsetRef.cpp:591 src/mathed/InsetMathRef.cpp:251
+msgid "NameRef: "
+msgstr "Название: "
+
+#: src/insets/InsetRef.cpp:592
+msgid "Formatted"
+msgstr "Отформатированный"
+
+#: src/insets/InsetRef.cpp:592
+msgid "Format: "
+msgstr "Формат: "
+
+#: src/insets/InsetRef.cpp:593
+msgid "Label Only"
+msgstr "Только метка"
+
+#: src/insets/InsetRef.cpp:593
+msgid "Label: "
+msgstr "Метка: "
+
+#: src/insets/InsetScript.cpp:64 lib/ui/stdtoolbars.inc:191
+msgid "Subscript"
+msgstr "Нижний индекс"
+
+#: src/insets/InsetScript.cpp:65 lib/citeengines/biblatex-natbib.citeengine:304
+#: lib/citeengines/biblatex.citeengine:290 lib/ui/stdtoolbars.inc:192
+msgid "Superscript"
+msgstr "Верхний индекс"
+
+#: src/insets/InsetScript.cpp:338
+msgid "subscript"
+msgstr "нижний индекс"
+
+#: src/insets/InsetScript.cpp:348
+msgid "superscript"
+msgstr "верхний индекс"
+
+#: src/insets/InsetSpace.cpp:72
+msgid "Protected Space"
+msgstr "Неразрывный пробел"
+
+#: src/insets/InsetSpace.cpp:87
+msgid "Quad Space"
+msgstr "Квадрат"
+
+#: src/insets/InsetSpace.cpp:90
+msgid "Double Quad Space"
+msgstr "Двойной квадрат"
+
+#: src/insets/InsetSpace.cpp:93
+msgid "Enspace"
+msgstr "Защищённый полуквадрат (enspace)"
+
+#: src/insets/InsetSpace.cpp:96
+msgid "Enskip"
+msgstr "Полуквадрат (enskip)"
+
+#: src/insets/InsetSpace.cpp:111
+msgid "Protected Horizontal Fill"
+msgstr "Защищённое горизонтальное заполнение"
+
+#: src/insets/InsetSpace.cpp:114
+msgid "Horizontal Fill (Dots)"
+msgstr "Горизонтальное заполнение (точки)"
+
+#: src/insets/InsetSpace.cpp:117
+msgid "Horizontal Fill (Rule)"
+msgstr "Горизонтальное заполнение (линия)"
+
+#: src/insets/InsetSpace.cpp:120
+msgid "Horizontal Fill (Left Arrow)"
+msgstr "Горизонтальное заполнение (левая стрелка)"
+
+#: src/insets/InsetSpace.cpp:123
+msgid "Horizontal Fill (Right Arrow)"
+msgstr "Горизонтальное заполнение (правая стрелка)"
+
+#: src/insets/InsetSpace.cpp:126
+msgid "Horizontal Fill (Up Brace)"
+msgstr "Горизонтальное заполнение (скобка вниз)"
+
+#: src/insets/InsetSpace.cpp:129
+msgid "Horizontal Fill (Down Brace)"
+msgstr "Горизонтальное заполнение (скобка вверх)"
+
+#: src/insets/InsetSpace.cpp:133
+#, c-format
+msgid "Horizontal Space (%1$s)"
+msgstr "Горизонтальный пробел (%1$s)"
+
+#: src/insets/InsetSpace.cpp:138
+#, c-format
+msgid "Protected Horizontal Space (%1$s)"
+msgstr "Неразрывный пробел  (%1$s)"
+
+#: src/insets/InsetTOC.cpp:77 lib/layouts/stdinsets.inc:316
+#: lib/layouts/stdinsets.inc:322
+msgid "List of Listings"
+msgstr "Список листингов"
+
+#: src/insets/InsetTOC.cpp:78
+msgid "Unknown TOC type"
+msgstr "Неизвестный тип содержания"
+
+#: src/insets/InsetTabular.cpp:464
+msgid "Change tracking data incomplete"
+msgstr "Данные отслеживания изменений неполные"
+
+#: src/insets/InsetTabular.cpp:465
 msgid ""
-"Specifies the vertical alignment of this cell in relation to the baseline of "
-"the row."
+"Change tracking information for tabular row/column is incomplete. I will "
+"ignore this."
 msgstr ""
-"Определяет вертикальное выравнивание этой ячейки по отношению к базисной "
-"линии строки."
+"Информация об отслеживании изменений для табличной строки/столбца является "
+"неполной. Это будет проигнорировано."
 
-#: src/frontends/qt/ui/TabularUi.ui:422
-msgid "&Vertical alignment in row:"
-msgstr "&Верт. выравнивание в строке:"
+#: src/insets/InsetTabular.cpp:5533
+msgid "Selections not supported."
+msgstr "Выделения не поддерживаются."
 
-#: src/frontends/qt/ui/TabularUi.ui:437
-msgid "Custom width of the column"
-msgstr "Фиксированная ширина столбца"
+#: src/insets/InsetTabular.cpp:5555
+msgid "Multi-column in current or destination column."
+msgstr "Мульти-столбец в текущем или целевом столбце."
 
-#: src/frontends/qt/ui/TabularUi.ui:457
-msgid "&Decimal separator:"
-msgstr "Разделитель:"
+#: src/insets/InsetTabular.cpp:5567
+msgid "Multi-row in current or destination row."
+msgstr "Мульти-строка в текущей или целевой строке."
 
-#: src/frontends/qt/ui/TabularUi.ui:528
-msgid "Merge cells of different columns"
-msgstr "Объединить ячейки разных столбцов"
+#: src/insets/InsetTabular.cpp:6082
+msgid "Selection size should match clipboard content."
+msgstr "Размер выделения должен совпадать с размером буфера обмена."
 
-#: src/frontends/qt/ui/TabularUi.ui:531
-msgid "Mu&lticolumn"
-msgstr "&Многоколоночность"
+#: src/insets/InsetText.cpp:1154
+msgid "[contains tracked changes]"
+msgstr "[содержит отслеживаемые изменения]"
 
-#: src/frontends/qt/ui/TabularUi.ui:540
-msgid "LaTe&X argument:"
-msgstr "Аргументы LaTe&X:"
+#: src/insets/InsetWrap.cpp:68
+msgid "wrap: "
+msgstr "Обтекаемый объект: "
 
-#: src/frontends/qt/ui/TabularUi.ui:550
-msgid "Custom column format (LaTeX)"
-msgstr "Пользовательский формат столбца (LaTeX)"
+#: src/insets/InsetWrap.cpp:201
+msgid "wrap"
+msgstr "Обтекаемый объект"
 
-#: src/frontends/qt/ui/TabularUi.ui:566
-msgid "&Borders"
-msgstr "Рамки"
+#: src/insets/RenderGraphic.cpp:85 src/insets/RenderGraphic.cpp:89
+msgid "Not shown."
+msgstr "Не показывается."
 
-#: src/frontends/qt/ui/TabularUi.ui:572
-msgid "Set Borders"
-msgstr "Установить рамки"
+#: src/insets/RenderGraphic.cpp:92
+msgid "Loading..."
+msgstr "Загрузка..."
 
-#: src/frontends/qt/ui/TabularUi.ui:1071
-msgid "Set borders of the current (selected) cell(s)"
-msgstr "Установить рамки выбранной ячейки(ек)"
+#: src/insets/RenderGraphic.cpp:95
+msgid "Converting to loadable format..."
+msgstr "Преобразование в приемлемый формат..."
 
-#: src/frontends/qt/ui/TabularUi.ui:1084
-msgid "All Borders"
-msgstr "Все рамки"
+#: src/insets/RenderGraphic.cpp:98
+msgid "Loaded into memory. Generating pixmap..."
+msgstr "Загружено в память. Генерируется растровое изображение..."
 
-#: src/frontends/qt/ui/TabularUi.ui:1093
-msgid "Set all borders of the current (selected) cell(s)"
-msgstr "Установить все рамки выбранной ячейки(ек)"
+#: src/insets/RenderGraphic.cpp:101
+msgid "Scaling etc..."
+msgstr "Масштабирование и т. п."
 
-#: src/frontends/qt/ui/TabularUi.ui:1096
-msgid "&Set"
-msgstr "&Установить"
+#: src/insets/RenderGraphic.cpp:104
+msgid "Ready to display"
+msgstr "Готов отображать"
 
-#: src/frontends/qt/ui/TabularUi.ui:1103
-msgid "Unset all borders of the current (selected) cell(s)"
-msgstr "Убрать все рамки выбранной ячейки(ек)"
+#: src/insets/RenderGraphic.cpp:107
+msgid "No file found!"
+msgstr "Файл не найден!"
 
-#: src/frontends/qt/ui/TabularUi.ui:1125
-msgid "Use default (grid-like) border style"
-msgstr "Использовать стиль границ, заданный по умолчанию (т.е. сетку)"
+#: src/insets/RenderGraphic.cpp:110
+msgid "Error converting to loadable format"
+msgstr "Ошибка при преобразовании в приемлемый формат"
 
-#: src/frontends/qt/ui/TabularUi.ui:1128
-msgid "De&fault"
-msgstr "По умолчанию"
+#: src/insets/RenderGraphic.cpp:113
+msgid "Error loading file into memory"
+msgstr "Ошибка загрузки файла в память"
 
-#: src/frontends/qt/ui/TabularUi.ui:1135
+#: src/insets/RenderGraphic.cpp:116
+msgid "Error generating the pixmap"
+msgstr "Ошибка при создании растрового изображения"
+
+#: src/insets/RenderGraphic.cpp:119
+msgid "No image"
+msgstr "Нет изображения"
+
+#: src/insets/RenderPreview.cpp:106
+msgid "Preview loading"
+msgstr "Загрузка предварительного просмотра"
+
+#: src/insets/RenderPreview.cpp:109
+msgid "Preview ready"
+msgstr "Предварительный просмотр готов"
+
+#: src/insets/RenderPreview.cpp:112
+msgid "Preview failed"
+msgstr "Предварительный просмотр не удался"
+
+#: src/lyxfind.cpp:236
+msgid "Search error"
+msgstr "Ошибка поиска"
+
+#: src/lyxfind.cpp:236
+msgid "Search string is empty"
+msgstr "Искомая строка пуста"
+
+#: src/lyxfind.cpp:266 src/lyxfind.cpp:537
 msgid ""
-"If this is checked, the table will be reset to the formal default style "
-"(only top and bottom row have horizontal lines)"
+"End of file reached while searching forward.\n"
+"Continue searching from the beginning?"
 msgstr ""
-"Если этот флажок установлен, то таблица будет сброшена на формальный стиль "
-"по умолчанию (горизонтальные линии только у верхней и нижней строк)."
+"Достигнут конец файла при поиске вперёд.\n"
+"Продолжать поиск с начала?"
 
-#: src/frontends/qt/ui/TabularUi.ui:1138
-msgid "Use Default &Formal Style"
-msgstr "Использовать формальный стиль по умолчанию"
+#: src/lyxfind.cpp:269 src/lyxfind.cpp:565
+msgid ""
+"Beginning of file reached while searching backward.\n"
+"Continue searching from the end?"
+msgstr ""
+"Достигнуто начало файла при поиске назад.\n"
+"Продолжать поиск с конца?"
 
-#: src/frontends/qt/ui/TabularUi.ui:1145
-msgid "Use formal (a.k.a. booktabs) border style (no vertical borders)"
-msgstr "Использовать формальный стиль рамки таблицы (без вертикальных линий)"
+#: src/lyxfind.cpp:505 src/lyxfind.cpp:523
+msgid "String not found."
+msgstr "Строка не найдена."
 
-#: src/frontends/qt/ui/TabularUi.ui:1148
-msgid "Fo&rmal"
-msgstr "Формальный"
+#: src/lyxfind.cpp:508
+msgid "String found."
+msgstr "Строка найдена."
 
-#: src/frontends/qt/ui/TabularUi.ui:1177
-msgid "Additional Space"
-msgstr "Дополнительное пространство"
+#: src/lyxfind.cpp:510
+msgid "String has been replaced."
+msgstr "Строка была заменена."
 
-#: src/frontends/qt/ui/TabularUi.ui:1183
-msgid "T&op of row:"
-msgstr "Верх строки:"
+#: src/lyxfind.cpp:513
+#, c-format
+msgid "%1$d strings have been replaced."
+msgstr "%1$d строк было заменено."
 
-#: src/frontends/qt/ui/TabularUi.ui:1243
-msgid "Botto&m of row:"
-msgstr "Низ строки:"
+#: src/lyxfind.cpp:3718
+msgid "Invalid regular expression!"
+msgstr "Неправильное регулярное выражение!"
 
-#: src/frontends/qt/ui/TabularUi.ui:1256
-msgid "Bet&ween rows:"
-msgstr "Между строк:"
+#: src/lyxfind.cpp:3727
+msgid "One match has been replaced."
+msgstr "Одно соответствие было заменено."
 
-#: src/frontends/qt/ui/TabularUi.ui:1305
-msgid "&Multi-Page Table"
-msgstr "Настройки многостраничной таблицы"
+#: src/lyxfind.cpp:3730
+msgid "Two matches have been replaced."
+msgstr "Два соответствия были заменены."
 
-#: src/frontends/qt/ui/TabularUi.ui:1311
-msgid "Select for tables that span multiple pages"
-msgstr "Выберите для таблиц, которые занимают несколько страниц"
+#: src/lyxfind.cpp:3733
+#, c-format
+msgid "%1$d matches have been replaced."
+msgstr "%1$d соответствий были заменены."
 
-#: src/frontends/qt/ui/TabularUi.ui:1314
-msgid "&Use multi-page table"
-msgstr "&Многостраничная таблица"
+#: src/lyxfind.cpp:3739
+msgid "Match not found."
+msgstr "Соответствие не найдено."
 
-#: src/frontends/qt/ui/TabularUi.ui:1324
-msgid "Row settings"
-msgstr "Настройка строк"
+#: src/lyxfind.cpp:3745
+msgid "Match has been replaced."
+msgstr "Соответствие было заменено."
 
-#: src/frontends/qt/ui/TabularUi.ui:1330
-msgid "Status"
-msgstr "Состояние"
+#: src/lyxfind.cpp:3747
+msgid "Match found."
+msgstr "Соответствие найдено."
 
-#: src/frontends/qt/ui/TabularUi.ui:1337
-msgid "Border above"
-msgstr "Линия сверху"
+#: src/mathed/InsetMathAMSArray.cpp:135 src/mathed/InsetMathHull.cpp:2200
+#: src/mathed/InsetMathSplit.cpp:127 src/mathed/InsetMathSubstack.cpp:70
+#, c-format
+msgid "Can't add vertical grid lines in '%1$s'"
+msgstr "Невозможно добавить вертикальные линии в '%1$s'"
 
-#: src/frontends/qt/ui/TabularUi.ui:1344
-msgid "Border below"
-msgstr "Линия снизу"
+#: src/mathed/InsetMathBox.cpp:98
+#, c-format
+msgid "Box: %1$s"
+msgstr "Блок: %1$s"
 
-#: src/frontends/qt/ui/TabularUi.ui:1351
-msgid "Contents"
-msgstr "Содержит"
+#: src/mathed/InsetMathCases.cpp:94
+#, c-format
+msgid "No vertical grid lines in 'cases': feature %1$s"
+msgstr "Невозможно добавить вертикальные линии в 'cases': возможность %1$s"
 
-#: src/frontends/qt/ui/TabularUi.ui:1358
-msgid "Header:"
-msgstr "Заголовок:"
+#: src/mathed/InsetMathCases.cpp:101
+#, c-format
+msgid "Changing number of columns not allowed in 'cases': feature %1$s"
+msgstr ""
+"Изменение количества столбцов не поддерживается в 'cases': возможность %1$s"
 
-#: src/frontends/qt/ui/TabularUi.ui:1365
-msgid "Repeat this row as header on every (except the first) page"
-msgstr "Повторить данную строку как заголовок на всех (кроме первой) страницах"
+#: src/mathed/InsetMathColor.cpp:156
+#, c-format
+msgid "Color: %1$s"
+msgstr "Цвет: %1$s"
 
-#: src/frontends/qt/ui/TabularUi.ui:1368 src/frontends/qt/ui/TabularUi.ui:1405
-#: src/frontends/qt/ui/TabularUi.ui:1446 src/frontends/qt/ui/TabularUi.ui:1477
-#: src/frontends/qt/ui/TabularUi.ui:1515 src/frontends/qt/GuiToolbar.cpp:629
-#: src/frontends/qt/GuiToolbar.cpp:638 src/insets/InsetBranch.cpp:79
-#: src/insets/InsetBranch.cpp:82
-msgid "on"
-msgstr "вкл."
+#: src/mathed/InsetMathDecoration.cpp:160
+#, c-format
+msgid "Decoration: %1$s"
+msgstr "Декорирование: %1$s"
 
-#: src/frontends/qt/ui/TabularUi.ui:1378 src/frontends/qt/ui/TabularUi.ui:1385
-#: src/frontends/qt/ui/TabularUi.ui:1412 src/frontends/qt/ui/TabularUi.ui:1419
-#: src/frontends/qt/ui/TabularUi.ui:1453 src/frontends/qt/ui/TabularUi.ui:1460
-#: src/frontends/qt/ui/TabularUi.ui:1484 src/frontends/qt/ui/TabularUi.ui:1491
-msgid "double"
-msgstr "двойная"
+#: src/mathed/InsetMathEnv.cpp:70
+#, c-format
+msgid "Environment: %1$s"
+msgstr "Окружение: %1$s"
 
-#: src/frontends/qt/ui/TabularUi.ui:1392
-msgid "First header:"
-msgstr "Первый заголовок:"
+#: src/mathed/InsetMathGrid.cpp:1745
+msgid "Cursor not in table"
+msgstr "Курсор не в таблице"
 
-#: src/frontends/qt/ui/TabularUi.ui:1399
-msgid "This row is the header of the first page"
-msgstr "Данная строка - заголовок на первой странице"
+#: src/mathed/InsetMathGrid.cpp:1750
+msgid "Only one row"
+msgstr "Только одну строку"
 
-#: src/frontends/qt/ui/TabularUi.ui:1426
-msgid "Don't output the first header"
-msgstr "Не выводить первый заголовок"
+#: src/mathed/InsetMathGrid.cpp:1756
+msgid "Only one column"
+msgstr "Только одну колонку"
 
-#: src/frontends/qt/ui/TabularUi.ui:1429 src/frontends/qt/ui/TabularUi.ui:1501
-msgid "is empty"
-msgstr "пусто"
+#: src/mathed/InsetMathGrid.cpp:1764
+msgid "No hline to delete"
+msgstr "Нет гориз. линии для удаления"
 
-#: src/frontends/qt/ui/TabularUi.ui:1436
-msgid "Footer:"
-msgstr "Концовка:"
+#: src/mathed/InsetMathGrid.cpp:1773
+msgid "No vline to delete"
+msgstr "Нет верт. линии для удаления"
 
-#: src/frontends/qt/ui/TabularUi.ui:1443
-msgid "Repeat this row as footer on every (except the last) page"
+#: src/mathed/InsetMathGrid.cpp:1802
+#, c-format
+msgid "Unknown tabular feature '%1$s'"
+msgstr "Неизвестное свойство окружения tabular '%1$s'"
+
+#: src/mathed/InsetMathHull.cpp:1763
+#, c-format
+msgid "Type: %1$s"
+msgstr "Тип: %1$s"
+
+#: src/mathed/InsetMathHull.cpp:1799
+msgid "Bad math environment"
+msgstr "Неверное математическое окружение"
+
+#: src/mathed/InsetMathHull.cpp:1800
+msgid ""
+"Computation cannot be performed for AMS math environments.\n"
+"Change the math formula type and try again."
 msgstr ""
-"Повторить данную строку как концовку на всех (кроме последней) страницах"
+"Невозможно выполнять вычисления для окружений AMS.\n"
+"Измените тип формулы и попробуйте снова."
 
-#: src/frontends/qt/ui/TabularUi.ui:1467
-msgid "Last footer:"
-msgstr "Последняя концовка:"
+#: src/mathed/InsetMathHull.cpp:1903 src/mathed/InsetMathHull.cpp:1912
+msgid "No number"
+msgstr "Нет числа"
 
-#: src/frontends/qt/ui/TabularUi.ui:1474
-msgid "This row is the footer of the last page"
-msgstr "Данная строка - концовка на последней странице"
+#: src/mathed/InsetMathHull.cpp:1903 src/mathed/InsetMathHull.cpp:1912
+#: lib/layouts/aastex.layout:187 lib/layouts/agutex.layout:124
+msgid "Number"
+msgstr "Номер"
 
-#: src/frontends/qt/ui/TabularUi.ui:1498
-msgid "Don't output the last footer"
-msgstr "Не выводить последнюю концовку"
+#: src/mathed/InsetMathHull.cpp:2183
+#, c-format
+msgid "Can't change number of rows in '%1$s'"
+msgstr "Невозможно изменить число строк в '%1$s'"
 
-#: src/frontends/qt/ui/TabularUi.ui:1508 lib/layouts/AEA.layout:306
-msgid "Caption:"
-msgstr "Подпись:"
+#: src/mathed/InsetMathHull.cpp:2193
+#, c-format
+msgid "Can't change number of columns in '%1$s'"
+msgstr "Невозможно изменить число колонок в '%1$s'"
 
-#: src/frontends/qt/ui/TabularUi.ui:1525
-msgid "Set a page break on the current row"
-msgstr "Установить разрыв страницы на текущей строке"
+#: src/mathed/InsetMathMacro.cpp:1287 src/mathed/InsetMathMacro.cpp:1293
+#, c-format
+msgid "Macro: %1$s"
+msgstr "Макрос: %1$s"
 
-#: src/frontends/qt/ui/TabularUi.ui:1528
-msgid "Page &break on current row"
-msgstr "Разрыв &страницы на текущей строке"
+#: src/mathed/InsetMathMacroTemplate.cpp:491
+msgid "optional"
+msgstr "необязательное"
 
-#: src/frontends/qt/ui/TabularUi.ui:1541
-msgid "Horizontal alignment of the multi-page table"
-msgstr "Горизонтальное выравнивание многостраничной таблицы"
+#: src/mathed/InsetMathMacroTemplate.cpp:534 lib/layouts/shapepar.module:92
+msgid "TeX"
+msgstr "TeX"
 
-#: src/frontends/qt/ui/TabularUi.ui:1544
-msgid "Multi-page table alignment"
-msgstr "&Выравнивание многостраничной таблицы"
+#: src/mathed/InsetMathMacroTemplate.cpp:1274
+msgid "math macro"
+msgstr "математический макрос"
 
-#: src/frontends/qt/ui/TabularUi.ui:1599
-msgid "Current cell:"
-msgstr "Текущая ячейка:"
+#: src/mathed/InsetMathMacroTemplate.cpp:1383
+#, c-format
+msgid "Math Macro: \\%1$s"
+msgstr "Математический макрос: \\%1$s"
 
-#: src/frontends/qt/ui/TabularUi.ui:1621
-msgid "Current row position"
-msgstr "Текущая строка"
+#: src/mathed/InsetMathMacroTemplate.cpp:1398
+#, c-format
+msgid "Invalid macro! \\%1$s"
+msgstr "Неверный макрос! \\%1$s"
 
-#: src/frontends/qt/ui/TabularUi.ui:1643
-msgid "Current column position"
-msgstr "Текущий столбец"
+#: src/mathed/InsetMathNest.cpp:1020
+msgid "create new math text environment ($...$)"
+msgstr "создать новое окружение для формулы ($...$)"
 
-#: src/frontends/qt/ui/TexinfoUi.ui:40
-msgid "Selected classes or styles"
-msgstr "Выбранные классы или стили"
+#: src/mathed/InsetMathNest.cpp:1023
+msgid "entered math text mode (textrm)"
+msgstr "текстовый режим внутри формулы (textrm)"
 
-#: src/frontends/qt/ui/TexinfoUi.ui:44
-msgid "LaTeX classes"
-msgstr "Классы LaTeX"
+#: src/mathed/InsetMathNest.cpp:1045
+msgid "Regular expression editor mode"
+msgstr "Режим редактора регулярных выражений"
 
-#: src/frontends/qt/ui/TexinfoUi.ui:49
-msgid "LaTeX styles"
-msgstr "Стили LaTeX"
+#: src/mathed/InsetMathNest.cpp:1916
+#, c-format
+msgid "Cannot apply %1$s here."
+msgstr "Здесь невозможно применить %1$s."
 
-#: src/frontends/qt/ui/TexinfoUi.ui:54
-msgid "BibTeX styles"
-msgstr "Стили BibTeX"
+#: src/mathed/InsetMathRef.cpp:245
+msgid "Standard[[mathref]]"
+msgstr "Стандарт"
 
-#: src/frontends/qt/ui/TexinfoUi.ui:59
-msgid "BibTeX databases"
-msgstr "Базы данных BibTeX"
+#: src/mathed/InsetMathRef.cpp:250
+msgid "PrettyRef"
+msgstr "Красивая ссылка"
 
-#: src/frontends/qt/ui/TexinfoUi.ui:64
-msgid "Biblatex bibliography styles"
-msgstr "Стили библиографии Biblatex"
+#: src/mathed/InsetMathRef.cpp:250
+msgid "FormatRef: "
+msgstr "Формат ссылки: "
 
-#: src/frontends/qt/ui/TexinfoUi.ui:69
-msgid "Biblatex citation styles"
-msgstr "Стили ссылок Biblatex"
+#: src/mathed/InsetMathSize.cpp:107
+#, c-format
+msgid "Size: %1$s"
+msgstr "Размер: %1$s"
 
-#: src/frontends/qt/ui/TexinfoUi.ui:93
-msgid "Toggles view of the file list"
-msgstr "Переключить вид списка файлов"
+#: src/mathed/InsetMathSubstack.cpp:79
+#, c-format
+msgid "Can't change horizontal alignment in '%1$s'"
+msgstr "Невозможно изменить горизонтальное выравнивание в '%1$s'"
 
-#: src/frontends/qt/ui/TexinfoUi.ui:96
-msgid "Show &path"
-msgstr "Показывать &путь"
+#: src/output.cpp:37
+#, c-format
+msgid ""
+"Could not open the specified document\n"
+"%1$s."
+msgstr ""
+"Невозможно открыть указанный документ\n"
+"%1$s."
 
-#: src/frontends/qt/ui/TexinfoUi.ui:141
-msgid "Rebuild the file lists"
-msgstr "Перестроить список файлов"
+#: src/output_latex.cpp:1615
+msgid "Error in latexParagraphs"
+msgstr "Ошибка в latexParagraphs"
 
-#: src/frontends/qt/ui/TexinfoUi.ui:154
+#: src/output_latex.cpp:1616
+#, c-format
 msgid ""
-"Show contents of marked file. Only possible when files are shown with path"
-msgstr "Показывает содержимое отмеченного файла"
+"You are using at least one layout (%1$s) intended for the title, after using "
+"non-title layouts. This could lead to missing or incorrect output."
+msgstr ""
+"Вы используете хотя бы один макет (%1$s), предназначенный для заголовка, "
+"после использования макетов без заголовка. Это может привести к отсутствию "
+"вывода или неправильному выводу."
 
-#: src/frontends/qt/ui/TexinfoUi.ui:157
-msgid "&View"
-msgstr "Просмотреть"
+#: src/output_plaintext.cpp:143 lib/layouts/AEA.layout:101
+#: lib/layouts/IEEEtran-CompSoc.layout:49
+#: lib/layouts/IEEEtran-TransMag.layout:27 lib/layouts/IEEEtran.layout:259
+#: lib/layouts/RJournal.layout:39 lib/layouts/aa.layout:291
+#: lib/layouts/aapaper.layout:102 lib/layouts/aapaper.layout:205
+#: lib/layouts/aastex.layout:250 lib/layouts/acmart.layout:475
+#: lib/layouts/acmsiggraph-0-92.layout:238
+#: lib/layouts/acmsiggraph-0-92.layout:254 lib/layouts/acmsiggraph.layout:194
+#: lib/layouts/acmsiggraph.layout:210 lib/layouts/agutex.layout:138
+#: lib/layouts/amsdefs.inc:98 lib/layouts/apa.layout:73
+#: lib/layouts/apax.inc:227 lib/layouts/cl2emult.layout:85
+#: lib/layouts/cl2emult.layout:96 lib/layouts/copernicus.layout:191
+#: lib/layouts/ectaart.layout:43 lib/layouts/ectaart.layout:56
+#: lib/layouts/egs.layout:555 lib/layouts/elsart.layout:220
+#: lib/layouts/elsart.layout:235 lib/layouts/elsarticle.layout:235
+#: lib/layouts/elsarticle.layout:252 lib/layouts/entcs.layout:86
+#: lib/layouts/foils.layout:172 lib/layouts/ijmpc.layout:209
+#: lib/layouts/ijmpd.layout:217 lib/layouts/iopart.layout:177
+#: lib/layouts/iopart.layout:194 lib/layouts/isprs.layout:26
+#: lib/layouts/jasatex.layout:167 lib/layouts/jasatex.layout:184
+#: lib/layouts/jss.layout:51 lib/layouts/jss.layout:68
+#: lib/layouts/kluwer.layout:263 lib/layouts/latex8.layout:109
+#: lib/layouts/llncs.layout:247 lib/layouts/ltugboat.layout:177
+#: lib/layouts/ltugboat.layout:191 lib/layouts/maa-monthly.layout:34
+#: lib/layouts/paper.layout:134 lib/layouts/revtex.layout:141
+#: lib/layouts/revtex4-x.inc:58 lib/layouts/revtex4.layout:236
+#: lib/layouts/scrclass.inc:279 lib/layouts/siamltex.layout:260
+#: lib/layouts/sigplanconf.layout:195 lib/layouts/sigplanconf.layout:211
+#: lib/layouts/spie.layout:76 lib/layouts/stdstruct.inc:13
+#: lib/layouts/stdstruct.inc:29 lib/layouts/svcommon.inc:428
+#: lib/layouts/svcommon.inc:434 lib/layouts/svglobal.layout:147
+#: lib/layouts/svjog.layout:151 lib/layouts/svmono.layout:23
+#: lib/layouts/svmult.layout:96 lib/layouts/svmult.layout:100
+#: lib/layouts/svprobth.layout:181 lib/layouts/tufte-handout.layout:51
+#: lib/layouts/tufte-handout.layout:66
+msgid "Abstract"
+msgstr "Аннотация"
 
-#: src/frontends/qt/ui/TextLayoutUi.ui:26
-msgid "Spacing"
-msgstr "Интервал"
+#: src/output_plaintext.cpp:146
+msgid "Abstract: "
+msgstr "Аннотация: "
 
-#: src/frontends/qt/ui/TextLayoutUi.ui:44
-msgid "&Line spacing:"
-msgstr "&Междустрочный интервал:"
+#: src/output_plaintext.cpp:158
+msgid "References: "
+msgstr "Ссылки: "
 
-#: src/frontends/qt/ui/TextLayoutUi.ui:54
-msgid "Spacing type"
-msgstr "Расстояние между строками"
+#: src/support/Package.cpp:169
+msgid "LyX: reconfiguring user directory"
+msgstr "LyX: конфигурация пользователя создаётся заново"
 
-#: src/frontends/qt/ui/TextLayoutUi.ui:67
-msgid "Number of lines"
-msgstr "Количество строк"
+#: src/support/Package.cpp:173
+msgid "Done!"
+msgstr "Готово!"
 
-#: src/frontends/qt/ui/TextLayoutUi.ui:90
-msgid "Table Style"
-msgstr "Стиль таблиц"
+#: src/support/Package.cpp:528
+msgid "LyX binary not found"
+msgstr "Программа LyX не найдена"
 
-#: src/frontends/qt/ui/TextLayoutUi.ui:101
-msgid "Default St&yle:"
-msgstr "&Стиль по умолчанию:"
+#: src/support/Package.cpp:529
+#, c-format
+msgid ""
+"Unable to determine the path to the LyX binary from the command line %1$s"
+msgstr ""
+"Не удалось определить путь к двоичному файлу LyX из командной строки %1$s"
 
-#: src/frontends/qt/ui/TextLayoutUi.ui:155
-msgid "Paragraph Separation"
-msgstr "Разделение абзацев"
+#: src/support/Package.cpp:648
+#, c-format
+msgid ""
+"Unable to determine the system directory having searched\n"
+"\t%1$s\n"
+"Use the '-sysdir' command line parameter or set the environment variable\n"
+"%2$s to the LyX system directory containing the file `chkconfig.ltx'."
+msgstr ""
+"Не удаётся определить системный каталог после поиска в\n"
+"\t%1$s\n"
+"Используйте параметр командной строки '-sysdir' или задайте переменную "
+"окружения\n"
+"%2$s, равной системному каталогу LyX, содержащему файл `chkconfig.ltx'."
 
-#: src/frontends/qt/ui/TextLayoutUi.ui:170
-msgid "Indent consecutive paragraphs"
-msgstr "Отступы в последовательных абзацах"
+#: src/support/Package.cpp:717 src/support/Package.cpp:744
+msgid "File not found"
+msgstr "Файл не найден"
 
-#: src/frontends/qt/ui/TextLayoutUi.ui:173
-msgid "&Indentation:"
-msgstr "&Отступ:"
+#: src/support/Package.cpp:718
+#, c-format
+msgid ""
+"Invalid %1$s switch.\n"
+"Directory %2$s does not contain %3$s."
+msgstr ""
+"Неверный переключатель %1$s.\n"
+"Каталог %2$s не содержит %3$s."
 
-#: src/frontends/qt/ui/TextLayoutUi.ui:257
-msgid "&Vertical space:"
-msgstr "Верт. промежуток:"
+#: src/support/Package.cpp:745
+#, c-format
+msgid ""
+"Invalid %1$s environment variable.\n"
+"Directory %2$s does not contain %3$s."
+msgstr ""
+"Неверная переменная окружения %1$s.\n"
+"Каталог %2$s не содержит %3$s."
 
-#: src/frontends/qt/ui/TextLayoutUi.ui:267
-msgid "Size of the vertical space"
-msgstr "Верт. промежуток"
+#: src/support/Package.cpp:769
+#, c-format
+msgid ""
+"Invalid %1$s environment variable.\n"
+"%2$s is not a directory."
+msgstr ""
+"Неверная переменная окружения %1$s.\n"
+"%2$s это не каталог."
 
-#: src/frontends/qt/ui/TextLayoutUi.ui:326
+#: src/support/Package.cpp:771
+msgid "Directory not found"
+msgstr "Каталог не найден"
+
+#: src/support/Systemcall.cpp:416
+#, c-format
 msgid ""
-"Justify text in the LyX editor (this does not affect whether the text is "
-"justified in the output)"
+"The command\n"
+"%1$s\n"
+"has not yet completed.\n"
+"\n"
+"Do you want to stop it?"
 msgstr ""
-"Выравнивать текст по ширине в редакторе LyX (это не влияет на выравнивание "
-"текста в результирующем документе)"
+"Выполнение команды\n"
+"%1$s\n"
+"не завершено.\n"
+"\n"
+"Хотите её остановить?"
 
-#: src/frontends/qt/ui/TextLayoutUi.ui:329
-msgid "Use &justification in LyX work area"
-msgstr "Выравнивать по ширине в рабочей области LyX"
+#: src/support/Systemcall.cpp:418
+msgid "Stop command?"
+msgstr "Остановить команду?"
 
-#: src/frontends/qt/ui/TextLayoutUi.ui:336
-msgid "Format text into two columns"
-msgstr "Форматировать текст в две колонки"
+#: src/support/Systemcall.cpp:419
+msgid "&Stop it"
+msgstr "&Остановить"
 
-#: src/frontends/qt/ui/TextLayoutUi.ui:339
-msgid "Two-&column document"
-msgstr "Двух&колоночный документ"
+#: src/support/Systemcall.cpp:419
+msgid "Let it &run"
+msgstr "&Продолжить выполнение"
 
-#: src/frontends/qt/ui/ThesaurusUi.ui:33
-msgid "Language of the thesaurus"
-msgstr "Язык тезауруса"
+#: src/support/debug.cpp:41
+msgid "No debugging messages"
+msgstr "Нет отладочных сообщений"
 
-#: src/frontends/qt/ui/ThesaurusUi.ui:40
-msgid "Index entry"
-msgstr "Запись в предметном указателе"
+#: src/support/debug.cpp:42
+msgid "General information"
+msgstr "Общая информация"
 
-#: src/frontends/qt/ui/ThesaurusUi.ui:43
-msgid "&Keyword:"
-msgstr "&Ключевое слово:"
+#: src/support/debug.cpp:43
+msgid "Program initialisation"
+msgstr "Инициализация программы"
 
-#: src/frontends/qt/ui/ThesaurusUi.ui:56
-msgid "L&ookup"
-msgstr "&Искать"
+#: src/support/debug.cpp:44
+msgid "Keyboard events handling"
+msgstr "Обработка событий клавиатуры"
 
-#: src/frontends/qt/ui/ThesaurusUi.ui:63 src/frontends/qt/ui/ThesaurusUi.ui:76
-msgid "The selected entry"
-msgstr "Выбранная запись"
+#: src/support/debug.cpp:45
+msgid "GUI handling"
+msgstr "Обработка GUI"
 
-#: src/frontends/qt/ui/ThesaurusUi.ui:66
-msgid "Sele&ction:"
-msgstr "&Выделение:"
+#: src/support/debug.cpp:46
+msgid "Lyxlex grammar parser"
+msgstr "Грамматический анализатор Lyxlex"
 
-#: src/frontends/qt/ui/ThesaurusUi.ui:83
-msgid "Replace the entry with the selection"
-msgstr "Заменить запись выбранным"
+#: src/support/debug.cpp:47
+msgid "Configuration files reading"
+msgstr "Чтение файлов конфигурации"
 
-#: src/frontends/qt/ui/ThesaurusUi.ui:93
-msgid "Click to select a proposal, double click to look it up."
-msgstr "Щёлкните для выбора предложения, дважды щёлкните для его поиска."
+#: src/support/debug.cpp:48
+msgid "Custom keyboard definition"
+msgstr "Клавиатурные определения"
 
-#: src/frontends/qt/ui/ThesaurusUi.ui:112
-msgid "Word to look up"
-msgstr "Искать слово"
+#: src/support/debug.cpp:49
+msgid "LaTeX generation/execution"
+msgstr "Генерация/выполнение LaTeX"
 
-#: src/frontends/qt/ui/TocUi.ui:40
-msgid "Filter:"
-msgstr "Фильтр:"
+#: src/support/debug.cpp:50
+msgid "Math editor"
+msgstr "Математический редактор"
 
-#: src/frontends/qt/ui/TocUi.ui:50
-msgid "Enter string to filter contents"
-msgstr "Введите строку для фильтрации содержания"
+#: src/support/debug.cpp:51
+msgid "Font handling"
+msgstr "Обработка шрифтов"
 
-#: src/frontends/qt/ui/TocUi.ui:76
-msgid "Update navigation tree"
-msgstr "Обновить дерево навигации"
+#: src/support/debug.cpp:52
+msgid "Textclass files reading"
+msgstr "Чтение классов документа"
 
-#: src/frontends/qt/ui/TocUi.ui:79 src/frontends/qt/ui/TocUi.ui:112
-#: src/frontends/qt/ui/TocUi.ui:132 src/frontends/qt/ui/TocUi.ui:152
-#: src/frontends/qt/ui/TocUi.ui:172
-msgid "..."
-msgstr "..."
+#: src/support/debug.cpp:53
+msgid "Version control"
+msgstr "Управление версиями"
 
-#: src/frontends/qt/ui/TocUi.ui:109
-msgid "Decrease nesting depth of selected item"
-msgstr "Уменьшить уровень вложенности выбранного пункта"
+#: src/support/debug.cpp:54
+msgid "External control interface"
+msgstr "Внешний интерфейс управления"
 
-#: src/frontends/qt/ui/TocUi.ui:129
-msgid "Increase nesting depth of selected item"
-msgstr "Увеличить уровень вложенности выбранного пункта"
+#: src/support/debug.cpp:55
+msgid "Undo/Redo mechanism"
+msgstr "Механизм отмены/возврата"
 
-#: src/frontends/qt/ui/TocUi.ui:149
-msgid "Move selected item down by one"
-msgstr "Переместить выбранный пункт вниз"
+#: src/support/debug.cpp:56
+msgid "User commands"
+msgstr "Команды пользователя"
 
-#: src/frontends/qt/ui/TocUi.ui:169
-msgid "Move selected item up by one"
-msgstr "Переместить выбранный пункт вверх"
+#: src/support/debug.cpp:57
+msgid "The LyX Lexer"
+msgstr "Лексический анализатор LyX"
 
-#: src/frontends/qt/ui/TocUi.ui:223
-msgid "Sort"
-msgstr "Сортировать"
+#: src/support/debug.cpp:58
+msgid "Dependency information"
+msgstr "Информация о зависимостях"
 
-#: src/frontends/qt/ui/TocUi.ui:242
-msgid "Try to keep persistent view of the uncollapsed nodes"
-msgstr "По возможности сохранять постоянный вид развёрнутых узлов"
+#: src/support/debug.cpp:59
+msgid "LyX Insets"
+msgstr "Вставки LyX"
 
-#: src/frontends/qt/ui/TocUi.ui:245
-msgid "Keep"
-msgstr "Сохранять вид"
+#: src/support/debug.cpp:60
+msgid "Files used by LyX"
+msgstr "Файлы, которые использует LyX"
 
-#: src/frontends/qt/ui/TocUi.ui:260
+#: src/support/debug.cpp:61
+msgid "Workarea events"
+msgstr "События рабочей области"
+
+#: src/support/debug.cpp:62
+msgid "Clipboard handling"
+msgstr "Обработка буфера обмена"
+
+#: src/support/debug.cpp:63
+msgid "Graphics conversion and loading"
+msgstr "Преобразование и загрузка изображений"
+
+#: src/support/debug.cpp:64
+msgid "Change tracking"
+msgstr "Отслеживание изменений"
+
+#: src/support/debug.cpp:65
+msgid "External template/inset messages"
+msgstr "Сообщения внешнего шаблона/вставки"
+
+#: src/support/debug.cpp:66
+msgid "RowPainter profiling"
+msgstr "Профилирование RowPainter"
+
+#: src/support/debug.cpp:67
+msgid "Scrolling debugging"
+msgstr "Отладка прокрутки"
+
+#: src/support/debug.cpp:68
+msgid "Math macros"
+msgstr "Математические макросы"
+
+#: src/support/debug.cpp:69
+msgid "RTL/Bidi"
+msgstr "RTL/Bidi"
+
+#: src/support/debug.cpp:70
+msgid "Locale/Internationalisation"
+msgstr "Локаль/интернационализация"
+
+#: src/support/debug.cpp:71
+msgid "Selection copy/paste mechanism"
+msgstr "Механизм копирования/вставки выделения"
+
+#: src/support/debug.cpp:72
+msgid "Find and replace mechanism"
+msgstr "Механизм поиска и замены"
+
+#: src/support/debug.cpp:73
+msgid "Developers' general debug messages"
+msgstr "Общие отладочные сообщения разработчиков"
+
+#: src/support/debug.cpp:74
+msgid "All debugging messages"
+msgstr "Все отладочные сообщения"
+
+#: src/support/debug.cpp:153
+#, c-format
+msgid "Debugging `%1$s' (%2$s)"
+msgstr "Отладка `%1$s' (%2$s)"
+
+#: src/support/lassert.cpp:60
+#, c-format
 msgid ""
-"Switch between available lists (table of contents, list of figures, list of "
-"tables, and others)"
+"Assertion %1$s violated in\n"
+"file: %2$s, line: %3$s"
 msgstr ""
-"Переключение между доступными списками (содержанием, списком рисунков, "
-"списком таблиц и другими)"
+"Утверждение %1$s нарушено в\n"
+"файле: %2$s, строка: %3$s"
 
-#: src/frontends/qt/ui/TocUi.ui:273
-msgid "Adjust the depth of the navigation tree"
-msgstr "Изменить глубину дерева навигации"
+#: src/support/lassert.cpp:70
+msgid ""
+"It should be safe to continue, but you\n"
+"may wish to save your work and restart LyX."
+msgstr ""
+"Должно быть безопасно продолжать работу, но\n"
+"желательно сохранить документ и перезапустить LyX."
 
-#: src/frontends/qt/ui/TocUi.ui:307
-msgid "Sho&w:"
-msgstr "Показать:"
+#: src/support/lassert.cpp:73
+msgid "Warning!"
+msgstr "Предупреждение!"
 
-#: src/frontends/qt/ui/TocUi.ui:323
+#: src/support/lassert.cpp:80
 msgid ""
-"Filter items that are not output (in notes, inactive branches, deleted in "
-"change tracking, etc.)"
+"There has been an error with this document.\n"
+"LyX will attempt to close it safely."
 msgstr ""
-"Отфильтровать элементы, которые не выводятся (в заметках, неактивных ветках, "
-"удаленных в отслеживании изменений и т. д.)"
+"Ошибка в документе.\n"
+"LyX попытается безопасно закрыть его."
 
-#: src/frontends/qt/ui/TocUi.ui:327
-msgid "All items"
-msgstr "Все элементы"
+#: src/support/lassert.cpp:83
+msgid "Buffer Error!"
+msgstr "Ошибка буфера!"
 
-#: src/frontends/qt/ui/TocUi.ui:332
-msgid "Only output items"
-msgstr "Только элементы для вывода"
+#: src/support/lassert.cpp:90
+msgid ""
+"LyX has encountered an application error\n"
+"and will now shut down."
+msgstr ""
+"LyX обнаружил ошибку приложения\n"
+"и сейчас будет завершён."
 
-#: src/frontends/qt/ui/TocUi.ui:337
-msgid "Only non-output items"
-msgstr "Только элементы не для вывода"
+#: src/support/lassert.cpp:93
+msgid "Fatal Exception!"
+msgstr "Фатальное исключение!"
 
-#: src/frontends/qt/ui/ToggleWarningUi.ui:14
-msgid "Enter text"
-msgstr "Введите текст"
+#: src/support/lengthcommon.cpp:40
+msgid "cc[[unit of measure]]"
+msgstr "cc"
 
-#: src/frontends/qt/ui/ToggleWarningUi.ui:62
-#: src/frontends/qt/GuiProgress.cpp:194
-msgid "If you check this, LyX will not warn you again in the given case."
-msgstr "Отметьте, чтобы LyX больше не беспокоил вас в подобных ситуациях."
+#: src/support/lengthcommon.cpp:40
+msgid "dd"
+msgstr "dd"
 
-#: src/frontends/qt/ui/ToggleWarningUi.ui:65
-#: src/frontends/qt/GuiProgress.cpp:193
-msgid "&Do not show this warning again!"
-msgstr "&Не отображать больше это предупреждение!"
+#: src/support/lengthcommon.cpp:40
+msgid "em"
+msgstr "em"
 
-#: src/frontends/qt/ui/VSpaceUi.ui:33
-msgid "Insert the spacing even after a page break"
-msgstr "Вставить промежуток даже после разрыва страницы"
+#: src/support/lengthcommon.cpp:41
+msgid "ex"
+msgstr "ex"
 
-#: src/frontends/qt/ui/VSpaceUi.ui:83
-msgid "DefSkip"
-msgstr "По умолчанию"
+#: src/support/lengthcommon.cpp:41
+msgid "mu[[unit of measure]]"
+msgstr "mu"
 
-#: src/frontends/qt/ui/VSpaceUi.ui:88 src/frontends/qt/GuiDocument.cpp:865
-msgid "SmallSkip"
-msgstr "Малый"
+#: src/support/lengthcommon.cpp:41
+msgid "pc"
+msgstr "pc"
 
-#: src/frontends/qt/ui/VSpaceUi.ui:93 src/frontends/qt/GuiDocument.cpp:866
-msgid "MedSkip"
-msgstr "Средний"
+#: src/support/lengthcommon.cpp:42
+msgid "pt"
+msgstr "pt"
 
-#: src/frontends/qt/ui/VSpaceUi.ui:98 src/frontends/qt/GuiDocument.cpp:867
-msgid "BigSkip"
-msgstr "Большой"
+#: src/support/lengthcommon.cpp:42
+msgid "sp"
+msgstr "sp"
 
-#: src/frontends/qt/ui/VSpaceUi.ui:103 src/VSpace.cpp:202
-#: src/frontends/qt/GuiDocument.cpp:863
-msgid "Half line height"
-msgstr "Половина высоты строки"
+#: src/support/lengthcommon.cpp:42
+msgid "Text Width %"
+msgstr "% ширины текста"
 
-#: src/frontends/qt/ui/VSpaceUi.ui:108 src/VSpace.cpp:205
-#: src/frontends/qt/GuiDocument.cpp:864
-msgid "Line height"
-msgstr "Высота строки"
+#: src/support/lengthcommon.cpp:43
+msgid "Column Width %"
+msgstr "% ширины колонки"
 
-#: src/frontends/qt/ui/VSpaceUi.ui:113
-msgid "VFill"
-msgstr "Вертикальное заполнение"
+#: src/support/lengthcommon.cpp:43
+msgid "Page Width %"
+msgstr "% ширины страницы"
 
-#: src/frontends/qt/ui/ViewSourceUi.ui:90
-msgid "F&ormat:"
-msgstr "Ф&ормат:"
+#: src/support/lengthcommon.cpp:43
+msgid "Line Width %"
+msgstr "% ширины строки"
 
-#: src/frontends/qt/ui/ViewSourceUi.ui:109
-msgid "Select the output format"
-msgstr "Выберите формат вывода"
+#: src/support/lengthcommon.cpp:44
+msgid "Text Height %"
+msgstr "% высоты текста"
 
-#: src/frontends/qt/ui/ViewSourceUi.ui:127
-msgid "Show the source as the master document gets it"
-msgstr "Показать код в виде, используемом для главного документа"
+#: src/support/lengthcommon.cpp:44
+msgid "Page Height %"
+msgstr "% высоты страницы"
 
-#: src/frontends/qt/ui/ViewSourceUi.ui:130
-msgid "Master's perspective"
-msgstr "Как для главного документа"
+#: src/support/lengthcommon.cpp:44
+msgid "Line Distance %"
+msgstr "% междустрочного интервала"
 
-#: src/frontends/qt/ui/ViewSourceUi.ui:137
-msgid "Automatic update"
-msgstr "Автоматическое обновление"
+#: src/support/os_win32.cpp:494
+msgid "System file not found"
+msgstr "Системный файл не найден"
 
-#: src/frontends/qt/ui/ViewSourceUi.ui:164
-msgid "Current Paragraph"
-msgstr "Текущий абзац"
+#: src/support/os_win32.cpp:495
+msgid ""
+"Unable to load shfolder.dll\n"
+"Please install."
+msgstr ""
+"Невозможно загрузить shfolder.dll\n"
+"Установите её пожалуйста."
 
-#: src/frontends/qt/ui/ViewSourceUi.ui:169
-msgid "Complete Source"
-msgstr "Весь файл"
+#: src/support/os_win32.cpp:500
+msgid "System function not found"
+msgstr "Системная функция не найдена"
 
-#: src/frontends/qt/ui/ViewSourceUi.ui:174
-msgid "Preamble Only"
-msgstr "Только преамбула"
+#: src/support/os_win32.cpp:501
+msgid ""
+"Unable to find SHGetFolderPathA in shfolder.dll\n"
+"Don't know how to proceed. Sorry."
+msgstr ""
+"Не удалось найти SHGetFolderPathA в shfolder.dll\n"
+"Не знаю как продолжить. Извините."
 
-#: src/frontends/qt/ui/ViewSourceUi.ui:179
-msgid "Body Only"
-msgstr "Только тело документа"
+#: src/support/userinfo.cpp:45
+msgid "Unknown user"
+msgstr "Неизвестный пользователь"
 
-#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3502
-#: src/frontends/qt/GuiView.cpp:4206
-msgid "&Reload"
-msgstr "&Перезагрузить"
+#: lib/languages:155
+msgid "Afrikaans"
+msgstr "Африкаанс"
 
-#: src/frontends/qt/ui/WrapUi.ui:33
-msgid "Horizontal placement"
-msgstr "Горизонтальное размещение"
+#: lib/languages:167
+msgid "Albanian"
+msgstr "Албанский"
 
-#: src/frontends/qt/ui/WrapUi.ui:37
-msgid "Outer (default)"
-msgstr "Наружное (по умолчанию)"
+#: lib/languages:187
+msgid "English (USA)"
+msgstr "Английский (США)"
 
-#: src/frontends/qt/ui/WrapUi.ui:42
-msgid "Inner"
-msgstr "Внутреннее"
+#: lib/languages:201
+msgid "Amharic"
+msgstr "Амхарский"
 
-#: src/frontends/qt/ui/WrapUi.ui:60
-msgid "Check this to allow flexible placement"
-msgstr "Отметьте для плавающего размещения объекта"
+#: lib/languages:211
+msgid "Greek (ancient)"
+msgstr "Греческий (древний)"
 
-#: src/frontends/qt/ui/WrapUi.ui:63
-msgid "Allow &floating"
-msgstr "Разрешить плавающий режим"
+#: lib/languages:231
+msgid "Arabic (ArabTeX)"
+msgstr "Арабский (ArabTeX)"
 
-#: src/frontends/qt/ui/WrapUi.ui:70
-msgid "Wid&th:"
-msgstr "Ширина:"
+#: lib/languages:243
+msgid "Arabic (Arabi)"
+msgstr "Арабский (Аравия)"
 
-#: src/frontends/qt/ui/WrapUi.ui:108
-msgid "Unit of width value"
-msgstr "Единицы измерения ширины"
+#: lib/languages:286
+msgid "Asturian"
+msgstr "Астурийский"
 
-#: src/frontends/qt/ui/WrapUi.ui:115
-msgid "use overhang"
-msgstr "Использовать выступ"
+#: lib/languages:296
+msgid "English (Australia)"
+msgstr "Английский (Австралия)"
 
-#: src/frontends/qt/ui/WrapUi.ui:118
-msgid "Over&hang:"
-msgstr "Выступ:"
+#: lib/languages:311
+msgid "German (Austria, old spelling)"
+msgstr "Немецкий (Австрия, старая орфография)"
 
-#: src/frontends/qt/ui/WrapUi.ui:137
-msgid "Overhang value"
-msgstr "Значение выступа"
+#: lib/languages:326
+msgid "German (Austria)"
+msgstr "Немецкий (Австрия)"
 
-#: src/frontends/qt/ui/WrapUi.ui:162
-msgid "Unit of overhang value"
-msgstr "Единицы измерения выступа"
+#: lib/languages:339
+msgid "Azerbaijani"
+msgstr "Азербайджанский"
 
-#: src/frontends/qt/ui/WrapUi.ui:169
-msgid "use number of lines"
-msgstr "Использовать заданное количество строк"
+#: lib/languages:355
+msgid "Indonesian"
+msgstr "Индонезийский"
 
-#: src/frontends/qt/ui/WrapUi.ui:172
-msgid "&Line span:"
-msgstr "&Строки:"
+#: lib/languages:367
+msgid "Malay"
+msgstr "Малайский"
 
-#: src/frontends/qt/ui/WrapUi.ui:182
-msgid "number of needed lines"
-msgstr "Количество строк"
+#: lib/languages:377
+msgid "Basque"
+msgstr "Баскский"
+
+#: lib/languages:394
+msgid "Belarusian"
+msgstr "Белорусский"
+
+#: lib/languages:417
+msgid "Bosnian"
+msgstr "Боснийский"
+
+#: lib/languages:428
+msgid "Portuguese (Brazil)"
+msgstr "Португальский (Бразилия)"
+
+#: lib/languages:442
+msgid "Breton"
+msgstr "Бретонский"
+
+#: lib/languages:453
+msgid "English (UK)"
+msgstr "Английский (Великобритания)"
+
+#: lib/languages:466
+msgid "Bulgarian"
+msgstr "Болгарский"
+
+#: lib/languages:480
+msgid "English (Canada)"
+msgstr "Английский (Канада)"
+
+#: lib/languages:493
+msgid "French (Canada)"
+msgstr "Французский (Канада)"
+
+#: lib/languages:506
+msgid "Catalan"
+msgstr "Каталонский"
+
+#: lib/languages:520
+msgid "Chinese (simplified)"
+msgstr "Китайский (упрощённый)"
+
+#: lib/languages:532
+msgid "Chinese (traditional)"
+msgstr "Китайский (традиционный)"
+
+#: lib/languages:544
+msgid "Church Slavonic"
+msgstr "Церковнославянский"
+
+#: lib/languages:557
+msgid "Coptic"
+msgstr "Коптский"
+
+#: lib/languages:564
+msgid "Croatian"
+msgstr "Хорватский"
+
+#: lib/languages:576
+msgid "Czech"
+msgstr "Чешский"
+
+#: lib/languages:590
+msgid "Danish"
+msgstr "Датский"
+
+#: lib/languages:604
+msgid "Divehi (Maldivian)"
+msgstr "Дивехи (Мальдивский)"
+
+#: lib/languages:612
+msgid "Dutch"
+msgstr "Голландский"
+
+#: lib/languages:642
+msgid "Esperanto"
+msgstr "Эсперанто"
+
+#: lib/languages:654
+msgid "Estonian"
+msgstr "Эстонский"
+
+#: lib/languages:671
+msgid "Farsi"
+msgstr "Фарси"
+
+#: lib/languages:688
+msgid "Finnish"
+msgstr "Финский"
+
+#: lib/languages:701
+msgid "French"
+msgstr "Французский"
+
+#: lib/languages:714
+msgid "Friulian"
+msgstr "Фриульский"
+
+#: lib/languages:726
+msgid "Galician"
+msgstr "Галисийский"
+
+#: lib/languages:754
+msgid "German (old spelling)"
+msgstr "Немецкий (старая орфография)"
+
+#: lib/languages:768 lib/examples/Articles:0
+msgid "German"
+msgstr "Немецкий"
+
+#: lib/languages:786
+msgid "German (Switzerland)"
+msgstr "Немецкий (Швейцария)"
+
+#: lib/languages:802
+msgid "German (Switzerland, old spelling)"
+msgstr "Немецкий (Швейцария, старая орфография)"
+
+#: lib/languages:831
+msgid "Greek (polytonic)"
+msgstr "Греческий (политонический)"
+
+#: lib/languages:872
+msgid "Hindi"
+msgstr "Хинди"
+
+#: lib/languages:893
+msgid "Icelandic"
+msgstr "Исландский"
+
+#: lib/languages:907
+msgid "Interlingua"
+msgstr "Интерлингва"
+
+#: lib/languages:919
+msgid "Irish"
+msgstr "Ирландский"
+
+#: lib/languages:930
+msgid "Italian"
+msgstr "Итальянский"
+
+#: lib/languages:945
+msgid "Japanese"
+msgstr "Японский"
+
+#: lib/languages:959
+msgid "Japanese (CJK)"
+msgstr "Японский (ККЯ)"
+
+#: lib/languages:980
+msgid "Kazakh"
+msgstr "Казахский"
+
+#: lib/languages:989
+msgid "Khmer"
+msgstr "Хмерский"
+
+#: lib/languages:997
+msgid "Korean"
+msgstr "Корейский"
+
+#: lib/languages:1018
+msgid "Kurdish (Kurmanji)"
+msgstr "Курдский (Курманджи)"
+
+#: lib/languages:1042 lib/layouts/achemso.layout:305
+#: lib/layouts/achemso.layout:308
+msgid "Latin"
+msgstr "Латинский"
+
+#: lib/languages:1056
+msgid "Latvian"
+msgstr "Латышский"
+
+#: lib/languages:1071
+msgid "Lithuanian"
+msgstr "Литовский"
+
+#: lib/languages:1091
+msgid "Lower Sorbian"
+msgstr "Нижнесорбский"
+
+#: lib/languages:1103
+msgid "Hungarian"
+msgstr "Венгерский"
+
+#: lib/languages:1116
+msgid "Macedonian"
+msgstr "Македонский"
+
+#: lib/languages:1140
+msgid "Marathi"
+msgstr "Марати"
+
+#: lib/languages:1150
+msgid "Mongolian"
+msgstr "Монгольский"
+
+#: lib/languages:1162
+msgid "English (New Zealand)"
+msgstr "Английский (Новая Зеландия)"
+
+#: lib/languages:1175
+msgid "Norwegian (Bokmaal)"
+msgstr "Норвежский (Букмол)"
+
+#: lib/languages:1204
+msgid "Norwegian (Nynorsk)"
+msgstr "Норвежский (Нюнорск)"
+
+#: lib/languages:1218
+msgid "Occitan"
+msgstr "Окситанский"
+
+#: lib/languages:1230
+msgid "Russian (Petrine orthography)"
+msgstr "Русский (дореволюционная орфография)"
+
+#: lib/languages:1240
+msgid "Piedmontese"
+msgstr "Пьемонтский"
+
+#: lib/languages:1252
+msgid "Polish"
+msgstr "Польский"
+
+#: lib/languages:1265
+msgid "Portuguese"
+msgstr "Португальский"
+
+#: lib/languages:1278
+msgid "Romanian"
+msgstr "Румынский"
+
+#: lib/languages:1291
+msgid "Romansh"
+msgstr "Романш"
+
+#: lib/languages:1303
+msgid "Russian"
+msgstr "Русский"
+
+#: lib/languages:1319
+msgid "North Sami"
+msgstr "Северное Саами"
+
+#: lib/languages:1330
+msgid "Sanskrit"
+msgstr "Санскрит"
+
+#: lib/languages:1340
+msgid "Scottish"
+msgstr "Шотландский"
+
+#: lib/languages:1356
+msgid "Serbian"
+msgstr "Сербский"
+
+#: lib/languages:1373
+msgid "Serbian (Latin)"
+msgstr "Сербский (латиница)"
+
+#: lib/languages:1386
+msgid "Slovak"
+msgstr "Словацкий"
+
+#: lib/languages:1400
+msgid "Slovene"
+msgstr "Словенский"
+
+#: lib/languages:1412
+msgid "Spanish"
+msgstr "Испанский"
+
+#: lib/languages:1429
+msgid "Spanish (Mexico)"
+msgstr "Испанский (Мексика)"
+
+#: lib/languages:1444
+msgid "Swedish"
+msgstr "Шведский"
+
+#: lib/languages:1458
+msgid "Syriac"
+msgstr "Сирийский"
+
+#: lib/languages:1526
+msgid "Turkish"
+msgstr "Турецкий"
+
+#: lib/languages:1542
+msgid "Turkmen"
+msgstr "Туркменский"
+
+#: lib/languages:1553
+msgid "Ukrainian"
+msgstr "Украинский"
+
+#: lib/languages:1567
+msgid "Upper Sorbian"
+msgstr "Верхнесорбский"
+
+#: lib/languages:1580
+msgid "Urdu"
+msgstr "Урду"
+
+#: lib/languages:1589
+msgid "Vietnamese"
+msgstr "Вьетнамский"
+
+#: lib/languages:1601
+msgid "Welsh"
+msgstr "Валлийский"
 
 #: lib/citeengines/basic.citeengine:2
 msgid "Basic (BibTeX)"
@@ -5957,7 +11592,7 @@ msgid ""
 "styles primarily suitable for science and maths."
 msgstr ""
 "Основные возможности цитирования, предоставляемые BibTeX. В основном простые "
-"числовые стили, в первую очередь подходящие для науки и математики."
+"числовые стили, в первую очередь подходящие для точных наук."
 
 #: lib/citeengines/basic.citeengine:52
 #: lib/citeengines/biblatex-natbib.citeengine:138
@@ -6052,16 +11687,6 @@ msgstr "Использовать полный заголовок, даже ес
 msgid "Super"
 msgstr "Верхний индекс"
 
-#: lib/citeengines/biblatex-natbib.citeengine:304
-#: lib/citeengines/biblatex.citeengine:290 lib/ui/stdtoolbars.inc:192
-#: src/insets/InsetScript.cpp:65
-msgid "Superscript"
-msgstr "Верхний индекс"
-
-#: lib/citeengines/biblatex.citeengine:2 src/insets/InsetBibtex.cpp:149
-msgid "Biblatex"
-msgstr "Biblatex"
-
 #: lib/citeengines/biblatex.citeengine:8
 msgid ""
 "Biblatex supports many author-year and numerical styles. It is mainly aimed "
@@ -6335,43 +11960,6 @@ msgstr "Ключевые слова"
 msgid "Keywords:"
 msgstr "Ключевые слова:"
 
-#: lib/layouts/AEA.layout:101 lib/layouts/IEEEtran-CompSoc.layout:49
-#: lib/layouts/IEEEtran-TransMag.layout:27 lib/layouts/IEEEtran.layout:259
-#: lib/layouts/RJournal.layout:39 lib/layouts/aa.layout:291
-#: lib/layouts/aapaper.layout:102 lib/layouts/aapaper.layout:205
-#: lib/layouts/aastex.layout:250 lib/layouts/acmart.layout:475
-#: lib/layouts/acmsiggraph-0-92.layout:238
-#: lib/layouts/acmsiggraph-0-92.layout:254 lib/layouts/acmsiggraph.layout:194
-#: lib/layouts/acmsiggraph.layout:210 lib/layouts/agutex.layout:138
-#: lib/layouts/amsdefs.inc:98 lib/layouts/apa.layout:73
-#: lib/layouts/apax.inc:227 lib/layouts/cl2emult.layout:85
-#: lib/layouts/cl2emult.layout:96 lib/layouts/copernicus.layout:191
-#: lib/layouts/ectaart.layout:43 lib/layouts/ectaart.layout:56
-#: lib/layouts/egs.layout:555 lib/layouts/elsart.layout:220
-#: lib/layouts/elsart.layout:235 lib/layouts/elsarticle.layout:235
-#: lib/layouts/elsarticle.layout:252 lib/layouts/entcs.layout:86
-#: lib/layouts/foils.layout:172 lib/layouts/ijmpc.layout:209
-#: lib/layouts/ijmpd.layout:217 lib/layouts/iopart.layout:177
-#: lib/layouts/iopart.layout:194 lib/layouts/isprs.layout:26
-#: lib/layouts/jasatex.layout:167 lib/layouts/jasatex.layout:184
-#: lib/layouts/jss.layout:51 lib/layouts/jss.layout:68
-#: lib/layouts/kluwer.layout:263 lib/layouts/latex8.layout:109
-#: lib/layouts/llncs.layout:247 lib/layouts/ltugboat.layout:177
-#: lib/layouts/ltugboat.layout:191 lib/layouts/maa-monthly.layout:34
-#: lib/layouts/paper.layout:134 lib/layouts/revtex.layout:141
-#: lib/layouts/revtex4-x.inc:58 lib/layouts/revtex4.layout:236
-#: lib/layouts/scrclass.inc:279 lib/layouts/siamltex.layout:260
-#: lib/layouts/sigplanconf.layout:195 lib/layouts/sigplanconf.layout:211
-#: lib/layouts/spie.layout:76 lib/layouts/stdstruct.inc:13
-#: lib/layouts/stdstruct.inc:29 lib/layouts/svcommon.inc:428
-#: lib/layouts/svcommon.inc:434 lib/layouts/svglobal.layout:147
-#: lib/layouts/svjog.layout:151 lib/layouts/svmono.layout:23
-#: lib/layouts/svmult.layout:96 lib/layouts/svmult.layout:100
-#: lib/layouts/svprobth.layout:181 lib/layouts/tufte-handout.layout:51
-#: lib/layouts/tufte-handout.layout:66 src/output_plaintext.cpp:143
-msgid "Abstract"
-msgstr "Аннотация"
-
 #: lib/layouts/AEA.layout:105 lib/layouts/aa.layout:154
 #: lib/layouts/aapaper.inc:80 lib/layouts/aapaper.layout:105
 #: lib/layouts/achemso.layout:239 lib/layouts/achemso.layout:246
@@ -6759,36 +12347,6 @@ msgstr "Критерий"
 msgid "Definition"
 msgstr "Определение"
 
-#: lib/layouts/AEA.layout:230 lib/layouts/acmart.layout:623
-#: lib/layouts/beamer.layout:1333 lib/layouts/elsart.layout:389
-#: lib/layouts/linguistics.module:18 lib/layouts/llncs.layout:363
-#: lib/layouts/svmono.layout:73 lib/layouts/theorems-ams-bytype.inc:48
-#: lib/layouts/theorems-ams-bytype.inc:231
-#: lib/layouts/theorems-ams-bytype.inc:241
-#: lib/layouts/theorems-ams-bytype.inc:244
-#: lib/layouts/theorems-ams-chap-bytype.inc:57
-#: lib/layouts/theorems-ams-chap-bytype.inc:274
-#: lib/layouts/theorems-ams-chap-bytype.inc:288
-#: lib/layouts/theorems-ams-chap-bytype.inc:291
-#: lib/layouts/theorems-ams.inc:190 lib/layouts/theorems-ams.inc:199
-#: lib/layouts/theorems-ams.inc:202 lib/layouts/theorems-bytype.inc:187
-#: lib/layouts/theorems-bytype.inc:197 lib/layouts/theorems-bytype.inc:200
-#: lib/layouts/theorems-bytype.module:40
-#: lib/layouts/theorems-chap-bytype.module:47
-#: lib/layouts/theorems-chap-bytype.module:151
-#: lib/layouts/theorems-order.inc:43 lib/layouts/theorems-sec-bytype.module:47
-#: lib/layouts/theorems-sec-bytype.module:123
-#: lib/layouts/theorems-starred-equivalents.inc:48
-#: lib/layouts/theorems-starred.inc:192 lib/layouts/theorems-starred.inc:195
-#: lib/layouts/theorems-without-preamble.inc:213
-#: lib/layouts/theorems-without-preamble.inc:215
-#: lib/layouts/theorems-without-preamble.inc:222
-#: lib/layouts/theorems-without-preamble.inc:225 lib/layouts/theorems.inc:190
-#: lib/layouts/theorems.inc:199 lib/layouts/theorems.inc:202
-#: src/frontends/qt/GuiDocument.cpp:1347
-msgid "Example"
-msgstr "Пример"
-
 #: lib/layouts/AEA.layout:237 lib/layouts/llncs.layout:370
 #: lib/layouts/svmono.layout:78 lib/layouts/theorems-ams-bytype.inc:54
 #: lib/layouts/theorems-ams-bytype.inc:269
@@ -7025,10 +12583,9 @@ msgstr "Решение \\theconclusion."
 msgid "Summary"
 msgstr "Резюме"
 
-#: lib/layouts/AEA.layout:300 src/frontends/qt/Menus.cpp:1771
-#: src/frontends/qt/Menus.cpp:1786
-msgid "Caption"
-msgstr "Подпись"
+#: lib/layouts/AEA.layout:306 src/frontends/qt/ui/TabularUi.ui:1508
+msgid "Caption:"
+msgstr "Подпись:"
 
 #: lib/layouts/AEA.layout:311 lib/layouts/IEEEtran.layout:420
 #: lib/layouts/beamer.layout:1361 lib/layouts/elsart.layout:305
@@ -7078,38 +12635,6 @@ msgstr "IEEE Transactions on Magnetics"
 msgid "IEEE Transactions"
 msgstr "IEEE Transactions"
 
-#: lib/layouts/IEEEtran.layout:35 lib/layouts/aa.layout:36
-#: lib/layouts/aapaper.layout:35 lib/layouts/aastex.layout:62
-#: lib/layouts/achemso.layout:31 lib/layouts/acmart.layout:63
-#: lib/layouts/acmsiggraph-0-92.layout:43 lib/layouts/acmsiggraph.layout:35
-#: lib/layouts/agutex.layout:32 lib/layouts/amsart.layout:32
-#: lib/layouts/amsbook.layout:33 lib/layouts/apa.layout:25
-#: lib/layouts/apax.inc:21 lib/layouts/beamer.layout:64
-#: lib/layouts/broadway.layout:178 lib/layouts/chess.layout:30
-#: lib/layouts/cl2emult.layout:143 lib/layouts/dtk.layout:32
-#: lib/layouts/egs.layout:19 lib/layouts/elsart.layout:50
-#: lib/layouts/elsarticle.layout:35 lib/layouts/europasscv.layout:59
-#: lib/layouts/europecv.layout:17 lib/layouts/foils.layout:31
-#: lib/layouts/g-brief2.layout:31 lib/layouts/hollywood.layout:352
-#: lib/layouts/ijmpc.layout:23 lib/layouts/ijmpd.layout:28
-#: lib/layouts/iopart.layout:35 lib/layouts/iucr.layout:20
-#: lib/layouts/jasatex.layout:36 lib/layouts/kluwer.layout:34
-#: lib/layouts/lettre.layout:35 lib/layouts/llncs.layout:24
-#: lib/layouts/ltugboat.layout:31 lib/layouts/maa-monthly.layout:48
-#: lib/layouts/memoir.layout:37 lib/layouts/moderncv.layout:21
-#: lib/layouts/paper.layout:14 lib/layouts/powerdot.layout:112
-#: lib/layouts/revtex.layout:23 lib/layouts/revtex4.layout:48
-#: lib/layouts/sciposter.layout:78 lib/layouts/scrclass.inc:25
-#: lib/layouts/scrlettr.layout:8 lib/layouts/scrlttr2.layout:11
-#: lib/layouts/siamltex.layout:37 lib/layouts/sigplanconf.layout:41
-#: lib/layouts/simplecv.layout:18 lib/layouts/slides.layout:61
-#: lib/layouts/stdclass.inc:28 lib/layouts/stdinsets.inc:649
-#: lib/layouts/stdletter.inc:12 lib/layouts/svcommon.inc:26
-#: lib/layouts/tufte-book.layout:35 lib/ui/stdtoolbars.inc:75
-#: src/insets/InsetRef.cpp:578
-msgid "Standard"
-msgstr "Обычный текст"
-
 #: lib/layouts/IEEEtran.layout:67 lib/layouts/aa.layout:204
 #: lib/layouts/aapaper.layout:78 lib/layouts/aapaper.layout:172
 #: lib/layouts/aastex.layout:137 lib/layouts/achemso.layout:53
@@ -7153,34 +12678,6 @@ msgstr "Строчные"
 msgid "lowercase"
 msgstr "строчные"
 
-#: lib/layouts/IEEEtran.layout:119 lib/layouts/aa.layout:216
-#: lib/layouts/aapaper.layout:84 lib/layouts/aapaper.layout:183
-#: lib/layouts/aastex.layout:149 lib/layouts/aastex62.layout:150
-#: lib/layouts/achemso.layout:80 lib/layouts/acmart.layout:81
-#: lib/layouts/acmsiggraph-0-92.layout:175 lib/layouts/acmsiggraph.layout:151
-#: lib/layouts/amsdefs.inc:54 lib/layouts/apa.layout:119
-#: lib/layouts/apax.inc:73 lib/layouts/beamer.layout:1044
-#: lib/layouts/beamerposter.layout:31 lib/layouts/broadway.layout:206
-#: lib/layouts/cl2emult.layout:60 lib/layouts/copernicus.layout:58
-#: lib/layouts/ectaart.layout:109 lib/layouts/ectaart.layout:185
-#: lib/layouts/ectaart.layout:188 lib/layouts/egs.layout:361
-#: lib/layouts/elsart.layout:117 lib/layouts/elsarticle.layout:124
-#: lib/layouts/entcs.layout:51 lib/layouts/foils.layout:158
-#: lib/layouts/hollywood.layout:325 lib/layouts/ijmpc.layout:126
-#: lib/layouts/ijmpd.layout:131 lib/layouts/iopart.layout:133
-#: lib/layouts/isprs.layout:77 lib/layouts/jasatex.layout:86
-#: lib/layouts/jss.layout:47 lib/layouts/kluwer.layout:168
-#: lib/layouts/llncs.layout:183 lib/layouts/ltugboat.layout:160
-#: lib/layouts/maa-monthly.layout:60 lib/layouts/memoir.layout:263
-#: lib/layouts/paper.layout:124 lib/layouts/powerdot.layout:68
-#: lib/layouts/revtex.layout:104 lib/layouts/scrclass.inc:218
-#: lib/layouts/siamltex.layout:218 lib/layouts/sigplanconf.layout:147
-#: lib/layouts/stdtitle.inc:36 lib/layouts/svcommon.inc:344
-#: lib/layouts/svmult.layout:79 lib/layouts/svprobth.layout:93
-#: lib/layouts/tufte-book.layout:55 src/insets/InsetInfo.cpp:283
-msgid "Author"
-msgstr "Автор"
-
 #: lib/layouts/IEEEtran.layout:125 lib/layouts/beamer.layout:1057
 msgid "Short Author|S"
 msgstr "Краткий автор"
@@ -7304,20 +12801,6 @@ msgstr "Заголовок рецензии"
 msgid "PeerReviewTitle"
 msgstr "Заголовок рецензии"
 
-#: lib/layouts/IEEEtran.layout:333 lib/layouts/IEEEtran.layout:336
-#: lib/layouts/aastex.layout:382 lib/layouts/aastex6.layout:96
-#: lib/layouts/aastex62.layout:107 lib/layouts/aastex62.layout:228
-#: lib/layouts/aastex62.layout:234 lib/layouts/aastex62.layout:250
-#: lib/layouts/aastex62.layout:266 lib/layouts/copernicus.layout:244
-#: lib/layouts/copernicus.layout:250 lib/layouts/copernicus.layout:262
-#: lib/layouts/copernicus.layout:274 lib/layouts/copernicus.layout:279
-#: lib/layouts/ijmpc.layout:445 lib/layouts/ijmpc.layout:447
-#: lib/layouts/ijmpd.layout:466 lib/layouts/ijmpd.layout:468
-#: lib/layouts/kluwer.layout:326 lib/layouts/kluwer.layout:339
-#: lib/examples/Articles:0 src/RowPainter.cpp:367
-msgid "Appendix"
-msgstr "Приложение"
-
 #: lib/layouts/IEEEtran.layout:338 lib/layouts/iucr.layout:67
 #: lib/layouts/jss.layout:119
 msgid "Short Title"
@@ -7327,51 +12810,6 @@ msgstr "Краткий заголовок"
 msgid "Short title for the appendix"
 msgstr "Краткий заголовок для приложения"
 
-#: lib/layouts/IEEEtran.layout:345 lib/layouts/aapaper.layout:108
-#: lib/layouts/aapaper.layout:222 lib/layouts/aastex.layout:414
-#: lib/layouts/aguplus.inc:172 lib/layouts/aguplus.inc:174
-#: lib/layouts/agutex.layout:208 lib/layouts/amsbook.layout:120
-#: lib/layouts/amsdefs.inc:203 lib/layouts/beamer.layout:1159
-#: lib/layouts/book.layout:24 lib/layouts/book.layout:26
-#: lib/layouts/cl2emult.layout:107 lib/layouts/copernicus.layout:355
-#: lib/layouts/egs.layout:628 lib/layouts/elsarticle.layout:284
-#: lib/layouts/foils.layout:236 lib/layouts/ijmpc.layout:470
-#: lib/layouts/ijmpd.layout:491 lib/layouts/jasatex.layout:269
-#: lib/layouts/latex8.layout:127 lib/layouts/llncs.layout:269
-#: lib/layouts/memoir.layout:270 lib/layouts/memoir.layout:272
-#: lib/layouts/moderncv.layout:509 lib/layouts/mwbk.layout:23
-#: lib/layouts/mwbk.layout:25 lib/layouts/mwrep.layout:14
-#: lib/layouts/mwrep.layout:16 lib/layouts/natbibapa.module:3
-#: lib/layouts/powerdot.layout:382 lib/layouts/recipebook.layout:48
-#: lib/layouts/recipebook.layout:50 lib/layouts/report.layout:13
-#: lib/layouts/report.layout:15 lib/layouts/scrbook.layout:33
-#: lib/layouts/scrbook.layout:35 lib/layouts/scrclass.inc:284
-#: lib/layouts/scrreprt.layout:12 lib/layouts/scrreprt.layout:14
-#: lib/layouts/siamltex.layout:326 lib/layouts/simplecv.layout:183
-#: lib/layouts/stdstruct.inc:58 lib/layouts/svcommon.inc:575
-#: lib/layouts/tufte-book.layout:290 lib/layouts/tufte-book.layout:292
-#: lib/layouts/tufte-handout.layout:77 lib/examples/Articles:0
-#: src/frontends/qt/GuiDocument.cpp:1777 src/insets/InsetBibtex.cpp:957
-msgid "Bibliography"
-msgstr "Библиография"
-
-#: lib/layouts/IEEEtran.layout:361 lib/layouts/aastex.layout:428
-#: lib/layouts/aastex.layout:449 lib/layouts/agutex.layout:224
-#: lib/layouts/amsdefs.inc:219 lib/layouts/beamer.layout:1174
-#: lib/layouts/cl2emult.layout:122 lib/layouts/copernicus.layout:371
-#: lib/layouts/egs.layout:644 lib/layouts/elsarticle.layout:300
-#: lib/layouts/ijmpc.layout:486 lib/layouts/ijmpd.layout:507
-#: lib/layouts/iopart.layout:284 lib/layouts/iopart.layout:311
-#: lib/layouts/iucr.layout:239 lib/layouts/iucr.layout:246
-#: lib/layouts/jasatex.layout:285 lib/layouts/kluwer.layout:347
-#: lib/layouts/kluwer.layout:360 lib/layouts/llncs.layout:285
-#: lib/layouts/moderncv.layout:525 lib/layouts/siamltex.layout:342
-#: lib/layouts/stdstruct.inc:74 lib/layouts/svcommon.inc:591
-#: src/insets/InsetBibtex.cpp:958 src/insets/InsetBibtex.cpp:1034
-#: src/insets/InsetBibtex.cpp:1089 src/output_plaintext.cpp:155
-msgid "References"
-msgstr "Список литературы"
-
 #: lib/layouts/IEEEtran.layout:370 lib/layouts/aastex.layout:438
 #: lib/layouts/agutex.layout:233 lib/layouts/amsdefs.inc:231
 #: lib/layouts/beamer.layout:1183 lib/layouts/cl2emult.layout:131
@@ -7426,21 +12864,6 @@ msgstr "Фото"
 msgid "Optional photo for biography"
 msgstr "Необязательное фото для биографии"
 
-#: lib/layouts/IEEEtran.layout:393 lib/layouts/IEEEtran.layout:410
-#: lib/layouts/acmart.layout:679 lib/layouts/acmsiggraph-0-92.layout:131
-#: lib/layouts/europasscv.layout:74 lib/layouts/europecv.layout:31
-#: lib/layouts/g-brief.layout:40 lib/layouts/g-brief2.layout:44
-#: lib/layouts/g-brief2.layout:83 lib/layouts/iucr.layout:211
-#: lib/layouts/maa-monthly.layout:93 lib/layouts/moderncv.layout:81
-#: lib/layouts/moderncv.layout:194 lib/layouts/pdfcomment.module:30
-#: lib/layouts/pdfcomment.module:47 lib/layouts/pdfcomment.module:58
-#: lib/layouts/scrlettr.layout:116 lib/layouts/scrlttr2.layout:149
-#: lib/layouts/sigplanconf.layout:84 lib/layouts/sigplanconf.layout:161
-#: lib/layouts/tcolorbox.module:135 src/frontends/qt/GuiIndices.cpp:52
-#: src/mathed/InsetMathMacroTemplate.cpp:483
-msgid "Name"
-msgstr "Имя"
-
 #: lib/layouts/IEEEtran.layout:394 lib/layouts/IEEEtran.layout:411
 #: lib/layouts/sigplanconf.layout:162
 msgid "Name of the author"
@@ -7663,29 +13086,6 @@ msgstr "Корреспонденция к:"
 msgid "Acknowledgements."
 msgstr "Благодарности."
 
-#: lib/layouts/aa.layout:178 lib/layouts/aapaper.layout:66
-#: lib/layouts/aapaper.layout:139 lib/layouts/aastex.layout:97
-#: lib/layouts/aguplus.inc:29 lib/layouts/amsart.layout:65
-#: lib/layouts/amsbook.layout:56 lib/layouts/apa.layout:305
-#: lib/layouts/apax.inc:404 lib/layouts/beamer.layout:286
-#: lib/layouts/egs.layout:32 lib/layouts/europasscv.layout:187
-#: lib/layouts/europecv.layout:129 lib/layouts/isprs.layout:148
-#: lib/layouts/iucr.layout:46 lib/layouts/jss.layout:25
-#: lib/layouts/kluwer.layout:62 lib/layouts/latex8.layout:47
-#: lib/layouts/llncs.layout:48 lib/layouts/ltugboat.layout:47
-#: lib/layouts/memoir.layout:98 lib/layouts/moderncv.layout:244
-#: lib/layouts/numarticle.inc:8 lib/layouts/numreport.inc:14
-#: lib/layouts/numrevtex.inc:6 lib/layouts/paper.layout:54
-#: lib/layouts/powerdot.layout:233 lib/layouts/revtex.layout:40
-#: lib/layouts/revtex4-x.inc:30 lib/layouts/revtex4.layout:68
-#: lib/layouts/scrclass.inc:95 lib/layouts/siamltex.layout:379
-#: lib/layouts/simplecv.layout:31 lib/layouts/spie.layout:21
-#: lib/layouts/stdcounters.inc:20 lib/layouts/stdsections.inc:82
-#: lib/layouts/svcommon.inc:196 lib/layouts/tufte-book.layout:111
-#: lib/ui/stdtoolbars.inc:126 src/frontends/qt/GuiDocument.cpp:141
-msgid "Section"
-msgstr "Раздел"
-
 #: lib/layouts/aa.layout:186 lib/layouts/aapaper.layout:70
 #: lib/layouts/aapaper.layout:149 lib/layouts/aastex.layout:110
 #: lib/layouts/aguplus.inc:44 lib/layouts/amsart.layout:106
@@ -7721,25 +13121,6 @@ msgstr "Подраздел"
 msgid "Subsubsection"
 msgstr "Подподраздел"
 
-#: lib/layouts/aa.layout:227 lib/layouts/aapaper.layout:99
-#: lib/layouts/aapaper.layout:194 lib/layouts/aastex.layout:239
-#: lib/layouts/acmart.layout:133 lib/layouts/amsdefs.inc:74
-#: lib/layouts/beamer.layout:1111 lib/layouts/beamerposter.layout:41
-#: lib/layouts/dinbrief.layout:161 lib/layouts/egs.layout:540
-#: lib/layouts/foils.layout:165 lib/layouts/frletter.layout:22
-#: lib/layouts/g-brief.layout:195 lib/layouts/g-brief2.layout:54
-#: lib/layouts/g-brief2.layout:862 lib/layouts/jasatex.layout:148
-#: lib/layouts/kluwer.layout:152 lib/layouts/lettre.layout:56
-#: lib/layouts/lettre.layout:219 lib/layouts/moderncv.layout:573
-#: lib/layouts/powerdot.layout:90 lib/layouts/revtex.layout:112
-#: lib/layouts/revtex4-x.inc:148 lib/layouts/revtex4.layout:127
-#: lib/layouts/scrclass.inc:225 lib/layouts/scrlettr.layout:165
-#: lib/layouts/scrlttr2.layout:244 lib/layouts/siamltex.layout:237
-#: lib/layouts/stdtitle.inc:58 lib/layouts/svcommon.inc:370
-#: lib/layouts/tufte-book.layout:60 src/insets/InsetInfo.cpp:284
-msgid "Date"
-msgstr "Дата"
-
 #: lib/layouts/aa.layout:239
 msgid "institutemark"
 msgstr "пометка института"
@@ -7822,11 +13203,6 @@ msgstr "email:"
 msgid "Acknowledgements"
 msgstr "Благодарности"
 
-#: lib/layouts/aapaper.inc:103 lib/layouts/aapaper.layout:96
-#: lib/ui/stdtoolbars.inc:150 src/frontends/qt/GuiThesaurus.cpp:48
-msgid "Thesaurus"
-msgstr "Тезаурус"
-
 #: lib/layouts/aapaper.inc:114
 msgid "Thesaurus not supported in recent A&A:"
 msgstr "Тезаурус не поддерживается в последней A&A:"
@@ -7907,11 +13283,6 @@ msgstr "Принадлежность"
 msgid "Altaffilation"
 msgstr "Доп. принадлежность"
 
-#: lib/layouts/aastex.layout:187 lib/layouts/agutex.layout:124
-#: src/mathed/InsetMathHull.cpp:1893 src/mathed/InsetMathHull.cpp:1902
-msgid "Number"
-msgstr "Номер"
-
 #: lib/layouts/aastex.layout:188
 msgid "Consecutive number for the alternative affiliations"
 msgstr "Последовательный номер для дополнительных принадлежностей"
@@ -7924,12 +13295,6 @@ msgstr "Дополнительная принадлежность:"
 msgid "And"
 msgstr "И"
 
-#: lib/layouts/aastex.layout:230 src/frontends/qt/GuiDocument.cpp:3089
-#: src/frontends/qt/GuiDocument.cpp:3101 src/frontends/qt/GuiDocument.cpp:3227
-#: src/frontends/qt/GuiDocument.cpp:3246
-msgid "and"
-msgstr "и"
-
 #: lib/layouts/aastex.layout:270
 msgid "altaffilmark"
 msgstr "пометка дополнительной принадлежности"
@@ -8020,6 +13385,12 @@ msgstr "Подпись рисунка"
 msgid "fig."
 msgstr "рис."
 
+#: lib/layouts/aastex.layout:560 lib/layouts/db_stdcharstyles.inc:7
+#: lib/layouts/db_stdcharstyles.inc:8 src/frontends/qt/ui/ExternalUi.ui:66
+#: src/frontends/qt/ui/ExternalUi.ui:73
+msgid "Filename"
+msgstr "Имя файла"
+
 #: lib/layouts/aastex.layout:561
 msgid "Filename to identify the corresponding figure file"
 msgstr "Имя файла для идентификации соответствующего файла рисунка"
@@ -8310,11 +13681,6 @@ msgstr "Химия"
 msgid "chemistry"
 msgstr "химия"
 
-#: lib/layouts/achemso.layout:305 lib/layouts/achemso.layout:308
-#: lib/languages:1042
-msgid "Latin"
-msgstr "Латинский"
-
 #: lib/layouts/acm-sigs-alt.layout:3
 msgid "ACM SIGS ('Alternate' Style, obsolete)"
 msgstr "ACM SIGS (стиль 'Alternate', устаревшая версия)"
@@ -8771,6 +14137,15 @@ msgstr "Спонсор гранта"
 msgid "Sponsor ID"
 msgstr "ID спонсора"
 
+#: lib/layouts/acmart.layout:685 lib/layouts/acmart.layout:703
+#: lib/layouts/amsdefs.inc:160 lib/layouts/maa-monthly.layout:143
+#: lib/layouts/maa-monthly.layout:147 lib/layouts/minimalistic.module:27
+#: lib/layouts/scrlttr2.layout:212 lib/layouts/stdinsets.inc:551
+#: lib/layouts/stdinsets.inc:554 src/frontends/qt/ui/HyperlinkUi.ui:24
+#: src/frontends/qt/ui/HyperlinkUi.ui:61
+msgid "URL"
+msgstr "URL"
+
 #: lib/layouts/acmart.layout:695 lib/layouts/acmart.layout:699
 msgid "Grant Number"
 msgstr "Номер гранта"
@@ -9100,13 +14475,6 @@ msgstr "Plate"
 msgid "Planotable"
 msgstr "Planotable"
 
-#: lib/layouts/aguplus.inc:211 lib/layouts/beamer.layout:1694
-#: lib/layouts/powerdot.layout:544 lib/layouts/powerdot.layout:622
-#: lib/layouts/sciposter.layout:118 lib/layouts/stdfloats.inc:13
-#: lib/ui/stdtoolbars.inc:153 src/insets/Inset.cpp:103
-msgid "Table"
-msgstr "Таблица"
-
 #: lib/layouts/aguplus.inc:212
 msgid "table"
 msgstr "таблица"
@@ -9385,6 +14753,11 @@ msgstr "Три принадлежности"
 msgid "FourAffiliations"
 msgstr "Четыре принадлежности"
 
+#: lib/layouts/apa.layout:205 lib/layouts/apax.inc:314
+#: src/frontends/qt/ui/AboutUi.ui:288
+msgid "Copyright"
+msgstr "Авторские права"
+
 #: lib/layouts/apa.layout:225 lib/layouts/iucr.layout:234
 msgid "Acknowledgements:"
 msgstr "Благодарности:"
@@ -9397,11 +14770,6 @@ msgstr "Толстая линия"
 msgid "Centered"
 msgstr "По центру"
 
-#: lib/layouts/apa.layout:251 lib/layouts/apax.inc:350
-#: lib/layouts/stdinsets.inc:650 src/insets/InsetCaption.cpp:433
-msgid "standard"
-msgstr "обычный"
-
 #: lib/layouts/apa.layout:258 lib/layouts/apax.inc:357
 #: lib/layouts/scrclass.inc:301 lib/layouts/scrclass.inc:324
 #: lib/layouts/stdinsets.inc:657
@@ -9771,6 +15139,19 @@ msgstr "Определение оверлея по умолчанию внутр
 msgid "Frame Options"
 msgstr "Параметры фрейма"
 
+#: lib/layouts/beamer.layout:516 lib/layouts/beamer.layout:545
+#: lib/layouts/beamer.layout:556 lib/layouts/beamer.layout:584
+#: lib/layouts/beamer.layout:687 lib/layouts/chessboard.module:31
+#: lib/layouts/chessboard.module:59 lib/layouts/chessboard.module:129
+#: lib/layouts/fixme.module:68 lib/layouts/fixme.module:103
+#: lib/layouts/fixme.module:146 lib/layouts/fixme.module:188
+#: lib/layouts/initials.module:35 lib/layouts/lilypond.module:37
+#: lib/layouts/litinsets.inc:46 lib/layouts/litinsets.inc:47
+#: lib/layouts/todonotes.module:79 lib/layouts/todonotes.module:91
+#: lib/layouts/todonotes.module:108 src/frontends/qt/ui/BibtexUi.ui:304
+msgid "Options"
+msgstr "Параметры"
+
 #: lib/layouts/beamer.layout:517 lib/layouts/beamer.layout:546
 #: lib/layouts/beamer.layout:557 lib/layouts/beamer.layout:585
 msgid "Frame options (see beamer manual)"
@@ -9804,12 +15185,6 @@ msgstr "Фрейм (хрупкий)"
 msgid "AgainFrame"
 msgstr "Повторный фрейм"
 
-#: lib/layouts/beamer.layout:568 lib/layouts/powerdot.layout:126
-#: lib/layouts/seminar.layout:111 lib/layouts/slides.layout:91
-#: src/frontends/qt/GuiDocument.cpp:141
-msgid "Slide"
-msgstr "Слайд"
-
 #: lib/layouts/beamer.layout:597
 msgid "Repeat frame with label"
 msgstr "Повтор фрейма с меткой"
@@ -9920,12 +15295,6 @@ msgstr "Наложение"
 msgid "Overprint Area Width"
 msgstr "Ширина области наложения"
 
-#: lib/layouts/beamer.layout:786 lib/layouts/europasscv.layout:176
-#: lib/layouts/graphicboxes.module:49 lib/layouts/moderncv.layout:320
-#: lib/layouts/sectionbox.module:22 src/frontends/qt/GuiBox.cpp:75
-msgid "Width"
-msgstr "Ширина"
-
 #: lib/layouts/beamer.layout:787
 msgid "The width of the overprint area (default: text width)"
 msgstr "Ширина области наложения (по умолчанию: ширина текста)"
@@ -9950,11 +15319,6 @@ msgstr "Ширина области оверлея"
 msgid "Overlay Area Height"
 msgstr "Высота области оверлея"
 
-#: lib/layouts/beamer.layout:850 lib/layouts/graphicboxes.module:56
-#: lib/layouts/moderncv.layout:219 src/frontends/qt/GuiBox.cpp:74
-msgid "Height"
-msgstr "Высота"
-
 #: lib/layouts/beamer.layout:851
 msgid "The height of the overlay area"
 msgstr "Высота области оверлея"
@@ -10170,11 +15534,6 @@ msgstr "Код LyX"
 msgid "NoteItem"
 msgstr "Заметка"
 
-#: lib/layouts/beamer.layout:1450 lib/layouts/beamer.layout:1452
-#: src/FontInfo.cpp:48 src/frontends/qt/GuiCharacter.cpp:140
-msgid "Bold"
-msgstr "Полужирный"
-
 #: lib/layouts/beamer.layout:1470 lib/layouts/ectaart.layout:146
 msgid "Emphasize"
 msgstr "Выделение"
@@ -11841,20 +17200,6 @@ msgstr "Перечисление-Продолжение"
 msgid "Number Equations by Section"
 msgstr "Нумерация формул по разделам"
 
-#: lib/layouts/eqs-within-sections.module:3 lib/layouts/subequations.module:3
-#: lib/layouts/theorems-ams-bytype.module:3
-#: lib/layouts/theorems-ams-chap-bytype.module:3
-#: lib/layouts/theorems-ams-extended-bytype.module:3
-#: lib/layouts/theorems-ams-extended-chap-bytype.module:3
-#: lib/layouts/theorems-ams-extended.module:3 lib/layouts/theorems-ams.module:3
-#: lib/layouts/theorems-bytype.module:3
-#: lib/layouts/theorems-chap-bytype.module:3 lib/layouts/theorems-chap.module:3
-#: lib/layouts/theorems-named.module:4 lib/layouts/theorems-sec-bytype.module:3
-#: lib/layouts/theorems-sec.module:3 lib/layouts/theorems-starred.module:3
-#: lib/layouts/theorems-std.module:3 src/frontends/qt/BulletsModule.cpp:45
-msgid "Maths"
-msgstr "Математика"
-
 #: lib/layouts/eqs-within-sections.module:7
 msgid ""
 "Resets the equation number at section start and prepends the section number "
@@ -11863,12 +17208,6 @@ msgstr ""
 "Сбрасывает номер формулы в начале раздела и добавляет номер раздела к номеру "
 "формулы, например '(2.1)'."
 
-#: lib/layouts/eqs-within-sections.module:17 lib/layouts/scrbook.layout:27
-#: lib/layouts/stdcounters.inc:81 src/insets/InsetRef.cpp:579
-#: src/mathed/InsetMathRef.cpp:246
-msgid "Equation"
-msgstr "Формула"
-
 #: lib/layouts/eqs-within-sections.module:19
 msgid "\\thesection.\\arabic{equation}"
 msgstr "\\thesection.\\arabic{equation}"
@@ -11982,13 +17321,6 @@ msgstr "После изображения"
 msgid "Space after picture:"
 msgstr "Промежуток после изображения:"
 
-#: lib/layouts/europasscv.layout:195 lib/layouts/europasscv.layout:218
-#: lib/layouts/europasscv.layout:254 lib/layouts/europecv.layout:162
-#: lib/layouts/europecv.layout:222 src/insets/Inset.cpp:118
-#: src/insets/InsetVSpace.cpp:123
-msgid "Vertical Space"
-msgstr "Вертикальный промежуток"
-
 #: lib/layouts/europasscv.layout:196 lib/layouts/europasscv.layout:219
 #: lib/layouts/europasscv.layout:255 lib/layouts/europecv.layout:163
 #: lib/layouts/europecv.layout:223
@@ -12146,7 +17478,7 @@ msgid "End of CV"
 msgstr "Конец резюме"
 
 #: lib/layouts/europasscv.layout:452 lib/layouts/europasscv.layout:457
-#: lib/layouts/soul.module:49
+#: lib/layouts/soul.module:50
 msgid "Highlight"
 msgstr "Выделение"
 
@@ -12170,9 +17502,9 @@ msgstr "Размер"
 msgid "Size the photo is resized to"
 msgstr "Размер для фотографии"
 
-#: lib/layouts/europecv.layout:123 src/frontends/qt/GuiDocument.cpp:141
-msgid "Page"
-msgstr "Страница"
+#: lib/layouts/europecv.layout:126 src/frontends/qt/ui/ColorUi.ui:176
+msgid "Page:"
+msgstr "Страница:"
 
 #: lib/layouts/europecv.layout:138
 msgid "The title as it appears in the header"
@@ -12347,12 +17679,6 @@ msgstr "Предупреждение"
 msgid "Fixme Error"
 msgstr "Ошибка Fixme"
 
-#: lib/layouts/fixme.module:83 src/frontends/qt/GuiCompare.cpp:199
-#: src/frontends/qt/GuiDocument.cpp:2799 src/frontends/qt/GuiDocument.cpp:2873
-#: src/frontends/qt/GuiDocument.cpp:4770
-msgid "Error"
-msgstr "Ошибка"
-
 #: lib/layouts/fixme.module:87
 msgid "Fixme Fatal"
 msgstr "Фатальная ошибка Fixme"
@@ -13206,11 +18532,6 @@ msgstr "МОНТИРОВАТЬ С:"
 msgid "FADE OUT"
 msgstr "ИСЧЕЗАНИЕ"
 
-#: lib/layouts/hollywood.layout:286 src/frontends/qt/GuiLyXFiles.cpp:92
-#: src/frontends/qt/GuiLyXFiles.cpp:105
-msgid "General"
-msgstr "Общее"
-
 #: lib/layouts/hollywood.layout:300
 msgid "Scene"
 msgstr "Сцена"
@@ -14928,16 +20249,16 @@ msgid ""
 "detailed description of multiple columns."
 msgstr ""
 "Добавляет пользовательскую вставку, содержимое которой верстается в "
-"несколько столбцов (два по умолчанию). Подробное описание см. в руководстве "
-"\"Дополнительные возможности\", раздел \"Несколько текстовых столбцов\"."
+"несколько колонок (две по умолчанию). Подробное описание см. в руководстве "
+"\"Дополнительные возможности\", раздел \"Несколько текстовых колонок\"."
 
 #: lib/layouts/multicol.module:20
 msgid "Number of Columns"
-msgstr "Количество столбцов"
+msgstr "Количество колонок"
 
 #: lib/layouts/multicol.module:21
 msgid "Insert the number of columns here"
-msgstr "Введите здесь число столбцов"
+msgstr "Введите здесь число колонок"
 
 #: lib/layouts/multicol.module:27 lib/layouts/svcommon.inc:530
 #: lib/layouts/svcommon.inc:539 lib/layouts/svmult.layout:143
@@ -14958,7 +20279,7 @@ msgid ""
 "this page"
 msgstr ""
 "Свободное пространство, которое должно быть на странице, чтобы начать "
-"несколько столбцов на этой странице"
+"несколько колонок на этой странице"
 
 #: lib/layouts/mwart.layout:3
 msgid "Polish Article (MW Bundle)"
@@ -15239,10 +20560,6 @@ msgstr ""
 msgid "PDF-Annotation"
 msgstr "PDF-аннотация"
 
-#: lib/layouts/pdfcomment.module:98 src/frontends/qt/GuiClipboard.cpp:175
-msgid "PDF"
-msgstr "PDF"
-
 #: lib/layouts/pdfcomment.module:107
 msgid "PDFComment Options"
 msgstr "Настройки PDFComment"
@@ -15598,7 +20915,7 @@ msgstr "Две колонки"
 
 #: lib/layouts/powerdot.layout:496
 msgid "Twocolumn options (see powerdot manual)"
-msgstr "Параметры двух столбцов (см. руководство powerdot)"
+msgstr "Параметры двух колонок (см. руководство powerdot)"
 
 #: lib/layouts/powerdot.layout:499
 msgid "Left Column"
@@ -15606,7 +20923,7 @@ msgstr "Левая колонка"
 
 #: lib/layouts/powerdot.layout:500
 msgid "Enter the text of the left column here (right column in main paragraph)"
-msgstr "Введите здесь текст левого столбца (правый столбец в главном абзаце)"
+msgstr "Введите здесь текст левой колонки (правая колонка в основном абзаце)"
 
 #: lib/layouts/powerdot.layout:595 lib/layouts/stdcounters.inc:50
 msgid "Numbered List (Level 1)"
@@ -15761,11 +21078,6 @@ msgstr "благодарности"
 msgid "Ruled Table"
 msgstr "Разлинованная таблица"
 
-#: lib/layouts/revtex4-x.inc:233 lib/layouts/revtex4-x.inc:241
-#: lib/layouts/revtex4-x.inc:249 src/frontends/qt/GuiSymbols.cpp:124
-msgid "Specials"
-msgstr "Особенности"
-
 #: lib/layouts/revtex4-x.inc:239
 msgid "Turn Page"
 msgstr "Перевернуть страницу"
@@ -16350,10 +21662,6 @@ msgstr "Выпадение вниз"
 msgid "Drop up"
 msgstr "Выпадение вверх"
 
-#: lib/layouts/shapepar.module:92 src/mathed/InsetMathMacroTemplate.cpp:534
-msgid "TeX"
-msgstr "TeX"
-
 #: lib/layouts/shapepar.module:97
 msgid "Triangle up"
 msgstr "Треугольник вверх"
@@ -16374,6 +21682,10 @@ msgstr "Треугольник вправо"
 msgid "shapepar"
 msgstr "shapepar"
 
+#: lib/layouts/shapepar.module:123 src/frontends/qt/ui/ExternalUi.ui:461
+msgid "Scale"
+msgstr "Масштаб"
+
 #: lib/layouts/shapepar.module:124
 msgid "For scaling the <Shape specification> to positions on the page"
 msgstr "Для масштабирования <Спецификация формы> по позициям на странице"
@@ -16546,55 +21858,55 @@ msgstr "Разрядка"
 msgid "spaced"
 msgstr "разрядка"
 
-#: lib/layouts/soul.module:31
+#: lib/layouts/soul.module:32
 msgid "Strikethrough"
 msgstr "Зачёркивание"
 
-#: lib/layouts/soul.module:33
+#: lib/layouts/soul.module:34
 msgid "strike"
 msgstr "зачёркивание"
 
-#: lib/layouts/soul.module:40
+#: lib/layouts/soul.module:41
 msgid "Underline"
 msgstr "Подчёркивание"
 
-#: lib/layouts/soul.module:42
+#: lib/layouts/soul.module:43
 msgid "ul"
 msgstr "подчёркивание"
 
-#: lib/layouts/soul.module:51
+#: lib/layouts/soul.module:52
 msgid "hl"
 msgstr "выделение"
 
-#: lib/layouts/soul.module:57
+#: lib/layouts/soul.module:58
 msgid "Capitalize"
 msgstr "Прописные"
 
-#: lib/layouts/soul.module:59
+#: lib/layouts/soul.module:60
 msgid "caps"
 msgstr "прописные"
 
-#: lib/layouts/soul.module:69
+#: lib/layouts/soul.module:70
 msgid "spaceletters"
 msgstr "(разрядка)"
 
-#: lib/layouts/soul.module:73
+#: lib/layouts/soul.module:74
 msgid "strikethrough"
 msgstr "(зачёркивание)"
 
-#: lib/layouts/soul.module:77 lib/ui/stdtoolbars.inc:470
+#: lib/layouts/soul.module:78 lib/ui/stdtoolbars.inc:470
 msgid "underline"
 msgstr "(подчёркивание)"
 
-#: lib/layouts/soul.module:81
+#: lib/layouts/soul.module:82
 msgid "highlight"
 msgstr "(выделение)"
 
-#: lib/layouts/soul.module:85
+#: lib/layouts/soul.module:86
 msgid "capitalise"
 msgstr "(прописные)"
 
-#: lib/layouts/soul.module:89
+#: lib/layouts/soul.module:90
 msgid "Capitalise"
 msgstr "(прописные)"
 
@@ -16695,10 +22007,6 @@ msgstr "Сноски"
 msgid "Notes"
 msgstr "Заметки"
 
-#: lib/layouts/stdinsets.inc:14 src/frontends/qt/GuiDocument.cpp:1784
-msgid "Branches"
-msgstr "Ветки"
-
 #: lib/layouts/stdinsets.inc:15
 msgid "Index Entries"
 msgstr "Рубрики предметного указателя"
@@ -16707,10 +22015,6 @@ msgstr "Рубрики предметного указателя"
 msgid "Listings"
 msgstr "Листинги"
 
-#: lib/layouts/stdinsets.inc:19 src/insets/InsetMarginal.cpp:37
-msgid "margin"
-msgstr "Примечание на полях"
-
 #: lib/layouts/stdinsets.inc:52
 msgid "foot"
 msgstr "Сноска"
@@ -16719,24 +22023,10 @@ msgstr "Сноска"
 msgid "Greyedout"
 msgstr "Серый текст"
 
-#: lib/layouts/stdinsets.inc:207 src/insets/InsetERT.cpp:164
-#: src/insets/InsetERT.cpp:166
-msgid "ERT"
-msgstr "ERT"
-
 #: lib/layouts/stdinsets.inc:293 lib/layouts/stdinsets.inc:299
 msgid "Listings[[List of Listings]]"
 msgstr "Листинги"
 
-#: lib/layouts/stdinsets.inc:316 lib/layouts/stdinsets.inc:322
-#: src/insets/InsetTOC.cpp:77
-msgid "List of Listings"
-msgstr "Список листингов"
-
-#: lib/layouts/stdinsets.inc:350 src/frontends/qt/GuiDocument.cpp:1782
-msgid "Listings[[inset]]"
-msgstr "Листинги"
-
 #: lib/layouts/stdinsets.inc:416
 msgid "Idx"
 msgstr "Рубрика"
@@ -16765,10 +22055,6 @@ msgstr "стр."
 msgid "Nomenclature[[output]]"
 msgstr "Список обозначений"
 
-#: lib/layouts/stdlayouts.inc:107 src/insets/InsetInclude.cpp:420
-msgid "Verbatim*"
-msgstr "Буквально*"
-
 #: lib/layouts/stdsections.inc:15 lib/layouts/svcommon.inc:119
 msgid "Part \\thepart"
 msgstr "Часть \\thepart"
@@ -18096,433 +23382,6 @@ msgstr "Макс. ширина"
 msgid "Maximum width (default: \\linewidth)"
 msgstr "Максимальная ширина (по умолчанию: \\linewidth)"
 
-#: lib/languages:137 src/FontInfo.cpp:45 src/FontInfo.cpp:48
-#: src/FontInfo.cpp:52 src/FontInfo.cpp:57 src/FontInfo.cpp:60
-msgid "Ignore"
-msgstr "Игнорировать"
-
-#: lib/languages:155
-msgid "Afrikaans"
-msgstr "Африкаанс"
-
-#: lib/languages:167
-msgid "Albanian"
-msgstr "Албанский"
-
-#: lib/languages:187
-msgid "English (USA)"
-msgstr "Английский (США)"
-
-#: lib/languages:201
-msgid "Amharic"
-msgstr "Амхарский"
-
-#: lib/languages:211
-msgid "Greek (ancient)"
-msgstr "Греческий (древний)"
-
-#: lib/languages:231
-msgid "Arabic (ArabTeX)"
-msgstr "Арабский (ArabTeX)"
-
-#: lib/languages:243
-msgid "Arabic (Arabi)"
-msgstr "Арабский (Аравия)"
-
-#: lib/languages:276 src/frontends/qt/GuiSymbols.cpp:64
-msgid "Armenian"
-msgstr "Армянский"
-
-#: lib/languages:286
-msgid "Asturian"
-msgstr "Астурийский"
-
-#: lib/languages:296
-msgid "English (Australia)"
-msgstr "Английский (Австралия)"
-
-#: lib/languages:311
-msgid "German (Austria, old spelling)"
-msgstr "Немецкий (Австрия, старая орфография)"
-
-#: lib/languages:326
-msgid "German (Austria)"
-msgstr "Немецкий (Австрия)"
-
-#: lib/languages:339
-msgid "Azerbaijani"
-msgstr "Азербайджанский"
-
-#: lib/languages:355
-msgid "Indonesian"
-msgstr "Индонезийский"
-
-#: lib/languages:367
-msgid "Malay"
-msgstr "Малайский"
-
-#: lib/languages:377
-msgid "Basque"
-msgstr "Баскский"
-
-#: lib/languages:394
-msgid "Belarusian"
-msgstr "Белорусский"
-
-#: lib/languages:407 src/frontends/qt/GuiSymbols.cpp:68
-msgid "Bengali"
-msgstr "Бенгальский"
-
-#: lib/languages:417
-msgid "Bosnian"
-msgstr "Боснийский"
-
-#: lib/languages:428
-msgid "Portuguese (Brazil)"
-msgstr "Португальский (Бразилия)"
-
-#: lib/languages:442
-msgid "Breton"
-msgstr "Бретонский"
-
-#: lib/languages:453
-msgid "English (UK)"
-msgstr "Английский (Великобритания)"
-
-#: lib/languages:466
-msgid "Bulgarian"
-msgstr "Болгарский"
-
-#: lib/languages:480
-msgid "English (Canada)"
-msgstr "Английский (Канада)"
-
-#: lib/languages:493
-msgid "French (Canada)"
-msgstr "Французский (Канада)"
-
-#: lib/languages:506
-msgid "Catalan"
-msgstr "Каталонский"
-
-#: lib/languages:520
-msgid "Chinese (simplified)"
-msgstr "Китайский (упрощённый)"
-
-#: lib/languages:532
-msgid "Chinese (traditional)"
-msgstr "Китайский (традиционный)"
-
-#: lib/languages:544
-msgid "Church Slavonic"
-msgstr "Церковнославянский"
-
-#: lib/languages:557
-msgid "Coptic"
-msgstr "Коптский"
-
-#: lib/languages:564
-msgid "Croatian"
-msgstr "Хорватский"
-
-#: lib/languages:576
-msgid "Czech"
-msgstr "Чешский"
-
-#: lib/languages:590
-msgid "Danish"
-msgstr "Датский"
-
-#: lib/languages:604
-msgid "Divehi (Maldivian)"
-msgstr "Дивехи (Мальдивский)"
-
-#: lib/languages:612
-msgid "Dutch"
-msgstr "Голландский"
-
-#: lib/languages:626 lib/examples/Articles:0
-#: src/frontends/qt/GuiLyXFiles.cpp:70
-msgid "English"
-msgstr "Английский"
-
-#: lib/languages:642
-msgid "Esperanto"
-msgstr "Эсперанто"
-
-#: lib/languages:654
-msgid "Estonian"
-msgstr "Эстонский"
-
-#: lib/languages:671
-msgid "Farsi"
-msgstr "Фарси"
-
-#: lib/languages:688
-msgid "Finnish"
-msgstr "Финский"
-
-#: lib/languages:701
-msgid "French"
-msgstr "Французский"
-
-#: lib/languages:714
-msgid "Friulian"
-msgstr "Фриульский"
-
-#: lib/languages:726
-msgid "Galician"
-msgstr "Галисийский"
-
-#: lib/languages:742 src/frontends/qt/GuiSymbols.cpp:79
-msgid "Georgian"
-msgstr "Грузинский"
-
-#: lib/languages:754
-msgid "German (old spelling)"
-msgstr "Немецкий (старая орфография)"
-
-#: lib/languages:768 lib/examples/Articles:0
-msgid "German"
-msgstr "Немецкий"
-
-#: lib/languages:786
-msgid "German (Switzerland)"
-msgstr "Немецкий (Швейцария)"
-
-#: lib/languages:802
-msgid "German (Switzerland, old spelling)"
-msgstr "Немецкий (Швейцария, старая орфография)"
-
-#: lib/languages:815 lib/ui/stdtoolbars.inc:318 lib/ui/stdtoolbars.inc:612
-#: src/frontends/qt/GuiSymbols.cpp:62
-msgid "Greek"
-msgstr "Греческий"
-
-#: lib/languages:831
-msgid "Greek (polytonic)"
-msgstr "Греческий (политонический)"
-
-#: lib/languages:846 src/frontends/qt/GuiSymbols.cpp:65
-msgid "Hebrew"
-msgstr "Иврит"
-
-#: lib/languages:872
-msgid "Hindi"
-msgstr "Хинди"
-
-#: lib/languages:893
-msgid "Icelandic"
-msgstr "Исландский"
-
-#: lib/languages:907
-msgid "Interlingua"
-msgstr "Интерлингва"
-
-#: lib/languages:919
-msgid "Irish"
-msgstr "Ирландский"
-
-#: lib/languages:930
-msgid "Italian"
-msgstr "Итальянский"
-
-#: lib/languages:945
-msgid "Japanese"
-msgstr "Японский"
-
-#: lib/languages:959
-msgid "Japanese (CJK)"
-msgstr "Японский (ККЯ)"
-
-#: lib/languages:970 src/frontends/qt/GuiSymbols.cpp:74
-msgid "Kannada"
-msgstr "Каннада"
-
-#: lib/languages:980
-msgid "Kazakh"
-msgstr "Казахский"
-
-#: lib/languages:989
-msgid "Khmer"
-msgstr "Хмерский"
-
-#: lib/languages:997
-msgid "Korean"
-msgstr "Корейский"
-
-#: lib/languages:1018
-msgid "Kurdish (Kurmanji)"
-msgstr "Курдский (Курманджи)"
-
-#: lib/languages:1031 src/frontends/qt/GuiSymbols.cpp:77
-msgid "Lao"
-msgstr "Лао"
-
-#: lib/languages:1056
-msgid "Latvian"
-msgstr "Латышский"
-
-#: lib/languages:1071
-msgid "Lithuanian"
-msgstr "Литовский"
-
-#: lib/languages:1091
-msgid "Lower Sorbian"
-msgstr "Нижнесорбский"
-
-#: lib/languages:1103
-msgid "Hungarian"
-msgstr "Венгерский"
-
-#: lib/languages:1116
-msgid "Macedonian"
-msgstr "Македонский"
-
-#: lib/languages:1130 src/frontends/qt/GuiSymbols.cpp:75
-msgid "Malayalam"
-msgstr "Малаялам"
-
-#: lib/languages:1140
-msgid "Marathi"
-msgstr "Марати"
-
-#: lib/languages:1150
-msgid "Mongolian"
-msgstr "Монгольский"
-
-#: lib/languages:1162
-msgid "English (New Zealand)"
-msgstr "Английский (Новая Зеландия)"
-
-#: lib/languages:1175
-msgid "Norwegian (Bokmaal)"
-msgstr "Норвежский (Букмол)"
-
-#: lib/languages:1204
-msgid "Norwegian (Nynorsk)"
-msgstr "Норвежский (Нюнорск)"
-
-#: lib/languages:1218
-msgid "Occitan"
-msgstr "Окситанский"
-
-#: lib/languages:1230
-msgid "Russian (Petrine orthography)"
-msgstr "Русский (дореволюционная орфография)"
-
-#: lib/languages:1240
-msgid "Piedmontese"
-msgstr "Пьемонтский"
-
-#: lib/languages:1252
-msgid "Polish"
-msgstr "Польский"
-
-#: lib/languages:1265
-msgid "Portuguese"
-msgstr "Португальский"
-
-#: lib/languages:1278
-msgid "Romanian"
-msgstr "Румынский"
-
-#: lib/languages:1291
-msgid "Romansh"
-msgstr "Романш"
-
-#: lib/languages:1303
-msgid "Russian"
-msgstr "Русский"
-
-#: lib/languages:1319
-msgid "North Sami"
-msgstr "Северное Саами"
-
-#: lib/languages:1330
-msgid "Sanskrit"
-msgstr "Санскрит"
-
-#: lib/languages:1340
-msgid "Scottish"
-msgstr "Шотландский"
-
-#: lib/languages:1356
-msgid "Serbian"
-msgstr "Сербский"
-
-#: lib/languages:1373
-msgid "Serbian (Latin)"
-msgstr "Сербский (латиница)"
-
-#: lib/languages:1386
-msgid "Slovak"
-msgstr "Словацкий"
-
-#: lib/languages:1400
-msgid "Slovene"
-msgstr "Словенский"
-
-#: lib/languages:1412
-msgid "Spanish"
-msgstr "Испанский"
-
-#: lib/languages:1429
-msgid "Spanish (Mexico)"
-msgstr "Испанский (Мексика)"
-
-#: lib/languages:1444
-msgid "Swedish"
-msgstr "Шведский"
-
-#: lib/languages:1458
-msgid "Syriac"
-msgstr "Сирийский"
-
-#: lib/languages:1468 src/frontends/qt/GuiSymbols.cpp:72
-msgid "Tamil"
-msgstr "Тамильский"
-
-#: lib/languages:1477 src/frontends/qt/GuiSymbols.cpp:73
-msgid "Telugu"
-msgstr "Телугу"
-
-#: lib/languages:1487 src/frontends/qt/GuiSymbols.cpp:76
-msgid "Thai"
-msgstr "Тайский"
-
-#: lib/languages:1519 src/frontends/qt/GuiSymbols.cpp:78
-msgid "Tibetan"
-msgstr "Тибетский"
-
-#: lib/languages:1526
-msgid "Turkish"
-msgstr "Турецкий"
-
-#: lib/languages:1542
-msgid "Turkmen"
-msgstr "Туркменский"
-
-#: lib/languages:1553
-msgid "Ukrainian"
-msgstr "Украинский"
-
-#: lib/languages:1567
-msgid "Upper Sorbian"
-msgstr "Верхнесорбский"
-
-#: lib/languages:1580
-msgid "Urdu"
-msgstr "Урду"
-
-#: lib/languages:1589
-msgid "Vietnamese"
-msgstr "Вьетнамский"
-
-#: lib/languages:1601
-msgid "Welsh"
-msgstr "Валлийский"
-
 #: lib/latexfonts:94
 msgid "AE (Almost European)"
 msgstr "AE (Almost European)"
@@ -19273,25 +24132,6 @@ msgstr "Метка формулы|М"
 msgid "Copy as Reference|R"
 msgstr "Копировать как ссылку|К"
 
-#: lib/ui/stdcontext.inc:61 lib/ui/stdcontext.inc:354 lib/ui/stdmenus.inc:108
-#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1536
-#: src/mathed/InsetMathNest.cpp:560
-msgid "Cut"
-msgstr "Вырезать"
-
-#: lib/ui/stdcontext.inc:62 lib/ui/stdcontext.inc:355 lib/ui/stdmenus.inc:109
-#: lib/ui/stdtoolbars.inc:87 src/Text3.cpp:1541
-#: src/mathed/InsetMathNest.cpp:569
-msgid "Copy"
-msgstr "Копировать"
-
-#: lib/ui/stdcontext.inc:63 lib/ui/stdcontext.inc:356 lib/ui/stdmenus.inc:110
-#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1481
-#: src/frontends/qt/GuiToolbar.cpp:420 src/mathed/InsetMathGrid.cpp:1586
-#: src/mathed/InsetMathNest.cpp:539
-msgid "Paste"
-msgstr "Вставить"
-
 #: lib/ui/stdcontext.inc:64 lib/ui/stdcontext.inc:357 lib/ui/stdmenus.inc:111
 msgid "Paste Recent|e"
 msgstr "Вставить недавнее|е"
@@ -19404,6 +24244,10 @@ msgstr "Множ. число|ж"
 msgid "Capitalize|C"
 msgstr "Первые Прописные|П"
 
+#: lib/ui/stdcontext.inc:106 src/frontends/qt/ui/RefUi.ui:333
+msgid "No Prefix"
+msgstr "Без префикса"
+
 #: lib/ui/stdcontext.inc:108 lib/ui/stdcontext.inc:120
 #: lib/ui/stdcontext.inc:130 lib/ui/stdcontext.inc:139
 #: lib/ui/stdcontext.inc:148 lib/ui/stdcontext.inc:159
@@ -19430,7 +24274,7 @@ msgid "Copy as Reference|C"
 msgstr "Копировать как ссылку|К"
 
 #: lib/ui/stdcontext.inc:131
-msgid "Open Citation Content...|O"
+msgid "Try to Open Citation Content...|O"
 msgstr "Открыть источник...|О"
 
 #: lib/ui/stdcontext.inc:141
@@ -20715,10 +25559,6 @@ msgstr "Примечание на полях|я"
 msgid "Program Listing[[Menu]]"
 msgstr "Листинг программы|Л"
 
-#: lib/ui/stdmenus.inc:408 src/insets/Inset.cpp:94
-msgid "TeX Code"
-msgstr "Код TeX"
-
 #: lib/ui/stdmenus.inc:409
 msgid "Preview|w"
 msgstr "Предварительный просмотр|д"
@@ -21195,14 +26035,6 @@ msgstr "Проверить правописание"
 msgid "Spellcheck continuously"
 msgstr "Непрерывная проверка правописания"
 
-#: lib/ui/stdtoolbars.inc:84 src/BufferView.cpp:1416
-msgid "Undo"
-msgstr "Отменить"
-
-#: lib/ui/stdtoolbars.inc:85 src/BufferView.cpp:1436
-msgid "Redo"
-msgstr "Вернуть"
-
 #: lib/ui/stdtoolbars.inc:89
 msgid "Find and replace"
 msgstr "Поиск и замена"
@@ -21507,10 +26339,6 @@ msgstr "Формула"
 msgid "Set display mode"
 msgstr "Переключить выделение формулы"
 
-#: lib/ui/stdtoolbars.inc:191 src/insets/InsetScript.cpp:64
-msgid "Subscript"
-msgstr "Нижний индекс"
-
 #: lib/ui/stdtoolbars.inc:193
 msgid "Insert square root"
 msgstr "Вставить квадратный корень"
@@ -21563,10 +26391,6 @@ msgstr "Вставить окружение cases"
 msgid "Toggle math panels"
 msgstr "Переключить математические панели"
 
-#: lib/ui/stdtoolbars.inc:215 src/TocBackend.cpp:297
-msgid "Math Macros"
-msgstr "Математические макросы"
-
 #: lib/ui/stdtoolbars.inc:216
 msgid "Remove last argument"
 msgstr "Убрать последний аргумент"
@@ -21687,10 +26511,6 @@ msgstr "Следующая заметка"
 msgid "LyX Documentation Tools"
 msgstr "Инструменты документирования LyX"
 
-#: lib/ui/stdtoolbars.inc:261 src/insets/Inset.cpp:121
-msgid "Info"
-msgstr "Инфо"
-
 #: lib/ui/stdtoolbars.inc:262
 msgid "Menu Separator"
 msgstr "Разделитель пунктов меню"
@@ -21719,10 +26539,6 @@ msgstr "Просмотреть другие форматы"
 msgid "Update Other Formats"
 msgstr "Обновить другие форматы"
 
-#: lib/ui/stdtoolbars.inc:294 src/frontends/qt/GuiLog.cpp:257
-msgid "Version Control"
-msgstr "Управление версиями"
-
 #: lib/ui/stdtoolbars.inc:295
 msgid "Register"
 msgstr "Зарегистрировать"
@@ -21779,11 +26595,6 @@ msgstr "Стили и классы"
 msgid "Fractions"
 msgstr "Дроби"
 
-#: lib/ui/stdtoolbars.inc:313 lib/ui/stdtoolbars.inc:418
-#: src/frontends/qt/GuiDocument.cpp:1769
-msgid "Fonts"
-msgstr "Шрифты"
-
 #: lib/ui/stdtoolbars.inc:314 lib/ui/stdtoolbars.inc:331
 msgid "Functions"
 msgstr "Функции"
@@ -21796,16 +26607,6 @@ msgstr "Над- и подстрочные знаки"
 msgid "Big operators"
 msgstr "Большие операторы"
 
-#: lib/ui/stdtoolbars.inc:317 lib/ui/stdtoolbars.inc:666
-#: src/frontends/qt/GuiDocument.cpp:5096
-msgid "Miscellaneous"
-msgstr "Разные символы"
-
-#: lib/ui/stdtoolbars.inc:319 lib/ui/stdtoolbars.inc:491
-#: src/frontends/qt/GuiSymbols.cpp:90
-msgid "Arrows"
-msgstr "Стрелки"
-
 #: lib/ui/stdtoolbars.inc:320 lib/ui/stdtoolbars.inc:918
 msgid "Arrows (extended)"
 msgstr "Стрелки (дополнительные)"
@@ -25582,14 +30383,6 @@ msgstr "Звонкий альвеолярный латеральный удар"
 msgid "Simultaneous voiceless postalveolar and velar fricative"
 msgstr "Одновременный глухой постальвеолярный и велярный фрикативный"
 
-#: lib/ui/stdtoolbars.inc:1400 src/insets/InsetIPAMacro.cpp:55
-msgid "Top tie bar"
-msgstr "Верхняя перемычка"
-
-#: lib/ui/stdtoolbars.inc:1401 src/insets/InsetIPAMacro.cpp:56
-msgid "Bottom tie bar"
-msgstr "Нижняя перемычка"
-
 #: lib/ui/stdtoolbars.inc:1405
 msgid "Long"
 msgstr "Долгий"
@@ -26122,10 +30915,6 @@ msgstr "PBM"
 msgid "PGM"
 msgstr "PGM"
 
-#: lib/configure.py:667 src/frontends/qt/GuiClipboard.cpp:176
-msgid "PNG"
-msgstr "PNG"
-
 #: lib/configure.py:668
 msgid "PPM"
 msgstr "PPM"
@@ -26148,7 +30937,7 @@ msgstr "Простой текст (вывод chess)"
 
 #: lib/configure.py:683
 msgid "DocBook 5"
-msgstr "DocBook 5|B"
+msgstr "DocBook 5"
 
 #: lib/configure.py:684
 msgid "Graphviz Dot"
@@ -26278,11 +31067,6 @@ msgstr "LyXHTML"
 msgid "LyXHTML|y"
 msgstr "LyXHTML|y"
 
-#: lib/configure.py:725 src/frontends/qt/GuiLog.cpp:243
-#: src/insets/InsetBibtex.cpp:149
-msgid "BibTeX"
-msgstr "BibTeX"
-
 #: lib/configure.py:733
 msgid "EPS"
 msgstr "EPS"
@@ -26425,12 +31209,7 @@ msgstr "MS Word Office Open XML|O"
 
 #: lib/configure.py:781
 msgid "Table (CSV)"
-msgstr "Таблица (CSV)|C"
-
-#: lib/configure.py:783 src/frontends/qt/GuiView.cpp:1491
-#: src/mathed/InsetMathMacroTemplate.cpp:539
-msgid "LyX"
-msgstr "LyX"
+msgstr "Таблица (CSV)"
 
 #: lib/configure.py:784
 msgid "LyX 1.3.x"
@@ -26500,14 +31279,6 @@ msgstr "ps_tex"
 msgid "ps_tex|PSTEX"
 msgstr "ps_tex|PSTEX"
 
-#: lib/configure.py:799 src/frontends/qt/GuiClipboard.cpp:173
-msgid "Windows Metafile"
-msgstr "Метафайл Windows (WMF)"
-
-#: lib/configure.py:800 src/frontends/qt/GuiClipboard.cpp:172
-msgid "Enhanced Metafile"
-msgstr "Улучшенный метафайл (EMF)"
-
 #: lib/configure.py:920
 msgid "LyXBlogger"
 msgstr "LyXBlogger"
@@ -26528,247 +31299,6 @@ msgstr "Архив LyX (zip)"
 msgid "LyX Archive (tar.gz)"
 msgstr "Архив LyX (tar.gz)"
 
-#: lib/examples/Articles:0
-msgid "Game 1"
-msgstr "Игра 1"
-
-#: lib/examples/Articles:0
-msgid "Game 2"
-msgstr "Игра 2"
-
-#: lib/examples/Articles:0
-msgid "Example (LyXified)"
-msgstr "Пример (оформленный)"
-
-#: lib/examples/Articles:0
-msgid "Example (raw)"
-msgstr "Пример"
-
-#: lib/examples/Articles:0
-msgid "Gnuplot"
-msgstr "Gnuplot"
-
-#: lib/examples/Articles:0 src/TocBackend.cpp:296
-#: src/frontends/qt/GuiExternal.cpp:87
-msgid "External Material"
-msgstr "Внешний материал"
-
-#: lib/examples/Articles:0
-msgid "Feynman Diagrams"
-msgstr "Диаграммы Фейнмана"
-
-#: lib/examples/Articles:0
-msgid "Instant Preview"
-msgstr "Мгновенный предпросмотр"
-
-#: lib/examples/Articles:0
-msgid "Itemize Bullets"
-msgstr "Маркеры в списках"
-
-#: lib/examples/Articles:0
-msgid "Minted File Listing"
-msgstr "Листинг Minted из файла"
-
-#: lib/examples/Articles:0
-msgid "Minted Listings"
-msgstr "Листинги Minted"
-
-#: lib/examples/Articles:0
-msgid "XY-Figure"
-msgstr "Диаграмма XY-Figure"
-
-#: lib/examples/Articles:0
-msgid "XY-Pic"
-msgstr "Диаграмма XY-Pic"
-
-#: lib/examples/Articles:0
-msgid "Graphics and Insets"
-msgstr "Графика и вставки"
-
-#: lib/examples/Articles:0
-msgid "Serial Letter 1"
-msgstr "Serial Letter 1"
-
-#: lib/examples/Articles:0
-msgid "Serial Letter 2"
-msgstr "Serial Letter 2"
-
-#: lib/examples/Articles:0
-msgid "Serial Letter 3"
-msgstr "Serial Letter 3"
-
-#: lib/examples/Articles:0
-msgid "Localization Test"
-msgstr "Тест локализации"
-
-#: lib/examples/Articles:0
-msgid "Hazard and Precautionary Statements"
-msgstr "Опасности и меры предосторожности"
-
-#: lib/examples/Articles:0
-msgid "LilyPond Book"
-msgstr "Книга LilyPond"
-
-#: lib/examples/Articles:0
-msgid "Multilingual Captions"
-msgstr "Многоязычные подписи"
-
-#: lib/examples/Articles:0
-msgid "Noweb2LyX"
-msgstr "Noweb2LyX"
-
-#: lib/examples/Articles:0
-msgid "Noweb Listerrors"
-msgstr "Noweb Listerrors"
-
-#: lib/examples/Articles:0 src/frontends/qt/GuiDocument.cpp:1767
-msgid "Modules"
-msgstr "Модули"
-
-#: lib/examples/Articles:0
-msgid "Beamer (Complex)"
-msgstr "Beamer (сложная)"
-
-#: lib/examples/Articles:0
-msgid "Foils"
-msgstr "Foils"
-
-#: lib/examples/Articles:0
-msgid "Foils Landslide"
-msgstr "Foils Landslide"
-
-#: lib/examples/Articles:0
-msgid "Welcome"
-msgstr "Добро пожаловать"
-
-#: lib/examples/Articles:0
-msgid "Multilingual Typesetting with CJKutf8"
-msgstr "Многоязычная вёрстка с CJKutf8"
-
-#: lib/examples/Articles:0
-msgid "Multilingual Typesetting with platex"
-msgstr "Многоязычная вёрстка с platex"
-
-#: lib/examples/Articles:0
-msgid "IEEE Transactions Conference"
-msgstr "IEEE Transactions Conference"
-
-#: lib/examples/Articles:0
-msgid "IEEE Transactions Journal"
-msgstr "IEEE Transactions Journal"
-
-#: lib/examples/Articles:0
-msgid "Mathematical Monthly"
-msgstr "Mathematical Monthly"
-
-#: lib/examples/Articles:0
-msgid "Springers Global Journal Template (V. 3)"
-msgstr "Springers Global Journal Template (V. 3)"
-
-#: lib/examples/Articles:0
-msgid "Hebrew Article (KOMA-Script)"
-msgstr "Hebrew Article (KOMA-Script)"
-
-#: lib/examples/Articles:0
-msgid "00 Main File"
-msgstr "00 Основной файл"
-
-#: lib/examples/Articles:0
-msgid "01 Dedication"
-msgstr "01 Посвящение"
-
-#: lib/examples/Articles:0
-msgid "02 Foreword"
-msgstr "02 Предисловие"
-
-#: lib/examples/Articles:0
-msgid "03 Preface"
-msgstr "03 Введение"
-
-#: lib/examples/Articles:0
-msgid "04 Acknowledgements"
-msgstr "04 Благодарности"
-
-#: lib/examples/Articles:0
-msgid "05 Contributor List"
-msgstr "05 Список участников"
-
-#: lib/examples/Articles:0
-msgid "06 Acronym"
-msgstr "06 Список сокращений"
-
-#: lib/examples/Articles:0
-msgid "07 Part"
-msgstr "07 Часть"
-
-#: lib/examples/Articles:0
-msgid "08 Author"
-msgstr "08 Автор"
-
-#: lib/examples/Articles:0
-msgid "09 Appendix"
-msgstr "09 Приложения"
-
-#: lib/examples/Articles:0
-msgid "10 Glossary"
-msgstr "10 Словарь терминов"
-
-#: lib/examples/Articles:0
-msgid "11 References"
-msgstr "11 Список литературы"
-
-#: lib/examples/Articles:0
-msgid "05 Acronym"
-msgstr "05 Список сокращений"
-
-#: lib/examples/Articles:0
-msgid "06 Part"
-msgstr "06 Часть"
-
-#: lib/examples/Articles:0
-msgid "07 Chapter"
-msgstr "07 Глава"
-
-#: lib/examples/Articles:0
-msgid "08 Appendix"
-msgstr "08 Приложения"
-
-#: lib/examples/Articles:0
-msgid "09 Glossary"
-msgstr "09 Словарь терминов"
-
-#: lib/examples/Articles:0
-msgid "10 Solutions"
-msgstr "10 Решения"
-
-#: lib/examples/Articles:0
-msgid "Colored"
-msgstr "Цветной"
-
-#: lib/examples/Articles:0
-msgid "Simple"
-msgstr "Простой"
-
-#: lib/examples/Articles:0
-msgid "Chapter 1"
-msgstr "Глава 1"
-
-#: lib/examples/Articles:0
-msgid "Chapter 2"
-msgstr "Глава 2"
-
-#: lib/examples/Articles:0
-msgid "Main File"
-msgstr "Основной файл"
-
-#: lib/examples/Articles:0
-msgid "PhD Thesis"
-msgstr "Диссертация"
-
-#: lib/examples/Articles:0
-msgid "Theses"
-msgstr "Диссертации"
-
 #: lib/tabletemplates/Formal_with_Footline.lyx:0
 msgid "Formal with Footline"
 msgstr "Формальный с нижней линией"
@@ -26789,10189 +31319,5509 @@ msgstr "Без рамок"
 msgid "Simple Grid"
 msgstr "Простая сетка"
 
-#: src/Author.cpp:57
-#, c-format
-msgid "%1$s[[name]] (%2$s[[email]])"
-msgstr "%1$s[[name]] (%2$s[[email]])"
-
-#: src/BiblioInfo.cpp:872 src/BiblioInfo.cpp:922 src/BiblioInfo.cpp:933
-#: src/BiblioInfo.cpp:988 src/BiblioInfo.cpp:992
-msgid "ERROR!"
-msgstr "ОШИБКА!"
-
-#: src/BiblioInfo.cpp:1385
-msgid "No year"
-msgstr "Нет года"
-
-#: src/BiblioInfo.cpp:1395
-msgid "Bibliography entry not found!"
-msgstr "Источник не найден!"
-
-#: src/Buffer.cpp:450
-msgid "Disk Error: "
-msgstr "Ошибка диска: "
-
-#: src/Buffer.cpp:451
-#, c-format
-msgid ""
-"LyX could not create the temporary directory '%1$s' (Disk is full maybe?)"
-msgstr ""
-"LyX не смог создать временный каталог '%1$s' (Может закончилось место на "
-"диске?)"
-
-#: src/Buffer.cpp:580
-msgid "LyX attempted to close a document that had unsaved changes!\n"
-msgstr ""
-"LyX пытается закрыть документ который содержит несохранённые изменения!\n"
-
-#: src/Buffer.cpp:584 src/Buffer.cpp:1671
-msgid "Save failed! Document is lost."
-msgstr "Сохранить не удалось! Мужайтесь, документ потерян."
+#: src/frontends/qt/ui/AboutUi.ui:27
+msgid "Version"
+msgstr "Версия"
 
-#: src/Buffer.cpp:586
-msgid "Attempting to close changed document!"
-msgstr "Попытка закрыть изменённый документ!"
+#: src/frontends/qt/ui/AboutUi.ui:150
+msgid "Library directory"
+msgstr "Каталог библиотек"
 
-#: src/Buffer.cpp:595
-#, c-format
-msgid "Could not remove the temporary directory %1$s"
-msgstr "Невозможно удалить временный каталог %1$s"
+#: src/frontends/qt/ui/AboutUi.ui:162
+msgid "Open library directory in file browser"
+msgstr "Открыть каталог библиотек в файловом менеджере"
 
-#: src/Buffer.cpp:1002 src/Text.cpp:580
-#, c-format
-msgid "Unknown token: %1$s %2$s\n"
-msgstr "Неизвестный токен: %1$s %2$s\n"
+#: src/frontends/qt/ui/AboutUi.ui:165
+msgid "&Open..."
+msgstr "&Открыть..."
 
-#: src/Buffer.cpp:1006 src/Buffer.cpp:1012 src/Buffer.cpp:1036
-msgid "Document header error"
-msgstr "Ошибка в заголовке документа"
+#: src/frontends/qt/ui/AboutUi.ui:200
+msgid "User directory"
+msgstr "Каталог пользователя"
 
-#: src/Buffer.cpp:1011
-msgid "\\begin_header is missing"
-msgstr "\\begin_header отсутствует"
+#: src/frontends/qt/ui/AboutUi.ui:231
+msgid "Open user directory in file browser"
+msgstr "Открыть каталог пользователя в файловом менеджере"
 
-#: src/Buffer.cpp:1035
-msgid "\\begin_document is missing"
-msgstr "\\begin_document отсутствует"
+#: src/frontends/qt/ui/AboutUi.ui:234
+msgid "O&pen..."
+msgstr "О&ткрыть..."
 
-#: src/Buffer.cpp:1046 src/Buffer.cpp:3024
-msgid "Changes not shown in LaTeX output"
-msgstr "Изменения не показаны в выводе LaTeX"
+#: src/frontends/qt/ui/AboutUi.ui:263
+msgid "Credits"
+msgstr "Благодарности"
 
-#: src/Buffer.cpp:1047 src/Buffer.cpp:3025
-msgid ""
-"Changes will not be highlighted in LaTeX output, because xcolor and ulem are "
-"not installed.\n"
-"Please install both packages or redefine \\lyxadded and \\lyxdeleted in the "
-"LaTeX preamble."
-msgstr ""
-"Изменения не будут выделены в выводе LaTeX'а потому, что xcolor и ulem не "
-"установлены.\n"
-"Пожалуйста установите эти пакеты или переопределите \\lyxadded и "
-"\\lyxdeleted в преамбуле LaTeX."
+#: src/frontends/qt/ui/AboutUi.ui:313
+msgid "Build Info"
+msgstr "Сведения о сборке"
 
-#: src/Buffer.cpp:1089 src/BufferParams.cpp:469 src/frontends/qt/GuiLog.cpp:247
-#: src/insets/InsetIndex.cpp:642
-msgid "Index"
-msgstr "Предметный указатель"
+#: src/frontends/qt/ui/AboutUi.ui:338
+msgid "Release Notes"
+msgstr "Заметки о выпуске"
 
-#: src/Buffer.cpp:1196
-msgid "File Not Found"
-msgstr "Файл не найден"
+#: src/frontends/qt/ui/AboutUi.ui:383
+msgid "Copy version information to clipboard"
+msgstr "Копировать информацию о версии в буфер обмена"
 
-#: src/Buffer.cpp:1197
-#, c-format
-msgid "Unable to open file `%1$s'."
-msgstr "Невозможно открыть файл `%1$s'."
+#: src/frontends/qt/ui/AboutUi.ui:386
+msgid "Copy &Version Info"
+msgstr "Копировать информацию о &версии"
 
-#: src/Buffer.cpp:1225 src/Buffer.cpp:1299
-msgid "Document format failure"
-msgstr "Ошибка формата документа"
+#: src/frontends/qt/ui/BibitemUi.ui:26 src/frontends/qt/ui/BibitemUi.ui:45
+msgid "The bibliography key"
+msgstr "Ключ библиографии"
 
-#: src/Buffer.cpp:1226
-#, c-format
-msgid "%1$s ended unexpectedly, which means that it is probably corrupted."
-msgstr "Файл %1$s неожиданно закончился, скорее всего он повреждён."
+#: src/frontends/qt/ui/BibitemUi.ui:29
+msgid "Ke&y:"
+msgstr "К&люч:"
 
-#: src/Buffer.cpp:1300
-#, c-format
-msgid "%1$s is not a readable LyX document."
-msgstr "%1$s нечитаемый документ LyX."
+#: src/frontends/qt/ui/BibitemUi.ui:83
+msgid "&Year:"
+msgstr "Год:"
 
-#: src/Buffer.cpp:1327
-msgid "Conversion failed"
-msgstr "Конвертирование не выполнено"
+#: src/frontends/qt/ui/BibitemUi.ui:96
+msgid "The year with \"Author (Year)\" citations (without parentheses)."
+msgstr "Год для ссылок вида \"Автор (Год)\" (число без скобок)"
 
-#: src/Buffer.cpp:1328
-#, c-format
+#: src/frontends/qt/ui/BibitemUi.ui:115
 msgid ""
-"%1$s is from a different version of LyX, but a temporary file for converting "
-"it could not be created."
+"If you want to use an abbreviated author list (with 'et al.') as well as a "
+"full list for author-year citation, you can put the full list here and the "
+"abbreviated list above."
 msgstr ""
-"%1$s создан другой версией LyX, невозможно создать временный файл при "
-"конвертировании."
-
-#: src/Buffer.cpp:1338
-msgid "Conversion script not found"
-msgstr "Сценарий для конвертирования не найден"
+"Если вы хотите использовать сокращенный список авторов (с пометкой \"и др."
+"\"), а также полный список для ссылки \"автор-год\", вы можете поместить "
+"полный список здесь и сокращенный список выше."
 
-#: src/Buffer.cpp:1339
-#, c-format
-msgid ""
-"%1$s is from a different version of LyX, but the conversion script lyx2lyx "
-"could not be found."
-msgstr ""
-"%1$s создан другой версией LyX, сценарий для конвертирования lyx2lyx не "
-"найден."
+#: src/frontends/qt/ui/BibitemUi.ui:125 src/frontends/qt/ui/CitationUi.ui:378
+#: src/frontends/qt/ui/HyperlinkUi.ui:80 src/frontends/qt/ui/IncludeUi.ui:302
+#: src/frontends/qt/ui/NomenclUi.ui:72 src/frontends/qt/ui/PrintindexUi.ui:74
+msgid "Li&teral"
+msgstr "&Буквально"
 
-#: src/Buffer.cpp:1362 src/Buffer.cpp:1369
-msgid "Conversion script failed"
-msgstr "Ошибка сценария преобразования"
+#: src/frontends/qt/ui/BiblioUi.ui:26
+msgid "Citation Style"
+msgstr "Стиль библиографических ссылок"
 
-#: src/Buffer.cpp:1363
-#, c-format
-msgid ""
-"%1$s is from an older version of LyX and the lyx2lyx script failed to "
-"convert it."
-msgstr ""
-"Файл %1$s создан в старой версии LyX. Сценарий lyx2lyx не смог преобразовать "
-"его."
+#: src/frontends/qt/ui/BiblioUi.ui:55
+msgid "Sty&le format:"
+msgstr "Формат &стиля:"
 
-#: src/Buffer.cpp:1370
-#, c-format
+#: src/frontends/qt/ui/BiblioUi.ui:65
 msgid ""
-"%1$s is from a newer version of LyX and the lyx2lyx script failed to convert "
-"it."
+"A selection of different style format approaches (such as natbib) that "
+"respectively provide support for specific citation and bibliography styles. "
+"Expand to get more information."
 msgstr ""
-"Файл %1$s создан в более новой версии LyX. Сценарий lyx2lyx не смог "
-"преобразовать его."
+"Набор разных подходов к форматированию стилей (таких как natbib), который "
+"обеспечивает поддержку конкретных стилей ссылок и библиографии. Разверните, "
+"чтобы узнать больше."
 
-#: src/Buffer.cpp:1449 src/Buffer.cpp:4703 src/Buffer.cpp:4796
-msgid "File is read-only"
-msgstr "Документ доступен только для чтения"
+#: src/frontends/qt/ui/BiblioUi.ui:75
+msgid "&Variant:"
+msgstr "Вариант:"
 
-#: src/Buffer.cpp:1450
-#, c-format
-msgid "The file %1$s cannot be written because it is marked as read-only."
-msgstr ""
-"Файл %1$s нельзя записать, так как он помечен как доступный только для "
-"чтения."
+#: src/frontends/qt/ui/BiblioUi.ui:94
+msgid "Provides available cite style variants."
+msgstr "Доступные варианты стиля ссылок"
 
-#: src/Buffer.cpp:1459
-#, c-format
-msgid ""
-"Document %1$s has been externally modified. Are you sure you want to "
-"overwrite this file?"
-msgstr ""
-"Документ %1$s изменён извне. Вы уверены, что хотите перезаписать этот файл?"
+#: src/frontends/qt/ui/BiblioUi.ui:134
+msgid "Here you can enter further options of the bibliography package"
+msgstr "Здесь вы можете указать дополнительные параметры пакета библиографии"
 
-#: src/Buffer.cpp:1461
-msgid "Overwrite modified file?"
-msgstr "Перезаписать изменённый файл?"
+#: src/frontends/qt/ui/BiblioUi.ui:154
+msgid "Biblatex &citation style:"
+msgstr "Стиль ссылок biblatex:"
 
-#: src/Buffer.cpp:1462 src/Exporter.cpp:50
-#: src/frontends/qt/GuiClipboard.cpp:247 src/frontends/qt/GuiView.cpp:2650
-#: src/frontends/qt/GuiView.cpp:2918 src/frontends/qt/GuiView.cpp:3021
-msgid "&Overwrite"
-msgstr "&Перезаписать"
+#: src/frontends/qt/ui/BiblioUi.ui:164
+msgid "The style that determines the layout of the citations"
+msgstr "Стиль, задающий формат библиографических ссылок"
 
-#: src/Buffer.cpp:1527
-msgid "Backup failure"
-msgstr "Ошибка создания резервного файла"
+#: src/frontends/qt/ui/BiblioUi.ui:180 src/frontends/qt/ui/BiblioUi.ui:241
+#: src/frontends/qt/ui/BiblioUi.ui:291
+msgid "Reset to the preset default"
+msgstr "Выполнить сброс к настройкам по умолчанию"
 
-#: src/Buffer.cpp:1528
-#, c-format
-msgid ""
-"Cannot create backup file %1$s.\n"
-"Please check whether the directory exists and is writable."
-msgstr ""
-"Не удаётся создать резервный файл %1$s.\n"
-"Пожалуйста, проверьте существует ли директория и доступна ли она для записи."
+#: src/frontends/qt/ui/BiblioUi.ui:183
+msgid "Rese&t"
+msgstr "Сброси&ть"
 
-#: src/Buffer.cpp:1564 src/Buffer.cpp:1575
-msgid "Write failure"
-msgstr "Ошибка записи"
+#: src/frontends/qt/ui/BiblioUi.ui:201
+msgid "Bibliography Style"
+msgstr "Стиль библиографии"
 
-#: src/Buffer.cpp:1565
-#, c-format
-msgid ""
-"The file has successfully been saved as:\n"
-"  %1$s.\n"
-"But LyX could not move it to:\n"
-"  %2$s.\n"
-"Your original file has been backed up to:\n"
-"  %3$s"
-msgstr ""
-"Файл успешно сохранён как:\n"
-"  %1$s.\n"
-"Но LyX не смог переместить его в:\n"
-"  %2$s.\n"
-"Ваш оригинальный файл скопирован сюда:\n"
-"  %3$s"
+#: src/frontends/qt/ui/BiblioUi.ui:215
+msgid "Biblate&x bibliography style:"
+msgstr "Стиль биб&лиографии biblatex:"
 
-#: src/Buffer.cpp:1576
-#, c-format
+#: src/frontends/qt/ui/BiblioUi.ui:231
 msgid ""
-"Cannot move saved file to:\n"
-"  %1$s.\n"
-"But the file has successfully been saved as:\n"
-"  %2$s."
-msgstr ""
-"Невозможно переместить файл в:\n"
-"  %1$s.\n"
-"Но файл успешно сохранён как:\n"
-"  %2$s."
-
-#: src/Buffer.cpp:1592
-#, c-format
-msgid "Saving document %1$s..."
-msgstr "Сохранение документа %1$s..."
-
-#: src/Buffer.cpp:1607
-msgid " could not write file!"
-msgstr " не удалось записать файл!"
-
-#: src/Buffer.cpp:1615
-msgid " done."
-msgstr " завершено."
-
-#: src/Buffer.cpp:1630
-#, c-format
-msgid "LyX: Attempting to save document %1$s\n"
-msgstr "LyX: Попытка сохранить документ  %1$s\n"
+"The style that determines the layout of the biblatex-generated bibliography"
+msgstr "Стиль, задающий формат библиографии, сгенерированной biblatex"
 
-#: src/Buffer.cpp:1640 src/Buffer.cpp:1653 src/Buffer.cpp:1667
-#, c-format
-msgid "Saved to %1$s. Phew.\n"
-msgstr "Сохранён как %1$s. Хух.\n"
+#: src/frontends/qt/ui/BiblioUi.ui:244 src/frontends/qt/ui/ColorUi.ui:73
+#: src/frontends/qt/ui/ColorUi.ui:134 src/frontends/qt/ui/ColorUi.ui:211
+#: src/frontends/qt/ui/ColorUi.ui:272
+msgid "R&eset"
+msgstr "С&бросить"
 
-#: src/Buffer.cpp:1643
-msgid "Save failed! Trying again...\n"
-msgstr "Сохранить не удалось! Ещё одна попытка...\n"
+#: src/frontends/qt/ui/BiblioUi.ui:251
+msgid "Match biblatex bibliography with citation style"
+msgstr "Установить соответствие библиографии biblatex со стилем ссылок"
 
-#: src/Buffer.cpp:1657
-msgid "Save failed! Trying yet again...\n"
-msgstr "Сохранить не удалось! И ещё раз...\n"
+#: src/frontends/qt/ui/BiblioUi.ui:254
+msgid "&Match"
+msgstr "&Соответствие"
 
-#: src/Buffer.cpp:1753
-msgid "Iconv software exception Detected"
-msgstr "Обнаружено исключение программы iconv"
+#: src/frontends/qt/ui/BiblioUi.ui:265
+msgid "Default BibTeX st&yle:"
+msgstr "&Стиль biblatex по умолчанию:"
 
-#: src/Buffer.cpp:1754
-#, c-format
+#: src/frontends/qt/ui/BiblioUi.ui:281
 msgid ""
-"Please verify that the `iconv' support software is properly installed and "
-"supports the selected encoding (%1$s), or change the encoding in "
-"Document>Settings>Language."
+"Here, you can define a BibTeX style that is suggested in the BibTeX dialog "
+"by default"
 msgstr ""
-"Убедитесь, что программа поддержки `iconv' установлена правильно и "
-"поддерживает выбранную кодировку (%1$s), или измените кодировку в "
-"Документ>Настройки>Язык."
+"Здесь можно определить стиль BibTeX, предлагаемый в диалоговом окне BibTeX "
+"по умолчанию"
 
-#: src/Buffer.cpp:1786
-#, c-format
-msgid "Uncodable character '%1$s' (code point %2$s)"
-msgstr "Некодируемый символ '%1$s' (code point %2$s)"
+#: src/frontends/qt/ui/BiblioUi.ui:294
+msgid "&Reset"
+msgstr "С&бросить"
 
-#: src/Buffer.cpp:1789
-msgid ""
-"Some characters of your document are not representable in specific verbatim "
-"contexts.\n"
-"Changing the document encoding to utf8 could help."
-msgstr ""
-"Некоторые из символов Вашего документа не могут быть представлены в "
-"определённых дословных контекстах.\n"
-"Может помочь смена кодировки документа на utf8."
+#: src/frontends/qt/ui/BiblioUi.ui:305
+msgid "Select this if you want to split your bibliography into sections"
+msgstr "Выберите, если хотите разделить библиографию по разделам"
 
-#: src/Buffer.cpp:1794
-#, c-format
-msgid "Could not find LaTeX command for character '%1$s' (code point %2$s)"
-msgstr "Не удалось найти команду LaTeX для символа '%1$s' (code point %2$s)"
+#: src/frontends/qt/ui/BiblioUi.ui:308
+msgid "Subdivided bibli&ography"
+msgstr "Разделённая библиография"
 
-#: src/Buffer.cpp:1797
-msgid ""
-"Some characters of your document are probably not representable in the "
-"chosen encoding.\n"
-"Changing the document encoding to utf8 could help."
-msgstr ""
-"Некоторые из символов Вашего документа не могут быть представлены в "
-"выбранной кодировке.\n"
-"Может помочь смена кодировки документа на utf8."
+#: src/frontends/qt/ui/BiblioUi.ui:328
+msgid "Rescan style files"
+msgstr "Обновить файлы стилей"
 
-#: src/Buffer.cpp:1805
-msgid "iconv conversion failed"
-msgstr "не удалось преобразование с iconv"
+#: src/frontends/qt/ui/BiblioUi.ui:331
+msgid "Re&scan"
+msgstr "&Обновить"
 
-#: src/Buffer.cpp:1810
-msgid "conversion failed"
-msgstr "не удалось преобразовать"
+#: src/frontends/qt/ui/BiblioUi.ui:342
+msgid "&Multiple bibliographies:"
+msgstr "Отдельные библиографии:"
 
-#: src/Buffer.cpp:1922 src/insets/InsetGraphics.cpp:904
-msgid "Uncodable character in file path"
-msgstr "Некодируемый символ в пути файла"
+#: src/frontends/qt/ui/BiblioUi.ui:358
+msgid "Generate a bibliography per defined unit."
+msgstr "Генерировать отдельную библиографию для заданного уровня"
 
-#: src/Buffer.cpp:1924
-#, c-format
+#: src/frontends/qt/ui/BiblioUi.ui:376
 msgid ""
-"The path of your document\n"
-"(%1$s)\n"
-"contains glyphs that are unknown in the current document encoding (namely "
-"%2$s). This may result in incomplete output, unless TEXINPUTS contains the "
-"document directory and you don't use explicitly relative paths (i.e., paths "
-"starting with './' or '../') in the preamble or in ERT.\n"
-"\n"
-"In case of problems, choose an appropriate document encoding\n"
-"(such as utf8) or change the file path name."
+"Here you can define an alternative program to or specific options of BibTeX."
 msgstr ""
-"Путь к вашему документу\n"
-"(%1$s)\n"
-"содержит символы, неизвестные\n"
-"в текущей кодировке документа (%2$s).\n"
-"Это может привести к неполному результату.\n"
-"\n"
-"Выберите соответствующую кодировку (такую как utf8)\n"
-"или измените путь."
-
-#: src/Buffer.cpp:2015
-#, c-format
-msgid "The languages %1$s are only supported by Babel."
-msgstr "Языки %1$s поддерживаются только Babel."
-
-#: src/Buffer.cpp:2016
-#, c-format
-msgid "The language %1$s is only supported by Babel."
-msgstr "Язык %1$s поддерживается только Babel."
+"Здесь можно определить альтернативную программу или особые параметры BibTeX"
 
-#: src/Buffer.cpp:2026
-#, c-format
-msgid "The languages %1$s are only supported by Polyglossia."
-msgstr "Языки %1$s поддерживаются только Polyglossia."
+#: src/frontends/qt/ui/BiblioUi.ui:379 src/frontends/qt/ui/PrefLatexUi.ui:79
+msgid "Bibliography Generation"
+msgstr "Создание библиографии"
 
-#: src/Buffer.cpp:2027
-#, c-format
-msgid "The language %1$s is only supported by Polyglossia."
-msgstr "Язык %1$s поддерживается только Polyglossia."
+#: src/frontends/qt/ui/BiblioUi.ui:390 src/frontends/qt/ui/IndicesUi.ui:33
+#: src/frontends/qt/ui/PrefLatexUi.ui:192
+msgid "&Processor:"
+msgstr "&Процессор:"
 
-#: src/Buffer.cpp:2033
-msgid "Incompatible Languages!"
-msgstr "Несовместимые языки!"
+#: src/frontends/qt/ui/BiblioUi.ui:400 src/frontends/qt/ui/IndicesUi.ui:43
+msgid "Select a processor"
+msgstr "Выберите процессор"
 
-#: src/Buffer.cpp:2035
-#, c-format
+#: src/frontends/qt/ui/BiblioUi.ui:440
 msgid ""
-"You cannot use the following languages together in one LaTeX document "
-"because they require conflicting language packages:\n"
-"%1$s%2$s"
-msgstr ""
-"В одном документе LaTeX нельзя одновременно использовать следующие языки, "
-"так как для них требуются конфликтующие языковые пакеты:\n"
-"%1$s%2$s"
-
-#: src/Buffer.cpp:2330
-msgid "Running chktex..."
-msgstr "Запуск chktex..."
-
-#: src/Buffer.cpp:2349
-msgid "chktex failure"
-msgstr "ошибка chktex"
-
-#: src/Buffer.cpp:2350
-msgid "Could not run chktex successfully."
-msgstr "Невозможно успешно запустить chktex."
-
-#: src/Buffer.cpp:2727
-#, c-format
-msgid "Don't know how to export to format: %1$s"
-msgstr "Нет информации для экспортирования формата %1$s"
-
-#: src/Buffer.cpp:2831
-#, c-format
-msgid "Error exporting to format: %1$s."
-msgstr "Ошибка при экспортировании в формат %1$s."
-
-#: src/Buffer.cpp:2840
-msgid "Error generating literate programming code."
-msgstr "Ошибка при генерации кода грамотного программирования."
-
-#: src/Buffer.cpp:2916
-#, c-format
-msgid "Branch \"%1$s\" does not exist."
-msgstr "Ветка \"%1$s\" не существует."
-
-#: src/Buffer.cpp:2949
-#, c-format
-msgid "Branch \"%1$s\" already exists."
-msgstr "Ветка \"%1$s\" уже существует."
-
-#: src/Buffer.cpp:3006
-msgid "Error viewing the output file."
-msgstr "Ошибка при просмотре выходного файла."
-
-#: src/Buffer.cpp:3363 src/frontends/qt/GuiView.cpp:2479
-#: src/frontends/qt/Validator.cpp:222 src/insets/ExternalSupport.cpp:395
-#: src/insets/InsetGraphics.cpp:690 src/insets/InsetInclude.cpp:602
-msgid "Invalid filename"
-msgstr "Неправильное имя файла"
+"Define options such as --min-crossrefs (see the documentation of BibTeX)"
+msgstr "Определить параметры типа --min-crossrefs (см. документацию BibTeX)"
 
-#: src/Buffer.cpp:3364 src/insets/ExternalSupport.cpp:396
-#: src/insets/InsetGraphics.cpp:691 src/insets/InsetInclude.cpp:603
-msgid ""
-"The following filename will cause troubles when running the exported file "
-"through LaTeX: "
-msgstr ""
-"Следующее имя файла вызовет проблемы при запуске экспортированного файла в "
-"LaTeX: "
+#: src/frontends/qt/ui/BibtexUi.ui:23
+msgid "BibTeX database(s) to use"
+msgstr "Используемые базы данных BibTeX"
 
-#: src/Buffer.cpp:3369 src/insets/ExternalSupport.cpp:401
-#: src/insets/InsetGraphics.cpp:698 src/insets/InsetInclude.cpp:607
-msgid "Problematic filename for DVI"
-msgstr "Проблемное имя файла для DVI"
+#: src/frontends/qt/ui/BibtexUi.ui:26
+msgid "&Databases"
+msgstr "Базы данных"
 
-#: src/Buffer.cpp:3370 src/insets/ExternalSupport.cpp:402
-#: src/insets/InsetGraphics.cpp:699 src/insets/InsetInclude.cpp:608
-msgid ""
-"The following filename can cause troubles when running the exported file "
-"through LaTeX and opening the resulting DVI: "
-msgstr ""
-"Следующее имя файла может вызвать проблемы при запуске экспортированного "
-"файла в LaTeX: "
+#: src/frontends/qt/ui/BibtexUi.ui:37
+msgid "Found b&y LaTeX:"
+msgstr "Доступные:"
 
-#: src/Buffer.cpp:3409 src/insets/InsetBibtex.cpp:349
-msgid "Export Warning!"
-msgstr "Предупреждение экспорта!"
+#: src/frontends/qt/ui/BibtexUi.ui:65
+msgid "Add the selected BibTeX database from the list on the left"
+msgstr "Добавить выбранную базу данных BibTeX из списка слева"
 
-#: src/Buffer.cpp:3410
-msgid ""
-"There are spaces in the paths to your BibTeX databases.\n"
-"BibTeX will be unable to find them."
-msgstr ""
-"В пути к базам данных BibTeX есть пробелы.\n"
-"BibTeX не сможет найти их."
+#: src/frontends/qt/ui/BibtexUi.ui:68
+msgid "&Add Selected[[bib]]"
+msgstr "&Добавить выделенное"
 
-#: src/Buffer.cpp:4080
-#, c-format
-msgid "Preview source code for paragraph %1$d"
-msgstr "Просмотр исходного кода для абзаца %1$d"
+#: src/frontends/qt/ui/BibtexUi.ui:75
+msgid "Add a BibTeX database from your local directory"
+msgstr "Добавить базу данных BibTeX из локального каталога"
 
-#: src/Buffer.cpp:4084
-#, c-format
-msgid "Preview source code from paragraph %1$s to %2$s"
-msgstr "Просмотр исходного кода абзацев %1$s-%2$s"
+#: src/frontends/qt/ui/BibtexUi.ui:78
+msgid "Add &Local..."
+msgstr "Добавить &локальную..."
 
-#: src/Buffer.cpp:4138
-msgid "Preview source code"
-msgstr "Просмотр исходного кода"
+#: src/frontends/qt/ui/BibtexUi.ui:91
+msgid "Remove the selected database"
+msgstr "Удалить выбранную базу данных"
 
-#: src/Buffer.cpp:4140
-msgid "Preview preamble"
-msgstr "Просмотр преамбулы"
+#: src/frontends/qt/ui/BibtexUi.ui:94 src/frontends/qt/ui/CitationUi.ui:159
+msgid "&Delete"
+msgstr "&Удалить"
 
-#: src/Buffer.cpp:4142
-msgid "Preview body"
-msgstr "Просмотр тела документа"
+#: src/frontends/qt/ui/BibtexUi.ui:107
+msgid "Move the selected database up (Ctrl-Up)"
+msgstr "Переместить выбранную базу выше (Ctrl-Up)"
 
-#: src/Buffer.cpp:4157
-msgid "Plain text does not have a preamble."
-msgstr "Простой текст не имеет преамбулы."
+#: src/frontends/qt/ui/BibtexUi.ui:110 src/frontends/qt/ui/CitationUi.ui:191
+#: src/frontends/qt/ui/ModulesUi.ui:140
+msgid "&Up"
+msgstr "&Вверх"
 
-#: src/Buffer.cpp:4294
-msgid "Autosaving current document..."
-msgstr "Автосохранение текущего документа..."
+#: src/frontends/qt/ui/BibtexUi.ui:130
+msgid "Move the selected database down (Ctrl-Down)"
+msgstr "Переместить выбранную базу ниже (Ctrl-Down)"
 
-#: src/Buffer.cpp:4416
-#, c-format
-msgid "No information for exporting the format %1$s."
-msgstr "Нет информации для экспортирования формата %1$s."
+#: src/frontends/qt/ui/BibtexUi.ui:133 src/frontends/qt/ui/CitationUi.ui:214
+#: src/frontends/qt/ui/ModulesUi.ui:147
+msgid "Do&wn"
+msgstr "В&низ"
 
-#: src/Buffer.cpp:4420
-#, c-format
-msgid "Hint: use non-TeX fonts or set input encoding  to '%1$s'"
-msgstr ""
-"Подсказка: используйте системные шрифты или установите входную кодировку "
-"'%1$s'"
+#: src/frontends/qt/ui/BibtexUi.ui:160
+msgid "Edit selected database externally"
+msgstr "Изменить выбранную базу внешним редактором"
 
-#: src/Buffer.cpp:4422
-msgid "Couldn't export file"
-msgstr "Невозможно экспортировать файл"
+#: src/frontends/qt/ui/BibtexUi.ui:163
+msgid "&Edit..."
+msgstr "&Редактировать..."
 
-#: src/Buffer.cpp:4490 src/frontends/qt/GuiView.cpp:2623
-msgid "File name error"
-msgstr "Ошибка в названии файла"
+#: src/frontends/qt/ui/BibtexUi.ui:191
+msgid "Sele&cted:"
+msgstr "&Выбранные:"
 
-#: src/Buffer.cpp:4491
-#, c-format
-msgid ""
-"The directory path to the document\n"
-"%1$s\n"
-"contains spaces, but your TeX installation does not allow them. You should "
-"save the file to a directory whose name does not contain spaces."
-msgstr ""
-"Путь к документу\n"
-"%1$s\n"
-"содержит пробелы, но ваш установленный TeX не разрешает их. Сохраните файл в "
-"каталог с именем без пробелов."
+#: src/frontends/qt/ui/BibtexUi.ui:208 src/frontends/qt/ui/CitationUi.ui:27
+#: src/frontends/qt/ui/ModulesUi.ui:76 src/frontends/qt/ui/RefUi.ui:39
+msgid "&Filter:"
+msgstr "&Фильтр:"
 
-#: src/Buffer.cpp:4580 src/Buffer.cpp:4610 src/frontends/qt/GuiView.cpp:756
-msgid "Document export cancelled."
-msgstr "Экспорт документа отменён."
+#: src/frontends/qt/ui/BibtexUi.ui:260
+msgid "The BibTeX style"
+msgstr "Стиль BibTeX"
 
-#: src/Buffer.cpp:4613
-#, c-format
-msgid "Document exported as %1$s to file `%2$s'"
-msgstr "Документ экспортирован из %1$s в файл `%2$s'"
+#: src/frontends/qt/ui/BibtexUi.ui:263
+msgid "St&yle"
+msgstr "Ст&иль"
 
-#: src/Buffer.cpp:4620
-#, c-format
-msgid "Document exported as %1$s"
-msgstr "Документ экспортирован как %1$s"
+#: src/frontends/qt/ui/BibtexUi.ui:275
+msgid "Choose a style file"
+msgstr "Выберите файл стиля"
 
-#: src/Buffer.cpp:4689
-#, c-format
-msgid ""
-"An emergency save of the document %1$s exists.\n"
-"\n"
-"Recover emergency save?"
-msgstr ""
-"Обнаружена аварийная копия документа %1$s.\n"
-"\n"
-"Восстановить аварийную копию?"
+#: src/frontends/qt/ui/BibtexUi.ui:288
+msgid "Select a style file from your local directory"
+msgstr "Выберите файл стиля из локального каталога"
 
-#: src/Buffer.cpp:4692
-msgid "Load emergency save?"
-msgstr "Загрузить аварийную копию?"
+#: src/frontends/qt/ui/BibtexUi.ui:291
+msgid "Add L&ocal..."
+msgstr "Добавить локальный..."
 
-#: src/Buffer.cpp:4693
-msgid "&Recover"
-msgstr "&Восстановить"
+#: src/frontends/qt/ui/BibtexUi.ui:321 src/frontends/qt/ui/BibtexUi.ui:334
+msgid "This bibliography section contains..."
+msgstr "Раздел библиографии содержит..."
 
-#: src/Buffer.cpp:4693
-msgid "&Load Original"
-msgstr "Загрузить &исходный"
+#: src/frontends/qt/ui/BibtexUi.ui:324
+msgid "&Content:"
+msgstr "&Содержание:"
 
-#: src/Buffer.cpp:4704
-#, c-format
-msgid ""
-"An emergency file is successfully loaded, but the original file %1$s is "
-"marked read-only. Please make sure to save the document as a different file."
-msgstr ""
-"Аварийный файл успешно загружен, но исходный файл %1$s помечен только для "
-"чтения. Пожалуйста, не забудьте сохранить документ в другой файл."
+#: src/frontends/qt/ui/BibtexUi.ui:356
+msgid "Add bibliography to the table of contents"
+msgstr "Добавить библиографию в содержание"
 
-#: src/Buffer.cpp:4711
-msgid "Document was successfully recovered."
-msgstr "Документ был успешно восстановлен."
+#: src/frontends/qt/ui/BibtexUi.ui:359
+msgid "Add bibliography to &TOC"
+msgstr "Добавить библиографию в &содержание"
 
-#: src/Buffer.cpp:4713
-msgid "Document was NOT successfully recovered."
-msgstr "Документ НЕ был успешно восстановлен."
+#: src/frontends/qt/ui/BibtexUi.ui:383
+msgid "Custo&m:"
+msgstr "Задано пользователем:"
 
-#: src/Buffer.cpp:4714
-#, c-format
+#: src/frontends/qt/ui/BibtexUi.ui:393
 msgid ""
-"Remove emergency file now?\n"
-"(%1$s)"
+"Options to the biblatex bibliography command. See the biblatex manual for "
+"details."
 msgstr ""
-"Удалить аварийный файл?\n"
-"(%1$s)"
-
-#: src/Buffer.cpp:4718 src/Buffer.cpp:4730
-msgid "Delete emergency file?"
-msgstr "Удалить аварийный файл?"
-
-#: src/Buffer.cpp:4719 src/Buffer.cpp:4732
-msgid "&Keep"
-msgstr "Хранить"
-
-#: src/Buffer.cpp:4723
-msgid "Emergency file deleted"
-msgstr "Аварийный файл удалён"
+"Параметры для biblatex-команды bibliography. См. руководство по biblatex."
 
-#: src/Buffer.cpp:4724
-msgid "Do not forget to save your file now!"
-msgstr "Не забудьте сохранить ваш файл прямо сейчас!"
+#: src/frontends/qt/ui/BibtexUi.ui:422
+msgid "Scan for new databases and styles"
+msgstr "Поиск новых баз данных и стилей"
 
-#: src/Buffer.cpp:4731
-msgid "Remove emergency file now?"
-msgstr "Удалить аварийный файл?"
+#: src/frontends/qt/ui/BibtexUi.ui:425 src/frontends/qt/ui/TexinfoUi.ui:144
+msgid "&Rescan"
+msgstr "&Обновить"
 
-#: src/Buffer.cpp:4754
-msgid "Can't rename emergency file!"
-msgstr "Невозможно переименовать аварийный файл!"
+#: src/frontends/qt/ui/BoxUi.ui:23
+msgid "Type and Size"
+msgstr "Тип и размер"
 
-#: src/Buffer.cpp:4755
-msgid ""
-"LyX was unable to rename the emergency file. You should do so manually. "
-"Otherwise, you will be asked about it again the next time you try to load "
-"this file, and may over-write your own work."
-msgstr ""
-"LyX не удалось переименовать аварийный файл. Вы должны сделать это вручную. "
-"Иначе вас снова спросят об этом при следующей попытке загрузить этот файл и "
-"это может перезаписать вашу собственную работу."
+#: src/frontends/qt/ui/BoxUi.ui:32 src/frontends/qt/ui/WrapUi.ui:86
+msgid "Width value"
+msgstr "Ширина"
 
-#: src/Buffer.cpp:4760
-msgid "Emergency File Renames"
-msgstr "Переименования аварийного файла"
+#: src/frontends/qt/ui/BoxUi.ui:45 src/frontends/qt/ui/ExternalUi.ui:540
+#: src/frontends/qt/ui/PageLayoutUi.ui:71
+msgid "&Height:"
+msgstr "&Высота:"
 
-#: src/Buffer.cpp:4761
-#, c-format
-msgid ""
-"Emergency file renamed as:\n"
-" %1$s"
-msgstr ""
-"Аварийный файл переименован в:\n"
-" %1$s"
+#: src/frontends/qt/ui/BoxUi.ui:61 src/frontends/qt/ui/ExternalUi.ui:514
+#: src/frontends/qt/ui/LineUi.ui:58 src/frontends/qt/ui/PageLayoutUi.ui:100
+#: src/frontends/qt/ui/TabularUi.ui:367
+msgid "&Width:"
+msgstr "&Ширина:"
 
-#: src/Buffer.cpp:4784
-#, c-format
-msgid ""
-"The backup of the document %1$s is newer.\n"
-"\n"
-"Load the backup instead?"
-msgstr ""
-"Резервная копия  документа %1$s новее.\n"
-"\n"
-"Загрузить резервную копию вместо текущей?"
+#: src/frontends/qt/ui/BoxUi.ui:77
+msgid "Inner Bo&x:"
+msgstr "Внутренний блок:"
 
-#: src/Buffer.cpp:4786
-msgid "Load backup?"
-msgstr "Загрузить резервную копию?"
+#: src/frontends/qt/ui/BoxUi.ui:87
+msgid "Inner box type"
+msgstr "Тип внутреннего блока"
 
-#: src/Buffer.cpp:4787
-msgid "&Load backup"
-msgstr "Загрузить &резервную копию"
+#: src/frontends/qt/ui/BoxUi.ui:109
+msgid "Check this if the box should break across pages"
+msgstr "Отметьте это, если поле можно разрывать при переходе на новую страницу"
 
-#: src/Buffer.cpp:4787
-msgid "Load &original"
-msgstr "Загрузить &первоначальную"
+#: src/frontends/qt/ui/BoxUi.ui:112
+msgid "Allow &page breaks"
+msgstr "Разрешить разрыв страниц"
 
-#: src/Buffer.cpp:4797
-#, c-format
-msgid ""
-"A backup file is successfully loaded, but the original file %1$s is marked "
-"read-only. Please make sure to save the document as a different file."
-msgstr ""
-"Резервная копия успешно загружена, но первоначальный файл %1$s доступен "
-"только для чтения. Пожалуйста сохраните документ в другой файл."
+#: src/frontends/qt/ui/BoxUi.ui:129
+msgid "Height value"
+msgstr "Высота"
 
-#: src/Buffer.cpp:5190 src/insets/InsetCaption.cpp:401
-msgid "Senseless!!! "
-msgstr "Бессмысленно!!! "
+#: src/frontends/qt/ui/BoxUi.ui:139 src/frontends/qt/ui/MathMatrixUi.ui:23
+#: src/frontends/qt/ui/ParagraphUi.ui:86
+msgid "Alignment"
+msgstr "Выравнивание"
 
-#: src/Buffer.cpp:5427
-#, c-format
-msgid "Document %1$s reloaded."
-msgstr "Документ %1$s перезагружен."
+#: src/frontends/qt/ui/BoxUi.ui:148 src/frontends/qt/ui/BoxUi.ui:261
+msgid "Horizontal alignment of the content inside the box"
+msgstr "Горизонтальное выравнивание содержимого внутри блока"
 
-#: src/Buffer.cpp:5430
-#, c-format
-msgid "Could not reload document %1$s."
-msgstr "Не удалось перезагрузить документ %1$s."
+#: src/frontends/qt/ui/BoxUi.ui:151
+msgid "Horizontal"
+msgstr "Горизонтальное"
 
-#: src/BufferParams.cpp:524
-msgid ""
-"The LaTeX package amsmath is only used if AMS formula types or symbols from "
-"the AMS math toolbars are inserted into formulas"
-msgstr ""
-"Пакет amsmath используется только когда в формулах присутствуют окружения "
-"AMS или символы из математических панелей AMS"
+#: src/frontends/qt/ui/BoxUi.ui:158 src/frontends/qt/ui/BoxUi.ui:200
+msgid "Vertical alignment of the content inside the box"
+msgstr "Вертикальное выравнивание содержимого внутри блока"
 
-#: src/BufferParams.cpp:526
-msgid ""
-"The LaTeX package amssymb is only used if symbols from the AMS math toolbars "
-"are inserted into formulas"
-msgstr ""
-"Пакет amssymb используется только когда в формулах присутствуют символы из "
-"математических панелей AMS"
+#: src/frontends/qt/ui/BoxUi.ui:161
+msgid "Vertical"
+msgstr "Вертикальное"
 
-#: src/BufferParams.cpp:528
-msgid ""
-"The LaTeX package cancel is only used if \\cancel commands are used in "
-"formulas"
-msgstr ""
-"Пакет cancel используется только когда в формулах присутствует команда "
-"\\cancel"
+#: src/frontends/qt/ui/BoxUi.ui:168
+msgid "Co&ntent:"
+msgstr "Содержимое:"
 
-#: src/BufferParams.cpp:530
-msgid ""
-"The LaTeX package esint is only used if special integral symbols are "
-"inserted into formulas"
-msgstr ""
-"Пакет esint используется только когда в формулах присутствуют специальные "
-"символы интеграла"
+#: src/frontends/qt/ui/BoxUi.ui:178 src/frontends/qt/ui/BoxUi.ui:230
+msgid "Vertical alignment of the box (with regard to baseline)"
+msgstr "Вертикальное выравнивание блока (по отношению к базисной линии)"
 
-#: src/BufferParams.cpp:532
-msgid ""
-"The LaTeX package mathdots is only used if the command \\iddots is inserted "
-"into formulas"
-msgstr ""
-"Пакет mathdots используется только когда в формулах присутствует команда "
-"\\iddots"
+#: src/frontends/qt/ui/BoxUi.ui:181
+msgid "&Box:"
+msgstr "&Блок:"
 
-#: src/BufferParams.cpp:534
-msgid ""
-"The LaTeX package mathtools is only used if some mathematical relations are "
-"inserted into formulas"
-msgstr ""
-"Пакет mathtools используется только когда в формулах присутствуют некоторые "
-"математические отношения"
+#: src/frontends/qt/ui/BoxUi.ui:299 src/frontends/qt/ui/CharacterUi.ui:145
+msgid "Decoration"
+msgstr "Декорирование"
 
-#: src/BufferParams.cpp:536
-msgid ""
-"The LaTeX package mhchem is only used if either the command \\ce or \\cf is "
-"inserted into formulas"
-msgstr ""
-"Пакет mhchem используется только когда в формулах присутствует команда \\ce "
-"или \\cf"
+#: src/frontends/qt/ui/BoxUi.ui:308
+msgid "Decoration box types"
+msgstr "Типы декорирования блока"
 
-#: src/BufferParams.cpp:538
-msgid ""
-"The LaTeX package stackrel is only used if the command \\stackrel with "
-"subscript is inserted into formulas"
-msgstr ""
-"Пакет stackrel используется только когда в формулах присутствует команда "
-"\\stackrel с нижним индексом"
+#: src/frontends/qt/ui/BoxUi.ui:318
+msgid "Thickness value"
+msgstr "Толщина"
 
-#: src/BufferParams.cpp:540
-msgid ""
-"The LaTeX package stmaryrd is only used if symbols from the St Mary's Road "
-"symbol font for theoretical computer science are inserted into formulas"
-msgstr ""
-"Пакет stmaryrd используется только когда в формулах присутствуют символы из "
-"шрифта St Mary's Road для теоретической информатики"
+#: src/frontends/qt/ui/BoxUi.ui:325
+msgid "&Line thickness:"
+msgstr "Тол&щина линии:"
 
-#: src/BufferParams.cpp:542
-msgid ""
-"The LaTeX package undertilde is only used if you use the math frame "
-"decoration 'utilde'"
-msgstr ""
-"Пакет undertilde используется только когда используется декорация 'utilde'"
+#: src/frontends/qt/ui/BoxUi.ui:338
+msgid "Separation value"
+msgstr "Значение разделителя"
 
-#: src/BufferParams.cpp:747
-#, c-format
-msgid ""
-"The selected document class\n"
-"\t%1$s\n"
-"requires external files that are not available.\n"
-"The document class can still be used, but the\n"
-"document cannot be compiled until the following\n"
-"prerequisites are installed:\n"
-"\t%2$s\n"
-"See section 3.1.2.2 (Class Availability) of the\n"
-"User's Guide for more information."
-msgstr ""
-"Выбранный класс документа\n"
-"\t%1$s\n"
-"требует внешние файлы, которые сейчас недоступны.\n"
-"Класс документа все равно можно использовать, но\n"
-"документ нельзя будет скомпилировать, пока следующие\n"
-"необходимые компоненты не будут установлены:\n"
-"\t%2$s\n"
-"См. раздел 3.1.2.2 (Наличие класса) в \n"
-"Руководстве пользователя для получения дополнительной информации."
+#: src/frontends/qt/ui/BoxUi.ui:345
+msgid "Box s&eparation:"
+msgstr "Разделитель блока:"
 
-#: src/BufferParams.cpp:756
-msgid "Document class not available"
-msgstr "Класс документа недоступен"
+#: src/frontends/qt/ui/BoxUi.ui:358
+msgid "&Decoration:"
+msgstr "&Декорирование:"
 
-#: src/BufferParams.cpp:1751 src/BufferParams.cpp:2194 src/Encoding.cpp:253
-#: src/Paragraph.cpp:2870 src/frontends/qt/LaTeXHighlighter.cpp:122
-#: src/insets/InsetCommandParams.cpp:510 src/insets/InsetCommandParams.cpp:518
-#: src/insets/InsetGraphics.cpp:885 src/insets/InsetGraphics.cpp:893
-#: src/insets/InsetListings.cpp:301 src/insets/InsetListings.cpp:309
-#: src/insets/InsetListings.cpp:332 src/mathed/MathExtern.cpp:1440
-#: src/mathed/MathExtern.cpp:1514
-msgid "LyX Warning: "
-msgstr "Предупреждение LyX: "
+#: src/frontends/qt/ui/BoxUi.ui:368
+msgid "&Shadow size:"
+msgstr "&Размер тени:"
 
-#: src/BufferParams.cpp:1752 src/BufferParams.cpp:2195 src/Encoding.cpp:254
-#: src/Paragraph.cpp:2871 src/insets/InsetCommandParams.cpp:511
-#: src/insets/InsetCommandParams.cpp:519 src/insets/InsetGraphics.cpp:886
-#: src/insets/InsetGraphics.cpp:894 src/insets/InsetListings.cpp:302
-#: src/insets/InsetListings.cpp:310 src/mathed/MathExtern.cpp:1441
-#: src/mathed/MathExtern.cpp:1515
-msgid "uncodable character"
-msgstr "некодируемый символ"
+#: src/frontends/qt/ui/BoxUi.ui:402
+msgid "Size value"
+msgstr "Размер"
 
-#: src/BufferParams.cpp:1765
-msgid "Uncodable character in class options"
-msgstr "Некодируемый символ в параметрах класса"
+#: src/frontends/qt/ui/BoxUi.ui:434
+msgid "Back&ground:"
+msgstr "Фон:"
 
-#: src/BufferParams.cpp:1767
-#, c-format
-msgid ""
-"The class options of your document contain glyphs that are unknown in the "
-"current document encoding (namely %1$s).\n"
-"These glyphs are omitted  from the output, which may result in incomplete "
-"output.\n"
-"\n"
-"Please select an appropriate document encoding\n"
-"(such as utf8) or change the class options accordingly."
-msgstr ""
-"Параметры класса вашего документа содержат символы\n"
-"недоступные в текущей кодировке (%1$s). Эти символы\n"
-"будут пропущены в выводе, что может привести к неполному выводу.\n"
-"\n"
-"Выберите подходящую кодировку (такую как utf8)\n"
-"или измените параметры класса."
+#: src/frontends/qt/ui/BoxUi.ui:444
+msgid "&Frame:"
+msgstr "Рамка:"
 
-#: src/BufferParams.cpp:2208
-msgid "Uncodable character in user preamble"
-msgstr "Некодируемый символ в преамбуле пользователя"
+#: src/frontends/qt/ui/BranchUi.ui:20
+msgid "&Available branches:"
+msgstr "Доступные ветки:"
 
-#: src/BufferParams.cpp:2210
-#, c-format
-msgid ""
-"The user preamble of your document contains glyphs that are unknown in the "
-"current document encoding (namely %1$s).\n"
-"These glyphs are omitted  from the output, which may result in incomplete "
-"output.\n"
-"\n"
-"Please select an appropriate document encoding\n"
-"(such as utf8) or change the preamble code accordingly."
-msgstr ""
-"Преамбула пользователя в документе содержит символы\n"
-"недоступные в текущей кодировке (%1$s). Эти символы\n"
-"будут пропущены в выводе, что может привести к неполному выводу.\n"
-"\n"
-"Выберите подходящую кодировку (такую как utf8)\n"
-"или измените код преамбулы."
+#: src/frontends/qt/ui/BranchUi.ui:30
+msgid "Select your branch"
+msgstr "Выбрать вашу ветку"
 
-#: src/BufferParams.cpp:2523
-#, c-format
-msgid ""
-"The layout file:\n"
-"%1$s\n"
-"could not be found. A default textclass with default\n"
-"layouts will be used. LyX will not be able to produce\n"
-"correct output."
-msgstr ""
-"Файл макета %1$s не найден. Будут использованы класс документа и макет по "
-"умолчанию. LyX не сможет произвести корректный вывод."
+#: src/frontends/qt/ui/BranchUi.ui:37
+msgid "Inverted"
+msgstr "Инверсия"
 
-#: src/BufferParams.cpp:2529
-msgid "Document class not found"
-msgstr "Класс документа не найден"
+#: src/frontends/qt/ui/BranchesUi.ui:25
+msgid "&New:[[branch]]"
+msgstr "&Новая:"
 
-#: src/BufferParams.cpp:2536
-#, c-format
+#: src/frontends/qt/ui/BranchesUi.ui:35
 msgid ""
-"Due to some error in it, the layout file:\n"
-"%1$s\n"
-"could not be loaded. A default textclass with default\n"
-"layouts will be used. LyX will not be able to produce\n"
-"correct output."
-msgstr ""
-"Файл макета %1$s из-за ошибки в нём не может быть загружен. Будут "
-"использованы класс документа и макет по умолчанию. LyX не сможет произвести "
-"корректный вывод."
-
-#: src/BufferParams.cpp:2542 src/BufferView.cpp:1368 src/BufferView.cpp:1400
-msgid "Could not load class"
-msgstr "Не удалось загрузить класс"
-
-#: src/BufferParams.cpp:2587
-msgid "Error reading internal layout information"
-msgstr "Ошибка чтения внутренней информации макета"
-
-#: src/BufferParams.cpp:2588 src/TextClass.cpp:1901 src/TextClass.cpp:1933
-msgid "Read Error"
-msgstr "Ошибка чтения"
-
-#: src/BufferView.cpp:188
-msgid "No more insets"
-msgstr "Больше нет вставок"
-
-#: src/BufferView.cpp:823
-msgid "Save bookmark"
-msgstr "Сохранить закладку"
-
-#: src/BufferView.cpp:1042
-msgid "Converting document to new document class..."
-msgstr "Преобразование документа к новому классу..."
-
-#: src/BufferView.cpp:1087
-msgid "Document is read-only"
-msgstr "Документ доступен только для чтения"
-
-#: src/BufferView.cpp:1089
-msgid "Document has been modified externally"
-msgstr "Документ был изменён внешней программой"
-
-#: src/BufferView.cpp:1098
-msgid "This portion of the document is deleted."
-msgstr "Эта часть документа удалена."
-
-#: src/BufferView.cpp:1141 src/BufferView.cpp:2185
-#: src/frontends/qt/GuiView.cpp:4077 src/frontends/qt/GuiView.cpp:4164
-msgid "Absolute filename expected."
-msgstr "Ожидается абсолютное имя файла."
-
-#: src/BufferView.cpp:1366 src/BufferView.cpp:1398
-#, c-format
-msgid "The document class `%1$s' could not be loaded."
-msgstr "Класс документа `%1$s' невозможно загрузить."
-
-#: src/BufferView.cpp:1424
-msgid "No further undo information"
-msgstr "Больше нет информации для отмены"
-
-#: src/BufferView.cpp:1444
-msgid "No further redo information"
-msgstr "Нет дальнейшей информации для повторения отменённого действия"
-
-#: src/BufferView.cpp:1692
-msgid "Mark off"
-msgstr "Пометка выключена"
-
-#: src/BufferView.cpp:1698
-msgid "Mark on"
-msgstr "Пометка включена"
-
-#: src/BufferView.cpp:1705
-msgid "Mark removed"
-msgstr "Пометка удалена"
+"Append the name of this branch to the output filename, given the branch is "
+"active."
+msgstr "Добавить имя этой ветки к выходному файлу, если ветка активна."
 
-#: src/BufferView.cpp:1708
-msgid "Mark set"
-msgstr "Пометка установлена"
+#: src/frontends/qt/ui/BranchesUi.ui:38
+msgid "Filename &Suffix"
+msgstr "Суффикс имени файла"
 
-#: src/BufferView.cpp:1799
-msgid "Statistics for the selection:"
-msgstr "Статистика для выделения:"
+#: src/frontends/qt/ui/BranchesUi.ui:61
+msgid "Show undefined branches used in this document."
+msgstr "Показать неопределённые ветки, использованные в документе."
 
-#: src/BufferView.cpp:1801
-msgid "Statistics for the document:"
-msgstr "Статистика для документа:"
+#: src/frontends/qt/ui/BranchesUi.ui:64
+msgid "&Undefined Branches"
+msgstr "Неопределённые ветки"
 
-#: src/BufferView.cpp:1804
-#, c-format
-msgid "%1$d words"
-msgstr "%1$d слов"
+#: src/frontends/qt/ui/BranchesUi.ui:84
+msgid "A&vailable Branches:"
+msgstr "&Доступные ветки:"
 
-#: src/BufferView.cpp:1806
-msgid "One word"
-msgstr "Одно слово"
+#: src/frontends/qt/ui/BranchesUi.ui:94
+msgid "Toggle the selected branch"
+msgstr "Переключить выбранную ветку"
 
-#: src/BufferView.cpp:1809
-#, c-format
-msgid "%1$d characters (including blanks)"
-msgstr "%1$d знаков (с пробелами)"
+#: src/frontends/qt/ui/BranchesUi.ui:97
+msgid "(&De)activate"
+msgstr "(&Де)активировать"
 
-#: src/BufferView.cpp:1812
-msgid "One character (including blanks)"
-msgstr "Один знак (с пробелами)"
+#: src/frontends/qt/ui/BranchesUi.ui:110
+msgid "Add a new branch to the list"
+msgstr "Добавить новую ветку к списку"
 
-#: src/BufferView.cpp:1815
-#, c-format
-msgid "%1$d characters (excluding blanks)"
-msgstr "%1$d знаков (без пробелов)"
+#: src/frontends/qt/ui/BranchesUi.ui:123
+msgid "Define or change background color"
+msgstr "Установить или изменить цвет фона"
 
-#: src/BufferView.cpp:1818
-msgid "One character (excluding blanks)"
-msgstr "Один знак (без пробелов)"
+#: src/frontends/qt/ui/BranchesUi.ui:126 src/frontends/qt/ui/IndicesUi.ui:185
+msgid "Alter Co&lor..."
+msgstr "Изменить цвет..."
 
-#: src/BufferView.cpp:1820
-msgid "Statistics"
-msgstr "Статистика"
+#: src/frontends/qt/ui/BranchesUi.ui:133
+msgid "Remove the selected branch"
+msgstr "Удалить выбранную ветку"
 
-#: src/BufferView.cpp:2043
-#, c-format
-msgid ""
-"`inset-forall' interrupted because number of actions is larger than %1$d"
-msgstr ""
-"`inset-forall' прерывается так как количество действий больше, чем %1$d"
+#: src/frontends/qt/ui/BranchesUi.ui:143
+msgid "Change the name of the selected branch"
+msgstr "Переименовать выбранную ветку"
 
-#: src/BufferView.cpp:2045
-#, c-format
-msgid "Applied \"%1$s\" to %2$d insets"
-msgstr "Применено \"%1$s\" к %2$d вставкам"
+#: src/frontends/qt/ui/BranchesUi.ui:146
+msgid "Re&name..."
+msgstr "Переименовать..."
 
-#: src/BufferView.cpp:2053
-msgid "Branch name"
-msgstr "Имя ветки"
+#: src/frontends/qt/ui/BranchesUnknownUi.ui:25
+msgid "Add the selected branches to the list."
+msgstr "Добавить выбранные ветки к списку."
 
-#: src/BufferView.cpp:2060 src/frontends/qt/GuiBranches.cpp:218
-msgid "Branch already exists"
-msgstr "Ветка уже существует"
+#: src/frontends/qt/ui/BranchesUnknownUi.ui:28
+msgid "&Add Selected"
+msgstr "&Добавить выделенное"
 
-#: src/BufferView.cpp:2937
-#, c-format
-msgid "Inserting document %1$s..."
-msgstr "Вставка документа %1$s..."
+#: src/frontends/qt/ui/BranchesUnknownUi.ui:35
+msgid "Add all unknown branches to the list."
+msgstr "Добавить все неизвестные ветки к списку."
 
-#: src/BufferView.cpp:2952
-#, c-format
-msgid "Document %1$s inserted."
-msgstr "Документ %1$s вставлен."
+#: src/frontends/qt/ui/BranchesUnknownUi.ui:38
+msgid "Add A&ll"
+msgstr "Добавить &всё"
 
-#: src/BufferView.cpp:2954
-#, c-format
-msgid "Could not insert document %1$s"
-msgstr "Невозможно вставить документ %1$s"
+#: src/frontends/qt/ui/BranchesUnknownUi.ui:65
+#: src/frontends/qt/ui/BranchesUnknownUi.ui:78
+msgid "Undefined branches used in this document."
+msgstr "Неопределённые ветки, использованные в этом документе."
 
-#: src/BufferView.cpp:3356
-#, c-format
-msgid ""
-"Could not read the specified document\n"
-"%1$s\n"
-"due to the error: %2$s"
-msgstr ""
-"Не удалось прочесть указанный документ\n"
-"%1$s\n"
-"из-за ошибки: %2$s"
+#: src/frontends/qt/ui/BranchesUnknownUi.ui:68
+msgid "&Undefined Branches:"
+msgstr "Неопределённые ветки:"
 
-#: src/BufferView.cpp:3358
-msgid "Could not read file"
-msgstr "Нельзя прочесть файл"
+#: src/frontends/qt/ui/BulletsUi.ui:34
+msgid "&Font:"
+msgstr "Шрифт:"
 
-#: src/BufferView.cpp:3365
-#, c-format
-msgid ""
-"%1$s\n"
-" is not readable."
-msgstr ""
-"%1$s\n"
-" невозможно прочесть."
+#: src/frontends/qt/ui/BulletsUi.ui:44 src/frontends/qt/ui/CharacterUi.ui:117
+#: src/frontends/qt/ui/DelimiterUi.ui:78
+msgid "Si&ze:"
+msgstr "Ра&змер:"
 
-#: src/BufferView.cpp:3366 src/output.cpp:39
-msgid "Could not open file"
-msgstr "Невозможно открыть файл"
+#: src/frontends/qt/ui/BulletsUi.ui:144
+msgid "&Custom bullet:"
+msgstr "&Нестандартный маркер:"
 
-#: src/BufferView.cpp:3373
-msgid "Reading not UTF-8 encoded file"
-msgstr "Считывается файл не в кодировке UTF-8"
+#: src/frontends/qt/ui/BulletsUi.ui:174 src/frontends/qt/ui/PDFSupportUi.ui:421
+msgid "&Level:"
+msgstr "&Уровень:"
 
-#: src/BufferView.cpp:3374
-msgid ""
-"The file is not UTF-8 encoded.\n"
-"It will be read as local 8Bit-encoded.\n"
-"If this does not give the correct result\n"
-"then please change the encoding of the file\n"
-"to UTF-8 with a program other than LyX.\n"
-msgstr ""
-"Файл не в кодировке UTF-8.\n"
-"Он будет прочитан в локальной 8-битной кодировке.\n"
-"Если это даст неправильный результат,\n"
-"измените кодировку файла на UTF-8\n"
-"внешней программой.\n"
+#: src/frontends/qt/ui/ChangeTrackingUi.ui:20
+msgid "If checked, additions and deletions will be tracked in the document"
+msgstr "Если включено, то в документе будут отслеживаться вставки и удаления"
 
-#: src/Changes.cpp:375
-msgid "Uncodable character in author initials"
-msgstr "Некодируемый символ в инициалах автора"
+#: src/frontends/qt/ui/ChangeTrackingUi.ui:23
+msgid "&Track changes"
+msgstr "Следить за изменениями"
 
-#: src/Changes.cpp:376
-#, c-format
-msgid ""
-"The author initials '%1$s',\n"
-"used for change tracking, contain the following glyphs that\n"
-"cannot be represented in the current encoding: %2$s.\n"
-"These glyphs will be omitted in the exported LaTeX file.\n"
-"\n"
-"Choose an appropriate document encoding (such as utf8)\n"
-"or change the author initials."
-msgstr ""
-"Инициалы автора '%1$s',\n"
-"используемые для отслеживания изменений, содержат символы,\n"
-"недоступные в текущей кодировке: %2$s. Эти символы\n"
-"будут пропущены в экспортированном файле LaTeX.\n"
-"\n"
-"Выберите подходящую кодировку (такую как utf8)\n"
-"или измените написание инициалов автора."
+#: src/frontends/qt/ui/ChangeTrackingUi.ui:30
+msgid "If checked, changes will be shown in the PDF/DVI/PS output"
+msgstr "Если отмечено, то изменения будут показаны в PDF/DVI/PS-файлах вывода"
 
-#: src/Changes.cpp:405
-msgid "Uncodable character in author name"
-msgstr "Некодируемый символ в имени автора"
+#: src/frontends/qt/ui/ChangeTrackingUi.ui:33
+msgid "&Show changes in output"
+msgstr "Показать изменения на выводе"
 
-#: src/Changes.cpp:406
-#, c-format
-msgid ""
-"The author name '%1$s',\n"
-"used for change tracking, contains the following glyphs that\n"
-"cannot be represented in the current encoding: %2$s.\n"
-"These glyphs will be omitted in the exported LaTeX file.\n"
-"\n"
-"Choose an appropriate document encoding (such as utf8)\n"
-"or change the spelling of the author name."
+#: src/frontends/qt/ui/ChangeTrackingUi.ui:40
+msgid "Use change bars in addition to change tracking markup"
 msgstr ""
-"Имя автора '%1$s',\n"
-"используемое для отслеживания изменений, содержит символы,\n"
-"недоступные в текущей кодировке: %2$s. Эти символы\n"
-"будут пропущены в экспортированном файле LaTeX.\n"
-"\n"
-"Выберите подходящую кодировку (такую как utf8)\n"
-"или измените написание имени автора."
-
-#: src/Chktex.cpp:65
-#, c-format
-msgid "ChkTeX warning id # %1$s"
-msgstr "Предупреждение ChkTeX id # %1$s"
-
-#: src/Color.cpp:231 src/insets/InsetBibtex.cpp:192
-#: src/insets/InsetBibtex.cpp:211
-msgid "none"
-msgstr "нет"
-
-#: src/Color.cpp:232
-msgid "black"
-msgstr "Чёрный"
-
-#: src/Color.cpp:233
-msgid "white"
-msgstr "Белый"
-
-#: src/Color.cpp:234
-msgid "blue"
-msgstr "Синий"
-
-#: src/Color.cpp:235
-msgid "brown"
-msgstr "Коричневый"
-
-#: src/Color.cpp:236
-msgid "cyan"
-msgstr "Циановый"
-
-#: src/Color.cpp:237
-msgid "darkgray"
-msgstr "Тёмно-серый"
-
-#: src/Color.cpp:238
-msgid "gray"
-msgstr "Серый"
-
-#: src/Color.cpp:239
-msgid "green"
-msgstr "Зелёный"
-
-#: src/Color.cpp:240
-msgid "lightgray"
-msgstr "Светло-серый"
-
-#: src/Color.cpp:241
-msgid "lime"
-msgstr "Лайм"
-
-#: src/Color.cpp:242
-msgid "magenta"
-msgstr "Маджента"
-
-#: src/Color.cpp:243
-msgid "olive"
-msgstr "Оливковый"
-
-#: src/Color.cpp:244
-msgid "orange"
-msgstr "Оранжевый"
-
-#: src/Color.cpp:245
-msgid "pink"
-msgstr "Розовый"
-
-#: src/Color.cpp:246
-msgid "purple"
-msgstr "Пурпурный"
-
-#: src/Color.cpp:247
-msgid "red"
-msgstr "Красный"
-
-#: src/Color.cpp:248
-msgid "teal"
-msgstr "Сине-зелёный"
-
-#: src/Color.cpp:249
-msgid "violet"
-msgstr "Фиолетовый"
-
-#: src/Color.cpp:250
-msgid "yellow"
-msgstr "Жёлтый"
-
-#: src/Color.cpp:251
-msgid "cursor"
-msgstr "курсор"
-
-#: src/Color.cpp:252
-msgid "background"
-msgstr "фон"
-
-#: src/Color.cpp:253
-msgid "text"
-msgstr "текст"
-
-#: src/Color.cpp:254
-msgid "selection"
-msgstr "выделение"
-
-#: src/Color.cpp:255
-msgid "selected text"
-msgstr "выделенный текст"
-
-#: src/Color.cpp:256
-msgid "LaTeX text"
-msgstr "текст LaTeX"
-
-#: src/Color.cpp:257
-msgid "inline completion"
-msgstr "дополнение в строке"
-
-#: src/Color.cpp:259
-msgid "non-unique inline completion"
-msgstr "неуникальное дополнение в строке"
-
-#: src/Color.cpp:261
-msgid "previewed snippet"
-msgstr "просмотренный фрагмент"
-
-#: src/Color.cpp:262
-msgid "note label"
-msgstr "метка заметки"
-
-#: src/Color.cpp:263
-msgid "note background"
-msgstr "фон заметки"
-
-#: src/Color.cpp:264
-msgid "comment label"
-msgstr "метка комментария"
-
-#: src/Color.cpp:265
-msgid "comment background"
-msgstr "фон комментария"
-
-#: src/Color.cpp:266
-msgid "greyedout inset label"
-msgstr "метка серой вставки"
-
-#: src/Color.cpp:267
-msgid "greyedout inset text"
-msgstr "текст серой вставки"
-
-#: src/Color.cpp:268
-msgid "greyedout inset background"
-msgstr "фон серой вставки"
-
-#: src/Color.cpp:269
-msgid "phantom inset text"
-msgstr "текст вставки фантома"
+"Использовать полосы изменений в дополнение к разметке отслеживания изменений"
 
-#: src/Color.cpp:270
-msgid "shaded box"
-msgstr "закрашенный блок"
+#: src/frontends/qt/ui/ChangeTrackingUi.ui:43
+msgid "Use change &bars in output"
+msgstr "Показать полосы изменений на выводе"
 
-#: src/Color.cpp:271
-msgid "listings background"
-msgstr "фон листингов"
+#: src/frontends/qt/ui/ChangesUi.ui:38
+msgid "Change:"
+msgstr "Изменение:"
 
-#: src/Color.cpp:272
-msgid "branch label"
-msgstr "метка ветки"
+#: src/frontends/qt/ui/ChangesUi.ui:65
+msgid "Go to previous change"
+msgstr "Перейти к предыдущему изменению"
 
-#: src/Color.cpp:273
-msgid "footnote label"
-msgstr "метка сноски"
+#: src/frontends/qt/ui/ChangesUi.ui:68
+msgid "&Previous change"
+msgstr "Предыдущее изменение"
 
-#: src/Color.cpp:274
-msgid "index label"
-msgstr "метка рубрики"
+#: src/frontends/qt/ui/ChangesUi.ui:78
+msgid "Go to next change"
+msgstr "Перейти к следующему изменению"
 
-#: src/Color.cpp:275
-msgid "margin note label"
-msgstr "метка заметки на полях"
+#: src/frontends/qt/ui/ChangesUi.ui:81
+msgid "&Next change"
+msgstr "Следующее изменение"
 
-#: src/Color.cpp:276
-msgid "URL label"
-msgstr "метка URL"
+#: src/frontends/qt/ui/ChangesUi.ui:133
+msgid "Accept this change"
+msgstr "Принять это изменение"
 
-#: src/Color.cpp:277
-msgid "URL text"
-msgstr "текст URL"
+#: src/frontends/qt/ui/ChangesUi.ui:136
+msgid "&Accept"
+msgstr "&Принять"
 
-#: src/Color.cpp:278
-msgid "depth bar"
-msgstr "полоска уровня окружения"
+#: src/frontends/qt/ui/ChangesUi.ui:146
+msgid "Reject this change"
+msgstr "Отклонить это изменение"
 
-#: src/Color.cpp:279
-msgid "scroll indicator"
-msgstr "индикатор прокрутки"
+#: src/frontends/qt/ui/ChangesUi.ui:149
+msgid "&Reject"
+msgstr "&Отклонить"
 
-#: src/Color.cpp:280
-msgid "language"
-msgstr "язык"
+#: src/frontends/qt/ui/CharacterUi.ui:25
+msgid "Font Properties"
+msgstr "Свойства шрифта"
 
-#: src/Color.cpp:281
-msgid "command inset"
-msgstr "вставка команд"
+#: src/frontends/qt/ui/CharacterUi.ui:36 src/frontends/qt/ui/CharacterUi.ui:55
+msgid "Font family"
+msgstr "Гарнитура шрифта"
 
-#: src/Color.cpp:282
-msgid "command inset background"
-msgstr "фон вставки команд"
+#: src/frontends/qt/ui/CharacterUi.ui:39
+msgid "Fa&mily:"
+msgstr "&Гарнитура:"
 
-#: src/Color.cpp:283
-msgid "command inset frame"
-msgstr "рамка вставки команд"
+#: src/frontends/qt/ui/CharacterUi.ui:62 src/frontends/qt/ui/CharacterUi.ui:81
+msgid "Font series"
+msgstr "Насыщенность шрифта"
 
-#: src/Color.cpp:284
-msgid "command inset (broken reference)"
-msgstr "командная вставка (нарушенная ссылка)"
+#: src/frontends/qt/ui/CharacterUi.ui:65
+msgid "&Series:"
+msgstr "&Насыщенность:"
 
-#: src/Color.cpp:285
-msgid "button background (broken reference)"
-msgstr "фон кнопки (нарушенная ссылка)"
+#: src/frontends/qt/ui/CharacterUi.ui:88 src/frontends/qt/ui/CharacterUi.ui:107
+msgid "Font shape"
+msgstr "Начертание шрифта"
 
-#: src/Color.cpp:286
-msgid "button frame (broken reference)"
-msgstr "рамка кнопки (нарушенная ссылка)"
+#: src/frontends/qt/ui/CharacterUi.ui:91
+msgid "S&hape:"
+msgstr "На&чертание:"
 
-#: src/Color.cpp:287
-msgid "button background (broken reference) under focus"
-msgstr "фон кнопки (нарушенная ссылка) в фокусе"
+#: src/frontends/qt/ui/CharacterUi.ui:114
+#: src/frontends/qt/ui/CharacterUi.ui:133
+msgid "Font size"
+msgstr "Размер шрифта"
 
-#: src/Color.cpp:288
-msgid "special character"
-msgstr "специальный символ"
+#: src/frontends/qt/ui/CharacterUi.ui:159
+#: src/frontends/qt/ui/CharacterUi.ui:178
+msgid "Font color"
+msgstr "Цвет текста"
 
-#: src/Color.cpp:289
-msgid "math"
-msgstr "матем. формула"
+#: src/frontends/qt/ui/CharacterUi.ui:162
+msgid "&Color:"
+msgstr "&Цвет:"
 
-#: src/Color.cpp:290
-msgid "math background"
-msgstr "фон матем. формулы"
+#: src/frontends/qt/ui/CharacterUi.ui:185
+msgid "U&nderlining:"
+msgstr "Подчёркивание:"
 
-#: src/Color.cpp:291
-msgid "graphics background"
-msgstr "фон изображения"
+#: src/frontends/qt/ui/CharacterUi.ui:201
+msgid "Underlining of text"
+msgstr "Подчёркивание текста"
 
-#: src/Color.cpp:292 src/Color.cpp:296
-msgid "math macro background"
-msgstr "фон матем. макроса"
+#: src/frontends/qt/ui/CharacterUi.ui:208
+msgid "S&trikethrough:"
+msgstr "Зачёркивание:"
 
-#: src/Color.cpp:293
-msgid "math frame"
-msgstr "рамка матем. режима"
+#: src/frontends/qt/ui/CharacterUi.ui:224
+msgid "Strike-through text"
+msgstr "Зачёркивание текста"
 
-#: src/Color.cpp:294
-msgid "math corners"
-msgstr "рамка матем. формулы"
+#: src/frontends/qt/ui/CharacterUi.ui:265 src/frontends/qt/ui/LanguageUi.ui:22
+#: src/frontends/qt/ui/LyXFilesUi.ui:94
+#: src/frontends/qt/ui/SpellcheckerUi.ui:67
+#: src/frontends/qt/ui/ThesaurusUi.ui:23
+msgid "&Language:"
+msgstr "&Язык:"
 
-#: src/Color.cpp:295
-msgid "math line"
-msgstr "матем. линия"
+#: src/frontends/qt/ui/CharacterUi.ui:290
+msgid "If this is selected, the marked text will not be spellchecked"
+msgstr "При включении в выделенном тексте не будет проверяться правописание"
 
-#: src/Color.cpp:297
-msgid "math macro hovered background"
-msgstr "фон матем. макроса при наведении"
+#: src/frontends/qt/ui/CharacterUi.ui:293
+msgid "E&xclude from Spellchecking"
+msgstr "Не проверять правописание"
 
-#: src/Color.cpp:298
-msgid "math macro label"
-msgstr "метка матем. макроса"
+#: src/frontends/qt/ui/CharacterUi.ui:303
+msgid "Semantic Markup"
+msgstr "Логическая разметка"
 
-#: src/Color.cpp:299
-msgid "math macro frame"
-msgstr "рамка матем. макроса"
+#: src/frontends/qt/ui/CharacterUi.ui:312
+msgid "Semantic emphasizing (italic by default, but can be adapted)"
+msgstr "Логическое выделение (курсив по умолчанию)"
 
-#: src/Color.cpp:300
-msgid "math macro blended out"
-msgstr "матем. макрос смешанный"
+#: src/frontends/qt/ui/CharacterUi.ui:315
+msgid "&Emphasized"
+msgstr "Выделение"
 
-#: src/Color.cpp:301
-msgid "math macro old parameter"
-msgstr "старый параметр матем. макроса"
+#: src/frontends/qt/ui/CharacterUi.ui:322
+msgid "Semantic markup of nouns (small caps by default, but can be adapted)"
+msgstr "Логическая разметка имени (капитель по умолчанию)"
 
-#: src/Color.cpp:302
-msgid "math macro new parameter"
-msgstr "новый параметр матем. макроса"
+#: src/frontends/qt/ui/CharacterUi.ui:325
+msgid "&Noun"
+msgstr "Имя"
 
-#: src/Color.cpp:303
-msgid "collapsible inset text"
-msgstr "текст сворачиваемой вставки"
+#: src/frontends/qt/ui/CharacterUi.ui:379
+msgid "Apply each change automatically"
+msgstr "Применять каждое изменение автоматически"
 
-#: src/Color.cpp:304
-msgid "collapsible inset frame"
-msgstr "рамка сворачиваемой вставки"
+#: src/frontends/qt/ui/CharacterUi.ui:382
+msgid "Apply changes &immediately"
+msgstr "Применить изменения немедленно"
 
-#: src/Color.cpp:305
-msgid "inset background"
-msgstr "фон вставки"
+#: src/frontends/qt/ui/CitationUi.ui:48
+msgid "Select the fields on which the filter applies"
+msgstr "Выберите поля, к которым применяется фильтр"
 
-#: src/Color.cpp:306
-msgid "inset frame"
-msgstr "рамка вставки"
+#: src/frontends/qt/ui/CitationUi.ui:75
+msgid "Select the entry types on which the filter applies"
+msgstr "Выберите типы записей, к которым применяется фильтр"
 
-#: src/Color.cpp:307
-msgid "LaTeX error"
-msgstr "ошибка LaTeX"
+#: src/frontends/qt/ui/CitationUi.ui:93
+msgid "Click for more filter options"
+msgstr "Нажмите для дополнительных параметров фильтра"
 
-#: src/Color.cpp:308
-msgid "end-of-line marker"
-msgstr "маркер конца строки"
+#: src/frontends/qt/ui/CitationUi.ui:96
+msgid "O&ptions"
+msgstr "&Параметры"
 
-#: src/Color.cpp:309
-msgid "appendix marker"
-msgstr "маркер, отделяющий приложения"
+#: src/frontends/qt/ui/CitationUi.ui:116
+msgid "A&vailable Citations:"
+msgstr "&Доступные источники:"
 
-#: src/Color.cpp:310
-msgid "change bar"
-msgstr "панель изменений"
+#: src/frontends/qt/ui/CitationUi.ui:143
+msgid "Click or press Enter to add the selected citation to the list"
+msgstr "Кликните или нажмите Enter, чтобы добавить выбранный источник в список"
 
-#: src/Color.cpp:311
-msgid "deleted text (output)"
-msgstr "удалённый текст (вывод)"
+#: src/frontends/qt/ui/CitationUi.ui:156
+msgid "Click or press Delete to delete the selected citation from the list"
+msgstr ""
+"Кликните или нажмите Delete, чтобы удалить выбранный источник из списка"
 
-#: src/Color.cpp:312
-msgid "added text (output)"
-msgstr "добавленный текст (вывод)"
+#: src/frontends/qt/ui/CitationUi.ui:188
+msgid "Move the selected citation up (Ctrl-Up)"
+msgstr "Переместить выбранный источник выше (Ctrl-Up)"
 
-#: src/Color.cpp:313
-msgid "added text (workarea, 1st author)"
-msgstr "добавленный текст (рабочая область, 1-й автор)"
+#: src/frontends/qt/ui/CitationUi.ui:211
+msgid "Move the selected citation down (Ctrl-Down)"
+msgstr "Переместить выбранный источник ниже (Ctrl-Down)"
 
-#: src/Color.cpp:314
-msgid "added text (workarea, 2nd author)"
-msgstr "добавленный текст (рабочая область, 2-й автор)"
+#: src/frontends/qt/ui/CitationUi.ui:232
+msgid "Selected &Citations:"
+msgstr "&Выбранные источники:"
 
-#: src/Color.cpp:315
-msgid "added text (workarea, 3rd author)"
-msgstr "добавленный текст (рабочая область, 3-й автор)"
+#: src/frontends/qt/ui/CitationUi.ui:276
+msgid "Formatting"
+msgstr "Форматирование"
 
-#: src/Color.cpp:316
-msgid "added text (workarea, 4th author)"
-msgstr "добавленный текст (рабочая область, 4-й автор)"
+#: src/frontends/qt/ui/CitationUi.ui:289
+msgid "Citation st&yle:"
+msgstr "Стиль ссылки:"
 
-#: src/Color.cpp:317
-msgid "added text (workarea, 5th author)"
-msgstr "добавленный текст (рабочая область, 5-й автор)"
+#: src/frontends/qt/ui/CitationUi.ui:319
+msgid "Citation style to use, if different styles are provided"
+msgstr "Стиль ссылки для использования, если имеются разные стили"
 
-#: src/Color.cpp:318
-msgid "deleted text modifier (workarea)"
-msgstr "модификатор удалённого текста (рабочая область)"
+#: src/frontends/qt/ui/CitationUi.ui:375
+msgid ""
+"Pass content of `Text before' and `Text after' fields literally to LaTeX. "
+"Check this if you want to enter LaTeX code."
+msgstr ""
+"Передавать содержимое полей `Текст до' и `Текст после' буквально в LaTeX. "
+"Выберите, если хотите ввести код LaTeX."
 
-#: src/Color.cpp:319
-msgid "added space markers"
-msgstr "маркеры дополнительного пространства"
+#: src/frontends/qt/ui/CitationUi.ui:401
+msgid "Force upcas&ing"
+msgstr "&Верхний регистр"
 
-#: src/Color.cpp:320
-msgid "table line"
-msgstr "линия таблицы"
+#: src/frontends/qt/ui/ColorUi.ui:27
+msgid "Font Colors"
+msgstr "Цвет шрифта"
 
-#: src/Color.cpp:321
-msgid "table on/off line"
-msgstr "линия таблицы (отключенная)"
+#: src/frontends/qt/ui/ColorUi.ui:38
+msgid "Main text:"
+msgstr "Основной текст:"
 
-#: src/Color.cpp:322
-msgid "bottom area"
-msgstr "нижняя область"
+#: src/frontends/qt/ui/ColorUi.ui:54 src/frontends/qt/ui/ColorUi.ui:115
+#: src/frontends/qt/ui/ColorUi.ui:192 src/frontends/qt/ui/ColorUi.ui:253
+msgid "Click to change the color"
+msgstr "Нажмите, чтобы изменить цвет"
 
-#: src/Color.cpp:323
-msgid "new page"
-msgstr "новая страница"
+#: src/frontends/qt/ui/ColorUi.ui:57 src/frontends/qt/ui/ColorUi.ui:195
+msgid "Default..."
+msgstr "По умолчанию..."
 
-#: src/Color.cpp:324
-msgid "page break / line break"
-msgstr "разрыв страницы/строки"
+#: src/frontends/qt/ui/ColorUi.ui:70 src/frontends/qt/ui/ColorUi.ui:131
+#: src/frontends/qt/ui/ColorUi.ui:208 src/frontends/qt/ui/ColorUi.ui:269
+msgid "Revert the color to the default"
+msgstr "Установить цвет по умолчанию"
 
-#: src/Color.cpp:325
-msgid "button frame"
-msgstr "рамка кнопки"
+#: src/frontends/qt/ui/ColorUi.ui:99
+msgid "Greyed-out notes:"
+msgstr "Серый текст:"
 
-#: src/Color.cpp:326
-msgid "button background"
-msgstr "фон кнопки"
+#: src/frontends/qt/ui/ColorUi.ui:165
+msgid "Background Colors"
+msgstr "Цвет фона"
 
-#: src/Color.cpp:327
-msgid "button background under focus"
-msgstr "фон кнопки в фокусе"
+#: src/frontends/qt/ui/ColorUi.ui:237
+msgid "Shaded boxes:"
+msgstr "Закрашенные блоки:"
 
-#: src/Color.cpp:328
-msgid "paragraph marker"
-msgstr "маркер абзаца"
+#: src/frontends/qt/ui/CompareHistoryUi.ui:23
+msgid "Compare Revisions"
+msgstr "Сравнить версии"
 
-#: src/Color.cpp:329
-msgid "preview frame"
-msgstr "рамка предпросмотра"
+#: src/frontends/qt/ui/CompareHistoryUi.ui:34
+msgid "Revisions ba&ck"
+msgstr "Версий назад"
 
-#: src/Color.cpp:330
-msgid "inherit"
-msgstr "наследовать"
+#: src/frontends/qt/ui/CompareHistoryUi.ui:87
+msgid "&Between revisions"
+msgstr "Между версиями"
 
-#: src/Color.cpp:331
-msgid "regexp frame"
-msgstr "рамка рег. выражения"
+#: src/frontends/qt/ui/CompareHistoryUi.ui:100
+msgid "Old:"
+msgstr "Старая:"
 
-#: src/Color.cpp:332
-msgid "ignore"
-msgstr "игнорировать"
+#: src/frontends/qt/ui/CompareHistoryUi.ui:135
+msgid "New:"
+msgstr "Новая:"
 
-#: src/Converter.cpp:306
-#, c-format
-msgid ""
-"<p>The following LaTeX backend has been configured to allow execution of "
-"external programs for any document:</p><center><p><tt>%1$s</tt></p></"
-"center><p>This is a dangerous configuration. Please, consider using the "
-"support offered by LyX for allowing this privilege only to documents that "
-"actually need it, instead.</p>"
-msgstr ""
-"<p>Следующая серверная часть LaTeX настроена так, чтобы разрешить выполнение "
-"внешних программ для любого документа:</p><center><p><tt>%1$s</tt></p></"
-"center><p>Это опасная конфигурация. Пожалуйста, рассмотрите возможность "
-"использования поддержки, предлагаемой LyX для разрешения этой привилегии "
-"только для документов, которые действительно в ней нуждаются.</p>"
+#: src/frontends/qt/ui/CompareUi.ui:35
+msgid "Old Documen&t:"
+msgstr "Старый документ:"
 
-#: src/Converter.cpp:315
-msgid "Security Warning"
-msgstr "Предупреждение безопасности"
+#: src/frontends/qt/ui/CompareUi.ui:51
+msgid "Specify the original version of the document here (comparison source)"
+msgstr "Укажите исходную версию документа (источник сравнения)"
 
-#: src/Converter.cpp:328
-#, c-format
-msgid ""
-"<p>The following LaTeX backend has been requested to allow execution of "
-"external programs:</p><center><p><tt>%1$s</tt></p></center><p>The external "
-"programs can execute arbitrary commands on your system, including dangerous "
-"ones, if instructed to do so by a maliciously crafted LyX document.</p>"
-msgstr ""
-"<p>Следующая серверная часть LaTeX была предложена для выполнения внешних "
-"программ:</p><center><p><tt>%1$s</tt></p></center><p>Внешние программы могут "
-"выполнять произвольные команды на вашей системе, в том числе опасные, если "
-"они будут проинструктированы вредоносным документом LyX.</p>"
+#: src/frontends/qt/ui/CompareUi.ui:61 src/frontends/qt/ui/PrefUi.ui:61
+msgid "Bro&wse..."
+msgstr "&Выбрать..."
 
-#: src/Converter.cpp:335
-#, c-format
-msgid ""
-"<p>The requested operation requires the use of a converter from %2$s to %3$s:"
-"</p><blockquote><p><tt>%1$s</tt></p></blockquote><p>This external program "
-"can execute arbitrary commands on your system, including dangerous ones, if "
-"instructed to do so by a maliciously crafted LyX document.</p>"
-msgstr ""
-"<p>Запрошенная операция требует использования конвертера из %2$s в %3$s:</"
-"p><blockquote><p><tt>%1$s</tt></p></blockquote><p>Эта внешняя программа "
-"может выполнять произвольные команды на вашей системе, в том числе опасные, "
-"если это будет проинструктировано вредоносным документом LyX.</p>"
+#: src/frontends/qt/ui/CompareUi.ui:71
+msgid "&New Document:"
+msgstr "Новый документ:"
 
-#: src/Converter.cpp:345
-msgid "An external converter is disabled for security reasons"
-msgstr "Внешний конвертер отключен для безопасности"
+#: src/frontends/qt/ui/CompareUi.ui:87
+msgid "Specify the modified version of the document here (comparison target)"
+msgstr "Укажите изменённую версию документа (цель сравнения)"
 
-#: src/Converter.cpp:347
-msgid ""
-"<p><b>Your current preference settings forbid its execution.</b></p><p>(To "
-"change this setting, go to <i>Preferences &#x25b9; File Handling &#x25b9; "
-"Converters</i> and uncheck <i>Security &#x25b9; Forbid needauth converters</"
-"i>.)"
-msgstr ""
-"<p><b>Текущие настройки настроек запрещают его выполнение.</b></p><p>(Для "
-"измерения этой настройки зайдите в <i>Настройки &#x25b9; Обработка файлов "
-"&#x25b9; Конвертеры</i> и уберите <i>Security &#x25b9; Forbid needauth "
-"converters</i>.)"
+#: src/frontends/qt/ui/CompareUi.ui:97 src/frontends/qt/ui/ExternalUi.ui:89
+#: src/frontends/qt/ui/GraphicsUi.ui:75 src/frontends/qt/ui/IncludeUi.ui:28
+#: src/frontends/qt/ui/LaTeXUi.ui:170 src/frontends/qt/ui/LyXFilesUi.ui:152
+#: src/frontends/qt/ui/PrefInputUi.ui:52
+msgid "&Browse..."
+msgstr "&Выбрать..."
 
-#: src/Converter.cpp:356
-msgid "A LaTeX backend requires your authorization"
-msgstr "Серверная часть LaTeX требует вашей авторизации"
+#: src/frontends/qt/ui/CompareUi.ui:117
+msgid "Select the document from which the settings should be taken"
+msgstr "Выберите документ, из которого должны быть взяты настройки"
 
-#: src/Converter.cpp:357
-msgid "An external converter requires your authorization"
-msgstr "Внешний конвертер требует вашей авторизации"
+#: src/frontends/qt/ui/CompareUi.ui:129
+msgid "O&ld Document"
+msgstr "Старый документ"
 
-#: src/Converter.cpp:360
-msgid ""
-"<p>Should LaTeX backends be allowed to run external programs?</p><p><b>Allow "
-"them only if you trust the origin/sender of the LyX document!</b></p>"
-msgstr ""
-"<p>Разрешать ли LaTeX-бэкэндам запускать внешние программы?</"
-"p><p><b>Разрешайте их только в том случае, если вы доверяете происхождению/"
-"отправителю документа LyX!</b></p>"
+#: src/frontends/qt/ui/CompareUi.ui:136
+msgid "New Docu&ment"
+msgstr "Новый документ"
 
-#: src/Converter.cpp:363
+#: src/frontends/qt/ui/CompareUi.ui:183
 msgid ""
-"<p>Would you like to run this converter?</p><p><b>Only run if you trust the "
-"origin/sender of the LyX document!</b></p>"
+"Turns on the change tracking and showing changes in LaTeX output for the "
+"resulting document"
 msgstr ""
-"<p>Хотите запустить этот конвертер?</p><p><b>Запускайте только в том случае, "
-"если вы доверяете источнику/отправителю документа LyX!</b></p>"
-
-#: src/Converter.cpp:367
-msgid "Do &not allow"
-msgstr "Не разрешать"
-
-#: src/Converter.cpp:367
-msgid "Do &not run"
-msgstr "Не запускать"
-
-#: src/Converter.cpp:368
-msgid "A&llow"
-msgstr "Разрешить"
-
-#: src/Converter.cpp:368
-msgid "&Run"
-msgstr "Запустить"
-
-#: src/Converter.cpp:370
-msgid "&Always allow for this document"
-msgstr "Всегда разрешать для этого документа"
-
-#: src/Converter.cpp:371
-msgid "&Always run for this document"
-msgstr "Всегда запускать для этого документа"
+"Включить отслеживание изменений и показать их в выводе LaTeX в "
+"результирующем документе"
 
-#: src/Converter.cpp:441 src/Converter.cpp:686 src/Converter.cpp:715
-msgid "Converter killed"
-msgstr "Конвертер завершён"
+#: src/frontends/qt/ui/CompareUi.ui:186
+msgid "&Enable change tracking features in the output"
+msgstr "Отслеживать изменения в выходном файле"
 
-#: src/Converter.cpp:442 src/Converter.cpp:687 src/Converter.cpp:716
-#, c-format
-msgid ""
-"The following converter was killed by the user.\n"
-" %1$s\n"
-msgstr ""
-"Следующий конвертер был завершён пользователем:\n"
-" %1$s\n"
+#: src/frontends/qt/ui/CounterUi.ui:22
+msgid "C&ounter:"
+msgstr "Счётчик:"
 
-#: src/Converter.cpp:461 src/Converter.cpp:744 src/Converter.cpp:767
-#: src/Converter.cpp:809
-msgid "Cannot convert file"
-msgstr "Невозможно преобразовать файл"
+#: src/frontends/qt/ui/CounterUi.ui:38
+msgid "Select counter to modify"
+msgstr "Выберите счётчик для изменения"
 
-#: src/Converter.cpp:462
-#, c-format
-msgid ""
-"No information for converting %1$s format files to %2$s.\n"
-"Define a converter in the preferences."
-msgstr ""
-"Нет информации для преобразования файлов формата %1$s в %2$s.\n"
-"Определите конвертер в настройках."
+#: src/frontends/qt/ui/CounterUi.ui:45
+msgid "&Action:"
+msgstr "Действие:"
 
-#: src/Converter.cpp:567 src/frontends/qt/GuiDocument.cpp:1995
-msgid "Pygments driver command not found!"
-msgstr "Команда драйвера Pygments не найдена!"
+#: src/frontends/qt/ui/CounterUi.ui:63
+msgid "Select the action to perform on selected counter"
+msgstr "Выберите действие, которое необходимо произвести с выбранным счётчиком"
 
-#: src/Converter.cpp:568 src/frontends/qt/GuiDocument.cpp:1996
+#: src/frontends/qt/ui/CounterUi.ui:79
 msgid ""
-"The driver command necessary to use the minted package\n"
-"(pygmentize) has not been found. Make sure you have\n"
-"the python-pygments module installed or, if the driver\n"
-"is named differently, to add the following line to the\n"
-"document preamble:\n"
-"\n"
-"\\AtBeginDocument{\\renewcommand{\\MintedPygmentize}{driver}}\n"
-"\n"
-"where 'driver' is name of the driver command."
+"If checked, modification affects the counter only in the LyX workarea, not "
+"in the output"
 msgstr ""
-"Команда драйвера, необходимая для использования пакета minted\n"
-"(pygmentize) не была найдена. Убедитесь, что у вас\n"
-"установлен модуль python-pygments или, если драйвер\n"
-"имеет другое имя, добавьте следующую строку в\n"
-"преамбулу документа:\n"
-"\n"
-"\\AtBeginDocument{\\renewcommand{\\MintedPygmentize}{driver}}\n"
-"\n"
-"где 'driver' - это имя команды драйвера."
-
-#: src/Converter.cpp:662 src/Format.cpp:706 src/Format.cpp:777
-msgid "Executing command: "
-msgstr "Исполняется команда: "
+"Если установлено, модификация влияет на счётчик только в рабочей области "
+"LyX, а не в выводе."
 
-#: src/Converter.cpp:727
-msgid "Process Killed"
-msgstr "Процесс завершён"
+#: src/frontends/qt/ui/CounterUi.ui:85
+msgid "&Workarea only"
+msgstr "Только в рабочей области"
 
-#: src/Converter.cpp:728
-#, c-format
-msgid ""
-"The conversion process was killed while running:\n"
-"%1$s"
-msgstr ""
-"Процесс конвертации был завершён при выполнении:\n"
-"%1$s"
+#: src/frontends/qt/ui/DelimiterUi.ui:221
+msgid "Match delimiter types"
+msgstr "Обеспечивать соответствие типов ограничителей"
 
-#: src/Converter.cpp:733
-msgid "Process Timed Out"
-msgstr "Время ожидания процесса истекло"
+#: src/frontends/qt/ui/DelimiterUi.ui:224
+msgid "&Keep matched"
+msgstr "&Обеспечивать соответствие"
 
-#: src/Converter.cpp:734
-#, c-format
+#: src/frontends/qt/ui/DelimiterUi.ui:240
 msgid ""
-"The conversion process:\n"
-"%1$s\n"
-"timed out before completing."
-msgstr ""
-"Процесс преобразования:\n"
-"%1$s\n"
-"время ожидания истекло до окончания."
-
-#: src/Converter.cpp:739
-msgid "Build errors"
-msgstr "Ошибки сборки"
-
-#: src/Converter.cpp:740
-msgid "There were errors during the build process."
-msgstr "В процессе сборки возникли ошибки."
+"Swap left and right delimiter type (while reversing to the appropriate "
+"direction)"
+msgstr "Поменять местами левый и правый ограничитель"
 
-#: src/Converter.cpp:745
-#, c-format
-msgid ""
-"An error occurred while running:\n"
-"%1$s"
-msgstr ""
-"Произошла ошибка при выполнении:\n"
-"%1$s"
+#: src/frontends/qt/ui/DelimiterUi.ui:243
+msgid "S&wap && Reverse"
+msgstr "Поменять и обратить"
 
-#: src/Converter.cpp:768
-#, c-format
-msgid "Could not move a temporary directory from %1$s to %2$s."
-msgstr "Невозможно переместить временный каталог из %1$s в %2$s."
+#: src/frontends/qt/ui/DocumentUi.ui:93
+msgid "Reset to the default settings for the document class"
+msgstr "Восстановить параметры по умолчанию для текущего класса документа"
 
-#: src/Converter.cpp:811
-#, c-format
-msgid "Could not copy a temporary file from %1$s to %2$s."
-msgstr "Невозможно скопировать временный файл из %1$s в %2$s."
+#: src/frontends/qt/ui/DocumentUi.ui:96
+msgid "Use Class Defaults"
+msgstr "По умолчанию для класса"
 
-#: src/Converter.cpp:812
-#, c-format
-msgid "Could not move a temporary file from %1$s to %2$s."
-msgstr "Невозможно переместить временный файл из %1$s в %2$s."
+#: src/frontends/qt/ui/DocumentUi.ui:109
+msgid "Save settings as defaults for new documents"
+msgstr "Сохранить настройки как настройки по умолчанию для новых документов"
 
-#: src/Converter.cpp:852
-msgid "Running LaTeX..."
-msgstr "Выполняется LaTeX..."
+#: src/frontends/qt/ui/DocumentUi.ui:112
+msgid "Save as Document Defaults"
+msgstr "Сохранить как параметры документа по умолчанию"
 
-#: src/Converter.cpp:869
-msgid "Export canceled"
-msgstr "Экспорт отменён"
+#: src/frontends/qt/ui/ERTUi.ui:40
+msgid "Show ERT button only"
+msgstr "Показывать только кнопку ERT"
 
-#: src/Converter.cpp:870
-msgid "The export process was terminated by the user."
-msgstr "Процесс экспорта прерван пользователем."
+#: src/frontends/qt/ui/ERTUi.ui:43
+msgid "&Collapsed"
+msgstr "&Свёрнутый"
 
-#: src/Converter.cpp:880
-msgid "Undefined reference"
-msgstr "Неопределённая ссылка"
+#: src/frontends/qt/ui/ERTUi.ui:50
+msgid "Show ERT contents"
+msgstr "Показывать содержимое ERT"
 
-#: src/Converter.cpp:881
-msgid ""
-"Undefined references or citations were found during the build.\n"
-"Please check the warnings in the LaTeX log (Document > LaTeX Log)."
-msgstr ""
-"Неопределённые ссылки или цитаты были найдены во время сборки.\n"
-"Пожалуйста, проверьте предупреждения в журнале LaTeX (Документ > Журнал "
-"сообщений LaTeX)."
+#: src/frontends/qt/ui/ERTUi.ui:53
+msgid "O&pen"
+msgstr "&Развёрнутый"
 
-#: src/Converter.cpp:893
-#, c-format
+#: src/frontends/qt/ui/ErrorListUi.ui:38
 msgid ""
-"LaTeX did not run successfully. Additionally, LyX could not locate the LaTeX "
-"log %1$s."
+"Selecting an error will show the error message in the panel below and the "
+"cursor will jump to the location in the document where the error occurred."
 msgstr ""
-"Запуск LaTeX не удался. Кроме того, LyX не может найти журнал LaTeX %1$s."
-
-#: src/Converter.cpp:896 src/Converter.cpp:903
-msgid "LaTeX failed"
-msgstr "Ошибка LaTeX"
+"Выбор ошибки покажет сообщение об ней в нижней панели, при этом курсор "
+"перейдёт к месту в документе, где произошла эта ошибка."
 
-#: src/Converter.cpp:899
-#, c-format
-msgid ""
-"The external program\n"
-"%1$s\n"
-"finished with an error. It is recommended you fix the cause of the external "
-"program's error (check the logs). "
-msgstr ""
-"Внешняя программа\n"
-"%1$s\n"
-"завершилась с ошибкой. Рекомендуется устранить причину ошибки внешней "
-"программы (проверьте логи). "
+#: src/frontends/qt/ui/ErrorListUi.ui:51
+msgid "For more information, refer to the complete log."
+msgstr "За подробной информаций обратитесь к полному журналу."
 
-#: src/Converter.cpp:905
-msgid "Output is empty"
-msgstr "Вывод пуст"
+#: src/frontends/qt/ui/ErrorListUi.ui:58
+msgid "Description:"
+msgstr "Описание:"
 
-#: src/Converter.cpp:906
-msgid "No output file was generated."
-msgstr "Выходной файл не сгенерирован."
+#: src/frontends/qt/ui/ErrorListUi.ui:65
+msgid "&Errors:"
+msgstr "&Ошибки:"
 
-#: src/Cursor.cpp:418 src/Text.cpp:2008
-msgid ", Inset: "
-msgstr ", Вставка: "
+#: src/frontends/qt/ui/ErrorListUi.ui:75
+msgid "Open the LaTeX Log File dialog"
+msgstr "Открыть диалоговое окно файла журнала LaTeX"
 
-#: src/Cursor.cpp:419 src/Text.cpp:2010
-msgid ", Cell: "
-msgstr ", Ячейка: "
+#: src/frontends/qt/ui/ErrorListUi.ui:78
+msgid "View Complete &Log..."
+msgstr "Просмотр полного &журнала..."
 
-#: src/Cursor.cpp:420 src/Text.cpp:2013
-msgid ", Position: "
-msgstr ", Позиция: "
+#: src/frontends/qt/ui/ErrorListUi.ui:101
+msgid "Attempt to show the output even if there were compilation errors"
+msgstr "Попробовать показать результат даже при наличии ошибок компиляции"
 
-#: src/CutAndPaste.cpp:209
-#, c-format
-msgid ""
-"The character \"%1$s\" is uncodable in this verbatim context and thus has "
-"not been pasted."
-msgstr ""
-"Символ \"%1$s\" является некодируемым в этом буквальном контексте, и поэтому "
-"не был вставлен."
+#: src/frontends/qt/ui/ErrorListUi.ui:104
+msgid "Show Output &Anyway"
+msgstr "Всё равно показать результат"
 
-#: src/CutAndPaste.cpp:213
-#, c-format
-msgid ""
-"The characters \"%1$s\" are uncodable in this verbatim context and thus have "
-"not been pasted."
-msgstr ""
-"Символы \"%1$s\" являются некодируемыми в этом буквальном контексте, и "
-"поэтому не были вставлены."
+#: src/frontends/qt/ui/ExternalUi.ui:45
+msgid "F&ile"
+msgstr "&Файл"
 
-#: src/CutAndPaste.cpp:252
-msgid "Uncodable content"
-msgstr "Некодируемое содержимое"
+#: src/frontends/qt/ui/ExternalUi.ui:76 src/frontends/qt/ui/GraphicsUi.ui:295
+#: src/frontends/qt/ui/IncludeUi.ui:89
+msgid "&File:"
+msgstr "&Файл:"
 
-#: src/CutAndPaste.cpp:436
-#, c-format
-msgid ""
-"The pasted branch \"%1$s\" is undefined.\n"
-"Do you want to add it to the document's branch list?"
-msgstr ""
-"Вставленная ветка \"%1$s\" не определена.\n"
-"Добавить её в список веток документа?"
+#: src/frontends/qt/ui/ExternalUi.ui:86 src/frontends/qt/ui/IncludeUi.ui:25
+msgid "Select a file"
+msgstr "Выберите файл"
 
-#: src/CutAndPaste.cpp:439
-msgid "Unknown branch"
-msgstr "Неизвестная ветка"
+#: src/frontends/qt/ui/ExternalUi.ui:96
+msgid "&Draft"
+msgstr "&Черновой режим"
 
-#: src/CutAndPaste.cpp:440
-msgid "&Don't Add"
-msgstr "Не добавлять"
+#: src/frontends/qt/ui/ExternalUi.ui:103
+msgid "&Template"
+msgstr "&Шаблон"
 
-#: src/CutAndPaste.cpp:829 src/Text.cpp:419
-#, c-format
-msgid "Layout `%1$s' was not found."
-msgstr "Макет `%1$s' не найден."
+#: src/frontends/qt/ui/ExternalUi.ui:152
+msgid "Available templates"
+msgstr "Доступные шаблоны"
 
-#: src/CutAndPaste.cpp:830 src/Text.cpp:420
-msgid "Layout Not Found"
-msgstr "Макет не найден"
+#: src/frontends/qt/ui/ExternalUi.ui:163 src/frontends/qt/ui/GraphicsUi.ui:493
+msgid "LaTe&X and LyX options"
+msgstr "Параметры LaTe&X и LyX"
 
-#: src/CutAndPaste.cpp:858
-#, c-format
-msgid "Flex inset %1$s is undefined after reloading `%2$s' layout."
-msgstr "Гибкая вставка %1$s не определена после перезагрузки макета `%2$s'."
+#: src/frontends/qt/ui/ExternalUi.ui:184
+msgid "LaTeX Options"
+msgstr "Параметры LaTeX"
 
-#: src/CutAndPaste.cpp:861
-#, c-format
-msgid ""
-"Flex inset %1$s is undefined because of conversion from `%2$s' layout to `"
-"%3$s'."
-msgstr ""
-"Гибкая вставка %1$s не определена из-за преобразования из макета `%2$s' в `"
-"%3$s'."
+#: src/frontends/qt/ui/ExternalUi.ui:211
+msgid "O&ption:"
+msgstr "&Параметр:"
 
-#: src/CutAndPaste.cpp:866
-msgid "Undefined flex inset"
-msgstr "Неопределённая гибкая вставка"
+#: src/frontends/qt/ui/ExternalUi.ui:224
+msgid "For&mat:"
+msgstr "&Формат:"
 
-#: src/Exporter.cpp:45
-#, c-format
+#: src/frontends/qt/ui/ExternalUi.ui:240
 msgid ""
-"The file %1$s already exists.\n"
-"\n"
-"Do you want to overwrite that file?"
+"Enable LyX to preview this material; only if graphics previewing is not "
+"disabled at application level (see Preference dialog)."
 msgstr ""
-"Файл %1$s уже существует.\n"
-"\n"
-"Хотите перезаписать его?"
-
-#: src/Exporter.cpp:48
-msgid "Overwrite file?"
-msgstr "Перезаписать файл?"
-
-#: src/Exporter.cpp:50
-msgid "&Keep file"
-msgstr "&Оставить файл"
-
-#: src/Exporter.cpp:51
-msgid "Overwrite &all"
-msgstr "Перезаписать все"
-
-#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:728
-msgid "&Cancel export"
-msgstr "Отменить &экспорт"
-
-#: src/Exporter.cpp:97
-msgid "Couldn't copy file"
-msgstr "Невозможно скопировать файл"
-
-#: src/Exporter.cpp:98
-#, c-format
-msgid "Copying %1$s to %2$s failed."
-msgstr "Копирование %1$s в %2$s не удалось."
-
-#: src/Font.cpp:141
-#, c-format
-msgid "Language: %1$s, "
-msgstr "Язык: %1$s, "
-
-#: src/Font.cpp:146
-#, c-format
-msgid "Number %1$s"
-msgstr "Число %1$s"
-
-#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:150
-#: src/frontends/qt/GuiDocument.cpp:4827 src/frontends/qt/GuiListings.cpp:163
-msgid "Roman"
-msgstr "С засечками"
-
-#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:151
-#: src/frontends/qt/GuiDocument.cpp:4827 src/frontends/qt/GuiListings.cpp:163
-msgid "Sans Serif"
-msgstr "Без засечек"
-
-#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:152
-#: src/frontends/qt/GuiDocument.cpp:4827 src/frontends/qt/GuiListings.cpp:163
-msgid "Typewriter"
-msgstr "Машинописный"
-
-#: src/FontInfo.cpp:43
-msgid "Symbol"
-msgstr "Символьный"
-
-#: src/FontInfo.cpp:45 src/FontInfo.cpp:48 src/FontInfo.cpp:51
-#: src/FontInfo.cpp:57 src/FontInfo.cpp:60
-msgid "Inherit"
-msgstr "Наследовать"
-
-#: src/FontInfo.cpp:48 src/frontends/qt/GuiCharacter.cpp:139
-msgid "Medium"
-msgstr "Нормальный"
+"Разрешить LyX предварительный просмотр объекта, если только он не запрещён "
+"на уровне приложения (см. диалоговое окно Настройки)."
 
-#: src/FontInfo.cpp:51 src/frontends/qt/GuiCharacter.cpp:54
-msgid "Upright"
-msgstr "Прямой"
+#: src/frontends/qt/ui/ExternalUi.ui:243
+msgid "&Show in LyX"
+msgstr "&Показывать в LyX"
 
-#: src/FontInfo.cpp:51 src/frontends/qt/GuiCharacter.cpp:55
-msgid "Italic"
-msgstr "Курсивный"
+#: src/frontends/qt/ui/ExternalUi.ui:270 src/frontends/qt/ui/ExternalUi.ui:292
+#: src/frontends/qt/ui/GraphicsUi.ui:595 src/frontends/qt/ui/GraphicsUi.ui:602
+msgid "Percentage to scale by in LyX"
+msgstr "Процент масштабирования в LyX"
 
-#: src/FontInfo.cpp:51 src/frontends/qt/GuiCharacter.cpp:56
-msgid "Slanted"
-msgstr "Наклонный"
+#: src/frontends/qt/ui/ExternalUi.ui:273
+msgid "Sca&le on Screen (%):"
+msgstr "Масштаб на экране (%):"
 
-#: src/FontInfo.cpp:51
-msgid "Smallcaps"
-msgstr "Капитель"
+#: src/frontends/qt/ui/ExternalUi.ui:329
+msgid "Si&ze and Rotation"
+msgstr "Ра&змер и поворот"
 
-#: src/FontInfo.cpp:56 src/frontends/qt/GuiCharacter.cpp:77
-msgid "Increase"
-msgstr "Увеличить"
+#: src/frontends/qt/ui/ExternalUi.ui:350 src/frontends/qt/ui/TabularUi.ui:108
+msgid "Rotate"
+msgstr "Повернуть на"
 
-#: src/FontInfo.cpp:56 src/frontends/qt/GuiCharacter.cpp:78
-msgid "Decrease"
-msgstr "Уменьшить"
+#: src/frontends/qt/ui/ExternalUi.ui:413 src/frontends/qt/ui/ExternalUi.ui:443
+#: src/frontends/qt/ui/GraphicsUi.ui:269 src/frontends/qt/ui/GraphicsUi.ui:276
+msgid "Angle to rotate image by"
+msgstr "Угол поворота изображения"
 
-#: src/FontInfo.cpp:60
-msgid "Toggle"
-msgstr "Переключить"
+#: src/frontends/qt/ui/ExternalUi.ui:423 src/frontends/qt/ui/ExternalUi.ui:436
+#: src/frontends/qt/ui/GraphicsUi.ui:243 src/frontends/qt/ui/GraphicsUi.ui:250
+msgid "The origin of the rotation"
+msgstr "Центр вращения"
 
-#: src/FontInfo.cpp:617
-#, c-format
-msgid "Emphasis %1$s, "
-msgstr "Выделение %1$s, "
+#: src/frontends/qt/ui/ExternalUi.ui:426
+msgid "Ori&gin:"
+msgstr "&Центр:"
 
-#: src/FontInfo.cpp:620
-#, c-format
-msgid "Underline %1$s, "
-msgstr "Подчёркивание %1$s, "
+#: src/frontends/qt/ui/ExternalUi.ui:446
+msgid "A&ngle:"
+msgstr "&Угол:"
 
-#: src/FontInfo.cpp:623
-#, c-format
-msgid "Double underline %1$s, "
-msgstr "Двойное подчёркивание %1$s, "
+#: src/frontends/qt/ui/ExternalUi.ui:527
+msgid "Maintain aspect ratio with largest dimension"
+msgstr "Сохранять пропорции с наибольшим измерением"
 
-#: src/FontInfo.cpp:626
-#, c-format
-msgid "Wavy underline %1$s, "
-msgstr "Подчёркивание волной %1$s, "
+#: src/frontends/qt/ui/ExternalUi.ui:530 src/frontends/qt/ui/GraphicsUi.ui:199
+msgid "&Maintain aspect ratio"
+msgstr "&Сохранять пропорции"
 
-#: src/FontInfo.cpp:629
-#, c-format
-msgid "Strike out %1$s, "
-msgstr "Зачёркивание %1$s, "
+#: src/frontends/qt/ui/ExternalUi.ui:553
+msgid "Crop"
+msgstr "Обрезка"
 
-#: src/FontInfo.cpp:632
-#, c-format
-msgid "Cross out %1$s, "
-msgstr "Штриховое зачёркивание %1$s, "
+#: src/frontends/qt/ui/ExternalUi.ui:577
+msgid "Clip to bounding box values"
+msgstr "Обрезать по рамке (bounding box)"
 
-#: src/FontInfo.cpp:635
-#, c-format
-msgid "Noun %1$s, "
-msgstr "Имя %1$s, "
+#: src/frontends/qt/ui/ExternalUi.ui:580
+msgid "Clip to &bounding box"
+msgstr "Обрезать по &рамке"
 
-#: src/Format.cpp:630 src/Format.cpp:643 src/Format.cpp:653
-msgid "Cannot view file"
-msgstr "Просмотр файла невозможен"
+#: src/frontends/qt/ui/ExternalUi.ui:587 src/frontends/qt/ui/GraphicsUi.ui:390
+msgid "Left botto&m:"
+msgstr "&Левый нижний угол:"
 
-#: src/Format.cpp:631 src/Format.cpp:723 src/frontends/qt/GuiView.cpp:3766
-#, c-format
-msgid "File does not exist: %1$s"
-msgstr "Файл не существует: %1$s"
+#: src/frontends/qt/ui/ExternalUi.ui:600
+msgid "x"
+msgstr "x"
 
-#: src/Format.cpp:644
-#, c-format
-msgid "No information for viewing %1$s"
-msgstr "Нет информации для просмотра %1$s"
+#: src/frontends/qt/ui/ExternalUi.ui:607 src/frontends/qt/ui/GraphicsUi.ui:428
+msgid "Right &top:"
+msgstr "&Правый верхний угол:"
 
-#: src/Format.cpp:654
-#, c-format
-msgid "Auto-view file %1$s failed"
-msgstr "Автопросмотр файла %1$s не удался"
+#: src/frontends/qt/ui/ExternalUi.ui:617
+msgid "Get bounding box from the (EPS) file"
+msgstr "Получить рамку из файла (EPS)"
 
-#: src/Format.cpp:722 src/Format.cpp:734 src/Format.cpp:747 src/Format.cpp:758
-msgid "Cannot edit file"
-msgstr "Невозможно редактировать файл"
+#: src/frontends/qt/ui/ExternalUi.ui:620 src/frontends/qt/ui/GraphicsUi.ui:485
+msgid "&Get from File"
+msgstr "&Получить значения из файла"
 
-#: src/Format.cpp:735
-msgid "LinkBack files can only be edited on Apple Mac OSX."
-msgstr "Файлы LinkBack могут редактироваться только на macOS."
+#: src/frontends/qt/ui/ExternalUi.ui:650
+msgid "y"
+msgstr "y"
 
-#: src/Format.cpp:748
-#, c-format
-msgid "No information for editing %1$s"
-msgstr "Нет информации для редактирования %1$s"
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:14
+msgid "TabWidget"
+msgstr "TabWidget"
 
-#: src/Format.cpp:759
-#, c-format
-msgid "Auto-edit file %1$s failed"
-msgstr "Авто-редактирование файла %1$s не удалось"
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:21
+msgid "Sear&ch"
+msgstr "Поиск"
 
-#: src/KeyMap.cpp:229 src/KeyMap.cpp:244
-msgid "Could not find bind file"
-msgstr "Не найден файл привязок"
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:29
+#: src/frontends/qt/ui/SearchUi.ui:33
+msgid "Fi&nd:"
+msgstr "Н&айти:"
 
-#: src/KeyMap.cpp:230
-#, c-format
-msgid ""
-"Unable to find the bind file\n"
-"%1$s.\n"
-"Please check your installation."
-msgstr ""
-"Невозможно найти файл привязок\n"
-"%1$s.\n"
-"Проверьте вашу установку."
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:53
+msgid "Replace &with:"
+msgstr "За&менить на:"
 
-#: src/KeyMap.cpp:237
-msgid "Could not find `cua.bind' file"
-msgstr "На удалось найти файл `cua.bind'"
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:107
+msgid "Shift+Enter search backwards directly"
+msgstr "Shift+Enter ищет сразу в обратном направлении"
 
-#: src/KeyMap.cpp:238
-msgid ""
-"Unable to find the default bind file `cua.bind'.\n"
-"Please check your installation."
-msgstr ""
-"LyX не смог найти файл привязок по умолчанию `cua.bind'.\n"
-"Проверьте вашу установку."
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:110
+#: src/frontends/qt/ui/SearchUi.ui:141
+msgid "Search &backwards"
+msgstr "Обратный &поиск"
 
-#: src/KeyMap.cpp:245
-#, c-format
-msgid ""
-"Unable to find the bind file\n"
-"%1$s.\n"
-"Falling back to default."
-msgstr ""
-"Невозможно найти файл привязок\n"
-"%1$s.\n"
-"Будут использованы привязки по умолчанию."
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:120
+msgid "Restrict search to whole words only"
+msgstr "Искать только целые слова"
 
-#: src/KeySequence.cpp:181
-msgid "   options: "
-msgstr "   параметры: "
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:123
+msgid "W&hole words"
+msgstr "Только целые слова"
 
-#: src/LaTeX.cpp:62
-#, c-format
-msgid "Waiting for LaTeX run number %1$d"
-msgstr "Выполняется проход LaTeX номер %1$d"
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:130
+msgid "Perform a case-sensitive search"
+msgstr "Выполнить поиск с учётом регистра"
 
-#: src/LaTeX.cpp:322 src/LaTeX.cpp:459
-msgid "Running Index Processor."
-msgstr "Выполняется процессор указателя."
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:133
+msgid "Case &sensitive"
+msgstr "Учитывать &регистр"
 
-#: src/LaTeX.cpp:375 src/LaTeX.cpp:436
-msgid "Running BibTeX."
-msgstr "Выполняется BibTeX."
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:147
+msgid "Find next occurrence [Enter]"
+msgstr "Найти следующее совпадение [Enter]"
 
-#: src/LaTeX.cpp:609
-msgid "Running MakeIndex for nomencl."
-msgstr "Выполняется MakeIndex."
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:150 src/frontends/qt/ui/LogUi.ui:118
+#: src/frontends/qt/ui/SearchUi.ui:105
+msgid "Find &Next"
+msgstr "&Найти далее"
 
-#: src/LaTeX.cpp:1113
-msgid "(NOTE: The erroneous command is in the preamble)"
-msgstr "(ЗАМЕТКА: Ошибочная команда в преамбуле)"
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:163
+msgid "Replace and find next occurrence [Enter]"
+msgstr "Заменить и найти следующее совпадение [Enter]"
 
-#: src/LaTeX.cpp:1605 src/LaTeX.cpp:1611 src/LaTeX.cpp:1620
-msgid "BibTeX error: "
-msgstr "Ошибка BibTeX: "
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:166
+#: src/frontends/qt/ui/SearchUi.ui:118 src/frontends/qt/ui/SpellcheckerUi.ui:48
+#: src/frontends/qt/ui/ThesaurusUi.ui:86
+msgid "&Replace"
+msgstr "&Заменить"
 
-#: src/LaTeX.cpp:1627
-msgid "Biber error: "
-msgstr "Ошибка Biber: "
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:176
+msgid "Replace all occurrences at once"
+msgstr "Заменить все совпадения"
 
-#: src/LaTeX.cpp:1656
-msgid "Makeindex error: "
-msgstr "Ошибка Makeindex: "
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:179
+#: src/frontends/qt/ui/SearchUi.ui:155
+#: src/frontends/qt/ui/SpellcheckerUi.ui:148
+msgid "Replace &All"
+msgstr "Заменить &всё"
 
-#: src/LaTeX.cpp:1665
-msgid "Xindy error: "
-msgstr "Ошибка Xindy: "
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:193
+msgid "S&ettings"
+msgstr "Настройки"
 
-#: src/LaTeXFonts.cpp:238 src/LaTeXFonts.cpp:316
-msgid "Font not available"
-msgstr "Шрифт не доступен"
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:208
+msgid "The scope to which the search horizon is restricted"
+msgstr "Диапазон, ограничивающий поиск"
 
-#: src/LaTeXFonts.cpp:239 src/LaTeXFonts.cpp:317
-#, c-format
-msgid ""
-"The LaTeX package `%1$s' needed for the font `%2$s'\n"
-"is not available on your system. LyX will fall back to the default font."
-msgstr ""
-"Пакет LaTeX `%1$s', необходимый для шрифта `%2$s'\n"
-"недоступен на вашей системе. LyX будет использовать шрифт по умолчанию."
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:214
+msgid "Scope"
+msgstr "Диапазон"
 
-#: src/LyX.cpp:148
-msgid "Could not read configuration file"
-msgstr "Не удаётся прочитать файл конфигурации"
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:226
+msgid "C&urrent document"
+msgstr "Текущий документ"
 
-#: src/LyX.cpp:149
-#, c-format
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:245
 msgid ""
-"Error while reading the configuration file\n"
-"%1$s.\n"
-"Please check your installation."
+"Current document and all related documents belonging to the same master "
+"document"
 msgstr ""
-"Ошибка чтения конфигурационного файла\n"
-"%1$s.\n"
-"Проверьте вашу установку."
-
-#: src/LyX.cpp:402
-msgid "The following files could not be loaded:"
-msgstr "Следующие файлы не загружаются:"
-
-#: src/LyX.cpp:443
-#, c-format
-msgid "%1$s does not appear like a LyX created temporary directory."
-msgstr "Невозможно создать временный каталог %1$s."
+"Текущий документ и все связанные документы, относящиеся к одному главному "
+"документу"
 
-#: src/LyX.cpp:445
-msgid "Cannot remove temporary directory"
-msgstr "Невозможно удалить временный каталог"
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:248
+msgid "&Master document"
+msgstr "&Главный документ"
 
-#: src/LyX.cpp:449
-#, c-format
-msgid "Unable to remove the temporary directory %1$s"
-msgstr "Невозможно удалить временный каталог %1$s"
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:258
+msgid "All open documents"
+msgstr "Все открытые документы"
 
-#: src/LyX.cpp:478
-#, c-format
-msgid "Wrong command line option `%1$s'. Exiting."
-msgstr "Неверный параметр командной строки `%1$s'. Выходим."
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:261
+msgid "&Open documents"
+msgstr "Открытые документы"
 
-#: src/LyX.cpp:496
-msgid "Missing filename for this operation."
-msgstr "Не указано имя файла для этой операции."
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:271
+msgid "&All manuals"
+msgstr "Все руководства"
 
-#: src/LyX.cpp:545
-#, c-format
-msgid "LyX failed to load the following file: %1$s"
-msgstr "LyX не смог загрузить файл: %1$s"
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:299
+msgid "Restrict search to math environments only"
+msgstr "Ограничить поиск только математическими окружениями"
 
-#: src/LyX.cpp:592
-msgid "No textclass is found"
-msgstr "Не найден класс документа"
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:302
+msgid "Search on&ly in maths"
+msgstr "Искать только в формулах"
 
-#: src/LyX.cpp:593
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:312
 msgid ""
-"LyX will only have minimal functionality because no textclasses have been "
-"found. You can either try to reconfigure LyX normally, try to reconfigure "
-"without checking your LaTeX installation, or continue."
+"If unchecked, the search will be limited to occurrences of the selected text "
+"and paragraph style"
 msgstr ""
-"LyX будет предоставлять только минимальную функциональность, потому что не "
-"найдены классы документа. Вы можете обновить конфигурацию LyX или продолжить."
-
-#: src/LyX.cpp:597
-msgid "&Reconfigure"
-msgstr "Обновить &конфигурацию"
-
-#: src/LyX.cpp:598
-msgid "&Without LaTeX"
-msgstr "Без LaTeX"
-
-#: src/LyX.cpp:599 src/VCBackend.cpp:969 src/VCBackend.cpp:973
-msgid "&Continue"
-msgstr "Продолжить"
+"Если флажок снят, поиск будет ограничен вхождениями выбранного стиля текста "
+"и абзаца"
 
-#: src/LyX.cpp:702
-msgid ""
-"SIGHUP signal caught!\n"
-"Bye."
-msgstr ""
-"Обнаружен сигнал SIGHUP!\n"
-"Пока."
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:315
+msgid "I&gnore format"
+msgstr "&Игнорировать форматирование"
 
-#: src/LyX.cpp:706
-msgid ""
-"SIGFPE signal caught!\n"
-"Bye."
-msgstr ""
-"Обнаружен сигнал SIGFPE!\n"
-"Пока."
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:328
+msgid "&Expand macros"
+msgstr "Развернуть макросы"
 
-#: src/LyX.cpp:709
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:335
 msgid ""
-"SIGSEGV signal caught!\n"
-"Sorry, you have found a bug in LyX, hope you have not lost any data.\n"
-"Please read the bug-reporting instructions in 'Help->Introduction' and send "
-"us a bug report, if necessary. Thanks!\n"
-"Bye."
+"Keep the case of the replacement's first letter as in each matching text "
+"first letter"
 msgstr ""
-"Обнаружен сигнал SIGSEGV!\n"
-"Извините, вы нашли ошибку в LyX, надеемся, вы не потеряли никаких данных.\n"
-"Пожалуйста, ознакомьтесь с инструкциями по сообщению об ошибках в меню "
-"'Помощь->Введение' и при необходимости отправьте нам сообщение об ошибке. "
-"Спасибо!\n"
-"Пока."
-
-#: src/LyX.cpp:725
-msgid "LyX crashed!"
-msgstr "Сбой LyX!"
+"Сохранять регистр первой буквы замены, как в каждой соответствующей первой "
+"букве текста"
 
-#: src/LyX.cpp:759
-msgid "LyX: "
-msgstr "LyX: "
+#: src/frontends/qt/ui/FindAndReplaceUi.ui:338
+msgid "&Preserve first case on replace"
+msgstr "Сохранять регистр первой буквы при замене"
 
-#: src/LyX.cpp:1027
-msgid "Could not create temporary directory"
-msgstr "Невозможно создать временный каталог"
+#: src/frontends/qt/ui/FloatPlacementUi.ui:14
+#: src/frontends/qt/ui/OutputUi.ui:14 src/frontends/qt/ui/PDFSupportUi.ui:14
+msgid "Form"
+msgstr "Форма"
 
-#: src/LyX.cpp:1028
-#, c-format
-msgid ""
-"Could not create a temporary directory in\n"
-"\"%1$s\"\n"
-"Make sure that this path exists and is writable and try again."
-msgstr ""
-"Невозможно создать временный каталог в\n"
-"\"%1$s\"\n"
-" Проверьте, что этот путь существует,\n"
-"доступен для записи и попробуйте ещё раз."
+#: src/frontends/qt/ui/FloatPlacementUi.ui:22
+msgid "Float T&ype:"
+msgstr "Тип плавающего объекта:"
 
-#: src/LyX.cpp:1092
-msgid "Missing user LyX directory"
-msgstr "Отсутствует каталог пользователя LyX"
+#: src/frontends/qt/ui/FloatPlacementUi.ui:70
+msgid "Alignment of Contents"
+msgstr "Выравнивание содержимого"
 
-#: src/LyX.cpp:1093
-#, c-format
+#: src/frontends/qt/ui/FloatPlacementUi.ui:94
 msgid ""
-"You have specified a non-existent user LyX directory, %1$s.\n"
-"It is needed to keep your own configuration."
+"Use the document's default alignment for floats, as specified in Document "
+"Settings."
 msgstr ""
-"Вы указали несуществующий каталог LyX, %1$s.\n"
-"Он необходим для хранения ваших настроек."
+"Использовать выравнивание для плавающих объектов по умолчанию для документа, "
+"как указано в Настройках документа."
 
-#: src/LyX.cpp:1098
-msgid "&Create directory"
-msgstr "Создать каталог"
+#: src/frontends/qt/ui/FloatPlacementUi.ui:97
+msgid "D&ocument Default"
+msgstr "Умолчание для документа"
 
-#: src/LyX.cpp:1099
-msgid "&Exit LyX"
-msgstr "Выйти из LyX'а"
+#: src/frontends/qt/ui/FloatPlacementUi.ui:104
+msgid "Left-align float contents"
+msgstr "Выровнять содержимое по левому краю"
 
-#: src/LyX.cpp:1100
-msgid "No user LyX directory. Exiting."
-msgstr "Нет каталога пользователя LyX. Завершение работы."
+#: src/frontends/qt/ui/FloatPlacementUi.ui:107
+#: src/frontends/qt/ui/ParagraphUi.ui:117
+msgid "&Left"
+msgstr "С&лева"
 
-#: src/LyX.cpp:1104
-#, c-format
-msgid "LyX: Creating directory %1$s"
-msgstr "LyX: Создаётся каталог  %1$s"
+#: src/frontends/qt/ui/FloatPlacementUi.ui:114
+msgid "Center float contents"
+msgstr "Выровнять содержимое по центру"
 
-#: src/LyX.cpp:1109
-msgid "Failed to create directory. Exiting."
-msgstr "Ошибка при создании каталога. Завершение работы."
+#: src/frontends/qt/ui/FloatPlacementUi.ui:117
+#: src/frontends/qt/ui/ParagraphUi.ui:124 src/frontends/qt/ui/TabularUi.ui:1560
+msgid "&Center"
+msgstr "По центру"
 
-#: src/LyX.cpp:1182
-msgid "List of supported debug flags:"
-msgstr "Список поддерживаемых флагов отладки:"
+#: src/frontends/qt/ui/FloatPlacementUi.ui:124
+msgid "Right-align float contents"
+msgstr "Выровнять содержимое по правому краю"
 
-#: src/LyX.cpp:1186
-#, c-format
-msgid "Setting debug level to %1$s"
-msgstr "Установить уровень отладки на %1$s"
+#: src/frontends/qt/ui/FloatPlacementUi.ui:127
+msgid "&Right"
+msgstr "Справа"
 
-#: src/LyX.cpp:1197
-msgid ""
-"Usage: lyx [ command line switches ] [ name.lyx ... ]\n"
-"Command line switches (case sensitive):\n"
-"\t-help              summarize LyX usage\n"
-"\t-userdir dir       set user directory to dir\n"
-"\t-sysdir dir        set system directory to dir\n"
-"\t-geometry WxH+X+Y  set geometry of the main window\n"
-"\t-dbg feature[,feature]...\n"
-"                  select the features to debug.\n"
-"                  Type `lyx -dbg' to see the list of features\n"
-"\t-x [--execute] command\n"
-"                  where command is a lyx command.\n"
-"\t-e [--export] fmt\n"
-"                  where fmt is the export format of choice. Look in\n"
-"                  Tools->Preferences->File Handling->File Formats->Short "
-"Name\n"
-"                  to see which parameter (which differs from the format "
-"name\n"
-"                  in the File->Export menu) should be passed. To export to\n"
-"                  the document's default output format, use 'default'.\n"
-"                  Note that the order of -e and -x switches matters.\n"
-"\t-E [--export-to] fmt filename\n"
-"                  where fmt is the export format of choice (see --export),\n"
-"                  and filename is the destination filename.\n"
-"\t-i [--import] fmt file.xxx\n"
-"                  where fmt is the import format of choice\n"
-"                  and file.xxx is the file to be imported.\n"
-"\t-f [--force-overwrite] what\n"
-"                  where what is either `all', `main' or `none',\n"
-"                  specifying whether all files, main file only, or no "
-"files,\n"
-"                  respectively, are to be overwritten during a batch "
-"export.\n"
-"                  Anything else is equivalent to `all', but is not "
-"consumed.\n"
-"\t--ignore-error-message which\n"
-"                  allows you to ignore specific LaTeX error messages.\n"
-"                  Do not use for final documents! Currently supported "
-"values:\n"
-"                  * missing_glyphs: Fontspec `missing glyphs' error.\n"
-"\t-n [--no-remote]\n"
-"                  open documents in a new instance\n"
-"\t-r [--remote]\n"
-"                  open documents in an already running instance\n"
-"                  (a working lyxpipe is needed)\n"
-"\t-v [--verbose]\n"
-"                  report on terminal about spawned commands.\n"
-"\t-batch    execute commands without launching GUI and exit.\n"
-"\t-version  summarize version and build info\n"
-"Check the LyX man page for more details."
+#: src/frontends/qt/ui/FloatPlacementUi.ui:134
+msgid "Use the class' default alignment for floats, whatever it is."
 msgstr ""
-"Использование: lyx [ ключи командной строки ] [ имя_файла.lyx ... ]\n"
-"Ключи командной строки (будьте внимательны к регистру букв):\n"
-"\t-help              данная подсказка\n"
-"\t-userdir dir       установить каталог пользователя в dir\n"
-"\t-sysdir dir        установить системный каталог в dir\n"
-"\t-geometry WxH+X+Y  установить размер и положение главного окна при "
-"запуске\n"
-"\t-dbg feature[,feature]...\n"
-"                  выбор режимов отладки\n"
-"                  Запустите `lyx -dbg' чтобы увидеть список режимов\n"
-"\t-x [--execute] команда\n"
-"                  выполнить указанную команду lyx.\n"
-"\t-e [--export] формат\n"
-"                  экспортировать документ в указанный формат.\n"
-"\t-E [--export-to] формат имя_файла\n"
-"                  экспортировать документ в файл с заданным именем \n"
-"                  в указанный формат.\n"
-"\t-i [--import] формат имя_файла\n"
-"                  импортировать заданный файл в указанном формате.\n"
-"\t-f [--force-overwrite] что_перезаписать\n"
-"                  указать перезаписываются ли файлы при экспорте,\n"
-"                  используются значения `all' (все), `main' (только "
-"главный)\n"
-"                  или `none' (не перезаписывать).\n"
-"\t--ignore-error-message сообщение\n"
-"                  позволяет игнорировать указанное сообщение об ошибке "
-"LaTeX.\n"
-"                  Возможные значения:\n"
-"                  * missing_glyphs: Fontspec `missing glyphs' error.\n"
-"\t-n [--no-remote]\n"
-"                  открыть документы в новом экземпляре программы.\n"
-"\t-r [--remote]\n"
-"                  открыть документы в запущенном экземпляре программы\n"
-"                  (необходим рабочий lyxpipe).\n"
-"\t-v [--verbose]\n"
-"                  выводить на терминал выполняемые команды.\n"
-"\t-batch    выполнить команды без запуска графического интерфейса и выйти.\n"
-"\t-version  сведения о версии и сборке.\n"
-"Более подробное описание можно найти в документации (man page)."
-
-#: src/LyX.cpp:1250 src/frontends/qt/GuiAbout.cpp:213
-msgid "  Git commit hash "
-msgstr "  Хэш коммита Git "
-
-#: src/LyX.cpp:1261 src/support/Package.cpp:647
-msgid "No system directory"
-msgstr "Нет системного каталога"
-
-#: src/LyX.cpp:1262
-msgid "Missing directory for -sysdir switch"
-msgstr "Отсутствует каталог для ключа -sysdir"
-
-#: src/LyX.cpp:1273
-msgid "No user directory"
-msgstr "Нет пользовательского каталога"
-
-#: src/LyX.cpp:1274
-msgid "Missing directory for -userdir switch"
-msgstr "Отсутствует каталог для ключа -userdir"
-
-#: src/LyX.cpp:1285
-msgid "Incomplete command"
-msgstr "Незавершённая команда"
-
-#: src/LyX.cpp:1286
-msgid "Missing command string after --execute switch"
-msgstr "Отсутствует команда после ключа --execute"
+"Использовать выравнивание для плавающих объектов по умолчанию для класса, "
+"каким бы оно ни было."
 
-#: src/LyX.cpp:1297
-msgid "Missing file type [eg latex, ps...] after --export-to switch"
-msgstr ""
-"Отсутствует тип файла [например, latex, ps, ...] после ключа --export-to"
+#: src/frontends/qt/ui/FloatPlacementUi.ui:137
+msgid "Class &Default"
+msgstr "По умолчанию для класса"
 
-#: src/LyX.cpp:1302
-msgid "Missing destination filename after --export-to switch"
-msgstr "Отсутствует имя файла после ключа --export-to"
+#: src/frontends/qt/ui/FloatPlacementUi.ui:147
+msgid "Further Options"
+msgstr "Другие параметры"
 
-#: src/LyX.cpp:1315
-msgid "Missing file type [eg latex, ps...] after --export switch"
-msgstr "Отсутствует тип файла [например, latex, ps, ...] после ключа --export"
+#: src/frontends/qt/ui/FloatPlacementUi.ui:156
+msgid "&Span columns"
+msgstr "&Занимать все столбцы"
 
-#: src/LyX.cpp:1328
-msgid "Missing file type [eg latex, ps...] after --import switch"
-msgstr "Отсутствует тип файла [например, latex, ps, ...] после ключа --import"
+#: src/frontends/qt/ui/FloatPlacementUi.ui:163
+msgid "Rotate side&ways"
+msgstr "Пов&ернуть набок"
 
-#: src/LyX.cpp:1333
-msgid "Missing filename for --import"
-msgstr "Не указано имя файла для --import"
+#: src/frontends/qt/ui/FloatPlacementUi.ui:173
+msgid "Position on Page"
+msgstr "Размещение на странице"
 
-#: src/LyXRC.cpp:2986
-msgid ""
-"Consider run-together words, such as \"diskdrive\" for \"disk drive\", as "
-"legal words?"
-msgstr ""
-"Считать слитно написанные слова, например \"diskdrive\" вместо \"disk drive"
-"\", допустимыми?"
+#: src/frontends/qt/ui/FloatPlacementUi.ui:184
+msgid "Place&ment Settings:"
+msgstr "Настройки размещения:"
 
-#: src/LyXRC.cpp:2990
-msgid ""
-"Specify an alternate language. The default is to use the language of the "
-"document."
-msgstr "Укажите дополнительный язык. По умолчанию используется язык документа."
+#: src/frontends/qt/ui/FloatPlacementUi.ui:199
+msgid "&Top of page"
+msgstr "&Верх страницы"
 
-#: src/LyXRC.cpp:2998
-msgid ""
-"De-select if you don't want the current selection to be replaced "
-"automatically by what you type."
-msgstr ""
-"Снимите отметку, если вы не хотите, чтобы выделенный текст автоматически "
-"замещался тем, что вы печатаете."
+#: src/frontends/qt/ui/FloatPlacementUi.ui:206
+msgid "&Bottom of page"
+msgstr "&Низ страницы"
 
-#: src/LyXRC.cpp:3002
-msgid ""
-"De-select if you don't want the class options to be reset to defaults after "
-"class change."
-msgstr ""
-"Снимите отметку, если не хотите, чтобы параметры класса устанавливались по "
-"умолчанию после изменения класса."
+#: src/frontends/qt/ui/FloatPlacementUi.ui:213
+msgid "&Page of floats"
+msgstr "&Страница плавающих объектов"
 
-#: src/LyXRC.cpp:3006
-msgid ""
-"The time interval between auto-saves (in seconds). 0 means no auto-save."
-msgstr ""
-"Промежуток времени между автосохранениями (в секундах). 0 означает не "
-"выполнять автосохранение."
+#: src/frontends/qt/ui/FloatPlacementUi.ui:220
+msgid "&Here if possible"
+msgstr "&Здесь, если возможно"
 
-#: src/LyXRC.cpp:3013
-msgid ""
-"The path for storing backup files. If it is an empty string, LyX will store "
-"the backup file in the same directory as the original file."
-msgstr ""
-"Здесь указывается путь для расположения резервных файлов. Если указана "
-"пустая строка, LyX будет создавать резервный файл в том каталоге, где "
-"находится редактируемый файл."
+#: src/frontends/qt/ui/FloatPlacementUi.ui:227
+msgid "Here de&finitely"
+msgstr "Именно &здесь"
 
-#: src/LyXRC.cpp:3017
-msgid ""
-"Define the options of bibtex (cf. man bibtex) or select an alternative "
-"compiler (e.g. mlbibtex or bibulus)."
-msgstr ""
-"Определите параметры bibtex (см. man bibtex) или укажите альтернативный "
-"компилятор (напр. mlbibtex или bibulus)."
+#: src/frontends/qt/ui/FloatPlacementUi.ui:234
+msgid "&Ignore LaTeX rules"
+msgstr "&Игнорировать правила LaTeX"
 
-#: src/LyXRC.cpp:3021
-msgid "Define the options of the bibtex program for PLaTeX (Japanese LaTeX)."
-msgstr "Определите параметры bibtex для PLaTeX (LaTeX для японского)."
+#: src/frontends/qt/ui/FontUi.ui:14
+msgid "FontUi"
+msgstr "FontUi"
 
-#: src/LyXRC.cpp:3025
-msgid ""
-"Keybindings file. Can either specify an absolute path, or LyX will look in "
-"its global and local bind/ directories."
-msgstr ""
-"Файл с привязками клавиш. Можно указать полный путь, или же LyX будет искать "
-"файл в каталогах bind/ глобальных и локальных настроек."
+#: src/frontends/qt/ui/FontUi.ui:35
+msgid "&Default family:"
+msgstr "Гарнитура &по умолчанию:"
 
-#: src/LyXRC.cpp:3029
-msgid "Select to check whether the lastfiles still exist."
-msgstr ""
-"Отметьте, чтобы осуществлялась проверка существования файлов в списке "
-"недавно открывавшихся."
+#: src/frontends/qt/ui/FontUi.ui:47
+msgid "Select the default family for the document"
+msgstr "Выберите гарнитуру шрифта по умолчанию для документа"
 
-#: src/LyXRC.cpp:3033
-msgid ""
-"Define how to run chktex. E.g. \"chktex -n11 -n1 -n3 -n6 -n9 -22 -n25 -n30 -"
-"n38\" Refer to the ChkTeX documentation."
-msgstr ""
-"Определяет как запускать chktex. Например, \"chktex -n11 -n1 -n3 -n6 -n9 -22 "
-"-n25 -n30 -n38\" Обращайтесь к документации по ChkTeX."
+#: src/frontends/qt/ui/FontUi.ui:54
+msgid "&Base size:"
+msgstr "&Основной размер:"
 
-#: src/LyXRC.cpp:3040
-msgid ""
-"Forbid use of external converters with 'needauth' option to prevent "
-"undesired effects."
-msgstr ""
-"Запретить использование внешних конвертеров с опцией 'needauth' для "
-"предотвращения нежелательных эффектов."
+#: src/frontends/qt/ui/FontUi.ui:86
+msgid "&LaTeX font encoding:"
+msgstr "Кодировка шрифта LaTe&X:"
 
-#: src/LyXRC.cpp:3044
-msgid ""
-"Ask user before calling external converters with 'needauth' option to "
-"prevent undesired effects."
-msgstr ""
-"Спрашивать пользователя перед вызовом внешних конвертеров с опцией "
-"'needauth', чтобы предотвратить нежелательные эффекты."
+#: src/frontends/qt/ui/FontUi.ui:101
+msgid "Specify the font encoding (e.g., T1)."
+msgstr "Укажите кодировку шрифта (например, T1)."
 
-#: src/LyXRC.cpp:3051
-msgid ""
-"LyX normally doesn't update the cursor position if you move the scrollbar. "
-"Set to true if you'd prefer to always have the cursor on screen."
-msgstr ""
-"Обычно в LyX'е при перемещении по тексту с помощью полосы прокрутки позиция "
-"курсора не обновляется. Отметьте этот пункт, если вы предпочитаете всегда "
-"видеть курсор на экране."
+#: src/frontends/qt/ui/FontUi.ui:110
+msgid "&Roman:"
+msgstr "&С засечками:"
 
-#: src/LyXRC.cpp:3059
+#: src/frontends/qt/ui/FontUi.ui:122
 msgid ""
-"LyX normally doesn't allow the user to scroll further than the bottom of the "
-"document. Set to true if you prefer to scroll the bottom of the document to "
-"the top of the screen"
-msgstr ""
-"Обычно LyX не позволяет пользователю прокручивать ниже конца документа. "
-"Отметьте этот пункт, если вы предпочитаете прокручивать конец документа до "
-"верха экрана"
-
-#: src/LyXRC.cpp:3063
-msgid "Make Apple key act as Meta and Control key as Ctrl."
+"Select the roman (serif) typeface. To filter the list of fonts, just start "
+"typing while the list is expanded."
 msgstr ""
-"Настроить клавишу Apple действовать как Мета, а клавишу Control как Ctrl."
+"Выберите шрифт с засечками. Чтобы отфильтровать список шрифтов, просто "
+"начните набирать при развёрнутом списке."
 
-#: src/LyXRC.cpp:3067
-msgid "Use the Mac OS X conventions for cursor movement"
-msgstr "Использовать обычный для macOS способ перемещения курсора"
+#: src/frontends/qt/ui/FontUi.ui:142
+msgid "Use a real small caps shape, if the font provides one"
+msgstr "Использовать настоящую капитель при наличии в шрифте"
 
-#: src/LyXRC.cpp:3071
-msgid ""
-"Show a small box around a Math Macro with the macro name when the cursor is "
-"inside."
-msgstr ""
-"Показывать маленькую рамку с именем вокруг матем. макросов, когда курсор "
-"внутри."
+#: src/frontends/qt/ui/FontUi.ui:145
+msgid "Use true s&mall caps"
+msgstr "Использовать настоящую капитель"
 
-#: src/LyXRC.cpp:3075
-msgid ""
-"Command definition file. Can either specify an absolute path, or LyX will "
-"look in its global and local commands/ directories."
-msgstr ""
-"Файл определений команд. Можно указать как абсолютный путь, так и "
-"относительный, тогда LyX будет искать в глобальном и локальном каталоге "
-"commands/."
+#: src/frontends/qt/ui/FontUi.ui:156 src/frontends/qt/ui/FontUi.ui:264
+#: src/frontends/qt/ui/FontUi.ui:372
+msgid "Use old style instead of lining figures"
+msgstr "Использовать \"строчные\" цифры старого стиля (минускульные)"
 
-#: src/LyXRC.cpp:3079
-msgid ""
-"The default format used with LFUN_BUFFER_[VIEW|UPDATE] with non-TeX fonts."
-msgstr ""
-"Формат по умолчанию, используемый с LFUN_BUFFER_[VIEW|UPDATE] с системными "
-"шрифтами."
+#: src/frontends/qt/ui/FontUi.ui:159
+msgid "Use &old style figures"
+msgstr "Использовать цифры &старого стиля"
 
-#: src/LyXRC.cpp:3083
-msgid "The default format used with LFUN_BUFFER_[VIEW|UPDATE]."
-msgstr "Формат по умолчанию, используемый с LFUN_BUFFER_[VIEW|UPDATE]."
+#: src/frontends/qt/ui/FontUi.ui:184 src/frontends/qt/ui/FontUi.ui:292
+#: src/frontends/qt/ui/FontUi.ui:400 src/frontends/qt/ui/PrefLatexUi.ui:133
+msgid "Options:"
+msgstr "Параметры:"
 
-#: src/LyXRC.cpp:3087
+#: src/frontends/qt/ui/FontUi.ui:194 src/frontends/qt/ui/FontUi.ui:302
+#: src/frontends/qt/ui/FontUi.ui:410
 msgid ""
-"Iconify the dialogs when the main window is iconified. (Affects only dialogs "
-"shown after the change has been made.)"
+"Here you can insert additional options (as provided by the font package)"
 msgstr ""
-"Сворачивать ли диалоги при сворачивании главного окна программы. "
-"(Подействует только на вновь открываемые диалоги.)"
+"Здесь вы можете указать дополнительные параметры (предоставляемые пакетом "
+"шрифта)"
 
-#: src/LyXRC.cpp:3091
-msgid "Select how LyX will display any graphics."
-msgstr "Укажите как LyX будет отображать любую графику в документе."
+#: src/frontends/qt/ui/FontUi.ui:205
+msgid "&Sans Serif:"
+msgstr "&Без засечек:"
 
-#: src/LyXRC.cpp:3095
+#: src/frontends/qt/ui/FontUi.ui:217
 msgid ""
-"The default path for your documents. An empty value selects the directory "
-"LyX was started from."
+"Select the Sans Serif (grotesque) typeface. To filter the list of fonts, "
+"just start typing while the list is expanded."
 msgstr ""
-"Путь по умолчанию для ваших документов. Пустое значение выбирает каталог, из "
-"которого был запущен LyX."
+"Выберите шрифт без засечек. Чтобы отфильтровать список шрифтов, просто "
+"начните набирать при развёрнутом списке."
 
-#: src/LyXRC.cpp:3099
-msgid "Specify additional chars that can be part of a word."
-msgstr "Укажите дополнительные символы, которые могут быть частью слова."
+#: src/frontends/qt/ui/FontUi.ui:237
+msgid "S&cale (%):"
+msgstr "Масштаб (%):"
 
-#: src/LyXRC.cpp:3103
-msgid ""
-"The path that LyX will set when offering to choose an example. An empty "
-"value selects the directory LyX was started from."
+#: src/frontends/qt/ui/FontUi.ui:247
+msgid "Scale the Sans Serif font to match the base font's dimensions"
 msgstr ""
-"Путь, по которому LyX будет переходить при необходимости выбрать шаблон. "
-"Пустое значение означает, что будет выбран каталог, из которого LyX был "
-"запущен."
+"Отмасштабируйте шрифт без засечек для соответствия размеру основного шрифта"
 
-#: src/LyXRC.cpp:3110
-msgid ""
-"Define the options of makeindex (cf. man makeindex) or select an alternative "
-"compiler. E.g., using xindy/make-rules, the command string would be "
-"\"makeindex.sh -m $$lang\"."
-msgstr ""
-"Определите параметры для makeindex (см. man makeindex) или укажите "
-"альтернативный компилятор. Напр. для xindy/make-rules, команда будет "
-"\"makeindex.sh -m $$lang\"."
+#: src/frontends/qt/ui/FontUi.ui:267
+msgid "Use old st&yle figures"
+msgstr "Использовать цифры &старого стиля"
 
-#: src/LyXRC.cpp:3114
-msgid "Define the options of the index program for PLaTeX (Japanese LaTeX)."
-msgstr "Определите параметры команды index для PLaTeX (LaTeX для японского)."
+#: src/frontends/qt/ui/FontUi.ui:313
+msgid "&Typewriter:"
+msgstr "&Машинописный:"
 
-#: src/LyXRC.cpp:3118
+#: src/frontends/qt/ui/FontUi.ui:325
 msgid ""
-"Define the options of makeindex (cf. man makeindex) to be used for "
-"nomenclatures. This might differ from the index processing options."
+"Select the typewriter (monospaced) typeface. To filter the list of fonts, "
+"just start typing while the list is expanded."
 msgstr ""
-"Определите параметры для makeindex (см. man makeindex) для использования в "
-"условных обозначениях. Они могут отличаться от параметров обработки "
-"предметного указателя."
-
-#: src/LyXRC.cpp:3122
-msgid "The command to run the python pygments syntax highlighter."
-msgstr "Команда для выполнения Pygments."
+"Выберите машинописный шрифт. Чтобы отфильтровать список шрифтов, просто "
+"начните набирать при развёрнутом списке."
 
-#: src/LyXRC.cpp:3131
-msgid ""
-"Use this to set the correct mapping file for your keyboard. You'll need this "
-"if you for instance want to type German documents on an American keyboard."
-msgstr ""
-"Используйте это для установки корректной раскладки для вашей клавиатуры. Вам "
-"потребуется эта возможность, если вы, например, захотите набирать документы "
-"на немецком языке на американской клавиатуре."
+#: src/frontends/qt/ui/FontUi.ui:345
+msgid "Sc&ale (%):"
+msgstr "Масштаб (%):"
 
-#: src/LyXRC.cpp:3135
-msgid ""
-"Select if a language switching command is needed at the beginning of the "
-"document."
+#: src/frontends/qt/ui/FontUi.ui:355
+msgid "Scale the Typewriter font to match the base font's dimensions"
 msgstr ""
-"Отметьте, если в начале документа требуется команда переключения языка."
-
-#: src/LyXRC.cpp:3139
-msgid ""
-"Select if a language switching command is needed at the end of the document."
-msgstr "Отметьте, если в конце документа требуется команда переключения языка."
+"Отмасштабируйте машинописный шрифт для соответствия размеру основного шрифта"
 
-#: src/LyXRC.cpp:3143
-msgid ""
-"The LaTeX command for changing from the language of the document to another "
-"language. E.g. \\selectlanguage{$$lang} where $$lang is substituted by the "
-"name of the second language."
-msgstr ""
-"Команда LaTeX для переключения от языка документа к другому языку. Например "
-"\\selectlanguage{$$lang}, где $$lang заменяется названием другого языка."
+#: src/frontends/qt/ui/FontUi.ui:375
+msgid "Use old style &figures"
+msgstr "Использовать цифры &старого стиля"
 
-#: src/LyXRC.cpp:3147
-msgid "The LaTeX command for changing back to the language of the document."
-msgstr "Команда LaTeX для возвращения обратно к языку документа."
+#: src/frontends/qt/ui/FontUi.ui:421
+msgid "&Math:"
+msgstr "&Математический:"
 
-#: src/LyXRC.cpp:3151
-msgid "The LaTeX command for local changing of the language."
-msgstr "Команда LaTeX для локального изменения языка."
+#: src/frontends/qt/ui/FontUi.ui:431
+msgid "Select the math typeface"
+msgstr "Выберите шрифт для формул"
 
-#: src/LyXRC.cpp:3155
-msgid ""
-"De-select if you don't want the language(s) used as an argument to "
-"\\documentclass."
-msgstr ""
-"Снимите отметку, чтобы язык(и) не использовался как аргумент в "
-"\\documentclass."
+#: src/frontends/qt/ui/FontUi.ui:438
+msgid "C&JK:"
+msgstr "КК&Я:"
 
-#: src/LyXRC.cpp:3159
-msgid ""
-"The LaTeX command for loading the language package. E.g. "
-"\"\\usepackage{babel}\", \"\\usepackage{omega}\"."
+#: src/frontends/qt/ui/FontUi.ui:448
+msgid "Input the font to be used for Chinese, Japanese or Korean (CJK) script"
 msgstr ""
-"Команда LaTeX для загрузки языкового пакета. Например "
-"\"\\usepackage{babel}\", \"\\usepackage{omega}\"."
+"Введите шрифт, который будет использоваться для китайского, корейского или "
+"японского (ККЯ) языка"
 
-#: src/LyXRC.cpp:3163
+#: src/frontends/qt/ui/FontUi.ui:457
 msgid ""
-"De-select if you don't want babel to be used when the language of the "
-"document is the default language."
-msgstr ""
-"Снимите отметку, если не хотите, чтобы babel использовался, когда язык "
-"документа совпадает с языком по умолчанию."
-
-#: src/LyXRC.cpp:3167
-msgid "De-select if you do not want LyX to scroll to saved position."
-msgstr "Снимите отметку, чтобы LyX не прокручивал к сохранённой позиции."
-
-#: src/LyXRC.cpp:3171
-msgid "De-select to prevent loading files opened from the last LyX session."
+"Activate extensions such as character protrusion and font expansion via the "
+"microtype package"
 msgstr ""
-"Снимите отметку, чтобы не загружать файлы, открытые в последней сессии LyX."
+"Активировать приёмы микротипографики, такие как висячие символы и растяжка "
+"шрифта, используя пакет microtype"
 
-#: src/LyXRC.cpp:3175
-msgid "De-select if you don't want LyX to create backup files."
-msgstr "Снимите отметку, чтобы LyX не создавал резервные файлы."
+#: src/frontends/qt/ui/FontUi.ui:460
+msgid "Enable micr&o-typographic extensions"
+msgstr "Использовать микротипографику"
 
-#: src/LyXRC.cpp:3179
+#: src/frontends/qt/ui/FontUi.ui:467
 msgid ""
-"Select to control the highlighting of words with a language foreign to that "
-"of the document."
-msgstr ""
-"Отметьте для включения подчёркивания слов, написанных в языке, отличном от "
-"языка документа."
-
-#: src/LyXRC.cpp:3187
-msgid "The scrolling speed of the mouse wheel."
-msgstr "Скорость прокрутки колёсика мышки."
-
-#: src/LyXRC.cpp:3191
-msgid "The completion popup delay."
-msgstr "Задержка всплывающих дополнений."
-
-#: src/LyXRC.cpp:3195
-msgid "Select to display the completion popup in math mode."
+"Use OpenType and TrueType fonts with the fontspec package (requires XeTeX or "
+"LuaTeX)"
 msgstr ""
-"Выберите для показа всплывающего окна дополнения в математическом режиме."
-
-#: src/LyXRC.cpp:3199
-msgid "Select to display the completion popup in text mode."
-msgstr "Выберите для показа всплывающего окна дополнения в текстовом режиме."
+"Использовать шрифты OpenType и TrueType с пакетом fontspec (требуется XeTeX "
+"или LuaTeX)"
 
-#: src/LyXRC.cpp:3203
-msgid ""
-"Show the completion popup without delay after non-unique completion attempt."
-msgstr ""
-"Показывать всплывающее окно дополнения без задержки после попытки "
-"неединственного дополнения."
+#: src/frontends/qt/ui/FontUi.ui:470
+msgid "&Use non-TeX fonts (via XeTeX/LuaTeX)"
+msgstr "Использовать системные шрифты (при помощи XeTeX/LuaTeX)"
 
-#: src/LyXRC.cpp:3207
+#: src/frontends/qt/ui/FontUi.ui:477
 msgid ""
-"Show a small triangle on the cursor to indicate that a completion is "
-"available."
+"By default, a line break can occur after en- and em-dashes. Checking this "
+"box prevents that."
 msgstr ""
-"Показывать маленький треугольник возле курсора, если доступно дополнение."
-
-#: src/LyXRC.cpp:3211
-msgid "The inline completion delay."
-msgstr "Задержка дополнения в строке."
-
-#: src/LyXRC.cpp:3215
-msgid "Select to display the inline completion in math mode."
-msgstr "Выберите для показа встроенного дополнения в математическом режиме."
-
-#: src/LyXRC.cpp:3219
-msgid "Select to display the inline completion in text mode."
-msgstr "Выберите для показа встроенного дополнения в текстовом режиме."
-
-#: src/LyXRC.cpp:3223
-msgid "Use \"...\" to shorten long completions."
-msgstr "Использовать \"...\" чтобы укоротить длинные дополнения."
+"По умолчанию разрыв строки может произойти после короткого и длинного тире. "
+"Отметьте этот флажок, чтобы запретить это."
 
-#: src/LyXRC.cpp:3227
-msgid "Allow TeXMacs shorthand, like => converting to \\Rightarrow."
-msgstr ""
-"Разрешить сокращения TeXMacs, например => преобразуется в \\Rightarrow."
+#: src/frontends/qt/ui/FontUi.ui:480
+msgid "Disallow l&ine breaks after dashes"
+msgstr "Запретить разрывы строк после тире"
 
-#: src/LyXRC.cpp:3231
-#, c-format
-msgid "Maximal number of lastfiles. Up to %1$d can appear in the file menu."
-msgstr ""
-"Максимальное количество недавних файлов (%1$d), которые будут показываться в "
-"меню Файл."
+#: src/frontends/qt/ui/GraphicsUi.ui:51
+msgid "&Graphics"
+msgstr "&Изображение"
 
-#: src/LyXRC.cpp:3236
-msgid ""
-"Specify those directories which should be prepended to the PATH environment "
-"variable.\n"
-"Use the OS native format."
-msgstr ""
-"Эти каталоги будут использованы до обработки переменной среды PATH. "
-"Указывайте их в том виде, как принято в вашей операционной системе."
+#: src/frontends/qt/ui/GraphicsUi.ui:72
+msgid "Select an image file"
+msgstr "Выбрать файл изображения"
 
-#: src/LyXRC.cpp:3242
-msgid "Shows a typeset preview of things such as math"
-msgstr "Показывать формулы так, как они будут выглядеть при печати"
+#: src/frontends/qt/ui/GraphicsUi.ui:82
+msgid "Output Size"
+msgstr "Выходной размер"
 
-#: src/LyXRC.cpp:3246
-msgid "Previewed equations will have \"(#)\" labels rather than numbered ones"
+#: src/frontends/qt/ui/GraphicsUi.ui:163
+msgid "Sets height of graphic. Leave unchecked to set automatically."
 msgstr ""
-"У предварительно показываемых формул будут метки \"(#)\" вместо номеров"
-
-#: src/LyXRC.cpp:3250
-msgid "Scale the preview size to suit."
-msgstr "Изменить размер предварительного показа до подходящего."
-
-#: src/LyXRC.cpp:3254
-msgid "The option to print out in landscape."
-msgstr "Параметр для печати в альбомной ориентации."
-
-#: src/LyXRC.cpp:3258
-msgid "Option to specify the dimensions of the print paper."
-msgstr "Параметр для задания размеров бумаги."
-
-#: src/LyXRC.cpp:3262
-msgid "The option to specify paper type."
-msgstr "Параметр, указывающий формат бумаги."
+"Устанавливает высоту изображения. Оставьте пустым для автоматической "
+"установки."
 
-#: src/LyXRC.cpp:3266
-msgid ""
-"Select to have visual bidi cursor movement, unselect for logical movement."
-msgstr ""
-"Отметьте для визуального перемещения курсора, уберите отметку для "
-"логического перемещения."
+#: src/frontends/qt/ui/GraphicsUi.ui:173
+msgid "&Scale graphics (%):"
+msgstr "&Масштаб изображения (%):"
 
-#: src/LyXRC.cpp:3270
-msgid ""
-"Specify whether, closing the last view of an open document, LyX should close "
-"the document (yes), hide it (no), or ask the user (ask)."
+#: src/frontends/qt/ui/GraphicsUi.ui:183
+msgid "Sets width of graphic. Leave unchecked to set automatically."
 msgstr ""
-"Укажите, следует ли, закрыв последний вид открытого документа, закрыть "
-"документ (да), скрыть его (нет) или спросить пользователя (спросить)."
+"Устанавливает ширину изображения. Оставьте пустым для автоматической "
+"установки."
 
-#: src/LyXRC.cpp:3274
-msgid ""
-"DPI (dots per inch) of your monitor is auto-detected by LyX. If that goes "
-"wrong, override the setting here."
+#: src/frontends/qt/ui/GraphicsUi.ui:196
+msgid "Scale image to maximum size not exceeding width and height"
 msgstr ""
-"DPI (количество точек на дюйм) вашего монитора определяется LyX "
-"автоматически. Если LyX сделал это неправильно, вы можете указать здесь "
-"правильное значение."
+"Масштабировать изображение до максимального размера, не превышающего ширину "
+"и высоту"
 
-#: src/LyXRC.cpp:3280
-msgid "The screen fonts used to display the text while editing."
-msgstr "Экранные шрифты, используемые для показа текста при редактировании."
+#: src/frontends/qt/ui/GraphicsUi.ui:209
+msgid "Rotate Graphics"
+msgstr "Поворот изображения"
 
-#: src/LyXRC.cpp:3289
-msgid ""
-"Allow bitmap fonts to be resized. If you are using a bitmap font, selecting "
-"this option may make some fonts look blocky in LyX. Deselecting this option "
-"makes LyX use the nearest bitmap font size available, instead of scaling."
+#: src/frontends/qt/ui/GraphicsUi.ui:233
+msgid "Check to change the order of rotating and scaling"
 msgstr ""
-"Разрешить масштабирование растровых шрифтов. При установленной отметке "
-"некоторые шрифты могут выглядеть зазубренными. Если отметка снята, LyX "
-"вместо масштабирования будет использовать ближайший по размеру доступный "
-"шрифт."
+"Установите этот флажок для изменения порядка поворота и масштабирования"
 
-#: src/LyXRC.cpp:3293
-msgid "The font sizes used for calculating the scaling of the screen fonts."
-msgstr "Размеры шрифтов, используемые для вычисления размера экранных шрифтов."
+#: src/frontends/qt/ui/GraphicsUi.ui:236
+msgid "Ro&tate after scaling"
+msgstr "Поверну&ть после масштабирования"
 
-#: src/LyXRC.cpp:3298
-#, no-c-format
-msgid ""
-"The zoom percentage for screen fonts. A setting of 100% will make the fonts "
-"roughly the same size as on paper."
-msgstr ""
-"Масштабирования для экранных шрифтов. Указание 100% будет давать шрифты "
-"такого же размера, как и на бумаге."
+#: src/frontends/qt/ui/GraphicsUi.ui:253
+msgid "Or&igin:"
+msgstr "&Центр:"
 
-#: src/LyXRC.cpp:3302
-msgid "Allow session manager to save and restore windows geometry."
-msgstr "Разрешить менеджеру сеансов сохранять и восстанавливать размеры окна."
+#: src/frontends/qt/ui/GraphicsUi.ui:279
+msgid "A&ngle (degrees):"
+msgstr "Угол (градусы):"
 
-#: src/LyXRC.cpp:3306
-msgid ""
-"This starts the lyxserver. The pipes get an additional extension \".in\" and "
-"\".out\". Only for advanced users."
-msgstr ""
-"Это запускает lyxserver. Каналы получают дополнительное расширение \"in\" и "
-"\"out\". Только для продвинутых пользователей."
+#: src/frontends/qt/ui/GraphicsUi.ui:292 src/frontends/qt/ui/GraphicsUi.ui:305
+msgid "File name of image"
+msgstr "Имя файла с изображением"
 
-#: src/LyXRC.cpp:3313
-msgid "De-select if you don't want the startup banner."
-msgstr "Снимите отметку, если вы не хотите видеть заставку при запуске."
+#: src/frontends/qt/ui/GraphicsUi.ui:313
+msgid "&Coordinates and Clipping"
+msgstr "Координаты и обрезка"
 
-#: src/LyXRC.cpp:3317
+#: src/frontends/qt/ui/GraphicsUi.ui:347
 msgid ""
-"LyX will place its temporary directories in this path. They will be deleted "
-"when you quit LyX."
+"Clip to the coordinates specified below (bounding box for DVI/PS output, "
+"viewport for PDF output)"
 msgstr ""
-"LyX будет размещать свои временные каталоги по этому пути. Они будут удалены "
-"при выходе из LyX."
-
-#: src/LyXRC.cpp:3321
-msgid "This is the place where the files of the thesaurus library reside."
-msgstr "Это место, где хранятся файлы библиотеки тезауруса."
+"Обрезать по координатам, указанным ниже (bounding box для вывода DVI/PS, "
+"viewport - для вывода PDF)"
 
-#: src/LyXRC.cpp:3325
-msgid ""
-"The path that LyX will set when offering to choose a template. An empty "
-"value selects the directory LyX was started from."
-msgstr ""
-"Путь, по которому LyX будет переходить при необходимости выбрать шаблон. "
-"Пустое значение означает, что будет выбран каталог, из которого LyX был "
-"запущен."
+#: src/frontends/qt/ui/GraphicsUi.ui:350
+msgid "Clip to c&oordinates"
+msgstr "Обрезать по &координатам"
 
-#: src/LyXRC.cpp:3335
-msgid ""
-"Specify those directories which should be prepended to the TEXINPUTS "
-"environment variable.\n"
-"A '.' represents the current document directory. Use the OS native format."
-msgstr ""
-"Укажите каталоги, которые будут использованы до обработки переменной среды "
-"TEXINPUTS. Указывайте их в том виде, как принято в вашей операционной "
-"системе."
+#: src/frontends/qt/ui/GraphicsUi.ui:438 src/frontends/qt/ui/GraphicsUi.ui:445
+msgid "y:"
+msgstr "y:"
 
-#: src/LyXRC.cpp:3342
-msgid ""
-"The UI (user interface) file. Can either specify an absolute path, or LyX "
-"will look in its global and local ui/ directories."
-msgstr ""
-"Файл пользовательского интерфейса (UI). Может быть либо указан абсолютный "
-"путь, либо LyX будет искать его в глобальном или локальном каталоге ui/."
+#: src/frontends/qt/ui/GraphicsUi.ui:452 src/frontends/qt/ui/GraphicsUi.ui:459
+msgid "x:"
+msgstr "x:"
 
-#: src/LyXRC.cpp:3352
+#: src/frontends/qt/ui/GraphicsUi.ui:482
 msgid ""
-"Enable use the system colors for some things like main window background and "
-"selection."
-msgstr ""
-"Включить использование системных цветов для некоторых вещей, таких как фон "
-"главного окна и выделение."
-
-#: src/LyXRC.cpp:3356
-msgid "Enable the automatic appearance of tool tips in the work area."
-msgstr "Включить автоматическое появление подсказок в рабочей области."
-
-#: src/LyXRC.cpp:3360
-msgid "Specify the paper command to DVI viewer (leave empty or use \"-paper\")"
+"Read coordinates from the file (bounding box value in case of PostScript "
+"files, graphic dimensions in case of other file types)"
 msgstr ""
-"Укажите команду установки формата бумаги для просмотрщика DVI (оставьте "
-"пустым или введите \"-paper\")"
-
-#: src/LyXVC.cpp:49
-#, c-format
-msgid "%1$s lock"
-msgstr "%1$s блокировка"
-
-#: src/LyXVC.cpp:111
-#, c-format
-msgid "Do you want to retrieve the document %1$s from version control?"
-msgstr "Хотите получить документ %1$s из системы контроля версий?"
-
-#: src/LyXVC.cpp:113
-msgid "Retrieve from version control?"
-msgstr "Получить из системы контроля версий?"
-
-#: src/LyXVC.cpp:114
-msgid "&Retrieve"
-msgstr "&Получить"
-
-#: src/LyXVC.cpp:148
-msgid "Document not saved"
-msgstr "Документ не сохранён"
-
-#: src/LyXVC.cpp:149
-msgid "You must save the document before it can be registered."
-msgstr "Вы должны сохранить документ перед тем как зарегистрировать его."
-
-#: src/LyXVC.cpp:185
-msgid "LyX VC: Initial description"
-msgstr "LyX VC: Первоначальное описание"
-
-#: src/LyXVC.cpp:186 src/LyXVC.cpp:193
-msgid "(no initial description)"
-msgstr "(нет начального описания)"
-
-#: src/LyXVC.cpp:205 src/LyXVC.cpp:224
-msgid "LyX VC: Log message"
-msgstr "LyX VC: Сообщение журнала"
+"Читать координаты из файла (значение bounding box для файлов PostScript, "
+"размер изображения - для других типов файлов)"
 
-#: src/LyXVC.cpp:206 src/LyXVC.cpp:212 src/LyXVC.cpp:225 src/LyXVC.cpp:231
-#: src/LyXVC.cpp:242
-msgid "(no log message)"
-msgstr "(нет сообщения)"
+#: src/frontends/qt/ui/GraphicsUi.ui:520 src/frontends/qt/ui/GraphicsUi.ui:527
+msgid "Additional LaTeX options"
+msgstr "Дополнительные параметры LaTeX"
 
-#: src/LyXVC.cpp:246 src/frontends/qt/GuiView.cpp:3629
-msgid "LyX VC: Log Message"
-msgstr "LyX VC: Сообщение для журнала сообщений"
+#: src/frontends/qt/ui/GraphicsUi.ui:530
+msgid "LaTeX &options:"
+msgstr "&Параметры LaTeX:"
 
-#: src/LyXVC.cpp:298
-#, c-format
+#: src/frontends/qt/ui/GraphicsUi.ui:556
 msgid ""
-"Reverting to the stored version of the document %1$s will lose all current "
-"changes.\n"
-"\n"
-"Do you want to revert to the older version?"
+"Enable LyX to preview this graphics, if graphics previewing is not disabled "
+"at application level (see Preferences dialog)."
 msgstr ""
-"Откат к версии из репозитория для документа %1$s приведёт к потере всех "
-"текущих изменений.\n"
-"\n"
-"Откатить к старой версии?"
+"Разрешить LyX предварительный просмотр графики, если только он не запрещён "
+"на уровне приложения (см. диалоговое окно Настройки)."
 
-#: src/LyXVC.cpp:303
-msgid "Revert to stored version of document?"
-msgstr "Откат к версии из репозитория"
+#: src/frontends/qt/ui/GraphicsUi.ui:559
+msgid "Sho&w in LyX"
+msgstr "&Показывать в LyX"
 
-#: src/LyXVC.cpp:304 src/frontends/qt/GuiView.cpp:4213
-msgid "&Revert"
-msgstr "Откатить"
+#: src/frontends/qt/ui/GraphicsUi.ui:605
+msgid "Sca&le on screen (%):"
+msgstr "Масштаб на экране (%):"
 
-#: src/Paragraph.cpp:2060
-msgid "Senseless with this layout!"
-msgstr "Бессмысленно в этом макете!"
+#: src/frontends/qt/ui/GraphicsUi.ui:631
+msgid "Assign the graphic to a group of graphics that share the same settings"
+msgstr "Присоединить изображение к группе изображений с такими же настройками"
 
-#: src/Paragraph.cpp:2114
-msgid "Alignment not permitted"
-msgstr "Выравнивание не разрешено"
+#: src/frontends/qt/ui/GraphicsUi.ui:634
+msgid "Graphics Group"
+msgstr "Группа изображений"
 
-#: src/Paragraph.cpp:2115
-msgid ""
-"The new layout does not permit the alignment previously used.\n"
-"Setting to default."
-msgstr ""
-"Новый макет не позволяет выравнивание, которое использовалось до этого.\n"
-"Возврат к умолчаниям."
+#: src/frontends/qt/ui/GraphicsUi.ui:680
+msgid "Assigned &to group:"
+msgstr "Относится к &группе:"
 
-#: src/Text.cpp:446
-msgid "Unknown Inset"
-msgstr "Неизвестная вставка"
+#: src/frontends/qt/ui/GraphicsUi.ui:690
+msgid "Click to define a new graphics group."
+msgstr "Нажмите чтобы определить новую группу изображений."
 
-#: src/Text.cpp:562 src/insets/InsetTabular.cpp:473
-msgid "Change tracking author index missing"
-msgstr "Отсутствует авторский индекс отслеживания изменений"
+#: src/frontends/qt/ui/GraphicsUi.ui:693
+msgid "O&pen new group..."
+msgstr "&Создать новую группу..."
 
-#: src/Text.cpp:563 src/insets/InsetTabular.cpp:474
-#, c-format
-msgid ""
-"A change tracking author information for index %1$d is missing. This can "
-"happen after a wrong merge by a version control system. In this case, either "
-"fix the merge, or have this information missing until the corresponding "
-"tracked changes are merged or this user edits the file again.\n"
-msgstr ""
-"Сведения об авторе системы отслеживания изменений для индекса %1$d "
-"отсутствуют. Это может произойти после неправильного слияния системой "
-"управления версиями. В этом случае либо исправьте слияние, либо эта "
-"информация будет отсутствовать, пока соответствующие отслеживаемые изменения "
-"не будут объединены или этот пользователь не изменит файл снова.\n"
+#: src/frontends/qt/ui/GraphicsUi.ui:700
+msgid "Select an existing group for the current graphics."
+msgstr "Выбрать существующую группу для данных изображений."
 
-#: src/Text.cpp:579
-msgid "Unknown token"
-msgstr "Неизвестный токен"
+#: src/frontends/qt/ui/GraphicsUi.ui:713
+msgid "Draft mode"
+msgstr "Черновой режим"
 
-#: src/Text.cpp:964
-msgid ""
-"You cannot insert a space at the beginning of a paragraph. Please read the "
-"Tutorial."
-msgstr ""
-"Вы не можете вставлять пробелы в начале абзаца. Пожалуйста, прочитайте "
-"Самоучитель."
+#: src/frontends/qt/ui/GraphicsUi.ui:716
+msgid "&Draft mode"
+msgstr "&Черновой режим"
 
-#: src/Text.cpp:973
-msgid "You cannot type two spaces this way. Please read the Tutorial."
+#: src/frontends/qt/ui/HSpaceUi.ui:28
+msgid "Select a fill pattern style for HFills"
 msgstr ""
-"Вы не можете вводить два пробела подряд таким способом. Пожалуйста, "
-"прочитайте Самоучитель."
-
-#: src/Text.cpp:984
-msgid "Character is uncodable in this verbatim context."
-msgstr "Символ является некодируемым в буквальном контексте."
-
-#: src/Text.cpp:1958
-msgid "[Change Tracking] "
-msgstr "[Отслеживание изменений] "
-
-#: src/Text.cpp:1966
-#, c-format
-msgid "Changed by %1$s[[author]] on %2$s[[date]]. "
-msgstr "Изменено автором %1$s[[author]] в %2$s[[date]]. "
-
-#: src/Text.cpp:1976 src/mathed/InsetMathFont.cpp:237
-#: src/mathed/InsetMathFontOld.cpp:111
-#, c-format
-msgid "Font: %1$s"
-msgstr "Шрифт: %1$s"
-
-#: src/Text.cpp:1981
-#, c-format
-msgid ", Depth: %1$d"
-msgstr ", Вложенность: %1$d"
-
-#: src/Text.cpp:1987
-msgid ", Spacing: "
-msgstr ", Интервал: "
-
-#: src/Text.cpp:1993 src/frontends/qt/GuiDocument.cpp:872
-msgid "OneHalf"
-msgstr "Полуторный"
-
-#: src/Text.cpp:1999
-msgid "Other ("
-msgstr "Другой ("
-
-#: src/Text.cpp:2011
-msgid ", Paragraph: "
-msgstr ", Абзац: "
-
-#: src/Text.cpp:2012
-msgid ", Id: "
-msgstr ", Id: "
-
-#: src/Text.cpp:2019
-msgid ", Char: 0x"
-msgstr ", Символ: 0x"
-
-#: src/Text.cpp:2021
-msgid ", Boundary: "
-msgstr ", Граница: "
-
-#: src/Text2.cpp:418
-msgid "No font change defined."
-msgstr "Изменения шрифта не определены."
-
-#: src/Text3.cpp:200
-msgid "Math editor mode"
-msgstr "Математический режим"
-
-#: src/Text3.cpp:202
-msgid "No valid math formula"
-msgstr "Некорректная математическая формула"
-
-#: src/Text3.cpp:210 src/mathed/InsetMathNest.cpp:1034
-msgid "Already in regular expression mode"
-msgstr "Уже в режиме &регулярного выражения"
-
-#: src/Text3.cpp:223
-msgid "Regexp editor mode"
-msgstr "Режим редактора regexp"
-
-#: src/Text3.cpp:1575
-msgid "Layout "
-msgstr "Макет "
-
-#: src/Text3.cpp:1576 src/Text3.cpp:2139
-msgid " not known"
-msgstr " неизвестен"
-
-#: src/Text3.cpp:2138
-msgid "Table Style "
-msgstr "Стиль таблиц "
-
-#: src/Text3.cpp:2332 src/frontends/qt/GuiApplication.cpp:1715
-msgid "Missing argument"
-msgstr "Отсутствует аргумент"
-
-#: src/Text3.cpp:2494
-msgid "Invalid argument (number exceeds stack size)!"
-msgstr "Недопустимый параметр (число превышает размер стека)!"
-
-#: src/Text3.cpp:2498
-msgid "Invalid argument (must be a non-negative number)!"
-msgstr "Недопустимый параметр (введите положительное число)!"
-
-#: src/Text3.cpp:2503 src/Text3.cpp:2521
-#, c-format
-msgid "Text properties applied: %1$s"
-msgstr "Применены свойства текста: %1$s"
-
-#: src/Text3.cpp:2673
-msgid "Path to thesaurus directory not set!"
-msgstr "Путь к словарю тезауруса не установлен!"
+"Выберите стиль шаблона заполнения (только для горизонтального заполнения)"
 
-#: src/Text3.cpp:2674
-msgid ""
-"The path to the thesaurus directory has not been specified.\n"
-"The thesaurus is not functional.\n"
-"Please refer to sec. 6.15.1 of the User's Guide for setup\n"
-"instructions."
-msgstr ""
-"Путь к каталогу тезауруса не указан.\n"
-"Тезаурус не работает.\n"
-"Пожалуйста, обратитесь к разделу 6.15.1 Руководства пользователя за\n"
-"инструкциями по установке."
+#: src/frontends/qt/ui/HSpaceUi.ui:37
+msgid "..............."
+msgstr "..............."
 
-#: src/Text3.cpp:2741 src/Text3.cpp:2752
-msgid "Paragraph layout set"
-msgstr "Установлено размещение абзаца"
+#: src/frontends/qt/ui/HSpaceUi.ui:42
+msgid "________"
+msgstr "________"
 
-#: src/TextClass.cpp:127
-msgid "Plain Layout"
-msgstr "Обычный текст"
+#: src/frontends/qt/ui/HSpaceUi.ui:47
+msgid "<-----------"
+msgstr "<-----------"
 
-#: src/TextClass.cpp:918
-msgid "Missing File"
-msgstr "Отсутствует файл"
+#: src/frontends/qt/ui/HSpaceUi.ui:52
+msgid "----------->"
+msgstr "----------->"
 
-#: src/TextClass.cpp:919
-msgid "Could not find stdinsets.inc! This may lead to data loss!"
-msgstr "Не найден stdinsets.inc! Это может привести к потере данных!"
+#: src/frontends/qt/ui/HSpaceUi.ui:57
+msgid "\\-----v-----/"
+msgstr "\\-----v-----/"
 
-#: src/TextClass.cpp:922
-msgid "Corrupt File"
-msgstr "Повреждённый файл"
+#: src/frontends/qt/ui/HSpaceUi.ui:62
+msgid "/-----^-----\\"
+msgstr "/-----^-----\\"
 
-#: src/TextClass.cpp:923
-msgid "Could not read stdinsets.inc! This may lead to data loss!"
-msgstr "Не прочитан stdinsets.inc! Это может привести к потере данных!"
+#: src/frontends/qt/ui/HSpaceUi.ui:70 src/frontends/qt/ui/VSpaceUi.ui:23
+msgid "&Spacing:"
+msgstr "&Промежуток:"
 
-#: src/TextClass.cpp:1577
-#, c-format
-msgid "%1$s (Float)"
-msgstr "%1$s (плавающий объект)"
+#: src/frontends/qt/ui/HSpaceUi.ui:80 src/frontends/qt/ui/VSpaceUi.ui:79
+msgid "Supported spacing types"
+msgstr "Поддерживаемые типы промежутков"
 
-#: src/TextClass.cpp:1582
-#, c-format
-msgid "Sub-%1$s (Float)"
-msgstr "Под-%1$s (плавающий объект)"
+#: src/frontends/qt/ui/HSpaceUi.ui:87 src/frontends/qt/ui/VSpaceUi.ui:69
+msgid "&Value:"
+msgstr "&Значение:"
 
-#: src/TextClass.cpp:1877
-#, c-format
-msgid ""
-"The module %1$s has been requested by\n"
-"this document but has not been found in the list of\n"
-"available modules. If you recently installed it, you\n"
-"probably need to reconfigure LyX.\n"
+#: src/frontends/qt/ui/HSpaceUi.ui:100 src/frontends/qt/ui/VSpaceUi.ui:62
+msgid "Custom value. Needs spacing type \"Custom\"."
 msgstr ""
-"Модуль %1$s требуется для этого документа,\n"
-"но его нет в списке доступных модулей.\n"
-"Если вы установили его недавно, то\n"
-"необходимо обновить конфигурацию LyX.\n"
-
-#: src/TextClass.cpp:1882
-msgid "Module not available"
-msgstr "Модуль не доступен"
+"Пользовательское значение. Требует тип промежутка \"Задано пользователем\"."
 
-#: src/TextClass.cpp:1888
-#, c-format
-msgid ""
-"The module %1$s requires a package that is not\n"
-"available in your LaTeX installation, or a converter that\n"
-"you have not installed. LaTeX output may not be possible.\n"
-"Missing prerequisites:\n"
-"\t%2$s\n"
-"See section 3.1.2.3 (Modules) of the User's Guide for more information."
-msgstr ""
-"Модуль %1$s требует пакет, который\n"
-"отсутствует в текущей установке LaTeX, либо\n"
-"неустановленный конвертер. Вывод LaTeX\n"
-"может быть невозможен.\n"
-"Отсутствует:\n"
-"\t%2$s\n"
-"См. раздел 3.1.2.3 (Модули) руководства пользователя."
+#: src/frontends/qt/ui/HSpaceUi.ui:110
+msgid "&Fill Pattern:"
+msgstr "&Шаблон заполнения:"
 
-#: src/TextClass.cpp:1895 src/TextClass.cpp:1927
-msgid "Package not available"
-msgstr "Пакет недоступен"
+#: src/frontends/qt/ui/HSpaceUi.ui:123 src/frontends/qt/ui/VSpaceUi.ui:46
+msgid "&Protect:"
+msgstr "&Защита:"
 
-#: src/TextClass.cpp:1900
-#, c-format
-msgid "Error reading module %1$s\n"
-msgstr "Ошибка чтения модуля %1$s\n"
+#: src/frontends/qt/ui/HyperlinkUi.ui:27
+msgid "&Target:"
+msgstr "Цель:"
 
-#: src/TextClass.cpp:1911
-#, c-format
-msgid ""
-"The cite engine %1$s has been requested by\n"
-"this document but has not been found in the list of\n"
-"available engines. If you recently installed it, you\n"
-"probably need to reconfigure LyX.\n"
-msgstr ""
-"Модуль цитирования %1$s запрашивается этим документом,\n"
-"но его нет в списке доступных модулей.\n"
-"Если вы установили его недавно, то\n"
-"необходимо обновить конфигурацию LyX.\n"
+#: src/frontends/qt/ui/HyperlinkUi.ui:37 src/frontends/qt/ui/HyperlinkUi.ui:68
+msgid "Name associated with the URL"
+msgstr "Название, связанное с URL"
 
-#: src/TextClass.cpp:1916
-msgid "Cite Engine not available"
-msgstr "Модуль цитирования не доступен"
+#: src/frontends/qt/ui/HyperlinkUi.ui:40 src/frontends/qt/ui/LyXFilesUi.ui:55
+#: src/frontends/qt/ui/PrefIdentityUi.ui:22
+msgid "&Name:"
+msgstr "&Имя:"
 
-#: src/TextClass.cpp:1920
-#, c-format
+#: src/frontends/qt/ui/HyperlinkUi.ui:77
 msgid ""
-"The cite engine %1$s requires a package that is not\n"
-"available in your LaTeX installation, or a converter that\n"
-"you have not installed. LaTeX output may not be possible.\n"
-"Missing prerequisites:\n"
-"\t%2$s\n"
-"See section 3.1.2.3 (Modules) of the User's Guide for more information."
+"Pass content of the `Name' field literally to LaTeX. Check this if you want "
+"to enter LaTeX code."
 msgstr ""
-"Модуль цитирования %1$s требует пакет, который\n"
-"отсутствует в текущей установке LaTeX, либо\n"
-"неустановленный конвертер. Вывод LaTeX\n"
-"может быть невозможен.\n"
-"Отсутствует:\n"
-"\t%2$s\n"
-"См. раздел 3.1.2.3 (Модули) руководства пользователя."
-
-#: src/TextClass.cpp:1932
-#, c-format
-msgid "Error reading cite engine %1$s\n"
-msgstr "Ошибка чтения модуля цитирования %1$s\n"
-
-#: src/TocBackend.cpp:267 src/insets/InsetIndex.cpp:468
-#: src/insets/InsetIndex.cpp:489
-msgid "unknown type!"
-msgstr "неизвестный тип!"
-
-#: src/TocBackend.cpp:270
-#, c-format
-msgid "Index Entries (%1$s)"
-msgstr "Рубрики указателя (%1$s)"
-
-#: src/TocBackend.cpp:286 src/insets/InsetTOC.cpp:75
-msgid "Table of Contents"
-msgstr "Содержание"
-
-#: src/TocBackend.cpp:287
-msgid "Changes"
-msgstr "Изменения"
-
-#: src/TocBackend.cpp:288
-msgid "Senseless"
-msgstr "Бессмысленно"
-
-#: src/TocBackend.cpp:289
-msgid "Citations"
-msgstr "Библиографические ссылки"
-
-#: src/TocBackend.cpp:290
-msgid "Labels and References"
-msgstr "Метки и ссылки"
-
-#: src/TocBackend.cpp:291
-msgid "Broken References and Citations"
-msgstr "Нарушенные ссылки"
-
-#: src/TocBackend.cpp:293 src/frontends/qt/GuiDocument.cpp:1766
-msgid "Child Documents"
-msgstr "Дочерние документы"
-
-#: src/TocBackend.cpp:294
-msgid "Graphics[[listof]]"
-msgstr "Изображения"
-
-#: src/TocBackend.cpp:295
-msgid "Equations"
-msgstr "Нумерованные формулы"
-
-#: src/TocBackend.cpp:298
-msgid "Nomenclature Entries"
-msgstr "Обозначения"
+"Передавать содержимое поля «Название» буквально в LaTeX. Выберите этот "
+"пункт, если вы хотите ввести код LaTeX."
 
-#: src/VCBackend.cpp:63 src/VCBackend.cpp:875 src/VCBackend.cpp:880
-#: src/VCBackend.cpp:929 src/VCBackend.cpp:988 src/VCBackend.cpp:1047
-#: src/VCBackend.cpp:1055 src/VCBackend.cpp:1356 src/VCBackend.cpp:1458
-#: src/VCBackend.cpp:1464 src/VCBackend.cpp:1487 src/VCBackend.cpp:1973
-#: src/frontends/qt/GuiView.cpp:3545 src/frontends/qt/GuiView.cpp:3588
-msgid "Revision control error."
-msgstr "Ошибка системы контроля версий."
+#: src/frontends/qt/ui/HyperlinkUi.ui:106
+msgid "Specify the link target"
+msgstr "Укажите цель ссылки"
 
-#: src/VCBackend.cpp:64
-#, c-format
-msgid ""
-"Some problem occurred while running the command:\n"
-"'%1$s'."
-msgstr ""
-"Во время выполнения команды возникла проблема:\n"
-"'%1$s'."
+#: src/frontends/qt/ui/HyperlinkUi.ui:109
+msgid "Link type"
+msgstr "Тип ссылки"
 
-#: src/VCBackend.cpp:636
-msgid "Up-to-date"
-msgstr "Обновлённый"
+#: src/frontends/qt/ui/HyperlinkUi.ui:133
+msgid "Link to the web or to every other target"
+msgstr "Ссылка на веб-страницу или какую-то другую цель"
 
-#: src/VCBackend.cpp:638
-msgid "Locally Modified"
-msgstr "Локально модифицирован"
+#: src/frontends/qt/ui/HyperlinkUi.ui:136
+msgid "&Web"
+msgstr "&Веб-страница"
 
-#: src/VCBackend.cpp:640
-msgid "Locally Added"
-msgstr "Локально добавлен"
+#: src/frontends/qt/ui/HyperlinkUi.ui:146
+msgid "Link to an email address"
+msgstr "Ссылка на адрес электронной почты"
 
-#: src/VCBackend.cpp:642
-msgid "Needs Merge"
-msgstr "Требуется слияние"
+#: src/frontends/qt/ui/HyperlinkUi.ui:149
+msgid "E&mail"
+msgstr "Эл. &почта"
 
-#: src/VCBackend.cpp:644
-msgid "Needs Checkout"
-msgstr "Требуется загрузка"
+#: src/frontends/qt/ui/HyperlinkUi.ui:156
+msgid "Link to a file"
+msgstr "Ссылка на файл"
 
-#: src/VCBackend.cpp:646
-msgid "No CVS file"
-msgstr "Нет файла CVS"
+#: src/frontends/qt/ui/HyperlinkUi.ui:159
+msgid "Fi&le"
+msgstr "&Файл"
 
-#: src/VCBackend.cpp:648
-msgid "Cannot retrieve CVS status"
-msgstr "Невозможно получить статус CVS"
+#: src/frontends/qt/ui/IncludeUi.ui:35
+msgid "I&nclude Type:"
+msgstr "&Тип включения:"
 
-#: src/VCBackend.cpp:876
-msgid ""
-"The repository version is newer then the current check out.\n"
-"You have to update from repository first or revert your changes."
-msgstr ""
-"Версия репозитория новее текущей загруженной копии.\n"
-"Вы должны сначала обновиться из репозитория или отменить свои изменения."
+#: src/frontends/qt/ui/IncludeUi.ui:69
+msgid "Edit the file"
+msgstr "Редактировать файл"
 
-#: src/VCBackend.cpp:881
-#, c-format
+#: src/frontends/qt/ui/IncludeUi.ui:79
 msgid ""
-"Bad status when checking in changes.\n"
-"\n"
-"'%1$s'\n"
-"\n"
+"File name to include. (You can create a new file by entering the name of one "
+"that does not yet exist.)"
 msgstr ""
-"Ошибочное состояние при загрузке изменений.\n"
-"\n"
-"'%1$s'\n"
-"\n"
+"Выберите документ для включения (или введите имя несуществующего документа "
+"для его создания)"
 
-#: src/VCBackend.cpp:930 src/VCBackend.cpp:1488
-#, c-format
-msgid ""
-"Error when updating from repository.\n"
-"You have to manually resolve the conflicts NOW!\n"
-"'%1$s'.\n"
-"\n"
-"After pressing OK, LyX will try to reopen the resolved document."
-msgstr ""
-"Ошибка при обновлении из репозитория.\n"
-"Вам нужно вручную разрешить конфликты СЕЙЧАС!\n"
-"'%1$s'.\n"
-"\n"
-"После нажатия OK, LyX попробует заново открыть этот документ."
+#: src/frontends/qt/ui/IncludeUi.ui:124
+msgid "Underline spaces in generated output"
+msgstr "Подчёркивать пробелы в генерируемом выводе"
 
-#: src/VCBackend.cpp:964
-#, c-format
-msgid ""
-"There were detected changes in the working directory:\n"
-"%1$s\n"
-"\n"
-"Possible file conflicts must be then resolved manually or you will need to "
-"revert back to the repository version."
-msgstr ""
-"Обнаружены изменения в рабочем каталоге:\n"
-"%1$s\n"
-"\n"
-"Возможные конфликты должны быть решены вручную или вам придётся возвратиться "
-"к версии из репозитория."
+#: src/frontends/qt/ui/IncludeUi.ui:127
+msgid "&Mark spaces in output"
+msgstr "&Отмечать пробелы в выводе"
 
-#: src/VCBackend.cpp:968 src/VCBackend.cpp:972 src/VCBackend.cpp:1529
-#: src/VCBackend.cpp:1533
-msgid "Changes detected"
-msgstr "Обнаружены изменения"
+#: src/frontends/qt/ui/IncludeUi.ui:140
+msgid "Show LaTeX preview"
+msgstr "Показать предварительный просмотр LaTeX"
 
-#: src/VCBackend.cpp:969 src/VCBackend.cpp:973
-msgid "&Abort"
-msgstr "Прервать"
+#: src/frontends/qt/ui/IncludeUi.ui:143
+msgid "&Show preview"
+msgstr "&Показать предварительный просмотр"
 
-#: src/VCBackend.cpp:969 src/VCBackend.cpp:1530
-msgid "View &Log ..."
-msgstr "Просмотр &журнала..."
+#: src/frontends/qt/ui/IncludeUi.ui:171
+msgid "Listing Parameters"
+msgstr "Параметры листинга"
 
-#: src/VCBackend.cpp:989
-#, c-format
-msgid ""
-"Error when updating document %1$s from repository.\n"
-"You have to manually resolve the conflicts NOW!\n"
-"'%2$s'.\n"
-"\n"
-"After pressing OK, LyX will try to reopen the resolved document."
-msgstr ""
-"Ошибка при обновлении документа %1$s из репозитория.\n"
-"Вам нужно вручную разрешить конфликты прямо СЕЙЧАС!\n"
-"'%2$s'.\n"
-"\n"
-"После нажатия OK, LyX попробует заново открыть этот документ."
+#: src/frontends/qt/ui/IncludeUi.ui:252
+msgid "&Caption:"
+msgstr "Подпись:"
 
-#: src/VCBackend.cpp:1048
-#, c-format
-msgid ""
-"The document %1$s is not in repository.\n"
-"You have to check in the first revision before you can revert."
-msgstr ""
-"Документ %1$s отсутствует в репозитории.\n"
-"Вы должны зафиксировать его первую версию, прежде чем сможете выполнять "
-"откат."
+#: src/frontends/qt/ui/IncludeUi.ui:279
+#: src/frontends/qt/ui/ListingsSettingsUi.ui:79
+#: src/frontends/qt/ui/ListingsUi.ui:507
+msgid "Check it to enter parameters that are not recognizable by LyX"
+msgstr "Поставьте этот флажок для ввода параметров, которые LyX не распознаёт"
 
-#: src/VCBackend.cpp:1056
-#, c-format
-msgid ""
-"Cannot revert document %1$s to repository version.\n"
-"The status '%2$s' is unexpected."
-msgstr ""
-"Невозможно вернуть документ %1$s к версии репозитория.\n"
-"Состояние \"%2$s\" является неожиданным."
+#: src/frontends/qt/ui/IncludeUi.ui:282
+#: src/frontends/qt/ui/ListingsSettingsUi.ui:82
+#: src/frontends/qt/ui/ListingsUi.ui:510
+msgid "&Bypass validation"
+msgstr "Пропускать проверку"
 
-#: src/VCBackend.cpp:1341 src/VCBackend.cpp:1477 src/VCBackend.cpp:1514
-#: src/VCBackend.cpp:1568 src/VCBackend.cpp:1958
-msgid "Error: Could not generate logfile."
-msgstr "Ошибка: не могу сгенерировать logfile."
+#: src/frontends/qt/ui/IncludeUi.ui:289
+msgid "&More parameters"
+msgstr "До&полнительные параметры"
 
-#: src/VCBackend.cpp:1357 src/VCBackend.cpp:1974
+#: src/frontends/qt/ui/IncludeUi.ui:299
 msgid ""
-"Error when committing to repository.\n"
-"You have to manually resolve the problem.\n"
-"LyX will reopen the document after you press OK."
+"Pass content of the `Caption' field literally to LaTeX. Check this if you "
+"want to enter LaTeX code."
 msgstr ""
-"Ошибка при фиксировании в репозиторий.\n"
-"Вы должны решить проблему вручную.\n"
-"После нажатия OK LyX повторно откроет этот документ."
+"Передавать содержимое поля «Название» буквально в LaTeX. Выберите этот "
+"пункт, если вы хотите ввести код LaTeX."
 
-#: src/VCBackend.cpp:1459
-msgid ""
-"Error while acquiring write lock.\n"
-"Another user is most probably editing\n"
-"the current document now!\n"
-"Also check the access to the repository."
-msgstr ""
-"Ошибка при установке блокировки на запись.\n"
-"Чаще всего это происходит когда другой\n"
-"пользователь уже редактирует текущий документ!\n"
-"Также проверьте доступ к репозиторию."
+#: src/frontends/qt/ui/IndexUi.ui:40
+msgid "Available I&ndexes:"
+msgstr "&Доступные указатели:"
 
-#: src/VCBackend.cpp:1465
-msgid ""
-"Error while releasing write lock.\n"
-"Check the access to the repository."
-msgstr ""
-"Ошибка при снятии блокировки на запись.\n"
-"Проверьте доступ к репозиторию."
+#: src/frontends/qt/ui/IndexUi.ui:50
+msgid "Select the index this entry should be listed in."
+msgstr "Выберите указатель, в который попадёт текущая рубрика."
 
-#: src/VCBackend.cpp:1524
-#, c-format
+#: src/frontends/qt/ui/IndicesUi.ui:19
 msgid ""
-"There were detected changes in the working directory:\n"
-"%1$s\n"
-"\n"
-"In case of file conflict version of the local directory files will be "
-"preferred.\n"
-"\n"
-"Continue?"
+"Here you can define an alternative index processor and specify its options."
 msgstr ""
-"Обнаружены изменения в рабочем каталоге:\n"
-"%1$s\n"
-"\n"
-"В случае конфликтов, предпочтение отдаётся файлам из локального каталога.\n"
-"\n"
-"Продолжить?"
-
-#: src/VCBackend.cpp:1530 src/VCBackend.cpp:1534
-#: src/frontends/qt/FindAndReplace.cpp:388 src/frontends/qt/GuiPrefs.cpp:1864
-#: src/lyxfind.cpp:272 src/lyxfind.cpp:540 src/lyxfind.cpp:568
-msgid "&Yes"
-msgstr "Да"
-
-#: src/VCBackend.cpp:1530 src/VCBackend.cpp:1534
-#: src/frontends/qt/FindAndReplace.cpp:388 src/frontends/qt/GuiPrefs.cpp:1864
-#: src/lyxfind.cpp:272 src/lyxfind.cpp:540 src/lyxfind.cpp:568
-msgid "&No"
-msgstr "Нет"
-
-#: src/VCBackend.cpp:1593
-msgid "SVN File Locking"
-msgstr "Блокировка файла SVN"
-
-#: src/VCBackend.cpp:1594 src/VCBackend.cpp:1599
-msgid "Locking property unset."
-msgstr "Блокировка снята."
-
-#: src/VCBackend.cpp:1594 src/VCBackend.cpp:1599
-msgid "Locking property set."
-msgstr "Блокировка установлена."
-
-#: src/VCBackend.cpp:1595
-msgid "Do not forget to commit the locking property into the repository."
-msgstr "Не забывайте зафиксировать блокировку в репозитории."
-
-#: src/VSpace.cpp:190
-msgid "Default skip"
-msgstr "по умолчанию"
+"Здесь можно задать альтернативный процессор указателей и указать его "
+"параметры"
 
-#: src/VSpace.cpp:193
-msgid "Small skip"
-msgstr "малый"
+#: src/frontends/qt/ui/IndicesUi.ui:22 src/frontends/qt/ui/PrefLatexUi.ui:181
+msgid "Index Generation"
+msgstr "Создание указателя"
 
-#: src/VSpace.cpp:196
-msgid "Medium skip"
-msgstr "средний"
+#: src/frontends/qt/ui/IndicesUi.ui:64
+msgid "Define program options of the selected processor."
+msgstr "Определите параметры для программы выбранного процессора"
 
-#: src/VSpace.cpp:199
-msgid "Big skip"
-msgstr "большой"
+#: src/frontends/qt/ui/IndicesUi.ui:89
+msgid "Check if you need multiple indexes (e.g., an Index of Names)"
+msgstr "Выберите, если вам необходимы несколько указателей"
 
-#: src/VSpace.cpp:208
-msgid "Vertical fill"
-msgstr "заполнение"
+#: src/frontends/qt/ui/IndicesUi.ui:92
+msgid "&Use multiple indexes"
+msgstr "Использовать несколько указателей"
 
-#: src/VSpace.cpp:215
-msgid "protected"
-msgstr "защищённый"
+#: src/frontends/qt/ui/IndicesUi.ui:114
+msgid "&New:[[index]]"
+msgstr "&Новый:"
 
-#: src/buffer_funcs.cpp:75
-#, c-format
+#: src/frontends/qt/ui/IndicesUi.ui:124
 msgid ""
-"The document %1$s is already loaded and has unsaved changes.\n"
-"Do you want to abandon your changes and reload the version on disk?"
+"Enter the name of the desired index (e.g. \"Index of Names\") and hit \"Add\""
 msgstr ""
-"Документ %1$s уже загружен и содержит несохранённые изменения.\n"
-"Хотите ли вы отбросить эти изменения и загрузить версию документа с диска?"
-
-#: src/buffer_funcs.cpp:77 src/frontends/qt/GuiView.cpp:4204
-msgid "Reload saved document?"
-msgstr "Вернуться к сохранённому документу?"
+"Введите название желаемого указателя (например, «Именной указатель») и "
+"нажмите «Добавить»"
 
-#: src/buffer_funcs.cpp:78
-msgid "Yes, &Reload"
-msgstr "Да, &перезагрузить"
+#: src/frontends/qt/ui/IndicesUi.ui:131
+msgid "Add a new index to the list"
+msgstr "Добавить в список новый указатель"
 
-#: src/buffer_funcs.cpp:78
-msgid "No, &Keep Changes"
-msgstr "Нет, сохранить изменения"
+#: src/frontends/qt/ui/IndicesUi.ui:143
+msgid "A&vailable Indexes:"
+msgstr "&Доступные указатели:"
 
-#: src/buffer_funcs.cpp:100
-#, c-format
-msgid "The file %1$s exists but is not readable by the current user."
-msgstr "Файл %1$s существует, но текущий пользователь не может его прочесть."
+#: src/frontends/qt/ui/IndicesUi.ui:154
+#: src/frontends/qt/ui/ProgressViewUi.ui:168 src/frontends/qt/ui/RefUi.ui:24
+msgid "1"
+msgstr "1"
 
-#: src/buffer_funcs.cpp:103
-msgid "File not readable!"
-msgstr "Файл невозможно прочесть!"
+#: src/frontends/qt/ui/IndicesUi.ui:162
+msgid "Remove the selected index"
+msgstr "Удалить выбранный указатель"
 
-#: src/buffer_funcs.cpp:125
-#, c-format
-msgid ""
-"The document %1$s does not yet exist.\n"
-"\n"
-"Do you want to create a new document?"
-msgstr ""
-"Документ %1$s пока не существует.\n"
-"\n"
-"Хотите создать его?"
+#: src/frontends/qt/ui/IndicesUi.ui:172
+msgid "Rename the selected index"
+msgstr "Переименовать выбранный указатель"
 
-#: src/buffer_funcs.cpp:128
-msgid "Create new document?"
-msgstr "Создать новый документ?"
+#: src/frontends/qt/ui/IndicesUi.ui:175
+msgid "R&ename..."
+msgstr "Пе&реименовать..."
 
-#: src/buffer_funcs.cpp:129
-msgid "&Yes, Create New Document"
-msgstr "Да, создать новый документ"
+#: src/frontends/qt/ui/IndicesUi.ui:182
+msgid "Define or change button color"
+msgstr "Установить или изменить цвет кнопок"
 
-#: src/buffer_funcs.cpp:129
-msgid "&No, Do Not Create"
-msgstr "Нет, не создавать"
+#: src/frontends/qt/ui/InfoUi.ui:25
+msgid "Infor&mation Type:"
+msgstr "Тип информации:"
 
-#: src/buffer_funcs.cpp:157
-#, c-format
+#: src/frontends/qt/ui/InfoUi.ui:35
 msgid ""
-"The specified document template\n"
-"%1$s\n"
-"could not be read."
+"Select the type of information to be output. Then specify the requested "
+"information below."
 msgstr ""
-"Указанный шаблон документа\n"
-"%1$s\n"
-"нельзя прочесть."
-
-#: src/buffer_funcs.cpp:159
-msgid "Could not read template"
-msgstr "Невозможно прочитать шаблон"
-
-#: src/frontends/qt/BulletsModule.cpp:44
-msgid "Standard[[Bullets]]"
-msgstr "Стандартный"
-
-#: src/frontends/qt/BulletsModule.cpp:46
-msgid "Dings 1"
-msgstr "Маркер 1"
-
-#: src/frontends/qt/BulletsModule.cpp:47
-msgid "Dings 2"
-msgstr "Маркер 2"
-
-#: src/frontends/qt/BulletsModule.cpp:48
-msgid "Dings 3"
-msgstr "Маркер 3"
+"Выберите тип информации для вывода. Далее укажите соответствующую информацию "
+"ниже."
 
-#: src/frontends/qt/BulletsModule.cpp:49
-msgid "Dings 4"
-msgstr "Маркер 4"
+#: src/frontends/qt/ui/InfoUi.ui:70
+msgid "&Custom:"
+msgstr "П&ользовательские:"
 
-#: src/frontends/qt/ButtonController.cpp:226
-#: src/frontends/qt/GuiApplication.cpp:1815 src/frontends/qt/GuiCompare.cpp:193
-#: src/frontends/qt/GuiSymbols.cpp:346
-msgid "Cancel"
-msgstr "Отмена"
+#: src/frontends/qt/ui/InsetParamsUi.ui:17
+msgid "Inset Parameter Configuration"
+msgstr "Настройка параметров вставок"
 
-#: src/frontends/qt/ButtonController.cpp:228
-#: src/frontends/qt/GuiCompare.cpp:191 src/frontends/qt/GuiDelimiter.cpp:363
-#: src/frontends/qt/GuiSymbols.cpp:348
-msgid "Close"
-msgstr "Закрыть"
+#: src/frontends/qt/ui/InsetParamsUi.ui:47
+msgid "Update dialog when moving context"
+msgstr "Обновлять диалоговое окно при изменении контекста"
 
-#: src/frontends/qt/CategorizedCombo.cpp:189
-msgid "Unavailable:"
-msgstr "Недоступно:"
+#: src/frontends/qt/ui/InsetParamsUi.ui:50
+msgid "S&ynchronize Dialog"
+msgstr "Синхронизировать окно"
 
-#: src/frontends/qt/CategorizedCombo.cpp:469
-#, c-format
-msgid "Unavailable: %1$s"
-msgstr "Недоступно: %1$s"
+#: src/frontends/qt/ui/InsetParamsUi.ui:57
+msgid "Apply settings immediately"
+msgstr "Применить настройки немедленно"
 
-#: src/frontends/qt/CategorizedCombo.cpp:472
-#: src/frontends/qt/CategorizedCombo.cpp:497
-#: src/frontends/qt/CategorizedCombo.cpp:498
-msgid "Uncategorized"
-msgstr "Без категории"
+#: src/frontends/qt/ui/InsetParamsUi.ui:63
+#: src/frontends/qt/ui/ParagraphUi.ui:237
+msgid "I&mmediate Apply"
+msgstr "Применить немедленно"
 
-#: src/frontends/qt/FileDialog.cpp:188
-msgid "Directories"
-msgstr "Каталоги"
+#: src/frontends/qt/ui/LaTeXUi.ui:20
+msgid "Document &Class"
+msgstr "Класс документа"
 
-#: src/frontends/qt/FindAndReplace.cpp:284
-msgid "File"
-msgstr "Файл"
+#: src/frontends/qt/ui/LaTeXUi.ui:48
+msgid "Click to select a local document class definition file"
+msgstr "Нажмите для выбора локального файла, определяющего класс документа"
 
-#: src/frontends/qt/FindAndReplace.cpp:287
-msgid "Master document"
-msgstr "Главный документ"
+#: src/frontends/qt/ui/LaTeXUi.ui:51
+msgid "&Local Layout..."
+msgstr "&Локальный макет..."
 
-#: src/frontends/qt/FindAndReplace.cpp:290
-msgid "Open files"
-msgstr "Открытые файлы"
+#: src/frontends/qt/ui/LaTeXUi.ui:61
+msgid "Class Options"
+msgstr "Параметры класса"
 
-#: src/frontends/qt/FindAndReplace.cpp:293
-msgid "Manuals"
-msgstr "Руководства"
+#: src/frontends/qt/ui/LaTeXUi.ui:70
+msgid "Enable to use the options that are predefined in the layout file"
+msgstr "Разрешить использовать параметры, определённые в файле макета"
 
-#: src/frontends/qt/FindAndReplace.cpp:297
-#, c-format
-msgid ""
-"%1$s: the end was reached while searching forward.\n"
-"Continue searching from the beginning?"
-msgstr ""
-"%1$s: достигнут конец при поиске вперёд.\n"
-"Продолжить поиск с начала?"
+#: src/frontends/qt/ui/LaTeXUi.ui:73
+msgid "&Predefined:"
+msgstr "Встро&енные:"
 
-#: src/frontends/qt/FindAndReplace.cpp:300
-#, c-format
+#: src/frontends/qt/ui/LaTeXUi.ui:80
 msgid ""
-"%1$s: the beginning was reached while searching backward.\n"
-"Continue searching from the end?"
-msgstr ""
-"%1$s: достигнуто начало при поиске назад.\n"
-"Продолжить поиск с конца?"
+"The options that are predefined in the layout file. Click to the left to "
+"select/deselect."
+msgstr "Параметры, определённые в файле макета. Нажмите слева для выбора."
 
-#: src/frontends/qt/FindAndReplace.cpp:323
-msgid "Advanced search in progress (press ESC to cancel) . . ."
-msgstr "Идёт расширенный поиск (нажмите ESC для отмены) . . ."
+#: src/frontends/qt/ui/LaTeXUi.ui:90
+msgid "Cus&tom:"
+msgstr "П&ользовательские:"
 
-#: src/frontends/qt/FindAndReplace.cpp:369
-msgid "Advanced search cancelled by user"
-msgstr "Расширенный поиск отменён пользователем"
+#: src/frontends/qt/ui/LaTeXUi.ui:106
+msgid "&Graphics driver:"
+msgstr "&Графический драйвер:"
 
-#: src/frontends/qt/FindAndReplace.cpp:387 src/lyxfind.cpp:271
-#: src/lyxfind.cpp:539 src/lyxfind.cpp:567
-msgid "Wrap search?"
-msgstr "Продолжить поиск?"
+#: src/frontends/qt/ui/LaTeXUi.ui:136
+msgid "Select if the current document is included to a master file"
+msgstr "Отметьте, если текущий документ включается в главный документ"
 
-#: src/frontends/qt/FindAndReplace.cpp:438
-msgid "Nothing to search"
-msgstr "Нечего искать"
+#: src/frontends/qt/ui/LaTeXUi.ui:142
+msgid "Select de&fault master document"
+msgstr "&Задать главный документ"
 
-#: src/frontends/qt/FindAndReplace.cpp:486
-msgid "No open document(s) in which to search"
-msgstr "Нет открытых документов для поиска"
+#: src/frontends/qt/ui/LaTeXUi.ui:160
+msgid "&Master:"
+msgstr "&Главный документ:"
 
-#: src/frontends/qt/FindAndReplace.cpp:588
-msgid "Advanced Find and Replace"
-msgstr "Расширенный поиск и замена"
+#: src/frontends/qt/ui/LaTeXUi.ui:177
+msgid "Enter the name of the default master document"
+msgstr "Введите имя главного документа"
 
-#: src/frontends/qt/FloatPlacement.cpp:182
-#: src/frontends/qt/GuiDocument.cpp:1142 src/frontends/qt/GuiDocument.cpp:2659
-#: src/frontends/qt/GuiDocument.cpp:2686
-msgid "Class Default"
-msgstr "По умолчанию для класса"
+#: src/frontends/qt/ui/LaTeXUi.ui:196
+msgid "&Suppress default date on front page"
+msgstr "Убрать вывод даты на титульном листе"
 
-#: src/frontends/qt/FloatPlacement.cpp:184
-msgid "Document Default"
-msgstr "По умолчанию для документа"
+#: src/frontends/qt/ui/LaTeXUi.ui:216
+msgid "&Use refstyle (not prettyref) for cross-references"
+msgstr "Использовать refstyle (вместо prettyref) для перекрёстных ссылок"
 
-#: src/frontends/qt/FloatPlacement.h:38 src/frontends/qt/GuiDocument.cpp:1781
-msgid "Float Settings"
-msgstr "Плавающие объекты"
+#: src/frontends/qt/ui/LanguageUi.ui:39
+msgid "&Quote style:"
+msgstr "Вид кавычек:"
 
-#: src/frontends/qt/GuiAbout.cpp:53
-msgid "ERROR: LyX wasn't able to find the CREDITS file\n"
-msgstr "ОШИБКА: Невозможно прочитать файл CREDITS\n"
+#: src/frontends/qt/ui/LanguageUi.ui:49
+msgid "Select the default quotation marks style"
+msgstr "Выберите вид кавычек по умолчанию"
 
-#: src/frontends/qt/GuiAbout.cpp:54 src/frontends/qt/GuiAbout.cpp:59
+#: src/frontends/qt/ui/LanguageUi.ui:59
 msgid ""
-"Please install correctly to estimate the great\n"
-"amount of work other people have done for the LyX project."
+"Output quotation marks that automatically adapt to the style selected above. "
+"If this is not selected, the quotation marks will stick with the style they "
+"have been inserted with."
 msgstr ""
-"Пожалуйста, установите всё корректно, чтобы оценить\n"
-"тот огромный труд, который множество людей вложили в LyX."
+"Выходные кавычки, которые автоматически адаптируются к стилю, выбранному "
+"выше. Если этот параметр не выбран, кавычки будут совпадать со стилем, в "
+"который они были вставлены."
 
-#: src/frontends/qt/GuiAbout.cpp:58
-msgid "ERROR: LyX wasn't able to read the CREDITS file\n"
-msgstr "Ошибка: Невозможно прочитать файл CREDITS\n"
+#: src/frontends/qt/ui/LanguageUi.ui:62
+msgid "Use d&ynamic quotation marks"
+msgstr "Использовать динамические кавычки"
 
-#: src/frontends/qt/GuiAbout.cpp:95
-msgid "ERROR: LyX wasn't able to find the RELEASE-NOTES file\n"
-msgstr "Ошибка: Невозможно прочитать файл RELEASE-NOTES\n"
+#: src/frontends/qt/ui/LanguageUi.ui:89
+msgid "&Encoding:"
+msgstr "Кодировка:"
 
-#: src/frontends/qt/GuiAbout.cpp:96 src/frontends/qt/GuiAbout.cpp:101
-msgid ""
-"Please install correctly to see what has changed\n"
-"for this version of LyX."
-msgstr ""
-"Пожалуйста, установите всё корректно, чтобы увидеть изменения\n"
-"для текущей версии LyX."
+#: src/frontends/qt/ui/LanguageUi.ui:102
+msgid "Select encoding of the generated LaTeX source (LaTeX input encoding)."
+msgstr "Выберите кодировку для кода LaTeX (входная кодировка LaTeX)"
 
-#: src/frontends/qt/GuiAbout.cpp:100
-msgid "ERROR: LyX wasn't able to read the RELEASE-NOTES file\n"
-msgstr "Ошибка: Невозможно прочитать файл RELEASE-NOTES\n"
+#: src/frontends/qt/ui/LanguageUi.ui:115
+msgid "Select Unicode encoding variant."
+msgstr "Выберите вариант кодировки Юникод"
 
-#: src/frontends/qt/GuiAbout.cpp:183
-#, c-format
-msgid ""
-"LyX is Copyright (C) 1995 by Matthias Ettrich,\n"
-"1995--%1$s LyX Team"
-msgstr ""
-"LyX\n"
-"Copyright © 1995 Matthias Ettrich, 1995–%1$s команда разработки LyX"
+#: src/frontends/qt/ui/LanguageUi.ui:125
+msgid "Specify whether to load the 'inputenc' package."
+msgstr "Укажите, загружать ли пакет 'inputenc'"
 
-#: src/frontends/qt/GuiAbout.cpp:191
-msgid ""
-"This program is free software; you can redistribute it and/or modify it "
-"under the terms of the GNU General Public License as published by the Free "
-"Software Foundation; either version 2 of the License, or (at your option) "
-"any later version."
-msgstr ""
-"Эта программа является свободным программным обеспечением; вы можете "
-"распространять и/или модифицировать её согласно условиям GNU General Public "
-"License, опубликованной Фондом свободного программного обеспечения (Free "
-"Software Foundation); либо версии 2 лицензии, либо (по вашему выбору) любой "
-"более поздней версии."
+#: src/frontends/qt/ui/LanguageUi.ui:135
+msgid "Select custom encoding."
+msgstr "Выберите пользовательскую кодировку"
 
-#: src/frontends/qt/GuiAbout.cpp:197
-msgid ""
-"LyX is distributed in the hope that it will be useful, but WITHOUT ANY "
-"WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS "
-"FOR A PARTICULAR PURPOSE.\n"
-"See the GNU General Public License for more details.\n"
-"You should have received a copy of the GNU General Public License along with "
-"this program; if not, write to the Free Software Foundation, Inc., 51 "
-"Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA."
-msgstr ""
-"LyX распространяется в надежде, что он будет полезен, но БЕЗ КАКИХ-ЛИБО "
-"ГАРАНТИЙ; даже без подразумеваемой гарантии ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ "
-"КОНКРЕТНОЙ ЦЕЛИ.\n"
-"Смотрите GNU General Public License для получения дополнительной "
-"информации.\n"
-"Вы должны были получить копию лицензии вместе с этой программой; если нет, "
-"напишите в Фонд свободного программного обеспечения: Free Software "
-"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
-"USA."
+#: src/frontends/qt/ui/LanguageUi.ui:142
+msgid "Language pa&ckage:"
+msgstr "Языковой &пакет:"
 
-#: src/frontends/qt/GuiAbout.cpp:252
-msgid "not released yet"
-msgstr "ещё не выпущена"
+#: src/frontends/qt/ui/LanguageUi.ui:152
+msgid "Select which language package LyX should use"
+msgstr "Выберите используемый языковой пакет"
 
-#: src/frontends/qt/GuiAbout.cpp:257
-#, c-format
+#: src/frontends/qt/ui/LanguageUi.ui:159
 msgid ""
-"Version %1$s\n"
-"(%2$s)"
+"Enter the command to load the language package (default: \\usepackage{babel})"
 msgstr ""
-"Версия %1$s\n"
-"(%2$s)"
-
-#: src/frontends/qt/GuiAbout.cpp:265
-msgid "Built from git commit hash "
-msgstr "Собран из коммита Git с хэшем "
-
-#: src/frontends/qt/GuiAbout.cpp:278
-#, c-format
-msgid "Qt Version (run-time): %1$s"
-msgstr "Версия Qt (выполнение): %1$s"
-
-#: src/frontends/qt/GuiAbout.cpp:283
-#, c-format
-msgid "Qt Version (compile-time): %1$s"
-msgstr "Версия Qt (компиляция): %1$s"
-
-#: src/frontends/qt/GuiAbout.cpp:314
-msgid "About LyX"
-msgstr "О программе LyX"
-
-#: src/frontends/qt/GuiApplication.cpp:650
-msgid "About %1"
-msgstr "О %1"
-
-#: src/frontends/qt/GuiApplication.cpp:651 src/frontends/qt/GuiPrefs.cpp:3454
-msgid "Preferences"
-msgstr "Настройки"
-
-#: src/frontends/qt/GuiApplication.cpp:652
-msgid "Reconfigure"
-msgstr "Обновить конфигурацию"
-
-#: src/frontends/qt/GuiApplication.cpp:653
-msgid "Restore Defaults"
-msgstr "Восстановить значения по умолчанию"
-
-#: src/frontends/qt/GuiApplication.cpp:654
-msgid "Quit %1"
-msgstr "Выйти из %1"
+"Введите команду для загрузки языкового пакета (по умолчанию: "
+"\\usepackage{babel})"
 
-#: src/frontends/qt/GuiApplication.cpp:655
-msgid "&OK"
-msgstr "&OK"
+#: src/frontends/qt/ui/LineUi.ui:22
+msgid "Of&fset:"
+msgstr "Смещение:"
 
-#: src/frontends/qt/GuiApplication.cpp:657
-msgid "Apply"
-msgstr "Применить"
+#: src/frontends/qt/ui/LineUi.ui:35
+msgid "Value of the vertical line offset."
+msgstr "Вертикальное смещение линии."
 
-#: src/frontends/qt/GuiApplication.cpp:658
-msgid "Reset"
-msgstr "Сбросить"
+#: src/frontends/qt/ui/LineUi.ui:71
+msgid "Value of the line width."
+msgstr "Значение ширины линии."
 
-#: src/frontends/qt/GuiApplication.cpp:659
-msgid "Open"
-msgstr "Открыть"
+#: src/frontends/qt/ui/LineUi.ui:94
+msgid "&Thickness:"
+msgstr "Толщина:"
 
-#: src/frontends/qt/GuiApplication.cpp:1127
-msgid "Nothing to do"
-msgstr "Выполнять нечего"
+#: src/frontends/qt/ui/LineUi.ui:107
+msgid "Value of the line thickness."
+msgstr "Значение толщины линии."
 
-#: src/frontends/qt/GuiApplication.cpp:1133
-msgid "Unknown action"
-msgstr "Неизвестная команда"
+#: src/frontends/qt/ui/ListingsSettingsUi.ui:47
+msgid "Input here the listings parameters"
+msgstr "Параметры листингов"
 
-#: src/frontends/qt/GuiApplication.cpp:1177
-msgid "Command not handled"
-msgstr "Команда не обрабатывается"
+#: src/frontends/qt/ui/ListingsSettingsUi.ui:63
+#: src/frontends/qt/ui/ListingsUi.ui:479
+msgid "Feedback window"
+msgstr "Информационное окно"
 
-#: src/frontends/qt/GuiApplication.cpp:1183
-msgid "Command disabled"
-msgstr "Команда отключена"
+#: src/frontends/qt/ui/ListingsSettingsUi.ui:95
+msgid "Choose the LaTeX package for code syntax highlighting"
+msgstr "Выберите пакет LaTeX для синтаксической подсветки кода"
 
-#: src/frontends/qt/GuiApplication.cpp:1312 src/frontends/qt/GuiView.cpp:2019
-msgid "Command not allowed without a buffer open"
-msgstr "Команда недопустима без открытых документов"
+#: src/frontends/qt/ui/ListingsSettingsUi.ui:98
+msgid "&Syntax Highlighting Package:"
+msgstr "Пакет подсветки синтаксиса:"
 
-#: src/frontends/qt/GuiApplication.cpp:1319
-msgid "the <LFUN-COMMAND> argument of buffer-forall is not valid"
-msgstr "аргумент <LFUN-COMMAND> buffer-forall не верен"
+#: src/frontends/qt/ui/ListingsUi.ui:24
+msgid "&Main Settings"
+msgstr "Основные настройки"
 
-#: src/frontends/qt/GuiApplication.cpp:1396
-msgid "Wrong focus!"
-msgstr "Неверный фокус!"
+#: src/frontends/qt/ui/ListingsUi.ui:30
+msgid "Placement"
+msgstr "&Размещение"
 
-#: src/frontends/qt/GuiApplication.cpp:1527
-msgid "Running configure..."
-msgstr "Выполняется конфигурирование..."
+#: src/frontends/qt/ui/ListingsUi.ui:39
+msgid "Check for inline listings"
+msgstr "Установите для внутристрочного листинга"
 
-#: src/frontends/qt/GuiApplication.cpp:1535
-msgid "Reloading configuration..."
-msgstr "Перезагружается конфигурация..."
+#: src/frontends/qt/ui/ListingsUi.ui:42
+msgid "&Inline listing"
+msgstr "&Внутристрочный листинг"
 
-#: src/frontends/qt/GuiApplication.cpp:1542
-msgid "System reconfiguration failed"
-msgstr "Сбой обновления конфигурации системы"
+#: src/frontends/qt/ui/ListingsUi.ui:49
+msgid "Check for floating listings"
+msgstr "Установите для плавающего листинга"
 
-#: src/frontends/qt/GuiApplication.cpp:1543
-msgid ""
-"The system reconfiguration has failed.\n"
-"Default textclass is used but LyX may\n"
-"not be able to work properly.\n"
-"Please reconfigure again if needed."
-msgstr ""
-"Обновление конфигурации системы завершилось неудачно.\n"
-"Используется класс документа по умолчанию, но LyX может работать\n"
-"неправильно. При необходимости обновите конфигурацию ещё раз."
+#: src/frontends/qt/ui/ListingsUi.ui:52
+msgid "&Float"
+msgstr "&Плавающий листинг"
 
-#: src/frontends/qt/GuiApplication.cpp:1548
-msgid "System reconfigured"
-msgstr "В системе была обновлена конфигурация"
+#: src/frontends/qt/ui/ListingsUi.ui:59 src/frontends/qt/ui/WrapUi.ui:23
+msgid "Pla&cement:"
+msgstr "&Размещение:"
 
-#: src/frontends/qt/GuiApplication.cpp:1549
-msgid ""
-"The system has been reconfigured.\n"
-"You need to restart LyX to make use of any\n"
-"updated document class specifications."
-msgstr ""
-"В системе была обновлена конфигурация.\n"
-"Необходимо перезапустить LyX, чтобы использовать\n"
-"обновлённые классы документов."
+#: src/frontends/qt/ui/ListingsUi.ui:72
+msgid "Specify placement (htbp) for floating listings"
+msgstr "Установите размещение (htbp) для плавающих листингов"
 
-#: src/frontends/qt/GuiApplication.cpp:1629
-msgid "Exiting."
-msgstr "Выхожу."
+#: src/frontends/qt/ui/ListingsUi.ui:82
+msgid "Line numbering"
+msgstr "Нумерация строк"
 
-#: src/frontends/qt/GuiApplication.cpp:1727
-#, c-format
-msgid "Opening help file %1$s..."
-msgstr "Открываем файл помощи %1$s..."
+#: src/frontends/qt/ui/ListingsUi.ui:91
+msgid "&Side:"
+msgstr "&Сторона:"
 
-#: src/frontends/qt/GuiApplication.cpp:1741
-msgid "Syntax: set-color <lyx_name> <x11_name>"
-msgstr "Синтаксис: set-color <lyx_name> <x11_name>"
+#: src/frontends/qt/ui/ListingsUi.ui:101
+msgid "On which side should line numbers be printed?"
+msgstr "С какой стороны должны печататься номера строк?"
 
-#: src/frontends/qt/GuiApplication.cpp:1757
-#, c-format
-msgid "Set-color \"%1$s\" failed - color is undefined or may not be redefined"
-msgstr ""
-"Установка цвета не удалась \"%1$s\" - цвет не определён или не может быть "
-"переопределён"
+#: src/frontends/qt/ui/ListingsUi.ui:126
+msgid "S&tep:"
+msgstr "&Шаг:"
 
-#: src/frontends/qt/GuiApplication.cpp:1862
-#, c-format
-msgid "Cannot iterate more than %1$d times"
-msgstr "Невозможно итерировать более, чем %1$d раз"
+#: src/frontends/qt/ui/ListingsUi.ui:139
+msgid "Difference between two numbered lines"
+msgstr "Разница между двумя пронумерованными строками"
 
-#: src/frontends/qt/GuiApplication.cpp:1962
-#, c-format
-msgid "Applied \"%1$s\" to %2$d buffer(s)"
-msgstr "Применено \"%1$s\" к %2$d буферу(ам)"
+#: src/frontends/qt/ui/ListingsUi.ui:155
+msgid "Font si&ze:"
+msgstr "Размер шрифта:"
 
-#: src/frontends/qt/GuiApplication.cpp:2049
-#, c-format
-msgid "Document defaults saved in %1$s"
-msgstr "Настройки документа по умолчанию сохранены в %1$s"
+#: src/frontends/qt/ui/ListingsUi.ui:174
+msgid "Choose the font size for line numbers"
+msgstr "Выберите размер шрифта для номеров строк"
 
-#: src/frontends/qt/GuiApplication.cpp:2053
-msgid "Unable to save document defaults"
-msgstr "Невозможно сохранить как документ по умолчанию"
+#: src/frontends/qt/ui/ListingsUi.ui:190 src/frontends/qt/ui/TabularUi.ui:1116
+msgid "Style"
+msgstr "Стиль"
 
-#: src/frontends/qt/GuiApplication.cpp:2277
-#: src/frontends/qt/GuiApplication.cpp:2292
-msgid "Unknown function."
-msgstr "Неизвестная функция."
+#: src/frontends/qt/ui/ListingsUi.ui:199
+msgid "F&ont size:"
+msgstr "&Размер шрифта:"
 
-#: src/frontends/qt/GuiApplication.cpp:2793
-msgid "The current document was closed."
-msgstr "Текущий документ был закрыт."
+#: src/frontends/qt/ui/ListingsUi.ui:218
+msgid "The content's base font size"
+msgstr "Основной размер шрифта листинга"
 
-#: src/frontends/qt/GuiApplication.cpp:2803
-msgid ""
-"LyX has caught an exception, it will now attempt to save all unsaved "
-"documents and exit.\n"
-"\n"
-"Exception: "
-msgstr ""
-"LyX получил сообщение об ошибке, сейчас он попытается сохранить все "
-"документы и выйти.\n"
-"\n"
-"Ошибка: "
+#: src/frontends/qt/ui/ListingsUi.ui:231
+msgid "Font Famil&y:"
+msgstr "&Гарнитура шрифта:"
 
-#: src/frontends/qt/GuiApplication.cpp:2807
-#: src/frontends/qt/GuiApplication.cpp:2813
-msgid "Software exception Detected"
-msgstr "Обнаружена ошибка в программе"
+#: src/frontends/qt/ui/ListingsUi.ui:250
+msgid "The content's base font style"
+msgstr "Основная гарнитура шрифта листинга"
 
-#: src/frontends/qt/GuiApplication.cpp:2811
-msgid ""
-"LyX has caught some really weird exception, it will now attempt to save all "
-"unsaved documents and exit."
-msgstr ""
-"LyX получил сообщение о серьёзной ошибке, сейчас он попытается сохранить все "
-"документы и выйти."
+#: src/frontends/qt/ui/ListingsUi.ui:263
+msgid "Break lines longer than the linewidth"
+msgstr "Переносить строки, которые шире установленной ширины строк (linewidth)"
 
-#: src/frontends/qt/GuiApplication.cpp:3112
-#: src/frontends/qt/GuiApplication.cpp:3124
-msgid "Could not find UI definition file"
-msgstr "Не удалось найти файл определения UI"
+#: src/frontends/qt/ui/ListingsUi.ui:266
+msgid "&Break long lines"
+msgstr "&Переносить длинные строки"
 
-#: src/frontends/qt/GuiApplication.cpp:3113
-#, c-format
-msgid ""
-"Error while reading the included file\n"
-"%1$s\n"
-"Please check your installation."
-msgstr ""
-"Ошибка при чтении включённого файла\n"
-"%1$s.\n"
-"Проверьте вашу установку."
+#: src/frontends/qt/ui/ListingsUi.ui:276
+msgid "Make spaces visible by a special symbol"
+msgstr "Визуализировать пробелы специальным символом"
 
-#: src/frontends/qt/GuiApplication.cpp:3119
-msgid "Could not find default UI file"
-msgstr "На удалось найти файл UI по умолчанию"
+#: src/frontends/qt/ui/ListingsUi.ui:279
+msgid "S&pace as symbol"
+msgstr "Показывать пробелы"
 
-#: src/frontends/qt/GuiApplication.cpp:3120
-msgid ""
-"LyX could not find the default UI file!\n"
-"Please check your installation."
-msgstr ""
-"LyX не смог найти файл UI по умолчанию!\n"
-"Проверьте вашу установку."
+#: src/frontends/qt/ui/ListingsUi.ui:289
+msgid "Make spaces in strings visible by a special symbol"
+msgstr "Визуализировать пробелы в строках специальным символом"
 
-#: src/frontends/qt/GuiApplication.cpp:3125
-#, c-format
-msgid ""
-"Error while reading the configuration file\n"
-"%1$s\n"
-"Falling back to default.\n"
-"Please look under Tools>Preferences>User Interface and\n"
-"check which User Interface file you are using."
-msgstr ""
-"Ошибка при чтении конфигурационного файла\n"
-"%1$s.\n"
-"Сброс к настройкам по умолчанию.\n"
-"Посмотрите Инструменты>Настройки>Интерфейс пользователя и\n"
-"проверьте какой файл интерфейса вы используете."
+#: src/frontends/qt/ui/ListingsUi.ui:292
+msgid "Space i&n string as symbol"
+msgstr "Показывать пробелы внутри \"строк\""
 
-#: src/frontends/qt/GuiBibitem.cpp:60
-msgid "Author &Names:"
-msgstr "Имена авторов:"
+#: src/frontends/qt/ui/ListingsUi.ui:302
+msgid "Tab&ulator size:"
+msgstr "&Размер табуляции:"
 
-#: src/frontends/qt/GuiBibitem.cpp:62
-msgid ""
-"Insert the author name(s) for the author-year reference here. If you use an "
-"abbreviated list (with `et al.'), the full list can go below."
-msgstr ""
-"Вставьте здесь имя автора (имена авторов) для ссылки \"автор-год\". Если вы "
-"используете сокращенный список (с \"et al.''), полный список можно найти "
-"ниже."
+#: src/frontends/qt/ui/ListingsUi.ui:318
+msgid "Use extended character table"
+msgstr "Использовать расширенную таблицу символов"
 
-#: src/frontends/qt/GuiBibitem.cpp:66
-msgid ""
-"Pass content of the `Author', `Year' and `All Authors' fields literally to "
-"LaTeX. Check this if you want to enter LaTeX code."
-msgstr ""
-"Передавать содержимое полей `Автор', `Год' и `Все авторы' буквально в LaTeX. "
-"Установите, если хотите ввести код LaTeX."
+#: src/frontends/qt/ui/ListingsUi.ui:321
+msgid "&Extended character table"
+msgstr "Расширенная таблица символов"
 
-#: src/frontends/qt/GuiBibitem.h:36
-msgid "Bibliography Item Settings"
-msgstr "Источник"
+#: src/frontends/qt/ui/ListingsUi.ui:343
+msgid "Lan&guage:"
+msgstr "&Язык:"
 
-#: src/frontends/qt/GuiBibtex.cpp:56 src/frontends/qt/GuiBibtex.cpp:346
-msgid "BibTeX Bibliography"
-msgstr "Библиография BibTeX"
+#: src/frontends/qt/ui/ListingsUi.ui:353
+msgid "Select the programming language"
+msgstr "Выберите язык программирования"
 
-#: src/frontends/qt/GuiBibtex.cpp:68 src/frontends/qt/GuiCitation.cpp:104
-#: src/frontends/qt/GuiDocument.cpp:1664 src/frontends/qt/GuiLyXFiles.cpp:194
-#: src/frontends/qt/GuiRef.cpp:60 src/frontends/qt/PanelStack.cpp:77
-msgid "Clear text"
-msgstr "Удалить текст"
+#: src/frontends/qt/ui/ListingsUi.ui:360
+msgid "&Dialect:"
+msgstr "&Диалект:"
 
-#: src/frontends/qt/GuiBibtex.cpp:70
-msgid "All avail. databases"
-msgstr "Все доступные базы"
+#: src/frontends/qt/ui/ListingsUi.ui:370
+msgid "Select the dialect of the programming language, if available"
+msgstr "Выберите диалект языка программирования (при наличии)"
 
-#: src/frontends/qt/GuiBibtex.cpp:118
-msgid ""
-"This list consists of all databases that are indexed by LaTeX and thus are "
-"found without a file path. This is usually everything in the bib/ "
-"subdirectory of LaTeX's texmf tree. If you want to reuse your own database, "
-"this is the place you should store it."
-msgstr ""
-"Этот список содержит все базы данных, которые индексируются LaTeX и поэтому "
-"находятся без задания пути к файлу. Обычно это все файлы из каталога texmf/"
-"bib/ вашей установки LaTeX. Если вы хотите использовать свою собственную "
-"базу данных, можете сохранить её там же."
+#: src/frontends/qt/ui/ListingsUi.ui:380
+msgid "Range"
+msgstr "Диапазон"
 
-#: src/frontends/qt/GuiBibtex.cpp:138 src/frontends/qt/GuiBibtex.cpp:305
-msgid "Document Encoding"
-msgstr "Кодировка документа"
+#: src/frontends/qt/ui/ListingsUi.ui:389
+msgid "Fi&rst line:"
+msgstr "Первая строка:"
 
-#: src/frontends/qt/GuiBibtex.cpp:276
-msgid "Database"
-msgstr "База данных"
+#: src/frontends/qt/ui/ListingsUi.ui:402
+msgid "The first line to be printed"
+msgstr "Первая строка, которая будет напечатана"
 
-#: src/frontends/qt/GuiBibtex.cpp:277
-msgid "File Encoding"
-msgstr "Кодировка файла"
+#: src/frontends/qt/ui/ListingsUi.ui:415
+msgid "&Last line:"
+msgstr "Последняя строка:"
 
-#: src/frontends/qt/GuiBibtex.cpp:284
-msgid "General E&ncoding:"
-msgstr "Общая кодировка:"
+#: src/frontends/qt/ui/ListingsUi.ui:428
+msgid "The last line to be printed"
+msgstr "Последняя строка, которая будет напечатана"
 
-#: src/frontends/qt/GuiBibtex.cpp:285
-msgid ""
-"If your bibliography databases use a different encoding than the LyX "
-"document, specify it here. If indivivual databases have different encodings, "
-"you can set it in the list above."
-msgstr ""
-"Если в ваших библиографических базах данных используется кодировка, отличная "
-"от кодировки документа LyX, укажите ее здесь. Если отдельные базы данных "
-"имеют разные кодировки, вы можете установить их в вышеприведенном списке."
+#: src/frontends/qt/ui/ListingsUi.ui:445
+msgid "Ad&vanced"
+msgstr "&Дополнительно"
 
-#: src/frontends/qt/GuiBibtex.cpp:304
-msgid "General Encoding"
-msgstr "Общая кодировка"
+#: src/frontends/qt/ui/ListingsUi.ui:457
+msgid "More Parameters"
+msgstr "Больше параметров"
 
-#: src/frontends/qt/GuiBibtex.cpp:311
-msgid ""
-"If this bibliography database uses a different encoding than specified "
-"below, set it here"
+#: src/frontends/qt/ui/ListingsUi.ui:499
+msgid "Input listing parameters here. Enter ? for a list of parameters."
 msgstr ""
-"Если эта библиографическая база данных использует другую кодировку, чем "
-"указанная ниже, установите ее здесь."
-
-#: src/frontends/qt/GuiBibtex.cpp:344
-msgid "Biblatex Bibliography"
-msgstr "Библиография Biblatex"
-
-#: src/frontends/qt/GuiBibtex.cpp:362 src/insets/InsetBibtex.cpp:233
-msgid "all reference units"
-msgstr "все ссылки"
-
-#: src/frontends/qt/GuiBibtex.cpp:458 src/frontends/qt/GuiBibtex.cpp:468
-#: src/frontends/qt/GuiCompare.cpp:163 src/frontends/qt/GuiCompare.cpp:167
-#: src/frontends/qt/GuiDocument.cpp:2837 src/frontends/qt/GuiExternal.cpp:677
-#: src/frontends/qt/GuiGraphics.cpp:791 src/frontends/qt/GuiInclude.cpp:330
-#: src/frontends/qt/GuiLyXFiles.cpp:368 src/frontends/qt/GuiLyXFiles.cpp:374
-#: src/frontends/qt/GuiView.cpp:2392 src/frontends/qt/GuiView.cpp:2451
-#: src/frontends/qt/GuiView.cpp:2589 src/frontends/qt/GuiView.cpp:2723
-#: src/frontends/qt/GuiView.cpp:2842 src/frontends/qt/GuiView.cpp:2964
-msgid "D&ocuments"
-msgstr "Документы"
-
-#: src/frontends/qt/GuiBibtex.cpp:460
-msgid "BibTeX Databases (*.bib)"
-msgstr "Базы данных BibTeX (*.bib)"
-
-#: src/frontends/qt/GuiBibtex.cpp:462
-msgid "Select a BibTeX database to add"
-msgstr "Добавить базу данных BiBTeX"
-
-#: src/frontends/qt/GuiBibtex.cpp:470
-msgid "BibTeX Styles (*.bst)"
-msgstr "Стили BibTeX (*.bst)"
-
-#: src/frontends/qt/GuiBibtex.cpp:472
-msgid "Select a BibTeX style"
-msgstr "Выберите стиль BibTeX"
-
-#: src/frontends/qt/GuiBox.cpp:58
-msgid "No frame"
-msgstr "Без рамки"
-
-#: src/frontends/qt/GuiBox.cpp:58
-msgid "Simple rectangular frame"
-msgstr "Простая прямоугольная рамка"
+"Введите здесь параметры, которые нужно вывести. Введите ? для того чтобы "
+"вывести все параметры."
 
-#: src/frontends/qt/GuiBox.cpp:59
-msgid "Oval frame, thin"
-msgstr "Тонкая овальная рамка"
+#: src/frontends/qt/ui/LocalLayoutUi.ui:20
+msgid "Document-specific layout information"
+msgstr "Локальный макет текущего документа"
 
-#: src/frontends/qt/GuiBox.cpp:59
-msgid "Oval frame, thick"
-msgstr "Толстая овальная рамка"
+#: src/frontends/qt/ui/LocalLayoutUi.ui:38
+msgid "&Validate"
+msgstr "&Проверить"
 
-#: src/frontends/qt/GuiBox.cpp:60
-msgid "Drop shadow"
-msgstr "Рамка с тенью"
+#: src/frontends/qt/ui/LocalLayoutUi.ui:48
+#: src/frontends/qt/ui/LocalLayoutUi.ui:94
+msgid "Errors reported in terminal."
+msgstr "Ошибки показаны в терминале."
 
-#: src/frontends/qt/GuiBox.cpp:60
-msgid "Shaded background"
-msgstr "Закрашенный фон"
+#: src/frontends/qt/ui/LocalLayoutUi.ui:74 src/frontends/qt/ui/PreambleUi.ui:45
+msgid "Editor for Latex (plain) format will be used"
+msgstr "Будет использован редактор для формата LaTeX (plain)"
 
-#: src/frontends/qt/GuiBox.cpp:61
-msgid "Double rectangular frame"
-msgstr "Двойная прямоугольная рамка"
+#: src/frontends/qt/ui/LocalLayoutUi.ui:84
+msgid "Convert"
+msgstr "Преобразовать"
 
-#: src/frontends/qt/GuiBox.cpp:74
-msgid "Depth"
-msgstr "Глубина"
+#: src/frontends/qt/ui/LogUi.ui:25
+msgid "Log &Type:"
+msgstr "Тип &журнала:"
 
-#: src/frontends/qt/GuiBox.cpp:75
-msgid "Total Height"
-msgstr "Полная высота"
+#: src/frontends/qt/ui/LogUi.ui:71
+msgid "Jump to the next error message."
+msgstr "Перейти к следующему сообщению от ошибке."
 
-#: src/frontends/qt/GuiBox.cpp:428 src/frontends/qt/GuiBox.cpp:636
-#: src/insets/InsetBox.cpp:141
-msgid "Makebox"
-msgstr "Makebox"
+#: src/frontends/qt/ui/LogUi.ui:74
+msgid "Next &Error"
+msgstr "Следующая &ошибка"
 
-#: src/frontends/qt/GuiBox.h:44
-msgid "Box Settings"
-msgstr "Блок"
+#: src/frontends/qt/ui/LogUi.ui:84
+msgid "Jump to the next warning message."
+msgstr "Перейти к следующему предупреждению."
 
-#: src/frontends/qt/GuiBranch.h:35
-msgid "Branch Settings"
-msgstr "Ветка"
+#: src/frontends/qt/ui/LogUi.ui:87
+msgid "Next &Warning"
+msgstr "Следующее &предупреждение"
 
-#: src/frontends/qt/GuiBranches.cpp:53 src/insets/Inset.cpp:114
-msgid "Branch"
-msgstr "Ветка"
+#: src/frontends/qt/ui/LogUi.ui:101
+msgid "&Find:"
+msgstr "Н&айти:"
 
-#: src/frontends/qt/GuiBranches.cpp:54
-msgid "Activated"
-msgstr "Включено"
+#: src/frontends/qt/ui/LogUi.ui:111
+msgid "Hit Enter or click 'Find Next' to search"
+msgstr "Нажмите Enter или 'Найти далее' для поиска"
 
-#: src/frontends/qt/GuiBranches.cpp:56
-msgid "Filename Suffix"
-msgstr "Суффикс файла"
+#: src/frontends/qt/ui/LogUi.ui:130
+msgid "&Open Containing Directory"
+msgstr "&Открыть каталог"
 
-#: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:143
-#: src/frontends/qt/GuiDocument.cpp:3276 src/frontends/qt/GuiDocument.cpp:4568
-#: src/frontends/qt/GuiProgressView.cpp:144
-#: src/frontends/qt/GuiProgressView.cpp:158
-#: src/frontends/qt/GuiProgressView.cpp:179
-msgid "Yes"
-msgstr "Да"
+#: src/frontends/qt/ui/LogUi.ui:156
+msgid "Update the display"
+msgstr "Обновить экран"
 
-#: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:143
-#: src/frontends/qt/GuiDocument.cpp:3275 src/frontends/qt/GuiDocument.cpp:3906
-#: src/frontends/qt/GuiDocument.cpp:4567
-#: src/frontends/qt/GuiProgressView.cpp:110
-#: src/frontends/qt/GuiProgressView.cpp:143
-#: src/frontends/qt/GuiProgressView.cpp:179
-msgid "No"
-msgstr "Нет"
+#: src/frontends/qt/ui/LyXFilesUi.ui:23
+msgid "Filter"
+msgstr "Фильтр"
 
-#: src/frontends/qt/GuiBranches.cpp:209
-msgid "Enter new branch name"
-msgstr "Введите название новой ветки"
+#: src/frontends/qt/ui/LyXFilesUi.ui:32 src/frontends/qt/ui/MathMatrixUi.ui:109
+msgid "&Type:"
+msgstr "&Тип:"
 
-#: src/frontends/qt/GuiBranches.cpp:215
-#, c-format
+#: src/frontends/qt/ui/LyXFilesUi.ui:48
 msgid ""
-"A branch with the name \"%1$s\" already exists.\n"
-"Do you want to merge branch \"%2$s\" with that one?"
+"Determines whether only personal user files, system files or all files are "
+"displayed"
 msgstr ""
-"Ветка с именем \"%1$s\" уже существует.\n"
-"Хотите объединить ветку \"%2$s\" с ней?"
-
-#: src/frontends/qt/GuiBranches.cpp:219
-msgid "&Merge"
-msgstr "Объединить"
-
-#: src/frontends/qt/GuiBranches.cpp:227 src/frontends/qt/GuiIndices.cpp:243
-msgid "Renaming failed"
-msgstr "Переименование не удалось"
-
-#: src/frontends/qt/GuiBranches.cpp:228
-msgid "The branch could not be renamed."
-msgstr "Ветку невозможно переименовать."
-
-#: src/frontends/qt/GuiChanges.cpp:41
-msgid "Merge Changes"
-msgstr "Объединить изменения"
-
-#: src/frontends/qt/GuiChanges.cpp:77
-msgid "Inserted by %1"
-msgstr "Вставлено автором %1"
-
-#: src/frontends/qt/GuiChanges.cpp:78
-msgid "Deleted by %1"
-msgstr "Удалено автором %1"
-
-#: src/frontends/qt/GuiChanges.cpp:84
-msgid " on[[date]] %1"
-msgstr " [[date]] %1"
-
-#: src/frontends/qt/GuiChanges.cpp:86
-msgid "Inserted on %1"
-msgstr "Вставка %1"
-
-#: src/frontends/qt/GuiChanges.cpp:87
-msgid "Deleted on %1"
-msgstr "Удаление %1"
-
-#: src/frontends/qt/GuiCharacter.cpp:52 src/frontends/qt/GuiCharacter.cpp:65
-#: src/frontends/qt/GuiCharacter.cpp:86 src/frontends/qt/GuiCharacter.cpp:99
-#: src/frontends/qt/GuiCharacter.cpp:137 src/frontends/qt/GuiCharacter.cpp:148
-#: src/frontends/qt/GuiCharacter.cpp:191 src/frontends/qt/GuiCharacter.cpp:244
-msgid "No change"
-msgstr "Без изменений"
+"Определяет, отображаются ли только личные пользовательские файлы, системные "
+"файлы или все файлы."
 
-#: src/frontends/qt/GuiCharacter.cpp:57
-msgid "Small Caps"
-msgstr "Капитель"
+#: src/frontends/qt/ui/LyXFilesUi.ui:72 src/frontends/qt/ui/RefUi.ui:68
+msgid "Filter case-sensitively"
+msgstr "Фильтровать с учётом регистра"
 
-#: src/frontends/qt/GuiCharacter.cpp:88
-msgid "(Without)[[underlining]]"
-msgstr "(нет)"
+#: src/frontends/qt/ui/LyXFilesUi.ui:75 src/frontends/qt/ui/RefUi.ui:71
+msgid "Case Sensiti&ve"
+msgstr "Учитывать &регистр"
 
-#: src/frontends/qt/GuiCharacter.cpp:89
-msgid "Single[[underlining]]"
-msgstr "Одинарное"
+#: src/frontends/qt/ui/LyXFilesUi.ui:110
+msgid "The available language(s) of the selected file will be displayed here"
+msgstr "Доступные языки для выбранного файла"
 
-#: src/frontends/qt/GuiCharacter.cpp:90
-msgid "Double[[underlining]]"
-msgstr "Двойное"
+#: src/frontends/qt/ui/MarginsUi.ui:28
+msgid "Use the margin settings provided by the document class"
+msgstr "Использовать параметры полей класса документа"
 
-#: src/frontends/qt/GuiCharacter.cpp:91
-msgid "Wavy"
-msgstr "Волной"
+#: src/frontends/qt/ui/MarginsUi.ui:31
+msgid "&Default margins"
+msgstr "Поля по умолчанию"
 
-#: src/frontends/qt/GuiCharacter.cpp:101
-msgid "(Without)[[strikethrough]]"
-msgstr "(нет)"
+#: src/frontends/qt/ui/MarginsUi.ui:89
+msgid "&Top:"
+msgstr "Сверху:"
 
-#: src/frontends/qt/GuiCharacter.cpp:102
-msgid "Single[[strikethrough]]"
-msgstr "Одинарное"
+#: src/frontends/qt/ui/MarginsUi.ui:102
+msgid "&Bottom:"
+msgstr "Снизу:"
 
-#: src/frontends/qt/GuiCharacter.cpp:103
-msgid "With /"
-msgstr "Штриховое"
+#: src/frontends/qt/ui/MarginsUi.ui:115
+msgid "&Inner:"
+msgstr "Внутри:"
 
-#: src/frontends/qt/GuiCharacter.cpp:193
-msgid "(Without)[[color]]"
-msgstr "(нет)"
+#: src/frontends/qt/ui/MarginsUi.ui:128
+msgid "O&uter:"
+msgstr "Снаружи:"
 
-#: src/frontends/qt/GuiCharacter.cpp:210
-msgid "Text Properties"
-msgstr "Свойства текста"
+#: src/frontends/qt/ui/MarginsUi.ui:141
+msgid "Head &sep:"
+msgstr "Промежуток до верхнего колонтитула:"
 
-#: src/frontends/qt/GuiCharacter.cpp:276
-msgid "Reset All To &Default"
-msgstr "Сбросить все на \"По умолчанию\""
+#: src/frontends/qt/ui/MarginsUi.ui:154
+msgid "Head &height:"
+msgstr "Высота верхнего колонтитула:"
 
-#: src/frontends/qt/GuiCharacter.cpp:277
-msgid "Reset All To No Chan&ge"
-msgstr "Сбросить все на \"Без изменений\""
+#: src/frontends/qt/ui/MarginsUi.ui:167
+msgid "&Foot skip:"
+msgstr "Промежуток до нижнего колонтитула:"
 
-#: src/frontends/qt/GuiCharacter.cpp:282
-msgid "&Reset All Fields"
-msgstr "Сбросить все поля"
+#: src/frontends/qt/ui/MarginsUi.ui:180
+msgid "&Column sep:"
+msgstr "Промежуток между колонками:"
 
-#: src/frontends/qt/GuiCitation.cpp:95
-msgid "Citation"
-msgstr "Библиографическая ссылка"
+#: src/frontends/qt/ui/MasterChildUi.ui:20
+msgid "Master Document Output"
+msgstr "Вывод главного документа"
 
-#: src/frontends/qt/GuiCitation.cpp:106
-msgid "All avail. citations"
-msgstr "Все доступные источники"
+#: src/frontends/qt/ui/MasterChildUi.ui:29
+msgid "Include all subdocuments in the output"
+msgstr "Включить в вывод все поддокументы"
 
-#: src/frontends/qt/GuiCitation.cpp:112
-msgid "Regular e&xpression"
-msgstr "&Регулярное выражение"
+#: src/frontends/qt/ui/MasterChildUi.ui:32
+msgid "&Include all children"
+msgstr "Включить все дочерние документы"
 
-#: src/frontends/qt/GuiCitation.cpp:114
-msgid "Case se&nsitive"
-msgstr "Учитывать &регистр"
+#: src/frontends/qt/ui/MasterChildUi.ui:39
+msgid "Include only the selected subdocuments in the output"
+msgstr "Включить в вывод только выбранные поддокументы"
 
-#: src/frontends/qt/GuiCitation.cpp:116
-msgid "Search as you &type"
-msgstr "Искать во время &ввода текста"
+#: src/frontends/qt/ui/MasterChildUi.ui:42
+msgid "Include only &selected children"
+msgstr "Включить выбранные дочерние документы"
 
-#: src/frontends/qt/GuiCitation.cpp:178
+#: src/frontends/qt/ui/MasterChildUi.ui:58
 msgid ""
-"Ordered list of all cited references.\n"
-"You can reorder, add and remove references with the buttons on the left."
+"Here you can set up the handling of counters and references with regard to "
+"the excluded child documents."
 msgstr ""
-"Упорядоченный список всех процитированных источников.\n"
-"Вы можете изменить порядок, добавить или удалить источники, используя кнопки "
-"слева."
-
-#: src/frontends/qt/GuiCitation.cpp:294
-msgid "General text befo&re:"
-msgstr "Общий текст до:"
-
-#: src/frontends/qt/GuiCitation.cpp:295 src/frontends/qt/GuiCitation.cpp:299
-msgid "General &text after:"
-msgstr "Общий текст после:"
+"Здесь можно настроить работу со счётчиками и ссылками с учётом исключённых "
+"дочерних документов."
 
-#: src/frontends/qt/GuiCitation.cpp:296
-msgid ""
-"Text that precedes the whole reference list. For text that precedes "
-"individual items, double-click on the respective entry above."
-msgstr ""
-"Текст, предшествующий всему списку ссылок. Для текста, предшествующего "
-"отдельным пунктам, дважды щёлкните соответствующую запись выше."
+#: src/frontends/qt/ui/MasterChildUi.ui:61
+msgid "Global Counters && References"
+msgstr "Общие счётчики и ссылки"
 
-#: src/frontends/qt/GuiCitation.cpp:300
+#: src/frontends/qt/ui/MasterChildUi.ui:67
 msgid ""
-"Text that follows the whole reference list. For text that follows individual "
-"items, double-click on the respective entry above."
-msgstr ""
-"Текст, который следует за всем списком ссылок. Для текста, следующего за "
-"отдельными пунктами, дважды щёлкните соответствующую запись выше."
-
-#: src/frontends/qt/GuiCitation.cpp:306
-msgid "Text that precedes the reference (e.g., \"cf.\")"
-msgstr "Текст до ссылки (например, \"сравн.\")"
-
-#: src/frontends/qt/GuiCitation.cpp:312
-msgid "Text that follows the reference (e.g., pages)"
-msgstr "Текст после ссылки (например, \"стр.\")"
-
-#: src/frontends/qt/GuiCitation.cpp:320
-msgid "Force upper case in names (\"Del Piero\", not \"del Piero\")."
+"All counters and references of excluded child documents will be ignored, "
+"thus the counters in the output will differ from an output of the complete "
+"document.<br>This is the fastest method. Use this if you do not need correct "
+"counter values and references."
 msgstr ""
-"Принудительный верхний регистр в именах (\"Да Винчи\", вместо \"да Винчи\")."
-
-#: src/frontends/qt/GuiCitation.cpp:355
-msgid "Always list all authors (rather than using \"et al.\")"
-msgstr "Всегда показывать всех авторов (вместо \"и др.\")"
+"Все счётчики и ссылки исключенных дочерних документов будут игнорироваться, "
+"при этом счётчики в выводе будут отличаться от вывода полного документа."
+"<br>Это самый быстрый метод. Используйте его, если вам не нужны правильные "
+"значения счётчиков и ссылок."
 
-#: src/frontends/qt/GuiCitation.cpp:361
-msgid "All references available for citing."
-msgstr "Все источники, доступные для цитирования."
+#: src/frontends/qt/ui/MasterChildUi.ui:70
+msgid "Do &not maintain (fast)"
+msgstr "Не поддерживать (быстро)"
 
-#: src/frontends/qt/GuiCitation.cpp:363
+#: src/frontends/qt/ui/MasterChildUi.ui:77
 msgid ""
-"All references available for citing.\n"
-"To add the selected one, hit Add, press Enter or double-click.\n"
-"Hit Ctrl-Enter to add and close the dialog."
+"Counters and references of excluded child documents will be set up once and "
+"adapted if an excluded document has been modified. This sets up counters and "
+"references correctly in most cases, but it does not adjust page references "
+"to unincluded children that change due to changes of included files.<br>This "
+"is significantly faster than \"Strictly maintain\". Use this if you need "
+"correct counters and more or less correct references."
 msgstr ""
-"Все источники, доступные для цитирования.\n"
-"Чтобы добавить выделенный, нажмите кнопку Добавить, клавишу Enter или "
-"используйте двойной щелчок мышью.\n"
-"Нажмите Ctrl-Enter, чтобы добавить источник и закрыть это окно."
-
-#: src/frontends/qt/GuiCitation.cpp:440
-msgid "Keys"
-msgstr "Ключи"
-
-#: src/frontends/qt/GuiCitation.cpp:481
-msgid "Displays a sketchy preview if a citation is selected above"
-msgstr "Отображает примерный печатный вид для выделенного источника"
-
-#: src/frontends/qt/GuiCitation.cpp:485
-msgid "Sketchy preview of the selected citation"
-msgstr "Предварительный просмотр источника в библиографии"
-
-#: src/frontends/qt/GuiCitation.cpp:596
-msgid "Enter string to filter the list of available citations"
-msgstr "Введите строку для фильтрации списка доступных источников"
+"Счётчики и ссылки для исключённых дочерних документов настраиваются один раз "
+"и адаптируются при изменениях исключённого документа. В большинстве случаев "
+"это позволяет корректно поддерживать счётчики и ссылки, но не корректирует "
+"ссылки на страницы исключённых дочерних документов, которые изменяются в "
+"результате изменения включённых файлов.<br>Это значительно быстрее, чем "
+"\"Строго поддерживать\". Используйте это, если вам нужны корректные счётчики "
+"и более или менее корректные ссылки."
 
-#: src/frontends/qt/GuiCitation.cpp:597
-msgid ""
-"Enter string to filter the list of available citations and press <Enter>"
-msgstr ""
-"Введите строку для фильтрации списка доступных источников и нажмите <Enter>"
+#: src/frontends/qt/ui/MasterChildUi.ui:80
+msgid "Maintain mostl&y (medium)"
+msgstr "Поддерживать большинство"
 
-#: src/frontends/qt/GuiCitation.cpp:598
+#: src/frontends/qt/ui/MasterChildUi.ui:87
 msgid ""
-"\n"
-"The down arrow key will get you into the list of filtered citations."
+"Assure that all counters and references are identical to the complete "
+"document. This can be much slower than the first two methods.<br>Use this if "
+"you absolutely need correct counters."
 msgstr ""
-"\n"
-"Клавиша 'Стрелка вниз' переведёт вас в список отфильтрованных источников."
-
-#: src/frontends/qt/GuiCitation.cpp:662
-msgid "Text before"
-msgstr "Текст до"
-
-#: src/frontends/qt/GuiCitation.cpp:663
-msgid "Cite key"
-msgstr "Ключ источника"
-
-#: src/frontends/qt/GuiCitation.cpp:664
-msgid "Text after"
-msgstr "Текст после"
-
-#: src/frontends/qt/GuiClipboard.cpp:174
-msgid "LinkBack PDF"
-msgstr "LinkBack PDF"
-
-#: src/frontends/qt/GuiClipboard.cpp:177
-msgid "JPEG"
-msgstr "JPEG"
-
-#: src/frontends/qt/GuiClipboard.cpp:186
-msgid "pasted"
-msgstr "вставлено"
-
-#: src/frontends/qt/GuiClipboard.cpp:195
-#, c-format
-msgid "%1$s Files"
-msgstr "Файлы %1$s"
+"Гарантировать что все счётчики и ссылки идентичны полному документу. Это "
+"может быть намного медленнее, чем первые два метода.<br>Используйте это, "
+"если вам абсолютно необходимы правильные счётчики."
 
-#: src/frontends/qt/GuiClipboard.cpp:205
-msgid "Choose a filename to save the pasted graphic as"
-msgstr "Выберите имя файла, для сохранения вставленной графики"
+#: src/frontends/qt/ui/MasterChildUi.ui:90
+msgid "Strictly &maintain (slow)"
+msgstr "Строго поддерживать (медленно)"
 
-#: src/frontends/qt/GuiClipboard.cpp:215 src/frontends/qt/GuiView.cpp:2465
-#: src/frontends/qt/GuiView.cpp:2608 src/frontends/qt/GuiView.cpp:2624
-#: src/frontends/qt/GuiView.cpp:2636 src/frontends/qt/GuiView.cpp:2653
-#: src/frontends/qt/GuiView.cpp:2738 src/frontends/qt/GuiView.cpp:4176
-msgid "Canceled."
-msgstr "Отменено."
+#: src/frontends/qt/ui/MathMatrixUi.ui:53
+msgid "Horizontal alignment per column (l,c,r)"
+msgstr "Горизонтальное выравнивание в столбце (l,c,r)"
 
-#: src/frontends/qt/GuiClipboard.cpp:245
-msgid "Overwrite external file?"
-msgstr "Перезаписать внешний файл?"
+#: src/frontends/qt/ui/MathMatrixUi.ui:60
+msgid "&Vertical:"
+msgstr "&Вертикальное:"
 
-#: src/frontends/qt/GuiClipboard.cpp:246
-#, c-format
-msgid "File %1$s already exists, do you want to overwrite it?"
-msgstr "Файл %1$s уже существует, перезаписать?"
+#: src/frontends/qt/ui/MathMatrixUi.ui:73
+msgid "Vertical alignment"
+msgstr "Вертикальное выравнивание"
 
-#: src/frontends/qt/GuiCommandBuffer.cpp:106
-msgid "List of previous commands"
-msgstr "Список предыдущих команд"
+#: src/frontends/qt/ui/MathMatrixUi.ui:80
+msgid "Hori&zontal:"
+msgstr "&Горизонтальное:"
 
-#: src/frontends/qt/GuiCommandBuffer.cpp:110
-msgid "Next command"
-msgstr "Следующая команда"
+#: src/frontends/qt/ui/MathMatrixUi.ui:100
+msgid "Appearance"
+msgstr "Вид"
 
-#: src/frontends/qt/GuiCompare.cpp:44
-msgid "Compare LyX files"
-msgstr "Сравнить файлы LyX"
+#: src/frontends/qt/ui/MathMatrixUi.ui:122
+msgid "decoration type / matrix border"
+msgstr "Скобки матрицы"
 
-#: src/frontends/qt/GuiCompare.cpp:155
-msgid "Select document"
-msgstr "Выберите документ"
+#: src/frontends/qt/ui/MathMatrixUi.ui:149
+#: src/frontends/qt/ui/MathMatrixUi.ui:162
+#: src/frontends/qt/ui/TabularCreateUi.ui:27
+#: src/frontends/qt/ui/TabularCreateUi.ui:40
+msgid "Number of rows"
+msgstr "Количество строк"
 
-#: src/frontends/qt/GuiCompare.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:367
-#: src/frontends/qt/GuiView.cpp:2396 src/frontends/qt/GuiView.cpp:2454
-#: src/frontends/qt/GuiView.cpp:2727 src/frontends/qt/GuiView.cpp:2853
-msgid "LyX Documents (*.lyx)"
-msgstr "Документы LyX (*.lyx)"
+#: src/frontends/qt/ui/MathMatrixUi.ui:152
+#: src/frontends/qt/ui/TabularCreateUi.ui:30
+msgid "&Rows:"
+msgstr "&Строк:"
 
-#: src/frontends/qt/GuiCompare.cpp:199
-msgid "Error while comparing documents."
-msgstr "Ошибка сравнения документов."
+#: src/frontends/qt/ui/MathMatrixUi.ui:178
+#: src/frontends/qt/ui/MathMatrixUi.ui:191
+#: src/frontends/qt/ui/TabularCreateUi.ui:60
+#: src/frontends/qt/ui/TabularCreateUi.ui:73
+msgid "Number of columns"
+msgstr "Количество столбцов"
 
-#: src/frontends/qt/GuiCompare.cpp:218
-msgid "Aborted"
-msgstr "Прервано"
+#: src/frontends/qt/ui/MathMatrixUi.ui:181
+#: src/frontends/qt/ui/TabularCreateUi.ui:63
+msgid "&Columns:"
+msgstr "&Столбцов:"
 
-#: src/frontends/qt/GuiCompare.cpp:230
-msgid "Finished"
-msgstr "Завершено"
+#: src/frontends/qt/ui/MathMatrixUi.ui:231
+#: src/frontends/qt/ui/TabularCreateUi.ui:112
+msgid "Resize this to the correct table dimensions"
+msgstr "Меняйте размер этой таблицы для задания размера матрицы"
 
-#: src/frontends/qt/GuiCompare.cpp:264
-msgid "Aborting process..."
-msgstr "Прерывание процесса..."
+#: src/frontends/qt/ui/MathsUi.ui:51
+msgid "All packages:"
+msgstr "Все пакеты:"
 
-#: src/frontends/qt/GuiCompare.cpp:315
-msgid "differences"
-msgstr "различия"
+#: src/frontends/qt/ui/MathsUi.ui:58
+msgid "Load A&utomatically"
+msgstr "Автоматически"
 
-#: src/frontends/qt/GuiCompareHistory.cpp:37
-msgid "Compare different revisions"
-msgstr "Сравнение разных версий"
+#: src/frontends/qt/ui/MathsUi.ui:65
+msgid "Load Alwa&ys"
+msgstr "Всегда загружать"
 
-#: src/frontends/qt/GuiCounter.h:37
-msgid "Counters"
-msgstr "Счётчик"
+#: src/frontends/qt/ui/MathsUi.ui:72
+msgid "Do &Not Load"
+msgstr "Не загружать"
 
-#: src/frontends/qt/GuiDelimiter.cpp:61
-msgid "big[[delimiter size]]"
-msgstr "большой"
+#: src/frontends/qt/ui/MathsUi.ui:79
+msgid "Indent displayed formulas instead of centering"
+msgstr "Отступ для выделенных формул вместо центрирования"
 
-#: src/frontends/qt/GuiDelimiter.cpp:62
-msgid "Big[[delimiter size]]"
-msgstr "Большой"
+#: src/frontends/qt/ui/MathsUi.ui:82
+msgid "Indent &formulas"
+msgstr "Отступ для формул"
 
-#: src/frontends/qt/GuiDelimiter.cpp:63
-msgid "bigg[[delimiter size]]"
-msgstr "огромный"
+#: src/frontends/qt/ui/MathsUi.ui:98 src/frontends/qt/ui/TextLayoutUi.ui:183
+msgid "Size of the indentation"
+msgstr "Размер отступа"
 
-#: src/frontends/qt/GuiDelimiter.cpp:64
-msgid "Bigg[[delimiter size]]"
-msgstr "Огромный"
+#: src/frontends/qt/ui/MathsUi.ui:176
+msgid "Formula numbering side:"
+msgstr "Сторона нумерации формулы:"
 
-#: src/frontends/qt/GuiDelimiter.cpp:184
-msgid "Math Delimiter"
-msgstr "Ограничители"
+#: src/frontends/qt/ui/MathsUi.ui:192
+msgid "Side where formulas are numbered"
+msgstr "Сторона, с которой нумеруются формулы"
 
-#: src/frontends/qt/GuiDelimiter.cpp:244 src/frontends/qt/GuiDelimiter.cpp:245
-#: src/frontends/qt/GuiDelimiter.cpp:455 src/frontends/qt/GuiDelimiter.cpp:457
-msgid "(None)"
-msgstr "(Нет)"
+#: src/frontends/qt/ui/ModulesUi.ui:57
+msgid "A&vailable:"
+msgstr "Доступные:"
 
-#: src/frontends/qt/GuiDelimiter.cpp:249
-msgid "Variable"
-msgstr "переменный"
+#: src/frontends/qt/ui/ModulesUi.ui:126
+#: src/frontends/qt/ui/PrefConvertersUi.ui:266
+#: src/frontends/qt/ui/SpellcheckerUi.ui:178
+msgid "A&dd"
+msgstr "&Добавить"
 
-#: src/frontends/qt/GuiDocument.cpp:233
-msgid "Module not found!"
-msgstr "Модуль не найден!"
+#: src/frontends/qt/ui/ModulesUi.ui:133
+msgid "De&lete"
+msgstr "&Удалить"
 
-#: src/frontends/qt/GuiDocument.cpp:598 src/frontends/qt/GuiDocument.cpp:770
-msgid "&End Edit"
-msgstr "Завершить редактирование"
+#: src/frontends/qt/ui/ModulesUi.ui:186
+msgid "S&elected:"
+msgstr "&Выбранные:"
 
-#: src/frontends/qt/GuiDocument.cpp:658
-msgid "Validation required!"
-msgstr "Требуется проверка!"
+#: src/frontends/qt/ui/NomenclUi.ui:22
+msgid "Sy&mbol:"
+msgstr "&Символ:"
 
-#: src/frontends/qt/GuiDocument.cpp:708
-msgid "Layout is valid!"
-msgstr "Макет без ошибок!"
+#: src/frontends/qt/ui/NomenclUi.ui:39
+msgid "Des&cription:"
+msgstr "Описание:"
 
-#: src/frontends/qt/GuiDocument.cpp:709
-msgid "Layout is invalid!"
-msgstr "Макет содержит ошибки!"
+#: src/frontends/qt/ui/NomenclUi.ui:56
+msgid "Sort &as:"
+msgstr "Сортировать как:"
 
-#: src/frontends/qt/GuiDocument.cpp:721
-msgid "Conversion to current format impossible!"
-msgstr "Преобразование в текущий формат невозможно!"
+#: src/frontends/qt/ui/NomenclUi.ui:69
+msgid ""
+"Pass content of the `Symbol' and `Description' fields literally to LaTeX. "
+"Check this if you want to enter LaTeX code."
+msgstr ""
+"Передавать содержимое полей `Символ' и `Описание' буквально в LaTeX. "
+"Установите, если хотите ввести код LaTeX."
 
-#: src/frontends/qt/GuiDocument.cpp:722
-msgid "Conversion to current stable format impossible."
-msgstr "Преобразование в текущий стабильный формат невозможно."
+#: src/frontends/qt/ui/NoteUi.ui:23 src/frontends/qt/ui/PhantomUi.ui:23
+msgid "Type"
+msgstr "Тип"
 
-#: src/frontends/qt/GuiDocument.cpp:727
-msgid "Convert to current format"
-msgstr "Преобразовать в текущий формат"
+#: src/frontends/qt/ui/NoteUi.ui:44
+msgid "LyX internal only"
+msgstr "Внутренний элемент LyX"
 
-#: src/frontends/qt/GuiDocument.cpp:905 src/frontends/qt/GuiInclude.cpp:49
-msgid "Child Document"
-msgstr "Дочерний документ"
+#: src/frontends/qt/ui/NoteUi.ui:47
+msgid "LyX &Note"
+msgstr "&Заметка"
 
-#: src/frontends/qt/GuiDocument.cpp:906
-msgid "Include to Output"
-msgstr "Включить в выходной файл"
+#: src/frontends/qt/ui/NoteUi.ui:54
+msgid "Export to LaTeX/Docbook but don't print"
+msgstr "Экспортировать в LaTeX/Docbook без печати"
 
-#: src/frontends/qt/GuiDocument.cpp:988
-msgid "Unicode (utf8)"
-msgstr "Юникод (utf8)"
+#: src/frontends/qt/ui/NoteUi.ui:57
+msgid "&Comment"
+msgstr "Комментарий"
 
-#: src/frontends/qt/GuiDocument.cpp:989
-msgid "Traditional (auto-selected)"
-msgstr "Традиционная (автовыбор)"
+#: src/frontends/qt/ui/NoteUi.ui:64
+msgid "Print as grey text"
+msgstr "Напечатать как серый текст"
 
-#: src/frontends/qt/GuiDocument.cpp:992
-msgid "Select Unicode (utf8) encoding."
-msgstr "Выберите кодировку Юникод (utf8)."
+#: src/frontends/qt/ui/NoteUi.ui:67
+msgid "&Greyed out"
+msgstr "&Серый текст"
 
-#: src/frontends/qt/GuiDocument.cpp:994
-msgid "Use language-dependent traditional encodings."
-msgstr "Использовать традиционные кодировки для выбранных языков"
+#: src/frontends/qt/ui/NumberingUi.ui:37
+msgid "Add line numbers to the document"
+msgstr "Добавить нумерацию строк в документ"
 
-#: src/frontends/qt/GuiDocument.cpp:996
-msgid "Select a custom, document-wide encoding."
-msgstr "Выберите пользовательскую кодировку для документа."
+#: src/frontends/qt/ui/NumberingUi.ui:40
+msgid "L&ine numbering"
+msgstr "Нумерация строк"
 
-#: src/frontends/qt/GuiDocument.cpp:1005
-msgid "Standard Unicode support by the ``inputenc'' package."
-msgstr "Поддержка стандартного Юникода пакетом ``inputenc''."
+#: src/frontends/qt/ui/NumberingUi.ui:63
+msgid "O&ptions:"
+msgstr "&Параметры:"
 
-#: src/frontends/qt/GuiDocument.cpp:1008
+#: src/frontends/qt/ui/NumberingUi.ui:73
 msgid ""
-"Use UTF-8 'as-is': do not load any supporting packages, do not convert any "
-"characters to LaTeX macros. For use with non-TeX fonts (XeTeX/LuaTeX) or "
-"custom preamble code."
+"Line numbering (lineno package) options. Please refer to the lineno package "
+"manual for details."
 msgstr ""
-"Использовать UTF-8 'как есть': не загружать пакеты поддержки, не "
-"конвертировать символы в макросы LaTeX. Для использования с системными "
-"шрифтами (XeTeX/LuaTeX) или пользовательским кодом преамбулы."
+"Настройки нумерации строк (пакет lineno). Обратитесь к документации пакета "
+"за подробностями."
 
-#: src/frontends/qt/GuiDocument.cpp:1013
-msgid ""
-"Load ``inputenc'' with option 'utf8x' for extended Unicode support by the "
-"``ucs'' package."
-msgstr ""
-"Загружать ``inputenc'' с опцией 'utf8x' для расширенной поддержки Unicode "
-"пакетом ``ucs''."
+#: src/frontends/qt/ui/NumberingUi.ui:82
+msgid "&List in Table of Contents"
+msgstr "&Отображать в содержании"
 
-#: src/frontends/qt/GuiDocument.cpp:1017
-msgid "Language Default (no inputenc)"
-msgstr "По умолчанию для языка (без inputenc)"
+#: src/frontends/qt/ui/NumberingUi.ui:108
+msgid "&Numbering"
+msgstr "Нумерация"
 
-#: src/frontends/qt/GuiDocument.cpp:1019
-msgid ""
-"Use the traditional default encoding of the text language. Switch encoding "
-"if a text part is set to a language with different default."
-msgstr ""
-"Использовать традиционную кодировку по умолчанию для языка текста. "
-"Переключите кодировку, если для части текста установлен другой язык по "
-"умолчанию."
+#: src/frontends/qt/ui/OutputUi.ui:20
+msgid "DocBook Output Options"
+msgstr "Параметры вывода DocBook"
 
-#: src/frontends/qt/GuiDocument.cpp:1023
-msgid ""
-"Do not load the 'inputenc' package. Switch encoding if required but do not "
-"write input encoding switch commands to the source."
-msgstr ""
-"Не загружать пакет 'inputenc'. При необходимости переключите кодировку, но "
-"не записывайте команды переключения входной кодировки в документ."
+#: src/frontends/qt/ui/OutputUi.ui:35
+msgid "&Table output:"
+msgstr "Вывод таблиц:"
 
-#: src/frontends/qt/GuiDocument.cpp:1137
-msgid "10"
-msgstr "10"
+#: src/frontends/qt/ui/OutputUi.ui:51 src/frontends/qt/ui/OutputUi.ui:203
+msgid "Format to use for math output."
+msgstr "Формат для использования в математическом выводе."
 
-#: src/frontends/qt/GuiDocument.cpp:1138
-msgid "11"
-msgstr "11"
+#: src/frontends/qt/ui/OutputUi.ui:55 src/frontends/qt/ui/OutputUi.ui:212
+msgid "HTML"
+msgstr "HTML"
 
-#: src/frontends/qt/GuiDocument.cpp:1139
-msgid "12"
-msgstr "12"
+#: src/frontends/qt/ui/OutputUi.ui:60
+msgid "CALS"
+msgstr "CALS"
 
-#: src/frontends/qt/GuiDocument.cpp:1141
-msgid "Automatic[[encoding]]"
-msgstr "Автоматическая"
+#: src/frontends/qt/ui/OutputUi.ui:84
+msgid "LyX Format"
+msgstr "Формат LyX"
 
-#: src/frontends/qt/GuiDocument.cpp:1151
+#: src/frontends/qt/ui/OutputUi.ui:96
 msgid ""
-"Use OpenType and TrueType fonts directly (requires XeTeX or LuaTeX)\n"
-"You need to install the package \"fontspec\" to use this feature"
+"Save all parameters in the LyX file, including ones that are frequently "
+"switched or that are specific to the user (such as the output of the tracked "
+"changes, or the document directory path). Disabling this option plays nicer "
+"in collaborative settings and with version control systems."
 msgstr ""
-"Использовать шрифты OpenType и TrueType (требуется XeTeX или LuaTeX)\n"
-"Необходимо установить пакет \"fontspec\" для использования этой возможности"
-
-#: src/frontends/qt/GuiDocument.cpp:1183
-msgid "empty"
-msgstr "пустой"
-
-#: src/frontends/qt/GuiDocument.cpp:1184
-msgid "plain"
-msgstr "простой"
-
-#: src/frontends/qt/GuiDocument.cpp:1185
-msgid "headings"
-msgstr "с заголовками"
-
-#: src/frontends/qt/GuiDocument.cpp:1186
-msgid "fancy"
-msgstr "красивый (fancy)"
-
-#: src/frontends/qt/GuiDocument.cpp:1195
-msgid "US letter"
-msgstr "US letter"
-
-#: src/frontends/qt/GuiDocument.cpp:1196
-msgid "US legal"
-msgstr "US legal"
-
-#: src/frontends/qt/GuiDocument.cpp:1197
-msgid "US executive"
-msgstr "US executive"
-
-#: src/frontends/qt/GuiDocument.cpp:1198
-msgid "A0"
-msgstr "A0"
-
-#: src/frontends/qt/GuiDocument.cpp:1199
-msgid "A1"
-msgstr "A1"
-
-#: src/frontends/qt/GuiDocument.cpp:1200
-msgid "A2"
-msgstr "A2"
-
-#: src/frontends/qt/GuiDocument.cpp:1201
-msgid "A3"
-msgstr "A3"
-
-#: src/frontends/qt/GuiDocument.cpp:1202
-msgid "A4"
-msgstr "A4"
-
-#: src/frontends/qt/GuiDocument.cpp:1203
-msgid "A5"
-msgstr "A5"
-
-#: src/frontends/qt/GuiDocument.cpp:1204
-msgid "A6"
-msgstr "A6"
-
-#: src/frontends/qt/GuiDocument.cpp:1205
-msgid "B0"
-msgstr "B0"
-
-#: src/frontends/qt/GuiDocument.cpp:1206
-msgid "B1"
-msgstr "B1"
-
-#: src/frontends/qt/GuiDocument.cpp:1207
-msgid "B2"
-msgstr "B2"
-
-#: src/frontends/qt/GuiDocument.cpp:1208
-msgid "B3"
-msgstr "B3"
-
-#: src/frontends/qt/GuiDocument.cpp:1209
-msgid "B4"
-msgstr "B4"
-
-#: src/frontends/qt/GuiDocument.cpp:1210
-msgid "B5"
-msgstr "B5"
-
-#: src/frontends/qt/GuiDocument.cpp:1211
-msgid "B6"
-msgstr "B6"
-
-#: src/frontends/qt/GuiDocument.cpp:1212
-msgid "C0"
-msgstr "C0"
-
-#: src/frontends/qt/GuiDocument.cpp:1213
-msgid "C1"
-msgstr "C1"
-
-#: src/frontends/qt/GuiDocument.cpp:1214
-msgid "C2"
-msgstr "C2"
-
-#: src/frontends/qt/GuiDocument.cpp:1215
-msgid "C3"
-msgstr "C3"
-
-#: src/frontends/qt/GuiDocument.cpp:1216
-msgid "C4"
-msgstr "C4"
-
-#: src/frontends/qt/GuiDocument.cpp:1217
-msgid "C5"
-msgstr "C5"
-
-#: src/frontends/qt/GuiDocument.cpp:1218
-msgid "C6"
-msgstr "C6"
-
-#: src/frontends/qt/GuiDocument.cpp:1219
-msgid "JIS B0"
-msgstr "JIS B0"
-
-#: src/frontends/qt/GuiDocument.cpp:1220
-msgid "JIS B1"
-msgstr "JIS B1"
-
-#: src/frontends/qt/GuiDocument.cpp:1221
-msgid "JIS B2"
-msgstr "JIS B2"
-
-#: src/frontends/qt/GuiDocument.cpp:1222
-msgid "JIS B3"
-msgstr "JIS B3"
-
-#: src/frontends/qt/GuiDocument.cpp:1223
-msgid "JIS B4"
-msgstr "JIS B4"
+"Сохранять все параметры в файле LyX, включая часто переключаемые или "
+"специфичные для пользователя (например, результат отслеживаемых изменений "
+"или путь к каталогу документа). Отключение этой опции полезно при совместной "
+"работе над документом и при использовании систем управления версиями."
 
-#: src/frontends/qt/GuiDocument.cpp:1224
-msgid "JIS B5"
-msgstr "JIS B5"
+#: src/frontends/qt/ui/OutputUi.ui:99
+msgid "Save &transient properties"
+msgstr "Сохранять промежуточные свойства"
 
-#: src/frontends/qt/GuiDocument.cpp:1225
-msgid "JIS B6"
-msgstr "JIS B6"
+#: src/frontends/qt/ui/OutputUi.ui:109
+msgid "Output Format"
+msgstr "Формат вывода"
 
-#: src/frontends/qt/GuiDocument.cpp:1348
-msgid "Numbered"
-msgstr "Нумеруется"
+#: src/frontends/qt/ui/OutputUi.ui:150 src/frontends/qt/ui/OutputUi.ui:163
+msgid "Specify the default output format (for view/update)"
+msgstr "Укажите формат вывода по умолчанию (для просмотра/обновления)"
 
-#: src/frontends/qt/GuiDocument.cpp:1349
-msgid "Appears in TOC"
-msgstr "Отображается в содержании"
+#: src/frontends/qt/ui/OutputUi.ui:153
+msgid "De&fault output format:"
+msgstr "&Формат вывода по умолчанию:"
 
-#: src/frontends/qt/GuiDocument.cpp:1437
-msgid "Package"
-msgstr "Пакет"
+#: src/frontends/qt/ui/OutputUi.ui:188
+msgid "XHTML Output Options"
+msgstr "Параметры вывода XHTML"
 
-#: src/frontends/qt/GuiDocument.cpp:1437
-msgid "Load automatically"
-msgstr "Автоматически"
+#: src/frontends/qt/ui/OutputUi.ui:207
+msgid "MathML"
+msgstr "MathML"
 
-#: src/frontends/qt/GuiDocument.cpp:1438
-msgid "Load always"
-msgstr "Всегда загружать"
+#: src/frontends/qt/ui/OutputUi.ui:217
+msgid "Images"
+msgstr "Изображения"
 
-#: src/frontends/qt/GuiDocument.cpp:1438
-msgid "Do not load"
-msgstr "Не загружать"
+#: src/frontends/qt/ui/OutputUi.ui:230
+msgid "Write CSS to file"
+msgstr "Записать CSS в файл"
 
-#: src/frontends/qt/GuiDocument.cpp:1450
-msgid "The AMS LaTeX packages are always used"
-msgstr "Пакеты AMS LaTeX используются всегда"
+#: src/frontends/qt/ui/OutputUi.ui:243
+msgid "&Math output:"
+msgstr "Вывод формул:"
 
-#: src/frontends/qt/GuiDocument.cpp:1453
-#, c-format
-msgid "The LaTeX package %1$s is always used"
-msgstr "Пакет LaTeX %1$s используется всегда"
+#: src/frontends/qt/ui/OutputUi.ui:259
+msgid "Math &image scaling:"
+msgstr "Масштаб изображений в формулах:"
 
-#: src/frontends/qt/GuiDocument.cpp:1458
-msgid "The AMS LaTeX packages are never used"
-msgstr "Пакеты AMS LaTeX никогда не используются"
+#: src/frontends/qt/ui/OutputUi.ui:269
+msgid "Whether to comply strictly with XHTML 1.1."
+msgstr "Обеспечивать ли строгое соответствие XHTML 1.1."
 
-#: src/frontends/qt/GuiDocument.cpp:1461
-#, c-format
-msgid "The LaTeX package %1$s is never used"
-msgstr "Пакет LaTeX %1$s никогда не используется"
+#: src/frontends/qt/ui/OutputUi.ui:272
+msgid "&Strict XHTML 1.1"
+msgstr "Строгий XHTML 1.1"
 
-#: src/frontends/qt/GuiDocument.cpp:1598 src/frontends/qt/GuiDocument.cpp:2816
-#, c-format
-msgid "%1$s [Class '%2$s']"
-msgstr "%1$s [Класс '%2$s']"
+#: src/frontends/qt/ui/OutputUi.ui:285
+msgid "Scaling factor for images used for math output."
+msgstr "Масштаб для изображений в математическом выводе."
 
-#: src/frontends/qt/GuiDocument.cpp:1601
-#, c-format
+#: src/frontends/qt/ui/OutputUi.ui:320
 msgid ""
-"Class not found by LyX. Please check if you have the matching %1$s class and "
-"all required packages (%2$s) installed."
-msgstr ""
-"LyX не нашёл класс. Проверьте, установлен ли у вас соответствующий класс "
-"(%1$s) и все необходимые пакеты (%2$s)."
-
-#: src/frontends/qt/GuiDocument.cpp:1666
-msgid "All avail. modules"
-msgstr "Все доступные модули"
-
-#: src/frontends/qt/GuiDocument.cpp:1758 src/frontends/qt/GuiDocument.cpp:1981
-msgid "Input listings parameters below. Enter ? for a list of parameters."
+"Runs the LaTeX backend with the -shell-escape option (Warning: use only when "
+"really necessary)"
 msgstr ""
-"Введите параметры листингов в нижнее окно. Введите ? для того, чтобы увидеть "
-"список параметров."
-
-#: src/frontends/qt/GuiDocument.cpp:1765
-msgid "Document Class"
-msgstr "Класс документа"
-
-#: src/frontends/qt/GuiDocument.cpp:1768
-msgid "Local Layout"
-msgstr "Локальный макет"
-
-#: src/frontends/qt/GuiDocument.cpp:1770
-msgid "Text Layout"
-msgstr "Макет текста"
-
-#: src/frontends/qt/GuiDocument.cpp:1772
-msgid "Page Margins"
-msgstr "Поля страницы"
-
-#: src/frontends/qt/GuiDocument.cpp:1774 src/frontends/qt/GuiPrefs.cpp:1057
-msgid "Colors"
-msgstr "Цвета"
-
-#: src/frontends/qt/GuiDocument.cpp:1775
-msgid "Change Tracking"
-msgstr "Отслеживание изменений"
-
-#: src/frontends/qt/GuiDocument.cpp:1776
-msgid "Numbering & TOC"
-msgstr "Нумерация и содержание"
-
-#: src/frontends/qt/GuiDocument.cpp:1778
-msgid "Indexes"
-msgstr "Указатели"
+"Запускать LaTeX с опцией -shell-escape (Предупреждение: используйте только в "
+"случае необходимости)"
 
-#: src/frontends/qt/GuiDocument.cpp:1779
-msgid "PDF Properties"
-msgstr "Свойства PDF"
+#: src/frontends/qt/ui/OutputUi.ui:323
+msgid "&Allow running external programs"
+msgstr "Разрешить выполнение внешних программ"
 
-#: src/frontends/qt/GuiDocument.cpp:1780
-msgid "Math Options"
-msgstr "Математика"
+#: src/frontends/qt/ui/OutputUi.ui:330
+msgid "LaTeX Output Options"
+msgstr "Параметры вывода LaTeX"
 
-#: src/frontends/qt/GuiDocument.cpp:1783
-msgid "Bullets"
-msgstr "Маркеры"
+#: src/frontends/qt/ui/OutputUi.ui:338
+msgid "Enable forward/reverse search between editor and output (e.g., SyncTeX)"
+msgstr "Включить прямой/обратный поиск между редактором и выводом (SyncTeX)"
 
-#: src/frontends/qt/GuiDocument.cpp:1785
-msgid "Formats[[output]]"
-msgstr "Форматы"
+#: src/frontends/qt/ui/OutputUi.ui:341
+msgid "S&ynchronize with output"
+msgstr "Синхронизировать с выводом"
 
-#: src/frontends/qt/GuiDocument.cpp:1786
-msgid "LaTeX Preamble"
-msgstr "Преамбула LaTeX"
+#: src/frontends/qt/ui/OutputUi.ui:366
+msgid "C&ustom macro:"
+msgstr "Пользовательский макрос:"
 
-#: src/frontends/qt/GuiDocument.cpp:2174 src/frontends/qt/GuiDocument.cpp:2204
-msgid "&Default..."
-msgstr "По умолчанию..."
+#: src/frontends/qt/ui/OutputUi.ui:376
+msgid "Custom LaTeX preamble macro"
+msgstr "Пользовательская макрос в преамбуле LaTeX"
 
-#: src/frontends/qt/GuiDocument.cpp:2401
-msgid "Direct (No inputenc)"
-msgstr "Прямая (без inputenc)"
+#: src/frontends/qt/ui/OutputUi.ui:403
+msgid ""
+"If this is checked, fragile items such as labels and index entries are moved "
+"out of moving arguments such as sections and captions. This prevents LaTeX "
+"errors that can happen in such cases. It is recommended to keep this on."
+msgstr ""
+"Если этот флажок установлен, хрупкие элементы, такие как метки и рубрики "
+"указателя, извлекаются из перемещаемых аргументов, таких как разделы и "
+"подписи. Это предотвращает ошибки LaTeX, которые могут произойти в таких "
+"случаях. Рекомендуется оставить включенным."
 
-#: src/frontends/qt/GuiDocument.cpp:2403
-msgid "Direct (XeTeX/LuaTeX)"
-msgstr "Прямая (XeTeX/LuaTeX)"
+#: src/frontends/qt/ui/OutputUi.ui:406
+msgid "Put fra&gile content out of moving arguments"
+msgstr "Извлекать хрупкое содержимое из перемещаемых аргументов"
 
-#: src/frontends/qt/GuiDocument.cpp:2589 src/frontends/qt/GuiDocument.cpp:4248
-#: src/frontends/qt/GuiDocument.cpp:4257 src/frontends/qt/GuiDocument.cpp:4266
-#: src/frontends/qt/GuiDocument.cpp:4275
-msgid " (not installed)"
-msgstr " (не установлен)"
+#: src/frontends/qt/ui/PDFSupportUi.ui:38
+msgid "&Use hyperref support"
+msgstr "Использовать поддержку hyperref"
 
-#: src/frontends/qt/GuiDocument.cpp:2618
-msgid "Non-TeX Fonts Default"
-msgstr "Системные шрифты по умолчанию"
+#: src/frontends/qt/ui/PDFSupportUi.ui:72
+msgid "&General"
+msgstr "&Общие"
 
-#: src/frontends/qt/GuiDocument.cpp:2620
-msgid " (not available)"
-msgstr " (не доступен)"
+#: src/frontends/qt/ui/PDFSupportUi.ui:119
+msgid "Header Information"
+msgstr "Информация заголовка"
 
-#: src/frontends/qt/GuiDocument.cpp:2621
-msgid "Class Default (TeX Fonts)"
-msgstr "По умолчанию для класса (шрифты TeX)"
+#: src/frontends/qt/ui/PDFSupportUi.ui:134
+msgid "&Title:"
+msgstr "&Название:"
 
-#: src/frontends/qt/GuiDocument.cpp:2768
-msgid "Lay&outs"
-msgstr "Макеты"
+#: src/frontends/qt/ui/PDFSupportUi.ui:147
+msgid "&Author:"
+msgstr "&Автор:"
 
-#: src/frontends/qt/GuiDocument.cpp:2770
-msgid "LyX Layout (*.layout)"
-msgstr "Макеты LyX (*.layout)"
+#: src/frontends/qt/ui/PDFSupportUi.ui:160
+msgid "Sub&ject:"
+msgstr "Тема:"
 
-#: src/frontends/qt/GuiDocument.cpp:2772 src/frontends/qt/GuiDocument.cpp:2781
-msgid "Local layout file"
-msgstr "Локальный файл макета"
+#: src/frontends/qt/ui/PDFSupportUi.ui:173
+msgid "&Keywords:"
+msgstr "&Ключевые слова:"
 
-#: src/frontends/qt/GuiDocument.cpp:2782
+#: src/frontends/qt/ui/PDFSupportUi.ui:206
 msgid ""
-"The layout file you have selected is a local layout\n"
-"file, not one in the system or user directory.\n"
-"Your document will not work with this layout if you\n"
-"move the layout file to a different directory."
+"If not stated explicitly, fill title and author from appropriate environments"
 msgstr ""
-"Выбранный файл макета - это локальный файл макета,\n"
-"он не находится в системном или пользовательском каталоге.\n"
-"Ваш документ не сможет работать с этим макетом, если\n"
-"файл макета будет перемещён в другой каталог."
-
-#: src/frontends/qt/GuiDocument.cpp:2786
-msgid "&Set Layout"
-msgstr "&Установить макет"
-
-#: src/frontends/qt/GuiDocument.cpp:2800
-msgid "Unable to read local layout file."
-msgstr "Не удалось прочитать локальный файл макета."
-
-#: src/frontends/qt/GuiDocument.cpp:2817
-msgid "This is a local layout file."
-msgstr "Это локальный файл макета."
-
-#: src/frontends/qt/GuiDocument.cpp:2831
-msgid "Select master document"
-msgstr "Выберите основной документ"
-
-#: src/frontends/qt/GuiDocument.cpp:2835
-msgid "LyX Files (*.lyx)"
-msgstr "Файлы LyX (*.lyx)"
+"Если не указано явно, заполнить поля названия и автора из соответствующих "
+"окружений"
 
-#: src/frontends/qt/GuiDocument.cpp:2859 src/frontends/qt/GuiDocument.cpp:3163
-#: src/frontends/qt/GuiDocument.cpp:4759
-msgid "Unapplied changes"
-msgstr "Неприменённые изменения"
+#: src/frontends/qt/ui/PDFSupportUi.ui:209
+msgid "Automatically fi&ll header"
+msgstr "Автоматически запо&лнять заголовок"
 
-#: src/frontends/qt/GuiDocument.cpp:2860 src/frontends/qt/GuiDocument.cpp:3164
-#: src/frontends/qt/GuiDocument.cpp:4760
-msgid ""
-"Some changes in the dialog were not yet applied.\n"
-"If you do not apply now, they will be lost after this action."
-msgstr ""
-"Некоторые изменения в диалоге ещё не приняты.\n"
-"Если вы не примените их сейчас, они будут\n"
-"потеряны после этого действия."
+#: src/frontends/qt/ui/PDFSupportUi.ui:216
+msgid "Enable fullscreen PDF presentation"
+msgstr "Разрешить полноэкранный показ PDF-презентаций"
 
-#: src/frontends/qt/GuiDocument.cpp:2862 src/frontends/qt/GuiDocument.cpp:3166
-#: src/frontends/qt/GuiDocument.cpp:4762
-msgid "&Apply"
-msgstr "&Применить"
+#: src/frontends/qt/ui/PDFSupportUi.ui:219
+msgid "Load in &fullscreen mode"
+msgstr "Запуск в полноэкранном режиме"
 
-#: src/frontends/qt/GuiDocument.cpp:2862 src/frontends/qt/GuiDocument.cpp:3166
-#: src/frontends/qt/GuiDocument.cpp:4762
-msgid "&Dismiss"
-msgstr "&Отклонить"
+#: src/frontends/qt/ui/PDFSupportUi.ui:229
+msgid "H&yperlinks"
+msgstr "&Гиперссылки"
 
-#: src/frontends/qt/GuiDocument.cpp:2873 src/frontends/qt/GuiDocument.cpp:4770
-msgid "Unable to set document class."
-msgstr "Не удалось установить класс документа."
+#: src/frontends/qt/ui/PDFSupportUi.ui:280
+msgid "Allows link text to break across lines."
+msgstr "Разрешить разрывать текст ссылок по строкам"
 
-#: src/frontends/qt/GuiDocument.cpp:3039
-msgid "Basic numerical"
-msgstr "Числовые"
+#: src/frontends/qt/ui/PDFSupportUi.ui:283
+msgid "B&reak links over lines"
+msgstr "Разрывать ссылки по строкам"
 
-#: src/frontends/qt/GuiDocument.cpp:3042
-msgid "Author-year"
-msgstr "Автор-год"
+#: src/frontends/qt/ui/PDFSupportUi.ui:290
+msgid "No &frames around links"
+msgstr "Без &рамок вокруг ссылок"
 
-#: src/frontends/qt/GuiDocument.cpp:3045
-msgid "Author-number"
-msgstr "Автор-число"
+#: src/frontends/qt/ui/PDFSupportUi.ui:300
+msgid "C&olor links"
+msgstr "&Цветные ссылки"
 
-#: src/frontends/qt/GuiDocument.cpp:3088
-#, c-format
-msgid "%1$s and %2$s"
-msgstr "%1$s и %2$s"
+#: src/frontends/qt/ui/PDFSupportUi.ui:307
+msgid "Bibliographical backreferences"
+msgstr "Обратные библиографические ссылки"
 
-#: src/frontends/qt/GuiDocument.cpp:3095
-#, c-format
-msgid "%1$s, %2$s"
-msgstr "%1$s, %2$s"
+#: src/frontends/qt/ui/PDFSupportUi.ui:310
+msgid "B&ackreferences:"
+msgstr "&Обратные ссылки:"
 
-#: src/frontends/qt/GuiDocument.cpp:3100
-#, c-format
-msgid "%1$s, %2$s, and %3$s"
-msgstr "%1$s, %2$s, и %3$s"
+#: src/frontends/qt/ui/PDFSupportUi.ui:339
+msgid "&Bookmarks"
+msgstr "&Закладки"
 
-#: src/frontends/qt/GuiDocument.cpp:3114
-#, c-format
-msgid "%1$s (unavailable)"
-msgstr "%1$s (недоступно)"
+#: src/frontends/qt/ui/PDFSupportUi.ui:360
+msgid "G&enerate bookmarks (toc)"
+msgstr "&Создавать закладки"
 
-#: src/frontends/qt/GuiDocument.cpp:3213
-msgid "Module provided by document class."
-msgstr "Модуль представляемый классом документа."
+#: src/frontends/qt/ui/PDFSupportUi.ui:390
+msgid "&Numbered bookmarks"
+msgstr "&Нумерованные закладки"
 
-#: src/frontends/qt/GuiDocument.cpp:3221
-#, c-format
-msgid "<p><b>Category:</b> %1$s.</p>"
-msgstr "<p><b>Категория:</b> %1$s.</p>"
+#: src/frontends/qt/ui/PDFSupportUi.ui:397
+msgid "&Open bookmark tree"
+msgstr "&Открывать дерево закладок"
 
-#: src/frontends/qt/GuiDocument.cpp:3231
-#, c-format
-msgid "<p><b>Package(s) required:</b> %1$s.</p>"
-msgstr "<p><b>Требуются пакеты:</b> %1$s.</p>"
+#: src/frontends/qt/ui/PDFSupportUi.ui:431
+msgid "Number of levels"
+msgstr "Число уровней"
 
-#: src/frontends/qt/GuiDocument.cpp:3237
-msgid "or"
-msgstr "или"
+#: src/frontends/qt/ui/PDFSupportUi.ui:473
+msgid "Additional O&ptions"
+msgstr "Дополнительные &параметры"
 
-#: src/frontends/qt/GuiDocument.cpp:3240
-#, c-format
-msgid "<p><b>Modules required:</b> %1$s.</p>"
-msgstr "<p><b>Требуются модули:</b> %1$s.</p>"
+#: src/frontends/qt/ui/PDFSupportUi.ui:509
+msgid "e.g.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
+msgstr "Например: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
 
-#: src/frontends/qt/GuiDocument.cpp:3249
-#, c-format
-msgid "<p><b>Modules excluded:</b> %1$s.</p>"
-msgstr "<p><b>Исключённые модули:</b> %1$s.</p>"
+#: src/frontends/qt/ui/PageLayoutUi.ui:20
+msgid "Paper Format"
+msgstr "Формат бумаги"
 
-#: src/frontends/qt/GuiDocument.cpp:3254
-#, c-format
-msgid "<p><b>Filename:</b> <tt>%1$s.module</tt>.</p>"
-msgstr "<p><b>Имя файла:</b> <tt>%1$s.module</tt>.</p>"
+#: src/frontends/qt/ui/PageLayoutUi.ui:29
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:20
+msgid "&Format:"
+msgstr "&Формат:"
 
-#: src/frontends/qt/GuiDocument.cpp:3259
-msgid ""
-"<p><font color=red><b>WARNING: Some required packages are unavailable!</b></"
-"font></p>"
+#: src/frontends/qt/ui/PageLayoutUi.ui:45
+msgid "Choose a particular paper size, or set your own with \"Custom\""
 msgstr ""
-"<p><font color=red><b>ПРЕДУПРЕЖДЕНИЕ: Некоторые требуемые пакеты недоступны!"
-"</b></font></p>"
-
-#: src/frontends/qt/GuiDocument.cpp:3908
-msgid "per part"
-msgstr "на часть"
-
-#: src/frontends/qt/GuiDocument.cpp:3910
-msgid "per chapter"
-msgstr "на главу"
-
-#: src/frontends/qt/GuiDocument.cpp:3912
-msgid "per section"
-msgstr "на раздел"
+"Установите размер бумаги или задайте собственный, выбрав \"Задано "
+"пользователем\""
 
-#: src/frontends/qt/GuiDocument.cpp:3914
-msgid "per subsection"
-msgstr "на подраздел"
+#: src/frontends/qt/ui/PageLayoutUi.ui:126
+msgid "&Orientation:"
+msgstr "&Ориентация:"
 
-#: src/frontends/qt/GuiDocument.cpp:3915
-msgid "per child document"
-msgstr "на дочерний документ"
+#: src/frontends/qt/ui/PageLayoutUi.ui:136
+msgid "&Portrait"
+msgstr "&Книжная"
 
-#: src/frontends/qt/GuiDocument.cpp:4168
-msgid "[No options predefined]"
-msgstr "[Не предопределено никаких параметров]"
+#: src/frontends/qt/ui/PageLayoutUi.ui:146
+msgid "&Landscape"
+msgstr "&Альбомная"
 
-#: src/frontends/qt/GuiDocument.cpp:4434
-msgid "C&ustomize Hyperref Options"
-msgstr "Настроить параметры hyperref"
+#: src/frontends/qt/ui/PageLayoutUi.ui:171
+msgid "Page &style:"
+msgstr "Стиль &колонтитулов:"
 
-#: src/frontends/qt/GuiDocument.cpp:4436
-msgid "&Use Hyperref Support"
-msgstr "Поддержка hyperref"
+#: src/frontends/qt/ui/PageLayoutUi.ui:187
+msgid "Style used for the page header and footer"
+msgstr "Стиль для верхнего и нижнего колонтитула"
 
-#: src/frontends/qt/GuiDocument.cpp:4782
-msgid "Can't set layout!"
-msgstr "Не удалось установить макет!"
+#: src/frontends/qt/ui/PageLayoutUi.ui:207
+msgid "Lay out the page for double-sided printing"
+msgstr "Компоновать страницы для двухсторонней печати"
 
-#: src/frontends/qt/GuiDocument.cpp:4783
-#, c-format
-msgid "Unable to set layout for ID: %1$s"
-msgstr "Не удалось установить макет для ID: %1$s"
+#: src/frontends/qt/ui/PageLayoutUi.ui:210
+msgid "&Two-sided document"
+msgstr "&Двухсторонний документ"
 
-#: src/frontends/qt/GuiDocument.cpp:4881
-msgid "Not Found"
-msgstr "Не найдено"
+#: src/frontends/qt/ui/ParagraphUi.ui:23
+msgid "Line &spacing"
+msgstr "Междустрочный &интервал"
 
-#: src/frontends/qt/GuiDocument.cpp:4943
-msgid "Assigned master does not include this file"
-msgstr "Указанный основной документ не включает этот файл"
+#: src/frontends/qt/ui/ParagraphUi.ui:65
+msgid "1.5"
+msgstr "Полуторный"
 
-#: src/frontends/qt/GuiDocument.cpp:4944
-#, c-format
-msgid ""
-"You must include this file in the document\n"
-"'%1$s' in order to use the master document\n"
-"feature."
-msgstr ""
-"Вы должны включить этот файл в документ\n"
-"'%1$s', если хотите использовать основной\n"
-"документ."
+#: src/frontends/qt/ui/ParagraphUi.ui:110
+msgid "&Justified"
+msgstr "&По ширине"
 
-#: src/frontends/qt/GuiDocument.cpp:4948
-msgid "Could not load master"
-msgstr "Не удалось загрузить основной файл"
+#: src/frontends/qt/ui/ParagraphUi.ui:131 src/frontends/qt/ui/TabularUi.ui:1570
+msgid "Ri&ght"
+msgstr "С&права"
 
-#: src/frontends/qt/GuiDocument.cpp:4949
-#, c-format
-msgid ""
-"The master document '%1$s'\n"
-"could not be loaded."
+#: src/frontends/qt/ui/ParagraphUi.ui:138
+msgid "Use the default alignment for this paragraph, whatever it is."
 msgstr ""
-"Основной документ '%1$s'\n"
-"не может быть загружен."
-
-#: src/frontends/qt/GuiDocument.cpp:5093
-msgid "%1 (missing req.)"
-msgstr "%1 (не уст. пакет)"
-
-#: src/frontends/qt/GuiDocument.cpp:5105
-msgid "personal module"
-msgstr "персональный модуль"
-
-#: src/frontends/qt/GuiDocument.cpp:5105
-msgid "distributed module"
-msgstr "распространяемый модуль"
-
-#: src/frontends/qt/GuiDocument.cpp:5106
-msgid "<b>Module name:</b> <i>%1</i> (%2)"
-msgstr "<b>Имя модуля:</b> <i>%1</i> (%2)"
-
-#: src/frontends/qt/GuiDocument.cpp:5112
-msgid "<b>Note:</b> Some requirements for this module are missing!"
-msgstr "<b>Замечание:</b> Некоторые зависимости этого модуля отсутствуют!"
-
-#: src/frontends/qt/GuiERT.h:33
-msgid "TeX Mode Inset Settings"
-msgstr "Код TeX"
+"Использовать выравнивание для абзаца по умолчанию, каким бы оно ни было."
 
-#: src/frontends/qt/GuiErrorList.cpp:45
-msgid "DocBook"
-msgstr "DocBook"
+#: src/frontends/qt/ui/ParagraphUi.ui:141
+msgid "Paragraph's &Default"
+msgstr "По &умолчанию"
 
-#: src/frontends/qt/GuiErrorList.cpp:47 src/frontends/qt/GuiLog.cpp:251
-msgid "Literate"
-msgstr "Буквально"
+#: src/frontends/qt/ui/ParagraphUi.ui:154
+msgid "Label Width"
+msgstr "Ширина метки"
 
-#: src/frontends/qt/GuiErrorList.cpp:61
-msgid "Error List"
-msgstr "Список ошибок"
+#: src/frontends/qt/ui/ParagraphUi.ui:178
+#: src/frontends/qt/ui/ParagraphUi.ui:191
+msgid "This text defines the width of the paragraph label"
+msgstr "Этот текст определяет ширину метки абзаца"
 
-#: src/frontends/qt/GuiErrorList.cpp:155
-#, c-format
-msgid "%1$s Errors (%2$s)"
-msgstr "Ошибки %1$s (%2$s)"
+#: src/frontends/qt/ui/ParagraphUi.ui:181
+msgid "Lo&ngest label"
+msgstr "Самая длин&ная метка"
 
-#: src/frontends/qt/GuiExternal.cpp:78 src/frontends/qt/GuiGraphics.cpp:72
-msgid "Top left"
-msgstr "Сверху слева"
+#: src/frontends/qt/ui/ParagraphUi.ui:201
+msgid "&Indent Paragraph"
+msgstr "&Делать отступ в начале абзаца"
 
-#: src/frontends/qt/GuiExternal.cpp:78 src/frontends/qt/GuiGraphics.cpp:72
-msgid "Bottom left"
-msgstr "Снизу слева"
+#: src/frontends/qt/ui/PhantomUi.ui:47
+msgid "Horizontal and vertical space of the phantom content"
+msgstr "Горизонтальное и вертикальное пространство содержимого фантома"
 
-#: src/frontends/qt/GuiExternal.cpp:78 src/frontends/qt/GuiGraphics.cpp:72
-msgid "Baseline left"
-msgstr "По базисной линии слева"
+#: src/frontends/qt/ui/PhantomUi.ui:50
+msgid "Phanto&m"
+msgstr "Фантом"
 
-#: src/frontends/qt/GuiExternal.cpp:79 src/frontends/qt/GuiGraphics.cpp:73
-msgid "Top center"
-msgstr "Сверху по центру"
+#: src/frontends/qt/ui/PhantomUi.ui:57
+msgid "Horizontal space of the phantom content"
+msgstr "Горизонтальное пространство для содержимого фантома"
 
-#: src/frontends/qt/GuiExternal.cpp:79 src/frontends/qt/GuiGraphics.cpp:73
-msgid "Bottom center"
-msgstr "Снизу по центру"
+#: src/frontends/qt/ui/PhantomUi.ui:60
+msgid "&Horizontal Phantom"
+msgstr "Горизонтальный фантом"
 
-#: src/frontends/qt/GuiExternal.cpp:79 src/frontends/qt/GuiGraphics.cpp:73
-msgid "Baseline center"
-msgstr "По базисной линии по центру"
+#: src/frontends/qt/ui/PhantomUi.ui:67
+msgid "Vertical space of the phantom content"
+msgstr "Вертикальное пространство для содержимого фантома"
 
-#: src/frontends/qt/GuiExternal.cpp:80 src/frontends/qt/GuiGraphics.cpp:74
-msgid "Top right"
-msgstr "Сверху справа"
+#: src/frontends/qt/ui/PhantomUi.ui:70
+msgid "Verti&cal Phantom"
+msgstr "Вертикальный фантом"
 
-#: src/frontends/qt/GuiExternal.cpp:80 src/frontends/qt/GuiGraphics.cpp:74
-msgid "Bottom right"
-msgstr "Снизу справа"
+#: src/frontends/qt/ui/PreambleUi.ui:38
+msgid "&Find"
+msgstr "&Найти"
 
-#: src/frontends/qt/GuiExternal.cpp:80 src/frontends/qt/GuiGraphics.cpp:74
-msgid "Baseline right"
-msgstr "По базисной линии справа"
+#: src/frontends/qt/ui/PrefColorsUi.ui:60
+msgid "Change the selected color"
+msgstr "Изменить выбранный цвет"
 
-#: src/frontends/qt/GuiExternal.cpp:220
-msgid "Scale%"
-msgstr "% исходного размера"
+#: src/frontends/qt/ui/PrefColorsUi.ui:63
+msgid "A&lter..."
+msgstr "&Изменить..."
 
-#: src/frontends/qt/GuiExternal.cpp:673
-msgid "Select external file"
-msgstr "Выбрать внешний файл"
+#: src/frontends/qt/ui/PrefColorsUi.ui:70
+msgid "Reset the selected color to its original value"
+msgstr "Сбросить выбранный цвет к его исходному значению"
 
-#: src/frontends/qt/GuiGraphics.cpp:78
-msgid "automatically"
-msgstr "автоматически"
+#: src/frontends/qt/ui/PrefColorsUi.ui:73
+msgid "Restore &Default"
+msgstr "Восстановить значения по умолчанию"
 
-#: src/frontends/qt/GuiGraphics.cpp:113
-msgid "Graphics"
-msgstr "Изображение"
+#: src/frontends/qt/ui/PrefColorsUi.ui:80
+msgid "Reset all colors to their original value"
+msgstr "Сбросить все цвета к их исходным значениям"
 
-#: src/frontends/qt/GuiGraphics.cpp:261 src/frontends/qt/GuiGraphics.cpp:277
-msgid "Dissolve previous group?"
-msgstr "Разложить предыдущую группу?"
+#: src/frontends/qt/ui/PrefColorsUi.ui:83
+msgid "Restore A&ll"
+msgstr "Восстановить всё"
 
-#: src/frontends/qt/GuiGraphics.cpp:262
-#, c-format
-msgid ""
-"If you assign this graphic to group '%2$s',\n"
-"the previously assigned group '%1$s' will be dissolved,\n"
-"because this graphic was its only member.\n"
-"How do you want to proceed?"
+#: src/frontends/qt/ui/PrefColorsUi.ui:105
+msgid "Use the color scheme of your Operating System/Desktop Environment"
 msgstr ""
-"Если вы включите этот рисунок в группу '%2$s',\n"
-"группа, в которой он был до этого ('%1$s') будет удалена,\n"
-"поскольку он был её единственным элементом.\n"
-"Продолжить?"
+"Использовать цветовую схему операционной системы/окружения рабочего стола"
 
-#: src/frontends/qt/GuiGraphics.cpp:268 src/frontends/qt/GuiGraphics.cpp:284
-#, c-format
-msgid "Stick with group '%1$s'"
-msgstr "Оставить в группе '%1$s'"
+#: src/frontends/qt/ui/PrefColorsUi.ui:108
+msgid "&Use system colors"
+msgstr "Использовать системные цвета"
 
-#: src/frontends/qt/GuiGraphics.cpp:270
-#, c-format
-msgid "Assign to group '%1$s' anyway"
-msgstr "Связать с группой '%1$s' в любом случае"
+#: src/frontends/qt/ui/PrefCompletionUi.ui:26
+msgid "In Math"
+msgstr "В математических формулах"
 
-#: src/frontends/qt/GuiGraphics.cpp:278
-#, c-format
+#: src/frontends/qt/ui/PrefCompletionUi.ui:41
 msgid ""
-"If you sign off this graphic from group '%1$s',\n"
-"the group will be dissolved,\n"
-"because this graphic was its only member.\n"
-"How do you want to proceed?"
+"Show the grey inline completion behind the cursor in math mode after the "
+"delay."
 msgstr ""
-"Если вы исключите этот рисунок из группы '%1$s',\n"
-"группа будет удалена, потому что\n"
-"этот рисунок единственный её элемент.\n"
-"Продолжить?"
-
-#: src/frontends/qt/GuiGraphics.cpp:286
-#, c-format
-msgid "Sign off from group '%1$s'"
-msgstr "Исключить из группы '%1$s'"
-
-#: src/frontends/qt/GuiGraphics.cpp:326
-msgid "Enter unique group name:"
-msgstr "Введите уникальное название для группы:"
-
-#: src/frontends/qt/GuiGraphics.cpp:331
-msgid "Group already defined!"
-msgstr "Группа уже определена!"
-
-#: src/frontends/qt/GuiGraphics.cpp:332
-#, c-format
-msgid "A graphics group with the name '%1$s' already exists."
-msgstr "Группа изображений с именем '%1$s' уже существует."
-
-#: src/frontends/qt/GuiGraphics.cpp:473
-msgid "Set max. &width:"
-msgstr "Установить макс. &ширину:"
-
-#: src/frontends/qt/GuiGraphics.cpp:474
-msgid "Set max. &height:"
-msgstr "Установить макс. &высоту:"
-
-#: src/frontends/qt/GuiGraphics.cpp:475
-msgid "Maximal width of image in output"
-msgstr "Макс. ширина изображения в выводе"
-
-#: src/frontends/qt/GuiGraphics.cpp:476
-msgid "Maximal height of image in output"
-msgstr "Макс. высота изображения в выводе"
-
-#: src/frontends/qt/GuiGraphics.cpp:498 src/support/lengthcommon.cpp:40
-msgid "bp"
-msgstr "bp"
-
-#: src/frontends/qt/GuiGraphics.cpp:498 src/support/lengthcommon.cpp:40
-msgid "cm"
-msgstr "cm"
-
-#: src/frontends/qt/GuiGraphics.cpp:498 src/support/lengthcommon.cpp:41
-msgid "mm"
-msgstr "mm"
-
-#: src/frontends/qt/GuiGraphics.cpp:498 src/support/lengthcommon.cpp:41
-msgid "in[[unit of measure]]"
-msgstr "in"
-
-#: src/frontends/qt/GuiGraphics.cpp:778
-msgid "Select graphics file"
-msgstr "Выберите файл с изображением"
-
-#: src/frontends/qt/GuiGraphics.cpp:790
-msgid "&Clipart"
-msgstr "Галерея"
-
-#: src/frontends/qt/GuiHSpace.cpp:44 src/insets/InsetSpace.cpp:69
-msgid "Interword Space"
-msgstr "Пробел между словами"
-
-#: src/frontends/qt/GuiHSpace.cpp:45 src/insets/InsetSpace.cpp:78
-msgid "Thin Space"
-msgstr "Тонкий пробел"
-
-#: src/frontends/qt/GuiHSpace.cpp:46 src/insets/InsetSpace.cpp:81
-msgid "Medium Space"
-msgstr "Средний пробел"
-
-#: src/frontends/qt/GuiHSpace.cpp:47 src/insets/InsetSpace.cpp:84
-msgid "Thick Space"
-msgstr "Широкий пробел"
-
-#: src/frontends/qt/GuiHSpace.cpp:48 src/insets/InsetSpace.cpp:99
-msgid "Negative Thin Space"
-msgstr "Отрицательный тонкий пробел"
-
-#: src/frontends/qt/GuiHSpace.cpp:49 src/insets/InsetSpace.cpp:102
-msgid "Negative Medium Space"
-msgstr "Отрицательный средний пробел"
-
-#: src/frontends/qt/GuiHSpace.cpp:50 src/insets/InsetSpace.cpp:105
-msgid "Negative Thick Space"
-msgstr "Отрицательный широкий пробел"
+"Показывать серым цветом автоматическое дополнение слова после курсора в "
+"математическом режиме после задержки."
 
-#: src/frontends/qt/GuiHSpace.cpp:51
-msgid "Half Quad (0.5 em)"
-msgstr "Полуквадрат (0.5 em)"
+#: src/frontends/qt/ui/PrefCompletionUi.ui:44
+msgid "Automatic in&line completion"
+msgstr "Автодополнение в &строке"
 
-#: src/frontends/qt/GuiHSpace.cpp:52
-msgid "Quad (1 em)"
-msgstr "Квадрат (1 em)"
+#: src/frontends/qt/ui/PrefCompletionUi.ui:51
+msgid "Show the popup in math mode after the delay."
+msgstr "Показывать всплывающее меню в математическом режиме после задержки."
 
-#: src/frontends/qt/GuiHSpace.cpp:53
-msgid "Double Quad (2 em)"
-msgstr "Двойной квадрат (2 em)"
+#: src/frontends/qt/ui/PrefCompletionUi.ui:54
+msgid "Automatic p&opup"
+msgstr "Автоматическое окно подсказки"
 
-#: src/frontends/qt/GuiHSpace.cpp:54 src/insets/InsetSpace.cpp:108
-msgid "Horizontal Fill"
-msgstr "Горизонтальное заполнение"
+#: src/frontends/qt/ui/PrefCompletionUi.ui:61
+msgid "Autoco&rrection"
+msgstr "Автокоррекция"
 
-#: src/frontends/qt/GuiHSpace.cpp:56 src/insets/InsetSpace.cpp:75
-msgid "Visible Space"
-msgstr "Видимый пробел"
+#: src/frontends/qt/ui/PrefCompletionUi.ui:71
+msgid "In Text"
+msgstr "В тексте"
 
-#: src/frontends/qt/GuiHSpace.cpp:208
+#: src/frontends/qt/ui/PrefCompletionUi.ui:86
 msgid ""
-"Insert the spacing even after a line break.\n"
-"Note that a protected Half Quad will be turned into\n"
-"a vertical space if used at the beginning of a paragraph!"
+"Show the grey inline completion behind the cursor in text mode after the "
+"delay."
 msgstr ""
-"Вставлять промежуток даже после разрыва строки.\n"
-"Заметьте, что защищённый полуквадрат будет преобразован\n"
-"в вертикальный промежуток, если используется в начале абзаца!"
-
-#: src/frontends/qt/GuiHSpace.h:39
-msgid "Horizontal Space Settings"
-msgstr "Горизонтальный промежуток"
-
-#: src/frontends/qt/GuiHyperlink.h:35
-msgid "Hyperlink Settings"
-msgstr "Гиперссылка"
-
-#: src/frontends/qt/GuiInclude.cpp:115 src/frontends/qt/GuiInclude.cpp:173
-#: src/frontends/qt/GuiListings.cpp:242 src/frontends/qt/GuiListings.cpp:398
-#: src/frontends/qt/GuiListings.cpp:476
-msgid ""
-"Input listing parameters on the right. Enter ? for a list of parameters."
-msgstr "Введите параметры листинга справа. Нажмите ? для списка параметров."
-
-#: src/frontends/qt/GuiInclude.cpp:312
-msgid "Select document to include"
-msgstr "Выберите документ для вставки"
-
-#: src/frontends/qt/GuiInclude.cpp:319
-msgid "LaTeX/LyX Documents (*.tex *.lyx)"
-msgstr "Документы LaTeX/LyX (*.tex *.lyx)"
-
-#: src/frontends/qt/GuiIndex.cpp:34
-msgid "Index Entry Settings"
-msgstr "Рубрика указателя"
-
-#: src/frontends/qt/GuiIndices.cpp:53
-msgid "Label Color"
-msgstr "Цвет метки"
-
-#: src/frontends/qt/GuiIndices.cpp:216
-msgid "Cannot remove standard index"
-msgstr "Невозможно удалить стандартный указатель"
-
-#: src/frontends/qt/GuiIndices.cpp:217
-msgid "The default index cannot be removed."
-msgstr "Указатель по умолчанию не может быть удалён."
+"Показывать серым цветом автоматическое дополнение слова после курсора в "
+"текстовом режиме после задержки."
 
-#: src/frontends/qt/GuiIndices.cpp:236
-msgid "Enter new index name"
-msgstr "Введите название нового указателя"
+#: src/frontends/qt/ui/PrefCompletionUi.ui:89
+msgid "Automatic &inline completion"
+msgstr "Автодополнение в &строке"
 
-#: src/frontends/qt/GuiIndices.cpp:244
-msgid "The index could not be renamed. Check if the new name already exists."
+#: src/frontends/qt/ui/PrefCompletionUi.ui:96
+msgid "Show the popup after the set delay in text mode."
 msgstr ""
-"Невозможно переименовать указатель. Возможно такое имя уже используется."
-
-#: src/frontends/qt/GuiInfo.cpp:70
-msgid "Date (current)"
-msgstr "Дата (текущая)"
-
-#: src/frontends/qt/GuiInfo.cpp:71
-msgid "Date (last modified)"
-msgstr "Дата (последнее изменение)"
-
-#: src/frontends/qt/GuiInfo.cpp:72
-msgid "Date (fix)"
-msgstr "Дата (заданная)"
-
-#: src/frontends/qt/GuiInfo.cpp:73
-msgid "Time (current)"
-msgstr "Время (текущее)"
-
-#: src/frontends/qt/GuiInfo.cpp:74
-msgid "Time (last modified)"
-msgstr "Время (последнее изменение)"
-
-#: src/frontends/qt/GuiInfo.cpp:75
-msgid "Time (fix)"
-msgstr "Время (заданное)"
-
-#: src/frontends/qt/GuiInfo.cpp:76
-msgid "Document Information"
-msgstr "Информация документа"
-
-#: src/frontends/qt/GuiInfo.cpp:77
-msgid "Version Control Information"
-msgstr "Информация системы управления версиями"
-
-#: src/frontends/qt/GuiInfo.cpp:78
-msgid "LaTeX Package Availability"
-msgstr "Доступность пакета LaTeX"
-
-#: src/frontends/qt/GuiInfo.cpp:79
-msgid "LaTeX Class Availability"
-msgstr "Доступность класса LaTeX"
-
-#: src/frontends/qt/GuiInfo.cpp:80
-msgid "Last Assigned Keyboard Shortcut"
-msgstr "Последнее назначенное сочетание клавиш"
-
-#: src/frontends/qt/GuiInfo.cpp:81
-msgid "All Keyboard Shortcuts"
-msgstr "Все сочетания клавиш"
-
-#: src/frontends/qt/GuiInfo.cpp:82
-msgid "LyX Menu Location"
-msgstr "Расположение меню LyX"
-
-#: src/frontends/qt/GuiInfo.cpp:83
-msgid "Localized GUI String"
-msgstr "Переведённая строка GUI"
-
-#: src/frontends/qt/GuiInfo.cpp:84
-msgid "LyX Toolbar Icon"
-msgstr "Значок панели LyX"
-
-#: src/frontends/qt/GuiInfo.cpp:85
-msgid "LyX Preferences Entry"
-msgstr "Пункт настроек LyX"
-
-#: src/frontends/qt/GuiInfo.cpp:86
-msgid "LyX Application Information"
-msgstr "Информация о приложении LyX"
-
-#: src/frontends/qt/GuiInfo.cpp:92 src/frontends/qt/GuiInfo.cpp:93
-#: src/frontends/qt/GuiInfo.cpp:94 src/frontends/qt/GuiInfo.cpp:95
-#: src/frontends/qt/GuiInfo.cpp:96 src/frontends/qt/GuiInfo.cpp:97
-msgid "Custom Format"
-msgstr "Пользовательский формат"
-
-#: src/frontends/qt/GuiInfo.cpp:98 src/frontends/qt/GuiInfo.cpp:99
-#: src/frontends/qt/GuiInfo.cpp:108 src/frontends/qt/GuiInfo.cpp:109
-msgid "Not Applicable"
-msgstr "Не применимо"
-
-#: src/frontends/qt/GuiInfo.cpp:100
-msgid "Package Name"
-msgstr "Имя пакета"
-
-#: src/frontends/qt/GuiInfo.cpp:101
-msgid "Class Name"
-msgstr "Имя класса"
-
-#: src/frontends/qt/GuiInfo.cpp:102 src/frontends/qt/GuiInfo.cpp:103
-#: src/frontends/qt/GuiInfo.cpp:104 src/frontends/qt/GuiInfo.cpp:106
-msgid "LyX Function"
-msgstr "Функция LyX"
-
-#: src/frontends/qt/GuiInfo.cpp:105
-msgid "English String"
-msgstr "Строка на английском"
-
-#: src/frontends/qt/GuiInfo.cpp:107
-msgid "Preferences Key"
-msgstr "Ключ настроек"
+"Показывать всплывающее меню в текстовом режиме после установленной задержки."
 
-#: src/frontends/qt/GuiInfo.cpp:115 src/frontends/qt/GuiInfo.cpp:126
-#: src/frontends/qt/GuiInfo.cpp:137
-msgid ""
-"Enter date format specification, using the following placeholders:\n"
-"* d: day as number without a leading zero\n"
-"* dd: day as number with a leading zero\n"
-"* ddd: abbreviated localized day name\n"
-"* dddd: long localized day name\n"
-"* M: month as number without a leading zero\n"
-"* MM: month as number with a leading zero\n"
-"* MMM: abbreviated localized month name\n"
-"* MMMM: long localized month name\n"
-"* yy: year as two digit number\n"
-"* yyyy: year as four digit number"
-msgstr ""
-"Введите спецификацию формата даты, используя следующие обозначения:\n"
-"* d: день как число без ведущего нуля\n"
-"* dd: день как число с ведущим нулем\n"
-"* ddd: сокращенное локализованное название дня\n"
-"* dddd: длинное локализованное название дня\n"
-"* М: месяц как число без ведущего нуля\n"
-"* ММ: месяц как число с ведущим нулем\n"
-"* МММ: сокращенное локализованное название месяца\n"
-"* MMMM: длинное локализованное название месяца\n"
-"* yy: год в виде двухзначного числа\n"
-"* yyyy: год в виде четырехзначного числа"
+#: src/frontends/qt/ui/PrefCompletionUi.ui:99
+msgid "Automatic &popup"
+msgstr "Автоматическое окно подсказки"
 
-#: src/frontends/qt/GuiInfo.cpp:148 src/frontends/qt/GuiInfo.cpp:162
-#: src/frontends/qt/GuiInfo.cpp:176
+#: src/frontends/qt/ui/PrefCompletionUi.ui:106
 msgid ""
-"Enter time format specification, using the following placeholders:\n"
-"* h: the hour without a leading zero (1-12 in AM/PM)\n"
-"* hh: the hour with a leading zero (01-12 in AM/PM)\n"
-"* H: the hour without a leading zero (0-23 in AM/PM)\n"
-"* HH: the hour with a leading zero (00-23 in AM/PM)\n"
-"* m: the minute without a leading zero\n"
-"* mm: the minute with a leading zero\n"
-"* s: the second without a leading zero\n"
-"* ss: the second with a leading zero\n"
-"* z: the milliseconds without leading zeroes\n"
-"* zzz: the milliseconds with leading zeroes\n"
-"* AP or A: use AM/PM display ('AM'/'PM')\n"
-"* ap or a: use am/pm display ('am'/'pm')\n"
-"* t: the timezone (e.g. CEST)"
+"Show a small triangle on the cursor if a completion is available in text "
+"mode."
 msgstr ""
-"Введите спецификацию формата времени, используя следующие обозначения:\n"
-"* h: час без ведущего нуля (1-12 в AM/PM)\n"
-"* hh: час с ведущим нулем (01-12 в AM/PM)\n"
-"* H: час без ведущего нуля (0-23 в AM/PM)\n"
-"* HH: час с ведущим нулем (00-23 в AM/PM)\n"
-"* m: минута без ведущего нуля\n"
-"* mm: минута с ведущим нулем\n"
-"* s: секунда без ведущего нуля\n"
-"* ss: секунда с ведущим нулем\n"
-"* z: миллисекунды без ведущих нулей\n"
-"* zzz: миллисекунды с ведущими нулями\n"
-"* AP или A: показывать AM/PM ('AM'/'PM')\n"
-"* ap или a: показывать am/pm ('am'/'pm')\n"
-"* t: часовой пояс (например, CEST)"
+"Показывать маленький треугольник на курсоре если доступно дополнение слова в "
+"текстовом режиме."
 
-#: src/frontends/qt/GuiInfo.cpp:190 src/frontends/qt/GuiInfo.cpp:191
-#: src/frontends/qt/GuiInfo.cpp:208 src/frontends/qt/GuiInfo.cpp:209
-msgid "Please select a valid type above"
-msgstr "Выберите допустимый тип выше"
+#: src/frontends/qt/ui/PrefCompletionUi.ui:109
+msgid "Cursor i&ndicator"
+msgstr "И&ндикатор курсора"
 
-#: src/frontends/qt/GuiInfo.cpp:192
+#: src/frontends/qt/ui/PrefCompletionUi.ui:142
 msgid ""
-"Enter a LaTeX package name such as 'hyperref' (extension is optional). The "
-"output will be 'Yes' (package available) or 'No' (package unavailable)."
+"After the cursor has not moved for this time, the inline completion is shown "
+"if it is available."
 msgstr ""
-"Введите имя пакета LaTeX, например 'hyperref'. На выходе будет 'Да' (пакет "
-"доступен) или 'Нет' (пакет отсутствует)."
+"После того, как курсор оставался неподвижным в течение указанного времени, "
+"показывается встроенное дополнение слова (если оно доступно)."
 
-#: src/frontends/qt/GuiInfo.cpp:194
-msgid ""
-"Enter a LaTeX class name such as 'article' (extension is optional). The "
-"output will be 'Yes' (class available) or 'No' (class unavailable)."
-msgstr ""
-"Введите имя класса LaTeX, например 'article'. На выходе будет 'Да' (класс "
-"доступен) или 'Нет' (класс отсутствует)."
+#: src/frontends/qt/ui/PrefCompletionUi.ui:155
+msgid "s inline completion dela&y"
+msgstr "Задержка дополнен&ия (сек.)"
 
-#: src/frontends/qt/GuiInfo.cpp:196
+#: src/frontends/qt/ui/PrefCompletionUi.ui:188
 msgid ""
-"Enter a function name such as 'math-insert \\alpha'. Please refer to Help > "
-"LyX Functions for a comprehensive list of functions. The output is the most "
-"recently assigned keyboard shortcut for this function"
+"After the cursor has not moved for this time, the completion popup is shown "
+"if it is available."
 msgstr ""
-"Введите имя функции, например, 'math-insert \\alpha'. Подробный список "
-"функций см. в разделе Помощь > Функции LyX. Выходом является последнее "
-"назначенное сочетание клавиш для этой функции."
+"После того, как курсор оставался неподвижным в течение указанного времени, "
+"показывается окно с вариантами дополнения (если оно доступно)."
 
-#: src/frontends/qt/GuiInfo.cpp:198
-msgid ""
-"Enter a function name such as 'math-insert \\alpha'. Please refer to Help > "
-"LyX Functions for a comprehensive list of functions. The output lists all "
-"possible keyboard shortcuts for this function"
-msgstr ""
-"Введите имя функции, например, 'math-insert \\alpha'. Подробный список "
-"функций см. в разделе Помощь > Функции LyX. Выводятся все возможные "
-"сочетания клавиш для данной функции."
+#: src/frontends/qt/ui/PrefCompletionUi.ui:201
+msgid "s popup d&elay"
+msgstr "Задержка всплывающего &окна (сек.)"
 
-#: src/frontends/qt/GuiInfo.cpp:200
+#: src/frontends/qt/ui/PrefCompletionUi.ui:234
 msgid ""
-"Enter a function name such as 'math-insert \\alpha'. Please refer to Help > "
-"LyX Functions for a comprehensive list of functions. The output is the path "
-"to the function in the menu (using the current localization)."
-msgstr ""
-"Введите имя функции, например, 'math-insert \\alpha'. Подробный список "
-"функций см. в разделе Помощь > Функции LyX. Выходом является путь к функции "
-"в меню (на текущем языке пользовательского интерфейса)."
+"Words with less than the specified number of characters will not be "
+"completed."
+msgstr "Слова из меньшего количества символов не будут завершаться."
 
-#: src/frontends/qt/GuiInfo.cpp:202
-msgid ""
-"Enter a localizable English string from the LyX User Interface, including "
-"accelerator markup ('&' or '|') and trailing colons. The output is the "
-"localized string (using the current localization); trailing colons and "
-"accelerator markup are stripped."
-msgstr ""
-"Введите строку на английском языке из пользовательского интерфейса LyX, "
-"включая разметку ускорителя (\"&\" или \"|\") и завершающие двоеточия. На "
-"выходе - переведённая строка (на текущем языке пользовательского "
-"интерфейса); завершающие двоеточия и разметка ускорителя удаляются."
+#: src/frontends/qt/ui/PrefCompletionUi.ui:250
+msgid "Minimum characters for words that should be completed"
+msgstr "Минимальное количество символов для завершения слов"
 
-#: src/frontends/qt/GuiInfo.cpp:204
+#: src/frontends/qt/ui/PrefCompletionUi.ui:275
 msgid ""
-"Enter a function name such as 'math-insert \\alpha'. Please refer to Help > "
-"LyX Functions for a comprehensive list of functions. The output is the "
-"toolbar icon for this function (using the active icon theme)."
+"When the TAB completion is not unique, there won't be a delay of the popup. "
+"It will be shown right away."
 msgstr ""
-"Введите имя функции, например, 'math-insert \\alpha'. Подробный список "
-"функций см. в разделе Помощь > Функции LyX. Выходом является значок панели "
-"инструментов для этой функции (с использованием активной темы значков)."
+"Когда дополнение по TAB не единственно, задержки появления всплывающего окна "
+"не будет. Оно будет показано сразу."
 
-#: src/frontends/qt/GuiInfo.cpp:206
-msgid ""
-"Enter a LyX preferences key such as 'bind_file'. See the proposed list for "
-"available entries. The output is the current setting of this preference."
+#: src/frontends/qt/ui/PrefCompletionUi.ui:278
+msgid "Sho&w popup without delay for non-unique completions"
 msgstr ""
-"Введите ключ настроек LyX, например, 'bind_file'. См. предлагаемый список "
-"доступных вариантов. Выходом является текущее значение этого параметра."
-
-#: src/frontends/qt/GuiInfo.cpp:256 src/insets/InsetInclude.cpp:432
-msgid "Unknown"
-msgstr "Неизвестно"
-
-#: src/frontends/qt/GuiInfo.cpp:332
-msgid "Enter a valid value below"
-msgstr "Введите допустимое значение ниже"
-
-#: src/frontends/qt/GuiInfo.cpp:365
-msgid "Here you can enter a fix time (in ISO format: hh:mm:ss)"
-msgstr "Введите заданное время (в формате ISO: hh:mm:ss)"
-
-#: src/frontends/qt/GuiInfo.cpp:366
-msgid "&Fix Time:"
-msgstr "Заданное время:"
-
-#: src/frontends/qt/GuiInfo.h:40
-msgid "Field Settings"
-msgstr "Поле"
-
-#: src/frontends/qt/GuiKeySymbol.cpp:713
-msgid "Shift-"
-msgstr "Shift-"
-
-#: src/frontends/qt/GuiKeySymbol.cpp:714
-msgid "Control-"
-msgstr "Control-"
-
-#: src/frontends/qt/GuiKeySymbol.cpp:715
-msgid "Option-"
-msgstr "Option-"
-
-#: src/frontends/qt/GuiKeySymbol.cpp:716
-msgid "Command-"
-msgstr "Command-"
-
-#: src/frontends/qt/GuiLabel.h:35
-msgid "Label Settings"
-msgstr "Метка"
-
-#: src/frontends/qt/GuiLine.h:34
-msgid "Line Settings"
-msgstr "Линия"
-
-#: src/frontends/qt/GuiListings.cpp:63
-msgid "No language"
-msgstr "Нет языка"
-
-#: src/frontends/qt/GuiListings.cpp:168
-msgid "Program Listing Settings"
-msgstr "Листинг программы"
-
-#: src/frontends/qt/GuiListings.cpp:437
-msgid "No dialect"
-msgstr "Нет диалекта"
-
-#: src/frontends/qt/GuiLog.cpp:117 src/frontends/qt/GuiLog.cpp:279
-msgid "LaTeX Log"
-msgstr "Журнал сообщений LaTeX"
-
-#: src/frontends/qt/GuiLog.cpp:241
-msgid "Biber"
-msgstr "Biber"
-
-#: src/frontends/qt/GuiLog.cpp:254
-msgid "LyX2LyX"
-msgstr "LyX2LyX"
-
-#: src/frontends/qt/GuiLog.cpp:281
-msgid "Literate Programming Build Log"
-msgstr "Журнал сборки для грамотного программирования"
-
-#: src/frontends/qt/GuiLog.cpp:283
-msgid "lyx2lyx Error Log"
-msgstr "Журнал ошибок lyx2lyx"
-
-#: src/frontends/qt/GuiLog.cpp:285
-msgid "Version Control Log"
-msgstr "Журнал системы управления версиями"
+"По&казывать всплывающее окно без задержки для не единственных дополнений"
 
-#: src/frontends/qt/GuiLog.cpp:313
-msgid "Log file not found."
-msgstr "Журнал не найден."
+#: src/frontends/qt/ui/PrefCompletionUi.ui:285
+msgid "Long completions are cut-off and shown with \"...\"."
+msgstr "Длинные дополнения обрезаются и показываются как \"...\"."
 
-#: src/frontends/qt/GuiLog.cpp:316
-msgid "No literate programming build log file found."
-msgstr "Не найден журнал сборки для грамотного программирования."
+#: src/frontends/qt/ui/PrefCompletionUi.ui:288
+msgid "&Use \"...\" to shorten long completions"
+msgstr "&Использовать \"...\" для сокращения длинных дополнений"
 
-#: src/frontends/qt/GuiLog.cpp:319
-msgid "No lyx2lyx error log file found."
-msgstr "Не найден лог-файл lyx2lyx."
+#: src/frontends/qt/ui/PrefConvertersUi.ui:35
+msgid "Converter Defi&nitions"
+msgstr "Определения конвертеров"
 
-#: src/frontends/qt/GuiLog.cpp:322
-msgid "No version control log file found."
-msgstr "Журнал управления версиями не найден."
+#: src/frontends/qt/ui/PrefConvertersUi.ui:128
+msgid "&Converter:"
+msgstr "К&онвертер:"
 
-#: src/frontends/qt/GuiLyXFiles.cpp:155
-msgid "Preferred &Language:"
-msgstr "Предпочитаемый язык:"
+#: src/frontends/qt/ui/PrefConvertersUi.ui:138
+msgid "E&xtra flag:"
+msgstr "&Дополнительно:"
 
-#: src/frontends/qt/GuiLyXFiles.cpp:161 src/frontends/qt/GuiLyXFiles.cpp:590
-msgid "New File From Template"
-msgstr "Создать из шаблона"
+#: src/frontends/qt/ui/PrefConvertersUi.ui:186
+msgid "Fro&m format:"
+msgstr "&Из формата:"
 
-#: src/frontends/qt/GuiLyXFiles.cpp:196
-msgid "All available files"
-msgstr "Все доступные файлы"
+#: src/frontends/qt/ui/PrefConvertersUi.ui:225
+msgid "&To format:"
+msgstr "&В формат:"
 
-#: src/frontends/qt/GuiLyXFiles.cpp:197
-msgid "Enter string to filter the list of available files"
-msgstr "Введите строку для фильтрации списка доступных файлов"
+#: src/frontends/qt/ui/PrefConvertersUi.ui:273
+#: src/frontends/qt/ui/PrefShortcutsUi.ui:54
+msgid "&Modify"
+msgstr "&Изменить"
 
-#: src/frontends/qt/GuiLyXFiles.cpp:230
-msgid "User and System Files"
-msgstr "Пользовательские и системные файлы"
+#: src/frontends/qt/ui/PrefConvertersUi.ui:311
+msgid "Converter File Cache"
+msgstr "Кэш-файл конвертера"
 
-#: src/frontends/qt/GuiLyXFiles.cpp:231
-msgid "User Files Only"
-msgstr "Только пользовательские файлы"
+#: src/frontends/qt/ui/PrefConvertersUi.ui:352
+msgid "&Enabled"
+msgstr "&Использовать"
 
-#: src/frontends/qt/GuiLyXFiles.cpp:232
-msgid "System Files Only"
-msgstr "Только системные файлы"
+#: src/frontends/qt/ui/PrefConvertersUi.ui:372
+msgid "Maximum a&ge (in days):"
+msgstr "&Максимальный возраст (дней):"
 
-#: src/frontends/qt/GuiLyXFiles.cpp:319
-msgid "File &Language:"
-msgstr "&Язык файла:"
+#: src/frontends/qt/ui/PrefConvertersUi.ui:390
+msgid "Security"
+msgstr "Безопасность"
 
-#: src/frontends/qt/GuiLyXFiles.cpp:320
+#: src/frontends/qt/ui/PrefConvertersUi.ui:431
 msgid ""
-"All available languages of the selected file are displayed here.\n"
-"The selected language version will be opened."
+"When enabled, use of converters with the 'needauth' option is forbidden."
 msgstr ""
-"Здесь показаны все доступные языки для выделенного файла.\n"
-"Будет открыта версия для выбранного языка."
-
-#: src/frontends/qt/GuiLyXFiles.cpp:366
-msgid "Select example file"
-msgstr "Выберите файл примера"
-
-#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2452
-#: src/frontends/qt/GuiView.cpp:2590 src/frontends/qt/GuiView.cpp:2724
-msgid "&Examples"
-msgstr "&Примеры"
-
-#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2391
-msgid "Select template file"
-msgstr "Выберите файл шаблона"
-
-#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2393
-#: src/frontends/qt/GuiView.cpp:2843
-msgid "&Templates"
-msgstr "&Шаблоны"
-
-#: src/frontends/qt/GuiLyXFiles.cpp:380
-msgid "&User files"
-msgstr "&Пользовательские файлы"
-
-#: src/frontends/qt/GuiLyXFiles.cpp:381
-msgid "&System files"
-msgstr "&Системные файлы"
-
-#: src/frontends/qt/GuiLyXFiles.cpp:384
-msgid "Chose UI file"
-msgstr "Выберите файл интерфейса (UI)"
-
-#: src/frontends/qt/GuiLyXFiles.cpp:385
-msgid "LyX UI Files (*.ui)"
-msgstr "Файлы интерфейса LyX (*.ui)"
-
-#: src/frontends/qt/GuiLyXFiles.cpp:388
-msgid "Chose bind file"
-msgstr "Выберите файл привязок клавиш"
-
-#: src/frontends/qt/GuiLyXFiles.cpp:389
-msgid "LyX Bind Files (*.bind)"
-msgstr "Привязки клавиш LyX (*.bind)"
-
-#: src/frontends/qt/GuiLyXFiles.cpp:392
-msgid "Chose keyboard map"
-msgstr "Выберите раскладку клавиатуры"
-
-#: src/frontends/qt/GuiLyXFiles.cpp:393
-msgid "LyX Keymap Files (*.kmap)"
-msgstr "Раскладки клавиатуры LyX (*.kmap)"
-
-#: src/frontends/qt/GuiLyXFiles.cpp:451
-msgid "Default Template"
-msgstr "Шаблон по умолчанию"
-
-#: src/frontends/qt/GuiLyXFiles.cpp:588
-msgid "Open Example File"
-msgstr "Открыть пример"
-
-#: src/frontends/qt/GuiLyXFiles.cpp:592
-msgid "Open File"
-msgstr "Открыть файл"
-
-#: src/frontends/qt/GuiMathMatrix.cpp:34
-msgid "[x]"
-msgstr "[x]"
-
-#: src/frontends/qt/GuiMathMatrix.cpp:35
-msgid "(x)"
-msgstr "(x)"
-
-#: src/frontends/qt/GuiMathMatrix.cpp:36
-msgid "{x}"
-msgstr "{x}"
-
-#: src/frontends/qt/GuiMathMatrix.cpp:37
-msgid "|x|"
-msgstr "|x|"
-
-#: src/frontends/qt/GuiMathMatrix.cpp:38
-msgid "||x||"
-msgstr "||x||"
-
-#: src/frontends/qt/GuiMathMatrix.cpp:39
-msgid "small"
-msgstr "small"
-
-#: src/frontends/qt/GuiMathMatrix.cpp:44
-msgid "bmatrix"
-msgstr "bmatrix"
-
-#: src/frontends/qt/GuiMathMatrix.cpp:45
-msgid "pmatrix"
-msgstr "pmatrix"
-
-#: src/frontends/qt/GuiMathMatrix.cpp:46
-msgid "Bmatrix"
-msgstr "Bmatrix"
-
-#: src/frontends/qt/GuiMathMatrix.cpp:47
-msgid "vmatrix"
-msgstr "vmatrix"
-
-#: src/frontends/qt/GuiMathMatrix.cpp:48
-msgid "Vmatrix"
-msgstr "Vmatrix"
-
-#: src/frontends/qt/GuiMathMatrix.cpp:49
-msgid "smallmatrix"
-msgstr "smallmatrix"
-
-#: src/frontends/qt/GuiMathMatrix.cpp:64
-msgid "Math Matrix"
-msgstr "Матрица"
-
-#: src/frontends/qt/GuiNomenclature.h:36
-msgid "Nomenclature Settings"
-msgstr "Обозначение"
-
-#: src/frontends/qt/GuiNote.cpp:26
-msgid "Note Settings"
-msgstr "Заметка"
+"Если этот параметр включён, использование конвертеров с параметром "
+"'needauth' запрещено."
 
-#: src/frontends/qt/GuiParagraph.cpp:49
-msgid "Paragraph Settings"
-msgstr "Абзац"
+#: src/frontends/qt/ui/PrefConvertersUi.ui:434
+msgid "&Forbid use of needauth converters"
+msgstr "Запретить использование конвертеров needauth"
 
-#: src/frontends/qt/GuiParagraph.cpp:83
+#: src/frontends/qt/ui/PrefConvertersUi.ui:441
 msgid ""
-"As described in the User Guide, the width of this text determines the width "
-"of the label part of each item in environments like List and Description.\n"
-"\n"
-" Normally, you won't need to set this, since the largest label width of all "
-"the items is used."
+"When enabled, ask user before launching any external converter with the "
+"'needauth' option."
 msgstr ""
-"Как описано в Руководстве пользователя, ширина этого текста определяет "
-"ширину метки каждого элемента в окружениях, таких как Список и Описание.\n"
-" Обычно, вам не нужно устанавливать это, поскольку ширина наибольшей метки "
-"используется для всех элементов."
-
-#: src/frontends/qt/GuiParagraph.cpp:166 src/frontends/qt/GuiView.cpp:3121
-msgid "&Close"
-msgstr "&Закрыть"
-
-#: src/frontends/qt/GuiPhantom.cpp:25
-msgid "Phantom Settings"
-msgstr "Фантом"
-
-#: src/frontends/qt/GuiPrefs.cpp:212
-msgid "Look & Feel"
-msgstr "Вид и поведение"
-
-#: src/frontends/qt/GuiPrefs.cpp:216
-msgid "File Handling"
-msgstr "Обработка файлов"
-
-#: src/frontends/qt/GuiPrefs.cpp:417
-msgid "Keyboard/Mouse"
-msgstr "Клавиатура и мышь"
+"Если этот параметр включён, спрашивать пользователя перед запуском любого "
+"внешнего конвертера с опцией 'needauth'."
 
-#: src/frontends/qt/GuiPrefs.cpp:551
-msgid "Input Completion"
-msgstr "Дополнение ввода"
+#: src/frontends/qt/ui/PrefConvertersUi.ui:444
+msgid "Use need&auth option"
+msgstr "Использовать параметр needauth"
 
-#: src/frontends/qt/GuiPrefs.cpp:691 src/frontends/qt/GuiPrefs.cpp:837
-msgid "C&ommand:"
-msgstr "&Команда:"
+#: src/frontends/qt/ui/PrefDisplayUi.ui:47
+msgid "Factor for the preview size"
+msgstr "Множитель для размера предпросмотра"
 
-#: src/frontends/qt/GuiPrefs.cpp:716 src/frontends/qt/GuiPrefs.cpp:741
-#: src/frontends/qt/GuiPrefs.cpp:865 src/frontends/qt/GuiPrefs.cpp:892
-msgid "Co&mmand:"
-msgstr "&Команда:"
+#: src/frontends/qt/ui/PrefDisplayUi.ui:69
+msgid "Display &graphics"
+msgstr "Показывать &графику"
 
-#: src/frontends/qt/GuiPrefs.cpp:913
-msgid "Screen Fonts"
-msgstr "Экранные шрифты"
+#: src/frontends/qt/ui/PrefDisplayUi.ui:105
+msgid "Instant &preview:"
+msgstr "Мгновенный предпросмотр:"
 
-#: src/frontends/qt/GuiPrefs.cpp:1376
-msgid "Paths"
-msgstr "Пути"
+#: src/frontends/qt/ui/PrefDisplayUi.ui:121
+msgid "No math"
+msgstr "Без математики"
 
-#: src/frontends/qt/GuiPrefs.cpp:1463
-msgid "Select directory for example files"
-msgstr "Выберите каталог с файлами примеров"
+#: src/frontends/qt/ui/PrefDisplayUi.ui:134
+msgid "Mark end of paragraphs on screen with a pilcrow character."
+msgstr "Отмечать конец абзаца на экране символом pilcrow."
 
-#: src/frontends/qt/GuiPrefs.cpp:1472
-msgid "Select a document templates directory"
-msgstr "Выберите каталог с шаблонами документов"
+#: src/frontends/qt/ui/PrefDisplayUi.ui:137
+msgid "&Mark end of paragraphs"
+msgstr "&Отмечать конец абзаца"
 
-#: src/frontends/qt/GuiPrefs.cpp:1481
-msgid "Select a temporary directory"
-msgstr "Выберите временный каталог"
+#: src/frontends/qt/ui/PrefDisplayUi.ui:144
+msgid "Preview si&ze:"
+msgstr "Ра&змер предпросмотра:"
 
-#: src/frontends/qt/GuiPrefs.cpp:1490
-msgid "Select a backups directory"
-msgstr "Выберите каталог для создания резервных копий"
+#: src/frontends/qt/ui/PrefDisplayUi.ui:154
+msgid ""
+"If this is checked, additions in change tracking are underlined in the "
+"workarea"
+msgstr ""
+"Если отмечено, то вставки при отслеживании изменений будут подчёркиваться в "
+"рабочей области"
 
-#: src/frontends/qt/GuiPrefs.cpp:1499
-msgid "Select a document directory"
-msgstr "Выберите каталог для документов"
+#: src/frontends/qt/ui/PrefDisplayUi.ui:157
+msgid "&Underline change tracking additions"
+msgstr "Подчёркивать отслеживаемые вставки"
 
-#: src/frontends/qt/GuiPrefs.cpp:1508
-msgid "Set the path to the thesaurus dictionaries"
-msgstr "Установите путь к словарям тезауруса"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:26
+msgid "Session Handling"
+msgstr "Сессии"
 
-#: src/frontends/qt/GuiPrefs.cpp:1517
-msgid "Set the path to the Hunspell dictionaries"
-msgstr "Установите путь к словарям Hunspell"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:38
+msgid "Restore window layouts and &geometries"
+msgstr "Восстанавливать положение и размер окон"
 
-#: src/frontends/qt/GuiPrefs.cpp:1526
-msgid "Give a filename for the LyX server pipe"
-msgstr "Укажите имя файла для канала LyX-сервера"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:45
+msgid "Restore to the cursor position when the file was last closed"
+msgstr "Восстанавливать позицию курсора на момент закрытия файла"
 
-#: src/frontends/qt/GuiPrefs.cpp:1539 src/frontends/qt/GuiSpellchecker.cpp:594
-msgid "Spellchecker"
-msgstr "Правописание"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:48
+msgid "Restore cursor &positions"
+msgstr "Восстанавливать &позицию курсора"
 
-#: src/frontends/qt/GuiPrefs.cpp:1545
-msgid "Native"
-msgstr "Системный"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:55
+msgid "&Load opened files from last session"
+msgstr "&Загружать открытые файлы из прошлой сессии"
 
-#: src/frontends/qt/GuiPrefs.cpp:1551
-msgid "Aspell"
-msgstr "Aspell"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:62
+msgid "&Clear all session information"
+msgstr "Очистить всю &информацию о сессиях"
 
-#: src/frontends/qt/GuiPrefs.cpp:1554
-msgid "Enchant"
-msgstr "Enchant"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:85
+msgid "Backup && Saving"
+msgstr "Резервное копирование и сохранение"
 
-#: src/frontends/qt/GuiPrefs.cpp:1557
-msgid "Hunspell"
-msgstr "Hunspell"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:94
+msgid "Backup &original documents when saving"
+msgstr "Создавать резервные копии при сохранении"
 
-#: src/frontends/qt/GuiPrefs.cpp:1630
-msgid "Converters"
-msgstr "Конвертеры"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:103
+msgid "&Backup documents, every"
+msgstr "Делать &резервные копии документов каждые"
 
-#: src/frontends/qt/GuiPrefs.cpp:1863
-msgid "SECURITY WARNING!"
-msgstr "ПРЕДУПРЕЖДЕНИЕ БЕЗОПАСНОСТИ!"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:120
+msgid "&minutes"
+msgstr "минут"
 
-#: src/frontends/qt/GuiPrefs.cpp:1863
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:145
 msgid ""
-"Unchecking this option has the effect that potentially harmful converters "
-"would be run without asking your permission first. This is UNSAFE and NOT "
-"recommended, unless you know what you are doing. Are you sure you would like "
-"to proceed ? The recommended and safe answer is NO!"
+"If this is checked, new documents will be saved in a compressed binary-"
+"format by default. Existing documents will still be saved in their current "
+"state (compressed or uncompressed)."
 msgstr ""
-"Если этот параметр отключен, потенциально опасные конвертеры будут "
-"запускаться без предварительного запроса вашего разрешения. Это НЕБЕЗОПАСНО "
-"и НЕ рекомендуется, если вы не знаете, что вы делаете. Вы уверены, что "
-"хотите продолжить? Рекомендуемый и безопасный ответ - НЕТ!"
-
-#: src/frontends/qt/GuiPrefs.cpp:1983
-msgid "File Formats"
-msgstr "Форматы файлов"
+"Если эта опция включена, новые документы будут сохраняться в сжатом двоичном "
+"формате по умолчанию. Существующие документы будут сохраняться в текущем "
+"состоянии (сжатом или несжатом)."
 
-#: src/frontends/qt/GuiPrefs.cpp:2217 src/frontends/qt/GuiPrefs.cpp:2369
-msgid "Format in use"
-msgstr "Используемый формат"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:148
+msgid "&Save new documents compressed by default"
+msgstr "Сохранять новые документы сжатыми по умолчанию"
 
-#: src/frontends/qt/GuiPrefs.cpp:2218
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:155
 msgid ""
-"You cannot change a format's short name if the format is used by a "
-"converter. Please remove the converter first."
+"If this is checked, the document directory path will be saved in the "
+"document. This allows moving the document elsewhere and still finding the "
+"included files."
 msgstr ""
-"Невозможно изменить имя формата, используемого конвертером. Удалите сначала "
-"конвертер."
+"Если эта опция включена, путь к каталогу документа будет сохранён в "
+"документе. Это позволит перемещать документ в другое место и всё равно "
+"находить включённые файлы."
 
-#: src/frontends/qt/GuiPrefs.cpp:2370
-msgid "Cannot remove a Format used by a Converter. Remove the converter first."
-msgstr ""
-"Невозможно удалить формат, используемый конвертером. Удалите сначала "
-"конвертер."
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:158
+msgid "Save the &document directory path"
+msgstr "Сохранять путь к каталогу документа"
 
-#: src/frontends/qt/GuiPrefs.cpp:2463
-msgid "LyX needs to be restarted!"
-msgstr "LyX должен быть перезапущен!"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:168
+msgid "Windows && Work Area"
+msgstr "Окна и рабочая область"
 
-#: src/frontends/qt/GuiPrefs.cpp:2464
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:177
+msgid "Open documents in &tabs"
+msgstr "&Открывать документы во вкладках"
+
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:184
 msgid ""
-"The change of user interface language will be fully effective only after a "
-"restart."
+"Whether to open documents in an already running instance of LyX. (Set the "
+"LyXServer pipe path and restart LyX to enable this feature)"
 msgstr ""
-"Изменение языка пользовательского интерфейса будет полностью задействовано "
-"только после перезапуска."
-
-#: src/frontends/qt/GuiPrefs.cpp:2564
-msgid "User Interface"
-msgstr "Интерфейс"
-
-#: src/frontends/qt/GuiPrefs.cpp:2583
-msgid "Classic"
-msgstr "Классический"
-
-#: src/frontends/qt/GuiPrefs.cpp:2584
-msgid "Oxygen"
-msgstr "Oxygen"
-
-#: src/frontends/qt/GuiPrefs.cpp:2632
-msgid "Document Handling"
-msgstr "Документ"
-
-#: src/frontends/qt/GuiPrefs.cpp:2739
-msgid "Control"
-msgstr "Управление"
-
-#: src/frontends/qt/GuiPrefs.cpp:2836
-msgid "Shortcuts"
-msgstr "Сочетания клавиш"
-
-#: src/frontends/qt/GuiPrefs.cpp:2843
-msgid "Function"
-msgstr "Функция"
+"Открывать ли документы в уже запущенном экземпляре LyX. (Установите путь "
+"канала LyXServer и перезапустите LyX для включения этой функции)"
 
-#: src/frontends/qt/GuiPrefs.cpp:2844
-msgid "Shortcut"
-msgstr "Сочетание клавиш"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:187
+msgid "Use s&ingle instance"
+msgstr "Использовать один экземпляр"
 
-#: src/frontends/qt/GuiPrefs.cpp:2921
-msgid "Cursor, Mouse and Editing Functions"
-msgstr "Курсор, мышь и функции редактирования"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:194
+msgid "Whether to place close button on each tab or only one in the top left."
+msgstr ""
+"Поместить кнопку закрытия на каждую вкладку или только в верхний левый угол."
 
-#: src/frontends/qt/GuiPrefs.cpp:2925
-msgid "Mathematical Symbols"
-msgstr "Математические символы"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:197
+msgid "Displa&y single close-tab button"
+msgstr "&Единственная кнопка закрытия вкладки"
 
-#: src/frontends/qt/GuiPrefs.cpp:2929
-msgid "Document and Window"
-msgstr "Документ и окно"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:206
+msgid "Closing last &view:"
+msgstr "При закрытии последнего вида:"
 
-#: src/frontends/qt/GuiPrefs.cpp:2933
-msgid "Font, Layouts and Textclasses"
-msgstr "Шрифт, макеты и классы документа"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:217
+msgid "Closes document"
+msgstr "закрывать документ"
 
-#: src/frontends/qt/GuiPrefs.cpp:2937
-msgid "System and Miscellaneous"
-msgstr "Системное и разное"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:222
+msgid "Hides document"
+msgstr "скрывать документ"
 
-#: src/frontends/qt/GuiPrefs.cpp:3074 src/frontends/qt/GuiPrefs.cpp:3135
-msgid "Res&tore"
-msgstr "&Восстановить"
+#: src/frontends/qt/ui/PrefDocHandlingUi.ui:227
+msgid "Ask the user"
+msgstr "спросить пользователя"
 
-#: src/frontends/qt/GuiPrefs.cpp:3303 src/frontends/qt/GuiPrefs.cpp:3312
-#: src/frontends/qt/GuiPrefs.cpp:3318 src/frontends/qt/GuiPrefs.cpp:3381
-msgid "Failed to create shortcut"
-msgstr "Сочетание не назначено"
+#: src/frontends/qt/ui/PrefEditUi.ui:51
+msgid "Scroll &below end of document"
+msgstr "Прокручивать за конец документа"
 
-#: src/frontends/qt/GuiPrefs.cpp:3304
-msgid "Unknown or invalid LyX function"
-msgstr "Неизвестная или неправильная функция LyX"
+#: src/frontends/qt/ui/PrefEditUi.ui:72
+msgid "Edit Math Macros inline with a box around"
+msgstr "Редактировать математические макросы, окружённые рамкой"
 
-#: src/frontends/qt/GuiPrefs.cpp:3313
-msgid "This LyX function is hidden and cannot be bound."
-msgstr "Эта функция LyX скрыта и не может быть привязана"
+#: src/frontends/qt/ui/PrefEditUi.ui:77
+msgid "Edit Math Macros inline with the name in the status bar"
+msgstr "Редактировать математические макросы с именем в строке состояния"
 
-#: src/frontends/qt/GuiPrefs.cpp:3319
-msgid "Invalid or empty key sequence"
-msgstr "Неверное или пустое сочетание клавиш"
+#: src/frontends/qt/ui/PrefEditUi.ui:82
+msgid "Edit Math Macros with a parameter list (like in LyX < 1.6)"
+msgstr ""
+"Редактировать математические макросы со списком параметров (как в LyX < 1.6)"
 
-#: src/frontends/qt/GuiPrefs.cpp:3334
-#, c-format
+#: src/frontends/qt/ui/PrefEditUi.ui:90
 msgid ""
-"Shortcut `%1$s' is already bound to %2$s.\n"
-"Are you sure you want to unbind the current shortcut and bind it to %3$s?"
+"If this is checked, deleted and added text in change tracking mode will not "
+"be resolved on copy/paste operations and when moving content from/to insets"
 msgstr ""
-"Сочетание клавиш `%1$s' уже привязано к:\n"
-"%2$s\n"
-"Вы уверены, что хотите привязать его к %3$s?"
-
-#: src/frontends/qt/GuiPrefs.cpp:3340
-msgid "Redefine shortcut?"
-msgstr "Переопределить сочетание клавиш?"
-
-#: src/frontends/qt/GuiPrefs.cpp:3341
-msgid "&Redefine"
-msgstr "&Переопределить"
-
-#: src/frontends/qt/GuiPrefs.cpp:3382
-msgid "Can not insert shortcut to the list"
-msgstr "Невозможно добавить сочетание клавиш в список"
-
-#: src/frontends/qt/GuiPrefs.cpp:3413
-msgid "Identity"
-msgstr "Личные данные"
-
-#: src/frontends/qt/GuiPrintNomencl.cpp:49
-msgid "Longest label width"
-msgstr "Ширина самой длинной метки"
-
-#: src/frontends/qt/GuiPrintNomencl.h:40
-msgid "Nomenclature List Settings"
-msgstr "Список обозначений"
-
-#: src/frontends/qt/GuiPrintindex.cpp:37
-msgid "Index Settings"
-msgstr "Указатель"
-
-#: src/frontends/qt/GuiPrintindex.cpp:70
-msgid "<All indexes>"
-msgstr "<Все указатели>"
-
-#: src/frontends/qt/GuiProgressView.cpp:66
-msgid "Progress/Debug Messages"
-msgstr "Сообщения прогресса/отладки"
-
-#: src/frontends/qt/GuiProgressView.cpp:101
-msgid "Debug Level"
-msgstr "Уровень отладки"
-
-#: src/frontends/qt/GuiProgressView.cpp:102
-msgid "Set"
-msgstr "Установить"
-
-#: src/frontends/qt/GuiRef.cpp:49
-msgid "Cross-reference"
-msgstr "Перекрёстная ссылка"
-
-#: src/frontends/qt/GuiRef.cpp:62
-msgid "All available labels"
-msgstr "Все доступные метки"
-
-#: src/frontends/qt/GuiRef.cpp:63
-msgid "Enter string to filter the list of available labels"
-msgstr "Введите строку для фильтрации списка доступных меток"
-
-#: src/frontends/qt/GuiRef.cpp:75
-msgid "By Occurrence"
-msgstr "По порядку"
-
-#: src/frontends/qt/GuiRef.cpp:76
-msgid "Alphabetically (Case-Insensitive)"
-msgstr "По алфавиту (без учёта регистра)"
-
-#: src/frontends/qt/GuiRef.cpp:77
-msgid "Alphabetically (Case-Sensitive)"
-msgstr "По алфавиту (с учётом регистра)"
-
-#: src/frontends/qt/GuiRef.cpp:80
-msgid "Update the label list"
-msgstr "Обновить список меток"
-
-#: src/frontends/qt/GuiRef.cpp:399
-msgid "&Go Back"
-msgstr "&Назад"
-
-#: src/frontends/qt/GuiRef.cpp:400
-msgid "Jump back to the original cursor location"
-msgstr "Вернуться к исходному положению курсора"
-
-#: src/frontends/qt/GuiRef.cpp:472 src/frontends/qt/GuiRef.cpp:492
-msgid "<No prefix>"
-msgstr "<Нет префикса>"
-
-#: src/frontends/qt/GuiSearch.cpp:46
-msgid "Find and Replace"
-msgstr "Поиск и замена"
-
-#: src/frontends/qt/GuiSendto.cpp:41
-msgid "Export or Send Document"
-msgstr "Экспортировать или отправить документ"
+"Если этот флажок установлен, то удалённый и добавленный текст в режиме "
+"отслеживания изменений будет сохраняться помеченным при выполнении операций "
+"копирования/вставки и при перемещении содержимого во вставки / из вставок."
 
-#: src/frontends/qt/GuiShowFile.cpp:30
-msgid "Show File"
-msgstr "Показать файл"
+#: src/frontends/qt/ui/PrefEditUi.ui:93
+msgid "&Keep change tracking markup on copy and paste"
+msgstr "Сохранять разметку отслеживания изменений при копировании и вставке"
 
-#: src/frontends/qt/GuiShowFile.cpp:48
-msgid "Error -> Cannot load file!"
-msgstr "Ошибка -> невозможно загрузить файл!"
+#: src/frontends/qt/ui/PrefEditUi.ui:100
+msgid "Sort &environments alphabetically"
+msgstr "Сортировать окружения по алфавиту"
 
-#: src/frontends/qt/GuiSpellchecker.cpp:252
-msgid "Spell check of the selection done, did not find any errors."
-msgstr "Проверка правописания выделенного текста завершена, ошибки не найдены."
+#: src/frontends/qt/ui/PrefEditUi.ui:107
+msgid "Cursor &follows scrollbar"
+msgstr "&Курсор следует за полосой прокрутки"
 
-#: src/frontends/qt/GuiSpellchecker.cpp:259
+#: src/frontends/qt/ui/PrefEditUi.ui:116
 msgid ""
-"We reached the end of the document, would you like to continue from the "
-"beginning?"
-msgstr "Достигнут конец документа, продолжить с начала?"
-
-#: src/frontends/qt/GuiSpellchecker.cpp:542
-msgid "Spell checker has no dictionaries."
-msgstr "Нет словарей для проверки правописания."
-
-#: src/frontends/qt/GuiSymbols.cpp:55
-msgid "Basic Latin"
-msgstr "Основная латиница"
-
-#: src/frontends/qt/GuiSymbols.cpp:56
-msgid "Latin-1 Supplement"
-msgstr "Дополнительная латиница-1"
-
-#: src/frontends/qt/GuiSymbols.cpp:57
-msgid "Latin Extended-A"
-msgstr "Расширенная латиница-A"
-
-#: src/frontends/qt/GuiSymbols.cpp:58
-msgid "Latin Extended-B"
-msgstr "Расширенная латиница-B"
-
-#: src/frontends/qt/GuiSymbols.cpp:59
-msgid "IPA Extensions"
-msgstr "Международный фонетический алфавит"
-
-#: src/frontends/qt/GuiSymbols.cpp:60
-msgid "Spacing Modifier Letters"
-msgstr "Некомбинируемые протяжённые символы-модификаторы"
-
-#: src/frontends/qt/GuiSymbols.cpp:61
-msgid "Combining Diacritical Marks"
-msgstr "Комбинируемые диакритические знаки"
-
-#: src/frontends/qt/GuiSymbols.cpp:63
-msgid "Cyrillic"
-msgstr "Кириллица"
-
-#: src/frontends/qt/GuiSymbols.cpp:66
-msgid "Arabic"
-msgstr "Арабский"
-
-#: src/frontends/qt/GuiSymbols.cpp:67
-msgid "Devanagari"
-msgstr "Деванагари"
-
-#: src/frontends/qt/GuiSymbols.cpp:69
-msgid "Gurmukhi"
-msgstr "Гурмукхи"
-
-#: src/frontends/qt/GuiSymbols.cpp:70
-msgid "Gujarati"
-msgstr "Гуджарати"
-
-#: src/frontends/qt/GuiSymbols.cpp:71
-msgid "Oriya"
-msgstr "Ория"
-
-#: src/frontends/qt/GuiSymbols.cpp:80
-msgid "Hangul Jamo"
-msgstr "Хангыль чамо"
-
-#: src/frontends/qt/GuiSymbols.cpp:81
-msgid "Phonetic Extensions"
-msgstr "Фонетические расширения"
-
-#: src/frontends/qt/GuiSymbols.cpp:82
-msgid "Latin Extended Additional"
-msgstr "Дополнительная расширенная латиница"
-
-#: src/frontends/qt/GuiSymbols.cpp:83
-msgid "Greek Extended"
-msgstr "Расширенный набор символов греческого алфавита"
-
-#: src/frontends/qt/GuiSymbols.cpp:84
-msgid "General Punctuation"
-msgstr "Знаки пунктуации"
-
-#: src/frontends/qt/GuiSymbols.cpp:85
-msgid "Superscripts and Subscripts"
-msgstr "Надстрочные и подстрочные знаки"
-
-#: src/frontends/qt/GuiSymbols.cpp:86
-msgid "Currency Symbols"
-msgstr "Символы валют"
-
-#: src/frontends/qt/GuiSymbols.cpp:87
-msgid "Combining Diacritical Marks for Symbols"
-msgstr "Комбинируемые диакритические знаки для символов"
-
-#: src/frontends/qt/GuiSymbols.cpp:88
-msgid "Letterlike Symbols"
-msgstr "Буквоподобные символы"
-
-#: src/frontends/qt/GuiSymbols.cpp:89
-msgid "Number Forms"
-msgstr "Числовые формы"
-
-#: src/frontends/qt/GuiSymbols.cpp:91
-msgid "Mathematical Operators"
-msgstr "Математические операторы"
-
-#: src/frontends/qt/GuiSymbols.cpp:92
-msgid "Miscellaneous Technical"
-msgstr "Разнообразные технические символы"
-
-#: src/frontends/qt/GuiSymbols.cpp:93
-msgid "Control Pictures"
-msgstr "Значки управляющих кодов"
-
-#: src/frontends/qt/GuiSymbols.cpp:94
-msgid "Optical Character Recognition"
-msgstr "Символы оптического распознавания"
-
-#: src/frontends/qt/GuiSymbols.cpp:95
-msgid "Enclosed Alphanumerics"
-msgstr "Вложенные буквы и цифры"
-
-#: src/frontends/qt/GuiSymbols.cpp:96
-msgid "Box Drawing"
-msgstr "Символы для рисования рамок"
-
-#: src/frontends/qt/GuiSymbols.cpp:97
-msgid "Block Elements"
-msgstr "Символы заполнения"
-
-#: src/frontends/qt/GuiSymbols.cpp:98
-msgid "Geometric Shapes"
-msgstr "Геометрические фигуры"
-
-#: src/frontends/qt/GuiSymbols.cpp:99
-msgid "Miscellaneous Symbols"
-msgstr "Разнообразные символы"
-
-#: src/frontends/qt/GuiSymbols.cpp:100
-msgid "Dingbats"
-msgstr "Дингбаты"
-
-#: src/frontends/qt/GuiSymbols.cpp:101
-msgid "Miscellaneous Mathematical Symbols-A"
-msgstr "Разнообразные математические символы-A"
-
-#: src/frontends/qt/GuiSymbols.cpp:102
-msgid "CJK Symbols and Punctuation"
-msgstr "Символы и пунктуация ККЯ"
-
-#: src/frontends/qt/GuiSymbols.cpp:103
-msgid "Hiragana"
-msgstr "Хирагана"
-
-#: src/frontends/qt/GuiSymbols.cpp:104
-msgid "Katakana"
-msgstr "Катакана"
-
-#: src/frontends/qt/GuiSymbols.cpp:105
-msgid "Bopomofo"
-msgstr "Чжуинь. Бопомофо"
-
-#: src/frontends/qt/GuiSymbols.cpp:106
-msgid "Hangul Compatibility Jamo"
-msgstr "Комбинируемые чамо Хангыля"
-
-#: src/frontends/qt/GuiSymbols.cpp:107
-msgid "Kanbun"
-msgstr "Канбун"
-
-#: src/frontends/qt/GuiSymbols.cpp:108
-msgid "Enclosed CJK Letters and Months"
-msgstr "Вложенные буквы и месяцы ККЯ"
-
-#: src/frontends/qt/GuiSymbols.cpp:109
-msgid "CJK Compatibility"
-msgstr "Знаки совместимости ККЯ"
-
-#: src/frontends/qt/GuiSymbols.cpp:110
-msgid "CJK Unified Ideographs"
-msgstr "Унифицированные иероглифы ККЯ"
-
-#: src/frontends/qt/GuiSymbols.cpp:111
-msgid "Hangul Syllables"
-msgstr "Слоги Хангыля"
-
-#: src/frontends/qt/GuiSymbols.cpp:112
-msgid "High Surrogates"
-msgstr "Верхняя часть суррогатных пар"
-
-#: src/frontends/qt/GuiSymbols.cpp:113
-msgid "Private Use High Surrogates"
-msgstr "Верхняя часть суррогатных пар для частного использования"
-
-#: src/frontends/qt/GuiSymbols.cpp:114
-msgid "Low Surrogates"
-msgstr "Нижняя часть суррогатных пар"
-
-#: src/frontends/qt/GuiSymbols.cpp:115
-msgid "Private Use Area"
-msgstr "Область для частного использования"
-
-#: src/frontends/qt/GuiSymbols.cpp:116
-msgid "CJK Compatibility Ideographs"
-msgstr "Унифицированные иероглифы ККЯ"
-
-#: src/frontends/qt/GuiSymbols.cpp:117
-msgid "Alphabetic Presentation Forms"
-msgstr "Формы представления алфавита"
-
-#: src/frontends/qt/GuiSymbols.cpp:118
-msgid "Arabic Presentation Forms-A"
-msgstr "Арабские формы представления-A"
-
-#: src/frontends/qt/GuiSymbols.cpp:119
-msgid "Combining Half Marks"
-msgstr "Комбинируемые половинки символов"
-
-#: src/frontends/qt/GuiSymbols.cpp:120
-msgid "CJK Compatibility Forms"
-msgstr "Формы совместимости ККЯ"
-
-#: src/frontends/qt/GuiSymbols.cpp:121
-msgid "Small Form Variants"
-msgstr "Варианты малого размера"
-
-#: src/frontends/qt/GuiSymbols.cpp:122
-msgid "Arabic Presentation Forms-B"
-msgstr "Формы представления арабских букв-B"
-
-#: src/frontends/qt/GuiSymbols.cpp:123
-msgid "Halfwidth and Fullwidth Forms"
-msgstr "Полуширинные и полноширинные формы"
-
-#: src/frontends/qt/GuiSymbols.cpp:125
-msgid "Linear B Syllabary"
-msgstr "Слоги линейного письма Б"
-
-#: src/frontends/qt/GuiSymbols.cpp:126
-msgid "Linear B Ideograms"
-msgstr "Идеограммы линейного письма Б"
-
-#: src/frontends/qt/GuiSymbols.cpp:127
-msgid "Aegean Numbers"
-msgstr "Эгейские цифры"
-
-#: src/frontends/qt/GuiSymbols.cpp:128
-msgid "Ancient Greek Numbers"
-msgstr "Древнегреческие единицы измерения"
-
-#: src/frontends/qt/GuiSymbols.cpp:129
-msgid "Old Italic"
-msgstr "Этрусский (староитальянский) алфавит"
-
-#: src/frontends/qt/GuiSymbols.cpp:130
-msgid "Gothic"
-msgstr "Готский алфавит"
-
-#: src/frontends/qt/GuiSymbols.cpp:131
-msgid "Ugaritic"
-msgstr "Угаритский алфавит"
-
-#: src/frontends/qt/GuiSymbols.cpp:132
-msgid "Old Persian"
-msgstr "Древнеперсидский клинописный алфавит"
-
-#: src/frontends/qt/GuiSymbols.cpp:133
-msgid "Deseret"
-msgstr "Дезеретский алфавит"
+"If this is activated, LyX will search your disk for matching files when "
+"clicking on \"Try to Open Citation Content...\" in the citation context menu"
+msgstr ""
+"При включении LyX будет искать подходящие файлы на диске для пункта "
+"\"Открыть источник\" контекстного меню библиографической ссылки"
 
-#: src/frontends/qt/GuiSymbols.cpp:134
-msgid "Shavian"
-msgstr "Алфавит Бернарда Шоу"
+#: src/frontends/qt/ui/PrefEditUi.ui:119
+msgid "Search &drive for cited files"
+msgstr "Искать цитируемые файлы на диске"
 
-#: src/frontends/qt/GuiSymbols.cpp:135
-msgid "Osmanya"
-msgstr "Османья (сомалийский алфавит)"
+#: src/frontends/qt/ui/PrefEditUi.ui:144
+msgid "Patte&rn:"
+msgstr "&Шаблон:"
 
-#: src/frontends/qt/GuiSymbols.cpp:136
-msgid "Cypriot Syllabary"
-msgstr "Слоговая письменность острова Кипр"
-
-#: src/frontends/qt/GuiSymbols.cpp:137
-msgid "Kharoshthi"
-msgstr "Кхароштхи"
-
-#: src/frontends/qt/GuiSymbols.cpp:138
-msgid "Byzantine Musical Symbols"
-msgstr "Византийские музыкальные символы"
+#: src/frontends/qt/ui/PrefEditUi.ui:154
+msgid "Define search pattern (see UserGuide for syntax)"
+msgstr "Определите шаблон поиска (синтаксис см. в Руководстве пользователя)"
 
-#: src/frontends/qt/GuiSymbols.cpp:139
-msgid "Musical Symbols"
-msgstr "Музыкальные символы"
+#: src/frontends/qt/ui/PrefEditUi.ui:170
+msgid "Cursor width (&pixels):"
+msgstr "Ширина курсора (пиксели):"
 
-#: src/frontends/qt/GuiSymbols.cpp:140
-msgid "Ancient Greek Musical Notation"
-msgstr "Древнегреческие музыкальные символы"
+#: src/frontends/qt/ui/PrefEditUi.ui:198
+msgid "Skip trailing non-word characters"
+msgstr "Пропускать завершающие символы, не относящиеся к словам"
 
-#: src/frontends/qt/GuiSymbols.cpp:141
-msgid "Tai Xuan Jing Symbols"
-msgstr "Символы Тай Сюань Цзин"
+#: src/frontends/qt/ui/PrefEditUi.ui:201
+msgid "Use M&ac-style cursor movement"
+msgstr "Использовать перемещение курсора в стиле Mac"
 
-#: src/frontends/qt/GuiSymbols.cpp:142
-msgid "Mathematical Alphanumeric Symbols"
-msgstr "Математические буквенно-цифровые символы"
+#: src/frontends/qt/ui/PrefEditUi.ui:208
+msgid "&Group environments by their category"
+msgstr "&Группировать окружения по их категории"
 
-#: src/frontends/qt/GuiSymbols.cpp:143
-msgid "CJK Unified Ideographs Extension B"
-msgstr "Унифицированные иероглифы ККЯ. Расширение B"
+#: src/frontends/qt/ui/PrefEditUi.ui:218
+msgid "Fullscreen"
+msgstr "Полный экран"
 
-#: src/frontends/qt/GuiSymbols.cpp:144
-msgid "CJK Compatibility Ideographs Supplement"
-msgstr "Унифицированные иероглифы ККЯ (дополнение)"
+#: src/frontends/qt/ui/PrefEditUi.ui:230
+msgid "Hide &menubar"
+msgstr "Скрыть &меню"
 
-#: src/frontends/qt/GuiSymbols.cpp:145
-msgid "Tags"
-msgstr "Теги"
+#: src/frontends/qt/ui/PrefEditUi.ui:237
+msgid "Hide scr&ollbar"
+msgstr "Скрыть &полосу прокрутки"
 
-#: src/frontends/qt/GuiSymbols.cpp:146
-msgid "Variation Selectors Supplement"
-msgstr "Селекторы вариантов начертания (дополнение)"
+#: src/frontends/qt/ui/PrefEditUi.ui:260
+msgid "Hide sta&tusbar"
+msgstr "Скрыть строку &состояния"
 
-#: src/frontends/qt/GuiSymbols.cpp:147
-msgid "Supplementary Private Use Area-A"
-msgstr "Дополнительная зона для частного использования-A"
+#: src/frontends/qt/ui/PrefEditUi.ui:267
+msgid "H&ide tabbar"
+msgstr "Скрыть панель &вкладок"
 
-#: src/frontends/qt/GuiSymbols.cpp:148
-msgid "Supplementary Private Use Area-B"
-msgstr "Дополнительная зона для частного использования-B"
+#: src/frontends/qt/ui/PrefEditUi.ui:305
+msgid "&Limit text width"
+msgstr "&Ограничить ширину текста"
 
-#: src/frontends/qt/GuiSymbols.cpp:247
-msgid "<p>LaTeX code: %1</p>"
-msgstr "<p>Код LaTeX: %1</p>"
+#: src/frontends/qt/ui/PrefEditUi.ui:328
+msgid "Screen used (pi&xels):"
+msgstr "Ши&рина (пиксели):"
 
-#: src/frontends/qt/GuiSymbols.cpp:288
-msgid "Symbols"
-msgstr "Символы"
+#: src/frontends/qt/ui/PrefEditUi.ui:375
+msgid "&Hide toolbars"
+msgstr "Скрыть панели &инструментов"
 
-#: src/frontends/qt/GuiTabular.h:48
-msgid "Tabular Settings"
-msgstr "Таблица"
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:46
+msgid "&New..."
+msgstr "&Создать..."
 
-#: src/frontends/qt/GuiTabularCreate.cpp:75
-msgid "Insert Table"
-msgstr "Вставить таблицу"
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:53
+msgid "Re&move"
+msgstr "&Удалить"
 
-#: src/frontends/qt/GuiTexinfo.cpp:50
-msgid "TeX Information"
-msgstr "Информация о TeX"
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:73
+msgid "&Document format"
+msgstr "Формат документа"
 
-#: src/frontends/qt/GuiThesaurus.cpp:211
-msgid "No thesaurus available for this language!"
-msgstr "Нет тезауруса для этого языка!"
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:80
+msgid "Check this to show the current format in the File > Export menu"
+msgstr "Установите для показа текущего формата в меню Файл > Экспортировать"
 
-#: src/frontends/qt/GuiToc.cpp:36
-msgid "Outline"
-msgstr "Навигация"
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:83
+msgid "Sho&w in export menu"
+msgstr "Показать в меню экспорта"
 
-#: src/frontends/qt/GuiToolbar.cpp:407
-msgid "&Reset to default"
-msgstr "Сбросить к настройкам по умолчанию"
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:90
+msgid "Vector &graphics format"
+msgstr "Формат векторной &графики"
 
-#: src/frontends/qt/GuiToolbar.cpp:408
-msgid "Reset all font settings to their defaults"
-msgstr "Сбросить все настройки шрифта к значениям по умолчанию"
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:97
+msgid "S&hort name:"
+msgstr "&Краткое имя:"
 
-#: src/frontends/qt/GuiToolbar.cpp:621 src/frontends/qt/Toolbars.cpp:409
-msgid "auto"
-msgstr "автоматически"
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:110
+msgid "E&xtensions:"
+msgstr "Рас&ширения:"
 
-#: src/frontends/qt/GuiToolbar.cpp:626 src/frontends/qt/GuiToolbar.cpp:635
-#: src/insets/InsetBranch.cpp:79 src/insets/InsetBranch.cpp:82
-msgid "off"
-msgstr "выключен"
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:123
+msgid "&MIME:"
+msgstr "&MIME:"
 
-#: src/frontends/qt/GuiToolbar.cpp:642 src/frontends/qt/GuiToolbar.cpp:662
-#, c-format
-msgid "Toolbar \"%1$s\" state set to %2$s"
-msgstr "Состояние панели \"%1$s\" установлено в %2$s"
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:136
+msgid "Shortc&ut:"
+msgstr "Сочетание клавиш:"
 
-#: src/frontends/qt/GuiToolbar.cpp:659
-msgid "movable"
-msgstr "подвижный"
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:149
+msgid "Ed&itor:"
+msgstr "Редактор:"
 
-#: src/frontends/qt/GuiToolbar.cpp:661
-msgid "immovable"
-msgstr "неподвижный"
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:169
+msgid "&Viewer:"
+msgstr "&Просмотрщик:"
 
-#: src/frontends/qt/GuiVSpace.h:40
-msgid "Vertical Space Settings"
-msgstr "Вертикальный промежуток"
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:189
+msgid "Co&pier:"
+msgstr "Ко&пир:"
 
-#: src/frontends/qt/GuiView.cpp:163
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:202
 msgid ""
-"The Document\n"
-"Processor[[welcome banner]]"
+"Specification of the default output formats when using specific LaTeX "
+"variants"
 msgstr ""
-"The Document\n"
-"Processor[[welcome banner]]"
-
-#: src/frontends/qt/GuiView.cpp:164
-msgid "1.0[[possibly scale the welcome banner text size]]"
-msgstr "1.0[[possibly scale the welcome banner text size]]"
+"Укажите формат вывода по умолчанию при использовании конкретных вариантов "
+"LaTeX"
 
-#: src/frontends/qt/GuiView.cpp:167
-msgid "version "
-msgstr "версия "
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:205
+msgid "Default Output Formats"
+msgstr "Форматы вывода по умолчанию"
 
-#: src/frontends/qt/GuiView.cpp:167
-msgid "unknown version"
-msgstr "неизвестная версия"
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:240
+msgid "The default output format for documents using non-TeX fonts"
+msgstr ""
+"Формат вывода по умолчанию для документов, использующих системные шрифты"
 
-#: src/frontends/qt/GuiView.cpp:643
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:260
 msgid ""
-"WARNING: LaTeX is allowed to execute external commands for this document. "
-"Right click to change."
+"This is the default output format for LyX documents, except for DocBook "
+"classes, documents that use non-TeX fonts and Japanese documents"
 msgstr ""
-"Предупреждение: LaTeX разрешено выполнять внешние команды для этого "
-"документа. Щёлкните правой кнопкой мыши, чтобы изменить это."
-
-#: src/frontends/qt/GuiView.cpp:724
-msgid "Cancel Export?"
-msgstr "Отменить экспорт?"
-
-#: src/frontends/qt/GuiView.cpp:725
-msgid "Do you want to cancel the background export process?"
-msgstr "Отменить фоновый процесс экспорта?"
-
-#: src/frontends/qt/GuiView.cpp:728
-msgid "Co&ntinue"
-msgstr "Продолжить"
-
-#: src/frontends/qt/GuiView.cpp:753
-#, c-format
-msgid "Successful export to format: %1$s"
-msgstr "Успешный экспорт в формат: %1$s"
-
-#: src/frontends/qt/GuiView.cpp:762
-#, c-format
-msgid "Error while exporting format: %1$s"
-msgstr "Ошибка при экспорте формата: %1$s"
-
-#: src/frontends/qt/GuiView.cpp:765
-#, c-format
-msgid "Successful preview of format: %1$s"
-msgstr "Успешный просмотр формата: %1$s"
+"Это формат по умолчанию для документов LyX, кроме классов DocBook, "
+"документов, использующих системные шрифты, и японских документов"
 
-#: src/frontends/qt/GuiView.cpp:768
-#, c-format
-msgid "Error while previewing format: %1$s"
-msgstr "Ошибка при просмотре формата %1$s"
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:267
+msgid "The default output format for Japanese documents (using pLaTeX)"
+msgstr "Формат вывода по умолчанию для японских документов (с помощью pLaTeX)"
 
-#: src/frontends/qt/GuiView.cpp:771
-#, c-format
-msgid "Conversion cancelled while previewing format: %1$s"
-msgstr "Преобразование отменено при просмотре формата: %1$s"
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:274
+msgid "With n&on-TeX fonts:"
+msgstr "С системными шрифтами:"
 
-#: src/frontends/qt/GuiView.cpp:1109
-msgid "Exit LyX"
-msgstr "Выйти из LyX"
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:284
+msgid "With &TeX fonts:"
+msgstr "С шрифтами TeX:"
 
-#: src/frontends/qt/GuiView.cpp:1110
-msgid "LyX could not be closed because documents are being processed by LyX."
-msgstr "LyX не может быть закрыт, так как идёт обработка документов."
+#: src/frontends/qt/ui/PrefFileformatsUi.ui:294
+msgid "&Japanese:"
+msgstr "Японский:"
 
-#: src/frontends/qt/GuiView.cpp:1261
-#, c-format
-msgid "%1$s (modified externally)"
-msgstr "%1$s (изменён внешней программой)"
+#: src/frontends/qt/ui/PrefIdentityUi.ui:34
+msgid "Your name"
+msgstr "Ваше имя"
 
-#: src/frontends/qt/GuiView.cpp:1380
-msgid "Welcome to LyX!"
-msgstr "Добро пожаловать в LyX!"
+#: src/frontends/qt/ui/PrefIdentityUi.ui:41
+msgid "&Initials:"
+msgstr "Инициалы:"
 
-#: src/frontends/qt/GuiView.cpp:1899
-msgid "Automatic save done."
-msgstr "Автосохранение выполнено."
+#: src/frontends/qt/ui/PrefIdentityUi.ui:63
+msgid "Initials of your name"
+msgstr "Инициалы вашего имени"
 
-#: src/frontends/qt/GuiView.cpp:1900
-msgid "Automatic save failed!"
-msgstr "Автосохранение не удалось!"
+#: src/frontends/qt/ui/PrefIdentityUi.ui:72
+msgid "&E-mail:"
+msgstr "&Эл. почта:"
 
-#: src/frontends/qt/GuiView.cpp:1956
-msgid "Command not allowed without any document open"
-msgstr "Команда недопустима без открытых документов"
+#: src/frontends/qt/ui/PrefIdentityUi.ui:82
+msgid "Your E-mail address"
+msgstr "Ваш электронный адрес"
 
-#: src/frontends/qt/GuiView.cpp:2025
-msgid "Invalid argument of master-buffer-forall"
-msgstr "Недопустимый аргумент для master-buffer-forall"
+#: src/frontends/qt/ui/PrefInputUi.ui:20
+msgid "Keyboard"
+msgstr "Клавиатура"
 
-#: src/frontends/qt/GuiView.cpp:2144 src/frontends/qt/GuiView.cpp:2161
-#, c-format
-msgid "Unknown toolbar \"%1$s\""
-msgstr "Неизвестная панель инструментов \"%1$s\""
+#: src/frontends/qt/ui/PrefInputUi.ui:32
+msgid "Use &keyboard map"
+msgstr "Использовать раскладку &клавиатуры"
 
-#: src/frontends/qt/GuiView.cpp:2278 src/frontends/qt/GuiView.cpp:2291
-msgid "Zoom level cannot be less than %1$d%."
-msgstr "Масштаб не может быть меньше %1$d%."
+#: src/frontends/qt/ui/PrefInputUi.ui:65
+#: src/frontends/qt/ui/PrefShortcutsUi.ui:83
+msgid "Br&owse..."
+msgstr "В&ыбрать..."
 
-#: src/frontends/qt/GuiView.cpp:2420
-msgid "Document not loaded."
-msgstr "Документ невозможно загрузить."
+#: src/frontends/qt/ui/PrefInputUi.ui:78
+msgid "S&econdary:"
+msgstr "&Вторичная:"
 
-#: src/frontends/qt/GuiView.cpp:2450
-msgid "Select document to open"
-msgstr "Выберите документ для открытия"
+#: src/frontends/qt/ui/PrefInputUi.ui:91
+msgid "&Primary:"
+msgstr "Первичная:"
 
-#: src/frontends/qt/GuiView.cpp:2480
-#, c-format
+#: src/frontends/qt/ui/PrefInputUi.ui:101
 msgid ""
-"The directory in the given path\n"
-"%1$s\n"
-"does not exist."
+"Mac OS X specific setting for use with emacs bindings. Takes effect next "
+"time LyX is launched."
 msgstr ""
-"Указанный каталог\n"
-"%1$s\n"
-"не существует."
-
-#: src/frontends/qt/GuiView.cpp:2497
-#, c-format
-msgid "Opening document %1$s..."
-msgstr "Открывается документ %1$s..."
-
-#: src/frontends/qt/GuiView.cpp:2502
-#, c-format
-msgid "Document %1$s opened."
-msgstr "Документ %1$s открыт."
-
-#: src/frontends/qt/GuiView.cpp:2505
-msgid "Version control detected."
-msgstr "Обнаружено управление версиями."
-
-#: src/frontends/qt/GuiView.cpp:2507
-#, c-format
-msgid "Could not open document %1$s"
-msgstr "Невозможно открыть документ %1$s"
+"Настройка использования привязок emacs (только для macOS). Вступает в силу "
+"при следующем запуске LyX."
 
-#: src/frontends/qt/GuiView.cpp:2537
-msgid "Couldn't import file"
-msgstr "Невозможно импортировать файл"
+#: src/frontends/qt/ui/PrefInputUi.ui:104
+msgid "Do not swap Apple and Control keys"
+msgstr "Не менять местами клавиши Apple и Control"
 
-#: src/frontends/qt/GuiView.cpp:2538
-#, c-format
-msgid "No information for importing the format %1$s."
-msgstr "Нет информации для импортирования из формата %1$s."
+#: src/frontends/qt/ui/PrefInputUi.ui:124
+msgid "Mouse"
+msgstr "Мышь"
 
-#: src/frontends/qt/GuiView.cpp:2585
-#, c-format
-msgid "Select %1$s file to import"
-msgstr "Выберите файл \"%1$s\" для импорта"
+#: src/frontends/qt/ui/PrefInputUi.ui:138
+msgid "&Wheel scrolling speed:"
+msgstr "&Скорость прокрутки колёсика:"
 
-#: src/frontends/qt/GuiView.cpp:2620
-#, c-format
+#: src/frontends/qt/ui/PrefInputUi.ui:148
 msgid ""
-"The file name '%1$s' is invalid!\n"
-"Aborting import."
+"1.0 is the standard scrolling speed with the mouse wheel. Higher values will "
+"speed it up, low values slow it down."
 msgstr ""
-"Имя файла '%1$s' неверно!\n"
-"Прерывание импорта."
+"1.0 является стандартной скоростью прокрутки с помощью колёсика мышки. "
+"Большие значения соответствуют ускоренной прокрутке, меньшие - замедленной."
 
-#: src/frontends/qt/GuiView.cpp:2647 src/frontends/qt/GuiView.cpp:2913
-#: src/frontends/qt/GuiView.cpp:3016
-#, c-format
+#: src/frontends/qt/ui/PrefInputUi.ui:185
 msgid ""
-"The document %1$s already exists.\n"
-"\n"
-"Do you want to overwrite that document?"
+"If this is checked, the middle mouse button will paste the recent selection"
 msgstr ""
-"Документ %1$s уже существует.\n"
-"\n"
-"Хотите перезаписать его?"
-
-#: src/frontends/qt/GuiView.cpp:2649 src/frontends/qt/GuiView.cpp:2917
-#: src/frontends/qt/GuiView.cpp:3020
-msgid "Overwrite document?"
-msgstr "Перезаписать документ?"
-
-#: src/frontends/qt/GuiView.cpp:2658
-#, c-format
-msgid "Importing %1$s..."
-msgstr "Импортирование %1$s..."
+"При включении средняя кнопка мыши будет вставлять последний выделенный текст"
 
-#: src/frontends/qt/GuiView.cpp:2661
-msgid "imported."
-msgstr "импортирован."
+#: src/frontends/qt/ui/PrefInputUi.ui:188
+msgid "&Middle mouse button pasting"
+msgstr "Вставка средней кнопкой мыши"
 
-#: src/frontends/qt/GuiView.cpp:2663
-msgid "file not imported!"
-msgstr "файл не импортирован!"
+#: src/frontends/qt/ui/PrefInputUi.ui:204
+msgid "Scroll Wheel Zoom"
+msgstr "Масштаб колёсиком мыши"
 
-#: src/frontends/qt/GuiView.cpp:2689
-msgid "newfile"
-msgstr "Новый документ "
+#: src/frontends/qt/ui/PrefInputUi.ui:230
+msgid "&Enable"
+msgstr "&Использовать"
 
-#: src/frontends/qt/GuiView.cpp:2722
-msgid "Select LyX document to insert"
-msgstr "Выберите документ LyX для вставки"
+#: src/frontends/qt/ui/PrefInputUi.ui:244
+msgid "Ctrl"
+msgstr "Ctrl"
 
-#: src/frontends/qt/GuiView.cpp:2768
-#, c-format
-msgid ""
-"It is suggested to save the template in a subdirectory\n"
-"appropriate to the document language (%1$s).\n"
-"This subdirectory does not exists yet.\n"
-"Do you want to create it?"
-msgstr ""
-"Предлагается сохранить шаблон в подкаталоге\n"
-"в соответствии с языком документа (%1$s).\n"
-"Этот подкаталог еще не существует.\n"
-"Вы хотите создать его?"
+#: src/frontends/qt/ui/PrefInputUi.ui:254
+msgid "Alt"
+msgstr "Alt"
 
-#: src/frontends/qt/GuiView.cpp:2773
-msgid "Create Language Directory?"
-msgstr "Создать каталог языка?"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:22
+msgid "User &interface language:"
+msgstr "Язык &пользовательского интерфейса:"
 
-#: src/frontends/qt/GuiView.cpp:2774 src/frontends/qt/GuiView.cpp:2805
-msgid "&Yes, Create"
-msgstr "Да, создать"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:32
+msgid "Select the language of the user interface (menus, dialogs, etc.)"
+msgstr "Выберите язык пользовательского интерфейса (меню, диалогов и т. д.)"
 
-#: src/frontends/qt/GuiView.cpp:2774 src/frontends/qt/GuiView.cpp:2805
-msgid "&No, Save Template in Parent Directory"
-msgstr "&Нет, сохранить шаблон в родительском каталоге"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:57
+msgid "LaTeX Language Support"
+msgstr "Поддержка языков LaTeX"
 
-#: src/frontends/qt/GuiView.cpp:2777 src/frontends/qt/GuiView.cpp:2808
-msgid "Subdirectory creation failed!"
-msgstr "Сбой создания подкаталога!"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:63
+msgid "Language &package:"
+msgstr "Языковой &пакет:"
 
-#: src/frontends/qt/GuiView.cpp:2778 src/frontends/qt/GuiView.cpp:2809
-msgid ""
-"Could not create subdirectory.\n"
-"The template will be saved in the parent directory."
-msgstr ""
-"Не удалось создать подкаталог.\n"
-"Шаблон будет сохранён в родительский каталог."
+#: src/frontends/qt/ui/PrefLanguageUi.ui:73
+msgid "Select which (LaTeX) language package documents should use by default"
+msgstr "Выберите используемый языковой пакет по умолчанию"
 
-#: src/frontends/qt/GuiView.cpp:2799
-#, c-format
+#: src/frontends/qt/ui/PrefLanguageUi.ui:100
 msgid ""
-"It is suggested to save the template in a subdirectory\n"
-"appropriate to the layout category (%1$s).\n"
-"This subdirectory does not exists yet.\n"
-"Do you want to create it?"
+"Enter the command to load a custom language package (default: "
+"\\usepackage{babel})"
 msgstr ""
-"Предлагается сохранить шаблон в подкаталоге\n"
-"в соответствии с категорией макета (%1$s).\n"
-"Этот подкаталог еще не существует.\n"
-"Вы хотите создать его?"
-
-#: src/frontends/qt/GuiView.cpp:2804
-msgid "Create Category Directory?"
-msgstr "Создать каталог категории?"
-
-#: src/frontends/qt/GuiView.cpp:2839
-msgid "Choose a filename to save template as"
-msgstr "Введите имя файла для сохраняемого шаблона"
+"Введите команду для загрузки языкового пакета (по умолчанию: "
+"\\usepackage{babel})"
 
-#: src/frontends/qt/GuiView.cpp:2840
-msgid "Choose a filename to save document as"
-msgstr "Введите имя файла для сохраняемого документа"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:107
+msgid "Command s&tart:"
+msgstr "Команда &начала:"
 
-#: src/frontends/qt/GuiView.cpp:2876
-#, c-format
+#: src/frontends/qt/ui/PrefLanguageUi.ui:117
 msgid ""
-"The file\n"
-"%1$s\n"
-"is already open in your current session.\n"
-"Please close it before attempting to overwrite it.\n"
-"Do you want to choose a new filename?"
+"The LaTeX command that starts a switch to a different language. The "
+"placeholder $$lang is replaced by the actual language name."
 msgstr ""
-"Файл\n"
-"%1$s\n"
-"уже открыт в текущем сеансе.\n"
-"Пожалуйста, закройте его, прежде чем пытаться перезаписать его.\n"
-"Вы хотите выбрать новое имя?"
-
-#: src/frontends/qt/GuiView.cpp:2880
-msgid "Chosen File Already Open"
-msgstr "Выбранный файл уже открыт"
+"Команда LaTeX, которая начинает переключение на иностранный язык. $$lang "
+"заменяется на используемый язык."
 
-#: src/frontends/qt/GuiView.cpp:2881 src/frontends/qt/GuiView.cpp:2903
-#: src/frontends/qt/GuiView.cpp:2919 src/frontends/qt/GuiView.cpp:3021
-#: src/frontends/qt/GuiView.cpp:3066
-msgid "&Rename"
-msgstr "Пе&реименовать"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:124
+msgid "Command e&nd:"
+msgstr "Команда &окончания:"
 
-#: src/frontends/qt/GuiView.cpp:2896
-#, c-format
+#: src/frontends/qt/ui/PrefLanguageUi.ui:134
 msgid ""
-"The document %1$s is already registered.\n"
-"\n"
-"Do you want to choose a new name?"
+"The LaTeX command that ends a switch to a different language.  The "
+"placeholder $$lang is replaced by the actual language name."
 msgstr ""
-"Документ %1$s уже существует.\n"
-"\n"
-"Хотите выбрать новое имя?"
-
-#: src/frontends/qt/GuiView.cpp:2901
-msgid "Rename document?"
-msgstr "Переименовать документ?"
-
-#: src/frontends/qt/GuiView.cpp:2901
-msgid "Copy document?"
-msgstr "Скопировать документ?"
-
-#: src/frontends/qt/GuiView.cpp:2903
-msgid "&Copy"
-msgstr "Копировать"
-
-#: src/frontends/qt/GuiView.cpp:2963
-msgid "Choose a filename to export the document as"
-msgstr "Введите имя файла для экспортируемого документа"
-
-#: src/frontends/qt/GuiView.cpp:2967
-msgid "Guess from extension (*.*)"
-msgstr "Угадать по расширению (*.*)"
+"Команда LaTeX, которая заканчивает переключение на иностранный язык. $$lang "
+"заменяется на используемый язык."
 
-#: src/frontends/qt/GuiView.cpp:3062
-#, c-format
+#: src/frontends/qt/ui/PrefLanguageUi.ui:141
 msgid ""
-"The document %1$s could not be saved.\n"
-"\n"
-"Do you want to rename the document and try again?"
+"Check to pass the language globally (to the document class), not locally (to "
+"the language package), so that other packages are also informed about the "
+"used languages."
 msgstr ""
-"Невозможно сохранить документ %1$s.\n"
-"\n"
-"Хотите ли вы переименовать его и попытаться ещё раз?"
-
-#: src/frontends/qt/GuiView.cpp:3065
-msgid "Rename and save?"
-msgstr "Переименовать и сохранить?"
+"Отметьте для глобального выбора языка (для данного класса документов), не "
+"локального (для данного пакета с языком). При этом другие пакеты также "
+"информируются об используемых языках."
 
-#: src/frontends/qt/GuiView.cpp:3066
-msgid "&Retry"
-msgstr "&Повторить"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:144
+msgid "Set languages &globally"
+msgstr "Установить языки глобально"
 
-#: src/frontends/qt/GuiView.cpp:3111
-#, c-format
+#: src/frontends/qt/ui/PrefLanguageUi.ui:151
 msgid ""
-"Last view on document %1$s is being closed.\n"
-"Would you like to close or hide the document?\n"
-"\n"
-"Hidden documents can be displayed back through\n"
-"the menu: View->Hidden->...\n"
-"\n"
-"To remove this question, set your preference in:\n"
-"  Tools->Preferences->Look&Feel->UserInterface\n"
+"If checked, the document language is explicitly set by a language switch "
+"command"
 msgstr ""
-"Последнее представление документа %1$s закрывается.\n"
-"Хотите закрыть или скрыть документ?\n"
-"\n"
-"Спрятанные документы можно показать снова через\n"
-"меню: Вид->Скрытые->...\n"
-"\n"
-"Чтобы убрать этот вопрос, задайте ваше предпочтение в:\n"
-"  Инструменты->Настройки->Вид и поведение->Интерфейс пользователя\n"
-
-#: src/frontends/qt/GuiView.cpp:3120
-msgid "Close or hide document?"
-msgstr "Закрыть или спрятать документ?"
-
-#: src/frontends/qt/GuiView.cpp:3121
-msgid "&Hide"
-msgstr "Скрыть"
-
-#: src/frontends/qt/GuiView.cpp:3218
-msgid "Close document"
-msgstr "Закрыть документ"
+"Если отмечено, язык документа устанавливается явно командой переключения "
+"языка"
 
-#: src/frontends/qt/GuiView.cpp:3219
-msgid "Document could not be closed because it is being processed by LyX."
-msgstr "Документ нельзя закрыть, он обрабатывается LyX."
+#: src/frontends/qt/ui/PrefLanguageUi.ui:154
+msgid "Set document language e&xplicitly"
+msgstr "Устанавливать язык документа явно"
 
-#: src/frontends/qt/GuiView.cpp:3354 src/frontends/qt/GuiView.cpp:3469
-#, c-format
+#: src/frontends/qt/ui/PrefLanguageUi.ui:161
 msgid ""
-"The document %1$s has not been saved yet.\n"
-"\n"
-"Do you want to save the document?"
+"If checked, the document language is explicitly closed by a language switch "
+"command"
 msgstr ""
-"Документ %1$s пока не сохранён.\n"
-"\n"
-"Хотите сохранить документ?"
-
-#: src/frontends/qt/GuiView.cpp:3357 src/frontends/qt/GuiView.cpp:3472
-msgid "Save new document?"
-msgstr "Сохранить новый документ?"
+"Если отмечено, язык документа закрывается явно командой переключения языка"
 
-#: src/frontends/qt/GuiView.cpp:3358 src/frontends/qt/GuiView.cpp:3372
-#: src/frontends/qt/GuiView.cpp:3474
-msgid "&Save"
-msgstr "&Сохранить"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:164
+msgid "&Unset document language explicitly"
+msgstr "Закрывать язык документа явно"
 
-#: src/frontends/qt/GuiView.cpp:3363
-#, c-format
-msgid ""
-"The document %1$s has unsaved changes.\n"
-"\n"
-"Do you want to save the document or discard the changes?"
-msgstr ""
-"Документ %1$s содержит несохранённые изменения.\n"
-"\n"
-"Хотите ли вы сохранить документ или отклонить изменения?"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:177
+msgid "Editor Settings"
+msgstr "Настройки редактора"
 
-#: src/frontends/qt/GuiView.cpp:3366
-#, c-format
+#: src/frontends/qt/ui/PrefLanguageUi.ui:189
 msgid ""
-"The document %1$s has not been saved yet.\n"
-"\n"
-"Do you want to save the document or discard it entirely?"
+"Check to highlight additional languages (to the document language) visually "
+"in the work area"
 msgstr ""
-"Документ %1$s пока не сохранён.\n"
-"\n"
-"Хотите сохранить документ?"
-
-#: src/frontends/qt/GuiView.cpp:3370 src/frontends/qt/GuiView.cpp:3466
-msgid "Save changed document?"
-msgstr "Сохранить изменённый документ?"
-
-#: src/frontends/qt/GuiView.cpp:3370
-msgid "Save document?"
-msgstr "Сохранить документ?"
+"Отметьте для визуального выделения иностранных языков в рабочей области"
 
-#: src/frontends/qt/GuiView.cpp:3372
-msgid "&Discard"
-msgstr "&Не сохранять"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:192
+msgid "&Mark additional languages"
+msgstr "Помечать &другие языки"
 
-#: src/frontends/qt/GuiView.cpp:3463
-#, c-format
-msgid ""
-"The document %1$s has unsaved changes.\n"
-"\n"
-"Do you want to save the document?"
-msgstr ""
-"Документ %1$s содержит несохранённые изменения.\n"
-"\n"
-"Сохранить документ?"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:202
+msgid "Respect &OS keyboard language"
+msgstr "Использовать язык клавиатуры ОС"
 
-#: src/frontends/qt/GuiView.cpp:3498
-#, c-format
+#: src/frontends/qt/ui/PrefLanguageUi.ui:226
 msgid ""
-"Document \n"
-"%1$s\n"
-" has been externally modified. Reload now? Any local changes will be lost."
+"Specify here how the arrow keys behave within scripts with right-to-left "
+"direction"
 msgstr ""
-"Документ \n"
-"%1$s\n"
-" был изменён извне. Перезагрузить? Все локальные изменения будут утрачены."
-
-#: src/frontends/qt/GuiView.cpp:3501
-msgid "Reload externally changed document?"
-msgstr "Перезагрузить изменённый внешней программой документ?"
-
-#: src/frontends/qt/GuiView.cpp:3546
-msgid "Document could not be checked in."
-msgstr "Документ невозможно прочесть."
-
-#: src/frontends/qt/GuiView.cpp:3589
-msgid "Error when setting the locking property."
-msgstr "Ошибка при попытке установить блокировку."
-
-#: src/frontends/qt/GuiView.cpp:3638
-msgid "Directory is not accessible."
-msgstr "Каталог недоступен."
-
-#: src/frontends/qt/GuiView.cpp:3715
-#, c-format
-msgid "Opening child document %1$s..."
-msgstr "Открывается дочерний документ %1$s..."
-
-#: src/frontends/qt/GuiView.cpp:3773
-#, c-format
-msgid "No buffer for file: %1$s."
-msgstr "Нет буфера для файла: %1$s."
+"Укажите здесь, как клавиши со стрелками ведут себя в скриптах с направлением "
+"справа налево."
 
-#: src/frontends/qt/GuiView.cpp:3783
-msgid "Inverse Search Failed"
-msgstr "Обратный поиск не удался"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:229
+msgid "Right-to-left cursor movement:"
+msgstr "Движение курсора справа налево:"
 
-#: src/frontends/qt/GuiView.cpp:3784
+#: src/frontends/qt/ui/PrefLanguageUi.ui:239
 msgid ""
-"Invalid position requested by inverse search.\n"
-"You may need to update the viewed document."
+"The cursor follows the logic of the text direction (e.g., in embedded right-"
+"to-left text in a left-to-right paragraph, the cursor starts at the right "
+"when coming from the left)"
 msgstr ""
-"Обратный поиск запросил неверное положение.\n"
-"Обновите просматриваемый документ."
-
-#: src/frontends/qt/GuiView.cpp:3865
-msgid "Export Error"
-msgstr "Ошибка экспорта"
-
-#: src/frontends/qt/GuiView.cpp:3866
-msgid "Error cloning the Buffer."
-msgstr "Ошибка клонирования буфера."
-
-#: src/frontends/qt/GuiView.cpp:4017 src/frontends/qt/GuiView.cpp:4037
-msgid "Exporting ..."
-msgstr "Экспорт ..."
-
-#: src/frontends/qt/GuiView.cpp:4046
-msgid "Previewing ..."
-msgstr "Предварительный просмотр..."
-
-#: src/frontends/qt/GuiView.cpp:4084
-msgid "Document not loaded"
-msgstr "Документ не загружен"
-
-#: src/frontends/qt/GuiView.cpp:4170
-msgid "Select file to insert"
-msgstr "Выберите файл для вставки"
-
-#: src/frontends/qt/GuiView.cpp:4173
-msgid "All Files (*)"
-msgstr "Все файлы (*)"
+"Курсор следует логике направления текста (например, во встроенном RTL-тексте "
+"в LTR-абзац курсор появляется справа при движении вправо)."
 
-#: src/frontends/qt/GuiView.cpp:4201
-#, c-format
-msgid ""
-"The current version will be lost. Are you sure you want to load the version "
-"on disk of the document %1$s?"
-msgstr ""
-"Все изменения будут потеряны. Вы уверены, что хотите откатиться к "
-"сохранённой версии документа %1$s?"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:242
+msgid "&Logical"
+msgstr "&Логическое"
 
-#: src/frontends/qt/GuiView.cpp:4208
-#, c-format
+#: src/frontends/qt/ui/PrefLanguageUi.ui:252
 msgid ""
-"Any changes will be lost. Are you sure you want to revert to the saved "
-"version of the document %1$s?"
+"The cursor follows the visual direction (e.g., in embedded right-to-left "
+"text in a left-to-right paragraph, the cursor starts at the left when coming "
+"from the left)"
 msgstr ""
-"Все изменения будут потеряны. Вы уверены, что хотите откатиться к "
-"сохранённой версии документа %1$s?"
-
-#: src/frontends/qt/GuiView.cpp:4211
-msgid "Revert to saved document?"
-msgstr "Вернуться к сохранённому документу?"
-
-#: src/frontends/qt/GuiView.cpp:4228
-msgid "Buffer export reset."
-msgstr "Сброс экспорта буфера."
-
-#: src/frontends/qt/GuiView.cpp:4251
-msgid "Saving all documents..."
-msgstr "Сохраняются все документы..."
-
-#: src/frontends/qt/GuiView.cpp:4261
-msgid "All documents saved."
-msgstr "Все документы сохранены."
-
-#: src/frontends/qt/GuiView.cpp:4300
-msgid "Developer mode is now enabled."
-msgstr "Режим разработчика включён."
-
-#: src/frontends/qt/GuiView.cpp:4302
-msgid "Developer mode is now disabled."
-msgstr "Режим разработчика отключен."
-
-#: src/frontends/qt/GuiView.cpp:4326
-msgid "Toolbars unlocked."
-msgstr "Панели инструментов разблокированы."
-
-#: src/frontends/qt/GuiView.cpp:4328
-msgid "Toolbars locked."
-msgstr "Панели инструментов заблокированы."
-
-#: src/frontends/qt/GuiView.cpp:4341
-#, c-format
-msgid "Icon size set to %1$dx%2$d."
-msgstr "Размер значков установлен на %1$dx%2$d."
-
-#: src/frontends/qt/GuiView.cpp:4427
-#, c-format
-msgid "%1$s unknown command!"
-msgstr "%1$s неизвестная команда!"
-
-#: src/frontends/qt/GuiView.cpp:4531
-msgid "Zoom level is now %1$d% (default value: %2$d%)"
-msgstr "Текущий масштаб %1$d% (по умолчанию: %2$d%)"
-
-#: src/frontends/qt/GuiView.cpp:4590
-msgid "Please, preview the document first."
-msgstr "Пожалуйста, сначала просмотрите документ."
-
-#: src/frontends/qt/GuiView.cpp:4606
-msgid "Couldn't proceed."
-msgstr "Невозможно продолжить."
-
-#: src/frontends/qt/GuiView.cpp:5081
-msgid "Disable Shell Escape"
-msgstr "Отключить выход из shell"
-
-#: src/frontends/qt/GuiViewSource.cpp:402
-#: src/frontends/qt/GuiViewSource.cpp:456
-msgid "Code Preview"
-msgstr "Предварительный просмотр кода"
-
-#: src/frontends/qt/GuiViewSource.cpp:457
-msgid "%1[[preview format name]] Preview"
-msgstr "Просмотр %1"
-
-#: src/frontends/qt/GuiWorkArea.cpp:1614
-msgid "Close File"
-msgstr "Закрыть файл"
-
-#: src/frontends/qt/GuiWorkArea.cpp:2131
-msgid "%1 (read only)"
-msgstr "%1 (только для чтения)"
-
-#: src/frontends/qt/GuiWorkArea.cpp:2135
-msgid "%1 (modified externally)"
-msgstr "%1 (изменён внешней программой)"
-
-#: src/frontends/qt/GuiWorkArea.cpp:2158
-msgid "Hide tab"
-msgstr "Спрятать вкладку"
-
-#: src/frontends/qt/GuiWorkArea.cpp:2164
-msgid "Close tab"
-msgstr "Закрыть вкладку"
-
-#: src/frontends/qt/GuiWorkArea.cpp:2203
-msgid "<b>The file %1 changed on disk.</b>"
-msgstr "<b>Файл %1 изменён на диске.</b>"
-
-#: src/frontends/qt/GuiWrap.cpp:32
-msgid "Wrap Float Settings"
-msgstr "Обтекаемый объект"
-
-#: src/frontends/qt/IconPalette.cpp:39
-msgid "Click to detach"
-msgstr "Нажмите, чтобы отделить"
-
-#: src/frontends/qt/InsetParamsDialog.cpp:88
-msgid "Ne&w Inset"
-msgstr "Создать вставку"
-
-#: src/frontends/qt/LayoutBox.cpp:337
-#, c-format
-msgid "Filtering layouts with \"%1$s\". Press ESC to remove filter."
-msgstr "Фильтрация макетов по \"%1$s\". Нажмите ESC для снятия фильтра."
-
-#: src/frontends/qt/LayoutBox.cpp:341 src/frontends/qt/LayoutBox.cpp:396
-msgid "Enter characters to filter the layout list."
-msgstr "Введите критерий для фильтрации списка макетов."
-
-#: src/frontends/qt/LayoutBox.cpp:509
-#, c-format
-msgid "%1$s (unknown)"
-msgstr "%1$s (неизвестен)"
-
-#: src/frontends/qt/Menus.cpp:725
-msgid "More...|M"
-msgstr "Больше...|Б"
-
-#: src/frontends/qt/Menus.cpp:807
-msgid "No Group"
-msgstr "Нет группы"
-
-#: src/frontends/qt/Menus.cpp:837 src/frontends/qt/Menus.cpp:838
-msgid "More Spelling Suggestions"
-msgstr "Больше предложений"
-
-#: src/frontends/qt/Menus.cpp:860
-msgid "Add to personal dictionary|n"
-msgstr "Добавить в личный словарь"
-
-#: src/frontends/qt/Menus.cpp:862
-msgid "Ignore all|I"
-msgstr "Пропустить все"
-
-#: src/frontends/qt/Menus.cpp:870
-msgid "Remove from personal dictionary|r"
-msgstr "Убрать из личного словаря"
-
-#: src/frontends/qt/Menus.cpp:900
-msgid "Switch Language...|L"
-msgstr "Переключить язык...|я"
-
-#: src/frontends/qt/Menus.cpp:914
-msgid "Language|L"
-msgstr "Язык|Я"
-
-#: src/frontends/qt/Menus.cpp:916
-msgid "More Languages ...|M"
-msgstr "Больше языков...|Б"
-
-#: src/frontends/qt/Menus.cpp:986 src/frontends/qt/Menus.cpp:987
-msgid "Hidden|H"
-msgstr "Скрытые"
-
-#: src/frontends/qt/Menus.cpp:991
-msgid "<No Documents Open>"
-msgstr "<Нет открытых документов>"
-
-#: src/frontends/qt/Menus.cpp:1057
-msgid "<No Bookmarks Saved Yet>"
-msgstr "<Закладки пока не сохранены>"
-
-#: src/frontends/qt/Menus.cpp:1097
-msgid "View (Other Formats)|F"
-msgstr "Просмотреть (другие форматы)"
-
-#: src/frontends/qt/Menus.cpp:1098
-msgid "Update (Other Formats)|p"
-msgstr "Обновить (другие форматы)"
-
-#: src/frontends/qt/Menus.cpp:1128
-#, c-format
-msgid "View [%1$s]|V"
-msgstr "Просмотреть [%1$s]|с"
-
-#: src/frontends/qt/Menus.cpp:1129
-#, c-format
-msgid "Update [%1$s]|U"
-msgstr "Обновить [%1$s]|б"
-
-#: src/frontends/qt/Menus.cpp:1245
-msgid "No Custom Insets Defined!"
-msgstr "(Пользовательские вставки не определены)"
-
-#: src/frontends/qt/Menus.cpp:1334
-msgid "(No Document Open)"
-msgstr "(Нет открытого документа)"
-
-#: src/frontends/qt/Menus.cpp:1343
-msgid "Master Document"
-msgstr "Главный документ"
-
-#: src/frontends/qt/Menus.cpp:1366
-msgid "Other Lists"
-msgstr "Другие списки"
-
-#: src/frontends/qt/Menus.cpp:1380
-msgid "(Empty Table of Contents)"
-msgstr "(Пустое содержание)"
-
-#: src/frontends/qt/Menus.cpp:1389
-msgid "Open Outliner..."
-msgstr "Показать на панели навигации..."
-
-#: src/frontends/qt/Menus.cpp:1426
-msgid "Other Toolbars"
-msgstr "Другие панели инструментов"
-
-#: src/frontends/qt/Menus.cpp:1489
-msgid "Master Documents"
-msgstr "Главные документы"
-
-#: src/frontends/qt/Menus.cpp:1505
-msgid "Index List|I"
-msgstr "Предметный указатель|у"
-
-#: src/frontends/qt/Menus.cpp:1510
-msgid "Index Entry|d"
-msgstr "Рубрика указателя|Р"
-
-#: src/frontends/qt/Menus.cpp:1525
-#, c-format
-msgid "Index: %1$s"
-msgstr "Указатель: %1$s"
-
-#: src/frontends/qt/Menus.cpp:1530 src/frontends/qt/Menus.cpp:1559
-#, c-format
-msgid "Index Entry (%1$s)"
-msgstr "Рубрика указателя (%1$s)"
-
-#: src/frontends/qt/Menus.cpp:1576
-msgid "No Citation in Scope!"
-msgstr "Нет ссылок в поле зрения!"
-
-#: src/frontends/qt/Menus.cpp:1590 src/insets/InsetCitation.cpp:317
-#: src/insets/InsetCitation.cpp:447
-msgid "No citations selected!"
-msgstr "Ссылка не выбрана!"
-
-#: src/frontends/qt/Menus.cpp:1639
-msgid "All authors|h"
-msgstr "Все авторы"
-
-#: src/frontends/qt/Menus.cpp:1670
-msgid "Force upper case|u"
-msgstr "&Верхний регистр"
-
-#: src/frontends/qt/Menus.cpp:1684
-msgid "No Text Field in Scope!"
-msgstr "Нет текстового поля в поле зрения!"
-
-#: src/frontends/qt/Menus.cpp:1703
-msgid "Custom..."
-msgstr "Другое..."
-
-#: src/frontends/qt/Menus.cpp:1779
-#, c-format
-msgid "Caption (%1$s)"
-msgstr "Подпись (%1$s)"
-
-#: src/frontends/qt/Menus.cpp:1804
-msgid "No Quote in Scope!"
-msgstr "Нет цитат в поле зрения!"
-
-#: src/frontends/qt/Menus.cpp:1840 src/frontends/qt/Menus.cpp:1844
-#: src/frontends/qt/Menus.cpp:1848 src/frontends/qt/Menus.cpp:1852
-#, c-format
-msgid "%1$s (dynamic)"
-msgstr "%1$s (динамическая)"
-
-#: src/frontends/qt/Menus.cpp:1884
-#, c-format
-msgid "Use dynamic quotes (%1$s)|d"
-msgstr "Использовать динамические кавычки (%1$s)"
-
-#: src/frontends/qt/Menus.cpp:1890
-msgid "dynamic[[Quotes]]"
-msgstr "динамические"
-
-#: src/frontends/qt/Menus.cpp:1890 src/frontends/qt/Menus.cpp:1900
-msgid "static[[Quotes]]"
-msgstr "статические"
-
-#: src/frontends/qt/Menus.cpp:1892
-#, c-format
-msgid "Reset to document default (%1$s, %2$s)|o"
-msgstr "Сбросить к стандартному для документа (%1$s, %2$s)|o"
-
-#: src/frontends/qt/Menus.cpp:1899
-#, c-format
-msgid "Reset to language default (%1$s, %2$s)|l"
-msgstr "Сбросить к стандартному для языка (%1$s, %2$s)"
-
-#: src/frontends/qt/Menus.cpp:1901
-#, c-format
-msgid "Reset to language default (%1$s)|l"
-msgstr "Сбросить к стандартному для языка (%1$s)"
-
-#: src/frontends/qt/Menus.cpp:1909
-msgid "Change Style|y"
-msgstr "Изменить стиль"
-
-#: src/frontends/qt/Menus.cpp:1951
-#, c-format
-msgid "Insert Separated %1$s Above"
-msgstr "Вставить отдельное \"%1$s\" выше"
-
-#: src/frontends/qt/Menus.cpp:1953
-#, c-format
-msgid "Separated %1$s Above"
-msgstr "Отдельное \"%1$s\" выше"
-
-#: src/frontends/qt/Menus.cpp:1959 src/frontends/qt/Menus.cpp:1972
-#: src/frontends/qt/Menus.cpp:1989
-#, c-format
-msgid "Insert Separated %1$s Below"
-msgstr "Вставить отдельное \"%1$s\" ниже"
-
-#: src/frontends/qt/Menus.cpp:1961 src/frontends/qt/Menus.cpp:1974
-#: src/frontends/qt/Menus.cpp:1995
-#, c-format
-msgid "Separated %1$s Below"
-msgstr "Отдельное \"%1$s\" ниже"
-
-#: src/frontends/qt/Menus.cpp:1987
-#, c-format
-msgid "Insert Separated Outer %1$s Below"
-msgstr "Вставить отдельное внешнее \"%1$s\" ниже"
-
-#: src/frontends/qt/Menus.cpp:1993
-#, c-format
-msgid "Separated Outer %1$s Below"
-msgstr "Отдельное внешнее \"%1$s\" ниже"
-
-#: src/frontends/qt/Menus.cpp:2308
-#, c-format
-msgid "Export [%1$s]|E"
-msgstr "Экспортировать [%1$s]|Э"
-
-#: src/frontends/qt/Menus.cpp:2658
-msgid "No Action Defined!"
-msgstr "Действие не определено!"
-
-#: src/frontends/qt/PanelStack.cpp:73
-msgid "Search"
-msgstr "Искать"
-
-#: src/frontends/qt/Toolbars.cpp:246
-#, c-format
-msgid "Export %1$s"
-msgstr "Экспортировать %1$s"
-
-#: src/frontends/qt/Toolbars.cpp:250
-#, c-format
-msgid "Import %1$s"
-msgstr "Импортировать %1$s"
-
-#: src/frontends/qt/Toolbars.cpp:254
-#, c-format
-msgid "Update %1$s"
-msgstr "Обновить %1$s"
+"Курсор следует визуальному направлению (например, во встроенном RTL-тексте в "
+"LTR-абзац курсор появляется слева при движении вправо)."
 
-#: src/frontends/qt/Toolbars.cpp:258
-#, c-format
-msgid "View %1$s"
-msgstr "Просмотреть %1$s"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:255
+msgid "&Visual"
+msgstr "&Визуальное"
 
-#: src/frontends/qt/Validator.cpp:195
-msgid "space"
-msgstr "пробел"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:280
+msgid "Local Preferences"
+msgstr "Локальные настройки"
 
-#: src/frontends/qt/Validator.cpp:223
+#: src/frontends/qt/ui/PrefLanguageUi.ui:286
+#: src/frontends/qt/ui/PrefLanguageUi.ui:344
 msgid ""
-"LyX does not provide LaTeX support for file names containing any of these "
-"characters:\n"
+"Here you can specify the decimal separator that is used in the tabular "
+"dialog by default. \"Language default\" selects the appropriate separator "
+"for the current language."
 msgstr ""
-"LyX не обеспечивает поддержку LaTeXом названий файлов, содержащих следующие "
-"символы:\n"
-
-#: src/frontends/qt/qt_helpers.cpp:344
-msgid "Could not update TeX information"
-msgstr "Не удалось обновить информацию TeX"
-
-#: src/frontends/qt/qt_helpers.cpp:345
-#, c-format
-msgid "The script `%1$s' failed."
-msgstr "Ошибка выполнения сценария `%1$s'."
-
-#: src/frontends/qt/qt_helpers.cpp:593
-msgid "All Files "
-msgstr "Все файлы "
-
-#: src/insets/Inset.cpp:91
-msgid "Bibliography Entry"
-msgstr "Источник"
-
-#: src/insets/Inset.cpp:97
-msgid "Float"
-msgstr "Плавающий объект"
-
-#: src/insets/Inset.cpp:115 src/insets/InsetBox.cpp:134
-msgid "Box"
-msgstr "Блок"
-
-#: src/insets/Inset.cpp:117
-msgid "Horizontal Space"
-msgstr "Горизонтальный промежуток"
+"Здесь вы можете указать десятичный разделитель, который по умолчанию "
+"используется в диалоговом окне настройки таблицы. \"По умолчанию для языка\" "
+"выбирает разделитель, соответствующий текущему языку."
 
-#: src/insets/Inset.cpp:166
-msgid "Horizontal Math Space"
-msgstr "Горизонтальный матем. промежуток"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:289
+msgid "Default decimal &separator:"
+msgstr "Десятичный разделитель по умолчанию:"
 
-#: src/insets/InsetArgument.cpp:146
-msgid "Unknown Argument"
-msgstr "Неизвестный аргумент"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:318
+msgid "Insert a custom decimal separator here"
+msgstr "Задайте здесь свой десятичный разделитель"
 
-#: src/insets/InsetArgument.cpp:147
-msgid "Argument not known in this Layout. Will be suppressed in the output."
-msgstr "Неизвестный аргумент для данного макета. Его не будет на выходе."
+#: src/frontends/qt/ui/PrefLanguageUi.ui:331
+#: src/frontends/qt/ui/PrefLanguageUi.ui:361
+msgid "Select the default length unit for LyX dialogs"
+msgstr "Укажите единицу длины по умолчанию для диалоговых окон LyX"
 
-#: src/insets/InsetBibitem.cpp:99
-msgid "Keys must be unique!"
-msgstr "Ключи должны быть уникальными!"
+#: src/frontends/qt/ui/PrefLanguageUi.ui:334
+msgid "Default length &unit:"
+msgstr "&Единица длины по умолчанию:"
 
-#: src/insets/InsetBibitem.cpp:100
-#, c-format
-msgid ""
-"The key %1$s already exists,\n"
-"it will be changed to %2$s."
-msgstr ""
-"Ключ %1$s уже существует,\n"
-"и будет изменён на %2$s."
+#: src/frontends/qt/ui/PrefLatexUi.ui:34
+msgid "&DVI viewer paper size options:"
+msgstr "Параметры размера бумаги просмотрщика &DVI:"
 
-#: src/insets/InsetBibtex.cpp:150
-#, c-format
-msgid ""
-"The %1$s[[BibTeX/Biblatex]] inset includes %2$s databases.\n"
-"If you proceed, all of them will be opened."
+#: src/frontends/qt/ui/PrefLatexUi.ui:44
+msgid "Optional paper size flag (-paper) for some DVI viewers"
 msgstr ""
-"Вставка %1$s[[BibTeX/Biblatex]] включает %2$s баз данных.\n"
-"Если вы продолжите, они все будут открыты."
-
-#: src/insets/InsetBibtex.cpp:153
-msgid "Open Databases?"
-msgstr "Открыть базы данных?"
+"Дополнительный флаг размера бумаги (-paper) для некоторых просмотрщиков DVI"
 
-#: src/insets/InsetBibtex.cpp:154
-msgid "&Proceed"
-msgstr "&Продолжить"
+#: src/frontends/qt/ui/PrefLatexUi.ui:90
+msgid "P&rocessor:"
+msgstr "&Процессор:"
 
-#: src/insets/InsetBibtex.cpp:180
-msgid "Biblatex Generated Bibliography"
-msgstr "Библиография Biblatex"
+#: src/frontends/qt/ui/PrefLatexUi.ui:113
+msgid "BibTeX command and options"
+msgstr "Командная строка BibTeX"
 
-#: src/insets/InsetBibtex.cpp:181
-msgid "BibTeX Generated Bibliography"
-msgstr "Библиография BibTeX"
+#: src/frontends/qt/ui/PrefLatexUi.ui:120
+#: src/frontends/qt/ui/PrefLatexUi.ui:222
+msgid "Processor for &Japanese:"
+msgstr "Процессор для японского:"
 
-#: src/insets/InsetBibtex.cpp:187
-msgid "Databases:"
-msgstr "Базы данных:"
+#: src/frontends/qt/ui/PrefLatexUi.ui:143
+msgid "Specific BibTeX command and options for pLaTeX (Japanese)"
+msgstr "Особая команда BibTeX и опции для pLaTeX (Японский)"
 
-#: src/insets/InsetBibtex.cpp:210
-msgid "Style File:"
-msgstr "Стилевой файл:"
+#: src/frontends/qt/ui/PrefLatexUi.ui:215
+msgid "Index command and options (makeindex, xindy)"
+msgstr "Команда для создания указателя (makeindex, xindy)"
 
-#: src/insets/InsetBibtex.cpp:213 src/insets/InsetBibtex.cpp:231
-msgid "Lists:"
-msgstr "Списки:"
+#: src/frontends/qt/ui/PrefLatexUi.ui:232
+msgid "Specific index command and options for pLaTeX (Japanese)"
+msgstr "Особая команда создания указателя и параметры для pLaTeX (Японский)"
 
-#: src/insets/InsetBibtex.cpp:222 src/insets/InsetBibtex.cpp:240
-msgid "included in TOC"
-msgstr "включено в Содержание"
+#: src/frontends/qt/ui/PrefLatexUi.ui:268
+msgid "Command and options for nomencl (usually makeindex)"
+msgstr "Команды и опции для nomencl (обычно makeindex)"
 
-#: src/insets/InsetBibtex.cpp:227
-msgid ""
-"Note: This bibliography is not output, since bibliographies in the master "
-"file are not allowed with the setting 'Multiple bibliographies per child "
-"document'"
-msgstr ""
-"Замечание: эта библиография не выводится, так как библиографии в главном "
-"файле не разрешены установкой \"Несколько библиографий на дочерний документ\""
+#: src/frontends/qt/ui/PrefLatexUi.ui:275
+msgid "CheckTeX start options and flags"
+msgstr "Начальные параметры и флаги CheckTeX"
 
-#: src/insets/InsetBibtex.cpp:244
-msgid "Options: "
-msgstr "Параметры: "
+#: src/frontends/qt/ui/PrefLatexUi.ui:282
+msgid "&CheckTeX command:"
+msgstr "Команда Chec&kTeX:"
 
-#: src/insets/InsetBibtex.cpp:278
-msgid "[BIBLIOGRAPHY DELETED!]"
-msgstr "[БИБЛИОГРАФИЯ УДАЛЕНА!]"
+#: src/frontends/qt/ui/PrefLatexUi.ui:292
+msgid "&Nomenclature command:"
+msgstr "&Команда номенклатуры:"
 
-#: src/insets/InsetBibtex.cpp:350
+#: src/frontends/qt/ui/PrefLatexUi.ui:307
 msgid ""
-"There are spaces in the path to your BibTeX style file.\n"
-"BibTeX will be unable to find it."
+"Select whether LyX should output Windows or Cygwin style paths to LaTeX "
+"files. Change the default only if the TeX engine was not correctly detected "
+"at configure time. Warning: Your changes here will not be saved."
 msgstr ""
-"В пути к файлам стилей BibTeX есть пробелы.\n"
-"BibTeX не сможет найти их."
+"Выберите, должен ли LyX выводить пути к файлам LaTeX в стиле Windows или "
+"Cygwin. Измените значение по умолчанию только если TeX не был правильно "
+"обнаружен во время настройки. Предупреждение: ваши изменения здесь не будут "
+"сохранены."
 
-#: src/insets/InsetBox.cpp:70
-msgid "simple frame"
-msgstr "простая рамка"
+#: src/frontends/qt/ui/PrefLatexUi.ui:313
+msgid "&Use Windows-style paths in LaTeX files"
+msgstr "&Использовать пути в стиле Windows в файлах LaTeX"
 
-#: src/insets/InsetBox.cpp:71
-msgid "frameless"
-msgstr "без рамки"
+#: src/frontends/qt/ui/PrefLatexUi.ui:320
+msgid "Set class options to default on class change"
+msgstr "Установить параметры класса по умолчанию при изменении класса"
 
-#: src/insets/InsetBox.cpp:72
-msgid "simple frame, page breaks"
-msgstr "простая рамка, разрыв страницы"
+#: src/frontends/qt/ui/PrefLatexUi.ui:323
+msgid "R&eset class options when document class changes"
+msgstr "&Сбросить параметры класса при изменении класса документа"
 
-#: src/insets/InsetBox.cpp:73
-msgid "oval, thin"
-msgstr "тонкая овальная рамка"
+#: src/frontends/qt/ui/PrefOutputUi.ui:20
+msgid "Forward Search"
+msgstr "Прямой поиск"
 
-#: src/insets/InsetBox.cpp:74
-msgid "oval, thick"
-msgstr "толстая овальная рамка"
+#: src/frontends/qt/ui/PrefOutputUi.ui:40
+msgid "DV&I command:"
+msgstr "Команда DVI:"
 
-#: src/insets/InsetBox.cpp:75
-msgid "drop shadow"
-msgstr "рамка с тенью"
+#: src/frontends/qt/ui/PrefOutputUi.ui:76
+msgid "&PDF command:"
+msgstr "Команда PDF:"
 
-#: src/insets/InsetBox.cpp:76
-msgid "shaded background"
-msgstr "закрашенный фон"
+#: src/frontends/qt/ui/PrefOutputUi.ui:107
+msgid "Dvips Options"
+msgstr "Параметры dvips"
 
-#: src/insets/InsetBox.cpp:77
-msgid "double frame"
-msgstr "двойная рамка"
+#: src/frontends/qt/ui/PrefOutputUi.ui:123
+msgid "Paper t&ype:"
+msgstr "Тип &бумаги:"
 
-#: src/insets/InsetBox.cpp:154 src/insets/InsetBox.cpp:157
-#, c-format
-msgid "%1$s (%2$s)"
-msgstr "%1$s (%2$s)"
+#: src/frontends/qt/ui/PrefOutputUi.ui:136
+msgid "Paper si&ze:"
+msgstr "Размер &бумаги:"
 
-#: src/insets/InsetBox.cpp:160
-#, c-format
-msgid "%1$s (%2$s, %3$s)"
-msgstr "%1$s (%2$s, %3$s)"
+#: src/frontends/qt/ui/PrefOutputUi.ui:149
+msgid "Lan&dscape:"
+msgstr "&Альбом:"
 
-#: src/insets/InsetBranch.cpp:70 src/insets/InsetBranch.cpp:72
-msgid "active"
-msgstr "активный"
+#: src/frontends/qt/ui/PrefOutputUi.ui:162
+msgid "Other Options"
+msgstr "Другие параметры"
 
-#: src/insets/InsetBranch.cpp:70 src/insets/InsetBranch.cpp:72
-#: src/insets/InsetIndex.cpp:650
-msgid "non-active"
-msgstr "не активный"
+#: src/frontends/qt/ui/PrefOutputUi.ui:170
+msgid "Output &line length:"
+msgstr "&Длина строки в выводе:"
 
-#: src/insets/InsetBranch.cpp:75 src/insets/InsetBranch.cpp:85
-#, c-format
-msgid "master %1$s, child %2$s"
-msgstr "главный %1$s, дочерний %2$s"
+#: src/frontends/qt/ui/PrefOutputUi.ui:200
+msgid "&Overwrite on export:"
+msgstr "Перезаписать при экспорте:"
 
-#: src/insets/InsetBranch.cpp:89
-#, c-format
-msgid ""
-"Branch Name: %1$s\n"
-"Branch Status: %2$s\n"
-"Inset Status: %3$s"
+#: src/frontends/qt/ui/PrefOutputUi.ui:210
+msgid "What to do when existing files are going to be overwritten on export."
 msgstr ""
-"Имя ветки: %1$s\n"
-"Статус ветки: %2$s\n"
-"Статус вставки: %3$s"
-
-#: src/insets/InsetBranch.cpp:120
-msgid "Branch: "
-msgstr "Ветка: "
-
-#: src/insets/InsetBranch.cpp:122
-msgid "Branch (child): "
-msgstr "Ветка (дочерний): "
+"Что делать, когда существующие файлы должны быть перезаписаны при экспорте."
 
-#: src/insets/InsetBranch.cpp:124
-msgid "Branch (master): "
-msgstr "Ветка (главный): "
+#: src/frontends/qt/ui/PrefOutputUi.ui:214
+msgid "Ask permission"
+msgstr "Спросить разрешение"
 
-#: src/insets/InsetBranch.cpp:126
-msgid "Branch (undefined): "
-msgstr "Ветка (не определена): "
+#: src/frontends/qt/ui/PrefOutputUi.ui:219
+msgid "Main file only"
+msgstr "Только главный файл"
 
-#: src/insets/InsetBranch.cpp:186
-msgid "Branch state changes in master document"
-msgstr "Состояние ветки меняется в главном документе"
+#: src/frontends/qt/ui/PrefOutputUi.ui:224
+msgid "All files"
+msgstr "Все файлы"
 
-#: src/insets/InsetBranch.cpp:187
-#, c-format
+#: src/frontends/qt/ui/PrefPathsUi.ui:25
 msgid ""
-"The state of the branch '%1$s' was changed in the master file. Please make "
-"sure to save the master."
+"Relative and absolute paths are allowed. Relative paths will be expanded "
+"with respect to the working directory (WD). For all paths except the "
+"\"TEXINPUTS prefix\" the WD is the directory from which you start LyX, and "
+"thus could change for each LyX session. For the \"TEXINPUTS prefix\" path "
+"the WD is the directory containing the document. The path \".\" (without "
+"quotes) is a common example of a relative path and refers to the WD."
 msgstr ""
-"Состояние ветки '%1$s' было изменено в главном документе. Пожалуйста, "
-"сохраните его."
-
-#: src/insets/InsetCaption.cpp:416
-#, c-format
-msgid "Sub-%1$s"
-msgstr "Под-%1$s"
-
-#: src/insets/InsetCitation.cpp:313
-msgid "No bibliography defined!"
-msgstr "Не определена библиография!"
-
-#: src/insets/InsetCitation.cpp:334
-#, c-format
-msgid "+ %1$d more entries."
-msgstr "+ %1$d пунктов."
-
-#: src/insets/InsetCitation.cpp:572 src/insets/InsetRef.cpp:499
-msgid "BROKEN: "
-msgstr "НАРУШЕНО: "
-
-#: src/insets/InsetCommand.cpp:158
-msgid "LaTeX Command: "
-msgstr "Команда LaTeX: "
-
-#: src/insets/InsetCommandParams.cpp:281
-msgid "InsetCommand Error: "
-msgstr "Ошибка InsetCommand: "
-
-#: src/insets/InsetCommandParams.cpp:282 src/insets/InsetCommandParams.cpp:305
-msgid "Incompatible command name."
-msgstr "Несовместимое имя команды."
-
-#: src/insets/InsetCommandParams.cpp:304 src/insets/InsetCommandParams.cpp:358
-msgid "InsetCommandParams Error: "
-msgstr "Ошибка InsetCommandParams: "
-
-#: src/insets/InsetCommandParams.cpp:350
-msgid "InsetCommandParams: "
-msgstr "InsetCommandParams: "
-
-#: src/insets/InsetCommandParams.cpp:351
-msgid "Unknown parameter name: "
-msgstr "Неизвестный параметр: "
-
-#: src/insets/InsetCommandParams.cpp:359
-msgid "Missing \\end_inset at this point: "
-msgstr "Пропущен \\end_inset в этой точке: "
+"Разрешены относительные и абсолютные пути. Относительные пути будут "
+"расширены относительно рабочего каталога (WD). Для всех путей, кроме "
+"\"Префикс TEXINPUTS\", WD является каталогом, из которого вы запускаете LyX, "
+"и поэтому может меняться для каждой сессии LyX. Для пути \"Префикс TEXINPUTS"
+"\" WD - это каталог, содержащий текущий документ. Путь \".\" (без кавычек) "
+"является общим примером относительного пути и ссылается на WD."
 
-#: src/insets/InsetCommandParams.cpp:467
-msgid "Uncodable characters"
-msgstr "Некодируемые символы"
+#: src/frontends/qt/ui/PrefPathsUi.ui:35
+msgid "&PATH prefix:"
+msgstr "Префикс &PATH:"
 
-#: src/insets/InsetCommandParams.cpp:468
-#, c-format
+#: src/frontends/qt/ui/PrefPathsUi.ui:45
 msgid ""
-"The following characters that are used in the inset %1$s are not\n"
-"representable in the current encoding and therefore have been omitted:\n"
-"%2$s."
+"Specify those directories which should be prepended to the PATH environment "
+"variable. Use the OS native format."
 msgstr ""
-"Следующие символы во вставке %1$s невозможно\n"
-"представить в текущей кодировке и они будут пропущены:\n"
-"%2$s."
+"Эти каталоги будут использованы до обработки переменной среды PATH. "
+"Указывайте их в том виде, как принято в вашей операционной системе."
 
-#: src/insets/InsetCommandParams.cpp:529
-msgid "Uncodable characters in inset"
-msgstr "Некодируемые символы во вставке"
+#: src/frontends/qt/ui/PrefPathsUi.ui:52
+msgid "TEX&INPUTS prefix:"
+msgstr "Префикс TEX&INPUTS:"
 
-#: src/insets/InsetCommandParams.cpp:530
-#, c-format
+#: src/frontends/qt/ui/PrefPathsUi.ui:62
 msgid ""
-"The following characters in one of the insets are\n"
-"not representable in the current encoding and have been omitted: %1$s.\n"
-"Unchecking 'Literal' in the respective inset dialog might help."
+"Specify those directories which should be prepended to the TEXINPUTS "
+"environment variable. Use the OS native format."
 msgstr ""
-"Следующие символы в одной из вставок невозможно\n"
-"представить в текущей кодировке и они будут пропущены:%1$s.\n"
-"Может помочь снятие флажка \"Буквально\" в соответствующем диалоге вставки."
-
-#: src/insets/InsetCounter.cpp:63
-msgid "Set counter to ..."
-msgstr "Установить счётчик в ..."
-
-#: src/insets/InsetCounter.cpp:64
-msgid "Increase counter by ..."
-msgstr "Увеличить счётчик на ..."
+"Эти каталоги будут использованы до обработки переменной среды TEXINPUTS. "
+"Указывайте их в том виде, как принято в вашей операционной системе."
 
-#: src/insets/InsetCounter.cpp:65
-msgid "Reset counter to 0"
-msgstr "Сбросить счётчик в 0"
+#: src/frontends/qt/ui/PrefPathsUi.ui:69 src/frontends/qt/ui/PrefPathsUi.ui:92
+#: src/frontends/qt/ui/PrefPathsUi.ui:115
+#: src/frontends/qt/ui/PrefPathsUi.ui:138
+#: src/frontends/qt/ui/PrefPathsUi.ui:161
+#: src/frontends/qt/ui/PrefPathsUi.ui:184
+#: src/frontends/qt/ui/PrefPathsUi.ui:207
+#: src/frontends/qt/ui/PrefPathsUi.ui:243
+msgid "Browse..."
+msgstr "Выбрать..."
 
-#: src/insets/InsetCounter.cpp:66
-msgid "Save current counter value"
-msgstr "Сохранить значение счётчика"
+#: src/frontends/qt/ui/PrefPathsUi.ui:79
+msgid "T&hesaurus dictionaries:"
+msgstr "Словари тезауруса:"
 
-#: src/insets/InsetCounter.cpp:67
-msgid "Restore saved counter value"
-msgstr "Восстановить сохранённое значение счётчика"
+#: src/frontends/qt/ui/PrefPathsUi.ui:105
+msgid "&Temporary directory:"
+msgstr "&Временный каталог:"
 
-#: src/insets/InsetCounter.cpp:141
-msgid "Roman Uppercase"
-msgstr "Прописные римские"
+#: src/frontends/qt/ui/PrefPathsUi.ui:128
+msgid "Ly&XServer pipe:"
+msgstr "Канал сервера Ly&X:"
 
-#: src/insets/InsetCounter.cpp:142
-msgid "Roman Lowercase"
-msgstr "Строчные римские"
+#: src/frontends/qt/ui/PrefPathsUi.ui:151
+msgid "&Backup directory:"
+msgstr "&Каталог резервного копирования:"
 
-#: src/insets/InsetCounter.cpp:143
-msgid "Uppercase Letter"
-msgstr "Прописные буквы"
+#: src/frontends/qt/ui/PrefPathsUi.ui:174
+msgid "&Example files:"
+msgstr "Файлы примеров:"
 
-#: src/insets/InsetCounter.cpp:144
-msgid "Lowercase Letter"
-msgstr "Строчные буквы"
+#: src/frontends/qt/ui/PrefPathsUi.ui:197
+msgid "&Document templates:"
+msgstr "&Шаблоны документов:"
 
-#: src/insets/InsetCounter.cpp:145
-msgid "Arabic Numeral"
-msgstr "Арабские"
+#: src/frontends/qt/ui/PrefPathsUi.ui:220
+msgid "&Working directory:"
+msgstr "&Каталог пользователя:"
 
-#: src/insets/InsetCounter.cpp:223
-#, c-format
-msgid "Counter: Set %1$s"
-msgstr "Счётчик: установить %1$s"
+#: src/frontends/qt/ui/PrefPathsUi.ui:230
+msgid "H&unspell dictionaries:"
+msgstr "&Словари Hunspell:"
 
-#: src/insets/InsetCounter.cpp:224
-#, c-format
-msgid "Set value of counter %1$s to %2$s"
-msgstr "Установить значение счётчика %1$s в %2$s"
+#: src/frontends/qt/ui/PrefScreenFontsUi.ui:95
+msgid "Sans Seri&f:"
+msgstr "&Без засечек:"
 
-#: src/insets/InsetCounter.cpp:228
-#, c-format
-msgid "Counter: Add to %1$s"
-msgstr "Счётчик: увеличить %1$s"
+#: src/frontends/qt/ui/PrefScreenFontsUi.ui:131
+msgid "T&ypewriter:"
+msgstr "&Машинописный:"
 
-#: src/insets/InsetCounter.cpp:229
-#, c-format
-msgid "Add %1$s to value of counter %2$s"
-msgstr "Прибавить %1$s к значению счётчика %2$s"
+#: src/frontends/qt/ui/PrefScreenFontsUi.ui:141
+msgid "R&oman:"
+msgstr "С &засечками:"
 
-#: src/insets/InsetCounter.cpp:232
-#, c-format
-msgid "Counter: Reset %1$s"
-msgstr "Счётчик: сбросить %1$s"
+#: src/frontends/qt/ui/PrefScreenFontsUi.ui:209
+msgid "Default &zoom %:"
+msgstr "Масштаб по умолчанию (%):"
 
-#: src/insets/InsetCounter.cpp:233
-#, c-format
-msgid "Reset value of counter %1$s"
-msgstr "Сбросить значение счётчика %1$s"
+#: src/frontends/qt/ui/PrefScreenFontsUi.ui:246
+msgid "Font Sizes"
+msgstr "Размеры шрифтов"
 
-#: src/insets/InsetCounter.cpp:236
-#, c-format
-msgid "Counter: Save %1$s"
-msgstr "Счётчик: сохранить %1$s"
+#: src/frontends/qt/ui/PrefScreenFontsUi.ui:294
+msgid "&Large:"
+msgstr "&Большой:"
 
-#: src/insets/InsetCounter.cpp:237
-#, c-format
-msgid "Save value of counter %1$s"
-msgstr "Сохранить значение счётчика %1$s"
+#: src/frontends/qt/ui/PrefScreenFontsUi.ui:304
+msgid "&Larger:"
+msgstr "&Больший:"
 
-#: src/insets/InsetCounter.cpp:240
-#, c-format
-msgid "Counter: Restore %1$s"
-msgstr "Счётчик: восстановить %1$s"
+#: src/frontends/qt/ui/PrefScreenFontsUi.ui:314
+msgid "&Largest:"
+msgstr "&Наибольший:"
 
-#: src/insets/InsetCounter.cpp:241
-#, c-format
-msgid "Restore value of counter %1$s"
-msgstr "Восстановить значение счётчика %1$s"
+#: src/frontends/qt/ui/PrefScreenFontsUi.ui:327
+msgid "&Huge:"
+msgstr "&Огромный:"
 
-#: src/insets/InsetExternal.cpp:405
-#, c-format
-msgid "External template %1$s is not installed"
-msgstr "Внешний шаблон %1$s не установлен"
+#: src/frontends/qt/ui/PrefScreenFontsUi.ui:337
+msgid "&Hugest:"
+msgstr "&Огромнейший:"
 
-#: src/insets/InsetFloat.cpp:140
-#, c-format
-msgid "ERROR: Unknown float type: %1$s"
-msgstr "ОШИБКА: Плавающий объект неизвестного типа: %1$s"
+#: src/frontends/qt/ui/PrefScreenFontsUi.ui:347
+msgid "S&mallest:"
+msgstr "&Наименьший:"
 
-#: src/insets/InsetFloat.cpp:486
-msgid "float"
-msgstr "Плавающий объект"
+#: src/frontends/qt/ui/PrefScreenFontsUi.ui:357
+msgid "S&maller:"
+msgstr "&Меньший:"
 
-#: src/insets/InsetFloat.cpp:751
-msgid "float: "
-msgstr "Плавающий объект: "
+#: src/frontends/qt/ui/PrefScreenFontsUi.ui:367
+msgid "S&mall:"
+msgstr "&Малый:"
 
-#: src/insets/InsetFloat.cpp:754
-msgid "subfloat: "
-msgstr "Плавающий подобъект: "
+#: src/frontends/qt/ui/PrefScreenFontsUi.ui:377
+msgid "&Normal:"
+msgstr "&Нормальный:"
 
-#: src/insets/InsetFloat.cpp:764
-msgid " (sideways)"
-msgstr " (в стороне)"
+#: src/frontends/qt/ui/PrefScreenFontsUi.ui:387
+msgid "&Tiny:"
+msgstr "&Крохотный:"
 
-#: src/insets/InsetFloatList.cpp:82
-msgid "ERROR: Nonexistent float type!"
-msgstr "ОШИБКА: Плавающий объект несуществующего типа!"
+#: src/frontends/qt/ui/PrefShortcutsUi.ui:68
+msgid "&New"
+msgstr "&Создать"
 
-#: src/insets/InsetFloatList.cpp:152
-#, c-format
-msgid "LyX cannot generate a list of %1$s"
-msgstr "LyX не может создать список %1$s"
+#: src/frontends/qt/ui/PrefShortcutsUi.ui:90
+msgid "&Bind file:"
+msgstr "&Файл привязок клавиш:"
 
-#: src/insets/InsetFoot.cpp:118
-msgid "footnote"
-msgstr "Сноска"
+#: src/frontends/qt/ui/PrefShortcutsUi.ui:108
+msgid "Show ke&y-bindings containing:"
+msgstr "Показать &привязки клавиш, содержащие:"
 
-#: src/insets/InsetGraphics.cpp:560 src/insets/InsetInclude.cpp:783
-#, c-format
-msgid ""
-"Could not copy the file\n"
-"%1$s\n"
-"into the temporary directory."
+#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:41
+msgid "If unchecked, notes and comments will be excluded from spell checking"
 msgstr ""
-"Не удалось скопировать файл\n"
-"%1$s\n"
-"во временный каталог."
-
-#: src/insets/InsetGraphics.cpp:776 src/insets/InsetGraphics.cpp:1014
-#, c-format
-msgid "No conversion of %1$s is needed after all"
-msgstr "Преобразование %1$s не нужно"
+"Если отключено, то в заметках и комментариях не будет проверяться "
+"правописание"
 
-#: src/insets/InsetGraphics.cpp:905
-#, c-format
-msgid ""
-"The following characters in one of the graphic paths are\n"
-"not representable in the current encoding and have been omitted: %1$s.\n"
-"You need to adapt either the encoding or the path."
-msgstr ""
-"Следующие символы в одном из графических путей невозможно\n"
-"представить в текущей кодировке, они будут пропущены: %1$s.\n"
-"Необходимо изменить либо кодировку, либо путь."
+#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:44
+msgid "Spellcheck &notes and comments"
+msgstr "Проверять заметки и комментарии"
 
-#: src/insets/InsetGraphics.cpp:930
-#, c-format
-msgid "Graphics file: %1$s"
-msgstr "Файл изображения: %1$s"
+#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:51
+msgid "&Spellchecker engine:"
+msgstr "Программа проверки правописания:"
 
-#: src/insets/InsetHyperlink.cpp:68
-msgid "Hyperlink: "
-msgstr "Гиперссылка: "
+#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:64
+msgid "Accept words such as \"diskdrive\""
+msgstr "Принимать такие слова, как \"diskdrive\""
 
-#: src/insets/InsetHyperlink.cpp:272
-msgid "www"
-msgstr "www"
+#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:67
+msgid "Accept compound &words"
+msgstr "Допускать составные &слова"
 
-#: src/insets/InsetHyperlink.cpp:274
-msgid "email"
-msgstr "email"
+#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:74
+msgid "Mark misspelled words with a underline."
+msgstr "Помечать ошибочные слова подчёркиванием."
 
-#: src/insets/InsetHyperlink.cpp:276
-msgid "file"
-msgstr "файл"
+#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:77
+msgid "S&pellcheck continuously"
+msgstr "Непрерывная проверка правописания"
 
-#: src/insets/InsetHyperlink.cpp:277
-#, c-format
-msgid "Hyperlink (%1$s) to %2$s"
-msgstr "Гиперссылка (%1$s) на %2$s"
+#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:100
+msgid "The characters inserted here are ignored by the spellchecker."
+msgstr ""
+"Символы, вставленные сюда, игнорируются программой проверки правописания."
 
-#: src/insets/InsetInclude.cpp:408
-msgid "FILE MISSING:"
-msgstr "ФАЙЛ ОТСУТСТВУЕТ:"
+#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:107
+msgid "&Escape characters:"
+msgstr "Игнорируемые &символы:"
 
-#: src/insets/InsetInclude.cpp:426
-msgid "Include (excluded)"
-msgstr "Включить (исключено)"
+#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:117
+msgid "Override the language used for the spellchecker"
+msgstr "Подменить язык используемый для проверки правописания"
 
-#: src/insets/InsetInclude.cpp:535
-#, c-format
-msgid ""
-"The file\n"
-"%1$s\n"
-" has attempted to include itself.\n"
-"The document set will not work properly until this is fixed!"
-msgstr ""
-"Файл\n"
-"%1$s\n"
-" попытался включить себя.\n"
-"Документ не будет работать правильно, пока это не будет исправлено!"
+#: src/frontends/qt/ui/PrefSpellcheckerUi.ui:124
+msgid "Al&ternative language:"
+msgstr "&Другой язык:"
 
-#: src/insets/InsetInclude.cpp:537
-msgid "Recursive Include"
-msgstr "Рекурсивный ввод"
+#: src/frontends/qt/ui/PrefUi.ui:26
+msgid "General Look && Feel"
+msgstr "Вид и поведение"
 
-#: src/insets/InsetInclude.cpp:551
-msgid "No file name specified"
-msgstr "Не указано имя файла"
+#: src/frontends/qt/ui/PrefUi.ui:37
+msgid "Use icons from system's &theme"
+msgstr "Использовать значки из системной темы"
 
-#: src/insets/InsetInclude.cpp:552
-msgid ""
-"An included file name is empty.\n"
-"Ignoring Inclusion"
-msgstr "Пустое имя включаемого файла. Включение проигнорировано."
+#: src/frontends/qt/ui/PrefUi.ui:48
+msgid "&User interface file:"
+msgstr "&Файл пользовательского интерфейса:"
 
-#: src/insets/InsetInclude.cpp:559
-msgid "Included file not found"
-msgstr "Включённый файл не найден"
+#: src/frontends/qt/ui/PrefUi.ui:68
+msgid "&Icon set:"
+msgstr "&Набор значков:"
 
-#: src/insets/InsetInclude.cpp:560
-#, c-format
+#: src/frontends/qt/ui/PrefUi.ui:78
 msgid ""
-"The included file\n"
-"'%1$s'\n"
-"has not been found. LyX will ignore the inclusion."
+"The icon set to use. Warning: normal size of icons may be wrong until you "
+"save the preferences and restart LyX."
 msgstr ""
-"Включённый файл\n"
-"'%1$s'\n"
-"не найден. LyX игнорирует включение."
+"Набор значков для использования. Предупреждение: обычный размер значков "
+"может быть неверным пока вы не сохраните настройки и не перезапустите LyX."
 
-#: src/insets/InsetInclude.cpp:797
-#, c-format
+#: src/frontends/qt/ui/PrefUi.ui:106
+msgid "Context Help"
+msgstr "Контекстная помощь"
+
+#: src/frontends/qt/ui/PrefUi.ui:133
 msgid ""
-"Could not load included file\n"
-"`%1$s'\n"
-"Please, check whether it actually exists."
+"Checking this allows the automatic display of helpful comments for insets in "
+"the main work area of an edited document"
 msgstr ""
-"Не удаётся загрузить включённый файл `%1$s'.\n"
-"Пожалуйста проверьте существует ли он."
+"Отметьте это, чтобы показывать полезные комментарии для вставок в главной "
+"рабочей области редактируемого документа"
 
-#: src/insets/InsetInclude.cpp:801 src/insets/InsetInclude.cpp:908
-#: src/insets/InsetInclude.cpp:934
-msgid "Error: "
-msgstr "Ошибка: "
+#: src/frontends/qt/ui/PrefUi.ui:136
+msgid "&Enable tool tips in main work area"
+msgstr "&Разрешить подсказки в главной рабочей области"
 
-#: src/insets/InsetInclude.cpp:813
-#, c-format
-msgid ""
-"Included file `%1$s'\n"
-"has textclass `%2$s'\n"
-"while parent file has textclass `%3$s'."
-msgstr ""
-"Включённый файл `%1$s'\n"
-"имеет класс `%2$s',\n"
-"тогда как родительский файл использует класс `%3$s'."
+#: src/frontends/qt/ui/PrefUi.ui:146
+msgid "Menus"
+msgstr "Меню"
 
-#: src/insets/InsetInclude.cpp:819
-msgid "Different textclasses"
-msgstr "Различные классы документа"
+#: src/frontends/qt/ui/PrefUi.ui:157
+msgid "&Maximum last files:"
+msgstr "&Количество недавних файлов:"
 
-#: src/insets/InsetInclude.cpp:825
-#, c-format
+#: src/frontends/qt/ui/PrefsUi.ui:45
 msgid ""
-"Included file `%1$s'\n"
-"has use-non-TeX-fonts set to `%2$s'\n"
-"while parent file has use-non-TeX-fonts set to `%3$s'."
+"If this is checked, pressing OK or Apply will save the changes only for the "
+"current LyX session, not permanently."
 msgstr ""
-"Во включённом файле `%1$s'\n"
-"параметр 'Использование системных шрифтов' имеет значение `%2$s',\n"
-"тогда как родительский файл использует `%3$s'."
+"Если эта опция включена, нажатие кнопки OK или Применить будет сохранять "
+"изменения только для текущей сессии."
 
-#: src/insets/InsetInclude.cpp:831
-msgid "Different use-non-TeX-fonts settings"
-msgstr "Другие настройки использования системных шрифтов"
+#: src/frontends/qt/ui/PrefsUi.ui:48
+msgid "A&pply to current session only"
+msgstr "Применить только для текущей сессии"
 
-#: src/insets/InsetInclude.cpp:834
-#, c-format
-msgid ""
-"Included file `%1$s'\n"
-"uses input encoding \"%2$s\" [%3$s]\n"
-"while parent file uses input encoding \"%4$s\" [%5$s]."
-msgstr ""
-"Включённый файл `%1$s'\n"
-"использует кодировку \"%2$s\" [%3$s],\n"
-"тогда как родительский файл использует кодировку \"%4$s\" [%5$s]."
+#: src/frontends/qt/ui/PrintNomenclUi.ui:13
+msgid "Nomenclature settings"
+msgstr "Список обозначений"
 
-#: src/insets/InsetInclude.cpp:842
-msgid "Different LaTeX input encodings"
-msgstr "Разные кодировки LaTeX"
+#: src/frontends/qt/ui/PrintNomenclUi.ui:19
+#: src/frontends/qt/ui/PrintNomenclUi.ui:32
+msgid "Define hanging indentation/label length for the nomenclature list."
+msgstr "Определите отступ/длину метки для списка обозначений."
 
-#: src/insets/InsetInclude.cpp:857
-#, c-format
-msgid ""
-"Included file `%1$s'\n"
-"uses module `%2$s'\n"
-"which is not used in parent file."
-msgstr ""
-"Включённый файл `%1$s'\n"
-"использует модуль `%2$s',\n"
-"который не используется в родительском файле."
+#: src/frontends/qt/ui/PrintNomenclUi.ui:22
+msgid "&List Indentation:"
+msgstr "&Отступ списка:"
 
-#: src/insets/InsetInclude.cpp:861
-msgid "Module not found"
-msgstr "Модуль не найден"
+#: src/frontends/qt/ui/PrintNomenclUi.ui:39
+msgid "Custom &Width:"
+msgstr "Польз. ширина:"
 
-#: src/insets/InsetInclude.cpp:900 src/insets/InsetInclude.cpp:927
-#, c-format
-msgid ""
-"Included file `%1$s' was not exported correctly.\n"
-" LaTeX export is probably incomplete."
+#: src/frontends/qt/ui/PrintNomenclUi.ui:52
+msgid "Custom value. \"List Indentation\" needs to be set to \"Custom\"."
 msgstr ""
-"Включённый файл `%1$s' не был корректно экспортирован.\n"
-" Результат экспорта в LaTeX вероятно не полон."
+"Пользовательское значение. Требует тип отступа \"Задано пользователем\"."
 
-#: src/insets/InsetInclude.cpp:964 src/insets/InsetInclude.cpp:1068
-msgid "Unsupported Inclusion"
-msgstr "Неподдерживаемое включение"
+#: src/frontends/qt/ui/PrintindexUi.ui:40
+msgid "Available i&ndexes:"
+msgstr "&Доступные указатели:"
 
-#: src/insets/InsetInclude.cpp:965
-#, c-format
-msgid ""
-"LyX does not know how to include non-LyX files when generating HTML output. "
-"Offending file:\n"
-"%1$s"
-msgstr ""
-"LyX не знает, как включить не-LyX файлы при генерации HTML-вывода. Файл-"
-"нарушитель:\n"
-"%1$s"
+#: src/frontends/qt/ui/PrintindexUi.ui:50
+msgid "Select the index that shall be printed at this place of the document."
+msgstr "Выберите указатель, который будет напечатан в этом месте документа."
 
-#: src/insets/InsetInclude.cpp:1069
-#, c-format
-msgid ""
-"LyX does not know how to process included non-LyX files when generating "
-"DocBook output. The content of the file will be output as a comment. "
-"Offending file:\n"
-"%1$s"
+#: src/frontends/qt/ui/PrintindexUi.ui:61
+msgid "Check if this index should be part (e.g., a section) of the former one."
 msgstr ""
-"LyX не знает, как включить не-LyX файлы при генерации DocBook-вывода. "
-"Содержимое файла будет выведено в комментарии. Файл-нарушитель:\n"
-"%1$s"
+"Установите, если этот указатель должен быть частью (например, разделом) "
+"предыдущего."
 
-#: src/insets/InsetIndex.cpp:156
-msgid "Index sorting failed"
-msgstr "Сортировка указателя завершилась неудачно"
+#: src/frontends/qt/ui/PrintindexUi.ui:64
+msgid "&Subindex"
+msgstr "&Подуказатель"
 
-#: src/insets/InsetIndex.cpp:157
-#, c-format
+#: src/frontends/qt/ui/PrintindexUi.ui:71
 msgid ""
-"LyX's automatic index sorting algorithm faced\n"
-"problems with the entry '%1$s'.\n"
-"Please specify the sorting of this entry manually, as\n"
-"explained in the User Guide."
+"Pass index names literally to LaTeX. Check this if you want to use LaTeX "
+"code in index names."
 msgstr ""
-"Алгоритм LyX автоматической сортировки указателя\n"
-"не смог обработать элемент '%1$s'.\n"
-"Укажите, как сортировать этот элемент вручную.\n"
-"Это описано в Руководстве пользователя."
-
-#: src/insets/InsetIndex.cpp:461
-msgid "Index Entry"
-msgstr "Рубрика указателя"
-
-#: src/insets/InsetIndex.cpp:647
-msgid "Unknown index type!"
-msgstr "Неизвестный тип указателя!"
-
-#: src/insets/InsetIndex.cpp:648
-msgid "All indexes"
-msgstr "Все указатели"
-
-#: src/insets/InsetIndex.cpp:652
-msgid "subindex"
-msgstr "подуказатель"
-
-#: src/insets/InsetInfo.cpp:192
-msgid "No long date format (language unknown)!"
-msgstr "Нет формата длинной даты (язык неизвестен)!"
-
-#: src/insets/InsetInfo.cpp:195
-msgid "No medium date format (language unknown)!"
-msgstr "Нет формата средней даты (язык неизвестен)!"
-
-#: src/insets/InsetInfo.cpp:198
-msgid "No short date format (language unknown)!"
-msgstr "Нет формата короткой даты (язык неизвестен)!"
-
-#: src/insets/InsetInfo.cpp:227
-msgid "Please select a valid type!"
-msgstr "Укажите допустимый тип!"
-
-#: src/insets/InsetInfo.cpp:269
-msgid "File name (with extension)"
-msgstr "Имя файла (с расширением)"
-
-#: src/insets/InsetInfo.cpp:270
-msgid "File name (without extension)"
-msgstr "Имя файла (без расширения)"
-
-#: src/insets/InsetInfo.cpp:271
-msgid "File path"
-msgstr "Путь файла"
-
-#: src/insets/InsetInfo.cpp:272
-msgid "Used text class"
-msgstr "Используемый класс текста"
-
-#: src/insets/InsetInfo.cpp:277 src/insets/InsetInfo.cpp:1105
-msgid "No version control!"
-msgstr "Нет управления версиями!"
-
-#: src/insets/InsetInfo.cpp:280
-msgid "Revision[[Version Control]]"
-msgstr "Версия"
-
-#: src/insets/InsetInfo.cpp:281
-msgid "Abbreviated revision[[Version Control]]"
-msgstr "Сокращённая версия"
-
-#: src/insets/InsetInfo.cpp:282
-msgid "Tree revision"
-msgstr "Версия дерева"
-
-#: src/insets/InsetInfo.cpp:285
-msgid "Time[[of day]]"
-msgstr "Время"
-
-#: src/insets/InsetInfo.cpp:290
-msgid "LyX version"
-msgstr "Версия LyX"
-
-#: src/insets/InsetInfo.cpp:291
-msgid "LyX layout format"
-msgstr "Формат макета LyX"
-
-#: src/insets/InsetInfo.cpp:486
-msgid "Invalid information inset"
-msgstr "Неверная информационная вставка"
-
-#: src/insets/InsetInfo.cpp:489
-#, c-format
-msgid "The keybard shortcut for the function '%1$s'"
-msgstr "Сочетание клавиш для функции '%1$s'"
-
-#: src/insets/InsetInfo.cpp:493
-#, c-format
-msgid "The keybard shortcuts for the function '%1$s'"
-msgstr "Сочетания клавиш для функции '%1$s'"
-
-#: src/insets/InsetInfo.cpp:497
-#, c-format
-msgid "The menu location for the function '%1$s'"
-msgstr "Расположение меню для функции '%1$s'"
-
-#: src/insets/InsetInfo.cpp:501
-#, c-format
-msgid "The localization for the string '%1$s'"
-msgstr "Перевод для строки '%1$s'"
-
-#: src/insets/InsetInfo.cpp:505
-#, c-format
-msgid "The toolbar icon for the function '%1$s'"
-msgstr "Значок панели для функции '%1$s'"
-
-#: src/insets/InsetInfo.cpp:509
-#, c-format
-msgid "The preference setting for the preference key '%1$s'"
-msgstr "Значение параметра для ключа '%1$s'"
-
-#: src/insets/InsetInfo.cpp:513
-#, c-format
-msgid "Availability of the LaTeX package '%1$s'"
-msgstr "Доступность пакета LaTeX '%1$s'"
-
-#: src/insets/InsetInfo.cpp:517
-#, c-format
-msgid "Availability of the LaTeX class '%1$s'"
-msgstr "Доступность класса LaTeX '%1$s'"
-
-#: src/insets/InsetInfo.cpp:522
-msgid "The name of this file (incl. extension)"
-msgstr "Имя этого файла (с расширением)"
-
-#: src/insets/InsetInfo.cpp:524
-msgid "The name of this file (without extension)"
-msgstr "Имя этого файла (без расширения)"
-
-#: src/insets/InsetInfo.cpp:526
-msgid "The path where this file is saved"
-msgstr "Путь, по которому сохранён файл"
-
-#: src/insets/InsetInfo.cpp:528
-msgid "The class this document uses"
-msgstr "Используемый класс документа"
-
-#: src/insets/InsetInfo.cpp:532
-msgid "Version control revision"
-msgstr "Версия (система управления версиями)"
-
-#: src/insets/InsetInfo.cpp:534
-msgid "Version control abbreviated revision"
-msgstr "Сокращённая версия (система управления версиями)"
-
-#: src/insets/InsetInfo.cpp:536
-msgid "Version control tree revision"
-msgstr "Версия дерева (система управления версиями)"
-
-#: src/insets/InsetInfo.cpp:538
-msgid "Version control author"
-msgstr "Автор (система управления версиями)"
-
-#: src/insets/InsetInfo.cpp:540
-msgid "Version control date"
-msgstr "Дата (система управления версиями)"
-
-#: src/insets/InsetInfo.cpp:542
-msgid "Version control time"
-msgstr "Время (система управления версиями)"
-
-#: src/insets/InsetInfo.cpp:546
-msgid "The current LyX version"
-msgstr "Текущая версия LyX"
-
-#: src/insets/InsetInfo.cpp:548
-msgid "The current LyX layout format"
-msgstr "Текущий формат макета LyX"
-
-#: src/insets/InsetInfo.cpp:551
-msgid "The current date"
-msgstr "Текущая дата"
-
-#: src/insets/InsetInfo.cpp:554
-msgid "The date of last save"
-msgstr "Дата последнего сохранения"
-
-#: src/insets/InsetInfo.cpp:557
-msgid "A static date"
-msgstr "Заданная дата"
-
-#: src/insets/InsetInfo.cpp:560
-msgid "The current time"
-msgstr "Текущее время"
-
-#: src/insets/InsetInfo.cpp:563
-msgid "The time of last save"
-msgstr "Время последнего сохранения"
-
-#: src/insets/InsetInfo.cpp:566
-msgid "A static time"
-msgstr "Заданное время"
-
-#: src/insets/InsetInfo.cpp:593
-msgid "Missing \\end_inset at this point."
-msgstr "Пропущен \\end_inset в этой точке."
-
-#: src/insets/InsetInfo.cpp:787
-msgid "Unknown Info!"
-msgstr "Неизвестная инфо!"
-
-#: src/insets/InsetInfo.cpp:796 src/insets/InsetInfo.cpp:984
-#, c-format
-msgid "Unknown action %1$s"
-msgstr "Неизвестное действие %1$s"
-
-#: src/insets/InsetInfo.cpp:802 src/insets/InsetInfo.cpp:913
-#: src/insets/InsetInfo.cpp:922 src/insets/InsetInfo.cpp:930
-msgid "undefined"
-msgstr "неопределённый"
-
-#: src/insets/InsetInfo.cpp:826 src/insets/InsetInfo.cpp:876
-msgid "Return[[Key]]"
-msgstr "Return[[Key]]"
+"Передавать имена указателей буквально в LaTeX. Выберите это, если вы хотите "
+"использовать код LaTeX в именах для указателей."
 
-#: src/insets/InsetInfo.cpp:831
-msgid "Tab[[Key]]"
-msgstr "Tab[[Key]]"
+#: src/frontends/qt/ui/ProgressViewUi.ui:143
+msgid "Settings"
+msgstr "Настройки"
 
-#: src/insets/InsetInfo.cpp:836
-msgid "PgUp"
-msgstr "PgUp"
+#: src/frontends/qt/ui/ProgressViewUi.ui:164
+msgid "Select the debug messages that should be displayed"
+msgstr "Выберите отладочные сообщения для показа"
 
-#: src/insets/InsetInfo.cpp:841
-msgid "PgDown"
-msgstr "PgDown"
+#: src/frontends/qt/ui/ProgressViewUi.ui:192
+msgid "Automatic cleanup of the window before LaTeX compilation proceeds"
+msgstr "Автоматическая очистка окна перед началом компиляции LaTeX"
 
-#: src/insets/InsetInfo.cpp:846
-msgid "Backtab"
-msgstr "Backtab"
+#: src/frontends/qt/ui/ProgressViewUi.ui:195
+msgid "&Clear automatically"
+msgstr "Очищать автоматически"
 
-#: src/insets/InsetInfo.cpp:851
-msgid "Tab"
-msgstr "Tab"
+#: src/frontends/qt/ui/ProgressViewUi.ui:208
+msgid "Debug messages"
+msgstr "Отладочные сообщения"
 
-#: src/insets/InsetInfo.cpp:861
-msgid "CapsLock"
-msgstr "CapsLock"
+#: src/frontends/qt/ui/ProgressViewUi.ui:232
+msgid "Display no debug messages"
+msgstr "Не показывать отладочные сообщения"
 
-#: src/insets/InsetInfo.cpp:866
-msgid "Control[[Key]]"
-msgstr "Control"
+#: src/frontends/qt/ui/ProgressViewUi.ui:235
+msgid "&None"
+msgstr "Нет"
 
-#: src/insets/InsetInfo.cpp:871
-msgid "Command[[Key]]"
-msgstr "Command"
+#: src/frontends/qt/ui/ProgressViewUi.ui:242
+msgid "Display the debug messages selected to the right"
+msgstr "Показать отладочные сообщения, выбранные справа"
 
-#: src/insets/InsetInfo.cpp:881
-msgid "Option[[Key]]"
-msgstr "Option"
+#: src/frontends/qt/ui/ProgressViewUi.ui:245
+msgid "S&elected"
+msgstr "&Выделенное"
 
-#: src/insets/InsetInfo.cpp:886
-msgid "Delete[[Key]]"
-msgstr "Delete"
+#: src/frontends/qt/ui/ProgressViewUi.ui:252
+msgid "Display all debug messages"
+msgstr "Показать все отладочные сообщения"
 
-#: src/insets/InsetInfo.cpp:891
-msgid "Fn+Del"
-msgstr "Fn+Del"
+#: src/frontends/qt/ui/ProgressViewUi.ui:255
+msgid "&All"
+msgstr "&Все"
 
-#: src/insets/InsetInfo.cpp:896
-msgid "Esc"
-msgstr "Esc"
+#: src/frontends/qt/ui/ProgressViewUi.ui:265
+msgid "Display statusbar messages?"
+msgstr "Показывать сообщения строки состояния?"
 
-#: src/insets/InsetInfo.cpp:940
-msgid "not set"
-msgstr "не установлено"
+#: src/frontends/qt/ui/ProgressViewUi.ui:268
+msgid "&Statusbar messages"
+msgstr "Сообщения в строке состояния"
 
-#: src/insets/InsetInfo.cpp:952 src/insets/InsetInfo.cpp:969
-msgid "yes"
-msgstr "да"
+#: src/frontends/qt/ui/RefUi.ui:49
+msgid "&In[[buffer]]:"
+msgstr "&Документ:"
 
-#: src/insets/InsetInfo.cpp:955 src/insets/InsetInfo.cpp:972
-msgid "no"
-msgstr "нет"
+#: src/frontends/qt/ui/RefUi.ui:86
+msgid "The (sub-)document from which the available labels are displayed"
+msgstr "(Под-)документ, из которого отображаются доступные метки"
 
-#: src/insets/InsetInfo.cpp:995
-#, c-format
-msgid "Can't determine menu entry for action %1$s in batch mode"
-msgstr "Невозможно определить пункт меню для действия %1$s в пакетном режиме"
+#: src/frontends/qt/ui/RefUi.ui:120
+msgid "So&rt:"
+msgstr "Сортировать:"
 
-#: src/insets/InsetInfo.cpp:1003
-#, c-format
-msgid "No menu entry for action %1$s"
-msgstr "Нет пункта меню для действия: %1$s."
+#: src/frontends/qt/ui/RefUi.ui:130
+msgid "Sorting of the list of available labels"
+msgstr "Сортировка списка доступных меток"
 
-#: src/insets/InsetInfo.cpp:1124
-#, c-format
-msgid "%1$s[[vcs data]] unknown"
-msgstr "%1$s[[vcs data]] неизвестен"
+#: src/frontends/qt/ui/RefUi.ui:137
+msgid "Group the list of available labels by prefix (e.g. \"sec:\")"
+msgstr "Группировать список доступных меток по префиксу (напр. \"sec:\")"
 
-#: src/insets/InsetLabel.cpp:78
-msgid "Label names must be unique!"
-msgstr "Имена меток должны быть уникальными!"
+#: src/frontends/qt/ui/RefUi.ui:140
+msgid "Grou&p"
+msgstr "Группировать"
 
-#: src/insets/InsetLabel.cpp:79
-#, c-format
-msgid ""
-"The label %1$s already exists,\n"
-"it will be changed to %2$s."
-msgstr ""
-"Метка %1$s уже существует,\n"
-"она будет изменена в %2$s."
+#: src/frontends/qt/ui/RefUi.ui:162
+msgid "Available &Labels:"
+msgstr "Доступные метки:"
 
-#: src/insets/InsetLabel.cpp:185
-msgid "DUPLICATE: "
-msgstr "ДУБЛИКАТ: "
+#: src/frontends/qt/ui/RefUi.ui:174
+msgid "Sele&cted Label:"
+msgstr "&Выбранная метка:"
 
-#: src/insets/InsetLine.cpp:68
-msgid "Horizontal line"
-msgstr "Горизонтальная линия"
+#: src/frontends/qt/ui/RefUi.ui:187
+msgid "Select a label from the list above or enter a label manually"
+msgstr "Выберите метку из списка выше или введите её сами"
 
-#: src/insets/InsetListings.cpp:333
-msgid "no more lstline delimiters available"
-msgstr "ограничители lstline недоступны"
+#: src/frontends/qt/ui/RefUi.ui:214
+msgid "Reference For&mat:"
+msgstr "Формат ссылки:"
 
-#: src/insets/InsetListings.cpp:338
-msgid "Running out of delimiters"
-msgstr "Выход за пределы ограничителя"
+#: src/frontends/qt/ui/RefUi.ui:233
+msgid "Adjust the style of the cross-reference"
+msgstr "Настроить стиль перекрёстной ссылки"
 
-#: src/insets/InsetListings.cpp:339
+#: src/frontends/qt/ui/RefUi.ui:310
 msgid ""
-"For inline program listings, one character must be reserved\n"
-"as a delimiter. One of the listings, however, uses all available\n"
-"characters, so none is left for delimiting purposes.\n"
-"For the time being, I have replaced '!' by a warning, but you\n"
-"must investigate!"
+"Use plural form of formatted reference. (Works only for formatted "
+"references, and only if you are using refstyle.)"
 msgstr ""
-"Для включаемых листингов программ, один символ должен быть зарезервирован\n"
-"как разделитель. Тем не менее, один из листингов использует все имеющиеся\n"
-"в наличии символы, так что не осталось ни одного для разделителя.\n"
-"Сейчас '!' был заменён на предупреждение, но вам надо с этим разобраться!"
-
-#: src/insets/InsetListings.cpp:420 src/insets/InsetListings.cpp:429
-msgid "Uncodable characters in listings inset"
-msgstr "Некодируемый символ во вставке листинга"
+"Использовать форму множественного числа отформатированной ссылки. (Работает "
+"только для отформатированных ссылок, и только если вы используете refstyle.)"
 
-#: src/insets/InsetListings.cpp:421
-#, c-format
-msgid ""
-"The following characters in one of the program listings are\n"
-"not representable in the current encoding and have been omitted:\n"
-"%1$s.\n"
-"This is due to a restriction of the listings package, which does\n"
-"not support your encoding '%2$s'.\n"
-"Toggling 'Use non-TeX fonts' in Document > Settings...\n"
-"might help."
-msgstr ""
-"Следующие символы в одном из листингов программ невозможно\n"
-"представить в текущей кодировке и они будут пропущены:\n"
-"%1$s.\n"
-"Это произошло из-за ограничения пакета listings, который\n"
-"не поддерживает вашу кодировку '%2$s'.\n"
-"Переключение 'Использовать системные шрифты' в Документ > Настройки...\n"
-"может помочь."
+#: src/frontends/qt/ui/RefUi.ui:313
+msgid "Plural"
+msgstr "Множ. число"
 
-#: src/insets/InsetListings.cpp:430
-#, c-format
+#: src/frontends/qt/ui/RefUi.ui:320
 msgid ""
-"The following characters in one of the program listings are\n"
-"not representable in the current encoding and have been omitted:\n"
-"%1$s."
+"Use capitalized form of formatted reference. (Works only for formatted "
+"references, and only if you are using refstyle.)"
 msgstr ""
-"Следующие символы в одном из листингов программ невозможно\n"
-"представить в текущей кодировке и они будут пропущены:\n"
-"%1$s."
-
-#: src/insets/InsetListingsParams.cpp:125
-msgid "A value is expected."
-msgstr "Ожидается числовое значение."
-
-#: src/insets/InsetListingsParams.cpp:128
-#: src/insets/InsetListingsParams.cpp:141
-#: src/insets/InsetListingsParams.cpp:154
-#: src/insets/InsetListingsParams.cpp:167
-#: src/insets/InsetListingsParams.cpp:181
-#: src/insets/InsetListingsParams.cpp:208
-#: src/insets/InsetListingsParams.cpp:240
-msgid "Unbalanced braces!"
-msgstr "Несбалансированные скобки!"
-
-#: src/insets/InsetListingsParams.cpp:136
-msgid "Please specify true or false."
-msgstr "Пожалуйста, укажите true или false."
-
-#: src/insets/InsetListingsParams.cpp:139
-msgid "Only true or false is allowed."
-msgstr "Допустимы только true или false."
-
-#: src/insets/InsetListingsParams.cpp:149
-msgid "Please specify an integer value."
-msgstr "Пожалуйста, укажите целое число."
-
-#: src/insets/InsetListingsParams.cpp:152
-msgid "An integer is expected."
-msgstr "Ожидается целое число."
-
-#: src/insets/InsetListingsParams.cpp:162
-msgid "Please specify a LaTeX length expression."
-msgstr "Пожалуйста, укажите выражение длины LaTeX."
-
-#: src/insets/InsetListingsParams.cpp:165
-msgid "Invalid LaTeX length expression."
-msgstr "Неправильное выражение длины LaTeX."
-
-#: src/insets/InsetListingsParams.cpp:175
-#, c-format
-msgid "Please specify a LaTeX length expression or a skip amount (%1$s)"
-msgstr "Пожалуйста, укажите выражение длины LaTeX (%1$s)"
-
-#: src/insets/InsetListingsParams.cpp:179
-msgid "Not a valid LaTeX length expression or skip amount."
-msgstr "Неправильное выражение длины LaTeX."
+"Использовать прописную форму форматированной ссылки. (Работает только для "
+"отформатированных ссылок, и только если вы используете refstyle.)"
 
-#: src/insets/InsetListingsParams.cpp:189
-#, c-format
-msgid "Please specify one of %1$s."
-msgstr "Пожалуйста, укажите один из: %1$s."
+#: src/frontends/qt/ui/RefUi.ui:323
+msgid "Capitalized"
+msgstr "Первые Прописные"
 
-#: src/insets/InsetListingsParams.cpp:223
-#, c-format
-msgid "Try one of %1$s."
-msgstr "Попробуйте один из %1$s."
+#: src/frontends/qt/ui/RefUi.ui:330
+msgid "Do not output part of label before \":\""
+msgstr "Не выводить часть метки до \":\""
 
-#: src/insets/InsetListingsParams.cpp:225
-#, c-format
-msgid "I guess you mean %1$s."
-msgstr "Предполагаю, вы подразумевали %1$s."
+#: src/frontends/qt/ui/SearchUi.ui:68
+msgid "Repla&ce with:"
+msgstr "Заменить &на:"
 
-#: src/insets/InsetListingsParams.cpp:232
-#, c-format
-msgid "Please specify one or more of '%1$s'."
-msgstr "Пожалуйста, укажите один или более '%1$s'."
+#: src/frontends/qt/ui/SearchUi.ui:127
+msgid "Case &sensitive[[search]]"
+msgstr "Учитывать &регистр"
 
-#: src/insets/InsetListingsParams.cpp:237
-#, c-format
-msgid "Should be composed of one or more of %1$s."
-msgstr "Должен быть скомпонован из одного или больше %1$s."
+#: src/frontends/qt/ui/SearchUi.ui:134
+msgid "Match w&hole words only"
+msgstr "&Только целые слова"
 
-#: src/insets/InsetListingsParams.cpp:326
-msgid ""
-"Use \\footnotesize, \\small, \\itshape, \\ttfamily or something like that"
+#: src/frontends/qt/ui/SendtoUi.ui:50
+msgid "Process the converted file with this command ($$FName = file name)"
 msgstr ""
-"Используйте \\footnotesize, \\small, \\itshape, \\ttfamily или что-то в этом "
-"роде"
-
-#: src/insets/InsetListingsParams.cpp:329
-msgid "none, leftline, topline, bottomline, lines, single"
-msgstr "none, leftline, topline, bottomline, lines, single"
+"Обработать преобразованный файл с помощью команды ($$FName = имя файла)"
 
-#: src/insets/InsetListingsParams.cpp:331
-msgid ""
-"none, leftline, topline, bottomline, lines, single, shadowbox or subset of "
-"trblTRBL"
-msgstr ""
-"none, leftline, topline, bottomline, lines, single, shadowbox или набор из "
-"trblTRBL"
+#: src/frontends/qt/ui/SendtoUi.ui:95
+msgid "Export for&mats:"
+msgstr "&Форматы экспорта:"
 
-#: src/insets/InsetListingsParams.cpp:333
-msgid ""
-"Enter four letters (either t = round or f = square) for top right, bottom "
-"right, bottom left and top left corner."
-msgstr ""
-"Введите четыре буквы (либо t = закруглённый, либо f = квадратный) для "
-"верхнего правого, нижнего правого, нижнего левого и верхнего левого углов."
+#: src/frontends/qt/ui/SendtoUi.ui:105
+msgid "Send exported file to &command:"
+msgstr "Отправить экспортированный файл в команду:"
 
-#: src/insets/InsetListingsParams.cpp:337
-msgid "Previously defined color name as a string"
-msgstr "Ранее определённое имя цвета в виде строки"
+#: src/frontends/qt/ui/ShortcutUi.ui:14
+msgid "Edit shortcut"
+msgstr "Привязка клавиш"
 
-#: src/insets/InsetListingsParams.cpp:339
-msgid "Enter something like \\color{white}"
-msgstr "Введите что-то, например \\color{white}"
+#: src/frontends/qt/ui/ShortcutUi.ui:23
+msgid "Fu&nction:"
+msgstr "&Функция:"
 
-#: src/insets/InsetListingsParams.cpp:369
-msgid "Expect a number with an optional * before it"
-msgstr "Ожидается число и, возможно, * перед ним"
+#: src/frontends/qt/ui/ShortcutUi.ui:33
+msgid "Enter LyX function or command sequence"
+msgstr "Введите функцию LyX или последовательность команд"
 
-#: src/insets/InsetListingsParams.cpp:453
-#: src/insets/InsetListingsParams.cpp:776
-msgid "auto, last or a number"
-msgstr "auto, last или число"
+#: src/frontends/qt/ui/ShortcutUi.ui:43
+msgid "Short&cut:"
+msgstr "&Сочетание клавиш:"
 
-#: src/insets/InsetListingsParams.cpp:463
-#: src/insets/InsetListingsParams.cpp:672
+#: src/frontends/qt/ui/ShortcutUi.ui:56
 msgid ""
-"This parameter should not be entered here. Please use the caption edit box "
-"(when using the child document dialog) or menu Insert->Caption (when "
-"defining a listing inset)"
+"Type shortcut after clicking on this field. You can reset the content with "
+"the 'Clear' button"
 msgstr ""
-"Этот параметр не должен вводиться здесь. Используйте диалог правки подписи "
-"(при использовании диалога дочернего документа) или меню Вставка->Подпись "
-"(при определении вставки листинга)"
+"Введите сочетание клавиш после нажатия на это поле. Вы можете сбросить "
+"содержимое поля кнопкой \"Очистить\""
 
-#: src/insets/InsetListingsParams.cpp:469
-#: src/insets/InsetListingsParams.cpp:679
-msgid ""
-"This parameter should not be entered here. Please use the label edit box "
-"(when using the child document dialog) or menu Insert->Label (when defining "
-"a listing inset)"
-msgstr ""
-"Этот параметр не должен вводиться здесь. Используйте диалог правки метки "
-"(при использовании диалога дочернего документа) или пункт меню Вставка-"
-">Метка (при определении вставки листинга)"
+#: src/frontends/qt/ui/ShortcutUi.ui:66
+msgid "Remove last key from the shortcut sequence"
+msgstr "Удалить последнюю клавишу из сочетания"
 
-#: src/insets/InsetListingsParams.cpp:690
-msgid "default: _minted-<jobname>"
-msgstr "default: _minted-<jobname>"
+#: src/frontends/qt/ui/ShortcutUi.ui:69
+msgid "&Delete Key"
+msgstr "&Удалить"
 
-#: src/insets/InsetListingsParams.cpp:769
-msgid "Sets encoding expected by Pygments"
-msgstr "Устанавливает кодировку, ожидаемую Pygments"
+#: src/frontends/qt/ui/ShortcutUi.ui:76
+msgid "Clear current shortcut"
+msgstr "Очистить текущее сочетание"
 
-#: src/insets/InsetListingsParams.cpp:779
-msgid "A latex family such as tt, sf, rm"
-msgstr "Гарнитура шрифта LaTeX, такая как tt, sf, rm"
+#: src/frontends/qt/ui/ShortcutUi.ui:79 src/frontends/qt/ui/TabularUi.ui:1106
+msgid "C&lear"
+msgstr "&Очистить"
 
-#: src/insets/InsetListingsParams.cpp:782
-msgid "A latex series such as m, b, c, bx, sb"
-msgstr "Насыщенность шрифта LaTeX, такая как m, b, c, bx, sb"
+#: src/frontends/qt/ui/SpellcheckerUi.ui:29
+msgid "Replace with selected word"
+msgstr "Заменить выбранным словом"
 
-#: src/insets/InsetListingsParams.cpp:785
-msgid "A latex name such as \\small"
-msgstr "Имя LaTeX, такое как \\small"
+#: src/frontends/qt/ui/SpellcheckerUi.ui:45
+msgid "Replace word with current choice"
+msgstr "Заменить слово на выбранное"
 
-#: src/insets/InsetListingsParams.cpp:788
-msgid "A latex shape such as n, it, sl, sc"
-msgstr "Начертание шрифта LaTeX, такое как n, it, sl, sc"
+#: src/frontends/qt/ui/SpellcheckerUi.ui:55
+msgid "Ignore this word"
+msgstr "Пропустить это слово"
 
-#: src/insets/InsetListingsParams.cpp:807
-msgid "A range of lines such as {1,3-4}"
-msgstr "Диапазон строк типа {1,3-4}"
+#: src/frontends/qt/ui/SpellcheckerUi.ui:58
+#: src/frontends/qt/ui/WorkAreaUi.ui:89
+msgid "&Ignore"
+msgstr "&Пропустить"
 
-#: src/insets/InsetListingsParams.cpp:816
+#: src/frontends/qt/ui/SpellcheckerUi.ui:83
 msgid ""
-"Enter one of the supported languages. However, if you are defining a listing "
-"inset, it is better using the  language combo box, unless you need to enter "
-"a language not offered there, otherwise the combo box will be disabled."
-msgstr ""
-"Введите один из поддерживаемых языков. Однако, если вы определяете вставку "
-"листинга, лучше использовать поле со списком язык, если вам не нужно вводить "
-"язык, не предложенный там, в противном случае поле со списком будет "
-"отключено."
-
-#: src/insets/InsetListingsParams.cpp:839
-msgid "File encoding used by Pygments for highlighting"
-msgstr "Кодировка файла, используемая Pygments для подсветки"
-
-#: src/insets/InsetListingsParams.cpp:842
-msgid "Apply Python 3 highlighting"
-msgstr "Применить подсветку Python 3"
-
-#: src/insets/InsetListingsParams.cpp:855
-msgid "A macro. Default: \\textvisiblespace"
-msgstr "Макрос. По умолчанию: \\textvisiblespace"
-
-#: src/insets/InsetListingsParams.cpp:859
-msgid "For PHP only"
-msgstr "Только для PHP"
-
-#: src/insets/InsetListingsParams.cpp:862
-msgid "The style used by Pygments"
-msgstr "Стиль, используемый Pygments"
-
-#: src/insets/InsetListingsParams.cpp:875
-msgid "A macro to redefine visible tabs"
-msgstr "Макрос для переопределения видимых табуляций"
-
-#: src/insets/InsetListingsParams.cpp:882
-#: src/insets/InsetListingsParams.cpp:885
-msgid "Enables latex code in comments"
-msgstr "Разрешает код LaTeX в комментариях"
-
-#: src/insets/InsetListingsParams.cpp:899
-msgid "Invalid (empty) listing parameter name."
-msgstr "Неверное (пустое) имя параметра листинга."
-
-#: src/insets/InsetListingsParams.cpp:915
-#, c-format
-msgid "Available listing parameters are %1$s"
-msgstr "Доступные параметры листинга: %1$s"
-
-#: src/insets/InsetListingsParams.cpp:918
-#, c-format
-msgid "Available listings parameters containing string \"%1$s\" are %2$s"
-msgstr "Доступные параметры листинга, содержащие строку \"%1$s\", это %2$s"
-
-#: src/insets/InsetListingsParams.cpp:929
-#, c-format
-msgid "Parameter %1$s: "
-msgstr "Параметр %1$s: "
-
-#: src/insets/InsetListingsParams.cpp:942
-#, c-format
-msgid "Unknown listing parameter name: %1$s"
-msgstr "Неизвестное имя параметра листинга: %1$s"
-
-#: src/insets/InsetListingsParams.cpp:945
-#, c-format
-msgid "Parameters starting with '%1$s': %2$s"
-msgstr "Параметры, начинающиеся с '%1$s': %2$s"
-
-#: src/insets/InsetNewpage.cpp:179 src/insets/InsetNewpage.cpp:191
-msgid "New Page"
-msgstr "Новая страница"
-
-#: src/insets/InsetNewpage.cpp:182
-msgid "Page Break"
-msgstr "Разрыв страницы с выравниванием"
-
-#: src/insets/InsetNewpage.cpp:185
-msgid "Clear Page"
-msgstr "Очистить страницу"
-
-#: src/insets/InsetNewpage.cpp:188
-msgid "Clear Double Page"
-msgstr "Очистить двойную страницу"
-
-#: src/insets/InsetNomencl.cpp:81
-msgid "Nom: "
-msgstr "Обозначение: "
-
-#: src/insets/InsetNomencl.cpp:89
-msgid "Nomenclature Symbol: "
-msgstr "Символ обозначения: "
-
-#: src/insets/InsetNomencl.cpp:90
-msgid "Description: "
-msgstr "Описание: "
-
-#: src/insets/InsetNomencl.cpp:93
-msgid "Sorting: "
-msgstr "Сортировка: "
-
-#: src/insets/InsetNote.cpp:256
-msgid "note"
-msgstr "заметка"
-
-#: src/insets/InsetPhantom.cpp:65
-msgid "Phantom"
-msgstr "Phantom"
-
-#: src/insets/InsetPhantom.cpp:66
-msgid "HPhantom"
-msgstr "HPhantom"
-
-#: src/insets/InsetPhantom.cpp:67
-msgid "VPhantom"
-msgstr "VPhantom"
-
-#: src/insets/InsetPhantom.cpp:332 src/insets/InsetPhantom.cpp:341
-msgid "phantom"
-msgstr "phantom"
-
-#: src/insets/InsetPhantom.cpp:335
-msgid "hphantom"
-msgstr "hphantom"
-
-#: src/insets/InsetPhantom.cpp:338
-msgid "vphantom"
-msgstr "vphantom"
-
-#: src/insets/InsetQuotes.cpp:580
-#, c-format
-msgid "%1$souter%2$s and %3$sinner%4$s[[quotation marks]]"
-msgstr "%1$sвнешние%2$s и %3$sвнутренние%4$s"
-
-#: src/insets/InsetQuotes.cpp:590
-#, c-format
-msgid "%1$s[[quot. mark description]] (language default)"
-msgstr "%1$s (по умолчанию для языка)"
-
-#: src/insets/InsetQuotes.cpp:603
-#, c-format
-msgid "%1$stext"
-msgstr "%1$sтекст"
-
-#: src/insets/InsetQuotes.cpp:605
-#, c-format
-msgid "text%1$s"
-msgstr "текст%1$s"
-
-#: src/insets/InsetRef.cpp:578 src/mathed/InsetMathRef.cpp:245
-msgid "Ref: "
-msgstr "Ссылка: "
+"The checked language. Switching this alters the language of the checked word."
+msgstr "Язык для проверки. Изменение влияет на язык проверяемого слова."
 
-#: src/insets/InsetRef.cpp:579 src/mathed/InsetMathRef.cpp:246
-msgid "EqRef: "
-msgstr "Формула: "
+#: src/frontends/qt/ui/SpellcheckerUi.ui:95
+msgid "&Find Next"
+msgstr "&Найти далее"
 
-#: src/insets/InsetRef.cpp:580 src/mathed/InsetMathRef.cpp:247
-msgid "Page Number"
-msgstr "Номер страницы"
+#: src/frontends/qt/ui/SpellcheckerUi.ui:102
+msgid "Unknown word:"
+msgstr "Нет в словаре:"
 
-#: src/insets/InsetRef.cpp:580 src/mathed/InsetMathRef.cpp:247
-msgid "Page: "
-msgstr "Страница: "
+#: src/frontends/qt/ui/SpellcheckerUi.ui:112
+msgid "Current word"
+msgstr "Текущее слово"
 
-#: src/insets/InsetRef.cpp:581 src/mathed/InsetMathRef.cpp:248
-msgid "Textual Page Number"
-msgstr "Текстовый номер страницы"
+#: src/frontends/qt/ui/SpellcheckerUi.ui:119
+msgid "Re&placement:"
+msgstr "&Замена:"
 
-#: src/insets/InsetRef.cpp:581 src/mathed/InsetMathRef.cpp:248
-msgid "TextPage: "
-msgstr "Текст стр.: "
+#: src/frontends/qt/ui/SpellcheckerUi.ui:135
+msgid "S&uggestions:"
+msgstr "&Варианты:"
 
-#: src/insets/InsetRef.cpp:582 src/mathed/InsetMathRef.cpp:249
-msgid "Standard+Textual Page"
-msgstr "Ссылка+Текстовый номер страницы"
+#: src/frontends/qt/ui/SpellcheckerUi.ui:155
+msgid "Ignore this word throughout this session"
+msgstr "Пропустить это слово для текущей сессии"
 
-#: src/insets/InsetRef.cpp:582 src/mathed/InsetMathRef.cpp:249
-msgid "Ref+Text: "
-msgstr "Ссылка+Текст: "
+#: src/frontends/qt/ui/SpellcheckerUi.ui:158
+msgid "I&gnore All"
+msgstr "Пропустить все"
 
-#: src/insets/InsetRef.cpp:583 src/mathed/InsetMathRef.cpp:251
-msgid "Reference to Name"
-msgstr "Ссылка на имя"
+#: src/frontends/qt/ui/SpellcheckerUi.ui:175
+msgid "Add the word to your personal dictionary"
+msgstr "Добавить слово в личный словарь"
 
-#: src/insets/InsetRef.cpp:583 src/mathed/InsetMathRef.cpp:251
-msgid "NameRef: "
-msgstr "Название: "
+#: src/frontends/qt/ui/SymbolsUi.ui:40
+msgid ""
+"Available categories depend on the document encoding. Select UTF-8 for the "
+"full range."
+msgstr ""
+"Доступные категории зависят от кодировки документа. Выберите UTF-8 для "
+"полного списка."
 
-#: src/insets/InsetRef.cpp:584
-msgid "Formatted"
-msgstr "Отформатированный"
+#: src/frontends/qt/ui/SymbolsUi.ui:43
+msgid "Ca&tegory:"
+msgstr "&Категория:"
 
-#: src/insets/InsetRef.cpp:584
-msgid "Format: "
-msgstr "Формат: "
+#: src/frontends/qt/ui/SymbolsUi.ui:73
+msgid "Select this to display all available characters at once"
+msgstr "Выберите для одновременного показа всех доступных символов"
 
-#: src/insets/InsetRef.cpp:585
-msgid "Label Only"
-msgstr "Только метка"
+#: src/frontends/qt/ui/SymbolsUi.ui:76
+msgid "&Display all"
+msgstr "&Показать все"
 
-#: src/insets/InsetRef.cpp:585
-msgid "Label: "
-msgstr "Метка: "
+#: src/frontends/qt/ui/TabularCreateUi.ui:121
+msgid "&Style:"
+msgstr "Стиль:"
 
-#: src/insets/InsetScript.cpp:338
-msgid "subscript"
-msgstr "нижний индекс"
+#: src/frontends/qt/ui/TabularUi.ui:33
+msgid "&Table Settings"
+msgstr "&Настройки таблицы"
 
-#: src/insets/InsetScript.cpp:348
-msgid "superscript"
-msgstr "верхний индекс"
+#: src/frontends/qt/ui/TabularUi.ui:39
+msgid "Row setting"
+msgstr "Настройки строки"
 
-#: src/insets/InsetSpace.cpp:72
-msgid "Protected Space"
-msgstr "Неразрывный пробел"
+#: src/frontends/qt/ui/TabularUi.ui:48
+msgid "Merge cells of different rows"
+msgstr "Объединить ячейки разных строк"
 
-#: src/insets/InsetSpace.cpp:87
-msgid "Quad Space"
-msgstr "Квадрат"
+#: src/frontends/qt/ui/TabularUi.ui:51
+msgid "M&ultirow"
+msgstr "Многострочность"
 
-#: src/insets/InsetSpace.cpp:90
-msgid "Double Quad Space"
-msgstr "Двойной квадрат"
+#: src/frontends/qt/ui/TabularUi.ui:63
+msgid "&Vertical Offset:"
+msgstr "Верт. смещение:"
 
-#: src/insets/InsetSpace.cpp:93
-msgid "Enspace"
-msgstr "Защищённый полуквадрат (enspace)"
+#: src/frontends/qt/ui/TabularUi.ui:76
+msgid "Optional vertical offset"
+msgstr "Возможное верт. смещение"
 
-#: src/insets/InsetSpace.cpp:96
-msgid "Enskip"
-msgstr "Полуквадрат (enskip)"
+#: src/frontends/qt/ui/TabularUi.ui:94
+msgid "Cell setting"
+msgstr "Настройки ячейки"
 
-#: src/insets/InsetSpace.cpp:111
-msgid "Protected Horizontal Fill"
-msgstr "Защищённое горизонтальное заполнение"
+#: src/frontends/qt/ui/TabularUi.ui:105
+msgid "Rotate this cell by 90 degrees"
+msgstr "Повернуть ячейку"
 
-#: src/insets/InsetSpace.cpp:114
-msgid "Horizontal Fill (Dots)"
-msgstr "Горизонтальное заполнение (точки)"
+#: src/frontends/qt/ui/TabularUi.ui:121 src/frontends/qt/ui/TabularUi.ui:268
+msgid "rotation angle"
+msgstr "угол поворота"
 
-#: src/insets/InsetSpace.cpp:117
-msgid "Horizontal Fill (Rule)"
-msgstr "Горизонтальное заполнение (линия)"
+#: src/frontends/qt/ui/TabularUi.ui:140
+msgid "de&grees"
+msgstr "градусов"
 
-#: src/insets/InsetSpace.cpp:120
-msgid "Horizontal Fill (Left Arrow)"
-msgstr "Горизонтальное заполнение (левая стрелка)"
+#: src/frontends/qt/ui/TabularUi.ui:171
+msgid "Table-wide settings"
+msgstr "Общие настройки таблицы"
 
-#: src/insets/InsetSpace.cpp:123
-msgid "Horizontal Fill (Right Arrow)"
-msgstr "Горизонтальное заполнение (правая стрелка)"
+#: src/frontends/qt/ui/TabularUi.ui:180
+msgid "W&idth:"
+msgstr "&Ширина:"
 
-#: src/insets/InsetSpace.cpp:126
-msgid "Horizontal Fill (Up Brace)"
-msgstr "Горизонтальное заполнение (скобка вниз)"
+#: src/frontends/qt/ui/TabularUi.ui:196
+msgid "Verti&cal alignment:"
+msgstr "Верт. выравнивание:"
 
-#: src/insets/InsetSpace.cpp:129
-msgid "Horizontal Fill (Down Brace)"
-msgstr "Горизонтальное заполнение (скобка вверх)"
+#: src/frontends/qt/ui/TabularUi.ui:206
+msgid "Vertical alignment of the table"
+msgstr "Верт. выравнивание таблицы"
 
-#: src/insets/InsetSpace.cpp:133
-#, c-format
-msgid "Horizontal Space (%1$s)"
-msgstr "Горизонтальный пробел (%1$s)"
+#: src/frontends/qt/ui/TabularUi.ui:252
+msgid "Rotate the table by 90 degrees"
+msgstr "Повернуть таблицу"
 
-#: src/insets/InsetSpace.cpp:138
-#, c-format
-msgid "Protected Horizontal Space (%1$s)"
-msgstr "Неразрывный пробел  (%1$s)"
+#: src/frontends/qt/ui/TabularUi.ui:255
+msgid "&Rotate"
+msgstr "Повернуть на"
 
-#: src/insets/InsetTOC.cpp:78
-msgid "Unknown TOC type"
-msgstr "Неизвестный тип содержания"
+#: src/frontends/qt/ui/TabularUi.ui:287
+msgid "degrees"
+msgstr "градусов"
 
-#: src/insets/InsetTabular.cpp:464
-msgid "Change tracking data incomplete"
-msgstr "Данные отслеживания изменений неполные"
+#: src/frontends/qt/ui/TabularUi.ui:302
+msgid "Column settings"
+msgstr "Настройки столбца"
 
-#: src/insets/InsetTabular.cpp:465
+#: src/frontends/qt/ui/TabularUi.ui:313
 msgid ""
-"Change tracking information for tabular row/column is incomplete. I will "
-"ignore this."
+"<html><head/><body><p>Column width type:</p><p>* Text Length: Stretch to "
+"text width</p><p>* Variable: Adjust to match table width</p><p>* Custom: "
+"Fixed custom width</p></body></html>"
 msgstr ""
-"Информация об отслеживании изменений для табличной строки/столбца является "
-"неполной. Это будет проигнорировано."
-
-#: src/insets/InsetTabular.cpp:5533
-msgid "Selections not supported."
-msgstr "Выделения не поддерживаются."
-
-#: src/insets/InsetTabular.cpp:5555
-msgid "Multi-column in current or destination column."
-msgstr "Мульти-столбец в текущем или целевом столбце."
+"<html><head/><body><p>Ширина столбца:</p><p>* Длина текста: Растягивание до "
+"ширины текста</p><p>* Переменная: Настройка в соответствии с шириной "
+"таблицы</p><p>* Пользовательская: Фиксированная заданная ширина</p></body></"
+"html>"
 
-#: src/insets/InsetTabular.cpp:5567
-msgid "Multi-row in current or destination row."
-msgstr "Мульти-строка в текущей или целевой строке."
+#: src/frontends/qt/ui/TabularUi.ui:317
+msgid "Text length"
+msgstr "Длина текста"
 
-#: src/insets/InsetTabular.cpp:6082
-msgid "Selection size should match clipboard content."
-msgstr "Размер выделения должен совпадать с размером буфера обмена."
+#: src/frontends/qt/ui/TabularUi.ui:322
+msgid "Variable[[Width]]"
+msgstr "Переменная"
 
-#: src/insets/InsetText.cpp:1154
-msgid "[contains tracked changes]"
-msgstr "[содержит отслеживаемые изменения]"
+#: src/frontends/qt/ui/TabularUi.ui:327
+msgid "Custom[[Width]]"
+msgstr "Задана пользователем"
 
-#: src/insets/InsetWrap.cpp:68
-msgid "wrap: "
-msgstr "Обтекаемый объект: "
+#: src/frontends/qt/ui/TabularUi.ui:335
+msgid "Horizontal alignment in column"
+msgstr "Гор. выравнивание в столбце"
 
-#: src/insets/InsetWrap.cpp:201
-msgid "wrap"
-msgstr "Обтекаемый объект"
+#: src/frontends/qt/ui/TabularUi.ui:390
+msgid "Hori&zontal alignment:"
+msgstr "&Гор. выравнивание:"
 
-#: src/insets/RenderGraphic.cpp:85 src/insets/RenderGraphic.cpp:89
-msgid "Not shown."
-msgstr "Не показывается."
+#: src/frontends/qt/ui/TabularUi.ui:400
+msgid ""
+"Specifies the vertical alignment of this cell in relation to the baseline of "
+"the row."
+msgstr ""
+"Определяет вертикальное выравнивание этой ячейки по отношению к базисной "
+"линии строки."
 
-#: src/insets/RenderGraphic.cpp:92
-msgid "Loading..."
-msgstr "Загрузка..."
+#: src/frontends/qt/ui/TabularUi.ui:422
+msgid "&Vertical alignment in row:"
+msgstr "&Верт. выравнивание в строке:"
 
-#: src/insets/RenderGraphic.cpp:95
-msgid "Converting to loadable format..."
-msgstr "Преобразование в приемлемый формат..."
+#: src/frontends/qt/ui/TabularUi.ui:437
+msgid "Custom width of the column"
+msgstr "Фиксированная ширина столбца"
 
-#: src/insets/RenderGraphic.cpp:98
-msgid "Loaded into memory. Generating pixmap..."
-msgstr "Загружено в память. Генерируется растровое изображение..."
+#: src/frontends/qt/ui/TabularUi.ui:457
+msgid "&Decimal separator:"
+msgstr "Разделитель:"
 
-#: src/insets/RenderGraphic.cpp:101
-msgid "Scaling etc..."
-msgstr "Масштабирование и т. п."
+#: src/frontends/qt/ui/TabularUi.ui:528
+msgid "Merge cells of different columns"
+msgstr "Объединить ячейки разных столбцов"
 
-#: src/insets/RenderGraphic.cpp:104
-msgid "Ready to display"
-msgstr "Готов отображать"
+#: src/frontends/qt/ui/TabularUi.ui:531
+msgid "Mu&lticolumn"
+msgstr "&Многоколоночность"
 
-#: src/insets/RenderGraphic.cpp:107
-msgid "No file found!"
-msgstr "Файл не найден!"
+#: src/frontends/qt/ui/TabularUi.ui:540
+msgid "LaTe&X argument:"
+msgstr "Аргументы LaTe&X:"
 
-#: src/insets/RenderGraphic.cpp:110
-msgid "Error converting to loadable format"
-msgstr "Ошибка при преобразовании в приемлемый формат"
+#: src/frontends/qt/ui/TabularUi.ui:550
+msgid "Custom column format (LaTeX)"
+msgstr "Пользовательский формат столбца (LaTeX)"
 
-#: src/insets/RenderGraphic.cpp:113
-msgid "Error loading file into memory"
-msgstr "Ошибка загрузки файла в память"
+#: src/frontends/qt/ui/TabularUi.ui:566
+msgid "&Borders"
+msgstr "Рамки"
 
-#: src/insets/RenderGraphic.cpp:116
-msgid "Error generating the pixmap"
-msgstr "Ошибка при создании растрового изображения"
+#: src/frontends/qt/ui/TabularUi.ui:572
+msgid "Set Borders"
+msgstr "Установить рамки"
 
-#: src/insets/RenderGraphic.cpp:119
-msgid "No image"
-msgstr "Нет изображения"
+#: src/frontends/qt/ui/TabularUi.ui:1071
+msgid "Set borders of the current (selected) cell(s)"
+msgstr "Установить рамки выбранной ячейки(ек)"
 
-#: src/insets/RenderPreview.cpp:106
-msgid "Preview loading"
-msgstr "Загрузка предварительного просмотра"
+#: src/frontends/qt/ui/TabularUi.ui:1084
+msgid "All Borders"
+msgstr "Все рамки"
 
-#: src/insets/RenderPreview.cpp:109
-msgid "Preview ready"
-msgstr "Предварительный просмотр готов"
+#: src/frontends/qt/ui/TabularUi.ui:1093
+msgid "Set all borders of the current (selected) cell(s)"
+msgstr "Установить все рамки выбранной ячейки(ек)"
 
-#: src/insets/RenderPreview.cpp:112
-msgid "Preview failed"
-msgstr "Предварительный просмотр не удался"
+#: src/frontends/qt/ui/TabularUi.ui:1096
+msgid "&Set"
+msgstr "&Установить"
 
-#: src/lyxfind.cpp:236
-msgid "Search error"
-msgstr "Ошибка поиска"
+#: src/frontends/qt/ui/TabularUi.ui:1103
+msgid "Unset all borders of the current (selected) cell(s)"
+msgstr "Убрать все рамки выбранной ячейки(ек)"
 
-#: src/lyxfind.cpp:236
-msgid "Search string is empty"
-msgstr "Искомая строка пуста"
+#: src/frontends/qt/ui/TabularUi.ui:1125
+msgid "Use default (grid-like) border style"
+msgstr "Использовать стиль границ, заданный по умолчанию (т.е. сетку)"
 
-#: src/lyxfind.cpp:266 src/lyxfind.cpp:537
-msgid ""
-"End of file reached while searching forward.\n"
-"Continue searching from the beginning?"
-msgstr ""
-"Достигнут конец файла при поиске вперёд.\n"
-"Продолжать поиск с начала?"
+#: src/frontends/qt/ui/TabularUi.ui:1128
+msgid "De&fault"
+msgstr "По умолчанию"
 
-#: src/lyxfind.cpp:269 src/lyxfind.cpp:565
+#: src/frontends/qt/ui/TabularUi.ui:1135
 msgid ""
-"Beginning of file reached while searching backward.\n"
-"Continue searching from the end?"
+"If this is checked, the table will be reset to the formal default style "
+"(only top and bottom row have horizontal lines)"
 msgstr ""
-"Достигнуто начало файла при поиске назад.\n"
-"Продолжать поиск с конца?"
-
-#: src/lyxfind.cpp:505 src/lyxfind.cpp:523
-msgid "String not found."
-msgstr "Строка не найдена."
-
-#: src/lyxfind.cpp:508
-msgid "String found."
-msgstr "Строка найдена."
-
-#: src/lyxfind.cpp:510
-msgid "String has been replaced."
-msgstr "Строка была заменена."
+"Если этот флажок установлен, то таблица будет сброшена на формальный стиль "
+"по умолчанию (горизонтальные линии только у верхней и нижней строк)."
 
-#: src/lyxfind.cpp:513
-#, c-format
-msgid "%1$d strings have been replaced."
-msgstr "%1$d строк было заменено."
+#: src/frontends/qt/ui/TabularUi.ui:1138
+msgid "Use Default &Formal Style"
+msgstr "Использовать формальный стиль по умолчанию"
 
-#: src/lyxfind.cpp:3718
-msgid "Invalid regular expression!"
-msgstr "Неправильное регулярное выражение!"
+#: src/frontends/qt/ui/TabularUi.ui:1145
+msgid "Use formal (a.k.a. booktabs) border style (no vertical borders)"
+msgstr "Использовать формальный стиль рамки таблицы (без вертикальных линий)"
 
-#: src/lyxfind.cpp:3727
-msgid "One match has been replaced."
-msgstr "Одно соответствие было заменено."
+#: src/frontends/qt/ui/TabularUi.ui:1148
+msgid "Fo&rmal"
+msgstr "Формальный"
 
-#: src/lyxfind.cpp:3730
-msgid "Two matches have been replaced."
-msgstr "Два соответствия были заменены."
+#: src/frontends/qt/ui/TabularUi.ui:1177
+msgid "Additional Space"
+msgstr "Дополнительное пространство"
 
-#: src/lyxfind.cpp:3733
-#, c-format
-msgid "%1$d matches have been replaced."
-msgstr "%1$d соответствий были заменены."
+#: src/frontends/qt/ui/TabularUi.ui:1183
+msgid "T&op of row:"
+msgstr "Верх строки:"
 
-#: src/lyxfind.cpp:3739
-msgid "Match not found."
-msgstr "Соответствие не найдено."
+#: src/frontends/qt/ui/TabularUi.ui:1243
+msgid "Botto&m of row:"
+msgstr "Низ строки:"
 
-#: src/lyxfind.cpp:3745
-msgid "Match has been replaced."
-msgstr "Соответствие было заменено."
+#: src/frontends/qt/ui/TabularUi.ui:1256
+msgid "Bet&ween rows:"
+msgstr "Между строк:"
 
-#: src/lyxfind.cpp:3747
-msgid "Match found."
-msgstr "Соответствие найдено."
+#: src/frontends/qt/ui/TabularUi.ui:1305
+msgid "&Multi-Page Table"
+msgstr "Настройки многостраничной таблицы"
 
-#: src/mathed/InsetMathAMSArray.cpp:135 src/mathed/InsetMathHull.cpp:2190
-#: src/mathed/InsetMathSplit.cpp:127 src/mathed/InsetMathSubstack.cpp:70
-#, c-format
-msgid "Can't add vertical grid lines in '%1$s'"
-msgstr "Невозможно добавить вертикальные линии в '%1$s'"
+#: src/frontends/qt/ui/TabularUi.ui:1311
+msgid "Select for tables that span multiple pages"
+msgstr "Выберите для таблиц, которые занимают несколько страниц"
 
-#: src/mathed/InsetMathBox.cpp:98
-#, c-format
-msgid "Box: %1$s"
-msgstr "Блок: %1$s"
+#: src/frontends/qt/ui/TabularUi.ui:1314
+msgid "&Use multi-page table"
+msgstr "&Многостраничная таблица"
 
-#: src/mathed/InsetMathCases.cpp:94
-#, c-format
-msgid "No vertical grid lines in 'cases': feature %1$s"
-msgstr "Невозможно добавить вертикальные линии в 'cases': возможность %1$s"
+#: src/frontends/qt/ui/TabularUi.ui:1324
+msgid "Row settings"
+msgstr "Настройка строк"
 
-#: src/mathed/InsetMathCases.cpp:101
-#, c-format
-msgid "Changing number of columns not allowed in 'cases': feature %1$s"
-msgstr ""
-"Изменение количества столбцов не поддерживается в 'cases': возможность %1$s"
+#: src/frontends/qt/ui/TabularUi.ui:1330
+msgid "Status"
+msgstr "Состояние"
 
-#: src/mathed/InsetMathColor.cpp:156
-#, c-format
-msgid "Color: %1$s"
-msgstr "Цвет: %1$s"
+#: src/frontends/qt/ui/TabularUi.ui:1337
+msgid "Border above"
+msgstr "Линия сверху"
 
-#: src/mathed/InsetMathDecoration.cpp:160
-#, c-format
-msgid "Decoration: %1$s"
-msgstr "Декорирование: %1$s"
+#: src/frontends/qt/ui/TabularUi.ui:1344
+msgid "Border below"
+msgstr "Линия снизу"
 
-#: src/mathed/InsetMathEnv.cpp:70
-#, c-format
-msgid "Environment: %1$s"
-msgstr "Окружение: %1$s"
+#: src/frontends/qt/ui/TabularUi.ui:1351
+msgid "Contents"
+msgstr "Содержит"
 
-#: src/mathed/InsetMathGrid.cpp:1745
-msgid "Cursor not in table"
-msgstr "Курсор не в таблице"
+#: src/frontends/qt/ui/TabularUi.ui:1358
+msgid "Header:"
+msgstr "Заголовок:"
 
-#: src/mathed/InsetMathGrid.cpp:1750
-msgid "Only one row"
-msgstr "Только одну строку"
+#: src/frontends/qt/ui/TabularUi.ui:1365
+msgid "Repeat this row as header on every (except the first) page"
+msgstr "Повторить данную строку как заголовок на всех (кроме первой) страницах"
 
-#: src/mathed/InsetMathGrid.cpp:1756
-msgid "Only one column"
-msgstr "Только одну колонку"
+#: src/frontends/qt/ui/TabularUi.ui:1378 src/frontends/qt/ui/TabularUi.ui:1385
+#: src/frontends/qt/ui/TabularUi.ui:1412 src/frontends/qt/ui/TabularUi.ui:1419
+#: src/frontends/qt/ui/TabularUi.ui:1453 src/frontends/qt/ui/TabularUi.ui:1460
+#: src/frontends/qt/ui/TabularUi.ui:1484 src/frontends/qt/ui/TabularUi.ui:1491
+msgid "double"
+msgstr "двойная"
 
-#: src/mathed/InsetMathGrid.cpp:1764
-msgid "No hline to delete"
-msgstr "Нет гориз. линии для удаления"
+#: src/frontends/qt/ui/TabularUi.ui:1392
+msgid "First header:"
+msgstr "Первый заголовок:"
 
-#: src/mathed/InsetMathGrid.cpp:1773
-msgid "No vline to delete"
-msgstr "Нет верт. линии для удаления"
+#: src/frontends/qt/ui/TabularUi.ui:1399
+msgid "This row is the header of the first page"
+msgstr "Данная строка - заголовок на первой странице"
 
-#: src/mathed/InsetMathGrid.cpp:1802
-#, c-format
-msgid "Unknown tabular feature '%1$s'"
-msgstr "Неизвестное свойство окружения tabular '%1$s'"
+#: src/frontends/qt/ui/TabularUi.ui:1426
+msgid "Don't output the first header"
+msgstr "Не выводить первый заголовок"
 
-#: src/mathed/InsetMathHull.cpp:1753
-#, c-format
-msgid "Type: %1$s"
-msgstr "Тип: %1$s"
+#: src/frontends/qt/ui/TabularUi.ui:1429 src/frontends/qt/ui/TabularUi.ui:1501
+msgid "is empty"
+msgstr "пусто"
 
-#: src/mathed/InsetMathHull.cpp:1789
-msgid "Bad math environment"
-msgstr "Неверное математическое окружение"
+#: src/frontends/qt/ui/TabularUi.ui:1436
+msgid "Footer:"
+msgstr "Концовка:"
 
-#: src/mathed/InsetMathHull.cpp:1790
-msgid ""
-"Computation cannot be performed for AMS math environments.\n"
-"Change the math formula type and try again."
+#: src/frontends/qt/ui/TabularUi.ui:1443
+msgid "Repeat this row as footer on every (except the last) page"
 msgstr ""
-"Невозможно выполнять вычисления для окружений AMS.\n"
-"Измените тип формулы и попробуйте снова."
+"Повторить данную строку как концовку на всех (кроме последней) страницах"
 
-#: src/mathed/InsetMathHull.cpp:1893 src/mathed/InsetMathHull.cpp:1902
-msgid "No number"
-msgstr "Нет числа"
+#: src/frontends/qt/ui/TabularUi.ui:1467
+msgid "Last footer:"
+msgstr "Последняя концовка:"
 
-#: src/mathed/InsetMathHull.cpp:2173
-#, c-format
-msgid "Can't change number of rows in '%1$s'"
-msgstr "Невозможно изменить число строк в '%1$s'"
+#: src/frontends/qt/ui/TabularUi.ui:1474
+msgid "This row is the footer of the last page"
+msgstr "Данная строка - концовка на последней странице"
 
-#: src/mathed/InsetMathHull.cpp:2183
-#, c-format
-msgid "Can't change number of columns in '%1$s'"
-msgstr "Невозможно изменить число колонок в '%1$s'"
+#: src/frontends/qt/ui/TabularUi.ui:1498
+msgid "Don't output the last footer"
+msgstr "Не выводить последнюю концовку"
 
-#: src/mathed/InsetMathMacro.cpp:1263 src/mathed/InsetMathMacro.cpp:1269
-#, c-format
-msgid "Macro: %1$s"
-msgstr "Макрос: %1$s"
+#: src/frontends/qt/ui/TabularUi.ui:1525
+msgid "Set a page break on the current row"
+msgstr "Установить разрыв страницы на текущей строке"
 
-#: src/mathed/InsetMathMacroTemplate.cpp:491
-msgid "optional"
-msgstr "необязательное"
+#: src/frontends/qt/ui/TabularUi.ui:1528
+msgid "Page &break on current row"
+msgstr "Разрыв &страницы на текущей строке"
 
-#: src/mathed/InsetMathMacroTemplate.cpp:1274
-msgid "math macro"
-msgstr "математический макрос"
+#: src/frontends/qt/ui/TabularUi.ui:1541
+msgid "Horizontal alignment of the multi-page table"
+msgstr "Горизонтальное выравнивание многостраничной таблицы"
 
-#: src/mathed/InsetMathMacroTemplate.cpp:1383
-#, c-format
-msgid "Math Macro: \\%1$s"
-msgstr "Математический макрос: \\%1$s"
+#: src/frontends/qt/ui/TabularUi.ui:1544
+msgid "Multi-page table alignment"
+msgstr "&Выравнивание многостраничной таблицы"
 
-#: src/mathed/InsetMathMacroTemplate.cpp:1398
-#, c-format
-msgid "Invalid macro! \\%1$s"
-msgstr "Неверный макрос! \\%1$s"
+#: src/frontends/qt/ui/TabularUi.ui:1599
+msgid "Current cell:"
+msgstr "Текущая ячейка:"
 
-#: src/mathed/InsetMathNest.cpp:1020
-msgid "create new math text environment ($...$)"
-msgstr "создать новое окружение для формулы ($...$)"
+#: src/frontends/qt/ui/TabularUi.ui:1621
+msgid "Current row position"
+msgstr "Текущая строка"
 
-#: src/mathed/InsetMathNest.cpp:1023
-msgid "entered math text mode (textrm)"
-msgstr "текстовый режим внутри формулы (textrm)"
+#: src/frontends/qt/ui/TabularUi.ui:1643
+msgid "Current column position"
+msgstr "Текущий столбец"
 
-#: src/mathed/InsetMathNest.cpp:1045
-msgid "Regular expression editor mode"
-msgstr "Режим редактора регулярных выражений"
+#: src/frontends/qt/ui/TexinfoUi.ui:40
+msgid "Selected classes or styles"
+msgstr "Выбранные классы или стили"
 
-#: src/mathed/InsetMathNest.cpp:1916
-#, c-format
-msgid "Cannot apply %1$s here."
-msgstr "Здесь невозможно применить %1$s."
+#: src/frontends/qt/ui/TexinfoUi.ui:44
+msgid "LaTeX classes"
+msgstr "Классы LaTeX"
 
-#: src/mathed/InsetMathRef.cpp:245
-msgid "Standard[[mathref]]"
-msgstr "Стандарт"
+#: src/frontends/qt/ui/TexinfoUi.ui:49
+msgid "LaTeX styles"
+msgstr "Стили LaTeX"
 
-#: src/mathed/InsetMathRef.cpp:250
-msgid "PrettyRef"
-msgstr "Красивая ссылка"
+#: src/frontends/qt/ui/TexinfoUi.ui:54
+msgid "BibTeX styles"
+msgstr "Стили BibTeX"
 
-#: src/mathed/InsetMathRef.cpp:250
-msgid "FormatRef: "
-msgstr "Формат ссылки: "
+#: src/frontends/qt/ui/TexinfoUi.ui:59
+msgid "BibTeX databases"
+msgstr "Базы данных BibTeX"
 
-#: src/mathed/InsetMathSize.cpp:107
-#, c-format
-msgid "Size: %1$s"
-msgstr "Размер: %1$s"
+#: src/frontends/qt/ui/TexinfoUi.ui:64
+msgid "Biblatex bibliography styles"
+msgstr "Стили библиографии Biblatex"
 
-#: src/mathed/InsetMathSubstack.cpp:79
-#, c-format
-msgid "Can't change horizontal alignment in '%1$s'"
-msgstr "Невозможно изменить горизонтальное выравнивание в '%1$s'"
+#: src/frontends/qt/ui/TexinfoUi.ui:69
+msgid "Biblatex citation styles"
+msgstr "Стили ссылок Biblatex"
 
-#: src/output.cpp:37
-#, c-format
-msgid ""
-"Could not open the specified document\n"
-"%1$s."
-msgstr ""
-"Невозможно открыть указанный документ\n"
-"%1$s."
+#: src/frontends/qt/ui/TexinfoUi.ui:93
+msgid "Toggles view of the file list"
+msgstr "Переключить вид списка файлов"
 
-#: src/output_latex.cpp:1615
-msgid "Error in latexParagraphs"
-msgstr "Ошибка в latexParagraphs"
+#: src/frontends/qt/ui/TexinfoUi.ui:96
+msgid "Show &path"
+msgstr "Показывать &путь"
 
-#: src/output_latex.cpp:1616
-#, c-format
+#: src/frontends/qt/ui/TexinfoUi.ui:141
+msgid "Rebuild the file lists"
+msgstr "Перестроить список файлов"
+
+#: src/frontends/qt/ui/TexinfoUi.ui:154
 msgid ""
-"You are using at least one layout (%1$s) intended for the title, after using "
-"non-title layouts. This could lead to missing or incorrect output."
-msgstr ""
-"Вы используете хотя бы один макет (%1$s), предназначенный для заголовка, "
-"после использования макетов без заголовка. Это может привести к отсутствию "
-"вывода или неправильному выводу."
+"Show contents of marked file. Only possible when files are shown with path"
+msgstr "Показывает содержимое отмеченного файла"
 
-#: src/output_plaintext.cpp:146
-msgid "Abstract: "
-msgstr "Аннотация: "
+#: src/frontends/qt/ui/TexinfoUi.ui:157
+msgid "&View"
+msgstr "Просмотреть"
 
-#: src/output_plaintext.cpp:158
-msgid "References: "
-msgstr "Ссылки: "
+#: src/frontends/qt/ui/TextLayoutUi.ui:26
+msgid "Spacing"
+msgstr "Интервал"
 
-#: src/support/Package.cpp:169
-msgid "LyX: reconfiguring user directory"
-msgstr "LyX: конфигурация пользователя создаётся заново"
+#: src/frontends/qt/ui/TextLayoutUi.ui:44
+msgid "&Line spacing:"
+msgstr "&Междустрочный интервал:"
 
-#: src/support/Package.cpp:173
-msgid "Done!"
-msgstr "Готово!"
+#: src/frontends/qt/ui/TextLayoutUi.ui:54
+msgid "Spacing type"
+msgstr "Расстояние между строками"
 
-#: src/support/Package.cpp:528
-msgid "LyX binary not found"
-msgstr "Программа LyX не найдена"
+#: src/frontends/qt/ui/TextLayoutUi.ui:67
+msgid "Number of lines"
+msgstr "Количество строк"
 
-#: src/support/Package.cpp:529
-#, c-format
-msgid ""
-"Unable to determine the path to the LyX binary from the command line %1$s"
-msgstr ""
-"Не удалось определить путь к двоичному файлу LyX из командной строки %1$s"
+#: src/frontends/qt/ui/TextLayoutUi.ui:90
+msgid "Table Style"
+msgstr "Стиль таблиц"
 
-#: src/support/Package.cpp:648
-#, c-format
-msgid ""
-"Unable to determine the system directory having searched\n"
-"\t%1$s\n"
-"Use the '-sysdir' command line parameter or set the environment variable\n"
-"%2$s to the LyX system directory containing the file `chkconfig.ltx'."
-msgstr ""
-"Не удаётся определить системный каталог после поиска в\n"
-"\t%1$s\n"
-"Используйте параметр командной строки '-sysdir' или задайте переменную "
-"окружения\n"
-"%2$s, равной системному каталогу LyX, содержащему файл `chkconfig.ltx'."
+#: src/frontends/qt/ui/TextLayoutUi.ui:101
+msgid "Default St&yle:"
+msgstr "&Стиль по умолчанию:"
 
-#: src/support/Package.cpp:717 src/support/Package.cpp:744
-msgid "File not found"
-msgstr "Файл не найден"
+#: src/frontends/qt/ui/TextLayoutUi.ui:155
+msgid "Paragraph Separation"
+msgstr "Разделение абзацев"
 
-#: src/support/Package.cpp:718
-#, c-format
-msgid ""
-"Invalid %1$s switch.\n"
-"Directory %2$s does not contain %3$s."
-msgstr ""
-"Неверный переключатель %1$s.\n"
-"Каталог %2$s не содержит %3$s."
+#: src/frontends/qt/ui/TextLayoutUi.ui:170
+msgid "Indent consecutive paragraphs"
+msgstr "Отступы в последовательных абзацах"
 
-#: src/support/Package.cpp:745
-#, c-format
-msgid ""
-"Invalid %1$s environment variable.\n"
-"Directory %2$s does not contain %3$s."
-msgstr ""
-"Неверная переменная окружения %1$s.\n"
-"Каталог %2$s не содержит %3$s."
+#: src/frontends/qt/ui/TextLayoutUi.ui:173
+msgid "&Indentation:"
+msgstr "&Отступ:"
 
-#: src/support/Package.cpp:769
-#, c-format
-msgid ""
-"Invalid %1$s environment variable.\n"
-"%2$s is not a directory."
-msgstr ""
-"Неверная переменная окружения %1$s.\n"
-"%2$s это не каталог."
+#: src/frontends/qt/ui/TextLayoutUi.ui:257
+msgid "&Vertical space:"
+msgstr "Верт. промежуток:"
 
-#: src/support/Package.cpp:771
-msgid "Directory not found"
-msgstr "Каталог не найден"
+#: src/frontends/qt/ui/TextLayoutUi.ui:267
+msgid "Size of the vertical space"
+msgstr "Верт. промежуток"
 
-#: src/support/Systemcall.cpp:416
-#, c-format
+#: src/frontends/qt/ui/TextLayoutUi.ui:326
 msgid ""
-"The command\n"
-"%1$s\n"
-"has not yet completed.\n"
-"\n"
-"Do you want to stop it?"
+"Justify text in the LyX editor (this does not affect whether the text is "
+"justified in the output)"
 msgstr ""
-"Выполнение команды\n"
-"%1$s\n"
-"не завершено.\n"
-"\n"
-"Хотите её остановить?"
-
-#: src/support/Systemcall.cpp:418
-msgid "Stop command?"
-msgstr "Остановить команду?"
-
-#: src/support/Systemcall.cpp:419
-msgid "&Stop it"
-msgstr "&Остановить"
-
-#: src/support/Systemcall.cpp:419
-msgid "Let it &run"
-msgstr "&Продолжить выполнение"
-
-#: src/support/debug.cpp:41
-msgid "No debugging messages"
-msgstr "Нет отладочных сообщений"
-
-#: src/support/debug.cpp:42
-msgid "General information"
-msgstr "Общая информация"
-
-#: src/support/debug.cpp:43
-msgid "Program initialisation"
-msgstr "Инициализация программы"
-
-#: src/support/debug.cpp:44
-msgid "Keyboard events handling"
-msgstr "Обработка событий клавиатуры"
-
-#: src/support/debug.cpp:45
-msgid "GUI handling"
-msgstr "Обработка GUI"
-
-#: src/support/debug.cpp:46
-msgid "Lyxlex grammar parser"
-msgstr "Грамматический анализатор Lyxlex"
-
-#: src/support/debug.cpp:47
-msgid "Configuration files reading"
-msgstr "Чтение файлов конфигурации"
-
-#: src/support/debug.cpp:48
-msgid "Custom keyboard definition"
-msgstr "Клавиатурные определения"
-
-#: src/support/debug.cpp:49
-msgid "LaTeX generation/execution"
-msgstr "Генерация/выполнение LaTeX"
-
-#: src/support/debug.cpp:50
-msgid "Math editor"
-msgstr "Математический редактор"
-
-#: src/support/debug.cpp:51
-msgid "Font handling"
-msgstr "Обработка шрифтов"
-
-#: src/support/debug.cpp:52
-msgid "Textclass files reading"
-msgstr "Чтение классов документа"
-
-#: src/support/debug.cpp:53
-msgid "Version control"
-msgstr "Управление версиями"
+"Выравнивать текст по ширине в редакторе LyX (это не влияет на выравнивание "
+"текста в результирующем документе)"
 
-#: src/support/debug.cpp:54
-msgid "External control interface"
-msgstr "Внешний интерфейс управления"
+#: src/frontends/qt/ui/TextLayoutUi.ui:329
+msgid "Use &justification in LyX work area"
+msgstr "Выравнивать по ширине в рабочей области LyX"
 
-#: src/support/debug.cpp:55
-msgid "Undo/Redo mechanism"
-msgstr "Механизм отмены/возврата"
+#: src/frontends/qt/ui/TextLayoutUi.ui:336
+msgid "Format text into two columns"
+msgstr "Форматировать текст в две колонки"
 
-#: src/support/debug.cpp:56
-msgid "User commands"
-msgstr "Команды пользователя"
+#: src/frontends/qt/ui/TextLayoutUi.ui:339
+msgid "Two-&column document"
+msgstr "Двух&колоночный документ"
 
-#: src/support/debug.cpp:57
-msgid "The LyX Lexer"
-msgstr "Лексический анализатор LyX"
+#: src/frontends/qt/ui/ThesaurusUi.ui:33
+msgid "Language of the thesaurus"
+msgstr "Язык тезауруса"
 
-#: src/support/debug.cpp:58
-msgid "Dependency information"
-msgstr "Информация о зависимостях"
+#: src/frontends/qt/ui/ThesaurusUi.ui:40
+msgid "Index entry"
+msgstr "Запись в предметном указателе"
 
-#: src/support/debug.cpp:59
-msgid "LyX Insets"
-msgstr "Вставки LyX"
+#: src/frontends/qt/ui/ThesaurusUi.ui:43
+msgid "&Keyword:"
+msgstr "&Ключевое слово:"
 
-#: src/support/debug.cpp:60
-msgid "Files used by LyX"
-msgstr "Файлы, которые использует LyX"
+#: src/frontends/qt/ui/ThesaurusUi.ui:56
+msgid "L&ookup"
+msgstr "&Искать"
 
-#: src/support/debug.cpp:61
-msgid "Workarea events"
-msgstr "События рабочей области"
+#: src/frontends/qt/ui/ThesaurusUi.ui:63 src/frontends/qt/ui/ThesaurusUi.ui:76
+msgid "The selected entry"
+msgstr "Выбранная запись"
 
-#: src/support/debug.cpp:62
-msgid "Clipboard handling"
-msgstr "Обработка буфера обмена"
+#: src/frontends/qt/ui/ThesaurusUi.ui:66
+msgid "Sele&ction:"
+msgstr "&Выделение:"
 
-#: src/support/debug.cpp:63
-msgid "Graphics conversion and loading"
-msgstr "Преобразование и загрузка изображений"
+#: src/frontends/qt/ui/ThesaurusUi.ui:83
+msgid "Replace the entry with the selection"
+msgstr "Заменить запись выбранным"
 
-#: src/support/debug.cpp:64
-msgid "Change tracking"
-msgstr "Отслеживание изменений"
+#: src/frontends/qt/ui/ThesaurusUi.ui:93
+msgid "Click to select a proposal, double click to look it up."
+msgstr "Щёлкните для выбора предложения, дважды щёлкните для его поиска."
 
-#: src/support/debug.cpp:65
-msgid "External template/inset messages"
-msgstr "Сообщения внешнего шаблона/вставки"
+#: src/frontends/qt/ui/ThesaurusUi.ui:112
+msgid "Word to look up"
+msgstr "Искать слово"
 
-#: src/support/debug.cpp:66
-msgid "RowPainter profiling"
-msgstr "Профилирование RowPainter"
+#: src/frontends/qt/ui/TocUi.ui:40
+msgid "Filter:"
+msgstr "Фильтр:"
 
-#: src/support/debug.cpp:67
-msgid "Scrolling debugging"
-msgstr "Отладка прокрутки"
+#: src/frontends/qt/ui/TocUi.ui:50
+msgid "Enter string to filter contents"
+msgstr "Введите строку для фильтрации содержания"
 
-#: src/support/debug.cpp:68
-msgid "Math macros"
-msgstr "Математические макросы"
+#: src/frontends/qt/ui/TocUi.ui:76
+msgid "Update navigation tree"
+msgstr "Обновить дерево навигации"
 
-#: src/support/debug.cpp:69
-msgid "RTL/Bidi"
-msgstr "RTL/Bidi"
+#: src/frontends/qt/ui/TocUi.ui:79 src/frontends/qt/ui/TocUi.ui:112
+#: src/frontends/qt/ui/TocUi.ui:132 src/frontends/qt/ui/TocUi.ui:152
+#: src/frontends/qt/ui/TocUi.ui:172
+msgid "..."
+msgstr "..."
 
-#: src/support/debug.cpp:70
-msgid "Locale/Internationalisation"
-msgstr "Локаль/интернационализация"
+#: src/frontends/qt/ui/TocUi.ui:109
+msgid "Decrease nesting depth of selected item"
+msgstr "Уменьшить уровень вложенности выбранного пункта"
 
-#: src/support/debug.cpp:71
-msgid "Selection copy/paste mechanism"
-msgstr "Механизм копирования/вставки выделения"
+#: src/frontends/qt/ui/TocUi.ui:129
+msgid "Increase nesting depth of selected item"
+msgstr "Увеличить уровень вложенности выбранного пункта"
 
-#: src/support/debug.cpp:72
-msgid "Find and replace mechanism"
-msgstr "Механизм поиска и замены"
+#: src/frontends/qt/ui/TocUi.ui:149
+msgid "Move selected item down by one"
+msgstr "Переместить выбранный пункт вниз"
 
-#: src/support/debug.cpp:73
-msgid "Developers' general debug messages"
-msgstr "Общие отладочные сообщения разработчиков"
+#: src/frontends/qt/ui/TocUi.ui:169
+msgid "Move selected item up by one"
+msgstr "Переместить выбранный пункт вверх"
 
-#: src/support/debug.cpp:74
-msgid "All debugging messages"
-msgstr "Все отладочные сообщения"
+#: src/frontends/qt/ui/TocUi.ui:223
+msgid "Sort"
+msgstr "Сортировать"
 
-#: src/support/debug.cpp:153
-#, c-format
-msgid "Debugging `%1$s' (%2$s)"
-msgstr "Отладка `%1$s' (%2$s)"
+#: src/frontends/qt/ui/TocUi.ui:242
+msgid "Try to keep persistent view of the uncollapsed nodes"
+msgstr "По возможности сохранять постоянный вид развёрнутых узлов"
 
-#: src/support/lassert.cpp:60
-#, c-format
-msgid ""
-"Assertion %1$s violated in\n"
-"file: %2$s, line: %3$s"
-msgstr ""
-"Утверждение %1$s нарушено в\n"
-"файле: %2$s, строка: %3$s"
+#: src/frontends/qt/ui/TocUi.ui:245
+msgid "Keep"
+msgstr "Сохранять вид"
 
-#: src/support/lassert.cpp:70
+#: src/frontends/qt/ui/TocUi.ui:260
 msgid ""
-"It should be safe to continue, but you\n"
-"may wish to save your work and restart LyX."
+"Switch between available lists (table of contents, list of figures, list of "
+"tables, and others)"
 msgstr ""
-"Должно быть безопасно продолжать работу, но\n"
-"желательно сохранить документ и перезапустить LyX."
-
-#: src/support/lassert.cpp:73
-msgid "Warning!"
-msgstr "Предупреждение!"
+"Переключение между доступными списками (содержанием, списком рисунков, "
+"списком таблиц и другими)"
 
-#: src/support/lassert.cpp:80
-msgid ""
-"There has been an error with this document.\n"
-"LyX will attempt to close it safely."
-msgstr ""
-"Ошибка в документе.\n"
-"LyX попытается безопасно закрыть его."
+#: src/frontends/qt/ui/TocUi.ui:273
+msgid "Adjust the depth of the navigation tree"
+msgstr "Изменить глубину дерева навигации"
 
-#: src/support/lassert.cpp:83
-msgid "Buffer Error!"
-msgstr "Ошибка буфера!"
+#: src/frontends/qt/ui/TocUi.ui:307
+msgid "Sho&w:"
+msgstr "Показать:"
 
-#: src/support/lassert.cpp:90
+#: src/frontends/qt/ui/TocUi.ui:323
 msgid ""
-"LyX has encountered an application error\n"
-"and will now shut down."
+"Filter items that are not output (in notes, inactive branches, deleted in "
+"change tracking, etc.)"
 msgstr ""
-"LyX обнаружил ошибку приложения\n"
-"и сейчас будет завершён."
-
-#: src/support/lassert.cpp:93
-msgid "Fatal Exception!"
-msgstr "Фатальное исключение!"
-
-#: src/support/lengthcommon.cpp:40
-msgid "cc[[unit of measure]]"
-msgstr "cc"
-
-#: src/support/lengthcommon.cpp:40
-msgid "dd"
-msgstr "dd"
-
-#: src/support/lengthcommon.cpp:40
-msgid "em"
-msgstr "em"
+"Отфильтровать элементы, которые не выводятся (в заметках, неактивных ветках, "
+"удаленных в отслеживании изменений и т. д.)"
 
-#: src/support/lengthcommon.cpp:41
-msgid "ex"
-msgstr "ex"
+#: src/frontends/qt/ui/TocUi.ui:327
+msgid "All items"
+msgstr "Все элементы"
 
-#: src/support/lengthcommon.cpp:41
-msgid "mu[[unit of measure]]"
-msgstr "mu"
+#: src/frontends/qt/ui/TocUi.ui:332
+msgid "Only output items"
+msgstr "Только элементы для вывода"
 
-#: src/support/lengthcommon.cpp:41
-msgid "pc"
-msgstr "pc"
+#: src/frontends/qt/ui/TocUi.ui:337
+msgid "Only non-output items"
+msgstr "Только элементы не для вывода"
 
-#: src/support/lengthcommon.cpp:42
-msgid "pt"
-msgstr "pt"
+#: src/frontends/qt/ui/ToggleWarningUi.ui:14
+msgid "Enter text"
+msgstr "Введите текст"
 
-#: src/support/lengthcommon.cpp:42
-msgid "sp"
-msgstr "sp"
+#: src/frontends/qt/ui/VSpaceUi.ui:33
+msgid "Insert the spacing even after a page break"
+msgstr "Вставить промежуток даже после разрыва страницы"
 
-#: src/support/lengthcommon.cpp:42
-msgid "Text Width %"
-msgstr "% ширины текста"
+#: src/frontends/qt/ui/VSpaceUi.ui:83
+msgid "DefSkip"
+msgstr "По умолчанию"
 
-#: src/support/lengthcommon.cpp:43
-msgid "Column Width %"
-msgstr "% ширины колонки"
+#: src/frontends/qt/ui/VSpaceUi.ui:113
+msgid "VFill"
+msgstr "Вертикальное заполнение"
 
-#: src/support/lengthcommon.cpp:43
-msgid "Page Width %"
-msgstr "% ширины страницы"
+#: src/frontends/qt/ui/ViewSourceUi.ui:90
+msgid "F&ormat:"
+msgstr "Ф&ормат:"
 
-#: src/support/lengthcommon.cpp:43
-msgid "Line Width %"
-msgstr "% ширины строки"
+#: src/frontends/qt/ui/ViewSourceUi.ui:109
+msgid "Select the output format"
+msgstr "Выберите формат вывода"
 
-#: src/support/lengthcommon.cpp:44
-msgid "Text Height %"
-msgstr "% высоты текста"
+#: src/frontends/qt/ui/ViewSourceUi.ui:127
+msgid "Show the source as the master document gets it"
+msgstr "Показать код в виде, используемом для главного документа"
 
-#: src/support/lengthcommon.cpp:44
-msgid "Page Height %"
-msgstr "% высоты страницы"
+#: src/frontends/qt/ui/ViewSourceUi.ui:130
+msgid "Master's perspective"
+msgstr "Как для главного документа"
 
-#: src/support/lengthcommon.cpp:44
-msgid "Line Distance %"
-msgstr "% междустрочного интервала"
+#: src/frontends/qt/ui/ViewSourceUi.ui:137
+msgid "Automatic update"
+msgstr "Автоматическое обновление"
 
-#: src/support/os_win32.cpp:494
-msgid "System file not found"
-msgstr "Системный файл не найден"
+#: src/frontends/qt/ui/ViewSourceUi.ui:164
+msgid "Current Paragraph"
+msgstr "Текущий абзац"
 
-#: src/support/os_win32.cpp:495
-msgid ""
-"Unable to load shfolder.dll\n"
-"Please install."
-msgstr ""
-"Невозможно загрузить shfolder.dll\n"
-"Установите её пожалуйста."
+#: src/frontends/qt/ui/ViewSourceUi.ui:169
+msgid "Complete Source"
+msgstr "Весь файл"
 
-#: src/support/os_win32.cpp:500
-msgid "System function not found"
-msgstr "Системная функция не найдена"
+#: src/frontends/qt/ui/ViewSourceUi.ui:174
+msgid "Preamble Only"
+msgstr "Только преамбула"
 
-#: src/support/os_win32.cpp:501
-msgid ""
-"Unable to find SHGetFolderPathA in shfolder.dll\n"
-"Don't know how to proceed. Sorry."
-msgstr ""
-"Не удалось найти SHGetFolderPathA в shfolder.dll\n"
-"Не знаю как продолжить. Извините."
+#: src/frontends/qt/ui/ViewSourceUi.ui:179
+msgid "Body Only"
+msgstr "Только тело документа"
 
-#: src/support/userinfo.cpp:45
-msgid "Unknown user"
-msgstr "Неизвестный пользователь"
+#: src/frontends/qt/ui/WrapUi.ui:33
+msgid "Horizontal placement"
+msgstr "Горизонтальное размещение"
 
-#~ msgid "Version goes here"
-#~ msgstr "Здесь указывается версия"
+#: src/frontends/qt/ui/WrapUi.ui:37
+msgid "Outer (default)"
+msgstr "Наружное (по умолчанию)"
 
-#~ msgid "Hit Enter to search, or click Go!"
-#~ msgstr "Нажмите Enter для поиска, или щёлкните \"Найти далее\""
+#: src/frontends/qt/ui/WrapUi.ui:42
+msgid "Inner"
+msgstr "Внутреннее"
 
-#~ msgid "&Go!"
-#~ msgstr "&Найти далее"
+#: src/frontends/qt/ui/WrapUi.ui:60
+msgid "Check this to allow flexible placement"
+msgstr "Отметьте для плавающего размещения объекта"
 
-#~ msgid "Theorem \\thechapter.\\thetheorem."
-#~ msgstr "Теорема \\thechapter.\\thetheorem."
+#: src/frontends/qt/ui/WrapUi.ui:63
+msgid "Allow &floating"
+msgstr "Разрешить плавающий режим"
 
-#~ msgid "Corollary \\thechapter.\\thecorollary."
-#~ msgstr "Следствие \\thechapter.\\thecorollary."
+#: src/frontends/qt/ui/WrapUi.ui:70
+msgid "Wid&th:"
+msgstr "Ширина:"
 
-#~ msgid "Lemma \\thechapter.\\thelemma."
-#~ msgstr "Лемма \\thechapter.\\thelemma."
+#: src/frontends/qt/ui/WrapUi.ui:108
+msgid "Unit of width value"
+msgstr "Единицы измерения ширины"
 
-#~ msgid "Proposition \\thechapter.\\theproposition."
-#~ msgstr "Предложение \\thechapter.\\theproposition."
+#: src/frontends/qt/ui/WrapUi.ui:115
+msgid "use overhang"
+msgstr "Использовать выступ"
 
-#~ msgid "Conjecture \\thechapter.\\theconjecture."
-#~ msgstr "Гипотеза \\thechapter.\\theconjecture."
+#: src/frontends/qt/ui/WrapUi.ui:118
+msgid "Over&hang:"
+msgstr "Выступ:"
 
-#~ msgid "Fact \\thechapter.\\thefact."
-#~ msgstr "Факт \\thechapter.\\thefact."
+#: src/frontends/qt/ui/WrapUi.ui:137
+msgid "Overhang value"
+msgstr "Значение выступа"
 
-#~ msgid "Definition \\thechapter.\\thedefinition."
-#~ msgstr "Определение \\thechapter.\\thedefinition."
+#: src/frontends/qt/ui/WrapUi.ui:162
+msgid "Unit of overhang value"
+msgstr "Единицы измерения выступа"
 
-#~ msgid "Example \\thechapter.\\theexample."
-#~ msgstr "Пример \\thechapter.\\theexample."
+#: src/frontends/qt/ui/WrapUi.ui:169
+msgid "use number of lines"
+msgstr "Использовать заданное количество строк"
 
-#~ msgid "Problem \\thechapter.\\theproblem."
-#~ msgstr "Задача \\thechapter.\\theproblem."
+#: src/frontends/qt/ui/WrapUi.ui:172
+msgid "&Line span:"
+msgstr "&Строки:"
 
-#~ msgid "Exercise \\thechapter.\\theexercise."
-#~ msgstr "Упражнение \\thechapter.\\theexercise."
+#: src/frontends/qt/ui/WrapUi.ui:182
+msgid "number of needed lines"
+msgstr "Количество строк"
 
-#~ msgid "Solution \\thechapter.\\thesolution."
-#~ msgstr "Решение \\thechapter.\\thesolution."
+#: lib/examples/Articles:0
+msgid "Game 1"
+msgstr "Игра 1"
 
-#~ msgid "Remark \\thechapter.\\theremark."
-#~ msgstr "Замечание \\thechapter.\\theremark."
+#: lib/examples/Articles:0
+msgid "Game 2"
+msgstr "Игра 2"
 
-#~ msgid "Claim \\thechapter.\\theclaim."
-#~ msgstr "Утверждение \\thechapter.\\theclaim."
+#: lib/examples/Articles:0
+msgid "Example (LyXified)"
+msgstr "Пример (оформленный)"
 
-#~ msgid "Criterion \\thechapter.\\thecriterion."
-#~ msgstr "Критерий \\thechapter.\\thecriterion."
+#: lib/examples/Articles:0
+msgid "Example (raw)"
+msgstr "Пример"
 
-#~ msgid "Algorithm \\thechapter.\\thealgorithm."
-#~ msgstr "Алгоритм \\thechapter.\\thealgorithm."
+#: lib/examples/Articles:0
+msgid "Gnuplot"
+msgstr "Gnuplot"
 
-#~ msgid "Axiom \\thechapter.\\theaxiom."
-#~ msgstr "Аксиома \\thechapter.\\theaxiom."
+#: lib/examples/Articles:0
+msgid "Feynman Diagrams"
+msgstr "Диаграммы Фейнмана"
 
-#~ msgid "Condition \\thechapter.\\thecondition."
-#~ msgstr "Условие \\thechapter.\\thecondition."
+#: lib/examples/Articles:0
+msgid "Instant Preview"
+msgstr "Мгновенный предпросмотр"
 
-#~ msgid "Note \\thechapter.\\thenote."
-#~ msgstr "Замечание \\thechapter.\\thetheorem."
+#: lib/examples/Articles:0
+msgid "Itemize Bullets"
+msgstr "Маркеры в списках"
 
-#~ msgid "Notation \\thechapter.\\thenotation."
-#~ msgstr "Обозначение \\thechapter.\\thenotation."
+#: lib/examples/Articles:0
+msgid "Minted File Listing"
+msgstr "Листинг Minted из файла"
 
-#~ msgid "Summary \\thechapter.\\thesummary."
-#~ msgstr "Резюме \\thechapter.\\thesummary."
+#: lib/examples/Articles:0
+msgid "Minted Listings"
+msgstr "Листинги Minted"
 
-#~ msgid "Acknowledgement \\thechapter.\\theacknowledgement."
-#~ msgstr "Подтверждение \\thechapter.\\theacknowledgement."
+#: lib/examples/Articles:0
+msgid "XY-Figure"
+msgstr "Диаграмма XY-Figure"
 
-#~ msgid "Conclusion \\thechapter.\\theconclusion."
-#~ msgstr "Заключение \\thechapter.\\theconclusion."
+#: lib/examples/Articles:0
+msgid "XY-Pic"
+msgstr "Диаграмма XY-Pic"
 
-#~ msgid "Assumption \\thechapter.\\theassumption."
-#~ msgstr "Допущение \\thechapter.\\theassumption."
+#: lib/examples/Articles:0
+msgid "Graphics and Insets"
+msgstr "Графика и вставки"
 
-#~ msgid "Question \\thechapter.\\thequestion."
-#~ msgstr "Вопрос \\thechapter.\\thequestion."
+#: lib/examples/Articles:0
+msgid "Serial Letter 1"
+msgstr "Serial Letter 1"
 
-#, c-format
-#~ msgid "LyX: %1$s"
-#~ msgstr "LyX: %1$s"
+#: lib/examples/Articles:0
+msgid "Serial Letter 2"
+msgstr "Serial Letter 2"
 
-#~ msgid "Articles (DocBook)"
-#~ msgstr "Статьи (DocBook)"
+#: lib/examples/Articles:0
+msgid "Serial Letter 3"
+msgstr "Serial Letter 3"
 
-#~ msgid "Abbrev"
-#~ msgstr "Сокращение"
+#: lib/examples/Articles:0
+msgid "Localization Test"
+msgstr "Тест локализации"
 
-#~ msgid "Citation-number"
-#~ msgstr "Номер-ссылки"
+#: lib/examples/Articles:0
+msgid "Hazard and Precautionary Statements"
+msgstr "Опасности и меры предосторожности"
 
-#~ msgid "Day"
-#~ msgstr "День"
+#: lib/examples/Articles:0
+msgid "LilyPond Book"
+msgstr "Книга LilyPond"
 
-#~ msgid "Month"
-#~ msgstr "Месяц"
+#: lib/examples/Articles:0
+msgid "Multilingual Captions"
+msgstr "Многоязычные подписи"
 
-#~ msgid "Issue-number"
-#~ msgstr "Номер-выпуска"
+#: lib/examples/Articles:0
+msgid "Noweb2LyX"
+msgstr "Noweb2LyX"
 
-#~ msgid "Issue-day"
-#~ msgstr "День-выпуска"
+#: lib/examples/Articles:0
+msgid "Noweb Listerrors"
+msgstr "Noweb Listerrors"
 
-#~ msgid "Issue-months"
-#~ msgstr "Месяцы-выпуска"
+#: lib/examples/Articles:0
+msgid "Beamer (Complex)"
+msgstr "Beamer (сложная)"
 
-#~ msgid "Citation-number:"
-#~ msgstr "Номер-ссылки:"
+#: lib/examples/Articles:0
+msgid "Foils"
+msgstr "Foils"
 
-#~ msgid "Cite-other"
-#~ msgstr "Другие-ссылки"
+#: lib/examples/Articles:0
+msgid "Foils Landslide"
+msgstr "Foils Landslide"
 
-#~ msgid "Cite-other:"
-#~ msgstr "Другие-ссылки:"
+#: lib/examples/Articles:0
+msgid "Welcome"
+msgstr "Добро пожаловать"
 
-#~ msgid "Ident-line"
-#~ msgstr "Строка-идентификации"
+#: lib/examples/Articles:0
+msgid "Multilingual Typesetting with CJKutf8"
+msgstr "Многоязычная вёрстка с CJKutf8"
 
-#~ msgid "Ident-line:"
-#~ msgstr "Строка-идентификации:"
+#: lib/examples/Articles:0
+msgid "Multilingual Typesetting with platex"
+msgstr "Многоязычная вёрстка с platex"
 
-#~ msgid "Runhead"
-#~ msgstr "Колонтитул"
+#: lib/examples/Articles:0
+msgid "Hebrew Article (KOMA-Script)"
+msgstr "Hebrew Article (KOMA-Script)"
 
-#~ msgid "Runhead:"
-#~ msgstr "Колонтитул:"
+#: lib/examples/Articles:0
+msgid "IEEE Transactions Conference"
+msgstr "IEEE Transactions Conference"
 
-#~ msgid "Published-online:"
-#~ msgstr "Опубликовано-онлайн:"
+#: lib/examples/Articles:0
+msgid "IEEE Transactions Journal"
+msgstr "IEEE Transactions Journal"
 
-#~ msgid "Citation:"
-#~ msgstr "Библиографическая ссылка:"
+#: lib/examples/Articles:0
+msgid "Mathematical Monthly"
+msgstr "Mathematical Monthly"
 
-#~ msgid "Posting-order"
-#~ msgstr "Порядок отправки"
+#: lib/examples/Articles:0
+msgid "Springers Global Journal Template (V. 3)"
+msgstr "Springers Global Journal Template (V. 3)"
 
-#~ msgid "Posting-order:"
-#~ msgstr "Порядок отправки:"
+#: lib/examples/Articles:0
+msgid "00 Main File"
+msgstr "00 Основной файл"
 
-#~ msgid "Words"
-#~ msgstr "Слова"
+#: lib/examples/Articles:0
+msgid "01 Dedication"
+msgstr "01 Посвящение"
 
-#~ msgid "Words:"
-#~ msgstr "Слова:"
+#: lib/examples/Articles:0
+msgid "02 Foreword"
+msgstr "02 Предисловие"
 
-#~ msgid "Figures:"
-#~ msgstr "Рисунки:"
+#: lib/examples/Articles:0
+msgid "03 Preface"
+msgstr "03 Введение"
 
-#~ msgid "Tables:"
-#~ msgstr "Таблицы:"
+#: lib/examples/Articles:0
+msgid "04 Acknowledgements"
+msgstr "04 Благодарности"
 
-#~ msgid "Datasets"
-#~ msgstr "Наборы данных"
+#: lib/examples/Articles:0
+msgid "05 Contributor List"
+msgstr "05 Список участников"
 
-#~ msgid "Datasets:"
-#~ msgstr "Наборы данных:"
+#: lib/examples/Articles:0
+msgid "06 Acronym"
+msgstr "06 Список сокращений"
 
-#~ msgid "Dscr"
-#~ msgstr "Опис."
+#: lib/examples/Articles:0
+msgid "07 Part"
+msgstr "07 Часть"
 
-#~ msgid "Orgdiv"
-#~ msgstr "Подразд. организации"
+#: lib/examples/Articles:0
+msgid "08 Author"
+msgstr "08 Автор"
 
-#~ msgid "Orgname"
-#~ msgstr "Название организации"
+#: lib/examples/Articles:0
+msgid "09 Appendix"
+msgstr "09 Приложения"
 
-#~ msgid "Postcode"
-#~ msgstr "Почтовый индекс"
+#: lib/examples/Articles:0
+msgid "10 Glossary"
+msgstr "10 Словарь терминов"
 
-#~ msgid "Authorgroup"
-#~ msgstr "Группа авторов"
+#: lib/examples/Articles:0
+msgid "11 References"
+msgstr "11 Список литературы"
 
-#~ msgid "RevisionHistory"
-#~ msgstr "История версий"
+#: lib/examples/Articles:0
+msgid "05 Acronym"
+msgstr "05 Список сокращений"
 
-#~ msgid "Revision History"
-#~ msgstr "История версий"
+#: lib/examples/Articles:0
+msgid "06 Part"
+msgstr "06 Часть"
 
-#~ msgid "Revision"
-#~ msgstr "Версия"
+#: lib/examples/Articles:0
+msgid "07 Chapter"
+msgstr "07 Глава"
 
-#~ msgid "RevisionRemark"
-#~ msgstr "Заметки по версии"
+#: lib/examples/Articles:0
+msgid "08 Appendix"
+msgstr "08 Приложения"
 
-#~ msgid "Time[[period]]"
-#~ msgstr "Интервал"
+#: lib/examples/Articles:0
+msgid "09 Glossary"
+msgstr "09 Словарь терминов"
 
-#~ msgid "What?"
-#~ msgstr "Что?"
+#: lib/examples/Articles:0
+msgid "10 Solutions"
+msgstr "10 Решения"
 
-#~ msgid "Select the roman (serif) typeface"
-#~ msgstr "Выбрать шрифт с засечками"
+#: lib/examples/Articles:0
+msgid "Colored"
+msgstr "Цветной"
 
-#~ msgid "Select the Sans Serif (grotesque) typeface"
-#~ msgstr "Выбрать шрифт без засечек (гротеск)"
+#: lib/examples/Articles:0
+msgid "Simple"
+msgstr "Простой"
 
-#~ msgid "Select the typewriter (monospaced) typeface"
-#~ msgstr "Выбрать машинописный (моноширинный) шрифт"
+#: lib/examples/Articles:0
+msgid "Chapter 1"
+msgstr "Глава 1"
 
-#, c-format
-#~ msgid "Attempted to include file %1$s in itself! Ignoring inclusion."
-#~ msgstr "Попытка включить файл %1$s сам в себя! Игнорирование включения."
+#: lib/examples/Articles:0
+msgid "Chapter 2"
+msgstr "Глава 2"
 
-#~ msgid "Auto-saving %1$s"
-#~ msgstr "Автоматическое сохранение %1$s"
+#: lib/examples/Articles:0
+msgid "Main File"
+msgstr "Основной файл"
 
-#~ msgid "Autosave failed!"
-#~ msgstr "Автосохранение не удалось!"
+#: lib/examples/Articles:0
+msgid "PhD Thesis"
+msgstr "Диссертация"
 
-#~ msgid "Change Tracking Bars"
-#~ msgstr "Полосы отслеживания изменений"
+#: lib/examples/Articles:0
+msgid "Theses"
+msgstr "Диссертации"
 
-#~ msgid ""
-#~ "Enables LyX to add vertical change bars in the margin of PDF output when "
-#~ "Show Changes in Output is turned on and pdflatex output format is chosen."
-#~ msgstr ""
-#~ "Позволяет LyX добавлять вертикальные полосы изменений на полях вывода PDF "
-#~ "при включении отслеживания изменений и выборе формата вывода pdflatex."
+#~ msgid "File name to include"
+#~ msgstr "Выберите документ для включения"

commit cfc3b3675b4091c321a1a95e0d1ac63c41bb60e1
Author: Juergen Spitzmueller <spitz at lyx.org>
Date:   Thu Sep 17 07:17:36 2020 +0200

    Account for Windows paths (#11975)

diff --git a/po/lyx_pot.py b/po/lyx_pot.py
index cbe4b8f..4e15b1f 100755
--- a/po/lyx_pot.py
+++ b/po/lyx_pot.py
@@ -639,7 +639,7 @@ def parseExamplesTemplates(file, seen, output):
       for sfile in glob.glob( os.path.join(file, '*') ):
           parseExamplesTemplates(sfile, seen, output)
 
-  filename = file.split(os.sep)[-1]
+  filename = os.path.normpath(os.path.realpath(file)).split(os.sep)[-1]
   if os.path.isfile(file):
       if filename[-4:] != ".lyx":
           return
@@ -659,7 +659,7 @@ def tabletemplates_l10n(input_files, output, base):
   # only record each item once
   seen = []
   for file in input_files:
-      filename = file.split(os.sep)[-1]
+      filename = os.path.normpath(os.path.realpath(file)).split(os.sep)[-1]
       if os.path.isfile(file):
           if filename[-4:] != ".lyx":
               continue

commit b96b876403ea541ada6d35fd683b599368c8c854
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date:   Wed Sep 16 16:54:33 2020 +0200

    Revert "Show toolbar context menu only when clicking on the toolbar"
    
    Something is wrong.
    
    This reverts commit f25253f89ac121b1981fe26f0b90af9e2bbbe849.

diff --git a/src/frontends/qt/GuiToolbar.cpp b/src/frontends/qt/GuiToolbar.cpp
index e80dc48..f58069b 100644
--- a/src/frontends/qt/GuiToolbar.cpp
+++ b/src/frontends/qt/GuiToolbar.cpp
@@ -34,7 +34,6 @@
 #include "LayoutBox.h"
 #include "LyX.h"
 #include "LyXRC.h"
-#include "Menus.h"
 #include "qt_helpers.h"
 #include "Session.h"
 #include "Text.h"
@@ -71,9 +70,6 @@ GuiToolbar::GuiToolbar(ToolbarInfo const & tbinfo, GuiView & owner)
 	setIconSize(owner.iconSize());
 	connect(&owner, SIGNAL(iconSizeChanged(QSize)), this,
 		SLOT(setIconSize(QSize)));
-	// install toolbar filter for context menu including disabled buttons
-	setContextMenuPolicy(Qt::PreventContextMenu);
-	QCoreApplication::instance()->installEventFilter(this);
 
 	// This is used by QMainWindow::restoreState for proper main window state
 	// restoration.
@@ -127,24 +123,6 @@ void GuiToolbar::showEvent(QShowEvent * ev)
 }
 
 
-bool GuiToolbar::eventFilter(QObject * obj, QEvent * ev)
-{
-	if (obj == this || obj->parent() == this) {
-		if (ev->type() == QEvent::ContextMenu) {
-			QMouseEvent* mouseEvent = static_cast<QMouseEvent*>(ev);
-			QMenu * menu = guiApp->menus().menu(toqstr("context-toolbars"), owner_);
-			menu->exec(mouseEvent->globalPos());
-			return true;
-		} else {
-			return false;
-		}
-	} else {
-		// pass the event on to the parent class
-		return QToolBar::eventFilter(obj, ev);
-	}
-}
-
-
 void GuiToolbar::setVisibility(int visibility)
 {
 	visibility_ = visibility;
diff --git a/src/frontends/qt/GuiToolbar.h b/src/frontends/qt/GuiToolbar.h
index bd4ef8f..eccd05a 100644
--- a/src/frontends/qt/GuiToolbar.h
+++ b/src/frontends/qt/GuiToolbar.h
@@ -177,8 +177,6 @@ private:
 	void fill();
 	///
 	void showEvent(QShowEvent *);
-	///
-	bool eventFilter(QObject * obj, QEvent * ev);
 
 	///
 	QList<Action *> actions_;
diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp
index 7dd6dbb..948deb9 100644
--- a/src/frontends/qt/GuiView.cpp
+++ b/src/frontends/qt/GuiView.cpp
@@ -677,6 +677,11 @@ GuiView::GuiView(int id)
 	connect(this, SIGNAL(triggerShowDialog(QString const &, QString const &, Inset *)),
 		SLOT(doShowDialog(QString const &, QString const &, Inset *)));
 
+	// set custom application bars context menu, e.g. tool bar and menu bar
+	setContextMenuPolicy(Qt::CustomContextMenu);
+	connect(this, SIGNAL(customContextMenuRequested(const QPoint &)),
+		SLOT(toolBarPopup(const QPoint &)));
+
 	// Forbid too small unresizable window because it can happen
 	// with some window manager under X11.
 	setMinimumSize(300, 200);
@@ -3783,6 +3788,13 @@ bool GuiView::goToFileRow(string const & argument)
 }
 
 
+void GuiView::toolBarPopup(const QPoint & /*pos*/)
+{
+	QMenu * menu = guiApp->menus().menu(toqstr("context-toolbars"), * this);
+	menu->exec(QCursor::pos());
+}
+
+
 template<class T>
 Buffer::ExportStatus GuiView::GuiViewPrivate::runAndDestroy(const T& func,
 		Buffer const * orig, Buffer * clone, string const & format)
diff --git a/src/frontends/qt/GuiView.h b/src/frontends/qt/GuiView.h
index 1ad534a..d611b39 100644
--- a/src/frontends/qt/GuiView.h
+++ b/src/frontends/qt/GuiView.h
@@ -260,6 +260,9 @@ private Q_SLOTS:
 	void updateStatusBarMessage(QString const & str);
 	void clearMessageText();
 
+	///
+	void toolBarPopup(const QPoint &pos);
+
 private:
 	/// Open given child document in current buffer directory.
 	void openChildDocument(std::string const & filename);

commit f25253f89ac121b1981fe26f0b90af9e2bbbe849
Author: Daniel Ramoeller <d.lyx at web.de>
Date:   Tue Sep 15 08:04:16 2020 +0200

    Show toolbar context menu only when clicking on the toolbar
    
    Previsouly it was on the whole application window, except on disabled toolbar
    buttons.
    
    Fix for bug #11949

diff --git a/src/frontends/qt/GuiToolbar.cpp b/src/frontends/qt/GuiToolbar.cpp
index f58069b..e80dc48 100644
--- a/src/frontends/qt/GuiToolbar.cpp
+++ b/src/frontends/qt/GuiToolbar.cpp
@@ -34,6 +34,7 @@
 #include "LayoutBox.h"
 #include "LyX.h"
 #include "LyXRC.h"
+#include "Menus.h"
 #include "qt_helpers.h"
 #include "Session.h"
 #include "Text.h"
@@ -70,6 +71,9 @@ GuiToolbar::GuiToolbar(ToolbarInfo const & tbinfo, GuiView & owner)
 	setIconSize(owner.iconSize());
 	connect(&owner, SIGNAL(iconSizeChanged(QSize)), this,
 		SLOT(setIconSize(QSize)));
+	// install toolbar filter for context menu including disabled buttons
+	setContextMenuPolicy(Qt::PreventContextMenu);
+	QCoreApplication::instance()->installEventFilter(this);
 
 	// This is used by QMainWindow::restoreState for proper main window state
 	// restoration.
@@ -123,6 +127,24 @@ void GuiToolbar::showEvent(QShowEvent * ev)
 }
 
 
+bool GuiToolbar::eventFilter(QObject * obj, QEvent * ev)
+{
+	if (obj == this || obj->parent() == this) {
+		if (ev->type() == QEvent::ContextMenu) {
+			QMouseEvent* mouseEvent = static_cast<QMouseEvent*>(ev);
+			QMenu * menu = guiApp->menus().menu(toqstr("context-toolbars"), owner_);
+			menu->exec(mouseEvent->globalPos());
+			return true;
+		} else {
+			return false;
+		}
+	} else {
+		// pass the event on to the parent class
+		return QToolBar::eventFilter(obj, ev);
+	}
+}
+
+
 void GuiToolbar::setVisibility(int visibility)
 {
 	visibility_ = visibility;
diff --git a/src/frontends/qt/GuiToolbar.h b/src/frontends/qt/GuiToolbar.h
index eccd05a..bd4ef8f 100644
--- a/src/frontends/qt/GuiToolbar.h
+++ b/src/frontends/qt/GuiToolbar.h
@@ -177,6 +177,8 @@ private:
 	void fill();
 	///
 	void showEvent(QShowEvent *);
+	///
+	bool eventFilter(QObject * obj, QEvent * ev);
 
 	///
 	QList<Action *> actions_;
diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp
index 948deb9..7dd6dbb 100644
--- a/src/frontends/qt/GuiView.cpp
+++ b/src/frontends/qt/GuiView.cpp
@@ -677,11 +677,6 @@ GuiView::GuiView(int id)
 	connect(this, SIGNAL(triggerShowDialog(QString const &, QString const &, Inset *)),
 		SLOT(doShowDialog(QString const &, QString const &, Inset *)));
 
-	// set custom application bars context menu, e.g. tool bar and menu bar
-	setContextMenuPolicy(Qt::CustomContextMenu);
-	connect(this, SIGNAL(customContextMenuRequested(const QPoint &)),
-		SLOT(toolBarPopup(const QPoint &)));
-
 	// Forbid too small unresizable window because it can happen
 	// with some window manager under X11.
 	setMinimumSize(300, 200);
@@ -3788,13 +3783,6 @@ bool GuiView::goToFileRow(string const & argument)
 }
 
 
-void GuiView::toolBarPopup(const QPoint & /*pos*/)
-{
-	QMenu * menu = guiApp->menus().menu(toqstr("context-toolbars"), * this);
-	menu->exec(QCursor::pos());
-}
-
-
 template<class T>
 Buffer::ExportStatus GuiView::GuiViewPrivate::runAndDestroy(const T& func,
 		Buffer const * orig, Buffer * clone, string const & format)
diff --git a/src/frontends/qt/GuiView.h b/src/frontends/qt/GuiView.h
index d611b39..1ad534a 100644
--- a/src/frontends/qt/GuiView.h
+++ b/src/frontends/qt/GuiView.h
@@ -260,9 +260,6 @@ private Q_SLOTS:
 	void updateStatusBarMessage(QString const & str);
 	void clearMessageText();
 
-	///
-	void toolBarPopup(const QPoint &pos);
-
 private:
 	/// Open given child document in current buffer directory.
 	void openChildDocument(std::string const & filename);

commit 5542ccd3f9712797e4d90a9af8340a0a47687d43
Author: Scott Kostyshak <skostysh at lyx.org>
Date:   Tue Sep 15 18:00:31 2020 -0400

    ctests: invert 'wontfix' failing lyx2lyx tests
    
    We decided looking into it wasn't worth the time. Note that the
    tests are only about formats 2.0.x and 1.6.x. For discussion, see:
    
    https://www.mail-archive.com/search?l=mid&q=20200915233446.atwbyulny5gsbtyi%40tallinn

diff --git a/development/autotests/invertedTests b/development/autotests/invertedTests
index 46e5e6a..d414931 100644
--- a/development/autotests/invertedTests
+++ b/development/autotests/invertedTests
@@ -94,7 +94,7 @@ export/export/latex/languages/nested-inputenc_auto-legacy_pdf2
 
 # ================================================
 Sublabel: lyxbugs
-# LyX bugs with a Trac number.
+# LyX bugs with a Trac number or 'wontfix' ML thread.
 # ================================================
 
 # Dedicated tests in export/latex/lyxbugs start with the ticket number
@@ -160,6 +160,12 @@ export/doc/ar/UserGuide_lyx(22|23)
 export/export/lyx2lyx/11773-language-reversion-nesting-polyglossia_lyx2[23]
 export/examples/ko/Welcome_lyx2[23]
 
+# We decided not worth spending time to look into a fix
+# Warning: Malformed LyX document: Missing layout name on line 1876
+# https://www.mail-archive.com/search?l=mid&q=20200915233446.atwbyulny5gsbtyi%40tallinn
+export/examples/ru/Presentations/Beamer_lyx(16|20)
+
+
 # ==============================================================
 Sublabel: ert
 # Export failures due to "raw" LaTeX use in ERT or preamble code

commit ae37caacdd1b4aee796dbed2b6f749a8fd82a298
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date:   Mon Sep 14 16:26:19 2020 +0200

    Add method FontMetrics::italic()
    
    This can be useful for ticket #11428.

diff --git a/src/frontends/FontMetrics.h b/src/frontends/FontMetrics.h
index d1fae1c..0807a22 100644
--- a/src/frontends/FontMetrics.h
+++ b/src/frontends/FontMetrics.h
@@ -75,6 +75,8 @@ public:
 	/// return the distance from the base line to where the strike out line
 	/// should be drawn.
 	virtual int strikeoutPos() const = 0;
+	/// return true if font is not upright (italic or oblique)
+	virtual bool italic() const = 0;
 
 	/// return the width of the char in the font
 	virtual int width(char_type c) const = 0;
diff --git a/src/frontends/qt/GuiFontMetrics.cpp b/src/frontends/qt/GuiFontMetrics.cpp
index 4a09d97..ab8815d 100644
--- a/src/frontends/qt/GuiFontMetrics.cpp
+++ b/src/frontends/qt/GuiFontMetrics.cpp
@@ -161,6 +161,12 @@ int GuiFontMetrics::strikeoutPos() const
 }
 
 
+bool GuiFontMetrics::italic() const
+{
+	return font_.italic();
+}
+
+
 namespace {
 int const outOfLimitMetric = -10000;
 }
diff --git a/src/frontends/qt/GuiFontMetrics.h b/src/frontends/qt/GuiFontMetrics.h
index 4f0b307..d5847a1 100644
--- a/src/frontends/qt/GuiFontMetrics.h
+++ b/src/frontends/qt/GuiFontMetrics.h
@@ -42,6 +42,7 @@ public:
 	virtual int lineWidth() const;
 	virtual int underlinePos() const;
 	virtual int strikeoutPos() const;
+	virtual bool italic() const;
 	virtual int width(char_type c) const;
 	virtual int ascent(char_type c) const;
 	virtual int descent(char_type c) const;

commit b0db575dc1bcd08efb5b1289204326a3391de798
Author: Yuriy Skalko <yuriy.skalko at gmail.com>
Date:   Mon Aug 31 10:29:14 2020 +0300

    Show custom text styles in status bar
    
    Fixes bug #11951.

diff --git a/src/Text.cpp b/src/Text.cpp
index 575eea6..8f39183 100644
--- a/src/Text.cpp
+++ b/src/Text.cpp
@@ -1991,7 +1991,7 @@ bool Text::read(Lexer & lex,
 }
 
 
-// Returns the current font and depth as a message.
+// Returns the current state (font, depth etc.) as a message for status bar.
 docstring Text::currentState(CursorData const & cur, bool devel_mode) const
 {
 	LBUFERR(this == cur.text());
@@ -2021,7 +2021,7 @@ docstring Text::currentState(CursorData const & cur, bool devel_mode) const
 	os << bformat(_("Font: %1$s"), font.stateText(&buf.params()));
 
 	// The paragraph depth
-	int depth = cur.paragraph().getDepth();
+	int depth = par.getDepth();
 	if (depth > 0)
 		os << bformat(_(", Depth: %1$d"), depth);
 
@@ -2049,6 +2049,11 @@ docstring Text::currentState(CursorData const & cur, bool devel_mode) const
 		}
 	}
 
+	// Custom text style
+	InsetLayout const & layout = cur.inset().getLayout();
+	if (layout.lyxtype() == InsetLayout::CHARSTYLE)
+		os << _(", Style: ") << translateIfPossible(layout.labelstring());
+
 	if (devel_mode) {
 		os << _(", Inset: ") << &cur.inset();
 		if (cur.lastidx() > 0)

commit 06855a66ca2a88a23749a6d9354b6062793301d8
Author: Scott Kostyshak <skostysh at lyx.org>
Date:   Sun Sep 13 01:27:19 2020 -0400

    Fix ru Beamer_Article polyglossia exports
    
    Set fonts to DejaVu to avoid the following error:
    
      ! Package polyglossia Error: The current latin font  does not
      contain the "Cyrillic" script!
    
    This choice of font is consistent with the Russian intro and
    tutorial manuals.

diff --git a/lib/examples/ru/Presentations/Beamer_Article_%28Standard_Class%29.lyx b/lib/examples/ru/Presentations/Beamer_Article_%28Standard_Class%29.lyx
index d2c5db4..d5fff81 100644
--- a/lib/examples/ru/Presentations/Beamer_Article_%28Standard_Class%29.lyx
+++ b/lib/examples/ru/Presentations/Beamer_Article_%28Standard_Class%29.lyx
@@ -11,9 +11,9 @@
 \language_package default
 \inputencoding utf8
 \fontencoding auto
-\font_roman "default" "default"
-\font_sans "default" "default"
-\font_typewriter "default" "default"
+\font_roman "default" "DejaVu Serif"
+\font_sans "default" "DejaVu Sans"
+\font_typewriter "default" "DejaVu Sans Mono"
 \font_math "auto" "auto"
 \font_default_family default
 \use_non_tex_fonts false

commit 670da1817e30241d9aeb76660cf9518ff3bee071
Author: Scott Kostyshak <skostysh at lyx.org>
Date:   Sat Sep 12 19:29:01 2020 -0400

    Fix documentation for LFUN_LAYOUT
    
    The argument 'ignorenests' was renamed to 'ignoreautonests' at
    d6fb2abb.

diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp
index 3e1e023..23cc745 100644
--- a/src/LyXAction.cpp
+++ b/src/LyXAction.cpp
@@ -2386,9 +2386,9 @@ void LyXAction::init()
 /*!
  * \var lyx::FuncCode lyx::LFUN_LAYOUT
  * \li Action: Sets the layout (that is, environment) for the current paragraph.
- * \li Syntax: layout <LAYOUT> [ignorenests]
+ * \li Syntax: layout <LAYOUT> [ignoreautonests]
  * \li Params: <LAYOUT>: the layout to use\n
-               ignorenests: If specified, nesting advices will be ignored.
+               ignoreautonests: If specified, nesting advices will be ignored.
  * \endvar
  */
 		{ LFUN_LAYOUT, "layout", Noop, Layout },
@@ -2399,9 +2399,9 @@ void LyXAction::init()
  * \li Notion: Contrary to `layout', this function resets the current
  *             (or selection) layout to the standard layout it already has the
  *             correct layout. Useful for toolbar icons.
- * \li Syntax: layout-toggle <LAYOUT> [ignorenests]
+ * \li Syntax: layout-toggle <LAYOUT> [ignoreautonests]
  * \li Params: <LAYOUT>: the layout to toggle\n
-               ignorenests: If specified, nesting advices will be ignored.
+               ignoreautonests: If specified, nesting advices will be ignored.
  * \li Origin: lasgouttes, 14 May 2018
  * \endvar
  */

commit 320b6b66566978fb9c75de086b889f0d34c5cf87
Author: Stephan Witt <switt at lyx.org>
Date:   Sat Sep 12 14:34:56 2020 +0200

    #6401 correct cursor movement for word forward/backward with enabled Mac style (mac_like_cursor_movement)
    
    The change includes a rewrite of the cursor movement when „mac style“ is enabled and don’t change anything otherwise.
    The new code for mac uses the document iterator to go forward or backward. The traversal stops at word boundaries.
    If going forward the position increments until a word is reached (if not already inside) and stops at the end of the word.
    If going backward it does the same in opposite direction. The cursor jumps over non-editable insets and math.
    Editable (open) insets are entered and the cursor move detects word boundaries inside them.

diff --git a/src/Text.cpp b/src/Text.cpp
index 59bfbef..575eea6 100644
--- a/src/Text.cpp
+++ b/src/Text.cpp
@@ -1146,30 +1146,53 @@ bool Text::cursorForwardOneWord(Cursor & cur)
 {
 	LBUFERR(this == cur.text());
 
-	pos_type const lastpos = cur.lastpos();
-	pit_type pit = cur.pit();
-	pos_type pos = cur.pos();
-	Paragraph const & par = cur.paragraph();
-
-	// Paragraph boundary is a word boundary
-	if (pos == lastpos || (pos + 1 == lastpos && par.isEnvSeparator(pos))) {
-		if (pit != cur.lastpit())
-			return setCursor(cur, pit + 1, 0);
-		else
-			return false;
-	}
-
 	if (lyxrc.mac_like_cursor_movement) {
-		// Skip through trailing punctuation and spaces.
-		while (pos != lastpos && (par.isChar(pos) || par.isSpace(pos)))
-			++pos;
-
-		// Skip over either a non-char inset or a full word
-		if (pos != lastpos && par.isWordSeparator(pos))
-			++pos;
-		else while (pos != lastpos && !par.isWordSeparator(pos))
-			     ++pos;
+		DocIterator dit(cur);
+		DocIterator prv(cur);
+		bool inword = false;
+		bool intext = dit.inTexted();
+		while (!dit.atEnd()) {
+			if (dit.inTexted()) { // no paragraphs in mathed
+				Paragraph const & par = dit.paragraph();
+				pos_type const pos = dit.pos();
+
+				if (!par.isDeleted(pos)) {
+					bool wordsep = par.isWordSeparator(pos);
+					if (inword && wordsep)
+						break; // stop at word end
+					else if (!inword && !wordsep)
+						inword = true;
+				}
+				intext = true;
+			} else if (intext) {
+				// move to end of math
+				while (!dit.inTexted() && !dit.atEnd()) dit.forwardPos();
+				break;
+			}
+			prv = dit;
+			dit.forwardPosIgnoreCollapsed();
+		}
+		if (dit.atEnd()) dit = prv;
+		if (dit == cur) return false; // we didn't move
+		Cursor orig(cur);
+		cur.setCursor(dit);
+		// see comment above
+		cur.bv().checkDepm(cur, orig);
+		return true;
 	} else {
+		pos_type const lastpos = cur.lastpos();
+		pit_type pit = cur.pit();
+		pos_type pos = cur.pos();
+		Paragraph const & par = cur.paragraph();
+
+		// Paragraph boundary is a word boundary
+		if (pos == lastpos || (pos + 1 == lastpos && par.isEnvSeparator(pos))) {
+			if (pit != cur.lastpit())
+				return setCursor(cur, pit + 1, 0);
+			else
+				return false;
+		}
+
 		LASSERT(pos < lastpos, return false); // see above
 		if (!par.isWordSeparator(pos))
 			while (pos != lastpos && !par.isWordSeparator(pos))
@@ -1183,13 +1206,13 @@ bool Text::cursorForwardOneWord(Cursor & cur)
 		// Skip over white space
 		while (pos != lastpos && par.isSpace(pos))
 			     ++pos;
-	}
 
-	// Don't skip a separator inset at the end of a paragraph
-	if (pos == lastpos && pos && par.isEnvSeparator(pos - 1))
-		--pos;
+		// Don't skip a separator inset at the end of a paragraph
+		if (pos == lastpos && pos && par.isEnvSeparator(pos - 1))
+			--pos;
 
-	return setCursor(cur, pit, pos);
+		return setCursor(cur, pit, pos);
+	}
 }
 
 
@@ -1197,34 +1220,55 @@ bool Text::cursorBackwardOneWord(Cursor & cur)
 {
 	LBUFERR(this == cur.text());
 
-	pit_type pit = cur.pit();
-	pos_type pos = cur.pos();
-	Paragraph & par = cur.paragraph();
-
-	// Paragraph boundary is a word boundary
-	if (pos == 0 && pit != 0) {
-		Paragraph & prevpar = getPar(pit - 1);
-		pos = prevpar.size();
-		// Don't stop after an environment separator
-		if (pos && prevpar.isEnvSeparator(pos - 1))
-			--pos;
-		return setCursor(cur, pit - 1, pos);
-	}
-
 	if (lyxrc.mac_like_cursor_movement) {
-		// Skip through punctuation and spaces.
-		while (pos != 0 && (par.isChar(pos - 1) || par.isSpace(pos - 1)))
-			--pos;
-
-		// Skip over either a non-char inset or a full word
-		if (pos != 0 && par.isWordSeparator(pos - 1) && !par.isChar(pos - 1))
-			--pos;
-		else while (pos != 0 && !par.isWordSeparator(pos - 1))
-			     --pos;
+		DocIterator dit(cur);
+		bool inword = false;
+		bool intext = dit.inTexted();
+		while (!dit.atBegin()) {
+			DocIterator prv(dit);
+			dit.backwardPosIgnoreCollapsed();
+			if (dit.inTexted()) { // no paragraphs in mathed
+				Paragraph const & par = dit.paragraph();
+				pos_type pos = dit.pos();
+
+				if (!par.isDeleted(pos)) {
+					bool wordsep = par.isWordSeparator(pos);
+					if (inword && wordsep) {
+						dit = prv;
+						break; // stop at word begin
+					} else if (!inword && !wordsep)
+						inword = true;
+				}
+				intext = true;
+			} else if (intext) {
+				// move to begin of math
+				while (!dit.inTexted() && !dit.atBegin()) dit.backwardPos();
+				break;
+			}
+		}
+		if (dit == cur) return false; // we didn't move
+		Cursor orig(cur);
+		cur.setCursor(dit);
+		// see comment above cursorForwardOneWord
+		cur.bv().checkDepm(cur, orig);
+		return true;
 	} else {
+		Paragraph const & par = cur.paragraph();
+		pit_type const pit = cur.pit();
+		pos_type pos = cur.pos();
+
+		// Paragraph boundary is a word boundary
+		if (pos == 0 && pit != 0) {
+			Paragraph & prevpar = getPar(pit - 1);
+			pos = prevpar.size();
+			// Don't stop after an environment separator
+			if (pos && prevpar.isEnvSeparator(pos - 1))
+				--pos;
+			return setCursor(cur, pit - 1, pos);
+		}
 		// Skip over white space
 		while (pos != 0 && par.isSpace(pos - 1))
-			     --pos;
+			--pos;
 
 		if (pos != 0 && !par.isWordSeparator(pos - 1))
 			while (pos != 0 && !par.isWordSeparator(pos - 1))
@@ -1234,9 +1278,9 @@ bool Text::cursorBackwardOneWord(Cursor & cur)
 				--pos;
 		else if (pos != 0 && !par.isSpace(pos - 1)) // non-char inset
 			--pos;
-	}
 
-	return setCursor(cur, pit, pos);
+		return setCursor(cur, pit, pos);
+	}
 }
 
 

commit b4f3963ab2ba0baecfda9d043eda02569ba7c21f
Author: Scott Kostyshak <skostysh at lyx.org>
Date:   Fri Sep 11 14:06:33 2020 -0400

    Uninvert two Hebrew pdf5 systemF tests
    
    These exports now pass, and the output looks reasonable to me
    (although I do not know Hebrew). I believe they work now because of
    Jürgen's fixes at a7ad0747 and d7b64b8e.

diff --git a/development/autotests/invertedTests b/development/autotests/invertedTests
index 0b39ecd..46e5e6a 100644
--- a/development/autotests/invertedTests
+++ b/development/autotests/invertedTests
@@ -80,7 +80,6 @@ export/doc/ja/(Formula-numbering|Customization|EmbeddedObjects|Intro)_pdf4_syste
 export/examples/ja/Graphics_and_Insets/XY-Pic.*_systemF
 
 # Does this still fail in TL19? What is the error?
-export/doc/he/.*pdf5_systemF
 export/.*/fa/Welcome_(dvi3|pdf5)_systemF
 export/.*/fa/Welcome_(dvi3|pdf5)_systemF
 

commit fb7b7e5223bc0a03e5b4a89b15f1be0bc0d05385
Author: Yuriy Skalko <yuriy.skalko at gmail.com>
Date:   Fri Sep 11 00:22:55 2020 +0300

    Refactor runCommand

diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index 9de281d..82fd089 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -1357,7 +1357,7 @@ Buffer::ReadStatus Buffer::convertLyXFormat(FileName const & fn,
 	LYXERR(Debug::INFO, "Running '" << command_str << '\'');
 
 	cmd_ret const ret = runCommand(command_str);
-	if (ret.first != 0) {
+	if (!ret.valid) {
 		if (from_format < LYX_FORMAT) {
 			Alert::error(_("Conversion script failed"),
 				bformat(_("%1$s is from an older version"
diff --git a/src/TextClass.cpp b/src/TextClass.cpp
index eb92612..4cc5eba 100644
--- a/src/TextClass.cpp
+++ b/src/TextClass.cpp
@@ -92,7 +92,7 @@ bool layout2layout(FileName const & filename, FileName const & tempfile,
 	LYXERR(Debug::TCLASS, "Running `" << command_str << '\'');
 
 	cmd_ret const ret = runCommand(command_str);
-	if (ret.first != 0) {
+	if (!ret.valid) {
 		if (format == LAYOUT_FORMAT)
 			LYXERR0("Conversion of layout with layout2layout.py has failed.");
 		return false;
diff --git a/src/mathed/MathExtern.cpp b/src/mathed/MathExtern.cpp
index 311b323..18340e1 100644
--- a/src/mathed/MathExtern.cpp
+++ b/src/mathed/MathExtern.cpp
@@ -1026,7 +1026,7 @@ namespace {
 		       << "\ninput: '" << data << "'" << endl;
 		cmd_ret const ret = runCommand(command);
 		cas_tmpfile.removeFile();
-		return ret.second;
+		return ret.result;
 	}
 
 	size_t get_matching_brace(string const & str, size_t i)
diff --git a/src/support/filetools.cpp b/src/support/filetools.cpp
index d6b2785..151d78c 100644
--- a/src/support/filetools.cpp
+++ b/src/support/filetools.cpp
@@ -1095,38 +1095,40 @@ cmd_ret const runCommand(string const & cmd)
 	// (Claus Hentschel) Check if popen was successful ;-)
 	if (!inf) {
 		lyxerr << "RunCommand:: could not start child process" << endl;
-		return make_pair(-1, string());
+		return { false, string() };
 	}
 
-	string ret;
+	string result;
 	int c = fgetc(inf);
 	while (c != EOF) {
-		ret += static_cast<char>(c);
+		result += static_cast<char>(c);
 		c = fgetc(inf);
 	}
 
 #if defined (_WIN32)
 	WaitForSingleObject(process.hProcess, INFINITE);
 	DWORD pret;
-	if (!GetExitCodeProcess(process.hProcess, &pret))
-		pret = -1;
+	BOOL success = GetExitCodeProcess(process.hProcess, &pret);
+	bool valid = (pret == 0) && success;
 	if (!infile.empty())
 		CloseHandle(startup.hStdInput);
 	CloseHandle(process.hProcess);
 	if (fclose(inf) != 0)
-		pret = -1;
+		valid = false;
 #elif defined (HAVE_PCLOSE)
 	int const pret = pclose(inf);
+	bool const valid = (pret != -1);
 #elif defined (HAVE__PCLOSE)
 	int const pret = _pclose(inf);
+	bool const valid = (pret != -1);
 #else
 #error No pclose() function.
 #endif
 
-	if (pret == -1)
+	if (!valid)
 		perror("RunCommand:: could not terminate child process");
 
-	return make_pair(pret, ret);
+	return { valid, result };
 }
 
 
@@ -1174,10 +1176,10 @@ FileName const findtexfile(string const & fil, string const & /*format*/,
 
 	cmd_ret const c = runCommand(kpsecmd);
 
-	LYXERR(Debug::LATEX, "kpse status = " << c.first << '\n'
-		 << "kpse result = `" << rtrim(c.second, "\n\r") << '\'');
-	if (c.first != -1)
-		return FileName(rtrim(to_utf8(from_filesystem8bit(c.second)), "\n\r"));
+	LYXERR(Debug::LATEX, "kpse status = " << c.valid << '\n'
+		 << "kpse result = `" << rtrim(c.result, "\n\r") << '\'');
+	if (c.valid)
+		return FileName(rtrim(to_utf8(from_filesystem8bit(c.result)), "\n\r"));
 	else
 		return FileName();
 }
@@ -1223,7 +1225,7 @@ bool prefs2prefs(FileName const & filename, FileName const & tempfile, bool lfun
 	LYXERR(Debug::FILES, "Running `" << command_str << '\'');
 
 	cmd_ret const ret = runCommand(command_str);
-	if (ret.first != 0) {
+	if (!ret.valid) {
 		LYXERR0("Could not run file conversion script prefs2prefs.py.");
 		return false;
 	}
diff --git a/src/support/filetools.h b/src/support/filetools.h
index b0f5f7f..e66af99 100644
--- a/src/support/filetools.h
+++ b/src/support/filetools.h
@@ -328,7 +328,10 @@ bool prefs2prefs(FileName const & filename, FileName const & tempfile,
 /// Does file \p file need to be updated by configure.py?
 bool configFileNeedsUpdate(std::string const & file);
 
-typedef std::pair<int, std::string> cmd_ret;
+struct cmd_ret {
+	bool valid;
+	std::string result;
+};
 
 cmd_ret const runCommand(std::string const & cmd);
 
diff --git a/src/support/os.cpp b/src/support/os.cpp
index 616b9c6..3a5c2e5 100644
--- a/src/support/os.cpp
+++ b/src/support/os.cpp
@@ -65,7 +65,7 @@ static string const python23_call(string const & binary, bool verbose = false)
 	smatch sm;
 	try {
 		static regex const python_reg("\\((\\d*), (\\d*)\\)");
-		if (out.first < 0 || !regex_match(out.second, sm, python_reg))
+		if (!out.valid || !regex_match(out.result, sm, python_reg))
 			return string();
 	} catch(regex_error const & /*e*/) {
 		LYXERR0("Regex error! This should not happen.");
@@ -78,7 +78,7 @@ static string const python23_call(string const & binary, bool verbose = false)
 		return string();
 
 	if (verbose)
-		lyxerr << "Found Python " << out.second << "\n";
+		lyxerr << "Found Python " << out.result << "\n";
 	// Add the -tt switch so that mixed tab/whitespace
 	// indentation is an error
 	return binary + " -tt";
diff --git a/src/support/os_win32.cpp b/src/support/os_win32.cpp
index e4f9ebd..536d2a6 100644
--- a/src/support/os_win32.cpp
+++ b/src/support/os_win32.cpp
@@ -229,8 +229,8 @@ void init(int argc, char ** argv[])
 			// to the outer split which sets cygdrive with its
 			// contents until the first blank, discarding the
 			// unneeded return value.
-			if (p.first != -1 && prefixIs(p.second, "Prefix"))
-				split(split(p.second, '\n'), cygdrive, ' ');
+			if (p.valid && prefixIs(p.result, "Prefix"))
+				split(split(p.result, '\n'), cygdrive, ' ');
 		}
 	}
 

commit c1f8c6c26d5480556db1500160d1df6ce79a724f
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date:   Mon Sep 7 15:45:30 2020 +0200

    Fixup 5202d44e: make caret geometry update lazy
    
    Instead of working around crashes in update of caret geometry, only
    request it as needed. The actual computation will take place just
    before painting the caret.
    
    It might be that this is overkill and that caret geometry should be
    updated unconditionally. One would have to to some timing while idle to
    ascertain that.
    
    Fixes bug #11912.

diff --git a/src/frontends/qt/GuiWorkArea.cpp b/src/frontends/qt/GuiWorkArea.cpp
index dd9d1fd..f323fbc 100644
--- a/src/frontends/qt/GuiWorkArea.cpp
+++ b/src/frontends/qt/GuiWorkArea.cpp
@@ -243,7 +243,7 @@ GuiWorkArea::Private::Private(GuiWorkArea * parent)
   caret_visible_(false), need_resize_(false), preedit_lines_(1),
   last_pixel_ratio_(1.0), completer_(new GuiCompleter(p, p)),
   dialog_mode_(false), shell_escape_(false), read_only_(false),
-  clean_(true), externally_modified_(false)
+  clean_(true), externally_modified_(false), needs_caret_geometry_update_(true)
 {
 /* Qt on macOS and Wayland does not respect the
  * Qt::WA_OpaquePaintEvent attribute and resets the widget backing
@@ -487,7 +487,7 @@ void GuiWorkArea::scheduleRedraw(bool update_metrics)
 
 	// update caret position, because otherwise it has to wait until
 	// the blinking interval is over
-	d->updateCaretGeometry();
+	d->resetCaret();
 
 	LYXERR(Debug::WORKAREA, "WorkArea::redraw screen");
 	viewport()->update();
@@ -587,7 +587,7 @@ void GuiWorkArea::Private::resizeBufferView()
 	buffer_view_->resize(p->viewport()->width(), p->viewport()->height());
 	if (caret_in_view)
 		buffer_view_->scrollToCursor();
-	updateCaretGeometry();
+	resetCaret();
 
 	// Update scrollbars which might have changed due different
 	// BufferView dimension. This is especially important when the
@@ -605,6 +605,17 @@ void GuiWorkArea::Private::resizeBufferView()
 }
 
 
+void GuiWorkArea::Private::resetCaret()
+{
+	// Don't start blinking if the cursor isn't on screen.
+	if (!buffer_view_->caretInView())
+		return;
+
+	needs_caret_geometry_update_ = true;
+	caret_visible_ = true;
+}
+
+
 void GuiWorkArea::Private::updateCaretGeometry()
 {
 	// we cannot update geometry if not ready and we do not need to if
@@ -637,18 +648,19 @@ void GuiWorkArea::Private::updateCaretGeometry()
 		&& completer_->completionAvailable()
 		&& !completer_->popupVisible()
 		&& !completer_->inlineVisible();
-	caret_visible_ = true;
 
 	caret_->update(point.x_, point.y_, h, l_shape, isrtl, completable);
+	needs_caret_geometry_update_ = false;
 }
 
 
+
 void GuiWorkArea::Private::showCaret()
 {
 	if (caret_visible_)
 		return;
 
-	updateCaretGeometry();
+	resetCaret();
 	p->viewport()->update();
 }
 
@@ -1359,8 +1371,14 @@ void GuiWorkArea::paintEvent(QPaintEvent * ev)
 	d->paintPreeditText(pain);
 
 	// and the caret
-	if (d->caret_visible_)
+	// FIXME: the code would be a little bit simpler if caret geometry
+	// was updated unconditionally. Some profiling is required to see
+	// how expensive this is (especially when idle).
+	if (d->caret_visible_) {
+		if (d->needs_caret_geometry_update_)
+			d->updateCaretGeometry();
 		d->caret_->draw(pain, d->buffer_view_->horizScrollOffset());
+	}
 
 	d->updateScreen(ev->rect());
 
diff --git a/src/frontends/qt/GuiWorkArea_Private.h b/src/frontends/qt/GuiWorkArea_Private.h
index 6342eab..3913016 100644
--- a/src/frontends/qt/GuiWorkArea_Private.h
+++ b/src/frontends/qt/GuiWorkArea_Private.h
@@ -85,6 +85,8 @@ struct GuiWorkArea::Private
 
 	///
 	void dispatch(FuncRequest const & cmd0);
+	/// Make caret visible and signal that its geometry needs to be updated
+	void resetCaret();
 	/// recompute the shape and position of the caret
 	void updateCaretGeometry();
 	/// show the caret if it is not visible
@@ -169,6 +171,8 @@ struct GuiWorkArea::Private
 	bool clean_;
 	///
 	bool externally_modified_;
+	///
+	bool needs_caret_geometry_update_;
 
 }; // GuiWorkArea
 

commit 6a5f1f380e5e988367fdb0ffa86e5177ff88e3ff
Author: Scott Kostyshak <skostysh at lyx.org>
Date:   Fri Sep 11 00:51:10 2020 -0400

    ru Beamer: make absolute path relative

diff --git a/lib/examples/ru/Presentations/Beamer.lyx b/lib/examples/ru/Presentations/Beamer.lyx
index 3a8acc3..d91272e 100644
--- a/lib/examples/ru/Presentations/Beamer.lyx
+++ b/lib/examples/ru/Presentations/Beamer.lyx
@@ -124,7 +124,7 @@ status collapsed
 
 \begin_layout TitleGraphic
 \begin_inset Graphics
-	filename C:/Program Files (x86)/LyX 2.3/Resources/doc/clipart/3D-structure-distort.pdf
+	filename ../../../doc/clipart/3D-structure-distort.pdf
 	lyxscale 30
 	scale 10
 

-----------------------------------------------------------------------

Summary of changes:
 development/autotests/invertedTests                |    9 +-
 lib/Makefile.am                                    |    8 +-
 lib/configure.py                                   |    2 +-
 lib/doc/UserGuide.lyx                              |  160 +-
 lib/doc/ru/UserGuide.lyx                           |  364 +-
 lib/examples/ru/Presentations/Beamer.lyx           |   34 +-
 .../Beamer_Article_%28Standard_Class%29.lyx        |    8 +-
 lib/kbd/{bg-bds-1251.kmap => bulgarian.kmap}       |    2 +-
 lib/kbd/{koi8-r.kmap => russian.kmap}              |   33 +-
 lib/kbd/{koi8-u.kmap => ukrainian.kmap}            |    2 +-
 lib/lyx2lyx/lyx_2_4.py                             |   30 +-
 lib/scripts/prefs2prefs_prefs.py                   |   15 +-
 lib/ui/stdtoolbars.inc                             |    2 +-
 po/de.po                                           |  377 +-
 po/lyx_pot.py                                      |    4 +-
 po/ru.po                                           |28520 ++++++++++----------
 src/Buffer.cpp                                     |    2 +-
 src/LyXAction.cpp                                  |    8 +-
 src/LyXRC.cpp                                      |    2 +-
 src/Text.cpp                                       |  159 +-
 src/TextClass.cpp                                  |    2 +-
 src/frontends/FontMetrics.h                        |    2 +
 src/frontends/qt/GuiFontMetrics.cpp                |    6 +
 src/frontends/qt/GuiFontMetrics.h                  |    1 +
 src/frontends/qt/GuiWorkArea.cpp                   |   94 +-
 src/frontends/qt/GuiWorkArea_Private.h             |    4 +
 src/mathed/MathExtern.cpp                          |    2 +-
 src/support/filetools.cpp                          |   28 +-
 src/support/filetools.h                            |    5 +-
 src/support/os.cpp                                 |    4 +-
 src/support/os_win32.cpp                           |    4 +-
 31 files changed, 15024 insertions(+), 14869 deletions(-)
 rename lib/kbd/{bg-bds-1251.kmap => bulgarian.kmap} (95%)
 rename lib/kbd/{koi8-r.kmap => russian.kmap} (71%)
 rename lib/kbd/{koi8-u.kmap => ukrainian.kmap} (96%)


hooks/post-receive
-- 
Repository for new features


More information about the lyx-cvs mailing list