[LyX features/features/indexmacros] Merge branch 'master' into features/indexmacros
Juergen Spitzmueller
spitz at lyx.org
Tue Apr 19 10:26:40 UTC 2022
The branch, features/indexmacros, has been created.
at 5093e39170f16fa685208f5ef1f9a6584f69c5dd (commit)
- Log -----------------------------------------------------------------
commit 5093e39170f16fa685208f5ef1f9a6584f69c5dd
Merge: 7d7b21e 50403c4
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Tue Apr 19 11:54:11 2022 +0200
Merge branch 'master' into features/indexmacros
commit 7d7b21ec3e60f0186929016d89a0dfeb4ad8c60f
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Tue Apr 19 11:46:08 2022 +0200
Introduce InsetIndexMacros
This adds native macros for subindexes (!level), |see and |seealso
as well as native support for ranges |( |) and pagination format
-- e.g., |textbf -- via the index dialog
Resolves #12478, #7232 and #5014
The feature is complete (incl. tex2lyx) except for
* file format change and lyx2lyx
* docbook/xhtml
* documentation
diff --git a/lib/layouts/stdinsets.inc b/lib/layouts/stdinsets.inc
index 074b274..4063c63 100644
--- a/lib/layouts/stdinsets.inc
+++ b/lib/layouts/stdinsets.inc
@@ -431,6 +431,36 @@ InsetLayout Index
PassThruChars @|!
End
+InsetLayout IndexMacro:see
+ LabelString See
+ Decoration classic
+ Font
+ Size Small
+ EndFont
+ LabelFont
+ Color indexlabel
+ Size Small
+ EndFont
+ MultiPar false
+ CustomPars false
+ ForcePlain true
+End
+
+InsetLayout IndexMacro:seealso
+ CopyStyle IndexMacro:see
+ LabelString "See also"
+End
+
+InsetLayout IndexMacro:sortkey
+ CopyStyle IndexMacro:see
+ LabelString "Sort as"
+End
+
+InsetLayout IndexMacro:subindex
+ CopyStyle IndexMacro:see
+ LabelString "Subindex"
+End
+
InsetLayout Box
LabelFont
Color foreground
diff --git a/lib/ui/stdcontext.inc b/lib/ui/stdcontext.inc
index ed9a9da..5929dbf 100644
--- a/lib/ui/stdcontext.inc
+++ b/lib/ui/stdcontext.inc
@@ -631,6 +631,23 @@ Menuset
Menu "context-index"
IndicesContext
End
+
+ Menu "context-edit-index"
+ OptItem "Insert Subentry|b" "indexmacro-insert subindex"
+ OptItem "Insert Sortkey|k" "indexmacro-insert sortkey"
+ OptItem "Insert See Reference|e" "indexmacro-insert see"
+ OptItem "Insert See also Reference|a" "indexmacro-insert seealso"
+ End
+
+#
+# IndexMacro context menu
+#
+
+ Menu "context-indexmacro"
+ OptItem "See|e" "inset-modify changetype see"
+ OptItem "See also|a" "inset-modify changetype seealso"
+ End
+
#
# Index Lists context menu
diff --git a/lib/ui/stdmenus.inc b/lib/ui/stdmenus.inc
index ec5c5c0..2954b39 100644
--- a/lib/ui/stdmenus.inc
+++ b/lib/ui/stdmenus.inc
@@ -391,6 +391,7 @@ Menuset
Item "Label...|L" "label-insert"
Captions
Indices
+ OptSubmenu "Index Properties" "index_properties"
Item "Nomenclature Entry...|y" "nomencl-insert"
Separator
Item "Table...|T" "tabular-insert"
@@ -532,6 +533,13 @@ Menuset
Item "Double Frame|u" "box-insert Doublebox"
End
+ Menu "index_properties"
+ OptItem "Subentry|b" "indexmacro-insert subindex"
+ OptItem "Sortkey|k" "indexmacro-insert sortkey"
+ OptItem "See|e" "indexmacro-insert see"
+ OptItem "See also|a" "indexmacro-insert seealso"
+ End
+
Menu "insert_note"
Item "LyX Note|N" "note-insert Note"
Item "Comment|C" "note-insert Comment"
diff --git a/src/FuncCode.h b/src/FuncCode.h
index 8337c1f..6d7ed85 100644
--- a/src/FuncCode.h
+++ b/src/FuncCode.h
@@ -503,6 +503,8 @@ enum FuncCode
LFUN_FINISHED_DOWN, // lasgouttes 20210629
LFUN_FINISHED_UP, // lasgouttes 20210629
LFUN_BRANCH_SYNC_ALL, // sanda 20220415
+ LFUN_INDEXMACRO_INSERT, // spitz 20220220
+ // 395
LFUN_LASTACTION // end of the table
};
diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp
index 559d950..399b3c0 100644
--- a/src/LyXAction.cpp
+++ b/src/LyXAction.cpp
@@ -2323,6 +2323,16 @@ void LyXAction::init()
*/
{ LFUN_IN_MATHMACROTEMPLATE, "in-mathmacrotemplate", Noop, Math },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INDEXMACRO_INSERT
+ * \li Action: Inserts special Index macros into the document.
+ * \li Syntax: indexmacro-insert <type>
+ * \li Params: <type>: see, seealso, subindex, sortkey.
+ * \li Origin: spitz, 20 Feb 2022
+ * \endvar
+ */
+ { LFUN_INDEXMACRO_INSERT, "indexmacro-insert", Noop, Edit },
+
/*!
* \var lyx::FuncCode lyx::LFUN_IPAMACRO_INSERT
diff --git a/src/Makefile.am b/src/Makefile.am
index 99a0f98..9a642d8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -565,6 +565,7 @@ SOURCEFILESINSETS = \
insets/InsetHyperlink.cpp \
insets/InsetInclude.cpp \
insets/InsetIndex.cpp \
+ insets/InsetIndexMacro.cpp \
insets/InsetInfo.cpp \
insets/InsetIPA.cpp \
insets/InsetIPAMacro.cpp \
diff --git a/src/Text3.cpp b/src/Text3.cpp
index 185008b..bacc808 100644
--- a/src/Text3.cpp
+++ b/src/Text3.cpp
@@ -58,6 +58,7 @@
#include "insets/InsetGraphics.h"
#include "insets/InsetGraphicsParams.h"
#include "insets/InsetInfo.h"
+#include "insets/InsetIndexMacro.h"
#include "insets/InsetIPAMacro.h"
#include "insets/InsetNewline.h"
#include "insets/InsetQuotes.h"
@@ -2107,6 +2108,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
case LFUN_BRANCH_INSERT:
case LFUN_PHANTOM_INSERT:
case LFUN_ERT_INSERT:
+ case LFUN_INDEXMACRO_INSERT:
case LFUN_LISTING_INSERT:
case LFUN_MARGINALNOTE_INSERT:
case LFUN_ARGUMENT_INSERT:
@@ -3285,6 +3287,14 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
}
code = HYPERLINK_CODE;
break;
+ case LFUN_INDEXMACRO_INSERT: {
+ string const arg = cmd.getArg(0);
+ if (arg == "sortkey")
+ code = INDEXMACRO_SORTKEY_CODE;
+ else
+ code = INDEXMACRO_CODE;
+ break;
+ }
case LFUN_IPAMACRO_INSERT: {
string const arg = cmd.getArg(0);
if (arg == "deco")
diff --git a/src/factory.cpp b/src/factory.cpp
index 6f17797..4ab74da 100644
--- a/src/factory.cpp
+++ b/src/factory.cpp
@@ -34,6 +34,7 @@
#include "insets/InsetHyperlink.h"
#include "insets/InsetInclude.h"
#include "insets/InsetIndex.h"
+#include "insets/InsetIndexMacro.cpp"
#include "insets/InsetInfo.h"
#include "insets/InsetIPA.h"
#include "insets/InsetIPAMacro.h"
@@ -159,6 +160,16 @@ Inset * createInsetHelper(Buffer * buf, FuncRequest const & cmd)
return new InsetIPADeco(buf, arg2);
}
+ case LFUN_INDEXMACRO_INSERT: {
+ string const arg = cmd.getArg(0);
+ if (arg != "see" && arg != "seealso"
+ && arg != "subindex" && arg != "sortkey") {
+ LYXERR0("LFUN_IPAMACRO_INSERT: wrong argument");
+ return nullptr;
+ }
+ return new InsetIndexMacro(buf, arg);
+ }
+
case LFUN_ERT_INSERT:
return new InsetERT(buf);
@@ -667,6 +678,9 @@ Inset * readInset(Lexer & lex, Buffer * buf)
inset.reset(new InsetCaption(buf, s));
} else if (tmptok == "Index") {
inset.reset(new InsetIndex(buf, InsetIndexParams()));
+ } else if (tmptok == "IndexMacro") {
+ string s = lex.getString();
+ inset.reset(new InsetIndexMacro(buf, s));
} else if (tmptok == "FloatList") {
inset.reset(new InsetFloatList(buf));
} else if (tmptok == "Info") {
diff --git a/src/frontends/qt/GuiIndex.cpp b/src/frontends/qt/GuiIndex.cpp
index 6264d6a..5e14580 100644
--- a/src/frontends/qt/GuiIndex.cpp
+++ b/src/frontends/qt/GuiIndex.cpp
@@ -20,6 +20,7 @@
#include "BufferParams.h"
#include "FuncRequest.h"
#include "IndicesList.h"
+#include "insets/InsetIndex.h"
#include <QPushButton>
@@ -37,6 +38,18 @@ GuiIndex::GuiIndex(GuiView & lv)
this, SLOT(slotButtonBox(QAbstractButton *)));
connect(indicesCO, SIGNAL(activated(int)), this, SLOT(change_adaptor()));
+ rangeCO->addItem(qt_("None"), InsetIndexParams::None);
+ rangeCO->addItem(qt_("Start"), InsetIndexParams::Start);
+ rangeCO->addItem(qt_("End"), InsetIndexParams::End);
+ connect(rangeCO, SIGNAL(activated(int)), this, SLOT(change_adaptor()));
+
+ pageFormatCO->addItem(qt_("Default"), toqstr("default"));
+ pageFormatCO->addItem(qt_("Bold"), toqstr("textbf"));
+ pageFormatCO->addItem(qt_("Italic"), toqstr("textit"));
+ pageFormatCO->addItem(qt_("Emphasized"), toqstr("emph"));
+ pageFormatCO->addItem(qt_("Custom"), toqstr("custom"));
+ connect(pageFormatCO, SIGNAL(activated(int)), this, SLOT(pageFormatChanged(int)));
+
bc().setPolicy(ButtonPolicy::NoRepeatedApplyReadOnlyPolicy);
bc().setOK(buttonBox->button(QDialogButtonBox::Ok));
bc().setCancel(buttonBox->button(QDialogButtonBox::Cancel));
@@ -49,11 +62,26 @@ void GuiIndex::change_adaptor()
}
+void GuiIndex::pageFormatChanged(int i)
+{
+ QString const pf = pageFormatCO->itemData(i).toString();
+ pageFormatLE->setEnabled(pf == "custom");
+ change_adaptor();
+}
+
+
void GuiIndex::updateContents()
{
typedef IndicesList::const_iterator const_iterator;
- IndicesList const & indiceslist = buffer().params().indiceslist();
+ BufferParams const & bp = buffer().masterBuffer()->params();
+ indicesGB->setEnabled(bp.use_indices);
+
+ QString const pf = pageFormatCO->itemData(
+ pageFormatCO->currentIndex()).toString();
+ pageFormatLE->setEnabled(pf == "custom");
+
+ IndicesList const & indiceslist = bp.indiceslist();
docstring const cur_index = params_.index;
indicesCO->clear();
@@ -64,8 +92,19 @@ void GuiIndex::updateContents()
indicesCO->addItem(toqstr(it->index()),
QVariant(toqstr(it->shortcut())));
- int const pos = indicesCO->findData(toqstr(cur_index));
+ int pos = indicesCO->findData(toqstr(cur_index));
indicesCO->setCurrentIndex(pos);
+
+ pos = pageFormatCO->findData(toqstr(params_.pagefmt));
+ if (pos == -1) {
+ pos = pageFormatCO->findData("custom");
+ pageFormatLE->setText(toqstr(params_.pagefmt));
+ } else
+ pageFormatLE->clear();
+ pageFormatCO->setCurrentIndex(pos);
+
+ pos = rangeCO->findData(params_.range);
+ rangeCO->setCurrentIndex(pos);
}
@@ -73,7 +112,15 @@ void GuiIndex::applyView()
{
QString const index = indicesCO->itemData(
indicesCO->currentIndex()).toString();
+ int const range = rangeCO->itemData(
+ rangeCO->currentIndex()).toInt();
+ QString const pagefmt = pageFormatCO->itemData(
+ pageFormatCO->currentIndex()).toString();
params_.index = qstring_to_ucs4(index);
+ params_.range = InsetIndexParams::PageRange(range);
+ params_.pagefmt = (pagefmt == "custom")
+ ? fromqstr(pageFormatLE->text())
+ : fromqstr(pagefmt);
}
diff --git a/src/frontends/qt/GuiIndex.h b/src/frontends/qt/GuiIndex.h
index bb99a22..0644644 100644
--- a/src/frontends/qt/GuiIndex.h
+++ b/src/frontends/qt/GuiIndex.h
@@ -31,6 +31,7 @@ public:
private Q_SLOTS:
void change_adaptor();
+ void pageFormatChanged(int);
private:
/// Apply changes
diff --git a/src/frontends/qt/ui/IndexUi.ui b/src/frontends/qt/ui/IndexUi.ui
index 95c2a71..a314489 100644
--- a/src/frontends/qt/ui/IndexUi.ui
+++ b/src/frontends/qt/ui/IndexUi.ui
@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>262</width>
- <height>121</height>
+ <width>384</width>
+ <height>288</height>
</rect>
</property>
<property name="windowTitle">
@@ -16,50 +16,119 @@
<property name="sizeGripEnabled">
<bool>true</bool>
</property>
- <layout class="QGridLayout" name="gridLayout">
+ <layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
- <layout class="QVBoxLayout">
- <property name="spacing">
- <number>6</number>
+ <widget class="QGroupBox" name="indicesGB">
+ <property name="title">
+ <string>Available I&ndexes</string>
</property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="indicesLA">
- <property name="text">
- <string>Available I&ndexes:</string>
- </property>
- <property name="buddy">
- <cstring>indicesCO</cstring>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="indicesCO">
- <property name="toolTip">
- <string>Select the index this entry should be listed in.</string>
- </property>
- </widget>
- </item>
- </layout>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QComboBox" name="indicesCO">
+ <property name="toolTip">
+ <string>Select the index this entry should be listed in.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
</item>
<item row="1" column="0">
+ <widget class="QGroupBox" name="paginationGB">
+ <property name="title">
+ <string>&Pagination</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="rangeLA">
+ <property name="text">
+ <string>Page &Range:</string>
+ </property>
+ <property name="buddy">
+ <cstring>rangeCO</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="rangeCO">
+ <property name="toolTip">
+ <string>If the entry spans multiple pages, you can start or end the range here</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>112</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="pageFormatLA">
+ <property name="text">
+ <string>&Format:</string>
+ </property>
+ <property name="buddy">
+ <cstring>pageFormatCO</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="pageFormatCO">
+ <property name="toolTip">
+ <string>Customize the format of the page number here. Note that the format is not used with "See" and "See also" references.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLineEdit" name="pageFormatLE">
+ <property name="toolTip">
+ <string>Enter custom command here (without leading backslash).</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="3" column="0">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
+ <item row="2" column="0">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
</layout>
</widget>
<tabstops>
diff --git a/src/insets/InsetCode.h b/src/insets/InsetCode.h
index 43ed4b5..0b60ebf 100644
--- a/src/insets/InsetCode.h
+++ b/src/insets/InsetCode.h
@@ -239,6 +239,10 @@ enum InsetCode {
///
COUNTER_CODE,
///
+ INDEXMACRO_CODE, // 110
+ ///
+ INDEXMACRO_SORTKEY_CODE,
+ ///
INSET_CODE_SIZE
};
diff --git a/src/insets/InsetIndex.cpp b/src/insets/InsetIndex.cpp
index 8622263..8b69b6f 100644
--- a/src/insets/InsetIndex.cpp
+++ b/src/insets/InsetIndex.cpp
@@ -11,6 +11,7 @@
#include <config.h>
#include "InsetIndex.h"
+#include "InsetIndexMacro.h"
#include "Buffer.h"
#include "BufferParams.h"
@@ -19,10 +20,13 @@
#include "Cursor.h"
#include "DispatchResult.h"
#include "Encoding.h"
+#include "ErrorList.h"
#include "FuncRequest.h"
#include "FuncStatus.h"
#include "IndicesList.h"
+#include "InsetList.h"
#include "Language.h"
+#include "LaTeX.h"
#include "LaTeXFeatures.h"
#include "Lexer.h"
#include "output_latex.h"
@@ -37,6 +41,7 @@
#include "support/FileName.h"
#include "support/gettext.h"
#include "support/lstrings.h"
+#include "support/Translator.h"
#include "frontends/alert.h"
@@ -51,6 +56,62 @@ using namespace lyx::support;
namespace lyx {
+namespace {
+
+typedef Translator<string, InsetIndexParams::PageRange> PageRangeTranslator;
+typedef Translator<docstring, InsetIndexParams::PageRange> PageRangeTranslatorLoc;
+
+PageRangeTranslator const init_insetindexpagerangetranslator()
+{
+ PageRangeTranslator translator("none", InsetIndexParams::None);
+ translator.addPair("start", InsetIndexParams::Start);
+ translator.addPair("end", InsetIndexParams::End);
+ return translator;
+}
+
+PageRangeTranslator const init_insetindexpagerangetranslator_latex()
+{
+ PageRangeTranslator translator("", InsetIndexParams::None);
+ translator.addPair("(", InsetIndexParams::Start);
+ translator.addPair(")", InsetIndexParams::End);
+ return translator;
+}
+
+
+PageRangeTranslatorLoc const init_insetindexpagerangetranslator_loc()
+{
+ PageRangeTranslatorLoc translator(docstring(), InsetIndexParams::None);
+ translator.addPair(_("Starts page range"), InsetIndexParams::Start);
+ translator.addPair(_("Ends page range"), InsetIndexParams::End);
+ return translator;
+}
+
+
+PageRangeTranslator const & insetindexpagerangetranslator()
+{
+ static PageRangeTranslator const prtranslator =
+ init_insetindexpagerangetranslator();
+ return prtranslator;
+}
+
+
+PageRangeTranslatorLoc const & insetindexpagerangetranslator_loc()
+{
+ static PageRangeTranslatorLoc const translator =
+ init_insetindexpagerangetranslator_loc();
+ return translator;
+}
+
+
+PageRangeTranslator const & insetindexpagerangetranslator_latex()
+{
+ static PageRangeTranslator const lttranslator =
+ init_insetindexpagerangetranslator_latex();
+ return lttranslator;
+}
+
+} // namespace anon
+
/////////////////////////////////////////////////////////////////////
//
// InsetIndex
@@ -59,7 +120,7 @@ namespace lyx {
InsetIndex::InsetIndex(Buffer * buf, InsetIndexParams const & params)
- : InsetCollapsible(buf), params_(params)
+ : InsetCollapsible(buf), params_(params)
{}
@@ -91,106 +152,108 @@ void InsetIndex::latex(otexstream & ios, OutputParams const & runparams_in) cons
return;
}
- // For the sorting key, we use the plaintext version
- odocstringstream ourplain;
- InsetText::plaintext(ourplain, runparams);
-
- // These are the LaTeX and plaintext representations
- docstring latexstr = ourlatex.str();
- docstring plainstr = ourplain.str();
-
- // This will get what follows | if anything does,
- // the command (e.g., see, textbf) for pagination
- // formatting
- docstring cmd;
-
- // Check for the | separator to strip the cmd.
- // This goes wrong on an escaped "|", but as the escape
- // character can be changed in style files, we cannot
- // prevent that.
- size_t pos = latexstr.find(from_ascii("|"));
- if (pos != docstring::npos) {
- // Put the bit after "|" into cmd...
- cmd = latexstr.substr(pos + 1);
- // ...and erase that stuff from latexstr
- latexstr = latexstr.erase(pos);
- // ...as well as from plainstr
- size_t ppos = plainstr.find(from_ascii("|"));
- if (ppos < plainstr.size())
- plainstr.erase(ppos);
- else
- LYXERR0("The `|' separator was not found in the plaintext version!");
- }
+ if (hasSortKey()) {
+ getSortkey(os, runparams);
+ os << "@";
+ os << ourlatex.str();
+ getSubentries(os, runparams);
+ if (hasSeeRef()) {
+ os << "|";
+ os << insetindexpagerangetranslator_latex().find(params_.range);
+ getSeeRefs(os, runparams);
+ }
+ } else {
+ // We check whether we need a sort key.
+ // If so, we use the plaintext version
+ odocstringstream ourplain;
+ InsetText::plaintext(ourplain, runparams);
+
+ // These are the LaTeX and plaintext representations
+ docstring latexstr = ourlatex.str();
+ docstring plainstr = ourplain.str();
+
+ // This will get what follows | if anything does,
+ // the command (e.g., see, textbf) for pagination
+ // formatting
+ docstring cmd;
+
+ if (hasSeeRef()) {
+ odocstringstream seeref;
+ otexstream otsee(seeref);
+ getSeeRefs(otsee, runparams);
+ cmd = seeref.str();
+ } else if (!params_.pagefmt.empty() && params_.pagefmt != "default") {
+ cmd = from_utf8(params_.pagefmt);
+ } else {
+ // Check for the | separator to strip the cmd.
+ // This goes wrong on an escaped "|", but as the escape
+ // character can be changed in style files, we cannot
+ // prevent that.
+ size_t pos = latexstr.find(from_ascii("|"));
+ if (pos != docstring::npos) {
+ // Put the bit after "|" into cmd...
+ cmd = latexstr.substr(pos + 1);
+ // ...and erase that stuff from latexstr
+ latexstr = latexstr.erase(pos);
+ // ...as well as from plainstr
+ size_t ppos = plainstr.find(from_ascii("|"));
+ if (ppos < plainstr.size())
+ plainstr.erase(ppos);
+ else
+ LYXERR0("The `|' separator was not found in the plaintext version!");
+ }
+ }
- // Separate the entries and subentries, i.e., split on "!".
- // This goes wrong on an escaped "!", but as the escape
- // character can be changed in style files, we cannot
- // prevent that.
- std::vector<docstring> const levels =
- getVectorFromString(latexstr, from_ascii("!"), true);
- std::vector<docstring> const levels_plain =
- getVectorFromString(plainstr, from_ascii("!"), true);
-
- vector<docstring>::const_iterator it = levels.begin();
- vector<docstring>::const_iterator end = levels.end();
- vector<docstring>::const_iterator it2 = levels_plain.begin();
- bool first = true;
- for (; it != end; ++it) {
- // The separator needs to be put back when
- // writing the levels, except for the first level
- if (!first)
- os << '!';
- else
- first = false;
-
- // Now here comes the reason for this whole procedure:
- // We try to correctly sort macros and formatted strings.
- // If we find a command, prepend a plain text
- // version of the content to get sorting right,
- // e.g. \index{LyX@\LyX}, \index{text@\textbf{text}}.
- // We do this on all levels.
- // We don't do it if the level already contains a '@', though.
- if (contains(*it, '\\') && !contains(*it, '@')) {
- // Plaintext might return nothing (e.g. for ERTs).
- // In that case, we use LaTeX.
- docstring const spart =
- (it2 < levels_plain.end() && !(*it2).empty())
- ? *it2 : *it;
- // Now we need to validate that all characters in
- // the sorting part are representable in the current
- // encoding. If not try the LaTeX macro which might
- // or might not be a good choice, and issue a warning.
- pair<docstring, docstring> spart_latexed =
- runparams.encoding->latexString(spart, runparams.dryrun);
- if (!spart_latexed.second.empty())
- LYXERR0("Uncodable character in index entry. Sorting might be wrong!");
- if (spart != spart_latexed.first && !runparams.dryrun) {
- // FIXME: warning should be passed to the error dialog
- frontend::Alert::warning(_("Index sorting failed"),
- bformat(_("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."), spart));
+ odocstringstream subentries;
+ otexstream otsub(subentries);
+ getSubentries(otsub, runparams);
+ if (subentries.str().empty()) {
+ // Separate the entries and subentries, i.e., split on "!".
+ // This goes wrong on an escaped "!", but as the escape
+ // character can be changed in style files, we cannot
+ // prevent that.
+ std::vector<docstring> const levels =
+ getVectorFromString(latexstr, from_ascii("!"), true);
+ std::vector<docstring> const levels_plain =
+ getVectorFromString(plainstr, from_ascii("!"), true);
+
+ vector<docstring>::const_iterator it = levels.begin();
+ vector<docstring>::const_iterator end = levels.end();
+ vector<docstring>::const_iterator it2 = levels_plain.begin();
+ bool first = true;
+ for (; it != end; ++it) {
+ // The separator needs to be put back when
+ // writing the levels, except for the first level
+ if (!first)
+ os << '!';
+ else
+ first = false;
+
+ // Now here comes the reason for this whole procedure:
+ // We try to correctly sort macros and formatted strings.
+ // If we find a command, prepend a plain text
+ // version of the content to get sorting right,
+ // e.g. \index{LyX@\LyX}, \index{text@\textbf{text}}.
+ // We do this on all levels.
+ // We don't do it if the level already contains a '@', though.
+ // Plaintext might return nothing (e.g. for ERTs).
+ // In that case, we use LaTeX.
+ docstring const spart = (levels_plain.empty() || (*it2).empty()) ? *it : *it2;
+ processLatexSorting(os, runparams, *it, spart);
+ if (it2 < levels_plain.end())
+ ++it2;
}
- // Remove remaining \'s from the sort key
- docstring ppart = subst(spart_latexed.first, from_ascii("\\"), docstring());
- // Plain quotes need to be escaped, however (#10649), as this
- // is the default escape character
- ppart = subst(ppart, from_ascii("\""), from_ascii("\\\""));
-
- // Now insert the sortkey, separated by '@'.
- os << ppart;
- os << '@';
+ } else {
+ processLatexSorting(os, runparams, latexstr, plainstr);
+ os << subentries.str();
+ }
+
+ // At last, re-insert the command, separated by "|"
+ if (!cmd.empty()) {
+ os << "|"
+ << insetindexpagerangetranslator_latex().find(params_.range)
+ << cmd;
}
- // Insert the actual level text
- docstring const tpart = *it;
- os << tpart;
- if (it2 < levels_plain.end())
- ++it2;
- }
- // At last, re-insert the command, separated by "|"
- if (!cmd.empty()) {
- os << "|" << cmd;
}
os << '}';
@@ -203,6 +266,45 @@ void InsetIndex::latex(otexstream & ios, OutputParams const & runparams_in) cons
}
+void InsetIndex::processLatexSorting(otexstream & os, OutputParams const & runparams,
+ docstring const latex, docstring const spart) const
+{
+ if (contains(latex, '\\') && !contains(latex, '@')) {
+ // Now we need to validate that all characters in
+ // the sorting part are representable in the current
+ // encoding. If not try the LaTeX macro which might
+ // or might not be a good choice, and issue a warning.
+ pair<docstring, docstring> spart_latexed =
+ runparams.encoding->latexString(spart, runparams.dryrun);
+ if (!spart_latexed.second.empty())
+ LYXERR0("Uncodable character in index entry. Sorting might be wrong!");
+ if (spart != spart_latexed.first && !runparams.dryrun) {
+ TeXErrors terr;
+ ErrorList & errorList = buffer().errorList("Export");
+ docstring const s = bformat(_("LyX's automatic index sorting algorithm faced "
+ "problems with the entry '%1$s'.\n"
+ "Please specify the sorting of this entry manually, as "
+ "explained in the User Guide."), spart);
+ Paragraph const & par = buffer().paragraphs().front();
+ errorList.push_back(ErrorItem(_("Index sorting failed"), s,
+ {par.id(), 0}, {par.id(), -1}));
+ buffer().bufferErrors(terr, errorList);
+ }
+ // Remove remaining \'s from the sort key
+ docstring ppart = subst(spart_latexed.first, from_ascii("\\"), docstring());
+ // Plain quotes need to be escaped, however (#10649), as this
+ // is the default escape character
+ ppart = subst(ppart, from_ascii("\""), from_ascii("\\\""));
+
+ // Now insert the sortkey, separated by '@'.
+ os << ppart;
+ os << '@';
+ }
+ // Insert the actual level text
+ os << latex;
+}
+
+
void InsetIndex::docbook(XMLStream & xs, OutputParams const & runparams) const
{
// Get the content of the inset as LaTeX, as some things may be encoded as ERT (like {}).
@@ -445,6 +547,8 @@ void InsetIndex::doDispatch(Cursor & cur, FuncRequest & cmd)
InsetIndex::string2params(to_utf8(cmd.argument()), params);
cur.recordUndoInset(this);
params_.index = params.index;
+ params_.range = params.range;
+ params_.pagefmt = params.pagefmt;
// what we really want here is a TOC update, but that means
// a full buffer update
cur.forceBufferUpdate();
@@ -485,6 +589,9 @@ bool InsetIndex::getStatus(Cursor & cur, FuncRequest const & cmd,
flag.setEnabled(realbuffer.params().use_indices);
return true;
}
+
+ case LFUN_INDEXMACRO_INSERT:
+ return macrosPossible(cmd.getArg(0));
default:
return InsetCollapsible::getStatus(cur, cmd, flag);
@@ -492,6 +599,125 @@ bool InsetIndex::getStatus(Cursor & cur, FuncRequest const & cmd,
}
+void InsetIndex::getSortkey(otexstream & os, OutputParams const & runparams) const
+{
+ Paragraph const & par = paragraphs().front();
+ InsetList::const_iterator it = par.insetList().begin();
+ for (; it != par.insetList().end(); ++it) {
+ Inset & inset = *it->inset;
+ if (inset.lyxCode() == INDEXMACRO_SORTKEY_CODE) {
+ InsetIndexMacro const & iim =
+ static_cast<InsetIndexMacro const &>(inset);
+ iim.getLatex(os, runparams);
+ return;
+ }
+ }
+}
+
+
+void InsetIndex::getSubentries(otexstream & os, OutputParams const & runparams) const
+{
+ Paragraph const & par = paragraphs().front();
+ InsetList::const_iterator it = par.insetList().begin();
+ int i = 0;
+ for (; it != par.insetList().end(); ++it) {
+ Inset & inset = *it->inset;
+ if (inset.lyxCode() == INDEXMACRO_CODE) {
+ InsetIndexMacro const & iim =
+ static_cast<InsetIndexMacro const &>(inset);
+ if (iim.params().type == InsetIndexMacroParams::Subindex) {
+ ++i;
+ if (i > 2)
+ return;
+ os << "!";
+ iim.getLatex(os, runparams);
+ }
+ }
+ }
+}
+
+
+void InsetIndex::getSeeRefs(otexstream & os, OutputParams const & runparams) const
+{
+ Paragraph const & par = paragraphs().front();
+ InsetList::const_iterator it = par.insetList().begin();
+ for (; it != par.insetList().end(); ++it) {
+ Inset & inset = *it->inset;
+ if (inset.lyxCode() == INDEXMACRO_CODE) {
+ InsetIndexMacro const & iim =
+ static_cast<InsetIndexMacro const &>(inset);
+ if (iim.params().type == InsetIndexMacroParams::See
+ || iim.params().type == InsetIndexMacroParams::Seealso) {
+ iim.getLatex(os, runparams);
+ return;
+ }
+ }
+ }
+}
+
+
+bool InsetIndex::hasSeeRef() const
+{
+ Paragraph const & par = paragraphs().front();
+ InsetList::const_iterator it = par.insetList().begin();
+ for (; it != par.insetList().end(); ++it) {
+ Inset & inset = *it->inset;
+ if (inset.lyxCode() == INDEXMACRO_CODE) {
+ InsetIndexMacro const & iim =
+ static_cast<InsetIndexMacro const &>(inset);
+ if (iim.params().type == InsetIndexMacroParams::See
+ || iim.params().type == InsetIndexMacroParams::Seealso)
+ return true;
+ }
+ }
+ return false;
+}
+
+
+bool InsetIndex::hasSortKey() const
+{
+ Paragraph const & par = paragraphs().front();
+ InsetList::const_iterator it = par.insetList().begin();
+ for (; it != par.insetList().end(); ++it) {
+ Inset & inset = *it->inset;
+ if (inset.lyxCode() == INDEXMACRO_SORTKEY_CODE)
+ return true;
+ }
+ return false;
+}
+
+
+bool InsetIndex::macrosPossible(string const type) const
+{
+ if (type != "see" && type != "seealso"
+ && type != "sortkey" && type != "subindex")
+ return false;
+
+ Paragraph const & par = paragraphs().front();
+ InsetList::const_iterator it = par.insetList().begin();
+ int subidxs = 0;
+ for (; it != par.insetList().end(); ++it) {
+ Inset & inset = *it->inset;
+ if (type == "sortkey" && inset.lyxCode() == INDEXMACRO_SORTKEY_CODE)
+ return false;
+ if (inset.lyxCode() == INDEXMACRO_CODE) {
+ InsetIndexMacro const & iim = static_cast<InsetIndexMacro const &>(inset);
+ if ((type == "see" || type == "seealso")
+ && (iim.params().type == InsetIndexMacroParams::See
+ || iim.params().type == InsetIndexMacroParams::Seealso))
+ return false;
+ if (type == "subindex"
+ && iim.params().type == InsetIndexMacroParams::Subindex) {
+ ++subidxs;
+ if (subidxs > 1)
+ return false;
+ }
+ }
+ }
+ return true;
+}
+
+
ColorCode InsetIndex::labelColor() const
{
if (params_.index.empty() || params_.index == from_ascii("idx"))
@@ -520,7 +746,21 @@ docstring InsetIndex::toolTip(BufferView const &, int, int) const
tip += ")";
}
tip += ": ";
- return toolTipText(tip);
+ docstring res = toolTipText(tip);
+ if (!insetindexpagerangetranslator_loc().find(params_.range).empty())
+ res += "\n" + insetindexpagerangetranslator_loc().find(params_.range);
+ if (!params_.pagefmt.empty() && params_.pagefmt != "default") {
+ res += "\n" + _("Pagination format:") + " ";
+ if (params_.pagefmt == "textbf")
+ res += _("bold");
+ else if (params_.pagefmt == "textit")
+ res += _("italic");
+ else if (params_.pagefmt == "emph")
+ res += _("emphasized");
+ else
+ res += from_utf8(params_.pagefmt);
+ }
+ return res;
}
@@ -541,9 +781,14 @@ docstring const InsetIndex::buttonLabel(BufferView const & bv) const
label += ")";
}
+ docstring res;
if (!il.contentaslabel() || geometry(bv) != ButtonOnly)
- return label;
- return getNewLabel(label);
+ res = label;
+ else
+ res = getNewLabel(label);
+ if (!insetindexpagerangetranslator_latex().find(params_.range).empty())
+ res += " " + from_ascii(insetindexpagerangetranslator_latex().find(params_.range));
+ return res;
}
@@ -621,12 +866,33 @@ string InsetIndex::contextMenuName() const
}
+string InsetIndex::contextMenu(BufferView const & bv, int x, int y) const
+{
+ // We override the implementation of InsetCollapsible,
+ // because we have eytra entries.
+ string owncm = "context-edit-index;";
+ return owncm + InsetCollapsible::contextMenu(bv, x, y);
+}
+
+
bool InsetIndex::hasSettings() const
{
- return buffer().masterBuffer()->params().use_indices;
+ return true;
}
+bool InsetIndex::insetAllowed(InsetCode code) const
+{
+ switch (code) {
+ case INDEXMACRO_CODE:
+ case INDEXMACRO_SORTKEY_CODE:
+ return true;
+ case INDEX_CODE:
+ return false;
+ default:
+ return InsetCollapsible::insetAllowed(code);
+ }
+}
/////////////////////////////////////////////////////////////////////
@@ -644,6 +910,12 @@ void InsetIndexParams::write(ostream & os) const
else
os << "idx";
os << '\n';
+ os << "range "
+ << insetindexpagerangetranslator().find(range)
+ << '\n';
+ os << "pageformat "
+ << pagefmt
+ << '\n';
}
@@ -653,6 +925,16 @@ void InsetIndexParams::read(Lexer & lex)
index = lex.getDocString();
else
index = from_ascii("idx");
+ if (lex.checkFor("range")) {
+ string st = lex.getString();
+ if (lex.eatLine()) {
+ st = lex.getString();
+ range = insetindexpagerangetranslator().find(lex.getString());
+ }
+ }
+ if (lex.checkFor("pageformat") && lex.eatLine()) {
+ pagefmt = lex.getString();
+ }
}
diff --git a/src/insets/InsetIndex.h b/src/insets/InsetIndex.h
index b064cc7..97a82ba 100644
--- a/src/insets/InsetIndex.h
+++ b/src/insets/InsetIndex.h
@@ -21,15 +21,24 @@ namespace lyx {
class InsetIndexParams {
public:
+ enum PageRange {
+ None,
+ Start,
+ End
+ };
///
explicit InsetIndexParams(docstring const & b = docstring())
- : index(b) {}
+ : index(b), range(None), pagefmt("default") {}
///
void write(std::ostream & os) const;
///
void read(Lexer & lex);
///
docstring index;
+ ///
+ PageRange range;
+ ///
+ std::string pagefmt;
};
@@ -63,6 +72,9 @@ private:
///
void latex(otexstream &, OutputParams const &) const override;
///
+ void processLatexSorting(otexstream &, OutputParams const &,
+ docstring const, docstring const) const;
+ ///
bool showInsetDialog(BufferView *) const override;
///
bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const override;
@@ -80,11 +92,27 @@ private:
/// Updates needed features for this inset.
void validate(LaTeXFeatures & features) const override;
///
+ void getSortkey(otexstream &, OutputParams const &) const;
+ ///
+ void getSubentries(otexstream &, OutputParams const &) const;
+ ///
+ void getSeeRefs(otexstream &, OutputParams const &) const;
+ ///
+ bool hasSeeRef() const;
+ ///
+ bool hasSortKey() const;
+ ///
+ bool macrosPossible(std::string const type) const;
+ ///
std::string contextMenuName() const override;
///
+ std::string contextMenu(BufferView const &, int, int) const override;
+ ///
Inset * clone() const override { return new InsetIndex(*this); }
/// Is the content of this inset part of the immediate text sequence?
bool isPartOfTextSequence() const override { return false; }
+ ///
+ bool insetAllowed(InsetCode code) const override;
///
friend class InsetIndexParams;
diff --git a/src/insets/InsetIndexMacro.cpp b/src/insets/InsetIndexMacro.cpp
new file mode 100644
index 0000000..2bfbc91
--- /dev/null
+++ b/src/insets/InsetIndexMacro.cpp
@@ -0,0 +1,384 @@
+/**
+ * \file InsetIndexMacro.cpp
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Jürgen Spitzmüller
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
+#include <config.h>
+
+#include "InsetIndexMacro.h"
+
+#include "Buffer.h"
+#include "BufferParams.h"
+#include "Cursor.h"
+#include "Dimension.h"
+#include "Encoding.h"
+#include "ErrorList.h"
+#include "FontInfo.h"
+#include "FuncRequest.h"
+#include "FuncStatus.h"
+#include "InsetLayout.h"
+#include "InsetList.h"
+#include "LaTeX.h"
+#include "LaTeXFeatures.h"
+#include "Lexer.h"
+#include "MetricsInfo.h"
+#include "xml.h"
+#include "texstream.h"
+
+#include "frontends/alert.h"
+
+#include "support/debug.h"
+#include "support/docstream.h"
+#include "support/gettext.h"
+#include "support/lstrings.h"
+#include "support/Translator.h"
+
+using namespace std;
+using namespace lyx::support;
+
+namespace lyx {
+
+namespace {
+
+typedef Translator<string, InsetIndexMacroParams::Type> InsetIndexMacroTranslator;
+typedef Translator<docstring, InsetIndexMacroParams::Type> InsetIndexMacroTranslatorLoc;
+
+InsetIndexMacroTranslator const init_insetindexmacrotranslator()
+{
+ InsetIndexMacroTranslator translator("see", InsetIndexMacroParams::See);
+ translator.addPair("seealso", InsetIndexMacroParams::Seealso);
+ translator.addPair("subindex", InsetIndexMacroParams::Subindex);
+ translator.addPair("sortkey", InsetIndexMacroParams::Sortkey);
+ return translator;
+}
+
+
+InsetIndexMacroTranslatorLoc const init_insetindexmacrotranslator_loc()
+{
+ InsetIndexMacroTranslatorLoc translator(_("See"), InsetIndexMacroParams::See);
+ translator.addPair(_("See also"), InsetIndexMacroParams::Seealso);
+ translator.addPair(_("Subindex"), InsetIndexMacroParams::Subindex);
+ translator.addPair(_("Sort as"), InsetIndexMacroParams::Sortkey);
+ return translator;
+}
+
+
+InsetIndexMacroTranslator const & insetindexmacrotranslator()
+{
+ static InsetIndexMacroTranslator const macrotranslator =
+ init_insetindexmacrotranslator();
+ return macrotranslator;
+}
+
+
+InsetIndexMacroTranslatorLoc const & insetindexmacrotranslator_loc()
+{
+ static InsetIndexMacroTranslatorLoc const translator =
+ init_insetindexmacrotranslator_loc();
+ return translator;
+}
+
+} // namespace
+
+
+InsetIndexMacroParams::InsetIndexMacroParams()
+ : type(See)
+{}
+
+
+void InsetIndexMacroParams::write(ostream & os) const
+{
+ string const label = insetindexmacrotranslator().find(type);
+ os << "IndexMacro " << label << "\n";
+}
+
+
+void InsetIndexMacroParams::read(Lexer & lex)
+{
+ string label;
+ lex >> label;
+ if (lex)
+ type = insetindexmacrotranslator().find(label);
+}
+
+
+/////////////////////////////////////////////////////////////////////
+//
+// InsetIndexMacro
+//
+/////////////////////////////////////////////////////////////////////
+
+InsetIndexMacro::InsetIndexMacro(Buffer * buf, string const & label)
+ : InsetCollapsible(buf)
+{
+ setDrawFrame(true);
+ setFrameColor(Color_insetframe);
+ params_.type = insetindexmacrotranslator().find(label);
+}
+
+
+InsetIndexMacro::~InsetIndexMacro()
+{}
+
+
+docstring InsetIndexMacro::layoutName() const
+{
+ return from_ascii("IndexMacro:" + insetindexmacrotranslator().find(params_.type));
+}
+
+InsetCode InsetIndexMacro::lyxCode() const
+{
+ return params_.type == InsetIndexMacroParams::Sortkey
+ ? INDEXMACRO_SORTKEY_CODE
+ : INDEXMACRO_CODE;
+}
+
+
+void InsetIndexMacro::write(ostream & os) const
+{
+ params_.write(os);
+ InsetCollapsible::write(os);
+}
+
+
+void InsetIndexMacro::read(Lexer & lex)
+{
+ params_.read(lex);
+ InsetCollapsible::read(lex);
+}
+
+
+void InsetIndexMacro::getLatex(otexstream & os, OutputParams const & runparams) const
+{
+ if (params_.type == InsetIndexMacroParams::Subindex) {
+ if (hasSortKey()) {
+ getSortkey(os, runparams);
+ os << "@";
+ } else {
+ odocstringstream ourlatex;
+ otexstream ots(ourlatex);
+ InsetText::latex(ots, runparams);
+ odocstringstream ourplain;
+ InsetText::plaintext(ourplain, runparams);
+ // These are the LaTeX and plaintext representations
+ docstring latexstr = ourlatex.str();
+ docstring plainstr = ourplain.str();
+ processLatexSorting(os, runparams, latexstr, plainstr);
+ }
+ return;
+ }
+
+ if (params_.type == InsetIndexMacroParams::See)
+ os << "see{";
+ else if (params_.type == InsetIndexMacroParams::Seealso)
+ os << "seealso{";
+
+ InsetCollapsible::latex(os, runparams);
+
+ if (params_.type == InsetIndexMacroParams::See
+ || params_.type == InsetIndexMacroParams::Seealso)
+ os << "}";
+}
+
+
+int InsetIndexMacro::getPlaintext(odocstringstream & os,
+ OutputParams const & runparams, size_t max_length) const
+{
+ return InsetText::plaintext(os, runparams, max_length);
+}
+
+
+void InsetIndexMacro::getDocbook(XMLStream & xs, OutputParams const & runparams) const
+{
+ InsetText::docbook(xs, runparams);
+}
+
+
+docstring InsetIndexMacro::getXhtml(XMLStream & xs, OutputParams const & runparams) const
+{
+ return InsetText::xhtml(xs, runparams);
+}
+
+
+void InsetIndexMacro::doDispatch(Cursor & cur, FuncRequest & cmd)
+{
+ switch (cmd.action()) {
+
+ case LFUN_INSET_MODIFY: {
+ if (cmd.getArg(0) == "changetype") {
+ cur.recordUndoInset(this);
+ params_.type = insetindexmacrotranslator().find(cmd.getArg(1));
+ break;
+ }
+ InsetCollapsible::doDispatch(cur, cmd);
+ break;
+ }
+
+ default:
+ InsetCollapsible::doDispatch(cur, cmd);
+ break;
+ }
+}
+
+
+bool InsetIndexMacro::getStatus(Cursor & cur, FuncRequest const & cmd,
+ FuncStatus & flag) const
+{
+ switch (cmd.action()) {
+
+ case LFUN_INSET_MODIFY:
+ if (cmd.getArg(0) == "changetype") {
+ docstring const newtype = from_utf8(cmd.getArg(1));
+ bool const enabled = (params_.type == InsetIndexMacroParams::See
+ || params_.type == InsetIndexMacroParams::Seealso)
+ && (newtype == "see" || newtype == "seealso");
+ flag.setEnabled(enabled);
+ flag.setOnOff(
+ newtype == from_ascii(insetindexmacrotranslator().find(params_.type)));
+ return true;
+ }
+ return InsetCollapsible::getStatus(cur, cmd, flag);
+
+ default:
+ return InsetCollapsible::getStatus(cur, cmd, flag);
+ }
+}
+
+
+void InsetIndexMacro::processLatexSorting(otexstream & os, OutputParams const & runparams,
+ docstring const latex, docstring const plain) const
+{
+ if (contains(latex, '\\') && !contains(latex, '@')) {
+ // Plaintext might return nothing (e.g. for ERTs).
+ // In that case, we use LaTeX.
+ docstring const spart = (plain.empty()) ? latex : plain;
+ // Now we need to validate that all characters in
+ // the sorting part are representable in the current
+ // encoding. If not try the LaTeX macro which might
+ // or might not be a good choice, and issue a warning.
+ pair<docstring, docstring> spart_latexed =
+ runparams.encoding->latexString(spart, runparams.dryrun);
+ if (!spart_latexed.second.empty())
+ LYXERR0("Uncodable character in index entry. Sorting might be wrong!");
+ if (spart != spart_latexed.first && !runparams.dryrun) {
+ TeXErrors terr;
+ ErrorList & errorList = buffer().errorList("Export");
+ docstring const s = bformat(_("LyX's automatic index sorting algorithm faced "
+ "problems with the sub-entry '%1$s'.\n"
+ "Please specify the sorting of this entry manually, as "
+ "explained in the User Guide."), spart);
+ Paragraph const & par = buffer().paragraphs().front();
+ errorList.push_back(ErrorItem(_("Index sorting failed"), s,
+ {par.id(), 0}, {par.id(), -1}));
+ buffer().bufferErrors(terr, errorList);
+ }
+ // Remove remaining \'s from the sort key
+ docstring ppart = subst(spart_latexed.first, from_ascii("\\"), docstring());
+ // Plain quotes need to be escaped, however (#10649), as this
+ // is the default escape character
+ ppart = subst(ppart, from_ascii("\""), from_ascii("\\\""));
+
+ // Now insert the sortkey, separated by '@'.
+ os << ppart;
+ os << '@';
+ }
+ // Insert the actual level text
+ os << latex;
+}
+
+
+docstring InsetIndexMacro::toolTip(BufferView const &, int, int) const
+{
+ return insetindexmacrotranslator_loc().find(params_.type);
+}
+
+
+string InsetIndexMacro::params2string(InsetIndexMacroParams const & params)
+{
+ ostringstream data;
+ data << "IndexMacro" << ' ';
+ params.write(data);
+ return data.str();
+}
+
+
+void InsetIndexMacro::string2params(string const & in, InsetIndexMacroParams & params)
+{
+ params = InsetIndexMacroParams();
+
+ if (in.empty())
+ return;
+
+ istringstream data(in);
+ Lexer lex;
+ lex.setStream(data);
+ lex.setContext("InsetIndexMacro::string2params");
+ lex >> "IndexMacro" >> "see";
+
+ params.read(lex);
+}
+
+
+bool InsetIndexMacro::hasSortKey() const
+{
+ Paragraph const & par = paragraphs().front();
+ InsetList::const_iterator it = par.insetList().begin();
+ for (; it != par.insetList().end(); ++it) {
+ Inset & inset = *it->inset;
+ if (inset.lyxCode() == INDEXMACRO_SORTKEY_CODE)
+ return true;
+ }
+ return false;
+}
+
+
+void InsetIndexMacro::getSortkey(otexstream & os, OutputParams const & runparams) const
+{
+ Paragraph const & par = paragraphs().front();
+ InsetList::const_iterator it = par.insetList().begin();
+ for (; it != par.insetList().end(); ++it) {
+ Inset & inset = *it->inset;
+ if (inset.lyxCode() == INDEXMACRO_SORTKEY_CODE) {
+ InsetIndexMacro const & iim =
+ static_cast<InsetIndexMacro const &>(inset);
+ iim.getLatex(os, runparams);
+ return;
+ }
+ }
+}
+
+
+string InsetIndexMacro::contextMenuName() const
+{
+ return "context-indexmacro";
+}
+
+
+string InsetIndexMacro::contextMenu(BufferView const & bv, int x, int y) const
+{
+ // We override the implementation of InsetCollapsible,
+ // because we have eytra entries.
+ string owncm = "context-edit-index;";
+ return owncm + InsetCollapsible::contextMenu(bv, x, y);
+}
+
+
+bool InsetIndexMacro::insetAllowed(InsetCode code) const
+{
+ switch (code) {
+ case INDEX_CODE:
+ return false;
+ case INDEXMACRO_SORTKEY_CODE:
+ return (params_.type == InsetIndexMacroParams::Subindex
+ && !hasSortKey());
+ default:
+ return InsetCollapsible::insetAllowed(code);
+ }
+}
+
+} // namespace lyx
diff --git a/src/insets/InsetIndexMacro.h b/src/insets/InsetIndexMacro.h
new file mode 100644
index 0000000..4122621
--- /dev/null
+++ b/src/insets/InsetIndexMacro.h
@@ -0,0 +1,125 @@
+// -*- C++ -*-
+/**
+ * \file InsetIndexMacro.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Jürgen Spitzmüller
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
+#ifndef INSET_INSETMACRO_H
+#define INSET_INSETMACRO_H
+
+
+#include "Inset.h"
+#include "InsetCollapsible.h"
+
+
+namespace lyx {
+
+class LaTeXFeatures;
+
+class InsetIndexMacroParams
+{
+public:
+ enum Type {
+ See,
+ Seealso,
+ Subindex,
+ Sortkey
+ };
+ ///
+ InsetIndexMacroParams();
+ ///
+ void write(std::ostream & os) const;
+ ///
+ void read(Lexer & lex);
+ ///
+ Type type;
+};
+
+/////////////////////////////////////////////////////////////////////////
+//
+// InsetIndexMacro
+//
+/////////////////////////////////////////////////////////////////////////
+
+/// Used to insert index references
+class InsetIndexMacro : public InsetCollapsible
+{
+public:
+ ///
+ InsetIndexMacro(Buffer *, std::string const &);
+ ///
+ ~InsetIndexMacro();
+ ///
+ static std::string params2string(InsetIndexMacroParams const &);
+ ///
+ static void string2params(std::string const &, InsetIndexMacroParams &);
+ ///
+ InsetIndexMacroParams const & params() const { return params_; }
+ ///
+ void getLatex(otexstream &, OutputParams const &) const;
+ ///
+ int getPlaintext(odocstringstream &, OutputParams const &, size_t) const;
+ ///
+ void getDocbook(XMLStream &, OutputParams const &) const;
+private:
+ ///
+ InsetCode lyxCode() const override;
+ ///
+ docstring layoutName() const override;
+ ///
+ void write(std::ostream &) const override;
+ ///
+ void read(Lexer & lex) override;
+ ///
+ bool neverIndent() const override { return true; }
+ /// We do not output anything directly to the stream
+ void latex(otexstream &, OutputParams const &) const override {};
+ /// We do not output anything directly to the stream
+ int plaintext(odocstringstream &, OutputParams const &, size_t) const override { return 0; };
+ /// We do not output anything directly to the stream
+ void docbook(XMLStream &, OutputParams const &) const override {};
+ /// We do not output anything directly to the stream
+ docstring xhtml(XMLStream &, OutputParams const &) const override { return docstring(); };
+ ///
+ docstring getXhtml(XMLStream &, OutputParams const &) const;
+ ///
+ bool allowSpellCheck() const override { return false; }
+ ///
+ bool insetAllowed(InsetCode code) const override;
+ ///
+ bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const override;
+ ///
+ void doDispatch(Cursor & cur, FuncRequest & cmd) override;
+ ///
+ docstring toolTip(BufferView const & bv, int x, int y) const override;
+ ///
+ void processLatexSorting(otexstream &, OutputParams const &,
+ docstring const, docstring const) const;
+ ///
+ bool hasSortKey() const;
+ ///
+ void getSortkey(otexstream &, OutputParams const &) const;
+ ///
+ std::string contextMenuName() const override;
+ ///
+ std::string contextMenu(BufferView const &, int, int) const override;
+ ///
+ Inset * clone() const override { return new InsetIndexMacro(*this); }
+ /// used by the constructors
+ void init();
+ ///
+ friend class InsetIndexMacroParams;
+
+ ///
+ InsetIndexMacroParams params_;
+};
+
+
+} // namespace lyx
+
+#endif
diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp
index 1767f2c..c67e934 100644
--- a/src/insets/InsetText.cpp
+++ b/src/insets/InsetText.cpp
@@ -1040,6 +1040,10 @@ bool InsetText::insetAllowed(InsetCode code) const
case QUOTE_CODE:
case COUNTER_CODE:
return true;
+ // These are only allowed in index insets
+ case INDEXMACRO_CODE:
+ case INDEXMACRO_SORTKEY_CODE:
+ return false;
default:
return !isPassThru();
}
diff --git a/src/tex2lyx/Parser.cpp b/src/tex2lyx/Parser.cpp
index e4eb9b4..2cfac87 100644
--- a/src/tex2lyx/Parser.cpp
+++ b/src/tex2lyx/Parser.cpp
@@ -486,7 +486,40 @@ bool Parser::hasOpt(string const & l)
}
-Parser::Arg Parser::getFullArg(char left, char right, bool allow_escaping)
+bool Parser::hasIdxMacros(string const & c, string const & e)
+{
+ // Check for index entry separator (! or @),
+ // consider escaping via "
+ // \p e marks a terminating delimiter¸
+
+ // remember current position
+ unsigned int oldpos = pos_;
+ // skip spaces and comments
+ bool retval = false;
+ while (good()) {
+ get_token();
+ if (isParagraph()) {
+ putback();
+ break;
+ }
+ if (curr_token().cat() == catEnd)
+ break;
+ if (!e.empty() && curr_token().asInput() == e
+ && prev_token().asInput() != "\"")
+ break;
+ if (curr_token().asInput() == c
+ && prev_token().asInput() != "\"") {
+ retval = true;
+ break;
+ }
+ continue;
+ }
+ pos_ = oldpos;
+ return retval;
+}
+
+
+Parser::Arg Parser::getFullArg(char left, char right, bool allow_escaping, char e)
{
skip_spaces(true);
@@ -495,25 +528,28 @@ Parser::Arg Parser::getFullArg(char left, char right, bool allow_escaping)
if (! good())
return make_pair(false, string());
- int group_level = 0;
+ int group_level = (left == '{') ? 1 : 0;
string result;
Token t = get_token();
- if (t.cat() == catComment || t.cat() == catEscape ||
- t.character() != left) {
+ if (left != char()
+ && (t.cat() == catComment || t.cat() == catEscape
+ || t.character() != left)) {
putback();
return make_pair(false, string());
} else {
while (good()) {
t = get_token();
// honor grouping
- if (left != '{' && t.cat() == catBegin) {
+ if (t.cat() == catBegin) {
++group_level;
- continue;
+ if (left != '{')
+ continue;
}
- if (left != '{' && t.cat() == catEnd) {
+ if (group_level > 0 && t.cat() == catEnd) {
--group_level;
- continue;
+ if (left != '{')
+ continue;
}
// Ignore comments
if (t.cat() == catComment) {
@@ -525,6 +561,10 @@ Parser::Arg Parser::getFullArg(char left, char right, bool allow_escaping)
if (t.cat() != catEscape && t.character() == right
&& group_level == 0)
break;
+ } else if (e != char()) {
+ if (prev_token().character() != e && t.character() == right
+ && group_level == 0)
+ break;
} else {
if (t.character() == right) {
if (t.cat() == catEscape)
@@ -540,9 +580,9 @@ Parser::Arg Parser::getFullArg(char left, char right, bool allow_escaping)
}
-string Parser::getArg(char left, char right, bool allow_escaping)
+string Parser::getArg(char left, char right, bool allow_escaping, char e)
{
- return getFullArg(left, right, allow_escaping).second;
+ return getFullArg(left, right, allow_escaping, e).second;
}
diff --git a/src/tex2lyx/Parser.h b/src/tex2lyx/Parser.h
index a99b40f..ec2fc3c 100644
--- a/src/tex2lyx/Parser.h
+++ b/src/tex2lyx/Parser.h
@@ -215,17 +215,22 @@ public:
/// Does an optional argument follow after the current token?
bool hasOpt(std::string const & l = "[");
+ /// Does this index entry has levels?
+ bool hasIdxMacros(std::string const & c,
+ std::string const & e = std::string());
///
typedef std::pair<bool, std::string> Arg;
/*!
* Get an argument enclosed by \p left and \p right.
* If \p allow_escaping is true, a right delimiter escaped by a
* backslash does not count as delimiter, but is included in the
- * argument.
+ * argument. The \p e allows for a different escape character
+ * (used in index insets)
* \returns whether an argument was found in \p Arg.first and the
* argument in \p Arg.second. \see getArg().
*/
- Arg getFullArg(char left, char right, bool allow_escaping = true);
+ Arg getFullArg(char left, char right, bool allow_escaping = true,
+ char e = char());
/*!
* Get an argument enclosed by \p left and \p right.
* If \p allow_escaping is true, a right delimiter escaped by a
@@ -236,7 +241,8 @@ public:
* getFullArg() if you need to know whether there was an empty
* argument or no argument at all.
*/
- std::string getArg(char left, char right, bool allow_escaping = true);
+ std::string getArg(char left, char right, bool allow_escaping = true,
+ char e = char());
/*!
* Like getOpt(), but distinguishes between a missing argument ""
* and an empty argument "[]".
diff --git a/src/tex2lyx/tex2lyx.h b/src/tex2lyx/tex2lyx.h
index f720cf1..4152911 100644
--- a/src/tex2lyx/tex2lyx.h
+++ b/src/tex2lyx/tex2lyx.h
@@ -48,7 +48,8 @@ extern std::string rgbcolor2code(std::string const & name);
std::string translate_len(std::string const &);
void parse_text(Parser & p, std::ostream & os, unsigned flags, bool outer,
- Context & context, std::string const & rdelim = "");
+ Context & context, std::string const & rdelim = "",
+ std::string const & rdelimesc = "");
void check_comment_bib(std::ostream & os, Context & context);
void fix_child_filename(std::string & name);
@@ -68,7 +69,8 @@ std::string find_file(std::string const & name, std::string const & path,
void parse_text_in_inset(Parser & p, std::ostream & os, unsigned flags,
bool outer, Context & context,
InsetLayout const * layout = nullptr,
- std::string const & rdelim = "");
+ std::string const & rdelim = "",
+ std::string const & rdelimesc = "");
/// Guess document language from \p p if CJK is used.
/// \p lang is used for all non-CJK contents.
diff --git a/src/tex2lyx/text.cpp b/src/tex2lyx/text.cpp
index 545515f..b661e6f 100644
--- a/src/tex2lyx/text.cpp
+++ b/src/tex2lyx/text.cpp
@@ -55,7 +55,7 @@ void output_arguments(ostream &, Parser &, bool, bool, const string &, Context &
void parse_text_in_inset(Parser & p, ostream & os, unsigned flags, bool outer,
Context & context, InsetLayout const * layout,
- string const & rdelim)
+ string const & rdelim, string const & rdelimesc)
{
bool const forcePlainLayout =
layout ? layout->forcePlainLayout() : false;
@@ -78,7 +78,7 @@ void parse_text_in_inset(Parser & p, ostream & os, unsigned flags, bool outer,
parse_text(p, oss, FLAG_RDELIM, outer, dummy,
string(1, context.latexparam.back()));
}
- parse_text(p, os, flags, outer, newcontext, rdelim);
+ parse_text(p, os, flags, outer, newcontext, rdelim, rdelimesc);
if (layout)
output_arguments(os, p, outer, false, "post", newcontext,
layout->postcommandargs());
@@ -91,7 +91,8 @@ namespace {
void parse_text_in_inset(Parser & p, ostream & os, unsigned flags, bool outer,
Context const & context, string const & name,
- string const & rdelim = string())
+ string const & rdelim = string(),
+ string const & rdelimesc = string())
{
InsetLayout const * layout = 0;
DocumentClass::InsetLayouts::const_iterator it =
@@ -99,17 +100,18 @@ void parse_text_in_inset(Parser & p, ostream & os, unsigned flags, bool outer,
if (it != context.textclass.insetLayouts().end())
layout = &(it->second);
Context newcontext = context;
- parse_text_in_inset(p, os, flags, outer, newcontext, layout, rdelim);
+ parse_text_in_inset(p, os, flags, outer, newcontext, layout, rdelim, rdelimesc);
}
/// parses a paragraph snippet, useful for example for \\emph{...}
void parse_text_snippet(Parser & p, ostream & os, unsigned flags, bool outer,
- Context & context)
+ Context & context, string const & rdelim = string(),
+ string const & rdelimesc = string())
{
Context newcontext(context);
// Don't inherit the paragraph-level extra stuff
newcontext.par_extra_stuff.clear();
- parse_text(p, os, flags, outer, newcontext);
+ parse_text(p, os, flags, outer, newcontext, rdelim, rdelimesc);
// Make sure that we don't create invalid .lyx files
context.need_layout = newcontext.need_layout;
context.need_end_layout = newcontext.need_end_layout;
@@ -1506,6 +1508,218 @@ void parse_outer_box(Parser & p, ostream & os, unsigned flags, bool outer,
}
+void parse_index_entry(Parser & p, ostream & os, Context & context, string const & kind)
+{
+ // write inset header
+ begin_inset(os, "Index ");
+ os << kind;
+
+ // Parse for post argument (|...)
+ p.pushPosition();
+ string const marg = p.getArg('{', '}');
+ p.popPosition();
+ char lc = char();
+ bool inpost = false;
+ bool startrange = false;
+ bool endrange = false;
+ string post;
+ for (string::const_iterator it = marg.begin(), et = marg.end(); it != et; ++it) {
+ char c = *it;
+ if (inpost) {
+ if (post.empty() && c == '(')
+ startrange = true;
+ else if (post.empty() && c == ')')
+ endrange = true;
+ else
+ post += c;
+ }
+ if (!inpost && (c == '|' && lc != '"'))
+ inpost = true;
+ lc = c;
+ }
+ if (startrange)
+ os << "\nrange start";
+ else if (endrange)
+ os << "\nrange end";
+ else
+ os << "\nrange none";
+ bool const see = prefixIs(post, "see{");
+ bool const seealso = prefixIs(post, "seealso{");
+ if (!post.empty() && !see && !seealso)
+ os << "\npageformat " << post;
+ else
+ os << "\npageformat default";
+ os << "\nstatus collapsed\n";
+
+ bool main = true;
+ // save position
+ p.pushPosition();
+ // Check for levels
+ if (p.hasIdxMacros("!")) {
+ // Index entry with levels
+ while (p.hasIdxMacros("!")) {
+ if (main) {
+ // swallow brace
+ p.get_token();
+ os << "\\begin_layout Plain Layout\n";
+ } else {
+ begin_inset(os, "IndexMacro subindex");
+ os << "\nstatus collapsed\n";
+ }
+ // Check for (level-specific) sortkey
+ if (p.hasIdxMacros("@", "!")) {
+ if (!main)
+ os << "\\begin_layout Plain Layout\n";
+ begin_inset(os, "IndexMacro sortkey");
+ os << "\nstatus collapsed\n";
+ parse_text_in_inset(p, os, FLAG_RDELIM, false, context, "IndexMacro sortkey", "@", "\"");
+ end_inset(os);
+ }
+ parse_text_snippet(p, os, FLAG_RDELIM, false, context, "!", "\"");
+ if (!main) {
+ os << "\n\\end_layout\n";
+ end_inset(os);
+ }
+ main = false;
+ }
+ if (!main) {
+ begin_inset(os, "IndexMacro subindex");
+ os << "\nstatus collapsed\n";
+ }
+ // Final level
+ // Check for (level-specific) sortkey
+ if (p.hasIdxMacros("@", "!")) {
+ if (main) {
+ // swallow brace
+ p.get_token();
+ }
+ os << "\\begin_layout Plain Layout\n";
+ begin_inset(os, "IndexMacro sortkey");
+ os << "\nstatus collapsed\n";
+ parse_text_in_inset(p, os, FLAG_RDELIM, false, context, "IndexMacro sortkey", "@", "\"");
+ end_inset(os);
+ if (post.empty() && !startrange && !endrange) {
+ parse_text_snippet(p, os, FLAG_BRACE_LAST, false, context);
+ p.dropPosition();
+ } else {
+ // Handle post-argument
+ parse_text_snippet(p, os, FLAG_RDELIM, false, context, "|", "\"");
+ if (see || seealso) {
+ while (p.next_token().character() != '{' && p.good())
+ p.get_token();
+ // this ends the subinset, as the see[also] insets
+ // must come at main index inset
+ os << "\n\\end_layout\n";
+ end_inset(os);
+ if (see)
+ begin_inset(os, "IndexMacro see");
+ else
+ begin_inset(os, "IndexMacro seealso");
+ os << "\nstatus collapsed\n";
+ os << "\\begin_layout Plain Layout\n";
+ parse_text_snippet(p, os, FLAG_ITEM, false, context);
+ }
+ p.popPosition();
+ // swallow argument
+ p.getArg('{', '}');
+ }
+ os << "\n\\end_layout\n";
+ } else {
+ if (post.empty() && !startrange && !endrange) {
+ parse_text_in_inset(p, os, FLAG_BRACE_LAST, false, context, "IndexMacro subindex");
+ p.dropPosition();
+ } else {
+ // Handle post-argument
+ if (see || seealso) {
+ os << "\\begin_layout Plain Layout\n";
+ parse_text_snippet(p, os, FLAG_RDELIM, false, context, "|", "\"");
+ while (p.next_token().character() != '{' && p.good())
+ p.get_token();
+ // this ends the subinset, as the see[also] insets
+ // must come at main index inset
+ os << "\n\\end_layout\n";
+ end_inset(os);
+ if (see)
+ begin_inset(os, "IndexMacro see");
+ else
+ begin_inset(os, "IndexMacro seealso");
+ os << "\nstatus collapsed\n";
+ parse_text_in_inset(p, os, FLAG_ITEM, false, context, "IndexMacro see");
+ } else
+ parse_text_in_inset(p, os, FLAG_RDELIM, false, context, "Index", "|", "\"");
+ p.popPosition();
+ // swallow argument
+ p.getArg('{', '}');
+ }
+ }
+ if (!main)
+ end_inset(os);
+ os << "\n\\end_layout\n";
+ } else {
+ // Index without any levels
+ // Check for sortkey
+ if (p.hasIdxMacros("@", "!")) {
+ // swallow brace
+ p.get_token();
+ os << "\\begin_layout Plain Layout\n";
+ begin_inset(os, "IndexMacro sortkey");
+ os << "\nstatus collapsed\n";
+ parse_text_in_inset(p, os, FLAG_RDELIM, false, context, "IndexMacro sortkey", "@", "\"");
+ end_inset(os);
+ if (post.empty() && !startrange && !endrange) {
+ parse_text_snippet(p, os, FLAG_BRACE_LAST, false, context);
+ p.dropPosition();
+ } else {
+ parse_text_snippet(p, os, FLAG_RDELIM, false, context, "|", "\"");
+ if (see || seealso) {
+ while (p.next_token().character() != '{' && p.good())
+ p.get_token();
+ if (see)
+ begin_inset(os, "IndexMacro see");
+ else
+ begin_inset(os, "IndexMacro seealso");
+ os << "\nstatus collapsed\n";
+ parse_text_in_inset(p, os, FLAG_ITEM, false, context, "IndexMacro see");
+ end_inset(os);
+ }
+ p.popPosition();
+ // swallow argument
+ p.getArg('{', '}');
+ }
+ os << "\n\\end_layout\n";
+ } else {
+ if (post.empty() && !startrange && !endrange) {
+ parse_text_in_inset(p, os, FLAG_ITEM, false, context, "Index");
+ p.dropPosition();
+ } else {
+ // Handle post-argument
+ // swallow brace
+ p.get_token();
+ if (see || seealso) {
+ os << "\\begin_layout Plain Layout\n";
+ parse_text_snippet(p, os, FLAG_RDELIM, false, context, "|", "\"");
+ while (p.next_token().character() != '{' && p.good())
+ p.get_token();
+ if (see)
+ begin_inset(os, "IndexMacro see");
+ else
+ begin_inset(os, "IndexMacro seealso");
+ os << "\nstatus collapsed\n";
+ parse_text_in_inset(p, os, FLAG_ITEM, false, context, "IndexMacro see");
+ end_inset(os);
+ os << "\n\\end_layout\n";
+ } else
+ parse_text_in_inset(p, os, FLAG_RDELIM, false, context, "Index", "|", "\"");
+ p.popPosition();
+ // swallow argument
+ p.getArg('{', '}');
+ }
+ }
+ }
+ end_inset(os);
+}
+
+
void parse_listings(Parser & p, ostream & os, Context & parent_context,
bool in_line, bool use_minted)
{
@@ -2901,7 +3115,7 @@ void fix_child_filename(string & name)
void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
- Context & context, string const & rdelim)
+ Context & context, string const & rdelim, string const & rdelimesc)
{
Layout const * newlayout = 0;
InsetLayout const * newinsetlayout = 0;
@@ -2990,7 +3204,8 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
if (rdelim.size() > 1)
tok += p.next_token().asInput();
if (t.cat() != catEscape && !rdelim.empty()
- && tok == rdelim && (flags & FLAG_RDELIM)) {
+ && tok == rdelim && (flags & FLAG_RDELIM)
+ && (rdelimesc.empty() || p.prev_token().asInput() != rdelimesc)) {
if (rdelim.size() > 1)
p.get_token(); // eat rdelim
return;
@@ -4712,10 +4927,7 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
string const arg = (t.cs() == "sindex" && p.hasOpt()) ?
p.getArg('[', ']') : "";
string const kind = arg.empty() ? "idx" : arg;
- begin_inset(os, "Index ");
- os << kind << "\nstatus collapsed\n";
- parse_text_in_inset(p, os, FLAG_ITEM, false, context, "Index");
- end_inset(os);
+ parse_index_entry(p, os, context, kind);
if (kind != "idx")
preamble.registerAutomaticallyLoadedPackage("splitidx");
continue;
commit 50403c4ecf08e50069ce48d794cc75b7490a2281
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Mon Apr 18 18:13:17 2022 +0200
Improve selection when selecting out of inset by the left
1/ put cusror in some display inset
2/ use shift-left until the cursor exits the inset
3/ see how the selection extends on the right.
This is not really a selection drawing bug, but rather the fact that
the anchor will be normalized to the first position after the inset,
which is in the next row.
This can be avoided by using the boundary property.
See discussion in bug #12520.
diff --git a/src/Cursor.cpp b/src/Cursor.cpp
index d2190e7..ce02812 100644
--- a/src/Cursor.cpp
+++ b/src/Cursor.cpp
@@ -322,6 +322,7 @@ DocIterator CursorData::selectionEnd() const
if (di.depth() > depth()) {
di.resize(depth());
++di.pos();
+ di.boundary(true);
}
return di;
}
commit 335f158896c067caa138fa7bcf9a9b38fcca1e35
Author: Pavel Sanda <sanda at lyx.org>
Date: Sun Apr 17 00:49:35 2022 +0200
* RELEASE-NOTES
diff --git a/lib/RELEASE-NOTES b/lib/RELEASE-NOTES
index 97c740c..344e6b1 100644
--- a/lib/RELEASE-NOTES
+++ b/lib/RELEASE-NOTES
@@ -146,6 +146,8 @@
* tabular-feature: added toggle parameters "toggle-all-lines", "toggle-border-lines"
and "toggle-inner-lines"
+* branch-sync-all: Open/close all insets of selected branch (depending on its activation status).
+
!!!The following LyX functions have been removed in 2.4:
diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp
index f232e51..559d950 100644
--- a/src/LyXAction.cpp
+++ b/src/LyXAction.cpp
@@ -454,7 +454,7 @@ void LyXAction::init()
/*!
* \var lyx::FuncCode lyx::LFUN_BRANCH_SYNC_ALL
- * \li Action: Open/close all insets of selected branch (depending on its selection status).
+ * \li Action: Open/close all insets of selected branch (depending on its activation status).
* \li Syntax: branch-sync-all
* \li Origin: sanda, 15 April 2022
* \endvar
commit a4f5f245f8245976ca4a0fdda4a43b96a159754c
Author: Pavel Sanda <sanda at lyx.org>
Date: Sun Apr 17 00:38:17 2022 +0200
forgotten bit
diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp
index c88c1b9..f232e51 100644
--- a/src/LyXAction.cpp
+++ b/src/LyXAction.cpp
@@ -455,7 +455,7 @@ void LyXAction::init()
/*!
* \var lyx::FuncCode lyx::LFUN_BRANCH_SYNC_ALL
* \li Action: Open/close all insets of selected branch (depending on its selection status).
- * \li Syntax: branch-toggle-all
+ * \li Syntax: branch-sync-all
* \li Origin: sanda, 15 April 2022
* \endvar
*/
commit 5ba4d54b6303db27182f7ab1b7a0337f98546af2
Author: Pavel Sanda <sanda at lyx.org>
Date: Sun Apr 17 00:37:22 2022 +0200
*doc - branch-sync-all
diff --git a/lib/doc/UserGuide.lyx b/lib/doc/UserGuide.lyx
index 4cf4ce5..30a6ad3 100644
--- a/lib/doc/UserGuide.lyx
+++ b/lib/doc/UserGuide.lyx
@@ -8973,12 +8973,14 @@ Verbatim
\end_layout
\begin_layout Verbatim
+
This is Verbatim.
\end_layout
\begin_layout Verbatim
\noindent
\align block
+
The following 2 lines are empty:
\end_layout
@@ -8991,6 +8993,7 @@ The following 2 lines are empty:
\end_layout
\begin_layout Verbatim
+
Almost everything is allowed in Verbatim:"%&$§#~'`
\backslash
}][{|
@@ -9014,6 +9017,7 @@ Verbatim
\end_layout
\begin_layout Verbatim*
+
This is Verbatim*.
\end_layout
@@ -35518,8 +35522,19 @@ Exam-Question-Answer.pdf
\end_layout
\begin_layout Standard
-There are also inverted branch insets, whose content is output just in case
- the branch is
+
+\change_inserted 5863208 1650147989
+It is also possible to
+\change_deleted 5863208 1650147965
+There are also
+\change_unchanged
+invert
+\change_deleted 5863208 1650147967
+ed
+\change_inserted 5863208 1650147977
+ just some
+\change_unchanged
+ branch insets, whose content is output just in case the branch is
\emph on
not
\emph default
@@ -35787,6 +35802,23 @@ Customization
Flex insets and InsetLayout
\emph default
).
+\change_inserted 5863208 1650148012
+
+\end_layout
+
+\begin_layout Standard
+
+\change_inserted 5863208 1650148601
+In case one extensively needs syncing activation branch status with open/close
+ status of all branch insets in the document we provide
+\family typewriter
+branch-sync-all
+\family default
+ \SpecialChar LyX
+ function, which can be bound to keyboard shortcut or added to user-defined
+ context menu of branch inset.
+\change_unchanged
+
\end_layout
\begin_layout Section
commit 02ffd6dd70be2a376b5d09b55099aa75338a2889
Author: Pavel Sanda <sanda at lyx.org>
Date: Sun Apr 17 00:16:19 2022 +0200
Allow syncing open/close status of branch inset with it's activation status.
This was kicked out by 742b39f4 (the code in inset toggle survived).
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg217311.html
diff --git a/src/FuncCode.h b/src/FuncCode.h
index 20231eb..8337c1f 100644
--- a/src/FuncCode.h
+++ b/src/FuncCode.h
@@ -502,6 +502,7 @@ enum FuncCode
LFUN_SPELLING_REMOVE_LOCAL, // jspitzm 20210307
LFUN_FINISHED_DOWN, // lasgouttes 20210629
LFUN_FINISHED_UP, // lasgouttes 20210629
+ LFUN_BRANCH_SYNC_ALL, // sanda 20220415
LFUN_LASTACTION // end of the table
};
diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp
index ea60f53..c88c1b9 100644
--- a/src/LyXAction.cpp
+++ b/src/LyXAction.cpp
@@ -453,6 +453,15 @@ void LyXAction::init()
{ LFUN_BRANCH_INSERT, "branch-insert", Noop, Edit },
/*!
+ * \var lyx::FuncCode lyx::LFUN_BRANCH_SYNC_ALL
+ * \li Action: Open/close all insets of selected branch (depending on its selection status).
+ * \li Syntax: branch-toggle-all
+ * \li Origin: sanda, 15 April 2022
+ * \endvar
+ */
+ { LFUN_BRANCH_SYNC_ALL, "branch-sync-all", AtPoint, Buffer },
+
+/*!
* \var lyx::FuncCode lyx::LFUN_BRANCH_INVERT
* \li Action: Toggles inversion status of branch inset.
* \li Syntax: branch-invert
diff --git a/src/insets/InsetBranch.cpp b/src/insets/InsetBranch.cpp
index 7a102ce..a30930a 100644
--- a/src/insets/InsetBranch.cpp
+++ b/src/insets/InsetBranch.cpp
@@ -224,9 +224,12 @@ void InsetBranch::doDispatch(Cursor & cur, FuncRequest & cmd)
case LFUN_BRANCH_ADD:
lyx::dispatch(FuncRequest(LFUN_BRANCH_ADD, params_.branch));
break;
+ case LFUN_BRANCH_SYNC_ALL:
+ lyx::dispatch(FuncRequest(LFUN_INSET_FORALL, "Branch:" + params_.branch + " inset-toggle assign"));
+ break;
case LFUN_INSET_TOGGLE:
if (cmd.argument() == "assign")
- setStatus(cur, isBranchSelected() ? Open : Collapsed);
+ setStatus(cur, (isBranchSelected(true) != params_.inverted) ? Open : Collapsed);
else
InsetCollapsible::doDispatch(cur, cmd);
break;
@@ -276,6 +279,10 @@ bool InsetBranch::getStatus(Cursor & cur, FuncRequest const & cmd,
flag.setEnabled(buffer().parent() && isBranchSelected());
break;
+ case LFUN_BRANCH_SYNC_ALL:
+ flag.setEnabled(known_branch);
+ break;
+
case LFUN_INSET_TOGGLE:
if (cmd.argument() == "assign")
flag.setEnabled(true);
commit 28b206665fb7a90d0998f927cec003fcef9c573e
Author: Kornel Benko <kornel at lyx.org>
Date: Sat Apr 16 15:10:33 2022 +0200
FindAdv: Convert '\%' in a regex to '%'
Regex contents comes from handling hullRegexp, so we
have to reverse some its handling, among others also for the char '%'
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 015e437..2ea1e88 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -838,7 +838,7 @@ string correctRegex(string t, bool withformat)
* and \{, \}, \[, \] => {, }, [, ]
*/
string s("");
- regex wordre("(\\\\)*(\\\\(([A-Za-z]+|[\\{\\}])( |\\{\\})?|[\\[\\]\\{\\}]))");
+ regex wordre("(\\\\)*(\\\\(([A-Za-z]+|[\\{\\}%])( |\\{\\})?|[\\[\\]\\{\\}]))");
size_t lastpos = 0;
smatch sub;
bool backslashed = false;
@@ -893,6 +893,8 @@ string correctRegex(string t, bool withformat)
replace = "{";
else if (sub.str(4) == "}")
replace = "}";
+ else if (sub.str(4) == "%")
+ replace = "%";
else {
AccentsIterator it_ac = accents.find(sub.str(4));
if (it_ac == accents.end()) {
commit 965b2cdc73ffa8e3c3d842bd1b3cb3c148118db6
Author: Kornel Benko <kornel at lyx.org>
Date: Fri Apr 15 17:18:40 2022 +0200
Findadv: Correct findadv-combined test
Replaced some 'CP' commands with 'CN' comments.
diff --git a/development/autotests/findadv-combined-in.txt b/development/autotests/findadv-combined-in.txt
index c273a13..bbcb14d 100644
--- a/development/autotests/findadv-combined-in.txt
+++ b/development/autotests/findadv-combined-in.txt
@@ -65,7 +65,7 @@ CP: Putting selection at .*idx: 0 par: 2 pos: 8\n with len: 1
#
CN: Part 007
KK: \C\[F21]\C\[F20]\\[\[Return]
-CP: Escaped : '\['
+CN: Escaped : '\['
CP: Putting selection at .*idx: 0 par: 3 pos: 3\n with len: 1
#
CN: Part 008
@@ -108,47 +108,47 @@ CP: Putting selection at .*idx: 0 par: 0 pos: 3\n with len: 1
#
CN: Part 102
KK: \C\[F21]\C\[F20]\\(\[Return]
-CP: Escaped : '\('
+CN: Escaped : '\('
CP: Putting selection at .*idx: 0 par: 1 pos: 1\n with len: 1
#
CN: Part 103
KK: \C\[F21]\C\[F20]\\)\[Return]
-CP: Escaped : '\)'
+CN: Escaped : '\)'
CP: Putting selection at .*idx: 0 par: 1 pos: 2\n with len: 1
#
CN: Part 104
KK: \C\[F21]\C\[F20]\\\\\[Return]
-CP: Escaped : '\\'
+CN: Escaped : '\\'
CP: Putting selection at .*idx: 0 par: 2 pos: 0\n with len: 1
#
CN: Part 105
KK: \C\[F21]\C\[F20]%\[Return]
-CP: Escaped : '%'
+CN: Escaped : '%'
CP: Putting selection at .*idx: 0 par: 2 pos: 7\n with len: 1
#
CN: Part 105
KK: \C\[F21]\C\[F20]\\^\[Return]
-CP: Escaped : '\^'
+CN: Escaped : '\^'
CP: Putting selection at .*idx: 0 par: 2 pos: 8\n with len: 1
#
CN: Part 106
KK: \C\[F21]\C\[F20]\\{\[Return]
-CP: Escaping: '\backslash\{'
+CN: Escaping: '\backslash\{'
CP: Putting selection at .*idx: 0 par: 3 pos: 5\n with len: 1
#
CN: Part 107
KK: \C\[F21]\C\[F20]\\}\[Return]
-CP: Escaping: '\backslash\}'
+CN: Escaping: '\backslash\}'
CP: Putting selection at .*idx: 0 par: 3 pos: 6\n with len: 1
#
CN: Part 108
KK: \C\[F21]\C\[F20]\\]\[Return]
-CP: Escaped : '\]'
+CN: Escaped : '\]'
CP: Putting selection at .*idx: 0 par: 4 pos: 4\n with len: 1
#
CN: Part 109
KK: \C\[F21]\C\[F20]\\@\[Return]
-CP: Escaped : '\@'
+CN: Escaped : '\@'
CP: Putting selection at .*idx: 0 par: 4 pos: 10\n with len: 1
#
commit 45756a50b4e47c3fe182e77f8e976011db7cc070
Author: Kornel Benko <kornel at lyx.org>
Date: Fri Apr 15 17:09:08 2022 +0200
FindAdv: Handling of '%' in searched string while not ignoring format
Difficult to decide, when to remove the sequence '%\n'.
The sequence is OK for latex output as a command separator,
but must be removed in searched string.
Alas, not all occurences are wrong. Sigh.
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 6ef7cd3..015e437 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -3878,14 +3878,9 @@ string MatchStringAdv::normalize(docstring const & s, bool ignore_format) const
// Remove \n at begin
while (!t.empty() && t[0] == '\n')
t = t.substr(1);
- // Remove [%]*\n at end
+ // Remove \n* at end
while (!t.empty() && t[t.size() - 1] == '\n') {
- size_t count = 1;
- if (!ignore_format) {
- while ((t.size() > 1 + count) && (t[t.size() - 1 - count] == '%'))
- count++;
- }
- t = t.substr(0, t.size() - count);
+ t = t.substr(0, t.size() - 1);
}
size_t pos;
// Handle all other '\n'
commit 18a1207c2d1c9cf3716bcda93281f8da5f345bc1
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Thu Apr 14 10:27:10 2022 +0200
de.po
diff --git a/po/de.gmo b/po/de.gmo
index df61191..cd9723d 100644
Binary files a/po/de.gmo and b/po/de.gmo differ
diff --git a/po/de.po b/po/de.po
index 43362d9..44e5e09 100644
--- a/po/de.po
+++ b/po/de.po
@@ -94,15 +94,15 @@ msgid ""
msgstr ""
"Project-Id-Version: LyX 2.4git\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2022-02-19 14:24+0100\n"
-"PO-Revision-Date: 2022-02-19 14:31+0100\n"
+"POT-Creation-Date: 2022-04-14 10:20+0200\n"
+"PO-Revision-Date: 2022-04-14 10:26+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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Gtranslator 40.0\n"
+"X-Generator: Gtranslator 41.0\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#: src/frontends/qt/ui/AboutUi.ui:27
@@ -3711,10 +3711,10 @@ msgstr "Doppelt"
#: src/frontends/qt/GuiHSpace.cpp:57 src/frontends/qt/GuiPrefs.cpp:816
#: src/frontends/qt/GuiPrefs.cpp:844 src/frontends/qt/GuiPrefs.cpp:871
#: src/frontends/qt/GuiPrefs.cpp:2329 src/frontends/qt/GuiPrefs.cpp:2352
-#: src/frontends/qt/GuiPrintNomencl.cpp:51 src/insets/InsetInfo.cpp:236
-#: src/insets/InsetInfo.cpp:246 src/insets/InsetInfo.cpp:250
-#: src/insets/InsetInfo.cpp:259 src/insets/InsetInfo.cpp:321
-#: src/insets/InsetInfo.cpp:343
+#: src/frontends/qt/GuiPrintNomencl.cpp:51 src/insets/InsetInfo.cpp:237
+#: src/insets/InsetInfo.cpp:247 src/insets/InsetInfo.cpp:251
+#: src/insets/InsetInfo.cpp:260 src/insets/InsetInfo.cpp:322
+#: src/insets/InsetInfo.cpp:344
msgid "Custom"
msgstr "Benutzerdefiniert"
@@ -4486,7 +4486,7 @@ msgstr "&Aktiv"
msgid "Ctrl"
msgstr "Strg-Taste"
-#: src/frontends/qt/ui/PrefInputUi.ui:249 src/insets/InsetInfo.cpp:863
+#: src/frontends/qt/ui/PrefInputUi.ui:249 src/insets/InsetInfo.cpp:892
msgid "Shift"
msgstr "Umschalttaste"
@@ -6387,7 +6387,7 @@ msgid "Footnote"
msgstr "FuÃnote"
#: lib/citeengines/biblatex-natbib.citeengine:144
-#: lib/citeengines/biblatex.citeengine:134
+#: lib/citeengines/biblatex.citeengine:134 lib/layouts/stdinsets.inc:51
msgid "Foot"
msgstr "FuÃnote"
@@ -7432,9 +7432,9 @@ msgstr "IEEE Transactions"
#: lib/layouts/scrlttr2.layout:19 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:688 lib/layouts/stdletter.inc:12
+#: lib/layouts/stdinsets.inc:689 lib/layouts/stdletter.inc:12
#: lib/layouts/svcommon.inc:26 lib/layouts/tufte-book.layout:35
-#: src/insets/InsetRef.cpp:597
+#: src/insets/InsetRef.cpp:599
msgid "Standard"
msgstr "Standard"
@@ -7505,7 +7505,7 @@ msgstr "Kleinschreibung"
#: lib/layouts/siamltex.layout:222 lib/layouts/sigplanconf.layout:150
#: lib/layouts/stdtitle.inc:37 lib/layouts/svcommon.inc:370
#: lib/layouts/svmult.layout:89 lib/layouts/svprobth.layout:93
-#: lib/layouts/tufte-book.layout:55 src/insets/InsetInfo.cpp:283
+#: lib/layouts/tufte-book.layout:55 src/insets/InsetInfo.cpp:284
msgid "Author"
msgstr "Autor"
@@ -8065,7 +8065,7 @@ msgstr "Unterunterabschnitt"
#: lib/layouts/scrclass.inc:240 lib/layouts/scrlettr.layout:203
#: lib/layouts/scrlttr2.layout:322 lib/layouts/siamltex.layout:246
#: lib/layouts/stdtitle.inc:62 lib/layouts/svcommon.inc:406
-#: lib/layouts/tufte-book.layout:60 src/insets/InsetInfo.cpp:284
+#: lib/layouts/tufte-book.layout:60 src/insets/InsetInfo.cpp:285
msgid "Date"
msgstr "Datum"
@@ -8513,7 +8513,7 @@ msgstr "American Chemical Society (ACS)"
#: lib/layouts/scrclass.inc:142 lib/layouts/scrclass.inc:155
#: lib/layouts/scrclass.inc:168 lib/layouts/scrclass.inc:324
#: lib/layouts/scrclass.inc:349 lib/layouts/siamltex.layout:206
-#: lib/layouts/simplecv.layout:52 lib/layouts/stdinsets.inc:695
+#: lib/layouts/simplecv.layout:52 lib/layouts/stdinsets.inc:696
#: lib/layouts/stdsections.inc:32 lib/layouts/stdsections.inc:76
#: lib/layouts/stdsections.inc:117 lib/layouts/tufte-book.layout:98
#: lib/layouts/tufte-book.layout:129 lib/layouts/tufte-handout.layout:40
@@ -9509,7 +9509,7 @@ msgstr "Spezialabschnitt*"
#: lib/layouts/amsart.layout:98 lib/layouts/beamer.layout:336
#: lib/layouts/beamer.layout:398 lib/layouts/beamer.layout:460
-#: lib/layouts/memoir.layout:248 lib/layouts/stdinsets.inc:713
+#: lib/layouts/memoir.layout:248 lib/layouts/stdinsets.inc:714
#: lib/layouts/stdstarsections.inc:15 lib/layouts/stdstarsections.inc:30
#: lib/layouts/stdstarsections.inc:45 lib/layouts/stdstarsections.inc:60
#: lib/layouts/stdstarsections.inc:75 lib/layouts/stdstarsections.inc:90
@@ -9729,13 +9729,13 @@ msgid "Centered"
msgstr "Zentriert"
#: lib/layouts/apa.layout:285 lib/layouts/apax.inc:384
-#: lib/layouts/stdinsets.inc:689 src/insets/InsetCaption.cpp:436
+#: lib/layouts/stdinsets.inc:690 src/insets/InsetCaption.cpp:436
msgid "standard"
msgstr "Standard"
#: lib/layouts/apa.layout:292 lib/layouts/apax.inc:391
#: lib/layouts/scrclass.inc:325 lib/layouts/scrclass.inc:350
-#: lib/layouts/stdinsets.inc:696
+#: lib/layouts/stdinsets.inc:697
msgid "The caption as it appears in the list of figures/tables"
msgstr "Die Legende, wie sie im Abbildungs-/Tabellenverzeichnis erscheint"
@@ -12231,7 +12231,7 @@ msgstr ""
"Gleichungsnummer die Abschnittsnummer voran, bspw. '(2.1)'."
#: lib/layouts/eqs-within-sections.module:17 lib/layouts/scrbook.layout:29
-#: lib/layouts/stdcounters.inc:81 src/insets/InsetRef.cpp:598
+#: lib/layouts/stdcounters.inc:81 src/insets/InsetRef.cpp:600
#: src/mathed/InsetMathRef.cpp:372
msgid "Equation"
msgstr "Gleichung"
@@ -12538,7 +12538,7 @@ msgid "Size the photo is resized to"
msgstr "AusgabegröÃe des Bildes"
#: lib/layouts/europecv.layout:185 src/frontends/qt/GuiDocument.cpp:136
-#: src/insets/InsetRef.cpp:599
+#: src/insets/InsetRef.cpp:601
msgid "Page"
msgstr "Seite"
@@ -15786,7 +15786,7 @@ msgstr "CheckBox"
msgid "ChoiceMenu"
msgstr "Auswahlmenü"
-#: lib/layouts/pdfform.module:90 src/insets/InsetRef.cpp:604
+#: lib/layouts/pdfform.module:90 src/insets/InsetRef.cpp:606
msgid "Label"
msgstr "Beschriftung"
@@ -17091,10 +17091,6 @@ msgstr "Listing"
msgid "Margin"
msgstr "Rand"
-#: lib/layouts/stdinsets.inc:51
-msgid "foot"
-msgstr "FuÃnote"
-
#: lib/layouts/stdinsets.inc:177
msgid "Greyedout"
msgstr "Grauschrift"
@@ -17125,23 +17121,23 @@ msgstr "Stichwort"
msgid "Argument"
msgstr "Argument"
-#: lib/layouts/stdinsets.inc:715
+#: lib/layouts/stdinsets.inc:716
msgid "unlabelled"
msgstr "ohne Marke"
-#: lib/layouts/stdinsets.inc:722
+#: lib/layouts/stdinsets.inc:723
msgid "Preview"
msgstr "Vorschau"
-#: lib/layouts/stdinsets.inc:756 lib/layouts/stdinsets.inc:764
+#: lib/layouts/stdinsets.inc:757 lib/layouts/stdinsets.inc:765
msgid "see equation[[nomencl]]"
msgstr "siehe Gleichung"
-#: lib/layouts/stdinsets.inc:757 lib/layouts/stdinsets.inc:765
+#: lib/layouts/stdinsets.inc:758 lib/layouts/stdinsets.inc:766
msgid "page[[nomencl]]"
msgstr "Seite"
-#: lib/layouts/stdinsets.inc:758 lib/layouts/stdinsets.inc:766
+#: lib/layouts/stdinsets.inc:759 lib/layouts/stdinsets.inc:767
msgid "Nomenclature[[output]]"
msgstr "Nomenklatur"
@@ -19658,19 +19654,19 @@ msgstr "Als Querverweis kopieren|k"
#: lib/ui/stdcontext.inc:61 lib/ui/stdcontext.inc:375 lib/ui/stdmenus.inc:108
#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1584
-#: src/mathed/InsetMathNest.cpp:555
+#: src/mathed/InsetMathNest.cpp:561
msgid "Cut"
msgstr "Ausschneiden"
#: lib/ui/stdcontext.inc:62 lib/ui/stdcontext.inc:376 lib/ui/stdmenus.inc:109
-#: lib/ui/stdtoolbars.inc:87 src/BufferView.cpp:2269
+#: lib/ui/stdtoolbars.inc:87 src/BufferView.cpp:2270
msgid "Copy"
msgstr "Kopieren"
#: lib/ui/stdcontext.inc:63 lib/ui/stdcontext.inc:377 lib/ui/stdmenus.inc:110
#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1528
#: src/frontends/qt/GuiToolbar.cpp:441 src/mathed/InsetMathGrid.cpp:1565
-#: src/mathed/InsetMathNest.cpp:533
+#: src/mathed/InsetMathNest.cpp:539
msgid "Paste"
msgstr "Einfügen"
@@ -21840,16 +21836,16 @@ msgid "Toggle right line"
msgstr "Rechte Linie an/aus"
#: lib/ui/stdtoolbars.inc:167
-msgid "Set border lines"
-msgstr "ÃuÃere Linien setzen"
+msgid "Toggle border lines"
+msgstr "Rahmenlinien an/aus"
#: lib/ui/stdtoolbars.inc:168
-msgid "Set all lines"
-msgstr "Alle Linien setzen"
+msgid "Toggle inner lines"
+msgstr "Innere Linien an/aus"
#: lib/ui/stdtoolbars.inc:169
-msgid "Set inner lines"
-msgstr "Innere Linien setzen"
+msgid "Toggle all lines"
+msgstr "Alle Linien an/aus"
#: lib/ui/stdtoolbars.inc:170
msgid "Unset all lines"
@@ -22046,7 +22042,7 @@ msgstr "Trennzeichen (feste GröÃe)"
msgid "Miscellaneous (extended)"
msgstr "Verschiedenes (erweitert)"
-#: lib/ui/stdtoolbars.inc:237 src/TocBackend.cpp:300
+#: lib/ui/stdtoolbars.inc:237 src/TocBackend.cpp:303
msgid "Math Macros"
msgstr "Mathe-Makros"
@@ -26982,7 +26978,7 @@ msgstr "Beispiel (roh)"
msgid "Gnuplot"
msgstr "Gnuplot"
-#: lib/examples/Articles:0 src/TocBackend.cpp:299
+#: lib/examples/Articles:0 src/TocBackend.cpp:302
#: src/frontends/qt/GuiExternal.cpp:86
msgid "External Material"
msgstr "Externes Material"
@@ -26992,10 +26988,6 @@ msgid "Feynman Diagrams"
msgstr "Feynman-Diagramme"
#: lib/examples/Articles:0
-msgid "Instant Preview"
-msgstr "Eingebettete Vorschau"
-
-#: lib/examples/Articles:0
msgid "Itemize Bullets"
msgstr "Auflistungszeichen"
@@ -27016,6 +27008,10 @@ msgid "XY-Pic"
msgstr "XY-Pic"
#: lib/examples/Articles:0
+msgid "Instant Preview"
+msgstr "Eingebettete Vorschau"
+
+#: lib/examples/Articles:0
msgid "Graphics and Insets"
msgstr "Grafiken und Einfügungen"
@@ -27036,14 +27032,6 @@ msgid "Localization Test"
msgstr "Ãbersetzungstest"
#: lib/examples/Articles:0
-msgid "Hazard and Precautionary Statements"
-msgstr "H- und P-Sätze"
-
-#: lib/examples/Articles:0
-msgid "LilyPond Book"
-msgstr "LilyPond-Buch"
-
-#: lib/examples/Articles:0
msgid "Multilingual Captions"
msgstr "Mehrsprachige Legenden"
@@ -27055,6 +27043,14 @@ msgstr "Noweb2LyX"
msgid "Noweb Listerrors"
msgstr "Noweb-Fehlerbericht"
+#: lib/examples/Articles:0
+msgid "LilyPond Book"
+msgstr "LilyPond-Buch"
+
+#: lib/examples/Articles:0
+msgid "Hazard and Precautionary Statements"
+msgstr "H- und P-Sätze"
+
#: lib/examples/Articles:0 src/frontends/qt/GuiDocument.cpp:1775
msgid "Modules"
msgstr "Module"
@@ -27084,10 +27080,6 @@ msgid "Multilingual Typesetting with platex"
msgstr "Mehrsprachige Dokumente mit platex"
#: lib/examples/Articles:0
-msgid "Hebrew Article (KOMA-Script)"
-msgstr "Hebräischer Aufsatz (KOMA-Script)"
-
-#: lib/examples/Articles:0
msgid "IEEE Transactions Conference"
msgstr "IEEE Transactions Conference"
@@ -27104,6 +27096,10 @@ msgid "Springers Global Journal Template (V. 3)"
msgstr "Springers globale Vorlage für Zeitschriften (V. 3)"
#: lib/examples/Articles:0
+msgid "Hebrew Article (KOMA-Script)"
+msgstr "Hebräischer Aufsatz (KOMA-Script)"
+
+#: lib/examples/Articles:0
msgid "00 Main File"
msgstr "00 Hauptdatei"
@@ -27542,7 +27538,7 @@ msgstr "iconv-Konvertierung fehlgeschlagen"
msgid "conversion failed"
msgstr "Konvertierung fehlgeschlagen"
-#: src/Buffer.cpp:1917 src/insets/InsetGraphics.cpp:905
+#: src/Buffer.cpp:1917 src/insets/InsetGraphics.cpp:919
msgid "Uncodable character in file path"
msgstr "Unkodierbares Zeichen im Dateipfad"
@@ -27647,13 +27643,13 @@ msgid "Error viewing the output file."
msgstr "Fehler bei der Ansicht der Ausgabedatei."
#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2706
-#: src/frontends/qt/Validator.cpp:241 src/insets/ExternalSupport.cpp:394
-#: src/insets/InsetGraphics.cpp:692 src/insets/InsetInclude.cpp:606
+#: src/frontends/qt/Validator.cpp:245 src/insets/ExternalSupport.cpp:394
+#: src/insets/InsetGraphics.cpp:693 src/insets/InsetInclude.cpp:606
msgid "Invalid filename"
msgstr "Ungültiger Dateiname"
#: src/Buffer.cpp:3371 src/insets/ExternalSupport.cpp:395
-#: src/insets/InsetGraphics.cpp:693 src/insets/InsetInclude.cpp:607
+#: src/insets/InsetGraphics.cpp:694 src/insets/InsetInclude.cpp:607
msgid ""
"The following filename will cause troubles when running the exported file "
"through LaTeX: "
@@ -27662,12 +27658,12 @@ msgstr ""
"exportierten Datei ausgeführt wird: "
#: src/Buffer.cpp:3376 src/insets/ExternalSupport.cpp:400
-#: src/insets/InsetGraphics.cpp:700 src/insets/InsetInclude.cpp:611
+#: src/insets/InsetGraphics.cpp:701 src/insets/InsetInclude.cpp:611
msgid "Problematic filename for DVI"
msgstr "Problematischer Dateiname für DVI"
#: src/Buffer.cpp:3377 src/insets/ExternalSupport.cpp:401
-#: src/insets/InsetGraphics.cpp:701 src/insets/InsetInclude.cpp:612
+#: src/insets/InsetGraphics.cpp:702 src/insets/InsetInclude.cpp:612
msgid ""
"The following filename can cause troubles when running the exported file "
"through LaTeX and opening the resulting DVI: "
@@ -27900,16 +27896,16 @@ msgstr ""
"%1$s ist schreibgeschützt.\n"
"Bitte speichern Sie die Datei unter einem neuen Namen."
-#: src/Buffer.cpp:5206 src/insets/InsetCaption.cpp:404
+#: src/Buffer.cpp:5213 src/insets/InsetCaption.cpp:404
msgid "Senseless!!! "
msgstr "Sinnlos!!! "
-#: src/Buffer.cpp:5470
+#: src/Buffer.cpp:5477
#, c-format
msgid "Document %1$s reloaded."
msgstr "Dokument %1$s neu geladen."
-#: src/Buffer.cpp:5473
+#: src/Buffer.cpp:5480
#, c-format
msgid "Could not reload document %1$s."
msgstr "Kann Dokument %1$s nicht neu laden."
@@ -28027,23 +28023,23 @@ msgid "greyedout inset text"
msgstr "Grauschrift-Einfügungstext"
#: src/BufferParams.cpp:1718 src/BufferParams.cpp:1872
-#: src/BufferParams.cpp:2315 src/Encoding.cpp:253 src/Paragraph.cpp:3014
+#: src/BufferParams.cpp:2315 src/Encoding.cpp:264 src/Paragraph.cpp:3014
#: src/frontends/qt/LaTeXHighlighter.cpp:143
#: src/frontends/qt/LaTeXHighlighter.cpp:257
#: src/insets/InsetCommandParams.cpp:508 src/insets/InsetCommandParams.cpp:516
-#: src/insets/InsetGraphics.cpp:886 src/insets/InsetGraphics.cpp:894
+#: src/insets/InsetGraphics.cpp:900 src/insets/InsetGraphics.cpp:908
#: src/insets/InsetListings.cpp:299 src/insets/InsetListings.cpp:307
-#: src/insets/InsetListings.cpp:332 src/mathed/MathExtern.cpp:1440
-#: src/mathed/MathExtern.cpp:1514
+#: src/insets/InsetListings.cpp:332 src/mathed/MathExtern.cpp:1444
+#: src/mathed/MathExtern.cpp:1518
msgid "LyX Warning: "
msgstr "LyX-Warnung: "
#: src/BufferParams.cpp:1719 src/BufferParams.cpp:1873
-#: src/BufferParams.cpp:2316 src/Encoding.cpp:254 src/Paragraph.cpp:3015
+#: src/BufferParams.cpp:2316 src/Encoding.cpp:265 src/Paragraph.cpp:3015
#: src/insets/InsetCommandParams.cpp:509 src/insets/InsetCommandParams.cpp:517
-#: src/insets/InsetGraphics.cpp:887 src/insets/InsetGraphics.cpp:895
+#: src/insets/InsetGraphics.cpp:901 src/insets/InsetGraphics.cpp:909
#: src/insets/InsetListings.cpp:300 src/insets/InsetListings.cpp:308
-#: src/mathed/MathExtern.cpp:1441 src/mathed/MathExtern.cpp:1515
+#: src/mathed/MathExtern.cpp:1445 src/mathed/MathExtern.cpp:1519
msgid "uncodable character"
msgstr "unkodierbares Zeichen"
@@ -28221,7 +28217,7 @@ msgstr "Das Dokument wurde extern bearbeitet"
msgid "This portion of the document is deleted."
msgstr "Dieser Teil des Dokuments wird gelöscht."
-#: src/BufferView.cpp:1191 src/BufferView.cpp:2254
+#: src/BufferView.cpp:1191 src/BufferView.cpp:2255
#: src/frontends/qt/GuiView.cpp:4296 src/frontends/qt/GuiView.cpp:4384
msgid "Absolute filename expected."
msgstr "Ein absoluter Dateipfad wird erwartet."
@@ -28298,42 +28294,42 @@ msgstr "Ein Zeichen (ohne Leerzeichen)"
msgid "Statistics"
msgstr "Statistik"
-#: src/BufferView.cpp:2112
+#: src/BufferView.cpp:2113
#, c-format
msgid ""
"`inset-forall' interrupted because number of actions is larger than %1$d"
msgstr ""
",inset-forall` wurde abgebrochen, da die Zahl der Aktionen %1$d übersteigt"
-#: src/BufferView.cpp:2114
+#: src/BufferView.cpp:2115
#, c-format
msgid "Applied \"%1$s\" to %2$d insets"
msgstr "Der Befehl \"%1$s\" wurde auf %2$d Einfügungen angewandt"
-#: src/BufferView.cpp:2122
+#: src/BufferView.cpp:2123
msgid "Branch name"
msgstr "Name des Zweigs"
-#: src/BufferView.cpp:2129 src/frontends/qt/GuiBranches.cpp:225
+#: src/BufferView.cpp:2130 src/frontends/qt/GuiBranches.cpp:225
msgid "Branch already exists"
msgstr "Zweig existiert bereits"
-#: src/BufferView.cpp:3056
+#: src/BufferView.cpp:3057
#, c-format
msgid "Inserting document %1$s..."
msgstr "Füge Dokument %1$s ein..."
-#: src/BufferView.cpp:3072
+#: src/BufferView.cpp:3073
#, c-format
msgid "Document %1$s inserted."
msgstr "Dokument %1$s ist eingefügt."
-#: src/BufferView.cpp:3074
+#: src/BufferView.cpp:3075
#, c-format
msgid "Could not insert document %1$s"
msgstr "Das Dokument %1$s konnte nicht eingefügt werden"
-#: src/BufferView.cpp:3569
+#: src/BufferView.cpp:3570
#, c-format
msgid ""
"Could not read the specified document\n"
@@ -28344,11 +28340,11 @@ msgstr ""
"konnte aufgrund des folgenden Fehlers\n"
"nicht gelesen werden: %2$s"
-#: src/BufferView.cpp:3571
+#: src/BufferView.cpp:3572
msgid "Could not read file"
msgstr "Die Datei konnte nicht gelesen werden"
-#: src/BufferView.cpp:3578
+#: src/BufferView.cpp:3579
#, c-format
msgid ""
"%1$s\n"
@@ -28357,17 +28353,17 @@ msgstr ""
"%1$s\n"
"ist nicht lesbar."
-#: src/BufferView.cpp:3579 src/frontends/qt/qt_helpers.cpp:311
-#: src/frontends/qt/qt_helpers.cpp:314 src/frontends/qt/qt_helpers.cpp:320
+#: src/BufferView.cpp:3580 src/frontends/qt/qt_helpers.cpp:322
+#: src/frontends/qt/qt_helpers.cpp:325 src/frontends/qt/qt_helpers.cpp:331
#: src/output.cpp:39
msgid "Could not open file"
msgstr "Die Datei konnte nicht geöffnet werden"
-#: src/BufferView.cpp:3586
+#: src/BufferView.cpp:3587
msgid "Reading not UTF-8 encoded file"
msgstr "Lese nicht-UTF-8-kodierte Datei"
-#: src/BufferView.cpp:3587
+#: src/BufferView.cpp:3588
msgid ""
"The file is not UTF-8 encoded.\n"
"It will be read as local 8Bit-encoded.\n"
@@ -30479,11 +30475,11 @@ msgstr ""
msgid "Unknown Inset"
msgstr "Unbekannte Einfügung"
-#: src/Text.cpp:554 src/insets/InsetTabular.cpp:473
+#: src/Text.cpp:554 src/insets/InsetTabular.cpp:476
msgid "Change tracking author index missing"
msgstr "Autorindex für die Ãnderungsverfolgung fehlt"
-#: src/Text.cpp:555 src/insets/InsetTabular.cpp:474
+#: src/Text.cpp:555 src/insets/InsetTabular.cpp:477
#, c-format
msgid ""
"A change tracking author information for index %1$d is missing. This can "
@@ -30584,7 +30580,7 @@ msgstr "Mathe-Editor-Modus"
msgid "No valid math formula"
msgstr "Keine gültige Matheformel"
-#: src/Text3.cpp:210 src/mathed/InsetMathNest.cpp:1032
+#: src/Text3.cpp:210 src/mathed/InsetMathNest.cpp:1038
msgid "Already in regular expression mode"
msgstr "Bereits im Regexp-Modus"
@@ -30604,7 +30600,7 @@ msgstr " unbekannt"
msgid "Table Style "
msgstr "Tabellenstil"
-#: src/Text3.cpp:2385 src/frontends/qt/GuiApplication.cpp:1873
+#: src/Text3.cpp:2385 src/frontends/qt/GuiApplication.cpp:1887
msgid "Missing argument"
msgstr "Fehlendes Argument"
@@ -30761,53 +30757,57 @@ msgstr ""
msgid "Error reading cite engine %1$s\n"
msgstr "Fehler beim Lesen der Zitierformatdatei %1$s\n"
-#: src/TocBackend.cpp:270 src/insets/InsetIndex.cpp:517
+#: src/TocBackend.cpp:69 src/insets/InsetInclude.cpp:1373
+msgid "MISSING: "
+msgstr "NICHT VORHANDEN:"
+
+#: src/TocBackend.cpp:273 src/insets/InsetIndex.cpp:517
#: src/insets/InsetIndex.cpp:538
msgid "unknown type!"
msgstr "unbekannter Typ!"
-#: src/TocBackend.cpp:273
+#: src/TocBackend.cpp:276
#, c-format
msgid "Index Entries (%1$s)"
msgstr "Stichwörter (%1$s)"
-#: src/TocBackend.cpp:289 src/insets/InsetTOC.cpp:75
+#: src/TocBackend.cpp:292 src/insets/InsetTOC.cpp:75
msgid "Table of Contents"
msgstr "Inhaltsverzeichnis"
-#: src/TocBackend.cpp:290
+#: src/TocBackend.cpp:293
msgid "Changes"
msgstr "Ãnderungen"
-#: src/TocBackend.cpp:291
+#: src/TocBackend.cpp:294
msgid "Senseless"
msgstr "Sinnlos"
-#: src/TocBackend.cpp:292
+#: src/TocBackend.cpp:295
msgid "Citations"
msgstr "Literaturverweise"
-#: src/TocBackend.cpp:293
+#: src/TocBackend.cpp:296
msgid "Labels and References"
msgstr "Marken und Querverweise"
-#: src/TocBackend.cpp:294
+#: src/TocBackend.cpp:297
msgid "Broken References and Citations"
msgstr "Ungültige Literatur- und Querverweise"
-#: src/TocBackend.cpp:296 src/frontends/qt/GuiDocument.cpp:1774
+#: src/TocBackend.cpp:299 src/frontends/qt/GuiDocument.cpp:1774
msgid "Child Documents"
msgstr "Unterdokumente"
-#: src/TocBackend.cpp:297
+#: src/TocBackend.cpp:300
msgid "Graphics[[listof]]"
msgstr "Grafiken"
-#: src/TocBackend.cpp:298
+#: src/TocBackend.cpp:301
msgid "Equations"
msgstr "Gleichungen"
-#: src/TocBackend.cpp:301
+#: src/TocBackend.cpp:304
msgid "Nomenclature Entries"
msgstr "Nomenklatureinträge"
@@ -31020,15 +31020,15 @@ msgstr ""
#: src/VCBackend.cpp:1522 src/VCBackend.cpp:1526
#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1895
-#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:351
-#: src/lyxfind.cpp:694 src/lyxfind.cpp:722
+#: src/lyxfind.cpp:310 src/lyxfind.cpp:337 src/lyxfind.cpp:358
+#: src/lyxfind.cpp:701 src/lyxfind.cpp:729
msgid "&Yes"
msgstr "&Ja"
#: src/VCBackend.cpp:1522 src/VCBackend.cpp:1526
#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1895
-#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:351
-#: src/lyxfind.cpp:694 src/lyxfind.cpp:722
+#: src/lyxfind.cpp:310 src/lyxfind.cpp:337 src/lyxfind.cpp:358
+#: src/lyxfind.cpp:701 src/lyxfind.cpp:729
msgid "&No"
msgstr "&Nein"
@@ -31165,7 +31165,7 @@ msgid "Dings 4"
msgstr "Dings 4"
#: src/frontends/qt/ButtonController.cpp:222
-#: src/frontends/qt/GuiApplication.cpp:1997 src/frontends/qt/GuiCompare.cpp:193
+#: src/frontends/qt/GuiApplication.cpp:2011 src/frontends/qt/GuiCompare.cpp:193
#: src/frontends/qt/GuiSymbols.cpp:346
msgid "Cancel"
msgstr "Abbrechen"
@@ -31237,8 +31237,8 @@ msgstr "Erweiterte Suche läuft (drücken Sie ESC, um abzubrechen) ..."
msgid "Advanced search cancelled by user"
msgstr "Erweiterte Suche durch den Benutzer abgebrochen"
-#: src/frontends/qt/FindAndReplace.cpp:380 src/lyxfind.cpp:350
-#: src/lyxfind.cpp:693 src/lyxfind.cpp:721
+#: src/frontends/qt/FindAndReplace.cpp:380 src/lyxfind.cpp:357
+#: src/lyxfind.cpp:700 src/lyxfind.cpp:728
msgid "Wrap search?"
msgstr "Von vorne suchen?"
@@ -31391,89 +31391,89 @@ msgstr "Python-Aufruf: %1$s"
msgid "About LyX"
msgstr "Ãber LyX"
-#: src/frontends/qt/GuiApplication.cpp:736
+#: src/frontends/qt/GuiApplication.cpp:750
msgid "About %1"
msgstr "Ãber %1"
-#: src/frontends/qt/GuiApplication.cpp:737 src/frontends/qt/GuiPrefs.cpp:3528
+#: src/frontends/qt/GuiApplication.cpp:751 src/frontends/qt/GuiPrefs.cpp:3528
msgid "Preferences"
msgstr "Einstellungen"
-#: src/frontends/qt/GuiApplication.cpp:738
+#: src/frontends/qt/GuiApplication.cpp:752
msgid "Reconfigure"
msgstr "Neu konfigurieren"
-#: src/frontends/qt/GuiApplication.cpp:739
+#: src/frontends/qt/GuiApplication.cpp:753
msgid "Restore Defaults"
msgstr "Voreinstellungen"
-#: src/frontends/qt/GuiApplication.cpp:740
+#: src/frontends/qt/GuiApplication.cpp:754
msgid "Quit %1"
msgstr "%1 beenden"
-#: src/frontends/qt/GuiApplication.cpp:741 src/frontends/qt/GuiInclude.cpp:318
+#: src/frontends/qt/GuiApplication.cpp:755 src/frontends/qt/GuiInclude.cpp:318
#: src/frontends/qt/GuiInclude.cpp:328 src/frontends/qt/GuiInclude.cpp:333
msgid "&OK"
msgstr "&OK"
-#: src/frontends/qt/GuiApplication.cpp:743
+#: src/frontends/qt/GuiApplication.cpp:757
msgid "Apply"
msgstr "Anwenden"
-#: src/frontends/qt/GuiApplication.cpp:744
+#: src/frontends/qt/GuiApplication.cpp:758
msgid "Reset"
msgstr "Zurücksetzen"
-#: src/frontends/qt/GuiApplication.cpp:745
+#: src/frontends/qt/GuiApplication.cpp:759
msgid "Open"
msgstr "Ãffnen"
-#: src/frontends/qt/GuiApplication.cpp:1270
+#: src/frontends/qt/GuiApplication.cpp:1284
msgid "Nothing to do"
msgstr "Nichts zu tun"
-#: src/frontends/qt/GuiApplication.cpp:1276
+#: src/frontends/qt/GuiApplication.cpp:1290
msgid "Unknown action"
msgstr "Unbekannte Aktion"
-#: src/frontends/qt/GuiApplication.cpp:1320
+#: src/frontends/qt/GuiApplication.cpp:1334
msgid "Command not handled"
msgstr "Befehl wurde nicht ausgeführt"
-#: src/frontends/qt/GuiApplication.cpp:1326
+#: src/frontends/qt/GuiApplication.cpp:1340
msgid "Command disabled"
msgstr "Befehl ist deaktiviert"
-#: src/frontends/qt/GuiApplication.cpp:1434
+#: src/frontends/qt/GuiApplication.cpp:1448
#, c-format
msgid "Bad debug value `%1$s'."
msgstr "Falscher Debug-Wert ,%1$s'."
-#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2214
+#: src/frontends/qt/GuiApplication.cpp:1477 src/frontends/qt/GuiView.cpp:2214
msgid "Command not allowed without a buffer open"
msgstr "Dieser Befehl ist nur bei geöffnetem Dokument möglich"
-#: src/frontends/qt/GuiApplication.cpp:1470
+#: src/frontends/qt/GuiApplication.cpp:1484
msgid "the <LFUN-COMMAND> argument of buffer-forall is not valid"
msgstr "Das <LFUN-COMMAND>-Argument des Befehls 'buffer-forall' ist ungültig."
-#: src/frontends/qt/GuiApplication.cpp:1547
+#: src/frontends/qt/GuiApplication.cpp:1561
msgid "Wrong focus!"
msgstr "Fokusfehler!"
-#: src/frontends/qt/GuiApplication.cpp:1681
+#: src/frontends/qt/GuiApplication.cpp:1695
msgid "Running configure..."
msgstr "Neukonfiguration wird durchgeführt..."
-#: src/frontends/qt/GuiApplication.cpp:1691
+#: src/frontends/qt/GuiApplication.cpp:1705
msgid "Reloading configuration..."
msgstr "Konfiguration wird neu geladen..."
-#: src/frontends/qt/GuiApplication.cpp:1701
+#: src/frontends/qt/GuiApplication.cpp:1715
msgid "System reconfiguration failed"
msgstr "Neukonfiguration des Systems fehlgeschlagen"
-#: src/frontends/qt/GuiApplication.cpp:1702
+#: src/frontends/qt/GuiApplication.cpp:1716
msgid ""
"The system reconfiguration has failed.\n"
"Default textclass is used but LyX may\n"
@@ -31485,11 +31485,11 @@ msgstr ""
"der Lage, korrekt zu arbeiten.\n"
"Bitte rekonfigurieren Sie nochmals, wenn nötig."
-#: src/frontends/qt/GuiApplication.cpp:1707
+#: src/frontends/qt/GuiApplication.cpp:1721
msgid "System reconfigured"
msgstr "Das System wurde neu konfiguriert"
-#: src/frontends/qt/GuiApplication.cpp:1708
+#: src/frontends/qt/GuiApplication.cpp:1722
msgid ""
"The system has been reconfigured.\n"
"You need to restart LyX to make use of any\n"
@@ -31499,59 +31499,59 @@ msgstr ""
"Sie müssen LyX neu starten, um die aktualisierten\n"
"Spezifikationen für die Dokumentklassen zu nutzen."
-#: src/frontends/qt/GuiApplication.cpp:1789
+#: src/frontends/qt/GuiApplication.cpp:1803
msgid "Exiting."
msgstr "LyX wird beendet."
-#: src/frontends/qt/GuiApplication.cpp:1885
+#: src/frontends/qt/GuiApplication.cpp:1899
#, c-format
msgid "Opening help file %1$s..."
msgstr "Hilfe-Datei %1$s wird geöffnet..."
-#: src/frontends/qt/GuiApplication.cpp:1905
+#: src/frontends/qt/GuiApplication.cpp:1919
msgid "Wrong argument. Must be 'examples' or 'templates'."
msgstr "Falsches Argument: muss 'examples' oder 'templates' sein."
-#: src/frontends/qt/GuiApplication.cpp:1919
+#: src/frontends/qt/GuiApplication.cpp:1933
msgid "Syntax: set-color <lyx_name> <x11_name> <x11_darkname>"
msgstr "Syntax: set-color <lyx_name> <x11_name> <x11_darkname>"
-#: src/frontends/qt/GuiApplication.cpp:1939
+#: src/frontends/qt/GuiApplication.cpp:1953
#, c-format
msgid "Set-color \"%1$s\" failed - color is undefined or may not be redefined"
msgstr ""
"Set-color \"%1$s\" ist fehlgeschlagen -- die Farbe ist nicht definiert oder "
"darf nicht umdefiniert werden."
-#: src/frontends/qt/GuiApplication.cpp:2044
+#: src/frontends/qt/GuiApplication.cpp:2058
#, c-format
msgid "Cannot iterate more than %1$d times"
msgstr "Mehr als %1$d Wiederholungen sind nicht möglich."
-#: src/frontends/qt/GuiApplication.cpp:2144
+#: src/frontends/qt/GuiApplication.cpp:2158
#, c-format
msgid "Applied \"%1$s\" to %2$d buffer(s)"
msgstr "Der Befehl \"%1$s\" wurde auf %2$d Dateien (Pufferspeicher) angewandt"
-#: src/frontends/qt/GuiApplication.cpp:2230
+#: src/frontends/qt/GuiApplication.cpp:2244
#, c-format
msgid "Document defaults saved in %1$s"
msgstr "Dokument-Standardeinstellungen gespeichert in %1$s"
-#: src/frontends/qt/GuiApplication.cpp:2234
+#: src/frontends/qt/GuiApplication.cpp:2248
msgid "Unable to save document defaults"
msgstr "Die Dokument-Standardeinstellungen können nicht gespeichert werden"
-#: src/frontends/qt/GuiApplication.cpp:2474
-#: src/frontends/qt/GuiApplication.cpp:2489
+#: src/frontends/qt/GuiApplication.cpp:2488
+#: src/frontends/qt/GuiApplication.cpp:2503
msgid "Unknown function."
msgstr "Unbekannte Funktion."
-#: src/frontends/qt/GuiApplication.cpp:3024
+#: src/frontends/qt/GuiApplication.cpp:3038
msgid "The current document was closed."
msgstr "Das aktuelle Dokument wurde geschlossen."
-#: src/frontends/qt/GuiApplication.cpp:3034
+#: src/frontends/qt/GuiApplication.cpp:3048
msgid ""
"LyX has caught an exception, it will now attempt to save all unsaved "
"documents and exit.\n"
@@ -31563,12 +31563,12 @@ msgstr ""
"\n"
"Exception: "
-#: src/frontends/qt/GuiApplication.cpp:3038
-#: src/frontends/qt/GuiApplication.cpp:3044
+#: src/frontends/qt/GuiApplication.cpp:3052
+#: src/frontends/qt/GuiApplication.cpp:3058
msgid "Software exception Detected"
msgstr "Softwareausnahme erkannt"
-#: src/frontends/qt/GuiApplication.cpp:3042
+#: src/frontends/qt/GuiApplication.cpp:3056
msgid ""
"LyX has caught some really weird exception, it will now attempt to save all "
"unsaved documents and exit."
@@ -31576,12 +31576,12 @@ msgstr ""
"LyX hat einen ziemlich seltsamen Fehler entdeckt. Das Programm wird jetzt "
"versuchen, alle ungespeicherten Dateien zu speichern, und dann beendet."
-#: src/frontends/qt/GuiApplication.cpp:3348
-#: src/frontends/qt/GuiApplication.cpp:3360
+#: src/frontends/qt/GuiApplication.cpp:3362
+#: src/frontends/qt/GuiApplication.cpp:3374
msgid "Could not find UI definition file"
msgstr "Die Benutzeroberflächen-Definitionsdatei konnte nicht gefunden werden"
-#: src/frontends/qt/GuiApplication.cpp:3349
+#: src/frontends/qt/GuiApplication.cpp:3363
#, c-format
msgid ""
"Error while reading the included file\n"
@@ -31592,13 +31592,13 @@ msgstr ""
"%1$s.\n"
"Bitte überprüfen Sie Ihre Installation."
-#: src/frontends/qt/GuiApplication.cpp:3355
+#: src/frontends/qt/GuiApplication.cpp:3369
msgid "Could not find default UI file"
msgstr ""
"Die Standard-Benutzeroberflächen-Definitionsdatei konnte nicht gefunden "
"werden"
-#: src/frontends/qt/GuiApplication.cpp:3356
+#: src/frontends/qt/GuiApplication.cpp:3370
msgid ""
"LyX could not find the default UI file!\n"
"Please check your installation."
@@ -31607,7 +31607,7 @@ msgstr ""
"für die Benutzeroberfläche!\n"
"Bitte überprüfen Sie Ihre Installation."
-#: src/frontends/qt/GuiApplication.cpp:3361
+#: src/frontends/qt/GuiApplication.cpp:3375
#, c-format
msgid ""
"Error while reading the configuration file\n"
@@ -33999,7 +33999,7 @@ msgstr "&Gehe zurück"
msgid "Jump back to the original cursor location"
msgstr "Springe zur ursprünglichen Cursor-Platzierung zurück"
-#: src/frontends/qt/GuiRef.cpp:467 src/frontends/qt/GuiRef.cpp:487
+#: src/frontends/qt/GuiRef.cpp:471 src/frontends/qt/GuiRef.cpp:491
msgid "<No prefix>"
msgstr "<Ohne Präfix>"
@@ -35448,11 +35448,11 @@ msgstr "%1$s aktualisieren"
msgid "View %1$s"
msgstr "%1$s ansehen"
-#: src/frontends/qt/Validator.cpp:214
+#: src/frontends/qt/Validator.cpp:218
msgid "space"
msgstr "Leerzeichen"
-#: src/frontends/qt/Validator.cpp:242
+#: src/frontends/qt/Validator.cpp:246
msgid ""
"LyX does not provide LaTeX support for file names containing any of these "
"characters:\n"
@@ -35460,48 +35460,48 @@ msgstr ""
"LyX bietet keine LaTeX-Unterstützung für Dateinamen, die eines der folgenden "
"Zeichen enthalten:\n"
-#: src/frontends/qt/qt_helpers.cpp:280
+#: src/frontends/qt/qt_helpers.cpp:291
msgid "Invalid URL"
msgstr "Ungültige URL"
-#: src/frontends/qt/qt_helpers.cpp:281
+#: src/frontends/qt/qt_helpers.cpp:292
#, c-format
msgid "The URL `%1$s' could not be resolved."
msgstr "Die URL ,%1$s` konnte nicht aufgelöst werden."
-#: src/frontends/qt/qt_helpers.cpp:287
+#: src/frontends/qt/qt_helpers.cpp:298
msgid "URL could not be accessed"
msgstr "URL nicht zugänglich."
-#: src/frontends/qt/qt_helpers.cpp:288
+#: src/frontends/qt/qt_helpers.cpp:299
#, c-format
msgid "The URL `%1$s' could not be opened although it exists!"
msgstr "Die URL ,%1$s` konnte nicht geöffnet werden, obwohl sie existiert!"
-#: src/frontends/qt/qt_helpers.cpp:312
+#: src/frontends/qt/qt_helpers.cpp:323
msgid "The lyxpaperview script failed."
msgstr "Das Skript lyxpaperview ist fehlgeschlagen."
-#: src/frontends/qt/qt_helpers.cpp:315
+#: src/frontends/qt/qt_helpers.cpp:326
#, c-format
msgid "No file was found using the pattern `%1$s'."
msgstr "Mit dem Suchmuster ,%1$s` konnte keine Datei gefunden werden."
-#: src/frontends/qt/qt_helpers.cpp:321
+#: src/frontends/qt/qt_helpers.cpp:332
#, c-format
msgid "The target `%1$s' could not be resolved."
msgstr "Das Verweisziel ,%1$s` konnte nicht aufgelöst werden."
-#: src/frontends/qt/qt_helpers.cpp:357
+#: src/frontends/qt/qt_helpers.cpp:368
msgid "Could not update TeX information"
msgstr "Die TeX-Informationen konnten nicht aktualisiert werden"
-#: src/frontends/qt/qt_helpers.cpp:358
+#: src/frontends/qt/qt_helpers.cpp:369
#, c-format
msgid "The script `%1$s' failed."
msgstr "Das Skript ,%1$s` ist fehlgeschlagen."
-#: src/frontends/qt/qt_helpers.cpp:606
+#: src/frontends/qt/qt_helpers.cpp:617
msgid "All Files "
msgstr "Alle Dateien "
@@ -35900,15 +35900,15 @@ msgstr "FEHLER: Unbekannter Gleitobjekt-Typ: %1$s"
msgid "float"
msgstr "Gleitobjekt"
-#: src/insets/InsetFloat.cpp:911
+#: src/insets/InsetFloat.cpp:914
msgid "Float: "
msgstr "Gleitobjekt: "
-#: src/insets/InsetFloat.cpp:914
+#: src/insets/InsetFloat.cpp:917
msgid "Subfloat: "
msgstr "Untergleitobjekt: "
-#: src/insets/InsetFloat.cpp:924
+#: src/insets/InsetFloat.cpp:927
msgid " (sideways)"
msgstr " (seitwärts)"
@@ -35925,7 +35925,7 @@ msgstr "LyX kann keine Liste mit %1$s erzeugen"
msgid "footnote"
msgstr "FuÃnote"
-#: src/insets/InsetGraphics.cpp:562 src/insets/InsetInclude.cpp:787
+#: src/insets/InsetGraphics.cpp:563 src/insets/InsetInclude.cpp:787
#, c-format
msgid ""
"Could not copy the file\n"
@@ -35936,12 +35936,25 @@ msgstr ""
"%1$s\n"
"konnte nicht in das temporäre Verzeichnis kopiert werden."
-#: src/insets/InsetGraphics.cpp:778 src/insets/InsetGraphics.cpp:1015
+#: src/insets/InsetGraphics.cpp:779 src/insets/InsetGraphics.cpp:1029
#, c-format
msgid "No conversion of %1$s is needed after all"
msgstr "Es ist keine Konvertierung von %1$s notwendig"
-#: src/insets/InsetGraphics.cpp:906
+#: src/insets/InsetGraphics.cpp:832
+msgid "Graphic not specified. Falling back to `draft' mode."
+msgstr "Keine Grafikdatei angegeben. Verwende 'Draft'-Modus."
+
+#: src/insets/InsetGraphics.cpp:833
+#, c-format
+msgid "Graphic `%1$s' was not found. Falling back to `draft' mode."
+msgstr "Die Grafikdatei `%1$s' wurde nicht gefunden. Verwende 'Draft'-Modus."
+
+#: src/insets/InsetGraphics.cpp:836
+msgid "Graphic not found!"
+msgstr "Grafik nicht gefunden!"
+
+#: src/insets/InsetGraphics.cpp:920
#, c-format
msgid ""
"The following characters in one of the graphic paths are\n"
@@ -35953,7 +35966,7 @@ msgstr ""
"%1$s. \n"
"Sie müssen entweder die Kodierung oder den Pfad anpassen."
-#: src/insets/InsetGraphics.cpp:931
+#: src/insets/InsetGraphics.cpp:945
#, c-format
msgid "Graphics file: %1$s"
msgstr "Grafikdatei: %1$s"
@@ -36150,10 +36163,6 @@ msgstr ""
"Betroffene Datei:\n"
"%1$s"
-#: src/insets/InsetInclude.cpp:1373
-msgid "MISSING: "
-msgstr "NICHT VORHANDEN:"
-
#: src/insets/InsetIndex.cpp:169
msgid "Index sorting failed"
msgstr "Indexsortierung fehlgeschlagen"
@@ -36187,276 +36196,276 @@ msgstr "Alle Indexe"
msgid "subindex"
msgstr "Unterindex"
-#: src/insets/InsetInfo.cpp:194
+#: src/insets/InsetInfo.cpp:195
msgid "No long date format (language unknown)!"
msgstr "Kein langes Datumsformat (Sprache unbekannt)!"
-#: src/insets/InsetInfo.cpp:197
+#: src/insets/InsetInfo.cpp:198
msgid "No medium date format (language unknown)!"
msgstr "Kein mittleres Datumsformat (Sprache unbekannt)!"
-#: src/insets/InsetInfo.cpp:200
+#: src/insets/InsetInfo.cpp:201
msgid "No short date format (language unknown)!"
msgstr "Kein kurzes Datumsformat (Sprache unbekannt)!"
-#: src/insets/InsetInfo.cpp:229
+#: src/insets/InsetInfo.cpp:230
msgid "Please select a valid type!"
msgstr "Bitte wählen Sie einen gültigen Typ!"
-#: src/insets/InsetInfo.cpp:269
+#: src/insets/InsetInfo.cpp:270
msgid "File name (with extension)"
msgstr "Dateiname (mit Endung)"
-#: src/insets/InsetInfo.cpp:270
+#: src/insets/InsetInfo.cpp:271
msgid "File name (without extension)"
msgstr "Dateiname (ohne Endung)"
-#: src/insets/InsetInfo.cpp:271
+#: src/insets/InsetInfo.cpp:272
msgid "File path"
msgstr "Dateipfad"
-#: src/insets/InsetInfo.cpp:272
+#: src/insets/InsetInfo.cpp:273
msgid "Used text class"
msgstr "Verwendete Textklasse"
-#: src/insets/InsetInfo.cpp:277 src/insets/InsetInfo.cpp:1116
+#: src/insets/InsetInfo.cpp:278 src/insets/InsetInfo.cpp:1145
msgid "No version control!"
msgstr "Keine Versionskontrolle!"
-#: src/insets/InsetInfo.cpp:280
+#: src/insets/InsetInfo.cpp:281
msgid "Revision[[Version Control]]"
msgstr "Revision"
-#: src/insets/InsetInfo.cpp:281
+#: src/insets/InsetInfo.cpp:282
msgid "Abbreviated revision[[Version Control]]"
msgstr "Abgekürzte Revision"
-#: src/insets/InsetInfo.cpp:282
+#: src/insets/InsetInfo.cpp:283
msgid "Tree revision"
msgstr "Baumrevision"
-#: src/insets/InsetInfo.cpp:285
+#: src/insets/InsetInfo.cpp:286
msgid "Time[[of day]]"
msgstr "Uhrzeit"
-#: src/insets/InsetInfo.cpp:290
+#: src/insets/InsetInfo.cpp:291
msgid "LyX version"
msgstr "LyX-Version"
-#: src/insets/InsetInfo.cpp:291
+#: src/insets/InsetInfo.cpp:292
msgid "LyX layout format"
msgstr "LyX-Layoutformat"
-#: src/insets/InsetInfo.cpp:494
+#: src/insets/InsetInfo.cpp:495
msgid "Invalid information inset"
msgstr "Ungültige Informationseinfügung"
-#: src/insets/InsetInfo.cpp:497
+#: src/insets/InsetInfo.cpp:498
#, c-format
msgid "The keybard shortcut for the function '%1$s'"
msgstr "Das Tastenkürzel für die LyX-Funktion '%1$s'"
-#: src/insets/InsetInfo.cpp:501
+#: src/insets/InsetInfo.cpp:502
#, c-format
msgid "The keybard shortcuts for the function '%1$s'"
msgstr "Die Tastenkürzel für die LyX-Funktion '%1$s'"
-#: src/insets/InsetInfo.cpp:505
+#: src/insets/InsetInfo.cpp:506
#, c-format
msgid "The menu location for the function '%1$s'"
msgstr "Der Menüeintrag für die LyX-Funktion '%1$s'"
-#: src/insets/InsetInfo.cpp:509
+#: src/insets/InsetInfo.cpp:510
#, c-format
msgid "The localization for the string '%1$s'"
msgstr "Die Lokalisierung für '%1$s'"
-#: src/insets/InsetInfo.cpp:513
+#: src/insets/InsetInfo.cpp:514
#, c-format
msgid "The toolbar icon for the function '%1$s'"
msgstr "Das Werkzeugleistensymbol für die LyX-Funktion '%1$s'"
-#: src/insets/InsetInfo.cpp:517
+#: src/insets/InsetInfo.cpp:518
#, c-format
msgid "The preference setting for the preference key '%1$s'"
msgstr "Die LyX-Einstellung für den Einstellungsschlüssel '%1$s'"
-#: src/insets/InsetInfo.cpp:521
+#: src/insets/InsetInfo.cpp:522
#, c-format
msgid "Availability of the LaTeX package '%1$s'"
msgstr "Verfügbarkeit des LaTeX-Pakets '%1$s'"
-#: src/insets/InsetInfo.cpp:525
+#: src/insets/InsetInfo.cpp:526
#, c-format
msgid "Availability of the LaTeX class '%1$s'"
msgstr "Verfügbarkeit der LaTeX-Klasse '%1$s'"
-#: src/insets/InsetInfo.cpp:530
+#: src/insets/InsetInfo.cpp:531
msgid "The name of this file (incl. extension)"
msgstr "Der Name dieser Datei (inkl. Endung)"
-#: src/insets/InsetInfo.cpp:532
+#: src/insets/InsetInfo.cpp:533
msgid "The name of this file (without extension)"
msgstr "Der Name dieser Datei (ohne Endung)"
-#: src/insets/InsetInfo.cpp:534
+#: src/insets/InsetInfo.cpp:535
msgid "The path where this file is saved"
msgstr "Der Pfad, an dem diese Datei gespeichert ist"
-#: src/insets/InsetInfo.cpp:536
+#: src/insets/InsetInfo.cpp:537
msgid "The class this document uses"
msgstr "Die Klasse, die dieses Dokument verwendet"
-#: src/insets/InsetInfo.cpp:540
+#: src/insets/InsetInfo.cpp:541
msgid "Version control revision"
msgstr "Versionskontrolle: Revision"
-#: src/insets/InsetInfo.cpp:542
+#: src/insets/InsetInfo.cpp:543
msgid "Version control abbreviated revision"
msgstr "Versionskontrolle: Abgekürzte Revision"
-#: src/insets/InsetInfo.cpp:544
+#: src/insets/InsetInfo.cpp:545
msgid "Version control tree revision"
msgstr "Versionskontrolle: Tree-Revision"
-#: src/insets/InsetInfo.cpp:546
+#: src/insets/InsetInfo.cpp:547
msgid "Version control author"
msgstr "Versionskontrolle: Autor"
-#: src/insets/InsetInfo.cpp:548
+#: src/insets/InsetInfo.cpp:549
msgid "Version control date"
msgstr "Versionskontrolle: Datum"
-#: src/insets/InsetInfo.cpp:550
+#: src/insets/InsetInfo.cpp:551
msgid "Version control time"
msgstr "Versionskontrolle: Uhrzeit"
-#: src/insets/InsetInfo.cpp:554
+#: src/insets/InsetInfo.cpp:555
msgid "The current LyX version"
msgstr "Die aktuelle LyX-Version"
-#: src/insets/InsetInfo.cpp:556
+#: src/insets/InsetInfo.cpp:557
msgid "The current LyX layout format"
msgstr "Das aktuelle Format der LyX-Layoutdateien"
-#: src/insets/InsetInfo.cpp:559
+#: src/insets/InsetInfo.cpp:560
msgid "The current date"
msgstr "Das aktuelle Datum"
-#: src/insets/InsetInfo.cpp:562
+#: src/insets/InsetInfo.cpp:563
msgid "The date of last save"
msgstr "Das Datum der letzten gespeicherten Ãnderung"
-#: src/insets/InsetInfo.cpp:565
+#: src/insets/InsetInfo.cpp:566
msgid "A static date"
msgstr "Ein festes Datum"
-#: src/insets/InsetInfo.cpp:568
+#: src/insets/InsetInfo.cpp:569
msgid "The current time"
msgstr "Die aktuelle Uhrzeit"
-#: src/insets/InsetInfo.cpp:571
+#: src/insets/InsetInfo.cpp:572
msgid "The time of last save"
msgstr "Die Uhrzeit der letzten gespeicherten Ãnderung"
-#: src/insets/InsetInfo.cpp:574
+#: src/insets/InsetInfo.cpp:575
msgid "A static time"
msgstr "Eine feste Zeitangabe"
-#: src/insets/InsetInfo.cpp:601
+#: src/insets/InsetInfo.cpp:602
msgid "Missing \\end_inset at this point."
msgstr "Fehlendes \\end_inset an dieser Stelle."
-#: src/insets/InsetInfo.cpp:795
+#: src/insets/InsetInfo.cpp:824
msgid "Unknown Info!"
msgstr "Unbekannte Info-Einfügung!"
-#: src/insets/InsetInfo.cpp:804 src/insets/InsetInfo.cpp:991
+#: src/insets/InsetInfo.cpp:833 src/insets/InsetInfo.cpp:1020
#, c-format
msgid "Unknown action %1$s"
msgstr "Aktion '%1$s' unbekannt"
-#: src/insets/InsetInfo.cpp:810 src/insets/InsetInfo.cpp:920
-#: src/insets/InsetInfo.cpp:929 src/insets/InsetInfo.cpp:937
+#: src/insets/InsetInfo.cpp:839 src/insets/InsetInfo.cpp:949
+#: src/insets/InsetInfo.cpp:958 src/insets/InsetInfo.cpp:966
msgid "undefined"
msgstr "undefiniert"
-#: src/insets/InsetInfo.cpp:833 src/insets/InsetInfo.cpp:883
+#: src/insets/InsetInfo.cpp:862 src/insets/InsetInfo.cpp:912
msgid "Return[[Key]]"
msgstr "Return"
-#: src/insets/InsetInfo.cpp:838
+#: src/insets/InsetInfo.cpp:867
msgid "Tab[[Key]]"
msgstr "Tab"
-#: src/insets/InsetInfo.cpp:843
+#: src/insets/InsetInfo.cpp:872
msgid "PgUp"
msgstr "Bild hoch"
-#: src/insets/InsetInfo.cpp:848
+#: src/insets/InsetInfo.cpp:877
msgid "PgDown"
msgstr "Bild runter"
-#: src/insets/InsetInfo.cpp:853
+#: src/insets/InsetInfo.cpp:882
msgid "Backtab"
msgstr "Rücktab"
-#: src/insets/InsetInfo.cpp:858
+#: src/insets/InsetInfo.cpp:887
msgid "Tab"
msgstr "Tab"
-#: src/insets/InsetInfo.cpp:868
+#: src/insets/InsetInfo.cpp:897
msgid "CapsLock"
msgstr "Feststelltaste"
-#: src/insets/InsetInfo.cpp:873
+#: src/insets/InsetInfo.cpp:902
msgid "Control[[Key]]"
msgstr "Control"
-#: src/insets/InsetInfo.cpp:878
+#: src/insets/InsetInfo.cpp:907
msgid "Command[[Key]]"
msgstr "Command"
-#: src/insets/InsetInfo.cpp:888
+#: src/insets/InsetInfo.cpp:917
msgid "Option[[Key]]"
msgstr "Option"
-#: src/insets/InsetInfo.cpp:893
+#: src/insets/InsetInfo.cpp:922
msgid "Delete[[Key]]"
msgstr "Rücktaste"
-#: src/insets/InsetInfo.cpp:898
+#: src/insets/InsetInfo.cpp:927
msgid "Fn+Del"
msgstr "Fn+Rücktaste"
-#: src/insets/InsetInfo.cpp:903
+#: src/insets/InsetInfo.cpp:932
msgid "Esc"
msgstr "Esc"
-#: src/insets/InsetInfo.cpp:947
+#: src/insets/InsetInfo.cpp:976
msgid "not set"
msgstr "nicht eingestellt"
-#: src/insets/InsetInfo.cpp:959 src/insets/InsetInfo.cpp:976
+#: src/insets/InsetInfo.cpp:988 src/insets/InsetInfo.cpp:1005
msgid "yes"
msgstr "ja"
-#: src/insets/InsetInfo.cpp:962 src/insets/InsetInfo.cpp:979
+#: src/insets/InsetInfo.cpp:991 src/insets/InsetInfo.cpp:1008
msgid "no"
msgstr "nein"
-#: src/insets/InsetInfo.cpp:1002
+#: src/insets/InsetInfo.cpp:1031
#, c-format
msgid "Can't determine menu entry for action %1$s in batch mode"
msgstr ""
"Der Menüeintrag für den Befehl %1$s kann im Batch-Mode nicht bestimmt werden"
-#: src/insets/InsetInfo.cpp:1010
+#: src/insets/InsetInfo.cpp:1039
#, c-format
msgid "No menu entry for action %1$s"
msgstr "Kein Menüeintrag für die Aktion %1$s"
-#: src/insets/InsetInfo.cpp:1135
+#: src/insets/InsetInfo.cpp:1164
#, c-format
msgid "%1$s[[vcs data]] unknown"
msgstr "%1$s unbekannt"
@@ -36819,7 +36828,7 @@ msgstr "Beschreibung: "
msgid "Sorting: "
msgstr "Sortierung: "
-#: src/insets/InsetNote.cpp:252
+#: src/insets/InsetNote.cpp:269
msgid "note"
msgstr "Notiz"
@@ -36867,51 +36876,51 @@ msgstr "%1$sText"
msgid "text%1$s"
msgstr "Text%1$s"
-#: src/insets/InsetRef.cpp:597
+#: src/insets/InsetRef.cpp:599
msgid "Ref"
msgstr "Querverweis"
-#: src/insets/InsetRef.cpp:598
+#: src/insets/InsetRef.cpp:600
msgid "EqRef"
msgstr "(Querverweis)"
-#: src/insets/InsetRef.cpp:599 src/mathed/InsetMathRef.cpp:373
+#: src/insets/InsetRef.cpp:601 src/mathed/InsetMathRef.cpp:373
msgid "Page Number"
msgstr "Seitennummer"
-#: src/insets/InsetRef.cpp:600 src/mathed/InsetMathRef.cpp:374
+#: src/insets/InsetRef.cpp:602 src/mathed/InsetMathRef.cpp:374
msgid "Textual Page Number"
msgstr "Seitennummer in Textform"
-#: src/insets/InsetRef.cpp:600
+#: src/insets/InsetRef.cpp:602
msgid "TextPage"
msgstr "TextSeite"
-#: src/insets/InsetRef.cpp:601 src/mathed/InsetMathRef.cpp:375
+#: src/insets/InsetRef.cpp:603 src/mathed/InsetMathRef.cpp:375
msgid "Standard+Textual Page"
msgstr "Standard+Seite in Textform"
-#: src/insets/InsetRef.cpp:601
+#: src/insets/InsetRef.cpp:603
msgid "Ref+Text"
msgstr "Querverweis+Text"
-#: src/insets/InsetRef.cpp:602 src/mathed/InsetMathRef.cpp:377
+#: src/insets/InsetRef.cpp:604 src/mathed/InsetMathRef.cpp:377
msgid "Reference to Name"
msgstr "Referenz auf Namen"
-#: src/insets/InsetRef.cpp:602
+#: src/insets/InsetRef.cpp:604
msgid "NameRef"
msgstr "Namen-Querverweis"
-#: src/insets/InsetRef.cpp:603
+#: src/insets/InsetRef.cpp:605
msgid "Formatted"
msgstr "Formatiert"
-#: src/insets/InsetRef.cpp:603
+#: src/insets/InsetRef.cpp:605
msgid "Format"
msgstr "Format"
-#: src/insets/InsetRef.cpp:604 src/mathed/InsetMathRef.cpp:378
+#: src/insets/InsetRef.cpp:606 src/mathed/InsetMathRef.cpp:378
msgid "Label Only"
msgstr "Nur Marke"
@@ -36985,11 +36994,11 @@ msgstr "Geschützter horizontaler Abstand (%1$s)"
msgid "Unknown TOC type"
msgstr "Unbekannter Inhaltsverzeichnis-Typ"
-#: src/insets/InsetTabular.cpp:464
+#: src/insets/InsetTabular.cpp:467
msgid "Change tracking data incomplete"
msgstr "Unvollständige Daten für Ãnderungsmarkierung"
-#: src/insets/InsetTabular.cpp:465
+#: src/insets/InsetTabular.cpp:468
msgid ""
"Change tracking information for tabular row/column is incomplete. I will "
"ignore this."
@@ -36997,15 +37006,15 @@ msgstr ""
"Die Informationen für die Ãnderungen von Tabellenzeilen- oder -spalten sind "
"unvollständig. Sie werden ignoriert."
-#: src/insets/InsetTabular.cpp:5607
+#: src/insets/InsetTabular.cpp:5636
msgid "Column movement not supported with multi-columns."
msgstr "Verschieben von Spalten mit Mehrfachspalten leider nicht möglich."
-#: src/insets/InsetTabular.cpp:5625
+#: src/insets/InsetTabular.cpp:5654
msgid "Row movement not supported with multi-rows."
msgstr "Verschieben von Zeilen mit Mehrfachzeilen leider nicht möglich."
-#: src/insets/InsetTabular.cpp:6127
+#: src/insets/InsetTabular.cpp:6175
msgid "Selection size should match clipboard content."
msgstr ""
"Die Anzahl der ausgewählten Zellen stimmt nicht mit dem Inhalt der "
@@ -37013,15 +37022,15 @@ msgstr ""
# , c-format
# , c-format
-#: src/insets/InsetText.cpp:1380
+#: src/insets/InsetText.cpp:1381
msgid "[contains tracked changes]"
msgstr "[enthält verfolgte Ãnderungen]"
-#: src/insets/InsetWrap.cpp:68
+#: src/insets/InsetWrap.cpp:64
msgid "Wrap: "
msgstr "Umflossenes Gleitobjekt: "
-#: src/insets/InsetWrap.cpp:201
+#: src/insets/InsetWrap.cpp:197
msgid "wrap"
msgstr "Umflossenes Gleitobjekt"
@@ -37081,15 +37090,15 @@ msgstr "Vorschau bereit"
msgid "Preview failed"
msgstr "Die Vorschau ist fehlgeschlagen"
-#: src/lyxfind.cpp:268
+#: src/lyxfind.cpp:275
msgid "Search error"
msgstr "Fehler beim Suchen"
-#: src/lyxfind.cpp:268
+#: src/lyxfind.cpp:275
msgid "Search string is empty"
msgstr "Die Such-Zeichenkette ist leer"
-#: src/lyxfind.cpp:300
+#: src/lyxfind.cpp:307
msgid ""
"The search string matches the selection, and search is limited to "
"selection.\n"
@@ -37099,11 +37108,11 @@ msgstr ""
"Suche ist auf die Auswahl begrenzt.\n"
"AuÃerhalb weitersuchen?"
-#: src/lyxfind.cpp:302 src/lyxfind.cpp:329
+#: src/lyxfind.cpp:309 src/lyxfind.cpp:336
msgid "Search outside selection?"
msgstr "AuÃerhalb der Auswahl suchen?"
-#: src/lyxfind.cpp:327
+#: src/lyxfind.cpp:334
msgid ""
"The search string was not found within the selection.\n"
"Continue search outside?"
@@ -37111,7 +37120,7 @@ msgstr ""
"Der gesuchte Ausdruck wurde innerhalb der Auswahl nicht gefunden.\n"
"AuÃerhalb weitersuchen?"
-#: src/lyxfind.cpp:345 src/lyxfind.cpp:691
+#: src/lyxfind.cpp:352 src/lyxfind.cpp:698
msgid ""
"End of file reached while searching forward.\n"
"Continue searching from the beginning?"
@@ -37119,7 +37128,7 @@ msgstr ""
"Das Ende des Dokuments wurde bei der Vorwärtssuche erreicht.\n"
"Suche am Anfang fortsetzen?"
-#: src/lyxfind.cpp:348 src/lyxfind.cpp:719
+#: src/lyxfind.cpp:355 src/lyxfind.cpp:726
msgid ""
"Beginning of file reached while searching backward.\n"
"Continue searching from the end?"
@@ -37127,62 +37136,62 @@ msgstr ""
"Der Anfang des Dokuments wurde bei der Rückwärtssuche erreicht.\n"
"Suche am Ende fortsetzen?"
-#: src/lyxfind.cpp:364
+#: src/lyxfind.cpp:371
msgid "Search reached end of document, continuing from beginning."
msgstr "Das Ende des Dokuments wurde erreicht, suche vom Anfang ab weiter."
-#: src/lyxfind.cpp:365
+#: src/lyxfind.cpp:372
msgid "Search reached beginning of document, continuing from end."
msgstr "Der Anfang des Dokuments wurde erreicht, suche vom Ende ab weiter."
-#: src/lyxfind.cpp:664
+#: src/lyxfind.cpp:671
msgid "String not found in selection."
msgstr "Der gesuchte Ausdruck wurde in der Auswahl nicht gefunden."
-#: src/lyxfind.cpp:666
+#: src/lyxfind.cpp:673
msgid "String not found."
msgstr "Die Zeichenkette wurde nicht gefunden."
-#: src/lyxfind.cpp:669
+#: src/lyxfind.cpp:676
msgid "String found."
msgstr "Zeichenkette gefunden."
-#: src/lyxfind.cpp:671
+#: src/lyxfind.cpp:678
msgid "String has been replaced."
msgstr "Die Zeichenkette wurde ersetzt."
-#: src/lyxfind.cpp:674
+#: src/lyxfind.cpp:681
#, c-format
msgid "%1$d strings have been replaced in the selection."
msgstr "%1$d Zeichenketten wurden in der Auswahl ersetzt."
-#: src/lyxfind.cpp:675
+#: src/lyxfind.cpp:682
#, c-format
msgid "%1$d strings have been replaced."
msgstr "%1$d Zeichenketten wurden ersetzt."
-#: src/lyxfind.cpp:4508
+#: src/lyxfind.cpp:4683
msgid "One match has been replaced."
msgstr "Ein Treffer wurde ersetzt."
-#: src/lyxfind.cpp:4511
+#: src/lyxfind.cpp:4686
msgid "Two matches have been replaced."
msgstr "Zwei Treffer wurden ersetzt."
-#: src/lyxfind.cpp:4514
+#: src/lyxfind.cpp:4689
#, c-format
msgid "%1$d matches have been replaced."
msgstr "%1$d Treffer wurden ersetzt."
-#: src/lyxfind.cpp:4520
+#: src/lyxfind.cpp:4695
msgid "Match not found."
msgstr "Die Zeichenkette wurde nicht gefunden!"
-#: src/lyxfind.cpp:4526
+#: src/lyxfind.cpp:4701
msgid "Match has been replaced."
msgstr "Die Zeichenkette wurde ersetzt."
-#: src/lyxfind.cpp:4528
+#: src/lyxfind.cpp:4703
msgid "Match found."
msgstr "Die Zeichenkette wurde gefunden!"
@@ -37303,19 +37312,19 @@ msgstr "Mathe-Makro: \\%1$s"
msgid "Invalid macro! \\%1$s"
msgstr "Ungültiges Makro! \\%1$s"
-#: src/mathed/InsetMathNest.cpp:1018
+#: src/mathed/InsetMathNest.cpp:1024
msgid "create new math text environment ($...$)"
msgstr "Neue Mathe-Textumgebung erzeugen ($...$)"
-#: src/mathed/InsetMathNest.cpp:1021
+#: src/mathed/InsetMathNest.cpp:1027
msgid "entered math text mode (textrm)"
msgstr "Mathe-Textmodus betreten (textrm)"
-#: src/mathed/InsetMathNest.cpp:1043
+#: src/mathed/InsetMathNest.cpp:1049
msgid "Regular expression editor mode"
msgstr "Bearbeitungsmodus für reguläre Ausdrücke"
-#: src/mathed/InsetMathNest.cpp:1948
+#: src/mathed/InsetMathNest.cpp:1954
#, c-format
msgid "Cannot apply %1$s here."
msgstr "%1$s kann hier nicht angewendet werden."
@@ -37379,11 +37388,11 @@ msgstr ""
"Das angegebene Dokument %1$s\n"
"konnte nicht geöffnet werden."
-#: src/output_latex.cpp:1658
+#: src/output_latex.cpp:1662
msgid "Error in latexParagraphs"
msgstr "Fehler in latexParagraphs"
-#: src/output_latex.cpp:1659
+#: src/output_latex.cpp:1663
#, c-format
msgid ""
"You are using at least one layout (%1$s) intended for the title, after using "
@@ -37530,111 +37539,111 @@ msgstr "Lesen der Konfigurationsdateien"
msgid "Custom keyboard definition"
msgstr "Eigene Tastaturdefinition"
-#: src/support/debug.cpp:50
-msgid "LaTeX generation/execution"
-msgstr "LaTeX-Erzeugung/Ausführung"
+#: src/support/debug.cpp:50 src/support/debug.cpp:51
+msgid "Output source file generation/processing"
+msgstr "Erzeugung/Verarbeitung der Ausgabequelldatei"
-#: src/support/debug.cpp:51
+#: src/support/debug.cpp:52
msgid "Math editor"
msgstr "Mathe-Editor"
-#: src/support/debug.cpp:52
+#: src/support/debug.cpp:53
msgid "Font handling"
msgstr "Schrift-Handhabung"
-#: src/support/debug.cpp:53
+#: src/support/debug.cpp:54
msgid "Textclass files reading"
msgstr "Lesen der Textklassen-Dateien"
-#: src/support/debug.cpp:54
+#: src/support/debug.cpp:55
msgid "Version control"
msgstr "Versionskontrolle"
-#: src/support/debug.cpp:55
+#: src/support/debug.cpp:56
msgid "External control interface"
msgstr "Externe Kontroll-Schnittstelle"
-#: src/support/debug.cpp:56
+#: src/support/debug.cpp:57
msgid "Undo/Redo mechanism"
msgstr "Undo/Redo-Mechanismus"
-#: src/support/debug.cpp:57
+#: src/support/debug.cpp:58
msgid "User commands"
msgstr "Benutzerbefehle"
-#: src/support/debug.cpp:58
+#: src/support/debug.cpp:59
msgid "The LyX Lexer"
msgstr "Der LyX-Lexxer"
-#: src/support/debug.cpp:59
+#: src/support/debug.cpp:60
msgid "Dependency information"
msgstr "Informationen zu Abhängigkeiten"
-#: src/support/debug.cpp:60
+#: src/support/debug.cpp:61
msgid "LyX Insets"
msgstr "LyX-Einfügungen"
-#: src/support/debug.cpp:61
+#: src/support/debug.cpp:62
msgid "Files used by LyX"
msgstr "Von LyX verwendete Dateien"
-#: src/support/debug.cpp:62
+#: src/support/debug.cpp:63
msgid "Workarea events"
msgstr "Ereignisse im Arbeitsbereich"
-#: src/support/debug.cpp:63
+#: src/support/debug.cpp:64
msgid "Clipboard handling"
msgstr "Zwischenablage"
-#: src/support/debug.cpp:64
+#: src/support/debug.cpp:65
msgid "Graphics conversion and loading"
msgstr "Laden und Konvertierung einer Grafik"
-#: src/support/debug.cpp:65
+#: src/support/debug.cpp:66
msgid "Change tracking"
msgstr "Ãnderungsverfolgung"
-#: src/support/debug.cpp:66
+#: src/support/debug.cpp:67
msgid "External template/inset messages"
msgstr "Externe Vorlagen/Einfügungs-Meldungen"
-#: src/support/debug.cpp:67
+#: src/support/debug.cpp:68
msgid "RowPainter profiling"
msgstr "RowPainter-Profiling"
-#: src/support/debug.cpp:68
+#: src/support/debug.cpp:69
msgid "Scrolling debugging"
msgstr "Fehlersuche mit Scrolling"
-#: src/support/debug.cpp:69
+#: src/support/debug.cpp:70
msgid "Math macros"
msgstr "Mathe-Makros"
-#: src/support/debug.cpp:70
+#: src/support/debug.cpp:71
msgid "RTL/Bidi"
msgstr "RTL/Bidi"
-#: src/support/debug.cpp:71
+#: src/support/debug.cpp:72
msgid "Locale/Internationalisation"
msgstr "Spracheinstellungen/Internationalisierung"
-#: src/support/debug.cpp:72
+#: src/support/debug.cpp:73
msgid "Selection copy/paste mechanism"
msgstr "Auswahl kopieren/einfügen Mechanismus"
-#: src/support/debug.cpp:73
+#: src/support/debug.cpp:74
msgid "Find and replace mechanism"
msgstr "Mechanismus für Suchen und Ersetzen"
-#: src/support/debug.cpp:74
+#: src/support/debug.cpp:75
msgid "Developers' general debug messages"
msgstr "Allgemeine Testmeldungen der Entwickler"
-#: src/support/debug.cpp:75 src/support/debug.cpp:76
+#: src/support/debug.cpp:76 src/support/debug.cpp:77
msgid "All debugging messages"
msgstr "Alle Testmeldungen"
-#: src/support/debug.cpp:183
+#: src/support/debug.cpp:184
#, c-format
msgid "Debugging `%1$s' (%2$s)"
msgstr "Testen von ,%1$s` (%2$s)"
@@ -37772,6 +37781,15 @@ msgstr ""
msgid "Unknown user"
msgstr "Unbekannter Benutzer"
+#~ msgid "foot"
+#~ msgstr "FuÃnote"
+
+#~ msgid "Set all lines"
+#~ msgstr "Alle Linien setzen"
+
+#~ msgid "LaTeX generation/execution"
+#~ msgstr "LaTeX-Erzeugung/Ausführung"
+
#~ msgid "Running MakeIndex for nomencl."
#~ msgstr "MakeIndex wird für nomencl ausgeführt."
commit 5ac8a0b9ae4d04b5539a29f564571db2bddde6e7
Author: Pavel Sanda <sanda at lyx.org>
Date: Wed Apr 13 11:36:49 2022 +0200
Update status of layouttranslations
diff --git a/lib/layouttranslations.review b/lib/layouttranslations.review
index d44271e..1e81a98 100644
--- a/lib/layouttranslations.review
+++ b/lib/layouttranslations.review
@@ -22,12 +22,12 @@ ro sr
(30.11.2017, LyX 2.3.0 release )
Additionally to the top ones, these languages should be reviewed for the following strings
"List of Listings"
-bg ca da es fi gl he ko nb nn pl ro sl sr tr zh_CN zh_TW
+ca da es fi gl he ko nb nn pl ro sl sr tr zh_CN zh_TW
"Nomenclature[[output]]" -> The string that is output to PDF for the nomenclature list
"see equation[[nomencl]]"
"page[[nomencl]]"
-bg ca da fi gl he ja ko nb nn pl ro sl sr tr zh_CN zh_TW
+ca da fi gl he ja ko nb nn pl ro sl sr tr zh_CN zh_TW
-----
LyX 2.4.0 release
@@ -35,7 +35,7 @@ LyX 2.4.0 release
"Notes[[Endnotes]]" -> The header string of endnotes (with "Endnotes (Basic)" and "Footnotes as Endnotes
(Basic)" modules). This is to be distinguished from "Notes" used by the Notes inset (which is more an
annotation than a list of (end)notes)
-ar bg cs el en es eu fi fr he hu ja nb nl nn pl pt_BR pt_PT sv tr uk zh_CN zh_TW
+ar cs el en es eu fi fr he hu ja nb nl nn pl pt_BR pt_PT sv tr uk zh_CN zh_TW
Note that the localized enotez package has the following translations that probably should be used:
Catalan: Notes
Croatian: Bilje\v{s}ke
commit 968379b6444e05b1efc2657eadb26102c6a9b866
Author: Pavel Sanda <sanda at lyx.org>
Date: Wed Apr 13 11:33:28 2022 +0200
Backport bg strings
diff --git a/po/bg.po b/po/bg.po
index 8a470b3..4d805ef 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -7598,7 +7598,7 @@ msgstr "РезÑме"
#: lib/layouts/theorems-ams-extended.module:348
#: lib/layouts/theorems-counters-extended-bytype.inc:28
msgid "Acknowledgement"
-msgstr "ÐлагодаÑноÑÑ"
+msgstr "ÐлагодаÑноÑÑи"
#: lib/layouts/AEA.layout:131 lib/layouts/egs.layout:627
#: lib/layouts/theorems-ams-extended-bytype.module:349
@@ -8207,7 +8207,7 @@ msgstr "РеÑение \\thesolution."
#: lib/layouts/theorems-ams-extended.module:308
#: lib/layouts/theorems-counters-extended-bytype.inc:25 lib/examples/Articles:0
msgid "Summary"
-msgstr "обобÑение"
+msgstr "ÐбобÑение"
# src/ext_l10n.h:191
#: lib/layouts/AEA.layout:333 src/frontends/qt/Menus.cpp:1803
@@ -11140,7 +11140,7 @@ msgstr "ÐеÑиниÑиÑ"
#: lib/layouts/theorems-without-preamble.inc:469
#: lib/layouts/theorems-without-preamble.inc:472
msgid "Note"
-msgstr "бележка"
+msgstr "Ðележка"
# src/ext_l10n.h:175
#: lib/layouts/apax.inc:323
@@ -13957,7 +13957,7 @@ msgstr "Ðележка в кÑаÑ"
#: lib/layouts/foottoend.module:20 lib/layouts/foottoend.module:23
#: lib/layouts/memoir.layout:319 lib/layouts/memoir.layout:322
msgid "Notes[[Endnotes]]"
-msgstr "Ðележки в кÑаÑ"
+msgstr "Ðележки"
# src/ext_l10n.h:438
#: lib/layouts/enotez.module:2
commit 8471b97fd4fcb40573531187de9c9422abc89415
Author: Pavel Sanda <sanda at lyx.org>
Date: Wed Apr 13 11:32:45 2022 +0200
* layouttranslations updates from Veselin
diff --git a/lib/layouttranslations b/lib/layouttranslations
index 5d6d3c1..6825a61 100644
--- a/lib/layouttranslations
+++ b/lib/layouttranslations
@@ -53,7 +53,7 @@ Translation ar
End
Translation bg
- "Acknowledgement" "ÐлагодаÑноÑÑ"
+ "Acknowledgement" "ÐлагодаÑноÑÑи"
"Algorithm" "AлгоÑиÑÑм"
"Assumption" "ÐопÑÑкане"
"Axiom" "ÐкÑиома"
@@ -81,8 +81,8 @@ Translation bg
"Listings[[List of Listings]]" "СпиÑÑÑи"
"Nomenclature[[output]]" "РеÑник на ознаÑениÑÑа"
"Notation" "ÐзнаÑение"
- "Note" "бележка"
- "Notes[[Endnotes]]" "Ðележки в кÑаÑ"
+ "Note" "Ðележка"
+ "Notes[[Endnotes]]" "Ðележки"
"Problem" "ÐадаÑа"
"Proof" "ÐоказаÑелÑÑво"
"Property" "СвоиÑÑво"
@@ -91,7 +91,7 @@ Translation bg
"Remark" "Ðабележка"
"Scheme" "ЧеÑÑеж"
"Solution" "РеÑение"
- "Summary" "обобÑение"
+ "Summary" "ÐбобÑение"
"Tableau" "ТаблиÑа"
"Theorem" "ТеоÑема"
"page[[nomencl]]" "ÑÑÑ."
commit c2229d388b622a65029d0566f5eca53b43d92528
Author: Kornel Benko <kornel at lyx.org>
Date: Tue Apr 12 18:02:12 2022 +0200
Find: Renamend for_searchAdv to for_serach in src/OutputParams.h
Since this variable is used by quick find too, the naming was misleading
diff --git a/src/OutputParams.h b/src/OutputParams.h
index 65a58e5..64ab2f3 100644
--- a/src/OutputParams.h
+++ b/src/OutputParams.h
@@ -433,7 +433,7 @@ public:
SearchNonOutput = 8
};
- int for_searchAdv = NoSearch;
+ int for_search = NoSearch;
/// Are we generating this material for instant preview?
bool for_preview = false;
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 7746597..434e515 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -1209,10 +1209,10 @@ void Paragraph::Private::latexSpecialChar(otexstream & os,
{
char_type const c = owner_->getUChar(bparams, runparams, i);
- if (style.pass_thru || runparams.pass_thru || (runparams.for_searchAdv != OutputParams::NoSearch)
+ if (style.pass_thru || runparams.pass_thru || (runparams.for_search != OutputParams::NoSearch)
|| contains(style.pass_thru_chars, c)
|| contains(runparams.pass_thru_chars, c)) {
- if (runparams.for_searchAdv != OutputParams::NoSearch) {
+ if (runparams.for_search != OutputParams::NoSearch) {
if (c == '\\')
os << "\\\\";
else if (c == '{')
@@ -2640,10 +2640,10 @@ void Paragraph::latex(BufferParams const & bparams,
// Check whether a display math inset follows
bool output_changes;
- if (runparams.for_searchAdv == OutputParams::NoSearch)
+ if (runparams.for_search == OutputParams::NoSearch)
output_changes = bparams.output_changes;
else
- output_changes = ((runparams.for_searchAdv & OutputParams::SearchWithDeleted) != 0);
+ output_changes = ((runparams.for_search & OutputParams::SearchWithDeleted) != 0);
if (c == META_INSET
&& i >= start_pos && (end_pos == -1 || i < end_pos)) {
if (isDeleted(i))
@@ -4586,7 +4586,7 @@ int Paragraph::find(docstring const & str, bool cs, bool mw,
odocstringstream os;
if (inset->lyxCode() == lyx::QUOTE_CODE) {
OutputParams op(0);
- op.for_searchAdv = OutputParams::SearchQuick;
+ op.for_search = OutputParams::SearchQuick;
inset->plaintext(os, op);
}
else {
diff --git a/src/insets/InsetBibtex.cpp b/src/insets/InsetBibtex.cpp
index 5f6b967..4e02b62 100644
--- a/src/insets/InsetBibtex.cpp
+++ b/src/insets/InsetBibtex.cpp
@@ -983,7 +983,7 @@ int InsetBibtex::plaintext(odocstringstream & os,
// We could output more information here, e.g., what databases are included
// and information about options. But I don't necessarily see any reason to
// do this right now.
- if (op.for_tooltip || op.for_toc || op.for_searchAdv != OutputParams::NoSearch) {
+ if (op.for_tooltip || op.for_toc || op.for_search != OutputParams::NoSearch) {
os << '[' << reflabel << ']' << '\n';
return PLAINTEXT_NEWLINE;
}
diff --git a/src/insets/InsetBranch.cpp b/src/insets/InsetBranch.cpp
index 2b60ca6..7a102ce 100644
--- a/src/insets/InsetBranch.cpp
+++ b/src/insets/InsetBranch.cpp
@@ -314,7 +314,7 @@ bool InsetBranch::producesOutput() const
void InsetBranch::latex(otexstream & os, OutputParams const & runparams) const
{
- if (producesOutput() || ((runparams.for_searchAdv & OutputParams::SearchNonOutput) != 0)) {
+ if (producesOutput() || ((runparams.for_search & OutputParams::SearchNonOutput) != 0)) {
OutputParams rp = runparams;
rp.inbranch = true;
InsetText::latex(os, rp);
@@ -328,7 +328,7 @@ void InsetBranch::latex(otexstream & os, OutputParams const & runparams) const
int InsetBranch::plaintext(odocstringstream & os,
OutputParams const & runparams, size_t max_length) const
{
- if (!producesOutput() && ((runparams.for_searchAdv & OutputParams::SearchNonOutput) == 0))
+ if (!producesOutput() && ((runparams.for_search & OutputParams::SearchNonOutput) == 0))
return 0;
int len = InsetText::plaintext(os, runparams, max_length);
diff --git a/src/insets/InsetInclude.cpp b/src/insets/InsetInclude.cpp
index 30eacd7..9ee08a3 100644
--- a/src/insets/InsetInclude.cpp
+++ b/src/insets/InsetInclude.cpp
@@ -1006,14 +1006,14 @@ int InsetInclude::plaintext(odocstringstream & os,
{
// just write the filename if we're making a tooltip or toc entry,
// or are generating this for advanced search
- if (op.for_tooltip || op.for_toc || op.for_searchAdv != OutputParams::NoSearch) {
+ if (op.for_tooltip || op.for_toc || op.for_search != OutputParams::NoSearch) {
os << '[' << screenLabel() << '\n'
<< ltrim(getParam("filename")) << "\n]";
return PLAINTEXT_NEWLINE + 1; // one char on a separate line
}
if (isVerbatim(params()) || isListings(params())) {
- if (op.for_searchAdv != OutputParams::NoSearch) {
+ if (op.for_search != OutputParams::NoSearch) {
os << '[' << screenLabel() << ']';
}
else {
diff --git a/src/insets/InsetIndex.cpp b/src/insets/InsetIndex.cpp
index fe0890c..8622263 100644
--- a/src/insets/InsetIndex.cpp
+++ b/src/insets/InsetIndex.cpp
@@ -85,7 +85,7 @@ void InsetIndex::latex(otexstream & ios, OutputParams const & runparams_in) cons
odocstringstream ourlatex;
otexstream ots(ourlatex);
InsetText::latex(ots, runparams);
- if (runparams.for_searchAdv != OutputParams::NoSearch) {
+ if (runparams.for_search != OutputParams::NoSearch) {
// No need for special handling, if we are only searching for some patterns
os << ourlatex.str() << "}";
return;
diff --git a/src/insets/InsetNote.cpp b/src/insets/InsetNote.cpp
index 0324ca8..45d89d0 100644
--- a/src/insets/InsetNote.cpp
+++ b/src/insets/InsetNote.cpp
@@ -207,12 +207,12 @@ bool InsetNote::isMacroScope() const
void InsetNote::latex(otexstream & os, OutputParams const & runparams_in) const
{
if (params_.type != InsetNoteParams::Greyedout
- && runparams_in.for_searchAdv != OutputParams::NoSearch
- && (runparams_in.for_searchAdv & OutputParams::SearchNonOutput) == 0)
+ && runparams_in.for_search != OutputParams::NoSearch
+ && (runparams_in.for_search & OutputParams::SearchNonOutput) == 0)
return;
if (params_.type == InsetNoteParams::Note) {
- if ((runparams_in.for_searchAdv & OutputParams::SearchNonOutput) != 0) {
+ if ((runparams_in.for_search & OutputParams::SearchNonOutput) != 0) {
OutputParams runparams(runparams_in);
InsetCollapsible::latex(os, runparams);
runparams_in.encoding = runparams.encoding;
@@ -251,11 +251,11 @@ void InsetNote::latex(otexstream & os, OutputParams const & runparams_in) const
int InsetNote::plaintext(odocstringstream & os,
OutputParams const & runparams_in, size_t max_length) const
{
- if ((runparams_in.for_searchAdv & OutputParams::SearchNonOutput) == 0) {
+ if ((runparams_in.for_search & OutputParams::SearchNonOutput) == 0) {
if (params_.type == InsetNoteParams::Note)
return 0;
else if (params_.type == InsetNoteParams::Comment
- && (runparams_in.for_searchAdv != OutputParams::NoSearch))
+ && (runparams_in.for_search != OutputParams::NoSearch))
return 0;
}
@@ -265,10 +265,10 @@ int InsetNote::plaintext(odocstringstream & os,
// Ignore files that are exported inside a comment
runparams.exportdata.reset(new ExportData);
}
- if ((runparams_in.for_searchAdv & OutputParams::SearchNonOutput) == 0)
+ if ((runparams_in.for_search & OutputParams::SearchNonOutput) == 0)
os << '[' << buffer().B_("note") << ":\n";
InsetText::plaintext(os, runparams, max_length);
- if ((runparams_in.for_searchAdv & OutputParams::SearchNonOutput) == 0)
+ if ((runparams_in.for_search & OutputParams::SearchNonOutput) == 0)
os << "\n]";
return PLAINTEXT_NEWLINE + 1; // one char on a separate line
diff --git a/src/insets/InsetQuotes.cpp b/src/insets/InsetQuotes.cpp
index 67ad767..1882769 100644
--- a/src/insets/InsetQuotes.cpp
+++ b/src/insets/InsetQuotes.cpp
@@ -851,7 +851,7 @@ void InsetQuotes::latex(otexstream & os, OutputParams const & runparams) const
docstring qstr;
// In pass-thru context, we output plain quotes
- if (runparams.pass_thru || runparams.for_searchAdv != OutputParams::NoSearch)
+ if (runparams.pass_thru || runparams.for_search != OutputParams::NoSearch)
qstr = (level_ == QuoteLevel::Primary) ? from_ascii("\"") : from_ascii("'");
else if (style == QuoteStyle::Plain && fontspec_) {
// For XeTeX and LuaTeX,we need to disable mapping to get straight
@@ -944,7 +944,7 @@ void InsetQuotes::latex(otexstream & os, OutputParams const & runparams) const
int InsetQuotes::plaintext(odocstringstream & os,
OutputParams const & op, size_t) const
{
- if (op.for_searchAdv == OutputParams::NoSearch) {
+ if (op.for_search == OutputParams::NoSearch) {
docstring const str = displayString();
os << str;
return str.size();
diff --git a/src/insets/InsetSpace.cpp b/src/insets/InsetSpace.cpp
index 1a2eb09..92d4c43 100644
--- a/src/insets/InsetSpace.cpp
+++ b/src/insets/InsetSpace.cpp
@@ -579,27 +579,27 @@ void InsetSpace::latex(otexstream & os, OutputParams const & runparams) const
{
switch (params_.kind) {
case InsetSpaceParams::NORMAL:
- os << (runparams.free_spacing && (runparams.for_searchAdv == OutputParams::NoSearch) ? " " : "\\ ");
+ os << (runparams.free_spacing && (runparams.for_search == OutputParams::NoSearch) ? " " : "\\ ");
break;
case InsetSpaceParams::PROTECTED:
if (runparams.local_font &&
runparams.local_font->language()->lang() == "polutonikogreek")
// in babel's polutonikogreek, ~ is active
- os << (runparams.free_spacing && (runparams.for_searchAdv == OutputParams::NoSearch) ? " " : "\\nobreakspace{}");
+ os << (runparams.free_spacing && (runparams.for_search == OutputParams::NoSearch) ? " " : "\\nobreakspace{}");
else
- os << (runparams.free_spacing && (runparams.for_searchAdv == OutputParams::NoSearch) ? ' ' : '~');
+ os << (runparams.free_spacing && (runparams.for_search == OutputParams::NoSearch) ? ' ' : '~');
break;
case InsetSpaceParams::VISIBLE:
- os << (runparams.free_spacing && (runparams.for_searchAdv == OutputParams::NoSearch) ? " " : "\\textvisiblespace{}");
+ os << (runparams.free_spacing && (runparams.for_search == OutputParams::NoSearch) ? " " : "\\textvisiblespace{}");
break;
case InsetSpaceParams::THIN:
- if (runparams.for_searchAdv != OutputParams::NoSearch)
+ if (runparams.for_search != OutputParams::NoSearch)
os << "\\thinspace{}";
else
os << (runparams.free_spacing ? " " : "\\,");
break;
case InsetSpaceParams::MEDIUM:
- if (runparams.for_searchAdv != OutputParams::NoSearch)
+ if (runparams.for_search != OutputParams::NoSearch)
os << "\\medspace{}";
else if (params_.math)
os << (runparams.free_spacing ? " " : "\\:");
@@ -607,7 +607,7 @@ void InsetSpace::latex(otexstream & os, OutputParams const & runparams) const
os << (runparams.free_spacing ? " " : "\\medspace{}");
break;
case InsetSpaceParams::THICK:
- if (runparams.for_searchAdv != OutputParams::NoSearch)
+ if (runparams.for_search != OutputParams::NoSearch)
os << "\\thickspace{}";
else if (params_.math)
os << (runparams.free_spacing ? " " : "\\;");
@@ -615,49 +615,49 @@ void InsetSpace::latex(otexstream & os, OutputParams const & runparams) const
os << (runparams.free_spacing ? " " : "\\thickspace{}");
break;
case InsetSpaceParams::QUAD:
- os << (runparams.free_spacing && (runparams.for_searchAdv != OutputParams::NoSearch) ? " " : "\\quad{}");
+ os << (runparams.free_spacing && (runparams.for_search != OutputParams::NoSearch) ? " " : "\\quad{}");
break;
case InsetSpaceParams::QQUAD:
- os << (runparams.free_spacing && (runparams.for_searchAdv != OutputParams::NoSearch) ? " " : "\\qquad{}");
+ os << (runparams.free_spacing && (runparams.for_search != OutputParams::NoSearch) ? " " : "\\qquad{}");
break;
case InsetSpaceParams::ENSPACE:
- os << (runparams.free_spacing && (runparams.for_searchAdv != OutputParams::NoSearch) ? " " : "\\enspace{}");
+ os << (runparams.free_spacing && (runparams.for_search != OutputParams::NoSearch) ? " " : "\\enspace{}");
break;
case InsetSpaceParams::ENSKIP:
- os << (runparams.free_spacing && (runparams.for_searchAdv != OutputParams::NoSearch) ? " " : "\\enskip{}");
+ os << (runparams.free_spacing && (runparams.for_search != OutputParams::NoSearch) ? " " : "\\enskip{}");
break;
case InsetSpaceParams::NEGTHIN:
- os << (runparams.free_spacing && (runparams.for_searchAdv != OutputParams::NoSearch) ? " " : "\\negthinspace{}");
+ os << (runparams.free_spacing && (runparams.for_search != OutputParams::NoSearch) ? " " : "\\negthinspace{}");
break;
case InsetSpaceParams::NEGMEDIUM:
- os << (runparams.free_spacing && (runparams.for_searchAdv != OutputParams::NoSearch) ? " " : "\\negmedspace{}");
+ os << (runparams.free_spacing && (runparams.for_search != OutputParams::NoSearch) ? " " : "\\negmedspace{}");
break;
case InsetSpaceParams::NEGTHICK:
- os << (runparams.free_spacing && (runparams.for_searchAdv != OutputParams::NoSearch) ? " " : "\\negthickspace{}");
+ os << (runparams.free_spacing && (runparams.for_search != OutputParams::NoSearch) ? " " : "\\negthickspace{}");
break;
case InsetSpaceParams::HFILL:
- os << (runparams.free_spacing && (runparams.for_searchAdv != OutputParams::NoSearch) ? " " : "\\hfill{}");
+ os << (runparams.free_spacing && (runparams.for_search != OutputParams::NoSearch) ? " " : "\\hfill{}");
break;
case InsetSpaceParams::HFILL_PROTECTED:
- os << (runparams.free_spacing && (runparams.for_searchAdv != OutputParams::NoSearch) ? " " : "\\hspace*{\\fill}");
+ os << (runparams.free_spacing && (runparams.for_search != OutputParams::NoSearch) ? " " : "\\hspace*{\\fill}");
break;
case InsetSpaceParams::DOTFILL:
- os << (runparams.free_spacing && (runparams.for_searchAdv != OutputParams::NoSearch) ? " " : "\\dotfill{}");
+ os << (runparams.free_spacing && (runparams.for_search != OutputParams::NoSearch) ? " " : "\\dotfill{}");
break;
case InsetSpaceParams::HRULEFILL:
- os << (runparams.free_spacing && (runparams.for_searchAdv != OutputParams::NoSearch) ? " " : "\\hrulefill{}");
+ os << (runparams.free_spacing && (runparams.for_search != OutputParams::NoSearch) ? " " : "\\hrulefill{}");
break;
case InsetSpaceParams::LEFTARROWFILL:
- os << (runparams.free_spacing && (runparams.for_searchAdv != OutputParams::NoSearch) ? " " : "\\leftarrowfill{}");
+ os << (runparams.free_spacing && (runparams.for_search != OutputParams::NoSearch) ? " " : "\\leftarrowfill{}");
break;
case InsetSpaceParams::RIGHTARROWFILL:
- os << (runparams.free_spacing && (runparams.for_searchAdv != OutputParams::NoSearch) ? " " : "\\rightarrowfill{}");
+ os << (runparams.free_spacing && (runparams.for_search != OutputParams::NoSearch) ? " " : "\\rightarrowfill{}");
break;
case InsetSpaceParams::UPBRACEFILL:
- os << (runparams.free_spacing && (runparams.for_searchAdv != OutputParams::NoSearch) ? " " : "\\upbracefill{}");
+ os << (runparams.free_spacing && (runparams.for_search != OutputParams::NoSearch) ? " " : "\\upbracefill{}");
break;
case InsetSpaceParams::DOWNBRACEFILL:
- os << (runparams.free_spacing && (runparams.for_searchAdv != OutputParams::NoSearch) ? " " : "\\downbracefill{}");
+ os << (runparams.free_spacing && (runparams.for_search != OutputParams::NoSearch) ? " " : "\\downbracefill{}");
break;
case InsetSpaceParams::CUSTOM:
if (runparams.free_spacing)
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index c3f2b77..6ef7cd3 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -1098,11 +1098,11 @@ static docstring buffer_to_latex(Buffer & buffer)
// No side effect of file copying and image conversion
runparams.dryrun = true;
if (ignoreFormats.getDeleted())
- runparams.for_searchAdv = OutputParams::SearchWithoutDeleted;
+ runparams.for_search = OutputParams::SearchWithoutDeleted;
else
- runparams.for_searchAdv = OutputParams::SearchWithDeleted;
+ runparams.for_search = OutputParams::SearchWithDeleted;
if (ignoreFormats.getNonContent()) {
- runparams.for_searchAdv |= OutputParams::SearchNonOutput;
+ runparams.for_search |= OutputParams::SearchNonOutput;
}
pit_type const endpit = buffer.paragraphs().size();
for (pit_type pit = 0; pit != endpit; ++pit) {
@@ -1174,13 +1174,13 @@ static docstring stringifySearchBuffer(Buffer & buffer, FindAndReplaceOptions co
int option = AS_STR_INSETS |AS_STR_PLAINTEXT;
if (ignoreFormats.getDeleted()) {
option |= AS_STR_SKIPDELETE;
- runparams.for_searchAdv = OutputParams::SearchWithoutDeleted;
+ runparams.for_search = OutputParams::SearchWithoutDeleted;
}
else {
- runparams.for_searchAdv = OutputParams::SearchWithDeleted;
+ runparams.for_search = OutputParams::SearchWithDeleted;
}
if (ignoreFormats.getNonContent()) {
- runparams.for_searchAdv |= OutputParams::SearchNonOutput;
+ runparams.for_search |= OutputParams::SearchNonOutput;
}
string t("");
for (pos_type pit = pos_type(0); pit < (pos_type)buffer.paragraphs().size(); ++pit) {
@@ -3952,13 +3952,13 @@ docstring stringifyFromCursor(DocIterator const & cur, int len)
int option = AS_STR_INSETS | AS_STR_PLAINTEXT;
if (ignoreFormats.getDeleted()) {
option |= AS_STR_SKIPDELETE;
- runparams.for_searchAdv = OutputParams::SearchWithoutDeleted;
+ runparams.for_search = OutputParams::SearchWithoutDeleted;
}
else {
- runparams.for_searchAdv = OutputParams::SearchWithDeleted;
+ runparams.for_search = OutputParams::SearchWithDeleted;
}
if (ignoreFormats.getNonContent()) {
- runparams.for_searchAdv |= OutputParams::SearchNonOutput;
+ runparams.for_search |= OutputParams::SearchNonOutput;
}
LYXERR(Debug::FIND, "Stringifying with cur: "
<< cur << ", from pos: " << cur.pos() << ", end: " << end);
@@ -4006,13 +4006,13 @@ docstring latexifyFromCursor(DocIterator const & cur, int len)
// No side effect of file copying and image conversion
runparams.dryrun = true;
if (ignoreFormats.getDeleted()) {
- runparams.for_searchAdv = OutputParams::SearchWithoutDeleted;
+ runparams.for_search = OutputParams::SearchWithoutDeleted;
}
else {
- runparams.for_searchAdv = OutputParams::SearchWithDeleted;
+ runparams.for_search = OutputParams::SearchWithDeleted;
}
if (ignoreFormats.getNonContent()) {
- runparams.for_searchAdv |= OutputParams::SearchNonOutput;
+ runparams.for_search |= OutputParams::SearchNonOutput;
}
if (cur.inTexted()) {
diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp
index 805f84c..e266ec8 100644
--- a/src/mathed/InsetMathHull.cpp
+++ b/src/mathed/InsetMathHull.cpp
@@ -2359,7 +2359,7 @@ int InsetMathHull::plaintext(odocstringstream & os,
Encoding const * const enc = encodings.fromLyXName("utf8");
TeXMathStream::OutputType ot;
- if (op.for_searchAdv == OutputParams::NoSearch)
+ if (op.for_search == OutputParams::NoSearch)
ot = TeXMathStream::wsDefault;
else
ot = TeXMathStream::wsSearchAdv;
diff --git a/src/mathed/InsetMathNest.cpp b/src/mathed/InsetMathNest.cpp
index 4f21924..d4759a0 100644
--- a/src/mathed/InsetMathNest.cpp
+++ b/src/mathed/InsetMathNest.cpp
@@ -359,7 +359,7 @@ void InsetMathNest::normalize(NormalStream & os) const
void InsetMathNest::latex(otexstream & os, OutputParams const & runparams) const
{
TeXMathStream::OutputType ot;
- if (runparams.for_searchAdv != OutputParams::NoSearch)
+ if (runparams.for_search != OutputParams::NoSearch)
ot = TeXMathStream::wsSearchAdv;
else if (runparams.dryrun)
ot = TeXMathStream::wsDryrun;
diff --git a/src/output_latex.cpp b/src/output_latex.cpp
index 61537c8..358aae5 100644
--- a/src/output_latex.cpp
+++ b/src/output_latex.cpp
@@ -462,10 +462,10 @@ void TeXEnvironment(Buffer const & buf, Text const & text,
// Do not output empty environments if the whole paragraph has
// been deleted with ct and changes are not output.
bool output_changes;
- if (runparams.for_searchAdv == OutputParams::NoSearch)
+ if (runparams.for_search == OutputParams::NoSearch)
output_changes = buf.params().output_changes;
else
- output_changes = ((runparams.for_searchAdv & OutputParams::SearchWithDeleted) != 0);
+ output_changes = ((runparams.for_search & OutputParams::SearchWithDeleted) != 0);
if (size_t(pit + 1) < paragraphs.size()) {
ParagraphList::const_iterator nextpar = paragraphs.iterator_at(pit + 1);
Paragraph const & cpar = paragraphs.at(pit);
@@ -578,7 +578,7 @@ void getArgInsets(otexstream & os, OutputParams const & runparams, Layout::LaTeX
}
}
}
- if ((runparams.for_searchAdv != OutputParams::NoSearch) && argnr > 1) {
+ if ((runparams.for_search != OutputParams::NoSearch) && argnr > 1) {
// Mark end of arguments for findadv() only
os << "\\endarguments{}";
}
@@ -746,7 +746,7 @@ void parStartCommand(Paragraph const & par, otexstream & os,
break;
case LATEX_ITEM_ENVIRONMENT:
case LATEX_LIST_ENVIRONMENT:
- if (runparams.for_searchAdv != OutputParams::NoSearch) {
+ if (runparams.for_search != OutputParams::NoSearch) {
os << "\\" + style.itemcommand() << "{" << style.latexname() << "}";
}
else {
@@ -758,7 +758,7 @@ void parStartCommand(Paragraph const & par, otexstream & os,
}
break;
case LATEX_ENVIRONMENT:
- if (runparams.for_searchAdv != OutputParams::NoSearch) {
+ if (runparams.for_search != OutputParams::NoSearch) {
os << "\\latexenvironment{" << style.latexname() << "}{";
}
break;
@@ -796,7 +796,7 @@ void TeXOnePar(Buffer const & buf,
// Do not output empty commands if the whole paragraph has
// been deleted with ct and changes are not output.
- if (((runparams_in.for_searchAdv & OutputParams::SearchWithDeleted) == 0) && style.latextype != LATEX_ENVIRONMENT
+ if (((runparams_in.for_search & OutputParams::SearchWithDeleted) == 0) && style.latextype != LATEX_ENVIRONMENT
&& !par.empty() && par.isDeleted(0, par.size()) && !bparams.output_changes)
return;
@@ -936,7 +936,7 @@ void TeXOnePar(Buffer const & buf,
bool const have_prior_nptpar =
prior_nontitle_par && !prior_nontitle_par->isPassThru();
Language const * const prev_language =
- runparams_in.for_searchAdv != OutputParams::NoSearch
+ runparams_in.for_search != OutputParams::NoSearch
? languages.getLanguage("ignore")
: (have_prior_nptpar)
? (use_prev_env_language
@@ -988,7 +988,7 @@ void TeXOnePar(Buffer const & buf,
&& !(have_prior_nptpar
&& (prev_language->rightToLeft() != par_language->rightToLeft()));
bool const localswitch =
- (runparams_in.for_searchAdv != OutputParams::NoSearch
+ (runparams_in.for_search != OutputParams::NoSearch
|| text.inset().forceLocalFontSwitch()
|| (using_begin_end && text.inset().forcePlainLayout())
|| in_polyglossia_rtl_env)
@@ -1003,7 +1003,7 @@ void TeXOnePar(Buffer const & buf,
bool const localswitch_needed = localswitch && par_lang != outer_lang;
// localswitches need to be closed and reopened at each par
- if ((runparams_in.for_searchAdv != OutputParams::NoSearch) || ((par_lang != prev_lang || localswitch_needed)
+ if ((runparams_in.for_search != OutputParams::NoSearch) || ((par_lang != prev_lang || localswitch_needed)
// check if we already put language command in TeXEnvironment()
&& !(style.isEnvironment()
&& (pit == 0 || (priorpar->layout() != par.layout()
@@ -1071,7 +1071,7 @@ void TeXOnePar(Buffer const & buf,
// With CJK, the CJK tag has to be closed first (see below)
if ((runparams.encoding->package() != Encoding::CJK
|| bparams.useNonTeXFonts
- || (runparams.for_searchAdv != OutputParams::NoSearch))
+ || (runparams.for_search != OutputParams::NoSearch))
&& (par_lang != openLanguageName(state) || localswitch || intitle_command)
&& !par_lang.empty()) {
string bc = use_polyglossia ?
@@ -1312,7 +1312,7 @@ void TeXOnePar(Buffer const & buf,
// when the paragraph uses CJK, the language has to be closed earlier
if ((font.language()->encoding()->package() != Encoding::CJK)
|| bparams.useNonTeXFonts
- || (runparams_in.for_searchAdv != OutputParams::NoSearch)) {
+ || (runparams_in.for_search != OutputParams::NoSearch)) {
if (lang_end_command.empty()) {
// If this is a child, we should restore the
// master language after the last paragraph.
@@ -1708,10 +1708,10 @@ void latexParagraphs(Buffer const & buf,
// Do not output empty environments if the whole paragraph has
// been deleted with ct and changes are not output.
bool output_changes;
- if (runparams.for_searchAdv == OutputParams::NoSearch)
+ if (runparams.for_search == OutputParams::NoSearch)
output_changes = bparams.output_changes;
else
- output_changes = ((runparams.for_searchAdv & OutputParams::SearchWithDeleted) != 0);
+ output_changes = ((runparams.for_search & OutputParams::SearchWithDeleted) != 0);
bool const lastpar = size_t(pit + 1) >= paragraphs.size();
if (!lastpar) {
ParagraphList::const_iterator nextpar = paragraphs.iterator_at(pit + 1);
@@ -1854,7 +1854,7 @@ pair<bool, int> switchEncoding(odocstream & os, BufferParams const & bparams,
|| oldEnc.package() == Encoding::japanese
|| oldEnc.package() == Encoding::none
|| newEnc.package() == Encoding::none
- || (runparams.for_searchAdv != OutputParams::NoSearch))
+ || (runparams.for_search != OutputParams::NoSearch))
return make_pair(false, 0);
// FIXME We ignore encoding switches from/to encodings that do
// neither support the inputenc package nor the CJK package here.
commit 9d6e704183009221ae3996608728537cfb772238
Author: Stephan Witt <switt at lyx.org>
Date: Sat Apr 9 09:19:46 2022 +0200
Improved package build script for MacOS. Handle compiler standard for Qt6.
diff --git a/development/LyX-Mac-binary-release.sh b/development/LyX-Mac-binary-release.sh
index 017a610..cc7320d 100644
--- a/development/LyX-Mac-binary-release.sh
+++ b/development/LyX-Mac-binary-release.sh
@@ -284,9 +284,9 @@ while [ $# -gt 0 ]; do
LyxOnlyPackage=$(echo ${1}|cut -d= -f2)
shift
;;
- --enable-cxx11)
+ --enable-cxx11|--enable-cxx-mode=*)
LyXConfigureOptions="${LyXConfigureOptions} ${1}"
- EnableCXX11="--enable-cxx11"
+ EnableCXXMode="${1}"
shift
;;
--*)
@@ -374,6 +374,12 @@ case "${QtVersion}" in
6*)
QtLibraries=${QtLibraries:-"QtCore5Compat QtDBus QtSvg QtXml QtPrintSupport QtSvgWidgets QtWidgets QtGui QtNetwork QtConcurrent QtCore"}
QtFrameworkVersion="A"
+ case "${EnableCXXMode}" in
+ --enable-cxx11|--enable-cxx-mode=11)
+ echo Warning: Adjust cxx standard "${EnableCXXMode}" for Qt 6. C++17 or better is required.
+ EnableCXXMode="--enable-cxx-mode=17"
+ ;;
+ esac
;;
*)
QtLibraries=${QtLibraries:-"QtSvg QtXml QtGui QtNetwork QtCore"}
@@ -412,6 +418,19 @@ esac
MYCFLAGS="-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}"
MYLDFLAGS="-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}"
+case "${EnableCXXMode}" in
+--enable-cxx11|--enable-cxx-mode=11)
+ export CC=cc
+ export CXX="c++ -stdlib=libc++"
+ export CXXFLAGS=-std=c++11
+ ;;
+--enable-cxx-mode=17)
+ export CC=cc
+ export CXX="c++ -stdlib=libc++"
+ export CXXFLAGS=-std=c++17
+ ;;
+esac
+
build_qt() {
echo Build Qt library ${QtSourceDir}
if [ "${QtInstallDir}" = "${QtBuildDir}" ]; then
@@ -641,14 +660,6 @@ build_lyx() {
rm -rf "${LyxAppPrefix}"
fi
- case "${EnableCXX11}" in
- "--enable-cxx11")
- export CC=cc
- export CXX="c++ -stdlib=libc++"
- export CXXFLAGS=-std=c++11
- ;;
- esac
-
# -------------------------------------
# Automate configure check
# -------------------------------------
commit 8338d1032ddb79007d3cf74ffee22a4f8da9d90d
Author: Kornel Benko <kornel at lyx.org>
Date: Sat Apr 9 09:11:38 2022 +0200
FindQuick: Amend 4bd38d8a: Remove now unneeded code
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 1e9f1fb..7746597 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -4560,32 +4560,6 @@ void Paragraph::changeCase(BufferParams const & bparams, pos_type pos,
}
}
-static char_type matchquote(char_type in)
-{
- switch (in) {
- case 0x2018: // Left Single Quotation Mark
- case 0x2019: // Right Single Quotation Mark
- case 0x201a: // Single Low-9 Quotation Mark
- case 0x201b: // Single High-Reversed-9 Quotation Mark
- case 0x2039: // Single Left-Pointing Angle Quotation Mark
- case 0x203a: // Single Right-Pointing Angle Quotation Mark
- return '\'';
- case 0x00bb: // Right-Pointing Double Angle Quotation Mark
- case 0x00ab: // Left-Pointing Double Angle Quotation Mark
- case 0x201e: // Double Low-9 Quotation Mark
- case 0x201c: // Left Double Quotation Mark
- case 0x201d: // Right Double Quotation Mark
- case 0x201f: // Double High-Reversed-9 Quotation Mark
- case 0x2e42: // Double Low-Reversed-9 Quotation Mark
- case 0x301e: // Double Prime Quotation Mark
- case 0x301d: // Reversed Double Prime Quotation Mark
- case 0x301f: // Low Double Prime Quotation Mark
- return '"';
- default:
- return in;
- }
-}
-
int Paragraph::find(docstring const & str, bool cs, bool mw,
pos_type start_pos, bool del) const
{
@@ -4622,9 +4596,8 @@ int Paragraph::find(docstring const & str, bool cs, bool mw,
if (!insetstring.empty()) {
int const insetstringsize = insetstring.length();
for (int j = 0; j < insetstringsize && pos < parsize; ++i, ++j) {
- char_type ij = matchquote(insetstring[j]);
- if ((cs && str[i] != ij)
- || (!cs && uppercase(str[i]) != uppercase(ij))) {
+ if ((cs && str[i] != insetstring[j])
+ || (!cs && uppercase(str[i]) != uppercase(insetstring[j]))) {
nonmatch = true;
break;
}
@@ -4634,7 +4607,7 @@ int Paragraph::find(docstring const & str, bool cs, bool mw,
}
if (nonmatch || i == strsize)
break;
- char_type dp = matchquote(d->text_[pos]);
+ char_type dp = d->text_[pos];
if (cs && str[i] != dp)
break;
if (!cs && uppercase(str[i]) != uppercase(dp))
commit 4bd38d8a09044172b107be30744456012b80fb4f
Author: Kornel Benko <kornel at lyx.org>
Date: Sat Apr 9 08:52:24 2022 +0200
FindQuick: Handle quotes special (as in findadv)
diff --git a/src/OutputParams.h b/src/OutputParams.h
index d00ec02..65a58e5 100644
--- a/src/OutputParams.h
+++ b/src/OutputParams.h
@@ -429,6 +429,7 @@ public:
NoSearch = 0,
SearchWithDeleted = 1,
SearchWithoutDeleted = 2,
+ SearchQuick = 4,
SearchNonOutput = 8
};
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index e37a123..1e9f1fb 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -4610,7 +4610,14 @@ int Paragraph::find(docstring const & str, bool cs, bool mw,
if (!inset->isLetter() && !inset->isChar())
break;
odocstringstream os;
- inset->toString(os);
+ if (inset->lyxCode() == lyx::QUOTE_CODE) {
+ OutputParams op(0);
+ op.for_searchAdv = OutputParams::SearchQuick;
+ inset->plaintext(os, op);
+ }
+ else {
+ inset->toString(os);
+ }
docstring const insetstring = os.str();
if (!insetstring.empty()) {
int const insetstringsize = insetstring.length();
commit 801768af9242ff1aca8735a0226e4c78becded00
Author: Kornel Benko <kornel at lyx.org>
Date: Fri Apr 8 19:56:41 2022 +0200
FindQuick: Amend 1f7d90d6: Add some not handled quotation marks
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 92bb883..e37a123 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -4563,16 +4563,24 @@ void Paragraph::changeCase(BufferParams const & bparams, pos_type pos,
static char_type matchquote(char_type in)
{
switch (in) {
- case 0x2018:
- case 0x201a:
- case 0x203a:
- case 0x2039:
- return '\''; // â â ⺠â¹
- case 0x00bb:
- case 0x00ab:
- case 0x201e:
- case 0x201c:
- return '"'; // » « â â
+ case 0x2018: // Left Single Quotation Mark
+ case 0x2019: // Right Single Quotation Mark
+ case 0x201a: // Single Low-9 Quotation Mark
+ case 0x201b: // Single High-Reversed-9 Quotation Mark
+ case 0x2039: // Single Left-Pointing Angle Quotation Mark
+ case 0x203a: // Single Right-Pointing Angle Quotation Mark
+ return '\'';
+ case 0x00bb: // Right-Pointing Double Angle Quotation Mark
+ case 0x00ab: // Left-Pointing Double Angle Quotation Mark
+ case 0x201e: // Double Low-9 Quotation Mark
+ case 0x201c: // Left Double Quotation Mark
+ case 0x201d: // Right Double Quotation Mark
+ case 0x201f: // Double High-Reversed-9 Quotation Mark
+ case 0x2e42: // Double Low-Reversed-9 Quotation Mark
+ case 0x301e: // Double Prime Quotation Mark
+ case 0x301d: // Reversed Double Prime Quotation Mark
+ case 0x301f: // Low Double Prime Quotation Mark
+ return '"';
default:
return in;
}
commit 7cb700bf675ca255f3fcbe2fa07d04f0d359ed7b
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Fri Apr 8 11:51:53 2022 +0200
Fix crash with countExpanders in Qt6
It is not a good idea to contruct a QChar from a char_type that is
really 32bits.
Use lyx::isSpace, which already catters for this case.
Since this code does not depend on qt anymore, move it to
support::countExpanders.
Get rid of Row::countSeparators, which is not used anymore.
Fixes bug #12519.
diff --git a/src/Row.cpp b/src/Row.cpp
index f2d4aaf..3d5ab90 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -42,19 +42,11 @@ using frontend::FontMetrics;
static double const MAX_SPACE_STRETCH = 1.5; //em
-int Row::Element::countSeparators() const
-{
- if (type != STRING)
- return 0;
- return count(str.begin(), str.end(), ' ');
-}
-
-
int Row::Element::countExpanders() const
{
if (type != STRING)
return 0;
- return theFontMetrics(font).countExpanders(str);
+ return support::countExpanders(str);
}
@@ -385,16 +377,6 @@ int Row::right_x() const
}
-int Row::countSeparators() const
-{
- int n = 0;
- const_iterator const end = elements_.end();
- for (const_iterator cit = elements_.begin() ; cit != end ; ++cit)
- n += cit->countSeparators();
- return n;
-}
-
-
bool Row::setExtraWidth(int w)
{
if (w < 0)
diff --git a/src/Row.h b/src/Row.h
index 4c4bfce..6583fb2 100644
--- a/src/Row.h
+++ b/src/Row.h
@@ -66,9 +66,6 @@ public:
: type(t), pos(p), endpos(p + 1), font(f), change(ch) {}
- // Return the number of separator in the element (only STRING type)
- int countSeparators() const;
-
// Return total width of element, including separator overhead
// FIXME: Cache this value or the number of expanders?
double full_width() const { return dim.wid + extra * countExpanders(); }
@@ -238,8 +235,6 @@ public:
/// The offset of the right-most cursor position on the row
int right_x() const;
- // Return the number of separators in the row
- int countSeparators() const;
// Set the extra spacing for every expanding character in STRING-type
// elements. \param w is the total amount of extra width for the row to be
// distributed among expanders. \return false if the justification fails.
diff --git a/src/frontends/FontMetrics.h b/src/frontends/FontMetrics.h
index 66cd22d..f395270 100644
--- a/src/frontends/FontMetrics.h
+++ b/src/frontends/FontMetrics.h
@@ -168,10 +168,6 @@ public:
int & width,
int & ascent,
int & descent) const = 0;
-
- /// return the number of expanding characters taken into account for
- /// increased inter-word spacing during justification
- virtual int countExpanders(docstring const & str) const = 0;
};
diff --git a/src/frontends/qt/GuiFontMetrics.cpp b/src/frontends/qt/GuiFontMetrics.cpp
index e7f61c6..cb9f5af 100644
--- a/src/frontends/qt/GuiFontMetrics.cpp
+++ b/src/frontends/qt/GuiFontMetrics.cpp
@@ -18,10 +18,10 @@
#include "Dimension.h"
#include "support/convert.h"
+#include "support/debug.h"
#include "support/lassert.h"
#include "support/lstrings.h" // for breakString_helper with qt4
#include "support/lyxlib.h"
-#include "support/debug.h"
#define DISABLE_PMPROF
#include "support/pmprof.h"
@@ -467,27 +467,6 @@ int GuiFontMetrics::x2pos(docstring const & s, int & x, bool const rtl,
}
-int GuiFontMetrics::countExpanders(docstring const & str) const
-{
- // Numbers of characters that are expanded by inter-word spacing. These
- // characters are spaces, except for characters 09-0D which are treated
- // specially. (From a combination of testing with the notepad found in qt's
- // examples, and reading the source code.) In addition, consecutive spaces
- // only count as one expander.
- bool wasspace = false;
- int nexp = 0;
- for (char_type c : str)
- if (c > 0x0d && QChar(c).isSpace()) {
- if (!wasspace) {
- ++nexp;
- wasspace = true;
- }
- } else
- wasspace = false;
- return nexp;
-}
-
-
namespace {
const int brkStrOffset = 1 + BIDI_OFFSET;
diff --git a/src/frontends/qt/GuiFontMetrics.h b/src/frontends/qt/GuiFontMetrics.h
index 9501eb8..82c5839 100644
--- a/src/frontends/qt/GuiFontMetrics.h
+++ b/src/frontends/qt/GuiFontMetrics.h
@@ -92,7 +92,6 @@ public:
int & ascent,
int & descent) const override;
- int countExpanders(docstring const & str) const override;
///
int width(QString const & str) const;
diff --git a/src/frontends/qt/GuiPainter.cpp b/src/frontends/qt/GuiPainter.cpp
index cf9cd7c..b243c6e 100644
--- a/src/frontends/qt/GuiPainter.cpp
+++ b/src/frontends/qt/GuiPainter.cpp
@@ -26,6 +26,7 @@
#include "support/debug.h"
#include "support/lassert.h"
#include "support/lyxlib.h"
+#include "support/lstrings.h"
#include <algorithm>
@@ -329,7 +330,7 @@ void GuiPainter::text(int x, int y, docstring const & s,
if (tw == 0.0)
// Take into account space stretching (word spacing)
textwidth = fm.width(s) +
- static_cast<int>(fm.countExpanders(s) * wordspacing);
+ static_cast<int>(countExpanders(s) * wordspacing);
else
textwidth = static_cast<int>(tw);
diff --git a/src/support/lstrings.cpp b/src/support/lstrings.cpp
index 351c977..b9c23f5 100644
--- a/src/support/lstrings.cpp
+++ b/src/support/lstrings.cpp
@@ -1495,6 +1495,27 @@ string from_percent_encoding(string const & in)
}
+int countExpanders(docstring const & str)
+{
+ // Numbers of characters that are expanded by inter-word spacing. These
+ // characters are spaces, except for characters 09-0D which are treated
+ // specially. (From a combination of testing with the notepad found in qt's
+ // examples, and reading the source code.) In addition, consecutive spaces
+ // only count as one expander.
+ bool wasspace = false;
+ int nexp = 0;
+ for (char_type c : str)
+ if (c > 0x0d && isSpace(c)) {
+ if (!wasspace) {
+ ++nexp;
+ wasspace = true;
+ }
+ } else
+ wasspace = false;
+ return nexp;
+}
+
+
docstring bformat(docstring const & fmt, int arg1)
{
LATTEST(contains(fmt, from_ascii("%1$d")));
diff --git a/src/support/lstrings.h b/src/support/lstrings.h
index 3d42bb6..390d29c 100644
--- a/src/support/lstrings.h
+++ b/src/support/lstrings.h
@@ -368,6 +368,11 @@ docstring to_percent_encoding(docstring const & in, docstring const & ex = docst
/// Returns a string decoded from an URI/URL-style percent-encoded string \p in.
std::string from_percent_encoding(std::string const & in);
+/// returns the number of expanding characters taken into account for
+/// increased inter-word spacing during justification
+int countExpanders(docstring const & str);
+
+
docstring bformat(docstring const & fmt, int arg1);
docstring bformat(docstring const & fmt, long arg1);
#ifdef HAVE_LONG_LONG_INT
commit 1f7d90d6367010d32f77a536a246e8fed9b3d381
Author: Kornel Benko <kornel at lyx.org>
Date: Fri Apr 8 08:40:32 2022 +0200
Find: Advanced + Quick:
Expand list of quotes to include also '» « ⺠â¹'
Enable quick find to search for quotes too
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index be133b1..92bb883 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -4560,6 +4560,23 @@ void Paragraph::changeCase(BufferParams const & bparams, pos_type pos,
}
}
+static char_type matchquote(char_type in)
+{
+ switch (in) {
+ case 0x2018:
+ case 0x201a:
+ case 0x203a:
+ case 0x2039:
+ return '\''; // â â ⺠â¹
+ case 0x00bb:
+ case 0x00ab:
+ case 0x201e:
+ case 0x201c:
+ return '"'; // » « â â
+ default:
+ return in;
+ }
+}
int Paragraph::find(docstring const & str, bool cs, bool mw,
pos_type start_pos, bool del) const
@@ -4590,8 +4607,9 @@ int Paragraph::find(docstring const & str, bool cs, bool mw,
if (!insetstring.empty()) {
int const insetstringsize = insetstring.length();
for (int j = 0; j < insetstringsize && pos < parsize; ++i, ++j) {
- if ((cs && str[i] != insetstring[j])
- || (!cs && uppercase(str[i]) != uppercase(insetstring[j]))) {
+ char_type ij = matchquote(insetstring[j]);
+ if ((cs && str[i] != ij)
+ || (!cs && uppercase(str[i]) != uppercase(ij))) {
nonmatch = true;
break;
}
@@ -4601,9 +4619,10 @@ int Paragraph::find(docstring const & str, bool cs, bool mw,
}
if (nonmatch || i == strsize)
break;
- if (cs && str[i] != d->text_[pos])
+ char_type dp = matchquote(d->text_[pos]);
+ if (cs && str[i] != dp)
break;
- if (!cs && uppercase(str[i]) != uppercase(d->text_[pos]))
+ if (!cs && uppercase(str[i]) != uppercase(dp))
break;
}
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 0f02a39..c3f2b77 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -913,10 +913,10 @@ string correctRegex(string t, bool withformat)
else if (lastpos < t.length())
s += t.substr(lastpos, t.length() - lastpos);
// Handle quotes in regex
- // substitute all 'â', 'â' with '"'
- // and all 'â', 'â' with "\'"
- static std::regex plainquotes { R"(â|â)" };
- static std::regex innerquotes { R"(â|â)" };
+ // substitute all 'â', 'â', '»', '«' with '"'
+ // and all 'â', 'â', 'âº', 'â¹' with "\'"
+ static std::regex plainquotes { R"(â|â|»|«)" };
+ static std::regex innerquotes { R"(â|â|âº|â¹)" };
t = std::regex_replace(s, plainquotes, R"(")");
s = std::regex_replace(t, innerquotes, R"(')");
//LYXERR0("correctRegex output '" << s << "'");
commit aa66663364c44047bd97c919a651b8adcaf7617a
Author: Kornel Benko <kornel at lyx.org>
Date: Wed Apr 6 19:00:20 2022 +0200
FindAdv: Amend 58f70b9d
Consider plain-quotes, inner-quotes
1 independent if in regex or text
2 independent of quote style
3 independent of using dynamic marks
diff --git a/src/insets/InsetQuotes.cpp b/src/insets/InsetQuotes.cpp
index 3dfed9e..67ad767 100644
--- a/src/insets/InsetQuotes.cpp
+++ b/src/insets/InsetQuotes.cpp
@@ -942,11 +942,20 @@ void InsetQuotes::latex(otexstream & os, OutputParams const & runparams) const
int InsetQuotes::plaintext(odocstringstream & os,
- OutputParams const &, size_t) const
+ OutputParams const & op, size_t) const
{
- docstring const str = displayString();
- os << str;
- return str.size();
+ if (op.for_searchAdv == OutputParams::NoSearch) {
+ docstring const str = displayString();
+ os << str;
+ return str.size();
+ }
+ else {
+ if (level_ == QuoteLevel::Primary)
+ os << from_ascii("\"");
+ else
+ os << from_ascii("'");
+ return 1;
+ }
}
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 64da365..0f02a39 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -909,9 +909,16 @@ string correctRegex(string t, bool withformat)
lastpos = sub.position(2) + sub.length(2);
}
if (lastpos == 0)
- return t;
+ s = t;
else if (lastpos < t.length())
s += t.substr(lastpos, t.length() - lastpos);
+ // Handle quotes in regex
+ // substitute all 'â', 'â' with '"'
+ // and all 'â', 'â' with "\'"
+ static std::regex plainquotes { R"(â|â)" };
+ static std::regex innerquotes { R"(â|â)" };
+ t = std::regex_replace(s, plainquotes, R"(")");
+ s = std::regex_replace(t, innerquotes, R"(')");
//LYXERR0("correctRegex output '" << s << "'");
return s;
}
commit 58f70b9da1c4137a9c9831dfade8239b33288bbf
Author: Kornel Benko <kornel at lyx.org>
Date: Tue Apr 5 17:04:51 2022 +0200
FindAdv: Handle search for quotes
Double quotes will be found if using the string '"' in pattern.
Single quotes needs "'" in pattern.
diff --git a/src/insets/InsetQuotes.cpp b/src/insets/InsetQuotes.cpp
index dc6dbba..3dfed9e 100644
--- a/src/insets/InsetQuotes.cpp
+++ b/src/insets/InsetQuotes.cpp
@@ -851,7 +851,7 @@ void InsetQuotes::latex(otexstream & os, OutputParams const & runparams) const
docstring qstr;
// In pass-thru context, we output plain quotes
- if (runparams.pass_thru)
+ if (runparams.pass_thru || runparams.for_searchAdv != OutputParams::NoSearch)
qstr = (level_ == QuoteLevel::Primary) ? from_ascii("\"") : from_ascii("'");
else if (style == QuoteStyle::Plain && fontspec_) {
// For XeTeX and LuaTeX,we need to disable mapping to get straight
commit 31ac9ed59ff7d4eb22dfc2520fb216baf74115b7
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Mon Apr 4 12:02:25 2022 +0200
Fix indentation
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index c4b6b96..64da365 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -892,7 +892,7 @@ string correctRegex(string t, bool withformat)
else if (sub.str(4) == "{") // transforms '\{' into '{'
replace = "{";
else if (sub.str(4) == "}")
- replace = "}";
+ replace = "}";
else {
AccentsIterator it_ac = accents.find(sub.str(4));
if (it_ac == accents.end()) {
@@ -961,8 +961,8 @@ public:
enum range {
newIsTooFar,
newIsBetter,
- newIsInvalid
- };
+ newIsInvalid
+ };
int match_len;
int match_prefix;
int match2end;
@@ -976,16 +976,16 @@ public:
static MatchResult::range interpretMatch(MatchResult &oldres, MatchResult &newres)
{
- if (newres.match2end < oldres.match2end)
- return MatchResult::newIsTooFar;
- if (newres.match_len < oldres.match_len)
- return MatchResult::newIsTooFar;
-
- if (newres.match_len == oldres.match_len) {
- if (newres.match2end == oldres.match2end)
- return MatchResult::newIsBetter;
- }
- return MatchResult::newIsInvalid;
+ if (newres.match2end < oldres.match2end)
+ return MatchResult::newIsTooFar;
+ if (newres.match_len < oldres.match_len)
+ return MatchResult::newIsTooFar;
+
+ if (newres.match_len == oldres.match_len) {
+ if (newres.match2end == oldres.match2end)
+ return MatchResult::newIsBetter;
+ }
+ return MatchResult::newIsInvalid;
}
/** The class performing a match between a position in the document and the FindAdvOptions.
@@ -1071,13 +1071,12 @@ vector <string> MatchStringAdv::matches = vector <string>(10);
void MatchStringAdv::FillResults(MatchResult &found_mr)
{
- if (found_mr.match_len > 0) {
- valid_matches = found_mr.result.size();
- for (size_t i = 0; i < found_mr.result.size(); i++)
- matches[i] = found_mr.result[i];
- }
- else
- valid_matches = 0;
+ if (found_mr.match_len > 0) {
+ valid_matches = found_mr.result.size();
+ for (size_t i = 0; i < found_mr.result.size(); i++)
+ matches[i] = found_mr.result[i];
+ } else
+ valid_matches = 0;
}
static docstring buffer_to_latex(Buffer & buffer)
@@ -1202,12 +1201,12 @@ static size_t identifyLeading(string const & s)
// Kornel: Added textsl, textsf, textit, texttt and noun
// + allow to search for colored text too
while (regex_replace(t, t, "^\\\\(("
- "(author|title|subtitle|subject|publishers|dedication|uppertitleback|lowertitleback|extratitle|"
- "lyxaddress|lyxrightaddress|"
- "footnotesize|tiny|scriptsize|small|large|Large|LARGE|huge|Huge|"
- "emph|noun|minisec|text(bf|md|sl|sf|it|tt))|"
- "((textcolor|foreignlanguage|latexenvironment)\\{[a-z]+\\*?\\})|"
- "(u|uu)line|(s|x)out|uwave)|((sub)?(((sub)?section)|paragraph)|part|chapter)\\*?)\\{", "")
+ "(author|title|subtitle|subject|publishers|dedication|uppertitleback|lowertitleback|extratitle|"
+ "lyxaddress|lyxrightaddress|"
+ "footnotesize|tiny|scriptsize|small|large|Large|LARGE|huge|Huge|"
+ "emph|noun|minisec|text(bf|md|sl|sf|it|tt))|"
+ "((textcolor|foreignlanguage|latexenvironment)\\{[a-z]+\\*?\\})|"
+ "(u|uu)line|(s|x)out|uwave)|((sub)?(((sub)?section)|paragraph)|part|chapter)\\*?)\\{", "")
|| regex_replace(t, t, "^\\$", "")
|| regex_replace(t, t, "^\\\\\\[", "")
|| regex_replace(t, t, "^ ?\\\\item\\{[a-z]+\\}", "")
@@ -1271,169 +1270,170 @@ static Features identifyFeatures(string const & s)
* defines values features of a key "\\[a-z]+{"
*/
class KeyInfo {
- public:
- enum KeyType {
- /* Char type with content discarded
- * like \hspace{1cm} */
- noContent,
- /* Char, like \backslash */
- isChar,
- /* replace starting backslash with '#' */
- isText,
- /* \part, \section*, ... */
- isSectioning,
- /* title, author etc */
- isTitle,
- /* \foreignlanguage{ngerman}, ... */
- isMain,
- /* inside \code{}
- * to discard language in content */
- noMain,
- isRegex,
- /* \begin{eqnarray}...\end{eqnarray}, ... $...$ */
- isMath,
- /* fonts, colors, markups, ... */
- isStandard,
- /* footnotesize, ... large, ...
- * Ignore all of them */
- isSize,
- invalid,
- /* inputencoding, ...
- * Discard also content, because they do not help in search */
- doRemove,
- /* twocolumns, ...
- * like remove, but also all arguments */
- removeWithArg,
- /* item, listitem */
- isList,
- /* tex, latex, ... like isChar */
- isIgnored,
- /* like \lettrine[lines=5]{}{} */
- cleanToStart,
- // like isStandard, but always remove head
- headRemove,
- /* End of arguments marker for lettrine,
- * so that they can be ignored */
- endArguments
- };
- KeyInfo() = default;
- KeyInfo(KeyType type, int parcount, bool disable)
- : keytype(type),
- parenthesiscount(parcount),
- disabled(disable) {}
- KeyType keytype = invalid;
- string head;
- int _tokensize = -1;
- int _tokenstart = -1;
- int _dataStart = -1;
- int _dataEnd = -1;
- int parenthesiscount = 1;
- bool disabled = false;
- bool used = false; /* by pattern */
+public:
+ enum KeyType {
+ /* Char type with content discarded
+ * like \hspace{1cm} */
+ noContent,
+ /* Char, like \backslash */
+ isChar,
+ /* replace starting backslash with '#' */
+ isText,
+ /* \part, \section*, ... */
+ isSectioning,
+ /* title, author etc */
+ isTitle,
+ /* \foreignlanguage{ngerman}, ... */
+ isMain,
+ /* inside \code{}
+ * to discard language in content */
+ noMain,
+ isRegex,
+ /* \begin{eqnarray}...\end{eqnarray}, ... $...$ */
+ isMath,
+ /* fonts, colors, markups, ... */
+ isStandard,
+ /* footnotesize, ... large, ...
+ * Ignore all of them */
+ isSize,
+ invalid,
+ /* inputencoding, ...
+ * Discard also content, because they do not help in search */
+ doRemove,
+ /* twocolumns, ...
+ * like remove, but also all arguments */
+ removeWithArg,
+ /* item, listitem */
+ isList,
+ /* tex, latex, ... like isChar */
+ isIgnored,
+ /* like \lettrine[lines=5]{}{} */
+ cleanToStart,
+ // like isStandard, but always remove head
+ headRemove,
+ /* End of arguments marker for lettrine,
+ * so that they can be ignored */
+ endArguments
+ };
+ KeyInfo() = default;
+ KeyInfo(KeyType type, int parcount, bool disable)
+ : keytype(type),
+ parenthesiscount(parcount),
+ disabled(disable) {}
+ KeyType keytype = invalid;
+ string head;
+ int _tokensize = -1;
+ int _tokenstart = -1;
+ int _dataStart = -1;
+ int _dataEnd = -1;
+ int parenthesiscount = 1;
+ bool disabled = false;
+ bool used = false; /* by pattern */
};
class Border {
- public:
- Border(int l=0, int u=0) : low(l), upper(u) {}
- int low;
- int upper;
+public:
+ Border(int l=0, int u=0) : low(l), upper(u) {}
+ int low;
+ int upper;
};
#define MAXOPENED 30
class Intervall {
- bool isPatternString_;
+ bool isPatternString_;
public:
- explicit Intervall(bool isPattern, string const & p) :
- isPatternString_(isPattern), par(p), ignoreidx(-1), actualdeptindex(0),
- hasTitle(false), langcount(0)
- {
- depts[0] = 0;
- closes[0] = 0;
- }
-
- string par;
- int ignoreidx;
- static vector<Border> borders;
- int depts[MAXOPENED];
- int closes[MAXOPENED];
- int actualdeptindex;
- int previousNotIgnored(int) const;
- int nextNotIgnored(int) const;
- void handleOpenP(int i);
- void handleCloseP(int i, bool closingAllowed);
- void resetOpenedP(int openPos);
- void addIntervall(int upper);
- void addIntervall(int low, int upper); /* if explicit */
- void removeAccents();
- void setForDefaultLang(KeyInfo const & defLang) const;
- int findclosing(int start, int end, char up, char down, int repeat);
- void handleParentheses(int lastpos, bool closingAllowed);
- bool hasTitle;
- int langcount; // Number of disabled language specs up to current position in actual interval
- int isOpeningPar(int pos) const;
- string titleValue;
- void output(ostringstream &os, int lastpos);
- // string show(int lastpos);
+ explicit Intervall(bool isPattern, string const & p)
+ : isPatternString_(isPattern), par(p), ignoreidx(-1),
+ actualdeptindex(0), hasTitle(false), langcount(0)
+ {
+ depts[0] = 0;
+ closes[0] = 0;
+ }
+
+ string par;
+ int ignoreidx;
+ static vector<Border> borders;
+ int depts[MAXOPENED];
+ int closes[MAXOPENED];
+ int actualdeptindex;
+ int previousNotIgnored(int) const;
+ int nextNotIgnored(int) const;
+ void handleOpenP(int i);
+ void handleCloseP(int i, bool closingAllowed);
+ void resetOpenedP(int openPos);
+ void addIntervall(int upper);
+ void addIntervall(int low, int upper); /* if explicit */
+ void removeAccents();
+ void setForDefaultLang(KeyInfo const & defLang) const;
+ int findclosing(int start, int end, char up, char down, int repeat);
+ void handleParentheses(int lastpos, bool closingAllowed);
+ bool hasTitle;
+ // Number of disabled language specs up
+ // to current position in actual interval
+ int langcount;
+ int isOpeningPar(int pos) const;
+ string titleValue;
+ void output(ostringstream &os, int lastpos);
+ // string show(int lastpos);
};
vector<Border> Intervall::borders = vector<Border>(30);
int Intervall::isOpeningPar(int pos) const
{
- if ((pos < 0) || (size_t(pos) >= par.size()))
- return 0;
- if (par[pos] != '{')
- return 0;
- if (size_t(pos) + 2 >= par.size())
- return 1;
- if (par[pos+2] != '}')
- return 1;
- if (par[pos+1] == '[' || par[pos+1] == ']')
- return 3;
- return 1;
+ if ((pos < 0) || (size_t(pos) >= par.size()))
+ return 0;
+ if (par[pos] != '{')
+ return 0;
+ if (size_t(pos) + 2 >= par.size())
+ return 1;
+ if (par[pos+2] != '}')
+ return 1;
+ if (par[pos+1] == '[' || par[pos+1] == ']')
+ return 3;
+ return 1;
}
void Intervall::setForDefaultLang(KeyInfo const & defLang) const
{
- // Enable the use of first token again
- if (ignoreidx >= 0) {
- int value = defLang._tokenstart + defLang._tokensize;
- int borderidx = 0;
- if (hasTitle) {
- borderidx = 1;
- }
- if (value > 0) {
- if (borders[borderidx].low < value)
- borders[borderidx].low = value;
- if (borders[borderidx].upper < value)
- borders[borderidx].upper = value;
- }
- }
+ // Enable the use of first token again
+ if (ignoreidx >= 0) {
+ int value = defLang._tokenstart + defLang._tokensize;
+ int borderidx = 0;
+ if (hasTitle)
+ borderidx = 1;
+ if (value > 0) {
+ if (borders[borderidx].low < value)
+ borders[borderidx].low = value;
+ if (borders[borderidx].upper < value)
+ borders[borderidx].upper = value;
+ }
+ }
}
static void checkDepthIndex(int val)
{
- static int maxdepthidx = MAXOPENED-2;
- static int lastmaxdepth = 0;
- if (val > lastmaxdepth) {
- LYXERR(Debug::INFO, "Depth reached " << val);
- lastmaxdepth = val;
- }
- if (val > maxdepthidx) {
- maxdepthidx = val;
- LYXERR(Debug::INFO, "maxdepthidx now " << val);
- }
+ static int maxdepthidx = MAXOPENED-2;
+ static int lastmaxdepth = 0;
+ if (val > lastmaxdepth) {
+ LYXERR(Debug::INFO, "Depth reached " << val);
+ lastmaxdepth = val;
+ }
+ if (val > maxdepthidx) {
+ maxdepthidx = val;
+ LYXERR(Debug::INFO, "maxdepthidx now " << val);
+ }
}
#if 0
// Not needed, because borders are now dynamically expanded
static void checkIgnoreIdx(int val)
{
- static int lastmaxignore = -1;
- if ((lastmaxignore < val) && (size_t(val+1) >= borders.size())) {
- LYXERR(Debug::INFO, "IgnoreIdx reached " << val);
- lastmaxignore = val;
- }
+ static int lastmaxignore = -1;
+ if ((lastmaxignore < val) && (size_t(val+1) >= borders.size())) {
+ LYXERR(Debug::INFO, "IgnoreIdx reached " << val);
+ lastmaxignore = val;
+ }
}
#endif
@@ -1443,114 +1443,114 @@ static void checkIgnoreIdx(int val)
*/
void Intervall::addIntervall(int low, int upper)
{
- int idx;
- if (low == upper) return;
- for (idx = ignoreidx+1; idx > 0; --idx) {
- if (low > borders[idx-1].upper) {
- break;
- }
- }
- Border br(low, upper);
- if (idx > ignoreidx) {
- if (borders.size() <= size_t(idx)) {
- borders.push_back(br);
- }
- else {
- borders[idx] = br;
- }
- ignoreidx = idx;
- // checkIgnoreIdx(ignoreidx);
- return;
- }
- else {
- // Expand only if one of the new bound is inside the interwall
- // We know here that br.low > borders[idx-1].upper
- if (br.upper < borders[idx].low) {
- // We have to insert at this pos
- if (size_t(ignoreidx+1) >= borders.size()) {
- borders.push_back(borders[ignoreidx]);
- }
- else {
- borders[ignoreidx+1] = borders[ignoreidx];
- }
- for (int i = ignoreidx; i > idx; --i) {
- borders[i] = borders[i-1];
- }
- borders[idx] = br;
- ignoreidx += 1;
- // checkIgnoreIdx(ignoreidx);
- return;
- }
- // Here we know, that we are overlapping
- if (br.low > borders[idx].low)
- br.low = borders[idx].low;
- // check what has to be concatenated
- int count = 0;
- for (int i = idx; i <= ignoreidx; i++) {
- if (br.upper >= borders[i].low) {
- count++;
- if (br.upper < borders[i].upper)
- br.upper = borders[i].upper;
- }
- else {
- break;
- }
- }
- // count should be >= 1 here
- borders[idx] = br;
- if (count > 1) {
- for (int i = idx + count; i <= ignoreidx; i++) {
- borders[i-count+1] = borders[i];
- }
- ignoreidx -= count - 1;
- return;
- }
- }
+ int idx;
+ if (low == upper) return;
+ for (idx = ignoreidx+1; idx > 0; --idx) {
+ if (low > borders[idx-1].upper) {
+ break;
+ }
+ }
+ Border br(low, upper);
+ if (idx > ignoreidx) {
+ if (borders.size() <= size_t(idx)) {
+ borders.push_back(br);
+ }
+ else {
+ borders[idx] = br;
+ }
+ ignoreidx = idx;
+ // checkIgnoreIdx(ignoreidx);
+ return;
+ }
+ else {
+ // Expand only if one of the new bound is inside the interwall
+ // We know here that br.low > borders[idx-1].upper
+ if (br.upper < borders[idx].low) {
+ // We have to insert at this pos
+ if (size_t(ignoreidx+1) >= borders.size()) {
+ borders.push_back(borders[ignoreidx]);
+ }
+ else {
+ borders[ignoreidx+1] = borders[ignoreidx];
+ }
+ for (int i = ignoreidx; i > idx; --i) {
+ borders[i] = borders[i-1];
+ }
+ borders[idx] = br;
+ ignoreidx += 1;
+ // checkIgnoreIdx(ignoreidx);
+ return;
+ }
+ // Here we know, that we are overlapping
+ if (br.low > borders[idx].low)
+ br.low = borders[idx].low;
+ // check what has to be concatenated
+ int count = 0;
+ for (int i = idx; i <= ignoreidx; i++) {
+ if (br.upper >= borders[i].low) {
+ count++;
+ if (br.upper < borders[i].upper)
+ br.upper = borders[i].upper;
+ }
+ else {
+ break;
+ }
+ }
+ // count should be >= 1 here
+ borders[idx] = br;
+ if (count > 1) {
+ for (int i = idx + count; i <= ignoreidx; i++) {
+ borders[i-count+1] = borders[i];
+ }
+ ignoreidx -= count - 1;
+ return;
+ }
+ }
}
static void buildaccent(string n, string param, string values)
{
- stringstream s(n);
- string name;
- const char delim = '|';
- while (getline(s, name, delim)) {
- size_t start = 0;
- for (char c : param) {
- string key = name + "{" + c + "}";
- // get the corresponding utf8-value
- if ((values[start] & 0xc0) != 0xc0) {
- // should not happen, utf8 encoding starts at least with 11xxxxxx
- // but value for '\dot{i}' is 'i', which is ascii
- if ((values[start] & 0x80) == 0) {
- // is ascii
- accents[key] = values.substr(start, 1);
- // LYXERR(Debug::INFO, "" << key << "=" << accents[key]);
- }
- start++;
- continue;
- }
- for (int j = 1; ;j++) {
- if (start + j >= values.size()) {
- accents[key] = values.substr(start, j);
- start = values.size() - 1;
- break;
- }
- else if ((values[start+j] & 0xc0) != 0x80) {
- // This is the first byte of following utf8 char
- accents[key] = values.substr(start, j);
- start += j;
- // LYXERR(Debug::INFO, "" << key << "=" << accents[key]);
- break;
- }
- }
- }
- }
+ stringstream s(n);
+ string name;
+ const char delim = '|';
+ while (getline(s, name, delim)) {
+ size_t start = 0;
+ for (char c : param) {
+ string key = name + "{" + c + "}";
+ // get the corresponding utf8-value
+ if ((values[start] & 0xc0) != 0xc0) {
+ // should not happen, utf8 encoding starts at least with 11xxxxxx
+ // but value for '\dot{i}' is 'i', which is ascii
+ if ((values[start] & 0x80) == 0) {
+ // is ascii
+ accents[key] = values.substr(start, 1);
+ // LYXERR(Debug::INFO, "" << key << "=" << accents[key]);
+ }
+ start++;
+ continue;
+ }
+ for (int j = 1; ;j++) {
+ if (start + j >= values.size()) {
+ accents[key] = values.substr(start, j);
+ start = values.size() - 1;
+ break;
+ }
+ else if ((values[start+j] & 0xc0) != 0x80) {
+ // This is the first byte of following utf8 char
+ accents[key] = values.substr(start, j);
+ start += j;
+ // LYXERR(Debug::INFO, "" << key << "=" << accents[key]);
+ break;
+ }
+ }
+ }
+ }
}
// Helper function
static string getutf8(unsigned uchar)
{
- #define maxc 5
+#define maxc 5
string ret = string();
char c[maxc] = {0};
if (uchar <= 0x7f) {
@@ -1581,385 +1581,385 @@ static string getutf8(unsigned uchar)
static void addAccents(string latex_in, string unicode_out)
{
- latex_in = latex_in.substr(1);
- AccentsIterator it_ac = accents.find(latex_in);
- if (it_ac == accents.end()) {
- accents[latex_in] = unicode_out;
- }
- else {
- LYXERR0("Key " << latex_in << " already set");
- }
+ latex_in = latex_in.substr(1);
+ AccentsIterator it_ac = accents.find(latex_in);
+ if (it_ac == accents.end()) {
+ accents[latex_in] = unicode_out;
+ }
+ else {
+ LYXERR0("Key " << latex_in << " already set");
+ }
}
void static fillMissingUnicodesymbols()
{
- addAccents("\\pounds", getutf8(0x00a3));
- addAccents("\\textsterling", getutf8(0x00a3));
- addAccents("\\textyen", getutf8(0x00a5));
- addAccents("\\yen", getutf8(0x00a5));
- addAccents("\\textsection", getutf8(0x00a7));
- addAccents("\\mathsection", getutf8(0x00a7));
- addAccents("\\textcopyright", getutf8(0x00a9));
- addAccents("\\copyright", getutf8(0x00a9));
- addAccents("\\textlnot", getutf8(0x00ac));
- addAccents("\\neg", getutf8(0x00ac));
- addAccents("\\textregistered", getutf8(0x00ae));
- addAccents("\\circledR", getutf8(0x00ae));
- addAccents("\\textpm", getutf8(0x00b1));
- addAccents("\\pm", getutf8(0x00b1));
- addAccents("\\textparagraph", getutf8(0x00b6));
- addAccents("\\mathparagraph", getutf8(0x00b6));
- addAccents("\\textperiodcentered", getutf8(0x00b7));
- addAccents("\\texttimes", getutf8(0x00d7));
- addAccents("\\times", getutf8(0x00d7));
- addAccents("\\O", getutf8(0x00d8));
- addAccents("\\dh", getutf8(0x00f0));
- addAccents("\\eth", getutf8(0x00f0));
- addAccents("\\textdiv", getutf8(0x00f7));
- addAccents("\\div", getutf8(0x00f7));
- addAccents("\\o", getutf8(0x00f8));
- addAccents("\\textcrlambda", getutf8(0x019b));
- addAccents("\\j", getutf8(0x0237));
- addAccents("\\textrevepsilon", getutf8(0x025c));
- addAccents("\\textbaru", getutf8(0x0289));
- addAccents("\\textquoteleft", getutf8(0x02bb));
- addAccents("\\textGamma", getutf8(0x0393));
- addAccents("\\Gamma", getutf8(0x0393));
- addAccents("\\textDelta", getutf8(0x0394));
- addAccents("\\Delta", getutf8(0x0394));
- addAccents("\\textTheta", getutf8(0x0398));
- addAccents("\\Theta", getutf8(0x0398));
- addAccents("\\textLambda", getutf8(0x039b));
- addAccents("\\Lambda", getutf8(0x039b));
- addAccents("\\textXi", getutf8(0x039e));
- addAccents("\\Xi", getutf8(0x039e));
- addAccents("\\textPi", getutf8(0x03a0));
- addAccents("\\Pi", getutf8(0x03a0));
- addAccents("\\textSigma", getutf8(0x03a3));
- addAccents("\\Sigma", getutf8(0x03a3));
- addAccents("\\textUpsilon", getutf8(0x03a5));
- addAccents("\\Upsilon", getutf8(0x03a5));
- addAccents("\\textPhi", getutf8(0x03a6));
- addAccents("\\Phi", getutf8(0x03a6));
- addAccents("\\textPsi", getutf8(0x03a8));
- addAccents("\\Psi", getutf8(0x03a8));
- addAccents("\\textOmega", getutf8(0x03a9));
- addAccents("\\Omega", getutf8(0x03a9));
- addAccents("\\textalpha", getutf8(0x03b1));
- addAccents("\\alpha", getutf8(0x03b1));
- addAccents("\\textbeta", getutf8(0x03b2));
- addAccents("\\beta", getutf8(0x03b2));
- addAccents("\\textgamma", getutf8(0x03b3));
- addAccents("\\gamma", getutf8(0x03b3));
- addAccents("\\textdelta", getutf8(0x03b4));
- addAccents("\\delta", getutf8(0x03b4));
- addAccents("\\textepsilon", getutf8(0x03b5));
- addAccents("\\varepsilon", getutf8(0x03b5));
- addAccents("\\textzeta", getutf8(0x03b6));
- addAccents("\\zeta", getutf8(0x03b6));
- addAccents("\\texteta", getutf8(0x03b7));
- addAccents("\\eta", getutf8(0x03b7));
- addAccents("\\texttheta", getutf8(0x03b8));
- addAccents("\\theta", getutf8(0x03b8));
- addAccents("\\textiota", getutf8(0x03b9));
- addAccents("\\iota", getutf8(0x03b9));
- addAccents("\\textkappa", getutf8(0x03ba));
- addAccents("\\kappa", getutf8(0x03ba));
- addAccents("\\textlambda", getutf8(0x03bb));
- addAccents("\\lambda", getutf8(0x03bb));
- addAccents("\\textmu", getutf8(0x03bc));
- addAccents("\\mu", getutf8(0x03bc));
- addAccents("\\textnu", getutf8(0x03bd));
- addAccents("\\nu", getutf8(0x03bd));
- addAccents("\\textxi", getutf8(0x03be));
- addAccents("\\xi", getutf8(0x03be));
- addAccents("\\textpi", getutf8(0x03c0));
- addAccents("\\pi", getutf8(0x03c0));
- addAccents("\\textrho", getutf8(0x03c1));
- addAccents("\\rho", getutf8(0x03c1));
- addAccents("\\textfinalsigma", getutf8(0x03c2));
- addAccents("\\varsigma", getutf8(0x03c2));
- addAccents("\\textsigma", getutf8(0x03c3));
- addAccents("\\sigma", getutf8(0x03c3));
- addAccents("\\texttau", getutf8(0x03c4));
- addAccents("\\tau", getutf8(0x03c4));
- addAccents("\\textupsilon", getutf8(0x03c5));
- addAccents("\\upsilon", getutf8(0x03c5));
- addAccents("\\textphi", getutf8(0x03c6));
- addAccents("\\varphi", getutf8(0x03c6));
- addAccents("\\textchi", getutf8(0x03c7));
- addAccents("\\chi", getutf8(0x03c7));
- addAccents("\\textpsi", getutf8(0x03c8));
- addAccents("\\psi", getutf8(0x03c8));
- addAccents("\\textomega", getutf8(0x03c9));
- addAccents("\\omega", getutf8(0x03c9));
- addAccents("\\textdigamma", getutf8(0x03dd));
- addAccents("\\digamma", getutf8(0x03dd));
- addAccents("\\hebalef", getutf8(0x05d0));
- addAccents("\\aleph", getutf8(0x05d0));
- addAccents("\\hebbet", getutf8(0x05d1));
- addAccents("\\beth", getutf8(0x05d1));
- addAccents("\\hebgimel", getutf8(0x05d2));
- addAccents("\\gimel", getutf8(0x05d2));
- addAccents("\\hebdalet", getutf8(0x05d3));
- addAccents("\\daleth", getutf8(0x05d3));
- addAccents("\\hebhe", getutf8(0x05d4));
- addAccents("\\hebvav", getutf8(0x05d5));
- addAccents("\\hebzayin", getutf8(0x05d6));
- addAccents("\\hebhet", getutf8(0x05d7));
- addAccents("\\hebtet", getutf8(0x05d8));
- addAccents("\\hebyod", getutf8(0x05d9));
- addAccents("\\hebfinalkaf", getutf8(0x05da));
- addAccents("\\hebkaf", getutf8(0x05db));
- addAccents("\\heblamed", getutf8(0x05dc));
- addAccents("\\hebfinalmem", getutf8(0x05dd));
- addAccents("\\hebmem", getutf8(0x05de));
- addAccents("\\hebfinalnun", getutf8(0x05df));
- addAccents("\\hebnun", getutf8(0x05e0));
- addAccents("\\hebsamekh", getutf8(0x05e1));
- addAccents("\\hebayin", getutf8(0x05e2));
- addAccents("\\hebfinalpe", getutf8(0x05e3));
- addAccents("\\hebpe", getutf8(0x05e4));
- addAccents("\\hebfinaltsadi", getutf8(0x05e5));
- addAccents("\\hebtsadi", getutf8(0x05e6));
- addAccents("\\hebqof", getutf8(0x05e7));
- addAccents("\\hebresh", getutf8(0x05e8));
- addAccents("\\hebshin", getutf8(0x05e9));
- addAccents("\\hebtav", getutf8(0x05ea));
-
- // Thai characters
- addAccents("\\thaiKoKai", getutf8(0x0e01));
- addAccents("\\thaiKhoKhai", getutf8(0x0e02));
- addAccents("\\thaiKhoKhuat", getutf8(0x0e03));
- addAccents("\\thaiKhoKhwai", getutf8(0x0e04));
- addAccents("\\thaiKhoKhon", getutf8(0x0e05));
- addAccents("\\thaiKhoRakhang", getutf8(0x0e06));
- addAccents("\\thaiNgoNgu", getutf8(0x0e07));
- addAccents("\\thaiChoChan", getutf8(0x0e08));
- addAccents("\\thaiChoChing", getutf8(0x0e09));
- addAccents("\\thaiChoChang", getutf8(0x0e0a));
- addAccents("\\thaiSoSo", getutf8(0x0e0b));
- addAccents("\\thaiChoChoe", getutf8(0x0e0c));
- addAccents("\\thaiYoYing", getutf8(0x0e0d));
- addAccents("\\thaiDoChada", getutf8(0x0e0e));
- addAccents("\\thaiToPatak", getutf8(0x0e0f));
- addAccents("\\thaiThoThan", getutf8(0x0e10));
- addAccents("\\thaiThoNangmontho", getutf8(0x0e11));
- addAccents("\\thaiThoPhuthao", getutf8(0x0e12));
- addAccents("\\thaiNoNen", getutf8(0x0e13));
- addAccents("\\thaiDoDek", getutf8(0x0e14));
- addAccents("\\thaiToTao", getutf8(0x0e15));
- addAccents("\\thaiThoThung", getutf8(0x0e16));
- addAccents("\\thaiThoThahan", getutf8(0x0e17));
- addAccents("\\thaiThoThong", getutf8(0x0e18));
- addAccents("\\thaiNoNu", getutf8(0x0e19));
- addAccents("\\thaiBoBaimai", getutf8(0x0e1a));
- addAccents("\\thaiPoPla", getutf8(0x0e1b));
- addAccents("\\thaiPhoPhung", getutf8(0x0e1c));
- addAccents("\\thaiFoFa", getutf8(0x0e1d));
- addAccents("\\thaiPhoPhan", getutf8(0x0e1e));
- addAccents("\\thaiFoFan", getutf8(0x0e1f));
- addAccents("\\thaiPhoSamphao", getutf8(0x0e20));
- addAccents("\\thaiMoMa", getutf8(0x0e21));
- addAccents("\\thaiYoYak", getutf8(0x0e22));
- addAccents("\\thaiRoRua", getutf8(0x0e23));
- addAccents("\\thaiRu", getutf8(0x0e24));
- addAccents("\\thaiLoLing", getutf8(0x0e25));
- addAccents("\\thaiLu", getutf8(0x0e26));
- addAccents("\\thaiWoWaen", getutf8(0x0e27));
- addAccents("\\thaiSoSala", getutf8(0x0e28));
- addAccents("\\thaiSoRusi", getutf8(0x0e29));
- addAccents("\\thaiSoSua", getutf8(0x0e2a));
- addAccents("\\thaiHoHip", getutf8(0x0e2b));
- addAccents("\\thaiLoChula", getutf8(0x0e2c));
- addAccents("\\thaiOAng", getutf8(0x0e2d));
- addAccents("\\thaiHoNokhuk", getutf8(0x0e2e));
- addAccents("\\thaiPaiyannoi", getutf8(0x0e2f));
- addAccents("\\thaiSaraA", getutf8(0x0e30));
- addAccents("\\thaiMaiHanakat", getutf8(0x0e31));
- addAccents("\\thaiSaraAa", getutf8(0x0e32));
- addAccents("\\thaiSaraAm", getutf8(0x0e33));
- addAccents("\\thaiSaraI", getutf8(0x0e34));
- addAccents("\\thaiSaraIi", getutf8(0x0e35));
- addAccents("\\thaiSaraUe", getutf8(0x0e36));
- addAccents("\\thaiSaraUee", getutf8(0x0e37));
- addAccents("\\thaiSaraU", getutf8(0x0e38));
- addAccents("\\thaiSaraUu", getutf8(0x0e39));
- addAccents("\\thaiPhinthu", getutf8(0x0e3a));
- addAccents("\\thaiSaraE", getutf8(0x0e40));
- addAccents("\\thaiSaraAe", getutf8(0x0e41));
- addAccents("\\thaiSaraO", getutf8(0x0e42));
- addAccents("\\thaiSaraAiMaimuan", getutf8(0x0e43));
- addAccents("\\thaiSaraAiMaimalai", getutf8(0x0e44));
- addAccents("\\thaiLakkhangyao", getutf8(0x0e45));
- addAccents("\\thaiMaiyamok", getutf8(0x0e46));
- addAccents("\\thaiMaitaikhu", getutf8(0x0e47));
- addAccents("\\thaiMaiEk", getutf8(0x0e48));
- addAccents("\\thaiMaiTho", getutf8(0x0e49));
- addAccents("\\thaiMaiTri", getutf8(0x0e4a));
- addAccents("\\thaiMaiChattawa", getutf8(0x0e4b));
- addAccents("\\thaiThanthakhat", getutf8(0x0e4c));
- addAccents("\\thaiNikhahit", getutf8(0x0e4d));
- addAccents("\\thaiYamakkan", getutf8(0x0e4e));
- addAccents("\\thaiFongman", getutf8(0x0e4f));
- addAccents("\\thaizero", getutf8(0x0e50));
- addAccents("\\thaione", getutf8(0x0e51));
- addAccents("\\thaitwo", getutf8(0x0e52));
- addAccents("\\thaithree", getutf8(0x0e53));
- addAccents("\\thaifour", getutf8(0x0e54));
- addAccents("\\thaifive", getutf8(0x0e55));
- addAccents("\\thaisix", getutf8(0x0e56));
- addAccents("\\thaiseven", getutf8(0x0e57));
- addAccents("\\thaieight", getutf8(0x0e58));
- addAccents("\\thainine", getutf8(0x0e59));
- addAccents("\\thaiAngkhankhu", getutf8(0x0e5a));
- addAccents("\\thaiKhomut", getutf8(0x0e5b));
- addAccents("\\dag", getutf8(0x2020));
- addAccents("\\dagger", getutf8(0x2020));
- addAccents("\\textdagger", getutf8(0x2020));
- addAccents("\\ddag", getutf8(0x2021));
- addAccents("\\ddagger", getutf8(0x2021));
- addAccents("\\textdaggerdbl", getutf8(0x2021));
- addAccents("\\textbullet", getutf8(0x2022));
- addAccents("\\bullet", getutf8(0x2022));
- addAccents("\\dots", getutf8(0x2026));
- addAccents("\\ldots", getutf8(0x2026));
- addAccents("\\textellipsis", getutf8(0x2026));
- addAccents("\\textasciiacute", getutf8(0x2032));
- addAccents("\\prime", getutf8(0x2032));
- addAccents("\\textacutedbl", getutf8(0x2033));
- addAccents("\\dprime", getutf8(0x2033));
- addAccents("\\textasciigrave", getutf8(0x2035));
- addAccents("\\backprime", getutf8(0x2035));
- addAccents("\\textsubcircum{ }", getutf8(0x2038));
- addAccents("\\caretinsert", getutf8(0x2038));
- addAccents("\\textasteriskcentered", getutf8(0x204e));
- addAccents("\\ast", getutf8(0x204e));
- addAccents("\\textmho", getutf8(0x2127));
- addAccents("\\mho", getutf8(0x2127));
- addAccents("\\textleftarrow", getutf8(0x2190));
- addAccents("\\leftarrow", getutf8(0x2190));
- addAccents("\\textuparrow", getutf8(0x2191));
- addAccents("\\uparrow", getutf8(0x2191));
- addAccents("\\textrightarrow", getutf8(0x2192));
- addAccents("\\rightarrow", getutf8(0x2192));
- addAccents("\\textdownarrow", getutf8(0x2193));
- addAccents("\\downarrow", getutf8(0x2193));
- addAccents("\\textglobrise", getutf8(0x2197));
- addAccents("\\nearrow", getutf8(0x2197));
- addAccents("\\textglobfall", getutf8(0x2198));
- addAccents("\\searrow", getutf8(0x2198));
- addAccents("\\textsurd", getutf8(0x221a));
- addAccents("\\surd", getutf8(0x221a));
- addAccents("\\textbigcircle", getutf8(0x25ef));
- addAccents("\\bigcirc", getutf8(0x25ef));
- addAccents("\\FiveStar", getutf8(0x2605));
- addAccents("\\bigstar", getutf8(0x2605));
- addAccents("\\FiveStarOpen", getutf8(0x2606));
- addAccents("\\bigwhitestar", getutf8(0x2606));
- addAccents("\\Checkmark", getutf8(0x2713));
- addAccents("\\checkmark", getutf8(0x2713));
- addAccents("\\CrossMaltese", getutf8(0x2720));
- addAccents("\\maltese", getutf8(0x2720));
- addAccents("\\textlangle", getutf8(0x27e8));
- addAccents("\\langle", getutf8(0x27e8));
- addAccents("\\textrangle", getutf8(0x27e9));
- addAccents("\\rangle", getutf8(0x27e9));
+ addAccents("\\pounds", getutf8(0x00a3));
+ addAccents("\\textsterling", getutf8(0x00a3));
+ addAccents("\\textyen", getutf8(0x00a5));
+ addAccents("\\yen", getutf8(0x00a5));
+ addAccents("\\textsection", getutf8(0x00a7));
+ addAccents("\\mathsection", getutf8(0x00a7));
+ addAccents("\\textcopyright", getutf8(0x00a9));
+ addAccents("\\copyright", getutf8(0x00a9));
+ addAccents("\\textlnot", getutf8(0x00ac));
+ addAccents("\\neg", getutf8(0x00ac));
+ addAccents("\\textregistered", getutf8(0x00ae));
+ addAccents("\\circledR", getutf8(0x00ae));
+ addAccents("\\textpm", getutf8(0x00b1));
+ addAccents("\\pm", getutf8(0x00b1));
+ addAccents("\\textparagraph", getutf8(0x00b6));
+ addAccents("\\mathparagraph", getutf8(0x00b6));
+ addAccents("\\textperiodcentered", getutf8(0x00b7));
+ addAccents("\\texttimes", getutf8(0x00d7));
+ addAccents("\\times", getutf8(0x00d7));
+ addAccents("\\O", getutf8(0x00d8));
+ addAccents("\\dh", getutf8(0x00f0));
+ addAccents("\\eth", getutf8(0x00f0));
+ addAccents("\\textdiv", getutf8(0x00f7));
+ addAccents("\\div", getutf8(0x00f7));
+ addAccents("\\o", getutf8(0x00f8));
+ addAccents("\\textcrlambda", getutf8(0x019b));
+ addAccents("\\j", getutf8(0x0237));
+ addAccents("\\textrevepsilon", getutf8(0x025c));
+ addAccents("\\textbaru", getutf8(0x0289));
+ addAccents("\\textquoteleft", getutf8(0x02bb));
+ addAccents("\\textGamma", getutf8(0x0393));
+ addAccents("\\Gamma", getutf8(0x0393));
+ addAccents("\\textDelta", getutf8(0x0394));
+ addAccents("\\Delta", getutf8(0x0394));
+ addAccents("\\textTheta", getutf8(0x0398));
+ addAccents("\\Theta", getutf8(0x0398));
+ addAccents("\\textLambda", getutf8(0x039b));
+ addAccents("\\Lambda", getutf8(0x039b));
+ addAccents("\\textXi", getutf8(0x039e));
+ addAccents("\\Xi", getutf8(0x039e));
+ addAccents("\\textPi", getutf8(0x03a0));
+ addAccents("\\Pi", getutf8(0x03a0));
+ addAccents("\\textSigma", getutf8(0x03a3));
+ addAccents("\\Sigma", getutf8(0x03a3));
+ addAccents("\\textUpsilon", getutf8(0x03a5));
+ addAccents("\\Upsilon", getutf8(0x03a5));
+ addAccents("\\textPhi", getutf8(0x03a6));
+ addAccents("\\Phi", getutf8(0x03a6));
+ addAccents("\\textPsi", getutf8(0x03a8));
+ addAccents("\\Psi", getutf8(0x03a8));
+ addAccents("\\textOmega", getutf8(0x03a9));
+ addAccents("\\Omega", getutf8(0x03a9));
+ addAccents("\\textalpha", getutf8(0x03b1));
+ addAccents("\\alpha", getutf8(0x03b1));
+ addAccents("\\textbeta", getutf8(0x03b2));
+ addAccents("\\beta", getutf8(0x03b2));
+ addAccents("\\textgamma", getutf8(0x03b3));
+ addAccents("\\gamma", getutf8(0x03b3));
+ addAccents("\\textdelta", getutf8(0x03b4));
+ addAccents("\\delta", getutf8(0x03b4));
+ addAccents("\\textepsilon", getutf8(0x03b5));
+ addAccents("\\varepsilon", getutf8(0x03b5));
+ addAccents("\\textzeta", getutf8(0x03b6));
+ addAccents("\\zeta", getutf8(0x03b6));
+ addAccents("\\texteta", getutf8(0x03b7));
+ addAccents("\\eta", getutf8(0x03b7));
+ addAccents("\\texttheta", getutf8(0x03b8));
+ addAccents("\\theta", getutf8(0x03b8));
+ addAccents("\\textiota", getutf8(0x03b9));
+ addAccents("\\iota", getutf8(0x03b9));
+ addAccents("\\textkappa", getutf8(0x03ba));
+ addAccents("\\kappa", getutf8(0x03ba));
+ addAccents("\\textlambda", getutf8(0x03bb));
+ addAccents("\\lambda", getutf8(0x03bb));
+ addAccents("\\textmu", getutf8(0x03bc));
+ addAccents("\\mu", getutf8(0x03bc));
+ addAccents("\\textnu", getutf8(0x03bd));
+ addAccents("\\nu", getutf8(0x03bd));
+ addAccents("\\textxi", getutf8(0x03be));
+ addAccents("\\xi", getutf8(0x03be));
+ addAccents("\\textpi", getutf8(0x03c0));
+ addAccents("\\pi", getutf8(0x03c0));
+ addAccents("\\textrho", getutf8(0x03c1));
+ addAccents("\\rho", getutf8(0x03c1));
+ addAccents("\\textfinalsigma", getutf8(0x03c2));
+ addAccents("\\varsigma", getutf8(0x03c2));
+ addAccents("\\textsigma", getutf8(0x03c3));
+ addAccents("\\sigma", getutf8(0x03c3));
+ addAccents("\\texttau", getutf8(0x03c4));
+ addAccents("\\tau", getutf8(0x03c4));
+ addAccents("\\textupsilon", getutf8(0x03c5));
+ addAccents("\\upsilon", getutf8(0x03c5));
+ addAccents("\\textphi", getutf8(0x03c6));
+ addAccents("\\varphi", getutf8(0x03c6));
+ addAccents("\\textchi", getutf8(0x03c7));
+ addAccents("\\chi", getutf8(0x03c7));
+ addAccents("\\textpsi", getutf8(0x03c8));
+ addAccents("\\psi", getutf8(0x03c8));
+ addAccents("\\textomega", getutf8(0x03c9));
+ addAccents("\\omega", getutf8(0x03c9));
+ addAccents("\\textdigamma", getutf8(0x03dd));
+ addAccents("\\digamma", getutf8(0x03dd));
+ addAccents("\\hebalef", getutf8(0x05d0));
+ addAccents("\\aleph", getutf8(0x05d0));
+ addAccents("\\hebbet", getutf8(0x05d1));
+ addAccents("\\beth", getutf8(0x05d1));
+ addAccents("\\hebgimel", getutf8(0x05d2));
+ addAccents("\\gimel", getutf8(0x05d2));
+ addAccents("\\hebdalet", getutf8(0x05d3));
+ addAccents("\\daleth", getutf8(0x05d3));
+ addAccents("\\hebhe", getutf8(0x05d4));
+ addAccents("\\hebvav", getutf8(0x05d5));
+ addAccents("\\hebzayin", getutf8(0x05d6));
+ addAccents("\\hebhet", getutf8(0x05d7));
+ addAccents("\\hebtet", getutf8(0x05d8));
+ addAccents("\\hebyod", getutf8(0x05d9));
+ addAccents("\\hebfinalkaf", getutf8(0x05da));
+ addAccents("\\hebkaf", getutf8(0x05db));
+ addAccents("\\heblamed", getutf8(0x05dc));
+ addAccents("\\hebfinalmem", getutf8(0x05dd));
+ addAccents("\\hebmem", getutf8(0x05de));
+ addAccents("\\hebfinalnun", getutf8(0x05df));
+ addAccents("\\hebnun", getutf8(0x05e0));
+ addAccents("\\hebsamekh", getutf8(0x05e1));
+ addAccents("\\hebayin", getutf8(0x05e2));
+ addAccents("\\hebfinalpe", getutf8(0x05e3));
+ addAccents("\\hebpe", getutf8(0x05e4));
+ addAccents("\\hebfinaltsadi", getutf8(0x05e5));
+ addAccents("\\hebtsadi", getutf8(0x05e6));
+ addAccents("\\hebqof", getutf8(0x05e7));
+ addAccents("\\hebresh", getutf8(0x05e8));
+ addAccents("\\hebshin", getutf8(0x05e9));
+ addAccents("\\hebtav", getutf8(0x05ea));
+
+ // Thai characters
+ addAccents("\\thaiKoKai", getutf8(0x0e01));
+ addAccents("\\thaiKhoKhai", getutf8(0x0e02));
+ addAccents("\\thaiKhoKhuat", getutf8(0x0e03));
+ addAccents("\\thaiKhoKhwai", getutf8(0x0e04));
+ addAccents("\\thaiKhoKhon", getutf8(0x0e05));
+ addAccents("\\thaiKhoRakhang", getutf8(0x0e06));
+ addAccents("\\thaiNgoNgu", getutf8(0x0e07));
+ addAccents("\\thaiChoChan", getutf8(0x0e08));
+ addAccents("\\thaiChoChing", getutf8(0x0e09));
+ addAccents("\\thaiChoChang", getutf8(0x0e0a));
+ addAccents("\\thaiSoSo", getutf8(0x0e0b));
+ addAccents("\\thaiChoChoe", getutf8(0x0e0c));
+ addAccents("\\thaiYoYing", getutf8(0x0e0d));
+ addAccents("\\thaiDoChada", getutf8(0x0e0e));
+ addAccents("\\thaiToPatak", getutf8(0x0e0f));
+ addAccents("\\thaiThoThan", getutf8(0x0e10));
+ addAccents("\\thaiThoNangmontho", getutf8(0x0e11));
+ addAccents("\\thaiThoPhuthao", getutf8(0x0e12));
+ addAccents("\\thaiNoNen", getutf8(0x0e13));
+ addAccents("\\thaiDoDek", getutf8(0x0e14));
+ addAccents("\\thaiToTao", getutf8(0x0e15));
+ addAccents("\\thaiThoThung", getutf8(0x0e16));
+ addAccents("\\thaiThoThahan", getutf8(0x0e17));
+ addAccents("\\thaiThoThong", getutf8(0x0e18));
+ addAccents("\\thaiNoNu", getutf8(0x0e19));
+ addAccents("\\thaiBoBaimai", getutf8(0x0e1a));
+ addAccents("\\thaiPoPla", getutf8(0x0e1b));
+ addAccents("\\thaiPhoPhung", getutf8(0x0e1c));
+ addAccents("\\thaiFoFa", getutf8(0x0e1d));
+ addAccents("\\thaiPhoPhan", getutf8(0x0e1e));
+ addAccents("\\thaiFoFan", getutf8(0x0e1f));
+ addAccents("\\thaiPhoSamphao", getutf8(0x0e20));
+ addAccents("\\thaiMoMa", getutf8(0x0e21));
+ addAccents("\\thaiYoYak", getutf8(0x0e22));
+ addAccents("\\thaiRoRua", getutf8(0x0e23));
+ addAccents("\\thaiRu", getutf8(0x0e24));
+ addAccents("\\thaiLoLing", getutf8(0x0e25));
+ addAccents("\\thaiLu", getutf8(0x0e26));
+ addAccents("\\thaiWoWaen", getutf8(0x0e27));
+ addAccents("\\thaiSoSala", getutf8(0x0e28));
+ addAccents("\\thaiSoRusi", getutf8(0x0e29));
+ addAccents("\\thaiSoSua", getutf8(0x0e2a));
+ addAccents("\\thaiHoHip", getutf8(0x0e2b));
+ addAccents("\\thaiLoChula", getutf8(0x0e2c));
+ addAccents("\\thaiOAng", getutf8(0x0e2d));
+ addAccents("\\thaiHoNokhuk", getutf8(0x0e2e));
+ addAccents("\\thaiPaiyannoi", getutf8(0x0e2f));
+ addAccents("\\thaiSaraA", getutf8(0x0e30));
+ addAccents("\\thaiMaiHanakat", getutf8(0x0e31));
+ addAccents("\\thaiSaraAa", getutf8(0x0e32));
+ addAccents("\\thaiSaraAm", getutf8(0x0e33));
+ addAccents("\\thaiSaraI", getutf8(0x0e34));
+ addAccents("\\thaiSaraIi", getutf8(0x0e35));
+ addAccents("\\thaiSaraUe", getutf8(0x0e36));
+ addAccents("\\thaiSaraUee", getutf8(0x0e37));
+ addAccents("\\thaiSaraU", getutf8(0x0e38));
+ addAccents("\\thaiSaraUu", getutf8(0x0e39));
+ addAccents("\\thaiPhinthu", getutf8(0x0e3a));
+ addAccents("\\thaiSaraE", getutf8(0x0e40));
+ addAccents("\\thaiSaraAe", getutf8(0x0e41));
+ addAccents("\\thaiSaraO", getutf8(0x0e42));
+ addAccents("\\thaiSaraAiMaimuan", getutf8(0x0e43));
+ addAccents("\\thaiSaraAiMaimalai", getutf8(0x0e44));
+ addAccents("\\thaiLakkhangyao", getutf8(0x0e45));
+ addAccents("\\thaiMaiyamok", getutf8(0x0e46));
+ addAccents("\\thaiMaitaikhu", getutf8(0x0e47));
+ addAccents("\\thaiMaiEk", getutf8(0x0e48));
+ addAccents("\\thaiMaiTho", getutf8(0x0e49));
+ addAccents("\\thaiMaiTri", getutf8(0x0e4a));
+ addAccents("\\thaiMaiChattawa", getutf8(0x0e4b));
+ addAccents("\\thaiThanthakhat", getutf8(0x0e4c));
+ addAccents("\\thaiNikhahit", getutf8(0x0e4d));
+ addAccents("\\thaiYamakkan", getutf8(0x0e4e));
+ addAccents("\\thaiFongman", getutf8(0x0e4f));
+ addAccents("\\thaizero", getutf8(0x0e50));
+ addAccents("\\thaione", getutf8(0x0e51));
+ addAccents("\\thaitwo", getutf8(0x0e52));
+ addAccents("\\thaithree", getutf8(0x0e53));
+ addAccents("\\thaifour", getutf8(0x0e54));
+ addAccents("\\thaifive", getutf8(0x0e55));
+ addAccents("\\thaisix", getutf8(0x0e56));
+ addAccents("\\thaiseven", getutf8(0x0e57));
+ addAccents("\\thaieight", getutf8(0x0e58));
+ addAccents("\\thainine", getutf8(0x0e59));
+ addAccents("\\thaiAngkhankhu", getutf8(0x0e5a));
+ addAccents("\\thaiKhomut", getutf8(0x0e5b));
+ addAccents("\\dag", getutf8(0x2020));
+ addAccents("\\dagger", getutf8(0x2020));
+ addAccents("\\textdagger", getutf8(0x2020));
+ addAccents("\\ddag", getutf8(0x2021));
+ addAccents("\\ddagger", getutf8(0x2021));
+ addAccents("\\textdaggerdbl", getutf8(0x2021));
+ addAccents("\\textbullet", getutf8(0x2022));
+ addAccents("\\bullet", getutf8(0x2022));
+ addAccents("\\dots", getutf8(0x2026));
+ addAccents("\\ldots", getutf8(0x2026));
+ addAccents("\\textellipsis", getutf8(0x2026));
+ addAccents("\\textasciiacute", getutf8(0x2032));
+ addAccents("\\prime", getutf8(0x2032));
+ addAccents("\\textacutedbl", getutf8(0x2033));
+ addAccents("\\dprime", getutf8(0x2033));
+ addAccents("\\textasciigrave", getutf8(0x2035));
+ addAccents("\\backprime", getutf8(0x2035));
+ addAccents("\\textsubcircum{ }", getutf8(0x2038));
+ addAccents("\\caretinsert", getutf8(0x2038));
+ addAccents("\\textasteriskcentered", getutf8(0x204e));
+ addAccents("\\ast", getutf8(0x204e));
+ addAccents("\\textmho", getutf8(0x2127));
+ addAccents("\\mho", getutf8(0x2127));
+ addAccents("\\textleftarrow", getutf8(0x2190));
+ addAccents("\\leftarrow", getutf8(0x2190));
+ addAccents("\\textuparrow", getutf8(0x2191));
+ addAccents("\\uparrow", getutf8(0x2191));
+ addAccents("\\textrightarrow", getutf8(0x2192));
+ addAccents("\\rightarrow", getutf8(0x2192));
+ addAccents("\\textdownarrow", getutf8(0x2193));
+ addAccents("\\downarrow", getutf8(0x2193));
+ addAccents("\\textglobrise", getutf8(0x2197));
+ addAccents("\\nearrow", getutf8(0x2197));
+ addAccents("\\textglobfall", getutf8(0x2198));
+ addAccents("\\searrow", getutf8(0x2198));
+ addAccents("\\textsurd", getutf8(0x221a));
+ addAccents("\\surd", getutf8(0x221a));
+ addAccents("\\textbigcircle", getutf8(0x25ef));
+ addAccents("\\bigcirc", getutf8(0x25ef));
+ addAccents("\\FiveStar", getutf8(0x2605));
+ addAccents("\\bigstar", getutf8(0x2605));
+ addAccents("\\FiveStarOpen", getutf8(0x2606));
+ addAccents("\\bigwhitestar", getutf8(0x2606));
+ addAccents("\\Checkmark", getutf8(0x2713));
+ addAccents("\\checkmark", getutf8(0x2713));
+ addAccents("\\CrossMaltese", getutf8(0x2720));
+ addAccents("\\maltese", getutf8(0x2720));
+ addAccents("\\textlangle", getutf8(0x27e8));
+ addAccents("\\langle", getutf8(0x27e8));
+ addAccents("\\textrangle", getutf8(0x27e9));
+ addAccents("\\rangle", getutf8(0x27e9));
}
static void buildAccentsMap()
{
- accents["imath"] = "ı";
- accents["i"] = "ı";
- accents["jmath"] = "È·";
- accents["cdot"] = "·";
- accents["textasciicircum"] = "^";
- accents["mathcircumflex"] = "^";
- accents["sim"] = "~";
- accents["guillemotright"] = "»";
- accents["guillemotleft"] = "«";
- accents["hairspace"] = getutf8(0xf0000); // select from free unicode plane 15
- accents["thinspace"] = getutf8(0xf0002); // and used _only_ by findadv
- accents["negthinspace"] = getutf8(0xf0003); // to omit backslashed latex macros
- accents["medspace"] = getutf8(0xf0004); // See https://en.wikipedia.org/wiki/Private_Use_Areas
- accents["negmedspace"] = getutf8(0xf0005);
- accents["thickspace"] = getutf8(0xf0006);
- accents["negthickspace"] = getutf8(0xf0007);
- accents["lyx"] = getutf8(0xf0010); // Used logos
- accents["LyX"] = getutf8(0xf0010);
- accents["tex"] = getutf8(0xf0011);
- accents["TeX"] = getutf8(0xf0011);
- accents["latex"] = getutf8(0xf0012);
- accents["LaTeX"] = getutf8(0xf0012);
- accents["latexe"] = getutf8(0xf0013);
- accents["LaTeXe"] = getutf8(0xf0013);
- accents["lyxarrow"] = getutf8(0xf0020);
- accents["braceleft"] = getutf8(0xf0030);
- accents["braceright"] = getutf8(0xf0031);
- accents["backslash lyx"] = getutf8(0xf0010); // Used logos inserted with starting \backslash
- accents["backslash LyX"] = getutf8(0xf0010);
- accents["backslash tex"] = getutf8(0xf0011);
- accents["backslash TeX"] = getutf8(0xf0011);
- accents["backslash latex"] = getutf8(0xf0012);
- accents["backslash LaTeX"] = getutf8(0xf0012);
- accents["backslash latexe"] = getutf8(0xf0013);
- accents["backslash LaTeXe"] = getutf8(0xf0013);
- accents["backslash lyxarrow"] = getutf8(0xf0020);
- accents["ddot{\\imath}"] = "ï";
- buildaccent("ddot", "aAeEhHiIoOtuUwWxXyY",
- "äÃëÃḧḦïÃöÃáºÃ¼Ãáº
áºáºáºÃ¿Å¸"); // umlaut
- buildaccent("dot|.", "aAbBcCdDeEfFGghHIimMnNoOpPrRsStTwWxXyYzZ",
- "ȧȦá¸á¸ÄÄá¸á¸ÄÄá¸á¸Ä ġḣḢİİá¹á¹á¹
á¹È¯È®á¹á¹á¹á¹á¹¡á¹ ṫṪáºáºáºáºáºáºÅ¼Å»"); // dot{i} can only happen if ignoring case, but there is no lowercase of 'İ'
- accents["acute{\\imath}"] = "Ã";
- buildaccent("acute", "aAcCeEgGkKlLmMoOnNpPrRsSuUwWyYzZiI",
- "áÃÄÄéÃǵǴḱḰĺĹḿḾóÃÅÅá¹á¹ÅÅÅÅúÃáºáºÃ½ÃźŹÃÃ");
- buildaccent("dacute|H|h", "oOuU", "ÅÅűŰ"); // double acute
- buildaccent("mathring|r", "aAuUwy",
- "Ã¥Ã
ůŮáºáº"); // ring
- accents["check{\\imath}"] = "Ç";
- accents["check{\\jmath}"] = "ǰ";
- buildaccent("check|v", "cCdDaAeEiIoOuUgGkKhHlLnNrRsSTtzZ",
- "ÄÄÄÄÇÇÄÄÇÇÇÇÇÇǧǦǩǨÈÈľĽÅÅÅÅšŠŤťžŽ"); // caron
- accents["hat{\\imath}"] = "î";
- accents["hat{\\jmath}"] = "ĵ";
- buildaccent("hat|^", "aAcCeEgGhHiIjJoOsSuUwWyYzZ",
- "âÃÄÄêÃÄÄĥĤîÃĵĴôÃÅÅûÃŵŴŷŶáºáº"); // circ
- accents["bar{\\imath}"] = "Ä«";
- buildaccent("bar|=", "aAeEiIoOuUyY",
- "ÄÄÄÄīĪÅÅūŪȳȲ"); // macron
- accents["tilde{\\imath}"] = "Ä©";
- buildaccent("tilde", "aAeEiInNoOuUvVyY",
- "ãÃẽẼĩĨñÃõÃũŨṽṼỹỸ"); // tilde
- accents["breve{\\imath}"] = "Ä";
- buildaccent("breve|u", "aAeEgGiIoOuU",
- "ÄÄÄÄÄÄÄĬÅÅÅŬ"); // breve
- accents["grave{\\imath}"] = "ì";
- buildaccent("grave|`", "aAeEiIoOuUnNwWyY",
- "à ÃèÃìÃòÃùÃǹǸáºáºá»³á»²"); // grave
- buildaccent("subdot|d", "BbDdHhKkLlMmNnRrSsTtVvWwZzAaEeIiOoUuYy",
- "á¸á¸
á¸á¸á¸¤á¸¥á¸²á¸³á¸¶á¸·á¹á¹á¹á¹á¹á¹á¹¢á¹£á¹¬á¹á¹¾á¹¿áºáºáºáºáº ạẸẹá»á»á»á»á»¤á»¥á»´á»µ"); // dot below
- buildaccent("ogonek|k", "AaEeIiUuOo",
- "ÄÄ
ÄÄĮįŲųǪǫ"); // ogonek
- buildaccent("cedilla|c", "CcGgKkLlNnRrSsTtEeDdHh",
- "ÃçĢģĶķĻļÅ
ÅÅÅÅÅŢţȨȩá¸á¸á¸¨á¸©"); // cedilla
- buildaccent("subring|textsubring", "Aa",
- "á¸á¸"); // subring
- buildaccent("subhat|textsubcircum", "DdEeLlNnTtUu",
- "á¸á¸á¸á¸á¸¼á¸½á¹á¹á¹°á¹±á¹¶á¹·"); // subcircum
- buildaccent("subtilde|textsubtilde", "EeIiUu",
- "á¸á¸á¸¬á¸á¹´á¹µ"); // subtilde
- accents["dgrave{\\imath}"] = "È";
- accents["textdoublegrave{\\i}"] = "È";
- buildaccent("dgrave|textdoublegrave", "AaEeIiOoRrUu",
- "ÈÈÈÈ
ÈÈÈÈÈÈÈÈ"); // double grave
- accents["rcap{\\imath}"] = "È";
- accents["textroundcap{\\i}"] = "È";
- buildaccent("rcap|textroundcap", "AaEeIiOoRrUu",
- "ÈÈÈÈÈÈÈÈÈÈÈÈ"); // inverted breve
- buildaccent("slashed", "oO",
- "øÃ"); // slashed
- fillMissingUnicodesymbols(); // Add some still not handled entries contained in 'unicodesynbols'
- // LYXERR0("Number of accents " << accents.size());
+ accents["imath"] = "ı";
+ accents["i"] = "ı";
+ accents["jmath"] = "È·";
+ accents["cdot"] = "·";
+ accents["textasciicircum"] = "^";
+ accents["mathcircumflex"] = "^";
+ accents["sim"] = "~";
+ accents["guillemotright"] = "»";
+ accents["guillemotleft"] = "«";
+ accents["hairspace"] = getutf8(0xf0000); // select from free unicode plane 15
+ accents["thinspace"] = getutf8(0xf0002); // and used _only_ by findadv
+ accents["negthinspace"] = getutf8(0xf0003); // to omit backslashed latex macros
+ accents["medspace"] = getutf8(0xf0004); // See https://en.wikipedia.org/wiki/Private_Use_Areas
+ accents["negmedspace"] = getutf8(0xf0005);
+ accents["thickspace"] = getutf8(0xf0006);
+ accents["negthickspace"] = getutf8(0xf0007);
+ accents["lyx"] = getutf8(0xf0010); // Used logos
+ accents["LyX"] = getutf8(0xf0010);
+ accents["tex"] = getutf8(0xf0011);
+ accents["TeX"] = getutf8(0xf0011);
+ accents["latex"] = getutf8(0xf0012);
+ accents["LaTeX"] = getutf8(0xf0012);
+ accents["latexe"] = getutf8(0xf0013);
+ accents["LaTeXe"] = getutf8(0xf0013);
+ accents["lyxarrow"] = getutf8(0xf0020);
+ accents["braceleft"] = getutf8(0xf0030);
+ accents["braceright"] = getutf8(0xf0031);
+ accents["backslash lyx"] = getutf8(0xf0010); // Used logos inserted with starting \backslash
+ accents["backslash LyX"] = getutf8(0xf0010);
+ accents["backslash tex"] = getutf8(0xf0011);
+ accents["backslash TeX"] = getutf8(0xf0011);
+ accents["backslash latex"] = getutf8(0xf0012);
+ accents["backslash LaTeX"] = getutf8(0xf0012);
+ accents["backslash latexe"] = getutf8(0xf0013);
+ accents["backslash LaTeXe"] = getutf8(0xf0013);
+ accents["backslash lyxarrow"] = getutf8(0xf0020);
+ accents["ddot{\\imath}"] = "ï";
+ buildaccent("ddot", "aAeEhHiIoOtuUwWxXyY",
+ "äÃëÃḧḦïÃöÃáºÃ¼Ãáº
áºáºáºÃ¿Å¸"); // umlaut
+ buildaccent("dot|.", "aAbBcCdDeEfFGghHIimMnNoOpPrRsStTwWxXyYzZ",
+ "ȧȦá¸á¸ÄÄá¸á¸ÄÄá¸á¸Ä ġḣḢİİá¹á¹á¹
á¹È¯È®á¹á¹á¹á¹á¹¡á¹ ṫṪáºáºáºáºáºáºÅ¼Å»"); // dot{i} can only happen if ignoring case, but there is no lowercase of 'İ'
+ accents["acute{\\imath}"] = "Ã";
+ buildaccent("acute", "aAcCeEgGkKlLmMoOnNpPrRsSuUwWyYzZiI",
+ "áÃÄÄéÃǵǴḱḰĺĹḿḾóÃÅÅá¹á¹ÅÅÅÅúÃáºáºÃ½ÃźŹÃÃ");
+ buildaccent("dacute|H|h", "oOuU", "ÅÅűŰ"); // double acute
+ buildaccent("mathring|r", "aAuUwy",
+ "Ã¥Ã
ůŮáºáº"); // ring
+ accents["check{\\imath}"] = "Ç";
+ accents["check{\\jmath}"] = "ǰ";
+ buildaccent("check|v", "cCdDaAeEiIoOuUgGkKhHlLnNrRsSTtzZ",
+ "ÄÄÄÄÇÇÄÄÇÇÇÇÇÇǧǦǩǨÈÈľĽÅÅÅÅšŠŤťžŽ"); // caron
+ accents["hat{\\imath}"] = "î";
+ accents["hat{\\jmath}"] = "ĵ";
+ buildaccent("hat|^", "aAcCeEgGhHiIjJoOsSuUwWyYzZ",
+ "âÃÄÄêÃÄÄĥĤîÃĵĴôÃÅÅûÃŵŴŷŶáºáº"); // circ
+ accents["bar{\\imath}"] = "Ä«";
+ buildaccent("bar|=", "aAeEiIoOuUyY",
+ "ÄÄÄÄīĪÅÅūŪȳȲ"); // macron
+ accents["tilde{\\imath}"] = "Ä©";
+ buildaccent("tilde", "aAeEiInNoOuUvVyY",
+ "ãÃẽẼĩĨñÃõÃũŨṽṼỹỸ"); // tilde
+ accents["breve{\\imath}"] = "Ä";
+ buildaccent("breve|u", "aAeEgGiIoOuU",
+ "ÄÄÄÄÄÄÄĬÅÅÅŬ"); // breve
+ accents["grave{\\imath}"] = "ì";
+ buildaccent("grave|`", "aAeEiIoOuUnNwWyY",
+ "à ÃèÃìÃòÃùÃǹǸáºáºá»³á»²"); // grave
+ buildaccent("subdot|d", "BbDdHhKkLlMmNnRrSsTtVvWwZzAaEeIiOoUuYy",
+ "á¸á¸
á¸á¸á¸¤á¸¥á¸²á¸³á¸¶á¸·á¹á¹á¹á¹á¹á¹á¹¢á¹£á¹¬á¹á¹¾á¹¿áºáºáºáºáº ạẸẹá»á»á»á»á»¤á»¥á»´á»µ"); // dot below
+ buildaccent("ogonek|k", "AaEeIiUuOo",
+ "ÄÄ
ÄÄĮįŲųǪǫ"); // ogonek
+ buildaccent("cedilla|c", "CcGgKkLlNnRrSsTtEeDdHh",
+ "ÃçĢģĶķĻļÅ
ÅÅÅÅÅŢţȨȩá¸á¸á¸¨á¸©"); // cedilla
+ buildaccent("subring|textsubring", "Aa",
+ "á¸á¸"); // subring
+ buildaccent("subhat|textsubcircum", "DdEeLlNnTtUu",
+ "á¸á¸á¸á¸á¸¼á¸½á¹á¹á¹°á¹±á¹¶á¹·"); // subcircum
+ buildaccent("subtilde|textsubtilde", "EeIiUu",
+ "á¸á¸á¸¬á¸á¹´á¹µ"); // subtilde
+ accents["dgrave{\\imath}"] = "È";
+ accents["textdoublegrave{\\i}"] = "È";
+ buildaccent("dgrave|textdoublegrave", "AaEeIiOoRrUu",
+ "ÈÈÈÈ
ÈÈÈÈÈÈÈÈ"); // double grave
+ accents["rcap{\\imath}"] = "È";
+ accents["textroundcap{\\i}"] = "È";
+ buildaccent("rcap|textroundcap", "AaEeIiOoRrUu",
+ "ÈÈÈÈÈÈÈÈÈÈÈÈ"); // inverted breve
+ buildaccent("slashed", "oO",
+ "øÃ"); // slashed
+ fillMissingUnicodesymbols(); // Add some still not handled entries contained in 'unicodesynbols'
+ // LYXERR0("Number of accents " << accents.size());
}
/*
@@ -1968,94 +1968,94 @@ static void buildAccentsMap()
*/
void Intervall::removeAccents()
{
- if (accents.empty())
- buildAccentsMap();
- static regex const accre("\\\\("
- "([\\S]|[A-Za-z]+)\\{[^\\{\\}]+\\}"
- "|("
- "(backslash ([lL]y[xX]|[tT]e[xX]|[lL]a[tT]e[xX]e?|lyxarrow))"
- "|[A-Za-z]+"
- ")"
- "(?![a-zA-Z]))");
- smatch sub;
- for (sregex_iterator itacc(par.begin(), par.end(), accre), end; itacc != end; ++itacc) {
- sub = *itacc;
- string key = sub.str(1);
- AccentsIterator it_ac = accents.find(key);
- if (it_ac != accents.end()) {
- string val = it_ac->second;
- size_t pos = sub.position(size_t(0));
- for (size_t i = 0; i < val.size(); i++) {
- par[pos+i] = val[i];
- }
- // Remove possibly following space too
- if (par[pos+sub.str(0).size()] == ' ')
- addIntervall(pos+val.size(), pos + sub.str(0).size()+1);
- else
- addIntervall(pos+val.size(), pos + sub.str(0).size());
- for (size_t i = pos+val.size(); i < pos + sub.str(0).size(); i++) {
- // remove traces of any remaining chars
- par[i] = ' ';
- }
- }
- else {
- LYXERR(Debug::INFO, "Not added accent for \"" << key << "\"");
- }
- }
+ if (accents.empty())
+ buildAccentsMap();
+ static regex const accre("\\\\("
+ "([\\S]|[A-Za-z]+)\\{[^\\{\\}]+\\}"
+ "|("
+ "(backslash ([lL]y[xX]|[tT]e[xX]|[lL]a[tT]e[xX]e?|lyxarrow))"
+ "|[A-Za-z]+"
+ ")"
+ "(?![a-zA-Z]))");
+ smatch sub;
+ for (sregex_iterator itacc(par.begin(), par.end(), accre), end; itacc != end; ++itacc) {
+ sub = *itacc;
+ string key = sub.str(1);
+ AccentsIterator it_ac = accents.find(key);
+ if (it_ac != accents.end()) {
+ string val = it_ac->second;
+ size_t pos = sub.position(size_t(0));
+ for (size_t i = 0; i < val.size(); i++) {
+ par[pos+i] = val[i];
+ }
+ // Remove possibly following space too
+ if (par[pos+sub.str(0).size()] == ' ')
+ addIntervall(pos+val.size(), pos + sub.str(0).size()+1);
+ else
+ addIntervall(pos+val.size(), pos + sub.str(0).size());
+ for (size_t i = pos+val.size(); i < pos + sub.str(0).size(); i++) {
+ // remove traces of any remaining chars
+ par[i] = ' ';
+ }
+ }
+ else {
+ LYXERR(Debug::INFO, "Not added accent for \"" << key << "\"");
+ }
+ }
}
void Intervall::handleOpenP(int i)
{
- actualdeptindex++;
- depts[actualdeptindex] = i+1;
- closes[actualdeptindex] = -1;
- checkDepthIndex(actualdeptindex);
+ actualdeptindex++;
+ depts[actualdeptindex] = i+1;
+ closes[actualdeptindex] = -1;
+ checkDepthIndex(actualdeptindex);
}
void Intervall::handleCloseP(int i, bool closingAllowed)
{
- if (actualdeptindex <= 0) {
- if (! closingAllowed)
- LYXERR(Debug::FIND, "Bad closing parenthesis in latex"); /* should not happen, but the latex input may be wrong */
- // if we are at the very end
- addIntervall(i, i+1);
- }
- else {
- closes[actualdeptindex] = i+1;
- actualdeptindex--;
- }
+ if (actualdeptindex <= 0) {
+ if (! closingAllowed)
+ LYXERR(Debug::FIND, "Bad closing parenthesis in latex"); /* should not happen, but the latex input may be wrong */
+ // if we are at the very end
+ addIntervall(i, i+1);
+ }
+ else {
+ closes[actualdeptindex] = i+1;
+ actualdeptindex--;
+ }
}
void Intervall::resetOpenedP(int openPos)
{
- // Used as initializer for foreignlanguage entry
- actualdeptindex = 1;
- depts[1] = openPos+1;
- closes[1] = -1;
+ // Used as initializer for foreignlanguage entry
+ actualdeptindex = 1;
+ depts[1] = openPos+1;
+ closes[1] = -1;
}
int Intervall::previousNotIgnored(int start) const
{
- int idx = 0; /* int intervalls */
- for (idx = ignoreidx; idx >= 0; --idx) {
- if (start > borders[idx].upper)
- return start;
- if (start >= borders[idx].low)
- start = borders[idx].low-1;
- }
- return start;
+ int idx = 0; /* int intervalls */
+ for (idx = ignoreidx; idx >= 0; --idx) {
+ if (start > borders[idx].upper)
+ return start;
+ if (start >= borders[idx].low)
+ start = borders[idx].low-1;
+ }
+ return start;
}
int Intervall::nextNotIgnored(int start) const
{
- int idx = 0; /* int intervalls */
- for (idx = 0; idx <= ignoreidx; idx++) {
- if (start < borders[idx].low)
- return start;
- if (start < borders[idx].upper)
- start = borders[idx].upper;
- }
- return start;
+ int idx = 0; /* int intervalls */
+ for (idx = 0; idx <= ignoreidx; idx++) {
+ if (start < borders[idx].low)
+ return start;
+ if (start < borders[idx].upper)
+ start = borders[idx].upper;
+ }
+ return start;
}
typedef unordered_map<string, KeyInfo> KeysMap;
@@ -2064,713 +2064,713 @@ typedef vector< KeyInfo> Entries;
static KeysMap keys = unordered_map<string, KeyInfo>();
class LatexInfo {
- private:
- int entidx_;
- Entries entries_;
- Intervall interval_;
- void buildKeys(bool);
- void buildEntries(bool);
- void makeKey(const string &, KeyInfo, bool isPatternString);
- void processRegion(int start, int region_end); /* remove {} parts */
- void removeHead(KeyInfo const &, int count=0);
+private:
+ int entidx_;
+ Entries entries_;
+ Intervall interval_;
+ void buildKeys(bool);
+ void buildEntries(bool);
+ void makeKey(const string &, KeyInfo, bool isPatternString);
+ void processRegion(int start, int region_end); /* remove {} parts */
+ void removeHead(KeyInfo const &, int count=0);
- public:
- LatexInfo(string const & par, bool isPatternString)
- : entidx_(-1), interval_(isPatternString, par)
- {
- buildKeys(isPatternString);
- entries_ = vector<KeyInfo>();
- buildEntries(isPatternString);
- }
- int getFirstKey() {
- entidx_ = 0;
- if (entries_.empty()) {
- return -1;
- }
- if (entries_[0].keytype == KeyInfo::isTitle) {
- interval_.hasTitle = true;
- if (! entries_[0].disabled) {
- interval_.titleValue = entries_[0].head;
- }
- else {
- interval_.titleValue = "";
- }
- removeHead(entries_[0]);
- if (entries_.size() > 1)
- return 1;
- else
- return -1;
- }
- return 0;
- }
- int getNextKey() {
- entidx_++;
- if (int(entries_.size()) > entidx_) {
- return entidx_;
- }
- else {
- return -1;
- }
- }
- bool setNextKey(int idx) {
- if ((idx == entidx_) && (entidx_ >= 0)) {
- entidx_--;
- return true;
- }
- else
- return false;
- }
- int find(int start, KeyInfo::KeyType keytype) const {
- if (start < 0)
- return -1;
- int tmpIdx = start;
- while (tmpIdx < int(entries_.size())) {
- if (entries_[tmpIdx].keytype == keytype)
- return tmpIdx;
- tmpIdx++;
- }
- return -1;
- }
- int process(ostringstream & os, KeyInfo const & actual);
- int dispatch(ostringstream & os, int previousStart, KeyInfo & actual);
- // string show(int lastpos) { return interval.show(lastpos);}
- int nextNotIgnored(int start) { return interval_.nextNotIgnored(start);}
- KeyInfo &getKeyInfo(int keyinfo) {
- static KeyInfo invalidInfo = KeyInfo();
- if ((keyinfo < 0) || ( keyinfo >= int(entries_.size())))
- return invalidInfo;
- else
- return entries_[keyinfo];
- }
- void setForDefaultLang(KeyInfo const & defLang) {interval_.setForDefaultLang(defLang);}
- void addIntervall(int low, int up) { interval_.addIntervall(low, up); }
+public:
+ LatexInfo(string const & par, bool isPatternString)
+ : entidx_(-1), interval_(isPatternString, par)
+ {
+ buildKeys(isPatternString);
+ entries_ = vector<KeyInfo>();
+ buildEntries(isPatternString);
+ }
+ int getFirstKey() {
+ entidx_ = 0;
+ if (entries_.empty()) {
+ return -1;
+ }
+ if (entries_[0].keytype == KeyInfo::isTitle) {
+ interval_.hasTitle = true;
+ if (! entries_[0].disabled) {
+ interval_.titleValue = entries_[0].head;
+ }
+ else {
+ interval_.titleValue = "";
+ }
+ removeHead(entries_[0]);
+ if (entries_.size() > 1)
+ return 1;
+ else
+ return -1;
+ }
+ return 0;
+ }
+ int getNextKey() {
+ entidx_++;
+ if (int(entries_.size()) > entidx_) {
+ return entidx_;
+ }
+ else {
+ return -1;
+ }
+ }
+ bool setNextKey(int idx) {
+ if ((idx == entidx_) && (entidx_ >= 0)) {
+ entidx_--;
+ return true;
+ }
+ else
+ return false;
+ }
+ int find(int start, KeyInfo::KeyType keytype) const {
+ if (start < 0)
+ return -1;
+ int tmpIdx = start;
+ while (tmpIdx < int(entries_.size())) {
+ if (entries_[tmpIdx].keytype == keytype)
+ return tmpIdx;
+ tmpIdx++;
+ }
+ return -1;
+ }
+ int process(ostringstream & os, KeyInfo const & actual);
+ int dispatch(ostringstream & os, int previousStart, KeyInfo & actual);
+ // string show(int lastpos) { return interval.show(lastpos);}
+ int nextNotIgnored(int start) { return interval_.nextNotIgnored(start);}
+ KeyInfo &getKeyInfo(int keyinfo) {
+ static KeyInfo invalidInfo = KeyInfo();
+ if ((keyinfo < 0) || ( keyinfo >= int(entries_.size())))
+ return invalidInfo;
+ else
+ return entries_[keyinfo];
+ }
+ void setForDefaultLang(KeyInfo const & defLang) {interval_.setForDefaultLang(defLang);}
+ void addIntervall(int low, int up) { interval_.addIntervall(low, up); }
};
int Intervall::findclosing(int start, int end, char up = '{', char down = '}', int repeat = 1)
{
- int skip = 0;
- int depth = 0;
- for (int i = start; i < end; i += 1 + skip) {
- char c;
- c = par[i];
- skip = 0;
- if (c == '\\') skip = 1;
- else if (c == up) {
- depth++;
- }
- else if (c == down) {
- if (depth == 0) {
- repeat--;
- if ((repeat <= 0) || (par[i+1] != up))
- return i;
- }
- --depth;
- }
- }
- return end;
+ int skip = 0;
+ int depth = 0;
+ for (int i = start; i < end; i += 1 + skip) {
+ char c;
+ c = par[i];
+ skip = 0;
+ if (c == '\\') skip = 1;
+ else if (c == up) {
+ depth++;
+ }
+ else if (c == down) {
+ if (depth == 0) {
+ repeat--;
+ if ((repeat <= 0) || (par[i+1] != up))
+ return i;
+ }
+ --depth;
+ }
+ }
+ return end;
}
class MathInfo {
- class MathEntry {
- public:
- string wait;
- size_t mathEnd;
- size_t mathpostfixsize;
- size_t mathStart;
- size_t mathprefixsize;
- size_t mathSize;
- };
- size_t actualIdx_;
- vector<MathEntry> entries_;
- public:
- MathInfo() {
- actualIdx_ = 0;
- }
- void insert(string const & wait, size_t start, size_t prefixsize, size_t end, size_t postfixsize) {
- MathEntry m = MathEntry();
- m.wait = wait;
- m.mathStart = start;
- m.mathprefixsize = prefixsize;
- m.mathEnd = end + postfixsize;
- m.mathpostfixsize = postfixsize;
- m.mathSize = m.mathEnd - m.mathStart;
- entries_.push_back(m);
- }
- bool empty() const { return entries_.empty(); }
- size_t getEndPos() const {
- if (entries_.empty() || (actualIdx_ >= entries_.size())) {
- return 0;
- }
- return entries_[actualIdx_].mathEnd;
- }
- size_t getStartPos() const {
- if (entries_.empty() || (actualIdx_ >= entries_.size())) {
- return 100000; /* definitely enough? */
- }
- return entries_[actualIdx_].mathStart;
- }
- size_t getPrefixSize() const {
- if (entries_.empty() || (actualIdx_ >= entries_.size())) {
- return 0;
- }
- return entries_[actualIdx_].mathprefixsize;
- }
- size_t getPostfixSize() const {
- if (entries_.empty() || (actualIdx_ >= entries_.size())) {
- return 0;
- }
- return entries_[actualIdx_].mathpostfixsize;
- }
- size_t getFirstPos() {
- actualIdx_ = 0;
- return getStartPos();
- }
- size_t getSize() const {
- if (entries_.empty() || (actualIdx_ >= entries_.size())) {
- return size_t(0);
- }
- return entries_[actualIdx_].mathSize;
- }
- void incrEntry() { actualIdx_++; }
+ class MathEntry {
+ public:
+ string wait;
+ size_t mathEnd;
+ size_t mathpostfixsize;
+ size_t mathStart;
+ size_t mathprefixsize;
+ size_t mathSize;
+ };
+ size_t actualIdx_;
+ vector<MathEntry> entries_;
+public:
+ MathInfo() {
+ actualIdx_ = 0;
+ }
+ void insert(string const & wait, size_t start, size_t prefixsize, size_t end, size_t postfixsize) {
+ MathEntry m = MathEntry();
+ m.wait = wait;
+ m.mathStart = start;
+ m.mathprefixsize = prefixsize;
+ m.mathEnd = end + postfixsize;
+ m.mathpostfixsize = postfixsize;
+ m.mathSize = m.mathEnd - m.mathStart;
+ entries_.push_back(m);
+ }
+ bool empty() const { return entries_.empty(); }
+ size_t getEndPos() const {
+ if (entries_.empty() || (actualIdx_ >= entries_.size())) {
+ return 0;
+ }
+ return entries_[actualIdx_].mathEnd;
+ }
+ size_t getStartPos() const {
+ if (entries_.empty() || (actualIdx_ >= entries_.size())) {
+ return 100000; /* definitely enough? */
+ }
+ return entries_[actualIdx_].mathStart;
+ }
+ size_t getPrefixSize() const {
+ if (entries_.empty() || (actualIdx_ >= entries_.size())) {
+ return 0;
+ }
+ return entries_[actualIdx_].mathprefixsize;
+ }
+ size_t getPostfixSize() const {
+ if (entries_.empty() || (actualIdx_ >= entries_.size())) {
+ return 0;
+ }
+ return entries_[actualIdx_].mathpostfixsize;
+ }
+ size_t getFirstPos() {
+ actualIdx_ = 0;
+ return getStartPos();
+ }
+ size_t getSize() const {
+ if (entries_.empty() || (actualIdx_ >= entries_.size())) {
+ return size_t(0);
+ }
+ return entries_[actualIdx_].mathSize;
+ }
+ void incrEntry() { actualIdx_++; }
};
void LatexInfo::buildEntries(bool isPatternString)
{
- static regex const rmath("(\\\\)*(\\$|\\\\\\[|\\\\\\]|\\\\(begin|end)\\{((eqnarray|equation|flalign|gather|multline|align|x?x?alignat)\\*?\\})(\\{[0-9]+\\})?)");
- static regex const rkeys("(\\\\)*(\\$|\\\\\\[|\\\\\\]|\\\\((([a-zA-Z]+\\*?)(\\{([a-z]+\\*?)\\}|=[0-9]+[a-z]+)?)))");
- static bool disableLanguageOverride = false;
- smatch sub, submath;
- bool evaluatingRegexp = false;
- MathInfo mi;
- bool evaluatingMath = false;
- bool evaluatingCode = false;
- size_t codeEnd = 0;
- bool evaluatingOptional = false;
- size_t optionalEnd = 0;
- int codeStart = -1;
- KeyInfo found;
- bool math_end_waiting = false;
- size_t math_pos = 10000;
- size_t math_prefix_size = 1;
- string math_end;
- static vector<string> usedText = vector<string>();
- static bool removeMathHull = false;
-
- interval_.removeAccents();
-
- for (sregex_iterator itmath(interval_.par.begin(), interval_.par.end(), rmath), end; itmath != end; ++itmath) {
- submath = *itmath;
- if ((submath.position(2) - submath.position(0)) %2 == 1) {
- // prefixed by odd count of '\\'
- continue;
- }
- if (math_end_waiting) {
- size_t pos = submath.position(size_t(2));
- if ((math_end == "$") &&
- (submath.str(2) == "$")) {
- mi.insert("$", math_pos, 1, pos, 1);
- math_end_waiting = false;
- }
- else if ((math_end == "\\]") &&
- (submath.str(2) == "\\]")) {
- mi.insert("\\]", math_pos, 2, pos, 2);
- math_end_waiting = false;
- }
- else if ((submath.str(3).compare("end") == 0) &&
- (submath.str(5).compare(math_end) == 0)) {
- mi.insert(math_end, math_pos, math_prefix_size, pos, submath.str(2).length());
- math_end_waiting = false;
- }
- else
- continue;
- }
- else {
- if (submath.str(3).compare("begin") == 0) {
- math_end_waiting = true;
- math_end = submath.str(5);
- math_pos = submath.position(size_t(2));
- math_prefix_size = submath.str(2).length();
- }
- else if (submath.str(2).compare("\\[") == 0) {
- math_end_waiting = true;
- math_end = "\\]";
- math_pos = submath.position(size_t(2));
- }
- else if (submath.str(2) == "$") {
- size_t pos = submath.position(size_t(2));
- math_end_waiting = true;
- math_end = "$";
- math_pos = pos;
- }
- }
- }
- // Ignore language if there is math somewhere in pattern-string
- if (isPatternString) {
- for (auto s: usedText) {
- // Remove entries created in previous search runs
- keys.erase(s);
- }
- usedText = vector<string>();
- if (! mi.empty()) {
- // Disable language
- keys["foreignlanguage"].disabled = true;
- disableLanguageOverride = true;
- removeMathHull = false;
- }
- else {
- removeMathHull = true; // used later if not isPatternString
- disableLanguageOverride = false;
- }
- }
- else {
- if (disableLanguageOverride) {
- keys["foreignlanguage"].disabled = true;
- }
- }
- math_pos = mi.getFirstPos();
- for (sregex_iterator it(interval_.par.begin(), interval_.par.end(), rkeys), end; it != end; ++it) {
- sub = *it;
- if ((sub.position(2) - sub.position(0)) %2 == 1) {
- // prefixed by odd count of '\\'
- continue;
- }
- string key = sub.str(5);
- if (key == "") {
- if (sub.str(2)[0] == '\\')
- key = sub.str(2)[1];
- else {
- key = sub.str(2);
- }
- }
- KeysIterator it_key = keys.find(key);
- if (it_key != keys.end()) {
- if (it_key->second.keytype == KeyInfo::headRemove) {
- KeyInfo found1 = it_key->second;
- found1.disabled = true;
- found1.head = "\\" + key + "{";
- found1._tokenstart = sub.position(size_t(2));
- found1._tokensize = found1.head.length();
- found1._dataStart = found1._tokenstart + found1.head.length();
- int endpos = interval_.findclosing(found1._dataStart, interval_.par.length(), '{', '}', 1);
- found1._dataEnd = endpos;
- removeHead(found1);
- continue;
- }
- }
- if (evaluatingRegexp) {
- if (sub.str(3).compare("endregexp") == 0) {
- evaluatingRegexp = false;
- // found._tokenstart already set
- found._dataEnd = sub.position(size_t(2)) + 13;
- found._dataStart = found._dataEnd;
- found._tokensize = found._dataEnd - found._tokenstart;
- found.parenthesiscount = 0;
- found.head = interval_.par.substr(found._tokenstart, found._tokensize);
- }
- else {
- continue;
- }
- }
- else {
- if (evaluatingMath) {
- if (size_t(sub.position(size_t(2))) < mi.getEndPos())
- continue;
- evaluatingMath = false;
- mi.incrEntry();
- math_pos = mi.getStartPos();
- }
- if (it_key == keys.end()) {
- found = KeyInfo(KeyInfo::isStandard, 0, true);
- LYXERR(Debug::INFO, "Undefined key " << key << " ==> will be used as text");
- found = KeyInfo(KeyInfo::isText, 0, false);
- if (isPatternString) {
- found.keytype = KeyInfo::isChar;
- found.disabled = false;
- found.used = true;
- }
- keys[key] = found;
- usedText.push_back(key);
- }
- else
- found = keys[key];
- if (key.compare("regexp") == 0) {
- evaluatingRegexp = true;
- found._tokenstart = sub.position(size_t(2));
- found._tokensize = 0;
- continue;
- }
- }
- // Handle the other params of key
- if (found.keytype == KeyInfo::isIgnored)
- continue;
- else if (found.keytype == KeyInfo::isMath) {
- if (size_t(sub.position(size_t(2))) == math_pos) {
- found = keys[key];
- found._tokenstart = sub.position(size_t(2));
- found._tokensize = mi.getSize();
- found._dataEnd = found._tokenstart + found._tokensize;
- found._dataStart = found._dataEnd;
- found.parenthesiscount = 0;
- found.head = interval_.par.substr(found._tokenstart, found._tokensize);
- if (removeMathHull) {
- interval_.addIntervall(found._tokenstart, found._tokenstart + mi.getPrefixSize());
- interval_.addIntervall(found._dataEnd - mi.getPostfixSize(), found._dataEnd);
+ static regex const rmath("(\\\\)*(\\$|\\\\\\[|\\\\\\]|\\\\(begin|end)\\{((eqnarray|equation|flalign|gather|multline|align|x?x?alignat)\\*?\\})(\\{[0-9]+\\})?)");
+ static regex const rkeys("(\\\\)*(\\$|\\\\\\[|\\\\\\]|\\\\((([a-zA-Z]+\\*?)(\\{([a-z]+\\*?)\\}|=[0-9]+[a-z]+)?)))");
+ static bool disableLanguageOverride = false;
+ smatch sub, submath;
+ bool evaluatingRegexp = false;
+ MathInfo mi;
+ bool evaluatingMath = false;
+ bool evaluatingCode = false;
+ size_t codeEnd = 0;
+ bool evaluatingOptional = false;
+ size_t optionalEnd = 0;
+ int codeStart = -1;
+ KeyInfo found;
+ bool math_end_waiting = false;
+ size_t math_pos = 10000;
+ size_t math_prefix_size = 1;
+ string math_end;
+ static vector<string> usedText = vector<string>();
+ static bool removeMathHull = false;
+
+ interval_.removeAccents();
+
+ for (sregex_iterator itmath(interval_.par.begin(), interval_.par.end(), rmath), end; itmath != end; ++itmath) {
+ submath = *itmath;
+ if ((submath.position(2) - submath.position(0)) %2 == 1) {
+ // prefixed by odd count of '\\'
+ continue;
+ }
+ if (math_end_waiting) {
+ size_t pos = submath.position(size_t(2));
+ if ((math_end == "$") &&
+ (submath.str(2) == "$")) {
+ mi.insert("$", math_pos, 1, pos, 1);
+ math_end_waiting = false;
+ }
+ else if ((math_end == "\\]") &&
+ (submath.str(2) == "\\]")) {
+ mi.insert("\\]", math_pos, 2, pos, 2);
+ math_end_waiting = false;
+ }
+ else if ((submath.str(3).compare("end") == 0) &&
+ (submath.str(5).compare(math_end) == 0)) {
+ mi.insert(math_end, math_pos, math_prefix_size, pos, submath.str(2).length());
+ math_end_waiting = false;
+ }
+ else
+ continue;
+ }
+ else {
+ if (submath.str(3).compare("begin") == 0) {
+ math_end_waiting = true;
+ math_end = submath.str(5);
+ math_pos = submath.position(size_t(2));
+ math_prefix_size = submath.str(2).length();
+ }
+ else if (submath.str(2).compare("\\[") == 0) {
+ math_end_waiting = true;
+ math_end = "\\]";
+ math_pos = submath.position(size_t(2));
+ }
+ else if (submath.str(2) == "$") {
+ size_t pos = submath.position(size_t(2));
+ math_end_waiting = true;
+ math_end = "$";
+ math_pos = pos;
+ }
+ }
+ }
+ // Ignore language if there is math somewhere in pattern-string
+ if (isPatternString) {
+ for (auto s: usedText) {
+ // Remove entries created in previous search runs
+ keys.erase(s);
+ }
+ usedText = vector<string>();
+ if (! mi.empty()) {
+ // Disable language
+ keys["foreignlanguage"].disabled = true;
+ disableLanguageOverride = true;
+ removeMathHull = false;
+ }
+ else {
+ removeMathHull = true; // used later if not isPatternString
+ disableLanguageOverride = false;
+ }
}
else {
- // Treate all math constructs as simple math
- interval_.par[found._tokenstart] = '$';
- interval_.par[found._dataEnd - mi.getPostfixSize()] = '$';
- interval_.addIntervall(found._tokenstart + 1, found._tokenstart + mi.getPrefixSize());
- interval_.addIntervall(found._dataEnd - mi.getPostfixSize() + 1, found._dataEnd);
- }
- evaluatingMath = true;
- }
- else {
- // begin|end of unknown env, discard
- // First handle tables
- // longtable|tabular
- bool discardComment;
- found = keys[key];
- found.keytype = KeyInfo::doRemove;
- if ((sub.str(7).compare("longtable") == 0) ||
- (sub.str(7).compare("tabular") == 0)) {
- discardComment = true; /* '%' */
- }
- else {
- discardComment = false;
- static regex const removeArgs("^(multicols|multipar|sectionbox|subsectionbox|tcolorbox)$");
- smatch sub2;
- string token = sub.str(7);
- if (regex_match(token, sub2, removeArgs)) {
- found.keytype = KeyInfo::removeWithArg;
- }
- }
- // discard spaces before pos(2)
- int pos = sub.position(size_t(2));
- int count;
- for (count = 0; pos - count > 0; count++) {
- char c = interval_.par[pos-count-1];
- if (discardComment) {
- if ((c != ' ') && (c != '%'))
- break;
- }
- else if (c != ' ')
- break;
- }
- found._tokenstart = pos - count;
- if (sub.str(3).compare(0, 5, "begin") == 0) {
- size_t pos1 = pos + sub.str(2).length();
- if (sub.str(7).compare("cjk") == 0) {
- pos1 = interval_.findclosing(pos1+1, interval_.par.length()) + 1;
- if ((interval_.par[pos1] == '{') && (interval_.par[pos1+1] == '}'))
- pos1 += 2;
- found.keytype = KeyInfo::isMain;
- found._dataStart = pos1;
- found._dataEnd = interval_.par.length();
- found.disabled = keys["foreignlanguage"].disabled;
- found.used = keys["foreignlanguage"].used;
- found._tokensize = pos1 - found._tokenstart;
- found.head = interval_.par.substr(found._tokenstart, found._tokensize);
- }
- else {
- // Swallow possible optional params
- while (interval_.par[pos1] == '[') {
- pos1 = interval_.findclosing(pos1+1, interval_.par.length(), '[', ']')+1;
- }
- // Swallow also the eventual parameter
- if (interval_.par[pos1] == '{') {
- found._dataEnd = interval_.findclosing(pos1+1, interval_.par.length()) + 1;
- }
- else {
- found._dataEnd = pos1;
- }
- found._dataStart = found._dataEnd;
- found._tokensize = count + found._dataEnd - pos;
- found.parenthesiscount = 0;
- found.head = interval_.par.substr(found._tokenstart, found._tokensize);
- found.disabled = true;
- }
- }
- else {
- // Handle "\end{...}"
- found._dataStart = pos + sub.str(2).length();
- found._dataEnd = found._dataStart;
- found._tokensize = count + found._dataEnd - pos;
- found.parenthesiscount = 0;
- found.head = interval_.par.substr(found._tokenstart, found._tokensize);
- found.disabled = true;
- }
- }
- }
- else if (found.keytype != KeyInfo::isRegex) {
- found._tokenstart = sub.position(size_t(2));
- if (found.parenthesiscount == 0) {
- // Probably to be discarded
- size_t following_pos = sub.position(size_t(2)) + sub.str(5).length() + 1;
- char following = interval_.par[following_pos];
- if (following == ' ')
- found.head = "\\" + sub.str(5) + " ";
- else if (following == '=') {
- // like \uldepth=1000pt
- found.head = sub.str(2);
- }
- else
- found.head = "\\" + key;
- found._tokensize = found.head.length();
- found._dataEnd = found._tokenstart + found._tokensize;
- found._dataStart = found._dataEnd;
- }
- else {
- int params = found._tokenstart + key.length() + 1;
- if (evaluatingOptional) {
- if (size_t(found._tokenstart) > optionalEnd) {
- evaluatingOptional = false;
- }
- else {
- found.disabled = true;
- }
- }
- int optend = params;
- while (interval_.par[optend] == '[') {
- // discard optional parameters
- optend = interval_.findclosing(optend+1, interval_.par.length(), '[', ']') + 1;
- }
- if (optend > params) {
- key += interval_.par.substr(params, optend-params);
- evaluatingOptional = true;
- optionalEnd = optend;
- if (found.keytype == KeyInfo::isSectioning) {
- // Remove optional values (but still keep in header)
- interval_.addIntervall(params, optend);
- }
- }
- string token = sub.str(7);
- int closings;
- if (interval_.par[optend] != '{') {
- closings = 0;
- found.parenthesiscount = 0;
- found.head = "\\" + key;
- }
- else
- closings = found.parenthesiscount;
- if (found.parenthesiscount == 1) {
- found.head = "\\" + key + "{";
- }
- else if (found.parenthesiscount > 1) {
- if (token != "") {
- found.head = sub.str(2) + "{";
- closings = found.parenthesiscount - 1;
- }
- else {
- found.head = "\\" + key + "{";
- }
- }
- found._tokensize = found.head.length();
- found._dataStart = found._tokenstart + found.head.length();
- if (found.keytype == KeyInfo::doRemove) {
- if (closings > 0) {
- size_t endpar = 2 + interval_.findclosing(found._dataStart, interval_.par.length(), '{', '}', closings);
- if (endpar >= interval_.par.length())
- found._dataStart = interval_.par.length();
- else
- found._dataStart = endpar;
- found._tokensize = found._dataStart - found._tokenstart;
- }
- else {
- found._dataStart = found._tokenstart + found._tokensize;
- }
- closings = 0;
- }
- if (interval_.par.substr(found._dataStart, 15).compare("\\endarguments{}") == 0) {
- found._dataStart += 15;
- }
- size_t endpos;
- if (closings < 1)
- endpos = found._dataStart - 1;
- else
- endpos = interval_.findclosing(found._dataStart, interval_.par.length(), '{', '}', closings);
- if (found.keytype == KeyInfo::isList) {
- // Check if it really is list env
- static regex const listre("^([a-z]+)$");
- smatch sub2;
- if (!regex_match(token, sub2, listre)) {
- // Change the key of this entry. It is not in a list/item environment
- found.keytype = KeyInfo::endArguments;
- }
- }
- if (found.keytype == KeyInfo::noMain) {
- evaluatingCode = true;
- codeEnd = endpos;
- codeStart = found._dataStart;
- }
- else if (evaluatingCode) {
- if (size_t(found._dataStart) > codeEnd)
- evaluatingCode = false;
- else if (found.keytype == KeyInfo::isMain) {
- // Disable this key, treate it as standard
- found.keytype = KeyInfo::isStandard;
- found.disabled = true;
- if ((codeEnd +1 >= interval_.par.length()) &&
- (found._tokenstart == codeStart)) {
- // trickery, because the code inset starts
- // with \selectlanguage ...
- codeEnd = endpos;
- if (entries_.size() > 1) {
- entries_[entries_.size()-1]._dataEnd = codeEnd;
- }
- }
- }
- }
- if ((endpos == interval_.par.length()) &&
- (found.keytype == KeyInfo::doRemove)) {
- // Missing closing => error in latex-input?
- // therefore do not delete remaining data
- found._dataStart -= 1;
- found._dataEnd = found._dataStart;
- }
- else
- found._dataEnd = endpos;
- }
- if (isPatternString) {
- keys[key].used = true;
- }
- }
- entries_.push_back(found);
- }
+ if (disableLanguageOverride) {
+ keys["foreignlanguage"].disabled = true;
+ }
+ }
+ math_pos = mi.getFirstPos();
+ for (sregex_iterator it(interval_.par.begin(), interval_.par.end(), rkeys), end; it != end; ++it) {
+ sub = *it;
+ if ((sub.position(2) - sub.position(0)) %2 == 1) {
+ // prefixed by odd count of '\\'
+ continue;
+ }
+ string key = sub.str(5);
+ if (key == "") {
+ if (sub.str(2)[0] == '\\')
+ key = sub.str(2)[1];
+ else {
+ key = sub.str(2);
+ }
+ }
+ KeysIterator it_key = keys.find(key);
+ if (it_key != keys.end()) {
+ if (it_key->second.keytype == KeyInfo::headRemove) {
+ KeyInfo found1 = it_key->second;
+ found1.disabled = true;
+ found1.head = "\\" + key + "{";
+ found1._tokenstart = sub.position(size_t(2));
+ found1._tokensize = found1.head.length();
+ found1._dataStart = found1._tokenstart + found1.head.length();
+ int endpos = interval_.findclosing(found1._dataStart, interval_.par.length(), '{', '}', 1);
+ found1._dataEnd = endpos;
+ removeHead(found1);
+ continue;
+ }
+ }
+ if (evaluatingRegexp) {
+ if (sub.str(3).compare("endregexp") == 0) {
+ evaluatingRegexp = false;
+ // found._tokenstart already set
+ found._dataEnd = sub.position(size_t(2)) + 13;
+ found._dataStart = found._dataEnd;
+ found._tokensize = found._dataEnd - found._tokenstart;
+ found.parenthesiscount = 0;
+ found.head = interval_.par.substr(found._tokenstart, found._tokensize);
+ }
+ else {
+ continue;
+ }
+ }
+ else {
+ if (evaluatingMath) {
+ if (size_t(sub.position(size_t(2))) < mi.getEndPos())
+ continue;
+ evaluatingMath = false;
+ mi.incrEntry();
+ math_pos = mi.getStartPos();
+ }
+ if (it_key == keys.end()) {
+ found = KeyInfo(KeyInfo::isStandard, 0, true);
+ LYXERR(Debug::INFO, "Undefined key " << key << " ==> will be used as text");
+ found = KeyInfo(KeyInfo::isText, 0, false);
+ if (isPatternString) {
+ found.keytype = KeyInfo::isChar;
+ found.disabled = false;
+ found.used = true;
+ }
+ keys[key] = found;
+ usedText.push_back(key);
+ }
+ else
+ found = keys[key];
+ if (key.compare("regexp") == 0) {
+ evaluatingRegexp = true;
+ found._tokenstart = sub.position(size_t(2));
+ found._tokensize = 0;
+ continue;
+ }
+ }
+ // Handle the other params of key
+ if (found.keytype == KeyInfo::isIgnored)
+ continue;
+ else if (found.keytype == KeyInfo::isMath) {
+ if (size_t(sub.position(size_t(2))) == math_pos) {
+ found = keys[key];
+ found._tokenstart = sub.position(size_t(2));
+ found._tokensize = mi.getSize();
+ found._dataEnd = found._tokenstart + found._tokensize;
+ found._dataStart = found._dataEnd;
+ found.parenthesiscount = 0;
+ found.head = interval_.par.substr(found._tokenstart, found._tokensize);
+ if (removeMathHull) {
+ interval_.addIntervall(found._tokenstart, found._tokenstart + mi.getPrefixSize());
+ interval_.addIntervall(found._dataEnd - mi.getPostfixSize(), found._dataEnd);
+ }
+ else {
+ // Treate all math constructs as simple math
+ interval_.par[found._tokenstart] = '$';
+ interval_.par[found._dataEnd - mi.getPostfixSize()] = '$';
+ interval_.addIntervall(found._tokenstart + 1, found._tokenstart + mi.getPrefixSize());
+ interval_.addIntervall(found._dataEnd - mi.getPostfixSize() + 1, found._dataEnd);
+ }
+ evaluatingMath = true;
+ }
+ else {
+ // begin|end of unknown env, discard
+ // First handle tables
+ // longtable|tabular
+ bool discardComment;
+ found = keys[key];
+ found.keytype = KeyInfo::doRemove;
+ if ((sub.str(7).compare("longtable") == 0) ||
+ (sub.str(7).compare("tabular") == 0)) {
+ discardComment = true; /* '%' */
+ }
+ else {
+ discardComment = false;
+ static regex const removeArgs("^(multicols|multipar|sectionbox|subsectionbox|tcolorbox)$");
+ smatch sub2;
+ string token = sub.str(7);
+ if (regex_match(token, sub2, removeArgs)) {
+ found.keytype = KeyInfo::removeWithArg;
+ }
+ }
+ // discard spaces before pos(2)
+ int pos = sub.position(size_t(2));
+ int count;
+ for (count = 0; pos - count > 0; count++) {
+ char c = interval_.par[pos-count-1];
+ if (discardComment) {
+ if ((c != ' ') && (c != '%'))
+ break;
+ }
+ else if (c != ' ')
+ break;
+ }
+ found._tokenstart = pos - count;
+ if (sub.str(3).compare(0, 5, "begin") == 0) {
+ size_t pos1 = pos + sub.str(2).length();
+ if (sub.str(7).compare("cjk") == 0) {
+ pos1 = interval_.findclosing(pos1+1, interval_.par.length()) + 1;
+ if ((interval_.par[pos1] == '{') && (interval_.par[pos1+1] == '}'))
+ pos1 += 2;
+ found.keytype = KeyInfo::isMain;
+ found._dataStart = pos1;
+ found._dataEnd = interval_.par.length();
+ found.disabled = keys["foreignlanguage"].disabled;
+ found.used = keys["foreignlanguage"].used;
+ found._tokensize = pos1 - found._tokenstart;
+ found.head = interval_.par.substr(found._tokenstart, found._tokensize);
+ }
+ else {
+ // Swallow possible optional params
+ while (interval_.par[pos1] == '[') {
+ pos1 = interval_.findclosing(pos1+1, interval_.par.length(), '[', ']')+1;
+ }
+ // Swallow also the eventual parameter
+ if (interval_.par[pos1] == '{') {
+ found._dataEnd = interval_.findclosing(pos1+1, interval_.par.length()) + 1;
+ }
+ else {
+ found._dataEnd = pos1;
+ }
+ found._dataStart = found._dataEnd;
+ found._tokensize = count + found._dataEnd - pos;
+ found.parenthesiscount = 0;
+ found.head = interval_.par.substr(found._tokenstart, found._tokensize);
+ found.disabled = true;
+ }
+ }
+ else {
+ // Handle "\end{...}"
+ found._dataStart = pos + sub.str(2).length();
+ found._dataEnd = found._dataStart;
+ found._tokensize = count + found._dataEnd - pos;
+ found.parenthesiscount = 0;
+ found.head = interval_.par.substr(found._tokenstart, found._tokensize);
+ found.disabled = true;
+ }
+ }
+ }
+ else if (found.keytype != KeyInfo::isRegex) {
+ found._tokenstart = sub.position(size_t(2));
+ if (found.parenthesiscount == 0) {
+ // Probably to be discarded
+ size_t following_pos = sub.position(size_t(2)) + sub.str(5).length() + 1;
+ char following = interval_.par[following_pos];
+ if (following == ' ')
+ found.head = "\\" + sub.str(5) + " ";
+ else if (following == '=') {
+ // like \uldepth=1000pt
+ found.head = sub.str(2);
+ }
+ else
+ found.head = "\\" + key;
+ found._tokensize = found.head.length();
+ found._dataEnd = found._tokenstart + found._tokensize;
+ found._dataStart = found._dataEnd;
+ }
+ else {
+ int params = found._tokenstart + key.length() + 1;
+ if (evaluatingOptional) {
+ if (size_t(found._tokenstart) > optionalEnd) {
+ evaluatingOptional = false;
+ }
+ else {
+ found.disabled = true;
+ }
+ }
+ int optend = params;
+ while (interval_.par[optend] == '[') {
+ // discard optional parameters
+ optend = interval_.findclosing(optend+1, interval_.par.length(), '[', ']') + 1;
+ }
+ if (optend > params) {
+ key += interval_.par.substr(params, optend-params);
+ evaluatingOptional = true;
+ optionalEnd = optend;
+ if (found.keytype == KeyInfo::isSectioning) {
+ // Remove optional values (but still keep in header)
+ interval_.addIntervall(params, optend);
+ }
+ }
+ string token = sub.str(7);
+ int closings;
+ if (interval_.par[optend] != '{') {
+ closings = 0;
+ found.parenthesiscount = 0;
+ found.head = "\\" + key;
+ }
+ else
+ closings = found.parenthesiscount;
+ if (found.parenthesiscount == 1) {
+ found.head = "\\" + key + "{";
+ }
+ else if (found.parenthesiscount > 1) {
+ if (token != "") {
+ found.head = sub.str(2) + "{";
+ closings = found.parenthesiscount - 1;
+ }
+ else {
+ found.head = "\\" + key + "{";
+ }
+ }
+ found._tokensize = found.head.length();
+ found._dataStart = found._tokenstart + found.head.length();
+ if (found.keytype == KeyInfo::doRemove) {
+ if (closings > 0) {
+ size_t endpar = 2 + interval_.findclosing(found._dataStart, interval_.par.length(), '{', '}', closings);
+ if (endpar >= interval_.par.length())
+ found._dataStart = interval_.par.length();
+ else
+ found._dataStart = endpar;
+ found._tokensize = found._dataStart - found._tokenstart;
+ }
+ else {
+ found._dataStart = found._tokenstart + found._tokensize;
+ }
+ closings = 0;
+ }
+ if (interval_.par.substr(found._dataStart, 15).compare("\\endarguments{}") == 0) {
+ found._dataStart += 15;
+ }
+ size_t endpos;
+ if (closings < 1)
+ endpos = found._dataStart - 1;
+ else
+ endpos = interval_.findclosing(found._dataStart, interval_.par.length(), '{', '}', closings);
+ if (found.keytype == KeyInfo::isList) {
+ // Check if it really is list env
+ static regex const listre("^([a-z]+)$");
+ smatch sub2;
+ if (!regex_match(token, sub2, listre)) {
+ // Change the key of this entry. It is not in a list/item environment
+ found.keytype = KeyInfo::endArguments;
+ }
+ }
+ if (found.keytype == KeyInfo::noMain) {
+ evaluatingCode = true;
+ codeEnd = endpos;
+ codeStart = found._dataStart;
+ }
+ else if (evaluatingCode) {
+ if (size_t(found._dataStart) > codeEnd)
+ evaluatingCode = false;
+ else if (found.keytype == KeyInfo::isMain) {
+ // Disable this key, treate it as standard
+ found.keytype = KeyInfo::isStandard;
+ found.disabled = true;
+ if ((codeEnd +1 >= interval_.par.length()) &&
+ (found._tokenstart == codeStart)) {
+ // trickery, because the code inset starts
+ // with \selectlanguage ...
+ codeEnd = endpos;
+ if (entries_.size() > 1) {
+ entries_[entries_.size()-1]._dataEnd = codeEnd;
+ }
+ }
+ }
+ }
+ if ((endpos == interval_.par.length()) &&
+ (found.keytype == KeyInfo::doRemove)) {
+ // Missing closing => error in latex-input?
+ // therefore do not delete remaining data
+ found._dataStart -= 1;
+ found._dataEnd = found._dataStart;
+ }
+ else
+ found._dataEnd = endpos;
+ }
+ if (isPatternString) {
+ keys[key].used = true;
+ }
+ }
+ entries_.push_back(found);
+ }
}
void LatexInfo::makeKey(const string &keysstring, KeyInfo keyI, bool isPatternString)
{
- stringstream s(keysstring);
- string key;
- const char delim = '|';
- while (getline(s, key, delim)) {
- KeyInfo keyII(keyI);
- if (isPatternString) {
- keyII.used = false;
- }
- else if ( !keys[key].used)
- keyII.disabled = true;
- keys[key] = keyII;
- }
+ stringstream s(keysstring);
+ string key;
+ const char delim = '|';
+ while (getline(s, key, delim)) {
+ KeyInfo keyII(keyI);
+ if (isPatternString) {
+ keyII.used = false;
+ }
+ else if ( !keys[key].used)
+ keyII.disabled = true;
+ keys[key] = keyII;
+ }
}
void LatexInfo::buildKeys(bool isPatternString)
{
- static bool keysBuilt = false;
- if (keysBuilt && !isPatternString) return;
-
- // Keys to ignore in any case
- makeKey("text|textcyrillic|lyxmathsym|ensuremath", KeyInfo(KeyInfo::headRemove, 1, true), true);
- // Known standard keys with 1 parameter.
- // Split is done, if not at start of region
- makeKey("textsf|textss|texttt", KeyInfo(KeyInfo::isStandard, 1, ignoreFormats.getFamily()), isPatternString);
- makeKey("textbf", KeyInfo(KeyInfo::isStandard, 1, ignoreFormats.getSeries()), isPatternString);
- makeKey("textit|textsc|textsl", KeyInfo(KeyInfo::isStandard, 1, ignoreFormats.getShape()), isPatternString);
- makeKey("uuline|uline|uwave", KeyInfo(KeyInfo::isStandard, 1, ignoreFormats.getUnderline()), isPatternString);
- makeKey("emph|noun", KeyInfo(KeyInfo::isStandard, 1, ignoreFormats.getMarkUp()), isPatternString);
- makeKey("sout|xout", KeyInfo(KeyInfo::isStandard, 1, ignoreFormats.getStrikeOut()), isPatternString);
-
- makeKey("section|subsection|subsubsection|paragraph|subparagraph|minisec",
- KeyInfo(KeyInfo::isSectioning, 1, ignoreFormats.getSectioning()), isPatternString);
- makeKey("section*|subsection*|subsubsection*|paragraph*",
- KeyInfo(KeyInfo::isSectioning, 1, ignoreFormats.getSectioning()), isPatternString);
- makeKey("part|part*|chapter|chapter*", KeyInfo(KeyInfo::isSectioning, 1, ignoreFormats.getSectioning()), isPatternString);
- makeKey("title|subtitle|author|subject|publishers|dedication|uppertitleback|lowertitleback|extratitle|lyxaddress|lyxrightaddress", KeyInfo(KeyInfo::isTitle, 1, ignoreFormats.getFrontMatter()), isPatternString);
- // Regex
- makeKey("regexp", KeyInfo(KeyInfo::isRegex, 1, false), isPatternString);
-
- // Split is done, if not at start of region
- makeKey("textcolor", KeyInfo(KeyInfo::isStandard, 2, ignoreFormats.getColor()), isPatternString);
- makeKey("latexenvironment", KeyInfo(KeyInfo::isStandard, 2, false), isPatternString);
-
- // Split is done always.
- makeKey("foreignlanguage", KeyInfo(KeyInfo::isMain, 2, ignoreFormats.getLanguage()), isPatternString);
-
- // Known charaters
- // No split
- makeKey("backslash|textbackslash|slash", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
- makeKey("textasciicircum|textasciitilde", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
- makeKey("textasciiacute|texemdash", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
- makeKey("dots|ldots", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
- // Spaces
- makeKey("quad|qquad|hfill|dotfill", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
- makeKey("textvisiblespace|nobreakspace", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
- makeKey("negthickspace|negmedspace|negthinspace", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
- makeKey("thickspace|medspace|thinspace", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
- // Skip
- // makeKey("enskip|smallskip|medskip|bigskip|vfill", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
- // Custom space/skip, remove the content (== length value)
- makeKey("vspace|vspace*|hspace|hspace*|mspace", KeyInfo(KeyInfo::noContent, 1, false), isPatternString);
- // Found in fr/UserGuide.lyx
- makeKey("og|fg", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
- // quotes
- makeKey("textquotedbl|quotesinglbase|lyxarrow", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
- makeKey("textquotedblleft|textquotedblright", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
- // Known macros to remove (including their parameter)
- // No split
- makeKey("input|inputencoding|label|ref|index|bibitem", KeyInfo(KeyInfo::doRemove, 1, false), isPatternString);
- makeKey("addtocounter|setlength", KeyInfo(KeyInfo::noContent, 2, true), isPatternString);
- // handle like standard keys with 1 parameter.
- makeKey("url|href|vref|thanks", KeyInfo(KeyInfo::isStandard, 1, false), isPatternString);
-
- // Ignore deleted text
- makeKey("lyxdeleted", KeyInfo(KeyInfo::doRemove, 3, false), isPatternString);
- // but preserve added text
- makeKey("lyxadded", KeyInfo(KeyInfo::doRemove, 2, false), isPatternString);
-
- // Macros to remove, but let the parameter survive
- // No split
- makeKey("menuitem|textmd|textrm", KeyInfo(KeyInfo::isStandard, 1, true), isPatternString);
-
- // Remove language spec from content of these insets
- makeKey("code", KeyInfo(KeyInfo::noMain, 1, false), isPatternString);
-
- // Same effect as previous, parameter will survive (because there is no one anyway)
- // No split
- makeKey("noindent|textcompwordmark|maketitle", KeyInfo(KeyInfo::isStandard, 0, true), isPatternString);
- // Remove table decorations
- makeKey("hline|tabularnewline|toprule|bottomrule|midrule", KeyInfo(KeyInfo::doRemove, 0, true), isPatternString);
- // Discard shape-header.
- // For footnote or shortcut too, because of lang settings
- // and wrong handling if used 'KeyInfo::noMain'
- makeKey("circlepar|diamondpar|heartpar|nutpar", KeyInfo(KeyInfo::isStandard, 1, true), isPatternString);
- makeKey("trianglerightpar|hexagonpar|starpar", KeyInfo(KeyInfo::isStandard, 1, true), isPatternString);
- makeKey("triangleuppar|triangledownpar|droppar", KeyInfo(KeyInfo::isStandard, 1, true), isPatternString);
- makeKey("triangleleftpar|shapepar|dropuppar", KeyInfo(KeyInfo::isStandard, 1, true), isPatternString);
- makeKey("hphantom|vphantom|note|footnote|shortcut|include|includegraphics", KeyInfo(KeyInfo::isStandard, 1, true), isPatternString);
- makeKey("parbox", KeyInfo(KeyInfo::doRemove, 1, true), isPatternString);
- // like ('tiny{}' or '\tiny ' ... )
- makeKey("footnotesize|tiny|scriptsize|small|large|Large|LARGE|huge|Huge", KeyInfo(KeyInfo::isSize, 0, false), isPatternString);
-
- // Survives, like known character
- // makeKey("lyx|LyX|latex|LaTeX|latexe|LaTeXe|tex|TeX", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
- makeKey("tableofcontents", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
- makeKey("item|listitem", KeyInfo(KeyInfo::isList, 1, false), isPatternString);
-
- makeKey("begin|end", KeyInfo(KeyInfo::isMath, 1, false), isPatternString);
- makeKey("[|]", KeyInfo(KeyInfo::isMath, 1, false), isPatternString);
- makeKey("$", KeyInfo(KeyInfo::isMath, 1, false), isPatternString);
-
- makeKey("par|uldepth|ULdepth|protect|nobreakdash|medskip|relax", KeyInfo(KeyInfo::isStandard, 0, true), isPatternString);
- // Remove RTL/LTR marker
- makeKey("l|r|textlr|textfr|textar|beginl|endl", KeyInfo(KeyInfo::isStandard, 0, true), isPatternString);
- makeKey("lettrine", KeyInfo(KeyInfo::cleanToStart, 0, true), isPatternString);
- makeKey("lyxslide", KeyInfo(KeyInfo::isSectioning, 1, true), isPatternString);
- makeKey("endarguments", KeyInfo(KeyInfo::endArguments, 0, true), isPatternString);
- makeKey("twocolumn", KeyInfo(KeyInfo::removeWithArg, 2, true), isPatternString);
- makeKey("tnotetext|ead|fntext|cortext|address", KeyInfo(KeyInfo::removeWithArg, 0, true), isPatternString);
- makeKey("lyxend", KeyInfo(KeyInfo::isStandard, 0, true), isPatternString);
- if (isPatternString) {
- // Allow the first searched string to rebuild the keys too
- keysBuilt = false;
- }
- else {
- // no need to rebuild again
- keysBuilt = true;
- }
+ static bool keysBuilt = false;
+ if (keysBuilt && !isPatternString) return;
+
+ // Keys to ignore in any case
+ makeKey("text|textcyrillic|lyxmathsym|ensuremath", KeyInfo(KeyInfo::headRemove, 1, true), true);
+ // Known standard keys with 1 parameter.
+ // Split is done, if not at start of region
+ makeKey("textsf|textss|texttt", KeyInfo(KeyInfo::isStandard, 1, ignoreFormats.getFamily()), isPatternString);
+ makeKey("textbf", KeyInfo(KeyInfo::isStandard, 1, ignoreFormats.getSeries()), isPatternString);
+ makeKey("textit|textsc|textsl", KeyInfo(KeyInfo::isStandard, 1, ignoreFormats.getShape()), isPatternString);
+ makeKey("uuline|uline|uwave", KeyInfo(KeyInfo::isStandard, 1, ignoreFormats.getUnderline()), isPatternString);
+ makeKey("emph|noun", KeyInfo(KeyInfo::isStandard, 1, ignoreFormats.getMarkUp()), isPatternString);
+ makeKey("sout|xout", KeyInfo(KeyInfo::isStandard, 1, ignoreFormats.getStrikeOut()), isPatternString);
+
+ makeKey("section|subsection|subsubsection|paragraph|subparagraph|minisec",
+ KeyInfo(KeyInfo::isSectioning, 1, ignoreFormats.getSectioning()), isPatternString);
+ makeKey("section*|subsection*|subsubsection*|paragraph*",
+ KeyInfo(KeyInfo::isSectioning, 1, ignoreFormats.getSectioning()), isPatternString);
+ makeKey("part|part*|chapter|chapter*", KeyInfo(KeyInfo::isSectioning, 1, ignoreFormats.getSectioning()), isPatternString);
+ makeKey("title|subtitle|author|subject|publishers|dedication|uppertitleback|lowertitleback|extratitle|lyxaddress|lyxrightaddress", KeyInfo(KeyInfo::isTitle, 1, ignoreFormats.getFrontMatter()), isPatternString);
+ // Regex
+ makeKey("regexp", KeyInfo(KeyInfo::isRegex, 1, false), isPatternString);
+
+ // Split is done, if not at start of region
+ makeKey("textcolor", KeyInfo(KeyInfo::isStandard, 2, ignoreFormats.getColor()), isPatternString);
+ makeKey("latexenvironment", KeyInfo(KeyInfo::isStandard, 2, false), isPatternString);
+
+ // Split is done always.
+ makeKey("foreignlanguage", KeyInfo(KeyInfo::isMain, 2, ignoreFormats.getLanguage()), isPatternString);
+
+ // Known charaters
+ // No split
+ makeKey("backslash|textbackslash|slash", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
+ makeKey("textasciicircum|textasciitilde", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
+ makeKey("textasciiacute|texemdash", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
+ makeKey("dots|ldots", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
+ // Spaces
+ makeKey("quad|qquad|hfill|dotfill", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
+ makeKey("textvisiblespace|nobreakspace", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
+ makeKey("negthickspace|negmedspace|negthinspace", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
+ makeKey("thickspace|medspace|thinspace", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
+ // Skip
+ // makeKey("enskip|smallskip|medskip|bigskip|vfill", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
+ // Custom space/skip, remove the content (== length value)
+ makeKey("vspace|vspace*|hspace|hspace*|mspace", KeyInfo(KeyInfo::noContent, 1, false), isPatternString);
+ // Found in fr/UserGuide.lyx
+ makeKey("og|fg", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
+ // quotes
+ makeKey("textquotedbl|quotesinglbase|lyxarrow", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
+ makeKey("textquotedblleft|textquotedblright", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
+ // Known macros to remove (including their parameter)
+ // No split
+ makeKey("input|inputencoding|label|ref|index|bibitem", KeyInfo(KeyInfo::doRemove, 1, false), isPatternString);
+ makeKey("addtocounter|setlength", KeyInfo(KeyInfo::noContent, 2, true), isPatternString);
+ // handle like standard keys with 1 parameter.
+ makeKey("url|href|vref|thanks", KeyInfo(KeyInfo::isStandard, 1, false), isPatternString);
+
+ // Ignore deleted text
+ makeKey("lyxdeleted", KeyInfo(KeyInfo::doRemove, 3, false), isPatternString);
+ // but preserve added text
+ makeKey("lyxadded", KeyInfo(KeyInfo::doRemove, 2, false), isPatternString);
+
+ // Macros to remove, but let the parameter survive
+ // No split
+ makeKey("menuitem|textmd|textrm", KeyInfo(KeyInfo::isStandard, 1, true), isPatternString);
+
+ // Remove language spec from content of these insets
+ makeKey("code", KeyInfo(KeyInfo::noMain, 1, false), isPatternString);
+
+ // Same effect as previous, parameter will survive (because there is no one anyway)
+ // No split
+ makeKey("noindent|textcompwordmark|maketitle", KeyInfo(KeyInfo::isStandard, 0, true), isPatternString);
+ // Remove table decorations
+ makeKey("hline|tabularnewline|toprule|bottomrule|midrule", KeyInfo(KeyInfo::doRemove, 0, true), isPatternString);
+ // Discard shape-header.
+ // For footnote or shortcut too, because of lang settings
+ // and wrong handling if used 'KeyInfo::noMain'
+ makeKey("circlepar|diamondpar|heartpar|nutpar", KeyInfo(KeyInfo::isStandard, 1, true), isPatternString);
+ makeKey("trianglerightpar|hexagonpar|starpar", KeyInfo(KeyInfo::isStandard, 1, true), isPatternString);
+ makeKey("triangleuppar|triangledownpar|droppar", KeyInfo(KeyInfo::isStandard, 1, true), isPatternString);
+ makeKey("triangleleftpar|shapepar|dropuppar", KeyInfo(KeyInfo::isStandard, 1, true), isPatternString);
+ makeKey("hphantom|vphantom|note|footnote|shortcut|include|includegraphics", KeyInfo(KeyInfo::isStandard, 1, true), isPatternString);
+ makeKey("parbox", KeyInfo(KeyInfo::doRemove, 1, true), isPatternString);
+ // like ('tiny{}' or '\tiny ' ... )
+ makeKey("footnotesize|tiny|scriptsize|small|large|Large|LARGE|huge|Huge", KeyInfo(KeyInfo::isSize, 0, false), isPatternString);
+
+ // Survives, like known character
+ // makeKey("lyx|LyX|latex|LaTeX|latexe|LaTeXe|tex|TeX", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
+ makeKey("tableofcontents", KeyInfo(KeyInfo::isChar, 0, false), isPatternString);
+ makeKey("item|listitem", KeyInfo(KeyInfo::isList, 1, false), isPatternString);
+
+ makeKey("begin|end", KeyInfo(KeyInfo::isMath, 1, false), isPatternString);
+ makeKey("[|]", KeyInfo(KeyInfo::isMath, 1, false), isPatternString);
+ makeKey("$", KeyInfo(KeyInfo::isMath, 1, false), isPatternString);
+
+ makeKey("par|uldepth|ULdepth|protect|nobreakdash|medskip|relax", KeyInfo(KeyInfo::isStandard, 0, true), isPatternString);
+ // Remove RTL/LTR marker
+ makeKey("l|r|textlr|textfr|textar|beginl|endl", KeyInfo(KeyInfo::isStandard, 0, true), isPatternString);
+ makeKey("lettrine", KeyInfo(KeyInfo::cleanToStart, 0, true), isPatternString);
+ makeKey("lyxslide", KeyInfo(KeyInfo::isSectioning, 1, true), isPatternString);
+ makeKey("endarguments", KeyInfo(KeyInfo::endArguments, 0, true), isPatternString);
+ makeKey("twocolumn", KeyInfo(KeyInfo::removeWithArg, 2, true), isPatternString);
+ makeKey("tnotetext|ead|fntext|cortext|address", KeyInfo(KeyInfo::removeWithArg, 0, true), isPatternString);
+ makeKey("lyxend", KeyInfo(KeyInfo::isStandard, 0, true), isPatternString);
+ if (isPatternString) {
+ // Allow the first searched string to rebuild the keys too
+ keysBuilt = false;
+ }
+ else {
+ // no need to rebuild again
+ keysBuilt = true;
+ }
}
/*
@@ -2779,555 +2779,555 @@ void LatexInfo::buildKeys(bool isPatternString)
*/
void Intervall::handleParentheses(int lastpos, bool closingAllowed)
{
- int skip = 0;
- for (int i = depts[actualdeptindex]; i < lastpos; i+= 1 + skip) {
- char c;
- c = par[i];
- skip = 0;
- if (c == '\\') skip = 1;
- else if (c == '{') {
- handleOpenP(i);
- }
- else if (c == '}') {
- handleCloseP(i, closingAllowed);
- }
- }
+ int skip = 0;
+ for (int i = depts[actualdeptindex]; i < lastpos; i+= 1 + skip) {
+ char c;
+ c = par[i];
+ skip = 0;
+ if (c == '\\') skip = 1;
+ else if (c == '{') {
+ handleOpenP(i);
+ }
+ else if (c == '}') {
+ handleCloseP(i, closingAllowed);
+ }
+ }
}
#if (0)
string Intervall::show(int lastpos)
{
- int idx = 0; /* int intervalls */
- string s;
- int i = 0;
- for (idx = 0; idx <= ignoreidx; idx++) {
- while (i < lastpos) {
- int printsize;
- if (i <= borders[idx].low) {
- if (borders[idx].low > lastpos)
- printsize = lastpos - i;
- else
- printsize = borders[idx].low - i;
- s += par.substr(i, printsize);
- i += printsize;
- if (i >= borders[idx].low)
- i = borders[idx].upper;
- }
- else {
- i = borders[idx].upper;
- break;
- }
- }
- }
- if (lastpos > i) {
- s += par.substr(i, lastpos-i);
- }
- return s;
+ int idx = 0; /* int intervalls */
+ string s;
+ int i = 0;
+ for (idx = 0; idx <= ignoreidx; idx++) {
+ while (i < lastpos) {
+ int printsize;
+ if (i <= borders[idx].low) {
+ if (borders[idx].low > lastpos)
+ printsize = lastpos - i;
+ else
+ printsize = borders[idx].low - i;
+ s += par.substr(i, printsize);
+ i += printsize;
+ if (i >= borders[idx].low)
+ i = borders[idx].upper;
+ }
+ else {
+ i = borders[idx].upper;
+ break;
+ }
+ }
+ }
+ if (lastpos > i) {
+ s += par.substr(i, lastpos-i);
+ }
+ return s;
}
#endif
void Intervall::output(ostringstream &os, int lastpos)
{
- // get number of chars to output
- int idx = 0; /* int intervalls */
- int i = 0;
- int printed = 0;
- string startTitle = titleValue;
- for (idx = 0; idx <= ignoreidx; idx++) {
- if (i < lastpos) {
- if (i <= borders[idx].low) {
- int printsize;
- if (borders[idx].low > lastpos)
- printsize = lastpos - i;
- else
- printsize = borders[idx].low - i;
- if (printsize > 0) {
- os << startTitle << par.substr(i, printsize);
- i += printsize;
- printed += printsize;
- startTitle = "";
- }
- handleParentheses(i, false);
- if (i >= borders[idx].low)
- i = borders[idx].upper;
- }
- else {
- i = borders[idx].upper;
- }
- }
- else
- break;
- }
- if (lastpos > i) {
- os << startTitle << par.substr(i, lastpos-i);
- printed += lastpos-i;
- }
- handleParentheses(lastpos, false);
- int startindex;
- if (keys["foreignlanguage"].disabled)
- startindex = actualdeptindex-langcount;
- else
- startindex = actualdeptindex;
- for (int i = startindex; i > 0; --i) {
- os << "}";
- }
- if (hasTitle && (printed > 0))
- os << "}";
- if (! isPatternString_)
- os << "\n";
- handleParentheses(lastpos, true); /* extra closings '}' allowed here */
+ // get number of chars to output
+ int idx = 0; /* int intervalls */
+ int i = 0;
+ int printed = 0;
+ string startTitle = titleValue;
+ for (idx = 0; idx <= ignoreidx; idx++) {
+ if (i < lastpos) {
+ if (i <= borders[idx].low) {
+ int printsize;
+ if (borders[idx].low > lastpos)
+ printsize = lastpos - i;
+ else
+ printsize = borders[idx].low - i;
+ if (printsize > 0) {
+ os << startTitle << par.substr(i, printsize);
+ i += printsize;
+ printed += printsize;
+ startTitle = "";
+ }
+ handleParentheses(i, false);
+ if (i >= borders[idx].low)
+ i = borders[idx].upper;
+ }
+ else {
+ i = borders[idx].upper;
+ }
+ }
+ else
+ break;
+ }
+ if (lastpos > i) {
+ os << startTitle << par.substr(i, lastpos-i);
+ printed += lastpos-i;
+ }
+ handleParentheses(lastpos, false);
+ int startindex;
+ if (keys["foreignlanguage"].disabled)
+ startindex = actualdeptindex-langcount;
+ else
+ startindex = actualdeptindex;
+ for (int i = startindex; i > 0; --i) {
+ os << "}";
+ }
+ if (hasTitle && (printed > 0))
+ os << "}";
+ if (! isPatternString_)
+ os << "\n";
+ handleParentheses(lastpos, true); /* extra closings '}' allowed here */
}
void LatexInfo::processRegion(int start, int region_end)
{
- while (start < region_end) { /* Let {[} and {]} survive */
- int cnt = interval_.isOpeningPar(start);
- if (cnt == 1) {
- // Closing is allowed past the region
- int closing = interval_.findclosing(start+1, interval_.par.length());
- interval_.addIntervall(start, start+1);
- interval_.addIntervall(closing, closing+1);
- }
- else if (cnt == 3)
- start += 2;
- start = interval_.nextNotIgnored(start+1);
- }
+ while (start < region_end) { /* Let {[} and {]} survive */
+ int cnt = interval_.isOpeningPar(start);
+ if (cnt == 1) {
+ // Closing is allowed past the region
+ int closing = interval_.findclosing(start+1, interval_.par.length());
+ interval_.addIntervall(start, start+1);
+ interval_.addIntervall(closing, closing+1);
+ }
+ else if (cnt == 3)
+ start += 2;
+ start = interval_.nextNotIgnored(start+1);
+ }
}
void LatexInfo::removeHead(KeyInfo const & actual, int count)
{
- if (actual.parenthesiscount == 0) {
- // "{\tiny{} ...}" ==> "{{} ...}"
- interval_.addIntervall(actual._tokenstart-count, actual._tokenstart + actual._tokensize);
- }
- else {
- // Remove header hull, that is "\url{abcd}" ==> "abcd"
- interval_.addIntervall(actual._tokenstart - count, actual._dataStart);
- interval_.addIntervall(actual._dataEnd, actual._dataEnd+1);
- }
+ if (actual.parenthesiscount == 0) {
+ // "{\tiny{} ...}" ==> "{{} ...}"
+ interval_.addIntervall(actual._tokenstart-count, actual._tokenstart + actual._tokensize);
+ }
+ else {
+ // Remove header hull, that is "\url{abcd}" ==> "abcd"
+ interval_.addIntervall(actual._tokenstart - count, actual._dataStart);
+ interval_.addIntervall(actual._dataEnd, actual._dataEnd+1);
+ }
}
int LatexInfo::dispatch(ostringstream &os, int previousStart, KeyInfo &actual)
{
- int nextKeyIdx = 0;
- switch (actual.keytype)
- {
- case KeyInfo::isTitle: {
- removeHead(actual);
- nextKeyIdx = getNextKey();
- break;
- }
- case KeyInfo::cleanToStart: {
- actual._dataEnd = actual._dataStart;
- nextKeyIdx = getNextKey();
- // Search for end of arguments
- int tmpIdx = find(nextKeyIdx, KeyInfo::endArguments);
- if (tmpIdx > 0) {
- for (int i = nextKeyIdx; i <= tmpIdx; i++) {
- entries_[i].disabled = true;
- }
- actual._dataEnd = entries_[tmpIdx]._dataEnd;
- }
- while (interval_.par[actual._dataEnd] == ' ')
- actual._dataEnd++;
- interval_.addIntervall(0, actual._dataEnd+1);
- interval_.actualdeptindex = 0;
- interval_.depts[0] = actual._dataEnd+1;
- interval_.closes[0] = -1;
- break;
- }
- case KeyInfo::isText:
- interval_.par[actual._tokenstart] = '#';
- //interval_.addIntervall(actual._tokenstart, actual._tokenstart+1);
- nextKeyIdx = getNextKey();
- break;
- case KeyInfo::noContent: { /* char like "\hspace{2cm}" */
- if (actual.disabled)
- interval_.addIntervall(actual._tokenstart, actual._dataEnd);
- else
- interval_.addIntervall(actual._dataStart, actual._dataEnd);
- }
- // fall through
- case KeyInfo::isChar: {
- nextKeyIdx = getNextKey();
- break;
- }
- case KeyInfo::isSize: {
- if (actual.disabled || (interval_.par[actual._dataStart] != '{') || (interval_.par[actual._dataStart-1] == ' ')) {
- if (actual.parenthesiscount == 0)
- interval_.addIntervall(actual._tokenstart, actual._dataEnd);
- else {
- interval_.addIntervall(actual._tokenstart, actual._dataEnd+1);
- }
- nextKeyIdx = getNextKey();
- } else {
- // Here _dataStart points to '{', so correct it
- actual._dataStart += 1;
- actual._tokensize += 1;
- actual.parenthesiscount = 1;
- if (interval_.par[actual._dataStart] == '}') {
- // Determine the end if used like '{\tiny{}...}'
- actual._dataEnd = interval_.findclosing(actual._dataStart+1, interval_.par.length()) + 1;
- interval_.addIntervall(actual._dataStart, actual._dataStart+1);
- }
- else {
- // Determine the end if used like '\tiny{...}'
- actual._dataEnd = interval_.findclosing(actual._dataStart, interval_.par.length()) + 1;
- }
- // Split on this key if not at start
- int start = interval_.nextNotIgnored(previousStart);
- if (start < actual._tokenstart) {
- interval_.output(os, actual._tokenstart);
- interval_.addIntervall(start, actual._tokenstart);
- }
- // discard entry if at end of actual
- nextKeyIdx = process(os, actual);
- }
- break;
- }
- case KeyInfo::endArguments: {
- // Remove trailing '{}' too
- actual._dataStart += 1;
- actual._dataEnd += 1;
- interval_.addIntervall(actual._tokenstart, actual._dataEnd+1);
- nextKeyIdx = getNextKey();
- break;
- }
- case KeyInfo::noMain:
- // fall through
- case KeyInfo::isStandard: {
- if (actual.disabled) {
- removeHead(actual);
- processRegion(actual._dataStart, actual._dataStart+1);
- nextKeyIdx = getNextKey();
- } else {
- // Split on this key if not at datastart of calling entry
- int start = interval_.nextNotIgnored(previousStart);
- if (start < actual._tokenstart) {
- interval_.output(os, actual._tokenstart);
- interval_.addIntervall(start, actual._tokenstart);
- }
- // discard entry if at end of actual
- nextKeyIdx = process(os, actual);
- }
- break;
- }
- case KeyInfo::removeWithArg: {
- nextKeyIdx = getNextKey();
- // Search for end of arguments
- int tmpIdx = find(nextKeyIdx, KeyInfo::endArguments);
- if (tmpIdx > 0) {
- for (int i = nextKeyIdx; i <= tmpIdx; i++) {
- entries_[i].disabled = true;
- }
- actual._dataEnd = entries_[tmpIdx]._dataEnd;
- }
- interval_.addIntervall(actual._tokenstart, actual._dataEnd+1);
- break;
- }
- case KeyInfo::doRemove: {
- // Remove the key with all parameters and following spaces
- size_t pos;
- size_t start;
- if (interval_.par[actual._dataEnd-1] == ' ' || interval_.par[actual._dataEnd-1] == '}')
- start = actual._dataEnd;
- else
- start = actual._dataEnd+1;
- for (pos = start; pos < interval_.par.length(); pos++) {
- if ((interval_.par[pos] != ' ') && (interval_.par[pos] != '%'))
- break;
- }
- // Remove also enclosing parentheses [] and {}
- int numpars = 0;
- int spaces = 0;
- while (actual._tokenstart > numpars) {
- if (pos+numpars >= interval_.par.size())
- break;
- else if (interval_.par[pos+numpars] == ']' && interval_.par[actual._tokenstart-numpars-1] == '[')
- numpars++;
- else if (interval_.par[pos+numpars] == '}' && interval_.par[actual._tokenstart-numpars-1] == '{')
- numpars++;
- else
- break;
- }
- if (numpars > 0) {
- if (interval_.par[pos+numpars] == ' ')
- spaces++;
- }
-
- interval_.addIntervall(actual._tokenstart-numpars, pos+numpars+spaces);
- nextKeyIdx = getNextKey();
- break;
- }
- case KeyInfo::isList: {
- // Discard space before _tokenstart
- int count;
- for (count = 0; count < actual._tokenstart; count++) {
- if (interval_.par[actual._tokenstart-count-1] != ' ')
- break;
- }
- nextKeyIdx = getNextKey();
- int tmpIdx = find(nextKeyIdx, KeyInfo::endArguments);
- if (tmpIdx > 0) {
- // Special case: \item is not a list, but a command (like in Style Author_Biography in maa-monthly.layout)
- // with arguments
- // How else can we catch this one?
- for (int i = nextKeyIdx; i <= tmpIdx; i++) {
- entries_[i].disabled = true;
- }
- actual._dataEnd = entries_[tmpIdx]._dataEnd;
- }
- else if (nextKeyIdx > 0) {
- // Ignore any lang entries inside data region
- for (int i = nextKeyIdx; i < int(entries_.size()) && entries_[i]._tokenstart < actual._dataEnd; i++) {
- if (entries_[i].keytype == KeyInfo::isMain)
- entries_[i].disabled = true;
- }
- }
- if (actual.disabled) {
- interval_.addIntervall(actual._tokenstart-count, actual._dataEnd+1);
- }
- else {
- interval_.addIntervall(actual._tokenstart-count, actual._tokenstart);
- }
- if (interval_.par[actual._dataEnd+1] == '[') {
- int posdown = interval_.findclosing(actual._dataEnd+2, interval_.par.length(), '[', ']');
- if ((interval_.par[actual._dataEnd+2] == '{') &&
- (interval_.par[posdown-1] == '}')) {
- interval_.addIntervall(actual._dataEnd+1,actual._dataEnd+3);
- interval_.addIntervall(posdown-1, posdown+1);
- }
- else {
- interval_.addIntervall(actual._dataEnd+1, actual._dataEnd+2);
- interval_.addIntervall(posdown, posdown+1);
- }
- int blk = interval_.nextNotIgnored(actual._dataEnd+1);
- if (blk > posdown) {
- // Discard at most 1 space after empty item
- int count;
- for (count = 0; count < 1; count++) {
- if (interval_.par[blk+count] != ' ')
- break;
- }
- if (count > 0)
- interval_.addIntervall(blk, blk+count);
- }
- }
- break;
- }
- case KeyInfo::isSectioning: {
- // Discard spaces before _tokenstart
- int count;
- int val = actual._tokenstart;
- for (count = 0; count < actual._tokenstart;) {
- val = interval_.previousNotIgnored(val-1);
- if (val < 0 || interval_.par[val] != ' ')
- break;
- else {
- count = actual._tokenstart - val;
- }
- }
- if (actual.disabled) {
- removeHead(actual, count);
- nextKeyIdx = getNextKey();
- } else {
- interval_.addIntervall(actual._tokenstart-count, actual._tokenstart);
- nextKeyIdx = process(os, actual);
- }
- break;
- }
- case KeyInfo::isMath: {
- // Same as regex, use the content unchanged
- nextKeyIdx = getNextKey();
- break;
- }
- case KeyInfo::isRegex: {
- // DO NOT SPLIT ON REGEX
- // Do not disable
- nextKeyIdx = getNextKey();
- break;
- }
- case KeyInfo::isIgnored: {
- // Treat like a character for now
- nextKeyIdx = getNextKey();
- break;
- }
- case KeyInfo::isMain: {
- if (interval_.par.substr(actual._dataStart, 2) == "% ")
- interval_.addIntervall(actual._dataStart, actual._dataStart+2);
- if (actual._tokenstart > 0) {
- int prev = interval_.previousNotIgnored(actual._tokenstart - 1);
- if ((prev >= 0) && interval_.par[prev] == '%')
- interval_.addIntervall(prev, prev+1);
- }
- if (actual.disabled) {
- removeHead(actual);
- interval_.langcount++;
- if ((interval_.par.substr(actual._dataStart, 3) == " \\[") ||
- (interval_.par.substr(actual._dataStart, 8) == " \\begin{")) {
- // Discard also the space before math-equation
- interval_.addIntervall(actual._dataStart, actual._dataStart+1);
- }
- nextKeyIdx = getNextKey();
- // interval.resetOpenedP(actual._dataStart-1);
- }
- else {
- if (actual._tokenstart < 26) {
- // for the first (and maybe dummy) language
- interval_.setForDefaultLang(actual);
- }
- interval_.resetOpenedP(actual._dataStart-1);
- }
- break;
- }
- case KeyInfo::invalid:
- case KeyInfo::headRemove:
- // These two cases cannot happen, already handled
- // fall through
- default: {
- // LYXERR(Debug::INFO, "Unhandled keytype");
- nextKeyIdx = getNextKey();
- break;
- }
- }
- return nextKeyIdx;
+ int nextKeyIdx = 0;
+ switch (actual.keytype)
+ {
+ case KeyInfo::isTitle: {
+ removeHead(actual);
+ nextKeyIdx = getNextKey();
+ break;
+ }
+ case KeyInfo::cleanToStart: {
+ actual._dataEnd = actual._dataStart;
+ nextKeyIdx = getNextKey();
+ // Search for end of arguments
+ int tmpIdx = find(nextKeyIdx, KeyInfo::endArguments);
+ if (tmpIdx > 0) {
+ for (int i = nextKeyIdx; i <= tmpIdx; i++) {
+ entries_[i].disabled = true;
+ }
+ actual._dataEnd = entries_[tmpIdx]._dataEnd;
+ }
+ while (interval_.par[actual._dataEnd] == ' ')
+ actual._dataEnd++;
+ interval_.addIntervall(0, actual._dataEnd+1);
+ interval_.actualdeptindex = 0;
+ interval_.depts[0] = actual._dataEnd+1;
+ interval_.closes[0] = -1;
+ break;
+ }
+ case KeyInfo::isText:
+ interval_.par[actual._tokenstart] = '#';
+ //interval_.addIntervall(actual._tokenstart, actual._tokenstart+1);
+ nextKeyIdx = getNextKey();
+ break;
+ case KeyInfo::noContent: { /* char like "\hspace{2cm}" */
+ if (actual.disabled)
+ interval_.addIntervall(actual._tokenstart, actual._dataEnd);
+ else
+ interval_.addIntervall(actual._dataStart, actual._dataEnd);
+ }
+ // fall through
+ case KeyInfo::isChar: {
+ nextKeyIdx = getNextKey();
+ break;
+ }
+ case KeyInfo::isSize: {
+ if (actual.disabled || (interval_.par[actual._dataStart] != '{') || (interval_.par[actual._dataStart-1] == ' ')) {
+ if (actual.parenthesiscount == 0)
+ interval_.addIntervall(actual._tokenstart, actual._dataEnd);
+ else {
+ interval_.addIntervall(actual._tokenstart, actual._dataEnd+1);
+ }
+ nextKeyIdx = getNextKey();
+ } else {
+ // Here _dataStart points to '{', so correct it
+ actual._dataStart += 1;
+ actual._tokensize += 1;
+ actual.parenthesiscount = 1;
+ if (interval_.par[actual._dataStart] == '}') {
+ // Determine the end if used like '{\tiny{}...}'
+ actual._dataEnd = interval_.findclosing(actual._dataStart+1, interval_.par.length()) + 1;
+ interval_.addIntervall(actual._dataStart, actual._dataStart+1);
+ }
+ else {
+ // Determine the end if used like '\tiny{...}'
+ actual._dataEnd = interval_.findclosing(actual._dataStart, interval_.par.length()) + 1;
+ }
+ // Split on this key if not at start
+ int start = interval_.nextNotIgnored(previousStart);
+ if (start < actual._tokenstart) {
+ interval_.output(os, actual._tokenstart);
+ interval_.addIntervall(start, actual._tokenstart);
+ }
+ // discard entry if at end of actual
+ nextKeyIdx = process(os, actual);
+ }
+ break;
+ }
+ case KeyInfo::endArguments: {
+ // Remove trailing '{}' too
+ actual._dataStart += 1;
+ actual._dataEnd += 1;
+ interval_.addIntervall(actual._tokenstart, actual._dataEnd+1);
+ nextKeyIdx = getNextKey();
+ break;
+ }
+ case KeyInfo::noMain:
+ // fall through
+ case KeyInfo::isStandard: {
+ if (actual.disabled) {
+ removeHead(actual);
+ processRegion(actual._dataStart, actual._dataStart+1);
+ nextKeyIdx = getNextKey();
+ } else {
+ // Split on this key if not at datastart of calling entry
+ int start = interval_.nextNotIgnored(previousStart);
+ if (start < actual._tokenstart) {
+ interval_.output(os, actual._tokenstart);
+ interval_.addIntervall(start, actual._tokenstart);
+ }
+ // discard entry if at end of actual
+ nextKeyIdx = process(os, actual);
+ }
+ break;
+ }
+ case KeyInfo::removeWithArg: {
+ nextKeyIdx = getNextKey();
+ // Search for end of arguments
+ int tmpIdx = find(nextKeyIdx, KeyInfo::endArguments);
+ if (tmpIdx > 0) {
+ for (int i = nextKeyIdx; i <= tmpIdx; i++) {
+ entries_[i].disabled = true;
+ }
+ actual._dataEnd = entries_[tmpIdx]._dataEnd;
+ }
+ interval_.addIntervall(actual._tokenstart, actual._dataEnd+1);
+ break;
+ }
+ case KeyInfo::doRemove: {
+ // Remove the key with all parameters and following spaces
+ size_t pos;
+ size_t start;
+ if (interval_.par[actual._dataEnd-1] == ' ' || interval_.par[actual._dataEnd-1] == '}')
+ start = actual._dataEnd;
+ else
+ start = actual._dataEnd+1;
+ for (pos = start; pos < interval_.par.length(); pos++) {
+ if ((interval_.par[pos] != ' ') && (interval_.par[pos] != '%'))
+ break;
+ }
+ // Remove also enclosing parentheses [] and {}
+ int numpars = 0;
+ int spaces = 0;
+ while (actual._tokenstart > numpars) {
+ if (pos+numpars >= interval_.par.size())
+ break;
+ else if (interval_.par[pos+numpars] == ']' && interval_.par[actual._tokenstart-numpars-1] == '[')
+ numpars++;
+ else if (interval_.par[pos+numpars] == '}' && interval_.par[actual._tokenstart-numpars-1] == '{')
+ numpars++;
+ else
+ break;
+ }
+ if (numpars > 0) {
+ if (interval_.par[pos+numpars] == ' ')
+ spaces++;
+ }
+
+ interval_.addIntervall(actual._tokenstart-numpars, pos+numpars+spaces);
+ nextKeyIdx = getNextKey();
+ break;
+ }
+ case KeyInfo::isList: {
+ // Discard space before _tokenstart
+ int count;
+ for (count = 0; count < actual._tokenstart; count++) {
+ if (interval_.par[actual._tokenstart-count-1] != ' ')
+ break;
+ }
+ nextKeyIdx = getNextKey();
+ int tmpIdx = find(nextKeyIdx, KeyInfo::endArguments);
+ if (tmpIdx > 0) {
+ // Special case: \item is not a list, but a command (like in Style Author_Biography in maa-monthly.layout)
+ // with arguments
+ // How else can we catch this one?
+ for (int i = nextKeyIdx; i <= tmpIdx; i++) {
+ entries_[i].disabled = true;
+ }
+ actual._dataEnd = entries_[tmpIdx]._dataEnd;
+ }
+ else if (nextKeyIdx > 0) {
+ // Ignore any lang entries inside data region
+ for (int i = nextKeyIdx; i < int(entries_.size()) && entries_[i]._tokenstart < actual._dataEnd; i++) {
+ if (entries_[i].keytype == KeyInfo::isMain)
+ entries_[i].disabled = true;
+ }
+ }
+ if (actual.disabled) {
+ interval_.addIntervall(actual._tokenstart-count, actual._dataEnd+1);
+ }
+ else {
+ interval_.addIntervall(actual._tokenstart-count, actual._tokenstart);
+ }
+ if (interval_.par[actual._dataEnd+1] == '[') {
+ int posdown = interval_.findclosing(actual._dataEnd+2, interval_.par.length(), '[', ']');
+ if ((interval_.par[actual._dataEnd+2] == '{') &&
+ (interval_.par[posdown-1] == '}')) {
+ interval_.addIntervall(actual._dataEnd+1,actual._dataEnd+3);
+ interval_.addIntervall(posdown-1, posdown+1);
+ }
+ else {
+ interval_.addIntervall(actual._dataEnd+1, actual._dataEnd+2);
+ interval_.addIntervall(posdown, posdown+1);
+ }
+ int blk = interval_.nextNotIgnored(actual._dataEnd+1);
+ if (blk > posdown) {
+ // Discard at most 1 space after empty item
+ int count;
+ for (count = 0; count < 1; count++) {
+ if (interval_.par[blk+count] != ' ')
+ break;
+ }
+ if (count > 0)
+ interval_.addIntervall(blk, blk+count);
+ }
+ }
+ break;
+ }
+ case KeyInfo::isSectioning: {
+ // Discard spaces before _tokenstart
+ int count;
+ int val = actual._tokenstart;
+ for (count = 0; count < actual._tokenstart;) {
+ val = interval_.previousNotIgnored(val-1);
+ if (val < 0 || interval_.par[val] != ' ')
+ break;
+ else {
+ count = actual._tokenstart - val;
+ }
+ }
+ if (actual.disabled) {
+ removeHead(actual, count);
+ nextKeyIdx = getNextKey();
+ } else {
+ interval_.addIntervall(actual._tokenstart-count, actual._tokenstart);
+ nextKeyIdx = process(os, actual);
+ }
+ break;
+ }
+ case KeyInfo::isMath: {
+ // Same as regex, use the content unchanged
+ nextKeyIdx = getNextKey();
+ break;
+ }
+ case KeyInfo::isRegex: {
+ // DO NOT SPLIT ON REGEX
+ // Do not disable
+ nextKeyIdx = getNextKey();
+ break;
+ }
+ case KeyInfo::isIgnored: {
+ // Treat like a character for now
+ nextKeyIdx = getNextKey();
+ break;
+ }
+ case KeyInfo::isMain: {
+ if (interval_.par.substr(actual._dataStart, 2) == "% ")
+ interval_.addIntervall(actual._dataStart, actual._dataStart+2);
+ if (actual._tokenstart > 0) {
+ int prev = interval_.previousNotIgnored(actual._tokenstart - 1);
+ if ((prev >= 0) && interval_.par[prev] == '%')
+ interval_.addIntervall(prev, prev+1);
+ }
+ if (actual.disabled) {
+ removeHead(actual);
+ interval_.langcount++;
+ if ((interval_.par.substr(actual._dataStart, 3) == " \\[") ||
+ (interval_.par.substr(actual._dataStart, 8) == " \\begin{")) {
+ // Discard also the space before math-equation
+ interval_.addIntervall(actual._dataStart, actual._dataStart+1);
+ }
+ nextKeyIdx = getNextKey();
+ // interval.resetOpenedP(actual._dataStart-1);
+ }
+ else {
+ if (actual._tokenstart < 26) {
+ // for the first (and maybe dummy) language
+ interval_.setForDefaultLang(actual);
+ }
+ interval_.resetOpenedP(actual._dataStart-1);
+ }
+ break;
+ }
+ case KeyInfo::invalid:
+ case KeyInfo::headRemove:
+ // These two cases cannot happen, already handled
+ // fall through
+ default: {
+ // LYXERR(Debug::INFO, "Unhandled keytype");
+ nextKeyIdx = getNextKey();
+ break;
+ }
+ }
+ return nextKeyIdx;
}
int LatexInfo::process(ostringstream & os, KeyInfo const & actual )
{
- int end = interval_.nextNotIgnored(actual._dataEnd);
- int oldStart = actual._dataStart;
- int nextKeyIdx = getNextKey();
- while (true) {
- if ((nextKeyIdx < 0) ||
- (entries_[nextKeyIdx]._tokenstart >= actual._dataEnd) ||
- (entries_[nextKeyIdx].keytype == KeyInfo::invalid)) {
- if (oldStart <= end) {
- processRegion(oldStart, end);
- oldStart = end+1;
- }
- break;
- }
- KeyInfo &nextKey = getKeyInfo(nextKeyIdx);
-
- if ((nextKey.keytype == KeyInfo::isMain) && !nextKey.disabled) {
- (void) dispatch(os, actual._dataStart, nextKey);
- end = nextKey._tokenstart;
- break;
- }
- processRegion(oldStart, nextKey._tokenstart);
- nextKeyIdx = dispatch(os, actual._dataStart, nextKey);
-
- oldStart = nextKey._dataEnd+1;
- }
- // now nextKey is either invalid or is outside of actual._dataEnd
- // output the remaining and discard myself
- if (oldStart <= end) {
- processRegion(oldStart, end);
- }
- if (interval_.par.size() > (size_t) end && interval_.par[end] == '}') {
- end += 1;
- // This is the normal case.
- // But if using the firstlanguage, the closing may be missing
- }
- // get minimum of 'end' and 'actual._dataEnd' in case that the nextKey.keytype was 'KeyInfo::isMain'
- int output_end;
- if (actual._dataEnd < end)
- output_end = interval_.nextNotIgnored(actual._dataEnd);
- else if (interval_.par.size() > (size_t) end)
- output_end = interval_.nextNotIgnored(end);
- else
- output_end = interval_.par.size();
- if ((actual.keytype == KeyInfo::isMain) && actual.disabled) {
- interval_.addIntervall(actual._tokenstart, actual._tokenstart+actual._tokensize);
- }
- // Remove possible empty data
- int dstart = interval_.nextNotIgnored(actual._dataStart);
- while (interval_.isOpeningPar(dstart) == 1) {
- interval_.addIntervall(dstart, dstart+1);
- int dend = interval_.findclosing(dstart+1, output_end);
- interval_.addIntervall(dend, dend+1);
- dstart = interval_.nextNotIgnored(dstart+1);
- }
- if (dstart < output_end)
- interval_.output(os, output_end);
- if (nextKeyIdx < 0)
- interval_.addIntervall(0, end);
- else
- interval_.addIntervall(actual._tokenstart, end);
- return nextKeyIdx;
+ int end = interval_.nextNotIgnored(actual._dataEnd);
+ int oldStart = actual._dataStart;
+ int nextKeyIdx = getNextKey();
+ while (true) {
+ if ((nextKeyIdx < 0) ||
+ (entries_[nextKeyIdx]._tokenstart >= actual._dataEnd) ||
+ (entries_[nextKeyIdx].keytype == KeyInfo::invalid)) {
+ if (oldStart <= end) {
+ processRegion(oldStart, end);
+ oldStart = end+1;
+ }
+ break;
+ }
+ KeyInfo &nextKey = getKeyInfo(nextKeyIdx);
+
+ if ((nextKey.keytype == KeyInfo::isMain) && !nextKey.disabled) {
+ (void) dispatch(os, actual._dataStart, nextKey);
+ end = nextKey._tokenstart;
+ break;
+ }
+ processRegion(oldStart, nextKey._tokenstart);
+ nextKeyIdx = dispatch(os, actual._dataStart, nextKey);
+
+ oldStart = nextKey._dataEnd+1;
+ }
+ // now nextKey is either invalid or is outside of actual._dataEnd
+ // output the remaining and discard myself
+ if (oldStart <= end) {
+ processRegion(oldStart, end);
+ }
+ if (interval_.par.size() > (size_t) end && interval_.par[end] == '}') {
+ end += 1;
+ // This is the normal case.
+ // But if using the firstlanguage, the closing may be missing
+ }
+ // get minimum of 'end' and 'actual._dataEnd' in case that the nextKey.keytype was 'KeyInfo::isMain'
+ int output_end;
+ if (actual._dataEnd < end)
+ output_end = interval_.nextNotIgnored(actual._dataEnd);
+ else if (interval_.par.size() > (size_t) end)
+ output_end = interval_.nextNotIgnored(end);
+ else
+ output_end = interval_.par.size();
+ if ((actual.keytype == KeyInfo::isMain) && actual.disabled) {
+ interval_.addIntervall(actual._tokenstart, actual._tokenstart+actual._tokensize);
+ }
+ // Remove possible empty data
+ int dstart = interval_.nextNotIgnored(actual._dataStart);
+ while (interval_.isOpeningPar(dstart) == 1) {
+ interval_.addIntervall(dstart, dstart+1);
+ int dend = interval_.findclosing(dstart+1, output_end);
+ interval_.addIntervall(dend, dend+1);
+ dstart = interval_.nextNotIgnored(dstart+1);
+ }
+ if (dstart < output_end)
+ interval_.output(os, output_end);
+ if (nextKeyIdx < 0)
+ interval_.addIntervall(0, end);
+ else
+ interval_.addIntervall(actual._tokenstart, end);
+ return nextKeyIdx;
}
string splitOnKnownMacros(string par, bool isPatternString)
{
- ostringstream os;
- LatexInfo li(par, isPatternString);
- // LYXERR(Debug::INFO, "Berfore split: " << par);
- KeyInfo DummyKey = KeyInfo(KeyInfo::KeyType::isMain, 2, true);
- DummyKey.head = "";
- DummyKey._tokensize = 0;
- DummyKey._dataStart = 0;
- DummyKey._dataEnd = par.length();
- DummyKey.disabled = true;
- int firstkeyIdx = li.getFirstKey();
- string s;
- if (firstkeyIdx >= 0) {
- KeyInfo firstKey = li.getKeyInfo(firstkeyIdx);
- DummyKey._tokenstart = firstKey._tokenstart;
- int nextkeyIdx;
- if ((firstKey.keytype != KeyInfo::isMain) || firstKey.disabled) {
- // Use dummy firstKey
- firstKey = DummyKey;
- (void) li.setNextKey(firstkeyIdx);
- }
- else {
- if (par.substr(firstKey._dataStart, 2) == "% ")
- li.addIntervall(firstKey._dataStart, firstKey._dataStart+2);
- }
- nextkeyIdx = li.process(os, firstKey);
- while (nextkeyIdx >= 0) {
- // Check for a possible gap between the last
- // entry and this one
- int datastart = li.nextNotIgnored(firstKey._dataStart);
- KeyInfo &nextKey = li.getKeyInfo(nextkeyIdx);
- if ((nextKey._tokenstart > datastart)) {
- // Handle the gap
- firstKey._dataStart = datastart;
- firstKey._dataEnd = par.length();
- (void) li.setNextKey(nextkeyIdx);
- // Fake the last opened parenthesis
- li.setForDefaultLang(firstKey);
- nextkeyIdx = li.process(os, firstKey);
- }
- else {
- if (nextKey.keytype != KeyInfo::isMain) {
- firstKey._dataStart = datastart;
- firstKey._dataEnd = nextKey._dataEnd+1;
- (void) li.setNextKey(nextkeyIdx);
- li.setForDefaultLang(firstKey);
- nextkeyIdx = li.process(os, firstKey);
- }
- else {
- nextkeyIdx = li.process(os, nextKey);
- }
- }
- }
- // Handle the remaining
- firstKey._dataStart = li.nextNotIgnored(firstKey._dataStart);
- firstKey._dataEnd = par.length();
- // Check if ! empty
- if ((firstKey._dataStart < firstKey._dataEnd) &&
- (par[firstKey._dataStart] != '}')) {
- li.setForDefaultLang(firstKey);
- (void) li.process(os, firstKey);
- }
- s = os.str();
- // return string definitelly impossible to match, but should be known
- }
- else
- s = par; /* no known macros found */
- // LYXERR(Debug::INFO, "After split: " << s);
- return s;
+ ostringstream os;
+ LatexInfo li(par, isPatternString);
+ // LYXERR(Debug::INFO, "Berfore split: " << par);
+ KeyInfo DummyKey = KeyInfo(KeyInfo::KeyType::isMain, 2, true);
+ DummyKey.head = "";
+ DummyKey._tokensize = 0;
+ DummyKey._dataStart = 0;
+ DummyKey._dataEnd = par.length();
+ DummyKey.disabled = true;
+ int firstkeyIdx = li.getFirstKey();
+ string s;
+ if (firstkeyIdx >= 0) {
+ KeyInfo firstKey = li.getKeyInfo(firstkeyIdx);
+ DummyKey._tokenstart = firstKey._tokenstart;
+ int nextkeyIdx;
+ if ((firstKey.keytype != KeyInfo::isMain) || firstKey.disabled) {
+ // Use dummy firstKey
+ firstKey = DummyKey;
+ (void) li.setNextKey(firstkeyIdx);
+ }
+ else {
+ if (par.substr(firstKey._dataStart, 2) == "% ")
+ li.addIntervall(firstKey._dataStart, firstKey._dataStart+2);
+ }
+ nextkeyIdx = li.process(os, firstKey);
+ while (nextkeyIdx >= 0) {
+ // Check for a possible gap between the last
+ // entry and this one
+ int datastart = li.nextNotIgnored(firstKey._dataStart);
+ KeyInfo &nextKey = li.getKeyInfo(nextkeyIdx);
+ if ((nextKey._tokenstart > datastart)) {
+ // Handle the gap
+ firstKey._dataStart = datastart;
+ firstKey._dataEnd = par.length();
+ (void) li.setNextKey(nextkeyIdx);
+ // Fake the last opened parenthesis
+ li.setForDefaultLang(firstKey);
+ nextkeyIdx = li.process(os, firstKey);
+ }
+ else {
+ if (nextKey.keytype != KeyInfo::isMain) {
+ firstKey._dataStart = datastart;
+ firstKey._dataEnd = nextKey._dataEnd+1;
+ (void) li.setNextKey(nextkeyIdx);
+ li.setForDefaultLang(firstKey);
+ nextkeyIdx = li.process(os, firstKey);
+ }
+ else {
+ nextkeyIdx = li.process(os, nextKey);
+ }
+ }
+ }
+ // Handle the remaining
+ firstKey._dataStart = li.nextNotIgnored(firstKey._dataStart);
+ firstKey._dataEnd = par.length();
+ // Check if ! empty
+ if ((firstKey._dataStart < firstKey._dataEnd) &&
+ (par[firstKey._dataStart] != '}')) {
+ li.setForDefaultLang(firstKey);
+ (void) li.process(os, firstKey);
+ }
+ s = os.str();
+ // return string definitelly impossible to match, but should be known
+ }
+ else
+ s = par; /* no known macros found */
+ // LYXERR(Debug::INFO, "After split: " << s);
+ return s;
}
/*
@@ -3520,7 +3520,7 @@ static void modifyRegexForMatchWord(string &t)
}
else if (lastpos < t.length())
s += t.substr(lastpos, t.length() - lastpos);
- t = "\\b" + s + "\\b";
+ t = "\\b" + s + "\\b";
}
MatchStringAdv::MatchStringAdv(lyx::Buffer & buf, FindAndReplaceOptions & opt)
@@ -3665,7 +3665,7 @@ MatchResult MatchStringAdv::findAux(DocIterator const & cur, int len, bool at_be
mres.searched_size = len;
if (at_begin &&
- (opt.restr == FindAndReplaceOptions::R_ONLY_MATHS && !cur.inMathed()) )
+ (opt.restr == FindAndReplaceOptions::R_ONLY_MATHS && !cur.inMathed()) )
return mres;
docstring docstr = stringifyFromForSearch(opt, cur, len);
@@ -3796,23 +3796,23 @@ MatchResult MatchStringAdv::findAux(DocIterator const & cur, int len, bool at_be
mres.pos = m[2].first - m[0].first;;
#endif
if (mres.match2end < 0)
- mres.match_len = 0;
+ mres.match_len = 0;
mres.leadsize = leadingsize;
#if QTSEARCH
if (mres.match_len > 0) {
- string a0 = match.captured(0).mid(mres.pos + mres.match_prefix, mres.match_len).toStdString();
- mres.result.push_back(a0);
- for (int i = 3; i <= match.lastCapturedIndex(); i++) {
- mres.result.push_back(match.captured(i).toStdString());
- }
+ string a0 = match.captured(0).mid(mres.pos + mres.match_prefix, mres.match_len).toStdString();
+ mres.result.push_back(a0);
+ for (int i = 3; i <= match.lastCapturedIndex(); i++) {
+ mres.result.push_back(match.captured(i).toStdString());
+ }
}
#else
if (mres.match_len > 0) {
- string a0 = m[0].str().substr(mres.pos + mres.match_prefix, mres.match_len);
- mres.result.push_back(a0);
- for (size_t i = 3; i < m.size(); i++) {
- mres.result.push_back(m[i]);
- }
+ string a0 = m[0].str().substr(mres.pos + mres.match_prefix, mres.match_len);
+ mres.result.push_back(a0);
+ for (size_t i = 3; i < m.size(); i++) {
+ mres.result.push_back(m[i]);
+ }
}
#endif
return mres;
@@ -3842,25 +3842,25 @@ MatchResult MatchStringAdv::operator()(DocIterator const & cur, int len, bool at
#if 0
static bool simple_replace(string &t, string from, string to)
{
- regex repl("(\\\\)*(" + from + ")");
- string s("");
- size_t lastpos = 0;
- smatch sub;
- for (sregex_iterator it(t.begin(), t.end(), repl), end; it != end; ++it) {
- sub = *it;
- if ((sub.position(2) - sub.position(0)) % 2 == 1)
- continue;
- if (lastpos < (size_t) sub.position(2))
- s += t.substr(lastpos, sub.position(2) - lastpos);
- s += to;
- lastpos = sub.position(2) + sub.length(2);
- }
- if (lastpos == 0)
- return false;
- else if (lastpos < t.length())
- s += t.substr(lastpos, t.length() - lastpos);
- t = s;
- return true;
+ regex repl("(\\\\)*(" + from + ")");
+ string s("");
+ size_t lastpos = 0;
+ smatch sub;
+ for (sregex_iterator it(t.begin(), t.end(), repl), end; it != end; ++it) {
+ sub = *it;
+ if ((sub.position(2) - sub.position(0)) % 2 == 1)
+ continue;
+ if (lastpos < (size_t) sub.position(2))
+ s += t.substr(lastpos, sub.position(2) - lastpos);
+ s += to;
+ lastpos = sub.position(2) + sub.length(2);
+ }
+ if (lastpos == 0)
+ return false;
+ else if (lastpos < t.length())
+ s += t.substr(lastpos, t.length() - lastpos);
+ t = s;
+ return true;
}
#endif
@@ -3934,7 +3934,7 @@ docstring stringifyFromCursor(DocIterator const & cur, int len)
// TODO what about searching beyond/across paragraph breaks ?
// TODO Try adding a AS_STR_INSERTS as last arg
pos_type end = ( len == -1 || cur.pos() + len > int(par.size()) ) ?
- int(par.size()) : cur.pos() + len;
+ int(par.size()) : cur.pos() + len;
// OutputParams runparams(&cur.buffer()->params().encoding());
OutputParams runparams(encodings.fromLyXName("utf8"));
runparams.nice = true;
@@ -3954,17 +3954,17 @@ docstring stringifyFromCursor(DocIterator const & cur, int len)
runparams.for_searchAdv |= OutputParams::SearchNonOutput;
}
LYXERR(Debug::FIND, "Stringifying with cur: "
- << cur << ", from pos: " << cur.pos() << ", end: " << end);
+ << cur << ", from pos: " << cur.pos() << ", end: " << end);
return from_utf8(latexNamesToUtf8(par.asString(cur.pos(), end,
- option,
- &runparams)));
+ option,
+ &runparams)));
} else if (cur.inMathed()) {
CursorSlice cs = cur.top();
MathData md = cs.cell();
MathData::const_iterator it_end =
- (( len == -1 || cs.pos() + len > int(md.size()))
- ? md.end()
- : md.begin() + cs.pos() + len );
+ (( len == -1 || cs.pos() + len > int(md.size()))
+ ? md.end()
+ : md.begin() + cs.pos() + len );
MathData md2;
for (MathData::const_iterator it = md.begin() + cs.pos(); it != it_end; ++it)
md2.push_back(*it);
@@ -4032,9 +4032,9 @@ docstring latexifyFromCursor(DocIterator const & cur, int len)
CursorSlice const & cs = cur.top();
MathData md = cs.cell();
MathData::const_iterator it_end =
- ((len == -1 || cs.pos() + len > int(md.size()))
- ? md.end()
- : md.begin() + cs.pos() + len);
+ ((len == -1 || cs.pos() + len > int(md.size()))
+ ? md.end()
+ : md.begin() + cs.pos() + len);
MathData md2;
for (MathData::const_iterator it = md.begin() + cs.pos();
it != it_end; ++it)
@@ -4088,9 +4088,9 @@ static void displayMResult(MatchResult &mres, string from, DocIterator & cur)
for (size_t i = 0; i < mres.result.size(); i++)
LYXERR0( "Match " << i << " = \"" << mres.result[i] << "\"");
}
- #define displayMres(s, txt, cur) displayMResult(s, txt, cur);
+#define displayMres(s, txt, cur) displayMResult(s, txt, cur);
#else
- #define displayMres(s, txt, cur)
+#define displayMres(s, txt, cur)
#endif
/** Finalize an advanced find operation, advancing the cursor to the innermost
@@ -4159,85 +4159,85 @@ MatchResult findAdvFinalize(DocIterator & cur, MatchStringAdv const & match, Mat
// Compute the match length
int len = 1;
if (cur.pos() + len > cur.lastpos())
- return fail;
+ return fail;
LASSERT(match.use_regexp, /**/);
{
- int minl = 1;
- int maxl = cur.lastpos() - cur.pos();
- // Greedy behaviour while matching regexps
- while (maxl > minl) {
- MatchResult mres2;
- mres2 = match(cur, len, at_begin);
- displayMres(mres2, "Finalize loop", cur);
- int actual_match_len = mres2.match_len;
- if (actual_match_len >= max_match.match_len) {
- // actual_match_len > max_match _can_ happen,
- // if the search area splits
- // some following word so that the regex
- // (e.g. 'r.*r\b' matches 'r' from the middle of the
- // splitted word)
- // This means, the len value is too big
- actual_match_len = max_match.match_len;
- max_match = mres2;
- max_match.match_len = actual_match_len;
- maxl = len;
- if (maxl - minl < 4)
- len = (maxl + minl)/2;
- else
- len = minl + (maxl - minl + 3)/4;
- }
- else {
- // (actual_match_len < max_match.match_len)
- minl = len + 1;
- len = (maxl + minl)/2;
- }
- }
- len = minl;
- old_cur = cur;
- // Search for real start of matched characters
- while (len > 1) {
- MatchResult actual_match;
- do {
- cur.forwardPos();
- } while (cur.depth() > old_cur.depth()); /* Skip inner insets */
- if (cur.depth() < old_cur.depth()) {
- // Outer inset?
- LYXERR(Debug::INFO, "cur.depth() < old_cur.depth(), this should never happen");
- break;
- }
- if (cur.pos() != old_cur.pos()) {
- // OK, forwarded 1 pos in actual inset
- actual_match = match(cur, len-1, at_begin);
- if (actual_match.match_len == max_match.match_len) {
- // Ha, got it! The shorter selection has the same match length
- len--;
- old_cur = cur;
- max_match = actual_match;
- }
- else {
- // OK, the shorter selection matches less chars, revert to previous value
- cur = old_cur;
- break;
- }
- }
- else {
- LYXERR(Debug::INFO, "cur.pos() == old_cur.pos(), this should never happen");
- actual_match = match(cur, len, at_begin);
- if (actual_match.match_len == max_match.match_len) {
- old_cur = cur;
- max_match = actual_match;
- }
- }
- }
- if (len == 0)
- return fail;
- else {
- max_match.pos_len = len;
- displayMres(max_match, "SEARCH RESULT", cur)
- return max_match;
- }
- }
+ int minl = 1;
+ int maxl = cur.lastpos() - cur.pos();
+ // Greedy behaviour while matching regexps
+ while (maxl > minl) {
+ MatchResult mres2;
+ mres2 = match(cur, len, at_begin);
+ displayMres(mres2, "Finalize loop", cur);
+ int actual_match_len = mres2.match_len;
+ if (actual_match_len >= max_match.match_len) {
+ // actual_match_len > max_match _can_ happen,
+ // if the search area splits
+ // some following word so that the regex
+ // (e.g. 'r.*r\b' matches 'r' from the middle of the
+ // splitted word)
+ // This means, the len value is too big
+ actual_match_len = max_match.match_len;
+ max_match = mres2;
+ max_match.match_len = actual_match_len;
+ maxl = len;
+ if (maxl - minl < 4)
+ len = (maxl + minl)/2;
+ else
+ len = minl + (maxl - minl + 3)/4;
+ }
+ else {
+ // (actual_match_len < max_match.match_len)
+ minl = len + 1;
+ len = (maxl + minl)/2;
+ }
+ }
+ len = minl;
+ old_cur = cur;
+ // Search for real start of matched characters
+ while (len > 1) {
+ MatchResult actual_match;
+ do {
+ cur.forwardPos();
+ } while (cur.depth() > old_cur.depth()); /* Skip inner insets */
+ if (cur.depth() < old_cur.depth()) {
+ // Outer inset?
+ LYXERR(Debug::INFO, "cur.depth() < old_cur.depth(), this should never happen");
+ break;
+ }
+ if (cur.pos() != old_cur.pos()) {
+ // OK, forwarded 1 pos in actual inset
+ actual_match = match(cur, len-1, at_begin);
+ if (actual_match.match_len == max_match.match_len) {
+ // Ha, got it! The shorter selection has the same match length
+ len--;
+ old_cur = cur;
+ max_match = actual_match;
+ }
+ else {
+ // OK, the shorter selection matches less chars, revert to previous value
+ cur = old_cur;
+ break;
+ }
+ }
+ else {
+ LYXERR(Debug::INFO, "cur.pos() == old_cur.pos(), this should never happen");
+ actual_match = match(cur, len, at_begin);
+ if (actual_match.match_len == max_match.match_len) {
+ old_cur = cur;
+ max_match = actual_match;
+ }
+ }
+ }
+ if (len == 0)
+ return fail;
+ else {
+ max_match.pos_len = len;
+ displayMres(max_match, "SEARCH RESULT", cur)
+ return max_match;
+ }
+ }
}
/// Finds forward
@@ -4256,7 +4256,7 @@ int findForwardAdv(DocIterator & cur, MatchStringAdv & match)
if (repeat)
msg = "Repeated";
displayMres(mres, msg + " findForwardAdv", cur)
- int match_len = mres.match_len;
+ int match_len = mres.match_len;
if ((mres.pos > 100000) || (mres.match2end > 100000) || (match_len > 100000)) {
LYXERR(Debug::INFO, "BIG LENGTHS: " << mres.pos << ", " << match_len << ", " << mres.match2end);
match_len = 0;
@@ -4291,7 +4291,7 @@ int findForwardAdv(DocIterator & cur, MatchStringAdv & match)
cur.pos() = cur.pos() + increment;
MatchResult mres2 = match(cur, -1, false);
displayMres(mres2, "findForwardAdv loop", cur)
- switch (interpretMatch(mres, mres2)) {
+ switch (interpretMatch(mres, mres2)) {
case MatchResult::newIsTooFar:
// behind the expected match
firstInvalid = increment;
@@ -4316,12 +4316,12 @@ int findForwardAdv(DocIterator & cur, MatchStringAdv & match)
firstInvalid--;
increment = increment*3/4;
cur = old_cur;
- break;
+ break;
}
}
if (mres.match_len > 0) {
if (mres.match_prefix + mres.pos - mres.leadsize > 0) {
- // The match seems to indicate some deeper level
+ // The match seems to indicate some deeper level
repeat = true;
orig_cur = cur;
orig_mres = mres;
@@ -4439,7 +4439,7 @@ docstring stringifyFromForSearch(FindAndReplaceOptions const & opt,
DocIterator const & cur, int len)
{
if (cur.pos() < 0 || cur.pos() > cur.lastpos())
- return docstring();
+ return docstring();
if (!opt.ignoreformat)
return latexifyFromCursor(cur, len);
else
@@ -4448,10 +4448,10 @@ docstring stringifyFromForSearch(FindAndReplaceOptions const & opt,
FindAndReplaceOptions::FindAndReplaceOptions(
- docstring const & _find_buf_name, bool _casesensitive,
- bool _matchword, bool _forward, bool _expandmacros, bool _ignoreformat,
- docstring const & _repl_buf_name, bool _keep_case,
- SearchScope _scope, SearchRestriction _restr, bool _replace_all)
+ docstring const & _find_buf_name, bool _casesensitive,
+ bool _matchword, bool _forward, bool _expandmacros, bool _ignoreformat,
+ docstring const & _repl_buf_name, bool _keep_case,
+ SearchScope _scope, SearchRestriction _restr, bool _replace_all)
: find_buf_name(_find_buf_name), casesensitive(_casesensitive), matchword(_matchword),
forward(_forward), expandmacros(_expandmacros), ignoreformat(_ignoreformat),
repl_buf_name(_repl_buf_name), keep_case(_keep_case), scope(_scope), restr(_restr), replace_all(_replace_all)
@@ -4516,30 +4516,30 @@ static void changeFirstCase(Buffer & buffer, TextCase first_case, TextCase other
static bool replaceMatches(string &t, int maxmatchnum, vector <string> const & replacements)
{
- // Should replace the string "$" + std::to_string(matchnum) with replacement
- // if the char '$' is not prefixed with odd number of char '\\'
- static regex const rematch("(\\\\)*(\\$\\$([0-9]))");
- string s;
- size_t lastpos = 0;
- smatch sub;
- for (sregex_iterator it(t.begin(), t.end(), rematch), end; it != end; ++it) {
- sub = *it;
- if ((sub.position(2) - sub.position(0)) % 2 == 1)
- continue;
- int num = stoi(sub.str(3), nullptr, 10);
- if (num >= maxmatchnum)
- continue;
- if (lastpos < (size_t) sub.position(2))
- s += t.substr(lastpos, sub.position(2) - lastpos);
- s += replacements[num];
- lastpos = sub.position(2) + sub.length(2);
- }
- if (lastpos == 0)
- return false;
- else if (lastpos < t.length())
- s += t.substr(lastpos, t.length() - lastpos);
- t = s;
- return true;
+ // Should replace the string "$" + std::to_string(matchnum) with replacement
+ // if the char '$' is not prefixed with odd number of char '\\'
+ static regex const rematch("(\\\\)*(\\$\\$([0-9]))");
+ string s;
+ size_t lastpos = 0;
+ smatch sub;
+ for (sregex_iterator it(t.begin(), t.end(), rematch), end; it != end; ++it) {
+ sub = *it;
+ if ((sub.position(2) - sub.position(0)) % 2 == 1)
+ continue;
+ int num = stoi(sub.str(3), nullptr, 10);
+ if (num >= maxmatchnum)
+ continue;
+ if (lastpos < (size_t) sub.position(2))
+ s += t.substr(lastpos, sub.position(2) - lastpos);
+ s += replacements[num];
+ lastpos = sub.position(2) + sub.length(2);
+ }
+ if (lastpos == 0)
+ return false;
+ else if (lastpos < t.length())
+ s += t.substr(lastpos, t.length() - lastpos);
+ t = s;
+ return true;
}
///
@@ -4547,15 +4547,15 @@ static int findAdvReplace(BufferView * bv, FindAndReplaceOptions const & opt, Ma
{
Cursor & cur = bv->cursor();
if (opt.repl_buf_name.empty()
- || theBufferList().getBuffer(FileName(to_utf8(opt.repl_buf_name)), true) == 0
- || theBufferList().getBuffer(FileName(to_utf8(opt.find_buf_name)), true) == 0)
+ || theBufferList().getBuffer(FileName(to_utf8(opt.repl_buf_name)), true) == 0
+ || theBufferList().getBuffer(FileName(to_utf8(opt.find_buf_name)), true) == 0)
return 0;
DocIterator sel_beg = cur.selectionBegin();
DocIterator sel_end = cur.selectionEnd();
if (&sel_beg.inset() != &sel_end.inset()
- || sel_beg.pit() != sel_end.pit()
- || sel_beg.idx() != sel_end.idx())
+ || sel_beg.pit() != sel_end.pit()
+ || sel_beg.idx() != sel_end.idx())
return 0;
int sel_len = sel_end.pos() - sel_beg.pos();
LYXERR(Debug::FIND, "sel_beg: " << sel_beg << ", sel_end: " << sel_end
@@ -4590,8 +4590,8 @@ static int findAdvReplace(BufferView * bv, FindAndReplaceOptions const & opt, Ma
cap::cutSelection(cur, false);
if (cur.inTexted()) {
repl_buffer.changeLanguage(
- repl_buffer.language(),
- cur.getFont().language());
+ repl_buffer.language(),
+ cur.getFont().language());
LYXERR(Debug::FIND, "Replacing by pasteParagraphList()ing repl_buffer");
LYXERR(Debug::FIND, "Before pasteParagraphList() cur=" << cur << endl);
cap::pasteParagraphList(cur, repl_buffer.paragraphs(),
@@ -4672,15 +4672,15 @@ bool findAdv(BufferView * bv, FindAndReplaceOptions & opt)
if (num_replaced > 0) {
switch (num_replaced)
{
- case 1:
- bv->message(_("One match has been replaced."));
- break;
- case 2:
- bv->message(_("Two matches have been replaced."));
- break;
- default:
- bv->message(bformat(_("%1$d matches have been replaced."), num_replaced));
- break;
+ case 1:
+ bv->message(_("One match has been replaced."));
+ break;
+ case 2:
+ bv->message(_("Two matches have been replaced."));
+ break;
+ default:
+ bv->message(bformat(_("%1$d matches have been replaced."), num_replaced));
+ break;
}
num_replaced = 0;
}
commit bbf21502bf38f1435b3727e7b03915b442d2edd5
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Mon Apr 4 11:43:55 2022 +0200
Initialize member
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 5ceb345..c4b6b96 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -1060,7 +1060,7 @@ private:
int close_wildcards;
public:
// Are we searching with regular expressions ?
- bool use_regexp;
+ bool use_regexp = false;
static int valid_matches;
static vector <string> matches;
void FillResults(MatchResult &found_mr);
commit 681334ce20987beae57c55f9a1796b2eefd41944
Author: Kornel Benko <kornel at lyx.org>
Date: Mon Apr 4 10:46:55 2022 +0200
FindAdv: Amend 6e7fd68c: Handle InsetNoteParams::Comment too
diff --git a/src/insets/InsetNote.cpp b/src/insets/InsetNote.cpp
index 40194fa..0324ca8 100644
--- a/src/insets/InsetNote.cpp
+++ b/src/insets/InsetNote.cpp
@@ -251,12 +251,16 @@ void InsetNote::latex(otexstream & os, OutputParams const & runparams_in) const
int InsetNote::plaintext(odocstringstream & os,
OutputParams const & runparams_in, size_t max_length) const
{
- if (params_.type == InsetNoteParams::Note
- && (runparams_in.for_searchAdv & OutputParams::SearchNonOutput) == 0)
- return 0;
+ if ((runparams_in.for_searchAdv & OutputParams::SearchNonOutput) == 0) {
+ if (params_.type == InsetNoteParams::Note)
+ return 0;
+ else if (params_.type == InsetNoteParams::Comment
+ && (runparams_in.for_searchAdv != OutputParams::NoSearch))
+ return 0;
+ }
OutputParams runparams(runparams_in);
- if (params_.type == InsetNoteParams::Comment) {
+ if (params_.type != InsetNoteParams::Greyedout) {
runparams.inComment = true;
// Ignore files that are exported inside a comment
runparams.exportdata.reset(new ExportData);
commit 6e7fd68c798a8e5855f7e3a9ab6fd7014995f80d
Author: Kornel Benko <kornel at lyx.org>
Date: Sun Apr 3 19:03:47 2022 +0200
FindAdv: Allow to search in LyX-Note also if ignoring format
diff --git a/src/insets/InsetNote.cpp b/src/insets/InsetNote.cpp
index d36b0d6..40194fa 100644
--- a/src/insets/InsetNote.cpp
+++ b/src/insets/InsetNote.cpp
@@ -251,7 +251,8 @@ void InsetNote::latex(otexstream & os, OutputParams const & runparams_in) const
int InsetNote::plaintext(odocstringstream & os,
OutputParams const & runparams_in, size_t max_length) const
{
- if (params_.type == InsetNoteParams::Note)
+ if (params_.type == InsetNoteParams::Note
+ && (runparams_in.for_searchAdv & OutputParams::SearchNonOutput) == 0)
return 0;
OutputParams runparams(runparams_in);
@@ -260,9 +261,11 @@ int InsetNote::plaintext(odocstringstream & os,
// Ignore files that are exported inside a comment
runparams.exportdata.reset(new ExportData);
}
- os << '[' << buffer().B_("note") << ":\n";
+ if ((runparams_in.for_searchAdv & OutputParams::SearchNonOutput) == 0)
+ os << '[' << buffer().B_("note") << ":\n";
InsetText::plaintext(os, runparams, max_length);
- os << "\n]";
+ if ((runparams_in.for_searchAdv & OutputParams::SearchNonOutput) == 0)
+ os << "\n]";
return PLAINTEXT_NEWLINE + 1; // one char on a separate line
}
commit c559b69fe1d37471b840857baba952482995c97d
Author: Kornel Benko <kornel at lyx.org>
Date: Sun Apr 3 18:05:15 2022 +0200
FindAdv: Amend 4125f6a9
Variables regexError and regexError only defined
when searching via QT-version >= 5
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index bd76966..5ceb345 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -3436,12 +3436,12 @@ static bool previous_single_replace = true;
void MatchStringAdv::CreateRegexp(FindAndReplaceOptions const & opt, string regexp_str, string regexp2_str, string par_as_string)
{
+#if QTSEARCH
if (regexp_str.empty() || regexp2_str.empty()) {
regexIsValid = false;
regexError = "Invalid empty regex";
return;
}
-#if QTSEARCH
// Handle \w properly
QRegularExpression::PatternOptions popts = QRegularExpression::UseUnicodePropertiesOption | QRegularExpression::MultilineOption;
if (! opt.casesensitive) {
commit 4125f6a9d344674dc2910fe60ddd30c3011e2f86
Author: Kornel Benko <kornel at lyx.org>
Date: Sun Apr 3 13:21:02 2022 +0200
FindAdv: Omit possible empty patterns
Normally this is done by the GUI, but searching for e.g. LyX-Comment
allows empty patterns.
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index be11b16..bd76966 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -2740,7 +2740,7 @@ void LatexInfo::buildKeys(bool isPatternString)
makeKey("trianglerightpar|hexagonpar|starpar", KeyInfo(KeyInfo::isStandard, 1, true), isPatternString);
makeKey("triangleuppar|triangledownpar|droppar", KeyInfo(KeyInfo::isStandard, 1, true), isPatternString);
makeKey("triangleleftpar|shapepar|dropuppar", KeyInfo(KeyInfo::isStandard, 1, true), isPatternString);
- makeKey("hphantom|vphantom|footnote|shortcut|include|includegraphics", KeyInfo(KeyInfo::isStandard, 1, true), isPatternString);
+ makeKey("hphantom|vphantom|note|footnote|shortcut|include|includegraphics", KeyInfo(KeyInfo::isStandard, 1, true), isPatternString);
makeKey("parbox", KeyInfo(KeyInfo::doRemove, 1, true), isPatternString);
// like ('tiny{}' or '\tiny ' ... )
makeKey("footnotesize|tiny|scriptsize|small|large|Large|LARGE|huge|Huge", KeyInfo(KeyInfo::isSize, 0, false), isPatternString);
@@ -3322,10 +3322,7 @@ string splitOnKnownMacros(string par, bool isPatternString)
(void) li.process(os, firstKey);
}
s = os.str();
- if (s.empty()) {
- // return string definitelly impossible to match
- s = "\\foreignlanguage{ignore}{ }";
- }
+ // return string definitelly impossible to match, but should be known
}
else
s = par; /* no known macros found */
@@ -3439,6 +3436,11 @@ static bool previous_single_replace = true;
void MatchStringAdv::CreateRegexp(FindAndReplaceOptions const & opt, string regexp_str, string regexp2_str, string par_as_string)
{
+ if (regexp_str.empty() || regexp2_str.empty()) {
+ regexIsValid = false;
+ regexError = "Invalid empty regex";
+ return;
+ }
#if QTSEARCH
// Handle \w properly
QRegularExpression::PatternOptions popts = QRegularExpression::UseUnicodePropertiesOption | QRegularExpression::MultilineOption;
@@ -3526,6 +3528,10 @@ MatchStringAdv::MatchStringAdv(lyx::Buffer & buf, FindAndReplaceOptions & opt)
{
Buffer & find_buf = *theBufferList().getBuffer(FileName(to_utf8(opt.find_buf_name)), true);
docstring const & ds = stringifySearchBuffer(find_buf, opt);
+ if (ds.empty() ) {
+ CreateRegexp(opt, "", "", "");
+ return;
+ }
use_regexp = lyx::to_utf8(ds).find("\\regexp{") != std::string::npos;
if (opt.replace_all && previous_single_replace) {
previous_single_replace = false;
@@ -3543,6 +3549,10 @@ MatchStringAdv::MatchStringAdv(lyx::Buffer & buf, FindAndReplaceOptions & opt)
size_t lead_size = 0;
// correct the language settings
par_as_string = correctlanguagesetting(par_as_string, true, !opt.ignoreformat, &buf);
+ if (par_as_string.empty()) {
+ CreateRegexp(opt, "", "", "");
+ return;
+ }
opt.matchAtStart = false;
if (!use_regexp) {
identifyClosing(par_as_string); // Removes math closings ($, ], ...) at end of string
commit e7ed8213ac47f52471130687613d5c15e3d0a023
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Apr 3 03:41:02 2022 +0200
DocBook: fix a test to ensure that the DocBook document is valid.
A book cannot directly contain paragraphs, they must be within a chapter.
diff --git a/autotests/export/xhtml/table_borders.lyx b/autotests/export/xhtml/table_borders.lyx
index 7b59f5f..76bfe2c 100644
--- a/autotests/export/xhtml/table_borders.lyx
+++ b/autotests/export/xhtml/table_borders.lyx
@@ -101,6 +101,10 @@
Check HTML export
\end_layout
+\begin_layout Chapter
+Some borders are bolder than others
+\end_layout
+
\begin_layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="4" columns="3">
commit 26300c565fd3eeca9ee398b17c2bceedef31b5f5
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sat Apr 2 04:03:12 2022 +0200
MathML: fix validity for fractions with units.
https://www.lyx.org/trac/ticket/12513
Contributed by lynx.
diff --git a/src/mathed/InsetMathFrac.cpp b/src/mathed/InsetMathFrac.cpp
index e58a787..3ad0dfe 100644
--- a/src/mathed/InsetMathFrac.cpp
+++ b/src/mathed/InsetMathFrac.cpp
@@ -543,17 +543,20 @@ void InsetMathFrac::mathmlize(MathMLStream & ms) const
break;
case UNIT:
- // FIXME This is not right, because we still output mi, etc,
- // when we output the cell. So we need to prevent that somehow.
- if (nargs() == 2)
- ms << cell(0)
- << MTag("mstyle mathvariant='normal'")
- << cell(1)
- << ETag("mstyle");
- else
- ms << MTag("mstyle mathvariant='normal'")
- << cell(0)
- << ETag("mstyle");
+ if (nargs() == 2) {
+ ms << MTag("mrow");
+ ms << cell(0);
+ SetMode textmode(ms, true);
+ ms << MTagInline("mstyle mathvariant='normal'");
+ ms << cell(1);
+ ms << ETagInline("mstyle");
+ ms << ETag("mrow");
+ } else {
+ SetMode textmode(ms, true);
+ ms << MTag("mstyle mathvariant='normal'");
+ ms << cell(0);
+ ms << ETag("mstyle");
+ }
}
}
commit 4feb6aaea95670caa5b1292a0f618c2c8777343a
Author: Kornel Benko <kornel at lyx.org>
Date: Sat Apr 2 17:01:02 2022 +0200
Make clang happy
Omitting 'error: comparison of integer expressions of different signedness'
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 53058dd..be11b16 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -3863,7 +3863,7 @@ string MatchStringAdv::normalize(docstring const & s, bool ignore_format) const
t = t.substr(1);
// Remove [%]*\n at end
while (!t.empty() && t[t.size() - 1] == '\n') {
- int count = 1;
+ size_t count = 1;
if (!ignore_format) {
while ((t.size() > 1 + count) && (t[t.size() - 1 - count] == '%'))
count++;
@@ -3892,7 +3892,7 @@ string MatchStringAdv::normalize(docstring const & s, bool ignore_format) const
t.replace(pos, 1, " ");
}
if (!ignore_format) {
- int count = 0;
+ size_t count = 0;
while ((pos > count + 1) && (t[pos - 1 -count] == '%')) {
count++;
}
commit 0ab862f9425fe8f4fe9f831c8347df56e1d9fc06
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Apr 2 12:05:18 2022 +0200
Amend d96135a9dcc5
diff --git a/src/insets/InsetNote.cpp b/src/insets/InsetNote.cpp
index 05253de..d36b0d6 100644
--- a/src/insets/InsetNote.cpp
+++ b/src/insets/InsetNote.cpp
@@ -207,6 +207,7 @@ bool InsetNote::isMacroScope() const
void InsetNote::latex(otexstream & os, OutputParams const & runparams_in) const
{
if (params_.type != InsetNoteParams::Greyedout
+ && runparams_in.for_searchAdv != OutputParams::NoSearch
&& (runparams_in.for_searchAdv & OutputParams::SearchNonOutput) == 0)
return;
commit d96135a9dcc54ab1e6283863f4534ef5530c2faa
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Apr 2 11:19:55 2022 +0200
Amend bcad19e504f845
Allow searching in notes and comments if non-output-content is true
diff --git a/src/insets/InsetNote.cpp b/src/insets/InsetNote.cpp
index adacef3..05253de 100644
--- a/src/insets/InsetNote.cpp
+++ b/src/insets/InsetNote.cpp
@@ -206,9 +206,19 @@ bool InsetNote::isMacroScope() const
void InsetNote::latex(otexstream & os, OutputParams const & runparams_in) const
{
- if (params_.type == InsetNoteParams::Note)
+ if (params_.type != InsetNoteParams::Greyedout
+ && (runparams_in.for_searchAdv & OutputParams::SearchNonOutput) == 0)
return;
+ if (params_.type == InsetNoteParams::Note) {
+ if ((runparams_in.for_searchAdv & OutputParams::SearchNonOutput) != 0) {
+ OutputParams runparams(runparams_in);
+ InsetCollapsible::latex(os, runparams);
+ runparams_in.encoding = runparams.encoding;
+ }
+ return;
+ }
+
OutputParams runparams(runparams_in);
if (params_.type == InsetNoteParams::Comment) {
runparams.inComment = true;
diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp
index af1847c..1767f2c 100644
--- a/src/insets/InsetText.cpp
+++ b/src/insets/InsetText.cpp
@@ -485,12 +485,6 @@ void InsetText::latex(otexstream & os, OutputParams const & runparams) const
// environment. Standard collapsible insets should not
// redefine this, non-standard ones may call this.
InsetLayout const & il = getLayout();
- if (runparams.for_searchAdv != OutputParams::NoSearch &&
- (runparams.for_searchAdv & OutputParams::SearchNonOutput) == 0 &&
- !il.latexname().empty() &&
- il.latextype() == InsetLaTeXType::ENVIRONMENT &&
- il.latexname() == "comment")
- return;
if (il.forceOwnlines())
os << breakln;
commit 50374e38e1ef69aacdddeb771bc7716657338437
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sat Apr 2 03:31:15 2022 +0200
XHTML/CALS tables: create helper functions to share more code.
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index 8251333..749c244 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -3809,6 +3809,66 @@ docstring Tabular::xmlRow(XMLStream & xs, row_type row, OutputParams const & run
}
+void Tabular::xmlHeader(XMLStream & xs, OutputParams const & runparams) const
+{
+ // Output the header of the table. For both HTML and CALS, this is surrounded by a thead.
+ bool const have_first_head = haveLTFirstHead(false);
+ // if we have a first head, then we are going to ignore the
+ // headers for the additional pages, since there aren't any
+ // in HTML or DocBook.
+ bool const have_head = !have_first_head && haveLTHead(false);
+
+ if (have_head || have_first_head) {
+ xs << xml::StartTag("thead") << xml::CR();
+ for (row_type r = 0; r < nrows(); ++r) {
+ if (((have_first_head && row_info[r].endfirsthead) ||
+ (have_head && row_info[r].endhead)) &&
+ !row_info[r].caption) {
+ xmlRow(xs, r, runparams, true, false, buffer().params().docbook_table_output);
+ }
+ }
+ xs << xml::EndTag("thead");
+ xs << xml::CR();
+ }
+}
+
+
+void Tabular::xmlFooter(XMLStream & xs, OutputParams const & runparams) const
+{
+ // Output the footer of the table. For both HTML and CALS, this is surrounded by a tfoot and output just after
+ // the header (and before the body).
+ bool const have_last_foot = haveLTLastFoot(false);
+ bool const have_foot = !have_last_foot && haveLTFoot(false);
+
+ if (have_foot || have_last_foot) {
+ xs << xml::StartTag("tfoot") << xml::CR();
+ for (row_type r = 0; r < nrows(); ++r) {
+ if (((have_last_foot && row_info[r].endlastfoot) ||
+ (have_foot && row_info[r].endfoot)) &&
+ !row_info[r].caption) {
+ xmlRow(xs, r, runparams, false, false, buffer().params().docbook_table_output);
+ }
+ }
+ xs << xml::EndTag("tfoot");
+ xs << xml::CR();
+ }
+}
+
+
+void Tabular::xmlBody(XMLStream & xs, OutputParams const & runparams) const
+{
+ // Output the main part of the table. The tbody container is mandatory for CALS, but optional for HTML (only if
+ // there is no header and no footer). It never hurts to have it, though.
+ xs << xml::StartTag("tbody");
+ xs << xml::CR();
+ for (row_type r = 0; r < nrows(); ++r)
+ if (isValidRow(r))
+ xmlRow(xs, r, runparams, false, false, buffer().params().docbook_table_output);
+ xs << xml::EndTag("tbody");
+ xs << xml::CR();
+}
+
+
void Tabular::docbook(XMLStream & xs, OutputParams const & runparams) const
{
// Some tables are inline. Likely limitation: cannot output a table within a table; is that really a limitation?
@@ -3848,52 +3908,9 @@ void Tabular::docbook(XMLStream & xs, OutputParams const & runparams) const
}
}
- // Output the header of the table. For both HTML and CALS, this is surrounded by a thead.
- bool const havefirsthead = haveLTFirstHead(false);
- // if we have a first head, then we are going to ignore the
- // headers for the additional pages, since there aren't any
- // in DocBook. this test accomplishes that.
- bool const havehead = !havefirsthead && haveLTHead(false);
- if (havehead || havefirsthead) {
- xs << xml::StartTag("thead") << xml::CR();
- for (row_type r = 0; r < nrows(); ++r) {
- if (((havefirsthead && row_info[r].endfirsthead) ||
- (havehead && row_info[r].endhead)) &&
- !row_info[r].caption) {
- xmlRow(xs, r, runparams, true, false, buffer().params().docbook_table_output);
- }
- }
- xs << xml::EndTag("thead");
- xs << xml::CR();
- }
-
- // Output the footer of the table. For both HTML and CALS, this is surrounded by a tfoot and output just after
- // the header (and before the body).
- bool const havelastfoot = haveLTLastFoot(false);
- // as before.
- bool const havefoot = !havelastfoot && haveLTFoot(false);
- if (havefoot || havelastfoot) {
- xs << xml::StartTag("tfoot") << xml::CR();
- for (row_type r = 0; r < nrows(); ++r) {
- if (((havelastfoot && row_info[r].endlastfoot) ||
- (havefoot && row_info[r].endfoot)) &&
- !row_info[r].caption) {
- xmlRow(xs, r, runparams, false, false, buffer().params().docbook_table_output);
- }
- }
- xs << xml::EndTag("tfoot");
- xs << xml::CR();
- }
-
- // Output the main part of the table. The tbody container is mandatory for CALS, but optional for HTML (only if
- // there is no header and no footer). It never hurts to have it, though.
- xs << xml::StartTag("tbody");
- xs << xml::CR();
- for (row_type r = 0; r < nrows(); ++r)
- if (isValidRow(r))
- xmlRow(xs, r, runparams, false, false, buffer().params().docbook_table_output);
- xs << xml::EndTag("tbody");
- xs << xml::CR();
+ xmlHeader(xs, runparams);
+ xmlFooter(xs, runparams);
+ xmlBody(xs, runparams);
// If this method started the table tag, also make it close it.
if (!runparams.docbook_in_table) {
@@ -3938,48 +3955,10 @@ docstring Tabular::xhtml(XMLStream & xs, OutputParams const & runparams) const
xs << xml::StartTag("table");
xs << xml::CR();
- // output header info
- bool const havefirsthead = haveLTFirstHead(false);
- // if we have a first head, then we are going to ignore the
- // headers for the additional pages, since there aren't any
- // in XHTML. this test accomplishes that.
- bool const havehead = !havefirsthead && haveLTHead(false);
- if (havehead || havefirsthead) {
- xs << xml::StartTag("thead");
- xs << xml::CR();
- for (row_type r = 0; r < nrows(); ++r) {
- if (((havefirsthead && row_info[r].endfirsthead) ||
- (havehead && row_info[r].endhead)) &&
- !row_info[r].caption) {
- ret += xmlRow(xs, r, runparams, true);
- }
- }
- xs << xml::EndTag("thead");
- xs << xml::CR();
- }
- // output footer info
- bool const havelastfoot = haveLTLastFoot(false);
- // as before.
- bool const havefoot = !havelastfoot && haveLTFoot(false);
- if (havefoot || havelastfoot) {
- xs << xml::StartTag("tfoot") << xml::CR();
- for (row_type r = 0; r < nrows(); ++r) {
- if (((havelastfoot && row_info[r].endlastfoot) ||
- (havefoot && row_info[r].endfoot)) &&
- !row_info[r].caption) {
- ret += xmlRow(xs, r, runparams);
- }
- }
- xs << xml::EndTag("tfoot");
- xs << xml::CR();
- }
+ xmlHeader(xs, runparams);
+ xmlFooter(xs, runparams);
+ xmlBody(xs, runparams);
- xs << xml::StartTag("tbody") << xml::CR();
- for (row_type r = 0; r < nrows(); ++r)
- if (isValidRow(r))
- ret += xmlRow(xs, r, runparams);
- xs << xml::EndTag("tbody");
- xs << xml::CR();
xs << xml::EndTag("table");
xs << xml::CR();
if (is_long_tabular) {
diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h
index 0fbafa8..08b626f 100644
--- a/src/insets/InsetTabular.h
+++ b/src/insets/InsetTabular.h
@@ -957,6 +957,9 @@ public:
docstring xmlRow(XMLStream & xs, row_type row, OutputParams const &,
bool header = false, bool is_xhtml = true,
BufferParams::TableOutput docbook_table_output = BufferParams::TableOutput::HTMLTable) const;
+ void xmlHeader(XMLStream & xs, OutputParams const &) const;
+ void xmlFooter(XMLStream & xs, OutputParams const &) const;
+ void xmlBody(XMLStream & xs, OutputParams const &) const;
XmlRowWiseBorders computeXmlBorders(row_type row) const;
std::vector<std::string> computeCssStylePerCell(row_type row, col_type col, idx_type cell) const;
commit 88f767e4922a0c4cdb39b24d6b6e2a41d1d8dc4a
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sat Apr 2 02:56:32 2022 +0200
CALS tables: base implementation of row separators on the new code from XHTML.
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index 77bb970..8251333 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -3738,7 +3738,17 @@ docstring Tabular::xmlRow(XMLStream & xs, row_type row, OutputParams const & run
Tabular::XmlRowWiseBorders const borders = computeXmlBorders(row);
idx_type cell = getFirstCellInRow(row);
- xs << xml::StartTag(row_tag);
+ std::string row_attr;
+ bool cals_row_has_rowsep = false; // TODO: is this required? Is it possible that only a/several cells request a row separator, but not the complete row?
+ // CALS only: all cases where there should be a line *below* this row.
+ if (is_cals_table && (row_info[row].bottom_space_default || bottomLine(cell))) {
+ if (borders.completeBorderBelow) {
+ row_attr = "rowsep='1'";
+ cals_row_has_rowsep = true;
+ }
+ }
+
+ xs << xml::StartTag(row_tag, row_attr);
xs << xml::CR();
for (col_type c = 0; c < ncols(); ++c, ++cell) {
if (isPartOfMultiColumn(row, c) || isPartOfMultiRow(row, c))
@@ -3757,22 +3767,25 @@ docstring Tabular::xmlRow(XMLStream & xs, row_type row, OutputParams const & run
attr << "' ";
}
- attr << getHAlignAsXmlAttribute(cell, false) << " " << getVAlignAsXmlAttribute(cell);
+ if (is_cals_table) {
+ if (!cals_row_has_rowsep && bottomLine(cell))
+ attr << "rowsep='1' ";
+ }
- attr << getHAlignAsXmlAttribute(cell, false) << " " << getVAlignAsXmlAttribute(cell) << " ";
+ attr << getHAlignAsXmlAttribute(cell, false) << " " << getVAlignAsXmlAttribute(cell);
if (is_xhtml_table) {
if (isMultiColumn(cell))
- attr << "colspan='" << columnSpan(cell) << "'";
+ attr << " colspan='" << columnSpan(cell) << "'";
else if (isMultiRow(cell))
- attr << "rowspan='" << rowSpan(cell) << "'";
+ attr << " rowspan='" << rowSpan(cell) << "'";
} else if (is_cals_table) {
if (isMultiColumn(cell))
- attr << "namest='c" << c << " nameend='c" << (c + columnSpan(cell)) << "'";
+ attr << " namest='c" << c << " nameend='c" << (c + columnSpan(cell)) << "'";
else if (isMultiRow(cell))
- attr << "morerows='" << rowSpan(cell) << "'";
- else if (!is_xhtml && docbook_table_output == BufferParams::TableOutput::CALSTable)
- attr << "colname='c" << (c + 1) << "'"; // CALS column numbering starts at 1.
+ attr << " morerows='" << rowSpan(cell) << "'";
+ else
+ attr << " colname='c" << (c + 1) << "'"; // CALS column numbering starts at 1.
}
// Render the cell as either XHTML or DocBook.
@@ -3808,13 +3821,13 @@ void Tabular::docbook(XMLStream & xs, OutputParams const & runparams) const
// "Formal" tables have a title and use the tag <table>; the distinction with <informaltable> is done outside.
// HTML has the caption first with titles forbidden, and CALS has a title first.
if (haveLTCaption()) {
- std::string tag = ((buffer().params().docbook_table_output) == BufferParams::HTMLTable) ? "caption" : "title";
+ std::string caption_tag = ((buffer().params().docbook_table_output) == BufferParams::HTMLTable) ? "caption" : "title";
- xs << xml::StartTag(tag);
+ xs << xml::StartTag(caption_tag);
for (row_type r = 0; r < nrows(); ++r)
if (row_info[r].caption)
xmlRow(xs, r, runparams, false, false, buffer().params().docbook_table_output);
- xs << xml::EndTag(tag);
+ xs << xml::EndTag(caption_tag);
xs << xml::CR();
}
commit 8b9c162f515c9666a8a4c5ca26052d710b15d89b
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sat Apr 2 02:54:12 2022 +0200
CALS tables: fix implementation of multirow/col.
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index 478ecf1..77bb970 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -3731,6 +3731,7 @@ docstring Tabular::xmlRow(XMLStream & xs, row_type row, OutputParams const & run
{
docstring ret;
const bool is_xhtml_table = is_xhtml || docbook_table_output == BufferParams::TableOutput::HTMLTable;
+ const bool is_cals_table = !is_xhtml && docbook_table_output == BufferParams::TableOutput::CALSTable;
std::string const row_tag = is_xhtml_table ? "tr" : "row";
std::string const cell_tag = is_xhtml_table ? (header ? "th" : "td") : "entry";
@@ -3758,16 +3759,21 @@ docstring Tabular::xmlRow(XMLStream & xs, row_type row, OutputParams const & run
attr << getHAlignAsXmlAttribute(cell, false) << " " << getVAlignAsXmlAttribute(cell);
- if (isMultiColumn(cell))
- attr << " colspan='" << columnSpan(cell) << "'";
- else if (isMultiRow(cell))
- attr << " rowspan='" << rowSpan(cell) << "'";
- else if (!is_xhtml && docbook_table_output == BufferParams::TableOutput::CALSTable)
- attr << " colname='c" << (c + 1) << "'"; // CALS column numbering starts at 1.
+ attr << getHAlignAsXmlAttribute(cell, false) << " " << getVAlignAsXmlAttribute(cell) << " ";
- // All cases where there should be a line *below* this row.
- if (!is_xhtml && docbook_table_output == BufferParams::TableOutput::CALSTable && row_info[row].bottom_space_default)
- attr << " rowsep='1'";
+ if (is_xhtml_table) {
+ if (isMultiColumn(cell))
+ attr << "colspan='" << columnSpan(cell) << "'";
+ else if (isMultiRow(cell))
+ attr << "rowspan='" << rowSpan(cell) << "'";
+ } else if (is_cals_table) {
+ if (isMultiColumn(cell))
+ attr << "namest='c" << c << " nameend='c" << (c + columnSpan(cell)) << "'";
+ else if (isMultiRow(cell))
+ attr << "morerows='" << rowSpan(cell) << "'";
+ else if (!is_xhtml && docbook_table_output == BufferParams::TableOutput::CALSTable)
+ attr << "colname='c" << (c + 1) << "'"; // CALS column numbering starts at 1.
+ }
// Render the cell as either XHTML or DocBook.
xs << xml::StartTag(cell_tag, attr.str(), true);
commit 544adb065b89afa27002dc8b391ee7c907e200ac
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Fri Apr 1 21:15:13 2022 +0200
XHTML tables: fix borders and implement booktabs.
https://www.lyx.org/trac/ticket/10154
Contributed by raccoon.
diff --git a/autotests/export/xhtml/table_borders.lyx b/autotests/export/xhtml/table_borders.lyx
new file mode 100644
index 0000000..7b59f5f
--- /dev/null
+++ b/autotests/export/xhtml/table_borders.lyx
@@ -0,0 +1,235 @@
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 609
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass scrbook
+\begin_preamble
+% Added by lyx2lyx
+\setlength{\parskip}{\medskipamount}
+\setlength{\parindent}{0pt}
+\end_preamble
+\use_default_options true
+\maintain_unincluded_children no
+\language ngerman
+\language_package default
+\inputencoding auto-legacy
+\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 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 0
+\use_package mathtools 0
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 0
+\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
+\branch Test
+\selected 1
+\filename_suffix 0
+\color #e9c792 #16386d
+\end_branch
+\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 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
+\docbook_mathml_prefix 1
+\html_latex_start <span class='latex'>
+\html_latex_end </span>
+\end_header
+
+\begin_body
+
+\begin_layout Title
+Check HTML export
+\end_layout
+
+\begin_layout Standard
+\begin_inset Tabular
+<lyxtabular version="3" rows="4" columns="3">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top" width="3cm">
+<column alignment="center" valignment="top">
+<column alignment="center" valignment="top">
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+a
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+d
+\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
+s
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="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>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="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>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="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" 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>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
diff --git a/autotests/export/xhtml/table_borders.xhtml b/autotests/export/xhtml/table_borders.xhtml
new file mode 100644
index 0000000..7e0602e
--- /dev/null
+++ b/autotests/export/xhtml/table_borders.xhtml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">
+<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>Check HTML export</title>
+<style type='text/css'>
+/* Layout-provided Styles */
+h1.title {
+font-family: sans-serif;
+font-weight: bold;
+font-size: x-large;
+margin-bottom: 1ex;
+text-align: center;
+
+}
+h1.chapter {
+font-family: sans-serif;
+font-weight: bold;
+font-size: x-large;
+margin-top: 2ex;
+margin-bottom: 0.8ex;
+text-align: left;
+
+}
+div.standard {
+ text-indent: 2em;
+ margin-bottom: 2ex;
+}
+div.plain_layout {
+text-align: left;
+
+}
+table {
+ border-collapse: collapse;
+ display: inline-block;
+}
+td {
+ padding: 0.5ex;
+}
+
+
+</style>
+</head>
+<body dir="auto">
+<h1 class="title" id='magicparlabel-1'>Check HTML export</h1>
+<section>
+<h1 class="chapter" id='magicparlabel-2'><span class="chapter_label">1</span> here<a id="sec_ere__dsd" /></h1>
+<div class="standard" id='magicparlabel-3'>see <a href="#sec_ere__dsd">1</a></div>
+
+<div class="standard" id='magicparlabel-4'><table>
+<tbody>
+<tr>
+<td style='width: 3cm; border-bottom: 3.000000px double; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'><div class="plain_layout" id='magicparlabel-26'>a</div>
+</td>
+<td style='border-bottom: 3.000000px double; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'><div class="plain_layout" id='magicparlabel-29'>d</div>
+</td>
+<td style='border-bottom: 3.000000px double; border-right: 1px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'><div class="plain_layout" id='magicparlabel-32'>s</div>
+</td>
+</tr>
+<tr>
+<td style='width: 3cm; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
+</td>
+<td style='border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
+</td>
+<td style='border-right: 1px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
+</td>
+</tr>
+<tr>
+<td style='width: 3cm; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
+</td>
+<td style='border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
+</td>
+<td style='border-right: 1px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
+</td>
+</tr>
+<tr>
+<td style='width: 3cm; border-bottom: 1.000000px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
+</td>
+<td style='border-bottom: 1.000000px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
+</td>
+<td style='border-bottom: 1.000000px solid; border-right: 1px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</section>
+</body>
+</html>
diff --git a/lib/layouts/stdinsets.inc b/lib/layouts/stdinsets.inc
index 32a0af3..074b274 100644
--- a/lib/layouts/stdinsets.inc
+++ b/lib/layouts/stdinsets.inc
@@ -776,7 +776,6 @@ InsetLayout Tabular
display: inline-block;
}
td {
- border: 1px solid black;
padding: 0.5ex;
}
EndHTMLStyle
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index 0832054..478ecf1 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -3654,6 +3654,77 @@ std::string Tabular::getHAlignAsXmlAttribute(idx_type cell, bool is_xhtml) const
}
}
+Tabular::XmlRowWiseBorders Tabular::computeXmlBorders(row_type row) const
+{
+ Tabular::XmlRowWiseBorders borders;
+
+ // Determine whether borders are required.
+ for (col_type c = 0; c < ncols(); ++c) {
+ if (row < nrows() - 1) {
+ if (!bottomLine(cellIndex(row, c))
+ || !topLine(cellIndex(row + 1, c))) {
+ borders.completeBorder = false;
+ }
+ if (!bottomLine(cellIndex(row, c))
+ && !topLine(cellIndex(row + 1, c))) {
+ borders.completeBorderBelow = false;
+ }
+ } else if (row == nrows() - 1 && !bottomLine(cellIndex(row, c))) {
+ borders.completeBorderBelow = false;
+ }
+
+ if ((row > 0 && !bottomLine(cellIndex(row - 1, c)) && !topLine(cellIndex(row, c))) ||
+ (row == 0 && !topLine(cellIndex(row, c)))) {
+ borders.completeBorderAbove = false;
+ }
+ }
+
+ // Size of booktabs borders.
+ if (use_booktabs) {
+ if (borders.completeBorderAbove)
+ borders.borderTopWidth = row == 0 ? 2 : 1.5;
+ if (borders.completeBorderBelow) {
+ borders.borderBottomWidth = row == nrows() - 1 ? 2 : 1.5;
+ borders.borderBottomWidthComplete = 3 * borders.borderBottomWidth;
+ }
+ }
+
+ return borders;
+}
+
+
+std::vector<std::string> Tabular::computeCssStylePerCell(row_type row, col_type col, idx_type cell) const
+{
+ std::vector<std::string> styles;
+
+ // Fixed width.
+ Length const col_width = column_info[col].p_width;
+ if (!col_width.zero())
+ styles.emplace_back("width: " + col_width.asHTMLString());
+
+ // Borders and booktabs.
+ const Tabular::XmlRowWiseBorders borders = computeXmlBorders(row);
+
+ if (bottomLine(cell)) {
+ if (row < nrows() - 1 && borders.completeBorder)
+ styles.emplace_back("border-bottom: " + to_string(borders.borderBottomWidthComplete) + "px double");
+ else
+ styles.emplace_back("border-bottom: " + to_string(borders.borderBottomWidth) + "px solid");
+ }
+ if (rightLine(cell)) {
+ if (col < ncols() - 1 && leftLine(cell + 1))
+ styles.emplace_back("border-right: 3px double");
+ else
+ styles.emplace_back("border-right: 1px solid");
+ }
+ if (leftLine(cell))
+ styles.emplace_back("border-left: 1px solid");
+ if (topLine(cell))
+ styles.emplace_back("border-top: " + to_string(borders.borderTopWidth) + "px solid");
+
+ return styles;
+}
+
docstring Tabular::xmlRow(XMLStream & xs, row_type row, OutputParams const & runparams,
bool header, bool is_xhtml, BufferParams::TableOutput docbook_table_output) const
@@ -3663,22 +3734,26 @@ docstring Tabular::xmlRow(XMLStream & xs, row_type row, OutputParams const & run
std::string const row_tag = is_xhtml_table ? "tr" : "row";
std::string const cell_tag = is_xhtml_table ? (header ? "th" : "td") : "entry";
+ Tabular::XmlRowWiseBorders const borders = computeXmlBorders(row);
idx_type cell = getFirstCellInRow(row);
xs << xml::StartTag(row_tag);
xs << xml::CR();
- for (col_type c = 0; c < ncols(); ++c) {
+ for (col_type c = 0; c < ncols(); ++c, ++cell) {
if (isPartOfMultiColumn(row, c) || isPartOfMultiRow(row, c))
continue;
stringstream attr;
if (is_xhtml_table) {
- Length const cwidth = column_info[c].p_width;
- if (!cwidth.zero()) {
- string const hwidth = cwidth.asHTMLString();
- attr << "style='width: " << hwidth << ";' ";
- }
+ const std::vector<std::string> styles = computeCssStylePerCell(row, c, cell);
+ attr << "style='" ;
+ for (auto it = styles.begin(); it != styles.end(); ++it) {
+ attr << *it;
+ if (it != styles.end() - 1)
+ attr << "; ";
+ }
+ attr << "' ";
}
attr << getHAlignAsXmlAttribute(cell, false) << " " << getVAlignAsXmlAttribute(cell);
@@ -3707,7 +3782,6 @@ docstring Tabular::xmlRow(XMLStream & xs, row_type row, OutputParams const & run
}
xs << xml::EndTag(cell_tag);
xs << xml::CR();
- ++cell;
}
xs << xml::EndTag(row_tag);
xs << xml::CR();
diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h
index 8a99ef4..0fbafa8 100644
--- a/src/insets/InsetTabular.h
+++ b/src/insets/InsetTabular.h
@@ -850,6 +850,24 @@ public:
///
typedef std::vector<ColumnData> column_vector;
+private:
+ // Determines the style of borders, per row.
+ class XmlRowWiseBorders {
+ public:
+ // Whether to draw double bottom line.
+ bool completeBorder = true;
+
+ // Whether to draw booktabs' thicker lines.
+ bool completeBorderAbove = true;
+ bool completeBorderBelow = true;
+
+ // Size of the borders.
+ double borderBottomWidth = 1.0;
+ double borderBottomWidthComplete = 3.0;
+ double borderTopWidth = 1.0;
+ };
+
+public:
///
idx_type numberofcells;
///
@@ -939,6 +957,8 @@ public:
docstring xmlRow(XMLStream & xs, row_type row, OutputParams const &,
bool header = false, bool is_xhtml = true,
BufferParams::TableOutput docbook_table_output = BufferParams::TableOutput::HTMLTable) const;
+ XmlRowWiseBorders computeXmlBorders(row_type row) const;
+ std::vector<std::string> computeCssStylePerCell(row_type row, col_type col, idx_type cell) const;
/// Transforms the vertical alignment of the given cell as a prebaked XML attribute (for HTML and CALS).
std::string getHAlignAsXmlAttribute(idx_type cell, bool is_xhtml = true) const;
commit 838157392a8ddfbd3db604bf62f30f6c839d70b3
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Fri Apr 1 20:39:02 2022 +0200
XHTML/DocBook tables: slight refactoring.
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index 8c571d6..0832054 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -3659,9 +3659,10 @@ docstring Tabular::xmlRow(XMLStream & xs, row_type row, OutputParams const & run
bool header, bool is_xhtml, BufferParams::TableOutput docbook_table_output) const
{
docstring ret;
+ const bool is_xhtml_table = is_xhtml || docbook_table_output == BufferParams::TableOutput::HTMLTable;
- std::string const row_tag = (is_xhtml || docbook_table_output == BufferParams::TableOutput::HTMLTable) ? "tr" : "row";
- std::string const cell_tag = (is_xhtml || docbook_table_output == BufferParams::TableOutput::HTMLTable) ? (header ? "th" : "td") : "entry";
+ std::string const row_tag = is_xhtml_table ? "tr" : "row";
+ std::string const cell_tag = is_xhtml_table ? (header ? "th" : "td") : "entry";
idx_type cell = getFirstCellInRow(row);
xs << xml::StartTag(row_tag);
@@ -3672,7 +3673,7 @@ docstring Tabular::xmlRow(XMLStream & xs, row_type row, OutputParams const & run
stringstream attr;
- if (is_xhtml || docbook_table_output == BufferParams::TableOutput::HTMLTable) {
+ if (is_xhtml_table) {
Length const cwidth = column_info[c].p_width;
if (!cwidth.zero()) {
string const hwidth = cwidth.asHTMLString();
commit 72f630cb8f370f2ab2b600be7c16f49fd8f1f276
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Fri Apr 1 04:40:10 2022 +0200
DocBook: remove unused variable.
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index 1124331..8c571d6 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -3717,8 +3717,6 @@ docstring Tabular::xmlRow(XMLStream & xs, row_type row, OutputParams const & run
void Tabular::docbook(XMLStream & xs, OutputParams const & runparams) const
{
- docstring ret;
-
// Some tables are inline. Likely limitation: cannot output a table within a table; is that really a limitation?
if (!runparams.docbook_in_table) { // Check on the *outer* set of parameters, so that the table can be closed
// properly at the end of this function.
commit 5488bebb303f47ba94621dfd1c05d3a54c6db16c
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Fri Apr 1 04:37:48 2022 +0200
XHTML/DocBook: merge code paths to generate a row in a table.
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index 0d45855..1124331 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -3612,13 +3612,6 @@ void Tabular::latex(otexstream & os, OutputParams const & runparams) const
}
-void Tabular::docbookRow(XMLStream & xs, row_type row,
- OutputParams const & runparams, bool header) const
-{
- docbookRow(xs, row, runparams, header, buffer().params().docbook_table_output);
-}
-
-
std::string Tabular::getVAlignAsXmlAttribute(idx_type cell) const
{
switch (getVAlignment(cell)) {
@@ -3662,10 +3655,13 @@ std::string Tabular::getHAlignAsXmlAttribute(idx_type cell, bool is_xhtml) const
}
-void Tabular::docbookRow(XMLStream & xs, row_type row, OutputParams const & runparams, bool header, BufferParams::TableOutput docbook_table_output) const
+docstring Tabular::xmlRow(XMLStream & xs, row_type row, OutputParams const & runparams,
+ bool header, bool is_xhtml, BufferParams::TableOutput docbook_table_output) const
{
- std::string const row_tag = (docbook_table_output == BufferParams::TableOutput::HTMLTable) ? "tr" : "row";
- std::string const cell_tag = (docbook_table_output == BufferParams::TableOutput::HTMLTable) ? (header ? "th" : "td") : "entry";
+ docstring ret;
+
+ std::string const row_tag = (is_xhtml || docbook_table_output == BufferParams::TableOutput::HTMLTable) ? "tr" : "row";
+ std::string const cell_tag = (is_xhtml || docbook_table_output == BufferParams::TableOutput::HTMLTable) ? (header ? "th" : "td") : "entry";
idx_type cell = getFirstCellInRow(row);
xs << xml::StartTag(row_tag);
@@ -3676,7 +3672,7 @@ void Tabular::docbookRow(XMLStream & xs, row_type row, OutputParams const & runp
stringstream attr;
- if (docbook_table_output == BufferParams::TableOutput::HTMLTable) {
+ if (is_xhtml || docbook_table_output == BufferParams::TableOutput::HTMLTable) {
Length const cwidth = column_info[c].p_width;
if (!cwidth.zero()) {
string const hwidth = cwidth.asHTMLString();
@@ -3690,24 +3686,32 @@ void Tabular::docbookRow(XMLStream & xs, row_type row, OutputParams const & runp
attr << " colspan='" << columnSpan(cell) << "'";
else if (isMultiRow(cell))
attr << " rowspan='" << rowSpan(cell) << "'";
- else if (docbook_table_output == BufferParams::TableOutput::CALSTable)
+ else if (!is_xhtml && docbook_table_output == BufferParams::TableOutput::CALSTable)
attr << " colname='c" << (c + 1) << "'"; // CALS column numbering starts at 1.
// All cases where there should be a line *below* this row.
- if (docbook_table_output == BufferParams::TableOutput::CALSTable && row_info[row].bottom_space_default)
+ if (!is_xhtml && docbook_table_output == BufferParams::TableOutput::CALSTable && row_info[row].bottom_space_default)
attr << " rowsep='1'";
- OutputParams rp = runparams;
- rp.docbook_in_par = false;
- rp.docbook_force_pars = true;
+ // Render the cell as either XHTML or DocBook.
xs << xml::StartTag(cell_tag, attr.str(), true);
- cellInset(cell)->docbook(xs, rp);
+ if (is_xhtml) {
+ ret += cellInset(cell)->xhtml(xs, runparams);
+ } else {
+ // DocBook: no return value for this function.
+ OutputParams rp = runparams;
+ rp.docbook_in_par = false;
+ rp.docbook_force_pars = true;
+ cellInset(cell)->docbook(xs, rp);
+ }
xs << xml::EndTag(cell_tag);
xs << xml::CR();
++cell;
}
xs << xml::EndTag(row_tag);
xs << xml::CR();
+
+ return ret;
}
@@ -3730,7 +3734,7 @@ void Tabular::docbook(XMLStream & xs, OutputParams const & runparams) const
xs << xml::StartTag(tag);
for (row_type r = 0; r < nrows(); ++r)
if (row_info[r].caption)
- docbookRow(xs, r, runparams);
+ xmlRow(xs, r, runparams, false, false, buffer().params().docbook_table_output);
xs << xml::EndTag(tag);
xs << xml::CR();
}
@@ -3764,7 +3768,7 @@ void Tabular::docbook(XMLStream & xs, OutputParams const & runparams) const
if (((havefirsthead && row_info[r].endfirsthead) ||
(havehead && row_info[r].endhead)) &&
!row_info[r].caption) {
- docbookRow(xs, r, runparams, true);
+ xmlRow(xs, r, runparams, true, false, buffer().params().docbook_table_output);
}
}
xs << xml::EndTag("thead");
@@ -3782,7 +3786,7 @@ void Tabular::docbook(XMLStream & xs, OutputParams const & runparams) const
if (((havelastfoot && row_info[r].endlastfoot) ||
(havefoot && row_info[r].endfoot)) &&
!row_info[r].caption) {
- docbookRow(xs, r, runparams); // TODO: HTML vs CALS
+ xmlRow(xs, r, runparams, false, false, buffer().params().docbook_table_output);
}
}
xs << xml::EndTag("tfoot");
@@ -3795,7 +3799,7 @@ void Tabular::docbook(XMLStream & xs, OutputParams const & runparams) const
xs << xml::CR();
for (row_type r = 0; r < nrows(); ++r)
if (isValidRow(r))
- docbookRow(xs, r, runparams);
+ xmlRow(xs, r, runparams, false, false, buffer().params().docbook_table_output);
xs << xml::EndTag("tbody");
xs << xml::CR();
@@ -3807,43 +3811,6 @@ void Tabular::docbook(XMLStream & xs, OutputParams const & runparams) const
}
-docstring Tabular::xhtmlRow(XMLStream & xs, row_type row,
- OutputParams const & runparams, bool header) const
-{
- docstring ret;
- string const celltag = header ? "th" : "td";
- idx_type cell = getFirstCellInRow(row);
-
- xs << xml::StartTag("tr");
- for (col_type c = 0; c < ncols(); ++c) {
- if (isPartOfMultiColumn(row, c) || isPartOfMultiRow(row, c))
- continue;
-
- stringstream attr;
-
- Length const cwidth = column_info[c].p_width;
- if (!cwidth.zero()) {
- string const hwidth = cwidth.asHTMLString();
- attr << "style=\"width: " << hwidth << ";\" ";
- }
-
- attr << getHAlignAsXmlAttribute(cell, true) << " " << getVAlignAsXmlAttribute(cell);
-
- if (isMultiColumn(cell))
- attr << " colspan='" << columnSpan(cell) << "'";
- else if (isMultiRow(cell))
- attr << " rowspan='" << rowSpan(cell) << "'";
-
- xs << xml::StartTag(celltag, attr.str(), true) << xml::CR();
- ret += cellInset(cell)->xhtml(xs, runparams);
- xs << xml::EndTag(celltag) << xml::CR();
- ++cell;
- }
- xs << xml::EndTag("tr");
- return ret;
-}
-
-
docstring Tabular::xhtml(XMLStream & xs, OutputParams const & runparams) const
{
docstring ret;
@@ -3870,7 +3837,7 @@ docstring Tabular::xhtml(XMLStream & xs, OutputParams const & runparams) const
xs << xml::CR();
for (row_type r = 0; r < nrows(); ++r)
if (row_info[r].caption)
- ret += xhtmlRow(xs, r, runparams);
+ ret += xmlRow(xs, r, runparams);
xs << xml::EndTag("div");
xs << xml::CR();
}
@@ -3892,7 +3859,7 @@ docstring Tabular::xhtml(XMLStream & xs, OutputParams const & runparams) const
if (((havefirsthead && row_info[r].endfirsthead) ||
(havehead && row_info[r].endhead)) &&
!row_info[r].caption) {
- ret += xhtmlRow(xs, r, runparams, true);
+ ret += xmlRow(xs, r, runparams, true);
}
}
xs << xml::EndTag("thead");
@@ -3908,7 +3875,7 @@ docstring Tabular::xhtml(XMLStream & xs, OutputParams const & runparams) const
if (((havelastfoot && row_info[r].endlastfoot) ||
(havefoot && row_info[r].endfoot)) &&
!row_info[r].caption) {
- ret += xhtmlRow(xs, r, runparams);
+ ret += xmlRow(xs, r, runparams);
}
}
xs << xml::EndTag("tfoot");
@@ -3918,7 +3885,7 @@ docstring Tabular::xhtml(XMLStream & xs, OutputParams const & runparams) const
xs << xml::StartTag("tbody") << xml::CR();
for (row_type r = 0; r < nrows(); ++r)
if (isValidRow(r))
- ret += xhtmlRow(xs, r, runparams);
+ ret += xmlRow(xs, r, runparams);
xs << xml::EndTag("tbody");
xs << xml::CR();
xs << xml::EndTag("table");
diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h
index 217aaa5..8a99ef4 100644
--- a/src/insets/InsetTabular.h
+++ b/src/insets/InsetTabular.h
@@ -935,14 +935,10 @@ public:
idx_type cell, row_type row, col_type column,
std::vector<unsigned int> const &,
bool onlydata, size_t max_length) const;
- /// auxiliary function for DocBook
- void docbookRow(XMLStream &, row_type, OutputParams const &,
- bool header = false) const;
- void docbookRow(XMLStream &, row_type, OutputParams const &,
- bool header, BufferParams::TableOutput docbook_table_output) const;
- ///
- docstring xhtmlRow(XMLStream & xs, row_type, OutputParams const &,
- bool header = false) const;
+ ///
+ docstring xmlRow(XMLStream & xs, row_type row, OutputParams const &,
+ bool header = false, bool is_xhtml = true,
+ BufferParams::TableOutput docbook_table_output = BufferParams::TableOutput::HTMLTable) const;
/// Transforms the vertical alignment of the given cell as a prebaked XML attribute (for HTML and CALS).
std::string getHAlignAsXmlAttribute(idx_type cell, bool is_xhtml = true) const;
commit fa5db30d411d4c03cd2bc25de4cecb6d130b3a09
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Fri Apr 1 04:37:33 2022 +0200
Remove debug output.
diff --git a/src/insets/InsetERT.cpp b/src/insets/InsetERT.cpp
index b3e73ff..00f497f 100644
--- a/src/insets/InsetERT.cpp
+++ b/src/insets/InsetERT.cpp
@@ -158,8 +158,6 @@ void InsetERT::docbook(XMLStream & xs, OutputParams const & runparams) const
os_trimmed.insert(4, from_ascii("}"));
}
- std::cout << to_utf8(os_trimmed) << std::endl;
-
// Look into the global table of Unicode characters if there is a match.
bool termination;
docstring rem;
commit 46c6c40bea6ac75474b712b718b5903a8451bd31
Author: Pavel Sanda <sanda at lyx.org>
Date: Fri Apr 1 23:05:04 2022 +0200
* layouttranslations for bg
diff --git a/lib/layouttranslations b/lib/layouttranslations
index a85e72c..5d6d3c1 100644
--- a/lib/layouttranslations
+++ b/lib/layouttranslations
@@ -53,7 +53,7 @@ Translation ar
End
Translation bg
- "Acknowledgement" "ÐÑизнаÑелноÑÑ"
+ "Acknowledgement" "ÐлагодаÑноÑÑ"
"Algorithm" "AлгоÑиÑÑм"
"Assumption" "ÐопÑÑкане"
"Axiom" "ÐкÑиома"
@@ -82,7 +82,7 @@ Translation bg
"Nomenclature[[output]]" "РеÑник на ознаÑениÑÑа"
"Notation" "ÐзнаÑение"
"Note" "бележка"
- "Notes[[Endnotes]]" "Notes"
+ "Notes[[Endnotes]]" "Ðележки в кÑаÑ"
"Problem" "ÐадаÑа"
"Proof" "ÐоказаÑелÑÑво"
"Property" "СвоиÑÑво"
commit d1f8c48d1b27c0590037d3fd715d0ede6df44d4d
Author: Pavel Sanda <sanda at lyx.org>
Date: Fri Apr 1 22:56:57 2022 +0200
* bash_completion from Hernan Solari
diff --git a/lib/scripts/bash_completion b/lib/scripts/bash_completion
index 4d7b914..4e08fc0 100644
--- a/lib/scripts/bash_completion
+++ b/lib/scripts/bash_completion
@@ -34,8 +34,14 @@ _lyx()
fi
case "$last" in
- --export|-e)
- _filedir '+(pdf[1234]|PDF[1234]|pdf|PDF|ps|PS|xhtml|XHTML)';;
+ # check for export fmt. Short list presented
+ --export|-e|-E|--export-to)
+ COMPREPLY=( $(compgen -W 'latex pdflatex luatex xetex xhtml' -- $cur) );;
+ --import|-i)
+ # check for import format. Short list presented
+ # (-i | --import) requireas a second input _filedir
+ # must point to *tex | *text | *xhtml depending on choice
+ COMPREPLY=( $(compgen -W 'latex text luatex xetex xhtml' -- $cur) );;
-dbg)
# check for multiple debug commands
if [[ $cur == *,* ]]; then #
@@ -46,6 +52,34 @@ _lyx()
fi;;
--force-overwrite|-f)
COMPREPLY=( $( compgen -W 'all main none' -- $cur ) );;
+
+ latex|xetex|luatex|text|xhtml)
+ # we need to know if previous token was -i or -E
+ if [[ $COMP_CWORD > 2 ]]; then
+ prev=${COMP_WORDS[$(($COMP_CWORD - 2))]}
+ else
+ prev=''
+ fi
+ if (test $prev=="-i")|(test $prev=="-E"); then
+ case $last in
+ text)
+ _filedir '@(txt)' ;;
+ latex|luatex|xetex)
+ _filedir '@(tex)' ;;
+ xhtml)
+ _filedir '@(xhtml)' ;;
+ esac
+ fi;;
+ pdflatex)
+ # we need to know if previous token was -E
+ if [[ $COMP_CWORD > 2 ]]; then
+ prev=${COMP_WORDS[$(($COMP_CWORD - 2))]}
+ else
+ prev=''
+ fi
+ if test $prev == "-E"; then
+ _filedir '@(pdf)'
+ fi;;
*)
case "$cur" in
-*)
@@ -58,7 +92,7 @@ _lyx()
*)
# LyX files
- _filedir '@(lyx)'
+ _filedir '@(lyx)'
esac
esac
@@ -66,3 +100,4 @@ _lyx()
test $g -eq 0 && shopt -u extglob
} && complete -F _lyx $filenames lyx
+
commit 9804b544e9ab1775f219f1439bbe174b671f5871
Author: Pavel Sanda <sanda at lyx.org>
Date: Fri Apr 1 22:55:41 2022 +0200
Add Hernan to credits
diff --git a/lib/generate_contributions.py b/lib/generate_contributions.py
index 86ba4a8..d45db09 100755
--- a/lib/generate_contributions.py
+++ b/lib/generate_contributions.py
@@ -1915,7 +1915,15 @@ contributors = [
"m=151306079714476",
"12 December 2017",
u"Russian localization and documentation, bug reports and fixes, updating of code"),
-
+
+ contributor(u"Hernán Gustavo Solari",
+ "hgsolari () gmail ! com",
+ "GPL",
+ "Re: Bug#1008257: lyx: bash-completion not working",
+ "m=164864464510820",
+ "30 March 2022",
+ u"bash-completion fixes"),
+
contributor(u"Giovanni Sora",
"g.sora () tiscali ! it",
"GPL",
commit bcad19e504f845f8fe08d4d62b46e0fdbc67145e
Author: Kornel Benko <kornel at lyx.org>
Date: Fri Apr 1 20:14:47 2022 +0200
FindAdv: Handle latex-output for comment-environment
Disable if in search-adv modus and not searching in not-printed contents,
enable otherwise
diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp
index a452184..af1847c 100644
--- a/src/insets/InsetText.cpp
+++ b/src/insets/InsetText.cpp
@@ -485,6 +485,13 @@ void InsetText::latex(otexstream & os, OutputParams const & runparams) const
// environment. Standard collapsible insets should not
// redefine this, non-standard ones may call this.
InsetLayout const & il = getLayout();
+ if (runparams.for_searchAdv != OutputParams::NoSearch &&
+ (runparams.for_searchAdv & OutputParams::SearchNonOutput) == 0 &&
+ !il.latexname().empty() &&
+ il.latextype() == InsetLaTeXType::ENVIRONMENT &&
+ il.latexname() == "comment")
+ return;
+
if (il.forceOwnlines())
os << breakln;
bool needendgroup = false;
commit 83e65161a8a12be72aa6ba5b5037e378b2730051
Author: Kornel Benko <kornel at lyx.org>
Date: Fri Apr 1 13:45:57 2022 +0200
FindAdv: Ignore comment-feature (but not its content)
TODO: Handle 'comment' like other features, but this needs more thinking.
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 61749d4..53058dd 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -1037,7 +1037,7 @@ private:
** @todo Normalization should also expand macros, if the corresponding
** search option was checked.
**/
- string normalize(docstring const & s) const;
+ string normalize(docstring const & s, bool ignore_fomat) const;
// normalized string to search
string par_as_string;
// regular expression to use for searching
@@ -3029,7 +3029,7 @@ int LatexInfo::dispatch(ostringstream &os, int previousStart, KeyInfo &actual)
// Remove the key with all parameters and following spaces
size_t pos;
size_t start;
- if (interval_.par[actual._dataEnd-1] == ' ')
+ if (interval_.par[actual._dataEnd-1] == ' ' || interval_.par[actual._dataEnd-1] == '}')
start = actual._dataEnd;
else
start = actual._dataEnd+1;
@@ -3536,7 +3536,7 @@ MatchStringAdv::MatchStringAdv(lyx::Buffer & buf, FindAndReplaceOptions & opt)
previous_single_replace = true;
}
// When using regexp, braces are hacked already by escape_for_regex()
- par_as_string = normalize(ds);
+ par_as_string = normalize(ds, opt.ignoreformat);
open_braces = 0;
close_wildcards = 0;
@@ -3660,7 +3660,7 @@ MatchResult MatchStringAdv::findAux(DocIterator const & cur, int len, bool at_be
docstring docstr = stringifyFromForSearch(opt, cur, len);
string str;
- str = normalize(docstr);
+ str = normalize(docstr, opt.ignoreformat);
if (!opt.ignoreformat) {
str = correctlanguagesetting(str, false, !opt.ignoreformat);
// remove closing '}' and '\n' to allow for use of '$' in regex
@@ -3854,16 +3854,22 @@ static bool simple_replace(string &t, string from, string to)
}
#endif
-string MatchStringAdv::normalize(docstring const & s) const
+string MatchStringAdv::normalize(docstring const & s, bool ignore_format) const
{
string t;
t = lyx::to_utf8(s);
// Remove \n at begin
while (!t.empty() && t[0] == '\n')
t = t.substr(1);
- // Remove \n at end
- while (!t.empty() && t[t.size() - 1] == '\n')
- t = t.substr(0, t.size() - 1);
+ // Remove [%]*\n at end
+ while (!t.empty() && t[t.size() - 1] == '\n') {
+ int count = 1;
+ if (!ignore_format) {
+ while ((t.size() > 1 + count) && (t[t.size() - 1 - count] == '%'))
+ count++;
+ }
+ t = t.substr(0, t.size() - count);
+ }
size_t pos;
// Handle all other '\n'
while ((pos = t.find("\n")) != string::npos) {
@@ -3876,13 +3882,24 @@ string MatchStringAdv::normalize(docstring const & s) const
t.replace(pos-2, 3, "");
}
}
- else if (!isAlnumASCII(t[pos+1]) || !isAlnumASCII(t[pos-1])) {
- // '\n' adjacent to non-alpha-numerics, discard
- t.replace(pos, 1, "");
- }
else {
- // Replace all other \n with spaces
- t.replace(pos, 1, " ");
+ if (!isAlnumASCII(t[pos+1]) || !isAlnumASCII(t[pos-1])) {
+ // '\n' adjacent to non-alpha-numerics, discard
+ t.replace(pos, 1, "");
+ }
+ else {
+ // Replace all other \n with spaces
+ t.replace(pos, 1, " ");
+ }
+ if (!ignore_format) {
+ int count = 0;
+ while ((pos > count + 1) && (t[pos - 1 -count] == '%')) {
+ count++;
+ }
+ if (count > 0) {
+ t.replace(pos - count, count, "");
+ }
+ }
}
}
// Remove stale empty \emph{}, \textbf{} and similar blocks from latexify
commit 1aa449785e075425dec69c7887e1c42d5ebccd36
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Fri Apr 1 11:34:26 2022 +0200
Indentation
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 35fdd68..61749d4 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -192,7 +192,7 @@ IgnoreFormats ignoreFormats;
void setIgnoreFormat(string const & type, bool value, bool fromUser)
{
- ignoreFormats.setIgnoreFormat(type, value, fromUser);
+ ignoreFormats.setIgnoreFormat(type, value, fromUser);
}
commit 898007fecdb0d9d4119b9548fa62f2ec783f51e8
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Fri Apr 1 09:27:55 2022 +0200
bg.po: update from Veselin
diff --git a/po/bg.po b/po/bg.po
index 85af081..8a470b3 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: LyX 2.3.x\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2021-03-05 15:06-0500\n"
+"POT-Creation-Date: 2022-02-16 12:05+0200\n"
"PO-Revision-Date: 2019-04-23 13:49+0300\n"
"Last-Translator: V. Jeliazkov <vveesskkoo at google.com>\n"
"Language-Team: Bulgarian <lyx-docs at lists.lyx.org>\n"
@@ -23,33 +23,30 @@ msgstr "ÐеÑÑиÑ"
# src/lyxfunc.C:1132
#: src/frontends/qt/ui/AboutUi.ui:150
-#, fuzzy
msgid "Library directory"
-msgstr "ÐиÑекÑоÑÐ¸Ñ Ð·Ð° библиоÑекиÑе: "
+msgstr "ÐиÑекÑоÑÐ¸Ñ Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑекиÑе"
#: src/frontends/qt/ui/AboutUi.ui:162
msgid "Open library directory in file browser"
-msgstr ""
+msgstr "ÐÑваÑÑне на диÑекÑоÑиÑÑа Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑекиÑе"
#: src/frontends/qt/ui/AboutUi.ui:165
msgid "[[do]]&Open"
-msgstr ""
+msgstr "&ÐÑваÑÑне"
# src/lyxfunc.C:1132
#: src/frontends/qt/ui/AboutUi.ui:200
-#, fuzzy
msgid "User directory"
-msgstr "ÐоÑÑебиÑелÑка диÑекÑоÑиÑ: "
+msgstr "ÐиÑекÑоÑÐ¸Ñ Ð½Ð° поÑÑебиÑелÑ"
#: src/frontends/qt/ui/AboutUi.ui:231
msgid "Open user directory in file browser"
-msgstr ""
+msgstr "ÐÑваÑÑне на диÑекÑоÑиÑÑа Ñ Ñайлов мениджÑÑ"
# src/LyXAction.C:144
#: src/frontends/qt/ui/AboutUi.ui:234
-#, fuzzy
msgid "[[do]]O&pen"
-msgstr "&РазÑиÑен"
+msgstr "Ð&ÑваÑÑне"
# src/credits.C:72
#: src/frontends/qt/ui/AboutUi.ui:263
@@ -65,7 +62,7 @@ msgstr "ÐвÑоÑÑки пÑава"
# src/ext_l10n.h:131
#: src/frontends/qt/ui/AboutUi.ui:313
msgid "Build Info"
-msgstr "ÐаÑÑÑойки пÑи компилиÑане"
+msgstr "ÐомпилиÑане"
# src/LColor.C:97
#: src/frontends/qt/ui/AboutUi.ui:338
@@ -74,23 +71,21 @@ msgstr "Ðележки кÑм изданиеÑо"
#: src/frontends/qt/ui/AboutUi.ui:383
msgid "Copy version information to clipboard"
-msgstr ""
+msgstr "ÐопиÑане на инÑоÑмаÑиÑÑа за веÑÑиÑÑа в бÑÑеÑа"
# src/LyXAction.C:303
#: src/frontends/qt/ui/AboutUi.ui:386
-#, fuzzy
msgid "Copy &Version Info"
-msgstr "ÐмÑкни бел. в поле"
+msgstr "ÐопиÑане на веÑÑиÑÑа"
# src/ext_l10n.h:186
#: src/frontends/qt/ui/BibitemUi.ui:26 src/frontends/qt/ui/BibitemUi.ui:45
-#, fuzzy
msgid "The bibliography key"
-msgstr "ÐиблиогÑаÑиÑ"
+msgstr "ÐиблиогÑаÑÑки клÑÑ"
#: src/frontends/qt/ui/BibitemUi.ui:29
msgid "Ke&y:"
-msgstr "&ÐлÑÑ"
+msgstr "&ÐлÑÑ:"
# src/frontends/xforms/FormPreferences.C:1278
#: src/frontends/qt/ui/BibitemUi.ui:52 src/frontends/qt/ui/BibitemUi.ui:76
@@ -108,19 +103,17 @@ msgstr "EÑикеÑ:"
# src/lyx_gui_misc.C:430
#: src/frontends/qt/ui/BibitemUi.ui:83
-#, fuzzy
msgid "&Year:"
-msgstr "годена"
+msgstr "&Ðодина"
#: src/frontends/qt/ui/BibitemUi.ui:96
msgid "The year with \"Author (Year)\" citations (without parentheses)."
-msgstr ""
+msgstr "ЦиÑаÑи Ñ Ð³Ð¾Ð´Ð¸Ð½Ð°Ñа âÐвÑÐ¾Ñ (година)â без Ñкоби."
# src/ext_l10n.h:175
#: src/frontends/qt/ui/BibitemUi.ui:105 src/frontends/qt/GuiBibitem.cpp:64
-#, fuzzy
msgid "A&ll Author Names:"
-msgstr "ÐвÑоÑ"
+msgstr "ÐÑлно име на авÑоÑа:"
#: src/frontends/qt/ui/BibitemUi.ui:115
msgid ""
@@ -128,6 +121,9 @@ msgid ""
"full list for author-year citation, you can put the full list here and the "
"abbreviated list above."
msgstr ""
+"Ðко желаеÑе да използваÑе ÑÑкÑаÑен ÑпиÑÑк Ñ Ð°Ð²ÑоÑи Ñ âи дÑ.â накÑаÑ, какÑо и "
+"пÑлен ÑпиÑÑк Ñ ÑиÑаÑи авÑоÑ-година можеÑе да поÑÑавиÑе пÑÐ»Ð½Ð¸Ñ ÑпиÑÑк ÑÑк, а "
+"ÑÑкÑаÑÐµÐ½Ð¸Ñ Ð¾ÑгоÑе."
#: src/frontends/qt/ui/BibitemUi.ui:122 src/frontends/qt/GuiBibitem.cpp:93
msgid ""
@@ -173,8 +169,8 @@ msgid "Provides available cite style variants."
msgstr "ÐÑигÑÑÑване на налиÑниÑе ÑÑилове за ÑиÑиÑаниÑ."
# src/form1.C:129 src/sp_form.C:58
-#: src/frontends/qt/ui/BiblioUi.ui:118 src/frontends/qt/GuiPrefs.cpp:729
-#: src/frontends/qt/GuiPrefs.cpp:858
+#: src/frontends/qt/ui/BiblioUi.ui:118 src/frontends/qt/GuiPrefs.cpp:733
+#: src/frontends/qt/GuiPrefs.cpp:862
msgid "Opt&ions:"
msgstr "&опÑии: "
@@ -308,8 +304,8 @@ msgstr "ÐзбиÑане на пÑогÑама за ÑÑÑÑавÑне на ли
# src/form1.C:129 src/sp_form.C:58
#: 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:754
-#: src/frontends/qt/GuiPrefs.cpp:885
+#: src/frontends/qt/ui/PrefLatexUi.ui:205 src/frontends/qt/GuiPrefs.cpp:758
+#: src/frontends/qt/GuiPrefs.cpp:889
msgid "Op&tions:"
msgstr "ÐпÑии:"
@@ -317,6 +313,7 @@ msgstr "ÐпÑии:"
msgid ""
"Define options such as --min-crossrefs (see the documentation of BibTeX)"
msgstr ""
+"ÐеÑиниÑане на опÑии каÑо --min-crossrefs (виж докÑменÑаÑиÑÑа на BibTeX)"
# src/insets/insetbib.C:339
#: src/frontends/qt/ui/BibtexUi.ui:23
@@ -365,9 +362,8 @@ msgstr "&ÐÑемаÑ
ване"
# src/frontends/gnome/FormCitation.C:560
#: src/frontends/qt/ui/BibtexUi.ui:107
-#, fuzzy
msgid "Move the selected database up (Ctrl-Up)"
-msgstr "ÐÑемеÑÑване избÑÐ°Ð½Ð¸Ñ Ñайл нагоÑе (Ctrl-гоÑна ÑÑÑелка)"
+msgstr "ÐÑемеÑÑване избÑанаÑа база дании нагоÑе (Ctrl-гоÑна ÑÑÑелка)"
# src/frontends/kde/refdlg.C:81 src/frontends/kde/tocdlg.C:43
#: src/frontends/qt/ui/BibtexUi.ui:110 src/frontends/qt/ui/CitationUi.ui:191
@@ -377,9 +373,8 @@ msgstr "ÐÑемеÑÑване на&гоÑе"
# src/frontends/gnome/FormCitation.C:560
#: src/frontends/qt/ui/BibtexUi.ui:130
-#, fuzzy
msgid "Move the selected database down (Ctrl-Down)"
-msgstr "ÐÑемеÑÑване на избÑÐ°Ð½Ð¸Ñ Ñайл Ð½Ð°Ð´Ð¾Ð»Ñ (Ctrl-долна ÑÑÑелка)"
+msgstr "ÐÑемеÑÑване на избÑанаÑа база дании Ð½Ð°Ð´Ð¾Ð»Ñ (Ctrl-долна ÑÑÑелка)"
# src/ext_l10n.h:398
#: src/frontends/qt/ui/BibtexUi.ui:133 src/frontends/qt/ui/CitationUi.ui:214
@@ -389,13 +384,11 @@ msgstr "ÐÑемеÑÑване на&долÑ"
# src/ext_l10n.h:94
#: src/frontends/qt/ui/BibtexUi.ui:160
-#, fuzzy
msgid "Edit selected database externally"
-msgstr "ÐÑнÑен маÑеÑиал(x)...|x"
+msgstr "РедакÑиÑане на базаÑа данни Ñ Ð²ÑнÑна пÑогÑама"
# src/MenuBackend.C:444 src/ext_l10n.h:2 src/ext_l10n.h:5
#: src/frontends/qt/ui/BibtexUi.ui:163
-#, fuzzy
msgid "&Edit..."
msgstr "&РедакÑиÑане"
@@ -450,9 +443,9 @@ msgid "Add L&ocal..."
msgstr "ÐобавÑне на дÑÑг"
# src/form1.C:129 src/sp_form.C:58
-#: src/frontends/qt/ui/BibtexUi.ui:304 lib/layouts/beamer.layout:518
-#: lib/layouts/beamer.layout:547 lib/layouts/beamer.layout:558
-#: lib/layouts/beamer.layout:586 lib/layouts/beamer.layout:689
+#: src/frontends/qt/ui/BibtexUi.ui:304 lib/layouts/beamer.layout:520
+#: lib/layouts/beamer.layout:549 lib/layouts/beamer.layout:560
+#: lib/layouts/beamer.layout:588 lib/layouts/beamer.layout:691
#: lib/layouts/chessboard.module:31 lib/layouts/chessboard.module:61
#: lib/layouts/chessboard.module:139 lib/layouts/fixme.module:68
#: lib/layouts/fixme.module:103 lib/layouts/fixme.module:146
@@ -505,9 +498,8 @@ msgstr "ÐобавÑне на лиÑ. ÑпиÑÑк кÑм ÑÑдÑÑжаниеÑ
# src/ext_l10n.h:215
#: src/frontends/qt/ui/BibtexUi.ui:383
-#, fuzzy
msgid "Custo&m:"
-msgstr "поÑÑебиÑелÑко"
+msgstr "ÐÑ Ð¿Ð¾ÑÑебиÑелÑ:"
#: src/frontends/qt/ui/BibtexUi.ui:393
msgid ""
@@ -568,9 +560,9 @@ msgstr "ÐзбиÑане Ñип на вÑÑÑеÑноÑо оÑоÑмление"
#: 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:420 src/frontends/qt/GuiBox.cpp:630
-#: src/frontends/qt/GuiDocument.cpp:124 src/frontends/qt/GuiGraphics.cpp:576
-#: src/frontends/qt/GuiMathMatrix.cpp:33 src/frontends/qt/GuiPrefs.cpp:2285
-#: src/frontends/qt/GuiPrefs.cpp:2308
+#: src/frontends/qt/GuiDocument.cpp:124 src/frontends/qt/GuiGraphics.cpp:582
+#: src/frontends/qt/GuiMathMatrix.cpp:33 src/frontends/qt/GuiPrefs.cpp:2327
+#: src/frontends/qt/GuiPrefs.cpp:2350
msgid "None"
msgstr "нÑма"
@@ -647,17 +639,17 @@ msgstr "&Рамка:"
# src/frontends/kde/dlg/paraextradlgdata.C:142
#: 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:462 src/frontends/qt/GuiMathMatrix.cpp:54
+#: lib/ui/stdcontext.inc:482 src/frontends/qt/GuiMathMatrix.cpp:54
msgid "Top"
msgstr "оÑгоÑе"
# src/frontends/kde/dlg/paraextradlgdata.C:155
#: 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:463 src/frontends/qt/GuiMathMatrix.cpp:55
-#: src/frontends/qt/GuiTabular.cpp:250
+#: lib/ui/stdcontext.inc:483 src/frontends/qt/GuiMathMatrix.cpp:55
+#: src/frontends/qt/GuiTabular.cpp:256
msgid "Middle"
-msgstr "ÑенÑÑиÑане"
+msgstr "ÑенÑÑÑ"
# src/frontends/kde/dlg/paraextradlgdata.C:168
#: src/frontends/qt/ui/BoxUi.ui:214 src/frontends/qt/ui/BoxUi.ui:244
@@ -677,7 +669,7 @@ msgstr "ÑенÑÑиÑане"
#: lib/layouts/g-brief2.layout:593 lib/layouts/g-brief2.layout:613
#: lib/layouts/g-brief2.layout:634 lib/layouts/g-brief2.layout:654
#: lib/layouts/g-brief2.layout:674 lib/layouts/g-brief2.layout:694
-#: lib/layouts/g-brief2.layout:714 lib/ui/stdcontext.inc:464
+#: lib/layouts/g-brief2.layout:714 lib/ui/stdcontext.inc:484
#: src/frontends/qt/GuiMathMatrix.cpp:56
msgid "Bottom"
msgstr "оÑдолÑ"
@@ -691,35 +683,35 @@ msgstr "запÑлване"
# src/frontends/kde/dlg/parageneraldlgdata.C:120
#: 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:1542
-#: src/frontends/qt/GuiParagraph.cpp:115 src/frontends/qt/GuiTabular.cpp:1036
+#: src/frontends/qt/ui/WrapUi.ui:47 src/frontends/qt/GuiDocument.cpp:1554
+#: src/frontends/qt/GuiParagraph.cpp:115 src/frontends/qt/GuiTabular.cpp:1042
msgid "Left"
msgstr "лÑво"
# src/frontends/kde/dlg/parageneraldlgdata.C:107
#: src/frontends/qt/ui/BoxUi.ui:270 src/frontends/qt/ui/TabularUi.ui:349
#: src/frontends/qt/GuiExternal.cpp:78 src/frontends/qt/GuiGraphics.cpp:73
-#: src/frontends/qt/GuiParagraph.cpp:117 src/frontends/qt/GuiTabular.cpp:1037
+#: src/frontends/qt/GuiParagraph.cpp:117 src/frontends/qt/GuiTabular.cpp:1043
msgid "Center"
-msgstr "ÑенÑÑиÑане"
+msgstr "ÑенÑÑÑ"
# src/frontends/kde/dlg/parageneraldlgdata.C:133
#: 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:1544 src/frontends/qt/GuiParagraph.cpp:116
-#: src/frontends/qt/GuiTabular.cpp:1038
+#: src/frontends/qt/GuiDocument.cpp:1556 src/frontends/qt/GuiParagraph.cpp:116
+#: src/frontends/qt/GuiTabular.cpp:1044
msgid "Right"
msgstr "дÑÑно"
# src/ext_l10n.h:219
#: src/frontends/qt/ui/BoxUi.ui:299 src/frontends/qt/ui/CharacterUi.ui:145
msgid "Decoration"
-msgstr "УкÑаÑа"
+msgstr "ÐаÑ. знаÑи"
# src/ext_l10n.h:219
#: src/frontends/qt/ui/BoxUi.ui:308
msgid "Decoration box types"
-msgstr "Ðидове ÑкÑаÑа на ÑамкиÑе"
+msgstr "ÐнаÑи за маÑ. изÑази"
# src/frontends/kde/parageneraldlg.C:40 src/frontends/kde/parageneraldlg.C:47
#: src/frontends/qt/ui/BoxUi.ui:318
@@ -743,7 +735,7 @@ msgstr "ÐÑÑÑоÑние "
# src/ext_l10n.h:219
#: src/frontends/qt/ui/BoxUi.ui:358
msgid "&Decoration:"
-msgstr "&УкÑаÑа"
+msgstr "&ФоÑма"
# src/frontends/xforms/form_document.C:262
#: src/frontends/qt/ui/BoxUi.ui:368
@@ -785,9 +777,8 @@ msgstr "ÐзбеÑеÑе подÑ
одÑÑоÑо Ñазклонение"
# src/frontends/xforms/FormPreferences.C:226
# src/frontends/xforms/FormPreferences.C:255
#: src/frontends/qt/ui/BranchUi.ui:37
-#, fuzzy
msgid "Inverted"
-msgstr "ÐонвеÑÑоÑи"
+msgstr "обÑÑнаÑо"
#: src/frontends/qt/ui/BranchesUi.ui:35
msgid ""
@@ -814,7 +805,7 @@ msgstr "ÐзÑÑиване на избÑаноÑо Ñазклонение."
# src/frontends/kde/dlg/paradlgdata.C:82
#: src/frontends/qt/ui/BranchesUi.ui:74 src/frontends/qt/ui/IndicesUi.ui:165
-#: src/Buffer.cpp:4722 src/Buffer.cpp:4735
+#: src/Buffer.cpp:4733 src/Buffer.cpp:4746
msgid "&Remove"
msgstr "&ÐÑемаÑ
ване"
@@ -871,14 +862,13 @@ msgstr "&Ðово"
#: src/frontends/qt/ui/BranchesUi.ui:169
msgid "Reset branch color to default (standard background)"
-msgstr ""
+msgstr "Ðадавене ÑвÑÑ Ð½Ð° ÑазклонениеÑо по подÑазбиÑане (ÑÑандаÑÑен Ñон)"
# src/frontends/xforms/form_preferences.C:600
# src/frontends/xforms/form_preferences.C:687
#: src/frontends/qt/ui/BranchesUi.ui:172
-#, fuzzy
msgid "R&eset Color"
-msgstr "ÐÑезаÑеждане"
+msgstr "&ЦвеÑове по подÑазбиÑане"
# src/frontends/gnome/FormCitation.C:560
#: src/frontends/qt/ui/BranchesUnknownUi.ui:25
@@ -905,18 +895,18 @@ msgstr "ÐобавÑне на вÑиÑки"
# src/frontends/kde/dlg/printdlgdata.C:133
# src/frontends/kde/dlg/tabcreatedlgdata.C:60 src/frontends/kde/indexdlg.C:65
# src/frontends/kde/refdlg.C:92 src/frontends/kde/urldlg.C:58
-#: src/frontends/qt/ui/BranchesUnknownUi.ui:58 src/Buffer.cpp:1457
-#: src/Buffer.cpp:4696 src/Buffer.cpp:4790 src/LyXVC.cpp:114 src/LyXVC.cpp:310
+#: src/frontends/qt/ui/BranchesUnknownUi.ui:58 src/Buffer.cpp:1458
+#: src/Buffer.cpp:4707 src/Buffer.cpp:4817 src/LyXVC.cpp:114 src/LyXVC.cpp:310
#: src/buffer_funcs.cpp:56 src/frontends/qt/GuiBranches.cpp:226
-#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2834
-#: src/frontends/qt/GuiParagraph.cpp:177 src/frontends/qt/GuiPrefs.cpp:3365
-#: src/frontends/qt/GuiView.cpp:2683 src/frontends/qt/GuiView.cpp:2915
-#: src/frontends/qt/GuiView.cpp:2939 src/frontends/qt/GuiView.cpp:2953
-#: src/frontends/qt/GuiView.cpp:3055 src/frontends/qt/GuiView.cpp:3100
-#: src/frontends/qt/GuiView.cpp:3155 src/frontends/qt/GuiView.cpp:3389
-#: src/frontends/qt/GuiView.cpp:3403 src/frontends/qt/GuiView.cpp:3505
-#: src/frontends/qt/GuiView.cpp:3530 src/frontends/qt/GuiView.cpp:4234
-#: src/frontends/qt/GuiView.cpp:4241 src/insets/InsetBibtex.cpp:153
+#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2852
+#: src/frontends/qt/GuiParagraph.cpp:177 src/frontends/qt/GuiPrefs.cpp:3414
+#: src/frontends/qt/GuiView.cpp:2875 src/frontends/qt/GuiView.cpp:3107
+#: src/frontends/qt/GuiView.cpp:3131 src/frontends/qt/GuiView.cpp:3145
+#: src/frontends/qt/GuiView.cpp:3247 src/frontends/qt/GuiView.cpp:3292
+#: src/frontends/qt/GuiView.cpp:3347 src/frontends/qt/GuiView.cpp:3581
+#: src/frontends/qt/GuiView.cpp:3595 src/frontends/qt/GuiView.cpp:3697
+#: src/frontends/qt/GuiView.cpp:3722 src/frontends/qt/GuiView.cpp:4426
+#: src/frontends/qt/GuiView.cpp:4433 src/insets/InsetBibtex.cpp:153
msgid "&Cancel"
msgstr "&ÐÑказване"
@@ -932,7 +922,7 @@ msgstr "&ÐеопÑеделени ÑазклонениÑ:"
# src/insets/insetbib.C:69 src/insets/insetbib.C:70 src/insets/insetbib.C:210
# src/insets/insetbib.C:211
-#: src/frontends/qt/ui/BulletsUi.ui:17 src/frontends/qt/ui/PDFSupportUi.ui:421
+#: src/frontends/qt/ui/BulletsUi.ui:17 src/frontends/qt/ui/PDFSupportUi.ui:406
msgid "&Level:"
msgstr "&Ðиво:"
@@ -962,20 +952,20 @@ msgstr "&РазмеÑ:"
#: src/frontends/qt/GuiCharacter.cpp:85 src/frontends/qt/GuiCharacter.cpp:98
#: src/frontends/qt/GuiCharacter.cpp:136 src/frontends/qt/GuiCharacter.cpp:147
#: src/frontends/qt/GuiCharacter.cpp:190 src/frontends/qt/GuiCharacter.cpp:241
-#: src/frontends/qt/GuiDocument.cpp:120 src/frontends/qt/GuiDocument.cpp:858
-#: src/frontends/qt/GuiDocument.cpp:878 src/frontends/qt/GuiDocument.cpp:1048
-#: src/frontends/qt/GuiDocument.cpp:1133 src/frontends/qt/GuiDocument.cpp:1179
-#: src/frontends/qt/GuiDocument.cpp:1190 src/frontends/qt/GuiDocument.cpp:1418
-#: src/frontends/qt/GuiDocument.cpp:1536 src/frontends/qt/GuiDocument.cpp:1543
-#: src/frontends/qt/GuiDocument.cpp:2576 src/frontends/qt/GuiDocument.cpp:2663
-#: src/frontends/qt/GuiDocument.cpp:2664 src/frontends/qt/GuiDocument.cpp:2665
-#: src/frontends/qt/GuiDocument.cpp:2685 src/frontends/qt/GuiDocument.cpp:2692
-#: src/frontends/qt/GuiDocument.cpp:2699 src/frontends/qt/GuiDocument.cpp:2789
-#: src/frontends/qt/GuiDocument.cpp:3398 src/frontends/qt/GuiDocument.cpp:4888
+#: src/frontends/qt/GuiDocument.cpp:120 src/frontends/qt/GuiDocument.cpp:866
+#: src/frontends/qt/GuiDocument.cpp:886 src/frontends/qt/GuiDocument.cpp:1058
+#: src/frontends/qt/GuiDocument.cpp:1143 src/frontends/qt/GuiDocument.cpp:1189
+#: src/frontends/qt/GuiDocument.cpp:1200 src/frontends/qt/GuiDocument.cpp:1430
+#: src/frontends/qt/GuiDocument.cpp:1548 src/frontends/qt/GuiDocument.cpp:1555
+#: src/frontends/qt/GuiDocument.cpp:2590 src/frontends/qt/GuiDocument.cpp:2677
+#: src/frontends/qt/GuiDocument.cpp:2678 src/frontends/qt/GuiDocument.cpp:2679
+#: src/frontends/qt/GuiDocument.cpp:2703 src/frontends/qt/GuiDocument.cpp:2710
+#: src/frontends/qt/GuiDocument.cpp:2717 src/frontends/qt/GuiDocument.cpp:2807
+#: src/frontends/qt/GuiDocument.cpp:3413 src/frontends/qt/GuiDocument.cpp:4908
#: src/frontends/qt/GuiExternal.cpp:76 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:2437
-#: src/frontends/qt/GuiPrefs.cpp:2583 src/frontends/qt/GuiPrintNomencl.cpp:47
+#: src/frontends/qt/GuiIndices.cpp:58 src/frontends/qt/GuiListings.cpp:160
+#: src/frontends/qt/GuiListings.cpp:167 src/frontends/qt/GuiPrefs.cpp:2483
+#: src/frontends/qt/GuiPrefs.cpp:2629 src/frontends/qt/GuiPrintNomencl.cpp:47
#: src/frontends/qt/GuiTabularCreate.cpp:107
#: src/frontends/qt/GuiViewSource.cpp:341
msgid "Default"
@@ -983,43 +973,43 @@ msgstr "по подÑазбиÑане"
# src/lyxfont.C:56
#: src/frontends/qt/ui/BulletsUi.ui:142 src/FontInfo.cpp:55
-#: src/frontends/qt/GuiCharacter.cpp:65 src/frontends/qt/GuiListings.cpp:156
+#: src/frontends/qt/GuiCharacter.cpp:65 src/frontends/qt/GuiListings.cpp:160
msgid "Tiny"
msgstr "ÐÑебен"
# src/lyxfont.C:56
#: src/frontends/qt/ui/BulletsUi.ui:147 src/FontInfo.cpp:55
-#: src/frontends/qt/GuiCharacter.cpp:66 src/frontends/qt/GuiListings.cpp:156
+#: src/frontends/qt/GuiCharacter.cpp:66 src/frontends/qt/GuiListings.cpp:160
msgid "Smallest"
msgstr "Ðай-малÑк"
# src/lyxfont.C:56
#: src/frontends/qt/ui/BulletsUi.ui:152 src/FontInfo.cpp:55
-#: src/frontends/qt/GuiCharacter.cpp:67 src/frontends/qt/GuiListings.cpp:156
+#: src/frontends/qt/GuiCharacter.cpp:67 src/frontends/qt/GuiListings.cpp:160
msgid "Smaller"
msgstr "Ðо-малÑк"
# src/lyxfont.C:56
#: src/frontends/qt/ui/BulletsUi.ui:157 src/FontInfo.cpp:55
-#: src/frontends/qt/GuiCharacter.cpp:68 src/frontends/qt/GuiListings.cpp:156
+#: src/frontends/qt/GuiCharacter.cpp:68 src/frontends/qt/GuiListings.cpp:160
msgid "Small"
msgstr "ÐалÑк"
# src/frontends/kde/paraextradlg.C:25 src/lyxfont.C:56
#: src/frontends/qt/ui/BulletsUi.ui:162 src/FontInfo.cpp:55
-#: src/frontends/qt/GuiCharacter.cpp:69 src/frontends/qt/GuiListings.cpp:156
+#: src/frontends/qt/GuiCharacter.cpp:69 src/frontends/qt/GuiListings.cpp:160
msgid "Normal"
msgstr "ÐоÑмален"
# src/lyxfont.C:56
#: src/frontends/qt/ui/BulletsUi.ui:167 src/FontInfo.cpp:55
-#: src/frontends/qt/GuiCharacter.cpp:70 src/frontends/qt/GuiListings.cpp:157
+#: src/frontends/qt/GuiCharacter.cpp:70 src/frontends/qt/GuiListings.cpp:161
msgid "Large"
msgstr "ÐолÑм"
# src/lyxfont.C:57
#: src/frontends/qt/ui/BulletsUi.ui:172 src/FontInfo.cpp:56
-#: src/frontends/qt/GuiCharacter.cpp:71 src/frontends/qt/GuiListings.cpp:157
+#: src/frontends/qt/GuiCharacter.cpp:71 src/frontends/qt/GuiListings.cpp:161
msgid "Larger"
msgstr "Ðо-голÑм"
@@ -1042,35 +1032,30 @@ msgid "Huger"
msgstr "ÐÑамаден"
#: src/frontends/qt/ui/ChangeTrackingUi.ui:20
-#, fuzzy
msgid "If checked, additions and deletions will be tracked in the document"
msgstr ""
-"Само ако е оÑмеÑнаÑо бележкиÑе и коменÑаÑиÑе Ñе пÑовеÑÑÐ²Ð°Ñ Ð·Ð° пÑавопиÑни "
-"гÑеÑки"
+"Ðко е оÑмеÑнаÑо пÑоÑеÑа на добавÑне и изÑÑиване Ñе пÑоÑледÑва в докÑменÑа"
# src/ext_l10n.h:31
#: src/frontends/qt/ui/ChangeTrackingUi.ui:23
-#, fuzzy
msgid "&Track changes"
-msgstr "ÐÑоÑледÑване на пÑомениÑе"
+msgstr "&ÐÑоÑледÑване на пÑомениÑе"
#: src/frontends/qt/ui/ChangeTrackingUi.ui:30
msgid "If checked, changes will be shown in the PDF/DVI/PS output"
-msgstr ""
+msgstr "Ðко е оÑмеÑнаÑо пÑомениÑе Ñе Ð¿Ð¾ÐºÐ°Ð·Ð²Ð°Ñ Ð² кÑÐ°Ð¹Ð½Ð¸Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ (PDF/DVI/PS)"
#: src/frontends/qt/ui/ChangeTrackingUi.ui:33
-#, fuzzy
msgid "&Show changes in output"
-msgstr "Ðоказване на пÑомениÑе в кÑÐ°Ð¹Ð½Ð¸Ñ Ð´Ð¾ÐºÑменÑ"
+msgstr "Ð&оказване на пÑомениÑе в кÑÐ°Ð¹Ð½Ð¸Ñ Ð´Ð¾ÐºÑменÑ"
#: src/frontends/qt/ui/ChangeTrackingUi.ui:40
msgid "Use change bars in addition to change tracking markup"
-msgstr ""
+msgstr "Ðзползване на веÑÑикални ÑеÑÑи в допÑлнение кÑм оÑкÑоÑване на пÑомениÑе"
#: src/frontends/qt/ui/ChangeTrackingUi.ui:43
-#, fuzzy
msgid "Use change &bars in output"
-msgstr "Ðоказване на пÑомениÑе в кÑÐ°Ð¹Ð½Ð¸Ñ Ð´Ð¾ÐºÑменÑ"
+msgstr "Ðзползване на ÑеÑÑи в кÑÐ°Ð¹Ð½Ð¸Ñ Ð´Ð¾ÐºÑменÑ"
# src/LyXAction.C:263
#: src/frontends/qt/ui/ChangesUi.ui:38
@@ -1183,15 +1168,14 @@ msgid "Strike-through text"
msgstr "ÐаÑеÑÑаване (задÑаÑкване) на ÑекÑа"
# src/frontends/xforms/FormPreferences.C:223
-#: src/frontends/qt/ui/CharacterUi.ui:254 src/frontends/qt/GuiPrefs.cpp:211
+#: src/frontends/qt/ui/CharacterUi.ui:254 src/frontends/qt/GuiPrefs.cpp:215
msgid "Language Settings"
msgstr "Ðзикови наÑÑÑойки"
# диалогов пÑозоÑеÑ
# src/layout_forms.C:64
#: 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:57
+#: src/frontends/qt/ui/SpellcheckerUi.ui:28
#: src/frontends/qt/ui/ThesaurusUi.ui:23
msgid "&Language:"
msgstr "&Ðзик:"
@@ -1202,8 +1186,8 @@ msgstr "&Ðзик:"
#: lib/layouts/bicaption.module:16 lib/layouts/europasscv.layout:440
#: lib/layouts/europasscv.layout:475 lib/layouts/europasscv.layout:482
#: lib/layouts/europecv.layout:321 lib/layouts/europecv.layout:327
-#: lib/layouts/moderncv.layout:580 src/frontends/qt/GuiDocument.cpp:1767
-#: src/frontends/qt/GuiPrefs.cpp:2388 src/frontends/qt/Menus.cpp:920
+#: lib/layouts/moderncv.layout:580 src/frontends/qt/GuiDocument.cpp:1781
+#: src/frontends/qt/GuiPrefs.cpp:2430 src/frontends/qt/Menus.cpp:938
msgid "Language"
msgstr "eзик"
@@ -1300,17 +1284,17 @@ msgstr ""
# src/frontends/gnome/FormCitation.C:560
#: src/frontends/qt/ui/CitationUi.ui:188
msgid "Move the selected citation up (Ctrl-Up)"
-msgstr "ÐÑемеÑÑване избÑÐ°Ð½Ð¸Ñ Ñайл нагоÑе (Ctrl-гоÑна ÑÑÑелка)"
+msgstr "ÐÑемеÑÑване избÑанаÑа пÑепÑаÑка нагоÑе (Ctrl-гоÑна ÑÑÑелка)"
# src/frontends/gnome/FormCitation.C:560
#: src/frontends/qt/ui/CitationUi.ui:211
msgid "Move the selected citation down (Ctrl-Down)"
-msgstr "ÐÑемеÑÑване на избÑÐ°Ð½Ð¸Ñ Ñайл Ð½Ð°Ð´Ð¾Ð»Ñ (Ctrl-долна ÑÑÑелка)"
+msgstr "ÐÑемеÑÑване на избÑанаÑа пÑепÑаÑка Ð½Ð°Ð´Ð¾Ð»Ñ (Ctrl-долна ÑÑÑелка)"
# src/frontends/xforms/FormCitation.C:37
#: src/frontends/qt/ui/CitationUi.ui:232
msgid "Selected &Citations:"
-msgstr "ÐзбÑани ÑиÑиÑаниÑ:"
+msgstr "ÐзбÑани пÑепÑаÑки:"
# src/frontends/xforms/FormPreferences.C:252
#: src/frontends/qt/ui/CitationUi.ui:276
@@ -1319,7 +1303,7 @@ msgstr "ФоÑмаÑиÑане"
#: src/frontends/qt/ui/CitationUi.ui:289
msgid "Citation st&yle:"
-msgstr "&СÑил ÑиÑиÑане:"
+msgstr "&СÑил пÑепÑаÑки:"
#: src/frontends/qt/ui/CitationUi.ui:299 src/frontends/qt/GuiCitation.cpp:303
msgid "Text befo&re:"
@@ -1417,7 +1401,7 @@ msgstr "ЦвеÑни бележки:"
# src/LyXAction.C:263
#: src/frontends/qt/ui/ColorUi.ui:118 src/frontends/qt/ui/ColorUi.ui:256
-#: src/frontends/qt/GuiDocument.cpp:2205 src/frontends/qt/GuiDocument.cpp:2235
+#: src/frontends/qt/GuiDocument.cpp:2219 src/frontends/qt/GuiDocument.cpp:2249
msgid "&Change..."
msgstr "&ÐÐ·Ð±Ð¾Ñ Ð½Ð° ÑвÑÑ"
@@ -1443,9 +1427,8 @@ msgstr "СÑавнÑване на Ñевизии"
# src/ext_l10n.h:323
#: src/frontends/qt/ui/CompareHistoryUi.ui:34
-#, fuzzy
msgid "Revisions ba&ck"
-msgstr "ÐÑпÑоÑ"
+msgstr "&Ревизии назад"
# src/ext_l10n.h:24
#: src/frontends/qt/ui/CompareHistoryUi.ui:87
@@ -1454,13 +1437,12 @@ msgstr "ÐÐµÐ¶Ð´Ñ Ñевизии"
#: src/frontends/qt/ui/CompareHistoryUi.ui:100
msgid "Old:"
-msgstr ""
+msgstr "ÐÑÑви:"
# src/LColor.C:63
#: src/frontends/qt/ui/CompareHistoryUi.ui:135
-#, fuzzy
msgid "New:"
-msgstr "ÑекÑÑ"
+msgstr "ÐÑоÑи:"
# src/frontends/xforms/FormDocument.C:273 src/insets/figinset.C:1975
# src/insets/insetexternal.C:143 src/lyxfunc.C:3105 src/lyxfunc.C:3181
@@ -1470,9 +1452,8 @@ msgid "Old Documen&t:"
msgstr "&ÐÑÑви докÑменÑ:"
#: src/frontends/qt/ui/CompareUi.ui:51
-#, fuzzy
msgid "Specify the original version of the document here (comparison source)"
-msgstr "ÐоÑоÑеÑе пÑÑвонаÑалнаÑа веÑÑÐ¸Ñ Ð½Ð° докÑменÑа (изÑоÑник)"
+msgstr "ÐоÑоÑеÑе пÑÑвонаÑалнаÑа веÑÑÐ¸Ñ Ð½Ð° докÑменÑа (изÑоÑника)"
# src/frontends/xforms/form_preferences.C:843
# src/frontends/xforms/form_preferences.C:853
@@ -1492,9 +1473,8 @@ msgid "&New Document:"
msgstr "&ÐÑоÑи докÑменÑ:"
#: src/frontends/qt/ui/CompareUi.ui:87
-#, fuzzy
msgid "Specify the modified version of the document here (comparison target)"
-msgstr "ÐоÑоÑеÑе пÑомененаÑа веÑÑÐ¸Ñ Ð½Ð° докÑменÑа (Ñел на ÑÑавнениеÑо)"
+msgstr "ÐоÑоÑеÑе пÑомененаÑа веÑÑÐ¸Ñ Ð½Ð° докÑменÑа (ÑелÑа на ÑÑавнениеÑо)"
# src/frontends/xforms/form_preferences.C:843
# src/frontends/xforms/form_preferences.C:853
@@ -1517,7 +1497,7 @@ msgstr "ÐзбиÑане на докÑменÑа Ð¾Ñ ÐºÐ¾Ð¸Ñо да Ñе вз
# src/insets/insetinclude.C:117 src/lyx_cb.C:197 src/lyxfunc.C:3054
# src/lyxfunc.C:3156 src/lyxfunc.C:3212 src/lyxfunc.C:3288
-#: src/frontends/qt/ui/CompareUi.ui:120 src/frontends/qt/GuiDocument.cpp:781
+#: src/frontends/qt/ui/CompareUi.ui:120 src/frontends/qt/GuiDocument.cpp:789
msgid "Document Settings"
msgstr "ÐаÑÑÑойки на докÑменÑа"
@@ -1547,39 +1527,37 @@ msgstr "ÐкÑивиÑане пÑоÑледÑване на пÑомениÑе в
# src/form1.C:237
#: src/frontends/qt/ui/CounterUi.ui:22
-#, fuzzy
msgid "C&ounter:"
-msgstr "Ð&ÑнÑно:"
+msgstr "&ÐÑоÑÑ:"
# src/lyxfunc.C:3159
#: src/frontends/qt/ui/CounterUi.ui:38
-#, fuzzy
msgid "Select counter to modify"
-msgstr "ÐзбеÑане на докÑÐ¼ÐµÐ½Ñ Ð·Ð° оÑваÑÑне"
+msgstr "ÐзбеÑане на бÑоÑÑ Ð·Ð° наÑÑÑойка"
# src/ext_l10n.h:344
#: src/frontends/qt/ui/CounterUi.ui:45
-#, fuzzy
msgid "&Action:"
-msgstr "Раздел"
+msgstr "&ÐейÑÑвие:"
#: src/frontends/qt/ui/CounterUi.ui:63
msgid "Select the action to perform on selected counter"
-msgstr ""
+msgstr "ÐзбиÑане на дейÑÑвие, коеÑо да Ñе пÑиложи кÑм избÑÐ°Ð½Ð¸Ñ Ð±ÑоÑÑ"
#: src/frontends/qt/ui/CounterUi.ui:79
msgid ""
"If checked, modification affects the counter only in the LyX workarea, not "
"in the output"
msgstr ""
+"Ðко е оÑмеÑнаÑо, пÑомениÑе заÑÑÐ³Ð°Ñ Ð±ÑоÑÑа Ñамо в ÑабоÑнаÑа ÑÑеда на LyX, но "
+"не и в кÑÐ°Ð¹Ð½Ð¸Ñ Ð´Ð¾ÐºÑменÑ"
#: src/frontends/qt/ui/CounterUi.ui:85
-#, fuzzy
msgid "&Workarea only"
-msgstr "СÑбиÑÐ¸Ñ Ð¾Ñ ÑабоÑнаÑа ÑÑеда"
+msgstr "&Само в ÑабоÑнаÑа ÑÑеда"
# src/frontends/xforms/form_toc.C:40
-#: src/frontends/qt/ui/DelimiterUi.ui:122 src/frontends/qt/GuiDelimiter.cpp:375
+#: src/frontends/qt/ui/DelimiterUi.ui:122 src/frontends/qt/GuiDelimiter.cpp:376
msgid "TeX Code: "
msgstr "TeX код:"
@@ -1616,9 +1594,8 @@ msgid "Use Class Defaults"
msgstr "ÐÑзÑÑановÑване по подÑазбиÑане"
#: src/frontends/qt/ui/DocumentUi.ui:109
-#, fuzzy
msgid "Save settings as defaults for new documents"
-msgstr "Ðапазване на наÑÑÑойкиÑе в LyX каÑо подÑазбиÑаÑи Ñе за докменÑа"
+msgstr "Ðапазване на наÑÑÑойкиÑе каÑо подÑазбиÑаÑи Ñе за нови докменÑи"
# src/ext_l10n.h:130
#: src/frontends/qt/ui/DocumentUi.ui:112
@@ -1627,7 +1604,7 @@ msgstr "Ðапазване по подÑазбиÑане"
# src/frontends/xforms/FormGraphics.C:36
# src/frontends/xforms/FormGraphics.C:359
-#: src/frontends/qt/ui/ERTUi.ui:38 src/frontends/qt/GuiPrefs.cpp:1297
+#: src/frontends/qt/ui/ERTUi.ui:38 src/frontends/qt/GuiPrefs.cpp:1323
msgid "Display"
msgstr "Ðзглед"
@@ -1647,16 +1624,15 @@ msgstr "Ðоказва ÑÐµÐ»Ð¸Ñ Ð¸Ð·Ñ
оден код на LaTex"
# src/LyXAction.C:144
#: src/frontends/qt/ui/ERTUi.ui:72
-#, fuzzy
msgid "[[is]]O&pen"
-msgstr "&РазÑиÑен"
+msgstr "&ÐÑваÑÑне"
#: src/frontends/qt/ui/ErrorListUi.ui:38
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."
msgstr ""
-"ÐоÑоÑване на Ñед Ñ Ð³ÑеÑка Ñе покаже опиÑаниеÑо и в Ð´Ð¾Ð»Ð½Ð¸Ñ Ð¿Ð°Ð½ÐµÐ», а кÑÑÑÑÑа в "
+"ÐзбиÑане на Ñед Ñ Ð³ÑеÑка Ñе покаже опиÑаниеÑо и в Ð´Ð¾Ð»Ð½Ð¸Ñ Ð¿Ð°Ð½ÐµÐ», а кÑÑÑÑÑа в "
"докÑменÑа Ñе Ñе позиÑиониÑа на мÑÑÑоÑо кÑдеÑо е наÑÑÑпила гÑеÑкаÑа."
# src/importer.C:58
@@ -1693,7 +1669,7 @@ msgstr "Ðоказване на ÑезÑлÑаÑа"
# src/frontends/kde/dlg/printdlgdata.C:246
#: src/frontends/qt/ui/ExternalUi.ui:45
msgid "F&ile"
-msgstr "(&F)Файл"
+msgstr "Файл"
# src/form1.C:245
#: src/frontends/qt/ui/ExternalUi.ui:66 src/frontends/qt/ui/ExternalUi.ui:73
@@ -1792,9 +1768,8 @@ msgstr "Ðадава ÑенÑÑÑа на вÑÑÑене"
# src/ext_l10n.h:191
#: src/frontends/qt/ui/ExternalUi.ui:426
-#, fuzzy
msgid "Ori&gin:"
-msgstr "Ðаглавие"
+msgstr "ÐаÑало:"
# src/form1.C:133
#: src/frontends/qt/ui/ExternalUi.ui:446
@@ -1807,18 +1782,18 @@ msgid "Scale"
msgstr "ÐаÑаб"
#: src/frontends/qt/ui/ExternalUi.ui:494 src/frontends/qt/ui/GraphicsUi.ui:153
-#: src/frontends/qt/GuiGraphics.cpp:476
+#: src/frontends/qt/GuiGraphics.cpp:482
msgid "Height of image in output"
msgstr "ÐÑайна виÑоÑина на изобÑажениеÑо"
#: src/frontends/qt/ui/ExternalUi.ui:504 src/frontends/qt/ui/GraphicsUi.ui:121
-#: src/frontends/qt/GuiGraphics.cpp:475
+#: src/frontends/qt/GuiGraphics.cpp:481
msgid "Width of image in output"
msgstr "ÐÑайна ÑиÑина на изобÑажениеÑо"
#: src/frontends/qt/ui/ExternalUi.ui:527
msgid "Maintain aspect ratio with largest dimension"
-msgstr ""
+msgstr "Ðапазване на ÑÑоÑноÑениеÑо пÑи най-голÑм ÑазмеÑ"
#: src/frontends/qt/ui/ExternalUi.ui:530 src/frontends/qt/ui/GraphicsUi.ui:199
msgid "&Maintain aspect ratio"
@@ -1831,11 +1806,11 @@ msgstr "ÐзÑÑзване"
#: src/frontends/qt/ui/ExternalUi.ui:577
msgid "Clip to bounding box values"
-msgstr ""
+msgstr "Свиване до ÑазмеÑа на огÑаниÑиÑелнаÑа Ñамка"
#: src/frontends/qt/ui/ExternalUi.ui:580
msgid "Clip to &bounding box"
-msgstr ""
+msgstr "Свиване до ÑазмеÑа на ÑамкаÑа"
# src/ext_l10n.h:63
#: src/frontends/qt/ui/ExternalUi.ui:587 src/frontends/qt/ui/GraphicsUi.ui:390
@@ -1854,7 +1829,7 @@ msgstr "&ÐоÑен деÑен ÑгÑл:"
#: src/frontends/qt/ui/ExternalUi.ui:617
msgid "Get bounding box from the (EPS) file"
-msgstr ""
+msgstr "Ðзимане на оÑеÑÑаваÑаÑа Ñамка Ð¾Ñ EPS Ñайла"
# src/frontends/xforms/form_preferences.C:923
#: src/frontends/qt/ui/ExternalUi.ui:620 src/frontends/qt/ui/GraphicsUi.ui:485
@@ -1867,9 +1842,8 @@ msgstr "y"
# src/frontends/kde/dlg/parageneraldlgdata.C:151
#: src/frontends/qt/ui/FindAndReplaceUi.ui:14
-#, fuzzy
msgid "TabWidget"
-msgstr "ШиÑина на еÑикеÑ"
+msgstr "ÐодпÑозоÑеÑ"
# src/frontends/gnome/FormCitation.C:453
#: src/frontends/qt/ui/FindAndReplaceUi.ui:21
@@ -1878,9 +1852,8 @@ msgstr "ТÑÑÑене"
# src/frontends/gnome/FormCitation.C:453
#: src/frontends/qt/ui/FindAndReplaceUi.ui:55
-#, fuzzy
msgid "Search fo&r:"
-msgstr "ÐÑеÑка пÑи ÑÑÑÑене"
+msgstr "ТÑÑÑене за:"
# src/form1.C:290
#: src/frontends/qt/ui/FindAndReplaceUi.ui:92
@@ -1901,10 +1874,9 @@ msgstr "ÐгÑаниÑава ÑÑÑÑенеÑо Ñамо до Ñели дÑми"
# src/ext_l10n.h:263
#: src/frontends/qt/ui/FindAndReplaceUi.ui:153
-#: src/frontends/qt/ui/SearchUi.ui:217 src/frontends/qt/GuiSearch.cpp:101
-#, fuzzy
+#: src/frontends/qt/ui/SearchUi.ui:241 src/frontends/qt/GuiSearch.cpp:102
msgid "Wh&ole words"
-msgstr "Цели дÑми"
+msgstr "&Цели дÑми"
#: src/frontends/qt/ui/FindAndReplaceUi.ui:160
msgid "Perform a case-sensitive search"
@@ -1917,28 +1889,24 @@ msgstr "&РазлиÑ. на малки и големи бÑкви"
#: src/frontends/qt/ui/FindAndReplaceUi.ui:205
#: src/frontends/qt/FindAndReplace.cpp:648
-#, fuzzy
msgid "Find next occurrence (Enter, backwards: Shift+Enter)"
-msgstr "ТÑÑÑене на ÑледваÑоÑо ÑÑвпадение - клавиÑа âÐов Ñедâ"
+msgstr "ТÑÑÑене на ÑледваÑо ÑÑвпадение - клавиÑа âÐов Ñедâ, назад: âÐзмеÑÑванеâ + âÐов Ñедâ"
#: src/frontends/qt/ui/FindAndReplaceUi.ui:208
-#: src/frontends/qt/ui/SearchUi.ui:172 src/frontends/qt/FindAndReplace.cpp:647
-#, fuzzy
+#: src/frontends/qt/ui/SearchUi.ui:190 src/frontends/qt/FindAndReplace.cpp:647
msgid "Find &>"
-msgstr "СледваÑо ÑÑÑÑене"
+msgstr "ТÑÑÑене &>"
#: src/frontends/qt/ui/FindAndReplaceUi.ui:221
#: src/frontends/qt/FindAndReplace.cpp:650
-#, fuzzy
msgid "Replace and find next occurrence (Enter, backwards: Shift+Enter)"
-msgstr "ТÑÑÑене и замÑна на ÑледваÑоÑо ÑÑвпадение - клавиÑа âÐов Ñедâ"
+msgstr "ÐамÑна и ÑÑÑÑене на ÑледваÑо ÑÑвпадение - клавиÑа âÐов Ñедâ, назад: âÐзмеÑÑванеâ + âÐов Ñедâ"
# src/sp_form.C:86
#: src/frontends/qt/ui/FindAndReplaceUi.ui:224
#: src/frontends/qt/FindAndReplace.cpp:649
-#, fuzzy
msgid "Rep&lace >"
-msgstr "ÐамÑна"
+msgstr "ÐамÑна >"
# src/lyx_cb.C:230
#: src/frontends/qt/ui/FindAndReplaceUi.ui:234
@@ -1947,15 +1915,14 @@ msgstr "ÐамÑна на вÑиÑки ÑÑÐ²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð½Ð°Ð²ÐµÐ´Ð½Ñж"
# src/form1.C:314
#: src/frontends/qt/ui/FindAndReplaceUi.ui:237
-#: src/frontends/qt/ui/SearchUi.ui:50
+#: src/frontends/qt/ui/SearchUi.ui:68
msgid "Replace &All"
msgstr "ÐамÑна на &вÑиÑки"
# src/ext_l10n.h:344
#: src/frontends/qt/ui/FindAndReplaceUi.ui:264
-#, fuzzy
msgid "Settin&gs"
-msgstr "ÐаÑÑÑойки на пÑогÑамаÑа"
+msgstr "&ÐаÑÑÑойки"
#: src/frontends/qt/ui/FindAndReplaceUi.ui:279
msgid "The scope to which the search horizon is restricted"
@@ -2022,7 +1989,6 @@ msgstr "Ð ÑÐµÐ»Ð¸Ñ ÑекÑÑ"
# src/LColor.C:81
#: src/frontends/qt/ui/FindAndReplaceUi.ui:399
-#, fuzzy
msgid "E&xpand macros"
msgstr "Развиване на макÑоÑиÑе"
@@ -2041,7 +2007,6 @@ msgstr "Ðапазване на пÑÑвоÑо ÑÑвпадение пÑи за
# src/frontends/xforms/FormPreferences.C:252
#: src/frontends/qt/ui/FloatPlacementUi.ui:14
#: src/frontends/qt/ui/OutputUi.ui:14 src/frontends/qt/ui/PDFSupportUi.ui:14
-#, fuzzy
msgid "Form"
msgstr "ФоÑмаÑи"
@@ -2085,7 +2050,7 @@ 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 "ÑенÑÑиÑане"
+msgstr "ÑенÑÑÑ"
#: src/frontends/qt/ui/FloatPlacementUi.ui:124
msgid "Right-align float contents"
@@ -2159,7 +2124,6 @@ msgstr "&ÐÑенебÑегване пÑавилаÑа на LaTeX"
# src/bufferview_funcs.C:267
#: src/frontends/qt/ui/FontUi.ui:14
-#, fuzzy
msgid "FontUi"
msgstr "ШÑиÑÑ:"
@@ -2185,7 +2149,7 @@ msgstr "&LaTeX кодиÑане:"
#: src/frontends/qt/ui/FontUi.ui:101
msgid "Specify the font encoding (e.g., T1)."
-msgstr ""
+msgstr "ÐоÑоÑване кодиÑанеÑо на ÑÑÐ¸Ñ (напÑ. T1)."
# src/frontends/xforms/form_preferences.C:105 src/lyxfont.C:42
#: src/frontends/qt/ui/FontUi.ui:110
@@ -2197,6 +2161,8 @@ msgid ""
"Select the roman (serif) typeface. To filter the list of fonts, just start "
"typing while the list is expanded."
msgstr ""
+"ÐзбиÑане на ÑÑиÑÑ ÑÑÑ ÑеÑиÑно (ÑимÑко) наÑеÑÑаване. Ðа ÑилÑÑиÑане на ÑпиÑÑка "
+"запоÑнеÑе да пиÑеÑе докаÑо ÑпиÑÑка Ñе ÑазÑиÑÑва."
#: src/frontends/qt/ui/FontUi.ui:142
msgid "Use a real small caps shape, if the font provides one"
@@ -2227,12 +2193,10 @@ msgstr "ÐпÑии:"
#: src/frontends/qt/ui/FontUi.ui:194 src/frontends/qt/ui/FontUi.ui:302
#: src/frontends/qt/ui/FontUi.ui:410
-#, fuzzy
msgid ""
"Here you can insert additional options (as provided by the font package)"
msgstr ""
-"ТÑк можеÑе да вÑведеÑе допÑлниÑелни паÑамеÑÑи за избÑÐ°Ð½Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ð³ÑаÑÑки "
-"пакеÑ."
+"ТÑк можеÑе да вÑведеÑе допÑлниÑелни паÑамеÑÑи пÑедоÑÑавени Ð¾Ñ Ð¿Ð°ÐºÐµÑа за ÑÑиÑÑ."
# src/frontends/xforms/form_preferences.C:108
#: src/frontends/qt/ui/FontUi.ui:205
@@ -2244,6 +2208,8 @@ msgid ""
"Select the Sans Serif (grotesque) typeface. To filter the list of fonts, "
"just start typing while the list is expanded."
msgstr ""
+"ÐзбиÑане на безÑеÑиÑно (grotesque) наÑеÑÑаване. Ðа ÑилÑÑиÑане на ÑпиÑÑка Ð¾Ñ "
+"ÑÑиÑÑове запоÑнеÑе да пиÑеÑе докаÑо ÑпиÑÑка Ñе ÑазÑиÑÑва."
# src/frontends/xforms/form_tabular.C:453
#: src/frontends/qt/ui/FontUi.ui:237
@@ -2258,9 +2224,8 @@ msgstr ""
# src/lyxfunc.C:3128
#: src/frontends/qt/ui/FontUi.ui:267
-#, fuzzy
msgid "Use old st&yle figures"
-msgstr "Ðзползване на ÑиÑÑи Ñ ÑазлиÑна виÑоÑина"
+msgstr "Ðзползване на ÑиÑÑи вÑÑÐ°Ñ ÑÑил"
# src/frontends/xforms/form_preferences.C:111 src/lyxfont.C:42
#: src/frontends/qt/ui/FontUi.ui:313
@@ -2286,9 +2251,8 @@ msgstr ""
# src/lyxfunc.C:3128
#: src/frontends/qt/ui/FontUi.ui:375
-#, fuzzy
msgid "Use old style &figures"
-msgstr "Ðзползване на ÑиÑÑи Ñ ÑазлиÑна виÑоÑина"
+msgstr "Ðзползване на ÑиÑÑи в ÑÑÐ°Ñ ÑÑил"
# src/frontends/xforms/FormPreferences.C:261
#: src/frontends/qt/ui/FontUi.ui:421
@@ -2298,7 +2262,7 @@ msgstr "Ðа &маÑемаÑика:"
# src/frontends/kde/printdlg.C:35
#: src/frontends/qt/ui/FontUi.ui:431
msgid "Select the math typeface"
-msgstr "ÐÐ·Ð±Ð¾Ñ Ð½Ð° ÑÑиÑÑ Ð·Ð° маÑемаÑиÑеÑки изÑази"
+msgstr "ÐÐ·Ð±Ð¾Ñ Ð½Ð° наÑеÑÑаване за маÑемаÑиÑеÑки изÑази"
# src/frontends/gnome/FormCitation.C:527
#: src/frontends/qt/ui/FontUi.ui:438
@@ -2345,7 +2309,7 @@ msgstr ""
#: src/frontends/qt/ui/FontUi.ui:480
msgid "Disallow l&ine breaks after dashes"
-msgstr "ÐабÑана на нав Ñед Ñлед ÑиÑеÑа (обикновено и дÑлго)"
+msgstr "ÐабÑана на нав Ñед Ñлед ÑиÑе (обикновено и дÑлго)"
# src/frontends/xforms/FormGraphics.C:36
# src/frontends/xforms/FormGraphics.C:359
@@ -2370,7 +2334,7 @@ msgstr ""
"наÑÑÑойка."
# src/form1.C:157 src/frontends/xforms/form_graphics.C:46
-#: src/frontends/qt/ui/GraphicsUi.ui:166 src/frontends/qt/GuiGraphics.cpp:474
+#: src/frontends/qt/ui/GraphicsUi.ui:166 src/frontends/qt/GuiGraphics.cpp:480
msgid "Set &height:"
msgstr "&ÐиÑоÑина"
@@ -2389,7 +2353,7 @@ msgstr ""
# src/form1.C:161 src/frontends/kde/dlg/paraextradlgdata.C:91
# src/frontends/xforms/form_graphics.C:44
# src/frontends/xforms/form_paragraph.C:219
-#: src/frontends/qt/ui/GraphicsUi.ui:186 src/frontends/qt/GuiGraphics.cpp:473
+#: src/frontends/qt/ui/GraphicsUi.ui:186 src/frontends/qt/GuiGraphics.cpp:479
msgid "Set &width:"
msgstr "&ШиÑина"
@@ -2481,10 +2445,11 @@ msgstr "ÐаÑаб на екÑана (%):"
msgid ""
"If LyX uses a dark theme, revert the colors of this graphics in the workarea"
msgstr ""
+"Ðко LyX използва ÑÑмна Ñема, обÑÑÑа ÑвеÑовеÑе пÑи изобÑазÑване на ÑабоÑнаÑа плоÑ"
#: src/frontends/qt/ui/GraphicsUi.ui:592
msgid "Re&vert colors in dark mode"
-msgstr ""
+msgstr "ÐбÑÑÑане на ÑвеÑовеÑе в ÑÑмен Ñежим"
# src/frontends/xforms/form_preferences.C:926
#: src/frontends/qt/ui/GraphicsUi.ui:615 src/frontends/qt/ui/GraphicsUi.ui:634
@@ -2498,46 +2463,43 @@ msgstr "LaTeX &опÑии:"
#: src/frontends/qt/ui/GraphicsUi.ui:641
msgid "Assign the graphic to a group of graphics that share the same settings"
-msgstr ""
+msgstr "ÐÑиÑÑединÑване на изобÑажение кÑм гÑÑпа Ñ ÐµÐ´Ð½Ð°ÐºÐ²Ð¸ наÑÑÑойки "
# src/frontends/xforms/FormGraphics.C:36
# src/frontends/xforms/FormGraphics.C:359
#: src/frontends/qt/ui/GraphicsUi.ui:644
-#, fuzzy
msgid "Graphics Group"
-msgstr "ÐÑаÑика"
+msgstr "ÐÑаÑиÑна гÑÑпа"
#: src/frontends/qt/ui/GraphicsUi.ui:677
msgid "Assigned &to group:"
-msgstr ""
+msgstr "ÐÑиÑÑединÑване кÑм гÑÑпа: "
#: src/frontends/qt/ui/GraphicsUi.ui:700
msgid "Click to define a new graphics group."
-msgstr ""
+msgstr "ЩÑакнеÑе за да деÑиниÑаÑе нова гÑаÑиÑна гÑÑпа."
#: src/frontends/qt/ui/GraphicsUi.ui:703
msgid "O&pen new group..."
-msgstr ""
+msgstr "ÐÑваÑÑне на нова гÑÑпа..."
#: src/frontends/qt/ui/GraphicsUi.ui:710
msgid "Select an existing group for the current graphics."
-msgstr ""
+msgstr "ÐзбиÑане на ÑÑÑеÑÑвÑваÑа гÑÑпа за ÑекÑÑоÑо изобÑажение."
# src/LyXAction.C:321
#: src/frontends/qt/ui/GraphicsUi.ui:723
-#, fuzzy
msgid "Draft mode"
-msgstr "ÐаÑем. Ñежим"
+msgstr "Режим пÑоекÑиÑане"
# src/LyXAction.C:321
#: src/frontends/qt/ui/GraphicsUi.ui:726
-#, fuzzy
msgid "&Draft mode"
-msgstr "ÐаÑем. Ñежим"
+msgstr "Режим &пÑоекÑиÑане"
#: src/frontends/qt/ui/HSpaceUi.ui:28
msgid "Select a fill pattern style for HFills"
-msgstr ""
+msgstr "ÐзбиÑане на ÑÑил за запÑлване на Ñаблон HFills"
#: src/frontends/qt/ui/HSpaceUi.ui:37
msgid "..............."
@@ -2581,23 +2543,21 @@ msgstr "&СÑойноÑÑ:"
#: src/frontends/qt/ui/HSpaceUi.ui:100 src/frontends/qt/ui/VSpaceUi.ui:62
msgid "Custom value. Needs spacing type \"Custom\"."
msgstr ""
-"Ðа да можеÑе да зададеÑе ÑÑойноÑÑ Ð¾ÑмеÑÑванеÑо ÑÑÑбва да е âпоÑÑебиÑелÑкоâ"
+"Ðа да можеÑе да зададеÑе ÑÑойноÑÑ Ð¾ÑмеÑÑванеÑо ÑÑÑбва да е âÐ¾Ñ Ð¿Ð¾ÑÑебиÑелÑâ"
# src/frontends/kde/dlg/printdlgdata.C:246
#: src/frontends/qt/ui/HSpaceUi.ui:110
-#, fuzzy
msgid "&Fill Pattern:"
-msgstr "(&F)Файл"
+msgstr "ÐопÑлване на Ñаблон"
#: src/frontends/qt/ui/HSpaceUi.ui:123 src/frontends/qt/ui/VSpaceUi.ui:46
msgid "&Protect:"
-msgstr "ÐаÑиÑи"
+msgstr "&ÐаÑиÑи:"
# src/LyXAction.C:197 src/lyx_cb.C:878
-#: src/frontends/qt/ui/HSpaceUi.ui:133 src/frontends/qt/GuiHSpace.cpp:212
-#, fuzzy
+#: src/frontends/qt/ui/HSpaceUi.ui:133 src/frontends/qt/GuiHSpace.cpp:217
msgid "Insert the spacing even after a line break"
-msgstr "ÐмÑкни ÑигÑÑа"
+msgstr "ÐмÑкване на инÑеÑвал доÑи Ñлед нов Ñед."
# src/ext_l10n.h:406 src/frontends/gnome/FormUrl.C:117
# src/frontends/kde/urldlg.C:62 src/frontends/kde/urldlg.C:63
@@ -2605,8 +2565,8 @@ msgstr "ÐмÑкни ÑигÑÑа"
#: lib/layouts/acmart.layout:694 lib/layouts/acmart.layout:712
#: lib/layouts/amsdefs.inc:190 lib/layouts/maa-monthly.layout:165
#: lib/layouts/maa-monthly.layout:169 lib/layouts/minimalistic.module:27
-#: lib/layouts/scrlttr2.layout:271 lib/layouts/stdinsets.inc:578
-#: lib/layouts/stdinsets.inc:581
+#: lib/layouts/scrlttr2.layout:271 lib/layouts/stdinsets.inc:579
+#: lib/layouts/stdinsets.inc:582
msgid "URL"
msgstr "URL"
@@ -2618,7 +2578,7 @@ msgstr "&Цел:"
# src/frontends/kde/urldlg.C:64 src/frontends/kde/urldlg.C:65
#: src/frontends/qt/ui/HyperlinkUi.ui:37 src/frontends/qt/ui/HyperlinkUi.ui:68
msgid "Name associated with the URL"
-msgstr "Ðме за URL-а"
+msgstr "Ðме ÑвÑÑзано Ñ URL-а"
# src/frontends/gnome/FormRef.C:301
#: src/frontends/qt/ui/HyperlinkUi.ui:40 src/frontends/qt/ui/LyXFilesUi.ui:55
@@ -2631,6 +2591,8 @@ msgid ""
"Pass content of the `Name' field literally to LaTeX. Check this if you want "
"to enter LaTeX code."
msgstr ""
+"Ðодава ÑÑдÑÑжаниеÑо на полеÑо âимеâ доÑловно кÑм LaTeX. ÐзбеÑеÑе Ñова ако "
+"желаеÑе да вÑвеждаÑе код на LaTeX."
# src/lyxrc.C:1838
#: src/frontends/qt/ui/HyperlinkUi.ui:106
@@ -2703,8 +2665,8 @@ msgstr "РедакÑиÑане на Ñайла"
# src/MenuBackend.C:444 src/ext_l10n.h:2 src/ext_l10n.h:5
#: 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:579
-#: src/frontends/qt/GuiDocument.cpp:751
+#: src/frontends/qt/ui/PreambleUi.ui:48 src/frontends/qt/GuiDocument.cpp:578
+#: src/frontends/qt/GuiDocument.cpp:759
msgid "&Edit"
msgstr "&РедакÑиÑане"
@@ -2713,6 +2675,8 @@ msgid ""
"File name to include. (You can create a new file by entering the name of one "
"that does not yet exist.)"
msgstr ""
+"Ðме на Ñайл за вклÑÑване. Ðоже да ÑÑздадеÑе нов Ñайл каÑо вÑведеÑе име на Ñайл, "
+"койÑо вÑе оÑе не ÑÑÑеÑÑвÑва."
#: src/frontends/qt/ui/IncludeUi.ui:124
msgid "Underline spaces in generated output"
@@ -2730,7 +2694,7 @@ msgstr "Ðоказване на пÑедваÑиÑÐµÐ»Ð½Ð¸Ñ Ð¸Ð·Ð³Ð»ÐµÐ´ на L
# src/frontends/kde/dlg/printdlgdata.C:246
#: src/frontends/qt/ui/IncludeUi.ui:143
msgid "&Show preview"
-msgstr "&ÐÑедваÑиÑелен изглед"
+msgstr "ÐÑедваÑиÑелен &изглед"
# src/lyxfunc.C:1105 src/lyxfunc.C:2550
#: src/frontends/qt/ui/IncludeUi.ui:171
@@ -2746,7 +2710,7 @@ msgstr "&ÐодÑиÑ:"
#: 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 ""
+msgstr "ÐÑмеÑка за вÑвеждане на паÑамеÑÑи, коиÑо не Ñе ÑÐ°Ð·Ð¿Ð¾Ð·Ð½Ð°Ð²Ð°Ñ Ð¾Ñ LyX"
#: src/frontends/qt/ui/IncludeUi.ui:282
#: src/frontends/qt/ui/ListingsSettingsUi.ui:82
@@ -2789,8 +2753,8 @@ msgid "Index Generation"
msgstr "СÑÑÑавÑне на ÑказаÑели"
# src/form1.C:129 src/sp_form.C:58
-#: src/frontends/qt/ui/IndicesUi.ui:54 src/frontends/qt/GuiPrefs.cpp:704
-#: src/frontends/qt/GuiPrefs.cpp:830
+#: src/frontends/qt/ui/IndicesUi.ui:54 src/frontends/qt/GuiPrefs.cpp:708
+#: src/frontends/qt/GuiPrefs.cpp:834
msgid "&Options:"
msgstr "&ÐпÑии:"
@@ -2878,19 +2842,17 @@ msgstr "ТÑк Ñе вÑвежда ÑоÑна даÑа в ISO ÑоÑмаÑ: ÐÐ
# src/ext_l10n.h:215
#: src/frontends/qt/ui/InfoUi.ui:70
-#, fuzzy
msgid "&Custom:"
msgstr "&ÐÑ Ð¿Ð¾ÑÑебиÑелÑ:"
# src/LyXAction.C:164
#: src/frontends/qt/ui/InsetParamsUi.ui:17
-#, fuzzy
msgid "Inset Parameter Configuration"
-msgstr "ÐмÑкни ÑиÑаÑ"
+msgstr "ÐонÑигÑÑаÑÐ¸Ñ Ð½Ð° паÑамÑÑи за добавки"
#: src/frontends/qt/ui/InsetParamsUi.ui:47
msgid "Update dialog when moving context"
-msgstr "ÐпÑеÑнÑване на диалога когаÑо Ñе ÑÐ¼ÐµÐ½Ñ ÐºÐ¾Ð½ÑекÑÑа"
+msgstr "ÐкÑÑализиÑане на диалога когаÑо Ñе ÑÐ¼ÐµÐ½Ñ ÐºÐ¾Ð½ÑекÑÑа"
#: src/frontends/qt/ui/InsetParamsUi.ui:50
msgid "S&ynchronize Dialog"
@@ -2912,12 +2874,12 @@ msgstr "&ÐÐ»Ð°Ñ (жанÑ) докÑменÑ"
#: src/frontends/qt/ui/LaTeXUi.ui:48
msgid "Click to select a local document class definition file"
-msgstr "ÐзбиÑане на локална деÑиниÑÐ¸Ñ Ð½Ð° ÐºÐ»Ð°Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ Ð¾Ñ Ñайл"
+msgstr "ÐзбиÑане на деÑиниÑÐ¸Ñ Ð½Ð° ÐºÐ»Ð°Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ Ð¾Ñ Ð»Ð¾ÐºÐ°Ð»ÐµÐ½ Ñайл"
# src/insets/insettext.C:1036 src/lyxfunc.C:1260
#: src/frontends/qt/ui/LaTeXUi.ui:51
-msgid "&Local Layout..."
-msgstr "&Разглеждане"
+msgid "&Local Class..."
+msgstr "&Ðокален клаÑ..."
# src/form1.C:129 src/sp_form.C:58
#: src/frontends/qt/ui/LaTeXUi.ui:61
@@ -2951,7 +2913,7 @@ msgstr "&ÐÑ Ð¿Ð¾ÑÑебиÑелÑ:"
# src/frontends/xforms/FormGraphics.C:359
#: src/frontends/qt/ui/LaTeXUi.ui:106
msgid "&Graphics driver:"
-msgstr "&ÐÑаÑиÑен дÑайвеÑ"
+msgstr "&ÐÑаÑиÑна пÑедÑÑавÑне: "
#: src/frontends/qt/ui/LaTeXUi.ui:136
msgid "Select if the current document is included to a master file"
@@ -2987,9 +2949,8 @@ msgstr "Ðид кавиÑки"
# src/frontends/xforms/FormDocument.C:1101
#: src/frontends/qt/ui/LanguageUi.ui:49
-#, fuzzy
msgid "Select the default quotation marks style"
-msgstr "ÐзбиÑане на гаÑниÑÑÑаÑа на ÑÑиÑÑа по подÑазбиÑане за докÑменÑа"
+msgstr "ÐзбиÑане на кавиÑки за ÑиÑиÑане по подÑазбиÑане"
#: src/frontends/qt/ui/LanguageUi.ui:59
msgid ""
@@ -3007,27 +2968,25 @@ msgstr "ÐинамиÑен знак за кавиÑки"
# src/frontends/xforms/form_preferences.C:132
#: src/frontends/qt/ui/LanguageUi.ui:89
-#, fuzzy
msgid "&Encoding:"
msgstr "&ÐодиÑане:"
#: src/frontends/qt/ui/LanguageUi.ui:102
msgid "Select encoding of the generated LaTeX source (LaTeX input encoding)."
-msgstr ""
+msgstr "ÐзбиÑане на кодиÑане за генеÑиÑÐ°Ð½Ð¸Ñ Ð¸Ð·Ñ
оден код на LaTex."
#: src/frontends/qt/ui/LanguageUi.ui:115
msgid "Select Unicode encoding variant."
-msgstr ""
+msgstr "ÐзбиÑане на ваÑÐ¸Ð°Ð½Ñ Ð½Ð° Ñникод кодиÑане."
#: src/frontends/qt/ui/LanguageUi.ui:125
msgid "Specify whether to load the 'inputenc' package."
-msgstr ""
+msgstr "ÐоÑоÑване дали да Ñе заÑежда пакеÑа âinputencâ."
# src/bufferlist.C:113 src/bufferlist.C:189
#: src/frontends/qt/ui/LanguageUi.ui:135
-#, fuzzy
msgid "Select custom encoding."
-msgstr "Ðапазване на докÑменÑа?"
+msgstr "избиÑане на кодиÑане Ð¾Ñ Ð¿Ð¾ÑÑебиÑелÑ."
# src/layout_forms.C:64
#: src/frontends/qt/ui/LanguageUi.ui:142
@@ -3089,10 +3048,10 @@ msgstr "ÐÐ°ÐºÐµÑ Ð·Ð° оÑкÑоÑване на ÑинÑакÑиÑа:"
# src/ext_l10n.h:274
#: 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:392
-#: lib/layouts/stdinsets.inc:398 src/insets/InsetCaption.cpp:414
-#: src/insets/InsetListings.cpp:611 src/insets/InsetListings.cpp:612
+#: lib/layouts/stdcounters.inc:77 lib/layouts/stdinsets.inc:338
+#: lib/layouts/stdinsets.inc:344 lib/layouts/stdinsets.inc:393
+#: lib/layouts/stdinsets.inc:399 src/insets/InsetCaption.cpp:410
+#: src/insets/InsetListings.cpp:612 src/insets/InsetListings.cpp:613
msgid "Listing"
msgstr "СпиÑÑк"
@@ -3245,33 +3204,30 @@ msgstr "&ÐиалекÑ:"
#: src/frontends/qt/ui/ListingsUi.ui:370
msgid "Select the dialect of the programming language, if available"
-msgstr ""
+msgstr "ÐÐ·Ð±Ð¾Ñ Ð½Ð° Ð´Ð¸Ð°Ð»ÐµÐºÑ Ð½Ð° език за пÑогÑамиÑане ако е налиÑен"
# src/bufferview_funcs.C:280
#: src/frontends/qt/ui/ListingsUi.ui:380
-#, fuzzy
msgid "Range"
-msgstr "ÐдиниÑно"
+msgstr "ÐбÑ
ваÑ"
# src/ext_l10n.h:242
#: src/frontends/qt/ui/ListingsUi.ui:389
-#, fuzzy
msgid "Fi&rst line:"
-msgstr "Ðалко име"
+msgstr "&ÐÑÑви Ñед:"
#: src/frontends/qt/ui/ListingsUi.ui:402
msgid "The first line to be printed"
-msgstr ""
+msgstr "ÐÑÑви Ñед за пеÑаÑане"
# src/LColor.C:84
#: src/frontends/qt/ui/ListingsUi.ui:415
-#, fuzzy
msgid "&Last line:"
-msgstr "Ñед на маÑемаÑика"
+msgstr "Ð&оÑледен Ñед:"
#: src/frontends/qt/ui/ListingsUi.ui:428
msgid "The last line to be printed"
-msgstr ""
+msgstr "ÐоÑледен Ñед, коиÑо да Ñе оÑпеÑÑа"
# src/frontends/kde/FormCitation.C:166 src/frontends/kde/FormRef.C:203
# src/frontends/kde/citationdlg.C:87 src/frontends/kde/dlg/indexdlgdata.C:85
@@ -3314,20 +3270,18 @@ 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 ""
+msgstr "Ще Ñе използва ÑедакÑÐ¾Ñ Ð·Ð° LaTeX в ÑекÑов Ñежим"
# src/frontends/xforms/FormPreferences.C:226
# src/frontends/xforms/FormPreferences.C:255
#: src/frontends/qt/ui/LocalLayoutUi.ui:84
-#, fuzzy
msgid "Convert"
-msgstr "ÐонвеÑÑоÑи"
+msgstr "ÐÑеобÑазÑване"
# src/frontends/xforms/form_toc.C:40
#: src/frontends/qt/ui/LogUi.ui:25
-#, fuzzy
msgid "Log &Type:"
-msgstr "Тип(T):|#T"
+msgstr "Тип &жÑÑнал:"
#: src/frontends/qt/ui/LogUi.ui:71
msgid "Jump to the next error message."
@@ -3354,7 +3308,7 @@ msgstr "&ТÑÑÑене:"
#: src/frontends/qt/ui/LogUi.ui:111
msgid "Hit Enter or click 'Find Next' to search"
-msgstr ""
+msgstr "ÐаÑиÑнеÑе клавиÑа âÐов Ñедâ или ÑÑакнеÑе âСледваÑо ÑÑÑÑенеâ за да ÑÑÑÑиÑе."
#: src/frontends/qt/ui/LogUi.ui:118
msgid "Find &Next"
@@ -3374,7 +3328,7 @@ msgstr "ÐÑÑÑане в изÑ
одно положение"
#: src/frontends/qt/ui/LogUi.ui:159 src/frontends/qt/ui/ViewSourceUi.ui:173
#: src/frontends/qt/GuiRef.cpp:77
msgid "&Update"
-msgstr "&ÐпÑеÑнÑване"
+msgstr "&ÐкÑÑализиÑане"
#: src/frontends/qt/ui/LyXFilesUi.ui:23
msgid "Filter"
@@ -3403,6 +3357,12 @@ msgstr "ÐÑи ÑилÑÑиÑане Ñе ÑалиÑÐ°Ð²Ð°Ñ Ð¼Ð°Ð»ÐºÐ¸ и гол
msgid "Case Sensiti&ve"
msgstr "РазлиÑава малки и големи"
+# диалогов пÑозоÑеÑ
+# src/layout_forms.C:64
+#: src/frontends/qt/ui/LyXFilesUi.ui:94
+msgid "File &Language:"
+msgstr "&Ðзик Ð¾Ñ Ñайла:"
+
#: src/frontends/qt/ui/LyXFilesUi.ui:110
msgid "The available language(s) of the selected file will be displayed here"
msgstr "ТÑк Ñе Ñе Ð¿Ð¾ÐºÐ°Ð·Ð²Ð°Ñ Ð½Ð°Ð»Ð¸ÑниÑе езиÑи за избÑаниÑе Ñайлове."
@@ -3454,39 +3414,38 @@ msgstr "&РазделиÑел на колони:"
# src/bufferlist.C:113 src/bufferlist.C:189
#: src/frontends/qt/ui/MasterChildUi.ui:20
-#, fuzzy
msgid "Master Document Output"
-msgstr "Ðапазване на докÑменÑа?"
+msgstr "РезÑлÑÐ°Ñ Ð¾Ñ Ð³Ð»Ð°Ð²Ð½Ð¸Ñ Ð´Ð¾ÐºÑменÑ"
#: src/frontends/qt/ui/MasterChildUi.ui:29
msgid "Include all subdocuments in the output"
-msgstr ""
+msgstr "ÐклÑÑване на вÑиÑки поддокÑменÑи в кÑÐ°Ð¹Ð½Ð¸Ñ ÑезÑлÑаÑ"
# src/ext_l10n.h:92
#: src/frontends/qt/ui/MasterChildUi.ui:32
-#, fuzzy
msgid "&Include all children"
-msgstr "ÐклÑÑи Ñайл(e)|e"
+msgstr "ÐклÑÑване на вÑиÑки поддокÑменÑи"
#: src/frontends/qt/ui/MasterChildUi.ui:39
msgid "Include only the selected subdocuments in the output"
-msgstr ""
+msgstr "ÐклÑÑване Ñамо на избÑаниÑе поддокÑменÑи в кÑÐ°Ð¹Ð½Ð¸Ñ ÑезÑлÑаÑ"
#: src/frontends/qt/ui/MasterChildUi.ui:42
msgid "Include only &selected children"
-msgstr ""
+msgstr "ÐклÑÑване Ñамо на избÑаниÑе поддокÑменÑи"
#: src/frontends/qt/ui/MasterChildUi.ui:58
msgid ""
"Here you can set up the handling of counters and references with regard to "
"the excluded child documents."
msgstr ""
+"ТÑк можеÑе да наÑÑÑоиÑе обÑабоÑкаÑа на бÑоÑÑиÑе и пÑепÑаÑкиÑе по оÑноÑение "
+"на изклÑÑениÑе поддокÑменÑи."
# src/frontends/kde/refdlg.C:30
#: src/frontends/qt/ui/MasterChildUi.ui:61
-#, fuzzy
msgid "Global Counters && References"
-msgstr "вÑиÑки неÑиÑиÑани пÑепÑаÑки"
+msgstr "Ðлобални бÑоÑÑи и пÑепÑаÑки"
#: src/frontends/qt/ui/MasterChildUi.ui:67
msgid ""
@@ -3495,10 +3454,14 @@ msgid ""
"document.<br>This is the fastest method. Use this if you do not need correct "
"counter values and references."
msgstr ""
+"ÐÑиÑки бÑоÑÑи и пÑепÑаÑки Ð¾Ñ Ð¸Ð·ÐºÐ»ÑÑени поддокÑменÑи Ñе Ñе пÑенебÑÐµÐ³Ð½Ð°Ñ Ð¸ Ñака "
+"бÑоÑÑиÑе в кÑÐ°Ð¹Ð½Ð¸Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ Ñе Ñе ÑазлиÑÐ°Ð²Ð°Ñ Ð¾Ñ Ð±ÑоÑÑиÑе в пÑÐ»Ð½Ð¸Ñ Ð´Ð¾ÐºÑменÑ.<br> "
+"Това е най-бÑÑÐ·Ð¸Ñ Ð¼ÐµÑод. Ðзползва Ñе Ñамо ако нÑмаÑе нÑжда Ð¾Ñ ÐºÐ¾ÑекÑни ÑÑойноÑÑи "
+"на бÑоÑÑиÑе и пÑепÑаÑкиÑе."
#: src/frontends/qt/ui/MasterChildUi.ui:70
msgid "Do ¬ maintain (fast)"
-msgstr ""
+msgstr "Ðез Ñпазване (бÑÑзо)"
#: src/frontends/qt/ui/MasterChildUi.ui:77
msgid ""
@@ -3509,10 +3472,16 @@ msgid ""
"is significantly faster than \"Strictly maintain\". Use this if you need "
"correct counters and more or less correct references."
msgstr ""
+"ÐÑоÑÑиÑе и пÑепÑаÑкиÑе на изклÑÑениÑе поддокÑменÑи Ñе Ñе наÑÑÑоÑÑ Ð²ÐµÐ´Ð½Ñж и "
+"Ñе Ñе адапÑиÑÐ°Ñ Ð°ÐºÐ¾ изклÑÑÐµÐ½Ð¸Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ Ð±Ñде пÑоменен. Това ÑабоÑи пÑавилно "
+"в повеÑеÑо ÑлÑÑай, но не коÑигиÑа пÑепаÑкиÑе кÑм ÑÑÑаниÑи на невклÑÑениÑе "
+"поддокÑменÑи, коиÑо Ñе пÑоменÑÑ Ð¿Ð¾Ñади пÑомÑна вÑв вклÑÑениÑе Ñайлове. <br>"
+"Това много по-бÑÑзо Ð¾Ñ âСÑÑикÑно Ñпазванеâ. ÐзползвайÑе Ñова ако имаÑе нÑжда "
+"коÑекÑни бÑоÑÑи и повеÑе или по-малко коÑекÑни пÑепÑаÑки."
#: src/frontends/qt/ui/MasterChildUi.ui:80
msgid "Maintain mostl&y (medium)"
-msgstr ""
+msgstr "Спазване в &повеÑеÑо ÑлÑÑай (ÑÑедно)"
#: src/frontends/qt/ui/MasterChildUi.ui:87
msgid ""
@@ -3520,16 +3489,19 @@ msgid ""
"document. This can be much slower than the first two methods.<br>Use this if "
"you absolutely need correct counters."
msgstr ""
+"ÐаÑанÑиÑа, Ñе вÑиÑки бÑоÑÑи и пÑепÑаÑки Ñа иденÑиÑни на ÑÑлоÑÑÐ½Ð¸Ñ Ð´Ð¾ÐºÑменÑ. "
+"Това може да е много по-бÑвно Ð¾Ñ Ð¿ÑÑвиÑе два меÑода.<br>Ðзползва Ñе ако "
+"имаÑе нÑжда Ð¾Ñ ÐºÐ¾ÑекÑни бÑоÑÑи."
#: src/frontends/qt/ui/MasterChildUi.ui:90
msgid "Strictly &maintain (slow)"
-msgstr ""
+msgstr "СÑÑикÑно &Ñпазване (бавно)"
# src/mathed/math_forms.C:152
#: src/frontends/qt/ui/MathMatrixUi.ui:53
msgid "Horizontal alignment per column (l,c,r)"
msgstr ""
-"ХоÑизонÑално подÑавнÑване на колона - низ Ð¾Ñ âlâ(лÑво), âcâ(ÑенÑÑиÑано) и "
+"ХоÑизонÑално подÑавнÑване на колона - низ Ð¾Ñ âlâ(лÑво), âcâ(ÑенÑÑÑ) и "
"ârâ(дÑÑно)"
# src/frontends/xforms/form_paragraph.C:153
@@ -3549,13 +3521,12 @@ msgstr "&ХоÑизонÑално:"
# src/ext_l10n.h:173
#: src/frontends/qt/ui/MathMatrixUi.ui:100
-#, fuzzy
msgid "Appearance"
-msgstr "ÐÑиложениÑ"
+msgstr "ÐÑнÑен вид"
#: src/frontends/qt/ui/MathMatrixUi.ui:122
msgid "decoration type / matrix border"
-msgstr ""
+msgstr "Ñип декоÑаÑÐ¸Ñ / маÑÑиÑен канÑ"
# src/frontends/kde/printdlg.C:31
#: src/frontends/qt/ui/MathMatrixUi.ui:149
@@ -3698,13 +3669,12 @@ msgstr ""
# src/ext_l10n.h:291 src/insets/insetinfo.C:77 src/insets/insetinfo.C:102
# src/insets/insetinfo.C:231
#: src/frontends/qt/ui/NoteUi.ui:47
-#, fuzzy
msgid "LyX &Note"
-msgstr "Ðележка"
+msgstr "LyX Ðележка"
#: src/frontends/qt/ui/NoteUi.ui:54
msgid "Export to LaTeX/Docbook but don't print"
-msgstr ""
+msgstr "ÐкÑпоÑÑиÑане кÑм LaTeX/Docbook, но без пеÑаÑ"
# src/ext_l10n.h:202
#: src/frontends/qt/ui/NoteUi.ui:57
@@ -3713,37 +3683,36 @@ msgstr "ÐоменÑаÑ"
# src/frontends/kde/printdlg.C:25
#: src/frontends/qt/ui/NoteUi.ui:64
-#, fuzzy
msgid "Print as grey text"
-msgstr "ÐеÑÐ°Ñ Ð½Ð° вÑÑка ÑÑÑаниÑа"
+msgstr "ÐеÑÐ°Ñ ÐºÐ°Ñо Ñив ÑекÑÑ"
#: src/frontends/qt/ui/NoteUi.ui:67
msgid "&Greyed out"
-msgstr ""
+msgstr "&ЦвеÑна бележка"
# src/bufferlist.C:113 src/bufferlist.C:189
#: src/frontends/qt/ui/NumberingUi.ui:37
-#, fuzzy
msgid "Add line numbers to the document"
-msgstr "Ðоказване на Ð³Ð»Ð°Ð²Ð½Ð¸Ñ Ð´Ð¾ÐºÑменÑ"
+msgstr "ÐобавÑне номеÑа на ÑедовеÑе в докÑменÑа"
# src/mathed/formula.C:929
#: src/frontends/qt/ui/NumberingUi.ui:40
-#, fuzzy
msgid "L&ine numbering"
msgstr "ÐомеÑиÑане на ÑедовеÑе"
# src/form1.C:129 src/sp_form.C:58
#: src/frontends/qt/ui/NumberingUi.ui:63
-#, fuzzy
msgid "O&ptions:"
-msgstr "&ÐпÑии"
+msgstr "&ÐпÑии:"
#: src/frontends/qt/ui/NumberingUi.ui:73
msgid ""
"Line numbering (lineno package) options (e.g. right, modulo, switch(*), "
"pagewise). Please refer to the lineno package manual for details."
msgstr ""
+"ÐпÑии за номеÑиÑане на ÑедовеÑе (пакеÑа lineno) (каÑо right, module, "
+"switch(*), pagewise). ÐбÑÑнеÑе Ñе кÑм ÑÑководÑÑвоÑо но пакеÑа lineno "
+"за повеÑе инÑоÑмаÑиÑ."
# src/frontends/gnome/FormToc.C:100 src/frontends/gnome/FormToc.C:167
# src/frontends/kde/FormToc.C:167 src/frontends/kde/FormToc.C:168
@@ -3760,36 +3729,59 @@ msgstr "&ÐомеÑиÑане"
# src/frontends/xforms/form_preferences.C:926
#: src/frontends/qt/ui/OutputUi.ui:20
-#, fuzzy
msgid "DocBook Output Options"
-msgstr "ÐпÑии за ÑÑÑÑавÑне на XHTML"
+msgstr "ÐпÑии пÑи извеждане на DocBook"
# src/frontends/xforms/FormPreferences.C:232
#: src/frontends/qt/ui/OutputUi.ui:35
-#, fuzzy
msgid "&Table output:"
-msgstr "&ÐаÑемаÑиÑеÑки изÑ
оден ÑезÑлÑаÑ:"
+msgstr "ФоÑÐ¼Ð°Ñ Ð·Ð° &ÑаблиÑи:"
-#: src/frontends/qt/ui/OutputUi.ui:51 src/frontends/qt/ui/OutputUi.ui:203
+#: src/frontends/qt/ui/OutputUi.ui:51 src/frontends/qt/ui/OutputUi.ui:260
msgid "Format to use for math output."
msgstr ""
"ÐзбиÑане на изÑ
оден ÑоÑÐ¼Ð°Ñ Ð·Ð° ÑезÑлÑаÑа Ð¾Ñ Ð¾Ð±ÑабоÑкаÑа на маÑемаÑиÑеÑкиÑе "
"Ñимволи"
-#: src/frontends/qt/ui/OutputUi.ui:55 src/frontends/qt/ui/OutputUi.ui:212
+#: src/frontends/qt/ui/OutputUi.ui:55 src/frontends/qt/ui/OutputUi.ui:269
msgid "HTML"
msgstr "HTML"
#: src/frontends/qt/ui/OutputUi.ui:60
msgid "CALS"
+msgstr "CALS"
+
+#: src/frontends/qt/ui/OutputUi.ui:87
+msgid "&MathML namespace prefix:"
+msgstr "&Ðменовано пÑоÑÑÑанÑÑво в MathML:"
+
+#: src/frontends/qt/ui/OutputUi.ui:103
+msgid ""
+"Namespace prefix to use for MathML formulae. For instance, with the <code>m</"
+"code> prefix, the MathML tags will be output like <code>m:math</code>."
msgstr ""
+"Ðменовано пÑоÑÑÑанÑÑво за използване вÑв ÑоÑмÑлиÑе на MathML. ÐапÑÐ¸Ð¼ÐµÑ Ñ "
+"пÑеÑÐ¸ÐºÑ <code>m</code> елеменÑиÑе на MathML Ñе Ñе Ð¸Ð·Ð²ÐµÐ´Ð°Ñ ÐºÐ°Ñо <code>m:math</code>."
+
+#: src/frontends/qt/ui/OutputUi.ui:107
+msgid "No prefix (namespace defined inline for each tag)"
+msgstr "Ðез пÑеÑÐ¸ÐºÑ - именноÑо пÑоÑÑÑанÑÑво Ñе деÑиниÑа за вÑеки елеменÑ"
+
+# src/ext_l10n.h:133
+#: src/frontends/qt/ui/OutputUi.ui:112
+msgid "m (default)"
+msgstr "m (по подÑазбиÑане)"
+
+#: src/frontends/qt/ui/OutputUi.ui:117
+msgid "mml"
+msgstr "mml"
# src/frontends/xforms/FormPreferences.C:252
-#: src/frontends/qt/ui/OutputUi.ui:84
+#: src/frontends/qt/ui/OutputUi.ui:141
msgid "LyX Format"
msgstr "LyX ÑоÑмаÑ"
-#: src/frontends/qt/ui/OutputUi.ui:96
+#: src/frontends/qt/ui/OutputUi.ui:153
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 "
@@ -3802,163 +3794,165 @@ msgstr ""
"помага пÑи ÑÑвмеÑÑна ÑабоÑа вÑÑÑ
Ñ ÐµÐ´Ð¸Ð½ Ñайл и пÑи ÑабоÑа ÑÑÑ ÑиÑема за "
"ÑпÑавление на веÑÑииÑе."
-#: src/frontends/qt/ui/OutputUi.ui:99
+#: src/frontends/qt/ui/OutputUi.ui:156
msgid "Save &transient properties"
msgstr "Ðапазване на пÑеÑ
одниÑе наÑÑÑойки"
# src/frontends/kde/tocdlg.C:57
-#: src/frontends/qt/ui/OutputUi.ui:109
+#: src/frontends/qt/ui/OutputUi.ui:166
msgid "Output Format"
msgstr "ÐзÑ
оден ÑоÑмаÑ"
# src/lyxrc.C:1838
-#: src/frontends/qt/ui/OutputUi.ui:150 src/frontends/qt/ui/OutputUi.ui:163
+#: src/frontends/qt/ui/OutputUi.ui:207 src/frontends/qt/ui/OutputUi.ui:220
msgid "Specify the default output format (for view/update)"
msgstr ""
"ÐзбеÑеÑе изÑ
Ð¾Ð´Ð½Ð¸Ñ ÑоÑÐ¼Ð°Ñ Ð¿Ð¾ подÑазбиÑане за пÑедваÑиÑелен пÑеглед и "
-"опÑеÑнÑване."
+"акÑÑализаÑиÑ."
# src/frontends/xforms/form_preferences.C:221
-#: src/frontends/qt/ui/OutputUi.ui:153
+#: src/frontends/qt/ui/OutputUi.ui:210
msgid "De&fault output format:"
msgstr "&ÐзÑ
оден ÑоÑÐ¼Ð°Ñ Ð¿Ð¾ подÑазбиÑане:"
# src/frontends/xforms/form_preferences.C:926
-#: src/frontends/qt/ui/OutputUi.ui:188
+#: src/frontends/qt/ui/OutputUi.ui:245
msgid "XHTML Output Options"
-msgstr "ÐпÑии за ÑÑÑÑавÑне на XHTML"
+msgstr "ÐпÑии пÑи извеждане на XHTML"
# src/frontends/xforms/form_document.C:587
-#: src/frontends/qt/ui/OutputUi.ui:207
+#: src/frontends/qt/ui/OutputUi.ui:264
msgid "MathML"
msgstr "ÐаthML"
# src/frontends/kde/dlg/printdlgdata.C:42
-#: src/frontends/qt/ui/OutputUi.ui:217
+#: src/frontends/qt/ui/OutputUi.ui:274
msgid "Images"
msgstr "ÐзобÑажениÑ"
# src/ext_l10n.h:265
-#: src/frontends/qt/ui/OutputUi.ui:222 lib/layouts/aapaper.layout:63
+#: src/frontends/qt/ui/OutputUi.ui:279 lib/layouts/aapaper.layout:63
#: lib/layouts/egs.layout:712 lib/languages:146
-#: src/frontends/qt/GuiDocument.cpp:1597 src/frontends/qt/GuiErrorList.cpp:50
-#: src/frontends/qt/GuiLog.cpp:235 src/frontends/qt/GuiPrefs.cpp:638
+#: src/frontends/qt/GuiDocument.cpp:1609 src/frontends/qt/GuiErrorList.cpp:50
+#: src/frontends/qt/GuiLog.cpp:282 src/frontends/qt/GuiPrefs.cpp:642
msgid "LaTeX"
msgstr "LaTeX"
# src/frontends/kde/dlg/printdlgdata.C:88
# src/frontends/xforms/form_print.C:138
-#: src/frontends/qt/ui/OutputUi.ui:230
+#: src/frontends/qt/ui/OutputUi.ui:287
msgid "Write CSS to file"
msgstr "ÐапиÑване на CSS вÑв Ñайл"
# src/frontends/xforms/FormPreferences.C:232
-#: src/frontends/qt/ui/OutputUi.ui:243
+#: src/frontends/qt/ui/OutputUi.ui:300
msgid "&Math output:"
msgstr "&ÐаÑемаÑиÑеÑки изÑ
оден ÑезÑлÑаÑ:"
# src/mathed/math_panel.C:128
-#: src/frontends/qt/ui/OutputUi.ui:259
+#: src/frontends/qt/ui/OutputUi.ui:316
msgid "Math &image scaling:"
-msgstr "ÐаÑаб на маÑ. изобÑажение:"
+msgstr "ÐаÑаб на маÑемаÑ. изобÑажение:"
-#: src/frontends/qt/ui/OutputUi.ui:269
+#: src/frontends/qt/ui/OutputUi.ui:326
msgid "Whether to comply strictly with XHTML 1.1."
-msgstr "Ðали да Ñе Ñпазва ÑÑÑикÑно ÑÑандаÑÑа XHTML 1.1"
+msgstr "Спазвана ÑÑÑикÑен XHTML 1.1 ÑÑандаÑÑ"
-#: src/frontends/qt/ui/OutputUi.ui:272
+#: src/frontends/qt/ui/OutputUi.ui:329
msgid "&Strict XHTML 1.1"
msgstr "&СÑÑикÑен XHTML 1.1"
-#: src/frontends/qt/ui/OutputUi.ui:285
+#: src/frontends/qt/ui/OutputUi.ui:342
msgid "Scaling factor for images used for math output."
msgstr ""
"ÐоеÑиÑÐµÐ½Ñ Ð·Ð° маÑаба на изобÑажениеÑо, в ÑезÑлÑÐ°Ñ Ð¾Ñ Ð¾Ð±ÑабоÑкаÑа на "
"маÑемаÑиÑеÑкиÑе Ñимволи"
-#: src/frontends/qt/ui/OutputUi.ui:320
+#: src/frontends/qt/ui/OutputUi.ui:377
msgid ""
"Runs the LaTeX backend with the -shell-escape option (Warning: use only when "
"really necessary)"
msgstr ""
+"СÑаÑÑиÑа пÑогÑами Ð¾Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñед ÑÑез -shell-escape опÑиÑÑа на LaTeX."
+"Ðнимание: използвайÑе Ñамо пÑи необÑ
одимоÑÑ Ð¿Ð¾Ñади ÑиÑк за ÑигÑÑноÑÑÑа - "
+"изпÑлнение на пÑоизволни команди ÑкÑиÑи в LaTeX ÑкÑипÑ."
-#: src/frontends/qt/ui/OutputUi.ui:323
+#: src/frontends/qt/ui/OutputUi.ui:380
msgid "&Allow running external programs"
-msgstr ""
+msgstr "РаÑеÑава Ñе ÑÑаÑÑиÑане на &вÑнÑни пÑогÑами Ð¾Ñ LaTeX ÑкÑипÑ"
# src/frontends/xforms/form_preferences.C:926
-#: src/frontends/qt/ui/OutputUi.ui:330
-#, fuzzy
+#: src/frontends/qt/ui/OutputUi.ui:387
msgid "LaTeX Output Options"
-msgstr "ÐпÑии за ÑÑÑÑавÑне на XHTML"
+msgstr "ÐпÑии на LaTeX за кÑÐ°Ð¹Ð½Ð¸Ñ Ñайл"
-#: src/frontends/qt/ui/OutputUi.ui:338
+#: src/frontends/qt/ui/OutputUi.ui:395
msgid "Enable forward/reverse search between editor and output (e.g., SyncTeX)"
msgstr ""
"ÐозволÑва ÑÑÑÑене напÑед и назад Ð¼ÐµÐ¶Ð´Ñ LyX-ÑедакÑоÑа и изÑ
Ð¾Ð´Ð½Ð¸Ñ ÑезÑлÑÐ°Ñ "
"(напÑ. Ð¾Ñ SyncTeX)"
-#: src/frontends/qt/ui/OutputUi.ui:341
+#: src/frontends/qt/ui/OutputUi.ui:398
msgid "S&ynchronize with output"
msgstr "&СинÑ
ÑонизиÑане Ñ Ð¸Ð·Ñ
ода"
# src/ext_l10n.h:215
-#: src/frontends/qt/ui/OutputUi.ui:366
+#: src/frontends/qt/ui/OutputUi.ui:423
msgid "C&ustom macro:"
msgstr "&ÐмÑкване на LaTeX команда:"
# src/lyx_cb.C:675
-#: src/frontends/qt/ui/OutputUi.ui:376
+#: src/frontends/qt/ui/OutputUi.ui:433
msgid "Custom LaTeX preamble macro"
msgstr "ÐзбиÑане на LaTeX команда за вмÑкване в заглавнаÑа ÑаÑÑ"
-#: src/frontends/qt/ui/OutputUi.ui:403
+#: src/frontends/qt/ui/OutputUi.ui:460
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 ""
-#: src/frontends/qt/ui/OutputUi.ui:406
+#: src/frontends/qt/ui/OutputUi.ui:463
msgid "Put fra&gile content out of moving arguments"
msgstr ""
-#: src/frontends/qt/ui/PDFSupportUi.ui:38
+#: src/frontends/qt/ui/PDFSupportUi.ui:23
msgid "&Use hyperref support"
-msgstr ""
+msgstr "Ðзползване на Ñ
ипеÑвÑÑзки"
# src/frontends/xforms/FormParagraph.C:132
-#: src/frontends/qt/ui/PDFSupportUi.ui:72
+#: src/frontends/qt/ui/PDFSupportUi.ui:57
msgid "&General"
msgstr "&ÐбÑо"
# src/ext_l10n.h:146
-#: src/frontends/qt/ui/PDFSupportUi.ui:119
+#: src/frontends/qt/ui/PDFSupportUi.ui:104
msgid "Header Information"
msgstr "Ðаглавна инÑоÑмаÑиÑ"
# src/ext_l10n.h:395 src/frontends/gnome/FormCitation.C:529
-#: src/frontends/qt/ui/PDFSupportUi.ui:134
+#: src/frontends/qt/ui/PDFSupportUi.ui:119
msgid "&Title:"
msgstr "&Ðаглавие:"
# src/ext_l10n.h:175
-#: src/frontends/qt/ui/PDFSupportUi.ui:147
+#: src/frontends/qt/ui/PDFSupportUi.ui:132
msgid "&Author:"
msgstr "&ÐвÑоÑ:"
# src/ext_l10n.h:367
-#: src/frontends/qt/ui/PDFSupportUi.ui:160
+#: src/frontends/qt/ui/PDFSupportUi.ui:145
msgid "Sub&ject:"
msgstr "&Тема:"
# src/ext_l10n.h:262 src/frontends/gnome/FormIndex.C:89
# src/frontends/xforms/form_index.C:28
-#: src/frontends/qt/ui/PDFSupportUi.ui:173
+#: src/frontends/qt/ui/PDFSupportUi.ui:158
msgid "&Keywords:"
msgstr "&ÐлÑÑови дÑми:"
-#: src/frontends/qt/ui/PDFSupportUi.ui:206
+#: src/frontends/qt/ui/PDFSupportUi.ui:191
msgid ""
"If not stated explicitly, fill title and author from appropriate environments"
msgstr ""
@@ -3966,82 +3960,99 @@ msgstr ""
"конÑекÑÑ"
# src/ext_l10n.h:175
-#: src/frontends/qt/ui/PDFSupportUi.ui:209
+#: src/frontends/qt/ui/PDFSupportUi.ui:194
msgid "Automatically fi&ll header"
msgstr "&ÐвÑомаÑиÑно попÑлване на заглавнаÑа ÑаÑÑ"
-#: src/frontends/qt/ui/PDFSupportUi.ui:216
+#: src/frontends/qt/ui/PDFSupportUi.ui:201
msgid "Enable fullscreen PDF presentation"
msgstr "РазÑеÑаване на PDF пÑезенÑаÑии на пÑлен екÑан"
-#: src/frontends/qt/ui/PDFSupportUi.ui:219
+#: src/frontends/qt/ui/PDFSupportUi.ui:204
msgid "Load in &fullscreen mode"
msgstr "&ÐаÑеждане в Ñежим на пÑлен екÑан"
# src/frontends/kde/urldlg.C:45
-#: src/frontends/qt/ui/PDFSupportUi.ui:229
+#: src/frontends/qt/ui/PDFSupportUi.ui:214
msgid "H&yperlinks"
msgstr "&ХипеÑвÑÑзки"
-#: src/frontends/qt/ui/PDFSupportUi.ui:280
+#: src/frontends/qt/ui/PDFSupportUi.ui:265
msgid "Allows link text to break across lines."
msgstr "РазÑеÑаване Ñ
ипеÑвÑÑзкиÑе да Ñе пÑенаÑÑÑ Ð½Ð° нов Ñед"
-#: src/frontends/qt/ui/PDFSupportUi.ui:283
+#: src/frontends/qt/ui/PDFSupportUi.ui:268
msgid "B&reak links over lines"
msgstr "&ÐÑенаÑÑне на вÑÑзкиÑе на нов Ñед"
-#: src/frontends/qt/ui/PDFSupportUi.ui:290
+#: src/frontends/qt/ui/PDFSupportUi.ui:275
msgid "No &frames around links"
msgstr "&Ðез Ñамки около вÑÑзкиÑе"
# src/frontends/xforms/FormPreferences.C:244
-#: src/frontends/qt/ui/PDFSupportUi.ui:300
+#: src/frontends/qt/ui/PDFSupportUi.ui:285
msgid "C&olor links"
msgstr "&ЦвеÑни вÑÑзки"
-#: src/frontends/qt/ui/PDFSupportUi.ui:307
+#: src/frontends/qt/ui/PDFSupportUi.ui:292
msgid "Bibliographical backreferences"
msgstr "ÐоÑÑавÑне на обÑаÑни ÑказаÑели в лиÑеÑаÑÑÑÐ½Ð¸Ñ ÑпиÑÑк"
# src/frontends/xforms/FormPreferences.C:68
-#: src/frontends/qt/ui/PDFSupportUi.ui:310
+#: src/frontends/qt/ui/PDFSupportUi.ui:295
msgid "B&ackreferences:"
msgstr "&ÐбÑаÑни ÑказаÑели:"
# src/frontends/xforms/form_paragraph.C:244
-#: src/frontends/qt/ui/PDFSupportUi.ui:339
+#: src/frontends/qt/ui/PDFSupportUi.ui:324
msgid "&Bookmarks"
msgstr "&ÐоказалÑи"
# src/frontends/xforms/form_paragraph.C:244
-#: src/frontends/qt/ui/PDFSupportUi.ui:360
+#: src/frontends/qt/ui/PDFSupportUi.ui:345
msgid "G&enerate bookmarks (toc)"
msgstr "&СÑздаване на показалÑи в ÑÑдÑÑжаниеÑо"
# src/lyxfont.C:415
-#: src/frontends/qt/ui/PDFSupportUi.ui:390
+#: src/frontends/qt/ui/PDFSupportUi.ui:375
msgid "&Numbered bookmarks"
msgstr "&ÐомеÑиÑани показалÑи"
# src/frontends/xforms/form_paragraph.C:244
-#: src/frontends/qt/ui/PDFSupportUi.ui:397
+#: src/frontends/qt/ui/PDFSupportUi.ui:382
msgid "&Open bookmark tree"
msgstr "&ÐÑваÑÑне на дÑÑвоÑо Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð»Ñи"
# src/frontends/kde/printdlg.C:31
-#: src/frontends/qt/ui/PDFSupportUi.ui:431
+#: src/frontends/qt/ui/PDFSupportUi.ui:416
msgid "Number of levels"
msgstr "ÐÑой нива"
# src/frontends/xforms/form_preferences.C:926
-#: src/frontends/qt/ui/PDFSupportUi.ui:473
+#: src/frontends/qt/ui/PDFSupportUi.ui:455
msgid "Additional O&ptions"
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/ui/PDFSupportUi.ui:461
+msgid ""
+"Additional hyperref options (comma-separated) to be passed via \\hypersetup."
+msgstr ""
+"ÐопÑлниÑелни опÑии за Ñ
ипеÑвÑÑзкиÑе, Ñазделени ÑÑÑ Ð·Ð°Ð¿ÐµÑÐ°Ñ Ð¸ пÑедавани ÑÑез \\hypersetup."
+
+#: src/frontends/qt/ui/PDFSupportUi.ui:464
+msgid "Hyperse&tup"
+msgstr "ÐаÑÑÑойка на Ñ
ипеÑвÑÑзкиÑе"
+
+#: src/frontends/qt/ui/PDFSupportUi.ui:487
+msgid ""
+"Document metadata and PDF settings (as specified in LaTeX 06/2022 and later)"
+msgstr ""
+"ÐеÑаданни за докÑменÑа и PDF наÑÑÑойкиÑе, Ñака какÑо Ñа в LaTeX 06/22 и ÑледваÑи веÑÑии"
+
+# src/ext_l10n.h:130
+#: src/frontends/qt/ui/PDFSupportUi.ui:490
+msgid "Document &Metadata"
+msgstr "&ÐеÑаданни за докÑменÑа"
# src/frontends/xforms/form_preferences.C:354
#: src/frontends/qt/ui/PageLayoutUi.ui:20
@@ -4078,9 +4089,9 @@ msgstr "Ðей&заж"
# src/frontends/xforms/FormParagraph.C:33
#: 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:1765
+#: lib/layouts/multicol.module:3 src/frontends/qt/GuiDocument.cpp:1779
msgid "Page Layout"
-msgstr "ÐÑоÑмление на ÑÑÑаниÑиÑе"
+msgstr "СÑÑаниÑи"
# src/frontends/xforms/form_document.C:278
#: src/frontends/qt/ui/PageLayoutUi.ui:171
@@ -4107,17 +4118,17 @@ msgstr "&РазÑÑоÑние Ð¼ÐµÐ¶Ð´Ñ ÑедовеÑе"
# src/bufferview_funcs.C:280
#: src/frontends/qt/ui/ParagraphUi.ui:60 src/Text.cpp:2118
-#: src/frontends/qt/GuiDocument.cpp:867
+#: src/frontends/qt/GuiDocument.cpp:875
msgid "Single"
msgstr "eдиниÑно"
#: src/frontends/qt/ui/ParagraphUi.ui:65
msgid "1.5"
-msgstr ""
+msgstr "1.5"
# src/bufferview_funcs.C:286
#: src/frontends/qt/ui/ParagraphUi.ui:70 src/Text.cpp:2124
-#: src/frontends/qt/GuiDocument.cpp:871
+#: src/frontends/qt/GuiDocument.cpp:879
msgid "Double"
msgstr "двойно"
@@ -4128,19 +4139,19 @@ msgstr "двойно"
#: 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:859 src/frontends/qt/GuiDocument.cpp:865
-#: src/frontends/qt/GuiDocument.cpp:873 src/frontends/qt/GuiDocument.cpp:987
-#: src/frontends/qt/GuiDocument.cpp:1054 src/frontends/qt/GuiDocument.cpp:1140
-#: src/frontends/qt/GuiDocument.cpp:1191 src/frontends/qt/GuiDocument.cpp:1537
-#: src/frontends/qt/GuiHSpace.cpp:57 src/frontends/qt/GuiPrefs.cpp:812
-#: src/frontends/qt/GuiPrefs.cpp:840 src/frontends/qt/GuiPrefs.cpp:867
-#: src/frontends/qt/GuiPrefs.cpp:2287 src/frontends/qt/GuiPrefs.cpp:2310
+#: src/frontends/qt/GuiDocument.cpp:867 src/frontends/qt/GuiDocument.cpp:873
+#: src/frontends/qt/GuiDocument.cpp:881 src/frontends/qt/GuiDocument.cpp:997
+#: src/frontends/qt/GuiDocument.cpp:1064 src/frontends/qt/GuiDocument.cpp:1150
+#: src/frontends/qt/GuiDocument.cpp:1201 src/frontends/qt/GuiDocument.cpp:1549
+#: src/frontends/qt/GuiHSpace.cpp:57 src/frontends/qt/GuiPrefs.cpp:816
+#: src/frontends/qt/GuiPrefs.cpp:844 src/frontends/qt/GuiPrefs.cpp:871
+#: src/frontends/qt/GuiPrefs.cpp:2329 src/frontends/qt/GuiPrefs.cpp:2352
#: src/frontends/qt/GuiPrintNomencl.cpp:51 src/insets/InsetInfo.cpp:236
#: 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
+#: src/insets/InsetInfo.cpp:259 src/insets/InsetInfo.cpp:321
+#: src/insets/InsetInfo.cpp:343
msgid "Custom"
-msgstr "поÑÑебиÑелÑко"
+msgstr "задаване"
#: src/frontends/qt/ui/ParagraphUi.ui:110
msgid "&Justified"
@@ -4153,7 +4164,7 @@ msgstr "оÑ&дÑÑно"
#: src/frontends/qt/ui/ParagraphUi.ui:138
msgid "Use the default alignment for this paragraph, whatever it is."
-msgstr ""
+msgstr "Ðзползване на подÑавнÑване по подÑазбиÑане за Ñози паÑагÑаÑ, каквоÑо и да е Ñо."
# src/frontends/kde/FormParagraph.C:183
# src/frontends/xforms/FormParagraph.C:148
@@ -4178,13 +4189,12 @@ msgstr "Ðай-дÑлÑг еÑикеÑ"
# src/buffer.C:323
#: src/frontends/qt/ui/ParagraphUi.ui:201
-#, fuzzy
msgid "&Do not indent paragraph"
-msgstr "ÐÐ±Ð·Ð°Ñ Ñ Ð¾ÑÑÑÑп"
+msgstr "ÐÐ±Ð·Ð°Ñ Ð±ÐµÐ· оÑÑÑÑп"
#: src/frontends/qt/ui/PhantomUi.ui:47
msgid "Horizontal and vertical space of the phantom content"
-msgstr ""
+msgstr "ХоÑиз. и веÑÑ. ÑазÑÑоÑние Ð¾Ñ ÑанÑомноÑо ÑÑдÑÑжание"
# src/ext_l10n.h:438
#: src/frontends/qt/ui/PhantomUi.ui:50
@@ -4213,24 +4223,22 @@ msgstr "ÐеÑÑикален ÑанÑом"
# src/form1.C:286
#: src/frontends/qt/ui/PreambleUi.ui:38
-#, fuzzy
msgid "&Find"
msgstr "&ТÑÑÑене:"
# src/frontends/kde/citationdlg.C:96
#: src/frontends/qt/ui/PrefColorsUi.ui:60
-#, fuzzy
msgid "Change the selected color"
-msgstr "ÐÑоменÑне имеÑо на избÑаноÑо Ñазклонение."
+msgstr "ÐÑомÑна на избÑÐ°Ð½Ð¸Ñ ÑвÑÑ"
# src/intl.C:349 src/intl.C:350
#: src/frontends/qt/ui/PrefColorsUi.ui:63
msgid "A<er..."
-msgstr "&ÐÑоменÑне"
+msgstr "&ÐÑомÑна"
#: src/frontends/qt/ui/PrefColorsUi.ui:70
msgid "Reset the selected color to its original value"
-msgstr ""
+msgstr "ÐÑÑÑане на избÑÐ°Ð½Ð¸Ñ ÑвÑÑ Ð´Ð¾ неговаÑа пÑÑвонаÑална ÑÑойноÑÑ"
#: src/frontends/qt/ui/PrefColorsUi.ui:73
msgid "Restore &Default"
@@ -4241,13 +4249,12 @@ msgid "Reset all colors to their original value"
msgstr "ÐÑзÑÑановÑване на вÑиÑки ÑвеÑове до пÑÑвонаÑалнаÑа им ÑÑойноÑÑ"
#: src/frontends/qt/ui/PrefColorsUi.ui:83
-#, fuzzy
msgid "Restore A&ll"
-msgstr "ÐÑзÑÑановÑване"
+msgstr "ÐÑзÑÑановÑване вÑиÑки"
#: src/frontends/qt/ui/PrefColorsUi.ui:105
msgid "Use the color scheme of your Operating System/Desktop Environment"
-msgstr ""
+msgstr "Ðзползване на ÑвеÑоваÑа ÑÑ
ема Ð¾Ñ Ð³ÑаÑиÑнаÑа ÑÑеда на опеÑаÑионнаÑа ÑиÑÑема"
# src/lyxfunc.C:1132
#: src/frontends/qt/ui/PrefColorsUi.ui:108
@@ -4274,7 +4281,7 @@ msgstr "ÐвÑомаÑиÑно допиÑване в Ñеда"
#: src/frontends/qt/ui/PrefCompletionUi.ui:51
msgid "Show the popup in math mode after the delay."
-msgstr ""
+msgstr "Ðоказване на изÑкаÑÐ°Ñ Ð¿ÑозоÑÐµÑ Ð² маÑем. Ñежим Ñлед закÑÑнение"
# src/ext_l10n.h:175
#: src/frontends/qt/ui/PrefCompletionUi.ui:54
@@ -4327,9 +4334,9 @@ msgid "Cursor i&ndicator"
msgstr "ÐндикаÑÐ¾Ñ Ð½Ð° кÑÑÑоÑа"
#: src/frontends/qt/ui/PrefCompletionUi.ui:119
-#: src/frontends/qt/GuiPrefs.cpp:317
+#: src/frontends/qt/GuiPrefs.cpp:321
msgid "General[[settings]]"
-msgstr ""
+msgstr "ÐбÑи"
#: src/frontends/qt/ui/PrefCompletionUi.ui:142
msgid ""
@@ -4428,8 +4435,8 @@ msgstr "&РедакÑиÑане"
# src/frontends/kde/dlg/paradlgdata.C:82
#: src/frontends/qt/ui/PrefConvertersUi.ui:286
-#: src/frontends/qt/ui/PrefShortcutsUi.ui:61 src/frontends/qt/GuiPrefs.cpp:3101
-#: src/frontends/qt/GuiPrefs.cpp:3187
+#: src/frontends/qt/ui/PrefShortcutsUi.ui:61 src/frontends/qt/GuiPrefs.cpp:3150
+#: src/frontends/qt/GuiPrefs.cpp:3236
msgid "Remo&ve"
msgstr "&ÐÑемаÑ
ване"
@@ -4524,11 +4531,12 @@ msgid ""
"If this is checked, additions in change tracking are underlined in the "
"workarea"
msgstr ""
+"Ðко е оÑмеÑнаÑо добавкиÑе в докÑменÑа пÑи пÑоÑледÑване на пÑомениÑе Ñе "
+"подÑеÑÑÐ°Ð²Ð°Ñ Ð² ÑабоÑнаÑа плоÑ"
#: src/frontends/qt/ui/PrefDisplayUi.ui:157
-#, fuzzy
msgid "&Underline change tracking additions"
-msgstr "ÐкÑивиÑане пÑоÑледÑване на пÑомениÑе в кÑÐ°Ð¹Ð½Ð¸Ñ Ð´Ð¾ÐºÑменÑ"
+msgstr "&ÐодÑеÑÑаване на пÑомениÑе в докÑменÑа"
# src/debug.C:42
#: src/frontends/qt/ui/PrefDocHandlingUi.ui:26
@@ -4660,7 +4668,7 @@ msgid "Ask the user"
msgstr "пиÑа Ñе пÑÑебиÑелÑ"
# src/ext_l10n.h:16 src/ext_l10n.h:29
-#: src/frontends/qt/ui/PrefEditUi.ui:26 src/frontends/qt/GuiPrefs.cpp:210
+#: src/frontends/qt/ui/PrefEditUi.ui:26 src/frontends/qt/GuiPrefs.cpp:214
msgid "Editing"
msgstr "РедакÑиÑане"
@@ -4690,10 +4698,13 @@ msgid ""
"paste operations and when moving content from/to insets if change tracking "
"is deactivated."
msgstr ""
+"Ðко е оÑмеÑнаÑо, оÑкÑоÑванеÑо на ÑекÑÑа пÑи пÑоÑледÑване на пÑомениÑе нÑма да "
+"Ñе вÑзÑÑанови пÑи опеÑаÑииÑе копиÑане и поÑÑавÑне, и пÑи пÑемеÑÑване на ÑекÑÑ "
+"оÑ/в добавка пÑи неакÑивно пÑоÑелдÑване на пÑомениÑе."
#: src/frontends/qt/ui/PrefEditUi.ui:93
msgid "&Keep change tracking markup on copy and paste"
-msgstr ""
+msgstr "ÐÑоÑледÑване на пÑомениÑе пÑи копиÑане и поÑÑавÑне"
# src/frontends/kde/refdlg.C:99
#: src/frontends/qt/ui/PrefEditUi.ui:100
@@ -4713,21 +4724,19 @@ msgstr ""
# src/frontends/kde/printdlg.C:35
#: src/frontends/qt/ui/PrefEditUi.ui:119
-#, fuzzy
msgid "Search &drive for cited files"
-msgstr "ÐзбоÑане на диÑекÑоÑÐ¸Ñ Ð·Ð° пÑимеÑни Ñайлове"
+msgstr "ÐÑеÑÑÑÑване на диÑка за Ñайлове Ñ ÑиÑаÑи"
# src/frontends/kde/dlg/printdlgdata.C:246
#: src/frontends/qt/ui/PrefEditUi.ui:144
-#, fuzzy
msgid "Patte&rn:"
-msgstr "(&F)Файл"
+msgstr "Шаблан:"
#: src/frontends/qt/ui/PrefEditUi.ui:154
msgid "Define search pattern (see UserGuide for syntax)"
-msgstr ""
+msgstr "ÐеÑиниÑане на Ñаблон за ÑÑÑÑене (виж ÑÑководÑÑвоÑо за ÑинÑакÑиÑ)"
-#: src/frontends/qt/ui/PrefEditUi.ui:167 src/LyXRC.cpp:3103
+#: src/frontends/qt/ui/PrefEditUi.ui:167 src/LyXRC.cpp:3175
msgid ""
"Configure the width of the text cursor. Automatic zoom-controlled cursor "
"width used when set to 0."
@@ -4741,7 +4750,7 @@ msgstr "ШиÑина на кÑÑÑоÑа в пикÑели (px):"
#: src/frontends/qt/ui/PrefEditUi.ui:198
msgid "Skip trailing non-word characters"
-msgstr ""
+msgstr "ÐÑемаÑ
ване на кÑайниÑе знаÑи, коиÑо не Ñа бÑкви"
# src/ext_l10n.h:202
#: src/frontends/qt/ui/PrefEditUi.ui:201
@@ -4769,7 +4778,6 @@ msgid "Hide sta&tusbar"
msgstr "СкÑиване на ленÑаÑа на ÑÑÑÑоÑниеÑо"
#: src/frontends/qt/ui/PrefEditUi.ui:267
-#, fuzzy
msgid "H&ide tabbar"
msgstr "СкÑиване на ленÑаÑа Ñ ÑазделиÑе"
@@ -4778,7 +4786,6 @@ msgid "&Limit text width"
msgstr "ÐгÑаниÑаване ÑиÑинаÑа на Ñеда"
#: src/frontends/qt/ui/PrefEditUi.ui:328
-#, fuzzy
msgid "Screen used (pi&xels):"
msgstr "Ðзполван екÑан в пикÑели (px):"
@@ -4858,7 +4865,7 @@ msgid ""
"Specification of the default output formats when using specific LaTeX "
"variants"
msgstr ""
-"Ðоказва ÑоÑмаÑиÑе по подÑазбиÑане, когаÑо Ñе използва ÑпеÑиÑиÑен LaTeXi "
+"Ðоказва ÑоÑмаÑиÑе по подÑазбиÑане, когаÑо Ñе използва ÑпеÑиÑиÑен LaTeX "
"ваÑианÑ."
# src/frontends/xforms/form_preferences.C:221
@@ -4907,13 +4914,12 @@ msgstr "ÐаÑеÑо име"
# src/lyxfont.C:51
#: src/frontends/qt/ui/PrefIdentityUi.ui:41
-#, fuzzy
msgid "&Initials:"
-msgstr "ÐÑÑÑив"
+msgstr "&ÐниÑиали:"
#: src/frontends/qt/ui/PrefIdentityUi.ui:63
msgid "Initials of your name"
-msgstr ""
+msgstr "ÐниÑиали на ваÑеÑо име"
# src/layout_forms.C:23
#: src/frontends/qt/ui/PrefIdentityUi.ui:72
@@ -5012,7 +5018,7 @@ msgid "Ctrl"
msgstr "Ctrl"
# src/lyxfont.C:56
-#: src/frontends/qt/ui/PrefInputUi.ui:249 src/insets/InsetInfo.cpp:855
+#: src/frontends/qt/ui/PrefInputUi.ui:249 src/insets/InsetInfo.cpp:863
msgid "Shift"
msgstr "Shift"
@@ -5032,9 +5038,8 @@ msgstr ""
"ÐзбеÑеÑе езика за гÑаÑиÑÐ½Ð¸Ñ Ð¿Ð¾ÑÑебиÑелÑки инÑеÑÑÐµÐ¹Ñ (менÑÑа, диалози и Ñ.н.)"
#: src/frontends/qt/ui/PrefLanguageUi.ui:57
-#, fuzzy
msgid "LaTeX Language Support"
-msgstr "ÐоддÑÑжка за пиÑане Ð¾Ñ Ð´ÑÑно налÑво"
+msgstr "ÐоддÑÑжани езиÑи Ð¾Ñ LaTeX"
# src/layout_forms.C:64
#: src/frontends/qt/ui/PrefLanguageUi.ui:63
@@ -5042,38 +5047,36 @@ msgid "Language &package:"
msgstr "&Ðзиков пакеÑ:"
#: src/frontends/qt/ui/PrefLanguageUi.ui:73
-#, fuzzy
msgid "Select which (LaTeX) language package documents should use by default"
-msgstr "ÐзбеÑеÑе какÑв езиков Ð¿Ð°ÐºÐµÑ Ð´Ð° Ñе използва Ð¾Ñ LyX"
+msgstr "ÐзбеÑеÑе какÑв езиков Ð¿Ð°ÐºÐµÑ Ð¾Ñ LaTeX да Ñе използва по подÑазбиÑане"
# src/ext_l10n.h:175
#: src/frontends/qt/ui/PrefLanguageUi.ui:77
-#: src/frontends/qt/GuiDocument.cpp:1050 src/frontends/qt/GuiDocument.cpp:2706
-#: src/frontends/qt/GuiPrefs.cpp:811 src/frontends/qt/GuiPrefs.cpp:839
+#: src/frontends/qt/GuiDocument.cpp:1060 src/frontends/qt/GuiDocument.cpp:2724
+#: src/frontends/qt/GuiPrefs.cpp:815 src/frontends/qt/GuiPrefs.cpp:843
msgid "Automatic"
msgstr "по подÑазбиÑане"
# src/layout_forms.C:72
#: src/frontends/qt/ui/PrefLanguageUi.ui:82
-#: src/frontends/qt/GuiDocument.cpp:1052
+#: src/frontends/qt/GuiDocument.cpp:1062
msgid "Always Babel"
-msgstr "винаги Babel"
+msgstr "винаги Ðабел (babel)"
# src/layout_forms.C:64
#: src/frontends/qt/ui/PrefLanguageUi.ui:92
-#: src/frontends/qt/GuiDocument.cpp:1056
+#: src/frontends/qt/GuiDocument.cpp:1066
msgid "None[[language package]]"
msgstr "нÑма"
# src/lyxrc.C:1908
#: src/frontends/qt/ui/PrefLanguageUi.ui:100
-#, fuzzy
msgid ""
"Enter the command to load a custom language package (default: "
"\\usepackage{babel})"
msgstr ""
-"ÐÑведеÑе командаÑа за заÑеждане на езиков Ð¿Ð°ÐºÐµÑ (по подÑазбиÑане: "
-"\\usepackage{babel}"
+"ÐÑведеÑе команда за заÑеждане на езиков Ð¿Ð°ÐºÐµÑ Ð¾Ñ Ð¿Ð¾ÑÑебиÑÐµÐ»Ñ "
+"(по подÑазбиÑане: \\usepackage{babel}"
# src/frontends/xforms/form_preferences.C:438
#: src/frontends/qt/ui/PrefLanguageUi.ui:107
@@ -5082,11 +5085,11 @@ msgstr "Ðоманда за наÑало:"
# src/lyxrc.C:1936
#: src/frontends/qt/ui/PrefLanguageUi.ui:117
-#, fuzzy
msgid ""
"The LaTeX command that starts a switch to a different language. The "
"placeholder $$lang is replaced by the actual language name."
-msgstr "LaTeX командаÑа за наÑало на локална ÑмÑна на езика."
+msgstr "LaTeX командаÑа за наÑало на локална ÑмÑна на езика. "
+"ÐÑоменливаÑа $$lang Ñе Ð·Ð°Ð¼ÐµÐ½Ñ Ñ Ð¸Ð¼ÐµÑо на езика."
# src/frontends/xforms/form_preferences.C:445
#: src/frontends/qt/ui/PrefLanguageUi.ui:124
@@ -5095,97 +5098,91 @@ msgstr "Ðоманда за кÑай:"
# src/lyxrc.C:1936
#: src/frontends/qt/ui/PrefLanguageUi.ui:134
-#, fuzzy
msgid ""
"The LaTeX command that ends a switch to a different language. The "
"placeholder $$lang is replaced by the actual language name."
msgstr "LaTeX командаÑа за кÑай на локалнаÑа ÑмÑна на езика."
+"ÐÑоменливаÑа $$lang Ñе Ð·Ð°Ð¼ÐµÐ½Ñ Ñ Ð¸Ð¼ÐµÑо на езика."
#: src/frontends/qt/ui/PrefLanguageUi.ui:141
-#, fuzzy
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."
msgstr ""
-"ÐкÑивиÑай за наÑÑÑойка на езика глобално - за клаÑа (жанÑа) на докÑменÑа, а "
-"не локално - за ÐµÐ·Ð¸ÐºÐ¾Ð²Ð¸Ñ Ð¿Ð°ÐºÐµÑ"
+"ÐÑи акÑивиÑане наÑÑÑойкаÑа на езика е глобална - за клаÑа (жанÑа) на докÑменÑа, а "
+"не локално - за ÐµÐ·Ð¸ÐºÐ¾Ð²Ð¸Ñ Ð¿Ð°ÐºÐµÑ, Ñака Ñе, дÑÑги пакеÑи ÑÑÑо ÑазбиÑÐ°Ñ Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ð½Ð¸Ñе "
+"езиÑи."
#: src/frontends/qt/ui/PrefLanguageUi.ui:144
msgid "Set languages &globally"
msgstr "Ðадаване на езика глобално"
#: src/frontends/qt/ui/PrefLanguageUi.ui:151
-#, fuzzy
msgid ""
"If checked, the document language is explicitly set by a language switch "
"command"
msgstr ""
-"ÐÑмеÑнеÑе за да не наÑÑÑойваÑе изÑиÑно езика за докÑменÑа Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° за ÑмÑна "
+"ÐÑмеÑнеÑе за да наÑÑÑойваÑе изÑиÑно езика за докÑменÑа Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° за ÑмÑна "
"на език"
#: src/frontends/qt/ui/PrefLanguageUi.ui:154
-#, fuzzy
msgid "Set document language e&xplicitly"
-msgstr "Ðадаване на езика глобално"
+msgstr "Ðзика Ñе задава изÑиÑно"
#: src/frontends/qt/ui/PrefLanguageUi.ui:161
-#, fuzzy
msgid ""
"If checked, the document language is explicitly closed by a language switch "
"command"
msgstr ""
-"ÐÑмеÑнеÑе за да не заÑваÑÑÑе изÑиÑно езика за докÑменÑа Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° за ÑмÑна "
+"ÐÑмеÑнеÑе за да заÑваÑÑÑе изÑиÑно езика за докÑменÑа Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° за ÑмÑна "
"на език"
#: src/frontends/qt/ui/PrefLanguageUi.ui:164
msgid "&Unset document language explicitly"
-msgstr ""
+msgstr "Ðзика не Ñе задава изÑиÑно"
# заглавие на диалог
# src/form1.C:129 src/sp_form.C:58
#: src/frontends/qt/ui/PrefLanguageUi.ui:177
-#, fuzzy
msgid "Editor Settings"
-msgstr "ÐаÑÑÑойки на Ñамка"
+msgstr "ÐаÑÑÑойки на ÑедакÑоÑа"
#: src/frontends/qt/ui/PrefLanguageUi.ui:189
-#, fuzzy
msgid ""
"Check to highlight additional languages (to the document language) visually "
"in the work area"
msgstr ""
-"ÐÑмеÑнеÑе за да оÑкÑоиÑе визÑално ÑекÑÑа на ÑÑжд език в ÑабоÑÐ½Ð¸Ñ Ð´Ð¾ÐºÑменÑ"
+"ÐÑмеÑка за оÑкÑоÑване визÑално ÑекÑÑа на ÑÑжди езиÑи в ÑабоÑÐ½Ð¸Ñ Ð´Ð¾ÐºÑменÑ"
#: src/frontends/qt/ui/PrefLanguageUi.ui:192
-#, fuzzy
msgid "&Mark additional languages"
-msgstr "ÐÑкÑоÑване на ÑÑжд език"
+msgstr "ÐÑкÑоÑване на ÑÑжди езиÑи"
-#: src/frontends/qt/ui/PrefLanguageUi.ui:199 src/LyXRC.cpp:3231
+#: src/frontends/qt/ui/PrefLanguageUi.ui:199 src/LyXRC.cpp:3303
msgid ""
"Select to use the current keyboard language, as set from the operating "
"system, as default input language."
msgstr ""
+"ÐзбиÑане на език на клавиаÑÑÑаÑа по подÑазбиÑане Ð¾Ñ Ð½Ð°ÑÑÑойкиÑе на опеÑаÑионнаÑа ÑиÑÑема"
# src/frontends/xforms/FormPreferences.C:1798
# src/frontends/xforms/FormPreferences.C:1806
#: src/frontends/qt/ui/PrefLanguageUi.ui:202
-#, fuzzy
msgid "Respect &OS keyboard language"
-msgstr "ÐлавиÑна подÑедба"
+msgstr "СÑобÑазÑване Ñ ÐµÐ·Ð¸ÐºÐ° на клавиаÑÑÑаÑа Ð¾Ñ ÐС"
#: src/frontends/qt/ui/PrefLanguageUi.ui:226
msgid ""
"Specify here how the arrow keys behave within scripts with right-to-left "
"direction"
msgstr ""
+"ÐоÑоÑеÑе ÑÑк как Ñе движи кÑÑÑоÑа Ñ ÐºÐ»Ð°Ð²Ð¸ÑиÑе ÑÑÑелка в ÑекÑÑ Ð¾Ñ Ð´ÑÑно налÑво"
# src/ext_l10n.h:202
#: src/frontends/qt/ui/PrefLanguageUi.ui:229
-#, fuzzy
msgid "Right-to-left cursor movement:"
-msgstr "Ðзползване на Mac ÑÑил движение на кÑÑоÑа"
+msgstr "Ðвижение на кÑÑоÑа Ð¾Ñ Ð´ÑÑно на лÑво:"
#: src/frontends/qt/ui/PrefLanguageUi.ui:239
msgid ""
@@ -5193,6 +5190,9 @@ msgid ""
"to-left text in a left-to-right paragraph, the cursor starts at the right "
"when coming from the left)"
msgstr ""
+"ÐÑÑÑоÑа Ñледва логиÑеÑкаÑа поÑока на ÑекÑÑа (напÑ. в ÑекÑÑ âÐ¾Ñ Ð´ÑÑно налÑвоâ "
+"вложен в Ð°Ð±Ð·Ð°Ñ Ñ ÑекÑÑ âÐ¾Ñ Ð»Ñво надÑÑноâ, кÑÑÑоÑа запоÑва вдÑÑно, когаÑо идва "
+"оÑлÑво)."
# src/frontends/kde/dlg/paraextradlgdata.C:142
#: src/frontends/qt/ui/PrefLanguageUi.ui:242
@@ -5205,6 +5205,8 @@ msgid ""
"text in a left-to-right paragraph, the cursor starts at the left when coming "
"from the left)"
msgstr ""
+"ÐÑÑÑоÑа Ñледва визÑалниÑе поÑоки (напÑ. в ÑекÑÑ âÐ¾Ñ Ð´ÑÑно налÑвоâ вложен в "
+"Ð°Ð±Ð·Ð°Ñ Ñ ÑекÑÑ âÐ¾Ñ Ð»Ñво надÑÑноâ, кÑÑÑоÑа запоÑва влÑво, когаÑо идва оÑлÑво)."
#: src/frontends/qt/ui/PrefLanguageUi.ui:255
msgid "&Visual"
@@ -5212,9 +5214,8 @@ msgstr "&ÐизÑално"
# src/frontends/kde/refdlg.C:30
#: src/frontends/qt/ui/PrefLanguageUi.ui:280
-#, fuzzy
msgid "Local Preferences"
-msgstr "вÑиÑки пÑепÑаÑки"
+msgstr "Ðокални пÑедпоÑиÑаниÑ"
#: src/frontends/qt/ui/PrefLanguageUi.ui:286
#: src/frontends/qt/ui/PrefLanguageUi.ui:344
@@ -5223,6 +5224,9 @@ msgid ""
"dialog by default. \"Language default\" selects the appropriate separator "
"for the current language."
msgstr ""
+"ТÑк Ñе поÑоÑва деÑеÑиÑÐ½Ð¸Ñ ÑазделиÑел по подÑазбиÑане, койÑо Ñе използва в "
+"диалога Ñ Ð½Ð°ÑÑÑойкиÑе на ÑаблиÑа. ÐзбиÑайки âÐо подлазбиÑане за езикаâ поÑÑÐ°Ð²Ñ "
+"подÑ
одÑÑÐ¸Ñ ÑазделиÑел за ÑекÑÑÐ¸Ñ ÐµÐ·Ð¸Ðº."
# src/frontends/xforms/form_preferences.C:221
#: src/frontends/qt/ui/PrefLanguageUi.ui:289
@@ -5231,16 +5235,14 @@ msgstr "РазделиÑел за деÑеÑиÑни ÑиÑла:"
# src/frontends/xforms/form_preferences.C:221
#: src/frontends/qt/ui/PrefLanguageUi.ui:318
-#, fuzzy
msgid "Insert a custom decimal separator here"
-msgstr "РазделиÑел за деÑеÑиÑни ÑиÑла:"
+msgstr "ÐмÑкване ÑÑк на ÑазделиÑел за деÑеÑиÑни ÑиÑла Ð¾Ñ Ð¿Ð¾ÑÑебиÑелÑ"
# src/frontends/xforms/FormDocument.C:1101
#: src/frontends/qt/ui/PrefLanguageUi.ui:331
#: src/frontends/qt/ui/PrefLanguageUi.ui:361
-#, fuzzy
msgid "Select the default length unit for LyX dialogs"
-msgstr "ÐзбиÑане на гаÑниÑÑÑаÑа на ÑÑиÑÑа по подÑазбиÑане за докÑменÑа"
+msgstr "ÐзбиÑане на меÑна единиÑа за дÑлжина по подÑазбиÑане за LyX диалозиÑе"
# src/frontends/xforms/form_preferences.C:391
#: src/frontends/qt/ui/PrefLanguageUi.ui:334
@@ -5249,10 +5251,9 @@ msgstr "EдиниÑа за дÑлжина:"
# src/ext_l10n.h:270
#: src/frontends/qt/ui/PrefLanguageUi.ui:348
-#: src/frontends/qt/GuiDocument.cpp:1013
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:1023
msgid "Language Default"
-msgstr "&Ðо подÑазбиÑане за езика"
+msgstr "Ðо подÑазбиÑане за езика"
# src/frontends/xforms/form_preferences.C:926
#: src/frontends/qt/ui/PrefLatexUi.ui:34
@@ -5388,7 +5389,7 @@ msgstr "ÐÑÑги опÑии"
msgid "Output &line length:"
msgstr "ÐÑлжина на Ñеда на изÑ
Ð¾Ð´Ð½Ð¸Ñ Ð´Ð¾ÐºÑменÑ:"
-#: src/frontends/qt/ui/PrefOutputUi.ui:186 src/LyXRC.cpp:3042
+#: src/frontends/qt/ui/PrefOutputUi.ui:186 src/LyXRC.cpp:3114
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, "
@@ -5732,19 +5733,17 @@ msgstr "ÐаÑÑÑойки на ознаÑениÑÑа"
#: 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 ""
+msgstr "ÐпÑеделÑне на оÑÑÑÑпа за Ð·Ð°Ð¿Ð¸Ñ Ð¸Ð»Ð¸ еÑÐ¸ÐºÐµÑ Ð¾Ñ Ð½Ð¾Ð¼ÐµÐ½ÑлаÑÑÑен ÑпиÑÑк."
# src/frontends/xforms/form_paragraph.C:48
#: src/frontends/qt/ui/PrintNomenclUi.ui:22
-#, fuzzy
msgid "&List Indentation:"
-msgstr "ÐÑмеÑÑване"
+msgstr "ÐÑмеÑÑване на ÑпиÑÑк:"
# src/mathed/math_forms.C:140
#: src/frontends/qt/ui/PrintNomenclUi.ui:39
-#, fuzzy
msgid "Custom &Width:"
-msgstr "Ðолони "
+msgstr "ШиÑина Ð¾Ñ Ð¿Ð¾ÑÑебиÑелÑ:"
#: src/frontends/qt/ui/PrintNomenclUi.ui:52
msgid "Custom value. \"List Indentation\" needs to be set to \"Custom\"."
@@ -5757,9 +5756,8 @@ msgstr "ÐабиÑни ÑказаÑели:"
# src/frontends/xforms/FormDocument.C:1101
#: src/frontends/qt/ui/PrintindexUi.ui:50
-#, fuzzy
msgid "Select the index that shall be printed at this place of the document."
-msgstr "подÑазбиÑаÑи Ñе за Ñози докÑÐ¼ÐµÐ½Ñ ÐºÐ»Ð°Ñ?"
+msgstr "ÐзбиÑане на индекÑ, коиÑо да Ñе оÑпеÑаÑа на Ñова мÑÑÑо Ð¾Ñ Ð´Ð°ÐºÑменÑа."
#: src/frontends/qt/ui/PrintindexUi.ui:61
msgid "Check if this index should be part (e.g., a section) of the former one."
@@ -5767,20 +5765,21 @@ msgstr ""
# src/layout_forms.C:28
#: src/frontends/qt/ui/PrintindexUi.ui:64
-#, fuzzy
msgid "&Subindex"
-msgstr "СеÑиÑ(S):|#S"
+msgstr "&ÐодиндекÑ"
#: src/frontends/qt/ui/PrintindexUi.ui:71
msgid ""
"Pass index names literally to LaTeX. Check this if you want to use LaTeX "
"code in index names."
msgstr ""
+"Ðодаване на индекÑни имена доÑловно кÑм LaTeX. ÐÑмеÑнеÑе Ñова ако иÑкаÑе "
+"да използваÑе код на LaTeX в имена на индекÑи."
# src/frontends/xforms/FormPreferences.C:232
-#: src/frontends/qt/ui/ProgressViewUi.ui:93 src/frontends/qt/GuiPrefs.cpp:212
+#: src/frontends/qt/ui/ProgressViewUi.ui:93 src/frontends/qt/GuiPrefs.cpp:216
msgid "Output"
-msgstr "ÐзÑ
оден докÑменÑ"
+msgstr "ÐÑаен докÑменÑ"
# src/ext_l10n.h:344
#: src/frontends/qt/ui/ProgressViewUi.ui:146
@@ -5932,21 +5931,18 @@ msgstr "<пÑепÑаÑка> на ÑÑÑ. <ÑÑÑаниÑа>"
# src/frontends/kde/refdlg.C:66
#: src/frontends/qt/ui/RefUi.ui:262 src/frontends/qt/GuiRef.cpp:325
-#, fuzzy
msgid "Formatted reference"
-msgstr "\"Ð¥Ñбава\" пÑепÑаÑка"
+msgstr "ФоÑмаÑиÑана пÑепÑаÑка"
# src/frontends/kde/refdlg.C:30
#: src/frontends/qt/ui/RefUi.ui:267 src/frontends/qt/GuiRef.cpp:324
-#, fuzzy
msgid "Textual reference"
-msgstr "ÐоÑÑÑпни пÑепÑаÑки"
+msgstr "ТекÑÑова пÑепÑаÑки"
# src/frontends/xforms/FormPreferences.C:244
#: src/frontends/qt/ui/RefUi.ui:272 src/frontends/qt/GuiRef.cpp:326
-#, fuzzy
msgid "Label only"
-msgstr "ЦвеÑове"
+msgstr "Само еÑикеÑ"
#: src/frontends/qt/ui/RefUi.ui:310
msgid ""
@@ -5979,140 +5975,124 @@ msgstr "Ðлавни бÑкви"
msgid "Do not output part of label before \":\""
msgstr "Ðе извежда ÑаÑÑÑа Ð¾Ñ ÐµÑикеÑа пÑеди â:â (двоеÑоÑиеÑо)."
-#: src/frontends/qt/ui/RefUi.ui:333 lib/ui/stdcontext.inc:106
+#: src/frontends/qt/ui/RefUi.ui:333 lib/ui/stdcontext.inc:126
msgid "No Prefix"
msgstr "Ðез пÑеÑикÑ"
-#: src/frontends/qt/ui/SearchUi.ui:34
-#, fuzzy
+#: src/frontends/qt/ui/SearchUi.ui:52
msgid "Find previous occurrence (Shift+Enter)"
-msgstr "ТÑÑÑене на ÑледваÑоÑо ÑÑвпадение - клавиÑа âÐов Ñедâ"
+msgstr "ТÑÑÑене на пÑедиÑно ÑÑвпадение - клавиÑа âÐзмеÑÑванеâ + âÐов Ñедâ"
# src/form1.C:286
-#: src/frontends/qt/ui/SearchUi.ui:37 src/frontends/qt/FindAndReplace.cpp:642
-#, fuzzy
+#: src/frontends/qt/ui/SearchUi.ui:55 src/frontends/qt/FindAndReplace.cpp:642
msgid "&< Find"
-msgstr "&ТÑÑÑене:"
+msgstr "< ТÑÑÑене"
# src/lyx_cb.C:230
-#: src/frontends/qt/ui/SearchUi.ui:47
+#: src/frontends/qt/ui/SearchUi.ui:65
#, fuzzy
msgid "Replace all occurrences"
msgstr "ÐамÑна на вÑиÑки ÑÑÐ²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð½Ð°Ð²ÐµÐ´Ð½Ñж"
-#: src/frontends/qt/ui/SearchUi.ui:82 src/frontends/qt/GuiSearch.cpp:203
+#: src/frontends/qt/ui/SearchUi.ui:100 src/frontends/qt/GuiSearch.cpp:206
msgid "Hide replace and option widgets"
msgstr ""
# src/frontends/xforms/FormPreferences.C:247
# src/frontends/xforms/FormPreferences.C:264
# src/frontends/xforms/FormPreferences.C:272 src/mathed/math_forms.C:46
-#: src/frontends/qt/ui/SearchUi.ui:85 src/frontends/qt/GuiSearch.cpp:202
-#, fuzzy
+#: src/frontends/qt/ui/SearchUi.ui:103 src/frontends/qt/GuiSearch.cpp:205
msgid "&Minimize"
-msgstr "РазлиÑни"
+msgstr "ÐинимизиÑане"
# src/form1.C:290
-#: src/frontends/qt/ui/SearchUi.ui:92
-#, fuzzy
+#: src/frontends/qt/ui/SearchUi.ui:110
msgid "Rep&lace with:"
-msgstr "ÐамÑна Ñ:"
+msgstr "&ÐамÑна Ñ:"
# src/frontends/gnome/FormCitation.C:453
-#: src/frontends/qt/ui/SearchUi.ui:102
-#, fuzzy
+#: src/frontends/qt/ui/SearchUi.ui:120
msgid "&Search:"
-msgstr "ТÑÑÑене"
+msgstr "ТÑÑÑене:"
-#: src/frontends/qt/ui/SearchUi.ui:137
-#, fuzzy
+#: src/frontends/qt/ui/SearchUi.ui:155
msgid "Replace and find next occurrence"
-msgstr "ТÑÑÑене и замÑна на ÑледваÑоÑо ÑÑвпадение - клавиÑа âÐов Ñедâ"
+msgstr "ÐамÑна и намиÑане на ÑледваÑо ÑÑвпадение"
# src/sp_form.C:86
-#: src/frontends/qt/ui/SearchUi.ui:143
-#, fuzzy
+#: src/frontends/qt/ui/SearchUi.ui:161
msgid "&Replace >"
-msgstr "ÐамÑна"
+msgstr "ÐамÑна >"
-#: src/frontends/qt/ui/SearchUi.ui:153
-#, fuzzy
+#: src/frontends/qt/ui/SearchUi.ui:171
msgid "Replace and find previous occurrence"
-msgstr "ТÑÑÑене и замÑна на ÑледваÑоÑо ÑÑвпадение - клавиÑа âÐов Ñедâ"
+msgstr "ÐамÑна и намиÑане на ÑледваÑо ÑÑвпадение"
# src/sp_form.C:86
-#: src/frontends/qt/ui/SearchUi.ui:156
-#, fuzzy
+#: src/frontends/qt/ui/SearchUi.ui:174
msgid "< Re&place"
-msgstr "ÐамÑна"
+msgstr "< ÐамÑна"
-#: src/frontends/qt/ui/SearchUi.ui:166
-#, fuzzy
+#: src/frontends/qt/ui/SearchUi.ui:184
msgid "Find next occurrence (Enter)"
-msgstr "ТÑÑÑене на ÑледваÑоÑо ÑÑвпадение - клавиÑа âÐов Ñедâ"
+msgstr "ÐамиÑане на ÑледваÑо ÑÑвпадение - клавиÑа âÐов Ñедâ"
-#: src/frontends/qt/ui/SearchUi.ui:204
+#: src/frontends/qt/ui/SearchUi.ui:228
msgid "Treat uppercase/lowercase writing as distinct"
-msgstr ""
+msgstr "РазлиÑаване на малки и големи бÑкви"
# src/form1.C:310
-#: src/frontends/qt/ui/SearchUi.ui:207 src/frontends/qt/GuiSearch.cpp:99
-#, fuzzy
+#: src/frontends/qt/ui/SearchUi.ui:231 src/frontends/qt/GuiSearch.cpp:100
msgid "&Case sensitive[[search]]"
msgstr "РазлиÑаване на малки Ð¾Ñ Ð³Ð¾Ð»ÐµÐ¼Ð¸ бÑкви"
-#: src/frontends/qt/ui/SearchUi.ui:214
-#, fuzzy
+#: src/frontends/qt/ui/SearchUi.ui:238
msgid "Match whole words only"
-msgstr "&СÑвпадение Ñамо на Ñели дÑми"
+msgstr "СÑвпадение Ñамо на Ñели дÑми"
-#: src/frontends/qt/ui/SearchUi.ui:224
+#: src/frontends/qt/ui/SearchUi.ui:248
msgid "Limit search and replace to selection"
-msgstr ""
+msgstr "ÐгÑаниÑаване на ÑÑÑÑенеÑо и замÑна Ñамо до избÑÐ°Ð½Ð¸Ñ ÑекÑ"
# src/LColor.C:64
-#: src/frontends/qt/ui/SearchUi.ui:227 src/frontends/qt/GuiSearch.cpp:103
-#, fuzzy
+#: src/frontends/qt/ui/SearchUi.ui:251 src/frontends/qt/GuiSearch.cpp:104
msgid "Selection onl&y"
-msgstr "ÐзбÑаниÑе елеменÑи|Ð"
+msgstr "Само избÑÐ°Ð½Ð¸Ñ ÑекÑÑ"
-#: src/frontends/qt/ui/SearchUi.ui:234
+#: src/frontends/qt/ui/SearchUi.ui:258
msgid "If this is checked, LyX will search forward immediately"
msgstr ""
-#: src/frontends/qt/ui/SearchUi.ui:237 src/frontends/qt/GuiSearch.cpp:105
-#, fuzzy
+#: src/frontends/qt/ui/SearchUi.ui:261 src/frontends/qt/GuiSearch.cpp:106
msgid "Search as yo&u type"
msgstr "&ТÑÑÑене докаÑо Ñе пиÑе"
-#: src/frontends/qt/ui/SearchUi.ui:244
+#: src/frontends/qt/ui/SearchUi.ui:268
msgid "If the end/start of the document is reached, automatically wrap around"
msgstr ""
-#: src/frontends/qt/ui/SearchUi.ui:247 src/frontends/qt/GuiSearch.cpp:107
+#: src/frontends/qt/ui/SearchUi.ui:271 src/frontends/qt/GuiSearch.cpp:108
#, fuzzy
msgid "&Wrap"
msgstr "Ð¿Ð»Ð°Ð²Ð°Ñ Ð² ÑекÑÑа: "
#: src/frontends/qt/ui/SendtoUi.ui:50
msgid "Process the converted file with this command ($$FName = file name)"
-msgstr ""
+msgstr "ÐбÑабоÑване на конвеÑÑиÑÐ°Ð½Ð¸Ñ Ñайл Ñ Ñази команда ($$FName = име_на_Ñайл)"
# src/frontends/xforms/form_preferences.C:761
#: src/frontends/qt/ui/SendtoUi.ui:95
-#, fuzzy
msgid "Export for&mats:"
-msgstr "&ÐоддÑÑжани ÑоÑмаÑи за екÑпоÑÑ:"
+msgstr "&ФоÑмаÑи за екÑпоÑÑ:"
# src/LyXSendto.C:40
#: src/frontends/qt/ui/SendtoUi.ui:105
-#, fuzzy
msgid "Send exported file to &command:"
-msgstr "Ðодаване на екÑпоÑÑиÑÐ°Ð½Ð¸Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ ÐºÑм ÑледнаÑа команда:"
+msgstr "Ðодаване на екÑпоÑÑиÑÐ°Ð½Ð¸Ñ Ñайл кÑм командаjd:"
#: src/frontends/qt/ui/ShortcutUi.ui:14
msgid "Edit shortcut"
-msgstr ""
+msgstr "РедакÑиÑане на пÑепÑаÑка"
# src/mathed/math_forms.C:22
#: src/frontends/qt/ui/ShortcutUi.ui:23
@@ -6121,13 +6101,12 @@ msgstr "ФÑнкÑиÑ:"
#: src/frontends/qt/ui/ShortcutUi.ui:33
msgid "Enter LyX function or command sequence"
-msgstr ""
+msgstr "ÐÑвеждане на LyX ÑÑнкÑÐ¸Ñ Ð¸Ð»Ð¸ поÑледоваÑелноÑÑ Ð¾Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸"
# src/ext_l10n.h:375
#: src/frontends/qt/ui/ShortcutUi.ui:43
-#, fuzzy
msgid "Short&cut:"
-msgstr "Ðодзаглавие"
+msgstr "ÐÑепÑаÑка:"
#: src/frontends/qt/ui/ShortcutUi.ui:56
msgid ""
@@ -6142,13 +6121,12 @@ msgstr ""
# src/frontends/xforms/form_preferences.C:600
# src/frontends/xforms/form_preferences.C:687
#: src/frontends/qt/ui/ShortcutUi.ui:69
-#, fuzzy
msgid "&Delete Key"
-msgstr "ÐзÑÑий(D)|#D"
+msgstr "ÐзÑÑиване на клÑÑ"
#: src/frontends/qt/ui/ShortcutUi.ui:76
msgid "Clear current shortcut"
-msgstr ""
+msgstr "ÐзÑиÑÑване на ÑекÑÑаÑа пÑепÑаÑка"
# src/lyx_gui_misc.C:430
#: src/frontends/qt/ui/ShortcutUi.ui:79 src/frontends/qt/ui/TabularUi.ui:1106
@@ -6159,95 +6137,107 @@ msgstr "ÐÑемаÑ
ване"
#: src/frontends/qt/ui/SpellcheckerUi.ui:20
#: src/frontends/qt/GuiSpellchecker.cpp:273
#: src/frontends/qt/GuiSpellchecker.cpp:280
-#: src/frontends/qt/GuiSpellchecker.cpp:559
+#: src/frontends/qt/GuiSpellchecker.cpp:587
msgid "Spell Checker"
msgstr "ÐÑовеÑка на пÑавопиÑа"
-# src/lyx_cb.C:230
-#: src/frontends/qt/ui/SpellcheckerUi.ui:29
-#, fuzzy
-msgid "Replace with selected word"
-msgstr "Ðа го Ð·Ð°Ð¼ÐµÐ½Ñ Ð»Ð¸ Ñ ÑекÑÑÐ¸Ñ Ð´Ð¾ÐºÑменÑ?"
-
-# src/lyx_cb.C:230
-#: src/frontends/qt/ui/SpellcheckerUi.ui:45
-#, fuzzy
-msgid "Replace word with current choice"
-msgstr "Ðа го Ð·Ð°Ð¼ÐµÐ½Ñ Ð»Ð¸ Ñ ÑекÑÑÐ¸Ñ Ð´Ð¾ÐºÑменÑ?"
-
-# src/sp_form.C:86
-#: src/frontends/qt/ui/SpellcheckerUi.ui:48
-#: src/frontends/qt/ui/ThesaurusUi.ui:86
-msgid "&Replace"
-msgstr "ÐамÑна"
-
-#: src/frontends/qt/ui/SpellcheckerUi.ui:73
+#: src/frontends/qt/ui/SpellcheckerUi.ui:44
msgid ""
"The checked language. Switching this alters the language of the checked word."
msgstr ""
# src/support/getUserName.C:13
-#: src/frontends/qt/ui/SpellcheckerUi.ui:82
-#, fuzzy
+#: src/frontends/qt/ui/SpellcheckerUi.ui:60
msgid "Unknown &word:"
msgstr "ÐепознаÑа дÑма:"
-#: src/frontends/qt/ui/SpellcheckerUi.ui:92
+#: src/frontends/qt/ui/SpellcheckerUi.ui:70
msgid "Current word"
-msgstr ""
+msgstr "ТекÑÑа дÑма"
+
+#: src/frontends/qt/ui/SpellcheckerUi.ui:77
+msgid "Skip this match and go to next misspelling"
+msgstr "ÐÑопÑÑкане на Ñова ÑÑвпадение и оÑиване до ÑледваÑаÑа гÑеÑка"
+
+#: src/frontends/qt/ui/SpellcheckerUi.ui:80
+msgid "S&kip"
+msgstr "ÐÑопÑÑкане"
# src/sp_form.C:86
-#: src/frontends/qt/ui/SpellcheckerUi.ui:99
-#, fuzzy
+#: src/frontends/qt/ui/SpellcheckerUi.ui:87
msgid "Repla&cement:"
msgstr "ÐамеÑÑване:"
+#: src/frontends/qt/ui/SpellcheckerUi.ui:97
+msgid "Skips all occurrences of this word within the current session."
+msgstr ""
+
+#: src/frontends/qt/ui/SpellcheckerUi.ui:100
+msgid "Skip A&ll"
+msgstr "ÐÑопÑÑкане на вÑиÑко"
+
+# src/lyx_cb.C:230
+#: src/frontends/qt/ui/SpellcheckerUi.ui:110
+msgid "Replace with selected word"
+msgstr "ÐамÑна Ñ Ð¸Ð·Ð±ÑанаÑа дÑма"
+
+# src/lyx_cb.C:230
+#: src/frontends/qt/ui/SpellcheckerUi.ui:126
+msgid "Replace word with current choice"
+msgstr "ÐамÑна на дÑма Ñ ÑекÑÑÐ¸Ñ Ð¸Ð·Ð±Ð¾Ñ"
+
+# src/sp_form.C:86
+#: src/frontends/qt/ui/SpellcheckerUi.ui:129
+#: src/frontends/qt/ui/ThesaurusUi.ui:86
+msgid "&Replace"
+msgstr "ÐамÑна"
+
# src/ext_l10n.h:323
-#: src/frontends/qt/ui/SpellcheckerUi.ui:115
-#, fuzzy
+#: src/frontends/qt/ui/SpellcheckerUi.ui:142
msgid "S&uggestions:"
-msgstr "ÐÑпÑоÑ"
+msgstr "ÐÑедложениÑ:"
+
+# src/lyx_cb.C:230
+#: src/frontends/qt/ui/SpellcheckerUi.ui:152
+msgid "Replace all occurrences of the word in the document with current choice"
+msgstr "ÐамÑна на вÑиÑки ÑÑÐ²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð½Ð° дÑмаÑа в докÑменÑа Ñ ÑекÑÑÐ¸Ñ Ð¸Ð·Ð±Ð¾Ñ"
# src/form1.C:314
-#: src/frontends/qt/ui/SpellcheckerUi.ui:128
-#, fuzzy
+#: src/frontends/qt/ui/SpellcheckerUi.ui:155
msgid "Re&place All"
msgstr "ÐамÑна на &вÑиÑки"
-# src/sp_form.C:95
-#: src/frontends/qt/ui/SpellcheckerUi.ui:145
-#, fuzzy
-msgid "Add the word to your personal dictionary"
-msgstr "ÐмÑкни в лиÑÐ½Ð¸Ñ ÑеÑник(I)|#I"
-
-# src/spellchecker.C:717
-#: src/frontends/qt/ui/SpellcheckerUi.ui:148
-#, fuzzy
-msgid "&Add[[Spellchecker]]"
-msgstr "ÐÑавопиÑ"
-
-# src/sp_form.C:97
-#: src/frontends/qt/ui/SpellcheckerUi.ui:171
-#, fuzzy
-msgid "Ignore this word"
-msgstr "ÐгноÑиÑай(g)|#g"
+#: src/frontends/qt/ui/SpellcheckerUi.ui:165
+msgid "Ignore this occurrence of the word permanently"
+msgstr "ÐÑопÑÑкане на Ñова ÑÑвпадение на дÑмаÑа поÑÑоÑнно"
-#: src/frontends/qt/ui/SpellcheckerUi.ui:174
+#: src/frontends/qt/ui/SpellcheckerUi.ui:168
msgid "Ign&ore"
-msgstr ""
+msgstr "ÐÑопÑÑкане"
-# src/sp_form.C:99
-#: src/frontends/qt/ui/SpellcheckerUi.ui:181
-#, fuzzy
-msgid "Ignore this word throughout this session"
-msgstr "ÐÑиеми дÑмаÑа за Ñази ÑеÑиÑ(A)|#A"
+#: src/frontends/qt/ui/SpellcheckerUi.ui:175
+msgid ""
+"Ignore all occurrences of this word within this document. This persists "
+"beyond the current session."
+msgstr ""
+"ÐÑопÑÑкане на вÑиÑки ÑÑÐ²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð½Ð° Ñази дÑма в докÑменÑа. Това пÑодÑлжава "
+"и Ñлед ÑекÑÑаÑа ÑеÑиÑ."
# src/lyxfont.C:43 src/lyxfont.C:47 src/lyxfont.C:52 src/lyxfont.C:58
# src/lyxfont.C:62
-#: src/frontends/qt/ui/SpellcheckerUi.ui:184
-#, fuzzy
+#: src/frontends/qt/ui/SpellcheckerUi.ui:178
msgid "I&gnore All"
-msgstr "ÐгноÑиÑай"
+msgstr "ÐÑопÑÑкане на вÑиÑки"
+
+# src/sp_form.C:95
+#: src/frontends/qt/ui/SpellcheckerUi.ui:185
+msgid "Add the word to your personal dictionary"
+msgstr "ÐобавÑне на дÑма вÑв ваÑÐ¸Ñ Ð»Ð¸Ñен ÑеÑник"
+
+# src/spellchecker.C:717
+#: src/frontends/qt/ui/SpellcheckerUi.ui:188
+msgid "&Add[[Spellchecker]]"
+msgstr "ÐобавÑне"
#: src/frontends/qt/ui/SymbolsUi.ui:40
msgid ""
@@ -6264,7 +6254,7 @@ msgstr "&ÐаÑегоÑиÑ:"
#: src/frontends/qt/ui/SymbolsUi.ui:73
msgid "Select this to display all available characters at once"
-msgstr ""
+msgstr "ÐзбиÑане за показване на вÑиÑки налиÑни знаÑи наведнÑж"
# src/frontends/xforms/FormGraphics.C:36
# src/frontends/xforms/FormGraphics.C:359
@@ -6274,9 +6264,8 @@ msgstr "&Ðоказване на вÑиÑки"
# src/insets/insetbib.C:340
#: src/frontends/qt/ui/TabularCreateUi.ui:121
-#, fuzzy
msgid "&Style:"
-msgstr "СÑил"
+msgstr "&СÑил:"
# src/LColor.C:78
#: src/frontends/qt/ui/TabularUi.ui:33
@@ -6364,7 +6353,7 @@ msgstr "гÑадÑÑа"
# src/lyxfunc.C:3156 src/lyxfunc.C:3212 src/lyxfunc.C:3288
#: src/frontends/qt/ui/TabularUi.ui:302
msgid "Column settings"
-msgstr "ÐаÑÑÑойки на колонаÑа"
+msgstr "ÐаÑÑÑойки на колона"
#: src/frontends/qt/ui/TabularUi.ui:313
msgid ""
@@ -6372,41 +6361,41 @@ msgid ""
"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>"
+"<html><head/><body><p>ÐаÑин на задаване на ÑиÑинаÑа:</p><p>* обÑ
ваÑа "
+"ÑекÑÑа: ÑазÑÑгане докаÑо Ñе обÑ
ване ÑекÑÑа</p><p>* ÑазÑÑгане: "
+"ÑазÑÑгане до запÑлване на ÑвободноÑо пÑоÑÑÑанÑÑво</p><p>* ÑикÑиÑана: "
+"зададена Ð¾Ñ Ð¿Ð¾ÑÑебиÑÐ°Ð»Ñ ÑикÑиÑана ÑиÑина</p></body></html>"
# src/ext_l10n.h:126
#: src/frontends/qt/ui/TabularUi.ui:317
msgid "Text length"
-msgstr "дÑлжина на ÑекÑÑа"
+msgstr "обÑ
ваÑа ÑекÑÑа"
# src/LColor.C:97
#: src/frontends/qt/ui/TabularUi.ui:322
msgid "Variable[[Width]]"
-msgstr "пÑоменлива"
+msgstr "ÑазÑÑгане"
# src/mathed/math_forms.C:140
#: src/frontends/qt/ui/TabularUi.ui:327
msgid "Custom[[Width]]"
-msgstr "поÑÑебиÑелÑка"
+msgstr "ÑикÑиÑана"
# src/mathed/math_forms.C:152
#: src/frontends/qt/ui/TabularUi.ui:335
msgid "Horizontal alignment in column"
-msgstr "ХоÑизонÑално подÑавнÑване на ÑÑдÑÑжаниеÑо в клеÑкаÑа"
+msgstr "ХоÑизонÑално подÑавнÑване на колонаÑа"
#: src/frontends/qt/ui/TabularUi.ui:339 src/frontends/qt/GuiParagraph.cpp:114
-#: src/frontends/qt/GuiTabular.cpp:1040
+#: src/frontends/qt/GuiTabular.cpp:1046
msgid "Justified"
msgstr "двÑÑÑÑанно"
# src/frontends/xforms/form_document.C:244
-#: src/frontends/qt/ui/TabularUi.ui:359 src/frontends/qt/GuiTabular.cpp:243
-#: src/frontends/qt/GuiTabular.cpp:1042
+#: src/frontends/qt/ui/TabularUi.ui:359 src/frontends/qt/GuiTabular.cpp:249
+#: src/frontends/qt/GuiTabular.cpp:1048
msgid "At Decimal Separator"
-msgstr "пÑи деÑеÑиÑÐ½Ð¸Ñ ÑазделиÑел"
+msgstr "пÑи ÑазделиÑелÑ"
# src/mathed/math_forms.C:152
#: src/frontends/qt/ui/TabularUi.ui:390
@@ -6429,7 +6418,7 @@ msgstr "&ÐеÑÑ. подÑавнÑване в Ñеда:"
# src/ext_l10n.h:141
#: src/frontends/qt/ui/TabularUi.ui:437
msgid "Custom width of the column"
-msgstr "Ðададена Ð¾Ñ Ð¿Ð¾ÑÑебиÑÐµÐ»Ñ ÑиÑина на колона"
+msgstr "ÐÑ Ð¿Ð¾ÑÑебиÑÐµÐ»Ñ Ð·Ð°Ð´Ð°Ð´ÐµÐ½Ð° ÑиÑина на колона"
# src/frontends/xforms/form_preferences.C:221
#: src/frontends/qt/ui/TabularUi.ui:457
@@ -6459,7 +6448,7 @@ msgstr "ÐонÑигÑÑиÑане ÑоÑмаÑа на колонаÑа Ñ Ð¿Ð°
# src/frontends/xforms/form_tabular.C:349
#: src/frontends/qt/ui/TabularUi.ui:566
msgid "&Borders"
-msgstr "&Рамки"
+msgstr "&ÐанÑове"
# src/frontends/xforms/form_tabular.C:99
#: src/frontends/qt/ui/TabularUi.ui:572
@@ -6468,13 +6457,13 @@ msgstr "Ðидими канÑове"
#: src/frontends/qt/ui/TabularUi.ui:1071
msgid "Set borders of the current (selected) cell(s)"
-msgstr "Ðадаване на канÑовеÑе на ÑекÑÑо избÑаниÑе клеÑки"
+msgstr "ÐоÑÑавÑне на канÑове на избÑаниÑе клеÑки"
# src/frontends/xforms/form_tabular.C:223
# src/frontends/xforms/form_tabular.C:349
#: src/frontends/qt/ui/TabularUi.ui:1084
msgid "All Borders"
-msgstr "ÐÑиÑки Ñамки"
+msgstr "ÐÑиÑки канÑове"
#: src/frontends/qt/ui/TabularUi.ui:1093
msgid "Set all borders of the current (selected) cell(s)"
@@ -6503,22 +6492,22 @@ msgstr "Ðо подÑазбиÑане"
msgid ""
"If this is checked, the table will be reset to the formal default style "
"(only top and bottom row have horizontal lines)"
-msgstr "Ðко е акÑивиÑана Ñази оÑмеÑка "
+msgstr "Ðко е акÑивиÑана Ñази оÑмеÑка, ÑаблиÑаÑа Ñе Ñе вÑзÑÑанови до "
+"ÑоÑÐ¼Ð°Ð»Ð½Ð¸Ñ ÑÑил по подÑазбиÑане - Ñамо гоÑÐ½Ð¸Ñ Ð¸ Ð´Ð¾Ð»Ð½Ð¸Ñ Ñед Ð¸Ð¼Ð°Ñ Ñ
оÑиз. линии"
# src/frontends/xforms/form_preferences.C:221
#: src/frontends/qt/ui/TabularUi.ui:1138
-#, fuzzy
msgid "Use Default &Formal Style"
-msgstr "СÑандаÑÑен ÑÐ°Ð·Ð¼ÐµÑ Ð½Ð° лиÑÑ"
+msgstr "Ðзползване на ÑоÑмален ÑÑил по подÑазбиÑане"
#: src/frontends/qt/ui/TabularUi.ui:1145
msgid "Use formal (a.k.a. booktabs) border style (no vertical borders)"
-msgstr "Ðзползване на оÑиÑиален ÑÑил (без веÑÑикални канÑове)"
+msgstr "Ðзползване на ÑоÑмален ÑÑил ÑаблиÑа (без веÑÑикални канÑове)"
# src/frontends/kde/paraextradlg.C:25 src/lyxfont.C:56
#: src/frontends/qt/ui/TabularUi.ui:1148
msgid "Fo&rmal"
-msgstr "ÐÑиÑиален"
+msgstr "ФоÑмален"
# src/frontends/xforms/form_paragraph.C:153
#: src/frontends/qt/ui/TabularUi.ui:1177
@@ -6527,12 +6516,12 @@ msgstr "ÐопÑлниÑелно ÑазÑÑоÑние"
#: src/frontends/qt/ui/TabularUi.ui:1183
msgid "T&op of row:"
-msgstr "ÐÑгоÑе на Ñеда:"
+msgstr "Ðад Ñеда:"
# src/frontends/xforms/form_paragraph.C:244
#: src/frontends/qt/ui/TabularUi.ui:1243
msgid "Botto&m of row:"
-msgstr "ÐÑÐ´Ð¾Ð»Ñ Ð½Ð° Ñеда:"
+msgstr "Ðод Ñеда:"
#: src/frontends/qt/ui/TabularUi.ui:1256
msgid "Bet&ween rows:"
@@ -6555,7 +6544,7 @@ msgstr "ÐÑенаÑÑне на нова ÑÑÑаниÑа"
# src/form1.C:129 src/sp_form.C:58
#: src/frontends/qt/ui/TabularUi.ui:1324
msgid "Row settings"
-msgstr "ÐаÑÑÑойки на Ñеда"
+msgstr "ÐаÑÑÑойки на Ñед"
# src/ext_l10n.h:362
#: src/frontends/qt/ui/TabularUi.ui:1330
@@ -6593,7 +6582,7 @@ msgstr ""
# src/ext_l10n.h:398
#: 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:641
+#: src/frontends/qt/ui/TabularUi.ui:1515 src/frontends/qt/GuiToolbar.cpp:654
#: src/insets/InsetBranch.cpp:79 src/insets/InsetBranch.cpp:82
msgid "on"
msgstr "вкл."
@@ -6681,7 +6670,7 @@ msgstr "ÐодÑавнÑване на ÑаблиÑаÑа"
#: src/frontends/qt/ui/TabularUi.ui:1599
msgid "Current cell:"
-msgstr "ТекÑÑа клеÑка:"
+msgstr "ÐзбÑана клеÑка:"
# src/ext_l10n.h:320
#: src/frontends/qt/ui/TabularUi.ui:1621
@@ -6901,7 +6890,7 @@ msgstr "ÐÑемеÑÑване на избÑÐ°Ð½Ð¸Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ Ð½Ð°Ð³Ð¾Ñе
#: src/frontends/qt/ui/TocUi.ui:203
msgid "Adjust the depth of the navigation tree"
-msgstr ""
+msgstr "ÐаглаÑÑне дÑлбоÑинаÑа на навигаÑионноÑо дÑÑво"
# src/frontends/kde/refdlg.C:57
#: src/frontends/qt/ui/TocUi.ui:257
@@ -6922,28 +6911,27 @@ msgid ""
"Filter items that are not output (in notes, inactive branches, deleted in "
"change tracking, etc.)"
msgstr ""
+"ФилÑÑиÑане на елеменÑи, коиÑо не Ñа акÑивни - в бележки, неакÑивни ÑазклонениÑ, "
+"изÑÑиÑи пÑомени и дÑ."
# src/exporter.C:91
-#: src/frontends/qt/ui/TocUi.ui:317
-#, fuzzy
+#: src/frontends/qt/ui/TocUi.ui:317 src/frontends/qt/TocWidget.cpp:88
msgid "All items"
-msgstr "вÑиÑки Ñайлове"
+msgstr "вÑиÑки елеменÑи"
# src/ext_l10n.h:75
#: src/frontends/qt/ui/TocUi.ui:322
-#, fuzzy
msgid "Only output items"
-msgstr "ÐзÑÑий колона(D)|D"
+msgstr "Ñамо акÑивни елеменÑи"
# src/ext_l10n.h:75
#: src/frontends/qt/ui/TocUi.ui:327
-#, fuzzy
msgid "Only non-output items"
-msgstr "ÐзÑÑий колона(D)|D"
+msgstr "Ñамо неакÑивни елеменÑи"
#: src/frontends/qt/ui/TocUi.ui:335
msgid "Sho&w:"
-msgstr ""
+msgstr "&Ðокажи:"
#: src/frontends/qt/ui/TocUi.ui:358
msgid ""
@@ -6954,14 +6942,13 @@ msgstr ""
# src/frontends/kde/FormIndex.C:96
#: src/frontends/qt/ui/ToggleWarningUi.ui:14
-#, fuzzy
msgid "Enter text"
-msgstr "LyX: ÐÑвеждане на ÑекÑÑ"
+msgstr "ÐÑвеждане на ÑекÑÑ"
#: 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 ""
+msgstr "Ðко оÑмеÑнеÑе Ñова LyX нÑма да ви пÑедÑпÑеждава повеÑе за Ñози ÑлÑÑай."
#: src/frontends/qt/ui/ToggleWarningUi.ui:65
#: src/frontends/qt/GuiProgress.cpp:193
@@ -6979,33 +6966,31 @@ msgid "DefSkip"
msgstr "ÑазÑÑоÑние по подÑазбиÑане"
# src/frontends/kde/parageneraldlg.C:39 src/frontends/kde/parageneraldlg.C:46
-#: src/frontends/qt/ui/VSpaceUi.ui:88 src/frontends/qt/GuiDocument.cpp:862
+#: src/frontends/qt/ui/VSpaceUi.ui:88 src/frontends/qt/GuiDocument.cpp:870
msgid "SmallSkip"
msgstr "малко ÑазÑÑоÑние"
# src/frontends/kde/parageneraldlg.C:40 src/frontends/kde/parageneraldlg.C:47
-#: src/frontends/qt/ui/VSpaceUi.ui:93 src/frontends/qt/GuiDocument.cpp:863
+#: src/frontends/qt/ui/VSpaceUi.ui:93 src/frontends/qt/GuiDocument.cpp:871
msgid "MedSkip"
msgstr "ÑÑедно ÑазÑÑоÑние"
# src/frontends/kde/parageneraldlg.C:41 src/frontends/kde/parageneraldlg.C:48
-#: src/frontends/qt/ui/VSpaceUi.ui:98 src/frontends/qt/GuiDocument.cpp:864
+#: src/frontends/qt/ui/VSpaceUi.ui:98 src/frontends/qt/GuiDocument.cpp:872
msgid "BigSkip"
msgstr "голÑмо ÑазÑÑоÑние"
# src/ext_l10n.h:65
#: src/frontends/qt/ui/VSpaceUi.ui:103 src/VSpace.cpp:201
-#: src/frontends/qt/GuiDocument.cpp:860
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:868
msgid "Half line height"
-msgstr "оÑноваÑа вдÑÑно"
+msgstr "половин Ñед виÑоÑина"
# src/form1.C:157 src/frontends/xforms/form_graphics.C:46
#: src/frontends/qt/ui/VSpaceUi.ui:108 src/VSpace.cpp:204
-#: src/frontends/qt/GuiDocument.cpp:861
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:869
msgid "Line height"
-msgstr "&ÐиÑоÑина"
+msgstr "един Ñед виÑоÑина"
# src/frontends/kde/parageneraldlg.C:42 src/frontends/kde/parageneraldlg.C:49
#: src/frontends/qt/ui/VSpaceUi.ui:113
@@ -7019,7 +7004,7 @@ msgstr "&ФоÑмаÑ:"
#: src/frontends/qt/ui/ViewSourceUi.ui:114
msgid "Automatic update"
-msgstr "ÐвÑомаÑиÑно опÑеÑнÑване"
+msgstr "ÐвÑомаÑиÑна акÑÑализаÑиÑ"
#: src/frontends/qt/ui/ViewSourceUi.ui:130
msgid "Show the source as the master document gets it"
@@ -7054,23 +7039,21 @@ msgid "Select the output format"
msgstr "ÐзбиÑане на изÑ
Ð¾Ð´Ð½Ð¸Ñ ÑоÑÐ¼Ð°Ñ Ð½Ð° докÑменÑа"
# src/sp_form.C:86
-#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3530
-#: src/frontends/qt/GuiView.cpp:4234
+#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3722
+#: src/frontends/qt/GuiView.cpp:4426
msgid "&Reload"
msgstr "&ÐÑезаÑеждане"
# src/lyxfont.C:43 src/lyxfont.C:47 src/lyxfont.C:52 src/lyxfont.C:58
# src/lyxfont.C:62
#: src/frontends/qt/ui/WorkAreaUi.ui:89
-#, fuzzy
msgid "&Ignore"
-msgstr "ÐгноÑиÑай"
+msgstr "ÐÑопÑÑкане"
# src/frontends/xforms/form_paragraph.C:153
#: src/frontends/qt/ui/WrapUi.ui:33
-#, fuzzy
msgid "Horizontal placement"
-msgstr "ÐнÑеÑвал"
+msgstr "ХоÑиз. поÑÑавÑне"
# src/ext_l10n.h:133
#: src/frontends/qt/ui/WrapUi.ui:37
@@ -7084,7 +7067,7 @@ msgstr "вÑÑÑеÑно"
#: src/frontends/qt/ui/WrapUi.ui:60
msgid "Check this to allow flexible placement"
-msgstr ""
+msgstr "ÐÑмеÑка за позволÑване на пÑоизволно поÑÑавÑне"
#: src/frontends/qt/ui/WrapUi.ui:63
msgid "Allow &floating"
@@ -7092,15 +7075,14 @@ msgstr ""
#: src/frontends/qt/ui/WrapUi.ui:70
msgid "Wid&th:"
-msgstr ""
+msgstr "ШиÑина:"
# src/form1.C:161 src/frontends/kde/dlg/paraextradlgdata.C:91
# src/frontends/xforms/form_graphics.C:44
# src/frontends/xforms/form_paragraph.C:219
#: src/frontends/qt/ui/WrapUi.ui:108
-#, fuzzy
msgid "Unit of width value"
-msgstr "ШиÑина"
+msgstr "ÐеÑна единиÑа за ÑиÑина"
#: src/frontends/qt/ui/WrapUi.ui:115
msgid "use overhang"
@@ -7124,9 +7106,8 @@ msgstr ""
# src/frontends/kde/printdlg.C:31
#: src/frontends/qt/ui/WrapUi.ui:169
-#, fuzzy
msgid "use number of lines"
-msgstr "ÐÑой ÐºÐ¾Ð¿Ð¸Ñ Ð·Ð° пеÑаÑ"
+msgstr "използване номеÑа на Ñедове"
# src/mathed/math_panel.C:128
#: src/frontends/qt/ui/WrapUi.ui:172
@@ -7136,20 +7117,20 @@ msgstr "РазÑÑоÑние"
# src/frontends/kde/printdlg.C:31
#: src/frontends/qt/ui/WrapUi.ui:182
-#, fuzzy
msgid "number of needed lines"
-msgstr "ÐÑой ÐºÐ¾Ð¿Ð¸Ñ Ð·Ð° пеÑаÑ"
+msgstr "бÑой необÑ
одими Ñедове"
#: lib/citeengines/basic.citeengine:2
-#, fuzzy
msgid "Basic (BibTeX)"
-msgstr "аÑабÑки (ArabTeX)"
+msgstr "Ðбикновена (BibTeX)"
#: lib/citeengines/basic.citeengine:6
msgid ""
"The basic citation capabilities provided by BibTeX. Mainly simple numeric "
"styles primarily suitable for science and maths."
msgstr ""
+"ÐÑновни вÑзможноÑÑи зо ÑиÑиÑане оÑигÑÑени Ð¾Ñ ÐибÑеÑ
(BibTeX). Ðлавно пÑоÑÑи "
+"ÑиÑлови ÑÑилове Ñдобни за маÑемаÑика и дÑ. наÑки."
# src/ext_l10n.h:375
#: lib/citeengines/basic.citeengine:52
@@ -7200,19 +7181,22 @@ msgid ""
"than normal Biblatex. As with normal Biblatex, the use of 'biber' as "
"Bibliography processor is advised."
msgstr ""
+"ÐаÑианÑа BibLaTeX поддÑÑжа команди за Natbib ÑиÑаÑи и Ñака е най-Ñдобен за "
+"пÑеминаване Ð¾Ñ Natbib (или по-ÑÑаÑи веÑÑии Ð¾Ñ LyX 2.3) кÑм Biblatex. "
+"ÐÑогÑамаÑа Natbib поддÑÑжа малко по-ÑазлиÑни и нÑколко допÑлниÑелни ÑÑила "
+"Ð¾Ñ Ð½Ð¾ÑÐ¼Ð°Ð»Ð½Ð¸Ñ Biblatex. ÐакÑо и пÑи обиÑÐ°Ð¹Ð½Ð¸Ñ Biblatex за билиогÑаÑÑка пÑогÑама "
+"Ñе пÑепоÑÑÑва използванеÑо на âbiberâ."
# src/ext_l10n.h:82
#: lib/citeengines/biblatex-natbib.citeengine:143
#: lib/citeengines/biblatex.citeengine:133 lib/layouts/numreport.inc:42
#: lib/layouts/stdcounters.inc:86
-#, fuzzy
msgid "Footnote"
-msgstr "Ðележки под ÑеÑÑа"
+msgstr "Ðележка под ÑеÑÑа"
# src/ext_l10n.h:246
#: lib/citeengines/biblatex-natbib.citeengine:144
#: lib/citeengines/biblatex.citeengine:134
-#, fuzzy
msgid "Foot"
msgstr "Ðел. под ÑеÑÑа"
@@ -7220,16 +7204,14 @@ msgstr "Ðел. под ÑеÑÑа"
#: lib/citeengines/biblatex-natbib.citeengine:145
#: lib/citeengines/biblatex.citeengine:135
#: lib/citeengines/jurabib.citeengine:125
-#, fuzzy
msgid "bibliography entry"
-msgstr "ÐиблиогÑаÑиÑ"
+msgstr "библиогÑаÑÑки запиÑ"
# src/ext_l10n.h:186
#: lib/citeengines/biblatex-natbib.citeengine:146
#: lib/citeengines/biblatex.citeengine:136 lib/layouts/tufte-book.layout:30
-#, fuzzy
msgid "Full bibliography entry."
-msgstr "ÐиблиогÑаÑиÑ"
+msgstr "ÐÑлен библиогÑаÑÑки запиÑ."
#: lib/citeengines/biblatex-natbib.citeengine:147
#: lib/citeengines/biblatex.citeengine:137
@@ -7269,9 +7251,8 @@ msgstr "ÐоÑен индекÑ"
# src/BufferView2.C:601 src/LyXAction.C:346 src/MenuBackend.C:433
#: lib/citeengines/biblatex.citeengine:2 src/insets/InsetBibtex.cpp:148
-#, fuzzy
msgid "Biblatex"
-msgstr "Ðалепи"
+msgstr "ÐиблаÑеÑ
(BibLaTeX)"
#: lib/citeengines/biblatex.citeengine:8
msgid ""
@@ -7280,19 +7261,22 @@ msgid ""
"many features that are not possible with BibTeX. The use of 'biber' as "
"bibliography processor is advised."
msgstr ""
+"ÐиблаÑеÑ
поддÑÑжа много авÑоÑ-година и ÑиÑлови ÑÑилове. ÐаÑоÑен е главно кÑм "
+"Ñ
ÑманиÑаÑниÑе наÑки. ÐоддÑÑжа много наÑÑÑойки, напÑлно локализиÑан е и оÑигÑÑÑва "
+"много ÑÑнкÑии, коиÑо не Ñа доÑÑÑпни Ñ ÐибÑеÑ
(BibTeX). ÐÑепоÑÑÑва Ñе "
+"използванеÑо на âbiberâ каÑо библиогÑаÑÑки компилаÑоÑ."
#: lib/citeengines/biblatex.citeengine:140
msgid "S&horten author list[[Possible substitute to All aut&hors]]"
-msgstr ""
+msgstr "ÐÑаÑÑк ÑпиÑÑк Ñ Ð°Ð²ÑоÑи"
#: lib/citeengines/biblatex.citeengine:141
msgid "Force a short author list (using et al.)"
-msgstr ""
+msgstr "Ðалагане на кÑаÑÑк ÑпиÑÑк Ñ Ð°Ð²ÑоÑи използвайки âи дÑ.â."
#: lib/citeengines/jurabib.citeengine:2
-#, fuzzy
msgid "Jurabib (BibTeX)"
-msgstr "аÑабÑки (ArabTeX)"
+msgstr "Jurabib (BibTeX)"
#: lib/citeengines/jurabib.citeengine:7
msgid ""
@@ -7300,28 +7284,27 @@ msgid ""
"studies and the Humanities. It includes localizations for English, German, "
"French, Dutch, Spanish and Italian."
msgstr ""
+"Jurabib поддÑÑжа Ð½Ð°Ð±Ð¾Ñ Ð¾Ñ Ð°Ð²ÑоÑ-година ÑÑилове за ÑиÑиÑане главно Ñдобни за "
+"ÑÑидиÑеÑка лиÑеÑаÑÑÑа и Ñ
ÑманиÑаÑни наÑки. ÐклÑÑва адапÑаÑÐ¸Ñ Ð·Ð° английÑки, "
+"немÑки, ÑÑенÑки, Ñ
оландÑки, иÑпанÑки и иÑалианÑки."
# src/ext_l10n.h:186
#: lib/citeengines/jurabib.citeengine:126
-#, fuzzy
msgid "Bibliography entry."
-msgstr "ÐиблиогÑаÑиÑ"
+msgstr "ÐиблиогÑаÑÑки запиÑ."
#: lib/citeengines/jurabib.citeengine:127
-#, fuzzy
msgid "before"
-msgstr "ТекÑÑ Ð¿Ñеди(T)|#T"
+msgstr "пÑеди"
# src/ext_l10n.h:375
#: lib/citeengines/jurabib.citeengine:128
-#, fuzzy
msgid "short title"
-msgstr "Ðодзаглавие"
+msgstr "кÑаÑко заглавие"
#: lib/citeengines/natbib.citeengine:2
-#, fuzzy
msgid "Natbib (BibTeX)"
-msgstr "аÑабÑки (ArabTeX)"
+msgstr "Natbib (BibTeX)"
#: lib/citeengines/natbib.citeengine:8
msgid ""
@@ -7333,7 +7316,7 @@ msgstr ""
#: lib/layouts/AEA.layout:3 lib/examples/Articles:0
msgid "American Economic Association (AEA)"
-msgstr ""
+msgstr "ÐмеÑиканÑка икономиÑеÑка аÑоÑиаÑÐ¸Ñ (AEA)"
# src/frontends/xforms/form_paragraph.C:153
#: lib/layouts/AEA.layout:4 lib/layouts/IEEEtran-CompSoc.layout:4
@@ -7372,9 +7355,8 @@ msgstr "СÑаÑии"
# src/ext_l10n.h:375
#: lib/layouts/AEA.layout:50 lib/layouts/apa.layout:109 lib/layouts/apax.inc:54
-#, fuzzy
msgid "ShortTitle"
-msgstr "Ðодзаглавие"
+msgstr "ÐÑаÑко заглавие"
# Ð¿Ð°Ð´Ð°Ñ ÑпиÑÑк на конÑекÑÑа
#: lib/layouts/AEA.layout:51 lib/layouts/AEA.layout:130
@@ -7471,59 +7453,51 @@ msgstr "пÑедни ÑаÑÑи"
# src/frontends/xforms/form_document.C:244
#: lib/layouts/AEA.layout:61
-#, fuzzy
msgid "Publication Month"
-msgstr "ÐÐ±Ð·Ð°Ñ ÑазделÑне"
+msgstr "ÐеÑÐµÑ Ð½Ð° пÑблекаÑиÑ"
# src/frontends/xforms/form_document.C:244
#: lib/layouts/AEA.layout:67
-#, fuzzy
msgid "Publication Month:"
-msgstr "ÐÐ±Ð·Ð°Ñ ÑазделÑне"
+msgstr "ÐеÑÐµÑ Ð½Ð° пÑбликаÑиÑ:"
# src/frontends/xforms/form_document.C:244
#: lib/layouts/AEA.layout:79
-#, fuzzy
msgid "Publication Year"
-msgstr "ÐÐ±Ð·Ð°Ñ ÑазделÑне"
+msgstr "Ðодина на пÑбликаÑиÑ"
# src/frontends/xforms/form_document.C:244
#: lib/layouts/AEA.layout:82
-#, fuzzy
msgid "Publication Year:"
-msgstr "ÐÐ±Ð·Ð°Ñ ÑазделÑне"
+msgstr "Ðодина на пÑбликаÑиÑ:"
# src/frontends/xforms/form_document.C:244
#: lib/layouts/AEA.layout:90
-#, fuzzy
msgid "Publication Volume"
-msgstr "ÐÐ±Ð·Ð°Ñ ÑазделÑне"
+msgstr "Том на пÑбликаÑиÑ"
# src/frontends/xforms/form_document.C:244
#: lib/layouts/AEA.layout:93
-#, fuzzy
msgid "Publication Volume:"
-msgstr "ÐÐ±Ð·Ð°Ñ ÑазделÑне"
+msgstr "Том на пÑбликаÑиÑ:"
# src/frontends/xforms/form_document.C:244
#: lib/layouts/AEA.layout:99
-#, fuzzy
msgid "Publication Issue"
-msgstr "ÐÐ±Ð·Ð°Ñ ÑазделÑне"
+msgstr "Ðздание на пÑбликаÑиÑ"
# src/frontends/xforms/form_document.C:244
#: lib/layouts/AEA.layout:102
-#, fuzzy
msgid "Publication Issue:"
-msgstr "ÐÐ±Ð·Ð°Ñ ÑазделÑне"
+msgstr "Ðздание на пÑбликаÑиÑ:"
#: lib/layouts/AEA.layout:109
msgid "JEL"
-msgstr ""
+msgstr "JEL"
#: lib/layouts/AEA.layout:112
msgid "JEL:"
-msgstr ""
+msgstr "JEL:"
# src/ext_l10n.h:263
#: lib/layouts/AEA.layout:115 lib/layouts/IEEEtran-CompSoc.layout:55
@@ -7624,20 +7598,19 @@ msgstr "РезÑме"
#: lib/layouts/theorems-ams-extended.module:348
#: lib/layouts/theorems-counters-extended-bytype.inc:28
msgid "Acknowledgement"
-msgstr "ÐÑизнаÑелноÑÑ"
+msgstr "ÐлагодаÑноÑÑ"
#: lib/layouts/AEA.layout:131 lib/layouts/egs.layout:627
#: lib/layouts/theorems-ams-extended-bytype.module:349
#: lib/layouts/theorems-ams-extended-chap-bytype.module:420
#: lib/layouts/theorems-ams-extended.module:339
msgid "Acknowledgement."
-msgstr "ÐÑизнаÑелноÑÑ."
+msgstr "ÐлагодаÑноÑÑ."
# src/ext_l10n.h:244
#: lib/layouts/AEA.layout:140
-#, fuzzy
msgid "Figure Notes"
-msgstr "ФигÑÑа"
+msgstr "ТекÑÑ Ð½Ð° изобÑажение"
# src/BufferView2.C:601 src/LyXAction.C:346 src/MenuBackend.C:433
# Ð¿Ð°Ð´Ð°Ñ ÑпиÑÑк на конÑекÑÑа
@@ -7648,10 +7621,10 @@ msgstr "ФигÑÑа"
#: lib/layouts/acmsiggraph-0-92.layout:44 lib/layouts/acmsiggraph.layout:36
#: lib/layouts/agutex.layout:33 lib/layouts/amsart.layout:33
#: lib/layouts/amsbook.layout:34 lib/layouts/apa.layout:26
-#: lib/layouts/apax.inc:22 lib/layouts/beamer.layout:65
-#: lib/layouts/beamer.layout:1209 lib/layouts/beamer.layout:1236
-#: lib/layouts/beamer.layout:1263 lib/layouts/beamer.layout:1388
-#: lib/layouts/beamer.layout:1425 lib/layouts/broadway.layout:179
+#: lib/layouts/apax.inc:22 lib/layouts/beamer.layout:67
+#: lib/layouts/beamer.layout:1211 lib/layouts/beamer.layout:1238
+#: lib/layouts/beamer.layout:1265 lib/layouts/beamer.layout:1390
+#: lib/layouts/beamer.layout:1427 lib/layouts/broadway.layout:179
#: lib/layouts/cl2emult.layout:152 lib/layouts/db_stdclass.inc:17
#: lib/layouts/dtk.layout:33 lib/layouts/egs.layout:20
#: lib/layouts/elsart.layout:51 lib/layouts/elsarticle.layout:36
@@ -7679,49 +7652,45 @@ msgstr "ФигÑÑа"
#: lib/layouts/stdlayouts.inc:38 lib/layouts/stdlayouts.inc:63
#: lib/layouts/stdlayouts.inc:85 lib/layouts/stdletter.inc:13
#: lib/layouts/svcommon.inc:27 lib/layouts/svcommon.inc:710
-#: lib/layouts/svcommon.inc:721 lib/layouts/tufte-book.layout:236
+#: lib/layouts/svcommon.inc:721 lib/layouts/tufte-book.layout:242
msgid "MainText"
msgstr "ÑекÑÑ"
# src/ext_l10n.h:244
#: lib/layouts/AEA.layout:147
-#, fuzzy
msgid "Figure Note"
-msgstr "ФигÑÑа"
+msgstr "Ðележка на изобÑажение"
#: lib/layouts/AEA.layout:148 lib/layouts/AEA.layout:175
msgid "Text of a note in a figure"
-msgstr ""
+msgstr "ТекÑÑ Ð½Ð° бележка в изобÑажение"
# src/ext_l10n.h:291 src/insets/insetinfo.C:77 src/insets/insetinfo.C:102
# src/insets/insetinfo.C:231
#: lib/layouts/AEA.layout:156 lib/layouts/apax.inc:240
-#: lib/layouts/beamer.layout:1437 lib/layouts/powerdot.layout:228
+#: lib/layouts/beamer.layout:1439 lib/layouts/powerdot.layout:228
msgid "Note:"
msgstr "Ðележка:"
# src/LColor.C:97
#: lib/layouts/AEA.layout:169
-#, fuzzy
msgid "Table Notes"
-msgstr "Ñед на ÑаблиÑа"
+msgstr "Ðележки в ÑаблиÑа"
# src/LColor.C:97
#: lib/layouts/AEA.layout:173
-#, fuzzy
msgid "Table Note"
-msgstr "Ñед на ÑаблиÑа"
+msgstr "Ðележка в ÑаблиÑа"
# src/buffer.C:3331
#: lib/layouts/AEA.layout:174
-#, fuzzy
msgid "Text of a note in a table"
-msgstr "ÐедÑзможна е ÑабоÑаÑа Ñ Ñайл: "
+msgstr "ТекÑÑ Ð½Ð° бележка в ÑаблиÑа"
# src/ext_l10n.h:387
#: lib/layouts/AEA.layout:180 lib/layouts/IEEEtran.layout:49
#: lib/layouts/acmart.layout:548 lib/layouts/acmart.layout:552
-#: lib/layouts/beamer.layout:1376 lib/layouts/elsart.layout:306
+#: lib/layouts/beamer.layout:1378 lib/layouts/elsart.layout:306
#: lib/layouts/elsart.layout:310 lib/layouts/foils.layout:248
#: lib/layouts/heb-article.layout:28 lib/layouts/ijmpc.layout:421
#: lib/layouts/ijmpd.layout:428 lib/layouts/ijmpd.layout:431
@@ -7914,7 +7883,7 @@ msgid "Conjecture"
msgstr "ÐÑедположение"
#: lib/layouts/AEA.layout:241 lib/layouts/acmart.layout:587
-#: lib/layouts/beamer.layout:1292 lib/layouts/elsart.layout:381
+#: lib/layouts/beamer.layout:1294 lib/layouts/elsart.layout:381
#: lib/layouts/foils.layout:281 lib/layouts/heb-article.layout:66
#: lib/layouts/ijmpc.layout:442 lib/layouts/ijmpd.layout:457
#: lib/layouts/ijmpd.layout:460 lib/layouts/llncs.layout:353
@@ -7964,7 +7933,7 @@ msgstr "ÐÑизнак"
# src/ext_l10n.h:221
#: lib/layouts/AEA.layout:256 lib/layouts/acmart.layout:615
-#: lib/layouts/beamer.layout:1330 lib/layouts/elsart.layout:417
+#: lib/layouts/beamer.layout:1332 lib/layouts/elsart.layout:417
#: lib/layouts/foils.layout:295 lib/layouts/heb-article.layout:86
#: lib/layouts/llncs.layout:367 lib/layouts/siamltex.layout:128
#: lib/layouts/svmono.layout:34 lib/layouts/theorems-ams-bytype.inc:180
@@ -7991,7 +7960,7 @@ msgstr "ÐпÑеделение"
# src/ext_l10n.h:232
#: lib/layouts/AEA.layout:263 lib/layouts/acmart.layout:629
-#: lib/layouts/beamer.layout:1342 lib/layouts/elsart.layout:442
+#: lib/layouts/beamer.layout:1344 lib/layouts/elsart.layout:442
#: lib/layouts/linguistics.module:18 lib/layouts/llncs.layout:374
#: lib/layouts/svmono.layout:74 lib/layouts/theorems-ams-bytype.inc:207
#: lib/layouts/theorems-ams-bytype.inc:217
@@ -8012,7 +7981,7 @@ msgstr "ÐпÑеделение"
#: lib/layouts/theorems-without-preamble.inc:240
#: lib/layouts/theorems-without-preamble.inc:243 lib/layouts/theorems.inc:204
#: lib/layouts/theorems.inc:213 lib/layouts/theorems.inc:216
-#: src/frontends/qt/GuiDocument.cpp:1344
+#: src/frontends/qt/GuiDocument.cpp:1356
msgid "Example"
msgstr "ÐÑимеÑ"
@@ -8044,7 +8013,7 @@ msgstr "УпÑажнение"
# src/ext_l10n.h:271
#: lib/layouts/AEA.layout:277 lib/layouts/acmart.layout:594
-#: lib/layouts/beamer.layout:1364 lib/layouts/elsart.layout:372
+#: lib/layouts/beamer.layout:1366 lib/layouts/elsart.layout:372
#: lib/layouts/foils.layout:274 lib/layouts/heb-article.layout:56
#: lib/layouts/ijmpc.layout:446 lib/layouts/ijmpd.layout:465
#: lib/layouts/ijmpd.layout:468 lib/layouts/llncs.layout:388
@@ -8241,14 +8210,14 @@ msgid "Summary"
msgstr "обобÑение"
# src/ext_l10n.h:191
-#: lib/layouts/AEA.layout:333 src/frontends/qt/Menus.cpp:1787
-#: src/frontends/qt/Menus.cpp:1802
+#: lib/layouts/AEA.layout:333 src/frontends/qt/Menus.cpp:1803
+#: src/frontends/qt/Menus.cpp:1818
msgid "Caption"
msgstr "надпиÑ"
# src/ext_l10n.h:318
#: lib/layouts/AEA.layout:344 lib/layouts/IEEEtran.layout:448
-#: lib/layouts/beamer.layout:1370 lib/layouts/elsart.layout:342
+#: lib/layouts/beamer.layout:1372 lib/layouts/elsart.layout:342
#: lib/layouts/foils.layout:309 lib/layouts/heb-article.layout:106
#: lib/layouts/ijmpc.layout:399 lib/layouts/ijmpd.layout:405
#: lib/layouts/llncs.layout:408 lib/layouts/siamltex.layout:157
@@ -8261,7 +8230,7 @@ msgstr "ÐоказаÑелÑÑво"
#: lib/layouts/IEEEtran-CompSoc.layout:3 lib/examples/Articles:0
msgid "IEEE Transactions Computer Society"
-msgstr ""
+msgstr "IEEE ÐбÑеÑÑво за компÑÑÑÑни ÑÑанÑакÑии"
# src/ext_l10n.h:361
#: lib/layouts/IEEEtran-CompSoc.layout:19
@@ -8295,13 +8264,12 @@ msgstr ""
#: lib/layouts/IEEEtran-TransMag.layout:3 lib/examples/Articles:0
msgid "IEEE Transactions on Magnetics"
-msgstr ""
+msgstr "IEEE ТÑанÑакÑии по магнеÑизÑм"
# src/ext_l10n.h:400
#: lib/layouts/IEEEtran.layout:3
-#, fuzzy
msgid "IEEE Transactions"
-msgstr "ÐÑеÑ
од"
+msgstr "IEEE ÑÑанÑакÑии"
# src/ext_l10n.h:361
#: lib/layouts/IEEEtran.layout:35 lib/layouts/aa.layout:36
@@ -8310,7 +8278,7 @@ msgstr "ÐÑеÑ
од"
#: 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/apax.inc:21 lib/layouts/beamer.layout:66
#: lib/layouts/broadway.layout:178 lib/layouts/chess.layout:30
#: lib/layouts/cl2emult.layout:151 lib/layouts/db_stdclass.inc:16
#: lib/layouts/dtk.layout:32 lib/layouts/egs.layout:19
@@ -8330,9 +8298,9 @@ msgstr "ÐÑеÑ
од"
#: lib/layouts/scrlttr2.layout:19 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:687 lib/layouts/stdletter.inc:12
+#: lib/layouts/stdinsets.inc:688 lib/layouts/stdletter.inc:12
#: lib/layouts/svcommon.inc:26 lib/layouts/tufte-book.layout:35
-#: src/insets/InsetRef.cpp:595
+#: src/insets/InsetRef.cpp:597
msgid "Standard"
msgstr "Ðо подÑазбиÑане"
@@ -8343,7 +8311,7 @@ msgstr "Ðо подÑазбиÑане"
#: lib/layouts/acmart.layout:145 lib/layouts/acmsiggraph-0-92.layout:165
#: lib/layouts/acmsiggraph.layout:141 lib/layouts/agutex.layout:56
#: lib/layouts/amsdefs.inc:27 lib/layouts/apa.layout:42 lib/layouts/apax.inc:38
-#: lib/layouts/beamer.layout:984 lib/layouts/beamerposter.layout:21
+#: lib/layouts/beamer.layout:986 lib/layouts/beamerposter.layout:21
#: lib/layouts/broadway.layout:192 lib/layouts/cl2emult.layout:41
#: lib/layouts/copernicus.layout:34 lib/layouts/docbook-book.layout:18
#: lib/layouts/docbook-chapter.layout:14 lib/layouts/docbook-section.layout:14
@@ -8370,19 +8338,17 @@ msgstr "Ðаглавие"
#: lib/layouts/IEEEtran.layout:91 lib/layouts/IEEEtran.layout:96
msgid "IEEE membership"
-msgstr ""
+msgstr "IEEE ÑленÑÑво"
# src/lyxfunc.C:1125
#: lib/layouts/IEEEtran.layout:112 lib/layouts/revtex4-x.inc:350
-#, fuzzy
msgid "Lowercase"
-msgstr "overset"
+msgstr "Ðалки бÑкви"
# src/lyxfunc.C:1125
#: lib/layouts/IEEEtran.layout:116
-#, fuzzy
msgid "lowercase"
-msgstr "overset"
+msgstr "малки бекви"
# src/ext_l10n.h:175
#: lib/layouts/IEEEtran.layout:123 lib/layouts/aa.layout:237
@@ -8391,7 +8357,7 @@ msgstr "overset"
#: lib/layouts/achemso.layout:84 lib/layouts/acmart.layout:81
#: lib/layouts/acmsiggraph-0-92.layout:178 lib/layouts/acmsiggraph.layout:154
#: lib/layouts/amsdefs.inc:57 lib/layouts/apa.layout:139
-#: lib/layouts/apax.inc:80 lib/layouts/beamer.layout:1048
+#: lib/layouts/apax.inc:80 lib/layouts/beamer.layout:1050
#: lib/layouts/beamerposter.layout:31 lib/layouts/broadway.layout:210
#: lib/layouts/cl2emult.layout:63 lib/layouts/copernicus.layout:61
#: lib/layouts/ectaart.layout:131 lib/layouts/ectaart.layout:217
@@ -8414,45 +8380,40 @@ msgid "Author"
msgstr "ÐвÑоÑ"
# src/ext_l10n.h:375
-#: lib/layouts/IEEEtran.layout:129 lib/layouts/beamer.layout:1061
+#: lib/layouts/IEEEtran.layout:129 lib/layouts/beamer.layout:1063
#, fuzzy
msgid "Short Author|S"
msgstr "Ðодзаглавие"
#: lib/layouts/IEEEtran.layout:130
msgid "A short version of the author name"
-msgstr ""
+msgstr "ÐÑаÑка веÑÑÐ¸Ñ Ð½Ð° имеÑо на авÑоÑа"
# src/ext_l10n.h:175
#: lib/layouts/IEEEtran.layout:152
-#, fuzzy
msgid "Author Name"
-msgstr "ÐвÑоÑ"
+msgstr "Ðме на авÑоÑ"
# src/ext_l10n.h:175
#: lib/layouts/IEEEtran.layout:158
-#, fuzzy
msgid "Author name"
-msgstr "ÐвÑоÑ"
+msgstr "Ðме на авÑоÑ"
# src/ext_l10n.h:221
#: lib/layouts/IEEEtran.layout:170
-#, fuzzy
msgid "Author Affiliation"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "ÐÑинадлежноÑÑ Ð½Ð° авÑоÑ"
# src/ext_l10n.h:221
#: lib/layouts/IEEEtran.layout:173 lib/layouts/agutex.layout:122
#: lib/layouts/copernicus.layout:67
-#, fuzzy
msgid "Author affiliation"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "ÐÑинадлежноÑÑ Ð½Ð° авÑоÑ"
# src/ext_l10n.h:175
#: lib/layouts/IEEEtran.layout:184
-#, fuzzy
msgid "Author Mark"
-msgstr "ÐвÑоÑ"
+msgstr "Ðнак на авÑоÑ"
# src/ext_l10n.h:175
#: lib/layouts/IEEEtran.layout:189 lib/layouts/elsarticle.layout:174
@@ -8511,9 +8472,8 @@ msgstr "ÐÐ½Ð´ÐµÐºÑ Ð·Ð°Ð¿Ð¸Ñ"
# src/insets/insetbib.C:219
#: lib/layouts/IEEEtran.layout:316 lib/layouts/IEEEtran.layout:320
-#, fuzzy
msgid "Paragraph Start"
-msgstr "Ðибл. пеÑо"
+msgstr "ÐаÑало на абзаÑ"
# src/ext_l10n.h:337
#: lib/layouts/IEEEtran.layout:324
@@ -8523,7 +8483,7 @@ msgstr "Ðаглавие"
#: lib/layouts/IEEEtran.layout:325
msgid "First character of first word"
-msgstr ""
+msgstr "ÐÑÑва бÑква на пÑÑваÑа дÑма"
# src/ext_l10n.h:173
#: lib/layouts/IEEEtran.layout:334 lib/layouts/IEEEtran.layout:344
@@ -8539,7 +8499,7 @@ msgstr "ÐÑиложениÑ"
#: lib/layouts/acmsiggraph.layout:305 lib/layouts/agutex.layout:167
#: lib/layouts/agutex.layout:177 lib/layouts/agutex.layout:197
#: lib/layouts/agutex.layout:223 lib/layouts/amsdefs.inc:266
-#: lib/layouts/apa.layout:244 lib/layouts/beamer.layout:1169
+#: lib/layouts/apa.layout:244 lib/layouts/beamer.layout:1171
#: lib/layouts/copernicus.layout:437 lib/layouts/egs.layout:588
#: lib/layouts/egs.layout:639 lib/layouts/elsarticle.layout:333
#: lib/layouts/europasscv.layout:539 lib/layouts/europecv.layout:380
@@ -8583,7 +8543,7 @@ msgstr "ÐвÑозапиÑÑÑ Ð¿Ñопадна!"
#: lib/layouts/ijmpc.layout:496 lib/layouts/ijmpc.layout:498
#: lib/layouts/ijmpd.layout:520 lib/layouts/ijmpd.layout:522
#: lib/layouts/kluwer.layout:364 lib/layouts/kluwer.layout:377
-#: lib/examples/Articles:0 src/RowPainter.cpp:366
+#: lib/examples/Articles:0 src/RowPainter.cpp:374
msgid "Appendix"
msgstr "пÑиложение"
@@ -8602,7 +8562,7 @@ msgstr "ÐÑаÑко заглавие на пÑиложениеÑо"
#: lib/layouts/aapaper.layout:234 lib/layouts/aastex.layout:450
#: lib/layouts/aguplus.inc:172 lib/layouts/aguplus.inc:174
#: lib/layouts/agutex.layout:219 lib/layouts/amsbook.layout:121
-#: lib/layouts/amsdefs.inc:265 lib/layouts/beamer.layout:1168
+#: lib/layouts/amsdefs.inc:265 lib/layouts/beamer.layout:1170
#: lib/layouts/book.layout:24 lib/layouts/book.layout:26
#: lib/layouts/cl2emult.layout:115 lib/layouts/copernicus.layout:433
#: lib/layouts/egs.layout:638 lib/layouts/elsarticle.layout:329
@@ -8620,16 +8580,16 @@ msgstr "ÐÑаÑко заглавие на пÑиложениеÑо"
#: lib/layouts/scrreprt.layout:12 lib/layouts/scrreprt.layout:14
#: lib/layouts/siamltex.layout:339 lib/layouts/simplecv.layout:196
#: lib/layouts/stdstruct.inc:59 lib/layouts/svcommon.inc:657
-#: lib/layouts/tufte-book.layout:292 lib/layouts/tufte-book.layout:294
+#: lib/layouts/tufte-book.layout:298 lib/layouts/tufte-book.layout:300
#: lib/layouts/tufte-handout.layout:77 lib/examples/Articles:0
-#: src/frontends/qt/GuiDocument.cpp:1771 src/insets/InsetBibtex.cpp:957
+#: src/frontends/qt/GuiDocument.cpp:1785 src/insets/InsetBibtex.cpp:957
msgid "Bibliography"
msgstr "ÐиÑеÑаÑÑÑа"
# src/ext_l10n.h:329
#: lib/layouts/IEEEtran.layout:389 lib/layouts/aastex.layout:464
#: lib/layouts/aastex.layout:485 lib/layouts/agutex.layout:235
-#: lib/layouts/amsdefs.inc:281 lib/layouts/beamer.layout:1183
+#: lib/layouts/amsdefs.inc:281 lib/layouts/beamer.layout:1185
#: lib/layouts/cl2emult.layout:130 lib/layouts/copernicus.layout:449
#: lib/layouts/egs.layout:654 lib/layouts/elsarticle.layout:345
#: lib/layouts/ijmpc.layout:540 lib/layouts/ijmpd.layout:564
@@ -8647,7 +8607,7 @@ msgstr "ÐÑепÑаÑки"
# src/frontends/xforms/form_preferences.C:896
#: lib/layouts/IEEEtran.layout:398 lib/layouts/aastex.layout:474
#: lib/layouts/agutex.layout:244 lib/layouts/amsdefs.inc:293
-#: lib/layouts/beamer.layout:1192 lib/layouts/cl2emult.layout:139
+#: lib/layouts/beamer.layout:1194 lib/layouts/cl2emult.layout:139
#: lib/layouts/copernicus.layout:457 lib/layouts/egs.layout:662
#: lib/layouts/elsarticle.layout:354 lib/layouts/ijmpc.layout:549
#: lib/layouts/ijmpd.layout:573 lib/layouts/iopart.layout:346
@@ -8662,7 +8622,7 @@ msgstr "заглавна ÑаÑÑ Ð½Ð° лиÑ. ÑпиÑÑк"
# src/ext_l10n.h:186
#: lib/layouts/IEEEtran.layout:399 lib/layouts/aastex.layout:475
#: lib/layouts/agutex.layout:245 lib/layouts/amsdefs.inc:294
-#: lib/layouts/beamer.layout:1193 lib/layouts/cl2emult.layout:140
+#: lib/layouts/beamer.layout:1195 lib/layouts/cl2emult.layout:140
#: lib/layouts/copernicus.layout:458 lib/layouts/egs.layout:663
#: lib/layouts/elsarticle.layout:355 lib/layouts/ijmpc.layout:550
#: lib/layouts/ijmpd.layout:574 lib/layouts/iopart.layout:347
@@ -8676,7 +8636,7 @@ msgstr "Ðаглавна ÑаÑÑ Ð½Ð° лиÑ. ÑпиÑÑк"
#: lib/layouts/IEEEtran.layout:400 lib/layouts/aastex.layout:476
#: lib/layouts/agutex.layout:246 lib/layouts/amsdefs.inc:295
-#: lib/layouts/beamer.layout:1194 lib/layouts/cl2emult.layout:141
+#: lib/layouts/beamer.layout:1196 lib/layouts/cl2emult.layout:141
#: lib/layouts/copernicus.layout:459 lib/layouts/egs.layout:664
#: lib/layouts/elsarticle.layout:356 lib/layouts/ijmpc.layout:551
#: lib/layouts/ijmpd.layout:575 lib/layouts/iopart.layout:348
@@ -8696,11 +8656,11 @@ msgstr "ÐиогÑаÑиÑ"
#: lib/layouts/IEEEtran.layout:415 lib/layouts/moderncv.layout:275
msgid "Photo"
-msgstr ""
+msgstr "Снимка"
#: lib/layouts/IEEEtran.layout:416
msgid "Optional photo for biography"
-msgstr ""
+msgstr "ÐезадÑлжиÑелна Ñнимка за биогÑаÑиÑ"
# src/ext_l10n.h:288 src/frontends/gnome/FormUrl.C:119
#: lib/layouts/IEEEtran.layout:421 lib/layouts/IEEEtran.layout:438
@@ -8721,25 +8681,22 @@ msgstr "Ðме"
# src/lyxrc.C:1838
#: lib/layouts/IEEEtran.layout:422 lib/layouts/IEEEtran.layout:439
#: lib/layouts/sigplanconf.layout:165
-#, fuzzy
msgid "Name of the author"
-msgstr "УкажеÑе ÑÑандаÑÑÐ½Ð¸Ñ ÑÐ°Ð·Ð¼ÐµÑ Ð½Ð° Ñ
аÑÑиÑÑа."
+msgstr "Ðме на авÑоÑа"
# src/ext_l10n.h:187
#: lib/layouts/IEEEtran.layout:431
-#, fuzzy
msgid "Biography without photo"
msgstr "ÐиогÑаÑÐ¸Ñ Ð±ÐµÐ· Ñнимка"
# src/ext_l10n.h:187
#: lib/layouts/IEEEtran.layout:443
-#, fuzzy
msgid "BiographyNoPhoto"
-msgstr "ÐиогÑаÑиÑ"
+msgstr "ÐиогÑаÑÐ¸Ñ Ð±ÐµÐ· Ñнимка"
# src/ext_l10n.h:298
#: lib/layouts/IEEEtran.layout:449 lib/layouts/acmart.layout:553
-#: lib/layouts/beamer.layout:1293 lib/layouts/elsart.layout:311
+#: lib/layouts/beamer.layout:1295 lib/layouts/elsart.layout:311
#: lib/layouts/elsart.layout:343 lib/layouts/foils.layout:249
#: lib/layouts/heb-article.layout:29 lib/layouts/heb-article.layout:107
#: lib/layouts/ijmpc.layout:402 lib/layouts/ijmpd.layout:408
@@ -8750,25 +8707,22 @@ msgstr "ÐиогÑаÑиÑ"
#: lib/layouts/theorems-named.module:13 lib/layouts/theorems-named.module:58
#: lib/layouts/theorems-proof.inc:14 lib/layouts/theorems-starred.inc:27
#: lib/layouts/theorems-without-preamble.inc:39 lib/layouts/theorems.inc:28
-#, fuzzy
msgid "Reasoning"
-msgstr "ÐÑваÑÑне"
+msgstr "РазÑÑждаване"
# src/frontends/xforms/form_preferences.C:278
#: lib/layouts/IEEEtran.layout:455 lib/layouts/siamltex.layout:163
#: lib/layouts/theorems-proof.inc:21
-#, fuzzy
msgid "Alternative Proof String"
-msgstr "Ðзползвай алÑеÑнаÑивен език"
+msgstr "ТекÑÑ Ð½Ð° алÑеÑнаÑивно доказаÑелÑÑво"
# src/frontends/xforms/form_preferences.C:278
#: lib/layouts/IEEEtran.layout:456 lib/layouts/siamltex.layout:164
-#, fuzzy
msgid "An alternative proof string"
-msgstr "Ðзползвай алÑеÑнаÑивен език"
+msgstr "ТекÑÑ Ð½Ð° алÑеÑнаÑивно доказаÑелÑÑво"
# src/ext_l10n.h:318
-#: lib/layouts/IEEEtran.layout:468 lib/layouts/beamer.layout:1373
+#: lib/layouts/IEEEtran.layout:468 lib/layouts/beamer.layout:1375
#: lib/layouts/foils.layout:312 lib/layouts/llncs.layout:411
#: lib/layouts/siamltex.layout:176 lib/layouts/svcommon.inc:748
#: lib/layouts/svmono.layout:103 lib/layouts/svmono.layout:107
@@ -8778,12 +8732,12 @@ msgstr "ÐоказаÑелÑÑво."
#: lib/layouts/InStar.module:2
msgid "Title and Preamble Hacks"
-msgstr ""
+msgstr "ÐодобÑÐµÐ½Ð¸Ñ Ð² заглавиеÑо и пÑеамбÑла"
#: lib/layouts/InStar.module:3 lib/layouts/fix-cm.module:3
#: lib/layouts/fixltx2e.module:3 lib/layouts/minimalistic.module:3
msgid "Fixes & Hacks"
-msgstr ""
+msgstr "ÐопÑавки и подобÑениÑ"
#: lib/layouts/InStar.module:13
msgid ""
@@ -8795,24 +8749,29 @@ msgid ""
"in title-related material. (If you put these in a Standard layout, this "
"signals to LyX to output \\maketitle, which may then come too early.)"
msgstr ""
+"ÐÐ¾Ð±Ð°Ð²Ñ Ð´Ð²Ð° нови ÑÑила: 1. âРпÑеамбÑлâ, кÑдеÑо Ñе Ð´Ð¾Ð±Ð°Ð²Ñ Ð²ÑиÑко за "
+"заглавнаÑа ÑаÑÑ Ð½Ð° докÑменÑа. Ðоже да Ñе използва ако нÑкои желае да "
+"пиÑе пÑеамбÑла в изложениеÑо на докÑменÑа. 1. âРзаглавиеâ, коеÑо Ñе пиÑе "
+"в изложениеÑо на докÑменÑа, но ÑÑдÑÑжаниеÑо Ñе Ñе вклÑÑи пÑеди да Ñе "
+"изпÑлни \\maketitle. Това е полезно за пÑавене на ÑÐ°Ð·ÐºÐ»Ð¾Ð½ÐµÐ½Ð¸Ñ Ð¸ бележки "
+"пÑи маÑеÑиали ÑвÑÑзани ÑÑÑ Ð·Ð°Ð³Ð»Ð°Ð²Ð¸ÐµÑо. Ðко паÑÑавиÑе Ñова в ÑÑандаÑÑно "
+"оÑоÑмление Ñе ÑигнализиÑа на LyX да изпÑлни \\maketitle, коеÑо Ñе дойде "
+"ÑвÑÑде Ñано."
# src/lyx_cb.C:675
#: lib/layouts/InStar.module:17
-#, fuzzy
msgid "In Preamble"
-msgstr "LaTeX Ñвод"
+msgstr "РпÑеамбÑл"
# src/ext_l10n.h:395 src/frontends/gnome/FormCitation.C:529
#: lib/layouts/InStar.module:24
-#, fuzzy
msgid "In Title"
-msgstr "Ðаглавие"
+msgstr "Рзаглавие"
# src/frontends/kde/paraextradlg.C:25 src/lyxfont.C:56
#: lib/layouts/RJournal.layout:3 lib/examples/Articles:0
-#, fuzzy
msgid "R Journal"
-msgstr "ÐоÑмален"
+msgstr "ÐÑÑнал R"
#: lib/layouts/RJournal.layout:4 lib/layouts/bxjsreport.layout:4
#: lib/layouts/ctex-report.layout:4 lib/layouts/extreport.layout:4
@@ -8872,7 +8831,7 @@ msgstr "Ðл. поÑа"
# src/frontends/xforms/FormPreferences.C:255
#: lib/layouts/a0poster.layout:3 lib/examples/Articles:0
msgid "A0 Poster"
-msgstr "A0 плакаÑ"
+msgstr "ÐÐ»Ð°ÐºÐ°Ñ A0"
# src/frontends/xforms/FormPreferences.C:226
# src/frontends/xforms/FormPreferences.C:255
@@ -8887,7 +8846,7 @@ msgstr "ÐлакаÑи"
#: lib/layouts/sciposter.layout:130 lib/layouts/sciposter.layout:133
#: lib/layouts/sciposter.layout:160
msgid "Giant"
-msgstr ""
+msgstr "ÐигаÑÑки"
#: lib/layouts/a0poster.layout:57 lib/layouts/a0poster.layout:60
#: lib/layouts/a0poster.layout:86 lib/layouts/beamerposter.layout:69
@@ -8895,7 +8854,7 @@ msgstr ""
#: lib/layouts/sciposter.layout:146 lib/layouts/sciposter.layout:149
#: lib/layouts/sciposter.layout:175
msgid "More Giant"
-msgstr ""
+msgstr "Ðо-гиганÑÑки"
#: lib/layouts/a0poster.layout:63 lib/layouts/a0poster.layout:66
#: lib/layouts/a0poster.layout:92 lib/layouts/beamerposter.layout:75
@@ -8903,22 +8862,22 @@ msgstr ""
#: lib/layouts/sciposter.layout:152 lib/layouts/sciposter.layout:155
#: lib/layouts/sciposter.layout:181
msgid "Most Giant"
-msgstr ""
+msgstr "Ðай-гиганÑÑки"
#: lib/layouts/a0poster.layout:69 lib/layouts/beamerposter.layout:81
#: lib/layouts/sciposter.layout:158
msgid "Giant Snippet"
-msgstr ""
+msgstr "ÐиганÑÑки ÑÑагменÑ"
#: lib/layouts/a0poster.layout:84 lib/layouts/beamerposter.layout:96
#: lib/layouts/sciposter.layout:173
msgid "More Giant Snippet"
-msgstr ""
+msgstr "Ðо-гиганÑÑки ÑÑагменÑ"
#: lib/layouts/a0poster.layout:90 lib/layouts/beamerposter.layout:102
#: lib/layouts/sciposter.layout:179
msgid "Most Giant Snippet"
-msgstr ""
+msgstr "Ðай-гиганÑÑки ÑÑагменÑ"
#: lib/layouts/aa.layout:3 lib/examples/Articles:0
msgid "Astronomy & Astrophysics"
@@ -8927,7 +8886,7 @@ msgstr "ÐÑÑÑÐ¾Ð½Ð¾Ð¼Ð¸Ñ Ð¸ аÑÑÑоÑизика"
# src/ext_l10n.h:375
#: lib/layouts/aa.layout:69 lib/layouts/aapaper.inc:9
#: lib/layouts/aapaper.layout:81 lib/layouts/acm-sigs.inc:10
-#: lib/layouts/acmart.layout:160 lib/layouts/beamer.layout:1021
+#: lib/layouts/acmart.layout:160 lib/layouts/beamer.layout:1023
#: lib/layouts/beamerposter.layout:26 lib/layouts/kluwer.layout:136
#: lib/layouts/llncs.layout:135 lib/layouts/scrclass.inc:217
#: lib/layouts/sigplanconf.layout:138 lib/layouts/svcommon.inc:356
@@ -8939,38 +8898,35 @@ msgstr "подзаглавие"
# src/form1.C:129 src/sp_form.C:58
#: lib/layouts/aa.layout:113 lib/layouts/aapaper.inc:65
#: lib/layouts/aapaper.layout:93
-#, fuzzy
msgid "Offprint"
-msgstr "ÐпÑии"
+msgstr "ÐÑделно издание"
# src/form1.C:129 src/sp_form.C:58
#: lib/layouts/aa.layout:122 lib/layouts/aapaper.inc:73
-#, fuzzy
msgid "Offprint Requests to:"
-msgstr "ÐпÑии"
+msgstr "ÐÑделно издание по изиÑкване на:"
# src/layout_forms.C:23
#: lib/layouts/aa.layout:142 lib/layouts/svglobal.layout:136
#: lib/layouts/svjog.layout:140 lib/layouts/svprobth.layout:169
-#, fuzzy
msgid "Mail"
-msgstr "СемейÑÑво(F):|#F"
+msgstr "Ðл. поÑа"
#: lib/layouts/aa.layout:151
msgid "Correspondence to:"
-msgstr ""
+msgstr "ÐоÑеÑпонденÑÐ¸Ñ Ð´Ð¾:"
#: lib/layouts/aa.layout:181 lib/layouts/copernicus.layout:427
#: lib/layouts/egs.layout:602
msgid "Acknowledgements."
-msgstr ""
+msgstr "ÐлагодаÑноÑÑи."
# src/ext_l10n.h:344
#: lib/layouts/aa.layout:196 lib/layouts/aapaper.layout:66
#: lib/layouts/aapaper.layout:139 lib/layouts/aastex.layout:97
#: lib/layouts/aguplus.inc:29 lib/layouts/amsart.layout:66
#: lib/layouts/amsbook.layout:57 lib/layouts/apa.layout:339
-#: lib/layouts/apax.inc:438 lib/layouts/beamer.layout:288
+#: lib/layouts/apax.inc:438 lib/layouts/beamer.layout:290
#: lib/layouts/egs.layout:33 lib/layouts/europasscv.layout:264
#: lib/layouts/europecv.layout:193 lib/layouts/isprs.layout:160
#: lib/layouts/iucr.layout:47 lib/layouts/jss.layout:25
@@ -8994,7 +8950,7 @@ msgstr "Раздел"
#: lib/layouts/aapaper.layout:149 lib/layouts/aastex.layout:110
#: lib/layouts/aguplus.inc:44 lib/layouts/amsart.layout:107
#: lib/layouts/amsbook.layout:67 lib/layouts/apa.layout:350
-#: lib/layouts/apax.inc:449 lib/layouts/beamer.layout:350
+#: lib/layouts/apax.inc:449 lib/layouts/beamer.layout:352
#: lib/layouts/egs.layout:56 lib/layouts/isprs.layout:172
#: lib/layouts/iucr.layout:53 lib/layouts/jss.layout:29
#: lib/layouts/kluwer.layout:72 lib/layouts/latex8.layout:59
@@ -9013,7 +8969,7 @@ msgstr "ÐодÑаздел"
#: lib/layouts/aapaper.layout:161 lib/layouts/aastex.layout:123
#: lib/layouts/amsart.layout:130 lib/layouts/amsbook.layout:76
#: lib/layouts/apa.layout:360 lib/layouts/apax.inc:459
-#: lib/layouts/beamer.layout:412 lib/layouts/isprs.layout:182
+#: lib/layouts/beamer.layout:414 lib/layouts/isprs.layout:182
#: lib/layouts/iucr.layout:61 lib/layouts/jss.layout:33
#: lib/layouts/kluwer.layout:82 lib/layouts/llncs.layout:67
#: lib/layouts/ltugboat.layout:90 lib/layouts/memoir.layout:129
@@ -9030,7 +8986,7 @@ msgstr "ÐодподÑаздел"
#: lib/layouts/aa.layout:253 lib/layouts/aapaper.layout:99
#: lib/layouts/aapaper.layout:202 lib/layouts/aastex.layout:265
#: lib/layouts/acmart.layout:133 lib/layouts/amsdefs.inc:82
-#: lib/layouts/beamer.layout:1120 lib/layouts/beamerposter.layout:41
+#: lib/layouts/beamer.layout:1122 lib/layouts/beamerposter.layout:41
#: lib/layouts/dinbrief.layout:218 lib/layouts/egs.layout:550
#: lib/layouts/foils.layout:169 lib/layouts/frletter.layout:24
#: lib/layouts/g-brief.layout:199 lib/layouts/g-brief2.layout:54
@@ -9052,7 +9008,7 @@ msgid "institutemark"
msgstr "Ðнак на оÑганизаÑиÑÑа"
# src/LyXAction.C:354
-#: lib/layouts/aa.layout:273 lib/layouts/beamer.layout:1103
+#: lib/layouts/aa.layout:273 lib/layouts/beamer.layout:1105
msgid "Institute Mark"
msgstr "Ðнак на оÑганизаÑиÑÑа"
@@ -9071,65 +9027,60 @@ msgstr "РезÑме (ÑÑÑÑкÑÑÑиÑано)"
# src/frontends/xforms/FormPreferences.C:226
# src/frontends/xforms/FormPreferences.C:255
#: lib/layouts/aa.layout:335
-#, fuzzy
msgid "Context"
-msgstr "ÐонвеÑÑоÑи"
+msgstr "ÐонÑекÑÑ"
#: lib/layouts/aa.layout:336
msgid "Context of your work (optional, can be left empty)"
-msgstr ""
+msgstr "ÐонÑекÑÑ Ð½Ð° ваÑаÑа ÑабоÑе (незадÑлжиÑелно, може да не Ñе попÑлва)"
#: lib/layouts/aa.layout:340
msgid "Aims"
-msgstr ""
+msgstr "Цели"
#: lib/layouts/aa.layout:341
msgid "Aims of your work"
-msgstr ""
+msgstr "Цели на ваÑаÑа ÑабоÑа"
#: lib/layouts/aa.layout:345
msgid "Methods"
-msgstr ""
+msgstr "ÐеÑоди"
#: lib/layouts/aa.layout:346
msgid "Methods used in your work"
-msgstr ""
+msgstr "ÐеÑоди използвани вÑв ваÑаÑа ÑабоÑа"
#: lib/layouts/aa.layout:350
msgid "Results"
-msgstr ""
+msgstr "РезÑлÑаÑи"
#: lib/layouts/aa.layout:351
msgid "Results of your work"
-msgstr ""
+msgstr "РезÑлÑаÑи на ваÑаÑа ÑабоÑа"
# src/ext_l10n.h:263
#: lib/layouts/aa.layout:377
-#, fuzzy
msgid "Key words."
-msgstr "ÐлÑÑови дÑма"
+msgstr "ÐлÑÑови дÑми"
# src/LyXAction.C:354
-#: lib/layouts/aa.layout:395 lib/layouts/beamer.layout:1076
+#: lib/layouts/aa.layout:395 lib/layouts/beamer.layout:1078
#: lib/layouts/beamerposter.layout:36 lib/layouts/cl2emult.layout:81
#: lib/layouts/llncs.layout:231 lib/layouts/sciposter.layout:24
#: lib/layouts/svcommon.inc:384
-#, fuzzy
msgid "Institute"
-msgstr "ÐмÑкни кавиÑки"
+msgstr "ÐнÑÑиÑÑÑиÑ"
# src/layout_forms.C:23
#: lib/layouts/aa.layout:406 lib/layouts/sciposter.layout:29
#: lib/layouts/scrlttr2.layout:257
-#, fuzzy
msgid "E-Mail"
-msgstr "СемейÑÑво(F):|#F"
+msgstr "Ðл. поÑа"
# src/layout_forms.C:23
#: lib/layouts/aapaper.inc:56
-#, fuzzy
msgid "email:"
-msgstr "СемейÑÑво(F):|#F"
+msgstr "ел. поÑа:"
#: lib/layouts/aapaper.inc:93 lib/layouts/aastex.layout:354
#: lib/layouts/aastex62.layout:225 lib/layouts/apa.layout:243
@@ -9139,7 +9090,7 @@ msgstr "СемейÑÑво(F):|#F"
#: lib/layouts/kluwer.layout:353 lib/layouts/svcommon.inc:639
#: lib/layouts/svcommon.inc:652
msgid "Acknowledgements"
-msgstr ""
+msgstr "ÐлагодаÑноÑÑи"
# src/ext_l10n.h:390
#: lib/layouts/aapaper.inc:107 lib/layouts/aapaper.layout:96
@@ -9149,11 +9100,11 @@ msgstr "Синонимен ÑеÑник"
#: lib/layouts/aapaper.inc:118
msgid "Thesaurus not supported in recent A&A:"
-msgstr ""
+msgstr "Синонимен ÑеÑник не Ñе поддÑÑжа в поÑледни A&A:"
#: lib/layouts/aapaper.layout:3 lib/layouts/aapaper.layout:14
msgid "Astronomy & Astrophysics (V. 4, Obsolete)"
-msgstr ""
+msgstr "ÐÑÑÑÐ¾Ð½Ð¾Ð¼Ð¸Ñ Ð¸ аÑÑÑоÑизика (веÑ. 4, оÑÑаÑÑл)"
#: lib/layouts/aapaper.layout:4 lib/layouts/acm-sigs-alt.layout:4
#: lib/layouts/acm-sigs.layout:4 lib/layouts/acmsiggraph-0-92.layout:4
@@ -9168,7 +9119,7 @@ msgstr "ÐзлÑзли Ð¾Ñ ÑпоÑÑеба"
# src/LyXAction.C:251
#: lib/layouts/aapaper.layout:50 lib/layouts/apa.layout:391
-#: lib/layouts/apax.inc:490 lib/layouts/beamer.layout:82
+#: lib/layouts/apax.inc:490 lib/layouts/beamer.layout:84
#: lib/layouts/egs.layout:203 lib/layouts/powerdot.layout:264
#: lib/layouts/simplecv.layout:108 lib/layouts/stdlists.inc:13
msgid "Itemize"
@@ -9176,14 +9127,14 @@ msgstr "ÐодеÑи знаÑи"
# src/ext_l10n.h:231
#: lib/layouts/aapaper.layout:53 lib/layouts/apa.layout:427
-#: lib/layouts/apax.inc:527 lib/layouts/beamer.layout:131
+#: lib/layouts/apax.inc:527 lib/layouts/beamer.layout:133
#: lib/layouts/egs.layout:166 lib/layouts/powerdot.layout:326
#: lib/layouts/stdlists.inc:52
msgid "Enumerate"
msgstr "ÐомеÑиÑане"
# src/ext_l10n.h:223
-#: lib/layouts/aapaper.layout:56 lib/layouts/beamer.layout:186
+#: lib/layouts/aapaper.layout:56 lib/layouts/beamer.layout:188
#: lib/layouts/egs.layout:239 lib/layouts/hollywood.layout:130
#: lib/layouts/paper.layout:110 lib/layouts/scrclass.inc:55
#: lib/layouts/scrlettr.layout:21 lib/layouts/scrlttr2.layout:33
@@ -9196,8 +9147,8 @@ msgstr "ÐпиÑание"
#: lib/layouts/aapaper.layout:59 lib/layouts/algorithm2e.module:34
#: lib/layouts/apa.layout:392 lib/layouts/apa.layout:428
#: lib/layouts/apa.layout:466 lib/layouts/apax.inc:491 lib/layouts/apax.inc:528
-#: lib/layouts/apax.inc:566 lib/layouts/beamer.layout:83
-#: lib/layouts/beamer.layout:132 lib/layouts/beamer.layout:187
+#: lib/layouts/apax.inc:566 lib/layouts/beamer.layout:85
+#: lib/layouts/beamer.layout:134 lib/layouts/beamer.layout:189
#: lib/layouts/egs.layout:139 lib/layouts/egs.layout:167
#: lib/layouts/egs.layout:204 lib/layouts/enumitem.module:88
#: lib/layouts/europasscv.layout:400 lib/layouts/foils.layout:87
@@ -9214,7 +9165,7 @@ msgstr "избÑоÑване по ÑпиÑÑк"
#: lib/layouts/aastex.layout:3
msgid "American Astronomical Society (AASTeX v. 5)"
-msgstr ""
+msgstr "ÐмеÑиканÑко аÑÑÑономиÑеÑко обÑеÑÑво (AASTeX v. 5)"
# src/ext_l10n.h:221
#: lib/layouts/aastex.layout:169 lib/layouts/aastex62.layout:174
@@ -9225,32 +9176,28 @@ msgstr ""
#: lib/layouts/maa-monthly.layout:124 lib/layouts/moderncv.layout:445
#: lib/layouts/revtex4-x.inc:63 lib/layouts/revtex4.layout:141
#: lib/layouts/sigplanconf.layout:172
-#, fuzzy
msgid "Affiliation"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "ÐÑинадлежноÑÑ"
# src/ext_l10n.h:221
#: lib/layouts/aastex.layout:192 lib/layouts/aastex62.layout:219
-#, fuzzy
msgid "Altaffilation"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "ÐÑедиÑна пÑинадлежноÑÑ"
# src/mathed/formula.C:929
#: lib/layouts/aastex.layout:201 lib/layouts/agutex.layout:132
-#: src/mathed/InsetMathHull.cpp:1857 src/mathed/InsetMathHull.cpp:1866
-#, fuzzy
+#: src/mathed/InsetMathHull.cpp:1866 src/mathed/InsetMathHull.cpp:1875
msgid "Number"
-msgstr "ÐомеÑиÑане"
+msgstr "ÐомеÑ"
#: lib/layouts/aastex.layout:202
msgid "Consecutive number for the alternative affiliations"
-msgstr ""
+msgstr "ÐоÑеден Ð½Ð¾Ð¼ÐµÑ Ð½Ð° алÑеÑнаÑивна пÑинадлежноÑÑ"
# src/frontends/xforms/form_preferences.C:278
#: lib/layouts/aastex.layout:207
-#, fuzzy
msgid "Alternative affiliation:"
-msgstr "Ðзползвай алÑеÑнаÑивен език"
+msgstr "ÐлÑеÑнаÑивна пÑинадлежноÑÑ:"
# src/ext_l10n.h:170
#: lib/layouts/aastex.layout:245
@@ -9258,34 +9205,30 @@ msgid "And"
msgstr "Ð"
# src/ext_l10n.h:170
-#: lib/layouts/aastex.layout:256 src/frontends/qt/GuiDocument.cpp:3137
-#: src/frontends/qt/GuiDocument.cpp:3149 src/frontends/qt/GuiDocument.cpp:3275
-#: src/frontends/qt/GuiDocument.cpp:3294
-#, fuzzy
+#: lib/layouts/aastex.layout:256 src/frontends/qt/GuiDocument.cpp:3152
+#: src/frontends/qt/GuiDocument.cpp:3164 src/frontends/qt/GuiDocument.cpp:3290
+#: src/frontends/qt/GuiDocument.cpp:3309
msgid "and"
-msgstr "Ð"
+msgstr "и"
# src/ext_l10n.h:221
#: lib/layouts/aastex.layout:301
-#, fuzzy
msgid "altaffilmark"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "знак за пÑинадлежноÑÑ"
# src/ext_l10n.h:221
#: lib/layouts/aastex.layout:305
-#, fuzzy
msgid "altaffiliation mark"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "знак за пÑинадлежнаÑÑ"
# src/buffer.C:329
#: lib/layouts/aastex.layout:336
-#, fuzzy
msgid "Subject headings:"
-msgstr "ÐÑеÑка пÑи ÑенеÑе Ð¾Ñ "
+msgstr "Тема в заглавиеÑо:"
#: lib/layouts/aastex.layout:365
msgid "[Acknowledgements]"
-msgstr ""
+msgstr "[ÐлагодаÑноÑÑи]"
# src/ext_l10n.h:310
#: lib/layouts/aastex.layout:377
@@ -9294,9 +9237,8 @@ msgstr "ФигÑÑа"
# src/ext_l10n.h:310
#: lib/layouts/aastex.layout:388
-#, fuzzy
msgid "Place Figure here:"
-msgstr "ФигÑÑа"
+msgstr "ÐоÑÑавÑне на ÑигÑÑа ÑÑк:"
# src/ext_l10n.h:311
#: lib/layouts/aastex.layout:397
@@ -9305,15 +9247,13 @@ msgstr "ТаблиÑа"
# src/ext_l10n.h:311
#: lib/layouts/aastex.layout:408
-#, fuzzy
msgid "Place Table here:"
-msgstr "ТаблиÑа"
+msgstr "ÐоÑÑавÑне на ÑаблиÑа:"
# src/ext_l10n.h:174
#: lib/layouts/aastex.layout:427 lib/layouts/copernicus.layout:344
-#, fuzzy
msgid "[Appendix]"
-msgstr "ÐÑиложение"
+msgstr "[ÐÑиложение]"
# src/mathed/math_panel.C:116
#: lib/layouts/aastex.layout:437
@@ -9323,15 +9263,13 @@ msgstr "РазделиÑел"
# src/text2.C:456
#: lib/layouts/aastex.layout:492
-#, fuzzy
msgid "NoteToEditor"
-msgstr "ÐÑма ниÑо за пÑавене"
+msgstr "Ðел. кÑм ÑедакÑоÑа"
# src/text2.C:456
#: lib/layouts/aastex.layout:504
-#, fuzzy
msgid "Note to Editor:"
-msgstr "ÐÑма ниÑо за пÑавене"
+msgstr "Ðел. кÑм ÑедакÑоÑа:"
# src/frontends/xforms/FormTabular.C:133
#: lib/layouts/aastex.layout:516 lib/layouts/aastex6.layout:106
@@ -9342,9 +9280,8 @@ msgstr "ÐÑлга ÑаблиÑа"
# src/frontends/gnome/FormRef.C:311
#: lib/layouts/aastex.layout:528
-#, fuzzy
msgid "References. ---"
-msgstr " ÐÑепÑаÑка: "
+msgstr "ÐÑепÑаÑки. ---"
# src/frontends/gnome/FormToc.C:100 src/frontends/gnome/FormToc.C:167
# src/frontends/kde/FormToc.C:167 src/frontends/kde/FormToc.C:168
@@ -9352,9 +9289,8 @@ msgstr " ÐÑепÑаÑка: "
# src/insets/insettoc.C:22
#: lib/layouts/aastex.layout:539 lib/layouts/aastex6.layout:113
#: lib/layouts/aastex62.layout:124
-#, fuzzy
msgid "TableComments"
-msgstr "СÑдÑÑжание"
+msgstr "ÐоменÑаÑи на ÑаблиÑа"
# src/ext_l10n.h:291 src/insets/insetinfo.C:77 src/insets/insetinfo.C:102
# src/insets/insetinfo.C:231
@@ -9388,7 +9324,7 @@ msgstr ""
# src/ext_l10n.h:240
#: lib/layouts/aastex.layout:605
msgid "FigCaption"
-msgstr "Фиг.заглавие"
+msgstr "ÐÐ°Ð´Ð¿Ð¸Ñ Ð½Ð° ÑигÑÑа"
#: lib/layouts/aastex.layout:606
msgid "fig."
@@ -9396,7 +9332,7 @@ msgstr "Ñиг."
#: lib/layouts/aastex.layout:612
msgid "Filename to identify the corresponding figure file"
-msgstr ""
+msgstr "Ðме на Ñайл за заÑеждане на изобÑажениеÑо"
# src/ext_l10n.h:238
#: lib/layouts/aastex.layout:627
@@ -9416,11 +9352,11 @@ msgstr ""
#: lib/layouts/aastex.layout:665
msgid "Obj:"
-msgstr ""
+msgstr "ÐбекÑ:"
#: lib/layouts/aastex.layout:667 lib/layouts/aastex.layout:697
msgid "Recognized Name"
-msgstr ""
+msgstr "РазпознаÑо име"
#: lib/layouts/aastex.layout:668
msgid "Separate the recognized name of an object from text"
@@ -9428,15 +9364,13 @@ msgstr ""
# src/insets/insetbib.C:339
#: lib/layouts/aastex.layout:683
-#, fuzzy
msgid "Dataset"
-msgstr "Ðаза данни:"
+msgstr "ÐÐ°Ð±Ð¾Ñ Ð´Ð°Ð½Ð½Ð¸"
# src/insets/insetbib.C:339
#: lib/layouts/aastex.layout:695
-#, fuzzy
msgid "Dataset:"
-msgstr "Ðаза данни:"
+msgstr "ÐÐ°Ð±Ð¾Ñ Ð´Ð°Ð½Ð½Ð¸:"
#: lib/layouts/aastex.layout:698
msgid "Separate the dataset ID from text"
@@ -9444,15 +9378,15 @@ msgstr ""
#: lib/layouts/aastex6.layout:3 lib/examples/Articles:0
msgid "American Astronomical Society (AASTeX v. 6)"
-msgstr ""
+msgstr "ÐмеÑиканÑко аÑÑÑономиÑеÑко обÑеÑÑво (AASTEX веÑ. 6)"
#: lib/layouts/aastex6.layout:59 lib/layouts/aastex62.layout:70
msgid "Software"
-msgstr ""
+msgstr "СоÑÑеÑ"
#: lib/layouts/aastex6.layout:66 lib/layouts/aastex62.layout:77
msgid "Software:"
-msgstr ""
+msgstr "СоÑÑÑеÑ:"
#: lib/layouts/aastex6.layout:103 lib/layouts/aastex62.layout:114
msgid "APPENDIX"
@@ -9460,41 +9394,35 @@ msgstr ""
# src/ext_l10n.h:329
#: lib/layouts/aastex6.layout:107 lib/layouts/aastex62.layout:118
-#, fuzzy
msgid "References-"
-msgstr "ÐÑепÑаÑки"
+msgstr "ÐÑепÑаÑки-"
# src/ext_l10n.h:291 src/insets/insetinfo.C:77 src/insets/insetinfo.C:102
# src/insets/insetinfo.C:231
#: lib/layouts/aastex6.layout:114 lib/layouts/aastex62.layout:125
-#, fuzzy
msgid "Note-"
-msgstr "Ðележка"
+msgstr "Ðележка-"
#: lib/layouts/aastex62.layout:3 lib/examples/Articles:0
-#, fuzzy
msgid "American Astronomical Society (AASTeX v. 6.2)"
-msgstr "Ðнига на ÐмеÑиканÑко маÑемаÑиÑеÑко обÑеÑÑво (AMS)"
+msgstr "ÐмеÑиканÑко аÑÑÑономиÑеÑко обÑеÑÑво (AASTEX веÑ. 6.2)"
# src/ext_l10n.h:175
#: lib/layouts/aastex62.layout:130 lib/layouts/ectaart.layout:210
#: lib/layouts/ectaart.layout:213
-#, fuzzy
msgid "Corresponding Author"
-msgstr "ÐвÑоÑ"
+msgstr "ÐоÑеÑпондиÑÐ°Ñ Ð°Ð²ÑоÑ"
# src/ext_l10n.h:175
#: lib/layouts/aastex62.layout:136
-#, fuzzy
msgid "Corresponding author:"
-msgstr "ÐвÑоÑ"
+msgstr "ÐоÑеÑпондиÑÐ°Ñ Ð°Ð²ÑоÑ:"
# src/ext_l10n.h:175
#: lib/layouts/aastex62.layout:155 lib/layouts/copernicus.layout:65
#: lib/layouts/egs.layout:380 lib/layouts/svmult.layout:93
-#, fuzzy
msgid "Author:"
-msgstr "ÐвÑоÑ"
+msgstr "ÐвÑоÑ:"
#: lib/layouts/aastex62.layout:161 lib/layouts/acmart.layout:196
#: lib/layouts/apax.inc:640 lib/layouts/apax.inc:667
@@ -9511,9 +9439,8 @@ msgstr ""
#: lib/layouts/egs.layout:407 lib/layouts/iucr.layout:194
#: lib/layouts/jss.layout:78 lib/layouts/revtex4-x.inc:77
#: lib/layouts/revtex4.layout:152
-#, fuzzy
msgid "Affiliation:"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "ÐÑинадлежноÑÑ:"
# src/frontends/xforms/form_document.C:244
#: lib/layouts/aastex62.layout:187 lib/layouts/revtex4-x.inc:164
@@ -9543,141 +9470,125 @@ msgstr "ÐÐ±Ð·Ð°Ñ ÑазделÑне"
# src/ext_l10n.h:174
#: lib/layouts/aastex62.layout:241 lib/layouts/copernicus.layout:307
-#, fuzzy
msgid "Section Appendix"
-msgstr "пÑиложение"
+msgstr "Раадел пÑиложение"
# src/LColor.C:64
#: lib/layouts/aastex62.layout:245
-#, fuzzy
msgid "\\Alph{appendix}."
-msgstr "избоÑ"
+msgstr "\\Alph{appendix}."
# src/ext_l10n.h:174
#: lib/layouts/aastex62.layout:253 lib/layouts/copernicus.layout:315
-#, fuzzy
msgid "Subappendix"
-msgstr "пÑиложение"
+msgstr "ÐодÑаздел пÑиложение"
# src/ext_l10n.h:371
#: lib/layouts/aastex62.layout:257 lib/layouts/copernicus.layout:319
-#, fuzzy
msgid "Subsection Appendix"
-msgstr "ÐодÑаздел"
+msgstr "ÐодÑаздел пÑиложение"
# src/LColor.C:64
#: lib/layouts/aastex62.layout:261
-#, fuzzy
msgid "\\Alph{appendix}\\arabic{subappendix}."
-msgstr "избоÑ"
+msgstr "\\Alph{appendix}\\arabic{subappendix}."
# src/ext_l10n.h:373
#: lib/layouts/aastex62.layout:269 lib/layouts/copernicus.layout:327
-#, fuzzy
msgid "Subsubappendix"
-msgstr "Ðод-подÑаздел"
+msgstr "Ðод-подпÑиложиние"
# src/ext_l10n.h:373
#: lib/layouts/aastex62.layout:273 lib/layouts/copernicus.layout:331
-#, fuzzy
msgid "Subsubsection Appendix"
-msgstr "Ðод-подÑаздел"
+msgstr "Ðод-подÑаздел ÐÑиложение"
# src/ext_l10n.h:373
#: lib/layouts/aastex62.layout:277
-#, fuzzy
msgid "\\Alph{appendix}\\arabic{subappendix}.\\arabic{subsubappendix}."
-msgstr "Ðод-подÑаздел"
+msgstr "\\Alph{appendix}\\arabic{subappendix}.\\arabic{subsubappendix}."
#: lib/layouts/achemso.layout:3 lib/examples/Articles:0
msgid "American Chemical Society (ACS)"
-msgstr ""
+msgstr "ÐмеÑиканÑко Ñ
имиÑеÑко обÑеÑÑво (ACS)"
# src/ext_l10n.h:375
#: lib/layouts/achemso.layout:75 lib/layouts/amsdefs.inc:41
#: lib/layouts/apa.layout:291 lib/layouts/apax.inc:390
-#: lib/layouts/beamer.layout:260 lib/layouts/beamer.layout:315
-#: lib/layouts/beamer.layout:377 lib/layouts/beamer.layout:439
-#: lib/layouts/beamer.layout:998 lib/layouts/europecv.layout:201
+#: lib/layouts/beamer.layout:262 lib/layouts/beamer.layout:317
+#: lib/layouts/beamer.layout:379 lib/layouts/beamer.layout:441
+#: lib/layouts/beamer.layout:1000 lib/layouts/europecv.layout:201
#: lib/layouts/iopart.layout:67 lib/layouts/jasatex.layout:75
#: lib/layouts/memoir.layout:68 lib/layouts/revtex4-x.inc:245
#: lib/layouts/scrclass.inc:142 lib/layouts/scrclass.inc:155
#: lib/layouts/scrclass.inc:168 lib/layouts/scrclass.inc:324
#: lib/layouts/scrclass.inc:349 lib/layouts/siamltex.layout:206
-#: lib/layouts/simplecv.layout:52 lib/layouts/stdinsets.inc:694
+#: lib/layouts/simplecv.layout:52 lib/layouts/stdinsets.inc:695
#: lib/layouts/stdsections.inc:32 lib/layouts/stdsections.inc:76
#: lib/layouts/stdsections.inc:117 lib/layouts/tufte-book.layout:98
#: lib/layouts/tufte-book.layout:129 lib/layouts/tufte-handout.layout:40
msgid "Short Title|S"
-msgstr "ÐÑаÑÑк надпиÑ"
+msgstr "ÐÑаÑки заглавиÑ"
#: lib/layouts/achemso.layout:76
msgid "Short title which will appear in the running header"
-msgstr ""
+msgstr "ÐÑаÑко име, коеÑо Ñе Ñе поÑви в подвижно заглавие"
# src/frontends/gnome/FormRef.C:301
#: lib/layouts/achemso.layout:119 lib/layouts/acmart.layout:125
-#, fuzzy
msgid "Short name"
-msgstr "Ðме:"
+msgstr "ÐÑаÑко име"
# src/lyxrc.C:1676
#: lib/layouts/achemso.layout:120
-#, fuzzy
msgid "Short name which appears in the footer of the title page"
-msgstr "ÐпÑÐ¸Ñ Ð·Ð° обÑÑÑане на Ñеда за пеÑÐ°Ñ Ð½Ð° ÑÑÑаниÑиÑе."
+msgstr "ÐÑаÑко име коеÑо Ñе поÑвÑва в Ð´Ð¾Ð»Ð½Ð¸Ñ ÐºÐ¾Ð»ÑнÑÑÑÑл на заглавнаÑа ÑÑÑаниÑа"
# src/ext_l10n.h:221
#: lib/layouts/achemso.layout:131
-#, fuzzy
msgid "Alt Affiliation"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "ÐлÑеÑнаÑ. пÑинадлежноÑÑ"
# src/ext_l10n.h:221
#: lib/layouts/achemso.layout:144
-#, fuzzy
msgid "Also Affiliation"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "СÑÑо пÑинадлежноÑÑ"
#: lib/layouts/achemso.layout:157 lib/layouts/europasscv.layout:141
#: lib/layouts/europecv.layout:140 lib/layouts/lettre.layout:48
#: lib/layouts/lettre.layout:381 lib/layouts/moderncv.layout:210
#: lib/layouts/scrlttr2.layout:242 lib/configure.py:855
msgid "Fax"
-msgstr ""
+msgstr "ФакÑ"
# src/LColor.C:63
#: lib/layouts/achemso.layout:163 lib/layouts/europasscv.layout:144
#: lib/layouts/europecv.layout:143 lib/layouts/lettre.layout:394
#: lib/layouts/moderncv.layout:213
-#, fuzzy
msgid "Fax:"
-msgstr "ÑекÑÑ"
+msgstr "ФакÑ:"
# src/ext_l10n.h:308
#: lib/layouts/achemso.layout:173 lib/layouts/dinbrief.layout:384
#: lib/layouts/g-brief.layout:127 lib/layouts/moderncv.layout:184
msgid "Phone"
-msgstr "ТелеÑонен ÑказаÑел"
+msgstr "ТелеÑон"
# src/ext_l10n.h:308
#: lib/layouts/achemso.layout:176 lib/layouts/g-brief.layout:130
#: lib/layouts/moderncv.layout:187
-#, fuzzy
msgid "Phone:"
-msgstr "ТелеÑонен ÑказаÑел"
+msgstr "ТелеÑон:"
# src/frontends/xforms/form_document.C:244
#: lib/layouts/achemso.layout:187
-#, fuzzy
msgid "Abbreviations"
-msgstr "ÐÐ±Ð·Ð°Ñ ÑазделÑне"
+msgstr "СÑкÑаÑениÑ"
# src/frontends/xforms/form_document.C:244
#: lib/layouts/achemso.layout:193
-#, fuzzy
msgid "Abbreviations:"
-msgstr "ÐÐ±Ð·Ð°Ñ ÑазделÑне"
+msgstr "СÑкÑаÑениÑ:"
# src/ext_l10n.h:462
#: lib/layouts/achemso.layout:206
@@ -9744,35 +9655,31 @@ msgstr ""
# src/ext_l10n.h:175
#: lib/layouts/achemso.layout:311
-#, fuzzy
msgid "TOC entry"
-msgstr "ÐвÑоÑ"
+msgstr "ТоÑка Ð¾Ñ ÑÑдÑÑжание"
#: lib/layouts/achemso.layout:315
msgid "Graphical TOC Entry"
-msgstr ""
+msgstr "ÐÑаÑиÑна ÑоÑка Ð¾Ñ ÑÑдÑÑжание"
# src/LColor.C:67
#: lib/layouts/achemso.layout:321
-#, fuzzy
msgid "Bibnote"
-msgstr "бележка"
+msgstr "Bibnote"
# src/LColor.C:67
#: lib/layouts/achemso.layout:325
-#, fuzzy
msgid "bibnote"
-msgstr "бележка"
+msgstr "bibnote"
# src/lyxfont.C:56
#: lib/layouts/achemso.layout:344
-#, fuzzy
msgid "Chemistry"
-msgstr "ÐÑебен"
+msgstr "ХимиÑ"
#: lib/layouts/achemso.layout:347
msgid "chemistry"
-msgstr ""
+msgstr "Ñ
имиÑ"
# src/ext_l10n.h:433
#: lib/layouts/achemso.layout:359 lib/layouts/achemso.layout:362
@@ -9787,15 +9694,13 @@ msgstr ""
# src/ext_l10n.h:387
#: lib/layouts/acm-sigs.inc:33 lib/layouts/acmart.layout:398
#: lib/layouts/sigplanconf.layout:188
-#, fuzzy
msgid "Terms"
-msgstr "ТеоÑема"
+msgstr "УÑловиÑ"
# src/frontends/xforms/FormParagraph.C:132
#: lib/layouts/acm-sigs.inc:39
-#, fuzzy
msgid "General terms:"
-msgstr "ÐбÑо"
+msgstr "ÐбÑи ÑÑловиÑ:"
#: lib/layouts/acm-sigs.layout:3 lib/examples/Articles:0
msgid "ACM SIG Proceedings (SP, Obsolete)"
@@ -9803,7 +9708,7 @@ msgstr ""
#: lib/layouts/acmart.layout:3 lib/examples/Articles:0
msgid "Association for Computing Machinery (ACM)"
-msgstr ""
+msgstr "ÐÑоÑиаÑÐ¸Ñ Ð·Ð° изÑиÑлиÑелна ÑеÑ
ника (ACM)"
# src/ext_l10n.h:386
#: lib/layouts/acmart.layout:86 lib/layouts/acmsiggraph-0-92.layout:335
@@ -9815,39 +9720,34 @@ msgstr "ÐлагодаÑноÑÑи"
# src/ext_l10n.h:386
#: lib/layouts/acmart.layout:100
-#, fuzzy
msgid "Thanks: "
-msgstr "ÐлагодаÑноÑÑи:"
+msgstr "ÐлагодаÑноÑÑи: "
# src/frontends/kde/paraextradlg.C:25 src/lyxfont.C:56
#: lib/layouts/acmart.layout:106
-#, fuzzy
msgid "ACM Journal"
-msgstr "ÐоÑмален"
+msgstr "ÐÑÑнал ACM"
# src/lyx_cb.C:675
#: lib/layouts/acmart.layout:109 lib/layouts/apax.inc:341
#: lib/layouts/apax.inc:349 lib/layouts/apax.inc:358 lib/layouts/apax.inc:366
-#, fuzzy
msgid "Preamble"
-msgstr "LaTeX Ñвод"
+msgstr "ÐÑеамбÑл"
#: lib/layouts/acmart.layout:111
msgid "Journal's Short Name: "
-msgstr ""
+msgstr "ÐÑаÑко име на жÑÑнала: "
# src/ext_l10n.h:328 src/frontends/kde/refdlg.C:62
# src/frontends/xforms/FormRef.C:36
#: lib/layouts/acmart.layout:122
-#, fuzzy
msgid "ACM Conference"
-msgstr "ÐÑепÑаÑка"
+msgstr "ÐонÑеÑенÑÐ¸Ñ ACM"
# src/lyx.C:87
#: lib/layouts/acmart.layout:129
-#, fuzzy
msgid "Full name"
-msgstr "ÐаÑамеÑÑи(p)|#p"
+msgstr "ÐÑлно име"
#: lib/layouts/acmart.layout:137
msgid "Venue"
@@ -9856,21 +9756,18 @@ msgstr ""
# src/ext_l10n.h:328 src/frontends/kde/refdlg.C:62
# src/frontends/xforms/FormRef.C:36
#: lib/layouts/acmart.layout:140
-#, fuzzy
msgid "Conference Name: "
-msgstr "ÐÑепÑаÑка"
+msgstr "Ðме на конÑеÑенÑиÑ: "
# src/ext_l10n.h:375
#: lib/layouts/acmart.layout:147
-#, fuzzy
msgid "Short title"
msgstr "Ðодзаглавие"
# src/ext_l10n.h:163
#: lib/layouts/acmart.layout:184
-#, fuzzy
msgid "Email address: "
-msgstr "ÐдÑеÑи"
+msgstr "Ðл. адÑеÑ: "
#: lib/layouts/acmart.layout:198
msgid "ORCID: "
@@ -9878,61 +9775,52 @@ msgstr ""
# src/ext_l10n.h:221
#: lib/layouts/acmart.layout:218
-#, fuzzy
msgid "Affiliation: "
-msgstr "ÐеÑиниÑиÑ"
+msgstr "ÐÑинадлежноÑÑ: "
# src/ext_l10n.h:221
#: lib/layouts/acmart.layout:222
-#, fuzzy
msgid "Additional Affiliation"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "ÐопÑлниÑелна пÑинадлежноÑÑ"
# src/ext_l10n.h:221
#: lib/layouts/acmart.layout:224
-#, fuzzy
msgid "Additional Affiliation: "
-msgstr "ÐеÑиниÑиÑ"
+msgstr "ÐопÑлниÑелна пÑинадлежноÑÑ: "
# src/ext_l10n.h:320
#: lib/layouts/acmart.layout:228 lib/layouts/acmart.layout:232
-#, fuzzy
msgid "Position"
-msgstr "ÐопÑÑкане"
+msgstr "ÐозиÑиÑ"
# src/LyXAction.C:164
#: lib/layouts/acmart.layout:237 lib/layouts/acmart.layout:239
#: lib/layouts/paper.layout:181
-#, fuzzy
msgid "Institution"
-msgstr "ÐмÑкни ÑиÑаÑ"
+msgstr "ÐнÑÑиÑÑÑиÑ"
# src/sp_form.C:86
#: lib/layouts/acmart.layout:244 lib/layouts/acmart.layout:246
-#, fuzzy
msgid "Department"
-msgstr "ÐамеÑÑи"
+msgstr "ÐÑдел"
# src/ext_l10n.h:163
#: lib/layouts/acmart.layout:252 lib/layouts/acmart.layout:254
-#, fuzzy
msgid "Street Address"
-msgstr "ÐдÑеÑи"
+msgstr "ÐдÑÐµÑ Ð½Ð° ÑлиÑа"
# src/lyxfont.C:56
#: lib/layouts/acmart.layout:260 lib/layouts/acmart.layout:262
#: lib/layouts/iucr.layout:77 lib/layouts/iucr.layout:82
-#, fuzzy
msgid "City"
-msgstr "ÐÑебен"
+msgstr "ÐÑад"
# src/frontends/xforms/FormDocument.C:279
# src/frontends/xforms/FormParagraph.C:133
#: lib/layouts/acmart.layout:268 lib/layouts/acmart.layout:270
#: lib/layouts/iucr.layout:99 lib/layouts/iucr.layout:102
-#, fuzzy
msgid "Country"
-msgstr "ÐкÑÑÑи"
+msgstr "ÐблаÑÑ"
# src/ext_l10n.h:362
#: lib/layouts/acmart.layout:276 lib/layouts/acmart.layout:278
@@ -9942,9 +9830,8 @@ msgstr "ÐÑÑжава"
# src/ext_l10n.h:202
#: lib/layouts/acmart.layout:284 lib/layouts/acmart.layout:286
-#, fuzzy
msgid "Postal Code"
-msgstr "ÐоменÑаÑ"
+msgstr "ÐоÑенÑки код"
# src/ext_l10n.h:246
#: lib/layouts/acmart.layout:292
@@ -9966,9 +9853,8 @@ msgstr "подзаглавие"
# src/ext_l10n.h:375
#: lib/layouts/acmart.layout:310
-#, fuzzy
msgid "Subtitle Note: "
-msgstr "подзаглавие"
+msgstr "Ðележка на подзаглавие: "
# src/ext_l10n.h:175
#: lib/layouts/acmart.layout:314 lib/layouts/apax.inc:304
@@ -9985,16 +9871,14 @@ msgstr "Ðележка: "
# src/frontends/kde/dlg/tabcreatedlgdata.C:107
# src/frontends/xforms/form_tabular_create.C:45
#: lib/layouts/acmart.layout:320
-#, fuzzy
msgid "ACM Volume"
-msgstr "Ðолони"
+msgstr "Том ACM"
# src/frontends/kde/dlg/tabcreatedlgdata.C:107
# src/frontends/xforms/form_tabular_create.C:45
#: lib/layouts/acmart.layout:322
-#, fuzzy
msgid "Volume: "
-msgstr "Ðолони"
+msgstr "Том: "
# src/mathed/formula.C:929
#: lib/layouts/acmart.layout:326
@@ -10016,9 +9900,8 @@ msgstr "ÐеÑÑикално ÑазÑÑоÑние"
# src/frontends/xforms/form_paragraph.C:153
#: lib/layouts/acmart.layout:334
-#, fuzzy
msgid "Article: "
-msgstr "ÐеÑÑикално ÑазÑÑоÑние"
+msgstr "СÑаÑиÑ: "
# src/lyx_gui_misc.C:430
#: lib/layouts/acmart.layout:338
@@ -10028,21 +9911,18 @@ msgstr "годена"
# src/lyx_gui_misc.C:430
#: lib/layouts/acmart.layout:340
-#, fuzzy
msgid "Year: "
-msgstr "годена"
+msgstr "Ðодина: "
# src/frontends/xforms/FormPreferences.C:261
#: lib/layouts/acmart.layout:344
-#, fuzzy
msgid "ACM Month"
-msgstr "меÑеÑ"
+msgstr "ÐеÑÐµÑ ACM"
# src/frontends/xforms/FormPreferences.C:261
#: lib/layouts/acmart.layout:346
-#, fuzzy
msgid "Month: "
-msgstr "меÑеÑ"
+msgstr "ÐеÑеÑ: "
#: lib/layouts/acmart.layout:350
msgid "ACM Art Seq Num"
@@ -10050,9 +9930,8 @@ msgstr ""
# src/mathed/formula.C:929
#: lib/layouts/acmart.layout:352
-#, fuzzy
msgid "Article Sequential Number: "
-msgstr "ÐомеÑиÑане"
+msgstr "ÐоÑеден Ð½Ð¾Ð¼ÐµÑ Ð½Ð° ÑÑаÑиÑ: "
#: lib/layouts/acmart.layout:356
msgid "ACM Submission ID"
@@ -10070,7 +9949,7 @@ msgstr ""
#: lib/layouts/acmart.layout:364
msgid "Price: "
-msgstr ""
+msgstr "Цена: "
#: lib/layouts/acmart.layout:368
msgid "ACM ISBN"
@@ -10106,15 +9985,13 @@ msgstr ""
# src/lyx_gui_misc.C:430
#: lib/layouts/acmart.layout:392
-#, fuzzy
msgid "Start Page"
-msgstr "ÐавÑÑÑване на ÑÑÑаниÑа"
+msgstr "ÐаÑална ÑÑÑаниÑа"
# src/frontends/xforms/form_print.C:112
#: lib/layouts/acmart.layout:394
-#, fuzzy
msgid "Start Page: "
-msgstr "СÑÑаниÑи:"
+msgstr "ÐаÑална ÑÑÑаниÑа: "
# src/ext_l10n.h:387
#: lib/layouts/acmart.layout:400
@@ -10124,13 +10001,12 @@ msgstr "ТеоÑема"
# src/ext_l10n.h:263
#: lib/layouts/acmart.layout:406
-#, fuzzy
msgid "Keywords: "
-msgstr "ÐлÑÑови дÑми:"
+msgstr "ÐлÑÑови дÑми: "
#: lib/layouts/acmart.layout:410
msgid "CCSXML"
-msgstr ""
+msgstr "CCSXML"
#: lib/layouts/acmart.layout:421
msgid "Computing Classification Scheme (XML): "
@@ -10138,9 +10014,8 @@ msgstr ""
# src/ext_l10n.h:223
#: lib/layouts/acmart.layout:432
-#, fuzzy
msgid "CCS Description"
-msgstr "ÐпиÑание"
+msgstr "ÐпиÑание CCS"
#: lib/layouts/acmart.layout:435
msgid "Significance"
@@ -10148,33 +10023,28 @@ msgstr ""
# src/ext_l10n.h:367
#: lib/layouts/acmart.layout:437
-#, fuzzy
msgid "Computing Classification Scheme: "
-msgstr "Тема"
+msgstr "ÐзÑиÑлиÑелна клаÑиÑикаÑионна ÑÑ
ема: "
# src/ext_l10n.h:209
#: lib/layouts/acmart.layout:450
-#, fuzzy
msgid "Set Copyright"
msgstr "ÐвÑоÑÑки пÑава"
# src/ext_l10n.h:209
#: lib/layouts/acmart.layout:452
-#, fuzzy
msgid "Set Copyright: "
-msgstr "ÐвÑоÑÑки пÑава"
+msgstr "ÐвÑоÑÑки пÑава: "
# src/ext_l10n.h:209
#: lib/layouts/acmart.layout:456
-#, fuzzy
msgid "Copyright Year"
-msgstr "ÐвÑоÑÑки пÑава"
+msgstr "Ðодина на авÑоÑÑки пÑава"
# src/ext_l10n.h:209
#: lib/layouts/acmart.layout:458
-#, fuzzy
msgid "Copyright Year: "
-msgstr "ÐвÑоÑÑки пÑава"
+msgstr "Ðодина за авÑоÑÑки пÑава: "
# src/lyx_gui_misc.C:430
#: lib/layouts/acmart.layout:462 lib/layouts/acmart.layout:465
@@ -10196,9 +10066,8 @@ msgstr ""
# src/ext_l10n.h:327
#: lib/layouts/acmart.layout:477
-#, fuzzy
msgid "Received: "
-msgstr "ÐолÑÑен"
+msgstr "ÐолÑÑен: "
# src/ext_l10n.h:375
#: lib/layouts/acmart.layout:485
@@ -10228,9 +10097,9 @@ msgid "Margin figure (sigchi-a only)"
msgstr "Ñамо Ð³Ð»Ð°Ð²Ð½Ð¸Ñ Ñайл"
# src/ext_l10n.h:244
-#: lib/layouts/acmart.layout:526 lib/layouts/beamer.layout:1724
+#: lib/layouts/acmart.layout:526 lib/layouts/beamer.layout:1728
#: lib/layouts/powerdot.layout:577 lib/layouts/sciposter.layout:109
-#: lib/layouts/stdfloats.inc:33 lib/layouts/tufte-book.layout:286
+#: lib/layouts/stdfloats.inc:33 lib/layouts/tufte-book.layout:292
msgid "List of Figures"
msgstr "СпиÑÑк на изобÑажениÑÑа"
@@ -10241,9 +10110,9 @@ msgstr ""
# src/frontends/gnome/FormToc.C:108 src/frontends/gnome/FormToc.C:185
# src/frontends/kde/FormToc.C:177 src/frontends/kde/FormToc.C:178
# src/frontends/kde/tocdlg.C:30 src/insets/insettoc.C:28
-#: lib/layouts/acmart.layout:539 lib/layouts/beamer.layout:1711
+#: lib/layouts/acmart.layout:539 lib/layouts/beamer.layout:1715
#: lib/layouts/powerdot.layout:560 lib/layouts/sciposter.layout:123
-#: lib/layouts/stdfloats.inc:18 lib/layouts/tufte-book.layout:270
+#: lib/layouts/stdfloats.inc:18 lib/layouts/tufte-book.layout:276
msgid "List of Tables"
msgstr "СпиÑÑк на ÑаблиÑиÑе"
@@ -10256,7 +10125,7 @@ msgid "Definitions & Theorems"
msgstr "ÐпÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸ ÑеоÑеми"
# src/frontends/xforms/form_preferences.C:926
-#: lib/layouts/acmart.layout:562 lib/layouts/beamer.layout:1322
+#: lib/layouts/acmart.layout:562 lib/layouts/beamer.layout:1324
#: lib/layouts/theorems-ams-bytype.inc:40
#: lib/layouts/theorems-ams-chap-bytype.inc:82 lib/layouts/theorems-ams.inc:37
#: lib/layouts/theorems-bytype.inc:35 lib/layouts/theorems-named.module:22
@@ -10264,7 +10133,7 @@ msgstr "ÐпÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸ ÑеоÑеми"
msgid "Additional Theorem Text"
msgstr "ÐопÑлниÑелен ÑекÑÑ Ð½Ð° ÑеоÑема"
-#: lib/layouts/acmart.layout:563 lib/layouts/beamer.layout:1323
+#: lib/layouts/acmart.layout:563 lib/layouts/beamer.layout:1325
#: lib/layouts/theorems-ams-bytype.inc:41
#: lib/layouts/theorems-ams-chap-bytype.inc:83 lib/layouts/theorems-ams.inc:38
#: lib/layouts/theorems-bytype.inc:36 lib/layouts/theorems-named.module:23
@@ -10279,43 +10148,43 @@ msgstr "ÐопÑлниÑелен ÑекÑÑ Ð´Ð¾Ð±Ð°Ð²ÐµÐ½ кÑм заглавн
#: lib/layouts/theorems-bytype.inc:49
#: lib/layouts/theorems-without-preamble.inc:62 lib/layouts/theorems.inc:52
msgid "Theorem \\thetheorem."
-msgstr "ТеоÑема \\thetheorem."
+msgstr "ТеоÑема â\\thetheoremâ"
# src/ext_l10n.h:320
#: lib/layouts/acmart.layout:591 lib/layouts/theorems-ams.inc:81
#: lib/layouts/theorems.inc:81
msgid "Corollary \\thetheorem."
-msgstr "СледÑÑвие \\thetheorem."
+msgstr "СледÑÑвие â\\thetheoremâ"
#: lib/layouts/acmart.layout:598 lib/layouts/theorems-ams.inc:101
#: lib/layouts/theorems.inc:101
msgid "Lemma \\thetheorem."
-msgstr "Ðема \\thetheorem."
+msgstr "Ðема â\\thetheoremâ"
# src/ext_l10n.h:320
#: lib/layouts/acmart.layout:605 lib/layouts/theorems-ams.inc:121
#: lib/layouts/theorems.inc:121
msgid "Proposition \\thetheorem."
-msgstr "ТвÑÑдение \\thetheorem."
+msgstr "ТвÑÑдение â\\thetheoremâ"
# src/ext_l10n.h:291 src/insets/insetinfo.C:77 src/insets/insetinfo.C:102
# src/insets/insetinfo.C:231
#: lib/layouts/acmart.layout:612 lib/layouts/theorems-ams.inc:141
#: lib/layouts/theorems.inc:141
msgid "Conjecture \\thetheorem."
-msgstr "ÐÑедположение \\thetheorem."
+msgstr "ÐÑедположение â\\thetheoremâ"
# src/ext_l10n.h:221
#: lib/layouts/acmart.layout:619 lib/layouts/theorems-ams.inc:181
#: lib/layouts/theorems.inc:181
msgid "Definition \\thetheorem."
-msgstr "ÐпÑеделение \\thetheorem."
+msgstr "ÐпÑеделение â\\thetheoremâ"
# src/ext_l10n.h:232
#: lib/layouts/acmart.layout:632 lib/layouts/theorems-ams.inc:207
#: lib/layouts/theorems.inc:207
msgid "Example \\thetheorem."
-msgstr "ÐÑÐ¸Ð¼ÐµÑ \\thetheorem."
+msgstr "ÐÑÐ¸Ð¼ÐµÑ â\\thetheoremâ"
#: lib/layouts/acmart.layout:635
#, fuzzy
@@ -10361,21 +10230,20 @@ msgstr ""
#: lib/layouts/sigplanconf.layout:242 lib/layouts/spie.layout:100
#: lib/examples/Articles:0
msgid "Acknowledgments"
-msgstr ""
+msgstr "ÐлагодаÑноÑÑи"
#: lib/layouts/acmart.layout:675 lib/layouts/acmart.layout:679
msgid "Grant Sponsor"
-msgstr ""
+msgstr "СпонÑÐ¾Ñ Ð½Ð° гÑанÑ"
#: lib/layouts/acmart.layout:683 lib/layouts/acmart.layout:719
msgid "Sponsor ID"
-msgstr ""
+msgstr "СпонÑÐ¾Ñ ÐÐ"
# src/frontends/kde/refdlg.C:63
#: lib/layouts/acmart.layout:704 lib/layouts/acmart.layout:708
-#, fuzzy
msgid "Grant Number"
-msgstr "ÐÐ¾Ð¼ÐµÑ Ð½Ð° ÑÑÑаниÑа"
+msgstr "ÐÐ¾Ð¼ÐµÑ Ð½Ð° гÑанÑ"
#: lib/layouts/acmsiggraph-0-92.layout:3 lib/examples/Articles:0
msgid "ACM SIGGGRAPH 0.92 (obsolete)"
@@ -10411,73 +10279,63 @@ msgstr "ÐомеÑиÑане"
# src/mathed/formula.C:929
#: lib/layouts/acmsiggraph-0-92.layout:103 lib/layouts/acmsiggraph.layout:95
-#, fuzzy
msgid "Article number:"
-msgstr "ÐомеÑиÑане"
+msgstr "ÐÐ¾Ð¼ÐµÑ Ð½Ð° ÑÑаÑиÑ: "
# src/ext_l10n.h:209
#: lib/layouts/acmsiggraph-0-92.layout:107
-#, fuzzy
msgid "Set copyright"
msgstr "ÐвÑоÑÑки пÑава"
# src/ext_l10n.h:209
#: lib/layouts/acmsiggraph-0-92.layout:110
-#, fuzzy
msgid "Copyright type:"
-msgstr "ÐвÑоÑÑки пÑава"
+msgstr "Ðид авÑоÑÑко пÑаво:"
# src/ext_l10n.h:209
#: lib/layouts/acmsiggraph-0-92.layout:114
-#, fuzzy
msgid "Copyright year"
-msgstr "ÐвÑоÑÑки пÑава"
+msgstr "Ðодина на авÑоÑÑко пÑаво"
# src/ext_l10n.h:209
#: lib/layouts/acmsiggraph-0-92.layout:117
-#, fuzzy
msgid "Year of copyright:"
-msgstr "ÐвÑоÑÑки пÑава"
+msgstr "Ðодина на авÑоÑÑко пÑаво:"
# src/ext_l10n.h:328 src/frontends/kde/refdlg.C:62
# src/frontends/xforms/FormRef.C:36
#: lib/layouts/acmsiggraph-0-92.layout:125
-#, fuzzy
msgid "Conference info"
-msgstr "ÐÑепÑаÑка"
+msgstr "ÐнÑоÑмаÑÐ¸Ñ Ð·Ð° конÑеÑенÑиÑ"
# src/frontends/kde/refdlg.C:51
#: lib/layouts/acmsiggraph-0-92.layout:128
-#, fuzzy
msgid "Conference info:"
-msgstr "ÐÑепÑаÑка :"
+msgstr "ÐнÑоÑмаÑÐ¸Ñ Ð·Ð° конÑеÑенÑиÑ:"
# src/ext_l10n.h:328 src/frontends/kde/refdlg.C:62
# src/frontends/xforms/FormRef.C:36
#: lib/layouts/acmsiggraph-0-92.layout:132
-#, fuzzy
msgid "Conference name"
-msgstr "ÐÑепÑаÑка"
+msgstr "Ðме на конÑеÑенÑиÑ"
#: lib/layouts/acmsiggraph-0-92.layout:137
msgid "ISBN"
-msgstr ""
+msgstr "ISBN"
#: lib/layouts/acmsiggraph-0-92.layout:140
msgid "ISBN:"
-msgstr ""
+msgstr "ISBN:"
#: lib/layouts/acmsiggraph-0-92.layout:144 lib/layouts/sigplanconf.layout:127
-#, fuzzy
msgid "DOI"
-msgstr "DIA"
+msgstr "DOI"
# src/frontends/xforms/form_paragraph.C:153
#: lib/layouts/acmsiggraph-0-92.layout:147
#: lib/layouts/acmsiggraph-0-92.layout:154 lib/layouts/acmsiggraph.layout:102
-#, fuzzy
msgid "Article DOI:"
-msgstr "ÐеÑÑикално ÑазÑÑоÑние"
+msgstr "СÑаÑÐ¸Ñ DOI:"
#: lib/layouts/acmsiggraph-0-92.layout:151 lib/layouts/acmsiggraph.layout:99
msgid "TOG article DOI"
@@ -10496,9 +10354,8 @@ msgstr "PDF авÑоÑ:"
# src/ext_l10n.h:263
#: lib/layouts/acmsiggraph-0-92.layout:198
#: lib/layouts/acmsiggraph-0-92.layout:203
-#, fuzzy
msgid "Keyword list"
-msgstr "ÐлÑÑови дÑма"
+msgstr "СпиÑÑк Ñ ÐºÐ»ÑÑови дÑми"
# src/LColor.C:75
#: lib/layouts/acmsiggraph-0-92.layout:207
@@ -10566,17 +10423,16 @@ msgstr "ÐÑой ÐºÐ¾Ð¿Ð¸Ñ Ð·Ð° пеÑаÑ"
#: lib/layouts/acmsiggraph-0-92.layout:313
#: lib/layouts/acmsiggraph-0-92.layout:314 lib/layouts/acmsiggraph.layout:269
#: lib/layouts/acmsiggraph.layout:270
-#, fuzzy
msgid "Subcategory"
-msgstr "Ðаглавие"
+msgstr "ÐодкаÑегоÑиÑ"
#: lib/layouts/acmsiggraph-0-92.layout:319 lib/layouts/acmsiggraph.layout:275
msgid "Third-level"
-msgstr ""
+msgstr "ТÑеÑо ниво"
#: lib/layouts/acmsiggraph-0-92.layout:320 lib/layouts/acmsiggraph.layout:276
msgid "Third-level of the category"
-msgstr ""
+msgstr "ТÑеÑо ниво на каÑегоÑиÑ"
# src/ext_l10n.h:375
#: lib/layouts/acmsiggraph-0-92.layout:326 lib/layouts/acmsiggraph.layout:282
@@ -10593,9 +10449,8 @@ msgstr "Ðодзаглавие"
# src/layout_forms.C:23
#: lib/layouts/acmsiggraph-0-92.layout:339 lib/layouts/acmsiggraph.layout:295
#: lib/layouts/jss.layout:183 lib/layouts/jss.layout:185
-#, fuzzy
msgid "E-mail"
-msgstr "СемейÑÑво(F):|#F"
+msgstr "Ðл. поÑа"
#: lib/layouts/acmsiggraph.layout:3
msgid "ACM SIGGRAPH (older than 0.91, obsolete)"
@@ -10607,7 +10462,7 @@ msgstr ""
#: lib/layouts/acmsiggraph.layout:110
msgid "Project URL:"
-msgstr ""
+msgstr "URL на пÑоекÑа:"
#: lib/layouts/acmsiggraph.layout:114
msgid "TOG video URL"
@@ -10615,9 +10470,8 @@ msgstr ""
# src/LyXAction.C:261
#: lib/layouts/acmsiggraph.layout:117
-#, fuzzy
msgid "Video URL:"
-msgstr "ÐмÑкни еÑикеÑ"
+msgstr "Ðидео URL:"
#: lib/layouts/acmsiggraph.layout:121
msgid "TOG data URL"
@@ -10642,11 +10496,11 @@ msgstr "ÐмÑкни еÑикеÑ"
#: lib/layouts/agums.layout:3
msgid "American Geophysical Union (AGUPLUS Manuscript)"
-msgstr ""
+msgstr "ÐмеÑиканÑки геоÑизиÑен ÑÑÑз (ÑÑÐºÐ¾Ð¿Ð¸Ñ AGUPLUS)"
# src/ext_l10n.h:345
#: lib/layouts/aguplus.inc:37 lib/layouts/amsart.layout:77
-#: lib/layouts/amsbook.layout:86 lib/layouts/beamer.layout:332
+#: lib/layouts/amsbook.layout:86 lib/layouts/beamer.layout:334
#: lib/layouts/egs.layout:676 lib/layouts/isprs.layout:192
#: lib/layouts/spie.layout:32 lib/layouts/stdstarsections.inc:43
#: lib/layouts/svcommon.inc:278
@@ -10655,7 +10509,7 @@ msgstr "Раздел*"
# src/ext_l10n.h:372
#: lib/layouts/aguplus.inc:52 lib/layouts/amsart.layout:119
-#: lib/layouts/amsbook.layout:95 lib/layouts/beamer.layout:394
+#: lib/layouts/amsbook.layout:95 lib/layouts/beamer.layout:396
#: lib/layouts/egs.layout:696 lib/layouts/isprs.layout:203
#: lib/layouts/stdstarsections.inc:58 lib/layouts/svcommon.inc:286
msgid "Subsection*"
@@ -10684,30 +10538,26 @@ msgstr "ÐбзаÑ*"
# src/ext_l10n.h:270
#: lib/layouts/aguplus.inc:80 lib/layouts/customHeadersFooters.module:12
#: lib/layouts/foils.layout:215 lib/layouts/simplecv.layout:143
-#, fuzzy
msgid "Left Header"
-msgstr "Ðаглавие"
+msgstr "ÐÐ°Ð´Ð¿Ð¸Ñ Ð³Ð¾Ñе влÑво"
# src/ext_l10n.h:270
#: lib/layouts/aguplus.inc:93 lib/layouts/customHeadersFooters.module:19
#: lib/layouts/foils.layout:219
-#, fuzzy
msgid "Left Header:"
-msgstr "Ðаглавие"
+msgstr "ÐаÑÐ¿Ð¸Ñ Ð³Ð¾Ñе влÑво:"
# src/ext_l10n.h:337
#: lib/layouts/aguplus.inc:103 lib/layouts/customHeadersFooters.module:40
#: lib/layouts/foils.layout:223 lib/layouts/simplecv.layout:162
-#, fuzzy
msgid "Right Header"
-msgstr "Ðаглавие"
+msgstr "ÐÐ°Ð´Ð¿Ð¸Ñ Ð³Ð¾Ñе вдÑÑно"
# src/ext_l10n.h:337
#: lib/layouts/aguplus.inc:107 lib/layouts/customHeadersFooters.module:43
#: lib/layouts/foils.layout:227
-#, fuzzy
msgid "Right Header:"
-msgstr "Ðаглавие"
+msgstr "ÐÐ°Ð´Ð¿Ð¸Ñ Ð³Ð¾Ñе вдÑÑно:"
# src/ext_l10n.h:327
#: lib/layouts/aguplus.inc:115 lib/layouts/copernicus.layout:176
@@ -10815,7 +10665,7 @@ msgid "Planotable"
msgstr "ТаблиÑа"
# src/frontends/xforms/FormTabular.C:133
-#: lib/layouts/aguplus.inc:211 lib/layouts/beamer.layout:1706
+#: lib/layouts/aguplus.inc:211 lib/layouts/beamer.layout:1710
#: lib/layouts/powerdot.layout:553 lib/layouts/powerdot.layout:631
#: lib/layouts/sciposter.layout:118 lib/layouts/stdfloats.inc:13
#: lib/ui/stdtoolbars.inc:153 src/insets/Inset.cpp:104
@@ -10835,7 +10685,7 @@ msgstr "ТаблиÑа"
#: lib/layouts/agutex.layout:3 lib/examples/Articles:0
msgid "American Geophysical Union (AGUTeX)"
-msgstr ""
+msgstr "ÐмеÑиканÑки геоÑизиÑен ÑÑÑз (AGUTeX)"
# src/ext_l10n.h:175
#: lib/layouts/agutex.layout:77
@@ -10845,9 +10695,8 @@ msgstr "ÐвÑоÑи"
# src/ext_l10n.h:221
#: lib/layouts/agutex.layout:100 lib/layouts/agutex.layout:104
#: lib/layouts/copernicus.layout:92
-#, fuzzy
msgid "Affiliation Mark"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "Ðнак за пÑинадлежноÑÑ"
#: lib/layouts/agutex.layout:133
msgid "Consecutive number for the author affiliations"
@@ -10855,29 +10704,25 @@ msgstr ""
# src/ext_l10n.h:221
#: lib/layouts/agutex.layout:138
-#, fuzzy
msgid "Author affiliation:"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "ÐÑинадлежноÑÑ Ð½Ð° авÑоÑа:"
# src/ext_l10n.h:202
#: lib/layouts/agutex.layout:205
-#, fuzzy
msgid "Acknowledgments."
-msgstr "complement"
+msgstr "ÐлагодаÑноÑÑи."
# src/ext_l10n.h:169
#: lib/layouts/algorithm2e.module:2
-#, fuzzy
msgid "Algorithm2e Float"
-msgstr "AлгоÑиÑÑм"
+msgstr "ÐÐ»Ð°Ð²Ð°Ñ Ð¾Ð±ÐµÐºÑ ÐлгоÑиÑÑм2е"
# src/form1.C:129 src/sp_form.C:58
#: lib/layouts/algorithm2e.module:3 lib/layouts/bicaption.module:3
#: lib/layouts/figs-within-sections.module:3
#: lib/layouts/tabs-within-sections.module:3
-#, fuzzy
msgid "Floats & Captions"
-msgstr "ÐпÑии на клаÑа"
+msgstr "ÐлаваÑи обекÑи и надпиÑи"
#: lib/layouts/algorithm2e.module:8
msgid ""
@@ -10894,27 +10739,24 @@ msgstr "СпиÑÑк на алгоÑиÑмиÑе"
#: lib/layouts/amsart.layout:3 lib/layouts/amsbook.layout:3
#: lib/examples/Articles:0
-#, fuzzy
msgid "American Mathematical Society (AMS)"
-msgstr "Ðнига на ÐмеÑиканÑко маÑемаÑиÑеÑко обÑеÑÑво (AMS)"
+msgstr "ÐмеÑиканÑко маÑемаÑиÑеÑко обÑеÑÑво (AMS)"
# src/LColor.C:64
#: lib/layouts/amsart.layout:87
-#, fuzzy
msgid "SpecialSection"
-msgstr "избоÑ"
+msgstr "СпеÑиален Ñаздел"
# src/LColor.C:64
#: lib/layouts/amsart.layout:96
-#, fuzzy
msgid "SpecialSection*"
-msgstr "избоÑ"
+msgstr "СпеÑиален Ñаздел*"
# src/mathed/formula.C:929
# Ð¿Ð°Ð´Ð°Ñ ÑпиÑÑк на конÑекÑÑа
-#: lib/layouts/amsart.layout:98 lib/layouts/beamer.layout:334
-#: lib/layouts/beamer.layout:396 lib/layouts/beamer.layout:458
-#: lib/layouts/memoir.layout:248 lib/layouts/stdinsets.inc:712
+#: lib/layouts/amsart.layout:98 lib/layouts/beamer.layout:336
+#: lib/layouts/beamer.layout:398 lib/layouts/beamer.layout:460
+#: lib/layouts/memoir.layout:248 lib/layouts/stdinsets.inc:713
#: lib/layouts/stdstarsections.inc:15 lib/layouts/stdstarsections.inc:30
#: lib/layouts/stdstarsections.inc:45 lib/layouts/stdstarsections.inc:60
#: lib/layouts/stdstarsections.inc:75 lib/layouts/stdstarsections.inc:90
@@ -10924,7 +10766,7 @@ msgstr "без номеÑа"
# src/ext_l10n.h:374
#: lib/layouts/amsart.layout:140 lib/layouts/amsbook.layout:103
-#: lib/layouts/beamer.layout:456 lib/layouts/isprs.layout:212
+#: lib/layouts/beamer.layout:458 lib/layouts/isprs.layout:212
#: lib/layouts/stdstarsections.inc:73 lib/layouts/svcommon.inc:294
msgid "Subsubsection*"
msgstr "ÐодподÑаздел*"
@@ -10952,8 +10794,8 @@ msgstr "Ðлава за пÑимиÑи"
#: lib/layouts/amsbook.layout:166 lib/layouts/apa.layout:412
#: lib/layouts/apa.layout:450 lib/layouts/apa.layout:486
#: lib/layouts/apax.inc:512 lib/layouts/apax.inc:550 lib/layouts/apax.inc:586
-#: lib/layouts/beamer.layout:107 lib/layouts/beamer.layout:160
-#: lib/layouts/beamer.layout:203 lib/layouts/beamer.layout:788
+#: lib/layouts/beamer.layout:109 lib/layouts/beamer.layout:162
+#: lib/layouts/beamer.layout:205 lib/layouts/beamer.layout:790
#: lib/layouts/egs.layout:154 lib/layouts/egs.layout:188
#: lib/layouts/egs.layout:224 lib/layouts/egs.layout:259
#: lib/layouts/europasscv.layout:405 lib/layouts/foils.layout:105
@@ -10972,8 +10814,8 @@ msgstr "заглавна ÑаÑÑ Ð½Ð° ÑпиÑÑк"
#: lib/layouts/amsbook.layout:167 lib/layouts/apa.layout:413
#: lib/layouts/apa.layout:451 lib/layouts/apa.layout:487
#: lib/layouts/apax.inc:513 lib/layouts/apax.inc:551 lib/layouts/apax.inc:587
-#: lib/layouts/beamer.layout:108 lib/layouts/beamer.layout:161
-#: lib/layouts/beamer.layout:204 lib/layouts/beamer.layout:789
+#: lib/layouts/beamer.layout:110 lib/layouts/beamer.layout:163
+#: lib/layouts/beamer.layout:206 lib/layouts/beamer.layout:791
#: lib/layouts/egs.layout:155 lib/layouts/egs.layout:189
#: lib/layouts/egs.layout:225 lib/layouts/egs.layout:260
#: lib/layouts/europasscv.layout:406 lib/layouts/foils.layout:106
@@ -10991,8 +10833,8 @@ msgstr "Ðаглавна ÑаÑÑ Ð½Ð° ÑпиÑÑк (LaTeX код)"
#: lib/layouts/amsbook.layout:168 lib/layouts/apa.layout:414
#: lib/layouts/apa.layout:452 lib/layouts/apa.layout:488
#: lib/layouts/apax.inc:514 lib/layouts/apax.inc:552 lib/layouts/apax.inc:588
-#: lib/layouts/beamer.layout:109 lib/layouts/beamer.layout:162
-#: lib/layouts/beamer.layout:205 lib/layouts/beamer.layout:790
+#: lib/layouts/beamer.layout:111 lib/layouts/beamer.layout:164
+#: lib/layouts/beamer.layout:207 lib/layouts/beamer.layout:792
#: lib/layouts/egs.layout:156 lib/layouts/egs.layout:190
#: lib/layouts/egs.layout:226 lib/layouts/egs.layout:261
#: lib/layouts/europasscv.layout:407 lib/layouts/foils.layout:107
@@ -11042,13 +10884,12 @@ msgstr "ТекÑÑ Ð°Ð´ÑеÑ"
# src/ext_l10n.h:163
#: lib/layouts/amsdefs.inc:169
msgid "Current address:"
-msgstr "ТекÑÑ Ð°Ð´ÑеÑи:"
+msgstr "ТекÑÑ Ð°Ð´ÑеÑ:"
# src/ext_l10n.h:163
#: lib/layouts/amsdefs.inc:181
-#, fuzzy
msgid "E-mail address:"
-msgstr "ÐдÑеÑи"
+msgstr "ÐдÑÐµÑ ÐµÐ». поÑа:"
# src/ext_l10n.h:406 src/frontends/gnome/FormUrl.C:117
# src/frontends/kde/urldlg.C:62 src/frontends/kde/urldlg.C:63
@@ -11059,15 +10900,13 @@ msgstr "URL:"
# src/ext_l10n.h:263
#: lib/layouts/amsdefs.inc:206
-#, fuzzy
msgid "Key words and phrases:"
-msgstr "ÐлÑÑови дÑма"
+msgstr "ÐлÑÑови дÑми и ÑÑази:"
# src/ext_l10n.h:386
#: lib/layouts/amsdefs.inc:218 lib/layouts/revtex4.layout:216
-#, fuzzy
msgid "Thanks:"
-msgstr "ÐлагодаÑÑ"
+msgstr "ÐлагодаÑноÑÑи:"
# src/ext_l10n.h:220
#: lib/layouts/amsdefs.inc:227
@@ -11077,9 +10916,8 @@ msgstr "РеÑник"
# src/ext_l10n.h:219
#: lib/layouts/amsdefs.inc:230 lib/layouts/svglobal.layout:132
#: lib/layouts/svjog.layout:136 lib/layouts/svprobth.layout:165
-#, fuzzy
msgid "Dedication:"
-msgstr "ÐоÑвеÑение"
+msgstr "ÐоÑвеÑение:"
# src/ext_l10n.h:403
#: lib/layouts/amsdefs.inc:238
@@ -11088,9 +10926,8 @@ msgstr "ÐÑеводаÑ"
# src/ext_l10n.h:403
#: lib/layouts/amsdefs.inc:241
-#, fuzzy
msgid "Translator:"
-msgstr "ÐÑеводаÑ"
+msgstr "ÐÑеводаÑ:"
# src/ext_l10n.h:367
#: lib/layouts/amsdefs.inc:251 lib/layouts/siamltex.layout:332
@@ -11104,19 +10941,17 @@ msgstr ""
#: lib/layouts/apa.layout:3 lib/examples/Articles:0
msgid "American Psychological Association (APA)"
-msgstr ""
+msgstr "ÐмеÑиканÑка пÑиÑ
ологиÑеÑка аÑоÑиаÑÐ¸Ñ (APA)"
# src/ext_l10n.h:337
#: lib/layouts/apa.layout:58
-#, fuzzy
msgid "RightHeader"
-msgstr "Ðаглавие"
+msgstr "Ðаглавие вдÑÑно"
# src/ext_l10n.h:337
#: lib/layouts/apa.layout:67
-#, fuzzy
msgid "Right header:"
-msgstr "Ðаглавие"
+msgstr "Ðаглавие вдÑÑно:"
#: lib/layouts/apa.layout:95 lib/layouts/apax.inc:263
#: lib/layouts/maa-monthly.layout:43
@@ -11125,82 +10960,73 @@ msgstr "РезÑме:"
# src/ext_l10n.h:375
#: lib/layouts/apa.layout:118 lib/layouts/apax.inc:63
-#, fuzzy
msgid "Short title:"
-msgstr "Ðодзаглавие"
+msgstr "ÐÑаÑко заглавие:"
# src/ext_l10n.h:175
#: lib/layouts/apa.layout:160 lib/layouts/apax.inc:101
-#, fuzzy
msgid "TwoAuthors"
-msgstr "ÐвÑоÑ"
+msgstr "Ðвама авÑоÑи"
# src/ext_l10n.h:175
#: lib/layouts/apa.layout:168 lib/layouts/apax.inc:109
-#, fuzzy
msgid "ThreeAuthors"
-msgstr "ÐвÑоÑ"
+msgstr "ТÑима авÑоÑи"
# src/ext_l10n.h:175
#: lib/layouts/apa.layout:176 lib/layouts/apax.inc:117
-#, fuzzy
msgid "FourAuthors"
-msgstr "ÐвÑоÑ"
+msgstr "ЧеÑиÑима авÑоÑи"
# src/ext_l10n.h:221
#: lib/layouts/apa.layout:212 lib/layouts/apax.inc:191
-#, fuzzy
msgid "TwoAffiliations"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "Ðве пÑинадлежноÑÑи"
# src/ext_l10n.h:221
#: lib/layouts/apa.layout:220 lib/layouts/apax.inc:198
-#, fuzzy
msgid "ThreeAffiliations"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "ТÑи пÑинадлежноÑÑи"
# src/ext_l10n.h:221
#: lib/layouts/apa.layout:228 lib/layouts/apax.inc:205
-#, fuzzy
msgid "FourAffiliations"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "ЧеÑиÑи пÑинадлежноÑÑи"
#: lib/layouts/apa.layout:256 lib/layouts/iucr.layout:254
msgid "Acknowledgements:"
-msgstr "ÐÑизнаÑелноÑÑ:"
+msgstr "ÐлагодаÑноÑÑи:"
#: lib/layouts/apa.layout:273 lib/layouts/apax.inc:372
msgid "ThickLine"
-msgstr ""
+msgstr "Ðебела линиÑ"
# src/frontends/kde/dlg/parageneraldlgdata.C:107
#: lib/layouts/apa.layout:284 lib/layouts/apax.inc:383
-#, fuzzy
msgid "Centered"
-msgstr "ЦенÑÑинан"
+msgstr "ÑенÑÑинан"
# src/ext_l10n.h:361
#: lib/layouts/apa.layout:285 lib/layouts/apax.inc:384
-#: lib/layouts/stdinsets.inc:688 src/insets/InsetCaption.cpp:440
-#, fuzzy
+#: lib/layouts/stdinsets.inc:689 src/insets/InsetCaption.cpp:436
msgid "standard"
-msgstr "СÑандаÑÑен"
+msgstr "ÑÑандаÑÑен"
# src/frontends/xforms/FormPreferences.C:1278
#: lib/layouts/apa.layout:292 lib/layouts/apax.inc:391
#: lib/layouts/scrclass.inc:325 lib/layouts/scrclass.inc:350
-#: lib/layouts/stdinsets.inc:695
+#: lib/layouts/stdinsets.inc:696
msgid "The caption as it appears in the list of figures/tables"
msgstr "ÐадпиÑа койÑо Ñе Ñе поÑви в ÑиÑÑка Ñ Ð¸Ð·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¸/или ÑаблиÑи."
# src/ext_l10n.h:244
#: lib/layouts/apa.layout:307 lib/layouts/apax.inc:406
msgid "FitFigure"
-msgstr "ФигÑÑа"
+msgstr "ÐапаÑване на ÑигÑÑа"
#: lib/layouts/apa.layout:313 lib/layouts/apax.inc:412
msgid "FitBitmap"
-msgstr ""
+msgstr "ÐапаÑване на ÑаÑÑеÑ"
# src/ext_l10n.h:369
#: lib/layouts/apa.layout:380 lib/layouts/apax.inc:479
@@ -11215,30 +11041,28 @@ msgstr "ÐодабзаÑ"
# src/ext_l10n.h:215
#: lib/layouts/apa.layout:408 lib/layouts/apa.layout:446
#: lib/layouts/apax.inc:508 lib/layouts/apax.inc:546
-#: lib/layouts/beamer.layout:95 lib/layouts/beamer.layout:148
+#: lib/layouts/beamer.layout:97 lib/layouts/beamer.layout:150
#: lib/layouts/egs.layout:184 lib/layouts/egs.layout:220
#: lib/layouts/europasscv.layout:428 lib/layouts/powerdot.layout:299
#: lib/layouts/powerdot.layout:364 lib/layouts/stdlists.inc:33
#: lib/layouts/stdlists.inc:75 lib/layouts/theorems-case.inc:66
-#, fuzzy
msgid "Custom Item|s"
-msgstr "ÐлиенÑ"
+msgstr "ÐÐ»ÐµÐ¼ÐµÐ½Ñ Ð¾Ñ Ð¿Ð¾ÑÑебиÑелÑ|Ð"
#: lib/layouts/apa.layout:409 lib/layouts/apa.layout:447
#: lib/layouts/apax.inc:509 lib/layouts/apax.inc:547
-#: lib/layouts/beamer.layout:96 lib/layouts/beamer.layout:149
+#: lib/layouts/beamer.layout:98 lib/layouts/beamer.layout:151
#: lib/layouts/egs.layout:185 lib/layouts/egs.layout:221
#: lib/layouts/europasscv.layout:429 lib/layouts/powerdot.layout:300
#: lib/layouts/powerdot.layout:365 lib/layouts/stdlists.inc:34
#: lib/layouts/stdlists.inc:76 lib/layouts/theorems-case.inc:67
msgid "A customized item string"
-msgstr ""
+msgstr "ТекÑÑов ÐµÐ»ÐµÐ¼ÐµÐ½Ñ Ð¾Ñ Ð¿Ð¾ÑÑебиÑела"
# src/ext_l10n.h:458
#: lib/layouts/apa.layout:465 lib/layouts/apax.inc:565
-#, fuzzy
msgid "Seriate"
-msgstr "СÑÑбÑки"
+msgstr "ÐаÑеждам"
#: lib/layouts/apa.layout:482 lib/layouts/apa.layout:483
#: lib/layouts/apax.inc:582 lib/layouts/apax.inc:583
@@ -11248,24 +11072,21 @@ msgstr "(\\alph{enumii})"
#: lib/layouts/apa6.layout:3 lib/examples/Articles:0
msgid "American Psychological Association (APA), v. 6"
-msgstr ""
+msgstr "ÐмеÑиканÑка пÑиÑ
ологиÑеÑка аÑоÑиаÑÐ¸Ñ (APA), веÑ. 6"
#: lib/layouts/apa7.layout:3 lib/examples/Articles:0
-#, fuzzy
msgid "American Psychological Association (APA), v. 7"
-msgstr "Ðнига на ÐмеÑиканÑко маÑемаÑиÑеÑко обÑеÑÑво (AMS)"
+msgstr "ÐмеÑиканÑка пÑиÑ
ологиÑеÑка аÑоÑиаÑÐ¸Ñ (APA), веÑ. 7"
# src/ext_l10n.h:175
#: lib/layouts/apax.inc:124
-#, fuzzy
msgid "FiveAuthors"
-msgstr "ÐвÑоÑ"
+msgstr "ÐÐµÑ Ð°Ð²ÑоÑи"
# src/ext_l10n.h:175
#: lib/layouts/apax.inc:131
-#, fuzzy
msgid "SixAuthors"
-msgstr "ÐвÑоÑ"
+msgstr "ШеÑÑ Ð°Ð²ÑоÑи"
# src/ext_l10n.h:270
#: lib/layouts/apax.inc:138
@@ -11293,7 +11114,7 @@ msgstr "ÐеÑиниÑиÑ"
# src/ext_l10n.h:291 src/insets/insetinfo.C:77 src/insets/insetinfo.C:102
# src/insets/insetinfo.C:231
-#: lib/layouts/apax.inc:227 lib/layouts/beamer.layout:1653
+#: lib/layouts/apax.inc:227 lib/layouts/beamer.layout:1657
#: lib/layouts/elsart.layout:470 lib/layouts/fixme.module:108
#: lib/layouts/iopart.layout:106 lib/layouts/llncs.layout:394
#: lib/layouts/powerdot.layout:215 lib/layouts/slides.layout:170
@@ -11328,9 +11149,8 @@ msgstr "бележка на авÑоÑа:"
# src/frontends/kde/paraextradlg.C:25 src/lyxfont.C:56
#: lib/layouts/apax.inc:340 lib/layouts/egs.layout:416
-#, fuzzy
msgid "Journal"
-msgstr "ÐоÑмален"
+msgstr "ÐÑÑнал"
# src/frontends/kde/dlg/tabcreatedlgdata.C:107
# src/frontends/xforms/form_tabular_create.C:45
@@ -11342,9 +11162,8 @@ msgstr "Ðолони"
# src/frontends/kde/dlg/tabcreatedlgdata.C:107
# src/frontends/xforms/form_tabular_create.C:45
#: lib/layouts/apax.inc:365
-#, fuzzy
msgid "Volume"
-msgstr "Ðолони"
+msgstr "Том"
#: lib/layouts/apax.inc:506
msgid "*"
@@ -11374,9 +11193,8 @@ msgstr ""
# src/ext_l10n.h:175
#: lib/layouts/apax.inc:639 lib/layouts/apax.inc:661
-#, fuzzy
msgid "Author-name"
-msgstr "ÐвÑоÑ"
+msgstr "ÐвÑоÑ-име"
# src/ext_l10n.h:424
#: lib/layouts/arab-article.layout:3
@@ -11392,8 +11210,8 @@ msgid "Article (Standard Class)"
msgstr "СÑаÑÐ¸Ñ (ÑÑандаÑÑен вид)"
# src/BufferView2.C:601 src/LyXAction.C:346 src/MenuBackend.C:433
-#: lib/layouts/article.layout:21 lib/layouts/beamer.layout:246
-#: lib/layouts/beamer.layout:275 lib/layouts/memoir.layout:66
+#: lib/layouts/article.layout:21 lib/layouts/beamer.layout:248
+#: lib/layouts/beamer.layout:277 lib/layouts/memoir.layout:66
#: lib/layouts/mwart.layout:25 lib/layouts/paper.layout:55
#: lib/layouts/scrartcl.layout:22 lib/layouts/scrclass.inc:77
#: lib/layouts/stdcounters.inc:9 lib/layouts/stdsections.inc:12
@@ -11421,69 +11239,68 @@ msgstr "ÐÑожекÑоÑ"
msgid "Presentations"
msgstr "ÐÑезенÑаÑии"
-#: lib/layouts/beamer.layout:88 lib/layouts/beamer.layout:137
-#: lib/layouts/beamer.layout:192 lib/layouts/beamer.layout:503
-#: lib/layouts/beamer.layout:571 lib/layouts/beamer.layout:629
-#: lib/layouts/beamer.layout:659 lib/layouts/beamer.layout:875
-#: lib/layouts/beamer.layout:904 lib/layouts/beamer.layout:1227
-#: lib/layouts/beamer.layout:1252 lib/layouts/beamer.layout:1279
-#: lib/layouts/beamer.layout:1445
+#: lib/layouts/beamer.layout:90 lib/layouts/beamer.layout:139
+#: lib/layouts/beamer.layout:194 lib/layouts/beamer.layout:505
+#: lib/layouts/beamer.layout:573 lib/layouts/beamer.layout:631
+#: lib/layouts/beamer.layout:661 lib/layouts/beamer.layout:877
+#: lib/layouts/beamer.layout:906 lib/layouts/beamer.layout:1229
+#: lib/layouts/beamer.layout:1254 lib/layouts/beamer.layout:1281
+#: lib/layouts/beamer.layout:1447
msgid "Overlay Specifications|v"
msgstr ""
-#: lib/layouts/beamer.layout:89 lib/layouts/beamer.layout:138
-#: lib/layouts/beamer.layout:193
+#: lib/layouts/beamer.layout:91 lib/layouts/beamer.layout:140
+#: lib/layouts/beamer.layout:195
msgid "Overlay specifications for this list"
msgstr ""
-#: lib/layouts/beamer.layout:99 lib/layouts/beamer.layout:152
-#: lib/layouts/beamer.layout:213 lib/layouts/beamer.layout:798
+#: lib/layouts/beamer.layout:101 lib/layouts/beamer.layout:154
+#: lib/layouts/beamer.layout:215 lib/layouts/beamer.layout:800
#: lib/layouts/powerdot.layout:303 lib/layouts/powerdot.layout:368
msgid "Item Overlay Specifications"
msgstr ""
# src/layout_forms.C:28
-#: lib/layouts/beamer.layout:100 lib/layouts/beamer.layout:153
-#: lib/layouts/beamer.layout:214 lib/layouts/beamer.layout:628
-#: lib/layouts/beamer.layout:658 lib/layouts/beamer.layout:799
-#: lib/layouts/beamer.layout:874 lib/layouts/beamer.layout:903
-#: lib/layouts/beamer.layout:1226 lib/layouts/beamer.layout:1251
-#: lib/layouts/beamer.layout:1278 lib/layouts/beamer.layout:1444
+#: lib/layouts/beamer.layout:102 lib/layouts/beamer.layout:155
+#: lib/layouts/beamer.layout:216 lib/layouts/beamer.layout:630
+#: lib/layouts/beamer.layout:660 lib/layouts/beamer.layout:801
+#: lib/layouts/beamer.layout:876 lib/layouts/beamer.layout:905
+#: lib/layouts/beamer.layout:1228 lib/layouts/beamer.layout:1253
+#: lib/layouts/beamer.layout:1280 lib/layouts/beamer.layout:1446
#: lib/layouts/powerdot.layout:304 lib/layouts/powerdot.layout:369
#, fuzzy
msgid "On Slide"
msgstr "СеÑиÑ(S):|#S"
-#: lib/layouts/beamer.layout:101 lib/layouts/beamer.layout:154
-#: lib/layouts/beamer.layout:215 lib/layouts/beamer.layout:800
+#: lib/layouts/beamer.layout:103 lib/layouts/beamer.layout:156
+#: lib/layouts/beamer.layout:217 lib/layouts/beamer.layout:802
#: lib/layouts/powerdot.layout:305 lib/layouts/powerdot.layout:370
msgid "Overlay specifications for this item"
msgstr ""
# src/lyx_cb.C:198 src/lyxfunc.C:3055
-#: lib/layouts/beamer.layout:144
+#: lib/layouts/beamer.layout:146
#, fuzzy
msgid "Mini Template"
msgstr "Шаблони"
-#: lib/layouts/beamer.layout:145
+#: lib/layouts/beamer.layout:147
msgid "Mini template for this list (see beamer manual for details)"
msgstr ""
# src/frontends/xforms/form_tabular.C:113
-#: lib/layouts/beamer.layout:199
-#, fuzzy
+#: lib/layouts/beamer.layout:201
msgid "Longest label|s"
-msgstr " ÐÑлга ÑаблиÑа(L)|#L"
+msgstr "Ðай-дÑлÑг еÑикаÑ"
-#: lib/layouts/beamer.layout:200
+#: lib/layouts/beamer.layout:202
msgid "The longest label in this list (to determine the indendation width)"
-msgstr ""
+msgstr "Ðай-дÑÐ»Ð³Ð¸Ñ ÐµÑÐ¸ÐºÐ°Ñ Ð² Ñози ÑпиÑÑк (за опÑеделÑне ÑиÑинаÑа на инÑеÑвалиÑе)"
# src/ext_l10n.h:344
# Ð¿Ð°Ð´Ð°Ñ ÑпиÑÑк на конÑекÑÑа
-#: lib/layouts/beamer.layout:247 lib/layouts/beamer.layout:289
-#: lib/layouts/beamer.layout:351 lib/layouts/beamer.layout:413
+#: lib/layouts/beamer.layout:249 lib/layouts/beamer.layout:291
+#: lib/layouts/beamer.layout:353 lib/layouts/beamer.layout:415
#: lib/layouts/egs.layout:34 lib/layouts/egs.layout:57
#: lib/layouts/europasscv.layout:265 lib/layouts/europecv.layout:194
#: lib/layouts/foils.layout:46 lib/layouts/ltugboat.layout:49
@@ -11499,592 +11316,577 @@ msgstr ""
msgid "Sectioning"
msgstr "Ñаздели"
-#: lib/layouts/beamer.layout:252 lib/layouts/beamer.layout:307
-#: lib/layouts/beamer.layout:340 lib/layouts/beamer.layout:369
-#: lib/layouts/beamer.layout:402 lib/layouts/beamer.layout:431
-#: lib/layouts/beamer.layout:464
+#: lib/layouts/beamer.layout:254 lib/layouts/beamer.layout:309
+#: lib/layouts/beamer.layout:342 lib/layouts/beamer.layout:371
+#: lib/layouts/beamer.layout:404 lib/layouts/beamer.layout:433
+#: lib/layouts/beamer.layout:466
msgid "Mode"
-msgstr ""
+msgstr "ÐанÑ"
# src/LColor.C:64
-#: lib/layouts/beamer.layout:253 lib/layouts/beamer.layout:308
-#: lib/layouts/beamer.layout:341 lib/layouts/beamer.layout:370
-#: lib/layouts/beamer.layout:403 lib/layouts/beamer.layout:432
-#: lib/layouts/beamer.layout:465
-#, fuzzy
+#: lib/layouts/beamer.layout:255 lib/layouts/beamer.layout:310
+#: lib/layouts/beamer.layout:343 lib/layouts/beamer.layout:372
+#: lib/layouts/beamer.layout:405 lib/layouts/beamer.layout:434
+#: lib/layouts/beamer.layout:467
msgid "Mode Specification|S"
-msgstr "избоÑ"
+msgstr "ÐаÑÑÑойки на жанÑа"
-#: lib/layouts/beamer.layout:254 lib/layouts/beamer.layout:309
-#: lib/layouts/beamer.layout:342 lib/layouts/beamer.layout:371
-#: lib/layouts/beamer.layout:404 lib/layouts/beamer.layout:433
-#: lib/layouts/beamer.layout:466
+#: lib/layouts/beamer.layout:256 lib/layouts/beamer.layout:311
+#: lib/layouts/beamer.layout:344 lib/layouts/beamer.layout:373
+#: lib/layouts/beamer.layout:406 lib/layouts/beamer.layout:435
+#: lib/layouts/beamer.layout:468
msgid "Specify in which mode (article, presentation etc.) this header appears"
msgstr ""
-"ÐоÑоÑване Ñежима (ÑÑаÑиÑ, пÑезенÑаÑÐ¸Ñ Ð¸ Ñ.н.), в койÑо Ñова заглавие Ñе "
+"ÐоÑоÑване на жанÑа (ÑÑаÑиÑ, пÑезенÑаÑÐ¸Ñ Ð¸ Ñ.н.), в койÑо Ñова заглавие Ñе Ñе "
"поÑвÑва."
# src/frontends/xforms/FormPreferences.C:1278
-#: lib/layouts/beamer.layout:261 lib/layouts/memoir.layout:69
+#: lib/layouts/beamer.layout:263 lib/layouts/memoir.layout:69
#: lib/layouts/scrclass.inc:143 lib/layouts/stdsections.inc:33
#: lib/layouts/tufte-handout.layout:41
-#, fuzzy
msgid "The part as it appears in the table of contents/running headers"
-msgstr "ÐмеÑо на ÑоÑмаÑа, какÑо Ñе Ñе вижда в менÑÑаÑа."
+msgstr "ÐмеÑо на главаÑа, какÑо Ñе Ñе поÑви в ÑÑдÑÑжаниеÑо и гоÑÐ½Ð¸Ñ ÐºÐ¾Ð»Ð¸Ð½ÑиÑÑл."
# src/ext_l10n.h:373
-#: lib/layouts/beamer.layout:304
-#, fuzzy
+#: lib/layouts/beamer.layout:306
msgid "Section \\arabic{section}"
-msgstr "Ðод-подÑаздел"
+msgstr "ÐодÑаздел \\arabic{section}"
# src/frontends/xforms/FormPreferences.C:1278
-#: lib/layouts/beamer.layout:316 lib/layouts/scrclass.inc:169
+#: lib/layouts/beamer.layout:318 lib/layouts/scrclass.inc:169
#: lib/layouts/simplecv.layout:53 lib/layouts/stdsections.inc:118
#: lib/layouts/tufte-book.layout:130
-#, fuzzy
msgid "The section as it appears in the table of contents/running headers"
-msgstr "ÐмеÑо на ÑоÑмаÑа, какÑо Ñе Ñе вижда в менÑÑаÑа."
+msgstr "ÐмеÑо на Ñаздела, какÑо Ñе Ñе поÑви в ÑÑдÑÑжаниеÑо и гоÑÐ½Ð¸Ñ ÐºÐ¾Ð»Ð¸Ð½ÑиÑÑл."
# src/LColor.C:64
-#: lib/layouts/beamer.layout:328 lib/layouts/numarticle.inc:11
+#: lib/layouts/beamer.layout:330 lib/layouts/numarticle.inc:11
#: lib/layouts/powerdot.layout:254
msgid "\\Alph{section}"
msgstr "\\Alph{section}"
# src/ext_l10n.h:373
-#: lib/layouts/beamer.layout:366
-#, fuzzy
+#: lib/layouts/beamer.layout:368
msgid "Subsection \\arabic{section}.\\arabic{subsection}"
-msgstr "Ðод-подÑаздел"
+msgstr "ÐодÑаздел \\arabic{section}.\\arabic{subsection}"
# src/frontends/xforms/FormPreferences.C:1278
-#: lib/layouts/beamer.layout:378
-#, fuzzy
+#: lib/layouts/beamer.layout:380
msgid "The subsection as it appears in the table of contents/running headers"
-msgstr "ÐмеÑо на ÑоÑмаÑа, какÑо Ñе Ñе вижда в менÑÑаÑа."
+msgstr "ÐмеÑо на подÑаздела, какÑо Ñе Ñе поÑви в ÑÑдÑÑжаниеÑо и гоÑÐ½Ð¸Ñ ÐºÐ¾Ð»Ð¸Ð½ÑиÑÑл."
# src/ext_l10n.h:373
-#: lib/layouts/beamer.layout:390
+#: lib/layouts/beamer.layout:392
msgid "\\arabic{section}.\\arabic{subsection}"
msgstr "\\arabic{section}.\\arabic{subsection}"
# src/ext_l10n.h:373
-#: lib/layouts/beamer.layout:428
-#, fuzzy
+#: lib/layouts/beamer.layout:430
msgid ""
"Subsubsection \\arabic{section}.\\arabic{subsection}.\\arabic{subsubsection}"
-msgstr "Ðод-подÑаздел"
+msgstr "Ðод-подÑаздел \\arabic{section}.\\arabic{subsection}.\\arabic{subsubsection}"
-#: lib/layouts/beamer.layout:440
+#: lib/layouts/beamer.layout:442
msgid ""
"The subsubsection as it appears in the table of contents/running headers"
msgstr ""
+"Ðод-подÑаздела, какÑо Ñе Ñе поÑви в ÑÑдÑÑжаниеÑо и гоÑÐ½Ð¸Ñ ÐºÐ¾Ð»Ð¸ÑиÑÑл"
# src/ext_l10n.h:373
-#: lib/layouts/beamer.layout:452
-#, fuzzy
+#: lib/layouts/beamer.layout:454
msgid "\\arabic{section}.\\arabic{subsection}.\\arabic{subsubsection}"
-msgstr "Ðод-подÑаздел"
+msgstr "\\arabic{section}.\\arabic{subsection}.\\arabic{subsubsection}"
# src/lyx.C:87
-#: lib/layouts/beamer.layout:479 lib/layouts/beamer.layout:485
-#, fuzzy
+#: lib/layouts/beamer.layout:481 lib/layouts/beamer.layout:487
msgid "Frame"
-msgstr "ÐаÑамеÑÑи(p)|#p"
+msgstr "Рамка"
# src/lyx.C:87
-#: lib/layouts/beamer.layout:480 lib/layouts/beamer.layout:565
-#: lib/layouts/beamer.layout:612 lib/layouts/beamer.layout:643
-#, fuzzy
+#: lib/layouts/beamer.layout:482 lib/layouts/beamer.layout:567
+#: lib/layouts/beamer.layout:614 lib/layouts/beamer.layout:645
msgid "Frames"
-msgstr "ÐаÑамеÑÑи(p)|#p"
+msgstr "Рамки"
# src/ext_l10n.h:344
-#: lib/layouts/beamer.layout:502 lib/layouts/beamer.layout:937
-#: lib/layouts/beamer.layout:1314 lib/layouts/beamer.layout:1471
-#: lib/layouts/beamer.layout:1491 lib/layouts/beamer.layout:1511
-#: lib/layouts/beamer.layout:1531 lib/layouts/beamer.layout:1551
-#: lib/layouts/beamer.layout:1572 lib/layouts/beamer.layout:1593
-#: lib/layouts/beamer.layout:1614 lib/layouts/beamer.layout:1635
-#: lib/layouts/beamer.layout:1661 lib/layouts/pdfform.module:124
+#: lib/layouts/beamer.layout:504 lib/layouts/beamer.layout:939
+#: lib/layouts/beamer.layout:1316 lib/layouts/beamer.layout:1473
+#: lib/layouts/beamer.layout:1493 lib/layouts/beamer.layout:1513
+#: lib/layouts/beamer.layout:1533 lib/layouts/beamer.layout:1553
+#: lib/layouts/beamer.layout:1574 lib/layouts/beamer.layout:1595
+#: lib/layouts/beamer.layout:1616 lib/layouts/beamer.layout:1637
+#: lib/layouts/beamer.layout:1665 lib/layouts/pdfform.module:124
#, fuzzy
msgid "Action"
msgstr "Раздел"
-#: lib/layouts/beamer.layout:504 lib/layouts/beamer.layout:572
+#: lib/layouts/beamer.layout:506 lib/layouts/beamer.layout:574
msgid "Overlay specifications for this frame"
msgstr ""
-#: lib/layouts/beamer.layout:510 lib/layouts/beamer.layout:578
+#: lib/layouts/beamer.layout:512 lib/layouts/beamer.layout:580
msgid "Default Overlay Specifications"
msgstr ""
-#: lib/layouts/beamer.layout:511 lib/layouts/beamer.layout:579
+#: lib/layouts/beamer.layout:513 lib/layouts/beamer.layout:581
msgid "Default overlay specifications within this frame"
msgstr ""
# src/frontends/xforms/form_preferences.C:926
-#: lib/layouts/beamer.layout:517 lib/layouts/beamer.layout:546
-#: lib/layouts/beamer.layout:557 lib/layouts/beamer.layout:585
+#: lib/layouts/beamer.layout:519 lib/layouts/beamer.layout:548
+#: lib/layouts/beamer.layout:559 lib/layouts/beamer.layout:587
#, fuzzy
msgid "Frame Options"
msgstr "допÑлниÑелни опÑии"
-#: lib/layouts/beamer.layout:519 lib/layouts/beamer.layout:548
-#: lib/layouts/beamer.layout:559 lib/layouts/beamer.layout:587
+#: lib/layouts/beamer.layout:521 lib/layouts/beamer.layout:550
+#: lib/layouts/beamer.layout:561 lib/layouts/beamer.layout:589
msgid "Frame options (see beamer manual)"
msgstr ""
# src/ext_l10n.h:375
-#: lib/layouts/beamer.layout:522
+#: lib/layouts/beamer.layout:524
#, fuzzy
msgid "Frame Title"
msgstr "Ðодзаглавие"
-#: lib/layouts/beamer.layout:523
+#: lib/layouts/beamer.layout:525
msgid "Enter the frame title here"
msgstr ""
# src/LColor.C:82
-#: lib/layouts/beamer.layout:542
+#: lib/layouts/beamer.layout:544
#, fuzzy
msgid "PlainFrame"
msgstr "Ñамка на маÑемаÑика"
# src/frontends/xforms/form_preferences.C:926
-#: lib/layouts/beamer.layout:544
+#: lib/layouts/beamer.layout:546
#, fuzzy
msgid "Frame (plain)"
msgstr "допÑлниÑелни опÑии"
# src/LColor.C:82
-#: lib/layouts/beamer.layout:553
+#: lib/layouts/beamer.layout:555
#, fuzzy
msgid "FragileFrame"
msgstr "Ñамка на маÑемаÑика"
# src/ext_l10n.h:377
-#: lib/layouts/beamer.layout:555
+#: lib/layouts/beamer.layout:557
#, fuzzy
msgid "Frame (fragile)"
msgstr "ÐÑезиме"
# src/LColor.C:82
-#: lib/layouts/beamer.layout:564
+#: lib/layouts/beamer.layout:566
#, fuzzy
msgid "AgainFrame"
msgstr "Ñамка на маÑемаÑика"
# src/layout_forms.C:28
-#: lib/layouts/beamer.layout:570 lib/layouts/powerdot.layout:135
+#: lib/layouts/beamer.layout:572 lib/layouts/powerdot.layout:135
#: lib/layouts/seminar.layout:111 lib/layouts/slides.layout:92
#: src/frontends/qt/GuiDocument.cpp:136
msgid "Slide"
msgstr "ÐадÑÑ"
-#: lib/layouts/beamer.layout:599
+#: lib/layouts/beamer.layout:601
msgid "Repeat frame with label"
msgstr ""
# src/ext_l10n.h:375
-#: lib/layouts/beamer.layout:611
+#: lib/layouts/beamer.layout:613
#, fuzzy
msgid "FrameTitle"
msgstr "Ðодзаглавие"
-#: lib/layouts/beamer.layout:630 lib/layouts/beamer.layout:660
-#: lib/layouts/beamer.layout:876 lib/layouts/beamer.layout:905
-#: lib/layouts/beamer.layout:939 lib/layouts/beamer.layout:1228
-#: lib/layouts/beamer.layout:1253 lib/layouts/beamer.layout:1280
-#: lib/layouts/beamer.layout:1316 lib/layouts/beamer.layout:1446
-#: lib/layouts/beamer.layout:1473 lib/layouts/beamer.layout:1493
-#: lib/layouts/beamer.layout:1513 lib/layouts/beamer.layout:1533
-#: lib/layouts/beamer.layout:1553 lib/layouts/beamer.layout:1574
-#: lib/layouts/beamer.layout:1595 lib/layouts/beamer.layout:1616
-#: lib/layouts/beamer.layout:1637 lib/layouts/beamer.layout:1663
+#: lib/layouts/beamer.layout:632 lib/layouts/beamer.layout:662
+#: lib/layouts/beamer.layout:878 lib/layouts/beamer.layout:907
+#: lib/layouts/beamer.layout:941 lib/layouts/beamer.layout:1230
+#: lib/layouts/beamer.layout:1255 lib/layouts/beamer.layout:1282
+#: lib/layouts/beamer.layout:1318 lib/layouts/beamer.layout:1448
+#: lib/layouts/beamer.layout:1475 lib/layouts/beamer.layout:1495
+#: lib/layouts/beamer.layout:1515 lib/layouts/beamer.layout:1535
+#: lib/layouts/beamer.layout:1555 lib/layouts/beamer.layout:1576
+#: lib/layouts/beamer.layout:1597 lib/layouts/beamer.layout:1618
+#: lib/layouts/beamer.layout:1639 lib/layouts/beamer.layout:1667
msgid "Specify the overlay settings (see beamer manual)"
msgstr ""
# src/ext_l10n.h:375
-#: lib/layouts/beamer.layout:636
+#: lib/layouts/beamer.layout:638
#, fuzzy
msgid "Short Frame Title|S"
msgstr "Ðодзаглавие"
-#: lib/layouts/beamer.layout:637
+#: lib/layouts/beamer.layout:639
msgid "A short form of the frame title used in some themes"
msgstr ""
# src/ext_l10n.h:375
-#: lib/layouts/beamer.layout:642
+#: lib/layouts/beamer.layout:644
#, fuzzy
msgid "FrameSubtitle"
msgstr "Ðодзаглавие"
# src/frontends/kde/dlg/tabcreatedlgdata.C:107
# src/frontends/xforms/form_tabular_create.C:45
-#: lib/layouts/beamer.layout:672 lib/layouts/moderncv.layout:395
+#: lib/layouts/beamer.layout:674 lib/layouts/moderncv.layout:395
#: lib/layouts/moderncv.layout:412
-#, fuzzy
msgid "Column"
-msgstr "Ðолони"
+msgstr "Ðолона"
# src/frontends/kde/dlg/tabcreatedlgdata.C:107
# src/frontends/xforms/form_tabular_create.C:45
-#: lib/layouts/beamer.layout:673 lib/layouts/beamer.layout:698
-#: lib/layouts/beamer.layout:699 lib/layouts/beamer.layout:709
+#: lib/layouts/beamer.layout:675 lib/layouts/beamer.layout:700
+#: lib/layouts/beamer.layout:701 lib/layouts/beamer.layout:711
#: lib/layouts/moderncv.layout:373 lib/layouts/multicol.module:15
msgid "Columns"
msgstr "колони"
-#: lib/layouts/beamer.layout:685
+#: lib/layouts/beamer.layout:687
msgid "Start column (increase depth!), width:"
msgstr ""
# src/insets/insetinclude.C:117 src/lyx_cb.C:197 src/lyxfunc.C:3054
# src/lyxfunc.C:3156 src/lyxfunc.C:3212 src/lyxfunc.C:3288
-#: lib/layouts/beamer.layout:688 lib/layouts/powerdot.layout:504
+#: lib/layouts/beamer.layout:690 lib/layouts/powerdot.layout:504
#, fuzzy
msgid "Column Options"
msgstr "ÐокÑменÑи"
-#: lib/layouts/beamer.layout:690
+#: lib/layouts/beamer.layout:692
msgid "Column options (see beamer manual)"
msgstr ""
# src/frontends/xforms/form_paragraph.C:200
-#: lib/layouts/beamer.layout:711
+#: lib/layouts/beamer.layout:713
msgid "Column Placement Options"
msgstr "опÑии за Ñазположение на колони"
-#: lib/layouts/beamer.layout:712
+#: lib/layouts/beamer.layout:714
msgid "Column placement options (t, T, c, b)"
msgstr ""
-"ÐпÑии за Ñазположение на колони за подÑавнÑване - низ Ð¾Ñ âtâ (оÑгоÑе), "
-"âTâ (?), âcâ (ÑенÑÑиÑано), âbâ (оÑдолÑ)"
+"ÐпÑии за Ñазположение на колони за подÑавнÑване - низ Ð¾Ñ âtâ (гоÑе), "
+"âTâ (?), âcâ (ÑенÑÑÑ), âbâ (долÑ)"
-#: lib/layouts/beamer.layout:729
+#: lib/layouts/beamer.layout:731
msgid "ColumnsCenterAligned"
msgstr ""
-#: lib/layouts/beamer.layout:732
+#: lib/layouts/beamer.layout:734
msgid "Columns (center aligned)"
msgstr ""
-#: lib/layouts/beamer.layout:736
+#: lib/layouts/beamer.layout:738
msgid "ColumnsTopAligned"
msgstr ""
-#: lib/layouts/beamer.layout:739
+#: lib/layouts/beamer.layout:741
msgid "Columns (top aligned)"
msgstr ""
# src/BufferView2.C:601 src/LyXAction.C:346 src/MenuBackend.C:433
-#: lib/layouts/beamer.layout:748 lib/layouts/powerdot.layout:518
+#: lib/layouts/beamer.layout:750 lib/layouts/powerdot.layout:518
#, fuzzy
msgid "Pause"
msgstr "Ðалепи"
# src/frontends/xforms/form_preferences.C:896
-#: lib/layouts/beamer.layout:749 lib/layouts/beamer.layout:777
-#: lib/layouts/beamer.layout:823 lib/layouts/beamer.layout:855
-#: lib/layouts/beamer.layout:884 lib/layouts/powerdot.layout:519
+#: lib/layouts/beamer.layout:751 lib/layouts/beamer.layout:779
+#: lib/layouts/beamer.layout:825 lib/layouts/beamer.layout:857
+#: lib/layouts/beamer.layout:886 lib/layouts/powerdot.layout:519
#, fuzzy
msgid "Overlays"
msgstr "обÑÑнаÑо"
# src/frontends/kde/refdlg.C:63
-#: lib/layouts/beamer.layout:755 lib/layouts/powerdot.layout:525
+#: lib/layouts/beamer.layout:757 lib/layouts/powerdot.layout:525
#, fuzzy
msgid "Pause number"
msgstr "ÐÐ¾Ð¼ÐµÑ Ð½Ð° ÑÑÑаниÑа"
-#: lib/layouts/beamer.layout:756 lib/layouts/powerdot.layout:526
+#: lib/layouts/beamer.layout:758 lib/layouts/powerdot.layout:526
msgid "Number of slide where the context below the pause gets visible"
msgstr ""
-#: lib/layouts/beamer.layout:767 lib/layouts/powerdot.layout:537
+#: lib/layouts/beamer.layout:769 lib/layouts/powerdot.layout:537
msgid "_ _ _ _ _ _ _ _ _ _ _ _ _ _"
msgstr "_ _ _ _ _ _ _ _ _ _ _ _ _ _"
# src/form1.C:129 src/sp_form.C:58
-#: lib/layouts/beamer.layout:776 lib/layouts/beamer.layout:815
-#, fuzzy
+#: lib/layouts/beamer.layout:778 lib/layouts/beamer.layout:817
msgid "Overprint"
-msgstr "ÐпÑии"
+msgstr "ÐадпеÑаÑка"
# src/form1.C:129 src/sp_form.C:58
-#: lib/layouts/beamer.layout:783
-#, fuzzy
+#: lib/layouts/beamer.layout:785
msgid "Overprint Area Width"
-msgstr "ÐпÑии"
+msgstr "ШиÑина на надпеÑаÑка"
# src/form1.C:161 src/frontends/kde/dlg/paraextradlgdata.C:91
# src/frontends/xforms/form_graphics.C:44
# src/frontends/xforms/form_paragraph.C:219
-#: lib/layouts/beamer.layout:784 lib/layouts/europasscv.layout:246
+#: lib/layouts/beamer.layout:786 lib/layouts/europasscv.layout:246
#: lib/layouts/graphicboxes.module:49 lib/layouts/moderncv.layout:400
#: lib/layouts/sectionbox.module:22 src/frontends/qt/GuiBox.cpp:71
-#, fuzzy
msgid "Width"
-msgstr "ШиÑина"
+msgstr "ÑиÑина"
-#: lib/layouts/beamer.layout:785
+#: lib/layouts/beamer.layout:787
msgid "The width of the overprint area (default: text width)"
-msgstr ""
+msgstr "ШиÑина на плоÑа за надпеÑÐ°Ñ (по подÑазбиÑане е ÑиÑинаÑа на ÑекÑÑа)"
# src/frontends/xforms/form_preferences.C:896
-#: lib/layouts/beamer.layout:822
+#: lib/layouts/beamer.layout:824
#, fuzzy
msgid "OverlayArea"
msgstr "обÑÑнаÑо"
# src/frontends/xforms/form_preferences.C:896
-#: lib/layouts/beamer.layout:832
+#: lib/layouts/beamer.layout:834
#, fuzzy
msgid "Overlayarea"
msgstr "обÑÑнаÑо"
# src/frontends/xforms/form_preferences.C:896
-#: lib/layouts/beamer.layout:842
+#: lib/layouts/beamer.layout:844
#, fuzzy
msgid "Overlay Area Width"
msgstr "обÑÑнаÑо"
-#: lib/layouts/beamer.layout:843
+#: lib/layouts/beamer.layout:845
msgid "The width of the overlay area"
msgstr ""
# src/frontends/xforms/form_preferences.C:896
-#: lib/layouts/beamer.layout:847
+#: lib/layouts/beamer.layout:849
#, fuzzy
msgid "Overlay Area Height"
msgstr "обÑÑнаÑо"
# src/form1.C:157 src/frontends/xforms/form_graphics.C:46
-#: lib/layouts/beamer.layout:848 lib/layouts/graphicboxes.module:56
+#: lib/layouts/beamer.layout:850 lib/layouts/graphicboxes.module:56
#: lib/layouts/moderncv.layout:288 src/frontends/qt/GuiBox.cpp:70
-#, fuzzy
msgid "Height"
-msgstr "ÐиÑоÑина"
+msgstr "каÑо виÑоÑинaÑа"
-#: lib/layouts/beamer.layout:849
+#: lib/layouts/beamer.layout:851
msgid "The height of the overlay area"
msgstr ""
# src/frontends/kde/dlg/paradlgdata.C:82
-#: lib/layouts/beamer.layout:854 lib/layouts/beamer.layout:1563
-#: lib/layouts/beamer.layout:1565 lib/layouts/powerdot.layout:660
+#: lib/layouts/beamer.layout:856 lib/layouts/beamer.layout:1565
+#: lib/layouts/beamer.layout:1567 lib/layouts/powerdot.layout:660
#, fuzzy
msgid "Uncover"
msgstr "(&R)ÐÑÑÑанови"
# src/ext_l10n.h:75
-#: lib/layouts/beamer.layout:864
+#: lib/layouts/beamer.layout:866
#, fuzzy
msgid "Uncovered on slides"
msgstr "ÐзÑÑий колона(D)|D"
# src/lyxfont.C:62
-#: lib/layouts/beamer.layout:883 lib/layouts/beamer.layout:1542
-#: lib/layouts/beamer.layout:1544 lib/layouts/powerdot.layout:666
+#: lib/layouts/beamer.layout:885 lib/layouts/beamer.layout:1544
+#: lib/layouts/beamer.layout:1546 lib/layouts/powerdot.layout:666
#, fuzzy
msgid "Only"
msgstr "Ðкл."
# src/ext_l10n.h:75
-#: lib/layouts/beamer.layout:893
+#: lib/layouts/beamer.layout:895
#, fuzzy
msgid "Only on slides"
msgstr "ÐзÑÑий колона(D)|D"
# src/frontends/kde/dlg/parageneraldlgdata.C:94
-#: lib/layouts/beamer.layout:917
+#: lib/layouts/beamer.layout:919
#, fuzzy
msgid "Block"
msgstr "Ðлок"
# src/frontends/kde/dlg/parageneraldlgdata.C:94
-#: lib/layouts/beamer.layout:918
+#: lib/layouts/beamer.layout:920
msgid "Blocks"
msgstr "Ðлок"
# src/frontends/kde/dlg/parageneraldlgdata.C:94
-#: lib/layouts/beamer.layout:927
+#: lib/layouts/beamer.layout:929
msgid "Block:"
msgstr "блок:"
# src/LColor.C:64
-#: lib/layouts/beamer.layout:938
+#: lib/layouts/beamer.layout:940
#, fuzzy
msgid "Action Specification|S"
msgstr "избоÑ"
# src/sp_form.C:86
-#: lib/layouts/beamer.layout:945
+#: lib/layouts/beamer.layout:947
msgid "Block Title"
msgstr "Ðаглавие на блок"
-#: lib/layouts/beamer.layout:946
+#: lib/layouts/beamer.layout:948
msgid "Enter the block title here"
msgstr "ÐÑведеÑе имеÑо на блока"
-#: lib/layouts/beamer.layout:961
+#: lib/layouts/beamer.layout:963
#, fuzzy
msgid "ExampleBlock"
msgstr "ÐÑимеÑ"
# src/ext_l10n.h:232
-#: lib/layouts/beamer.layout:964
+#: lib/layouts/beamer.layout:966
#, fuzzy
msgid "Example Block:"
msgstr "ÐÑимеÑ"
# src/frontends/kde/dlg/parageneraldlgdata.C:94
-#: lib/layouts/beamer.layout:970
+#: lib/layouts/beamer.layout:972
#, fuzzy
msgid "AlertBlock"
msgstr "Ðлок"
# src/frontends/kde/dlg/parageneraldlgdata.C:94
-#: lib/layouts/beamer.layout:973
+#: lib/layouts/beamer.layout:975
#, fuzzy
msgid "Alert Block:"
msgstr "Ðлок"
# src/ext_l10n.h:274
-#: lib/layouts/beamer.layout:985 lib/layouts/beamer.layout:1022
-#: lib/layouts/beamer.layout:1049 lib/layouts/beamer.layout:1077
-#: lib/layouts/beamer.layout:1121 lib/layouts/beamer.layout:1144
+#: lib/layouts/beamer.layout:987 lib/layouts/beamer.layout:1024
+#: lib/layouts/beamer.layout:1051 lib/layouts/beamer.layout:1079
+#: lib/layouts/beamer.layout:1123 lib/layouts/beamer.layout:1146
#, fuzzy
msgid "Titling"
msgstr "СпиÑÑк"
-#: lib/layouts/beamer.layout:999
+#: lib/layouts/beamer.layout:1001
msgid "Short title which appears in the sidebar/header"
msgstr ""
-#: lib/layouts/beamer.layout:1013
+#: lib/layouts/beamer.layout:1015
msgid "Title (Plain Frame)"
msgstr ""
# src/ext_l10n.h:375
-#: lib/layouts/beamer.layout:1035
-#, fuzzy
+#: lib/layouts/beamer.layout:1037
msgid "Short Subtitle|S"
-msgstr "Ðодзаглавие"
+msgstr "ÐÑаÑко подзаглавие"
-#: lib/layouts/beamer.layout:1036
+#: lib/layouts/beamer.layout:1038
msgid "Short subtitle which appears in the sidebar/header"
-msgstr ""
+msgstr "ÐÑаÑко подзаглавие, коеÑо Ñе показва в полеÑо/колинÑиÑÑлÑ"
-#: lib/layouts/beamer.layout:1062
+#: lib/layouts/beamer.layout:1064
msgid "Short author which appears in the sidebar/header"
msgstr ""
# src/ext_l10n.h:375
-#: lib/layouts/beamer.layout:1089
+#: lib/layouts/beamer.layout:1091
#, fuzzy
msgid "Short Institute|S"
msgstr "Ðодзаглавие"
-#: lib/layouts/beamer.layout:1090
+#: lib/layouts/beamer.layout:1092
msgid "Short institute which appears in the sidebar/header"
msgstr ""
# src/LyXAction.C:354
-#: lib/layouts/beamer.layout:1099
+#: lib/layouts/beamer.layout:1101
#, fuzzy
msgid "InstituteMark"
msgstr "ÐмÑкни кавиÑки"
# src/ext_l10n.h:375
-#: lib/layouts/beamer.layout:1133
+#: lib/layouts/beamer.layout:1135
#, fuzzy
msgid "Short Date|S"
msgstr "Ðодзаглавие"
-#: lib/layouts/beamer.layout:1134
+#: lib/layouts/beamer.layout:1136
msgid "Short date which appears in the sidebar/header"
msgstr ""
# src/frontends/xforms/FormGraphics.C:36
# src/frontends/xforms/FormGraphics.C:359
-#: lib/layouts/beamer.layout:1143 lib/layouts/beamerposter.layout:46
+#: lib/layouts/beamer.layout:1145 lib/layouts/beamerposter.layout:46
#, fuzzy
msgid "TitleGraphic"
msgstr "ÐÑаÑика"
# src/form1.C:165
-#: lib/layouts/beamer.layout:1208 lib/layouts/egs.layout:103
+#: lib/layouts/beamer.layout:1210 lib/layouts/egs.layout:103
#: lib/layouts/powerdot.layout:426 lib/layouts/stdlayouts.inc:12
msgid "Quotation"
msgstr "ЦиÑиÑане"
# src/ext_l10n.h:291 src/insets/insetinfo.C:77 src/insets/insetinfo.C:102
# src/insets/insetinfo.C:231
-#: lib/layouts/beamer.layout:1235 lib/layouts/egs.layout:122
+#: lib/layouts/beamer.layout:1237 lib/layouts/egs.layout:122
#: lib/layouts/moderncv.layout:305 lib/layouts/powerdot.layout:448
#: lib/layouts/stdlayouts.inc:37
msgid "Quote"
msgstr "ЦиÑаÑ"
# src/lyxfunc.C:1125
-#: lib/layouts/beamer.layout:1260 lib/layouts/egs.layout:277
+#: lib/layouts/beamer.layout:1262 lib/layouts/egs.layout:277
#: lib/layouts/powerdot.layout:468 lib/layouts/stdlayouts.inc:60
msgid "Verse"
msgstr "СÑиÑ
"
-#: lib/layouts/beamer.layout:1302 lib/layouts/foils.layout:340
+#: lib/layouts/beamer.layout:1304 lib/layouts/foils.layout:340
#: lib/layouts/theorems-starred.inc:78
msgid "Corollary."
msgstr "СледÑÑвие."
# src/LColor.C:64
-#: lib/layouts/beamer.layout:1315 lib/layouts/beamer.layout:1472
-#: lib/layouts/beamer.layout:1492 lib/layouts/beamer.layout:1512
-#: lib/layouts/beamer.layout:1532 lib/layouts/beamer.layout:1552
-#: lib/layouts/beamer.layout:1573 lib/layouts/beamer.layout:1594
-#: lib/layouts/beamer.layout:1615 lib/layouts/beamer.layout:1636
-#: lib/layouts/beamer.layout:1662
+#: lib/layouts/beamer.layout:1317 lib/layouts/beamer.layout:1474
+#: lib/layouts/beamer.layout:1494 lib/layouts/beamer.layout:1514
+#: lib/layouts/beamer.layout:1534 lib/layouts/beamer.layout:1554
+#: lib/layouts/beamer.layout:1575 lib/layouts/beamer.layout:1596
+#: lib/layouts/beamer.layout:1617 lib/layouts/beamer.layout:1638
+#: lib/layouts/beamer.layout:1666
#, fuzzy
msgid "Action Specifications|S"
msgstr "избоÑ"
# src/ext_l10n.h:221
-#: lib/layouts/beamer.layout:1333 lib/layouts/foils.layout:354
+#: lib/layouts/beamer.layout:1335 lib/layouts/foils.layout:354
#: lib/layouts/theorems-starred.inc:174
msgid "Definition."
msgstr "ÐпÑеделение."
# src/ext_l10n.h:221
-#: lib/layouts/beamer.layout:1336
+#: lib/layouts/beamer.layout:1338
msgid "Definitions"
msgstr "ÐпÑеделениÑ"
# src/ext_l10n.h:221
-#: lib/layouts/beamer.layout:1339
+#: lib/layouts/beamer.layout:1341
msgid "Definitions."
msgstr "ÐпÑеделениÑ."
# src/ext_l10n.h:232
-#: lib/layouts/beamer.layout:1345 lib/layouts/theorems-starred.inc:200
+#: lib/layouts/beamer.layout:1347 lib/layouts/theorems-starred.inc:200
msgid "Example."
msgstr "ÐÑимеÑ."
# src/ext_l10n.h:232
-#: lib/layouts/beamer.layout:1352
+#: lib/layouts/beamer.layout:1354
msgid "Examples"
msgstr "ÐÑимеÑи"
# src/ext_l10n.h:232
-#: lib/layouts/beamer.layout:1355
+#: lib/layouts/beamer.layout:1357
msgid "Examples."
msgstr "ÐÑимеÑи."
# src/ext_l10n.h:238
-#: lib/layouts/beamer.layout:1358 lib/layouts/theorems-ams-bytype.inc:160
+#: lib/layouts/beamer.layout:1360 lib/layouts/theorems-ams-bytype.inc:160
#: lib/layouts/theorems-ams-bytype.inc:169
#: lib/layouts/theorems-ams-bytype.inc:172
#: lib/layouts/theorems-ams-chap-bytype.inc:222
@@ -12106,136 +11908,135 @@ msgid "Fact"
msgstr "ФакÑ"
# src/ext_l10n.h:238
-#: lib/layouts/beamer.layout:1361 lib/layouts/theorems-starred.inc:154
+#: lib/layouts/beamer.layout:1363 lib/layouts/theorems-starred.inc:154
msgid "Fact."
msgstr "ФакÑ."
# src/ext_l10n.h:271
-#: lib/layouts/beamer.layout:1367 lib/layouts/foils.layout:333
+#: lib/layouts/beamer.layout:1369 lib/layouts/foils.layout:333
#: lib/layouts/theorems-starred.inc:97
msgid "Lemma."
msgstr "Ðема."
# src/ext_l10n.h:387
-#: lib/layouts/beamer.layout:1379 lib/layouts/foils.layout:326
+#: lib/layouts/beamer.layout:1381 lib/layouts/foils.layout:326
#: lib/layouts/theorems-named.module:18 lib/layouts/theorems-starred.inc:32
msgid "Theorem."
msgstr "ТеоÑема."
# src/ext_l10n.h:279
-#: lib/layouts/beamer.layout:1387 lib/layouts/egs.layout:730
+#: lib/layouts/beamer.layout:1389 lib/layouts/egs.layout:730
#: lib/layouts/lyxmacros.inc:12
msgid "LyX-Code"
msgstr "LyX Ðод"
# src/ext_l10n.h:291 src/insets/insetinfo.C:77 src/insets/insetinfo.C:102
# src/insets/insetinfo.C:231
-#: lib/layouts/beamer.layout:1424
+#: lib/layouts/beamer.layout:1426
#, fuzzy
msgid "NoteItem"
msgstr "Ðележка"
# src/lyxfont.C:47
-#: lib/layouts/beamer.layout:1462 lib/layouts/beamer.layout:1464
+#: lib/layouts/beamer.layout:1464 lib/layouts/beamer.layout:1466
#: src/FontInfo.cpp:48 src/frontends/qt/GuiCharacter.cpp:138
msgid "Bold"
msgstr "ÐолÑÑеÑ"
# src/ext_l10n.h:123
-#: lib/layouts/beamer.layout:1482 lib/layouts/ectaart.layout:178
+#: lib/layouts/beamer.layout:1484 lib/layouts/ectaart.layout:178
msgid "Emphasize"
msgstr "ÐÑкÑоÑване"
# src/lyxfont.C:401
-#: lib/layouts/beamer.layout:1484
+#: lib/layouts/beamer.layout:1486
msgid "Emph."
msgstr "ÐÑкÑоÑване"
# src/frontends/kde/dlg/parageneraldlgdata.C:94
-#: lib/layouts/beamer.layout:1502 lib/layouts/beamer.layout:1504
+#: lib/layouts/beamer.layout:1504 lib/layouts/beamer.layout:1506
#, fuzzy
msgid "Alert"
msgstr "Ðлок"
-#: lib/layouts/beamer.layout:1522 lib/layouts/beamer.layout:1524
+#: lib/layouts/beamer.layout:1524 lib/layouts/beamer.layout:1526
#: lib/layouts/svcommon.inc:73 lib/layouts/svcommon.inc:100
#: lib/layouts/svcommon.inc:107
msgid "Structure"
-msgstr ""
+msgstr "СÑÑÑкÑÑÑа"
# src/ext_l10n.h:259
-#: lib/layouts/beamer.layout:1584 lib/layouts/beamer.layout:1586
+#: lib/layouts/beamer.layout:1586 lib/layouts/beamer.layout:1588
#: lib/layouts/powerdot.layout:644
#, fuzzy
msgid "Visible"
msgstr "ÐгноÑиÑай"
# src/ext_l10n.h:259
-#: lib/layouts/beamer.layout:1605 lib/layouts/beamer.layout:1607
+#: lib/layouts/beamer.layout:1607 lib/layouts/beamer.layout:1609
#, fuzzy
msgid "Invisible"
msgstr "ÐгноÑиÑай"
# src/frontends/xforms/form_preferences.C:278
-#: lib/layouts/beamer.layout:1626 lib/layouts/beamer.layout:1628
+#: lib/layouts/beamer.layout:1628 lib/layouts/beamer.layout:1630
#, fuzzy
msgid "Alternative"
msgstr "Ðзползвай алÑеÑнаÑивен език"
# src/frontends/xforms/form_graphics.C:61
# src/frontends/xforms/form_graphics.C:82 src/lyxfont.C:411
-#: lib/layouts/beamer.layout:1643
+#: lib/layouts/beamer.layout:1646
#, fuzzy
msgid "Default Text"
msgstr "СÑандаÑÑно"
# src/lyxrc.C:1838
-#: lib/layouts/beamer.layout:1644
+#: lib/layouts/beamer.layout:1647
#, fuzzy
msgid "Enter the default text here"
msgstr "УкажеÑе ÑÑандаÑÑÐ½Ð¸Ñ ÑÐ°Ð·Ð¼ÐµÑ Ð½Ð° Ñ
аÑÑиÑÑа."
# src/ext_l10n.h:136
-#: lib/layouts/beamer.layout:1651
+#: lib/layouts/beamer.layout:1655
#, fuzzy
msgid "Beamer Note"
msgstr "Ðележка(N)|N"
# src/frontends/xforms/form_preferences.C:926
-#: lib/layouts/beamer.layout:1669
+#: lib/layouts/beamer.layout:1673
#, fuzzy
msgid "Note Options"
msgstr "допÑлниÑелни опÑии"
-#: lib/layouts/beamer.layout:1670
+#: lib/layouts/beamer.layout:1674
msgid "Specifiy note options (see beamer manual)"
msgstr ""
# src/frontends/xforms/form_paragraph.C:153
-#: lib/layouts/beamer.layout:1675
+#: lib/layouts/beamer.layout:1679
#, fuzzy
msgid "ArticleMode"
msgstr "ÐеÑÑикално ÑазÑÑоÑние"
# src/frontends/xforms/form_paragraph.C:153
-#: lib/layouts/beamer.layout:1681
-#, fuzzy
+#: lib/layouts/beamer.layout:1685
msgid "Article"
-msgstr "ÐеÑÑикално ÑазÑÑоÑние"
+msgstr "СÑаÑиÑ"
# src/frontends/xforms/form_document.C:113
-#: lib/layouts/beamer.layout:1686
+#: lib/layouts/beamer.layout:1690
#, fuzzy
msgid "PresentationMode"
msgstr "ÐÑиенÑаÑиÑ"
# src/frontends/xforms/form_document.C:113
-#: lib/layouts/beamer.layout:1692
+#: lib/layouts/beamer.layout:1696
msgid "Presentation"
msgstr "ÐÑезенÑаÑиÑ"
# src/ext_l10n.h:244
-#: lib/layouts/beamer.layout:1719 lib/layouts/powerdot.layout:570
+#: lib/layouts/beamer.layout:1723 lib/layouts/powerdot.layout:570
#: lib/layouts/powerdot.layout:627 lib/layouts/sciposter.layout:104
#: lib/layouts/stdfloats.inc:28
msgid "Figure"
@@ -12247,56 +12048,52 @@ msgstr "ÐÐ»Ð°ÐºÐ°Ñ Ð·Ð° пÑожекÑоÑ"
# src/frontends/xforms/form_preferences.C:926
#: lib/layouts/bicaption.module:2
-#, fuzzy
msgid "Bilingual Captions"
-msgstr "допÑлниÑелни опÑии"
+msgstr "ÐвÑезиÑни надпиÑи"
#: lib/layouts/bicaption.module:7
msgid ""
"Provides two styles to typeset bilingual captions. For a description see the "
"file MultilingualCaptions.lyx in LyX's examples folder."
msgstr ""
+"ÐÑигÑÑÑва два ÑÑила за Ð½Ð°Ð±Ð¾Ñ Ð¾Ñ Ð½Ð°Ð´Ð¿Ð¸Ñи на два езика. Ðа по-подÑобно опиÑание "
+"вижÑе Ñайла âMultilingualCaptions.lyxâ в диÑекÑоÑиÑÑа Ñ Ð¿ÑимеÑниÑе докÑменÑи."
# src/ext_l10n.h:191
#: lib/layouts/bicaption.module:11
-#, fuzzy
msgid "Caption setup"
-msgstr "Ðаглавие"
+msgstr "ÐаÑÑÑойки на надпиÑ"
#: lib/layouts/bicaption.module:17
msgid ""
"Language that should be affected, can be 'bi-first', 'bi-second' or 'bi-both'"
msgstr ""
+"Ðзик, коиÑо Ñе Ñе пÑомени: оÑновен, вÑоÑи или дваÑа"
# src/ext_l10n.h:191
#: lib/layouts/bicaption.module:30
-#, fuzzy
msgid "Caption setup:"
-msgstr "Ðаглавие"
+msgstr "ÐаÑÑÑойки на надпиÑ:"
# src/ext_l10n.h:191
#: lib/layouts/bicaption.module:38
-#, fuzzy
msgid "Bicaption"
-msgstr "Ðаглавие"
+msgstr "ÐвÑезиÑен надпиÑ"
# src/ext_l10n.h:274
#: lib/layouts/bicaption.module:39
-#, fuzzy
msgid "bilingual"
-msgstr "СпиÑÑк"
+msgstr "двÑезиÑен"
# src/ext_l10n.h:375
#: lib/layouts/bicaption.module:45
-#, fuzzy
msgid "Main Language Short Title"
-msgstr "Ðодзаглавие"
+msgstr "ÐÑаÑко заглавие на оÑÐ½Ð¾Ð²Ð½Ð¸Ñ ÐµÐ·Ð¸Ðº"
# src/LyXAction.C:149
#: lib/layouts/bicaption.module:46
-#, fuzzy
msgid "Short title for the main(document) language"
-msgstr "ÐÑевклÑÑи кÑм оÑвоÑен докÑменÑ"
+msgstr "ÐÑаÑко заглавие за оÑÐ½Ð¾Ð²Ð½Ð¸Ñ ÐµÐ·Ð¸Ðº на Ð³Ð»Ð°Ð²Ð½Ð¸Ñ Ð´Ð¾ÐºÑменÑ"
# src/ext_l10n.h:270
#: lib/layouts/bicaption.module:50
@@ -12327,7 +12124,7 @@ msgstr "ÐÑайлов код"
#: lib/layouts/braille.module:3
msgid "Accessibility"
-msgstr ""
+msgstr "ÐоÑÑÑпноÑÑ"
#: lib/layouts/braille.module:7
msgid ""
@@ -12344,29 +12141,28 @@ msgstr "ÐÑайлов код (по позÑазбиÑане)"
# src/lyxfont.C:56
#: lib/layouts/braille.module:37 lib/layouts/braille.module:62
-#, fuzzy
msgid "Braille:"
-msgstr "ÐалÑк 2"
+msgstr "ÐÑайлов код:"
#: lib/layouts/braille.module:48
msgid "Braille (textsize)"
-msgstr ""
+msgstr "ÐÑайлов код (ÑÐ°Ð·Ð¼ÐµÑ ÑекÑÑ)"
#: lib/layouts/braille.module:73
msgid "Braille (dots on)"
-msgstr ""
+msgstr "ÐÑайлов код (Ñ ÑоÑки)"
#: lib/layouts/braille.module:88
msgid "Braille_dots_on"
-msgstr ""
+msgstr "ÐÑайлов код Ñ ÑоÑки"
#: lib/layouts/braille.module:99
msgid "Braille (dots off)"
-msgstr ""
+msgstr "ÐÑайлов код (без ÑоÑки)"
#: lib/layouts/braille.module:114
msgid "Braille_dots_off"
-msgstr ""
+msgstr "ÐÑайлов код без ÑоÑки"
#: lib/layouts/braille.module:125
msgid "Braille (mirror on)"
@@ -12398,7 +12194,7 @@ msgstr "Ñед на ÑаблиÑа"
#: lib/layouts/broadway.layout:3
msgid "Broadway"
-msgstr ""
+msgstr "ÐÑодÑей"
# src/ext_l10n.h:96
#: lib/layouts/broadway.layout:4 lib/layouts/hollywood.layout:4
@@ -12414,9 +12210,8 @@ msgstr "ÐомеÑиÑане"
# src/frontends/kde/refdlg.C:63
#: lib/layouts/broadway.layout:32
-#, fuzzy
msgid "Scene Number"
-msgstr "ÐÐ¾Ð¼ÐµÑ Ð½Ð° ÑÑÑаниÑа"
+msgstr "ÐÐ¾Ð¼ÐµÑ Ð½Ð° ÑÑена"
#: lib/layouts/broadway.layout:36 lib/layouts/hollywood.layout:41
msgid "Dialogue"
@@ -12487,24 +12282,20 @@ msgid "Right Address"
msgstr "ÐдÑÐµÑ Ð²Ð´ÑÑно"
#: lib/layouts/bxjsarticle.layout:3
-#, fuzzy
msgid "Japanese Article (BXJS Class)"
-msgstr "СÑаÑÐ¸Ñ Ð½Ð° ÑпонÑки (jsarticle)"
+msgstr "СÑаÑÐ¸Ñ Ð½Ð° ÑпонÑки (ÐºÐ»Ð°Ñ BXJS)"
#: lib/layouts/bxjsbook.layout:3
-#, fuzzy
msgid "Japanese Book (BXJS Class)"
-msgstr "Ðнига на ÑпонÑки (jsbook)"
+msgstr "Ðнига на ÑпонÑки (ÐºÐ»Ð°Ñ BXJS)"
#: lib/layouts/bxjsreport.layout:3
-#, fuzzy
msgid "Japanese Report (BXJS Class)"
-msgstr "Ðоклад на ÑпонÑки (jreport)"
+msgstr "Ðоклад на ÑпонÑки (ÐºÐ»Ð°Ñ BXJS)"
#: lib/layouts/bxjsslide.layout:3
-#, fuzzy
msgid "Japanese Slide (BXJS Class)"
-msgstr "ЯпонÑко pLaTeX (JIS)"
+msgstr "ÐадÑÑ Ð½Ð° ÑпонÑки (ÐºÐ»Ð°Ñ BXJS)"
# src/ext_l10n.h:262 src/frontends/gnome/FormIndex.C:89
# src/frontends/xforms/form_index.C:28
@@ -12667,19 +12458,20 @@ msgstr ""
# src/ext_l10n.h:262 src/frontends/gnome/FormIndex.C:89
# src/frontends/xforms/form_index.C:28
#: lib/layouts/chessboard.module:2
-#, fuzzy
msgid "Chess Board"
-msgstr "ÐлÑÑова дÑма"
+msgstr "ШаÑ
маÑ"
#: lib/layouts/chessboard.module:3 lib/layouts/lilypond.module:3
msgid "Leisure, Sports & Music"
-msgstr ""
+msgstr "Свободно вÑеме, ÑпоÑÑ Ð¸ мÑзика"
#: lib/layouts/chessboard.module:7
msgid ""
"Support for the chessboard package to print chess games See chessboard-"
"article.lyx example file."
msgstr ""
+"ÐоддÑÑжа пакеÑа âchessboardâ за оÑпеÑаÑване на ÑаÑ
маÑни дÑÑки. ÐижÑе "
+"пÑимеÑÐ½Ð¸Ñ Ñайл article.lyx."
#: lib/layouts/chessboard.module:16
msgid "NewChessGame"
@@ -12762,19 +12554,17 @@ msgstr ""
# src/ext_l10n.h:262 src/frontends/gnome/FormIndex.C:89
# src/frontends/xforms/form_index.C:28
#: lib/layouts/chessboard.module:137 lib/examples/Articles:0
-#, fuzzy
msgid "Chessboard"
-msgstr "ÐлÑÑова дÑма"
+msgstr "ШаÑ
маÑ"
# src/form1.C:129 src/sp_form.C:58
#: lib/layouts/chessboard.module:140
-#, fuzzy
msgid "Chessboard Options"
-msgstr "ÐпÑии на клаÑа"
+msgstr "ÐпÑии за ÑаÑ
маÑ"
#: lib/layouts/chessboard.module:141
msgid "See chessboard manual for a comprehensive list of keys and values"
-msgstr ""
+msgstr "ÐижÑе в ÑÑководÑÑвоÑо на модÑла за ÑаÑ
пÑÐ»Ð½Ð¸Ñ ÑпиÑÑк Ñ Ð¿Ð°ÑамеÑÑи и ÑÑойноÑÑи"
#: lib/layouts/cl2emult.layout:3
msgid "Springer Contributed Books (cl2emult, Obsolete!)"
@@ -12825,16 +12615,14 @@ msgstr ""
# src/LaTeX.C:223
#: lib/layouts/copernicus.layout:102 lib/layouts/svcommon.inc:437
-#, fuzzy
msgid "Running Title"
-msgstr "СÑаÑÑиÑам BibTeX."
+msgstr "ÐовÑаÑÑÑи Ñе заглавиÑ"
# src/LaTeX.C:223
#: lib/layouts/copernicus.layout:107 lib/layouts/kluwer.layout:253
#: lib/layouts/svcommon.inc:441
-#, fuzzy
msgid "Running title:"
-msgstr "СÑаÑÑиÑам BibTeX."
+msgstr "ÐовÑаÑÑÑо Ñе заглавие:"
# src/ext_l10n.h:242
#: lib/layouts/copernicus.layout:113
@@ -12941,21 +12729,18 @@ msgstr "\\thesection заклÑÑениÑ"
# src/LColor.C:64
#: lib/layouts/copernicus.layout:311
-#, fuzzy
msgid "Appendix \\Alph{appendix}:"
-msgstr "избоÑ"
+msgstr "ÐÑиложение \\Alph{appendix}:"
# src/LColor.C:64
#: lib/layouts/copernicus.layout:323
-#, fuzzy
msgid "\\Alph{appendix}\\arabic{subappendix}"
-msgstr "избоÑ"
+msgstr "\\Alph{appendix}\\arabic{subappendix}"
# src/ext_l10n.h:373
#: lib/layouts/copernicus.layout:335
-#, fuzzy
msgid "\\Alph{appendix}\\arabic{subappendix}.\\arabic{subsubappendix}"
-msgstr "Ðод-подÑаздел"
+msgstr "\\Alph{appendix}\\arabic{subappendix}.\\arabic{subsubappendix}"
#: lib/layouts/copernicus.layout:358
msgid "CodeAvailability"
@@ -13005,15 +12790,13 @@ msgstr "ÐÑепÑаÑка"
# src/frontends/kde/FormToc.C:177 src/frontends/kde/FormToc.C:178
# src/frontends/kde/tocdlg.C:30 src/insets/insettoc.C:28
#: lib/layouts/copernicus.layout:400
-#, fuzzy
msgid "AuthorContribution"
-msgstr "СпиÑÑк на ÑаблиÑи"
+msgstr "ÐÑÐ¸Ð½Ð¾Ñ Ð½Ð° авÑоÑа"
# src/frontends/xforms/form_preferences.C:926
#: lib/layouts/copernicus.layout:402
-#, fuzzy
msgid "Author contributions."
-msgstr "допÑлниÑелни опÑии"
+msgstr "ÐÑÐ¸Ð½Ð¾Ñ Ð½Ð° авÑоÑа"
#: lib/layouts/copernicus.layout:408
msgid "CompetingInterests"
@@ -13024,22 +12807,20 @@ msgid "Competing Interests."
msgstr ""
#: lib/layouts/copernicus.layout:416
-#, fuzzy
msgid "Disclaimer"
-msgstr "&ÐÑÑ
вÑÑлÑне"
+msgstr "ÐпÑовеÑжение"
#: lib/layouts/copernicus.layout:419
-#, fuzzy
msgid "Disclaimer."
-msgstr "&ÐÑÑ
вÑÑлÑне"
+msgstr "ÐпÑовеÑжение"
#: lib/layouts/ctex-article.layout:3 lib/examples/Articles:0
msgid "Chinese Article (CTeX)"
-msgstr ""
+msgstr "СÑаÑÐ¸Ñ Ð½Ð° киÑайÑки (CTeX)"
#: lib/layouts/ctex-book.layout:3
msgid "Chinese Book (CTeX)"
-msgstr ""
+msgstr "Ðнига на киÑайÑки (CTeX)"
#: lib/layouts/ctex-report.layout:3
msgid "Chinese Report (CTeX)"
@@ -13047,9 +12828,8 @@ msgstr "Ðоклад на киÑайÑки (CTeX)"
# src/ext_l10n.h:337
#: lib/layouts/customHeadersFooters.module:2
-#, fuzzy
msgid "Custom Header/Footer Text"
-msgstr "Ðаглавие"
+msgstr "ÐолинÑиÑÑли"
#: lib/layouts/customHeadersFooters.module:8
msgid ""
@@ -13057,12 +12837,14 @@ msgid ""
"module you must set the 'Page style' in the menu Document Settings -> Page "
"Layout to 'fancy'!"
msgstr ""
+"ÐÐ¾Ð±Ð°Ð²Ñ ÑÑеди за Ñедове в гоÑен и долен колинÑиÑÑл. ÐÐÐÐÐÐÐÐÐ: Ðа да "
+"използваÑе Ñози модÑл ÑÑÑбва да наглаÑиÑе âÐÑоÑмление на ÑÑÑаниÑиÑеâ Ð¾Ñ "
+"менÑÑо ÐокÑменÑ->ÐаÑÑÑойки->ÐÑоÑмление на âдекоÑаÑивниâ."
# src/ext_l10n.h:337
#: lib/layouts/customHeadersFooters.module:13
-#, fuzzy
msgid "Header/Footer"
-msgstr "Ðаглавие"
+msgstr "ÐолинÑиÑÑл"
# src/ext_l10n.h:270
#: lib/layouts/customHeadersFooters.module:21
@@ -13076,61 +12858,51 @@ msgstr ""
# src/ext_l10n.h:270
#: lib/layouts/customHeadersFooters.module:34
-#, fuzzy
msgid "Center Header"
-msgstr "Ðаглавие"
+msgstr "ÐÐ°Ð´Ð¿Ð¸Ñ Ð³Ð¾Ñе поÑÑедаÑа"
# src/ext_l10n.h:270
#: lib/layouts/customHeadersFooters.module:37
-#, fuzzy
msgid "Center Header:"
-msgstr "Ðаглавие"
+msgstr "ÐÐ°Ð´Ð¿Ð¸Ñ Ð³Ð¾Ñе поÑÑедаÑа:"
# src/ext_l10n.h:362
#: lib/layouts/customHeadersFooters.module:46
-#, fuzzy
msgid "Left Footer"
-msgstr "ÐÑÑжава"
+msgstr "ÐаÑÐ¿Ð¸Ñ Ð´Ð¾Ð»Ñ Ð²Ð»Ñво"
# src/LyXAction.C:225 src/LyXAction.C:229
#: lib/layouts/customHeadersFooters.module:49
-#, fuzzy
msgid "Left Footer:"
-msgstr "ÐмÑкни бел. под линиÑ"
+msgstr "ÐÐ°Ð´Ð¿Ð¸Ñ Ð´Ð¾Ð»Ñ Ð²Ð»Ñво:"
# src/ext_l10n.h:337
#: lib/layouts/customHeadersFooters.module:52
-#, fuzzy
msgid "Center Footer"
-msgstr "Ðаглавие"
+msgstr "ÐÐ°Ð´Ð¿Ð¸Ñ Ð´Ð¾Ð»Ñ Ð¿Ð¾ÑÑедаÑа"
# src/ext_l10n.h:246
#: lib/layouts/customHeadersFooters.module:55
-#, fuzzy
msgid "Center Footer:"
-msgstr "Ðел. под линиÑ"
+msgstr "ÐÐ°Ð´Ð¿Ð¸Ñ Ð´Ð¾Ð»Ñ Ð¿Ð¾ÑÑедаÑа:"
# src/ext_l10n.h:337
#: lib/layouts/customHeadersFooters.module:58 lib/layouts/foils.layout:231
-#, fuzzy
msgid "Right Footer"
-msgstr "Ðаглавие"
+msgstr "ÐÐ°Ð´Ð¿Ð¸Ñ Ð´Ð¾Ð»Ñ Ð²Ð´ÑÑно"
# src/ext_l10n.h:337
#: lib/layouts/customHeadersFooters.module:61 lib/layouts/foils.layout:235
-#, fuzzy
msgid "Right Footer:"
-msgstr "Ðаглавие"
+msgstr "ÐÐ°Ð´Ð¿Ð¸Ñ Ð´Ð¾Ð»Ñ Ð²Ð´ÑÑно:"
# src/lyxfunc.C:1132
#: lib/layouts/db_stdcharstyles.inc:21 lib/layouts/db_stdcharstyles.inc:22
-#, fuzzy
msgid "Directory"
-msgstr "ÐоÑÑебиÑелÑка диÑекÑоÑиÑ: "
+msgstr "ÐиÑекÑоÑиÑ"
# src/ext_l10n.h:242
#: lib/layouts/db_stdcharstyles.inc:36 lib/layouts/db_stdcharstyles.inc:37
-#, fuzzy
msgid "Firstname"
msgstr "Ðалко име"
@@ -13144,7 +12916,7 @@ msgstr "ÐоÑловно"
#: lib/layouts/db_stdcharstyles.inc:86 lib/layouts/db_stdcharstyles.inc:87
#, fuzzy
msgid "KeyCombo"
-msgstr "ÐлÑÑова дÑма"
+msgstr "Ред падаÑо менÑ"
# src/ext_l10n.h:191
#: lib/layouts/db_stdcharstyles.inc:100 lib/layouts/db_stdcharstyles.inc:101
@@ -13154,37 +12926,34 @@ msgstr "Ðаглавие"
#: lib/layouts/db_stdcharstyles.inc:114 lib/layouts/db_stdcharstyles.inc:115
msgid "GuiMenu"
-msgstr ""
+msgstr "ÐÐµÐ¿Ñ Ð¾Ñ ÐÐÐ"
#: lib/layouts/db_stdcharstyles.inc:128 lib/layouts/db_stdcharstyles.inc:129
msgid "GuiMenuItem"
-msgstr ""
+msgstr "Ред на Ð¼ÐµÐ½Ñ Ð¾Ñ ÐÐÐ"
#: lib/layouts/db_stdcharstyles.inc:142 lib/layouts/db_stdcharstyles.inc:143
msgid "GuiButton"
-msgstr ""
+msgstr "ÐÑÑон Ð¾Ñ ÐÐÐ"
#: lib/layouts/db_stdcharstyles.inc:156 lib/layouts/db_stdcharstyles.inc:157
msgid "MenuChoice"
-msgstr ""
+msgstr "ÐÐ·Ð±Ð¾Ñ Ð½Ð° менÑ"
# src/ext_l10n.h:175
#: lib/layouts/db_stdtitle.inc:13
-#, fuzzy
msgid "Authorgroup"
-msgstr "ÐвÑоÑ"
+msgstr "ÐвÑ. гÑÑпиÑане"
# src/ext_l10n.h:323
#: lib/layouts/db_stdtitle.inc:27
-#, fuzzy
msgid "RevisionHistory"
-msgstr "ÐÑпÑоÑ"
+msgstr "ÐÑÑоÑÐ¸Ñ Ð½Ð° пÑомениÑе"
# src/ext_l10n.h:323
#: lib/layouts/db_stdtitle.inc:42
-#, fuzzy
msgid "Revision History"
-msgstr "ÐÑпÑоÑ"
+msgstr "ÐÑÑоÑÐ¸Ñ Ð½Ð° пÑомениÑе"
# src/ext_l10n.h:323
#: lib/layouts/db_stdtitle.inc:49
@@ -13711,9 +13480,8 @@ msgstr "СÑаÑÑиÑам BibTeX."
# src/LaTeX.C:223
#: lib/layouts/ectaart.layout:32 lib/layouts/llncs.layout:172
-#, fuzzy
msgid "Running Title:"
-msgstr "СÑаÑÑиÑам BibTeX."
+msgstr "ÐовÑаÑÑÑо Ñе заглавие:"
# src/ext_l10n.h:175
#: lib/layouts/ectaart.layout:42
@@ -13735,28 +13503,24 @@ msgstr "ÐпÑии"
# src/insets/insetfloat.C:150
#: lib/layouts/ectaart.layout:82 lib/layouts/elsart.layout:164
-#, fuzzy
msgid "Optional argument for the address"
-msgstr "ÐÑвоÑен Float Inset"
+msgstr "ÐезадÑлжиÑелен аÑгÑÐ¼ÐµÐ½Ñ Ð·Ð° адÑеÑа"
# src/frontends/xforms/form_preferences.C:926
#: lib/layouts/ectaart.layout:94
-#, fuzzy
msgid "E-Mail Option"
-msgstr "допÑлниÑелни опÑии"
+msgstr "ÐпÑии на ел. поÑа"
# src/insets/insetfloat.C:150
#: lib/layouts/ectaart.layout:95
-#, fuzzy
msgid "Optional argument for the e-mail"
-msgstr "ÐÑвоÑен Float Inset"
+msgstr "ÐезадÑлжиÑелен аÑгÑÐ¼ÐµÐ½Ñ Ð·Ð° ел. поÑа"
# src/layout_forms.C:23
#: lib/layouts/ectaart.layout:100 lib/layouts/europasscv.layout:156
#: lib/layouts/europecv.layout:102 lib/layouts/latex8.layout:81
-#, fuzzy
msgid "E-mail:"
-msgstr "СемейÑÑво(F):|#F"
+msgstr "Ðл. поÑа:"
# src/ext_l10n.h:163
#: lib/layouts/ectaart.layout:119
@@ -13792,52 +13556,45 @@ msgstr "ÐлÑÑова дÑма"
# src/ext_l10n.h:386
#: lib/layouts/ectaart.layout:165
-#, fuzzy
msgid "Thanks Text"
-msgstr "ÐлагодаÑÑ"
+msgstr "ÐлагодаÑÑÑвен ÑекÑÑ"
#: lib/layouts/ectaart.layout:172
msgid "Thanks \\theThanks:"
-msgstr ""
+msgstr "ÐлагодаÑноÑÑи \\theThanks:"
# src/ext_l10n.h:328 src/frontends/kde/refdlg.C:62
# src/frontends/xforms/FormRef.C:36
#: lib/layouts/ectaart.layout:191
-#, fuzzy
msgid "Thanks Reference"
-msgstr "ÐÑепÑаÑка"
+msgstr "ÐÑепÑаÑка за благодаÑноÑÑи"
# src/ext_l10n.h:386
#: lib/layouts/ectaart.layout:198
-#, fuzzy
msgid "Thanks Ref"
-msgstr "ÐлагодаÑÑ"
+msgstr "ÐÑепÑаÑка за благодаÑноÑÑи"
# src/LyXAction.C:361
#: lib/layouts/ectaart.layout:204
-#, fuzzy
msgid "Internet Address Reference"
-msgstr "ÐмÑкни пÑепÑаÑка"
+msgstr "ÐÑепÑаÑка кÑм иÑеÑÐ½ÐµÑ Ð°Ð´ÑеÑ"
#: lib/layouts/ectaart.layout:207
msgid "Internet Addess Ref"
-msgstr ""
+msgstr "ÐÑепÑаÑка кÑм инÑеÑÐ½Ð°Ñ Ð°Ð´ÑеÑ"
# src/ext_l10n.h:242
#: lib/layouts/ectaart.layout:224
-#, fuzzy
msgid "Name (First Name)"
msgstr "Ðалко име"
# src/ext_l10n.h:242
#: lib/layouts/ectaart.layout:227 lib/layouts/moderncv.layout:110
-#, fuzzy
msgid "First Name"
msgstr "Ðалко име"
# src/ext_l10n.h:377
#: lib/layouts/ectaart.layout:231
-#, fuzzy
msgid "Name (Surname)"
msgstr "ÐÑезиме"
@@ -13873,9 +13630,8 @@ msgstr "СÑил TeX|X"
# src/frontends/kde/paraextradlg.C:25 src/lyxfont.C:56
#: lib/layouts/egs.layout:429
-#, fuzzy
msgid "Journal:"
-msgstr "ÐоÑмален"
+msgstr "СпиÑание:"
# src/mathed/formula.C:929
#: lib/layouts/egs.layout:438
@@ -13968,7 +13724,7 @@ msgstr "ТеоÑема \\arabic{theorem}"
#: lib/layouts/elsart.layout:359
msgid "PROOF."
-msgstr ""
+msgstr "ÐоказаÑелÑÑво."
#: lib/layouts/elsart.layout:375
msgid "Lemma \\arabic{theorem}"
@@ -13988,7 +13744,7 @@ msgstr "ÐÑизнак \\arabic{theorem}"
#: lib/layouts/elsart.layout:411
msgid "Algorithm \\arabic{theorem}"
-msgstr ""
+msgstr "ÐлгоÑиÑÑм \\arabic{theorem}"
#: lib/layouts/elsart.layout:420
msgid "Definition \\arabic{theorem}"
@@ -14129,9 +13885,8 @@ msgstr ""
# src/ext_l10n.h:163
#: lib/layouts/elsarticle.layout:229
-#, fuzzy
msgid "Address Label"
-msgstr "ÐдÑеÑи"
+msgstr "ÐÑÐ¸ÐºÐµÑ Ñ Ð°Ð´ÑеÑ"
#: lib/layouts/elsarticle.layout:230
msgid "Label of the author you refer to"
@@ -14139,26 +13894,23 @@ msgstr ""
# src/LyXAction.C:388
#: lib/layouts/elsarticle.layout:256
-#, fuzzy
msgid "Internet"
-msgstr "ÐмÑкни ÑаблиÑа"
+msgstr "ÐнÑеÑнеÑ"
#: lib/layouts/elsarticle.layout:257
msgid "If content is 'url', email becomes an Internet address"
-msgstr ""
+msgstr "Ðко ÑÑдÑÑжаниеÑо е âurlâ ел. поÑа ÑÑава âÐнÑеÑÐ½ÐµÑ Ð°Ð´ÑеÑâ"
# src/LColor.C:67
#: lib/layouts/endnotes.module:2
-#, fuzzy
msgid "Endnotes (Basic)"
-msgstr "бележка"
+msgstr "Ðележки в кÑÐ°Ñ (обикновени)"
# src/ext_l10n.h:82
#: lib/layouts/endnotes.module:3 lib/layouts/enotez.module:3
#: lib/layouts/foottoend.module:3 lib/layouts/foottoenotez.module:3
-#, fuzzy
msgid "Foot- and Endnotes"
-msgstr "Ðележки под линиÑ"
+msgstr "Ðележки в кÑÐ°Ñ Ð¸ под линиÑ"
#: lib/layouts/endnotes.module:10
msgid ""
@@ -14167,51 +13919,50 @@ msgid ""
"as well. You will need to add an endnotes list (Insert > List/Contents/"
"References > Endnotes) where you want the endnotes to appear."
msgstr ""
+"ÐаÑежда добавка за бележки в кÑÐ°Ñ Ð² допÑлнение кÑм бележкиÑе под линиÑ. Ðзползва "
+"Ñе пакеÑа âendnotesâ, коиÑо има нÑкои огÑаниÑениÑ, но ÑабоÑи Ñ Ð¿Ð¾-ÑÑаÑи "
+"веÑÑии на LaTeX. Ðа да ги използваÑе ÑÑÑбва да добавиÑе ÑпиÑÑк Ñ Ð±ÐµÐ»ÐµÐ¶ÐºÐ¸ "
+"(ÐмÑкване->СпиÑÑк, СÑдÑÑжание, ÐÑепÑаÑки->Ðележки в кÑаÑ) Ñам, кÑдеÑо иÑкаÑе "
+"да Ñе поÑвÑÑ."
# src/LColor.C:67
#: lib/layouts/endnotes.module:15 lib/layouts/endnotes.module:42
#: lib/layouts/enotez.module:15 lib/layouts/enotez.module:36
#: lib/layouts/foottoend.module:30 lib/layouts/foottoenotez.module:25
#: lib/layouts/memoir.layout:300
-#, fuzzy
msgid "Endnotes"
-msgstr "бележка"
+msgstr "Ðележки в кÑаÑ"
# src/LColor.C:67
#: lib/layouts/endnotes.module:16 lib/layouts/enotez.module:16
#: lib/layouts/memoir.layout:301
-#, fuzzy
msgid "Endnote ##"
-msgstr "бележка"
+msgstr "Ðележка вкÑÐ°Ñ ##"
# src/LColor.C:67
#: lib/layouts/endnotes.module:19 lib/layouts/enotez.module:19
#: lib/layouts/foottoend.module:16 lib/layouts/foottoenotez.module:17
#: lib/layouts/memoir.layout:304
-#, fuzzy
msgid "Endnote"
-msgstr "бележка"
+msgstr "Ðележка в кÑаÑ"
# src/ext_l10n.h:252
#: lib/layouts/endnotes.module:29 lib/layouts/enotez.module:29
#: lib/layouts/memoir.layout:314
-#, fuzzy
msgid "endnote"
-msgstr "Ðаглавие"
+msgstr "Ðележка в кÑаÑ"
# src/LColor.C:67
#: lib/layouts/endnotes.module:32 lib/layouts/endnotes.module:35
#: lib/layouts/foottoend.module:20 lib/layouts/foottoend.module:23
#: lib/layouts/memoir.layout:319 lib/layouts/memoir.layout:322
-#, fuzzy
msgid "Notes[[Endnotes]]"
-msgstr "бележка"
+msgstr "Ðележки в кÑаÑ"
# src/ext_l10n.h:438
#: lib/layouts/enotez.module:2
-#, fuzzy
msgid "Endnotes (Extended)"
-msgstr "ÐпеÑаÑоÑи (допÑлниÑелни)"
+msgstr "Ðележки в кÑÐ°Ñ (ÑазÑиÑени)"
#: lib/layouts/enotez.module:10
msgid ""
@@ -14221,16 +13972,21 @@ msgid ""
"(with LaTeX3). You will need to add an endnotes list (Insert > List/Contents/"
"References > Endnotes) where you want the endnotes to appear."
msgstr ""
+"Ðобавка за бележки в кÑÐ°Ñ Ð² допÑлнение кÑм бележки под линиÑ. Ðзползва Ñе "
+"пакеÑÑÑ âenotezâ, койÑо е по-моÑен и конÑигÑÑиÑÑем Ð¾Ñ Ð¿Ð°ÐºÐµÑа âendnotesâ "
+"(модÑла âÐележки в кÑÐ°Ñ (оÑновен)â), но изиÑква по-нова инÑÑалаÑÐ¸Ñ Ð½Ð° "
+"LaTeX (Ñ LaTeX 3). ÐеобÑ
одимо е да добавиÑе ÑпиÑÑк Ñ Ð±ÐµÐ»ÐµÐ¶ÐºÐ¸ в кÑÐ°Ñ "
+"(ÐмÑкване->СпиÑÑк, ÑÑдÑÑжание, пÑепÑаÑки->Ðележки в кÑаÑ) на мÑÑÑоÑо, "
+"кÑдеÑо иÑкаÑе да Ñе поÑвÑÑ."
#: lib/layouts/entcs.layout:3
msgid "Electronic Notes in Theor. Comp. Sc. (ENTCS)"
-msgstr ""
+msgstr "ÐлекÑÑонни бележки в ÑеоÑ. комп. изÑиÑл. (ENTCS)"
# src/ext_l10n.h:263
#: lib/layouts/entcs.layout:116 lib/layouts/siamltex.layout:324
-#, fuzzy
msgid "Key words:"
-msgstr "ÐлÑÑови дÑма"
+msgstr "ÐлÑÑови дÑми:"
#: lib/layouts/enumitem.module:2
msgid "Customisable Lists (enumitem)"
@@ -14240,9 +13996,8 @@ msgstr "ÐонÑигÑÑиÑÑеми ÑпиÑÑÑи (enumitem)"
# src/frontends/kde/FormToc.C:177 src/frontends/kde/FormToc.C:178
# src/frontends/kde/tocdlg.C:30 src/insets/insettoc.C:28
#: lib/layouts/enumitem.module:3 lib/layouts/paralist.module:3
-#, fuzzy
msgid "List Enhancements"
-msgstr "СпиÑÑк на ÑаблиÑи"
+msgstr "ÐодобÑени ÑпиÑÑÑи"
#: lib/layouts/enumitem.module:7
msgid ""
@@ -14250,7 +14005,7 @@ msgid ""
"See section Customized Lists of the User's Guide for a detailed description."
msgstr ""
"ÐаÑÑÑойва оÑоÑмлениеÑо на номеÑиÑаниÑе, избÑоениÑе, опиÑаÑелниÑе ÑпиÑÑÑи "
-"еÑикеÑиÑе на оÑделниÑе им ÑоÑки. ÐÑовеÑеÑе Ð ÑководÑÑвоÑо на поÑÑебиÑелÑ, "
+"и еÑикеÑиÑе на оÑделниÑе им ÑоÑки. ÐÑовеÑеÑе Ð ÑководÑÑвоÑо на поÑÑебиÑелÑ, "
"Ñаздел ÐонÑигÑÑиÑÑеми ÑпиÑÑÑи за повеÑе инÑоÑмаÑиÑ."
# src/LyXAction.C:251
@@ -14288,13 +14043,12 @@ msgstr "EÑикеÑи"
# src/ext_l10n.h:231
#: lib/layouts/enumitem.module:109
-#, fuzzy
msgid "Enumerate-Resume"
-msgstr "ÐомеÑаÑиÑ"
+msgstr "ÐбÑоÑване-ÑезÑме"
#: lib/layouts/eqs-within-sections.module:2
msgid "Number Equations by Section"
-msgstr ""
+msgstr "ÐомеÑиÑане на ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾ Ñаздели"
# src/frontends/xforms/FormPreferences.C:261
#: lib/layouts/eqs-within-sections.module:3 lib/layouts/subequations.module:3
@@ -14309,30 +14063,31 @@ msgstr ""
#: lib/layouts/theorems-sec.module:3 lib/layouts/theorems-starred.module:3
#: lib/layouts/theorems-std.module:3 src/frontends/qt/BulletsModule.cpp:52
msgid "Maths"
-msgstr "маÑемаÑиÑеÑки"
+msgstr "ÐаÑемаÑиÑеÑки"
#: lib/layouts/eqs-within-sections.module:7
msgid ""
"Resets the equation number at section start and prepends the section number "
"to the equation number, as in '(2.1)'."
msgstr ""
+"РеÑÑаÑÑиÑа номеÑа на ÑÑавнениеÑо в наÑалоÑо на вÑеки Ñаздел и поÑÑÐ°Ð²Ñ Ð¿Ñед "
+"него номеÑа на Ñаздела каÑо напÑ. (2.1)"
# src/ext_l10n.h:191
#: lib/layouts/eqs-within-sections.module:17 lib/layouts/scrbook.layout:29
-#: lib/layouts/stdcounters.inc:81 src/insets/InsetRef.cpp:596
-#: src/mathed/InsetMathRef.cpp:349
+#: lib/layouts/stdcounters.inc:81 src/insets/InsetRef.cpp:598
+#: src/mathed/InsetMathRef.cpp:372
msgid "Equation"
msgstr "УÑавнение"
# src/ext_l10n.h:373
#: lib/layouts/eqs-within-sections.module:19
-#, fuzzy
msgid "\\thesection.\\arabic{equation}"
-msgstr "Ðод-подÑаздел"
+msgstr "\\thesection.\\arabic{equation}"
#: lib/layouts/europasscv.layout:3 lib/examples/Articles:0
msgid "Europass CV (2013)"
-msgstr ""
+msgstr "ÐвÑобиогÑаÑÐ¸Ñ ÐвÑÐ¾Ð¿Ð°Ñ (2003)"
#: lib/layouts/europasscv.layout:4 lib/layouts/europecv.layout:4
#: lib/layouts/moderncv.layout:4 lib/layouts/simplecv.layout:4
@@ -14361,9 +14116,8 @@ msgstr "ÐмÑкни бел. под линиÑ"
# src/frontends/kde/dlg/printdlgdata.C:246
#: lib/layouts/europasscv.layout:128 lib/layouts/moderncv.layout:206
-#, fuzzy
msgid "Mobile:"
-msgstr "(&F)Файл"
+msgstr "Ðобилен:"
# src/mathed/formula.C:929
#: lib/layouts/europasscv.layout:129 lib/layouts/europecv.layout:117
@@ -14373,35 +14127,33 @@ msgstr "Ðобилен ÑелеÑонен номеÑ"
# src/frontends/kde/paraextradlg.C:27
#: lib/layouts/europasscv.layout:165 lib/layouts/jasatex.layout:155
#: lib/layouts/moderncv.layout:229
-#, fuzzy
msgid "Homepage"
-msgstr "ÐиниÑÑÑаниÑа"
+msgstr "ÐаÑална ÑÑÑаниÑа"
#: lib/layouts/europasscv.layout:168 lib/layouts/moderncv.layout:232
msgid "Homepage:"
-msgstr ""
+msgstr "ÐаÑална ÑÑÑаниÑа:"
#: lib/layouts/europasscv.layout:178
msgid "InstantMessaging"
-msgstr ""
+msgstr "Ðезабавни ÑÑобÑениÑ"
#: lib/layouts/europasscv.layout:181
msgid "Instant Messaging:"
-msgstr ""
+msgstr "Ðезабавни ÑÑобÑениÑ:"
# src/frontends/xforms/form_toc.C:40
#: lib/layouts/europasscv.layout:185
-#, fuzzy
msgid "IM Type:"
-msgstr "Тип(T):|#T"
+msgstr "Ðме:"
#: lib/layouts/europasscv.layout:186
msgid "IM Type (e.g., AOL Messenger)"
-msgstr ""
+msgstr "Ðме на ÑиÑÑемаÑа за незабавни ÑÑобÑÐµÐ½Ð¸Ñ (напÑ. AOL Messemger)"
#: lib/layouts/europasscv.layout:199 lib/layouts/europecv.layout:77
msgid "Birthday"
-msgstr ""
+msgstr "Рожденна даÑа"
# src/frontends/xforms/form_preferences.C:354
#: lib/layouts/europasscv.layout:202 lib/layouts/europecv.layout:80
@@ -14431,19 +14183,17 @@ msgstr "Ðол:"
# src/frontends/xforms/FormPreferences.C:226
# src/frontends/xforms/FormPreferences.C:255
#: lib/layouts/europasscv.layout:232 lib/layouts/europecv.layout:152
-#, fuzzy
msgid "BeforePicture"
-msgstr "ÐонвеÑÑоÑи"
+msgstr "ÐÑеди Ñнимка"
#: lib/layouts/europasscv.layout:235 lib/layouts/europecv.layout:155
msgid "Space before picture:"
-msgstr ""
+msgstr "РазÑÑоÑние пÑеди ÑнимкаÑа:"
# src/ext_l10n.h:351
#: lib/layouts/europasscv.layout:240 lib/layouts/europecv.layout:160
-#, fuzzy
msgid "Picture"
-msgstr "ÐодпиÑ"
+msgstr "Снимка"
# src/ext_l10n.h:351
#: lib/layouts/europasscv.layout:244 lib/layouts/europecv.layout:164
@@ -14452,18 +14202,17 @@ msgstr "Снимка:"
#: lib/layouts/europasscv.layout:247
msgid "Resize photo to this width"
-msgstr ""
+msgstr "ÐÑазмеÑÑване на ÑнимкаÑа до Ñази ÑиÑина"
# src/frontends/xforms/FormPreferences.C:226
# src/frontends/xforms/FormPreferences.C:255
#: lib/layouts/europasscv.layout:256 lib/layouts/europecv.layout:177
-#, fuzzy
msgid "AfterPicture"
-msgstr "ÐонвеÑÑоÑи"
+msgstr "След ÑнимкаÑа"
#: lib/layouts/europasscv.layout:259 lib/layouts/europecv.layout:180
msgid "Space after picture:"
-msgstr ""
+msgstr "РазÑÑоÑние Ñлед ÑнимкаÑа"
# src/frontends/xforms/form_paragraph.C:153
#: lib/layouts/europasscv.layout:272 lib/layouts/europasscv.layout:297
@@ -14504,19 +14253,17 @@ msgstr "ÐмÑкни Ð¸Ð½Ð´ÐµÐºÑ ÑпиÑÑк"
#: lib/layouts/europasscv.layout:347
msgid "Subitems"
-msgstr ""
+msgstr "ÐодÑоÑка"
# src/ext_l10n.h:246
#: lib/layouts/europasscv.layout:354
-#, fuzzy
msgid "TitleItem"
-msgstr "Ðел. под линиÑ"
+msgstr "Ðаглавие на ÑоÑка"
# src/ext_l10n.h:395 src/frontends/gnome/FormCitation.C:529
#: lib/layouts/europasscv.layout:358
-#, fuzzy
msgid "Title item:"
-msgstr "Ðаглавие"
+msgstr "Ðаглавие на ÑоÑка:"
# src/ext_l10n.h:395 src/frontends/gnome/FormCitation.C:529
#: lib/layouts/europasscv.layout:362
@@ -14538,15 +14285,13 @@ msgstr "ÐÐ·Ð±Ð¾Ñ Ð½Ð° ÑÐ»ÐµÐ´Ð²Ð°Ñ Ñед"
# src/frontends/xforms/FormDocument.C:281
#: lib/layouts/europasscv.layout:375
-#, fuzzy
msgid "BlueItem"
-msgstr "ТоÑки"
+msgstr "Ð¡Ð¸Ð½Ñ ÑоÑка"
# src/LColor.C:65
#: lib/layouts/europasscv.layout:378
-#, fuzzy
msgid "Blue item:"
-msgstr "Latex"
+msgstr "Ð¡Ð¸Ð½Ñ ÑоÑка:"
# src/ext_l10n.h:215
#: lib/layouts/europasscv.layout:382
@@ -14556,19 +14301,17 @@ msgstr "ÐлиенÑ"
#: lib/layouts/europasscv.layout:385
msgid "Blue subitems"
-msgstr ""
+msgstr "Ð¡Ð¸Ð½Ñ Ð¿Ð¾Ð´ÑоÑка"
# src/LyXAction.C:251
#: lib/layouts/europasscv.layout:392
-#, fuzzy
msgid "BigItem"
-msgstr "ÐмÑкни Ð¸Ð½Ð´ÐµÐºÑ ÑпиÑÑк"
+msgstr "Ðлавна ÑоÑка"
# src/LyXAction.C:225 src/LyXAction.C:229
#: lib/layouts/europasscv.layout:395
-#, fuzzy
msgid "Big Item:"
-msgstr "ÐмÑкни бел. под линиÑ"
+msgstr "Ðлавна ÑоÑка"
# src/LyXAction.C:251
#: lib/layouts/europasscv.layout:399
@@ -14578,11 +14321,11 @@ msgstr "ÐмÑкни Ð¸Ð½Ð´ÐµÐºÑ ÑпиÑÑк"
#: lib/layouts/europasscv.layout:436 lib/layouts/europecv.layout:288
msgid "MotherTongue"
-msgstr "Роден език"
+msgstr "ÐайÑин език"
#: lib/layouts/europasscv.layout:445 lib/layouts/europecv.layout:302
msgid "Mother Tongue:"
-msgstr "Роден език:"
+msgstr "ÐайÑин език:"
# src/ext_l10n.h:252
#: lib/layouts/europasscv.layout:457 lib/layouts/europecv.layout:314
@@ -14710,7 +14453,7 @@ msgstr "РазмеÑÑÑ Ð´Ð¾ койÑо Ñе маÑабиÑа ÑнимкаÑа"
# src/frontends/kde/dlg/printdlgdata.C:42
#: lib/layouts/europecv.layout:185 src/frontends/qt/GuiDocument.cpp:136
-#: src/insets/InsetRef.cpp:597
+#: src/insets/InsetRef.cpp:599
msgid "Page"
msgstr "СÑÑаниÑа"
@@ -14754,7 +14497,6 @@ msgstr "ÐиÑни данни"
# src/frontends/xforms/form_paragraph.C:153
#: lib/layouts/europecv.layout:394
-#, fuzzy
msgid "VerticalSpace"
msgstr "ÐеÑÑикално ÑазÑÑоÑние"
@@ -14781,9 +14523,8 @@ msgstr "Ðоклад (ÑÑандаÑÑен ÐºÐ»Ð°Ñ Ñ Ð´Ð¾Ð¿ÑлниÑелни
# src/ext_l10n.h:387
#: lib/layouts/figs-within-sections.module:2
-#, fuzzy
msgid "Number Figures by Section"
-msgstr "ТеоÑема"
+msgstr "ÐомеÑиÑане на изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾ Ñаздели"
#: lib/layouts/figs-within-sections.module:7
msgid ""
@@ -14792,9 +14533,8 @@ msgid ""
msgstr ""
#: lib/layouts/fix-cm.module:2
-#, fuzzy
msgid "Fix Computer Modern Fonts"
-msgstr "Computer Modern Sans"
+msgstr "ÐопÑавка на ÑÑиÑÑове Computer Modern"
#: lib/layouts/fix-cm.module:9
msgid ""
@@ -14805,7 +14545,7 @@ msgstr ""
#: lib/layouts/fixltx2e.module:2
msgid "LaTeX Kernel Fixes (Obsolete)"
-msgstr ""
+msgstr "ÐопÑавки в ÑдÑоÑо на LaTeX (оÑÑаÑÑл)"
#: lib/layouts/fixltx2e.module:11
msgid ""
@@ -14820,15 +14560,14 @@ msgstr ""
# src/ext_l10n.h:136
#: lib/layouts/fixme.module:2
-#, fuzzy
msgid "FiXme Notes"
-msgstr "Ðележка(N)|N"
+msgstr "Ðележки âÐопÑавкаâ"
#: lib/layouts/fixme.module:3 lib/layouts/pdfcomment.module:3
#: lib/layouts/pdfform.module:3 lib/layouts/ruby.module:3
#: lib/layouts/todonotes.module:3
msgid "Annotation & Revision"
-msgstr ""
+msgstr "ÐноÑаÑии и Ñевизии"
#: lib/layouts/fixme.module:12
msgid ""
@@ -14844,43 +14583,39 @@ msgstr ""
#: lib/layouts/fixme.module:18 lib/layouts/fixme.module:56
msgid "Fixme"
-msgstr ""
+msgstr "ÐопÑавка"
# src/frontends/gnome/FormToc.C:108 src/frontends/gnome/FormToc.C:185
# src/frontends/kde/FormToc.C:177 src/frontends/kde/FormToc.C:178
# src/frontends/kde/tocdlg.C:30 src/insets/insettoc.C:28
#: lib/layouts/fixme.module:24
-#, fuzzy
msgid "List of FIXMEs"
-msgstr "СпиÑÑк на ÑаблиÑи"
+msgstr "СпиÑÑк âÐопÑавкиâ"
# src/ext_l10n.h:244
#: lib/layouts/fixme.module:38
-#, fuzzy
msgid "[List of FIXMEs]"
-msgstr "ФигÑÑа"
+msgstr "[СпиÑÑк âÐопÑавкиâ]"
# src/ext_l10n.h:136
#: lib/layouts/fixme.module:54
-#, fuzzy
msgid "Fixme Note"
-msgstr "Ðележка(N)|N"
+msgstr "Ðележки âÐопÑавкаâ"
#: lib/layouts/fixme.module:69 lib/layouts/fixme.module:104
#: lib/layouts/fixme.module:147 lib/layouts/fixme.module:189
msgid "Fixme Note Options|s"
-msgstr ""
+msgstr "ÐпÑии на белжка âÐопÑавкаâ|Ð"
#: lib/layouts/fixme.module:70 lib/layouts/fixme.module:105
#: lib/layouts/fixme.module:148 lib/layouts/fixme.module:190
msgid "Consult the fixme package documentation for options"
-msgstr ""
+msgstr "ÐÑовеÑеÑе докÑменÑаÑиÑÑа на пакеÑа âfixmeâ за опÑии"
# src/ext_l10n.h:298
#: lib/layouts/fixme.module:75
-#, fuzzy
msgid "Fixme Warning"
-msgstr "ÐÑваÑÑне"
+msgstr "ÐÑедÑпÑеждение на ÐопÑавка"
# src/ext_l10n.h:298
#: lib/layouts/fixme.module:77
@@ -14889,45 +14624,41 @@ msgstr "ÐÑедÑпÑеждение"
# src/form1.C:245
#: lib/layouts/fixme.module:81
-#, fuzzy
msgid "Fixme Error"
-msgstr "Ðме на Ñайл(F):|#F"
+msgstr "ÐÑеÑка на ÐопÑавка"
# src/LColor.C:92
#: lib/layouts/fixme.module:83 src/frontends/qt/GuiCompare.cpp:199
-#: src/frontends/qt/GuiDocument.cpp:2847 src/frontends/qt/GuiDocument.cpp:2921
-#: src/frontends/qt/GuiDocument.cpp:4831
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:2865 src/frontends/qt/GuiDocument.cpp:2939
+#: src/frontends/qt/GuiDocument.cpp:4846
msgid "Error"
-msgstr "гÑеÑка"
+msgstr "ÐÑеÑка"
#: lib/layouts/fixme.module:87
msgid "Fixme Fatal"
-msgstr ""
+msgstr "ÐопÑавка ÑаÑална"
# src/ext_l10n.h:432
#: lib/layouts/fixme.module:89
-#, fuzzy
msgid "Fatal"
-msgstr "ÐаÑалонÑки"
+msgstr "ФаÑална"
#: lib/layouts/fixme.module:98
msgid "Fixme Note (Targeted)"
-msgstr ""
+msgstr "Ðележка âÐопÑавкаâ (наÑоÑена)"
#: lib/layouts/fixme.module:100
msgid "Fixme (Targeted)"
-msgstr ""
+msgstr "ÐопÑавка (наÑоÑена)"
# src/ext_l10n.h:136
#: lib/layouts/fixme.module:110
-#, fuzzy
msgid "Fixme Note|x"
-msgstr "Ðележка(N)|N"
+msgstr "Ðележка âÐопÑавкаâ"
#: lib/layouts/fixme.module:112
msgid "Insert the FIXME note here"
-msgstr ""
+msgstr "ÐмÑкване на бележка âÐопÑавкаâ ÑÑкâ"
#: lib/layouts/fixme.module:117
msgid "Fixme Warning (Targeted)"
@@ -15222,9 +14953,8 @@ msgstr "ÐпÑеделение*"
# src/ext_l10n.h:246
#: lib/layouts/foottoend.module:2
-#, fuzzy
msgid "Footnotes as Endnotes (Basic)"
-msgstr "Ðел. под линиÑ"
+msgstr "Ðeл. под Ð»Ð¸Ð½Ð¸Ñ ÐºÐ°Ñо бел. в кÑÐ°Ñ (обикновени)"
#: lib/layouts/foottoend.module:10
msgid ""
@@ -15236,9 +14966,8 @@ msgstr ""
# src/ext_l10n.h:246
#: lib/layouts/foottoenotez.module:2
-#, fuzzy
msgid "Footnotes as Endnotes (Extended)"
-msgstr "Ðел. под линиÑ"
+msgstr "Ðeл. под Ð»Ð¸Ð½Ð¸Ñ ÐºÐ°Ñо бел. в кÑÐ°Ñ (ÑазÑиÑени)"
#: lib/layouts/foottoenotez.module:11
msgid ""
@@ -15259,9 +14988,8 @@ msgstr ""
# src/ext_l10n.h:362
#: lib/layouts/g-brief.layout:31 lib/layouts/g-brief2.layout:74
-#, fuzzy
msgid "Letter:"
-msgstr "ÐÑÑжава"
+msgstr "ÐиÑмо:"
# src/ext_l10n.h:364
#: lib/layouts/g-brief.layout:71
@@ -15348,29 +15076,26 @@ msgstr "ТелекÑ"
# src/ext_l10n.h:385
#: lib/layouts/g-brief.layout:144
-#, fuzzy
msgid "Telex:"
-msgstr "ТелекÑ"
+msgstr "ТелекÑ:"
# src/layout_forms.C:23
#: lib/layouts/g-brief.layout:148
-#, fuzzy
msgid "EMail"
-msgstr "СемейÑÑво(F):|#F"
+msgstr "Ðл. поÑа"
# src/layout_forms.C:23
#: lib/layouts/g-brief.layout:151
-#, fuzzy
msgid "EMail:"
-msgstr "СемейÑÑво(F):|#F"
+msgstr "Ðл. поÑа:"
#: lib/layouts/g-brief.layout:155
msgid "HTTP"
-msgstr ""
+msgstr "HTTP"
#: lib/layouts/g-brief.layout:158
msgid "HTTP:"
-msgstr ""
+msgstr "HTTP:"
# src/frontends/kde/dlg/parageneraldlgdata.C:94
#: lib/layouts/g-brief.layout:162 lib/layouts/scrlttr2.layout:285
@@ -15782,103 +15507,92 @@ msgstr "Ðлок"
# src/frontends/xforms/FormGraphics.C:36
# src/frontends/xforms/FormGraphics.C:359
#: lib/layouts/graphicboxes.module:2
-#, fuzzy
msgid "GraphicBoxes"
-msgstr "ÐÑаÑика"
+msgstr "Рамки за изобÑажениÑ"
# src/frontends/xforms/FormPreferences.C:244
#: lib/layouts/graphicboxes.module:3 lib/layouts/sectionbox.module:3
#: lib/layouts/tcolorbox.module:3 lib/layouts/varwidth.module:3
-#, fuzzy
msgid "Boxes"
-msgstr "ЦвеÑни Ñамки"
+msgstr "Рамки"
#: lib/layouts/graphicboxes.module:6
msgid "Boxes to scale and rotate its contents"
-msgstr ""
+msgstr "Рамки, коиÑо маÑабиÑÐ°Ñ Ð¸ вÑÑÑÑÑ ÑÑдÑÑжаниеÑо Ñи"
# src/LColor.C:64
#: lib/layouts/graphicboxes.module:12 lib/layouts/graphicboxes.module:15
-#, fuzzy
msgid "Reflectbox"
-msgstr "избоÑ"
+msgstr "ÐÑÑажение"
# src/frontends/xforms/form_tabular.C:453
#: lib/layouts/graphicboxes.module:27 lib/layouts/graphicboxes.module:29
-#, fuzzy
msgid "Scalebox"
-msgstr "СпеÑиален"
+msgstr "ÐаÑабииÑане"
# src/ext_l10n.h:238
#: lib/layouts/graphicboxes.module:32
-#, fuzzy
msgid "H-Factor"
-msgstr "ФакÑ"
+msgstr "ХоÑизонÑ. коеÑиÑенÑ"
#: lib/layouts/graphicboxes.module:33
msgid "Insert horizontal scale factor (1 = 100%)"
-msgstr ""
+msgstr "ÐмÑкване на Ñ
оÑизонÑален маÑабиÑÐ°Ñ ÐºÐ¾ÐµÑиÑÐµÐ½Ñ (1 = 100%)"
# src/ext_l10n.h:238
#: lib/layouts/graphicboxes.module:39
-#, fuzzy
msgid "V-Factor"
-msgstr "ФакÑ"
+msgstr "ÐеÑÑ. коеÑиÑенÑ"
#: lib/layouts/graphicboxes.module:40
msgid "Insert vertical scale factor (1 = 100%)"
-msgstr ""
+msgstr "ÐмÑкване на веÑÑ. маÑабиÑÐ°Ñ ÑакÑÐ¾Ñ (1 = 100%)"
#: lib/layouts/graphicboxes.module:44 lib/layouts/graphicboxes.module:46
msgid "Resizebox"
-msgstr ""
+msgstr "ÐÑеоÑазмеÑÑване"
#: lib/layouts/graphicboxes.module:50
msgid "Width of the box"
-msgstr ""
+msgstr "ШиÑина на полеÑо"
#: lib/layouts/graphicboxes.module:57
msgid "Height of the box, can also be '!' to keep aspect ratio"
-msgstr ""
+msgstr "ÐиÑоÑинаÑа на ÑамкаÑа може ÑÑÑо Ñака да бÑде â!â за запазване на ÑÑоÑноÑениеÑо"
# src/ext_l10n.h:362
#: lib/layouts/graphicboxes.module:64 lib/layouts/graphicboxes.module:66
-#, fuzzy
msgid "Rotatebox"
-msgstr "ÐÑÑжава"
+msgstr "ÐÑÑÑене"
# src/ext_l10n.h:191
#: lib/layouts/graphicboxes.module:69
-#, fuzzy
msgid "Origin"
-msgstr "Ðаглавие"
+msgstr "ЦенÑÑÑ Ð½Ð° вÑÑÑене"
#: lib/layouts/graphicboxes.module:70
msgid "Rotation origin; syntax: 'origin=lt' (for top left corner)"
-msgstr ""
+msgstr "ЦенÑÑÑ Ð½Ð° вÑÑÑене; ÑоÑмаÑ: âorigin=ltâ (за гоÑен лÑв ÑгÑл)"
# src/form1.C:133
#: lib/layouts/graphicboxes.module:73
-#, fuzzy
msgid "Angle"
-msgstr "ЪгÑл(L):|#L"
+msgstr "ЪгÑл"
#: lib/layouts/graphicboxes.module:74
msgid "Rotation angle in degrees (counterclockwise)"
-msgstr ""
+msgstr "ЪгÑл на завÑÑÑане в гÑадÑÑи (обÑаÑно на ÑаÑ. ÑÑÑелка)"
# src/buffer.C:323
#: lib/layouts/hanging.module:2
-#, fuzzy
msgid "Hanging Paragraphs"
-msgstr "Ðдин Ð°Ð±Ð·Ð°Ñ Ð½Ð°Ð·Ð°Ð´"
+msgstr "ÐиÑÑÑи абзаÑи"
# src/insets/insetbib.C:219
#: lib/layouts/hanging.module:3 lib/layouts/initials.module:3
#: lib/layouts/shapepar.module:3
-#, fuzzy
msgid "Paragraph Styles"
-msgstr "Ðибл. пеÑо"
+msgstr "ÐбзаÑи"
#: lib/layouts/hanging.module:7
msgid ""
@@ -15886,6 +15600,8 @@ msgid ""
"in which the first line is set to the left margin, but all subsequent lines "
"are indented."
msgstr ""
+"ÐÐ¾Ð±Ð°Ð²Ñ ÑÑеда за виÑÑÑи абзаÑи. ÐиÑÑÑÐ¸Ñ Ð°Ð±Ð·Ð°Ñ Ðµ абзаÑ, ÑийÑо пÑÑви Ñед е запоÑва "
+"до лÑвоÑо поле, а вÑиÑки ÑледваÑи Ñедове запоÑÐ²Ð°Ñ Ñ Ð¾ÑÑÑп Ð¾Ñ Ð¿Ð¾Ð»ÐµÑо."
# src/frontends/xforms/form_document.C:98
#: lib/layouts/hanging.module:17
@@ -15923,7 +15639,7 @@ msgstr "ÐоказаÑелÑÑво:"
#: lib/layouts/heb-letter.layout:3
#, fuzzy
msgid "Hebrew Letter"
-msgstr "ÐÑÑжава"
+msgstr "ÐвÑейÑка бÑква"
#: lib/layouts/hollywood.layout:3 lib/examples/Articles:0
msgid "Hollywood"
@@ -15997,12 +15713,12 @@ msgstr "СловенÑки"
#: lib/layouts/hpstatement.module:2
msgid "Chemistry: Hazard and Precautionary Statements"
-msgstr ""
+msgstr "ХимиÑ: ÐадпиÑи за опаÑноÑÑ Ð¸ пÑедпазни меÑки"
#: lib/layouts/hpstatement.module:3 lib/layouts/linguistics.module:3
#: lib/layouts/rsphrase.module:3
msgid "Academic Field Specifics"
-msgstr ""
+msgstr "ÐаÑÑни в ÑпеÑиÑиÑна облаÑÑ"
#: lib/layouts/hpstatement.module:8
msgid ""
@@ -16010,42 +15726,41 @@ msgid ""
"precautionary statements. For a description see the file H-P-statements.lyx "
"in LyX's examples folder."
msgstr ""
+"ÐÑедоÑÑÐ°Ð²Ñ Ð´Ð²Ðµ добавки за Ð½Ð°Ð±Ð¾Ñ Ð¾Ñ ÐºÐ¾Ð´Ð¾Ð²Ðµ и ÑÑази за Ñ
имиÑеÑка опаÑноÑÑ Ð¸ "
+"пÑедпазни меÑки. Ðа опиÑание погледнеÑе Ñайла âH-P-statements.lyxâ в "
+"диÑекÑоÑиÑÑа на LyX за пÑимеÑни докÑменÑи."
# src/mathed/formula.C:929
#: lib/layouts/hpstatement.module:12 lib/layouts/hpstatement.module:17
-#, fuzzy
msgid "H-P number"
-msgstr "ÐомеÑиÑане"
+msgstr "Ðод за опаÑноÑÑ"
# src/LColor.C:75
#: lib/layouts/hpstatement.module:36 lib/layouts/hpstatement.module:39
-#, fuzzy
msgid "H-P statement"
-msgstr "акÑенÑ"
+msgstr "Ðод за опаÑноÑÑ"
# src/ext_l10n.h:285
#: lib/layouts/hpstatement.module:41
-#, fuzzy
msgid "Statement Text"
-msgstr "ÐÑепÑаÑка"
+msgstr "ÐпиÑание"
#: lib/layouts/hpstatement.module:42
msgid "Text for statements that require some information"
-msgstr ""
+msgstr "ТекÑÑ Ð½Ð° опиÑание, коеÑо изиÑква нÑкаква инÑоÑмаÑиÑ"
#: lib/layouts/ijmpc.layout:3 lib/examples/Articles:0
msgid "Int. Journal of Modern Physics C"
-msgstr ""
+msgstr "ÐеждÑн. жÑÑнал за модеÑна Ñизика"
# src/ext_l10n.h:175
#: lib/layouts/ijmpc.layout:75 lib/layouts/ijmpd.layout:80
-#, fuzzy
msgid "Author Names"
-msgstr "ÐвÑоÑ"
+msgstr "Ðмена на авÑоÑ"
#: lib/layouts/ijmpc.layout:76 lib/layouts/ijmpd.layout:81
msgid "Author names that will appear in the header line"
-msgstr ""
+msgstr "Ðмена на авÑоÑа, коиÑо Ñе Ñе поÑвÑÑ Ð² Ð·Ð°Ð³Ð»Ð°Ð²Ð½Ð¸Ñ Ñед"
# src/LColor.C:84
#: lib/layouts/ijmpc.layout:92 lib/layouts/ijmpc.layout:96
@@ -16192,19 +15907,17 @@ msgstr "ÐÑедположение \\theconjecture."
# src/BufferView2.C:581 src/LyXAction.C:169 src/MenuBackend.C:432
#: lib/layouts/ijmpc.layout:489 lib/layouts/theorems-without-preamble.inc:142
-#, fuzzy
msgid "Prop"
-msgstr "ÐопиÑай"
+msgstr "ТвÑÑдение"
# src/LColor.C:64
#: lib/layouts/ijmpc.layout:509 lib/layouts/ijmpd.layout:533
-#, fuzzy
msgid "Appendix \\Alph{appendix}."
-msgstr "избоÑ"
+msgstr "ÐÑиложение \\Alph{appendix}."
#: lib/layouts/ijmpd.layout:3 lib/examples/Articles:0
msgid "Int. Journal of Modern Physics D"
-msgstr ""
+msgstr "ÐеждÑн. жÑÑнал за модеÑна Ñизика D"
# src/ext_l10n.h:262 src/frontends/gnome/FormIndex.C:89
# src/frontends/xforms/form_index.C:28
@@ -16215,35 +15928,35 @@ msgstr "ÐлÑÑова дÑма"
# src/ext_l10n.h:320
#: lib/layouts/ijmpd.layout:515 lib/layouts/theorems-without-preamble.inc:140
-#, fuzzy
msgid "Prop(osition)"
msgstr "ТвÑÑдение"
#: lib/layouts/initials.module:2
msgid "Initials (Drop Caps)"
-msgstr ""
+msgstr "ÐаÑални бÑкви (заглавки)"
#: lib/layouts/initials.module:7
msgid ""
"Defines a style for paragraphs with an enlarged initial letter (drop cap). "
"See the EmbeddedObjects manual for a detailed description."
msgstr ""
+"ÐеÑиниÑа ÑÑил за абзаÑи Ñ Ñголемена наÑална бÑква - заглавка. ÐбÑÑнеÑе Ñе "
+"кÑм ÑÑководÑÑвоÑо за вгÑадени обекÑи за пÑлно опиÑание."
# src/lyxfont.C:51
#: lib/layouts/initials.module:15 lib/layouts/initials.module:17
#: lib/layouts/initials.module:27 lib/layouts/initials.module:33
#: lib/layouts/initials.module:40
-#, fuzzy
msgid "Initial"
-msgstr "ÐÑÑÑив"
+msgstr "Ðаглавка"
#: lib/layouts/initials.module:36
msgid "Option(s) for the initial"
-msgstr ""
+msgstr "ÐпÑии на заглавка"
#: lib/layouts/initials.module:41
msgid "Initial letter(s)"
-msgstr ""
+msgstr "ÐаÑални бÑкви"
# src/lyxfont.C:51
#: lib/layouts/initials.module:45
@@ -16257,7 +15970,7 @@ msgstr ""
#: lib/layouts/iopart.layout:3 lib/examples/Articles:0
msgid "Institute of Physics (IOP)"
-msgstr ""
+msgstr "ÐнÑÑиÑÑÑ Ð¿Ð¾ Ñизика"
#: lib/layouts/iopart.layout:68 lib/layouts/jasatex.layout:76
msgid "Short title that will appear in header line"
@@ -16495,23 +16208,21 @@ msgstr "СÑаÑÐ¸Ñ Ð½Ð° ÑпоÑки (ÑÑандаÑÑен вид)"
#: lib/layouts/jasatex.layout:3 lib/examples/Articles:0
msgid "Journal of the Acoustical Society of America (JASA)"
-msgstr ""
+msgstr "ÐÑÑнал на акÑÑÑиÑноÑо обÑеÑÑво в ÐмеÑика (JASA)"
# src/frontends/xforms/form_preferences.C:278
#: lib/layouts/jasatex.layout:137
-#, fuzzy
msgid "Alternative Affiliation"
-msgstr "Ðзползвай алÑеÑнаÑивен език"
+msgstr "ÐлÑеÑнаÑивна пÑинадлежноÑÑ"
# src/ext_l10n.h:221
#: lib/layouts/jasatex.layout:142
-#, fuzzy
msgid "Affiliation Prefix"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "ÐÑеÑÐ¸ÐºÑ Ð½Ð° пÑинадлежноÑÑ"
#: lib/layouts/jasatex.layout:143
msgid "A prefix like 'Also at '"
-msgstr ""
+msgstr "ÐÑеÑÐ¸ÐºÑ ÐºÐ°Ñо âСÑÑо и кÑм â"
# src/mathed/formula.C:929
#: lib/layouts/jasatex.layout:264 lib/layouts/revtex4-x.inc:200
@@ -16521,21 +16232,18 @@ msgstr "ÐомеÑиÑане"
# src/frontends/kde/dlg/printdlgdata.C:116
#: lib/layouts/jasatex.layout:277
-#, fuzzy
msgid "Preprint number"
-msgstr "(&P)ÐеÑаÑ"
+msgstr "ÐÑедпеÑаÑен номеÑ"
# src/frontends/kde/dlg/printdlgdata.C:116
#: lib/layouts/jasatex.layout:280
-#, fuzzy
msgid "Preprint number:"
-msgstr "(&P)ÐеÑаÑ"
+msgstr "ÐÑедпеÑаÑен номеÑ:"
# src/LyXAction.C:164
-#: lib/layouts/jasatex.layout:305 lib/layouts/jasatex.layout:309
-#, fuzzy
+#: lib/layouts/jasatex.layout:305 lib/layouts/jasatex.layout:309Ñ
msgid "Online citation"
-msgstr "ÐмÑкни ÑиÑаÑ"
+msgstr "ЦиÑÐ°Ñ Ð² Ñеда"
#: lib/layouts/jbook.layout:3
msgid "Japanese Book (Standard Class)"
@@ -16543,7 +16251,7 @@ msgstr "Ðнига на ÑпонÑки (ÑÑандаÑÑен вид)"
#: lib/layouts/jgrga.layout:3
msgid "American Geophysical Union (AGUPLUS JGR)"
-msgstr ""
+msgstr "ÐмеÑиканÑки геоÑизиÑеÑки ÑÑÑз (AGUPLUS JGR)"
#: lib/layouts/jreport.layout:3
msgid "Japanese Report (Standard Class)"
@@ -16559,19 +16267,17 @@ msgstr "Ðнига на ÑпонÑки (JS клаÑ)"
#: lib/layouts/jss.layout:3 lib/examples/Articles:0
msgid "Journal of Statistical Software (JSS) version 2"
-msgstr ""
+msgstr "ÐÑÑнал за ÑÑаÑиÑÑиÑеÑки ÑоÑÑÑÐµÑ (JSS) веÑÑÐ¸Ñ 2"
# src/ext_l10n.h:263
#: lib/layouts/jss.layout:111
-#, fuzzy
msgid "Plain Keywords"
-msgstr "ÐлÑÑови дÑма"
+msgstr "ÐлÑÑови дÑми"
# src/ext_l10n.h:263
#: lib/layouts/jss.layout:114
-#, fuzzy
msgid "Plain Keywords:"
-msgstr "ÐлÑÑови дÑма"
+msgstr "ÐлÑÑови дÑми:"
# src/ext_l10n.h:375
#: lib/layouts/jss.layout:117
@@ -16633,9 +16339,8 @@ msgstr "Ðод"
# src/ext_l10n.h:201
#: lib/layouts/jss.layout:178 lib/layouts/logicalmkup.module:75
-#, fuzzy
msgid "code"
-msgstr "Ðод"
+msgstr "код"
#: lib/layouts/jss.layout:190 lib/layouts/jss.layout:200
msgid "Code Chunk"
@@ -16682,9 +16387,8 @@ msgstr "Rnw (knitr)"
# src/LaTeXLog.C:59 src/LaTeXLog.C:62
#: lib/layouts/knitr.module:3 lib/layouts/noweb.module:3
#: lib/layouts/sweave.module:3
-#, fuzzy
msgid "Literate Programming"
-msgstr "Ðе е намеÑен LaTeX Ñайл-пÑоÑокол"
+msgstr "ÐоÑловно пÑогÑамиÑане"
#: lib/layouts/knitr.module:7
msgid ""
@@ -16692,6 +16396,9 @@ msgid ""
"has to be installed for this module to work: install.packages('knitr'). Note "
"it depends on R >= 2.14.1. For more info see http://yihui.name/knitr"
msgstr ""
+"Ðзползване на пакеÑа âknitrâ на R зе динамиÑно генеÑиÑане на доклади. Ðа да "
+"ÑабоÑи Ñози модÑл R пакеÑа ÑÑÑбва да бÑде инÑÑалиÑан: install.package('knitr'). "
+"ÐеÑÑиÑÑа на R ÑÑÑбва да е >= 2.14.1. Ðа повеÑе инÑоÑмаÑÐ¸Ñ http://yihui.name/knitr"
#: lib/layouts/knitr.module:14 lib/layouts/litinsets.inc:12
#: lib/layouts/sweave.module:14
@@ -16724,35 +16431,31 @@ msgstr "ÑекÑÑ"
# src/bufferlist.C:113 src/bufferlist.C:189
#: lib/layouts/landscape.module:2
-#, fuzzy
msgid "Landscape Document Parts"
-msgstr "Ðапазване на докÑменÑа?"
+msgstr "Ðейзажни ÑаÑÑи Ð¾Ñ Ð´Ð¾ÐºÑменÑа"
#: lib/layouts/landscape.module:6
msgid "Output parts of the document in landscape mode."
-msgstr ""
+msgstr "ÐÑедÑÑÐ°Ð²Ñ ÑаÑÑи Ð¾Ñ Ð´Ð¾ÐºÑменÑа в пейзажен Ñежим."
# src/frontends/xforms/form_preferences.C:920
#: lib/layouts/landscape.module:11 lib/layouts/landscape.module:16
-#, fuzzy
msgid "Landscape"
-msgstr "Ðей&заж"
+msgstr "Ðейзаж"
# src/frontends/xforms/form_preferences.C:920
#: lib/layouts/landscape.module:26
-#, fuzzy
msgid "Landscape (Floating)"
-msgstr "пейзаж"
+msgstr "Ðейзаж плаваÑ"
# src/frontends/xforms/form_preferences.C:920
#: lib/layouts/landscape.module:29
-#, fuzzy
msgid "Landscape (floating)"
-msgstr "пейзаж"
+msgstr "Ðейзаж плаваÑ"
#: lib/layouts/latex8.layout:3 lib/examples/Articles:0
msgid "Latex8 Article (Obsolete)"
-msgstr ""
+msgstr "СÑаÑÐ¸Ñ Latex8 (оÑÑаÑÑл)"
#: lib/layouts/letter.layout:3 lib/examples/Articles:0
msgid "Letter (Standard Class)"
@@ -16764,44 +16467,39 @@ msgstr "ФÑенÑко пиÑмо (lettre)"
# src/ext_l10n.h:384
#: lib/layouts/lettre.layout:46 lib/layouts/lettre.layout:351
-#, fuzzy
msgid "NoTelephone"
-msgstr "ТелеÑон"
+msgstr "Ðез ÑелеÑон"
#: lib/layouts/lettre.layout:50 lib/layouts/lettre.layout:416
#: lib/layouts/lettre.layout:424
msgid "NoFax"
-msgstr ""
+msgstr "Ðез ÑакÑ"
# src/BufferView2.C:601 src/LyXAction.C:346 src/MenuBackend.C:433
#: lib/layouts/lettre.layout:56 lib/layouts/lettre.layout:205
#: lib/layouts/lettre.layout:212
-#, fuzzy
msgid "NoPlace"
-msgstr "Ðалепи"
+msgstr "Ðез мÑÑÑо"
# src/ext_l10n.h:217
#: lib/layouts/lettre.layout:60 lib/layouts/lettre.layout:263
#: lib/layouts/lettre.layout:271
-#, fuzzy
msgid "NoDate"
-msgstr "ÐаÑа"
+msgstr "Ðез даÑа"
# src/frontends/xforms/form_document.C:120
#: lib/layouts/lettre.layout:80 lib/layouts/lettre.layout:721
-#, fuzzy
msgid "Post Scriptum"
-msgstr "Postscript"
+msgstr "ÐоÑлеÑлов"
#: lib/layouts/lettre.layout:82 lib/layouts/lettre.layout:585
msgid "EndOfMessage"
-msgstr ""
+msgstr "ÐÑай на ÑÑобÑение"
# src/layout_forms.C:28
#: lib/layouts/lettre.layout:84 lib/layouts/lettre.layout:606
-#, fuzzy
msgid "EndOfFile"
-msgstr "СеÑиÑ(S):|#S"
+msgstr "ÐÑай на Ñайл"
# src/buffer.C:329
#: lib/layouts/lettre.layout:171 lib/layouts/lettre.layout:206
@@ -16815,27 +16513,23 @@ msgstr "ÐÑеÑка пÑи ÑенеÑе Ð¾Ñ "
# src/lyxfont.C:56
#: lib/layouts/lettre.layout:182
-#, fuzzy
msgid "City:"
-msgstr "ÐÑебен"
+msgstr "ÐÑад:"
# src/lyxfont.C:62
#: lib/layouts/lettre.layout:291
-#, fuzzy
msgid "Office:"
-msgstr "Ðзкл."
+msgstr "ÐÑиÑ:"
# src/ext_l10n.h:385
#: lib/layouts/lettre.layout:324
-#, fuzzy
msgid "Tel:"
-msgstr "ТелекÑ"
+msgstr "Тел.:"
# src/frontends/kde/parageneraldlg.C:37 src/frontends/kde/parageneraldlg.C:44
#: lib/layouts/lettre.layout:359
-#, fuzzy
msgid "NoTel"
-msgstr "ÐÑма"
+msgstr "Ðез Ñел."
#: lib/layouts/lettre.layout:595
msgid "EndOfMessage."
@@ -17104,235 +16798,235 @@ msgstr ""
msgid "Tree"
msgstr ""
-#: lib/layouts/linguistics.module:286 lib/layouts/linguistics.module:288
+#: lib/layouts/linguistics.module:287 lib/layouts/linguistics.module:289
msgid "DRS"
msgstr ""
-#: lib/layouts/linguistics.module:289
+#: lib/layouts/linguistics.module:290
msgid "Discourse Representation Structure|D"
msgstr ""
# src/ext_l10n.h:329
-#: lib/layouts/linguistics.module:301 lib/layouts/linguistics.module:448
+#: lib/layouts/linguistics.module:302 lib/layouts/linguistics.module:449
#, fuzzy
msgid "Referents"
msgstr "ÐÑепÑаÑки"
# src/ext_l10n.h:329
-#: lib/layouts/linguistics.module:302 lib/layouts/linguistics.module:449
+#: lib/layouts/linguistics.module:303 lib/layouts/linguistics.module:450
#, fuzzy
msgid "DRS Referents"
msgstr "ÐÑепÑаÑки"
-#: lib/layouts/linguistics.module:303 lib/layouts/linguistics.module:450
+#: lib/layouts/linguistics.module:304 lib/layouts/linguistics.module:451
msgid "Add the DRS referents (universe) here"
msgstr ""
-#: lib/layouts/linguistics.module:310 lib/layouts/linguistics.module:312
+#: lib/layouts/linguistics.module:311 lib/layouts/linguistics.module:313
msgid "DRS*"
msgstr ""
-#: lib/layouts/linguistics.module:313
+#: lib/layouts/linguistics.module:314
msgid "Discourse Representation Structure (unspaced)|u"
msgstr ""
-#: lib/layouts/linguistics.module:318
+#: lib/layouts/linguistics.module:319
msgid "IfThen-DRS"
msgstr ""
-#: lib/layouts/linguistics.module:320 lib/layouts/linguistics.module:321
+#: lib/layouts/linguistics.module:321 lib/layouts/linguistics.module:322
msgid "If-Then DRS"
msgstr ""
# src/ext_l10n.h:329
-#: lib/layouts/linguistics.module:325 lib/layouts/linguistics.module:360
-#: lib/layouts/linguistics.module:404
+#: lib/layouts/linguistics.module:326 lib/layouts/linguistics.module:361
+#: lib/layouts/linguistics.module:405
#, fuzzy
msgid "Then-Referents"
msgstr "ÐÑепÑаÑки"
-#: lib/layouts/linguistics.module:326 lib/layouts/linguistics.module:335
-#: lib/layouts/linguistics.module:361 lib/layouts/linguistics.module:370
-#: lib/layouts/linguistics.module:405 lib/layouts/linguistics.module:414
+#: lib/layouts/linguistics.module:327 lib/layouts/linguistics.module:336
+#: lib/layouts/linguistics.module:362 lib/layouts/linguistics.module:371
+#: lib/layouts/linguistics.module:406 lib/layouts/linguistics.module:415
msgid "DRS Then-Referents"
msgstr ""
-#: lib/layouts/linguistics.module:327 lib/layouts/linguistics.module:362
-#: lib/layouts/linguistics.module:406
+#: lib/layouts/linguistics.module:328 lib/layouts/linguistics.module:363
+#: lib/layouts/linguistics.module:407
msgid "Add the DRS then-referents (universe) here"
msgstr ""
# src/ext_l10n.h:205
-#: lib/layouts/linguistics.module:334 lib/layouts/linguistics.module:369
-#: lib/layouts/linguistics.module:413
+#: lib/layouts/linguistics.module:335 lib/layouts/linguistics.module:370
+#: lib/layouts/linguistics.module:414
#, fuzzy
msgid "Then-Conditions"
msgstr "УÑловие"
-#: lib/layouts/linguistics.module:336 lib/layouts/linguistics.module:371
-#: lib/layouts/linguistics.module:415
+#: lib/layouts/linguistics.module:337 lib/layouts/linguistics.module:372
+#: lib/layouts/linguistics.module:416
msgid "Add the DRS then-conditions here"
msgstr ""
-#: lib/layouts/linguistics.module:344
+#: lib/layouts/linguistics.module:345
msgid "Cond-DRS"
msgstr ""
-#: lib/layouts/linguistics.module:346
+#: lib/layouts/linguistics.module:347
msgid "Cond. DRS"
msgstr ""
# src/ext_l10n.h:205
-#: lib/layouts/linguistics.module:347
+#: lib/layouts/linguistics.module:348
#, fuzzy
msgid "Conditional DRS"
msgstr "УÑловие"
# src/ext_l10n.h:205
-#: lib/layouts/linguistics.module:351
+#: lib/layouts/linguistics.module:352
#, fuzzy
msgid "Cond."
msgstr "УÑловие"
# src/ext_l10n.h:205
-#: lib/layouts/linguistics.module:352
+#: lib/layouts/linguistics.module:353
#, fuzzy
msgid "DRS Condition"
msgstr "УÑловие"
# src/LyXAction.C:250
-#: lib/layouts/linguistics.module:353
+#: lib/layouts/linguistics.module:354
#, fuzzy
msgid "Add the DRS condition here"
msgstr "ÐмÑкване на опÑииÑе ÑÑк"
-#: lib/layouts/linguistics.module:379
+#: lib/layouts/linguistics.module:380
msgid "QDRS"
msgstr ""
-#: lib/layouts/linguistics.module:381
+#: lib/layouts/linguistics.module:382
msgid "Dupl. Cond. DRS"
msgstr ""
# src/ext_l10n.h:205
-#: lib/layouts/linguistics.module:382
+#: lib/layouts/linguistics.module:383
#, fuzzy
msgid "Duplex Condition DRS"
msgstr "УÑловие"
-#: lib/layouts/linguistics.module:386
+#: lib/layouts/linguistics.module:387
msgid "Quant."
msgstr ""
-#: lib/layouts/linguistics.module:387
+#: lib/layouts/linguistics.module:388
msgid "DRS Quantifier"
msgstr ""
-#: lib/layouts/linguistics.module:388
+#: lib/layouts/linguistics.module:389
msgid "Add the DRS duplex quantifier here"
msgstr ""
-#: lib/layouts/linguistics.module:395
+#: lib/layouts/linguistics.module:396
msgid "Quant. Var."
msgstr ""
-#: lib/layouts/linguistics.module:396
+#: lib/layouts/linguistics.module:397
msgid "DRS Quantifier Variable"
msgstr ""
-#: lib/layouts/linguistics.module:397
+#: lib/layouts/linguistics.module:398
msgid "Add the DRS duplex quantifier variables here"
msgstr ""
-#: lib/layouts/linguistics.module:424
+#: lib/layouts/linguistics.module:425
msgid "NegDRS"
msgstr ""
-#: lib/layouts/linguistics.module:426
+#: lib/layouts/linguistics.module:427
msgid "Neg. DRS"
msgstr ""
-#: lib/layouts/linguistics.module:427
+#: lib/layouts/linguistics.module:428
msgid "Negated DRS"
msgstr ""
-#: lib/layouts/linguistics.module:432
+#: lib/layouts/linguistics.module:433
msgid "SDRS"
msgstr ""
-#: lib/layouts/linguistics.module:434
+#: lib/layouts/linguistics.module:435
msgid "Sent. DRS"
msgstr ""
-#: lib/layouts/linguistics.module:435
+#: lib/layouts/linguistics.module:436
msgid "DRS with Sentence above"
msgstr ""
# src/ext_l10n.h:102
-#: lib/layouts/linguistics.module:439
+#: lib/layouts/linguistics.module:440
#, fuzzy
msgid "Sentence"
msgstr "ÐÑай на изÑеÑение|з"
# src/ext_l10n.h:102
-#: lib/layouts/linguistics.module:440
+#: lib/layouts/linguistics.module:441
#, fuzzy
msgid "DRS Sentence"
msgstr "ÐÑай на изÑеÑение|з"
# src/frontends/gnome/FormCitation.C:560
-#: lib/layouts/linguistics.module:441
+#: lib/layouts/linguistics.module:442
#, fuzzy
msgid "Add the sentence here"
msgstr "ÐобавÑна на избÑаниÑе ÑÐ°Ð·ÐºÐ»Ð¾Ð½ÐµÐ½Ð¸Ñ ÐºÑм ÑпиÑÑка."
# src/lyxfunc.C:1125
-#: lib/layouts/linguistics.module:462
+#: lib/layouts/linguistics.module:463
msgid "Expression"
msgstr "ÐзÑаз"
# src/LColor.C:63
-#: lib/layouts/linguistics.module:464
+#: lib/layouts/linguistics.module:465
#, fuzzy
msgid "expr."
msgstr "ÑекÑÑ"
# src/LColor.C:75
-#: lib/layouts/linguistics.module:476
+#: lib/layouts/linguistics.module:477
msgid "Concepts"
msgstr "ÐоÑепÑии"
# src/LColor.C:75
-#: lib/layouts/linguistics.module:478
+#: lib/layouts/linguistics.module:479
#, fuzzy
msgid "concept"
msgstr "акÑенÑ"
# src/ext_l10n.h:298
-#: lib/layouts/linguistics.module:490
+#: lib/layouts/linguistics.module:491
msgid "Meaning"
msgstr "ÐнаÑение"
# src/ext_l10n.h:298
-#: lib/layouts/linguistics.module:492
+#: lib/layouts/linguistics.module:493
#, fuzzy
msgid "meaning"
msgstr "ÐÑваÑÑне"
# src/frontends/xforms/FormTabular.C:133
-#: lib/layouts/linguistics.module:505
+#: lib/layouts/linguistics.module:506
msgid "Tableaux"
msgstr "ТаблиÑи"
# src/frontends/xforms/FormTabular.C:133
-#: lib/layouts/linguistics.module:509
+#: lib/layouts/linguistics.module:510
msgid "Tableau"
msgstr "ТаблиÑа"
# src/frontends/gnome/FormToc.C:108 src/frontends/gnome/FormToc.C:185
# src/frontends/kde/FormToc.C:177 src/frontends/kde/FormToc.C:178
# src/frontends/kde/tocdlg.C:30 src/insets/insettoc.C:28
-#: lib/layouts/linguistics.module:514
+#: lib/layouts/linguistics.module:515
msgid "List of Tableaux"
msgstr "СпиÑÑк на ÑаблиÑиÑе"
@@ -17366,9 +17060,8 @@ msgstr "Ðлава"
# src/LaTeX.C:223
#: lib/layouts/llncs.layout:158
-#, fuzzy
msgid "Running LaTeX Title"
-msgstr "СÑаÑÑиÑам BibTeX."
+msgstr "ÐовÑаÑÑÑо Ñе заглавие на LaTeX"
# src/ext_l10n.h:395 src/frontends/gnome/FormCitation.C:529
#: lib/layouts/llncs.layout:181 lib/layouts/svcommon.inc:413
@@ -17472,58 +17165,51 @@ msgstr "РеÑение #."
# src/frontends/gnome/FormRef.C:49 src/frontends/xforms/FormRef.C:214
#: lib/layouts/logicalmkup.module:2
-#, fuzzy
msgid "Logical Markup"
-msgstr "ÐбÑаÑно"
+msgstr "ÐогиÑеÑко оÑкÑоÑване"
# src/frontends/gnome/FormCitation.C:549
# src/frontends/gnome/FormCitation.C:639 src/frontends/kde/citationdlg.C:54
#: lib/layouts/logicalmkup.module:3 lib/layouts/soul.module:3
-#, fuzzy
msgid "Text Markup"
-msgstr "ТекÑÑ Ñлед"
+msgstr "ÐÑкÑоÑване ÑекÑÑ"
#: lib/layouts/logicalmkup.module:6
msgid ""
"Defines some character styles for logical markup: noun, emph, strong, and "
"code."
msgstr ""
+"ÐеÑиниÑа нÑколко ÑÑила за оÑкÑоÑване на ÑекÑÑ: ânounâ, âemphâ, âstrongâ и âcodeâ."
# src/lyxfont.C:407
#: lib/layouts/logicalmkup.module:11
-#, fuzzy
msgid "Noun"
-msgstr "СÑÑеÑÑвиÑелно "
+msgstr "СÑÑеÑÑвиÑелно"
# src/LColor.C:52
#: lib/layouts/logicalmkup.module:13
-#, fuzzy
msgid "noun"
-msgstr "нÑма"
+msgstr "ÑÑÑ."
# src/lyxfont.C:401
#: lib/layouts/logicalmkup.module:35
-#, fuzzy
msgid "Emph"
-msgstr "ÐаблÑгане "
+msgstr "ÐаблÑгане"
# src/lyxfont.C:401
#: lib/layouts/logicalmkup.module:37
-#, fuzzy
msgid "emph"
-msgstr "ÐаблÑгане "
+msgstr "наблÑгане"
# src/ext_l10n.h:274
#: lib/layouts/logicalmkup.module:52
-#, fuzzy
msgid "Strong"
-msgstr "СпиÑÑк"
+msgstr "УÑилване"
# src/ext_l10n.h:274
#: lib/layouts/logicalmkup.module:54
-#, fuzzy
msgid "strong"
-msgstr "СпиÑÑк"
+msgstr "ÑÑилване"
#: lib/layouts/ltugboat.layout:3
msgid "TUGboat"
@@ -17536,15 +17222,13 @@ msgstr "СÑаÑÐ¸Ñ Ð½Ð° ÐмеÑиканÑкоÑо ÐаÑемаÑиÑеÑко
# src/frontends/xforms/form_document.C:244
#: lib/layouts/maa-monthly.layout:67
-#, fuzzy
msgid "Abbreviated Title"
-msgstr "ÐÐ±Ð·Ð°Ñ ÑазделÑне"
+msgstr "СÑкÑаÑено заглавие"
# src/ext_l10n.h:187
#: lib/layouts/maa-monthly.layout:78 lib/layouts/maa-monthly.layout:81
-#, fuzzy
msgid "Biographies"
-msgstr "ÐиогÑаÑиÑ"
+msgstr "ÐиогÑаÑии"
# src/ext_l10n.h:187
#: lib/layouts/maa-monthly.layout:99 lib/layouts/maa-monthly.layout:108
@@ -17729,25 +17413,23 @@ msgstr ""
# src/LColor.C:67
#: lib/layouts/memoir.layout:329
-#, fuzzy
msgid "Endnotes (all)"
-msgstr "бележка"
+msgstr "Ðележки в кÑÐ°Ñ (вÑиÑки)"
#: lib/layouts/memoir.layout:337
msgid "Endnotes (sectioned)"
-msgstr ""
+msgstr "Ðележки в кÑÐ°Ñ (по Ñаздели)"
# src/frontends/xforms/FormPreferences.C:247
# src/frontends/xforms/FormPreferences.C:264
# src/frontends/xforms/FormPreferences.C:272 src/mathed/math_forms.C:46
#: lib/layouts/minimalistic.module:2
-#, fuzzy
msgid "Minimalistic Insets"
-msgstr "РазлиÑни"
+msgstr "ÐинималиÑÑиÑни добавки"
#: lib/layouts/minimalistic.module:6
msgid "Redefines several insets (Index, Branch, URL) as being Minimalistic."
-msgstr ""
+msgstr "ÐÑедеÑиниÑÐ°Ñ Ñе нÑкои добавки (индекÑ, Ñазклонение, URL) да Ñа âминималиÑÑиÑниâ."
#: lib/layouts/moderncv.layout:3 lib/examples/Articles:0
msgid "Modern CV"
@@ -17755,15 +17437,13 @@ msgstr "ÐодеÑна авÑобиогÑаÑиÑ"
# src/insets/insetbib.C:340
#: lib/layouts/moderncv.layout:39
-#, fuzzy
msgid "CVStyle"
-msgstr "СÑил: "
+msgstr "СÑил авÑобиогÑаÑиÑ"
# src/insets/insetbib.C:340
#: lib/layouts/moderncv.layout:48
-#, fuzzy
msgid "CV Style:"
-msgstr "СÑил: "
+msgstr "СÑил на авÑобиогÑаÑиÑ: "
# src/frontends/xforms/form_preferences.C:926
#: lib/layouts/moderncv.layout:54
@@ -17804,9 +17484,8 @@ msgstr "Ðолони "
# src/mathed/math_forms.C:140
#: lib/layouts/moderncv.layout:83
-#, fuzzy
msgid "Column Width:"
-msgstr "Ðолони "
+msgstr "ШиÑина на колона:"
# src/frontends/kde/dlg/printdlgdata.C:42
#: lib/layouts/moderncv.layout:89
@@ -17866,42 +17545,37 @@ msgstr ""
# src/ext_l10n.h:78
#: lib/layouts/moderncv.layout:242
-#, fuzzy
msgid "Social"
-msgstr "СпеÑиален Ñимвол(S)|S"
+msgstr "СоÑиална мÑежа"
# src/ext_l10n.h:78
#: lib/layouts/moderncv.layout:245
-#, fuzzy
msgid "Social:"
-msgstr "СпеÑиален Ñимвол(S)|S"
+msgstr "СоÑиална мÑежа:"
# src/lyxrc.C:1838
#: lib/layouts/moderncv.layout:248
-#, fuzzy
msgid "Name of the social network"
-msgstr "УкажеÑе ÑÑандаÑÑÐ½Ð¸Ñ ÑÐ°Ð·Ð¼ÐµÑ Ð½Ð° Ñ
аÑÑиÑÑа."
+msgstr "Ðме на ÑоÑиалнаÑа мÑежа"
# src/frontends/xforms/FormDocument.C:279
# src/frontends/xforms/FormParagraph.C:133
#: lib/layouts/moderncv.layout:262
-#, fuzzy
msgid "ExtraInfo"
-msgstr "ÐкÑÑÑи"
+msgstr "Ðоп. инÑоÑмаÑиÑ"
# src/lyx.C:90
#: lib/layouts/moderncv.layout:265
-#, fuzzy
msgid "Extra Info:"
-msgstr "РедакÑиÑай Ñайл(E)|#E"
+msgstr "Ðоп. инÑоÑмаÑиÑ:"
#: lib/layouts/moderncv.layout:286
msgid "Photo:"
-msgstr ""
+msgstr "Снимка:"
#: lib/layouts/moderncv.layout:289
msgid "Height the photo is resized to"
-msgstr ""
+msgstr "ÐиÑоÑина до коÑÑо Ñе пÑеоÑазмеÑÑва ÑнимкаÑа"
# src/frontends/kde/parageneraldlg.C:40 src/frontends/kde/parageneraldlg.C:47
#: lib/layouts/moderncv.layout:293
@@ -17915,15 +17589,13 @@ msgstr ""
# src/ext_l10n.h:344
#: lib/layouts/moderncv.layout:344
-#, fuzzy
msgid "EmptySection"
-msgstr "Раздел"
+msgstr "ÐÑазен Ñаздел"
# src/ext_l10n.h:344
#: lib/layouts/moderncv.layout:350
-#, fuzzy
msgid "Empty Section"
-msgstr "Раздел"
+msgstr "ÐÑазен Ñаздел"
# src/LColor.C:64
#: lib/layouts/moderncv.layout:369
@@ -18180,9 +17852,8 @@ msgstr "ÐаÑваÑÑне"
# src/frontends/xforms/form_preferences.C:278
#: lib/layouts/moderncv.layout:706 lib/layouts/svcommon.inc:593
-#, fuzzy
msgid "Alternative Name"
-msgstr "Ðзползвай алÑеÑнаÑивен език"
+msgstr "ÐлÑеÑнаÑивно име"
#: lib/layouts/moderncv.layout:707
msgid "Alternative instead of 'Enclosure'"
@@ -18196,9 +17867,8 @@ msgstr "ÐаÑваÑÑне"
# src/ext_l10n.h:61
#: lib/layouts/multicol.module:2 lib/layouts/multicol.module:12
-#, fuzzy
msgid "Multiple Columns"
-msgstr "Ðногоколонно(M)|M"
+msgstr "ÐножеÑÑво колони"
#: lib/layouts/multicol.module:8
msgid ""
@@ -18214,9 +17884,8 @@ msgstr "ÐÑой колони"
# src/frontends/kde/paraextradlg.C:41
#: lib/layouts/multicol.module:21
-#, fuzzy
msgid "Insert the number of columns here"
-msgstr "ÐÑоÑÐµÐ½Ñ Ð¾Ñ ÐºÐ¾Ð»Ð¾Ð½Ð°"
+msgstr "ÐÑведеÑе бÑÐ¾Ñ ÐºÐ¾Ð»Ð¾Ð½Ð¸ ÑÑк"
# src/BufferView2.C:601 src/LyXAction.C:346 src/MenuBackend.C:433
#: lib/layouts/multicol.module:28 lib/layouts/svcommon.inc:606
@@ -18242,10 +17911,11 @@ msgid ""
"Free space that needs to be on the page to start the multiple columns on "
"this page"
msgstr ""
+"Свободно мÑÑÑо, коеÑо е нÑжно на Ñази ÑÑÑаниÑа за да запоÑÐ½Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾ колони"
#: lib/layouts/mwart.layout:3
msgid "Polish Article (MW Bundle)"
-msgstr ""
+msgstr "СÑаÑÐ¸Ñ Ð½Ð° полÑки (MW Bundle)"
#: lib/layouts/mwbk.layout:3
msgid "Polish Book (MW Bundle)"
@@ -18273,7 +17943,7 @@ msgstr "Noweb"
#: lib/layouts/noweb.module:6
msgid "Allows to use Noweb as a literate programming tool."
-msgstr ""
+msgstr "ÐозволÑва да Ñе използва Noweb каÑо инÑÑÑÑÐ¼ÐµÐ½Ñ Ð·Ð° доÑловно пÑогÑамиÑане"
# src/ext_l10n.h:373
#: lib/layouts/numarticle.inc:10 lib/layouts/powerdot.layout:249
@@ -18301,9 +17971,8 @@ msgstr "\\Roman{section}."
# src/LColor.C:64
#: lib/layouts/numrevtex.inc:10
-#, fuzzy
msgid "Appendix \\Alph{section}:"
-msgstr "избоÑ"
+msgstr "ÐÑиложение \\Alph{section}:"
# src/LColor.C:64
#: lib/layouts/numrevtex.inc:18
@@ -18341,9 +18010,8 @@ msgstr "Ðодзаглавие"
# src/insets/insetbib.C:219
#: lib/layouts/paralist.module:2 lib/examples/Articles:0
-#, fuzzy
msgid "Paragraph Lists (paralist)"
-msgstr "Ðибл. пеÑо"
+msgstr "СпиÑÑÑи Ñ Ð°Ð±Ð·Ð°Ñи (paralist)"
#: lib/layouts/paralist.module:11
msgid ""
@@ -18354,6 +18022,12 @@ msgid ""
"extended to use a similar optional argument. For details see Paralist in "
"Specific Manuals."
msgstr ""
+"ÐакеÑÑÑ âparalistâ пÑедоÑÑÐ°Ð²Ñ Ð½Ñколко нови ÑÑеди за изгоÑвÑне на ÑпиÑÑк. "
+"СпиÑÑÑи Ñ Ð½Ð¾Ð¼ÐµÑа и водеÑи знаÑи Ð¼Ð¾Ð³Ð°Ñ Ð´Ð° Ñе ÑÐ°Ð·Ð¿Ð¾Ð»Ð¾Ð¶Ð°Ñ Ð² абзаÑ, каÑо "
+"оÑделен абзаÑи или по ÑÐ±Ð¸Ñ Ð½Ð°Ñин. ÐовеÑеÑо ÑÑеди Ð¸Ð¼Ð°Ñ Ð½ÐµÐ·Ð°Ð´ÑлжиÑелни аÑгÑменÑи "
+"за ÑоÑмаÑиÑане на еÑикеÑиÑе. ÐопÑлниÑелно Ñа ÑазÑиÑени ÑÑедиÑе на LaTeX "
+"за номеÑиÑане и избÑоÑване да Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ñ Ñези паÑамеÑÑи. Ðа повеÑе "
+"инÑоÑмаÑÐ¸Ñ Ð²Ð¸Ð¶Ñе âParalistâ в ÑпеÑиализиÑаниÑе ÑÑководÑÑва."
# src/insets/insetfloat.C:150
#: lib/layouts/paralist.module:32 lib/layouts/paralist.module:39
@@ -18362,9 +18036,8 @@ msgstr ""
#: lib/layouts/paralist.module:93 lib/layouts/paralist.module:105
#: lib/layouts/paralist.module:114 lib/layouts/paralist.module:123
#: lib/layouts/paralist.module:135
-#, fuzzy
msgid "Optional arguments for this list (see paralist manual)"
-msgstr "ÐÑвоÑен Float Inset"
+msgstr "ÐезадÑлжиÑелни аÑгÑменÑи за Ñози ÑпиÑÑк (виж ÑÑководÑÑвоÑо на paralist)"
# src/ext_l10n.h:303
#: lib/layouts/paralist.module:49
@@ -18508,43 +18181,39 @@ msgstr "Ðме на аваÑаÑа"
#: lib/layouts/pdfcomment.module:42
msgid "Define PDF-Comment Style"
-msgstr ""
+msgstr "ÐеÑиниÑа ÑÑил Ñ PDF коменÑаÑи"
# src/frontends/xforms/form_document.C:262
#: lib/layouts/pdfcomment.module:45
-#, fuzzy
msgid "PDF-comment style:"
-msgstr "ШÑиÑÑ ÑазмеÑ(O):|#O"
+msgstr "СÑил за PDF коменÑаÑи:"
# src/lyxrc.C:1838
#: lib/layouts/pdfcomment.module:48
-#, fuzzy
msgid "Name of the style"
-msgstr "УкажеÑе ÑÑандаÑÑÐ½Ð¸Ñ ÑÐ°Ð·Ð¼ÐµÑ Ð½Ð° Ñ
аÑÑиÑÑа."
+msgstr "Ðме на ÑÑила"
#: lib/layouts/pdfcomment.module:53
msgid "Define PDF-Comment List Style"
-msgstr ""
+msgstr "ÐеÑиниÑане на ÑÑил за PDF-коменÑаÑи"
#: lib/layouts/pdfcomment.module:56
msgid "Definition of PDF-comment list style:"
-msgstr ""
+msgstr "ÐеÑиниÑане на ÑÑил за PDF-коменÑаÑи:"
# src/lyxrc.C:1838
#: lib/layouts/pdfcomment.module:59
-#, fuzzy
msgid "Name of the list style"
-msgstr "УкажеÑе ÑÑандаÑÑÐ½Ð¸Ñ ÑÐ°Ð·Ð¼ÐµÑ Ð½Ð° Ñ
аÑÑиÑÑа."
+msgstr "Ðме на ÑÑила за ÑпиÑÑк"
#: lib/layouts/pdfcomment.module:64
msgid "Set PDF-Comment List Style"
-msgstr ""
+msgstr "ÐаÑÑÑойки на ÑпиÑÑка Ñ PDF-коменÑаÑи"
# src/frontends/xforms/form_document.C:262
#: lib/layouts/pdfcomment.module:67
-#, fuzzy
msgid "PDF-comment list style:"
-msgstr "ШÑиÑÑ ÑазмеÑ(O):|#O"
+msgstr "СÑил на ÑпиÑÑк Ñ PDF-коменÑаÑи: "
#: lib/layouts/pdfcomment.module:71
msgid "PDF-Comment-Setup"
@@ -18703,13 +18372,12 @@ msgstr "[СпиÑÑк Ñ PDF коменÑаÑи]"
# src/frontends/xforms/form_preferences.C:926
#: lib/layouts/pdfcomment.module:236
-#, fuzzy
msgid "List Options|s"
-msgstr "допÑлниÑелни опÑии"
+msgstr "ÐпÑии на ÑпиÑÑк"
#: lib/layouts/pdfcomment.module:237
msgid "Insert list options here (see pdfcomment manual)"
-msgstr ""
+msgstr "ÐмÑкване на опÑии за ÑпиÑÑк ÑÑк (виж ÑÑководÑÑвоÑо за PDF-коменÑаÑи)"
# src/frontends/xforms/FormPreferences.C:252
#: lib/layouts/pdfform.module:2 lib/examples/Articles:0
@@ -18776,15 +18444,14 @@ msgstr "избоÑно менÑ"
# src/insets/insetbib.C:69 src/insets/insetbib.C:70 src/insets/insetbib.C:210
# src/insets/insetbib.C:211
-#: lib/layouts/pdfform.module:90 src/insets/InsetRef.cpp:602
+#: lib/layouts/pdfform.module:90 src/insets/InsetRef.cpp:604
msgid "Label"
msgstr "eÑикеÑ"
# src/LyXAction.C:250
#: lib/layouts/pdfform.module:93
-#, fuzzy
msgid "Insert the label here"
-msgstr "ÐмÑкни поÑледно индеÑк пеÑо"
+msgstr "ÐмÑкване на еÑÐ¸ÐºÐµÑ ÑÑк"
#: lib/layouts/pdfform.module:97 lib/layouts/pdfform.module:100
msgid "PushButton"
@@ -18964,9 +18631,8 @@ msgstr "СеÑиÑ(S):|#S"
# src/frontends/kde/tocdlg.C:57
#: lib/layouts/powerdot.layout:204
-#, fuzzy
msgid "Empty slide:"
-msgstr "ÐÑлбоÑина"
+msgstr "ÐÑазен кадÑÑ:"
# src/ext_l10n.h:344
#: lib/layouts/powerdot.layout:256
@@ -19194,7 +18860,7 @@ msgstr "ÐеÑиниÑиÑ"
#: lib/layouts/revtex4-x.inc:128 lib/layouts/revtex4.layout:236
#, fuzzy
msgid "Electronic Address:"
-msgstr "ÐдÑеÑи"
+msgstr "Ðл. адÑеÑ:"
# src/ext_l10n.h:163
#: lib/layouts/revtex4-x.inc:130 lib/layouts/revtex4.layout:233
@@ -19293,15 +18959,13 @@ msgstr "overset"
# src/mathed/math_panel.C:128
#: lib/layouts/revtex4-x.inc:366
-#, fuzzy
msgid "Online cite"
-msgstr "РазÑÑоÑние"
+msgstr "ЦиÑиÑане в Ñеда"
# src/mathed/math_panel.C:128
#: lib/layouts/revtex4-x.inc:370
-#, fuzzy
msgid "online cite"
-msgstr "РазÑÑоÑние"
+msgstr "ÑиÑиÑане в Ñеда"
# src/frontends/kde/dlg/parageneraldlgdata.C:151
#: lib/layouts/revtex4-x.inc:372
@@ -19315,13 +18979,12 @@ msgstr ""
#: lib/layouts/revtex4.layout:3 lib/examples/Articles:0
msgid "REVTeX (V. 4)"
-msgstr ""
+msgstr "REVTeX (V. 4)"
# src/ext_l10n.h:221
#: lib/layouts/revtex4.layout:192
-#, fuzzy
msgid "AltAffiliation"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "ÐÑинадлежноÑÑ"
# src/mathed/formula.C:929
#: lib/layouts/revtex4.layout:308
@@ -19331,7 +18994,7 @@ msgstr "ÐомеÑиÑане"
#: lib/layouts/rsphrase.module:2
msgid "Chemistry: Risk and Safety Statements"
-msgstr ""
+msgstr "ХимиÑ: ÐадпиÑи за ÑиÑк и безопаÑноÑÑ"
#: lib/layouts/rsphrase.module:8
msgid ""
@@ -19339,38 +19002,39 @@ msgid ""
"chemical risk and safety statements. For a description see the file R-S-"
"statements.lyx in LyX's examples folder."
msgstr ""
+"ÐÑедоÑÑÐ°Ð²Ñ Ð´Ð²Ðµ добавки и ÑÑеда за Ð½Ð°Ð±Ð¾Ñ Ð¾Ñ ÐºÐ¾Ð´Ð¾Ð²Ðµ и ÑÑази за Ñ
имиÑеÑки "
+"ÑиÑкове и безопаÑноÑÑ. Ðа опиÑание погледнеÑе Ñайла âR-S-statements.lyxâ"
+"в диÑекÑоÑиÑÑа на LyX за пÑимеÑни докÑменÑи."
# src/mathed/formula.C:929
#: lib/layouts/rsphrase.module:12 lib/layouts/rsphrase.module:17
-#, fuzzy
msgid "R-S number"
-msgstr "ÐомеÑиÑане"
+msgstr "Ðод за ÑиÑк"
#: lib/layouts/rsphrase.module:34 lib/layouts/rsphrase.module:37
msgid "R-S phrase"
-msgstr ""
+msgstr "ФÑаза за ÑиÑк"
#: lib/layouts/rsphrase.module:40
msgid "Safety phrase"
-msgstr ""
+msgstr "ФÑаза за безопаÑноÑÑ"
# src/ext_l10n.h:386
#: lib/layouts/rsphrase.module:47
-#, fuzzy
msgid "Phrase Text"
-msgstr "ÐлагодаÑÑ"
+msgstr "ТекÑÑ Ð½Ð° ÑÑаза"
#: lib/layouts/rsphrase.module:48
msgid "Argument for statements that requires to specify additional information"
-msgstr ""
+msgstr "ÐÑгÑÐ¼ÐµÐ½Ñ Ð½Ð° надпиÑи, коиÑо изиÑÐºÐ²Ð°Ñ Ð´Ð° ÑÑоÑниÑе дапÑлниÑелна инÑоÑмаÑиÑ"
#: lib/layouts/rsphrase.module:61
msgid "S phrase:"
-msgstr ""
+msgstr "ФÑаза за безопаÑноÑÑ:"
#: lib/layouts/ruby.module:2
msgid "Ruby (Furigana)"
-msgstr ""
+msgstr "Ð Ñби (ФÑÑигама)"
#: lib/layouts/ruby.module:8
msgid ""
@@ -19378,26 +19042,27 @@ msgid ""
"characters. Uses the okumakro, luatexja-ruby, or ruby package (depending on "
"the TeX engine) or a fallback definition."
msgstr ""
+"ÐеÑиниÑа добавка за двe ÑонеÑиÑни подÑказки - ÑÑби и ÑÑÑигама за киÑайÑки "
+"Ñимволи. Ðзползва пакеÑиÑе okumakro, luatexja-ruby или ruby в завиÑимоÑÑ Ð¾Ñ "
+"TeX пÑогÑамаÑа или деÑиниÑии в кÑаен ÑлÑÑай."
#: lib/layouts/ruby.module:26 lib/layouts/ruby.module:35
msgid "Ruby"
-msgstr ""
+msgstr "Ð Ñби"
# src/lyx_gui_misc.C:430
#: lib/layouts/ruby.module:49
-#, fuzzy
msgid "ruby text"
-msgstr "ÐзÑÑий(e)|#e"
+msgstr "ÑÑби ÑекÑÑ"
# src/ext_l10n.h:41
#: lib/layouts/ruby.module:50
-#, fuzzy
msgid "Ruby Text|R"
-msgstr "ÐопиÑай(o)|o"
+msgstr "Ð Ñби ÑекÑÑ|Ð "
#: lib/layouts/ruby.module:51
msgid "Reading aid (ruby, furigana) for Chinese characters."
-msgstr ""
+msgstr "ÐомоÑник пÑи ÑеÑене (ÑÑби, ÑÑÑигана) за киÑайÑки знаÑи."
# src/frontends/xforms/FormPreferences.C:226
# src/frontends/xforms/FormPreferences.C:255
@@ -19409,49 +19074,42 @@ msgstr "ÐонвеÑÑоÑи"
# src/ext_l10n.h:328 src/frontends/kde/refdlg.C:62
# src/frontends/xforms/FormRef.C:36
#: lib/layouts/sciposter.layout:34 lib/layouts/sigplanconf.layout:73
-#, fuzzy
msgid "Conference"
-msgstr "ÐÑепÑаÑка"
+msgstr "ÐонÑеÑенÑиÑ"
# src/frontends/kde/dlg/parageneraldlgdata.C:120
#: lib/layouts/sciposter.layout:40
-#, fuzzy
msgid "LeftLogo"
-msgstr "ÐÑв"
+msgstr "Ðого влÑво"
# src/LyXAction.C:225 src/LyXAction.C:229
#: lib/layouts/sciposter.layout:46
-#, fuzzy
msgid "Left logo:"
-msgstr "ÐмÑкни бел. под линиÑ"
+msgstr "Ðого влÑво:"
# src/frontends/xforms/form_document.C:262
#: lib/layouts/sciposter.layout:60
-#, fuzzy
msgid "Logo Size"
-msgstr "ШÑиÑÑ ÑазмеÑ(O):|#O"
+msgstr "Ð Ð°Ð·Ð¼ÐµÑ Ð½Ð° лого"
#: lib/layouts/sciposter.layout:61
msgid "Relative logo size (0 through 1)"
-msgstr ""
+msgstr "ÐÑноÑиÑелен ÑÐ°Ð·Ð¼ÐµÑ Ð½Ð° лого (0, 1)"
# src/frontends/kde/dlg/parageneraldlgdata.C:133
#: lib/layouts/sciposter.layout:65
-#, fuzzy
msgid "RightLogo"
-msgstr "ÐеÑен"
+msgstr "Ðого вдÑÑно"
# src/ext_l10n.h:337
#: lib/layouts/sciposter.layout:68
-#, fuzzy
msgid "Right logo:"
-msgstr "Ðаглавие"
+msgstr "Ðого вдÑÑно:"
# src/ext_l10n.h:191
#: lib/layouts/sciposter.layout:80
-#, fuzzy
msgid "Caption Width"
-msgstr "Ðаглавие"
+msgstr "ШиÑина на надпиÑ"
#: lib/layouts/sciposter.layout:81
msgid "The caption width relative to the column (0 through 1)"
@@ -19471,61 +19129,53 @@ msgstr "Ðнига KOMA-ÑкÑипÑ"
# src/ext_l10n.h:373
#: lib/layouts/scrbook.layout:31
-#, fuzzy
msgid "\\thechapter.\\arabic{equation}"
-msgstr "Ðод-подÑаздел"
+msgstr "\\thechapter.\\arabic{equation}"
#: lib/layouts/scrclass.inc:51
-#, fuzzy
msgid "\\alph{enumii})"
-msgstr "(\\alph{enumii})"
+msgstr "\\alph{enumii}"
# src/frontends/xforms/FormPreferences.C:1016
# src/frontends/xforms/FormPreferences.C:1288
#: lib/layouts/scrclass.inc:138
-#, fuzzy
msgid "Addpart"
-msgstr "Ðобави"
+msgstr "ÐобавÑне на ÑаÑÑ"
# src/frontends/xforms/FormPreferences.C:1016
# src/frontends/xforms/FormPreferences.C:1288
#: lib/layouts/scrclass.inc:151
-#, fuzzy
msgid "Addchap"
-msgstr "Ðобави"
+msgstr "ÐобавÑне на глава"
# src/frontends/xforms/FormPreferences.C:1278
#: lib/layouts/scrclass.inc:156 lib/layouts/stdsections.inc:77
#: lib/layouts/tufte-book.layout:99
-#, fuzzy
msgid "The chapter as it appears in the table of contents/running headers"
-msgstr "ÐмеÑо на ÑоÑмаÑа, какÑо Ñе Ñе вижда в менÑÑаÑа."
+msgstr "ÐлаваÑа Ñака какÑо Ñе Ñи поÑви в ÑÑдÑÑжаниеÑо и/или подвижноÑо зоглавие"
# src/frontends/xforms/FormPreferences.C:1016
# src/frontends/xforms/FormPreferences.C:1288
#: lib/layouts/scrclass.inc:164
-#, fuzzy
msgid "Addsec"
-msgstr "Ðобави"
+msgstr "ÐобавÑне на Ñаздел"
#: lib/layouts/scrclass.inc:177
msgid "Addchap*"
-msgstr ""
+msgstr "ÐобавÑне на глава*"
# src/frontends/xforms/FormPreferences.C:1016
# src/frontends/xforms/FormPreferences.C:1288
#: lib/layouts/scrclass.inc:183
-#, fuzzy
msgid "Addsec*"
-msgstr "Ðобави"
+msgstr "ÐобавÑне на Ñаздел*"
# src/frontends/xforms/FormPreferences.C:247
# src/frontends/xforms/FormPreferences.C:264
# src/frontends/xforms/FormPreferences.C:272 src/mathed/math_forms.C:46
#: lib/layouts/scrclass.inc:189
-#, fuzzy
msgid "Minisec"
-msgstr "РазлиÑни"
+msgstr "ÐиниÑаздел"
# src/ext_l10n.h:453
#: lib/layouts/scrclass.inc:257
@@ -19568,19 +19218,19 @@ msgstr ""
#: lib/layouts/scrclass.inc:317
msgid "Above"
-msgstr ""
+msgstr "ÐгоÑе"
#: lib/layouts/scrclass.inc:318
msgid "above"
-msgstr ""
+msgstr "оÑгоÑе"
#: lib/layouts/scrclass.inc:342
msgid "Below"
-msgstr ""
+msgstr "ÐÑдолÑ"
#: lib/layouts/scrclass.inc:343
msgid "below"
-msgstr ""
+msgstr "оÑдолÑ"
# src/ext_l10n.h:217
#: lib/layouts/scrclass.inc:367
@@ -19617,9 +19267,8 @@ msgstr "Ðкл."
# src/frontends/xforms/FormBase.h:153 src/frontends/xforms/FormInset.h:31
# src/frontends/xforms/FormInset.h:55 src/lyxfunc.C:744
#: lib/layouts/scrlettr.layout:120 lib/layouts/scrlttr2.layout:164
-#, fuzzy
msgid "Encl"
-msgstr "ÐÑказ"
+msgstr "ÐÑил."
# src/BufferView2.C:601 src/LyXAction.C:346 src/MenuBackend.C:433
#: lib/layouts/scrlettr.layout:193 lib/layouts/scrlttr2.layout:312
@@ -19640,9 +19289,8 @@ msgstr "СпеÑиален Ñимвол(S)|S"
# src/ext_l10n.h:395 src/frontends/gnome/FormCitation.C:529
#: lib/layouts/scrlettr.layout:246 lib/layouts/scrlttr2.layout:370
-#, fuzzy
msgid "Title:"
-msgstr "Ðаглавие"
+msgstr "Ðаглавие:"
# src/ext_l10n.h:377
#: lib/layouts/scrlettr.layout:268 lib/layouts/scrlttr2.layout:393
@@ -19682,13 +19330,12 @@ msgstr "ÐлиенÑ"
# src/ext_l10n.h:259
#: lib/layouts/scrlettr.layout:303 lib/layouts/scrlttr2.layout:433
msgid "Invoice"
-msgstr "ÐгноÑиÑай"
+msgstr "ФакÑÑÑа"
# src/ext_l10n.h:259
#: lib/layouts/scrlettr.layout:306 lib/layouts/scrlttr2.layout:437
-#, fuzzy
msgid "Invoice no.:"
-msgstr "ÐгноÑиÑай"
+msgstr "ФакÑÑÑа â"
#: lib/layouts/scrlttr2.layout:3 lib/examples/Articles:0
msgid "KOMA-Script Letter (V. 2)"
@@ -19729,7 +19376,7 @@ msgstr "Ðл. поÑа на изпÑаÑаÑа:"
# src/LyXAction.C:261
#: lib/layouts/scrlttr2.layout:275
msgid "Sender URL:"
-msgstr "Ðл. адÑÐµÑ (URL) на изпÑаÑаÑа:"
+msgstr "URL на изпÑаÑаÑа:"
#: lib/layouts/scrlttr2.layout:300
msgid "Logo"
@@ -19756,36 +19403,33 @@ msgstr "Ðоклад KOMA-ÑкÑипÑ"
# src/ext_l10n.h:344
#: lib/layouts/sectionbox.module:2
-#, fuzzy
msgid "Section Boxes"
-msgstr "Раздел"
+msgstr "Раздели Ñ Ñамки"
#: lib/layouts/sectionbox.module:7
msgid ""
"Defines Boxes with section header. Mainly intended for the SciPoster class."
msgstr ""
+"ÐеÑиниÑа заглави на Ñаздел в Ñамка. ÐÑновно е замиÑлен за клаÑа SciPoster"
# src/ext_l10n.h:344
#: lib/layouts/sectionbox.module:12
-#, fuzzy
msgid "SectionBox"
-msgstr "Раздел"
+msgstr "Раздел Ñ Ñамка"
# src/ext_l10n.h:344
#: lib/layouts/sectionbox.module:14
-#, fuzzy
msgid "Section Box"
-msgstr "Раздел"
+msgstr "Раздел Ñ Ñамка"
# src/LColor.C:64
#: lib/layouts/sectionbox.module:23
-#, fuzzy
msgid "Section Box Width|S"
-msgstr "избоÑ"
+msgstr "ШиÑина на Ñаздела Ñ Ñамка"
#: lib/layouts/sectionbox.module:24
msgid "Width of the section Box"
-msgstr ""
+msgstr "ШиÑина на Ñаздела Ñ Ñамка"
# src/buffer.C:329
#: lib/layouts/sectionbox.module:28 lib/layouts/todonotes.module:47
@@ -19794,66 +19438,57 @@ msgstr "Ðаглавие"
# src/buffer.C:329
#: lib/layouts/sectionbox.module:29
-#, fuzzy
msgid "Section Box Heading"
-msgstr "ÐÑеÑка пÑи ÑенеÑе Ð¾Ñ "
+msgstr "Ðаглавие на Ñаздела Ñ Ñамка"
# src/LyXAction.C:197 src/lyx_cb.C:878
#: lib/layouts/sectionbox.module:33
-#, fuzzy
msgid "Insert the section box header here"
-msgstr "ÐмÑкни ÑигÑÑа"
+msgstr "ÐоÑÑавÑне заглавиеÑо на Ñаздела Ñ Ñамка ÑÑк"
# src/ext_l10n.h:371
#: lib/layouts/sectionbox.module:47
-#, fuzzy
msgid "SubsectionBox"
-msgstr "ÐодÑаздел"
+msgstr "ÐодÑаздел Ñ Ñамка"
# src/ext_l10n.h:371
#: lib/layouts/sectionbox.module:49
-#, fuzzy
msgid "Subsection Box"
-msgstr "ÐодÑаздел"
+msgstr "ÐодÑаздел Ñ Ñамка"
# src/ext_l10n.h:373
#: lib/layouts/sectionbox.module:53
-#, fuzzy
msgid "SubsubsectionBox"
-msgstr "Ðод-подÑаздел"
+msgstr "Ðод-подÑаздел Ñ Ñамка"
# src/ext_l10n.h:373
#: lib/layouts/sectionbox.module:55
-#, fuzzy
msgid "Subsubsection Box"
-msgstr "Ðод-подÑаздел"
+msgstr "Ðод-подÑаздел Ñ Ñамка"
#: lib/layouts/seminar.layout:3 lib/examples/Articles:0
msgid "Seminar"
-msgstr ""
+msgstr "СеминаÑ"
# src/frontends/xforms/form_preferences.C:920
#: lib/layouts/seminar.layout:26 lib/layouts/seminar.layout:89
-#, fuzzy
msgid "LandscapeSlide"
-msgstr "пейзаж"
+msgstr "Ðейзажен кадÑÑ"
# src/frontends/xforms/form_preferences.C:920
#: lib/layouts/seminar.layout:27
-#, fuzzy
msgid "Landscape Slide"
-msgstr "пейзаж"
+msgstr "Ðейзажен кадÑÑ"
# src/ext_l10n.h:312
#: lib/layouts/seminar.layout:40 lib/layouts/seminar.layout:115
msgid "PortraitSlide"
-msgstr "ÐоÑÑÑеÑ"
+msgstr "ÐоÑÑÑеÑен кадÑÑ"
# src/ext_l10n.h:312
#: lib/layouts/seminar.layout:42
-#, fuzzy
msgid "Portrait Slide"
-msgstr "ÐоÑÑÑеÑ"
+msgstr "ÐоÑÑÑеÑен кадÑÑ"
# src/buffer.C:329
#: lib/layouts/seminar.layout:47
@@ -19872,9 +19507,8 @@ msgstr "СпиÑÑк на ÑаблиÑиÑе"
# src/ext_l10n.h:275
#: lib/layouts/seminar.layout:63
-#, fuzzy
msgid "List of Slides"
-msgstr "СпиÑÑк на ÑаблиÑиÑе"
+msgstr "СпиÑÑк на кадÑиÑе"
# src/frontends/gnome/FormToc.C:100 src/frontends/gnome/FormToc.C:167
# src/frontends/kde/FormToc.C:167 src/frontends/kde/FormToc.C:168
@@ -19890,9 +19524,8 @@ msgstr "СÑдÑÑжание"
# src/frontends/kde/tocdlg.C:28 src/frontends/xforms/FormToc.C:35
# src/insets/insettoc.C:22
#: lib/layouts/seminar.layout:74
-#, fuzzy
msgid "Slide Contents"
-msgstr "СÑдÑÑжание"
+msgstr "ÐадÑÑ âÑÑдÑÑжаниеâ"
# src/frontends/xforms/FormPreferences.C:226
# src/frontends/xforms/FormPreferences.C:255
@@ -19910,21 +19543,18 @@ msgstr "ÐонвеÑÑоÑи"
# src/frontends/xforms/form_preferences.C:920
#: lib/layouts/seminar.layout:101
-#, fuzzy
msgid "Landscape Slide:"
-msgstr "пейзаж"
+msgstr "Ðейзажен кадÑÑ:"
# src/ext_l10n.h:312
#: lib/layouts/seminar.layout:118
-#, fuzzy
msgid "Portrait Slide:"
-msgstr "ÐоÑÑÑеÑ"
+msgstr "ÐоÑÑÑеÑен кадÑÑ:"
# src/layout_forms.C:28
#: lib/layouts/seminar.layout:120
-#, fuzzy
msgid "Slide*"
-msgstr "СеÑиÑ(S):|#S"
+msgstr "ÐадÑÑ*"
# src/ext_l10n.h:88
#: lib/layouts/seminar.layout:125
@@ -19933,9 +19563,8 @@ msgstr "СпÑÑÑÑиа и СÑдÑÑжание(O)|O"
# src/ext_l10n.h:275
#: lib/layouts/seminar.layout:135
-#, fuzzy
msgid "[List Of Slides]"
-msgstr "СпиÑÑк на ÑаблиÑиÑе"
+msgstr "СпиÑÑк на кадÑиÑе"
# src/frontends/gnome/FormToc.C:100 src/frontends/gnome/FormToc.C:167
# src/frontends/kde/FormToc.C:167 src/frontends/kde/FormToc.C:168
@@ -19956,7 +19585,7 @@ msgstr "ÐонвеÑÑоÑи"
# src/insets/insetbib.C:219
#: lib/layouts/shapepar.module:2
msgid "Custom Paragraph Shapes"
-msgstr "ÐоÑÑебиÑелки оÑоÑмени абзаÑи"
+msgstr "ÐбзаÑи оÑоÑмени Ð¾Ñ Ð¿Ð¾ÑÑебиÑелÑ"
#: lib/layouts/shapepar.module:8
msgid ""
@@ -20233,11 +19862,11 @@ msgstr ""
#: lib/layouts/slides.layout:241
msgid "<Visible Text Follows>"
-msgstr ""
+msgstr "<Следва видим ÑекÑÑ>"
#: lib/layouts/soul.module:2
msgid "Hyphenatable Text Markup (Soul)"
-msgstr ""
+msgstr "ÐÑкÑоÑване на ÑекÑÑ Ñ ÑиÑеÑа âsoulâ"
#: lib/layouts/soul.module:9
msgid ""
@@ -20246,6 +19875,10 @@ msgid ""
"markup provided by the Text Properties dialog, words marked-up with soul are "
"hyphenated."
msgstr ""
+"ÐеÑиниÑа ÑÑилове Ð¾Ñ Ð¿Ð°ÐºÐµÑа âsoulâ за ÑабоÑа Ñ ÑекÑÑ - оÑкÑоÑване, заÑеÑÑаване,"
+"подÑеÑÑаване, изпиÑване Ñ Ð³Ð»Ð°Ð²Ð½Ð¸ или по-малки главни бÑкви. Ðа Ñазлика Ð¾Ñ "
+"използванеÑо на наÑÑÑойкиÑе на ÑекÑÑ Ð¾Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð°, дÑмиÑе Ð¾Ñ Ð¿Ð°ÐºÐµÑа âsoulâ "
+"Ñе ÑвÑÑÐ·Ð²Ð°Ñ Ñ ÑиÑеÑа."
# src/ext_l10n.h:362
#: lib/layouts/soul.module:17
@@ -20261,34 +19894,31 @@ msgstr "ÐамеÑÑи"
# src/ext_l10n.h:364
#: lib/layouts/soul.module:33
-#, fuzzy
msgid "Strikethrough"
-msgstr "УлиÑа"
+msgstr "ÐаÑеÑкване"
# src/ext_l10n.h:364
#: lib/layouts/soul.module:35
-#, fuzzy
msgid "strike"
-msgstr "УлиÑа"
+msgstr "ÐаÑеÑÑавене"
# src/lyxfont.C:404
#: lib/layouts/soul.module:42
msgid "Underline"
-msgstr "Underline"
+msgstr "ÐодÑеÑÑаване"
#: lib/layouts/soul.module:44
msgid "ul"
-msgstr ""
+msgstr "ul"
#: lib/layouts/soul.module:53
msgid "hl"
-msgstr ""
+msgstr "hl"
# src/ext_l10n.h:432
#: lib/layouts/soul.module:59
-#, fuzzy
msgid "Capitalize"
-msgstr "ÐаÑалонÑки"
+msgstr "Ðлавни бÑкни"
# src/lyxfont.C:51
#: lib/layouts/soul.module:61
@@ -20412,12 +20042,12 @@ msgid "\\fnsymbol{thanks}"
msgstr ""
# src/frontends/xforms/FormTabular.C:133
-#: lib/layouts/stdfloatnames.inc:5 lib/layouts/stdinsets.inc:558
+#: lib/layouts/stdfloatnames.inc:5 lib/layouts/stdinsets.inc:559
msgid "Tables"
msgstr "ТаблиÑи"
# src/ext_l10n.h:244
-#: lib/layouts/stdfloatnames.inc:6 lib/layouts/stdinsets.inc:559
+#: lib/layouts/stdfloatnames.inc:6 lib/layouts/stdinsets.inc:560
msgid "Figures"
msgstr "ÐзобÑажениÑ"
@@ -20453,7 +20083,7 @@ msgid "Notes"
msgstr "Ðележки"
# src/ext_l10n.h:441
-#: lib/layouts/stdinsets.inc:14 src/frontends/qt/GuiDocument.cpp:1778
+#: lib/layouts/stdinsets.inc:14 src/frontends/qt/GuiDocument.cpp:1792
msgid "Branches"
msgstr "РазклонениÑ"
@@ -20484,29 +20114,29 @@ msgid "Greyedout"
msgstr "ÑвеÑна бележка"
# src/insets/insetert.C:28
-#: lib/layouts/stdinsets.inc:207 src/insets/InsetERT.cpp:189
-#: src/insets/InsetERT.cpp:190
+#: lib/layouts/stdinsets.inc:208 src/insets/InsetERT.cpp:251
+#: src/insets/InsetERT.cpp:252
msgid "ERT"
msgstr "Ðод на LaTeX"
# src/ext_l10n.h:244
-#: lib/layouts/stdinsets.inc:293 lib/layouts/stdinsets.inc:299
+#: lib/layouts/stdinsets.inc:294 lib/layouts/stdinsets.inc:300
msgid "Listings[[List of Listings]]"
msgstr "СпиÑÑÑи"
# src/ext_l10n.h:244
-#: lib/layouts/stdinsets.inc:316 lib/layouts/stdinsets.inc:322
+#: lib/layouts/stdinsets.inc:317 lib/layouts/stdinsets.inc:323
#: src/insets/InsetTOC.cpp:77
msgid "List of Listings"
msgstr "СпиÑÑк на ÑпиÑÑÑиÑе"
# src/frontends/xforms/FormPreferences.C:223
-#: lib/layouts/stdinsets.inc:350 src/frontends/qt/GuiDocument.cpp:1776
+#: lib/layouts/stdinsets.inc:351 src/frontends/qt/GuiDocument.cpp:1790
msgid "Listings[[inset]]"
msgstr "СпиÑÑÑи"
# src/insets/insetindex.C:20
-#: lib/layouts/stdinsets.inc:417
+#: lib/layouts/stdinsets.inc:418
msgid "Idx"
msgstr "ÑказаÑел"
@@ -20514,38 +20144,38 @@ msgstr "ÑказаÑел"
# src/frontends/kde/dlg/parageneraldlgdata.C:43
# src/frontends/xforms/form_paragraph.C:149
# src/frontends/xforms/form_paragraph.C:223
-#: lib/layouts/stdinsets.inc:608
+#: lib/layouts/stdinsets.inc:609
#, fuzzy
msgid "Argument"
msgstr "ÐодÑавнÑване"
# src/ext_l10n.h:246
-#: lib/layouts/stdinsets.inc:714
+#: lib/layouts/stdinsets.inc:715
#, fuzzy
msgid "unlabelled"
msgstr "Ðел. под линиÑ"
# src/frontends/kde/dlg/printdlgdata.C:246
-#: lib/layouts/stdinsets.inc:721
+#: lib/layouts/stdinsets.inc:722
msgid "Preview"
msgstr "ÐÑедваÑиÑелен изглед"
-#: lib/layouts/stdinsets.inc:755 lib/layouts/stdinsets.inc:763
+#: lib/layouts/stdinsets.inc:756 lib/layouts/stdinsets.inc:764
msgid "see equation[[nomencl]]"
msgstr "виж"
-#: lib/layouts/stdinsets.inc:756 lib/layouts/stdinsets.inc:764
+#: lib/layouts/stdinsets.inc:757 lib/layouts/stdinsets.inc:765
msgid "page[[nomencl]]"
msgstr "ÑÑÑ."
-#: lib/layouts/stdinsets.inc:757 lib/layouts/stdinsets.inc:765
+#: lib/layouts/stdinsets.inc:758 lib/layouts/stdinsets.inc:766
msgid "Nomenclature[[output]]"
msgstr "РеÑник на ознаÑениÑÑа"
# src/insets/insetinclude.C:316
#: lib/layouts/stdlayouts.inc:109 src/insets/InsetInclude.cpp:414
msgid "Verbatim*"
-msgstr "ÐоÑловен*"
+msgstr "ÐоÑловно*"
#: lib/layouts/stdsections.inc:15 lib/layouts/svcommon.inc:128
msgid "Part \\thepart"
@@ -20569,43 +20199,42 @@ msgstr "ÐодабзаÑ*"
# src/ext_l10n.h:191
#: lib/layouts/subequations.module:2 lib/layouts/subequations.module:11
#: lib/layouts/subequations.module:14
-#, fuzzy
msgid "Subequations"
-msgstr "УÑавнениÑ"
+msgstr "ÐодÑÑавнениÑ"
#: lib/layouts/subequations.module:6
msgid ""
-"Provide a straightforward way to segregate subequations in LyX. See the "
-"subequations.lyx example file."
+"Provide a straightforward way to segregate subequations in LyX. See the Math "
+"manual."
msgstr ""
+"ÐÑигÑÑÑва леÑен наÑин за оÑделÑне на подÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð² LyX. Ðиж маÑемаÑиÑеÑкоÑо "
+"ÑÑководÑÑво."
# src/bufferview_funcs.C:267
#: lib/layouts/svcommon.inc:72
-#, fuzzy
msgid "Front Matter"
-msgstr "ШÑиÑÑ:"
+msgstr "ÐÑедна ÑаÑÑ"
#: lib/layouts/svcommon.inc:88
msgid "--- Front Matter ---"
-msgstr ""
+msgstr "--- ÐÑедна ÑаÑÑ ---"
# src/mathed/math_panel.C:134
#: lib/layouts/svcommon.inc:98
-#, fuzzy
msgid "Main Matter"
-msgstr "ÐаÑÑиÑа"
+msgstr "Ðлавна ÑаÑÑ"
#: lib/layouts/svcommon.inc:102
msgid "--- Main Matter ---"
-msgstr ""
+msgstr "--- Ðлавна ÑаÑÑ ---"
#: lib/layouts/svcommon.inc:105
msgid "Back Matter"
-msgstr ""
+msgstr "Ðадна ÑаÑÑ"
#: lib/layouts/svcommon.inc:109
msgid "--- Back Matter ---"
-msgstr ""
+msgstr "--- Ðадна ÑаÑÑ ---"
#: lib/layouts/svcommon.inc:125 lib/layouts/svmult.layout:117
msgid "PartBacktext"
@@ -20672,7 +20301,7 @@ msgstr "ÐвÑоÑ"
#: lib/layouts/svcommon.inc:424
#, fuzzy
msgid "TOC title:"
-msgstr "вÑв Ñайл"
+msgstr "Ðаглавие за ÑÑдÑÑжание:"
# src/ext_l10n.h:175
#: lib/layouts/svcommon.inc:434
@@ -20722,27 +20351,23 @@ msgstr "РезÑме* (не Ñе пеÑаÑа)"
# src/frontends/xforms/form_index.C:28
#: lib/layouts/svcommon.inc:576 lib/layouts/svcommon.inc:580
#: lib/layouts/svmult.layout:149
-#, fuzzy
msgid "Foreword"
-msgstr "ÐлÑÑова дÑма"
+msgstr "ÐÑедговоÑ"
# src/frontends/xforms/form_preferences.C:278
#: lib/layouts/svcommon.inc:594
-#, fuzzy
msgid "Alternative name"
-msgstr "Ðзползвай алÑеÑнаÑивен език"
+msgstr "ÐлÑеÑнаÑивно име"
# src/ext_l10n.h:223
#: lib/layouts/svcommon.inc:694
-#, fuzzy
msgid "Longest Description Label"
-msgstr "ÐпиÑание"
+msgstr "Ðай-дÑÐ»Ð³Ð¸Ñ Ð¾Ð¿Ð¸Ñан еÑикеÑ"
# src/frontends/xforms/form_tabular.C:113
#: lib/layouts/svcommon.inc:695
-#, fuzzy
msgid "Longest description label"
-msgstr " ÐÑлга ÑаблиÑа(L)|#L"
+msgstr "Ðай-дÑÐ»Ð³Ð¸Ñ Ð¾Ð¿Ð¸ÑаÑелен еÑикеÑ"
# src/ext_l10n.h:312
#: lib/layouts/svcommon.inc:708
@@ -20783,9 +20408,8 @@ msgstr ""
#: lib/layouts/svglobal.layout:91 lib/layouts/svglobal.layout:93
#: lib/layouts/svjog.layout:95 lib/layouts/svjog.layout:97
#: lib/layouts/svprobth.layout:124 lib/layouts/svprobth.layout:126
-#, fuzzy
msgid "thanks"
-msgstr "ÐлагодаÑÑ"
+msgstr "ÐлагодаÑноÑÑи"
# src/ext_l10n.h:6
#: lib/layouts/svglobal.layout:104 lib/layouts/svjog.layout:108
@@ -20797,9 +20421,8 @@ msgstr "ÐмÑкни(I)|I"
# src/LyXAction.C:354
#: lib/layouts/svglobal.layout:107 lib/layouts/svjog.layout:111
#: lib/layouts/svprobth.layout:140
-#, fuzzy
msgid "Institute #"
-msgstr "ÐмÑкни кавиÑки"
+msgstr "ÐнÑÑиÑÑÑ #"
# src/ext_l10n.h:175
#: lib/layouts/svglobal.layout:140 lib/layouts/svjog.layout:144
@@ -20867,39 +20490,34 @@ msgstr ""
# src/ext_l10n.h:395 src/frontends/gnome/FormCitation.C:529
#: lib/layouts/svmult.layout:37
-#, fuzzy
msgid "Title*"
-msgstr "Ðаглавие"
+msgstr "Ðаглавие*"
# src/ext_l10n.h:395 src/frontends/gnome/FormCitation.C:529
#: lib/layouts/svmult.layout:40
-#, fuzzy
msgid "Title*:"
-msgstr "Ðаглавие"
+msgstr "Ðаглавие*:"
# src/frontends/gnome/FormToc.C:108 src/frontends/gnome/FormToc.C:185
# src/frontends/kde/FormToc.C:177 src/frontends/kde/FormToc.C:178
# src/frontends/kde/tocdlg.C:30 src/insets/insettoc.C:28
#: lib/layouts/svmult.layout:71 lib/layouts/svmult.layout:161
-#, fuzzy
msgid "Contributors"
-msgstr "СпиÑÑк на ÑаблиÑи"
+msgstr "СÑÑÑÑдниÑи"
# src/frontends/gnome/FormToc.C:108 src/frontends/gnome/FormToc.C:185
# src/frontends/kde/FormToc.C:177 src/frontends/kde/FormToc.C:178
# src/frontends/kde/tocdlg.C:30 src/insets/insettoc.C:28
#: lib/layouts/svmult.layout:73
-#, fuzzy
msgid "List of Contributors"
-msgstr "СпиÑÑк на ÑаблиÑи"
+msgstr "СпиÑÑк ÑÑÑ ÑÑÑÑÑдниÑи"
# src/frontends/gnome/FormToc.C:108 src/frontends/gnome/FormToc.C:185
# src/frontends/kde/FormToc.C:177 src/frontends/kde/FormToc.C:178
# src/frontends/kde/tocdlg.C:30 src/insets/insettoc.C:28
#: lib/layouts/svmult.layout:81
-#, fuzzy
msgid "Contributor List"
-msgstr "СпиÑÑк на ÑаблиÑи"
+msgstr "СпиÑÑк ÑÑÑÑÑдниÑи"
# src/credits.C:72
#: lib/layouts/svmult.layout:114 lib/layouts/svmult.layout:118
@@ -20909,9 +20527,8 @@ msgstr "СпиÑÑк на ÑаблиÑи"
#: lib/layouts/svmult.layout:146 lib/layouts/svmult.layout:150
#: lib/layouts/svmult.layout:154 lib/layouts/svmult.layout:158
#: lib/layouts/svmult.layout:162 lib/layouts/svmult.layout:166
-#, fuzzy
msgid "For editors"
-msgstr "Credits"
+msgstr "Ðа ÑедакÑоÑи"
#: lib/layouts/svprobth.layout:3
msgid "Probability Theory and Related Fields (Springer svprobth)"
@@ -20927,42 +20544,46 @@ msgid ""
"Allows to use the statistical language S/R as a literate programming tool "
"via the Sweave() function. For more info see the LyX example file sweave.lyx."
msgstr ""
+"ÐозволÑва използванеÑо на ÑÑаÑиÑÑиÑеÑки език S/R каÑо инÑÑÑÑÐ¼ÐµÐ½Ñ Ð·Ð° доÑловно "
+"пÑогÑамиÑане ÑÑез Sweave() ÑÑнкÑиÑÑа. Ðа повеÑе инÑоÑмаÑÐ¸Ñ Ð²Ð¸Ð¶Ñе пÑимеÑÐ½Ð¸Ñ "
+"Ñайл на LyX sweave.lyx."
#: lib/layouts/sweave.module:77 lib/layouts/sweave.module:78
msgid "Sweave Input File"
-msgstr ""
+msgstr "ÐÑ
оде Ñайл Sweave"
# src/ext_l10n.h:387
#: lib/layouts/tabs-within-sections.module:2
-#, fuzzy
msgid "Number Tables by Section"
-msgstr "ТеоÑема"
+msgstr "номеÑиÑане на ÑаблиÑи по Ñаздели"
#: lib/layouts/tabs-within-sections.module:7
msgid ""
"Resets the table number at section start and prepends the section number to "
"the table number, as in 'Table 2.1'."
msgstr ""
+"РеÑÑаÑÑиÑа номеÑиÑанеÑо на ÑаблиÑи в наÑалоÑо на Ñаздела поÑÑавÑйки номеÑа на "
+"Ñаздела каÑо пÑеÑÐ¸ÐºÑ Ð¿Ñед номеÑа на ÑаблиÑаÑа, напÑ. âТаблиÑа 2.1â."
#: lib/layouts/tarticle.layout:3
-#, fuzzy
msgid "Japanese Article (Standard Class: Vertical Writing)"
-msgstr "СÑаÑÐ¸Ñ Ð½Ð° ÑпонÑки (веÑÑикално напиÑана)"
+msgstr "СÑаÑÐ¸Ñ Ð½Ð° ÑпонÑки (ÑÑандÑÑÑен клаÑ: веÑÑикално напиÑана)"
#: lib/layouts/tbook.layout:3
-#, fuzzy
msgid "Japanese Book (Standard Class: Vertical Writing)"
-msgstr "Ðнига на ÑпоÑки (веÑÑикално напиÑана)"
+msgstr "Ðнига на ÑпоÑки (ÑÑандаÑÑен клаÑ, веÑÑикално напиÑана)"
#: lib/layouts/tcolorbox.module:2 lib/examples/Articles:0
msgid "Fancy Colored Boxes"
-msgstr ""
+msgstr "Рамки оÑвеÑени декоÑаÑивно"
#: lib/layouts/tcolorbox.module:7
msgid ""
"Adds custom insets that support colored boxes via the tcolorbox package. See "
"the tcolorbox documentation for details."
msgstr ""
+"Ðобавка, коÑÑо поддÑÑжа ÑвеÑни Ñамки Ñ Ð¿Ð°ÐºÐµÑа âtcolorboxâ. ÐижÑе докÑменÑаÑиÑÑа на "
+"панеÑа за повеÑе инÑоÑмаÑиÑ."
# src/frontends/xforms/FormPreferences.C:244
#: lib/layouts/tcolorbox.module:12 lib/layouts/tcolorbox.module:15
@@ -21152,9 +20773,8 @@ msgstr "УпÑажнение \\theexercise."
# src/ext_l10n.h:387
#: lib/layouts/theorems-ams-bytype.module:2
-#, fuzzy
msgid "AMS Theorems (Numbered by Type)"
-msgstr "ТеоÑеми (номеÑиÑани по Ñип)"
+msgstr "ТеоÑеми AMS (номеÑиÑани по Ñип)"
#: lib/layouts/theorems-ams-bytype.module:12
msgid ""
@@ -21167,12 +20787,18 @@ msgid ""
"chapter- and section-wide numbering, use one of the 'within "
"Sections'/'within Chapters' modules, respectively."
msgstr ""
+"ÐеÑиниÑа ÑÑеди за ÑеоÑеми и доказаÑелÑÑва използвайки ÑазÑиÑени добавки Ð¾Ñ "
+"AMS инÑÑÑÑменÑиÑе. ÐоÑÑÑпни Ñа номеÑиÑани и неномеÑиÑани ÑÑилове. ÐÑоÑивно "
+"на Ð¾Ð±Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ AMS модÑл, ÑазлиÑниÑе Ñипове ÑеоÑеми ÑÑк Ð¸Ð¼Ð°Ñ Ð¾Ñделен бÑоÑÑ "
+"(напÑ. ÑеоÑема 1, ÑеоÑема 2, лема 1, ÑвÑÑдение 1, ÑеоÑема 3, лема 2, и Ñ.н..., "
+"за Ñазлика Ð¾Ñ ÑеоÑема 1, ÑеоÑема 2, лема 3, ÑвÑÑдение 4 и Ñ.н.). ÐбÑ
ваÑа на "
+"номеÑиÑане е ÑÐµÐ»Ð¸Ñ Ð´Ð¾ÐºÑменÑ. Ðа номеÑиÑане по глави и Ñаздели Ñе Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ñ "
+"ÑÑоÑвеÑно модÑли âпо главиâ или âпо Ñазделиâ."
# src/ext_l10n.h:387
#: lib/layouts/theorems-ams-chap-bytype.module:2
-#, fuzzy
msgid "AMS Theorems (Numbered by Type within Chapters)"
-msgstr "ТеоÑема"
+msgstr "ТеоÑеми AMS (номеÑиÑани по Ñип в главиÑе)"
#: lib/layouts/theorems-ams-chap-bytype.module:12
msgid ""
@@ -21187,9 +20813,8 @@ msgstr ""
# src/ext_l10n.h:387
#: lib/layouts/theorems-ams-extended-bytype.module:2
-#, fuzzy
msgid "AMS Theorems (Extended, Numbered by Type)"
-msgstr "ТеоÑема (AMS, ÐомеÑиÑан по Ñип)"
+msgstr "ТеоÑеми AMS (ÑазÑиÑени, номеÑиÑани по Ñип)"
#: lib/layouts/theorems-ams-extended-bytype.module:13
msgid ""
@@ -21338,13 +20963,13 @@ msgstr "ÐбобÑение."
#: lib/layouts/theorems-ams-extended-bytype.module:328
#: lib/layouts/theorems-ams-extended-chap-bytype.module:395
msgid "Acknowledgement \\theacknowledgement."
-msgstr ""
+msgstr "ÐÑиднаÑелноÑÑ \\theacknowledgement."
#: lib/layouts/theorems-ams-extended-bytype.module:346
#: lib/layouts/theorems-ams-extended-chap-bytype.module:417
#: lib/layouts/theorems-ams-extended.module:336
msgid "Acknowledgement*"
-msgstr ""
+msgstr "ÐÑизнаÑелноÑÑ*"
# src/ext_l10n.h:203
#: lib/layouts/theorems-ams-extended-bytype.module:369
@@ -21420,9 +21045,8 @@ msgstr "ÐÑпÑоÑ."
# src/ext_l10n.h:387
#: lib/layouts/theorems-ams-extended-chap-bytype.module:2
-#, fuzzy
msgid "AMS Theorems (Extended, Numbered by Type within Chapters)"
-msgstr "ТеоÑема"
+msgstr "ТеоÑеми AMS (ÑазÑиÑени, номеÑиÑани по Ñип в главиÑе)"
#: lib/layouts/theorems-ams-extended-chap-bytype.module:13
msgid ""
@@ -21438,9 +21062,8 @@ msgstr ""
# src/ext_l10n.h:438
#: lib/layouts/theorems-ams-extended.module:2
-#, fuzzy
msgid "AMS Theorems (Extended)"
-msgstr "ÐпеÑаÑоÑи (допÑлниÑелни)"
+msgstr "ТеоÑеми AMS (ÑазÑиÑени)"
#: lib/layouts/theorems-ams-extended.module:10
msgid ""
@@ -21457,9 +21080,8 @@ msgstr "ÐÑизнак \\thetheorem."
# src/ext_l10n.h:169
#: lib/layouts/theorems-ams-extended.module:80
-#, fuzzy
msgid "Algorithm \\thetheorem."
-msgstr "AлгоÑиÑÑм"
+msgstr "AлгоÑиÑÑм \\thetheorem."
#: lib/layouts/theorems-ams-extended.module:121
msgid "Axiom \\thetheorem."
@@ -21486,7 +21108,7 @@ msgstr "ÐбобÑение \\thetheorem."
#: lib/layouts/theorems-ams-extended.module:319
msgid "Acknowledgement \\thetheorem."
-msgstr ""
+msgstr "ÐÑизнаÑелноÑÑи \\thetheorem."
# src/ext_l10n.h:203
#: lib/layouts/theorems-ams-extended.module:359
@@ -21532,9 +21154,8 @@ msgstr "ТвÑÑдение \\thetheorem."
# src/ext_l10n.h:387
#: lib/layouts/theorems-ams.module:2
-#, fuzzy
msgid "AMS Theorems"
-msgstr "ТеоÑема"
+msgstr "ТеоÑеми AMS"
#: lib/layouts/theorems-ams.module:9
msgid ""
@@ -21546,9 +21167,8 @@ msgstr ""
# src/ext_l10n.h:387
#: lib/layouts/theorems-bytype.module:2
-#, fuzzy
msgid "Standard Theorems (Numbered by Type)"
-msgstr "ТеоÑеми (номеÑиÑани по Ñип)"
+msgstr "СÑандаÑÑни ÑеоÑеми (номеÑиÑани по Ñип)"
#: lib/layouts/theorems-bytype.module:11
msgid ""
@@ -21563,7 +21183,7 @@ msgstr ""
#: lib/layouts/theorems-case.inc:12
msgid "Case (Level 1)"
-msgstr ""
+msgstr "СлÑÑай (ниво 1)"
# src/ext_l10n.h:371
#: lib/layouts/theorems-case.inc:13
@@ -21572,7 +21192,7 @@ msgstr "СлÑÑай \\arabic{casei}."
#: lib/layouts/theorems-case.inc:16
msgid "Case (Level 2)"
-msgstr ""
+msgstr "СлÑÑай (ниво 2)"
# src/ext_l10n.h:371
#: lib/layouts/theorems-case.inc:18
@@ -21581,7 +21201,7 @@ msgstr "СлÑÑай \\roman{caseii}."
#: lib/layouts/theorems-case.inc:21
msgid "Case (Level 3)"
-msgstr ""
+msgstr "СлÑÑай (ниво 3)"
# src/ext_l10n.h:371
#: lib/layouts/theorems-case.inc:23
@@ -21590,7 +21210,7 @@ msgstr "СлÑÑай \\alph{caseiii}."
#: lib/layouts/theorems-case.inc:26
msgid "Case (Level 4)"
-msgstr ""
+msgstr "СлÑÑай (ниво 4)"
# src/ext_l10n.h:371
#: lib/layouts/theorems-case.inc:28
@@ -21599,9 +21219,8 @@ msgstr "СлÑÑай \\arabic{caseiv}."
# src/ext_l10n.h:387
#: lib/layouts/theorems-chap-bytype.module:2
-#, fuzzy
msgid "Standard Theorems (Numbered by Type within Chapters)"
-msgstr "ТеоÑема"
+msgstr "СÑандаÑÑни ÑеоÑеми (номеÑиÑани по Ñип в главиÑе)"
#: lib/layouts/theorems-chap-bytype.module:10
msgid ""
@@ -21614,9 +21233,8 @@ msgstr ""
# src/ext_l10n.h:387
#: lib/layouts/theorems-chap.module:2
-#, fuzzy
msgid "Standard Theorems (Numbered by Chapter)"
-msgstr "ТеоÑема"
+msgstr "СÑандаÑÑни ÑеоÑеми (номеÑиÑани по глави)"
#: lib/layouts/theorems-chap.module:8
msgid ""
@@ -21627,7 +21245,7 @@ msgstr ""
#: lib/layouts/theorems-named.module:3
msgid "Standard Theorems (Nameable)"
-msgstr ""
+msgstr "СÑандаÑнÑи ÑеоÑеми (именовани)"
#: lib/layouts/theorems-named.module:8
msgid ""
@@ -21637,15 +21255,13 @@ msgstr ""
# src/ext_l10n.h:387
#: lib/layouts/theorems-named.module:56
-#, fuzzy
msgid "Named Theorem"
-msgstr "ТеоÑема"
+msgstr "Ðменовани ÑеоÑеми"
# src/ext_l10n.h:387
#: lib/layouts/theorems-named.module:59
-#, fuzzy
msgid "Named Theorem."
-msgstr "ТеоÑема"
+msgstr "Ðменована ÑеоÑема"
# src/ext_l10n.h:233
#: lib/layouts/theorems-order.inc:46 lib/layouts/theorems-starred.inc:197
@@ -21673,15 +21289,13 @@ msgstr "ТвÑÑдение*"
# src/frontends/xforms/form_preferences.C:278
#: lib/layouts/theorems-proof.inc:22
-#, fuzzy
msgid "Alternative proof string"
-msgstr "Ðзползвай алÑеÑнаÑивен език"
+msgstr "ТекÑÑ Ð·Ð° алÑеÑнаÑивно доказаÑелÑÑво"
# src/ext_l10n.h:387
#: lib/layouts/theorems-sec-bytype.module:2
-#, fuzzy
msgid "Standard Theorems (Numbered by Type within Sections)"
-msgstr "ТеоÑема"
+msgstr "СÑандаÑÑни ÑеоÑеми (номеÑиÑани по Ñип в ÑазделиÑе)"
#: lib/layouts/theorems-sec-bytype.module:10
msgid ""
@@ -21691,18 +21305,24 @@ msgid ""
"theorem 3, lemma 2, ..., as opposed to theorem 1, theorem 2, lemma 3, "
"proposition 4, ...). The numbering is reset at each section start."
msgstr ""
+"ÐеÑиниÑа нÑколко ÑÑеди за баÑоÑа Ñ ÐºÐ»Ð°Ñове. ÐбÑаÑно на Ð¾Ð±Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´Ñл "
+"âÑеоÑемиâ, ÑазлиÑниÑе ÑазлиÑниÑе Ñипове ÑеоÑеми Ð¸Ð¼Ð°Ñ Ð¾Ñделни бÑоÑÑи. ÐапÑÐ¸Ð¼ÐµÑ "
+"ÑеоÑема 1, ÑеоÑема 2, лема 1, ÑвÑÑдение 1, ÑеоÑема 3, лема 2, и Ñ.н., а не "
+"ÑеоÑема 1, ÑеоÑема 2, лема 3, ÑвÑÑдение 4,... ÐомеÑаÑиÑÑа Ñе нÑлиÑа Ñлед "
+"вÑÑко наÑало на Ñаздел."
# src/ext_l10n.h:387
#: lib/layouts/theorems-sec.module:2
-#, fuzzy
msgid "Standard Theorems (Numbered by Section)"
-msgstr "ТеоÑема"
+msgstr "СÑандаÑÑни ÑеоÑеми (номеÑиÑани по Ñаздели)"
#: lib/layouts/theorems-sec.module:7
msgid ""
"Numbers theorems and the like by section (i.e., the counter is reset at each "
"section start)."
msgstr ""
+"ÐомеÑиÑани ÑеоÑеми и дÑ. подобни по Ñаздели (бÑоÑÑа Ñе нÑлиÑа в наÑалоÑо на "
+"вÑеки Ñаздел)."
#: lib/layouts/theorems-starred.inc:135
msgid "Conjecture."
@@ -21735,21 +21355,21 @@ msgstr "Ðабележка."
# src/mathed/formula.C:929
#: lib/layouts/theorems-starred.module:2
-#, fuzzy
msgid "Standard Theorems (Unnumbered)"
-msgstr "ÐомеÑиÑане"
+msgstr "СÑандаÑÑни ÑеоÑеми (неномеÑиÑани)"
#: lib/layouts/theorems-starred.module:7
msgid ""
"Defines only unnumbered theorem environments, and the proof environment, "
"using the extended AMS machinery."
msgstr ""
+"ÐеÑиниÑа ÑÑеди Ñамо за неномеÑиÑани ÑеоÑеми и доказаÑелÑÑва, използвайки "
+"ÑазÑиÑени инÑÑÑÑменÑи на AMS."
# src/ext_l10n.h:387
#: lib/layouts/theorems-std.module:2
-#, fuzzy
msgid "Standard Theorems"
-msgstr "ТеоÑема"
+msgstr "СÑандаÑÑни ÑеоÑеми"
#: lib/layouts/theorems-std.module:8
msgid ""
@@ -21760,37 +21380,32 @@ msgstr ""
# src/ext_l10n.h:395 src/frontends/gnome/FormCitation.C:529
#: lib/layouts/theorems-without-preamble.inc:47
-#, fuzzy
msgid "Name/Title"
-msgstr "Ðаглавие"
+msgstr "Ðме/Ðаглавие"
#: lib/layouts/theorems-without-preamble.inc:48
msgid "Alternative optional name or title"
-msgstr ""
+msgstr "ÐлÑеÑнаÑивно незадÑлжиÑелно име или заглавие"
# src/ext_l10n.h:371
#: lib/layouts/theorems-without-preamble.inc:146
-#, fuzzy
msgid "Prop \\theprop."
-msgstr "ÐодÑаздел"
+msgstr "СвоиÑÑво \\theprop."
# src/ext_l10n.h:316
#: lib/layouts/theorems-without-preamble.inc:273
-#, fuzzy
msgid "Prob(lem)"
msgstr "ÐадаÑа"
# src/ext_l10n.h:316
#: lib/layouts/theorems-without-preamble.inc:277
-#, fuzzy
msgid "Prob"
-msgstr "ÐÑоблем"
+msgstr "ÐадаÑа"
# src/ext_l10n.h:371
#: lib/layouts/theorems-without-preamble.inc:284
-#, fuzzy
msgid "\\theprob."
-msgstr "ÐодÑаздел"
+msgstr "\\theprob."
# src/lyxfont.C:42
#: lib/layouts/theorems-without-preamble.inc:327
@@ -21800,9 +21415,8 @@ msgstr "Символ"
# src/frontends/kde/printdlg.C:31
#: lib/layouts/theorems-without-preamble.inc:331
-#, fuzzy
msgid "# [number of Prob]"
-msgstr "ÐÑой ÐºÐ¾Ð¿Ð¸Ñ Ð·Ð° пеÑаÑ"
+msgstr "# [бÑой задаÑи]"
# src/ext_l10n.h:316
#: lib/layouts/theorems-without-preamble.inc:334
@@ -21811,7 +21425,7 @@ msgstr "ÐÑÐ¸ÐºÐµÑ Ð½Ð° задаÑа"
#: lib/layouts/theorems-without-preamble.inc:335
msgid "Label of the corresponding problem"
-msgstr ""
+msgstr "ÐÑÐ¸ÐºÐµÑ Ð½Ð° ÑÑоÑвеÑна задаÑа"
# src/ext_l10n.h:371
#: lib/layouts/theorems-without-preamble.inc:426
@@ -21897,21 +21511,18 @@ msgstr "ÐпÑии на липÑваÑо изобÑажение|Ð"
# src/ext_l10n.h:6
#: lib/layouts/todonotes.module:124
-#, fuzzy
msgid "Todo[Inline]"
-msgstr "ÐмÑкни(I)|I"
+msgstr "ÐопÑавка[в Ñеда]"
# src/frontends/xforms/form_document.C:98
#: lib/layouts/todonotes.module:128
-#, fuzzy
msgid "Todo[margin]"
-msgstr "ÐолеÑа"
+msgstr "ÐопÑавка[в полеÑо]"
# src/lyxfunc.C:1105 src/lyxfunc.C:2550
#: lib/layouts/todonotes.module:132
-#, fuzzy
msgid "MissingFigure"
-msgstr "ÐипÑÐ²Ð°Ñ Ð°ÑгÑменÑ"
+msgstr "ÐипÑваÑо изобÑажение"
#: lib/layouts/treport.layout:3
msgid "Japanese Report (Vertical Writing)"
@@ -21919,7 +21530,7 @@ msgstr "Ðоклад на ÑпонÑки (веÑÑикално напиÑан)"
#: lib/layouts/tufte-book.layout:3 lib/examples/Articles:0
msgid "Tufte Book"
-msgstr ""
+msgstr "Ðнига Tufte"
# src/LColor.C:67
#: lib/layouts/tufte-book.layout:27 lib/layouts/tufte-book.layout:156
@@ -21935,89 +21546,84 @@ msgstr "ÑÑÑаниÑна бел."
#: lib/layouts/tufte-book.layout:29
#, fuzzy
msgid "bibl. entry"
-msgstr "ÐвÑоÑ"
+msgstr "библиог. запиÑ"
# src/ext_l10n.h:83
-#: lib/layouts/tufte-book.layout:176
+#: lib/layouts/tufte-book.layout:180
msgid "Marginnote"
msgstr "Ðележка в полеÑо (Tufte)"
# src/frontends/xforms/form_document.C:98
-#: lib/layouts/tufte-book.layout:180
+#: lib/layouts/tufte-book.layout:184
msgid "marginnote"
msgstr "бел. в полеÑо (Tufte)"
-#: lib/layouts/tufte-book.layout:189
+#: lib/layouts/tufte-book.layout:194
msgid "NewThought"
-msgstr "Ðова миÑÑл"
+msgstr ""
-#: lib/layouts/tufte-book.layout:193
+#: lib/layouts/tufte-book.layout:198
msgid "new thought"
-msgstr "нова миÑÑл"
+msgstr "главни бÑкви (Tufte)"
# src/lyxfont.C:51
-#: lib/layouts/tufte-book.layout:206
+#: lib/layouts/tufte-book.layout:212
msgid "AllCaps"
-msgstr "Само главни бÑкви"
+msgstr "Ðлавни бÑкви (Tufte)"
# src/lyxfont.C:51
-#: lib/layouts/tufte-book.layout:209
+#: lib/layouts/tufte-book.layout:215
msgid "allcaps"
-msgstr "Ñамо главни"
+msgstr "главни бÑкви"
# src/lyxfont.C:51
-#: lib/layouts/tufte-book.layout:221
+#: lib/layouts/tufte-book.layout:227
msgid "SmallCaps"
-msgstr "Само по-малки главни бÑкви"
+msgstr "Ðо-малки главни бÑкви"
# src/lyxfont.C:51
-#: lib/layouts/tufte-book.layout:224
+#: lib/layouts/tufte-book.layout:230
msgid "smallcaps"
msgstr "по-малки главни"
# src/frontends/kde/dlg/parageneraldlgdata.C:151
-#: lib/layouts/tufte-book.layout:232
-#, fuzzy
+#: lib/layouts/tufte-book.layout:238
msgid "Full Width"
-msgstr "ШиÑина на еÑикеÑ"
+msgstr "ÐÑлна ÑиÑина"
# src/ext_l10n.h:244
-#: lib/layouts/tufte-book.layout:252
-#, fuzzy
+#: lib/layouts/tufte-book.layout:258
msgid "Margin Figure"
msgstr "ÐзобÑажение в полеÑо"
# src/frontends/xforms/form_document.C:98
-#: lib/layouts/tufte-book.layout:256
-#, fuzzy
+#: lib/layouts/tufte-book.layout:262
msgid "Margin Table"
msgstr "ТаблиÑа в полеÑо"
# src/frontends/xforms/form_document.C:98
-#: lib/layouts/tufte-book.layout:262
-#, fuzzy
+#: lib/layouts/tufte-book.layout:268
msgid "MarginTable"
-msgstr "ÐолеÑа"
+msgstr "ТаблиÑа в полеÑа"
# src/ext_l10n.h:244
-#: lib/layouts/tufte-book.layout:278
+#: lib/layouts/tufte-book.layout:284
#, fuzzy
msgid "MarginFigure"
msgstr "ФигÑÑа"
#: lib/layouts/tufte-handout.layout:3 lib/examples/Articles:0
msgid "Tufte Handout"
-msgstr ""
+msgstr "ÐÑоÑÑÑа Tufte"
#: lib/layouts/tufte-handout.layout:4 lib/examples/Articles:0
msgid "Handouts"
-msgstr ""
+msgstr "ÐÑоÑÑÑи"
# src/LColor.C:78
#: lib/layouts/varwidth.module:2 lib/examples/Articles:0
-#, fuzzy
msgid "Variable-width Minipages"
-msgstr "Ñед на миниÑÑÑаниÑа"
+msgstr "ÐиниÑÑÑаниÑи Ñ Ð¿Ñоменлива ÑиÑина"
#: lib/layouts/varwidth.module:14
msgid ""
@@ -22031,33 +21637,30 @@ msgstr ""
#: lib/layouts/varwidth.module:20
msgid "Minipage (Var. Width)"
-msgstr ""
+msgstr "ÐиниÑÑÑаниÑа (пÑом. ÑиÑина)"
# src/frontends/kde/paraextradlg.C:27
#: lib/layouts/varwidth.module:22
-#, fuzzy
msgid "Minipage (var.)"
-msgstr "ÐиниÑÑÑаниÑа"
+msgstr "ÐиниÑÑÑаниÑа (пÑом.)"
# src/LyXAction.C:136
#: lib/layouts/varwidth.module:34
-#, fuzzy
msgid "Vert. Adjustment"
-msgstr "ÐмпоÑÑиÑай докÑменÑ"
+msgstr "ÐеÑÑ. подÑавнÑване"
#: lib/layouts/varwidth.module:35
msgid "Vertical adjustment: c (center), t (top) or b (bottom)"
-msgstr ""
+msgstr "ÐеÑÑикално подÑавнÑване: Ñ (ÑенÑÑÑ), t (гоÑе) или b (долÑ)"
# src/frontends/kde/dlg/parageneraldlgdata.C:151
#: lib/layouts/varwidth.module:39
-#, fuzzy
msgid "Max. Width"
-msgstr "ШиÑина на еÑикеÑ"
+msgstr "ÐакÑ. ÑиÑина"
#: lib/layouts/varwidth.module:40
msgid "Maximum width (default: \\linewidth)"
-msgstr ""
+msgstr "ÐакÑимална ÑиÑина (по подÑазбиÑане: \\linewidth)"
# src/lyxfont.C:43 src/lyxfont.C:47 src/lyxfont.C:52 src/lyxfont.C:58
# src/lyxfont.C:62
@@ -22123,7 +21726,7 @@ msgstr "немÑки (ÐвÑÑÑиÑ)"
#: lib/languages:340
msgid "Azerbaijani"
-msgstr ""
+msgstr "азеÑбайджанÑки"
#: lib/languages:356
msgid "Indonesian"
@@ -22196,7 +21799,7 @@ msgstr "киÑайÑки (ÑÑадиÑионен)"
#: lib/languages:545
msgid "Church Slavonic"
-msgstr ""
+msgstr "ÑÑÑковно-ÑлавÑнÑки"
#: lib/languages:558
msgid "Coptic"
@@ -22353,9 +21956,8 @@ msgstr "коÑейÑки"
# src/frontends/kde/paraextradlg.C:25 src/lyxfont.C:56
#: lib/languages:1019
-#, fuzzy
msgid "Kurdish (Kurmanji)"
-msgstr "кÑÑманджи"
+msgstr "ÐÑÑдÑки (кÑÑманджи)"
# src/insets/insettext.C:1036 src/lyxfunc.C:1260
#: lib/languages:1032 src/frontends/qt/GuiSymbols.cpp:77
@@ -22419,7 +22021,7 @@ msgstr "окÑиÑанÑки"
#: lib/languages:1242
msgid "Russian (Petrine orthography)"
-msgstr ""
+msgstr "ÑÑÑки (ÑеÑоÑмаÑа на ÐеÑÑÑ I)"
#: lib/languages:1252
msgid "Piedmontese"
@@ -22561,15 +22163,13 @@ msgstr "ÐÐ (поÑÑи евÑопейÑки)"
# src/frontends/xforms/form_preferences.C:108
#: lib/latexfonts:102 lib/latexfonts:110
-#, fuzzy
msgid "Bera Serif"
-msgstr "Sans Serif"
+msgstr "Bera Serif"
# src/frontends/xforms/form_preferences.C:105 src/lyxfont.C:42
#: lib/latexfonts:116
-#, fuzzy
msgid "Bookman"
-msgstr "Roman"
+msgstr "Bookman"
#: lib/latexfonts:122
msgid "Concrete Roman"
@@ -22590,7 +22190,7 @@ msgstr ""
#: lib/latexfonts:150
msgid "Crimson"
-msgstr ""
+msgstr "Crimson"
#: lib/latexfonts:156
msgid "Computer Modern Roman"
@@ -22598,182 +22198,162 @@ msgstr "Computer Modern Roman"
#: lib/latexfonts:164
msgid "Crimson Pro"
-msgstr ""
+msgstr "Crimson Pro"
# src/frontends/xforms/form_preferences.C:105 src/lyxfont.C:42
#: lib/latexfonts:175
-#, fuzzy
msgid "Crimson Pro (Medium)"
-msgstr "Roman"
+msgstr "Crimson Pro (ÑÑедно ÑежÑк)"
# src/frontends/xforms/form_preferences.C:111 src/lyxfont.C:42
#: lib/latexfonts:186
-#, fuzzy
msgid "Crimson Pro (Light)"
-msgstr "ÐаÑинопиÑ"
+msgstr "Crimson Pro (лек)"
# src/frontends/xforms/form_preferences.C:108
#: lib/latexfonts:197
-#, fuzzy
msgid "Crimson Pro (Extralight)"
-msgstr "Sans Serif"
+msgstr "Crimson Pro (ÑвÑÑÑ
ÑвеÑÑл)"
# src/frontends/xforms/form_preferences.C:108
#: lib/latexfonts:208
-#, fuzzy
msgid "DejaVu Serif"
-msgstr "Sans Serif"
+msgstr "DejaVu Serif"
# src/frontends/xforms/form_preferences.C:108
#: lib/latexfonts:214
-#, fuzzy
msgid "DejaVu Serif (Condensed)"
-msgstr "Sans Serif"
+msgstr "DejaVu Serif (Condensed)"
# src/frontends/xforms/form_preferences.C:108
#: lib/latexfonts:225
-#, fuzzy
msgid "IBM Plex Serif"
-msgstr "Sans Serif"
+msgstr "IBM Plex Serif"
# src/frontends/xforms/form_preferences.C:108
#: lib/latexfonts:232
-#, fuzzy
msgid "IBM Plex Serif (Thin)"
-msgstr "Sans Serif"
+msgstr "IBM Plex Serif (Thin)"
# src/frontends/xforms/form_preferences.C:108
#: lib/latexfonts:240
-#, fuzzy
msgid "IBM Plex Serif (Extra Light)"
-msgstr "Sans Serif"
+msgstr "IBM Plex Serif (Extra Light)"
# src/frontends/xforms/form_preferences.C:108
#: lib/latexfonts:248
-#, fuzzy
msgid "IBM Plex Serif (Light)"
-msgstr "Sans Serif"
+msgstr "IBM Plex Serif (лек)"
#: lib/latexfonts:256
msgid "Source Serif Pro"
-msgstr ""
+msgstr "Source Serif Pro"
#: lib/latexfonts:264 lib/latexfonts:274
msgid "URW Garamond"
-msgstr ""
+msgstr "URW Garamond"
#: lib/latexfonts:281 lib/latexfonts:291 lib/latexfonts:299 lib/latexfonts:307
#: lib/latexfonts:315
msgid "Libertine"
-msgstr ""
+msgstr "Libertine"
#: lib/latexfonts:322 lib/latexfonts:333
-#, fuzzy
msgid "Libertinus"
-msgstr "Bera Mono"
+msgstr "Libertinus"
#: lib/latexfonts:341 lib/latexfonts:349
msgid "Latin Modern Roman"
msgstr "Latin Modern Roman"
#: lib/latexfonts:356 lib/latexfonts:369
-#, fuzzy
msgid "Bitstream Charter (Mathdesign)"
-msgstr "Bitstream Charter"
+msgstr "Bitstream Charter (маÑем.)"
#: lib/latexfonts:376 lib/latexfonts:389
msgid "Utopia (Mathdesign)"
-msgstr ""
+msgstr "Utopia (Mathdesign)"
#: lib/latexfonts:396 lib/latexfonts:409
msgid "URW Garamond (Mathdesign)"
-msgstr ""
+msgstr "URW Garamond (Mathdesign)"
#: lib/latexfonts:416 lib/latexfonts:427
msgid "Minion Pro"
-msgstr ""
+msgstr "Minion Pro"
#: lib/latexfonts:436
msgid "New Century Schoolbook"
-msgstr ""
+msgstr "New Century Schoolbook"
# src/frontends/xforms/form_preferences.C:108
#: lib/latexfonts:442 lib/latexfonts:451
-#, fuzzy
msgid "Noto Serif"
-msgstr "Sans Serif"
+msgstr "Noto Serif"
# src/frontends/xforms/form_preferences.C:108
#: lib/latexfonts:459
-#, fuzzy
msgid "Noto Serif (Medium)"
-msgstr "Sans Serif"
+msgstr "Noto Serif (ÑÑедно дебел)"
# src/frontends/xforms/form_preferences.C:108
#: lib/latexfonts:469
-#, fuzzy
msgid "Noto Serif (Thin)"
-msgstr "Sans Serif"
+msgstr "Noto Serif (ÑÑнÑк)"
# src/frontends/xforms/form_preferences.C:108
#: lib/latexfonts:479
-#, fuzzy
msgid "Noto Serif (Light)"
-msgstr "Sans Serif"
+msgstr "Sans Serif (лек)"
# src/frontends/xforms/form_preferences.C:108
#: lib/latexfonts:489
-#, fuzzy
msgid "Noto Serif (Extralight)"
-msgstr "Sans Serif"
+msgstr "Noto Serif (ÑвÑÑÑ
ÑвеÑÑл)"
# src/BufferView2.C:601 src/LyXAction.C:346 src/MenuBackend.C:433
#: lib/latexfonts:499 lib/latexfonts:512 lib/latexfonts:519 lib/latexfonts:525
#: lib/latexfonts:533
-#, fuzzy
msgid "Palatino"
-msgstr "Ðалепи"
+msgstr "Palatino"
# src/frontends/xforms/form_preferences.C:108
#: lib/latexfonts:539
-#, fuzzy
msgid "PT Serif"
-msgstr "Sans Serif"
+msgstr "PT Serif"
# src/frontends/xforms/form_preferences.C:105 src/lyxfont.C:42
#: lib/latexfonts:546 lib/latexfonts:556 lib/latexfonts:563 lib/latexfonts:569
-#, fuzzy
msgid "Times Roman"
-msgstr "Roman"
+msgstr "Times Roman"
#: lib/latexfonts:575
msgid "TeX Gyre Bonum"
-msgstr ""
+msgstr "TeX Gyre Bonum"
#: lib/latexfonts:581
msgid "TeX Gyre Chorus"
-msgstr ""
+msgstr "TeX Gyre Chorus"
#: lib/latexfonts:587
msgid "TeX Gyre Pagella"
-msgstr ""
+msgstr "TeX Gyre Pagella"
#: lib/latexfonts:593
msgid "TeX Gyre Schola"
-msgstr ""
+msgstr "TeX Gyre Schola"
#: lib/latexfonts:599
msgid "TeX Gyre Termes"
-msgstr ""
+msgstr "TeX Gyre Termes"
#: lib/latexfonts:607 lib/latexfonts:619 lib/latexfonts:625 lib/latexfonts:633
msgid "Utopia (Fourier)"
-msgstr ""
+msgstr "Utopia (Fourier)"
#: lib/latexfonts:639
-#, fuzzy
msgid "Bitstream Charter (XCharter)"
-msgstr "Bitstream Charter"
+msgstr "Bitstream Charter (XCharter)"
#: lib/latexfonts:651
msgid "Avant Garde"
@@ -22785,31 +22365,29 @@ msgstr "Bera Sans"
#: lib/latexfonts:665 lib/latexfonts:675 lib/latexfonts:685
msgid "Biolinum"
-msgstr ""
+msgstr "Biolinum"
#: lib/latexfonts:694
msgid "Cantarell"
-msgstr ""
+msgstr "Cantarell"
#: lib/latexfonts:705
msgid "Chivo (Thin)"
-msgstr ""
+msgstr "Chivo (Thin)"
# src/frontends/xforms/form_preferences.C:111 src/lyxfont.C:42
#: lib/latexfonts:716
-#, fuzzy
msgid "Chivo (Light)"
-msgstr "ÐаÑинопиÑ"
+msgstr "Chivo (Light)"
#: lib/latexfonts:727
msgid "Chivo"
-msgstr ""
+msgstr "Chivo"
# src/lyxfont.C:47
#: lib/latexfonts:737
-#, fuzzy
msgid "Chivo (Medium)"
-msgstr "СÑедно"
+msgstr "Chivo (Medium)"
# src/ext_l10n.h:209
#: lib/latexfonts:748
@@ -22822,72 +22400,62 @@ msgid "Computer Modern Sans"
msgstr "Computer Modern Sans"
#: lib/latexfonts:762
-#, fuzzy
msgid "DejaVu Sans"
-msgstr "Bera Sans"
+msgstr "DejaVu Sans"
#: lib/latexfonts:769
-#, fuzzy
msgid "DejaVu Sans (Condensed)"
-msgstr "Bera Sans"
+msgstr "DejaVu Sans (Condensed)"
#: lib/latexfonts:776
-#, fuzzy
msgid "Fira Sans"
-msgstr "Bera Sans"
+msgstr "Fira Sans"
#: lib/latexfonts:787
msgid "Fira Sans (Book)"
-msgstr ""
+msgstr "Fira Sans (Book)"
# src/frontends/xforms/form_preferences.C:111 src/lyxfont.C:42
#: lib/latexfonts:799
-#, fuzzy
-msgid "Fira Sans (Light)"
-msgstr "ÐаÑинопиÑ"
+msgid "Fira Sans (ÑвеÑÑл)"
+msgstr "Fira Sans (ÑвеÑÑл)"
# src/frontends/xforms/form_preferences.C:108
#: lib/latexfonts:811
-#, fuzzy
msgid "Fira Sans (Extralight)"
-msgstr "Sans Serif"
+msgstr "Fira Sans (много ÑвеÑÑл)"
#: lib/latexfonts:823
msgid "Fira Sans (Ultralight)"
-msgstr ""
+msgstr "Fira Sans (ÑвÑÑÑ
ÑвеÑÑл)"
#: lib/latexfonts:835
msgid "Fira Sans (Thin)"
-msgstr ""
+msgstr "Fira Sans (ÑвеÑÑл)"
#: lib/latexfonts:847
-#, fuzzy
msgid "IBM Plex Sans"
-msgstr "Bera Sans"
+msgstr "IBM Plex Sans"
#: lib/latexfonts:855
-#, fuzzy
msgid "IBM Plex Sans (Condensed)"
-msgstr "Bera Sans"
+msgstr "IBM Plex Sans (ÑбиÑ)"
#: lib/latexfonts:864
-#, fuzzy
msgid "IBM Plex Sans (Thin)"
-msgstr "Bera Sans"
+msgstr "IBM Plex Sans (ÑвеÑÑл)"
#: lib/latexfonts:873
-#, fuzzy
msgid "IBM Plex Sans (Extra Light)"
-msgstr "Bera Sans"
+msgstr "IBM Plex Sans (много ÑвеÑÑл)"
#: lib/latexfonts:882
-#, fuzzy
msgid "IBM Plex Sans (Light)"
-msgstr "Bera Sans"
+msgstr "IBM Plex Sans (ÑвеÑÑл)"
#: lib/latexfonts:891
msgid "Source Sans Pro"
-msgstr ""
+msgstr "Source Sans Pro"
#: lib/latexfonts:900
msgid "Helvetica"
@@ -22895,19 +22463,19 @@ msgstr "Helvetica"
#: lib/latexfonts:908
msgid "Iwona"
-msgstr ""
+msgstr "Iwona"
#: lib/latexfonts:915
msgid "Iwona (Light)"
-msgstr ""
+msgstr "Iwona (ÑвеÑÑл)"
#: lib/latexfonts:922
msgid "Iwona (Condensed)"
-msgstr ""
+msgstr "Iwona (ÑбиÑ)"
#: lib/latexfonts:929
msgid "Iwona (Light Condensed)"
-msgstr ""
+msgstr "Iwona (леко ÑбиÑ)"
# src/frontends/kde/dlg/printdlgdata.C:73
# src/frontends/xforms/form_print.C:135
@@ -22924,11 +22492,11 @@ msgstr "ÐаÑинопиÑ"
#: lib/latexfonts:950
msgid "Kurier (Condensed)"
-msgstr ""
+msgstr "Kurier (ÑбиÑ)"
#: lib/latexfonts:957
msgid "Kurier (Light Condensed)"
-msgstr ""
+msgstr "Kurier (леко ÑбиÑ)"
#: lib/latexfonts:964 lib/latexfonts:974
#, fuzzy
@@ -22944,10 +22512,9 @@ msgid "Noto Sans"
msgstr ""
# src/frontends/xforms/form_preferences.C:108
-#: lib/latexfonts:999
-#, fuzzy
+#: lib/latexfonts:99
msgid "Noto Sans (Medium)"
-msgstr "Sans Serif"
+msgstr "Noto Sans (обикновен)"
# src/frontends/xforms/form_preferences.C:108
#: lib/latexfonts:1010
@@ -23310,15 +22877,13 @@ msgstr "ЯпонÑко pLaTeX (SJIS)"
# src/frontends/xforms/form_preferences.C:926
#: lib/encodings:236
-#, fuzzy
msgid "Extended [pLaTeX] (Japanese)"
-msgstr "допÑлниÑелни опÑии"
+msgstr "РазÑиÑен [pLaTeX] (ÑпонÑки)"
# src/lyxfunc.C:1132
#: lib/encodings:242
-#, fuzzy
msgid "Direct"
-msgstr "ÐоÑÑебиÑелÑка диÑекÑоÑиÑ: "
+msgstr "ÐиÑекÑоÑиÑ"
#: lib/encodings:246
msgid "ASCII"
@@ -23375,31 +22940,31 @@ msgstr "ÐакÑоÑ"
# src/frontends/xforms/form_tabular.C:365
#: lib/ui/stdcontext.inc:43 lib/ui/stdmenus.inc:327 lib/ui/stdmenus.inc:481
msgid "AMS align Environment|a"
-msgstr "AMS подÑавнÑване (align)"
+msgstr "ÐодÑавнÑване AMS (align)"
# src/frontends/xforms/form_tabular.C:241
# src/frontends/xforms/form_tabular.C:365
#: lib/ui/stdcontext.inc:44 lib/ui/stdmenus.inc:328 lib/ui/stdmenus.inc:482
msgid "AMS alignat Environment|t"
-msgstr "AMS ÑоÑно подÑавнÑване (alignat)"
+msgstr "ТоÑно подÑавнÑване AMS (alignat)"
# src/frontends/xforms/form_tabular.C:241
# src/frontends/xforms/form_tabular.C:365
#: lib/ui/stdcontext.inc:45 lib/ui/stdmenus.inc:329 lib/ui/stdmenus.inc:483
msgid "AMS flalign Environment|f"
-msgstr "AMS лÑво подÑавнÑване (flalign)"
+msgstr "ÐÑво подÑавнÑване AMS (flalign)"
# src/frontends/xforms/form_tabular.C:241
# src/frontends/xforms/form_tabular.C:365
#: lib/ui/stdcontext.inc:46 lib/ui/stdmenus.inc:330 lib/ui/stdmenus.inc:484
msgid "AMS gather Environment|g"
-msgstr "AMS гÑÑпиÑане (gather)"
+msgstr "ÐÑÑпиÑане AMS (gather)"
# src/frontends/xforms/form_tabular.C:241
# src/frontends/xforms/form_tabular.C:365
#: lib/ui/stdcontext.inc:47 lib/ui/stdmenus.inc:331 lib/ui/stdmenus.inc:485
msgid "AMS multline Environment|m"
-msgstr "AMS Ñедове Ñ Ð¿ÑенаÑÑне (multiline)"
+msgstr "Редове Ñ Ð¿ÑенаÑÑне AMS (multiline)"
# src/ext_l10n.h:77
#: lib/ui/stdcontext.inc:51 lib/ui/stdmenus.inc:324 lib/ui/stdmenus.inc:477
@@ -23420,7 +22985,7 @@ msgstr "УÑавнение (eqnarray*)|У"
# src/frontends/xforms/form_tabular.C:365
#: lib/ui/stdcontext.inc:54
msgid "AMS Environment|A"
-msgstr "AMS ÑÑеда"
+msgstr "СÑеда AMS"
# src/lyxfont.C:415
#: lib/ui/stdcontext.inc:56 lib/ui/stdmenus.inc:242
@@ -23440,33 +23005,32 @@ msgstr "ÐÑÐ¸ÐºÐµÑ Ð½Ð° ÑÑавнениеÑо|Ð"
# src/frontends/kde/FormRef.C:249
#: lib/ui/stdcontext.inc:59
-#, fuzzy
msgid "Copy as Reference|R"
-msgstr "LyX: ÐÑепÑаÑка"
+msgstr "ÐопиÑане каÑо пÑепÑаÑка"
# src/BufferView2.C:592 src/LyXAction.C:170 src/MenuBackend.C:431
-#: lib/ui/stdcontext.inc:61 lib/ui/stdcontext.inc:355 lib/ui/stdmenus.inc:108
-#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1548
+#: lib/ui/stdcontext.inc:61 lib/ui/stdcontext.inc:375 lib/ui/stdmenus.inc:108
+#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1576
#: src/mathed/InsetMathNest.cpp:555
msgid "Cut"
msgstr "ÐзÑÑзване"
# src/BufferView2.C:581 src/LyXAction.C:169 src/MenuBackend.C:432
-#: lib/ui/stdcontext.inc:62 lib/ui/stdcontext.inc:356 lib/ui/stdmenus.inc:109
-#: lib/ui/stdtoolbars.inc:87 src/BufferView.cpp:2220
+#: lib/ui/stdcontext.inc:62 lib/ui/stdcontext.inc:376 lib/ui/stdmenus.inc:109
+#: lib/ui/stdtoolbars.inc:87 src/BufferView.cpp:2269
msgid "Copy"
msgstr "ÐопиÑане"
# src/BufferView2.C:601 src/LyXAction.C:346 src/MenuBackend.C:433
-#: lib/ui/stdcontext.inc:63 lib/ui/stdcontext.inc:357 lib/ui/stdmenus.inc:110
-#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1493
-#: src/frontends/qt/GuiToolbar.cpp:428 src/mathed/InsetMathGrid.cpp:1560
+#: lib/ui/stdcontext.inc:63 lib/ui/stdcontext.inc:377 lib/ui/stdmenus.inc:110
+#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1520
+#: src/frontends/qt/GuiToolbar.cpp:441 src/mathed/InsetMathGrid.cpp:1565
#: src/mathed/InsetMathNest.cpp:533
msgid "Paste"
msgstr "ÐоÑÑавÑне"
# src/ext_l10n.h:67
-#: lib/ui/stdcontext.inc:64 lib/ui/stdcontext.inc:358 lib/ui/stdmenus.inc:111
+#: lib/ui/stdcontext.inc:64 lib/ui/stdcontext.inc:378 lib/ui/stdmenus.inc:111
msgid "Paste Recent|e"
msgstr "ÐоÑледно поÑÑавени|Ñ"
@@ -23483,9 +23047,8 @@ msgstr "РазделÑне на клеÑкаÑа"
# src/frontends/kde/dlg/tabcreatedlgdata.C:107
# src/frontends/xforms/form_tabular_create.C:45
#: lib/ui/stdcontext.inc:69
-#, fuzzy
msgid "Rows & Columns| "
-msgstr "Ðолони"
+msgstr "Редове и колони"
# src/frontends/xforms/form_tabular.C:223
# src/frontends/xforms/form_tabular.C:349
@@ -23549,772 +23112,728 @@ msgid "Use Computer Algebra System|m"
msgstr "Ðзползване на алгебÑиÑна изÑиÑл. ÑиÑÑема"
# src/frontends/kde/FormRef.C:249
-#: lib/ui/stdcontext.inc:92 lib/ui/stdcontext.inc:115
+#: lib/ui/stdcontext.inc:92 lib/ui/stdcontext.inc:112 lib/ui/stdcontext.inc:135
msgid "Next Cross-Reference|N"
msgstr "СледваÑа пÑепÑаÑка|С"
# src/insets/insetbib.C:69 src/insets/insetbib.C:70 src/insets/insetbib.C:210
# src/insets/insetbib.C:211
-#: lib/ui/stdcontext.inc:93
-#, fuzzy
+#: lib/ui/stdcontext.inc:93 lib/ui/stdcontext.inc:113
msgid "Go to Label|G"
-msgstr "ÐÑикеÑ(L):|#L"
+msgstr "ÐÑиване до еÑикеÑ"
# src/frontends/xforms/FormPreferences.C:68
-#: lib/ui/stdcontext.inc:95
+#: lib/ui/stdcontext.inc:95 lib/ui/stdcontext.inc:115
#, fuzzy
msgid "<Reference>|R"
msgstr "ÐаÑÑÑойки"
# src/frontends/xforms/FormPreferences.C:68
-#: lib/ui/stdcontext.inc:96
+#: lib/ui/stdcontext.inc:96 lib/ui/stdcontext.inc:116
#, fuzzy
msgid "(<Reference>)|e"
msgstr "ÐаÑÑÑойки"
# src/frontends/kde/paraextradlg.C:27
-#: lib/ui/stdcontext.inc:97
+#: lib/ui/stdcontext.inc:97 lib/ui/stdcontext.inc:117
#, fuzzy
msgid "<Page>|P"
msgstr "ÐиниÑÑÑаниÑа"
-#: lib/ui/stdcontext.inc:98
+#: lib/ui/stdcontext.inc:98 lib/ui/stdcontext.inc:118
msgid "On Page <Page>|O"
-msgstr ""
+msgstr "Ðа ÑÑÑаниÑа <Page>"
-#: lib/ui/stdcontext.inc:99
+#: lib/ui/stdcontext.inc:99 lib/ui/stdcontext.inc:119
msgid "<Reference> on Page <Page>|f"
msgstr ""
# src/frontends/kde/refdlg.C:66
-#: lib/ui/stdcontext.inc:100
-#, fuzzy
+#: lib/ui/stdcontext.inc:100 lib/ui/stdcontext.inc:120
msgid "Formatted Reference|t"
-msgstr "\"Ð¥Ñбава\" пÑепÑаÑка"
+msgstr "ФоÑмаÑиÑана пÑепÑаÑка"
# src/frontends/kde/FormRef.C:249
-#: lib/ui/stdcontext.inc:101
-#, fuzzy
+#: lib/ui/stdcontext.inc:101 lib/ui/stdcontext.inc:121
msgid "Textual Reference|x"
-msgstr "LyX: ÐÑепÑаÑка"
+msgstr "ТекÑÑова пÑепÑаÑка"
# src/frontends/xforms/FormPreferences.C:244
-#: lib/ui/stdcontext.inc:102
-#, fuzzy
+#: lib/ui/stdcontext.inc:102 lib/ui/stdcontext.inc:122
msgid "Label Only|L"
-msgstr "ЦвеÑове"
+msgstr "Само еÑикеÑ"
+
+# src/ext_l10n.h:344
+#: lib/ui/stdcontext.inc:104 lib/ui/stdcontext.inc:128
+#: lib/ui/stdcontext.inc:140 lib/ui/stdcontext.inc:150
+#: lib/ui/stdcontext.inc:159 lib/ui/stdcontext.inc:168
+#: lib/ui/stdcontext.inc:179 lib/ui/stdcontext.inc:186
+#: lib/ui/stdcontext.inc:287 lib/ui/stdcontext.inc:305
+#: lib/ui/stdcontext.inc:334 lib/ui/stdcontext.inc:446
+#: lib/ui/stdcontext.inc:459 lib/ui/stdcontext.inc:512
+#: lib/ui/stdcontext.inc:524 lib/ui/stdcontext.inc:548
+#: lib/ui/stdcontext.inc:559 lib/ui/stdcontext.inc:567
+#: lib/ui/stdcontext.inc:577 lib/ui/stdcontext.inc:585
+#: lib/ui/stdcontext.inc:593 lib/ui/stdcontext.inc:601
+#: lib/ui/stdcontext.inc:614 lib/ui/stdcontext.inc:624
+#: lib/ui/stdcontext.inc:645 lib/ui/stdcontext.inc:653
+#: lib/ui/stdcontext.inc:699 lib/ui/stdcontext.inc:708 lib/ui/stdmenus.inc:576
+msgid "Settings...|S"
+msgstr "ÐаÑÑÑойки|й"
# src/ext_l10n.h:351
-#: lib/ui/stdcontext.inc:104
-#, fuzzy
+#: lib/ui/stdcontext.inc:124
msgid "Plural|a"
-msgstr "natural"
+msgstr "Ðн. ÑиÑло"
# src/ext_l10n.h:432
-#: lib/ui/stdcontext.inc:105
-#, fuzzy
+#: lib/ui/stdcontext.inc:125
msgid "Capitalize|C"
msgstr "ÐаÑална главна бÑква|Ð"
-# src/ext_l10n.h:344
-#: 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
-#: lib/ui/stdcontext.inc:166 lib/ui/stdcontext.inc:267
-#: lib/ui/stdcontext.inc:285 lib/ui/stdcontext.inc:314
-#: lib/ui/stdcontext.inc:426 lib/ui/stdcontext.inc:439
-#: lib/ui/stdcontext.inc:492 lib/ui/stdcontext.inc:504
-#: lib/ui/stdcontext.inc:528 lib/ui/stdcontext.inc:539
-#: lib/ui/stdcontext.inc:547 lib/ui/stdcontext.inc:557
-#: lib/ui/stdcontext.inc:565 lib/ui/stdcontext.inc:573
-#: lib/ui/stdcontext.inc:581 lib/ui/stdcontext.inc:594
-#: lib/ui/stdcontext.inc:604 lib/ui/stdcontext.inc:625
-#: lib/ui/stdcontext.inc:633 lib/ui/stdcontext.inc:679
-#: lib/ui/stdcontext.inc:688 lib/ui/stdmenus.inc:576
-msgid "Settings...|S"
-msgstr "ÐаÑÑÑойки|й"
-
# src/frontends/kde/FormRef.C:103
-#: lib/ui/stdcontext.inc:116
+#: lib/ui/stdcontext.inc:136
msgid "Go Back|G"
msgstr "Ðазад|Ð"
# src/frontends/kde/FormRef.C:249
-#: lib/ui/stdcontext.inc:118 lib/ui/stdcontext.inc:525
+#: lib/ui/stdcontext.inc:138 lib/ui/stdcontext.inc:545
msgid "Copy as Reference|C"
msgstr "ÐопиÑане каÑо пÑепÑаÑка|Ð"
# src/frontends/xforms/FormCitation.C:37
-#: lib/ui/stdcontext.inc:131
-#, fuzzy
+#: lib/ui/stdcontext.inc:151
msgid "Try to Open Citation Content...|O"
-msgstr "ЦиÑиÑане...|Ц"
+msgstr "ÐÐ¿Ð¸Ñ Ð·Ð° оÑваÑÑне ÑÑдÑÑжаниеÑо на ÑиÑаÑа..."
# src/ext_l10n.h:94
-#: lib/ui/stdcontext.inc:141
-#, fuzzy
+#: lib/ui/stdcontext.inc:161
msgid "Edit Database(s) Externally...|x"
-msgstr "ÐÑнÑен маÑеÑиал(x)...|x"
+msgstr "РедакÑÐ¸Ñ Ð½Ð° ÐÐ Ñ Ð²ÑнÑна пÑогÑама..."
# src/insets/insetfloat.C:150
-#: lib/ui/stdcontext.inc:155
+#: lib/ui/stdcontext.inc:175
msgid "Open Inset|O"
msgstr "ÐÑваÑÑне на добавкаÑа|Ð"
# src/ext_l10n.h:20
-#: lib/ui/stdcontext.inc:156
+#: lib/ui/stdcontext.inc:176
msgid "Close Inset|C"
msgstr "ÐаÑваÑÑне на добавкаÑа"
-#: lib/ui/stdcontext.inc:158 lib/ui/stdcontext.inc:164
-#: lib/ui/stdcontext.inc:180 lib/ui/stdcontext.inc:641
+#: lib/ui/stdcontext.inc:178 lib/ui/stdcontext.inc:184
+#: lib/ui/stdcontext.inc:200 lib/ui/stdcontext.inc:661
msgid "Dissolve Inset|D"
msgstr "РазÑваÑÑне на добавкаÑа"
# src/insets/insetbib.C:69 src/insets/insetbib.C:70 src/insets/insetbib.C:210
# src/insets/insetbib.C:211
-#: lib/ui/stdcontext.inc:163 lib/ui/stdcontext.inc:179
+#: lib/ui/stdcontext.inc:183 lib/ui/stdcontext.inc:199
msgid "Show Label|L"
msgstr "Ðоказване на еÑикеÑа|Ð"
# src/lyx.C:87
-#: lib/ui/stdcontext.inc:190 lib/ui/stdmenus.inc:526
+#: lib/ui/stdcontext.inc:210 lib/ui/stdmenus.inc:526
msgid "Frameless|l"
-msgstr "Ðез конÑÑÑ|Ð"
+msgstr "без конÑÑÑ|б"
# src/LColor.C:91
-#: lib/ui/stdcontext.inc:191 lib/ui/stdmenus.inc:527
+#: lib/ui/stdcontext.inc:211 lib/ui/stdmenus.inc:527
msgid "Simple Frame|F"
-msgstr "Ðбикновен конÑÑÑ|Ð"
+msgstr "обикновен конÑÑÑ|о"
-#: lib/ui/stdcontext.inc:192
+#: lib/ui/stdcontext.inc:212
msgid "Simple Frame, Page Breaks|P"
-msgstr ""
+msgstr "обикновен конÑÑÑ Ð¸ кÑай на ÑÑÑаниÑа"
-#: lib/ui/stdcontext.inc:193 lib/ui/stdmenus.inc:528
+#: lib/ui/stdcontext.inc:213 lib/ui/stdmenus.inc:528
msgid "Oval, Thin|a"
-msgstr "Ðвални, ÑÑнÑк конÑÑÑ|Ñ"
+msgstr "овална Ñ ÑÑнÑк конÑÑÑ|Ñ"
-#: lib/ui/stdcontext.inc:194 lib/ui/stdmenus.inc:529
+#: lib/ui/stdcontext.inc:214 lib/ui/stdmenus.inc:529
msgid "Oval, Thick|v"
-msgstr "Ðвален, дебел конÑÑÑ|д"
+msgstr "овалена Ñ Ð´ÐµÐ±ÐµÐ» конÑÑÑ|д"
-#: lib/ui/stdcontext.inc:195 lib/ui/stdmenus.inc:530
+#: lib/ui/stdcontext.inc:215 lib/ui/stdmenus.inc:530
msgid "Drop Shadow|w"
-msgstr "ХвÑÑлÑÑа ÑÑнка|Ð¥"
+msgstr "Ñ
вÑÑлÑÑа ÑÑнка|Ñ
"
# src/LColor.C:68
-#: lib/ui/stdcontext.inc:196 lib/ui/stdmenus.inc:531
+#: lib/ui/stdcontext.inc:216 lib/ui/stdmenus.inc:531
msgid "Shaded Background|B"
-msgstr "ЦвеÑен Ñон|Ц"
+msgstr "ÑвеÑен Ñон|Ñ"
# src/bufferview_funcs.C:286
-#: lib/ui/stdcontext.inc:197 lib/ui/stdmenus.inc:532
+#: lib/ui/stdcontext.inc:217 lib/ui/stdmenus.inc:532
msgid "Double Frame|u"
-msgstr "Ðвойна Ñамка|Ñ"
+msgstr "двойна Ñамка|Ñ"
# src/ext_l10n.h:136
-#: lib/ui/stdcontext.inc:214 lib/ui/stdmenus.inc:536
+#: lib/ui/stdcontext.inc:234 lib/ui/stdmenus.inc:536
msgid "LyX Note|N"
msgstr "LyX Ðележка|Ð"
# src/ext_l10n.h:202
-#: lib/ui/stdcontext.inc:215
+#: lib/ui/stdcontext.inc:235
msgid "Comment|m"
msgstr "ÐоменÑаÑ|Ð"
-#: lib/ui/stdcontext.inc:216 lib/ui/stdmenus.inc:538
+#: lib/ui/stdcontext.inc:236 lib/ui/stdmenus.inc:538
msgid "Greyed Out|G"
msgstr "ЦвеÑна бележка|Ц"
# src/insets/insetfloat.C:150
-#: lib/ui/stdcontext.inc:218
-#, fuzzy
+#: lib/ui/stdcontext.inc:238
msgid "Open All Notes|A"
-msgstr "ÐÑвоÑен Float Inset"
+msgstr "ÐÑваÑÑне на вÑиÑки бележки|Ð"
-#: lib/ui/stdcontext.inc:219
+#: lib/ui/stdcontext.inc:239
msgid "Close All Notes|l"
-msgstr ""
+msgstr "ÐаÑваÑÑне на вÑиÑки бележки|Ð"
# src/ext_l10n.h:438
-#: lib/ui/stdcontext.inc:227 lib/ui/stdmenus.inc:548
+#: lib/ui/stdcontext.inc:247 lib/ui/stdmenus.inc:548
msgid "Phantom|P"
msgstr "ФанÑом"
# src/mathed/math_forms.C:152
-#: lib/ui/stdcontext.inc:228 lib/ui/stdmenus.inc:549
+#: lib/ui/stdcontext.inc:248 lib/ui/stdmenus.inc:549
msgid "Horizontal Phantom|H"
msgstr "ХоÑизонÑален ÑанÑом|Ð¥"
# src/mathed/math_forms.C:147
-#: lib/ui/stdcontext.inc:229 lib/ui/stdmenus.inc:550
+#: lib/ui/stdcontext.inc:249 lib/ui/stdmenus.inc:550
msgid "Vertical Phantom|V"
msgstr "ÐеÑÑикален ÑанÑом|Ð"
# src/frontends/kde/paraextradlg.C:27
-#: lib/ui/stdcontext.inc:244 lib/ui/stdmenus.inc:455
+#: lib/ui/stdcontext.inc:264 lib/ui/stdmenus.inc:455
msgid "Interword Space|w"
msgstr "ÐнÑеÑвал Ð¼ÐµÐ¶Ð´Ñ Ð´Ñми"
# src/ext_l10n.h:99
-#: lib/ui/stdcontext.inc:245
-#, fuzzy
+#: lib/ui/stdcontext.inc:265
msgid "Protected Space|o"
-msgstr "ÐаÑиÑен инÑеÑвал|B"
+msgstr "ÐаÑиÑен инÑеÑвал|Ð"
# src/frontends/xforms/form_paragraph.C:153
-#: lib/ui/stdcontext.inc:246
+#: lib/ui/stdcontext.inc:266
msgid "Visible Space|a"
msgstr "Ðидим инÑеÑвал|Ð"
-#: lib/ui/stdcontext.inc:247 lib/ui/stdcontext.inc:274 lib/ui/stdmenus.inc:456
+#: lib/ui/stdcontext.inc:267 lib/ui/stdcontext.inc:294 lib/ui/stdmenus.inc:456
msgid "Thin Space|T"
msgstr "ÐолÑинÑеÑвал"
# src/frontends/kde/parageneraldlg.C:40 src/frontends/kde/parageneraldlg.C:47
-#: lib/ui/stdcontext.inc:248 lib/ui/stdcontext.inc:275
-#, fuzzy
+#: lib/ui/stdcontext.inc:268 lib/ui/stdcontext.inc:295
msgid "Medium Space|M"
msgstr "СÑедно ÑазÑÑоÑние"
# src/frontends/kde/parageneraldlg.C:40 src/frontends/kde/parageneraldlg.C:47
-#: lib/ui/stdcontext.inc:249 lib/ui/stdcontext.inc:276
-#, fuzzy
+#: lib/ui/stdcontext.inc:269 lib/ui/stdcontext.inc:296
msgid "Thick Space|i"
-msgstr "СÑедно ÑазÑÑоÑние"
+msgstr "ÐолÑмо ÑазÑÑоÑние"
# src/frontends/kde/parageneraldlg.C:40 src/frontends/kde/parageneraldlg.C:47
-#: lib/ui/stdcontext.inc:250 lib/ui/stdcontext.inc:277
+#: lib/ui/stdcontext.inc:270 lib/ui/stdcontext.inc:297
msgid "Negative Thin Space|N"
msgstr "ÐÑÑиÑаÑелен полÑинÑеÑвал"
# src/frontends/kde/parageneraldlg.C:40 src/frontends/kde/parageneraldlg.C:47
-#: lib/ui/stdcontext.inc:251 lib/ui/stdcontext.inc:278
-#, fuzzy
+#: lib/ui/stdcontext.inc:271 lib/ui/stdcontext.inc:298
msgid "Negative Medium Space|v"
-msgstr "СÑедно ÑазÑÑоÑние"
+msgstr "ÐÑÑиÑаÑелено ÑÑедно ÑазÑÑоÑние"
# src/frontends/kde/parageneraldlg.C:40 src/frontends/kde/parageneraldlg.C:47
-#: lib/ui/stdcontext.inc:252 lib/ui/stdcontext.inc:279
-#, fuzzy
+#: lib/ui/stdcontext.inc:272 lib/ui/stdcontext.inc:299
msgid "Negative Thick Space|h"
-msgstr "СÑедно ÑазÑÑоÑние"
+msgstr "ÐÑÑиÑаÑелно голÑмо ÑазÑÑоÑние"
-#: lib/ui/stdcontext.inc:253 lib/ui/stdcontext.inc:280
+#: lib/ui/stdcontext.inc:273 lib/ui/stdcontext.inc:300
msgid "Half Quad Space (Enskip)|k"
msgstr ""
# src/ext_l10n.h:99
-#: lib/ui/stdcontext.inc:254
+#: lib/ui/stdcontext.inc:274
#, fuzzy
msgid "Protected Half Quad Space (Enspace)|E"
msgstr "ÐаÑиÑен инÑеÑвал(B)|B"
# src/sp_form.C:86
-#: lib/ui/stdcontext.inc:255 lib/ui/stdcontext.inc:281
+#: lib/ui/stdcontext.inc:275 lib/ui/stdcontext.inc:301
#, fuzzy
msgid "Quad Space|Q"
msgstr "ÐамеÑÑи"
# src/sp_form.C:86
-#: lib/ui/stdcontext.inc:256 lib/ui/stdcontext.inc:282
+#: lib/ui/stdcontext.inc:276 lib/ui/stdcontext.inc:302
#, fuzzy
msgid "Double Quad Space|u"
msgstr "ÐамеÑÑи"
# src/mathed/math_forms.C:152
-#: lib/ui/stdcontext.inc:257
-#, fuzzy
+#: lib/ui/stdcontext.inc:277
msgid "Horizontal Fill|F"
-msgstr "ХоÑиз. ÐодÑавнÑване(H)|#H"
+msgstr "ХоÑиз. запÑлване"
# src/mathed/math_forms.C:152
-#: lib/ui/stdcontext.inc:258
-#, fuzzy
+#: lib/ui/stdcontext.inc:278
msgid "Protected Horizontal Fill|z"
-msgstr "ХоÑиз. ÐодÑавнÑване(H)|#H"
+msgstr "ÐаÑиÑено Ñ
оÑиз. запÑлване"
# src/mathed/math_forms.C:152
-#: lib/ui/stdcontext.inc:259
-#, fuzzy
+#: lib/ui/stdcontext.inc:279
msgid "Horizontal Fill (Dots)|D"
-msgstr "ХоÑиз. ÐодÑавнÑване(H)|#H"
+msgstr "ХоÑиз. запÑлване (Ñ ÑоÑки)"
# src/mathed/math_forms.C:152
-#: lib/ui/stdcontext.inc:260
+#: lib/ui/stdcontext.inc:280
#, fuzzy
msgid "Horizontal Fill (Rule)|R"
msgstr "ХоÑиз. ÐодÑавнÑване(H)|#H"
# src/mathed/math_forms.C:152
-#: lib/ui/stdcontext.inc:261
-#, fuzzy
+#: lib/ui/stdcontext.inc:281
msgid "Horizontal Fill (Left Arrow)|L"
-msgstr "ХоÑиз. ÐодÑавнÑване(H)|#H"
+msgstr "ХоÑиз. запÑлване (леви ÑÑÑелки)"
# src/mathed/math_forms.C:152
-#: lib/ui/stdcontext.inc:262
-#, fuzzy
+#: lib/ui/stdcontext.inc:282
msgid "Horizontal Fill (Right Arrow)|g"
-msgstr "ХоÑиз. ÐодÑавнÑване(H)|#H"
+msgstr "ХоÑиз. запÑлване (деÑни ÑÑÑелки)"
# src/mathed/math_forms.C:152
-#: lib/ui/stdcontext.inc:263
-#, fuzzy
+#: lib/ui/stdcontext.inc:283
msgid "Horizontal Fill (Up Brace)|p"
-msgstr "ХоÑиз. ÐодÑавнÑване(H)|#H"
+msgstr "ХоÑиз. запÑлване (гоÑна Ñкоба)"
# src/mathed/math_forms.C:152
-#: lib/ui/stdcontext.inc:264
-#, fuzzy
+#: lib/ui/stdcontext.inc:284
msgid "Horizontal Fill (Down Brace)|B"
-msgstr "ХоÑиз. ÐодÑавнÑване(H)|#H"
+msgstr "ХоÑиз. запÑлване (долна Ñкоба)"
# src/ext_l10n.h:202
-#: lib/ui/stdcontext.inc:265 lib/ui/stdcontext.inc:283
-#, fuzzy
+#: lib/ui/stdcontext.inc:285 lib/ui/stdcontext.inc:303
msgid "Custom Length|C"
-msgstr "ÐоменÑаÑ"
+msgstr "ÐÑлжина Ð¾Ñ Ð¿Ð¾ÑÑебиÑелÑ"
# src/frontends/kde/parageneraldlg.C:38 src/frontends/kde/parageneraldlg.C:45
-#: lib/ui/stdcontext.inc:292
+#: lib/ui/stdcontext.inc:312
#, fuzzy
msgid "DefSkip|D"
msgstr "ÐоÑмално ÑазÑÑоÑние"
# src/frontends/kde/parageneraldlg.C:39 src/frontends/kde/parageneraldlg.C:46
-#: lib/ui/stdcontext.inc:293
-#, fuzzy
+#: lib/ui/stdcontext.inc:313
msgid "SmallSkip|S"
msgstr "Ðалко ÑазÑÑоÑние"
# src/frontends/kde/parageneraldlg.C:40 src/frontends/kde/parageneraldlg.C:47
-#: lib/ui/stdcontext.inc:294
-#, fuzzy
+#: lib/ui/stdcontext.inc:314
msgid "MedSkip|M"
msgstr "СÑедно ÑазÑÑоÑние"
# src/frontends/kde/parageneraldlg.C:41 src/frontends/kde/parageneraldlg.C:48
-#: lib/ui/stdcontext.inc:295
-#, fuzzy
+#: lib/ui/stdcontext.inc:315
msgid "BigSkip|B"
msgstr "ÐолÑмо ÑазÑÑоÑние"
# src/ext_l10n.h:65
-#: lib/ui/stdcontext.inc:296
-#, fuzzy
+#: lib/ui/stdcontext.inc:316
msgid "Half line height|H"
-msgstr "оÑноваÑа вдÑÑно"
+msgstr "Ðоловин виÑоÑина на Ñед"
# src/form1.C:157 src/frontends/xforms/form_graphics.C:46
-#: lib/ui/stdcontext.inc:297
-#, fuzzy
+#: lib/ui/stdcontext.inc:317
msgid "Line height|L"
-msgstr "&ÐиÑоÑина"
+msgstr "ÐиÑоÑина на Ñед"
# src/MenuBackend.C:443 src/MenuBackend.C:450 src/ext_l10n.h:1
# src/ext_l10n.h:4
-#: lib/ui/stdcontext.inc:298
+#: lib/ui/stdcontext.inc:318
#, fuzzy
msgid "VFill|F"
msgstr "Файл(F)|F"
# src/ext_l10n.h:215
-#: lib/ui/stdcontext.inc:299
+#: lib/ui/stdcontext.inc:319
#, fuzzy
msgid "Custom|C"
msgstr "ÐлиенÑ"
# src/ext_l10n.h:344
-#: lib/ui/stdcontext.inc:301
+#: lib/ui/stdcontext.inc:321
#, fuzzy
msgid "Settings...|e"
msgstr "Раздел"
# src/insets/insetinclude.C:277 src/insets/insetinclude.C:318
-#: lib/ui/stdcontext.inc:308 lib/ui/stdcontext.inc:588
+#: lib/ui/stdcontext.inc:328 lib/ui/stdcontext.inc:608
#, fuzzy
msgid "Include|c"
msgstr "ÐклÑÑи"
# src/insets/insetinclude.C:314
-#: lib/ui/stdcontext.inc:309 lib/ui/stdcontext.inc:589
+#: lib/ui/stdcontext.inc:329 lib/ui/stdcontext.inc:609
#, fuzzy
msgid "Input|p"
msgstr "ÐÑ
од"
# src/insets/insetinclude.C:316
-#: lib/ui/stdcontext.inc:310 lib/ui/stdcontext.inc:590
+#: lib/ui/stdcontext.inc:330 lib/ui/stdcontext.inc:610
#, fuzzy
msgid "Verbatim|V"
msgstr "ÐеÑоÑмаÑиÑан вÑ
од"
-#: lib/ui/stdcontext.inc:311 lib/ui/stdcontext.inc:591
+#: lib/ui/stdcontext.inc:331 lib/ui/stdcontext.inc:611
msgid "Verbatim (marked blanks)|b"
msgstr ""
# src/ext_l10n.h:274
-#: lib/ui/stdcontext.inc:312 lib/ui/stdcontext.inc:592
+#: lib/ui/stdcontext.inc:332 lib/ui/stdcontext.inc:612
msgid "Listing|L"
msgstr "СпиÑÑк"
# src/ext_l10n.h:92
-#: lib/ui/stdcontext.inc:316 lib/ui/stdcontext.inc:596
-#, fuzzy
+#: lib/ui/stdcontext.inc:336 lib/ui/stdcontext.inc:616
msgid "Edit Included File...|E"
-msgstr "ÐклÑÑи Ñайл(e)|e"
+msgstr "РедакÑиÑане на вклÑÑен Ñайл..."
# src/MenuBackend.C:413 src/ext_l10n.h:12 src/ext_l10n.h:17
-#: lib/ui/stdcontext.inc:323 lib/ui/stdmenus.inc:468
+#: lib/ui/stdcontext.inc:343 lib/ui/stdmenus.inc:468
msgid "New Page|N"
msgstr "Ðова ÑÑÑаниÑа|Ð"
# src/frontends/xforms/form_paragraph.C:141
-#: lib/ui/stdcontext.inc:324 lib/ui/stdmenus.inc:469
+#: lib/ui/stdcontext.inc:344 lib/ui/stdmenus.inc:469
msgid "Page Break|a"
msgstr "ÐÑай на ÑÑÑаниÑа|Ð"
# src/frontends/xforms/form_paragraph.C:141
-#: lib/ui/stdcontext.inc:325 lib/ui/stdmenus.inc:470
-#, fuzzy
+#: lib/ui/stdcontext.inc:345 lib/ui/stdmenus.inc:470
msgid "No Page Break|g"
-msgstr "ÐÑай на ÑÑÑаниÑа|Ð"
+msgstr "Ðез кÑай на ÑÑÑаниÑа"
# src/frontends/xforms/form_paragraph.C:244
-#: lib/ui/stdcontext.inc:326 lib/ui/stdmenus.inc:471
+#: lib/ui/stdcontext.inc:346 lib/ui/stdmenus.inc:471
msgid "Clear Page|C"
msgstr "ÐавÑÑÑване на ÑÑÑаниÑа|Ð"
-#: lib/ui/stdcontext.inc:327 lib/ui/stdmenus.inc:472
+#: lib/ui/stdcontext.inc:347 lib/ui/stdmenus.inc:472
msgid "Clear Double Page|D"
msgstr "ÐавÑÑÑване Ñ Ð¿Ñазна ÑÑÑаниÑа"
# src/ext_l10n.h:100
-#: lib/ui/stdcontext.inc:334 lib/ui/stdmenus.inc:465
+#: lib/ui/stdcontext.inc:354 lib/ui/stdmenus.inc:465
msgid "Ragged Line Break|R"
msgstr "Ðов Ñед"
# src/ext_l10n.h:100
-#: lib/ui/stdcontext.inc:335 lib/ui/stdmenus.inc:466
+#: lib/ui/stdcontext.inc:355 lib/ui/stdmenus.inc:466
msgid "Justified Line Break|J"
msgstr "ÐодÑавнен нов Ñед|Ð"
# src/ext_l10n.h:104
-#: lib/ui/stdcontext.inc:342
-#, fuzzy
+#: lib/ui/stdcontext.inc:362
msgid "Plain Separator|P"
-msgstr "ÐÐµÐ½Ñ ÑазделиÑел(M)|M"
+msgstr "Ðбикновен ÑазделиÑел"
# src/ext_l10n.h:303
-#: lib/ui/stdcontext.inc:343
-#, fuzzy
+#: lib/ui/stdcontext.inc:363
msgid "Paragraph Break|B"
-msgstr "ÐбзаÑ"
+msgstr "ÐÑекÑÑване на абзаÑ"
# src/ext_l10n.h:94
-#: lib/ui/stdcontext.inc:352
+#: lib/ui/stdcontext.inc:372
msgid "Edit Externally..."
msgstr "РедакÑиÑане Ñ Ð´ÑÑга пÑогÑама...|Ð "
# src/ext_l10n.h:94
-#: lib/ui/stdcontext.inc:353
-#, fuzzy
+#: lib/ui/stdcontext.inc:373
msgid "End Editing Externally..."
-msgstr "РедакÑиÑане Ñ Ð´ÑÑга пÑогÑама...|Ð "
+msgstr "ÐÑай на ÑедакÑиÑане Ñ Ð²ÑнÑна пÑогÑама"
# src/insets/insetfloat.C:150
-#: lib/ui/stdcontext.inc:360
-#, fuzzy
+#: lib/ui/stdcontext.inc:380
msgid "Split Inset|t"
-msgstr "ÐÑваÑÑне на добавкаÑа|Ð"
+msgstr "РаздвоÑване на добавкаÑа Ð¾Ñ ÐºÑÑÑоÑа"
# src/frontends/xforms/form_paragraph.C:244
-#: lib/ui/stdcontext.inc:362
+#: lib/ui/stdcontext.inc:382
msgid "Jump Back to Saved Bookmark|B"
msgstr "ÐÑÑÑане кам поÑледно запиÑÐ°Ð½Ð¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð»ÐµÑ|Ð"
-#: lib/ui/stdcontext.inc:363 lib/ui/stdmenus.inc:600
+#: lib/ui/stdcontext.inc:383 lib/ui/stdmenus.inc:600
msgid "Forward Search|F"
msgstr "ТÑÑÑене напÑед|Т"
# src/ext_l10n.h:303
-#: lib/ui/stdcontext.inc:365 lib/ui/stdmenus.inc:120
+#: lib/ui/stdcontext.inc:385 lib/ui/stdmenus.inc:120
msgid "Move Paragraph Up|o"
msgstr "ÐÑемеÑÑване на абзаÑа нагоÑе|г"
# src/ext_l10n.h:303
-#: lib/ui/stdcontext.inc:366 lib/ui/stdmenus.inc:121
+#: lib/ui/stdcontext.inc:386 lib/ui/stdmenus.inc:121
msgid "Move Paragraph Down|v"
msgstr "ÐÑемеÑÑване на абзаÑа надолÑ|д"
# src/ext_l10n.h:344
-#: lib/ui/stdcontext.inc:370
+#: lib/ui/stdcontext.inc:390
msgid "Promote Section|r"
msgstr "ÐовиÑаване на Ñаздела"
# src/ext_l10n.h:344
-#: lib/ui/stdcontext.inc:371
+#: lib/ui/stdcontext.inc:391
msgid "Demote Section|m"
msgstr "Ðонижаване на Ñадела"
# src/LColor.C:64
-#: lib/ui/stdcontext.inc:372
+#: lib/ui/stdcontext.inc:392
msgid "Move Section Down|D"
msgstr "ÐÑемеÑÑване Ñаздела надолÑ"
# src/LColor.C:64
-#: lib/ui/stdcontext.inc:373 lib/ui/stdcontext.inc:661
+#: lib/ui/stdcontext.inc:393 lib/ui/stdcontext.inc:681
msgid "Move Section Up|U"
msgstr "ÐÑемеÑÑване Ñаздела нагоÑе"
# src/LyXAction.C:248
-#: lib/ui/stdcontext.inc:375
+#: lib/ui/stdcontext.inc:395
msgid "Insert Regular Expression"
msgstr "ÐмÑкване на ÑегÑлÑÑен изÑаз"
# src/LColor.C:75
-#: lib/ui/stdcontext.inc:377 lib/ui/stdcontext.inc:650
+#: lib/ui/stdcontext.inc:397 lib/ui/stdcontext.inc:670
msgid "Accept Change|c"
msgstr "ÐÑиемане на пÑомÑна|Ð"
# src/form1.C:249
-#: lib/ui/stdcontext.inc:378
+#: lib/ui/stdcontext.inc:398
msgid "Reject Change|j"
msgstr "ÐÑÑ
вÑÑлÑне на пÑомÑна|Ð"
-#: lib/ui/stdcontext.inc:380 lib/ui/stdmenus.inc:124
+#: lib/ui/stdcontext.inc:400 lib/ui/stdmenus.inc:124
msgid "Text Properties|x"
-msgstr "ÐаÑÑÑойки на ÑекÑÑа|Ñ"
+msgstr "ТекÑÑ|Т"
-#: lib/ui/stdcontext.inc:381 lib/ui/stdmenus.inc:125
+#: lib/ui/stdcontext.inc:401 lib/ui/stdmenus.inc:125
msgid "Custom Text Styles|S"
msgstr "ТекÑÑови ÑÑилове зададени Ð¾Ñ Ð¿Ð¾ÑÑебиÑелÑ"
# src/ext_l10n.h:303
-#: lib/ui/stdcontext.inc:382 lib/ui/stdmenus.inc:123
+#: lib/ui/stdcontext.inc:402 lib/ui/stdmenus.inc:123
msgid "Paragraph Settings...|P"
msgstr "ÐаÑÑÑойки на абзаÑа...|а"
# src/frontends/xforms/FormGraphics.C:36
# src/frontends/xforms/FormGraphics.C:359
-#: lib/ui/stdcontext.inc:383
-#, fuzzy
+#: lib/ui/stdcontext.inc:403
msgid "Unify Graphics Groups|U"
-msgstr "ÐÑаÑика"
+msgstr "ÐбединÑване на гÑаÑиÑни гÑÑпи"
-#: lib/ui/stdcontext.inc:386
+#: lib/ui/stdcontext.inc:406
msgid "Fullscreen Mode"
msgstr "Режим пÑлен екÑан"
# src/LyXAction.C:141
-#: lib/ui/stdcontext.inc:387
-#, fuzzy
+#: lib/ui/stdcontext.inc:407
msgid "Close Current View"
-msgstr "Ðов докÑменÑ"
+msgstr "ÐаÑваÑÑне на ÑекÑÑÐ¸Ñ Ð¸Ð·Ð³Ð»ÐµÐ´"
-#: lib/ui/stdcontext.inc:395
-#, fuzzy
+#: lib/ui/stdcontext.inc:415
msgid "Anything|A"
-msgstr "varnothing"
+msgstr "ÐÑиÑко"
-#: lib/ui/stdcontext.inc:396
+#: lib/ui/stdcontext.inc:416
msgid "Anything Non-Empty|o"
-msgstr ""
+msgstr "ÐÑиÑко не пÑазно"
-#: lib/ui/stdcontext.inc:397
-#, fuzzy
+#: lib/ui/stdcontext.inc:417
msgid "Any Word|W"
-msgstr "MS Word|W"
+msgstr "ÐÑÑка дÑма"
# src/mathed/formula.C:929
-#: lib/ui/stdcontext.inc:398
-#, fuzzy
+#: lib/ui/stdcontext.inc:418
msgid "Any Number|N"
-msgstr "ÐомеÑиÑане"
+msgstr "ÐÑеки номеÑ"
# src/frontends/xforms/FormPreferences.C:269
-#: lib/ui/stdcontext.inc:399
-#, fuzzy
+#: lib/ui/stdcontext.inc:419
msgid "User Defined|U"
-msgstr "ÐÑинÑеÑ"
+msgstr "ÐеÑиниÑан Ð¾Ñ Ð¿Ð¾ÑÑебиÑелÑ"
# src/lyxfunc.C:1105 src/lyxfunc.C:2550
-#: lib/ui/stdcontext.inc:408 lib/ui/stdmenus.inc:267
+#: lib/ui/stdcontext.inc:428 lib/ui/stdmenus.inc:267
msgid "Append Argument"
msgstr "ÐобавÑне на аÑгÑменÑ"
# src/lyxfunc.C:1105 src/lyxfunc.C:2550
-#: lib/ui/stdcontext.inc:409 lib/ui/stdmenus.inc:268
+#: lib/ui/stdcontext.inc:429 lib/ui/stdmenus.inc:268
msgid "Remove Last Argument"
msgstr "ÐзÑÑиване на поÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð°ÑгÑменÑ"
# src/lyxfunc.C:1105 src/lyxfunc.C:2550
-#: lib/ui/stdcontext.inc:411
+#: lib/ui/stdcontext.inc:431
msgid "Make First Non-Optional Into Optional Argument"
msgstr "ÐÑомÑна на пÑÑÐ²Ð¸Ñ Ð¾Ð±Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½ аÑгÑÐ¼Ð½Ñ Ð½Ð° аÑгÑÐ¼ÐµÐ½Ñ Ð¿Ð¾ подÑазбиÑане"
# src/lyxfunc.C:1105 src/lyxfunc.C:2550
-#: lib/ui/stdcontext.inc:412
+#: lib/ui/stdcontext.inc:432
msgid "Make Last Optional Into Non-Optional Argument"
msgstr "ÐÑомÑна на поÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð°Ð³ÑÐ¼ÐµÐ½Ñ Ð¿Ð¾ подÑазбиÑане на обикновен"
# src/lyxfunc.C:1105 src/lyxfunc.C:2550
-#: lib/ui/stdcontext.inc:413 lib/ui/stdmenus.inc:272
+#: lib/ui/stdcontext.inc:433 lib/ui/stdmenus.inc:272
msgid "Insert Optional Argument"
msgstr "ÐобавÑне на аÑÐ³ÐµÐ¼ÐµÐ½Ñ Ð¿Ð¾ подÑазбиÑане"
# src/insets/insetfloat.C:150
-#: lib/ui/stdcontext.inc:414 lib/ui/stdmenus.inc:273
+#: lib/ui/stdcontext.inc:434 lib/ui/stdmenus.inc:273
msgid "Remove Optional Argument"
msgstr "ÐзÑÑиване на алгÑÐ¼ÐµÐ½Ñ Ð¿Ð¾ подÑазбиÑане"
# src/insets/insetfloat.C:150
-#: lib/ui/stdcontext.inc:416 lib/ui/stdmenus.inc:275
-#, fuzzy
+#: lib/ui/stdcontext.inc:436 lib/ui/stdmenus.inc:275
msgid "Append Argument Eating From the Right"
-msgstr "ÐÑвоÑен Float Inset"
+msgstr "ÐобавÑне на аÑгÑÐ¼ÐµÐ½Ñ Ð¾ÑдÑÑно"
# src/insets/insetfloat.C:150
-#: lib/ui/stdcontext.inc:417 lib/ui/stdmenus.inc:276
-#, fuzzy
+#: lib/ui/stdcontext.inc:437 lib/ui/stdmenus.inc:276
msgid "Append Optional Argument Eating From the Right"
-msgstr "ÐÑвоÑен Float Inset"
+msgstr "ÐобавÑне на незадÑлжиÑелен аÑгÑÐ¼ÐµÐ½Ñ Ð¾ÑдÑÑно"
# src/insets/insetfloat.C:150
-#: lib/ui/stdcontext.inc:418 lib/ui/stdmenus.inc:277
-#, fuzzy
+#: lib/ui/stdcontext.inc:438 lib/ui/stdmenus.inc:277
msgid "Remove Last Argument Spitting Out to the Right"
-msgstr "ÐÑвоÑен Float Inset"
+msgstr "ÐÑемаÑ
ване на поÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð°ÑгÑÐ¼ÐµÐ½Ñ Ð¾ÑдÑÑно"
# src/sp_form.C:86
-#: lib/ui/stdcontext.inc:427
+#: lib/ui/stdcontext.inc:447
msgid "Reload|R"
msgstr "ÐÑезапеждане"
# src/ext_l10n.h:94
-#: lib/ui/stdcontext.inc:429 lib/ui/stdcontext.inc:441
-#: lib/ui/stdcontext.inc:549
+#: lib/ui/stdcontext.inc:449 lib/ui/stdcontext.inc:461
+#: lib/ui/stdcontext.inc:569
msgid "Edit Externally...|x"
msgstr "РедакÑиÑане Ñ Ð²ÑнÑна пÑогÑама|Ð "
# src/frontends/kde/dlg/paraextradlgdata.C:142
-#: lib/ui/stdcontext.inc:449 lib/ui/stdmenus.inc:222
+#: lib/ui/stdcontext.inc:469 lib/ui/stdmenus.inc:222
msgid "Top|T"
-msgstr "ÐÑгоÑе"
+msgstr "ÐоÑе"
# src/frontends/kde/dlg/paraextradlgdata.C:168
-#: lib/ui/stdcontext.inc:450 lib/ui/stdmenus.inc:224
+#: lib/ui/stdcontext.inc:470 lib/ui/stdmenus.inc:224
msgid "Bottom|B"
-msgstr "ÐÑдолÑ"
+msgstr "ÐолÑ"
# src/frontends/kde/dlg/parageneraldlgdata.C:120
-#: lib/ui/stdcontext.inc:451 lib/ui/stdmenus.inc:218
+#: lib/ui/stdcontext.inc:471 lib/ui/stdmenus.inc:218
msgid "Left|L"
-msgstr "ÐÑлÑво"
+msgstr "ÐÑво"
# src/frontends/kde/dlg/parageneraldlgdata.C:133
-#: lib/ui/stdcontext.inc:452 lib/ui/stdmenus.inc:220
+#: lib/ui/stdcontext.inc:472 lib/ui/stdmenus.inc:220
msgid "Right|R"
-msgstr "ÐÑдеÑено"
+msgstr "ÐÑÑно"
-#: lib/ui/stdcontext.inc:453
-#, fuzzy
+#: lib/ui/stdcontext.inc:473
msgid "Reset Formal Defaults|F"
-msgstr "ÐÑзÑÑановÑване"
+msgstr "ÐÑзÑÑановÑване по подÑазбиÑане"
# src/frontends/kde/dlg/parageneraldlgdata.C:120
-#: lib/ui/stdcontext.inc:457
+#: lib/ui/stdcontext.inc:477
msgid "Left|f"
-msgstr "ÐÑлÑво"
+msgstr "ÐÑво"
# src/frontends/kde/dlg/parageneraldlgdata.C:107
-#: lib/ui/stdcontext.inc:458 lib/ui/stdmenus.inc:219
+#: lib/ui/stdcontext.inc:478 lib/ui/stdmenus.inc:219
msgid "Center|C"
-msgstr "ЦенÑÑиÑане"
+msgstr "ЦенÑÑÑ"
# src/frontends/kde/dlg/parageneraldlgdata.C:133
-#: lib/ui/stdcontext.inc:459
+#: lib/ui/stdcontext.inc:479
msgid "Right|h"
-msgstr "ÐÑдÑÑно"
+msgstr "ÐÑÑно"
# src/layout_forms.C:23
-#: lib/ui/stdcontext.inc:460
-#, fuzzy
+#: lib/ui/stdcontext.inc:480
msgid "Decimal"
-msgstr "СемейÑÑво(F):|#F"
+msgstr "ÐеÑеÑиÑно"
# src/ext_l10n.h:61
-#: lib/ui/stdcontext.inc:468
+#: lib/ui/stdcontext.inc:488
msgid "Multicolumn|u"
msgstr "ÐбединÑване на колони"
# src/ext_l10n.h:61
-#: lib/ui/stdcontext.inc:469
+#: lib/ui/stdcontext.inc:489
msgid "Multirow|w"
msgstr "ÐбединÑване на Ñедове"
# src/ext_l10n.h:72
-#: lib/ui/stdcontext.inc:471
+#: lib/ui/stdcontext.inc:491
msgid "Append Row|A"
msgstr "ÐобавÑне на Ñед"
# src/ext_l10n.h:74
-#: lib/ui/stdcontext.inc:472 lib/ui/stdmenus.inc:227
+#: lib/ui/stdcontext.inc:492 lib/ui/stdmenus.inc:227
msgid "Delete Row|D"
msgstr "ÐзÑÑиване на Ñед"
# src/ext_l10n.h:41
-#: lib/ui/stdcontext.inc:473 lib/ui/stdmenus.inc:228
+#: lib/ui/stdcontext.inc:493 lib/ui/stdmenus.inc:228
msgid "Copy Row|o"
msgstr "ÐопиÑане на Ñед"
# src/LColor.C:64
-#: lib/ui/stdcontext.inc:474 lib/ui/stdmenus.inc:229
+#: lib/ui/stdcontext.inc:494 lib/ui/stdmenus.inc:229
msgid "Move Row Up"
msgstr "ÐÑемеÑÑване на Ñеда нагоÑе"
# src/LColor.C:64
-#: lib/ui/stdcontext.inc:475 lib/ui/stdmenus.inc:230
+#: lib/ui/stdcontext.inc:495 lib/ui/stdmenus.inc:230
msgid "Move Row Down"
msgstr "ÐÑемеÑÑване на Ñеда надолÑ"
# src/ext_l10n.h:73
-#: lib/ui/stdcontext.inc:477
+#: lib/ui/stdcontext.inc:497
msgid "Append Column|p"
msgstr "ÐобавÑне на колона"
# src/ext_l10n.h:75
-#: lib/ui/stdcontext.inc:478 lib/ui/stdmenus.inc:234
+#: lib/ui/stdcontext.inc:498 lib/ui/stdmenus.inc:234
msgid "Delete Column|e"
msgstr "ÐзÑÑиване на колона"
# src/ext_l10n.h:73
-#: lib/ui/stdcontext.inc:479
+#: lib/ui/stdcontext.inc:499
msgid "Copy Column|y"
msgstr "ÐопиÑане на колона"
-#: lib/ui/stdcontext.inc:480 lib/ui/stdmenus.inc:236
+#: lib/ui/stdcontext.inc:500 lib/ui/stdmenus.inc:236
msgid "Move Column Right|v"
msgstr "ÐÑемеÑÑване на колонаÑа надÑÑно"
-#: lib/ui/stdcontext.inc:481 lib/ui/stdmenus.inc:237
+#: lib/ui/stdcontext.inc:501 lib/ui/stdmenus.inc:237
msgid "Move Column Left"
msgstr "ÐÑемеÑÑване на колонаÑа налÑво"
# src/ext_l10n.h:311
-#: lib/ui/stdcontext.inc:485 lib/ui/stdmenus.inc:201
+#: lib/ui/stdcontext.inc:505 lib/ui/stdmenus.inc:201
msgid "Multi-page Table|g"
msgstr "ТаблиÑа на повеÑе ÑÑÑаниÑи"
# src/ext_l10n.h:125
-#: lib/ui/stdcontext.inc:486
+#: lib/ui/stdcontext.inc:506
msgid "Formal Style|m"
msgstr "ÐÑиÑиален ÑÑил (без веÑÑ. канÑове)"
# src/frontends/xforms/form_tabular.C:223
# src/frontends/xforms/form_tabular.C:349
-#: lib/ui/stdcontext.inc:488
+#: lib/ui/stdcontext.inc:508
msgid "Borders|d"
msgstr "ÐонÑÑÑи"
@@ -24322,134 +23841,137 @@ msgstr "ÐонÑÑÑи"
# src/frontends/kde/dlg/parageneraldlgdata.C:43
# src/frontends/xforms/form_paragraph.C:149
# src/frontends/xforms/form_paragraph.C:223
-#: lib/ui/stdcontext.inc:489
+#: lib/ui/stdcontext.inc:509
msgid "Alignment|i"
msgstr "ÐодÑавнÑване"
# src/frontends/kde/dlg/tabcreatedlgdata.C:107
# src/frontends/xforms/form_tabular_create.C:45
-#: lib/ui/stdcontext.inc:490
+#: lib/ui/stdcontext.inc:510
msgid "Columns/Rows|C"
msgstr "Редове и колони"
-#: lib/ui/stdcontext.inc:502
+#: lib/ui/stdcontext.inc:522
msgid "Transform Field to Static Text|T"
-msgstr ""
+msgstr "ÐÑеобÑазÑване на поле в ÑÑаÑиÑен ÑекÑÑ|Т"
# src/ext_l10n.h:41
-#: lib/ui/stdcontext.inc:503
-#, fuzzy
+#: lib/ui/stdcontext.inc:523
msgid "Copy Text|o"
-msgstr "ÐопиÑай(o)|o"
+msgstr "ÐопиÑане на ÑекÑÑ|Ð"
-#: lib/ui/stdcontext.inc:512 lib/ui/stdcontext.inc:536
+#: lib/ui/stdcontext.inc:532 lib/ui/stdcontext.inc:556
msgid "Activate Branch|A"
-msgstr ""
+msgstr "ÐкÑивиÑане на Ñазклонение|Ñ"
# src/frontends/kde/refdlg.C:30
-#: lib/ui/stdcontext.inc:513 lib/ui/stdcontext.inc:537
-#, fuzzy
+#: lib/ui/stdcontext.inc:533 lib/ui/stdcontext.inc:557
msgid "Deactivate Branch|e"
-msgstr "ÐоÑÑÑпни пÑепÑаÑки"
+msgstr "ÐеакÑивиÑане на Ñазклонение|Ð"
# src/frontends/kde/refdlg.C:30
-#: lib/ui/stdcontext.inc:514
-#, fuzzy
+#: lib/ui/stdcontext.inc:534
msgid "Activate Branch in Master|M"
-msgstr "ÐоÑÑÑпни пÑепÑаÑки"
+msgstr "ÐкÑ. на Ñазклонение в Ð³Ð»Ð°Ð²Ð½Ð¸Ñ Ð´Ð¾ÐºÑм.|г"
# src/frontends/kde/refdlg.C:30
-#: lib/ui/stdcontext.inc:515
-#, fuzzy
+#: lib/ui/stdcontext.inc:535
msgid "Deactivate Branch in Master|v"
-msgstr "ÐоÑÑÑпни пÑепÑаÑки"
+msgstr "ÐеакÑ. на Ñазклонение в Ð³Ð»Ð°Ð²Ð½Ð¸Ñ Ð´Ð¾ÐºÑм.|д"
# src/LyXAction.C:354
-#: lib/ui/stdcontext.inc:516
+#: lib/ui/stdcontext.inc:536
msgid "Invert Inset|I"
msgstr "ÐÑевклÑÑване на добавкаÑа|Ð"
# src/lyxfunc.C:328 src/lyxfunc.C:2996
-#: lib/ui/stdcontext.inc:517
+#: lib/ui/stdcontext.inc:537
msgid "Add Unknown Branch|w"
-msgstr "ÐобавÑна на неопÑеделено Ñазклонение|Ñ`"
+msgstr "ÐобавÑна на неопÑеделено Ñазклонение|Ñ"
-#: lib/ui/stdcontext.inc:526
+#: lib/ui/stdcontext.inc:546
msgid "Insert Reference at Cursor Position|I"
-msgstr ""
+msgstr "ÐмÑкване на пÑепÑаÑка в позиÑиÑÑа на кÑÑÑоÑа|к"
# src/insets/insetfloat.C:150
-#: lib/ui/stdcontext.inc:620
-#, fuzzy
+#: lib/ui/stdcontext.inc:640
msgid "All Indexes|A"
-msgstr "ÐÑвоÑен Float Inset"
+msgstr "ÐÑиÑки индекÑи|Ð"
-#: lib/ui/stdcontext.inc:623
+#: lib/ui/stdcontext.inc:643
msgid "Subindex|b"
-msgstr ""
+msgstr "ÐодиндекÑ|и"
# src/form1.C:249
-#: lib/ui/stdcontext.inc:651 lib/ui/stdmenus.inc:583
+#: lib/ui/stdcontext.inc:671 lib/ui/stdmenus.inc:583
msgid "Reject Change|R"
-msgstr "ÐÑÑ
вÑÑлÑне на избÑанаÑа пÑомÑна|Ð"
+msgstr "ÐÑÑ
вÑÑлÑне на избÑанаÑа пÑомÑна"
# src/ext_l10n.h:344
-#: lib/ui/stdcontext.inc:659
+#: lib/ui/stdcontext.inc:679
msgid "Promote Section|P"
msgstr "ÐовиÑаване на Ñаздела"
# src/ext_l10n.h:344
-#: lib/ui/stdcontext.inc:660
+#: lib/ui/stdcontext.inc:680
msgid "Demote Section|D"
msgstr "Ðонижаване на Ñаздела"
# src/LColor.C:64
-#: lib/ui/stdcontext.inc:662
+#: lib/ui/stdcontext.inc:682
msgid "Move Section Down|w"
-msgstr "ÐÑемеÑÑване на Ñадела надолÑ"
+msgstr "ÐÑемеÑÑване на Ñаздела надолÑ|д"
# src/LColor.C:64
-#: lib/ui/stdcontext.inc:664
+#: lib/ui/stdcontext.inc:684
msgid "Select Section|S"
-msgstr "ÐзбиÑане на Ñаздел"
+msgstr "ÐзбиÑане на Ñаздел|Ñ"
# src/frontends/kde/dlg/printdlgdata.C:246
-#: lib/ui/stdcontext.inc:672
-#, fuzzy
+#: lib/ui/stdcontext.inc:692
msgid "Wrap by Preview|y"
-msgstr "(&F)Файл"
+msgstr "Ðоказване в пÑедваÑ. изглед|и"
# src/MenuBackend.C:414 src/ext_l10n.h:14 src/ext_l10n.h:19
-#: lib/ui/stdcontext.inc:681
-#, fuzzy
+#: lib/ui/stdcontext.inc:701
msgid "Open Target...|O"
-msgstr "ÐÑваÑÑне...|Ð"
+msgstr "ÐÑваÑÑне на Ñел...|Ð"
# src/frontends/kde/dlg/paraextradlgdata.C:142
-#: lib/ui/stdcontext.inc:697 lib/ui/stdmenus.inc:361
+#: lib/ui/stdcontext.inc:717 lib/ui/stdmenus.inc:361
msgid "Lock Toolbars|L"
msgstr "ÐаклÑÑване на ленÑиÑе"
-#: lib/ui/stdcontext.inc:699 lib/ui/stdmenus.inc:363
+#: lib/ui/stdcontext.inc:719 lib/ui/stdmenus.inc:363
msgid "Small-sized Icons"
msgstr "Ðалки икони"
-#: lib/ui/stdcontext.inc:700 lib/ui/stdmenus.inc:364
+#: lib/ui/stdcontext.inc:720 lib/ui/stdmenus.inc:364
msgid "Normal-sized Icons"
msgstr "Ðолмални икони"
-#: lib/ui/stdcontext.inc:701 lib/ui/stdmenus.inc:365
+#: lib/ui/stdcontext.inc:721 lib/ui/stdmenus.inc:365
msgid "Big-sized Icons"
msgstr "Ðолеми икони"
-#: lib/ui/stdcontext.inc:702 lib/ui/stdmenus.inc:366
+#: lib/ui/stdcontext.inc:722 lib/ui/stdmenus.inc:366
msgid "Huge-sized Icons"
msgstr "ÐгÑомни икони"
-#: lib/ui/stdcontext.inc:703 lib/ui/stdmenus.inc:367
+#: lib/ui/stdcontext.inc:723 lib/ui/stdmenus.inc:367
msgid "Giant-sized Icons"
msgstr "ÐиганÑÑки икони"
+# src/insets/insetbib.C:69 src/insets/insetbib.C:70 src/insets/insetbib.C:210
+# src/insets/insetbib.C:211
+#: lib/ui/stdcontext.inc:732
+msgid "Show Zoom Level|Z"
+msgstr "Ðоказване на маÑаб|Ð"
+
+#: lib/ui/stdcontext.inc:733
+msgid "Show Zoom Slider|S"
+msgstr "Ðоказване на плÑÐ·Ð³Ð°Ñ Ð·Ð° маÑаб"
+
# src/MenuBackend.C:443 src/MenuBackend.C:450 src/ext_l10n.h:1
# src/ext_l10n.h:4
#: lib/ui/stdmenus.inc:30
@@ -24594,9 +24116,8 @@ msgstr "РегиÑÑÑиÑане|Ð "
# src/ext_l10n.h:31
#: lib/ui/stdmenus.inc:76
-#, fuzzy
msgid "Check In Changes...|I"
-msgstr "ÐкаÑай пÑомениÑе(I)|I"
+msgstr "ÐкаÑване на пÑомениÑе..."
# src/ext_l10n.h:32
#: lib/ui/stdmenus.inc:77
@@ -24605,25 +24126,22 @@ msgstr "ÐзÑегли за ÑедакÑиÑане(O)|O"
# src/ext_l10n.h:41
#: lib/ui/stdmenus.inc:78
-#, fuzzy
msgid "Copy|p"
-msgstr "ÐопиÑай(o)|o"
+msgstr "ÐопиÑане"
# src/ext_l10n.h:288 src/frontends/gnome/FormUrl.C:119
#: lib/ui/stdmenus.inc:79
-#, fuzzy
msgid "Rename|R"
-msgstr "Ðме"
+msgstr "ÐÑеименÑване"
#: lib/ui/stdmenus.inc:80
msgid "Update Local Directory From Repository|d"
-msgstr ""
+msgstr "ÐпÑеÑнÑване на локалнаÑа диÑекÑоÑÐ¸Ñ Ð¾Ñ Ñ
ÑанилиÑеÑо"
# src/ext_l10n.h:33
#: lib/ui/stdmenus.inc:81
-#, fuzzy
msgid "Revert to Repository Version|v"
-msgstr "ÐÑÑни кÑм поÑледнаÑа веÑÑиÑ(L)|L"
+msgstr "ÐÑÑÑане кÑм веÑÑиÑÑа Ð¾Ñ Ñ
ÑанилиÑеÑо"
# src/ext_l10n.h:34
#: lib/ui/stdmenus.inc:82
@@ -24632,13 +24150,12 @@ msgstr "ÐÑмени поÑледноÑо вкаÑване(U)|U"
#: lib/ui/stdmenus.inc:83
msgid "Compare with Older Revision...|C"
-msgstr ""
+msgstr "СÑавнÑване Ñ Ð¿Ð¾-ÑÑаÑа веÑÑиÑ..."
# src/ext_l10n.h:35
#: lib/ui/stdmenus.inc:84
-#, fuzzy
msgid "Show History...|H"
-msgstr "ÐÑÑоÑиÑ(H)|H"
+msgstr "Ðоказване на иÑÑоÑиÑÑа..."
#: lib/ui/stdmenus.inc:85
msgid "Use Locking Property|L"
@@ -24691,7 +24208,7 @@ msgstr "ТÑÑÑене и замÑна - ÑазÑиÑено...|Ñ"
#: lib/ui/stdmenus.inc:126
msgid "Manage Counter Values..."
-msgstr ""
+msgstr "УпÑавление на бÑоÑÑиÑе.."
# src/frontends/xforms/FormTabular.C:133
#: lib/ui/stdmenus.inc:130
@@ -24706,21 +24223,18 @@ msgstr "ÐаÑемаÑиÑеÑка ÑÑеда|Ð"
# src/frontends/kde/dlg/tabcreatedlgdata.C:107
# src/frontends/xforms/form_tabular_create.C:45
#: lib/ui/stdmenus.inc:132
-#, fuzzy
msgid "Rows & Columns|C"
-msgstr "Ðолони"
+msgstr "Редове и колони|Р"
# src/ext_l10n.h:127
#: lib/ui/stdmenus.inc:139
-#, fuzzy
msgid "Increase List Depth|I"
-msgstr "ÐÑомени дÑлбоÑинаÑа на ÑÑедаÑа(v)|v"
+msgstr "УвелиÑаване дÑлбоÑинаÑа на ÑпиÑÑка|Ñ"
# src/ext_l10n.h:127
#: lib/ui/stdmenus.inc:140
-#, fuzzy
msgid "Decrease List Depth|D"
-msgstr "ÐÑомени дÑлбоÑинаÑа на ÑÑедаÑа(v)|v"
+msgstr "ÐамалÑване дÑлбоÑинаÑа на ÑпиÑÑка|н"
# src/frontends/xforms/form_print.C:112
#: lib/ui/stdmenus.inc:141
@@ -24729,71 +24243,62 @@ msgstr "РазÑваÑÑне на добавкаÑа"
# src/frontends/xforms/form_preferences.C:926
#: lib/ui/stdmenus.inc:142
-#, fuzzy
msgid "TeX Code Settings...|C"
-msgstr "допÑлниÑелни опÑии"
+msgstr "ÐаÑÑÑойки на TeX кода..."
# src/form1.C:129 src/sp_form.C:58
#: lib/ui/stdmenus.inc:144
-#, fuzzy
msgid "Float Settings...|a"
-msgstr "ÐпÑии"
+msgstr "ÐаÑÑÑойки на Ð¿Ð»Ð°Ð²Ð°Ñ Ð¾Ð±ÐµÐºÑ..."
#: lib/ui/stdmenus.inc:145
msgid "Text Wrap Settings...|W"
-msgstr ""
+msgstr "ÐаÑÑÑойки за обÑ
ваÑане на ÑекÑÑ.."
# src/form1.C:129 src/sp_form.C:58
#: lib/ui/stdmenus.inc:146
msgid "Note Settings...|N"
-msgstr "ÐаÑÑÑойки на бележка"
+msgstr "ÐаÑÑÑойки на бележка..."
# src/form1.C:129 src/sp_form.C:58
#: lib/ui/stdmenus.inc:147
-#, fuzzy
msgid "Phantom Settings...|h"
-msgstr "ÐпÑии"
+msgstr "ÐаÑÑÑойки на ÑанÑомно поле..."
# src/insets/insetbib.C:219
#: lib/ui/stdmenus.inc:148
-#, fuzzy
msgid "Branch Settings...|B"
-msgstr "Ðибл. пеÑо"
+msgstr "ÐаÑÑÑойки на Ñазклонение..."
# src/form1.C:129 src/sp_form.C:58
#: lib/ui/stdmenus.inc:149
-#, fuzzy
msgid "Box Settings...|S"
-msgstr "ÐпÑии"
+msgstr "ÐаÑÑÑойки на Ñамка..."
# src/form1.C:129 src/sp_form.C:58
#: lib/ui/stdmenus.inc:150
-#, fuzzy
msgid "Index Entry Settings...|y"
-msgstr "ÐпÑии"
+msgstr "ÐаÑÑÑойки на индекÑен запиÑ..."
# src/form1.C:129 src/sp_form.C:58
#: lib/ui/stdmenus.inc:151
-#, fuzzy
msgid "Index Settings...|S"
-msgstr "ÐпÑии"
+msgstr "ÐаÑÑÑойки на индекÑ..."
# src/form1.C:129 src/sp_form.C:58
#: lib/ui/stdmenus.inc:152
-#, fuzzy
msgid "Info Settings...|n"
-msgstr "ÐпÑии"
+msgstr "ÐаÑÑÑойки на инÑоÑм. поле..."
# src/frontends/xforms/FormPreferences.C:223
#: lib/ui/stdmenus.inc:153
msgid "Listings Settings...|g"
-msgstr "ÐаÑÑÑойки на ÑпиÑÑÑиÑе"
+msgstr "ÐаÑÑÑойки на ÑпиÑÑÑи..."
# src/LColor.C:78
#: lib/ui/stdmenus.inc:157
-#, fuzzy
msgid "Table Settings...|a"
-msgstr "Ñед на миниÑÑÑаниÑа"
+msgstr "ÐаÑÑÑойки на ÑаблиÑа..."
#: lib/ui/stdmenus.inc:161
msgid "Paste from HTML|H"
@@ -24805,30 +24310,27 @@ msgstr "LaTeX ÑекÑÑ|е"
#: lib/ui/stdmenus.inc:163
msgid "Paste as LinkBack PDF"
-msgstr ""
+msgstr "ÐоÑÑавÑне каÑо вÑÑзка кÑм PDF"
# src/ext_l10n.h:42
#: lib/ui/stdmenus.inc:164
-#, fuzzy
msgid "Paste as PDF"
-msgstr "Ðалепи(a)|a"
+msgstr "ÐоÑÑавÑне каÑо PDF"
# src/ext_l10n.h:42
#: lib/ui/stdmenus.inc:165
-#, fuzzy
msgid "Paste as PNG"
-msgstr "Ðалепи(a)|a"
+msgstr "ÐоÑÑавÑне каÑо PNG"
# src/ext_l10n.h:42
#: lib/ui/stdmenus.inc:166
msgid "Paste as JPEG"
-msgstr "ÐоÑÑавÑне каÑо JPEG|Ð"
+msgstr "ÐоÑÑавÑне каÑо JPEG"
# src/ext_l10n.h:42
#: lib/ui/stdmenus.inc:167
-#, fuzzy
msgid "Paste as EMF"
-msgstr "Ðалепи(a)|a"
+msgstr "ÐоÑÑавÑне каÑо EMF"
# src/BufferView2.C:601 src/LyXAction.C:346 src/MenuBackend.C:433
#: lib/ui/stdmenus.inc:169
@@ -24853,7 +24355,7 @@ msgstr "ÐзбÑаниÑе елеменÑи каÑо Ñедове|з"
# src/ext_l10n.h:215
#: lib/ui/stdmenus.inc:186
msgid "Customize...|C"
-msgstr "ÐонÑигÑÑиÑане...|Ð"
+msgstr "ÐаÑÑÑойки...|Ð"
#: lib/ui/stdmenus.inc:187
msgid "Apply Last Settings|A"
@@ -24862,7 +24364,7 @@ msgstr "ÐÑилагане на поÑледниÑе наÑÑÑойки|Ñ"
# src/ext_l10n.h:432
#: lib/ui/stdmenus.inc:189
msgid "Capitalize|p"
-msgstr "ÐаÑална главна бÑква|Ð"
+msgstr "ÐаÑална главна бÑква|Ñ"
# src/ext_l10n.h:132
#: lib/ui/stdmenus.inc:190
@@ -24875,50 +24377,43 @@ msgstr "Ðалки бÑкви|Ð"
# src/frontends/xforms/form_print.C:112
#: lib/ui/stdmenus.inc:195
-#, fuzzy
msgid "Dissolve Text Style"
-msgstr "СÑÑаниÑи:"
+msgstr "РазÑваÑÑне на ÑекÑÑов ÑÑил"
# src/ext_l10n.h:125
#: lib/ui/stdmenus.inc:202
-#, fuzzy
msgid "Formal Style|F"
-msgstr "Удебелен(B)|B"
+msgstr "ФоÑмален ÑÑил"
# src/ext_l10n.h:61
#: lib/ui/stdmenus.inc:204
msgid "Multicolumn|M"
-msgstr "Ðногоколонно(M)|M"
+msgstr "Ðногоколонно|к"
# src/ext_l10n.h:61
#: lib/ui/stdmenus.inc:205
-#, fuzzy
msgid "Multirow|u"
-msgstr "Ðногоколонно(M)|M"
+msgstr "ÐногоÑедово|Ñ"
# src/frontends/kde/dlg/paraextradlgdata.C:142
#: lib/ui/stdmenus.inc:207
-#, fuzzy
msgid "Top Line|T"
-msgstr "(&T)ÐÑгоÑе"
+msgstr "ÐоÑен Ñед"
# src/frontends/kde/dlg/paraextradlgdata.C:168
#: lib/ui/stdmenus.inc:208
-#, fuzzy
msgid "Bottom Line|B"
-msgstr "(&B)ÐÑдолÑ"
+msgstr "Ðолен Ñед"
# src/LColor.C:97
#: lib/ui/stdmenus.inc:209
-#, fuzzy
msgid "Left Line|L"
-msgstr "Ñед на ÑаблиÑа"
+msgstr "Ред влÑво"
# src/frontends/kde/dlg/parageneraldlgdata.C:133
#: lib/ui/stdmenus.inc:210
-#, fuzzy
msgid "Right Line|R"
-msgstr "ÐеÑен"
+msgstr "Ред вдÑÑно"
# src/frontends/kde/dlg/paraextradlgdata.C:142
#: lib/ui/stdmenus.inc:212
@@ -24927,39 +24422,33 @@ msgstr "ÐÑгоÑе"
# src/frontends/kde/dlg/paraextradlgdata.C:155
#: lib/ui/stdmenus.inc:213
-#, fuzzy
msgid "Middle|i"
-msgstr "(&M)Ð ÑÑедаÑа"
+msgstr "Ð ÑÑедаÑа"
# src/frontends/kde/dlg/paraextradlgdata.C:168
#: lib/ui/stdmenus.inc:214
-#, fuzzy
msgid "Bottom|o"
-msgstr "(&B)ÐÑдолÑ"
+msgstr "ÐÑдолÑ"
# src/frontends/kde/dlg/paraextradlgdata.C:155
#: lib/ui/stdmenus.inc:223
-#, fuzzy
msgid "Middle|M"
-msgstr "(&M)Ð ÑÑедаÑа"
+msgstr "Ð ÑÑедаÑа"
# src/ext_l10n.h:72
#: lib/ui/stdmenus.inc:226
-#, fuzzy
msgid "Add Row|A"
-msgstr "Ðобави Ñед(A)|A"
+msgstr "ÐобавÑне на Ñед"
# src/ext_l10n.h:73
#: lib/ui/stdmenus.inc:233
-#, fuzzy
msgid "Add Column|u"
-msgstr "Ðобави колона(u)|u"
+msgstr "ÐобавÑне на колона"
# src/ext_l10n.h:73
#: lib/ui/stdmenus.inc:235
-#, fuzzy
msgid "Copy Column|p"
-msgstr "Ðобави колона(u)|u"
+msgstr "ÐопиÑане на колона"
#: lib/ui/stdmenus.inc:244
msgid "Change Limits Type|L"
@@ -24967,18 +24456,16 @@ msgstr ""
# src/ext_l10n.h:221
#: lib/ui/stdmenus.inc:245
-#, fuzzy
msgid "Macro Definition"
-msgstr "ÐеÑиниÑиÑ"
+msgstr "ÐеÑиниÑÐ¸Ñ Ð½Ð° макÑоÑ"
#: lib/ui/stdmenus.inc:247
msgid "Change Formula Type|F"
-msgstr ""
+msgstr "ÐÑомÑна Ñипа на ÑоÑмÑла"
#: lib/ui/stdmenus.inc:249
-#, fuzzy
msgid "Text Properties|T"
-msgstr "ÐаÑÑÑойки на ÑекÑÑа|Ñ"
+msgstr "ТекÑÑ|Т"
#: lib/ui/stdmenus.inc:251
msgid "Use Computer Algebra System|S"
@@ -24987,21 +24474,18 @@ msgstr ""
# src/frontends/xforms/form_tabular.C:223
# src/frontends/xforms/form_tabular.C:349
#: lib/ui/stdmenus.inc:255
-#, fuzzy
msgid "Add Line Above|A"
-msgstr "Рамки"
+msgstr "ÐобавÑне на Ñед оÑгоÑе"
# src/lyxfunc.C:3291
#: lib/ui/stdmenus.inc:257
-#, fuzzy
msgid "Delete Line Above|D"
-msgstr "ÐзбеÑеÑе докÑÐ¼ÐµÐ½Ñ Ð·Ð° вмÑкване"
+msgstr "ÐзÑÑиване на Ñед оÑгоÑе"
# src/ext_l10n.h:74
#: lib/ui/stdmenus.inc:258
-#, fuzzy
msgid "Delete Line Below|e"
-msgstr "ÐзÑÑий Ñед(w)|w"
+msgstr "ÐзÑÑиване на Ñед оÑдолÑ"
# src/lyxfunc.C:1105 src/lyxfunc.C:2550
#: lib/ui/stdmenus.inc:270
@@ -25018,9 +24502,8 @@ msgstr "ÐипÑÐ²Ð°Ñ Ð°ÑгÑменÑ"
# src/frontends/xforms/form_graphics.C:61
# src/frontends/xforms/form_graphics.C:82 src/lyxfont.C:411
#: lib/ui/stdmenus.inc:281
-#, fuzzy
msgid "Default|t"
-msgstr "СÑандаÑÑно"
+msgstr "Ðо подÑазбиÑане"
# src/frontends/xforms/form_graphics.C:106
#: lib/ui/stdmenus.inc:282
@@ -25072,32 +24555,28 @@ msgstr "Sans Serif"
# src/LyXAction.C:321
#: lib/ui/stdmenus.inc:295
-#, fuzzy
msgid "Math Bold Series|B"
-msgstr "ÐаÑем. Ñежим"
+msgstr "ÐаÑ. полÑÑеÑ"
# src/frontends/gnome/FormCitation.C:549
# src/frontends/gnome/FormCitation.C:639 src/frontends/kde/citationdlg.C:54
#: lib/ui/stdmenus.inc:297
-#, fuzzy
msgid "Text Normal Font|T"
-msgstr "ТекÑÑ Ñлед"
+msgstr "ТекÑÑ Ð¾Ð±Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½ ÑÑиÑÑ"
#: lib/ui/stdmenus.inc:299
msgid "Text Roman Family"
-msgstr ""
+msgstr "ТекÑÑ Ð¸Ð·Ð¿Ñавени"
# src/frontends/xforms/form_preferences.C:111 src/lyxfont.C:42
#: lib/ui/stdmenus.inc:300
-#, fuzzy
msgid "Text Sans Serif Family"
-msgstr "ÐаÑинопиÑ"
+msgstr "ТекÑÑ Ð±ÐµÐ· ÑеÑиÑни"
# src/frontends/xforms/form_preferences.C:111 src/lyxfont.C:42
#: lib/ui/stdmenus.inc:301
-#, fuzzy
msgid "Text Typewriter Family"
-msgstr "ÐаÑинопиÑ"
+msgstr "ТекÑÑ Ð¼Ð°ÑинопиÑни"
#: lib/ui/stdmenus.inc:303
#, fuzzy
@@ -25159,7 +24638,6 @@ msgstr "Maple, Evalf|v"
# src/bufferview_funcs.C:289
#: lib/ui/stdmenus.inc:339
-#, fuzzy
msgid "Outline Pane|O"
msgstr "Ðанел ÑÑÑ ÑÑÑÑкÑÑÑаÑа|Ñ"
@@ -25169,13 +24647,11 @@ msgid "Code Preview Pane|P"
msgstr "Ðанел Ñ Ð¸Ð·Ñ
Ð¾Ð´Ð½Ð¸Ñ ÐºÐ¾Ð´|к"
#: lib/ui/stdmenus.inc:341
-#, fuzzy
msgid "Messages Pane|M"
msgstr "Ðанел ÑÑÑ ÑÑобÑениÑÑа (ÑеÑминал)|Ñ"
# src/frontends/kde/dlg/paraextradlgdata.C:142
#: lib/ui/stdmenus.inc:342
-#, fuzzy
msgid "Toolbars|T"
msgstr "ÐенÑи Ñ Ð¸Ð½ÑÑÑÑменÑи|и"
@@ -25190,12 +24666,10 @@ msgid "Fold Math Macro|d"
msgstr "ÐÑÑÑане на маÑемаÑиÑеÑки макÑоÑ|Ð"
#: lib/ui/stdmenus.inc:347
-#, fuzzy
msgid "Split View Into Left and Right Half|L"
msgstr "РазделÑне на лÑва и дÑÑна половина|л"
#: lib/ui/stdmenus.inc:348
-#, fuzzy
msgid "Split View Into Upper and Lower Half|U"
msgstr "РазделÑне на гоÑна и долна половина|г"
@@ -25204,13 +24678,11 @@ msgid "Close Current View|w"
msgstr "ÐаÑваÑÑне на ÑекÑÑÐ¸Ñ Ð¸Ð·Ð³Ð»ÐµÐ´|Ð"
#: lib/ui/stdmenus.inc:350
-#, fuzzy
msgid "Fullscreen|F"
msgstr "ÐÑлен екÑан|Ð"
# src/insets/insetfloat.C:150
#: lib/ui/stdmenus.inc:352
-#, fuzzy
msgid "Open All Insets|I"
msgstr "ÐÑваÑÑне на вÑиÑки елеменÑи|Ð"
@@ -25226,7 +24698,7 @@ msgstr "ÐаÑемаÑиÑеÑка ÑÑеда|Ð"
# src/ext_l10n.h:78
#: lib/ui/stdmenus.inc:377
msgid "Special Character|p"
-msgstr "СпеÑиалиен Ñимвол|С"
+msgstr "СпеÑиален Ñимвол"
# src/frontends/xforms/FormPreferences.C:252
#: lib/ui/stdmenus.inc:378
@@ -25235,16 +24707,16 @@ msgstr "ФоÑмаÑиÑÐ°Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ|Ф"
#: lib/ui/stdmenus.inc:379
msgid "Field|i"
-msgstr "Ðоле|л"
+msgstr "ÐнÑоÑмаÑионно поле|л"
#: lib/ui/stdmenus.inc:380
msgid "List/Contents/References|/"
-msgstr ""
+msgstr "СпиÑÑк, ÑÑдÑÑжание, пÑепÑаÑки|Ñ"
# src/frontends/xforms/FormPreferences.C:252
#: lib/ui/stdmenus.inc:381
msgid "Float|a"
-msgstr "ÐÐ»Ð°Ð²Ð°Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ|Ð"
+msgstr "ÐÐ»Ð°Ð²Ð°Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ|Ñ"
# src/ext_l10n.h:136
#: lib/ui/stdmenus.inc:382
@@ -25257,9 +24729,8 @@ msgstr "Разклонение в докÑменÑа|Ð "
# src/ext_l10n.h:215
#: lib/ui/stdmenus.inc:384
-#, fuzzy
msgid "Custom Inset|s"
-msgstr "Ðобавки Ð¾Ñ Ð²ÐºÐ»ÑÑениÑе модÑли"
+msgstr "Ðобавки Ð¾Ñ Ð¿Ð¾ÑÑебиÑелÑ|Ð"
# src/MenuBackend.C:443 src/MenuBackend.C:450 src/ext_l10n.h:1
# src/ext_l10n.h:4
@@ -25272,9 +24743,8 @@ msgid "Box[[Menu]]|x"
msgstr "Рамка|к"
#: lib/ui/stdmenus.inc:387
-#, fuzzy
msgid "Regular Expression"
-msgstr "&РегÑлÑÑни изÑази"
+msgstr "РегÑлÑÑен изÑаз"
# src/frontends/xforms/FormCitation.C:37
#: lib/ui/stdmenus.inc:389
@@ -25294,7 +24764,7 @@ msgstr "ÐÑикеÑ...|Ð"
# src/frontends/kde/FormRef.C:103
#: lib/ui/stdmenus.inc:394
msgid "Nomenclature Entry...|y"
-msgstr "ÐÐ°Ð¿Ð¸Ñ Ð² ÑеÑника на ÑÑкÑÑÑениÑÑа|Ð"
+msgstr "ÐÐ°Ð¿Ð¸Ñ Ð² ÑеÑника на ÑÑкÑÑÑениÑÑа"
# src/ext_l10n.h:45
#: lib/ui/stdmenus.inc:396
@@ -25310,7 +24780,7 @@ msgstr "ÐзобÑажение...|Ð"
# src/ext_l10n.h:86
#: lib/ui/stdmenus.inc:398
msgid "URL|U"
-msgstr "УнивеÑÑален УказаÑел на РеÑÑÑÑи (URL)"
+msgstr "УниÑиÑиÑан ÑеÑÑÑÑен локаÑÐ¾Ñ (URL)"
# src/frontends/kde/urldlg.C:45
#: lib/ui/stdmenus.inc:399
@@ -25340,7 +24810,7 @@ msgstr "ÐзÑ
оден код на (La)TeX"
# src/frontends/kde/dlg/printdlgdata.C:246
#: lib/ui/stdmenus.inc:409
msgid "Preview|w"
-msgstr "ÐÑедваÑиÑелен изглед|д"
+msgstr "ÐÑедваÑиÑелен изглед|з"
# src/lyxfont.C:42
#: lib/ui/stdmenus.inc:413
@@ -25402,7 +24872,6 @@ msgid "Date (Last Modification)|L"
msgstr "ÐаÑа (на поÑледна пÑомÑна)|п"
#: lib/ui/stdmenus.inc:429
-#, fuzzy
msgid "Date (Fixed)|F"
msgstr "ÐаÑа (ÑоÑна)|Ð"
@@ -25415,7 +24884,6 @@ msgid "Time (Last Modification)|M"
msgstr "Ð§Ð°Ñ (на поÑледна пÑомÑна)"
#: lib/ui/stdmenus.inc:433
-#, fuzzy
msgid "Time (Fixed)|x"
msgstr "Ð§Ð°Ñ (ÑоÑен)|Ч"
@@ -25588,14 +25056,13 @@ msgstr "Ðово Ñазклонение...|Ð"
# src/LColor.C:68
#: lib/ui/stdmenus.inc:562
-#, fuzzy
msgid "Cancel Background Process|P"
-msgstr "ЦвеÑен Ñон|Ц"
+msgstr "СпиÑане на акÑивен пÑоÑеÑ|С"
# src/LyXAction.C:263
#: lib/ui/stdmenus.inc:564
msgid "Change Tracking|C"
-msgstr "ÐÑоÑледÑване на пÑомениÑе|Ð"
+msgstr "ÐÑоÑледÑване на пÑомениÑе"
# src/ext_l10n.h:131
#: lib/ui/stdmenus.inc:565
@@ -25639,12 +25106,12 @@ msgstr "ÐкÑивиÑане|Ð"
# src/ext_l10n.h:31
#: lib/ui/stdmenus.inc:581
msgid "Merge Changes...|M"
-msgstr "ÐбÑ
ождане на пÑомениÑе|Ñ
"
+msgstr "ÐÑиемане на пÑомениÑе|м"
# src/LColor.C:75
#: lib/ui/stdmenus.inc:582
msgid "Accept Change|A"
-msgstr "ÐÑиемане на избÑанаÑа пÑомÑна|Ð"
+msgstr "ÐÑиемане на избÑанаÑа пÑомÑна|и"
# src/LColor.C:75
#: lib/ui/stdmenus.inc:584
@@ -25658,15 +25125,15 @@ msgstr "ÐÑÑ
вÑÑлÑне на вÑиÑки пÑомени|Ñ"
#: lib/ui/stdmenus.inc:586
msgid "Accept All Changes (incl. Master/Children/Siblings)|p"
-msgstr ""
+msgstr "ÐÑиемане на вÑиÑки пÑомени (вкл. главен и поддокÑменÑи)|Ð"
#: lib/ui/stdmenus.inc:587
msgid "Reject All Changes (incl. Master/Children/Siblings)|j"
-msgstr ""
+msgstr "ÐÑÑ
вÑÑлÑне на вÑиÑки пÑомени (вкл. главен и поддокÑменÑи|Ð"
#: lib/ui/stdmenus.inc:588
msgid "Show Changes in Output|S"
-msgstr "Ðоказване на пÑомениÑе в кÑÐ°Ð¹Ð½Ð¸Ñ Ð´Ð¾ÐºÑменÑ"
+msgstr "Ðоказване на пÑомениÑе в кÑÐ°Ð¹Ð½Ð¸Ñ Ð´Ð¾ÐºÑменÑ|к"
# src/frontends/xforms/form_paragraph.C:244
#: lib/ui/stdmenus.inc:595
@@ -25843,35 +25310,31 @@ msgid "Knitr|K"
msgstr "Knitr"
#: lib/ui/stdmenus.inc:661
-#, fuzzy
msgid "LilyPond|P"
-msgstr "LilyPond"
+msgstr "Ðилипонд (LilyPond)|P"
# src/ext_l10n.h:274
#: lib/ui/stdmenus.inc:662
-#, fuzzy
msgid "Linguistics|L"
-msgstr "СпиÑÑк"
+msgstr "ÐингвиÑÑика"
#: lib/ui/stdmenus.inc:663
msgid "Multilingual Captions|C"
-msgstr ""
+msgstr "ÐногоезиÑни надпиÑи"
#: lib/ui/stdmenus.inc:664
msgid "Paralist|t"
-msgstr ""
+msgstr "Paralist"
# src/ext_l10n.h:202
#: lib/ui/stdmenus.inc:665
-#, fuzzy
msgid "PDF comments|D"
-msgstr "ÐоменÑаÑ"
+msgstr "PDF коменÑаÑи|D"
# src/ext_l10n.h:202
#: lib/ui/stdmenus.inc:666
-#, fuzzy
msgid "PDF forms|o"
-msgstr "ÐоменÑаÑ"
+msgstr "PDF ÑоÑми"
#: lib/ui/stdmenus.inc:667
msgid "Hazard and Precautionary Statements|H"
@@ -25884,12 +25347,11 @@ msgstr "Sweave|S"
#: lib/ui/stdmenus.inc:669
msgid "XY-pic|X"
-msgstr ""
+msgstr "XY-изобÑажение|X"
#: lib/ui/stdtoolbars.inc:75
-#, fuzzy
msgid "Standard[[toolbar]]"
-msgstr "ÑÑандаÑÑни"
+msgstr "СÑандаÑÑен"
# подÑказка
# src/LyXAction.C:141
@@ -25918,13 +25380,13 @@ msgid "Spellcheck continuously"
msgstr "ÐоÑÑоÑнна пÑовеÑка на пÑавопиÑа"
# src/BufferView2.C:435 src/LyXAction.C:406
-#: lib/ui/stdtoolbars.inc:84 src/BufferView.cpp:1433
+#: lib/ui/stdtoolbars.inc:84 src/BufferView.cpp:1472
msgid "Undo"
msgstr "ÐÑмÑна"
# подÑказка
# src/BufferView2.C:456 src/LyXAction.C:357
-#: lib/ui/stdtoolbars.inc:85 src/BufferView.cpp:1453
+#: lib/ui/stdtoolbars.inc:85 src/BufferView.cpp:1493
msgid "Redo"
msgstr "ÐовÑоÑение"
@@ -25955,7 +25417,7 @@ msgstr "ÐÑкÑоÑване каÑо ÑÑÑеÑÑвиÑелно име"
#: lib/ui/stdtoolbars.inc:95
msgid "Custom text styles"
-msgstr "ÐоÑÑебиÑелÑки деÑиниÑани ÑекÑÑови ÑÑилове"
+msgstr "ТекÑÑови ÑÑилове деÑиниÑани Ð¾Ñ Ð¿Ð¾ÑÑебиÑелÑ"
# src/LyXAction.C:98
#: lib/ui/stdtoolbars.inc:97
@@ -25983,21 +25445,18 @@ msgstr "ÐÑевклÑÑване на панела ÑÑÑ ÑÑÑÑкÑÑÑаÑа
# src/LyXAction.C:208
#: lib/ui/stdtoolbars.inc:103 lib/ui/stdtoolbars.inc:300
-#, fuzzy
msgid "Show math toolbar"
msgstr "Ðоказване на маÑ. инÑÑÑÑменÑи"
# src/LyXAction.C:208
#: lib/ui/stdtoolbars.inc:104 lib/ui/stdtoolbars.inc:312
-#, fuzzy
msgid "Show table toolbar"
-msgstr "Ðоказване на ÑаблиÑниÑе инÑÑÑÑменÑи"
+msgstr "Ðоказване на инÑÑÑÑменÑи за ÑаблиÑи"
# src/LyXAction.C:208
#: lib/ui/stdtoolbars.inc:105 lib/ui/stdtoolbars.inc:318
-#, fuzzy
msgid "Show review toolbar"
-msgstr "ÐÑевклÑÑване на ленÑаÑа Ñ Ð¸Ð½ÑÑÑÑменÑи за пÑоÑледÑване на пÑомениÑе"
+msgstr "Ðоказване на инÑÑÑÑменÑи за пÑеглед"
# src/bufferlist.C:113 src/bufferlist.C:189
#: lib/ui/stdtoolbars.inc:108
@@ -26057,9 +25516,8 @@ msgstr "ÐзбÑоÑване Ñ Ð²Ð¾Ð´ÐµÑи знаÑи"
# src/frontends/kde/dlg/parageneraldlgdata.C:151
#: lib/ui/stdtoolbars.inc:124
-#, fuzzy
msgid "Labeled List"
-msgstr "ШиÑина на еÑикеÑ"
+msgstr "СпиÑÑк Ñ ÐµÑикеÑи"
# src/lyxfont.C:57
#: lib/ui/stdtoolbars.inc:127
@@ -26238,9 +25696,8 @@ msgstr "ÐÑемаÑ
ване на вÑиÑки канÑове на избÑан
# src/frontends/xforms/form_tabular.C:106
#: lib/ui/stdtoolbars.inc:171
-#, fuzzy
msgid "Reset formal default lines"
-msgstr "ÐÑемаÑ
ване на вÑиÑки канÑове на избÑаниÑе клеÑки"
+msgstr "ÐÑзÑÑановÑване на ÑоÑмални Ñедове по подÑазбиÑане"
# src/ext_l10n.h:66
#: lib/ui/stdtoolbars.inc:173
@@ -26306,7 +25763,7 @@ msgstr "ÐаÑемаÑиÑеÑки"
# src/insets/figinset.C:1045
#: lib/ui/stdtoolbars.inc:189
msgid "Set display mode"
-msgstr "ÐÑевклÑÑване ÑÑила на изобÑазÑване"
+msgstr "ÐÑевклÑÑване ÑÑедаÑа на изобÑазÑване"
# src/ext_l10n.h:96
#: lib/ui/stdtoolbars.inc:191 src/insets/InsetScript.cpp:63
@@ -26375,9 +25832,8 @@ msgstr "ÐмÑкване на ÑигÑÑна Ñкоба за избÑоÑван
# src/mathed/math_panel.C:383
#: lib/ui/stdtoolbars.inc:212 lib/ui/stdtoolbars.inc:306
-#, fuzzy
msgid "Show math panels"
-msgstr "ÐÑевклÑÑване на маÑ. панели"
+msgstr "Ðоказване на маÑ. панели"
# src/mathed/math_panel.C:383
#: lib/ui/stdtoolbars.inc:215
@@ -26400,7 +25856,7 @@ msgstr "ÐÑоби"
# src/bufferview_funcs.C:267
#: lib/ui/stdtoolbars.inc:219 lib/ui/stdtoolbars.inc:442
-#: src/frontends/qt/GuiDocument.cpp:1763
+#: src/frontends/qt/GuiDocument.cpp:1777
msgid "Fonts"
msgstr "ШÑиÑÑове"
@@ -26412,7 +25868,7 @@ msgstr "ФÑнкÑии"
# src/ext_l10n.h:219
#: lib/ui/stdtoolbars.inc:221
msgid "Frame decorations"
-msgstr "УкÑаÑа на конÑÑÑа"
+msgstr "ФоÑма на конÑÑÑа"
# src/ext_l10n.h:438
#: lib/ui/stdtoolbars.inc:222
@@ -26420,7 +25876,7 @@ msgid "Big operators"
msgstr "Ðолеми опеÑаÑоÑи"
#: lib/ui/stdtoolbars.inc:223 lib/ui/stdtoolbars.inc:690
-#: src/frontends/qt/GuiDocument.cpp:5163
+#: src/frontends/qt/GuiDocument.cpp:5183
msgid "Miscellaneous"
msgstr "Разни Ñимволи"
@@ -26489,29 +25945,26 @@ msgstr "ÐзÑÑиване на поÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð°ÑгÑменÑ"
# src/lyxfunc.C:1105 src/lyxfunc.C:2550
#: lib/ui/stdtoolbars.inc:239
-#, fuzzy
msgid "Append argument"
-msgstr "ÐипÑÐ²Ð°Ñ Ð°ÑгÑменÑ"
+msgstr "ÐобавÑне на аÑгÑменÑ"
#: lib/ui/stdtoolbars.inc:241
msgid "Make first non-optional into optional argument"
-msgstr ""
+msgstr "ÐÑевÑÑÑане на пÑÑÐ²Ð¸Ñ Ð·Ð°Ð´ÑлжиÑелен аÑгÑÐ¼ÐµÐ½Ñ Ð² незадÑлжиÑелен"
#: lib/ui/stdtoolbars.inc:242
msgid "Make last optional into non-optional argument"
-msgstr ""
+msgstr "ÐÑевÑÑÑане на поÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð½ÐµÐ·Ð°Ð´ÑлжиÑелен аÑгÑÐ¼ÐµÐ½Ñ Ð² задÑлжиÑелен"
# src/insets/insetfloat.C:150
#: lib/ui/stdtoolbars.inc:244
-#, fuzzy
msgid "Remove optional argument"
-msgstr "ÐÑвоÑен Float Inset"
+msgstr "ÐÑемаÑ
ване на незадÑлжиÑелен аÑгÑменÑ"
# src/lyxfunc.C:1105 src/lyxfunc.C:2550
#: lib/ui/stdtoolbars.inc:245
-#, fuzzy
msgid "Insert optional argument"
-msgstr "ÐипÑÐ²Ð°Ñ Ð°ÑгÑменÑ"
+msgstr "ÐмÑкване на незадÑлжиÑелен аÑгÑменÑ"
#: lib/ui/stdtoolbars.inc:247
msgid "Remove last argument spitting out to the right"
@@ -26519,15 +25972,13 @@ msgstr ""
# src/insets/insetfloat.C:150
#: lib/ui/stdtoolbars.inc:248
-#, fuzzy
msgid "Append argument eating from the right"
-msgstr "ÐÑвоÑен Float Inset"
+msgstr "ÐобавÑне на аÑгÑÐ¼ÐµÐ½Ñ Ð¾ÑдÑÑно"
# src/insets/insetfloat.C:150
#: lib/ui/stdtoolbars.inc:249
-#, fuzzy
msgid "Append optional argument eating from the right"
-msgstr "ÐÑвоÑен Float Inset"
+msgstr "ÐобавÑне на незÑдÑлжиÑелен аÑгÑÐ¼ÐµÐ½Ñ Ð¾ÑдÑÑно"
# src/mathed/math_panel.C:134
#: lib/ui/stdtoolbars.inc:252
@@ -26627,15 +26078,13 @@ msgstr "ÐнÑÑÑÑменÑи за докÑменÑаÑÐ¸Ñ Ð½Ð° LyX"
# src/BufferView2.C:435 src/LyXAction.C:406
#: lib/ui/stdtoolbars.inc:283 src/insets/Inset.cpp:122
-#, fuzzy
msgid "Info"
-msgstr "ÐÑмени"
+msgstr "ÐнÑоÑмаÑионно поле"
# src/ext_l10n.h:104
#: lib/ui/stdtoolbars.inc:284
-#, fuzzy
msgid "Menu Separator"
-msgstr "ÐÐµÐ½Ñ ÑазделиÑел(M)|M"
+msgstr "РазделиÑел на менÑ"
# src/LaTeXLog.C:69
#: lib/ui/stdtoolbars.inc:286
@@ -26670,24 +26119,21 @@ msgstr "ÐпÑеÑни дÑÑги ÑоÑмаÑи"
#: lib/ui/stdtoolbars.inc:301 lib/ui/stdtoolbars.inc:307
#: lib/ui/stdtoolbars.inc:313 lib/ui/stdtoolbars.inc:319
-#, fuzzy
msgid "[[Toolbar]]On"
-msgstr "ÐÑеглед"
+msgstr "Ðкл."
#: lib/ui/stdtoolbars.inc:302 lib/ui/stdtoolbars.inc:308
#: lib/ui/stdtoolbars.inc:314 lib/ui/stdtoolbars.inc:320
-#, fuzzy
msgid "[[Toolbar]]Off"
-msgstr "ÐÑеглед"
+msgstr "Ðзкл."
#: lib/ui/stdtoolbars.inc:303 lib/ui/stdtoolbars.inc:309
#: lib/ui/stdtoolbars.inc:315 lib/ui/stdtoolbars.inc:321
-#, fuzzy
msgid "[[Toolbar]]Automatic"
-msgstr "ÐÑеглед"
+msgstr "ÐвÑ."
# src/ext_l10n.h:24
-#: lib/ui/stdtoolbars.inc:340 src/frontends/qt/GuiLog.cpp:256
+#: lib/ui/stdtoolbars.inc:340 src/frontends/qt/GuiLog.cpp:303
msgid "Version Control"
msgstr "УпÑавление на ÑевизииÑе"
@@ -26699,9 +26145,8 @@ msgstr "РегиÑÑÑиÑай(R)|R"
# src/ext_l10n.h:32
#: lib/ui/stdtoolbars.inc:342
-#, fuzzy
msgid "Check-out for edit"
-msgstr "ÐзÑегли за ÑедакÑиÑане(O)|O"
+msgstr "ÐзÑеглÑне за ÑедакÑиÑане"
# src/ext_l10n.h:31
#: lib/ui/stdtoolbars.inc:343
@@ -26711,29 +26156,26 @@ msgstr "ÐкаÑай пÑомениÑе(I)|I"
# src/ext_l10n.h:24
#: lib/ui/stdtoolbars.inc:344
-#, fuzzy
msgid "View revision log"
-msgstr "ÐонÑÑол на веÑÑиÑÑа(V)|V"
+msgstr "ÐÑеглед на жÑÑнала на пÑомениÑе"
# src/form1.C:249
#: lib/ui/stdtoolbars.inc:345
-#, fuzzy
msgid "Revert changes"
-msgstr "Ðов пÑоÑиÑ"
+msgstr "ÐÑÑÑане на пÑомениÑе"
#: lib/ui/stdtoolbars.inc:346
msgid "Compare with older revision"
-msgstr ""
+msgstr "СÑавнÑване Ñ Ð¿Ð¾-ÑÑаÑа веÑÑиÑ"
#: lib/ui/stdtoolbars.inc:347
msgid "Compare with last revision"
-msgstr ""
+msgstr "СÑавнение Ñ Ð¿Ð¾ÑледнаÑа веÑÑиÑ"
# src/LyXAction.C:303
#: lib/ui/stdtoolbars.inc:348
-#, fuzzy
msgid "Insert Version Info"
-msgstr "ÐмÑкни бел. в поле"
+msgstr "ÐмÑкване на инÑоÑмаÑÐ¸Ñ Ð·Ð° веÑÑиÑÑа"
#: lib/ui/stdtoolbars.inc:350
msgid "Use SVN file locking property"
@@ -26906,69 +26348,69 @@ msgstr "ÐнÑеÑвали"
# src/frontends/kde/parageneraldlg.C:40 src/frontends/kde/parageneraldlg.C:47
#: lib/ui/stdtoolbars.inc:392
msgid "Thin space\t\\,"
-msgstr "ÐалÑк инÑеÑвал\t\\,"
+msgstr "ÐалÑк инÑеÑвал\tâ\\,â"
# src/frontends/kde/parageneraldlg.C:40 src/frontends/kde/parageneraldlg.C:47
#: lib/ui/stdtoolbars.inc:393
msgid "Medium space\t\\:"
-msgstr "Ðбикновен инÑеÑвал\t\\:"
+msgstr "Ðбикновен инÑеÑвал\tâ\\:â"
# src/frontends/kde/parageneraldlg.C:40 src/frontends/kde/parageneraldlg.C:47
#: lib/ui/stdtoolbars.inc:394
msgid "Thick space\t\\;"
-msgstr "ÐолÑм инÑеÑвал\t\\;"
+msgstr "ÐолÑм инÑеÑвал\tâ\\;â"
#: lib/ui/stdtoolbars.inc:395
msgid "Quadratin space\t\\quad"
-msgstr "ЦÑл инÑеÑвал\t\\quad"
+msgstr "ЦÑл инÑеÑвал\tâ\\quadâ"
#: lib/ui/stdtoolbars.inc:396
msgid "Double quadratin space\t\\qquad"
-msgstr "Ðвоен инÑеÑвал\t\\qquad"
+msgstr "Ðвоен инÑеÑвал\tâ\\qquadâ"
# src/frontends/kde/parageneraldlg.C:40 src/frontends/kde/parageneraldlg.C:47
#: lib/ui/stdtoolbars.inc:397
msgid "Negative space\t\\!"
-msgstr "ÐÑÑиÑаÑелен инÑеÑвал\t\\!"
+msgstr "ÐÑÑиÑаÑелен инÑеÑвал\tâ\\!â"
# src/ext_l10n.h:438
#: lib/ui/stdtoolbars.inc:398
msgid "Phantom\t\\phantom"
-msgstr "ФанÑом\t\\phantom"
+msgstr "ФанÑом\tâ\\phantomâ"
# src/mathed/math_forms.C:152
#: lib/ui/stdtoolbars.inc:399
msgid "Horizontal phantom\t\\hphantom"
-msgstr "ХоÑизонÑален ÑанÑом\t\\hphantom"
+msgstr "ХоÑизонÑален ÑанÑом\tâ\\hphantomâ"
# src/mathed/math_forms.C:147
#: lib/ui/stdtoolbars.inc:400
msgid "Vertical phantom\t\\vphantom"
-msgstr "ÐеÑÑикален ÑанÑом\t\\vphantom"
+msgstr "ÐеÑÑикален ÑанÑом\tâ\\vphantomâ"
#: lib/ui/stdtoolbars.inc:401
msgid "Smash\t\\smash"
-msgstr "СмаÑкване\t\\smash"
+msgstr "СмаÑкване\tâ\\smashâ"
#: lib/ui/stdtoolbars.inc:402
msgid "Top smash\t\\smasht"
-msgstr "СмаÑкване оÑгоÑе\t\\smasht"
+msgstr "СмаÑкване оÑгоÑе\tâ\\smashtâ"
#: lib/ui/stdtoolbars.inc:403
msgid "Bottom smash\t\\smashb"
-msgstr "СмаÑкване оÑдолÑ\t\\smashb"
+msgstr "СмаÑкване оÑдолÑ\tâ\\smashbâ"
#: lib/ui/stdtoolbars.inc:404
msgid "Left overlap\t\\mathllap"
-msgstr "ÐÑезаÑÑÑпване оÑлÑво\t\\mathllap"
+msgstr "ÐÑезаÑÑÑпване оÑлÑво\tâ\\mathllapâ"
#: lib/ui/stdtoolbars.inc:405
msgid "Center overlap\t\\mathclap"
-msgstr "ÐÑезаÑÑÑпване двÑÑÑÑанно\t\\mathclap"
+msgstr "ÐÑезаÑÑÑпване двÑÑÑÑанно\tâ\\mathclapâ"
#: lib/ui/stdtoolbars.inc:406
msgid "Right overlap\t\\mathrlap"
-msgstr "ÐÑезаÑÑÑпване оÑдÑÑно\t\\mathrlap"
+msgstr "ÐÑезаÑÑÑпване оÑдÑÑно\tâ\\mathrlapâ"
# src/insets/insetfoot.C:32
#: lib/ui/stdtoolbars.inc:409
@@ -26977,101 +26419,101 @@ msgstr "ÐоÑени"
#: lib/ui/stdtoolbars.inc:410
msgid "Square root\t\\sqrt"
-msgstr ""
+msgstr "ÐоÑен квадÑаÑен\tâ\\sqrtâ"
#: lib/ui/stdtoolbars.inc:411
msgid "Other root\t\\root"
-msgstr ""
+msgstr "ÐÑÑг коÑен\tâ\\rootâ"
#: lib/ui/stdtoolbars.inc:414
msgid "Styles & Classes"
-msgstr "Режими на показване и клаÑове маÑ. Ñимволи"
+msgstr "СÑеди и клаÑове маÑ. Ñимволи"
#: lib/ui/stdtoolbars.inc:415
+# каÑо изобÑажение
msgid "Display style\t\\displaystyle"
-msgstr "ÐÑаÑиÑен ÑÑил\t\\displaystyle"
+msgstr "ÐÑаÑиÑна ÑÑеда"
#: lib/ui/stdtoolbars.inc:416
+# ÑекÑÑ, вложен в Ñеда,
msgid "Normal text style\t\\textstyle"
-msgstr "ТекÑÑов ÑÑил\t\\textstyle"
+msgstr "ТекÑÑова ÑÑеда"
#: lib/ui/stdtoolbars.inc:417
msgid "Script (small) style\t\\scriptstyle"
-msgstr "Ðо-малÑк ÑÑиÑÑ\t\\scriptstyle"
+msgstr "Ðо-малÑк ÑÑиÑÑ"
#: lib/ui/stdtoolbars.inc:418
msgid "Scriptscript (smaller) style\t\\scriptscriptstyle"
-msgstr "ÐÑе по-малÑк ÑÑиÑÑ\t\\scriptscriptstyle"
+msgstr "ÐÑе по-малÑк ÑÑиÑÑ"
#: lib/ui/stdtoolbars.inc:419
msgid "Relation class\t\\mathrel"
-msgstr "ÐнаÑи Ñ ÐºÐ»Ð°Ñ âоÑноÑениеâ\t\\mathrel"
+msgstr "ÐнаÑи Ñ ÐºÐ»Ð°Ñ âоÑноÑениеâ\tâ\\mathrelâ"
#: lib/ui/stdtoolbars.inc:420
msgid "Binary operator class\t\\mathbin"
-msgstr "ÐнаÑи Ñ ÐºÐ»Ð°Ñ âдвоиÑен опеÑаÑоÑâ\t\\mathbin"
+msgstr "ÐнаÑи Ñ ÐºÐ»Ð°Ñ âдвоиÑен опеÑаÑоÑâ\tâ\\mathbinâ"
#: lib/ui/stdtoolbars.inc:421
msgid "Large operator class\t\\mathop"
-msgstr "ÐнаÑи Ñ ÐºÐ»Ð°Ñ âголÑм опеÑаÑоÑâ\t\\mathop"
+msgstr "ÐнаÑи Ñ ÐºÐ»Ð°Ñ âголÑм опеÑаÑоÑâ\tâ\\mathopâ"
#: lib/ui/stdtoolbars.inc:422
msgid "Ordinary class\t\\mathord"
-msgstr "ÐнаÑи Ñ Ð¾Ð±Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½ клаÑ\t\\mathord"
+msgstr "ÐнаÑи Ñ Ð¾Ð±Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½ клаÑ\tâ\\mathordâ"
# src/ext_l10n.h:361
#: lib/ui/stdtoolbars.inc:426
msgid "Standard\t\\frac"
-msgstr "СÑандаÑÑна дÑоб\t\\frac"
+msgstr "СÑандаÑÑна дÑоб\tâ\\fracâ"
#: lib/ui/stdtoolbars.inc:427
msgid "Nice fraction (3/4)\t\\nicefrac"
-msgstr ""
+msgstr "ÐÑавилна дÑоб (3/4)\tâ\\nicefracâ"
#: lib/ui/stdtoolbars.inc:428
msgid "Unit (km)\t\\unitone"
-msgstr ""
+msgstr "ÐеÑна ед. (км)\tâ\\unitoneâ"
#: lib/ui/stdtoolbars.inc:429
msgid "Unit (864 m)\t\\unittwo"
-msgstr ""
+msgstr "ÐеÑна ед. (864 м)\tâ\\unittwoâ"
#: lib/ui/stdtoolbars.inc:430
msgid "Unit fraction (km/h)\t\\unitfrac"
-msgstr ""
+msgstr "ÐÑобна меÑна ед. (км/Ñ)\tâ\\unitfracâ"
#: lib/ui/stdtoolbars.inc:431
msgid "Unit fraction (20 km/h)\t\\unitfracthree"
-msgstr ""
+msgstr "ÐÑобни меÑни ед. (20 km/h)\tâ\\unitfracthreeâ"
# src/LyXAction.C:164
#: lib/ui/stdtoolbars.inc:432
-#, fuzzy
msgid "Text fraction\t\\tfrac"
-msgstr "ÐмÑкни ÑиÑаÑ"
+msgstr "ТекÑÑова дÑоб\tâ\\tfracâ"
# src/frontends/xforms/FormGraphics.C:36
# src/frontends/xforms/FormGraphics.C:359
#: lib/ui/stdtoolbars.inc:433
-#, fuzzy
msgid "Display fraction\t\\dfrac"
-msgstr "ÐÑаÑика"
+msgstr "ÐÑаÑиÑна дÑоб\tâ\\dfracâ"
#: lib/ui/stdtoolbars.inc:434
msgid "Continued fraction\t\\cfrac"
-msgstr "ÐеÑижна дÑоб\t\\cfrac"
+msgstr "ÐеÑижна дÑоб\tâ\\cfracâ"
#: lib/ui/stdtoolbars.inc:435
msgid "Continued fraction (left)\t\\cfracleft"
-msgstr "ÐеÑижна дÑоб (лÑва)\t\\cfracleft"
+msgstr "ÐеÑижна дÑоб (лÑва)\tâ\\cfracleftâ"
#: lib/ui/stdtoolbars.inc:436
msgid "Continued fraction (right)\t\\cfracright"
-msgstr "ÐеÑижна дÑоб (дÑÑна)\t\\cfracright"
+msgstr "ÐеÑижна дÑоб (дÑÑна)\tâ\\cfracrightâ"
#: lib/ui/stdtoolbars.inc:437
msgid "Binomial\t\\binom"
-msgstr ""
+msgstr "Ðиномиал\tâ\\binomâ"
#: lib/ui/stdtoolbars.inc:438
msgid "Text binomial\t\\tbinom"
@@ -27079,11 +26521,11 @@ msgstr ""
#: lib/ui/stdtoolbars.inc:439
msgid "Display binomial\t\\dbinom"
-msgstr ""
+msgstr "ÐÑаÑиÑен биномиал\tâ\\dbinomâ"
#: lib/ui/stdtoolbars.inc:443
msgid "Roman\t\\mathrm"
-msgstr "СеÑиÑен\t\\mathrm"
+msgstr "СеÑиÑен\tâ\\mathrmâ"
#: lib/ui/stdtoolbars.inc:444
msgid "Bold\t\\mathbf"
@@ -27167,7 +26609,7 @@ msgstr "iddots"
# src/ext_l10n.h:219
#: lib/ui/stdtoolbars.inc:472
msgid "Frame Decorations"
-msgstr "УкÑаÑа на Ñамки"
+msgstr "ÐаÑем. изÑази"
# src/ext_l10n.h:194
#: lib/ui/stdtoolbars.inc:473
@@ -27177,21 +26619,21 @@ msgstr "hat"
# src/frontends/kde/dlg/printdlgdata.C:246
#: lib/ui/stdtoolbars.inc:474
msgid "tilde"
-msgstr "tilde"
+msgstr "Ñилда"
#: lib/ui/stdtoolbars.inc:475
msgid "bar"
-msgstr "bar"
+msgstr "ÑеÑÑа"
# src/LColor.C:56
#: lib/ui/stdtoolbars.inc:476
msgid "grave"
-msgstr "grave"
+msgstr "гÑавиÑ/ÑдаÑение"
# src/frontends/kde/dlg/paraextradlgdata.C:142
#: lib/ui/stdtoolbars.inc:477
msgid "dot"
-msgstr "dot"
+msgstr "ÑоÑка"
#: lib/ui/stdtoolbars.inc:478
msgid "check"
@@ -27291,7 +26733,7 @@ msgstr "underleftrightarrow"
# src/frontends/xforms/FormInset.h:55 src/lyxfunc.C:744
#: lib/ui/stdtoolbars.inc:501
msgid "cancel"
-msgstr "cancel"
+msgstr "ÑÑкÑаÑение"
# src/LyXAction.C:157 src/frontends/kde/FormUrl.C:93
# src/frontends/kde/paradlg.C:89 src/frontends/xforms/FormBase.h:138
@@ -27299,7 +26741,7 @@ msgstr "cancel"
# src/frontends/xforms/FormInset.h:55 src/lyxfunc.C:744
#: lib/ui/stdtoolbars.inc:502
msgid "bcancel"
-msgstr "bcancel"
+msgstr "обÑаÑно ÑÑкÑаÑение"
# src/LyXAction.C:157 src/frontends/kde/FormUrl.C:93
# src/frontends/kde/paradlg.C:89 src/frontends/xforms/FormBase.h:138
@@ -27307,7 +26749,7 @@ msgstr "bcancel"
# src/frontends/xforms/FormInset.h:55 src/lyxfunc.C:744
#: lib/ui/stdtoolbars.inc:503
msgid "xcancel"
-msgstr "xcancel"
+msgstr "заÑеÑкване на кÑÑÑÑ"
# src/LyXAction.C:157 src/frontends/kde/FormUrl.C:93
# src/frontends/kde/paradlg.C:89 src/frontends/xforms/FormBase.h:138
@@ -27315,7 +26757,7 @@ msgstr "xcancel"
# src/frontends/xforms/FormInset.h:55 src/lyxfunc.C:744
#: lib/ui/stdtoolbars.inc:504
msgid "cancelto"
-msgstr "cancelto"
+msgstr "ÑÑкÑаÑение кÑм"
#: lib/ui/stdtoolbars.inc:505
msgid "Insert left/right side scripts (sideset)"
@@ -27652,7 +27094,7 @@ msgstr "geq"
#: lib/ui/stdtoolbars.inc:594
msgid "equiv"
-msgstr "equiv"
+msgstr "еквиваленÑно"
# src/ext_l10n.h:201
#: lib/ui/stdtoolbars.inc:595
@@ -27820,232 +27262,232 @@ msgstr "lnot"
#: lib/ui/stdtoolbars.inc:637
msgid "alpha"
-msgstr "alpha"
+msgstr "алÑа"
#: lib/ui/stdtoolbars.inc:638
msgid "beta"
-msgstr "beta"
+msgstr "беÑа"
# src/ext_l10n.h:271
#: lib/ui/stdtoolbars.inc:639
msgid "gamma"
-msgstr "gamma"
+msgstr "гама"
# src/frontends/xforms/form_graphics.C:61
# src/frontends/xforms/form_graphics.C:82 src/lyxfont.C:411
#: lib/ui/stdtoolbars.inc:640
msgid "delta"
-msgstr "delta"
+msgstr "делÑа"
# src/lyxfunc.C:1125
#: lib/ui/stdtoolbars.inc:641
msgid "epsilon"
-msgstr "epsilon"
+msgstr "епÑилон"
#: lib/ui/stdtoolbars.inc:642
msgid "varepsilon"
-msgstr "varepsilon"
+msgstr "епÑилон ÑÑÑповиден"
#: lib/ui/stdtoolbars.inc:643
msgid "zeta"
-msgstr "zeta"
+msgstr "зеÑа"
# src/ext_l10n.h:451
#: lib/ui/stdtoolbars.inc:644
msgid "eta"
-msgstr "eta"
+msgstr "еÑа"
# src/LColor.C:63
#: lib/ui/stdtoolbars.inc:645
msgid "theta"
-msgstr "theta"
+msgstr "ÑеÑа"
# src/mathed/math_panel.C:134
#: lib/ui/stdtoolbars.inc:646
msgid "vartheta"
-msgstr "vartheta"
+msgstr "ÑеÑа Ñимвол"
# src/ext_l10n.h:362
#: lib/ui/stdtoolbars.inc:647
msgid "iota"
-msgstr "iota"
+msgstr "йоÑа"
#: lib/ui/stdtoolbars.inc:648
msgid "kappa"
-msgstr "kappa"
+msgstr "капа"
#: lib/ui/stdtoolbars.inc:649
msgid "lambda"
-msgstr "lambda"
+msgstr "ламбда"
#: lib/ui/stdtoolbars.inc:650
msgid "mu"
-msgstr "mu"
+msgstr "мÑ"
#: lib/ui/stdtoolbars.inc:651
msgid "nu"
-msgstr "nu"
+msgstr "нÑ"
# src/LColor.C:63
#: lib/ui/stdtoolbars.inc:652
msgid "xi"
-msgstr "xi"
+msgstr "кÑи"
#: lib/ui/stdtoolbars.inc:653
msgid "pi"
-msgstr "pi"
+msgstr "пи"
#: lib/ui/stdtoolbars.inc:654
msgid "varpi"
-msgstr "varpi"
+msgstr "пи Ñимвол"
#: lib/ui/stdtoolbars.inc:655
msgid "rho"
-msgstr "rho"
+msgstr "Ñо"
# src/LColor.C:92
#: lib/ui/stdtoolbars.inc:656
msgid "varrho"
-msgstr "varrho"
+msgstr "Ñо Ñимвол"
#: lib/ui/stdtoolbars.inc:657
msgid "sigma"
-msgstr "sigma"
+msgstr "Ñигма"
#: lib/ui/stdtoolbars.inc:658
msgid "varsigma"
-msgstr "varsigma"
+msgstr "Ñигма в кÑаÑ"
# src/ext_l10n.h:362
#: lib/ui/stdtoolbars.inc:659
msgid "tau"
-msgstr "tau"
+msgstr "Ñав"
# src/ext_l10n.h:323
#: lib/ui/stdtoolbars.inc:660
msgid "upsilon"
-msgstr "upsilon"
+msgstr "ипÑилон"
#: lib/ui/stdtoolbars.inc:661
msgid "phi"
-msgstr "phi"
+msgstr "Ñи"
#: lib/ui/stdtoolbars.inc:662
msgid "varphi"
-msgstr "varphi"
+msgstr "Ñи Ñимвол"
#: lib/ui/stdtoolbars.inc:663
msgid "chi"
-msgstr "chi"
+msgstr "Ñ
и"
#: lib/ui/stdtoolbars.inc:664
msgid "psi"
-msgstr "psi"
+msgstr "пÑи"
# src/frontends/xforms/form_preferences.C:105 src/lyxfont.C:42
#: lib/ui/stdtoolbars.inc:665
msgid "omega"
-msgstr "omega"
+msgstr "омега"
# src/ext_l10n.h:271
#: lib/ui/stdtoolbars.inc:666
msgid "Gamma"
-msgstr "Gamma"
+msgstr "Ðама"
# src/frontends/xforms/form_preferences.C:600
# src/frontends/xforms/form_preferences.C:687
#: lib/ui/stdtoolbars.inc:667
msgid "Delta"
-msgstr "Delta"
+msgstr "ÐелÑа"
# src/LColor.C:63
#: lib/ui/stdtoolbars.inc:668
msgid "Theta"
-msgstr "Theta"
+msgstr "ТеÑа"
# src/frontends/xforms/form_preferences.C:920
#: lib/ui/stdtoolbars.inc:669
msgid "Lambda"
-msgstr "Lambda"
+msgstr "Ðамбда"
#: lib/ui/stdtoolbars.inc:670
msgid "Xi"
-msgstr "Xi"
+msgstr "Хи"
#: lib/ui/stdtoolbars.inc:671
msgid "Pi"
-msgstr "Pi"
+msgstr "Ðи"
# src/lyxfont.C:56
#: lib/ui/stdtoolbars.inc:672
msgid "Sigma"
-msgstr "Sigma"
+msgstr "Сигма"
#: lib/ui/stdtoolbars.inc:673
msgid "Upsilon"
-msgstr "Upsilon"
+msgstr "ÐпÑилон"
#: lib/ui/stdtoolbars.inc:674
msgid "Phi"
-msgstr "Phi"
+msgstr "Фи"
#: lib/ui/stdtoolbars.inc:675
msgid "Psi"
-msgstr "Psi"
+msgstr "ÐÑи"
#: lib/ui/stdtoolbars.inc:676
msgid "Omega"
-msgstr "Omega"
+msgstr "Ðмега"
# src/ext_l10n.h:271
#: lib/ui/stdtoolbars.inc:677
msgid "varGamma"
-msgstr "varGamma"
+msgstr "Ðама Ñимвол"
# src/frontends/xforms/form_preferences.C:600
# src/frontends/xforms/form_preferences.C:687
#: lib/ui/stdtoolbars.inc:678
msgid "varDelta"
-msgstr "varDelta"
+msgstr "ÐелÑа Ñимвол"
# src/mathed/math_panel.C:134
#: lib/ui/stdtoolbars.inc:679
msgid "varTheta"
-msgstr "varTheta"
+msgstr "ТеÑа Ñимвол"
# src/frontends/xforms/form_preferences.C:920
#: lib/ui/stdtoolbars.inc:680
msgid "varLambda"
-msgstr "varLambda"
+msgstr "Ðамбда Ñимвол"
#: lib/ui/stdtoolbars.inc:681
msgid "varXi"
-msgstr "varXi"
+msgstr "Хи Ñимвол"
#: lib/ui/stdtoolbars.inc:682
msgid "varPi"
-msgstr "varpi"
+msgstr "Ðи Ñимвол"
#: lib/ui/stdtoolbars.inc:683
msgid "varSigma"
-msgstr "varsigma"
+msgstr "Сигма Ñимвол"
#: lib/ui/stdtoolbars.inc:684
msgid "varUpsilon"
-msgstr "varepsilon"
+msgstr "ÐпÑилон Ñимвол"
#: lib/ui/stdtoolbars.inc:685
msgid "varPhi"
-msgstr "varphi"
+msgstr "Фи Ñимвол"
# src/frontends/xforms/form_document.C:98
#: lib/ui/stdtoolbars.inc:686
msgid "varPsi"
-msgstr "varPsi"
+msgstr "ÐÑи Ñимвол"
#: lib/ui/stdtoolbars.inc:687
msgid "varOmega"
-msgstr "varOmega"
+msgstr "Ðмега Ñимвол"
# src/frontends/xforms/FormTabular.C:133
#: lib/ui/stdtoolbars.inc:691
@@ -28060,11 +27502,11 @@ msgstr "partial"
# src/lyxfont.C:56
#: lib/ui/stdtoolbars.inc:693
msgid "infty"
-msgstr "infty"
+msgstr "безкÑайноÑÑ"
#: lib/ui/stdtoolbars.inc:694
msgid "prime"
-msgstr "prime"
+msgstr "пÑоÑÑо"
# src/frontends/xforms/FormTabular.C:131
#: lib/ui/stdtoolbars.inc:695
@@ -28898,11 +28340,11 @@ msgstr "бележка"
#: lib/ui/stdtoolbars.inc:895
msgid "female"
-msgstr ""
+msgstr "мÑж"
#: lib/ui/stdtoolbars.inc:896
msgid "male"
-msgstr ""
+msgstr "жена"
# src/frontends/kde/paraextradlg.C:25 src/lyxfont.C:56
#: lib/ui/stdtoolbars.inc:897
@@ -28920,20 +28362,19 @@ msgstr ""
#: lib/ui/stdtoolbars.inc:900
msgid "fullmoon"
-msgstr ""
+msgstr "пÑлнолÑние"
#: lib/ui/stdtoolbars.inc:901
msgid "newmoon"
-msgstr ""
+msgstr "новолÑние"
#: lib/ui/stdtoolbars.inc:902
-#, fuzzy
msgid "leftmoon"
-msgstr "leftharpoonup"
+msgstr "лÑна налÑво"
#: lib/ui/stdtoolbars.inc:903
msgid "rightmoon"
-msgstr "rightmoon"
+msgstr "лÑна надÑÑно"
# src/ext_l10n.h:274
#: lib/ui/stdtoolbars.inc:904
@@ -28943,101 +28384,96 @@ msgstr "СпиÑÑк"
#: lib/ui/stdtoolbars.inc:905
msgid "mercury"
-msgstr ""
+msgstr "ÐеÑкÑÑий"
#: lib/ui/stdtoolbars.inc:906
msgid "venus"
-msgstr ""
+msgstr "ÐенеÑа"
# src/mathed/math_panel.C:134
#: lib/ui/stdtoolbars.inc:907
msgid "earth"
-msgstr "earth"
+msgstr "ÐемÑ"
#: lib/ui/stdtoolbars.inc:908
msgid "mars"
-msgstr ""
+msgstr "ÐаÑÑ"
# src/frontends/xforms/FormPreferences.C:269
#: lib/ui/stdtoolbars.inc:909
-#, fuzzy
msgid "jupiter"
-msgstr "ÐÑинÑеÑ"
+msgstr "ЮпиÑеÑ"
# src/ext_l10n.h:351
#: lib/ui/stdtoolbars.inc:910
-#, fuzzy
msgid "saturn"
-msgstr "natural"
+msgstr "СаÑÑÑн"
#: lib/ui/stdtoolbars.inc:911
msgid "uranus"
-msgstr ""
+msgstr "УÑан"
#: lib/ui/stdtoolbars.inc:912
msgid "neptune"
-msgstr ""
+msgstr "ÐепÑÑн"
#: lib/ui/stdtoolbars.inc:913
msgid "pluto"
-msgstr ""
+msgstr "ÐлÑÑон"
# src/layout_forms.C:28
#: lib/ui/stdtoolbars.inc:914
-#, fuzzy
msgid "aries"
-msgstr "СеÑиÑ(S):|#S"
+msgstr "Ðвен"
#: lib/ui/stdtoolbars.inc:915
msgid "taurus"
-msgstr ""
+msgstr "ТелеÑ"
#: lib/ui/stdtoolbars.inc:916
msgid "gemini"
-msgstr ""
+msgstr "ÐлизнаÑи"
# src/LyXAction.C:157 src/frontends/kde/FormUrl.C:93
# src/frontends/kde/paradlg.C:89 src/frontends/xforms/FormBase.h:138
# src/frontends/xforms/FormBase.h:153 src/frontends/xforms/FormInset.h:31
# src/frontends/xforms/FormInset.h:55 src/lyxfunc.C:744
#: lib/ui/stdtoolbars.inc:917
-#, fuzzy
msgid "cancer"
-msgstr "ÐÑказ"
+msgstr "Рак"
# src/frontends/kde/FormRef.C:103
#: lib/ui/stdtoolbars.inc:918
-#, fuzzy
msgid "leo"
-msgstr "log"
+msgstr "ÐÑв"
#: lib/ui/stdtoolbars.inc:919
msgid "virgo"
-msgstr ""
+msgstr "Ðева"
#: lib/ui/stdtoolbars.inc:920
msgid "libra"
-msgstr ""
+msgstr "Ðезни"
#: lib/ui/stdtoolbars.inc:921
msgid "scorpio"
-msgstr ""
+msgstr "СкоÑпион"
#: lib/ui/stdtoolbars.inc:922
msgid "sagittarius"
-msgstr ""
+msgstr "СÑÑелеÑ"
#: lib/ui/stdtoolbars.inc:923
msgid "capricornus"
-msgstr ""
+msgstr "ÐозиÑог"
#: lib/ui/stdtoolbars.inc:924
msgid "aquarius"
-msgstr ""
+msgstr "Ðодолей"
#: lib/ui/stdtoolbars.inc:925
msgid "pisces"
-msgstr ""
+msgstr "Риби"
#: lib/ui/stdtoolbars.inc:928
msgid "APLbox"
@@ -29251,21 +28687,20 @@ msgstr "multimap"
# src/ext_l10n.h:74
#: lib/ui/stdtoolbars.inc:982
msgid "shortleftarrow"
-msgstr "shortleftarrow"
+msgstr "кÑÑа ÑÑÑелка налÑво"
#: lib/ui/stdtoolbars.inc:983
msgid "shortrightarrow"
-msgstr "shortrightarrow"
+msgstr "кÑÑа ÑÑÑелка надÑÑно"
# src/LColor.C:92
#: lib/ui/stdtoolbars.inc:984
msgid "shortuparrow"
-msgstr "shortuparrow"
+msgstr "кÑÑа ÑÑÑелка нагоÑе"
#: lib/ui/stdtoolbars.inc:985
-#, fuzzy
msgid "shortdownarrow"
-msgstr "downarrow"
+msgstr "кÑÑа ÑÑÑелка надолÑ"
#: lib/ui/stdtoolbars.inc:986
#, fuzzy
@@ -31041,7 +30476,7 @@ msgstr ""
#: lib/ui/stdtoolbars.inc:1453
#, fuzzy
msgid "Advanced"
-msgstr "(&C)ÐÑказ"
+msgstr "ÐÑказ"
#: lib/ui/stdtoolbars.inc:1454
msgid "Retracted"
@@ -31187,9 +30622,8 @@ msgstr ""
# src/lyxfunc.C:1105 src/lyxfunc.C:2550
#: lib/ui/stdtoolbars.inc:1488
-#, fuzzy
msgid "Rising (accent)"
-msgstr "ÐипÑÐ²Ð°Ñ Ð°ÑгÑменÑ"
+msgstr "ÐовиÑÐ°Ð²Ð°Ñ (акÑанÑ)"
# src/ext_l10n.h:102
#: lib/ui/stdtoolbars.inc:1489
@@ -31344,9 +30778,8 @@ msgstr ""
# src/frontends/kde/dlg/printdlgdata.C:42
#: lib/xtemplates/pdfpages.xtemplate:13
-#, fuzzy
msgid "PDFPages"
-msgstr "СÑÑаниÑи"
+msgstr "СÑÑаниÑи Ð¾Ñ PDF"
# src/frontends/kde/dlg/printdlgdata.C:42
#: lib/xtemplates/pdfpages.xtemplate:14 lib/xtemplates/pdfpages.xtemplate:28
@@ -31354,7 +30787,6 @@ msgid "PDF pages"
msgstr "СÑÑаниÑа Ð¾Ñ PDF"
#: lib/xtemplates/pdfpages.xtemplate:16
-#, fuzzy
msgid ""
"Includes PDF documents, using the 'pdfpages' package.\n"
"To include multiple pages, use the 'pages'-option,\n"
@@ -31368,11 +30800,23 @@ msgid ""
"inserted in their original size.\n"
"Read the documentation of the pdfpages package\n"
"for further options and details.\n"
-msgstr "ÐмпоÑÑиÑа PDF докÑÐ¼ÐµÐ½Ñ Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ð¹ÐºÐ¸ âpdfpagesâ пакеÑа."
+msgstr ""
+"ÐклÑÑва PDF докÑменÑи използвайки пакеÑа âpdfpagesâ\n."
+"Ðа вмÑкване на повеÑе ÑÑÑаниÑи Ñе използва опÑиÑÑа âpagesâ,"
+"коÑÑо ÑÑÑбва Ñе зазаде в âÐпÑииâ.\n"
+"ÐÑимеÑ:\n"
+"* pages={x,y} - за поÑедни ÑÑÑаниÑи\n"
+"* pages={x,y,z} - за единиÑни ÑÑÑаниÑи\n"
+"* pages=- - вклÑÑва вÑиÑки ÑÑÑаниÑи\n"
+"* pages=last-1 - вклÑÑва вÑиÑки ÑÑÑаниÑи в обÑаÑен Ñед\n"
+"С опÑиÑÑа ânoautoscaleâ ÑÑÑаниÑиÑе Ñе вклÑÑÐ²Ð°Ñ Ñ ÑеÑ
ниÑe\n"
+"пÑÑвонаÑални ÑазмеÑи\n"
+"Ðа повеÑе инÑоÑмаÑÐ¸Ñ Ð¸ наÑÑÑойки Ñе обÑÑнеÑе кÑм докÑменÑаÑиÑÑа "
+"на пакеÑа pdfpages.\n"
#: lib/xtemplates/raster_image.xtemplate:14
msgid "RasterImage"
-msgstr ""
+msgstr "РаÑÑеÑно изобÑажение"
# src/lyx_gui_misc.C:430
#: lib/xtemplates/raster_image.xtemplate:17
@@ -31385,13 +30829,14 @@ msgid ""
"A bitmap file.\n"
"Use this template to include bitmap images of any kind.\n"
msgstr ""
+"Файл Ñ ÑаÑÑеÑно изобÑажение.\n"
+"Този Ñаблон Ñе използва за вмÑкване на ÑаÑÑеÑни гÑаÑики Ð¾Ñ Ð¿Ñоизволен Ñип.\n"
# src/frontends/xforms/FormGraphics.C:36
# src/frontends/xforms/FormGraphics.C:359
#: lib/xtemplates/vector_graphics.xtemplate:14
-#, fuzzy
msgid "VectorGraphics"
-msgstr "ÐÑаÑика"
+msgstr "ÐекÑоÑна гÑаÑика"
# src/frontends/kde/printdlg.C:35
#: lib/xtemplates/vector_graphics.xtemplate:15
@@ -31409,6 +30854,13 @@ msgid ""
"The specialized templates allow to automatically use the document font in\n"
"the figures, which is not possible with this general template.\n"
msgstr ""
+"Файл Ñ Ð²ÐµÐºÑоÑно изобÑажение.\n"
+"Този Ñаблон Ñе използва за вмÑкване на векÑоÑна гÑаÑика Ð¾Ñ Ð¿Ñоизволен\n"
+"вид, каÑо LyX Ñе Ñе опиÑа за запази каÑеÑÑваÑа на изобÑажениеÑо в\n"
+"изÑ
Ð¾Ð´Ð½Ð¸Ñ ÑезÑлÑаÑ. ÐапомнÑме, Ñе ÑÑÑеÑÑвÑÐ²Ð°Ñ ÑпеÑиални Ñаблони за\n"
+"изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° Xfig и диагÑами Dia. СпеÑиализиÑаниÑе Ñаблони позволÑваÑ\n"
+"авÑомаÑиÑно използване на ÑÑиÑÑове Ð¾Ñ Ð´Ð¾ÐºÑменÑа вÑв ÑигÑÑиÑе, коеÑо не е\n"
+"вÑзможно Ñ Ñози Ð¾Ð±Ñ Ñаблон.\n"
# src/ext_l10n.h:244
#: lib/xtemplates/xfig.xtemplate:33
@@ -31422,9 +30874,8 @@ msgstr "ÐзобÑажение на Xfig"
# src/lyx_cb.C:977
#: lib/xtemplates/xfig.xtemplate:36
-#, fuzzy
msgid "An Xfig figure.\n"
-msgstr "СÑаÑÑиÑам конÑигÑÑиÑане..."
+msgstr "ÐзобÑажение на Xfig.\n"
# src/frontends/kde/dlg/paraextradlgdata.C:142
#: lib/configure.py:710
@@ -31432,9 +30883,8 @@ msgid "tgo"
msgstr "tgo"
#: lib/configure.py:710
-#, fuzzy
msgid "tgo|Tgif"
-msgstr "Tgif"
+msgstr "tgo|Tgif"
#: lib/configure.py:713
msgid "FIG"
@@ -31446,13 +30896,12 @@ msgstr "DIA"
#: lib/configure.py:719
msgid "sxd"
-msgstr ""
+msgstr "sxd"
# src/lyxfunc.C:2761
#: lib/configure.py:719
-#, fuzzy
msgid "sxd|OpenDocument"
-msgstr "OpenDocument"
+msgstr "sxd|OpenDocument"
# src/frontends/xforms/form_graphics.C:96
#: lib/configure.py:722
@@ -31465,11 +30914,11 @@ msgstr "FEN"
#: lib/configure.py:728
msgid "SVG"
-msgstr ""
+msgstr "SVG"
#: lib/configure.py:729
msgid "SVG (compressed)"
-msgstr ""
+msgstr "SVG (компÑеÑиÑан)"
#: lib/configure.py:732
msgid "BMP"
@@ -31481,12 +30930,11 @@ msgstr "GIF"
#: lib/configure.py:734
msgid "jpeg"
-msgstr ""
+msgstr "jpeg"
#: lib/configure.py:734
-#, fuzzy
msgid "jpeg|JPEG"
-msgstr "JPEG"
+msgstr "jpeg|JPEG"
#: lib/configure.py:735
msgid "PBM"
@@ -31521,9 +30969,8 @@ msgid "Plain text (chess output)"
msgstr ""
#: lib/configure.py:753
-#, fuzzy
msgid "DocBook 5"
-msgstr "DocBook"
+msgstr "DocBook 5"
# src/frontends/xforms/FormGraphics.C:36
# src/frontends/xforms/FormGraphics.C:359
@@ -31538,7 +30985,7 @@ msgstr "LaTeX (dviluatex)"
#: lib/configure.py:756
msgid "ePub"
-msgstr ""
+msgstr "ePub"
# src/frontends/xforms/form_preferences.C:926
#: lib/configure.py:757
@@ -31557,35 +31004,30 @@ msgstr "NoWeb|N"
# src/frontends/xforms/form_preferences.C:926
#: lib/configure.py:760
-#, fuzzy
msgid "Sweave (Japanese)"
-msgstr "допÑлниÑелни опÑии"
+msgstr "Sweave (ÑпонÑки)"
# src/frontends/xforms/form_preferences.C:926
#: lib/configure.py:760
-#, fuzzy
msgid "Sweave (Japanese)|S"
-msgstr "допÑлниÑелни опÑии"
+msgstr "Sweave (ÑпонÑки)"
# src/ext_l10n.h:201
#: lib/configure.py:761
-#, fuzzy
msgid "R/S code"
-msgstr "Ðод"
+msgstr "R/S код"
#: lib/configure.py:763
-#, fuzzy
msgid "Rnw (knitr, Japanese)"
-msgstr "Rnw (knitr)"
+msgstr "Rnw (knitr, ÑпонÑки)"
#: lib/configure.py:764
msgid "LilyPond book (LaTeX)"
-msgstr ""
+msgstr "Ðнига LilyPond (LaTeX)"
#: lib/configure.py:765
-#, fuzzy
msgid "LilyPond book (pLaTeX)"
-msgstr "LilyPond"
+msgstr "Ðнига LilyPond (pLaTeX)"
# src/frontends/xforms/form_preferences.C:926
#: lib/configure.py:766
@@ -31693,7 +31135,7 @@ msgid "LyXHTML|y"
msgstr "LyXHTML"
# src/ext_l10n.h:126
-#: lib/configure.py:797 src/frontends/qt/GuiLog.cpp:242
+#: lib/configure.py:797 src/frontends/qt/GuiLog.cpp:289
#: src/insets/InsetBibtex.cpp:148
msgid "BibTeX"
msgstr "BibTeX"
@@ -31874,7 +31316,7 @@ msgid "Table (CSV)"
msgstr "ТаблиÑа (CSV)"
# src/frontends/kde/FormPrint.C:118
-#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1486
+#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1655
#: src/mathed/InsetMathMacroTemplate.cpp:538
msgid "LyX"
msgstr "LyX"
@@ -31965,39 +31407,37 @@ msgstr ""
msgid "LyXBlogger"
msgstr ""
-#: lib/configure.py:1248
+#: lib/configure.py:1250
msgid "gnuplot"
-msgstr ""
+msgstr "gnuplot"
-#: lib/configure.py:1248
+#: lib/configure.py:1250
msgid "gnuplot|Gnuplot"
-msgstr ""
+msgstr "gnuplot|Gnuplot"
-#: lib/configure.py:1325
+#: lib/configure.py:1350
msgid "LyX Archive (zip)"
-msgstr ""
+msgstr "LyX аÑÑ
ив (zip)"
-#: lib/configure.py:1328
+#: lib/configure.py:1353
msgid "LyX Archive (tar.gz)"
-msgstr "LyX Archive (tar.gz)"
+msgstr "LyX аÑÑ
ив (tar.gz)"
# src/ext_l10n.h:288 src/frontends/gnome/FormUrl.C:119
#: lib/examples/Articles:0
-#, fuzzy
-msgid "Game 2"
-msgstr "Game"
+msgid "Game 1"
+msgstr "ÐгÑа 1"
# src/ext_l10n.h:288 src/frontends/gnome/FormUrl.C:119
#: lib/examples/Articles:0
-#, fuzzy
-msgid "Game 1"
-msgstr "Game"
+msgid "Game 2"
+msgstr "ÐгÑа 2"
# src/ext_l10n.h:232
#: lib/examples/Articles:0
#, fuzzy
msgid "Example (LyXified)"
-msgstr "&ÐÑимеÑни Ñайлове:"
+msgstr ""
# src/ext_l10n.h:232
#: lib/examples/Articles:0
@@ -32007,7 +31447,7 @@ msgstr "ÐÑимеÑ"
#: lib/examples/Articles:0
msgid "Gnuplot"
-msgstr ""
+msgstr "Gnuplot"
# src/ext_l10n.h:94
#: lib/examples/Articles:0 src/TocBackend.cpp:299
@@ -32015,6 +31455,15 @@ msgstr ""
msgid "External Material"
msgstr "ÐаÑеÑиал вÑнÑен ÑоÑмаÑ"
+#: lib/examples/Articles:0
+msgid "Feynman Diagrams"
+msgstr "Файнман диагÑами"
+
+#: lib/examples/Articles:0
+#, fuzzy
+msgid "Instant Preview"
+msgstr "ÐепоÑÑедÑÑвен пÑадваÑиÑелен пÑеглед"
+
# src/LyXAction.C:251
#: lib/examples/Articles:0
#, fuzzy
@@ -32027,16 +31476,6 @@ msgstr "ÐзбÑоÑване Ñ Ð²Ð¾Ð´ÐµÑи знаÑи"
msgid "Minted File Listing"
msgstr "&Ð Ñеда"
-#: lib/examples/Articles:0
-#, fuzzy
-msgid "Feynman Diagrams"
-msgstr "Файнман диагÑама|Ф"
-
-#: lib/examples/Articles:0
-#, fuzzy
-msgid "Instant Preview"
-msgstr "ÐепоÑÑедÑÑвен пÑадваÑиÑелен пÑеглед:"
-
# src/ext_l10n.h:244
#: lib/examples/Articles:0
#, fuzzy
@@ -32063,19 +31502,19 @@ msgstr "&ÐÑаÑиÑен дÑайвеÑ"
# src/ext_l10n.h:362
#: lib/examples/Articles:0
#, fuzzy
-msgid "Serial Letter 3"
+msgid "Serial Letter 1"
msgstr "ÐÑÑжава"
# src/ext_l10n.h:362
#: lib/examples/Articles:0
#, fuzzy
-msgid "Serial Letter 1"
+msgid "Serial Letter 2"
msgstr "ÐÑÑжава"
# src/ext_l10n.h:362
#: lib/examples/Articles:0
#, fuzzy
-msgid "Serial Letter 2"
+msgid "Serial Letter 3"
msgstr "ÐÑÑжава"
# src/form1.C:165
@@ -32085,9 +31524,14 @@ msgid "Localization Test"
msgstr "РоÑаÑиÑ"
#: lib/examples/Articles:0
-msgid "Noweb Listerrors"
+msgid "Hazard and Precautionary Statements"
msgstr ""
+#: lib/examples/Articles:0
+#, fuzzy
+msgid "LilyPond Book"
+msgstr "LilyPond"
+
# src/frontends/xforms/form_preferences.C:926
#: lib/examples/Articles:0
#, fuzzy
@@ -32101,36 +31545,30 @@ msgid "Noweb2LyX"
msgstr "NoWeb"
#: lib/examples/Articles:0
-msgid "Hazard and Precautionary Statements"
+msgid "Noweb Listerrors"
msgstr ""
-#: lib/examples/Articles:0
-#, fuzzy
-msgid "LilyPond Book"
-msgstr "LilyPond"
-
# src/frontends/kde/dlg/paraextradlgdata.C:155
-#: lib/examples/Articles:0 src/frontends/qt/GuiDocument.cpp:1761
+#: lib/examples/Articles:0 src/frontends/qt/GuiDocument.cpp:1775
msgid "Modules"
msgstr "ÐодÑли"
-# src/frontends/xforms/form_preferences.C:920
+# src/ext_l10n.h:136
#: lib/examples/Articles:0
#, fuzzy
-msgid "Foils Landslide"
-msgstr "пейзаж"
+msgid "Beamer (Complex)"
+msgstr "Ðележка(N)|N"
# src/frontends/kde/dlg/printdlgdata.C:246
#: lib/examples/Articles:0
-#, fuzzy
msgid "Foils"
-msgstr "(&F)Файл"
+msgstr "ÐбÑекаеми пÑоÑили"
-# src/ext_l10n.h:136
+# src/frontends/xforms/form_preferences.C:920
#: lib/examples/Articles:0
#, fuzzy
-msgid "Beamer (Complex)"
-msgstr "Ðележка(N)|N"
+msgid "Foils Landslide"
+msgstr "пейзаж"
# src/minibuffer.C:46 src/minibuffer.C:244
#: lib/examples/Articles:0
@@ -32141,25 +31579,31 @@ msgstr "ÐобÑе доÑли в LyX!"
# src/frontends/xforms/form_preferences.C:926
#: lib/examples/Articles:0
#, fuzzy
-msgid "Multilingual Typesetting with platex"
+msgid "Multilingual Typesetting with CJKutf8"
msgstr "допÑлниÑелни опÑии"
# src/frontends/xforms/form_preferences.C:926
#: lib/examples/Articles:0
#, fuzzy
-msgid "Multilingual Typesetting with CJKutf8"
+msgid "Multilingual Typesetting with platex"
msgstr "допÑлниÑелни опÑии"
+#: lib/examples/Articles:0
+#, fuzzy
+msgid "Hebrew Article (KOMA-Script)"
+msgstr "СÑаÑÐ¸Ñ Ð·Ð° пÑожекÑÐ¾Ñ KOMA-ÑкÑипÑ"
+
# src/ext_l10n.h:400
#: lib/examples/Articles:0
#, fuzzy
msgid "IEEE Transactions Conference"
msgstr "ÐÑеÑ
од"
+# src/ext_l10n.h:400
#: lib/examples/Articles:0
#, fuzzy
-msgid "Hebrew Article (KOMA-Script)"
-msgstr "СÑаÑÐ¸Ñ Ð·Ð° пÑожекÑÐ¾Ñ KOMA-ÑкÑипÑ"
+msgid "IEEE Transactions Journal"
+msgstr "ÐÑеÑ
од"
# src/mathed/math_panel.C:134
#: lib/examples/Articles:0
@@ -32171,165 +31615,138 @@ msgstr "ÐаÑÑиÑа"
msgid "Springers Global Journal Template (V. 3)"
msgstr ""
-# src/ext_l10n.h:400
+# src/lyxfunc.C:1105 src/lyxfunc.C:2550
#: lib/examples/Articles:0
-#, fuzzy
-msgid "IEEE Transactions Journal"
-msgstr "ÐÑеÑ
од"
+msgid "00 Main File"
+msgstr "00 Ðлавен Ñайл"
-# src/ext_l10n.h:329
+# src/ext_l10n.h:219
#: lib/examples/Articles:0
-#, fuzzy
-msgid "11 References"
-msgstr "ÐÑепÑаÑки"
+msgid "01 Dedication"
+msgstr "01 ÐоÑвеÑение"
# src/ext_l10n.h:262 src/frontends/gnome/FormIndex.C:89
# src/frontends/xforms/form_index.C:28
#: lib/examples/Articles:0
-#, fuzzy
msgid "02 Foreword"
-msgstr "ÐлÑÑова дÑма"
-
-# src/frontends/gnome/FormToc.C:108 src/frontends/gnome/FormToc.C:185
-# src/frontends/kde/FormToc.C:177 src/frontends/kde/FormToc.C:178
-# src/frontends/kde/tocdlg.C:30 src/insets/insettoc.C:28
-#: lib/examples/Articles:0
-#, fuzzy
-msgid "05 Contributor List"
-msgstr "СпиÑÑк на ÑаблиÑи"
+msgstr "02 ÐÑедговоÑ"
# src/BufferView2.C:601 src/LyXAction.C:346 src/MenuBackend.C:433
#: lib/examples/Articles:0
-#, fuzzy
-msgid "07 Part"
-msgstr "ЧаÑÑ"
+msgid "03 Preface"
+msgstr "03 ÐоÑиÑа"
# src/ext_l10n.h:202
#: lib/examples/Articles:0
-#, fuzzy
msgid "04 Acknowledgements"
-msgstr "complement"
+msgstr "04 ÐлагодаÑноÑÑи"
+
+# src/frontends/gnome/FormToc.C:108 src/frontends/gnome/FormToc.C:185
+# src/frontends/kde/FormToc.C:177 src/frontends/kde/FormToc.C:178
+# src/frontends/kde/tocdlg.C:30 src/insets/insettoc.C:28
+#: lib/examples/Articles:0
+msgid "05 Contributor List"
+msgstr "05 СпиÑÑк ÑÑÑ ÑÑÑÑÑдниÑи"
#: lib/examples/Articles:0
msgid "06 Acronym"
-msgstr ""
+msgstr "06 СÑкÑаÑениÑ"
# src/BufferView2.C:601 src/LyXAction.C:346 src/MenuBackend.C:433
#: lib/examples/Articles:0
-#, fuzzy
-msgid "03 Preface"
-msgstr "Ðалепи"
+msgid "07 Part"
+msgstr "07 ЧаÑÑ"
# src/ext_l10n.h:175
#: lib/examples/Articles:0
-#, fuzzy
msgid "08 Author"
-msgstr "ÐвÑоÑ"
-
-# src/ext_l10n.h:219
-#: lib/examples/Articles:0
-#, fuzzy
-msgid "01 Dedication"
-msgstr "ÐоÑвеÑение"
+msgstr "08 ÐвÑоÑ"
# src/ext_l10n.h:174
#: lib/examples/Articles:0
-#, fuzzy
msgid "09 Appendix"
-msgstr "пÑиложение"
+msgstr "09 ÐÑиложение"
-# src/lyxfunc.C:1105 src/lyxfunc.C:2550
#: lib/examples/Articles:0
-#, fuzzy
-msgid "00 Main File"
-msgstr "ÐипÑÐ²Ð°Ñ Ð°ÑгÑменÑ"
+msgid "10 Glossary"
+msgstr "10 РеÑник"
+# src/ext_l10n.h:329
#: lib/examples/Articles:0
-msgid "10 Glossary"
-msgstr ""
+msgid "11 References"
+msgstr "11 ÐÑепÑаÑки"
#: lib/examples/Articles:0
-msgid "09 Glossary"
-msgstr ""
+msgid "05 Acronym"
+msgstr "05 СÑкÑаÑениÑ"
# src/BufferView2.C:601 src/LyXAction.C:346 src/MenuBackend.C:433
#: lib/examples/Articles:0
-#, fuzzy
msgid "06 Part"
-msgstr "ЧаÑÑ"
-
-#: lib/examples/Articles:0
-msgid "05 Acronym"
-msgstr ""
+msgstr "06 ЧаÑÑ"
-# src/ext_l10n.h:357
+# src/ext_l10n.h:194
#: lib/examples/Articles:0
-msgid "10 Solutions"
-msgstr "10 РеÑениÑ"
+msgid "07 Chapter"
+msgstr "07 Ðлава"
# src/ext_l10n.h:174
#: lib/examples/Articles:0
-#, fuzzy
msgid "08 Appendix"
-msgstr "пÑиложение"
+msgstr "08 ÐÑиложение"
-# src/ext_l10n.h:194
#: lib/examples/Articles:0
-#, fuzzy
-msgid "07 Chapter"
-msgstr "Ðлава"
+msgid "09 Glossary"
+msgstr "09 РеÑник"
+
+# src/ext_l10n.h:357
+#: lib/examples/Articles:0
+msgid "10 Solutions"
+msgstr "10 РеÑениÑ"
# src/frontends/xforms/FormPreferences.C:244
#: lib/examples/Articles:0
-#, fuzzy
msgid "Colored"
-msgstr "ЦвÑÑ"
+msgstr "ЦвеÑен"
# src/LColor.C:91
#: lib/examples/Articles:0
-#, fuzzy
msgid "Simple"
-msgstr "Ðбикновена авÑобиогÑаÑиÑ"
-
-# src/lyxfunc.C:1105 src/lyxfunc.C:2550
-#: lib/examples/Articles:0
-#, fuzzy
-msgid "Main File"
-msgstr "ÐипÑÐ²Ð°Ñ Ð°ÑгÑменÑ"
+msgstr "Ðбикновен"
# src/ext_l10n.h:194
#: lib/examples/Articles:0
-#, fuzzy
msgid "Chapter 1"
-msgstr "Ðлава"
+msgstr "Ðлава 1"
# src/ext_l10n.h:194
#: lib/examples/Articles:0
-#, fuzzy
msgid "Chapter 2"
-msgstr "Ðлава"
+msgstr "Ðлава 2"
+
+# src/lyxfunc.C:1105 src/lyxfunc.C:2550
+#: lib/examples/Articles:0
+msgid "Main File"
+msgstr "Ðлавен Ñайл"
#: lib/examples/Articles:0
msgid "PhD Thesis"
-msgstr ""
+msgstr "ÐокÑоÑÑка диÑеÑÑаÑиÑ"
# src/ext_l10n.h:390
#: lib/examples/Articles:0
-#, fuzzy
msgid "Theses"
-msgstr "Синонимен ÑеÑник"
+msgstr "ÐиÑеÑÑаÑиÑ"
# src/LColor.C:84
#: lib/tabletemplates/Formal_with_Footline.lyx:0
-#, fuzzy
msgid "Formal with Footline"
-msgstr "Ñед на маÑ. изÑаз"
+msgstr "ÑоÑмален, Ñ Ð³Ð¾Ñен и долен Ñед"
# src/ext_l10n.h:187
#: lib/tabletemplates/Formal_with_Footline.lyx:0
-#, fuzzy
msgid "Formal without Footline"
-msgstr "ÐиогÑаÑÐ¸Ñ Ð±ÐµÐ· Ñнимка"
+msgstr "ÑоÑмален, Ñамо Ñ Ð³Ð¾Ñен Ñед"
#: lib/tabletemplates/Formal_with_Footline.lyx:0
msgid "Grid with Head"
@@ -32358,74 +31775,69 @@ msgstr "ÐÐ ÐШÐÐ!"
# src/mathed/formula.C:926
#: src/BiblioInfo.cpp:1395
-#, fuzzy
msgid "No year"
-msgstr "Ðез номеÑиÑане"
+msgstr "Ðез година"
# src/ext_l10n.h:186
#: src/BiblioInfo.cpp:1405
-#, fuzzy
msgid "Bibliography entry not found!"
-msgstr "ÐÐ°Ð¿Ð¸Ñ Ð¾Ñ Ð»Ð¸Ñ. ÑпиÑÑк не е намеÑен!"
+msgstr "ÐÐ°Ð¿Ð¸Ñ Ð¾Ñ Ð»Ð¸Ñ. ÑпиÑÑк не е оÑкÑиÑ!"
#: src/Buffer.cpp:447
msgid "Disk Error: "
-msgstr ""
+msgstr "ÐиÑкова гÑеÑка: "
# src/support/filetools.C:453
#: src/Buffer.cpp:448
-#, fuzzy, c-format
+#, c-format
msgid ""
"LyX could not create the temporary directory '%1$s' (Disk is full maybe?)"
-msgstr "ÐÑеÑка! Ðе мога да ÑÑздам вÑеменна диÑекÑоÑиÑ: "
+msgstr "LyX не ÑÑÐ¿Ñ Ð´Ð° ÑÑздаде вÑеменна диÑекÑоÑÐ¸Ñ â%1$sâ. Ðоже да нÑма Ñвободно пÑоÑÑÑанÑÑво."
#: src/Buffer.cpp:577
msgid "LyX attempted to close a document that had unsaved changes!\n"
-msgstr ""
+msgstr "LyX опиÑа да заÑвоÑи докÑменÑ, коиÑо има незапазени пÑомени!\n"
# src/bufferlist.C:332
-#: src/Buffer.cpp:581 src/Buffer.cpp:1665
-#, fuzzy
+#: src/Buffer.cpp:581 src/Buffer.cpp:1666
msgid "Save failed! Document is lost."
-msgstr " ÐапиÑÑÑ Ð¿Ñопадна! ÐокÑменÑÑÑ Ðµ загÑбен."
+msgstr "ÐапиÑÑÑ Ð¿Ñопадна! ÐокÑменÑÑÑ Ðµ загÑбен."
# src/bufferlist.C:289
#: src/Buffer.cpp:583
-#, fuzzy
msgid "Attempting to close changed document!"
-msgstr "LyX: ÐÐ¿Ð¸Ñ Ð·Ð° запазване на докÑмнеÑа %s каÑо..."
+msgstr "ÐÐ¿Ð¸Ñ Ð·Ð° заÑваÑÑне на пÑоменен докÑменÑ!"
# src/support/filetools.C:453
#: src/Buffer.cpp:592
-#, fuzzy, c-format
+#, c-format
msgid "Could not remove the temporary directory %1$s"
-msgstr "ÐÑеÑка! Ðе мога да ÑÑздам вÑеменна диÑекÑоÑиÑ: "
+msgstr "ÐеÑÑпеÑ
пÑи пÑемаÑ
ване на вÑеменна диÑекÑоÑÐ¸Ñ %1$s"
# src/lyxfunc.C:328 src/lyxfunc.C:2996
-#: src/Buffer.cpp:998 src/Text.cpp:572
-#, fuzzy, c-format
+#: src/Buffer.cpp:999 src/Text.cpp:572
+#, c-format
msgid "Unknown token: %1$s %2$s\n"
-msgstr "ÐепознаÑо дейÑÑвие"
+msgstr "ÐепознаÑо изÑаз: %1$s %2$s\n"
# src/frontends/xforms/FormError.C:26
-#: src/Buffer.cpp:1002 src/Buffer.cpp:1008 src/Buffer.cpp:1032
-#, fuzzy
+#: src/Buffer.cpp:1003 src/Buffer.cpp:1009 src/Buffer.cpp:1033
msgid "Document header error"
-msgstr "LaTeX ÐÑеÑка"
+msgstr "ÐÑеÑка в заглавнаÑа ÑаÑÑ Ð½Ð° докÑменÑ"
-#: src/Buffer.cpp:1007
+#: src/Buffer.cpp:1008
msgid "\\begin_header is missing"
-msgstr ""
+msgstr "липÑва â\\begin_headerâ"
-#: src/Buffer.cpp:1031
+#: src/Buffer.cpp:1032
msgid "\\begin_document is missing"
-msgstr ""
+msgstr "липÑва â\\begin_documentâ"
-#: src/Buffer.cpp:1042 src/Buffer.cpp:3015
+#: src/Buffer.cpp:1043 src/Buffer.cpp:3026
msgid "Changes not shown in LaTeX output"
-msgstr ""
+msgstr "ÐÑомениÑе не Ñе Ð¿Ð¾ÐºÐ°Ð·Ð²Ð°Ñ Ð² кÑÐ°Ð¹Ð½Ð¸Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ Ð½Ð° LaTeX"
-#: src/Buffer.cpp:1043 src/Buffer.cpp:3016
+#: src/Buffer.cpp:1044 src/Buffer.cpp:3027
msgid ""
"Changes will not be highlighted in LaTeX output, because xcolor and ulem are "
"not installed.\n"
@@ -32434,51 +31846,48 @@ msgid ""
msgstr ""
# src/frontends/xforms/FormIndex.C:29 src/insets/insetindex.C:36
-#: src/Buffer.cpp:1085 src/BufferParams.cpp:474 src/frontends/qt/GuiLog.cpp:246
-#: src/insets/InsetIndex.cpp:651
+#: src/Buffer.cpp:1086 src/BufferParams.cpp:475 src/frontends/qt/GuiLog.cpp:293
+#: src/insets/InsetIndex.cpp:676
msgid "Index"
msgstr "СпиÑÑк Ñ ÑказаÑели"
# src/lyxfr1.C:192 src/lyxfr1.C:239
-#: src/Buffer.cpp:1191
-#, fuzzy
+#: src/Buffer.cpp:1192
msgid "File Not Found"
-msgstr "ÐизÑÑ Ð½Ðµ е намеÑен!"
+msgstr "ФайлÑÑ Ð½Ðµ е намеÑен!"
# src/buffer.C:3331
-#: src/Buffer.cpp:1192
-#, fuzzy, c-format
+#: src/Buffer.cpp:1193
+#, c-format
msgid "Unable to open file `%1$s'."
-msgstr "ÐедÑзможна е ÑабоÑаÑа Ñ Ñайл: "
+msgstr "Ðеwimen пÑи оÑваÑÑне на Ñайл â%1$sâ."
# src/frontends/xforms/FormDocument.C:273 src/insets/figinset.C:1975
# src/insets/insetexternal.C:143 src/lyxfunc.C:3105 src/lyxfunc.C:3181
# src/lyxfunc.C:3313
-#: src/Buffer.cpp:1220 src/Buffer.cpp:1294
-#, fuzzy
+#: src/Buffer.cpp:1221 src/Buffer.cpp:1295
msgid "Document format failure"
-msgstr "ÐокÑменÑ"
+msgstr "ÐÑеÑка вÑв ÑоÑмаÑа на докÑменÑ"
-#: src/Buffer.cpp:1221
+#: src/Buffer.cpp:1222
#, c-format
msgid "%1$s ended unexpectedly, which means that it is probably corrupted."
-msgstr ""
+msgstr "%1$s пÑекÑÑна неоÑаквано, коеÑо ознаÑава, Ñе веÑоÑÑно е повÑеден."
# src/lyxfunc.C:3185
-#: src/Buffer.cpp:1295
-#, fuzzy, c-format
+#: src/Buffer.cpp:1296
+#, c-format
msgid "%1$s is not a readable LyX document."
-msgstr "ÐеÑÑпеÑ
пÑи оÑваÑÑнеÑо"
+msgstr "%1$s не е ÑеÑим LyX докÑменÑ."
# src/frontends/xforms/FormDocument.C:439
# src/frontends/xforms/FormDocument.C:446
# src/frontends/xforms/FormDocument.C:1108
-#: src/Buffer.cpp:1322
-#, fuzzy
+#: src/Buffer.cpp:1323
msgid "Conversion failed"
-msgstr "ÐÑеÑки пÑи конвеÑÑиÑане!"
+msgstr "ÐÑеÑка пÑи конвеÑÑиÑане!"
-#: src/Buffer.cpp:1323
+#: src/Buffer.cpp:1324
#, c-format
msgid ""
"%1$s is from a different version of LyX, but a temporary file for converting "
@@ -32486,93 +31895,93 @@ msgid ""
msgstr ""
# src/LaTeXLog.C:59 src/LaTeXLog.C:62
-#: src/Buffer.cpp:1333
-#, fuzzy
+#: src/Buffer.cpp:1334
msgid "Conversion script not found"
-msgstr "Ðе е намеÑен LaTeX Ñайл-пÑоÑокол"
+msgstr "Ðе е оÑкÑиÑа команда за конвеÑÑиÑане"
-#: src/Buffer.cpp:1334
+#: src/Buffer.cpp:1335
#, c-format
msgid ""
"%1$s is from a different version of LyX, but the conversion script lyx2lyx "
"could not be found."
msgstr ""
+"%1$s e Ñ ÑазлиÑна веÑÑÐ¸Ñ Ð½Ð° LyX, но командаÑа за конвеÑÑиÑане lyx2lyx не е "
+"оÑкÑиÑа"
# src/frontends/xforms/FormDocument.C:439
# src/frontends/xforms/FormDocument.C:446
# src/frontends/xforms/FormDocument.C:1108
-#: src/Buffer.cpp:1357 src/Buffer.cpp:1364
-#, fuzzy
+#: src/Buffer.cpp:1358 src/Buffer.cpp:1365
msgid "Conversion script failed"
-msgstr "ÐÑеÑки пÑи конвеÑÑиÑане!"
+msgstr "ÐÑеÑка пÑи конвеÑÑиÑане!"
-#: src/Buffer.cpp:1358
+#: src/Buffer.cpp:1359
#, 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/Buffer.cpp:1365
+#: src/Buffer.cpp:1366
#, 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/lyxfunc.C:342
-#: src/Buffer.cpp:1444 src/Buffer.cpp:4706 src/Buffer.cpp:4799
-#, fuzzy
+#: src/Buffer.cpp:1445 src/Buffer.cpp:4717 src/Buffer.cpp:4826
msgid "File is read-only"
-msgstr "ÐокÑменÑÑÑ Ðµ Ñамо за ÑеÑене"
+msgstr "Файла е Ñамо за ÑеÑене"
-#: src/Buffer.cpp:1445
+#: src/Buffer.cpp:1446
#, c-format
msgid "The file %1$s cannot be written because it is marked as read-only."
-msgstr ""
+msgstr "Файла %1$s не може да Ñе запиÑе, заÑоÑо е Ñамо за ÑеÑене."
# src/buffer.C:534
-#: src/Buffer.cpp:1454
-#, fuzzy, c-format
+#: src/Buffer.cpp:1455
+#, c-format
msgid ""
"Document %1$s has been externally modified. Are you sure you want to "
"overwrite this file?"
-msgstr "ÐокÑменÑÑÑ Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð° Ð½ÐµÐ¿Ð¾Ð·Ð½Ð°Ñ ÑекÑÑÐºÐ»Ð°Ñ \""
+msgstr "ÐокÑменÑÑÑ â%1$sâ е пÑоменен Ð¾Ñ Ð²ÑнÑна пÑогÑама. СигÑÑни ли ÑÑе, "
+"Ñе иÑкаÑе да пÑазпиÑеÑе Ñози Ñайл?"
# src/frontends/xforms/form_preferences.C:111 src/lyxfont.C:42
-#: src/Buffer.cpp:1456
-#, fuzzy
+#: src/Buffer.cpp:1457
msgid "Overwrite modified file?"
-msgstr "ÐаÑинопиÑ"
+msgstr "ÐÑезапиÑване на пÑоменен Ñайл?"
# src/frontends/xforms/form_preferences.C:111 src/lyxfont.C:42
-#: src/Buffer.cpp:1457 src/Exporter.cpp:50
-#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2683
-#: src/frontends/qt/GuiView.cpp:2952 src/frontends/qt/GuiView.cpp:3055
-#, fuzzy
+#: src/Buffer.cpp:1458 src/Exporter.cpp:50
+#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2875
+#: src/frontends/qt/GuiView.cpp:3144 src/frontends/qt/GuiView.cpp:3247
msgid "&Overwrite"
-msgstr "ÐаÑинопиÑ"
+msgstr "ÐÑезапиÑване"
# src/frontends/xforms/FormPreferences.C:2252
-#: src/Buffer.cpp:1522
-#, fuzzy
+#: src/Buffer.cpp:1523
msgid "Backup failure"
-msgstr "ÐÑÑ Ð·Ð° аÑÑ
ивни копиÑ"
+msgstr "ÐÑеÑка пÑи аÑÑ
ивиÑане"
-#: src/Buffer.cpp:1523
+#: src/Buffer.cpp:1524
#, 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/xforms/FormPreferences.C:2252
-#: src/Buffer.cpp:1558 src/Buffer.cpp:1569
-#, fuzzy
+#: src/Buffer.cpp:1559 src/Buffer.cpp:1570
msgid "Write failure"
-msgstr "ÐÑÑ Ð·Ð° аÑÑ
ивни копиÑ"
+msgstr "ÐÑеÑка пÑи запиÑ"
-#: src/Buffer.cpp:1559
+#: src/Buffer.cpp:1560
#, c-format
msgid ""
"The file has successfully been saved as:\n"
@@ -32582,8 +31991,15 @@ msgid ""
"Your original file has been backed up to:\n"
" %3$s"
msgstr ""
+"ФайлÑÑ ÑÑпеÑно беÑе запазен каÑо\n"
+"â%1$sâ,\n"
+"но LyX не може да го пÑемеÑÑи в"
+"â%2$sâ.\n"
+"ÐаÑÐ¸Ñ Ð¿ÑÑвонаÑален Ñайл беÑе аÑÑ
ивиÑан в"
+"â%3$sâ."
+
-#: src/Buffer.cpp:1570
+#: src/Buffer.cpp:1571
#, c-format
msgid ""
"Cannot move saved file to:\n"
@@ -32591,109 +32007,115 @@ msgid ""
"But the file has successfully been saved as:\n"
" %2$s."
msgstr ""
+"ÐапиÑÐ°Ð½Ð¸Ñ Ñайл не може да Ñе пÑемеÑÑи в\n"
+"â%1$sâ,\n"
+"но ÑÑпеÑно беÑе запазен каÑо"
+"â%2$sâ."
# src/lyxfunc.C:795
-#: src/Buffer.cpp:1586
-#, fuzzy, c-format
+#: src/Buffer.cpp:1587
+#, c-format
msgid "Saving document %1$s..."
-msgstr "ÐапиÑвам докÑменÑа"
+msgstr "Ðапазване на докÑÐ¼ÐµÐ½Ñ %1$s..."
# src/buffer.C:3331
-#: src/Buffer.cpp:1601
-#, fuzzy
+#: src/Buffer.cpp:1602
msgid " could not write file!"
-msgstr "ÐедÑзможна е ÑабоÑаÑа Ñ Ñайл: "
+msgstr " неÑÑпеÑ
пÑи Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° Ñайл!"
# src/LyXAction.C:183
-#: src/Buffer.cpp:1609
-#, fuzzy
+#: src/Buffer.cpp:1610
msgid " done."
-msgstr "ÐадолÑ"
+msgstr "гоÑово."
# src/bufferlist.C:289
-#: src/Buffer.cpp:1624
-#, fuzzy, c-format
+#: src/Buffer.cpp:1625
+#, c-format
msgid "LyX: Attempting to save document %1$s\n"
-msgstr "LyX: ÐÐ¿Ð¸Ñ Ð·Ð° запазване на докÑмнеÑа %s каÑо..."
+msgstr "LyX: ÐÐ¿Ð¸Ñ Ð·Ð° запазване на докÑÐ¼Ð½ÐµÑ %1$s\n"
# src/bufferlist.C:302 src/bufferlist.C:315 src/bufferlist.C:329
-#: src/Buffer.cpp:1634 src/Buffer.cpp:1647 src/Buffer.cpp:1661
-#, fuzzy, c-format
+#: src/Buffer.cpp:1635 src/Buffer.cpp:1648 src/Buffer.cpp:1662
+#, c-format
msgid "Saved to %1$s. Phew.\n"
-msgstr " ÐапиÑÑÑ Ð¸Ð·Ð³Ð»ÐµÐ¶Ð´Ð° е ÑÑпеÑен. ÐакÑв кÑÑмеÑ!"
+msgstr "ÐÐ°Ð¿Ð¸Ñ Ð² %1$s. ÐакÑв кÑÑмеÑ!\n"
# src/bufferlist.C:305 src/bufferlist.C:319
-#: src/Buffer.cpp:1637
-#, fuzzy
+#: src/Buffer.cpp:1638
msgid "Save failed! Trying again...\n"
-msgstr " ÐапиÑÑÑ Ð¿Ñопадна! ÐпиÑвам..."
+msgstr "ÐапиÑÑÑ Ð¿Ñопадна! Ðов опиÑ...\n"
# src/bufferlist.C:305 src/bufferlist.C:319
-#: src/Buffer.cpp:1651
-#, fuzzy
+#: src/Buffer.cpp:1652
msgid "Save failed! Trying yet again...\n"
-msgstr " ÐапиÑÑÑ Ð¿Ñопадна! ÐпиÑвам..."
+msgstr "ÐапиÑÑÑ Ð¿Ñопадна! ÐÑе един опиÑ...\n"
-#: src/Buffer.cpp:1747
+#: src/Buffer.cpp:1748
msgid "Iconv software exception Detected"
-msgstr ""
+msgstr "ÐÑиÑ
ванаÑо изклÑÑение Ð¾Ñ Ð¿ÑогÑамаÑа âIconvâ"
-#: src/Buffer.cpp:1748
+#: src/Buffer.cpp:1749
#, c-format
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."
msgstr ""
+"ÐолÑ, ÑвеÑеÑе Ñе, Ñе ÑÑпÑÑÑÑваÑаÑа пÑогÑамаÑа âiconvâ е пÑавилна инÑÑалиÑана "
+"и поддÑÑжа избÑаноÑо кодиÑане %1$s, или пÑоменеÑе кодиÑанеÑо в менÑÑо "
+"ÐокÑмÑнÑ->ÐаÑÑÑойки->Ðзик."
# src/ext_l10n.h:78
-#: src/Buffer.cpp:1780
-#, fuzzy, c-format
+#: src/Buffer.cpp:1781
+#, c-format
msgid "Uncodable character '%1$s' (code point %2$s)"
-msgstr "СпеÑиален Ñимвол(S)|S"
+msgstr "Символ, коиÑо не може да Ñе кодиÑа â%1$sâ (на позиÑÐ¸Ñ %2$s)."
-#: src/Buffer.cpp:1783
+#: src/Buffer.cpp:1784
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/Buffer.cpp:1788
+#: src/Buffer.cpp:1789
#, c-format
msgid "Could not find LaTeX command for character '%1$s' (code point %2$s)"
msgstr ""
+"Ðе може да Ñе оÑкÑÐ¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° на LaTeX за Ñимвола â%1$sâ (позиÑÐ¸Ñ %2$s)."
-#: src/Buffer.cpp:1791
+#: src/Buffer.cpp:1792
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/xforms/FormDocument.C:439
# src/frontends/xforms/FormDocument.C:446
# src/frontends/xforms/FormDocument.C:1108
-#: src/Buffer.cpp:1799
-#, fuzzy
+#: src/Buffer.cpp:1800
msgid "iconv conversion failed"
-msgstr "ÐÑеÑки пÑи конвеÑÑиÑане!"
+msgstr "ФаÑална гÑеÑка пÑи конвеÑÑиÑане Ñ âiconvâ!"
# src/frontends/xforms/FormDocument.C:439
# src/frontends/xforms/FormDocument.C:446
# src/frontends/xforms/FormDocument.C:1108
-#: src/Buffer.cpp:1804
-#, fuzzy
+#: src/Buffer.cpp:1805
msgid "conversion failed"
-msgstr "ÐÑеÑки пÑи конвеÑÑиÑане!"
+msgstr "ФаÑална гÑеÑка пÑи конвеÑÑиÑане!"
# src/ext_l10n.h:78
-#: src/Buffer.cpp:1916 src/insets/InsetGraphics.cpp:905
-#, fuzzy
+#: src/Buffer.cpp:1917 src/insets/InsetGraphics.cpp:905
msgid "Uncodable character in file path"
-msgstr "СпеÑиален Ñимвол(S)|S"
+msgstr "Символ, коиÑо не може да Ñе кодиÑа в пÑÑÑ Ð½Ð° Ñайла."
-#: src/Buffer.cpp:1918
+#: src/Buffer.cpp:1919
#, c-format
msgid ""
"The path of your document\n"
@@ -32706,188 +32128,197 @@ msgid ""
"In case of problems, choose an appropriate document encoding\n"
"(such as utf8) or change the file path name."
msgstr ""
+"ÐÑÑÑÑ Ð´Ð¾ ваÑÐ¸Ñ Ð´Ð¾ÐºÑÐ¼Ð½Ñ â%1$sâ\n"
+"ÑÑдÑÑжа ÑимволиÑе â%2$sâ, коиÑо Ñа непознаÑи в ÑекÑÑоÑо кодиÑане на докÑменÑа. "
+"Това може да пÑиÑини непÑлен кÑаен докÑменÑ, оÑвен ако TEXINPUTS не ÑÑдÑÑжа "
+"диÑекÑоÑиÑÑа на докÑменÑа и вие не използваÑе оÑноÑиÑелни пÑÑиÑа Ñ.е. "
+"пÑÑиÑа запоÑваÑи Ñ â./â или â../â в заглавнаÑа ÑаÑÑ Ð¸Ð»Ð¸ в изÑ
оден код на LaTeX.\n"
+"Ð ÑлÑÑай на пÑобелми, избеÑеÑе подÑ
одÑÑа кодова ÑаблиÑа на докÑменÑа каÑо "
+"âutf8â или пÑоменеÑе имеÑо на пÑÑÑ Ð´Ð¾ докÑменÑа."
+
-#: src/Buffer.cpp:2009
+#: src/Buffer.cpp:2010
#, c-format
msgid "The languages %1$s are only supported by Babel."
-msgstr ""
+msgstr "ÐзиÑиÑе %1$s Ñе поддÑÑÐ¶Ð°Ñ Ñамо Ð¾Ñ Ðабел (babel)."
-#: src/Buffer.cpp:2010
+#: src/Buffer.cpp:2011
#, c-format
msgid "The language %1$s is only supported by Babel."
-msgstr ""
+msgstr "ÐзикÑÑ %1$s Ñе поддÑÑжа Ñамо Ð¾Ñ Ðабел (babel)."
-#: src/Buffer.cpp:2020
+#: src/Buffer.cpp:2021
#, c-format
msgid "The languages %1$s are only supported by Polyglossia."
-msgstr ""
+msgstr "ÐзиÑиÑе %1$s Ñе поддÑÑÐ¶Ð°Ñ Ñамо Ð¾Ñ ÐолиглоÑÐ¸Ñ (polyglossia)."
-#: src/Buffer.cpp:2021
+#: src/Buffer.cpp:2022
#, c-format
msgid "The language %1$s is only supported by Polyglossia."
-msgstr ""
+msgstr "ÐзикÑÑ %1$s Ñе поддÑÑжа Ñамо Ð¾Ñ ÐолиглоÑÐ¸Ñ (polyglossia)."
# src/LyXAction.C:167
-#: src/Buffer.cpp:2027
-#, fuzzy
+#: src/Buffer.cpp:2028
msgid "Incompatible Languages!"
-msgstr "ÐзпÑлни команда"
+msgstr "ÐеÑÑвмеÑÑими езиÑи!"
-#: src/Buffer.cpp:2029
+#: src/Buffer.cpp:2030
#, 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/buffer.C:3317
-#: src/Buffer.cpp:2323
+#: src/Buffer.cpp:2334
msgid "Running chktex..."
-msgstr "СÑаÑÑиÑам chktex..."
+msgstr "СÑаÑÑиÑане на chktex..."
-#: src/Buffer.cpp:2342
+#: src/Buffer.cpp:2353
msgid "chktex failure"
-msgstr ""
+msgstr "ÐÑеÑка в chktex"
# src/lyx_cb.C:296
-#: src/Buffer.cpp:2343
-#, fuzzy
+#: src/Buffer.cpp:2354
msgid "Could not run chktex successfully."
-msgstr "Chktex пÑемина ÑÑпеÑно"
+msgstr "ÐÑеÑка пÑи ÑÑаÑÑиÑане на chktex."
# src/importer.C:58
-#: src/Buffer.cpp:2718
-#, fuzzy, c-format
+#: src/Buffer.cpp:2729
+#, c-format
msgid "Don't know how to export to format: %1$s"
-msgstr "ÐÑма инÑоÑмаÑÐ¸Ñ Ð·Ð° импоÑÑиÑане Ð¾Ñ "
+msgstr "Ðе е извеÑно как Ñе пÑеобÑазÑва до ÑоÑмаÑ: %1$s"
# src/importer.C:58
-#: src/Buffer.cpp:2822
+#: src/Buffer.cpp:2833
#, fuzzy, c-format
msgid "Error exporting to format: %1$s."
msgstr "ÐÑма инÑоÑмаÑÐ¸Ñ Ð·Ð° импоÑÑиÑане Ð¾Ñ "
# src/LaTeXLog.C:59 src/LaTeXLog.C:62
-#: src/Buffer.cpp:2831
+#: src/Buffer.cpp:2842
#, fuzzy
msgid "Error generating literate programming code."
msgstr "Ðе е намеÑен LaTeX Ñайл-пÑоÑокол"
-#: src/Buffer.cpp:2907
+#: src/Buffer.cpp:2918
#, c-format
msgid "Branch \"%1$s\" does not exist."
-msgstr ""
+msgstr "Разклонение â%1$sâ не ÑÑÑеÑÑвÑва."
-#: src/Buffer.cpp:2940
+#: src/Buffer.cpp:2951
#, c-format
msgid "Branch \"%1$s\" already exists."
msgstr ""
# src/ext_l10n.h:61
-#: src/Buffer.cpp:2997
+#: src/Buffer.cpp:3008
#, fuzzy
msgid "Error viewing the output file."
msgstr "Ðногоколонно(M)|M"
# src/ext_l10n.h:92
-#: src/Buffer.cpp:3359 src/frontends/qt/GuiView.cpp:2514
-#: src/frontends/qt/Validator.cpp:237 src/insets/ExternalSupport.cpp:394
+#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2706
+#: src/frontends/qt/Validator.cpp:241 src/insets/ExternalSupport.cpp:394
#: src/insets/InsetGraphics.cpp:692 src/insets/InsetInclude.cpp:606
#, fuzzy
msgid "Invalid filename"
msgstr "ÐклÑÑи Ñайл(e)|e"
-#: src/Buffer.cpp:3360 src/insets/ExternalSupport.cpp:395
+#: src/Buffer.cpp:3371 src/insets/ExternalSupport.cpp:395
#: src/insets/InsetGraphics.cpp:693 src/insets/InsetInclude.cpp:607
msgid ""
"The following filename will cause troubles when running the exported file "
"through LaTeX: "
msgstr ""
-#: src/Buffer.cpp:3365 src/insets/ExternalSupport.cpp:400
+#: src/Buffer.cpp:3376 src/insets/ExternalSupport.cpp:400
#: src/insets/InsetGraphics.cpp:700 src/insets/InsetInclude.cpp:611
msgid "Problematic filename for DVI"
msgstr ""
-#: src/Buffer.cpp:3366 src/insets/ExternalSupport.cpp:401
+#: src/Buffer.cpp:3377 src/insets/ExternalSupport.cpp:401
#: src/insets/InsetGraphics.cpp:701 src/insets/InsetInclude.cpp:612
msgid ""
"The following filename can cause troubles when running the exported file "
"through LaTeX and opening the resulting DVI: "
msgstr ""
-#: src/Buffer.cpp:3405 src/insets/InsetBibtex.cpp:349
+#: src/Buffer.cpp:3416 src/insets/InsetBibtex.cpp:349
msgid "Export Warning!"
msgstr ""
-#: src/Buffer.cpp:3406
+#: src/Buffer.cpp:3417
msgid ""
"There are spaces in the paths to your BibTeX databases.\n"
"BibTeX will be unable to find them."
msgstr ""
# src/frontends/xforms/form_preferences.C:896
-#: src/Buffer.cpp:4080
+#: src/Buffer.cpp:4088
#, fuzzy, c-format
msgid "Preview source code for paragraph %1$d"
msgstr "обÑÑнаÑо"
-#: src/Buffer.cpp:4085
+#: src/Buffer.cpp:4093
#, c-format
msgid "Preview source code from paragraph %1$s to %2$s"
msgstr ""
# src/frontends/xforms/form_preferences.C:896
-#: src/Buffer.cpp:4140
+#: src/Buffer.cpp:4148
#, fuzzy
msgid "Preview source code"
msgstr "обÑÑнаÑо"
# src/frontends/xforms/form_preferences.C:896
-#: src/Buffer.cpp:4142
+#: src/Buffer.cpp:4150
#, fuzzy
msgid "Preview preamble"
msgstr "обÑÑнаÑо"
# src/frontends/xforms/form_preferences.C:896
-#: src/Buffer.cpp:4144
+#: src/Buffer.cpp:4152
#, fuzzy
msgid "Preview body"
msgstr "обÑÑнаÑо"
-#: src/Buffer.cpp:4160
+#: src/Buffer.cpp:4168
msgid "Plain text does not have a preamble."
msgstr ""
# src/lyx_cb.C:371
-#: src/Buffer.cpp:4297
+#: src/Buffer.cpp:4305
msgid "Autosaving current document..."
msgstr "ÐвÑÐ¾Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° ÑекÑÑÐ¸Ñ Ð´Ð¾ÐºÑменÑ..."
# src/importer.C:58
-#: src/Buffer.cpp:4419
+#: src/Buffer.cpp:4430
#, fuzzy, c-format
msgid "No information for exporting the format %1$s."
msgstr "ÐÑма инÑоÑмаÑÐ¸Ñ Ð·Ð° импоÑÑиÑане Ð¾Ñ "
-#: src/Buffer.cpp:4423
+#: src/Buffer.cpp:4434
#, c-format
msgid "Hint: use non-TeX fonts or set input encoding to '%1$s'"
msgstr ""
# src/exporter.C:47
-#: src/Buffer.cpp:4425
+#: src/Buffer.cpp:4436
#, fuzzy
msgid "Couldn't export file"
msgstr "ÐевÑзможно е да бÑде екÑпоÑÑиÑан Ñайла"
# src/form1.C:245
-#: src/Buffer.cpp:4493 src/frontends/qt/GuiView.cpp:2656
+#: src/Buffer.cpp:4504 src/frontends/qt/GuiView.cpp:2848
msgid "File name error"
msgstr "ÐÑеÑка в имеÑо на Ñайла"
-#: src/Buffer.cpp:4494
+#: src/Buffer.cpp:4505
#, c-format
msgid ""
"The directory path to the document\n"
@@ -32897,25 +32328,25 @@ msgid ""
msgstr ""
# src/exporter.C:89
-#: src/Buffer.cpp:4583 src/Buffer.cpp:4613 src/frontends/qt/GuiView.cpp:752
+#: src/Buffer.cpp:4594 src/Buffer.cpp:4624 src/frontends/qt/GuiView.cpp:872
#, fuzzy
msgid "Document export cancelled."
msgstr "ÐокÑменÑÑÑ Ñе бÑде екÑпоÑÑиÑан вÑв ÑоÑÐ¼Ð°Ñ "
# src/exporter.C:89
-#: src/Buffer.cpp:4616
-#, fuzzy, c-format
+#: src/Buffer.cpp:4627
+#, c-format
msgid "Document exported as %1$s to file `%2$s'"
-msgstr "ÐокÑменÑÑÑ Ñе бÑде екÑпоÑÑиÑан вÑв ÑоÑÐ¼Ð°Ñ "
+msgstr "ÐокÑменÑÑÑ Ðµ екÑпоÑÑиÑан каÑо â%1$sâ вÑв Ñайл â%2$sâ."
# src/exporter.C:89
-#: src/Buffer.cpp:4623
-#, fuzzy, c-format
+#: src/Buffer.cpp:4634
+#, c-format
msgid "Document exported as %1$s"
-msgstr "ÐокÑменÑÑÑ Ñе бÑде екÑпоÑÑиÑан вÑв ÑоÑÐ¼Ð°Ñ "
+msgstr "ÐокÑменÑÑÑ e екÑпоÑÑиÑан каÑо â%1$sâ."
# src/bufferlist.C:356
-#: src/Buffer.cpp:4692
+#: src/Buffer.cpp:4703
#, c-format
msgid ""
"An emergency save of the document %1$s exists.\n"
@@ -32927,36 +32358,42 @@ msgstr ""
"ÐелаеÑе ли да вÑзÑÑановиÑе докÑменÑа Ð¾Ñ Ð°Ð²Ð°ÑийноÑо копие?"
# заглавие на диалог
-#: src/Buffer.cpp:4695
+#: src/Buffer.cpp:4706
msgid "Load emergency save?"
msgstr "ÐÑзÑÑановÑване на докÑменÑ"
# src/frontends/kde/dlg/paradlgdata.C:82
-#: src/Buffer.cpp:4696
+#: src/Buffer.cpp:4707
msgid "&Recover"
msgstr "ÐаÑеждане на &аваÑийноÑо копие"
-#: src/Buffer.cpp:4696
+#: src/Buffer.cpp:4707
msgid "&Load Original"
msgstr "ÐаÑеждане на &пÑÑвонаÑÐ°Ð»Ð½Ð¸Ñ Ñайл"
+# src/ext_l10n.h:329
#: src/Buffer.cpp:4707
+#, fuzzy
+msgid "&Only show difference"
+msgstr "ÐÑепÑаÑки"
+
+#: src/Buffer.cpp:4718
#, 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 ""
-#: src/Buffer.cpp:4714
+#: src/Buffer.cpp:4725
msgid "Document was successfully recovered."
msgstr "ÐокÑменÑа беÑе ÑÑпеÑно вÑзÑÑановен."
-#: src/Buffer.cpp:4716
+#: src/Buffer.cpp:4727
msgid "Document was NOT successfully recovered."
msgstr "ÐокÑменÑа ÐРбеÑе ÑÑпеÑно вÑзÑÑановен."
# src/LyXAction.C:185
-#: src/Buffer.cpp:4717
+#: src/Buffer.cpp:4728
#, c-format
msgid ""
"Remove emergency file now?\n"
@@ -32967,36 +32404,36 @@ msgstr ""
# заглавие на диалог
# src/LyXAction.C:185
-#: src/Buffer.cpp:4721 src/Buffer.cpp:4733
+#: src/Buffer.cpp:4732 src/Buffer.cpp:4744
msgid "Delete emergency file?"
msgstr "ÐзÑÑиване на аваÑиен Ñайл"
# src/ext_l10n.h:191
-#: src/Buffer.cpp:4722 src/Buffer.cpp:4735
+#: src/Buffer.cpp:4733 src/Buffer.cpp:4746
msgid "&Keep"
msgstr "&Ðапазване"
# заглавие на диалог
-#: src/Buffer.cpp:4726
+#: src/Buffer.cpp:4737
msgid "Emergency file deleted"
msgstr "ÐÑкÑиване на налиÑен аваÑиен Ñайл"
-#: src/Buffer.cpp:4727
+#: src/Buffer.cpp:4738
msgid "Do not forget to save your file now!"
msgstr "Ðе забÑавÑйÑе да запазиÑе ваÑÐ¸Ñ Ñайл!"
-#: src/Buffer.cpp:4734
+#: src/Buffer.cpp:4745
msgid "Remove emergency file now?"
msgstr "Ðа Ñе пÑемаÑ
не ли аваÑÐ¸Ð¹Ð½Ð¸Ñ Ñайл?"
# заглавие на диалог
# src/LyXAction.C:185
-#: src/Buffer.cpp:4757
+#: src/Buffer.cpp:4768
#, fuzzy
msgid "Can't rename emergency file!"
msgstr "ÐзÑÑиване на аваÑиен Ñайл"
-#: src/Buffer.cpp:4758
+#: src/Buffer.cpp:4769
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 "
@@ -33004,131 +32441,146 @@ msgid ""
msgstr ""
# заглавие на диалог
-#: src/Buffer.cpp:4763
+#: src/Buffer.cpp:4774
#, fuzzy
msgid "Emergency File Renames"
msgstr "ÐÑкÑиване на налиÑен аваÑиен Ñайл"
# заглавие на диалог
-#: src/Buffer.cpp:4764
+#: src/Buffer.cpp:4775
#, fuzzy, c-format
msgid ""
"Emergency file renamed as:\n"
" %1$s"
msgstr "ÐÑкÑиване на налиÑен аваÑиен Ñайл"
-#: src/Buffer.cpp:4787
+#: src/Buffer.cpp:4814
#, c-format
msgid ""
"The backup of the document %1$s is newer.\n"
"\n"
"Load the backup instead?"
msgstr ""
-"РезеÑвноÑо копие на докÑменÑа %1$s е по-ново Ð¾Ñ Ð¿ÑÑвонаÑÐ°Ð»Ð½Ð¸Ñ Ñайл\n"
+"РезеÑвноÑо копие на докÑменÑа â%1$sâ е по-ново Ð¾Ñ ÑабоÑÐ½Ð¸Ñ Ñайл.\n"
"\n"
"ÐелаеÑе ли да Ñе заÑеди ÑезеÑвноÑо копие?"
# src/frontends/gnome/FormRef.C:49 src/frontends/xforms/FormRef.C:214
-#: src/Buffer.cpp:4789
-#, fuzzy
+#: src/Buffer.cpp:4816
msgid "Load backup?"
-msgstr "ÐбÑаÑно"
+msgstr "Ðа Ñе заÑеди ли ÑезеÑвноÑо копие?"
# src/frontends/kde/FormRef.C:103
-#: src/Buffer.cpp:4790
+#: src/Buffer.cpp:4817
msgid "&Load backup"
-msgstr "ÐаÑеждане на &ÑезеÑвноÑо копие"
+msgstr "ÐаÑеждане на ÑезеÑвноÑо &копие"
-#: src/Buffer.cpp:4790
+#: src/Buffer.cpp:4817
msgid "Load &original"
-msgstr "ÐаÑеждане на &пÑÑвонаÑÐ°Ð»Ð½Ð¸Ñ Ñайл"
+msgstr "ÐаÑеждане на &ÑабоÑÐ½Ð¸Ñ Ñайл"
-#: src/Buffer.cpp:4800
+#: src/Buffer.cpp:4827
#, 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 e "
+"оÑбелÑзан Ñамо за ÑеÑене. УвеÑеÑе Ñе, Ñе запазваÑе докÑменÑа под дÑÑÑо име. "
# src/ext_l10n.h:163
-#: src/Buffer.cpp:5195 src/insets/InsetCaption.cpp:408
-#, fuzzy
+#: src/Buffer.cpp:5206 src/insets/InsetCaption.cpp:404
msgid "Senseless!!! "
-msgstr "ÐдÑеÑи"
+msgstr "ÐбÑÑкване!!!"
# src/MenuBackend.C:263
-#: src/Buffer.cpp:5450
-#, fuzzy, c-format
+#: src/Buffer.cpp:5470
+#, c-format
msgid "Document %1$s reloaded."
-msgstr "ÐÑма оÑвоÑени докÑменÑи!"
+msgstr "ÐокÑменÑÑÑ â%1$sâ е пÑезаÑеден!"
# src/lyxfunc.C:3185
-#: src/Buffer.cpp:5453
-#, fuzzy, c-format
+#: src/Buffer.cpp:5473
+#, c-format
msgid "Could not reload document %1$s."
-msgstr "ÐеÑÑпеÑ
пÑи оÑваÑÑнеÑо"
+msgstr "ÐокÑменÑÑÑ â%1$sâ не може да Ñе пÑезаÑеди."
-#: src/BufferParams.cpp:529
+#: src/BufferParams.cpp:531
msgid ""
"The LaTeX package amsmath is only used if AMS formula types or symbols from "
"the AMS math toolbars are inserted into formulas"
msgstr ""
+"ÐакеÑÑÑ Ð½Ð° LaTeX âamsmathâ Ñе използва Ñамо ако изÑазиÑе Ñа AMS или ÑимволиÑе"
+"в изÑазиÑе Ñа заÑедени Ð¾Ñ Ð»ÐµÐ½ÑаÑа Ñ Ð¸Ð½ÑÑÑÑменÑи на AMS."
-#: src/BufferParams.cpp:531
+#: src/BufferParams.cpp:533
msgid ""
"The LaTeX package amssymb is only used if symbols from the AMS math toolbars "
"are inserted into formulas"
msgstr ""
+"ÐакеÑÑÑ Ð½Ð° LaTeX âamssymbâ Ñе използва Ñамо ако в изÑазиÑе Ñе вмÑÐºÐ²Ð°Ñ Ñимволи "
+"Ð¾Ñ Ð»ÐµÐ½ÑаÑа Ñ Ð¸Ð½ÑÑÑÑменÑи на AMS."
-#: src/BufferParams.cpp:533
+#: src/BufferParams.cpp:535
msgid ""
"The LaTeX package cancel is only used if \\cancel commands are used in "
"formulas"
msgstr ""
+"ÐакеÑÑÑ Ð½Ð° LaTeX âcancelâ Ñе използва Ñамо ако в изÑазиÑе има команди â\\cancelâ."
-#: src/BufferParams.cpp:535
+#: src/BufferParams.cpp:537
msgid ""
"The LaTeX package esint is only used if special integral symbols are "
"inserted into formulas"
msgstr ""
+"ÐакеÑÑÑ Ð½Ð° LaTeX âesintâ Ñе използва Ñамо ако в изÑазиÑе има знаÑи за инÑегÑали."
-#: src/BufferParams.cpp:537
+#: src/BufferParams.cpp:539
msgid ""
"The LaTeX package mathdots is only used if the command \\iddots is inserted "
"into formulas"
msgstr ""
+"ÐакеÑÑÑ Ð½Ð° LaTeX âmathdotsâ Ñе използва Ñамо ако в изÑазиÑе има команди â\\iddotsâ."
-#: src/BufferParams.cpp:539
+#: src/BufferParams.cpp:541
msgid ""
"The LaTeX package mathtools is only used if some mathematical relations are "
"inserted into formulas"
msgstr ""
+"ÐакеÑÑÑ Ð½Ð° LaTeX âmathtoolsâ Ñе използва Ñамо ако в изÑазиÑе Ñа вмÑкнаÑи маÑеем. оÑноÑениÑ."
-#: src/BufferParams.cpp:541
+#: src/BufferParams.cpp:543
msgid ""
"The LaTeX package mhchem is only used if either the command \\ce or \\cf is "
"inserted into formulas"
msgstr ""
+"ÐакеÑÑÑ Ð½Ð° LaTeX âmhchemâ Ñе използва Ñамо ако в изÑазиÑе Ñа вмÑкнаÑи команди "
+"â\\ceâ или â\\cfâ."
-#: src/BufferParams.cpp:543
+#: src/BufferParams.cpp:545
msgid ""
"The LaTeX package stackrel is only used if the command \\stackrel with "
"subscript is inserted into formulas"
msgstr ""
+"ÐакеÑÑÑ Ð½Ð° LaTeX âstackrelâ Ñе използва Ñамо ако в изÑазиÑе има команда "
+"â\\stackrelâ Ñ Ð´Ð¾Ð»ÐµÐ½ индекÑ."
-#: src/BufferParams.cpp:545
+#: src/BufferParams.cpp:547
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 ""
+"ÐакеÑÑÑ Ð½Ð° LaTeX âstmryrdâ Ñе използва Ñамо ако в изÑазиÑе има Ñимволен ÑÑиÑÑ "
+"âSt Mary's Roadâ за ÑеоÑеÑиÑна изÑиÑлиÑелна наÑка."
-#: src/BufferParams.cpp:547
+#: src/BufferParams.cpp:549
msgid ""
"The LaTeX package undertilde is only used if you use the math frame "
"decoration 'utilde'"
msgstr ""
+"ÐакеÑÑÑ Ð½Ð° LaTeX âundertildeâ Ñе използва Ñамо ако има вмÑкнаÑи Ñамки Ñ ÑоÑма âutildeâ."
-#: src/BufferParams.cpp:753
+#: src/BufferParams.cpp:784
#, c-format
msgid ""
"The selected document class\n"
@@ -33151,46 +32603,68 @@ msgstr ""
"за повеÑе инÑоÑмаÑиÑ."
# src/lyx_cb.C:263
-#: src/BufferParams.cpp:762
+#: src/BufferParams.cpp:793
msgid "Document class not available"
msgstr "ÐлаÑа докÑменÑи не е налиÑен!"
# src/insets/inset.C:75
-#: src/BufferParams.cpp:1059 src/Color.cpp:281
-#: src/frontends/qt/GuiDocument.cpp:3527
-#, fuzzy
+#: src/BufferParams.cpp:1100 src/Color.cpp:281
+#: src/frontends/qt/GuiDocument.cpp:3542
msgid "greyedout inset text"
-msgstr "ÐÑвоÑен inset"
+msgstr "ТекÑÑ Ð½Ð° ÑвеÑна бележка"
# src/lyxfunc.C:1125
-#: src/BufferParams.cpp:1761 src/BufferParams.cpp:2203 src/Encoding.cpp:253
-#: src/Paragraph.cpp:2960 src/frontends/qt/LaTeXHighlighter.cpp:122
+#: src/BufferParams.cpp:1718 src/BufferParams.cpp:1872
+#: src/BufferParams.cpp:2315 src/Encoding.cpp:253 src/Paragraph.cpp:3014
+#: src/frontends/qt/LaTeXHighlighter.cpp:143
+#: src/frontends/qt/LaTeXHighlighter.cpp:257
#: src/insets/InsetCommandParams.cpp:508 src/insets/InsetCommandParams.cpp:516
#: src/insets/InsetGraphics.cpp:886 src/insets/InsetGraphics.cpp:894
-#: src/insets/InsetListings.cpp:298 src/insets/InsetListings.cpp:306
-#: src/insets/InsetListings.cpp:331 src/mathed/MathExtern.cpp:1440
+#: src/insets/InsetListings.cpp:299 src/insets/InsetListings.cpp:307
+#: src/insets/InsetListings.cpp:332 src/mathed/MathExtern.cpp:1440
#: src/mathed/MathExtern.cpp:1514
msgid "LyX Warning: "
msgstr "LyX ÐÑедÑпÑеждение:"
# src/ext_l10n.h:78
-#: src/BufferParams.cpp:1762 src/BufferParams.cpp:2204 src/Encoding.cpp:254
-#: src/Paragraph.cpp:2961 src/insets/InsetCommandParams.cpp:509
-#: src/insets/InsetCommandParams.cpp:517 src/insets/InsetGraphics.cpp:887
-#: src/insets/InsetGraphics.cpp:895 src/insets/InsetListings.cpp:299
-#: src/insets/InsetListings.cpp:307 src/mathed/MathExtern.cpp:1441
-#: src/mathed/MathExtern.cpp:1515
-#, fuzzy
+#: src/BufferParams.cpp:1719 src/BufferParams.cpp:1873
+#: src/BufferParams.cpp:2316 src/Encoding.cpp:254 src/Paragraph.cpp:3015
+#: src/insets/InsetCommandParams.cpp:509 src/insets/InsetCommandParams.cpp:517
+#: src/insets/InsetGraphics.cpp:887 src/insets/InsetGraphics.cpp:895
+#: src/insets/InsetListings.cpp:300 src/insets/InsetListings.cpp:308
+#: src/mathed/MathExtern.cpp:1441 src/mathed/MathExtern.cpp:1515
msgid "uncodable character"
-msgstr "СпеÑиален Ñимвол(S)|S"
+msgstr "Ñимвол, коиÑо не може да Ñе кодиÑа"
# src/ext_l10n.h:78
-#: src/BufferParams.cpp:1775
-#, fuzzy
+#: src/BufferParams.cpp:1732
+msgid "Uncodable character in document metadata"
+msgstr "ÐокÑмена ÑÑдÑÑжа Ñимволи меÑаданниÑе, коиÑо не Ð¼Ð¾Ð³Ð°Ñ Ð´Ð° Ñе кодиÑаÑ."
+
+#: src/BufferParams.cpp:1734
+#, c-format
+msgid ""
+"The metadata 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"
+"ÐÐ¾Ð»Ñ Ð¸Ð·Ð±ÐµÑеÑе подÑ
одÑÑа кодова ÑаблиÑа каÑо utf-8 за докÑменÑа\n"
+"или пÑоменеÑе ÑÑоÑвеÑно пÑеамбÑла."
+
+# src/ext_l10n.h:78
+#: src/BufferParams.cpp:1886
msgid "Uncodable character in class options"
-msgstr "СпеÑиален Ñимвол(S)|S"
+msgstr "Символ, коиÑо не може да Ñе кодиÑа в опÑииÑе за клаÑ"
-#: src/BufferParams.cpp:1777
+#: src/BufferParams.cpp:1888
#, c-format
msgid ""
"The class options of your document contain glyphs that are unknown in the "
@@ -33203,12 +32677,11 @@ msgid ""
msgstr ""
# src/ext_l10n.h:78
-#: src/BufferParams.cpp:2217
-#, fuzzy
+#: src/BufferParams.cpp:2329
msgid "Uncodable character in user preamble"
-msgstr "СпеÑиален Ñимвол(S)|S"
+msgstr "Символ, коиÑо не може да Ñе кодиÑа в пÑеамбÑла Ð¾Ñ Ð¿Ð¾ÑÑебиÑелÑ"
-#: src/BufferParams.cpp:2219
+#: src/BufferParams.cpp:2331
#, c-format
msgid ""
"The user preamble of your document contains glyphs that are unknown in the "
@@ -33220,7 +32693,7 @@ msgid ""
"(such as utf8) or change the preamble code accordingly."
msgstr ""
-#: src/BufferParams.cpp:2534
+#: src/BufferParams.cpp:2646
#, c-format
msgid ""
"The layout file:\n"
@@ -33231,12 +32704,11 @@ msgid ""
msgstr ""
# src/lyx_cb.C:263
-#: src/BufferParams.cpp:2540
-#, fuzzy
+#: src/BufferParams.cpp:2652
msgid "Document class not found"
-msgstr "ÐокÑменÑÑÑ Ð½Ðµ може да бÑде запиÑан!"
+msgstr "Ðе е оÑкÑÐ¸Ñ ÐºÐ»Ð°Ñ Ð´Ð¾ÐºÑменÑи"
-#: src/BufferParams.cpp:2547
+#: src/BufferParams.cpp:2659
#, c-format
msgid ""
"Due to some error in it, the layout file:\n"
@@ -33245,187 +32717,225 @@ msgid ""
"layouts will be used. LyX will not be able to produce\n"
"correct output."
msgstr ""
+"ÐоÑади гÑеÑка вÑв Ñайла Ñ Ð¾ÑоÑмлениеÑо:\n"
+"â%1$sâ\n"
+"не маже да Ñе заÑеди. Ще Ñе използва ÐºÐ»Ð°Ñ Ð´Ð¾ÐºÑменÑи по\n"
+"и оÑоÑмление по подÑазбиÑане. LyX нÑма да покаже\n"
+"пÑавилен кÑаен докÑменÑ."
# src/converter.C:552 src/converter.C:645
-#: src/BufferParams.cpp:2553 src/BufferView.cpp:1385 src/BufferView.cpp:1417
-#, fuzzy
+#: src/BufferParams.cpp:2665 src/BufferView.cpp:1424 src/BufferView.cpp:1456
msgid "Could not load class"
-msgstr "ÐевÑзможно е пÑеобÑазÑванеÑо на Ñайла"
+msgstr "Ðе може да Ñе заÑеди клаÑ."
# src/debug.C:33
-#: src/BufferParams.cpp:2598
-#, fuzzy
+#: src/BufferParams.cpp:2710
msgid "Error reading internal layout information"
-msgstr "ÐбÑа инÑоÑмаÑиÑ"
+msgstr "ÐÑеÑка пÑи ÑеÑене на вÑÑÑеÑна инÑоÑмаÑÐ¸Ñ Ð·Ð° оÑоÑмлениеÑо"
# src/frontends/gnome/FormCitation.C:453
-#: src/BufferParams.cpp:2599 src/TextClass.cpp:1934 src/TextClass.cpp:1967
-#, fuzzy
+#: src/BufferParams.cpp:2711 src/TextClass.cpp:1952 src/TextClass.cpp:1985
msgid "Read Error"
-msgstr "ТÑÑÑи"
+msgstr "ÐÑеÑка пÑи ÑеÑене"
+
+# src/ext_l10n.h:186
+#: src/BufferParams.cpp:3726
+msgid "No bibliography processor found!"
+msgstr "Ðе е оÑкÑиÑа пÑогÑама за библиогÑаÑиÑÑа!"
+
+#: src/BufferParams.cpp:3728
+#, c-format
+msgid ""
+"The bibliography processor requested by this document (%1$s) is not "
+"available and no appropriate alternative has been found. No bibliography and "
+"references will be generated.\n"
+"Please fix your installation!"
+msgstr ""
+"ÐзбÑанаÑа пÑогÑама за обÑабоÑка на библиогÑаÑиÑÑа на Ñози докÑÐ¼ÐµÐ½Ñ â%1$sâ не "
+"е налиÑна и не е оÑкÑиÑа подÑ
одÑÑа алÑеÑнаÑива. ÐÑма да Ñе генеÑиÑÐ°Ñ "
+"библиогÑаÑÐ¸Ñ Ð¸ пÑепÑаÑки!\n"
+"ÐолÑ, попÑавеÑе ваÑаÑа инÑÑалаÑиÑ!"
+
+# src/ext_l10n.h:186
+#: src/BufferParams.cpp:3736
+msgid "Requested bibliography processor not found!"
+msgstr "ÐÑогÑамаÑа избÑана за обÑабоÑка на библиогÑаÑиÑÑа не е оÑкÑиÑа!"
+
+#: src/BufferParams.cpp:3738
+#, c-format
+msgid ""
+"The bibliography processor requested by this document (%1$s) is not "
+"available. As a fallback, '%2$s' will be used, options are omitted. This "
+"might result in errors or unwanted changes in the bibliography. Please check "
+"carefully!\n"
+"It is suggested to install the missing processor."
+msgstr ""
+"ÐзбÑанаÑа пÑогÑама за обÑабоÑка на библиогÑаÑиÑÑа на Ñози докÑÐ¼ÐµÐ½Ñ â%1$sâ не "
+"е налиÑна. ÐаÑо ÑезеÑен ваÑÐ¸Ð°Ð½Ñ Ñе Ñе използва â%2$sâ каÑо опÑииÑе Ñе пÑопÑÑкаÑ."
+"Това може да доведе до гÑеÑки или нежелани пÑомени в библиогÑаÑиÑÑа, коÑÑо "
+"е желаÑелно да Ñе пÑовеÑи!\n"
+"ÐÑепоÑÑÑиÑелно е да Ñе инÑÑалиÑа липÑваÑаÑа пÑогÑама."
# src/BufferView2.C:636 src/BufferView2.C:640
-#: src/BufferView.cpp:178
-#, fuzzy
+#: src/BufferView.cpp:179
msgid "No more insets"
-msgstr "ÐÑма повеÑе бележки"
+msgstr "ÐÑма повеÑе добавки."
# src/frontends/xforms/form_paragraph.C:244
-#: src/BufferView.cpp:834
+#: src/BufferView.cpp:879
#, fuzzy
msgid "Save bookmark"
msgstr "ÐолÑ(B)|#B"
# src/frontends/xforms/FormDocument.C:426
-#: src/BufferView.cpp:1054
+#: src/BufferView.cpp:1092
msgid "Converting document to new document class..."
-msgstr "ÐокÑменÑÑÑ Ñе конвеÑÑиÑа кÑм нов докÑÐ¼ÐµÐ½Ñ ÐºÐ»Ð°Ñ..."
+msgstr "ÐокÑменÑÑÑ Ñе конвеÑÑиÑа кÑм нов ÐºÐ»Ð°Ñ Ð´Ð¾ÐºÑменÑ..."
# src/lyxfunc.C:342
-#: src/BufferView.cpp:1099
+#: src/BufferView.cpp:1137
msgid "Document is read-only"
-msgstr "ÐокÑменÑÑÑ Ðµ Ñамо за ÑеÑене"
+msgstr "ÐокÑменÑÑÑ Ðµ Ñамо за ÑеÑене."
-#: src/BufferView.cpp:1101
+#: src/BufferView.cpp:1139
msgid "Document has been modified externally"
-msgstr ""
+msgstr "ÐокÑменÑа е бил пÑоменен Ð¾Ñ Ð²ÑнÑна пÑогÑама."
-#: src/BufferView.cpp:1110
+#: src/BufferView.cpp:1148
msgid "This portion of the document is deleted."
-msgstr ""
+msgstr "Тази ÑаÑÑ Ð¾Ñ Ð´Ð¾ÐºÑменÑа е изÑÑиÑа."
-#: src/BufferView.cpp:1153 src/BufferView.cpp:2212
-#: src/frontends/qt/GuiView.cpp:4104 src/frontends/qt/GuiView.cpp:4192
+#: src/BufferView.cpp:1191 src/BufferView.cpp:2254
+#: src/frontends/qt/GuiView.cpp:4296 src/frontends/qt/GuiView.cpp:4384
msgid "Absolute filename expected."
-msgstr ""
+msgstr "ÐÑаква Ñе абÑолÑÑен пÑÑ Ð½Ð° Ñайл."
# src/lyx_cb.C:263
-#: src/BufferView.cpp:1383 src/BufferView.cpp:1415
-#, fuzzy, c-format
+#: src/BufferView.cpp:1422 src/BufferView.cpp:1454
+#, c-format
msgid "The document class `%1$s' could not be loaded."
-msgstr "ÐокÑменÑÑÑ Ð½Ðµ може да бÑде запиÑан!"
+msgstr "ÐеÑÑпеÑно заÑеждане на ÐºÐ»Ð°Ñ Ð´Ð¾ÐºÑменÑи â%1$sâ."
# src/BufferView2.C:440
-#: src/BufferView.cpp:1441
+#: src/BufferView.cpp:1480
msgid "No further undo information"
msgstr "ÐÑма ниÑо повеÑе за оÑменÑне"
# src/BufferView2.C:461
-#: src/BufferView.cpp:1461
+#: src/BufferView.cpp:1501
msgid "No further redo information"
msgstr "ÐÑма ниÑо повеÑе за повÑаÑÑне"
# src/lyxfr1.C:192 src/lyxfr1.C:239
-#: src/BufferView.cpp:1652 src/BufferView.cpp:1667 src/BufferView.cpp:1698
-#, fuzzy
+#: src/BufferView.cpp:1693 src/BufferView.cpp:1708 src/BufferView.cpp:1739
msgid "Search string not found!"
-msgstr "ÐизÑÑ Ð½Ðµ е намеÑен."
+msgstr "ТÑÑÑениÑÑ Ð½Ð¸Ð· не е намеÑен."
# src/lyxfunc.C:1949
-#: src/BufferView.cpp:1719
+#: src/BufferView.cpp:1760
msgid "Mark off"
msgstr "ÐаÑкиÑане изкл."
# src/lyxfunc.C:1962
-#: src/BufferView.cpp:1725
+#: src/BufferView.cpp:1766
msgid "Mark on"
msgstr "ÐаÑкиÑане вкл."
# src/lyxfunc.C:1839
-#: src/BufferView.cpp:1732
+#: src/BufferView.cpp:1773
msgid "Mark removed"
msgstr "ÐаÑкиÑане пÑемаÑ
наÑо"
# src/lyxfunc.C:1844
-#: src/BufferView.cpp:1735
+#: src/BufferView.cpp:1776
msgid "Mark set"
msgstr "ÐаÑкиÑане ÑÑÑановено"
-#: src/BufferView.cpp:1826
+#: src/BufferView.cpp:1867
msgid "Statistics for the selection:"
msgstr "СÑаÑиÑÑика на избÑÐ°Ð½Ð¸Ñ ÑекÑÑ"
# src/LyXAction.C:149
-#: src/BufferView.cpp:1828
+#: src/BufferView.cpp:1869
msgid "Statistics for the document:"
msgstr "СÑаÑиÑÑика за докÑменÑа:"
# src/converter.C:783 src/converter.C:853
-#: src/BufferView.cpp:1831
+#: src/BufferView.cpp:1872
#, c-format
msgid "%1$d words"
msgstr "%1$d дÑми"
# src/ext_l10n.h:262 src/frontends/gnome/FormIndex.C:89
# src/frontends/xforms/form_index.C:28
-#: src/BufferView.cpp:1833
+#: src/BufferView.cpp:1874
msgid "One word"
msgstr "Ðдна дÑма"
-#: src/BufferView.cpp:1836
+#: src/BufferView.cpp:1877
#, c-format
msgid "%1$d characters (including blanks)"
msgstr "%1$d бÑкви (Ñ Ð¿ÑазниÑе Ñимволи)"
-#: src/BufferView.cpp:1839
+#: src/BufferView.cpp:1880
msgid "One character (including blanks)"
-msgstr ""
+msgstr "Ðдин знак (вклÑÑиÑелно инÑеÑвали)"
-#: src/BufferView.cpp:1842
+#: src/BufferView.cpp:1883
#, c-format
msgid "%1$d characters (excluding blanks)"
msgstr "%1$d бÑкве (без пÑазниÑе Ñимволи)"
-#: src/BufferView.cpp:1845
+#: src/BufferView.cpp:1886
msgid "One character (excluding blanks)"
-msgstr ""
+msgstr "Ðдин знак (без инÑеÑвали)"
# заглавие на диалогов пÑозоÑеÑ
# src/ext_l10n.h:362
-#: src/BufferView.cpp:1847
+#: src/BufferView.cpp:1888
msgid "Statistics"
msgstr "СÑаÑиÑÑика"
-#: src/BufferView.cpp:2070
+#: src/BufferView.cpp:2112
#, c-format
msgid ""
"`inset-forall' interrupted because number of actions is larger than %1$d"
msgstr ""
-#: src/BufferView.cpp:2072
+#: src/BufferView.cpp:2114
#, c-format
msgid "Applied \"%1$s\" to %2$d insets"
msgstr ""
# src/ext_l10n.h:441
-#: src/BufferView.cpp:2080
+#: src/BufferView.cpp:2122
msgid "Branch name"
msgstr "име на Ñазклонение"
-#: src/BufferView.cpp:2087 src/frontends/qt/GuiBranches.cpp:225
+#: src/BufferView.cpp:2129 src/frontends/qt/GuiBranches.cpp:225
msgid "Branch already exists"
msgstr "РазклонениеÑо веÑе ÑÑÑеÑÑвÑва"
# src/lyxfunc.C:3309
-#: src/BufferView.cpp:2969
-#, fuzzy, c-format
+#: src/BufferView.cpp:3056
+#, c-format
msgid "Inserting document %1$s..."
-msgstr "ÐмÑквам докÑменÑ"
+msgstr "ÐмÑкване на докÑÐ¼ÐµÐ½Ñ %1$s..."
# src/exporter.C:89
-#: src/BufferView.cpp:2985
-#, fuzzy, c-format
+#: src/BufferView.cpp:3072
+#, c-format
msgid "Document %1$s inserted."
-msgstr "ÐокÑменÑÑÑ Ñе бÑде екÑпоÑÑиÑан вÑв ÑоÑÐ¼Ð°Ñ "
+msgstr "ÐокÑменÑÑÑ %1$s e вклÑÑен."
# src/lyxfunc.C:3317
-#: src/BufferView.cpp:2987
+#: src/BufferView.cpp:3074
#, fuzzy, c-format
msgid "Could not insert document %1$s"
msgstr "ÐеÑÑпеÑ
пÑи вмÑкванеÑо"
# src/lyxfunc.C:3185
-#: src/BufferView.cpp:3483
+#: src/BufferView.cpp:3569
#, fuzzy, c-format
msgid ""
"Could not read the specified document\n"
@@ -33434,13 +32944,13 @@ msgid ""
msgstr "ÐеÑÑпеÑ
пÑи оÑваÑÑнеÑо"
# src/buffer.C:3331
-#: src/BufferView.cpp:3485
+#: src/BufferView.cpp:3571
#, fuzzy
msgid "Could not read file"
msgstr "ÐедÑзможна е ÑабоÑаÑа Ñ Ñайл: "
# src/frontends/xforms/FormDocument.C:437
-#: src/BufferView.cpp:3492
+#: src/BufferView.cpp:3578
#, fuzzy, c-format
msgid ""
"%1$s\n"
@@ -33448,18 +32958,17 @@ msgid ""
msgstr " абзаÑи не Ð¼Ð¾Ð³Ð°Ñ Ð´Ð° бÑÐ´Ð°Ñ ÐºÐ¾Ð½Ð²ÐµÑÑиÑани"
# src/converter.C:165 src/converter.C:195
-#: src/BufferView.cpp:3493 src/frontends/qt/qt_helpers.cpp:311
+#: src/BufferView.cpp:3579 src/frontends/qt/qt_helpers.cpp:311
#: src/frontends/qt/qt_helpers.cpp:314 src/frontends/qt/qt_helpers.cpp:320
#: src/output.cpp:39
-#, fuzzy
msgid "Could not open file"
-msgstr "Ðе мога да покажа Ñайла."
+msgstr "ÐÑеÑка пÑи оÑваÑÑне на Ñайл."
-#: src/BufferView.cpp:3500
+#: src/BufferView.cpp:3586
msgid "Reading not UTF-8 encoded file"
-msgstr ""
+msgstr "ЧеÑене на Ñайл Ñ ÑазлиÑно Ð¾Ñ UTF-8 кодиÑане"
-#: src/BufferView.cpp:3501
+#: src/BufferView.cpp:3587
msgid ""
"The file is not UTF-8 encoded.\n"
"It will be read as local 8Bit-encoded.\n"
@@ -33470,9 +32979,8 @@ msgstr ""
# src/ext_l10n.h:78
#: src/Changes.cpp:375
-#, fuzzy
msgid "Uncodable character in author initials"
-msgstr "СпеÑиален Ñимвол(S)|S"
+msgstr "Символ, койÑо не може да Ñе кодиÑа в иниÑиалиÑе на авÑоÑа"
#: src/Changes.cpp:376
#, c-format
@@ -33488,9 +32996,8 @@ msgstr ""
# src/ext_l10n.h:78
#: src/Changes.cpp:405
-#, fuzzy
msgid "Uncodable character in author name"
-msgstr "СпеÑиален Ñимвол(S)|S"
+msgstr "Символ, койÑо не може да Ñе кодиÑа в имеÑо на авÑоÑа"
#: src/Changes.cpp:406
#, c-format
@@ -33595,7 +33102,7 @@ msgstr "ÑеÑвен"
#: src/Color.cpp:259
msgid "teal"
-msgstr "ÑинÑозелено"
+msgstr "ÑинÑозелен"
#: src/Color.cpp:260
msgid "violet"
@@ -33633,37 +33140,32 @@ msgstr "избÑан ÑекÑÑ"
# src/ext_l10n.h:126
#: src/Color.cpp:267
-#, fuzzy
msgid "LaTeX text"
-msgstr "СÑил TeX|X"
+msgstr "ТекÑÑ Ð½Ð° LaTeX"
# src/LyXAction.C:261
#: src/Color.cpp:268
-#, fuzzy
msgid "Text label 1"
-msgstr "ÐмÑкни еÑикеÑ"
+msgstr "ÑекÑÑов еÑикеÑ"
# src/LyXAction.C:261
#: src/Color.cpp:269
-#, fuzzy
msgid "Text label 2"
-msgstr "ÐмÑкни еÑикеÑ"
+msgstr "ÑекÑÑов еÑÐ¸ÐºÐµÑ 2"
# src/LyXAction.C:261
#: src/Color.cpp:270
-#, fuzzy
msgid "Text label 3"
-msgstr "ÐмÑкни еÑикеÑ"
+msgstr "ÑекÑÑов еÑÐ¸ÐºÐµÑ 3"
# src/mathed/math_panel.C:128
#: src/Color.cpp:271
-#, fuzzy
msgid "inline completion"
-msgstr "РазÑÑоÑние"
+msgstr "допиÑване в Ñеда"
#: src/Color.cpp:273
msgid "non-unique inline completion"
-msgstr ""
+msgstr "допиÑване в Ñеда пÑи повеÑе вÑзможноÑÑи"
#: src/Color.cpp:275
msgid "previewed snippet"
@@ -33671,9 +33173,8 @@ msgstr "пÑегледен ÑÑагменÑ"
# src/ext_l10n.h:246
#: src/Color.cpp:276
-#, fuzzy
msgid "note label"
-msgstr "Ðел. под линиÑ"
+msgstr "еÑÐ¸ÐºÐµÑ Ð½Ð° бележка"
# src/LColor.C:68
#: src/Color.cpp:277
@@ -33682,81 +33183,69 @@ msgstr "Ñон на бележка"
# src/ext_l10n.h:202
#: src/Color.cpp:278
-#, fuzzy
msgid "comment label"
-msgstr "ÐоменÑаÑ"
+msgstr "коменÑÐ°Ñ Ð½Ð° еÑикеÑ"
# src/LColor.C:73
#: src/Color.cpp:279
-#, fuzzy
msgid "comment background"
-msgstr "Ñон на command-inset"
+msgstr "Ñон на коменÑаÑ"
# src/insets/inset.C:75
#: src/Color.cpp:280
-#, fuzzy
msgid "greyedout inset label"
-msgstr "ÐÑвоÑен inset"
+msgstr "еÑÐ¸ÐºÐµÑ Ð½ аÑвеÑна бележка"
# src/LColor.C:90
#: src/Color.cpp:282
-#, fuzzy
msgid "greyedout inset background"
-msgstr "Ñон на inset"
+msgstr "Ñон на ÑвеÑна бележка "
# src/LColor.C:74
#: src/Color.cpp:283
-#, fuzzy
msgid "phantom inset text"
-msgstr "Ñамка на command-inset"
+msgstr "ÑекÑÑ Ð½Ð° добавка âÑанÑомâ"
#: src/Color.cpp:284
msgid "shaded box"
-msgstr ""
+msgstr "ÑÑнка на Ñамка"
# src/LColor.C:90
#: src/Color.cpp:285
-#, fuzzy
msgid "listings background"
-msgstr "Ñон на inset"
+msgstr "Ñон на ÑпиÑÑÑи"
# src/ext_l10n.h:441
#: src/Color.cpp:286
-#, fuzzy
msgid "branch label"
-msgstr "ФÑенÑки"
+msgstr "еÑÐ¸ÐºÐµÑ Ð½Ð° Ñазклонение"
# src/ext_l10n.h:246
#: src/Color.cpp:287
-#, fuzzy
msgid "footnote label"
-msgstr "Ðел. под линиÑ"
+msgstr "еÑÐ¸ÐºÐµÑ Ð½Ð° бел. под линиÑ"
# src/LyXAction.C:261
#: src/Color.cpp:288
-#, fuzzy
msgid "index label"
-msgstr "ÐмÑкни еÑикеÑ"
+msgstr "индекÑен еÑикеÑ"
# src/frontends/gnome/FormRef.C:48 src/frontends/xforms/FormRef.C:105
# src/frontends/xforms/FormRef.C:222 src/frontends/xforms/FormRef.C:245
#: src/Color.cpp:289
-#, fuzzy
msgid "margin note label"
-msgstr "ÐÑм пÑепÑаÑка"
+msgstr "еÑикен на бележка в полеÑо"
# src/insets/insetbib.C:69 src/insets/insetbib.C:70 src/insets/insetbib.C:210
# src/insets/insetbib.C:211
#: src/Color.cpp:290
-#, fuzzy
msgid "URL label"
-msgstr "ÐÑикеÑ(L):|#L"
+msgstr "URL еÑикеÑ"
# src/LColor.C:63
#: src/Color.cpp:291
-#, fuzzy
msgid "URL text"
-msgstr "ÑекÑÑ"
+msgstr "URL ÑекÑÑ"
#: src/Color.cpp:292
msgid "depth bar"
@@ -33764,58 +33253,51 @@ msgstr ""
#: src/Color.cpp:293
msgid "scroll indicator"
-msgstr ""
+msgstr "индикаÑÐ¾Ñ Ð·Ð° пÑевÑÑÑане"
# src/LColor.C:71
#: src/Color.cpp:294
msgid "language"
-msgstr "език"
+msgstr "Ðзик"
# src/LColor.C:74
#: src/Color.cpp:295
-#, fuzzy
msgid "command inset"
-msgstr "Ñамка на command-inset"
+msgstr "команда за добавка"
# src/LColor.C:73
#: src/Color.cpp:296
-#, fuzzy
msgid "command inset background"
-msgstr "Ñон на command-inset"
+msgstr "Ñон на команда за добавка"
# src/LColor.C:74
#: src/Color.cpp:297
-#, fuzzy
msgid "command inset frame"
-msgstr "Ñамка на command-inset"
+msgstr "Ñамка на команда за добавка"
# src/LColor.C:74
#: src/Color.cpp:298
-#, fuzzy
msgid "command inset (broken reference)"
-msgstr "Ñамка на command-inset"
+msgstr "команда за добавка (пÑекÑÑнаÑа вÑÑзка)"
# src/LColor.C:108
#: src/Color.cpp:299
-#, fuzzy
msgid "button background (broken reference)"
-msgstr "Ñон на бÑÑон"
+msgstr "Ñон на бÑÑон (невалидна вÑÑзка)"
#: src/Color.cpp:300
msgid "button frame (broken reference)"
-msgstr ""
+msgstr "Ñамка на бÑÑон (невалидна вÑÑзка)"
# src/LColor.C:108
#: src/Color.cpp:301
-#, fuzzy
msgid "button background (broken reference) under focus"
-msgstr "Ñон на бÑÑон"
+msgstr "Ñон на бÑÑон (невалидна вÑÑзка) на ÑокÑÑ"
# src/ext_l10n.h:78
#: src/Color.cpp:302
-#, fuzzy
msgid "special character"
-msgstr "СпеÑиален Ñимвол(S)|S"
+msgstr "ÑпеÑиален Ñимвол"
# src/LColor.C:80
#: src/Color.cpp:303
@@ -33914,20 +33396,18 @@ msgstr "добавка Ñамка"
# src/frontends/xforms/FormError.C:26
#: src/Color.cpp:321
-#, fuzzy
msgid "LaTeX error"
-msgstr "LaTeX ÐÑеÑка"
+msgstr "гÑеÑка на LaTeX"
# src/LColor.C:93
#: src/Color.cpp:322
msgid "end-of-line marker"
-msgstr "маÑÐºÐµÑ ÐºÑай-на-Ñед"
+msgstr "маÑÐºÐµÑ Ð·Ð° кÑай на Ñед"
# src/LColor.C:94
#: src/Color.cpp:323
-#, fuzzy
msgid "appendix marker"
-msgstr "Ñед на пÑиложение"
+msgstr "маÑÐºÐµÑ Ð·Ð° пÑиложение"
# src/lyx_gui.C:347
#: src/Color.cpp:324
@@ -33937,35 +33417,33 @@ msgstr "Ðез пÑомÑна"
# src/LColor.C:65
#: src/Color.cpp:325
-#, fuzzy
msgid "deleted text (output)"
-msgstr "Latex"
+msgstr "изÑÑÐ¸Ñ ÑекÑÑ (кÑаен докÑменÑ)"
# src/LColor.C:65
#: src/Color.cpp:326
-#, fuzzy
msgid "added text (output)"
-msgstr "Latex"
+msgstr "добавен ÑекÑÑ (кÑаен докÑменÑ)"
#: src/Color.cpp:327
-msgid "added text (workarea, 1st author)"
-msgstr ""
+msgid "changed text (workarea, 1st author)"
+msgstr "пÑоменен ÑекÑÑ (ÑабоÑна ÑÑеда, 1-ви авÑоÑ)"
#: src/Color.cpp:328
-msgid "added text (workarea, 2nd author)"
-msgstr ""
+msgid "changed text (workarea, 2nd author)"
+msgstr "пÑоменен ÑекÑÑ (ÑабоÑна ÑÑеда, 2-Ñи авÑоÑ)"
#: src/Color.cpp:329
-msgid "added text (workarea, 3rd author)"
-msgstr ""
+msgid "changed text (workarea, 3rd author)"
+msgstr "пÑоменен ÑекÑÑ (ÑабоÑна ÑÑеда, 3-Ñи авÑоÑ)"
#: src/Color.cpp:330
-msgid "added text (workarea, 4th author)"
-msgstr ""
+msgid "changed text (workarea, 4th author)"
+msgstr "пÑоменен ÑекÑÑ (ÑабоÑна ÑÑеда, 4-Ñи авÑоÑ)"
#: src/Color.cpp:331
-msgid "added text (workarea, 5th author)"
-msgstr ""
+msgid "changed text (workarea, 5th author)"
+msgstr "пÑоменен ÑекÑÑ (ÑабоÑна ÑÑеда, 5-Ñи авÑоÑ)"
# src/LColor.C:65
#: src/Color.cpp:332
@@ -33979,15 +33457,13 @@ msgstr ""
# src/LColor.C:97
#: src/Color.cpp:334
-#, fuzzy
msgid "table line"
msgstr "Ñед на ÑаблиÑа"
# src/LColor.C:97
#: src/Color.cpp:335
-#, fuzzy
msgid "table on/off line"
-msgstr "Ñед на ÑаблиÑа"
+msgstr "Ñед на ÑаблиÑа вкл./изкл."
# src/LColor.C:102
#: src/Color.cpp:336
@@ -34055,7 +33531,7 @@ msgstr "наÑледÑване"
msgid "ignore"
msgstr "игноÑиÑане"
-#: src/Converter.cpp:306
+#: src/Converter.cpp:312
#, c-format
msgid ""
"<p>The following LaTeX backend has been configured to allow execution of "
@@ -34066,11 +33542,11 @@ msgid ""
msgstr ""
# src/lyx_gui.C:347
-#: src/Converter.cpp:315
+#: src/Converter.cpp:321
msgid "Security Warning"
msgstr "ÐÑедÑпÑеждение за ÑигÑÑноÑÑÑа"
-#: src/Converter.cpp:328
+#: src/Converter.cpp:334
#, c-format
msgid ""
"<p>The following LaTeX backend has been requested to allow execution of "
@@ -34079,7 +33555,7 @@ msgid ""
"ones, if instructed to do so by a maliciously crafted LyX document.</p>"
msgstr ""
-#: src/Converter.cpp:335
+#: src/Converter.cpp:341
#, c-format
msgid ""
"<p>The requested operation requires the use of a converter from %2$s to %3$s:"
@@ -34092,11 +33568,11 @@ msgstr ""
"подаде зловÑедно напиÑан LyX докÑÐ¼ÐµÐ½Ñ Ñази вÑнÑна пÑогÑама може да извÑÑÑи "
"пÑоизволни, вклÑÑиÑелно и опаÑни, опеÑаÑии вÑв ваÑаÑа опеÑаÑионна ÑиÑÑема."
-#: src/Converter.cpp:345
+#: src/Converter.cpp:351
msgid "An external converter is disabled for security reasons"
msgstr "ÐÑнÑна конвеÑÑиÑаÑа пÑогÑама е изклÑÑена Ð¾Ñ ÑÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð° ÑигÑÑноÑÑ"
-#: src/Converter.cpp:347
+#: src/Converter.cpp:353
msgid ""
"<p><b>Your current preference settings forbid its execution.</b></p><p>(To "
"change this setting, go to <i>Preferences ▹ File Handling ▹ "
@@ -34108,21 +33584,21 @@ msgstr ""
"<РабоÑа Ñ Ñайлове ▹ ÐонвеÑÑиÑане ▹ </i> и в полеÑо "
"<i>СигÑÑноÑÑ</i> пÑемаÑ
неÑе <i>ÐабÑани конвеÑÑоÑи Ñ âneedauthâ</i></p>"
-#: src/Converter.cpp:356
+#: src/Converter.cpp:362
msgid "A LaTeX backend requires your authorization"
msgstr ""
-#: src/Converter.cpp:357
+#: src/Converter.cpp:363
msgid "An external converter requires your authorization"
msgstr "ÐÑнÑна пÑогÑама изиÑква ваÑеÑо позволение"
-#: src/Converter.cpp:360
+#: src/Converter.cpp:366
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 ""
-#: src/Converter.cpp:363
+#: src/Converter.cpp:369
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>"
@@ -34131,69 +33607,70 @@ msgstr ""
"знаеÑе пÑоизÑ
ода докÑменÑа."
# src/lyx_cb.C:263
-#: src/Converter.cpp:367
+#: src/Converter.cpp:373
#, fuzzy
msgid "Do ¬ allow"
msgstr "Ðе Ñе заÑежда"
# src/lyx_cb.C:263
-#: src/Converter.cpp:367
+#: src/Converter.cpp:373
msgid "Do ¬ run"
msgstr "ÐабÑанÑване"
# src/LColor.C:60
-#: src/Converter.cpp:368
+#: src/Converter.cpp:374
#, fuzzy
msgid "A&llow"
msgstr "жÑлÑ"
-#: src/Converter.cpp:368
+#: src/Converter.cpp:374
msgid "&Run"
msgstr "ÐозволÑване"
# src/LyXAction.C:141
-#: src/Converter.cpp:370
+#: src/Converter.cpp:376
msgid "&Always allow for this document"
msgstr "ÐозволÑване винаги Ñамо за Ñози докÑменÑ"
# src/LyXAction.C:141
-#: src/Converter.cpp:371
+#: src/Converter.cpp:377
#, fuzzy
msgid "&Always run for this document"
msgstr "Ðов докÑменÑ"
# src/ext_l10n.h:93
-#: src/Converter.cpp:441 src/Converter.cpp:686 src/Converter.cpp:715
+#: src/Converter.cpp:447 src/Converter.cpp:693 src/Converter.cpp:722
#, fuzzy
msgid "Converter killed"
msgstr "Файлов ÐºÐµÑ Ð·Ð° конвеÑÑоÑа"
-#: src/Converter.cpp:442 src/Converter.cpp:687 src/Converter.cpp:716
+#: src/Converter.cpp:448 src/Converter.cpp:694 src/Converter.cpp:723
#, c-format
msgid ""
"The following converter was killed by the user.\n"
" %1$s\n"
msgstr ""
+"СледнаÑа пÑогÑама беÑе пÑекÑÑнаÑа Ð¾Ñ Ð¿Ð¾ÑÑебиÑелÑ.\n"
+" %1$s\n"
# src/converter.C:552 src/converter.C:645
-#: src/Converter.cpp:461 src/Converter.cpp:744 src/Converter.cpp:767
-#: src/Converter.cpp:809
-#, fuzzy
+#: src/Converter.cpp:467 src/Converter.cpp:751 src/Converter.cpp:774
+#: src/Converter.cpp:816
msgid "Cannot convert file"
-msgstr "ÐевÑзможно е пÑеобÑазÑванеÑо на Ñайла"
+msgstr "ÐеÑÑпеÑ
пÑи пÑеобÑазÑване на Ñайл"
-#: src/Converter.cpp:462
+#: src/Converter.cpp:468
#, c-format
msgid ""
"No information for converting %1$s format files to %2$s.\n"
"Define a converter in the preferences."
msgstr ""
-#: src/Converter.cpp:567 src/frontends/qt/GuiDocument.cpp:1990
+#: src/Converter.cpp:573 src/frontends/qt/GuiDocument.cpp:2004
msgid "Pygments driver command not found!"
msgstr ""
-#: src/Converter.cpp:568 src/frontends/qt/GuiDocument.cpp:1991
+#: src/Converter.cpp:574 src/frontends/qt/GuiDocument.cpp:2005
msgid ""
"The driver command necessary to use the minted package\n"
"(pygmentize) has not been found. Make sure you have\n"
@@ -34207,26 +33684,26 @@ msgid ""
msgstr ""
# src/converter.C:188 src/converter.C:618
-#: src/Converter.cpp:662 src/Format.cpp:708 src/Format.cpp:778
+#: src/Converter.cpp:669 src/Format.cpp:708 src/Format.cpp:778
msgid "Executing command: "
msgstr "ÐзпÑлнÑване на команда:"
-#: src/Converter.cpp:727
+#: src/Converter.cpp:734
msgid "Process Killed"
-msgstr ""
+msgstr "ÐÑекÑÑÐ½Ð°Ñ Ð¿ÑоÑеÑ"
-#: src/Converter.cpp:728
+#: src/Converter.cpp:735
#, c-format
msgid ""
"The conversion process was killed while running:\n"
"%1$s"
msgstr ""
-#: src/Converter.cpp:733
+#: src/Converter.cpp:740
msgid "Process Timed Out"
-msgstr ""
+msgstr "ÐÑоÑÑоÑено вÑеме на пÑоÑеÑ"
-#: src/Converter.cpp:734
+#: src/Converter.cpp:741
#, c-format
msgid ""
"The conversion process:\n"
@@ -34235,17 +33712,17 @@ msgid ""
msgstr ""
# src/ext_l10n.h:131
-#: src/Converter.cpp:739
+#: src/Converter.cpp:746
msgid "Build errors"
msgstr "ÐÑеÑки пÑи компилаÑиÑ"
# src/converter.C:642
-#: src/Converter.cpp:740
+#: src/Converter.cpp:747
msgid "There were errors during the build process."
msgstr "ÐмаÑе гÑеÑки по вÑеме на компилиÑанеÑо."
# src/lyx_main.C:605
-#: src/Converter.cpp:745
+#: src/Converter.cpp:752
#, c-format
msgid ""
"An error occurred while running:\n"
@@ -34253,51 +33730,50 @@ msgid ""
msgstr ""
# src/support/filetools.C:453
-#: src/Converter.cpp:768
+#: src/Converter.cpp:775
#, c-format
msgid "Could not move a temporary directory from %1$s to %2$s."
msgstr "Ðе може да Ñе пÑемеÑÑи вÑеменнаÑа диÑекÑоÑÐ¸Ñ Ð¾Ñ %1$s на %2$s."
# src/support/filetools.C:453
-#: src/Converter.cpp:811
+#: src/Converter.cpp:818
#, fuzzy, c-format
msgid "Could not copy a temporary file from %1$s to %2$s."
msgstr "ÐÑеÑка! Ðе мога да ÑÑздам вÑеменна диÑекÑоÑиÑ: "
# src/support/filetools.C:453
-#: src/Converter.cpp:812
+#: src/Converter.cpp:819
#, fuzzy, c-format
msgid "Could not move a temporary file from %1$s to %2$s."
msgstr "ÐÑеÑка! Ðе мога да ÑÑздам вÑеменна диÑекÑоÑиÑ: "
# src/converter.C:816
-#: src/Converter.cpp:852
+#: src/Converter.cpp:859
msgid "Running LaTeX..."
msgstr "СÑÑаÑиÑам LaTeX..."
# src/exporter.C:89
-#: src/Converter.cpp:869
+#: src/Converter.cpp:876
#, fuzzy
msgid "Export canceled"
msgstr "ÐокÑменÑÑÑ Ñе бÑде екÑпоÑÑиÑан вÑв ÑоÑÐ¼Ð°Ñ "
-#: src/Converter.cpp:870
+#: src/Converter.cpp:877
msgid "The export process was terminated by the user."
msgstr ""
# src/form1.C:33
-#: src/Converter.cpp:880
-#, fuzzy
+#: src/Converter.cpp:887
msgid "Undefined reference"
-msgstr "&ÐеопÑеделени ÑазклонениÑ"
+msgstr "ÐеопÑеделена пÑепÑаÑка"
-#: src/Converter.cpp:881
+#: src/Converter.cpp:888
msgid ""
"Undefined references or citations were found during the build.\n"
"Please check the warnings in the LaTeX log (Document > LaTeX Log)."
msgstr ""
-#: src/Converter.cpp:893
+#: src/Converter.cpp:900
#, c-format
msgid ""
"LaTeX did not run successfully. Additionally, LyX could not locate the LaTeX "
@@ -34305,12 +33781,12 @@ msgid ""
msgstr ""
# src/ext_l10n.h:133
-#: src/Converter.cpp:896 src/Converter.cpp:903
+#: src/Converter.cpp:903 src/Converter.cpp:910
#, fuzzy
msgid "LaTeX failed"
msgstr "LaTeX ÐÑоÑокол(L)|L"
-#: src/Converter.cpp:899
+#: src/Converter.cpp:906
#, c-format
msgid ""
"The external program\n"
@@ -34322,28 +33798,27 @@ msgstr ""
# "ÐÑнÑнаÑа пÑогÑама\n"
# ""
# src/frontends/kde/tocdlg.C:57
-#: src/Converter.cpp:905
+#: src/Converter.cpp:912
msgid "Output is empty"
msgstr "ÐÑма изÑ
одÑÑи данни"
-#: src/Converter.cpp:906
+#: src/Converter.cpp:913
msgid "No output file was generated."
msgstr "Ðе беÑе ÑÑÑÑавен изÑ
оден Ñайл."
# src/bufferview_funcs.C:271
#: src/Cursor.cpp:416 src/Text.cpp:2141
msgid ", Inset: "
-msgstr ", Ðобавка: "
+msgstr ", добавка: "
#: src/Cursor.cpp:417 src/Text.cpp:2143
msgid ", Cell: "
-msgstr ", ÐлеÑка: "
+msgstr ", клеÑка: "
# src/ext_l10n.h:320
#: src/Cursor.cpp:418 src/Text.cpp:2146
-#, fuzzy
msgid ", Position: "
-msgstr "ÐопÑÑкане"
+msgstr ", позиÑиÑ: "
#: src/CutAndPaste.cpp:206
#, c-format
@@ -34361,9 +33836,8 @@ msgstr ""
# src/ext_l10n.h:78
#: src/CutAndPaste.cpp:247
-#, fuzzy
msgid "Uncodable content"
-msgstr "СпеÑиален Ñимвол(S)|S"
+msgstr "СÑдÑÑжание, коиÑо не може да Ñе кодиÑа"
# src/buffer.C:534
#: src/CutAndPaste.cpp:437
@@ -34372,6 +33846,9 @@ 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/lyxfunc.C:328 src/lyxfunc.C:2996
#: src/CutAndPaste.cpp:440
@@ -34380,24 +33857,23 @@ msgstr "ÐеопÑеделено Ñазклонение"
#: src/CutAndPaste.cpp:441
msgid "&Don't Add"
-msgstr ""
+msgstr "&Ðе Ñе добавÑ"
# src/lyx_cb.C:263
#: src/CutAndPaste.cpp:835 src/Text.cpp:411
-#, fuzzy, c-format
+#, c-format
msgid "Layout `%1$s' was not found."
-msgstr "ÐокÑменÑÑÑ Ð½Ðµ може да бÑде запиÑан!"
+msgstr "Ðе е оÑкÑиÑо оÑоÑмление за â%1$sâ."
# src/insets/insettext.C:1036 src/lyxfunc.C:1261
#: src/CutAndPaste.cpp:836 src/Text.cpp:412
-#, fuzzy
msgid "Layout Not Found"
-msgstr " оÑоÑмление"
+msgstr "Ðе е оÑкÑиÑо оÑоÑмление на елеменÑ"
#: src/CutAndPaste.cpp:867
#, c-format
msgid "Flex inset %1$s is undefined after reloading `%2$s' layout."
-msgstr ""
+msgstr "ÐобавкаÑа %1$s не е деÑиниÑана Ñлед пÑезаÑеждане на оÑоÑмлениеÑо â%2$sâ."
#: src/CutAndPaste.cpp:870
#, c-format
@@ -34408,36 +33884,35 @@ msgstr ""
# src/insets/insettext.C:478
#: src/CutAndPaste.cpp:875
-#, fuzzy
msgid "Undefined flex inset"
-msgstr "ÐÑвоÑен Text Inset"
+msgstr "ÐедеÑиниÑана ÑекÑÑова добавка"
# src/buffer.C:534
#: src/Exporter.cpp:45
-#, fuzzy, c-format
+#, c-format
msgid ""
"The file %1$s already exists.\n"
"\n"
"Do you want to overwrite that file?"
-msgstr "ÐокÑменÑÑÑ Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð° Ð½ÐµÐ¿Ð¾Ð·Ð½Ð°Ñ ÑекÑÑÐºÐ»Ð°Ñ \""
+msgstr ""
+"ФайлÑÑ %1$s веÑе ÑÑÑеÑÑвÑва.\n"
+"\n"
+"ÐелаеÑе ли да го пÑезапиÑеÑе?"
# src/frontends/xforms/form_preferences.C:111 src/lyxfont.C:42
#: src/Exporter.cpp:48
-#, fuzzy
msgid "Overwrite file?"
-msgstr "ÐаÑинопиÑ"
+msgstr "ÐÑезапиÑване на Ñайл?"
# src/ext_l10n.h:191
#: src/Exporter.cpp:50
-#, fuzzy
msgid "&Keep file"
-msgstr "Ðаглавие"
+msgstr "Ðапазване на Ñайл"
# src/frontends/xforms/form_preferences.C:111 src/lyxfont.C:42
#: src/Exporter.cpp:51
-#, fuzzy
msgid "Overwrite &all"
-msgstr "ÐаÑинопиÑ"
+msgstr "ÐÑезапиÑване на вÑиÑки"
# src/frontends/kde/FormCitation.C:166 src/frontends/kde/FormRef.C:203
# src/frontends/kde/citationdlg.C:87 src/frontends/kde/dlg/indexdlgdata.C:85
@@ -34445,49 +33920,47 @@ msgstr "ÐаÑинопиÑ"
# src/frontends/kde/dlg/printdlgdata.C:133
# src/frontends/kde/dlg/tabcreatedlgdata.C:60 src/frontends/kde/indexdlg.C:65
# src/frontends/kde/refdlg.C:92 src/frontends/kde/urldlg.C:58
-#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:724
-#, fuzzy
+#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:792
msgid "&Cancel export"
-msgstr "(&C)ÐÑказ"
+msgstr "Ðказване на екÑпоÑÑиÑане"
# src/converter.C:165 src/converter.C:195
#: src/Exporter.cpp:97
-#, fuzzy
msgid "Couldn't copy file"
-msgstr "Ðе мога да покажа Ñайла."
+msgstr "ÐеÑÑпеÑ
пÑи копиÑане на Ñайл"
#: src/Exporter.cpp:98
#, c-format
msgid "Copying %1$s to %2$s failed."
-msgstr ""
+msgstr "ÐопиÑанеÑо Ð¾Ñ %1$s в %2$s пÑопадна."
# src/lyxfont.C:413
#: src/Font.cpp:141
-#, fuzzy, c-format
+#, c-format
msgid "Language: %1$s, "
-msgstr "Ðзик: "
+msgstr "Ðзик: %1$s, "
# src/lyxfont.C:415
#: src/Font.cpp:146
-#, fuzzy, c-format
+#, c-format
msgid "Number %1$s"
-msgstr " ÐÐ¾Ð¼ÐµÑ "
+msgstr "ÐÐ¾Ð¼ÐµÑ %1$s"
# src/frontends/xforms/form_preferences.C:105 src/lyxfont.C:42
#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:148
-#: src/frontends/qt/GuiDocument.cpp:4888 src/frontends/qt/GuiListings.cpp:163
+#: src/frontends/qt/GuiDocument.cpp:4908 src/frontends/qt/GuiListings.cpp:167
msgid "Roman"
msgstr "СеÑиÑна"
# src/frontends/xforms/form_preferences.C:108
#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:149
-#: src/frontends/qt/GuiDocument.cpp:4888 src/frontends/qt/GuiListings.cpp:163
+#: src/frontends/qt/GuiDocument.cpp:4908 src/frontends/qt/GuiListings.cpp:167
msgid "Sans Serif"
msgstr "ÐезÑеÑиÑна"
# src/frontends/xforms/form_preferences.C:111 src/lyxfont.C:42
#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:150
-#: src/frontends/qt/GuiDocument.cpp:4888 src/frontends/qt/GuiListings.cpp:163
+#: src/frontends/qt/GuiDocument.cpp:4908 src/frontends/qt/GuiListings.cpp:167
msgid "Typewriter"
msgstr "РавноÑиÑока"
@@ -34511,7 +33984,7 @@ msgstr "СÑедно"
# src/lyxfont.C:51
#: src/FontInfo.cpp:51 src/frontends/qt/GuiCharacter.cpp:52
msgid "Upright"
-msgstr "ÐоÑмален"
+msgstr "ÐзпÑавен"
# src/lyxfont.C:51
#: src/FontInfo.cpp:51 src/frontends/qt/GuiCharacter.cpp:53
@@ -34526,7 +33999,7 @@ msgstr "Ðаклонен"
# src/lyxfont.C:51
#: src/FontInfo.cpp:51
msgid "Smallcaps"
-msgstr "Ðалки бÑкви"
+msgstr "Ðалки главни бÑкви"
# src/lyxfont.C:57
#: src/FontInfo.cpp:56 src/frontends/qt/GuiCharacter.cpp:75
@@ -34551,33 +34024,33 @@ msgstr "ÐÑкÑоÑване на ÑекÑÑа %1$s, "
# src/lyxfont.C:404
#: src/FontInfo.cpp:620
-#, fuzzy, c-format
+#, c-format
msgid "Underline %1$s, "
-msgstr "ÐодÑеÑÑаване "
+msgstr "ÐодÑеÑÑаване %1$s, "
# src/lyxfont.C:404
#: src/FontInfo.cpp:623
-#, fuzzy, c-format
+#, c-format
msgid "Double underline %1$s, "
-msgstr "ÐодÑеÑÑаване "
+msgstr "Ðвойно подÑеÑÑаване %1$s, "
# src/lyxfont.C:404
#: src/FontInfo.cpp:626
-#, fuzzy, c-format
+#, c-format
msgid "Wavy underline %1$s, "
-msgstr "ÐодÑеÑÑаване "
+msgstr "ÐÑлнообÑазно подÑеÑÑаване %1$s, "
# src/lyxfont.C:407
#: src/FontInfo.cpp:629
-#, fuzzy, c-format
+#, c-format
msgid "Strike out %1$s, "
-msgstr "СÑÑеÑÑвиÑелно "
+msgstr "ÐаÑеÑÑаване %1$s, "
# src/lyxfont.C:407
#: src/FontInfo.cpp:632
-#, fuzzy, c-format
+#, c-format
msgid "Cross out %1$s, "
-msgstr "СÑÑеÑÑвиÑелно "
+msgstr "ÐадÑаÑкване %1$s, "
# src/lyxfont.C:407
#: src/FontInfo.cpp:635
@@ -34592,7 +34065,7 @@ msgid "Cannot view file"
msgstr "Ðе мога да покажа Ñайла."
# src/frontends/xforms/xform_helpers.C:347
-#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3794
+#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3986
#, c-format
msgid "File does not exist: %1$s"
msgstr "ФайлÑÑ %1$s не ÑÑÑеÑÑвÑва!"
@@ -34728,15 +34201,13 @@ msgstr "ÐзгÑади пÑогÑама(B)|B"
# src/ext_l10n.h:131
#: src/LaTeX.cpp:1665
-#, fuzzy
msgid "Xindy error: "
-msgstr "ÐзгÑади пÑогÑама(B)|B"
+msgstr "ÐÑеÑка в xindy:"
# src/lyx_cb.C:263
#: src/LaTeXFonts.cpp:238 src/LaTeXFonts.cpp:315
-#, fuzzy
msgid "Font not available"
-msgstr "ÐокÑменÑÑÑ Ð½Ðµ може да бÑде запиÑан!"
+msgstr "ÐипÑÐ²Ð°Ñ ÑÑиÑÑ"
#: src/LaTeXFonts.cpp:239 src/LaTeXFonts.cpp:316
#, c-format
@@ -34747,9 +34218,8 @@ msgstr ""
# src/buffer.C:3331
#: src/LyX.cpp:145
-#, fuzzy
msgid "Could not read configuration file"
-msgstr "ÐедÑзможна е ÑабоÑаÑа Ñ Ñайл: "
+msgstr "Ðеможе да Ñе пÑоÑеÑе конÑигÑÑаÑионен Ñайл"
#: src/LyX.cpp:146
#, c-format
@@ -34764,48 +34234,45 @@ msgstr ""
# src/lyx_cb.C:263
#: src/LyX.cpp:399
-#, fuzzy
msgid "The following files could not be loaded:"
-msgstr "ÐокÑменÑÑÑ Ð½Ðµ може да бÑде запиÑан!"
+msgstr "СледниÑе Ñайлове не Ð¼Ð¾Ð³Ð°Ñ Ð´Ð° бÑÐ´Ð°Ñ Ð·Ð°Ñедени:"
# src/support/filetools.C:453
#: src/LyX.cpp:440
-#, fuzzy, c-format
+#, c-format
msgid "%1$s does not appear like a LyX created temporary directory."
-msgstr "ÐÑеÑка! Ðе мога да ÑÑздам вÑеменна диÑекÑоÑиÑ: "
+msgstr "%1$s не Ñе поÑвÑва каÑо LyX ÑÑздаде вÑеменна диÑекÑоÑиÑ."
# src/support/filetools.C:453
#: src/LyX.cpp:442
-#, fuzzy
msgid "Cannot remove temporary directory"
-msgstr "ÐÑеÑка! Ðе мога да ÑÑздам вÑеменна диÑекÑоÑиÑ: "
+msgstr "ÐеÑÑпеÑно пÑемаÑ
ване на вÑеменна диÑекÑоÑиÑ"
# src/support/filetools.C:453
#: src/LyX.cpp:446
-#, fuzzy, c-format
+#, c-format
msgid "Unable to remove the temporary directory %1$s"
-msgstr "ÐÑеÑка! Ðе мога да ÑÑздам вÑеменна диÑекÑоÑиÑ: "
+msgstr "ÐеÑпеÑно пÑемаÑ
ване на вÑеменна диÑекÑоÑÐ¸Ñ â%1$sâ"
# src/lyx_main.C:95
#: src/LyX.cpp:475
-#, fuzzy, c-format
+#, c-format
msgid "Wrong command line option `%1$s'. Exiting."
-msgstr "ÐÑеÑна опÑÐ¸Ñ Ð¾Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñед `"
+msgstr "ÐÑеÑна опÑÐ¸Ñ Ð¾Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñед â%1sâ. Ðзлизане."
# src/lyxfunc.C:3216
#: src/LyX.cpp:493
-#, fuzzy
msgid "Missing filename for this operation."
-msgstr " Файл за импоÑÑиÑане"
+msgstr "ÐипÑва име на Ñайл за Ñази опеÑаÑиÑ."
#: src/LyX.cpp:542
#, c-format
msgid "LyX failed to load the following file: %1$s"
-msgstr ""
+msgstr "Lyx неÑÑÐ¿Ñ Ð´Ð° заÑеди ÑÐ»ÐµÐ´Ð½Ð¸Ñ Ñайл: %1$s"
#: src/LyX.cpp:589
msgid "No textclass is found"
-msgstr ""
+msgstr "Ðе Ñа оÑкÑиÑи клаÑове докÑменÑи"
#: src/LyX.cpp:590
msgid ""
@@ -34813,35 +34280,40 @@ msgid ""
"found. You can either try to reconfigure LyX normally, try to reconfigure "
"without checking your LaTeX installation, or continue."
msgstr ""
+"LyX Ñе има Ñамо минимална ÑÑнкÑионалноÑÑ ÑÑй каÑо не бÑÑ
а оÑкÑиÑи клаÑове "
+"Ñ Ð´Ð¾ÐºÑменÑи. ÐожеÑе да пÑеконÑигÑÑиÑаÑе LyX авÑомаÑиÑно, да го пÑеконÑигÑÑиÑаÑе"
+"без пÑовеÑка на LaTeX инÑÑалаÑиÑÑа или да пÑодÑлжиÑе."
# src/ext_l10n.h:37 src/ext_l10n.h:52
#: src/LyX.cpp:594
-#, fuzzy
msgid "&Reconfigure"
-msgstr "Ðово конÑигÑÑиÑане(R)|R"
+msgstr "&ÐÑеконÑигÑÑиÑане"
# src/ext_l10n.h:265
#: src/LyX.cpp:595
msgid "&Without LaTeX"
-msgstr "Ðез LaTeX"
+msgstr "&Ðез LaTeX"
# src/ext_l10n.h:205
-#: src/LyX.cpp:596 src/VCBackend.cpp:968 src/VCBackend.cpp:972
-#, fuzzy
+#: src/LyX.cpp:596 src/VCBackend.cpp:974 src/VCBackend.cpp:978
msgid "&Continue"
-msgstr "УÑловие"
+msgstr "Ð&ÑодÑлжаване"
#: src/LyX.cpp:699
msgid ""
"SIGHUP signal caught!\n"
"Bye."
msgstr ""
+"ÐÑиÑ
Ð²Ð°Ð½Ð°Ñ Ñигнал SIGHUP!\n"
+"Ðовиждане."
#: src/LyX.cpp:703
msgid ""
"SIGFPE signal caught!\n"
"Bye."
msgstr ""
+"ÐÑиÑ
Ð²Ð°Ð½Ð°Ñ Ñигнал SIGFPE!\n"
+"Ðовиждане."
#: src/LyX.cpp:706
msgid ""
@@ -34854,7 +34326,7 @@ msgstr ""
#: src/LyX.cpp:722
msgid "LyX crashed!"
-msgstr ""
+msgstr "Lyx Ñе ÑÑина!"
# src/frontends/kde/FormPrint.C:118
#: src/LyX.cpp:756
@@ -34863,9 +34335,8 @@ msgstr "LyX: "
# src/support/filetools.C:453
#: src/LyX.cpp:1024
-#, fuzzy
msgid "Could not create temporary directory"
-msgstr "ÐÑеÑка! Ðе мога да ÑÑздам вÑеменна диÑекÑоÑиÑ: "
+msgstr "ÐеÑÑпеÑно ÑÑздаване на вÑеменна диÑекÑоÑиÑ"
#: src/LyX.cpp:1025
#, c-format
@@ -34877,9 +34348,8 @@ msgstr ""
# src/lyx_main.C:575
#: src/LyX.cpp:1089
-#, fuzzy
msgid "Missing user LyX directory"
-msgstr "LyX: СÑздавам диÑекÑоÑÐ¸Ñ "
+msgstr "ÐипÑваÑа поÑÑебиÑелÑка LyX диÑекÑоÑиÑ"
#: src/LyX.cpp:1090
#, c-format
@@ -34887,20 +34357,21 @@ 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/xforms/xform_helpers.C:252
#: src/LyX.cpp:1095
-#, fuzzy
msgid "&Create directory"
-msgstr "ÐевÑзможноÑÑ Ð·Ð° ÑеÑене на Ñази диÑекÑоÑиÑ."
+msgstr "&СÑздаване на диÑекÑоÑиÑ"
#: src/LyX.cpp:1096
msgid "&Exit LyX"
-msgstr "&(E)ÐзÑ
од LyX"
+msgstr "&Ðзлизане Ð¾Ñ LyX"
#: src/LyX.cpp:1097
msgid "No user LyX directory. Exiting."
-msgstr ""
+msgstr "ÐÑма поÑÑебиÑелÑка LyX диÑекÑоÑиÑ. Ðзлизане."
# src/lyx_main.C:576
#: src/LyX.cpp:1101
@@ -34913,20 +34384,21 @@ msgid ""
"Failed to create directory. Perhaps wrong -userdir option?\n"
"Exiting."
msgstr ""
+"ÐеÑÑпеÑно ÑÑздаване на диÑекÑоÑиÑ. ÐеÑоÑÑно гÑеÑна опÑÐ¸Ñ â-userdirâ!\n"
+"Ðзлизане."
# src/lyx_main.C:749
#: src/LyX.cpp:1179
msgid "List of supported debug flags:"
msgstr "СпиÑÑк на поддÑÑжаниÑе debug опÑии:"
-# src/lyx_main.C:704
-#: src/LyX.cpp:1183
-#, fuzzy, c-format
-msgid "Setting debug level to %1$s"
-msgstr "УÑÑановÑване на ниво за ÑÑобÑÐµÐ½Ð¸Ñ Ð·Ð° оÑкÑиване на гÑеÑки на %1$s"
+#: src/LyX.cpp:1188
+#, c-format
+msgid "Bad debug value `%1$s'. Exiting."
+msgstr "ÐепÑавилна ÑÑойноÑÑ Ð·Ð° оÑÑÑÑанÑване на гÑеÑки â%1$s. Ðзлизане.â"
# src/lyx_main.C:716
-#: src/LyX.cpp:1194
+#: src/LyX.cpp:1199
msgid ""
"Usage: lyx [ command line switches ] [ name.lyx ... ]\n"
"Command line switches (case sensitive):\n"
@@ -35034,77 +34506,67 @@ msgstr ""
"\t-version обобÑение на веÑÑÐ¸Ñ Ð¸ инÑоÑмаÑÐ¸Ñ Ð·Ð° компилиÑанеÑо.\n"
"ÐижÑе man ÑÑÑаниÑаÑа на LyX за повеÑе инÑоÑмаÑиÑ."
-#: src/LyX.cpp:1247 src/frontends/qt/GuiAbout.cpp:213
+#: src/LyX.cpp:1252 src/frontends/qt/GuiAbout.cpp:222
msgid " Git commit hash "
msgstr " Ð¥ÐµÑ Ð½Ð° Git за пÑомÑна "
# src/lyxfunc.C:1132
-#: src/LyX.cpp:1258 src/support/Package.cpp:644
-#, fuzzy
+#: src/LyX.cpp:1263 src/support/Package.cpp:645
msgid "No system directory"
-msgstr "ÐоÑÑебиÑелÑка диÑекÑоÑиÑ: "
+msgstr "ÐипÑва ÑиÑÑемна диÑекÑоÑиÑ"
# src/lyx_main.C:761
-#: src/LyX.cpp:1259
-#, fuzzy
+#: src/LyX.cpp:1264
msgid "Missing directory for -sysdir switch"
-msgstr "ÐипÑваÑа диÑекÑоÑÐ¸Ñ Ð·Ð° -sysdir опÑиÑÑа!"
+msgstr "ÐипÑва диÑекÑоÑиÑÑа Ð¾Ñ Ð¾Ð¿ÑиÑÑа â-sysdirâ!"
# src/lyxfunc.C:1132
-#: src/LyX.cpp:1270
-#, fuzzy
+#: src/LyX.cpp:1275
msgid "No user directory"
-msgstr "ÐоÑÑебиÑелÑка диÑекÑоÑиÑ: "
+msgstr "ÐипÑва поÑÑебиÑелÑка диÑекÑоÑиÑ"
# src/lyx_main.C:772
-#: src/LyX.cpp:1271
-#, fuzzy
+#: src/LyX.cpp:1276
msgid "Missing directory for -userdir switch"
-msgstr "ÐипÑваÑа диÑекÑоÑÐ¸Ñ Ð·Ð° -userdir опÑиÑÑа!"
+msgstr "ÐипÑва диÑекÑоÑиÑÑа Ð¾Ñ Ð¾Ð¿ÑиÑÑа â-userdirâ!"
# src/LyXAction.C:167
-#: src/LyX.cpp:1282
-#, fuzzy
+#: src/LyX.cpp:1287
msgid "Incomplete command"
-msgstr "ÐзпÑлни команда"
+msgstr "ÐепÑлна команда"
# src/lyx_main.C:795
-#: src/LyX.cpp:1283
-#, fuzzy
+#: src/LyX.cpp:1288
msgid "Missing command string after --execute switch"
-msgstr "ÐипÑваÑа команда Ñлед -x опÑиÑÑа!"
+msgstr "ÐипÑÐ²Ð°Ñ Ð½Ð¸Ð· за команда Ñлед опÑиÑÑа â--executeâ."
# src/lyx_main.C:808
-#: src/LyX.cpp:1294
-#, fuzzy
+#: src/LyX.cpp:1299
msgid "Missing file type [eg latex, ps...] after --export-to switch"
-msgstr "ÐипÑÐ²Ð°Ñ Ñип на Ñайл [напÑ. latex, ps...] Ñлед "
+msgstr "ÐипÑÐ²Ð°Ñ Ñип на Ñайл (напÑ. latex, ps...) Ñлед опÑиÑÑа â--export-toâ."
# src/lyx_main.C:808
-#: src/LyX.cpp:1299
-#, fuzzy
+#: src/LyX.cpp:1304
msgid "Missing destination filename after --export-to switch"
-msgstr "ÐипÑÐ²Ð°Ñ Ñип на Ñайл [напÑ. latex, ps...] Ñлед "
+msgstr "ÐипÑваÑо име на Ñайл за ÑезÑлÑаÑа Ñлед опÑиÑÑа â--export-toâ."
# src/lyx_main.C:808
-#: src/LyX.cpp:1312
-#, fuzzy
+#: src/LyX.cpp:1317
msgid "Missing file type [eg latex, ps...] after --export switch"
-msgstr "ÐипÑÐ²Ð°Ñ Ñип на Ñайл [напÑ. latex, ps...] Ñлед "
+msgstr "ÐипÑÐ²Ð°Ñ Ñип на Ñайл [напÑ. latex, ps...] Ñлед опÑиÑÑа â--exportâ. "
# src/lyx_main.C:808
-#: src/LyX.cpp:1325
-#, fuzzy
+#: src/LyX.cpp:1330
msgid "Missing file type [eg latex, ps...] after --import switch"
-msgstr "ÐипÑÐ²Ð°Ñ Ñип на Ñайл [напÑ. latex, ps...] Ñлед "
+msgstr "ÐипÑÐ²Ð°Ñ Ñип на Ñайл [напÑ. latex, ps...] Ñлед опÑиÑÑа â--importâ."
# src/lyxfunc.C:3216
-#: src/LyX.cpp:1330
+#: src/LyX.cpp:1335
msgid "Missing filename for --import"
-msgstr "ÐипÑва има на Ñайл за опÑиÑÑа â--importâ (импоÑÑиÑане)."
+msgstr "ÐипÑваÑо име на Ñайл за опÑиÑÑа â--importâ (импоÑÑиÑане)."
# src/lyxrc.C:1845
-#: src/LyXRC.cpp:3034
+#: src/LyXRC.cpp:3106
msgid ""
"Consider run-together words, such as \"diskdrive\" for \"disk drive\", as "
"legal words?"
@@ -35113,7 +34575,7 @@ msgstr ""
"пÑогÑамаâ и âоÑиÑÑенÑÑÑâ за âоÑÐ¸Ñ ÑенÑÑÑâ)?"
# src/lyxrc.C:1858
-#: src/LyXRC.cpp:3038
+#: src/LyXRC.cpp:3110
msgid ""
"Specify an alternate language. The default is to use the language of the "
"document."
@@ -35121,7 +34583,7 @@ msgstr ""
"ÐзбеÑеÑе алÑеÑнаÑивен език. Ðо подÑазбиÑане Ñе използва езика на докÑменÑа."
# src/lyxrc.C:1782
-#: src/LyXRC.cpp:3046
+#: src/LyXRC.cpp:3118
msgid ""
"De-select if you don't want the current selection to be replaced "
"automatically by what you type."
@@ -35130,7 +34592,7 @@ msgstr ""
"Ð¾Ñ Ñова, коеÑо пиÑеÑе."
# src/lyxrc.C:1782
-#: src/LyXRC.cpp:3050
+#: src/LyXRC.cpp:3122
#, fuzzy
msgid ""
"De-select if you don't want the class options to be reset to defaults after "
@@ -35140,13 +34602,13 @@ msgstr ""
"Ð¾Ñ Ñова, коеÑо пиÑеÑе."
# src/lyxrc.C:1758
-#: src/LyXRC.cpp:3054
+#: src/LyXRC.cpp:3126
msgid ""
"The time interval between auto-saves (in seconds). 0 means no auto-save."
msgstr "ÐнÑеÑвалÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð°Ð²ÑозапиÑиÑе (в ÑекÑнди). 0 ознаÑава без авÑозапиÑ."
# src/lyxrc.C:1896
-#: src/LyXRC.cpp:3061
+#: src/LyXRC.cpp:3133
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."
@@ -35154,18 +34616,18 @@ msgstr ""
"ÐÑÑ Ð·Ð° ÑÑÑ
Ñанение на ÑезеÑвниÑе копиÑ. Ðко е пÑазен низ, LyX Ñе запазва "
"ÑезеÑвноÑо копие в ÑÑÑаÑа диÑекÑоÑиÑ, кÑдеÑо е оÑигиналниÑÑ Ñайл."
-#: src/LyXRC.cpp:3065
+#: src/LyXRC.cpp:3137
msgid ""
"Define the options of bibtex (cf. man bibtex) or select an alternative "
"compiler (e.g. mlbibtex or bibulus)."
msgstr ""
-#: src/LyXRC.cpp:3069
+#: src/LyXRC.cpp:3141
msgid "Define the options of the bibtex program for PLaTeX (Japanese LaTeX)."
msgstr ""
# src/lyxrc.C:1795
-#: src/LyXRC.cpp:3073
+#: src/LyXRC.cpp:3145
msgid ""
"Keybindings file. Can either specify an absolute path, or LyX will look in "
"its global and local bind/ directories."
@@ -35174,12 +34636,12 @@ msgstr ""
"Ñе ÑÑÑÑи в глобалнаÑа и локалнаÑа bind/ диÑекÑоÑии."
# src/lyxrc.C:1831
-#: src/LyXRC.cpp:3077
+#: src/LyXRC.cpp:3149
msgid "Select to check whether the lastfiles still exist."
msgstr "ÐзбеÑеÑе за пÑовеÑка дали поÑледниÑе Ñайлове оÑе ÑÑÑеÑÑвÑваÑ."
# src/lyxrc.C:1876
-#: src/LyXRC.cpp:3081
+#: src/LyXRC.cpp:3153
msgid ""
"Define how to run chktex. E.g. \"chktex -n11 -n1 -n3 -n6 -n9 -22 -n25 -n30 -"
"n38\" Refer to the ChkTeX documentation."
@@ -35187,20 +34649,20 @@ msgstr ""
"УкажеÑе как да бÑде ÑÑаÑÑиÑан chktex, напÑ. \"chktex -n11 -n1 -n3 -n6 -n9 "
"-22 -n25 -n30 -n38\". ÐбÑÑнеÑе Ñе кÑм ChkTeX докÑменÑаÑиÑÑа."
-#: src/LyXRC.cpp:3088
+#: src/LyXRC.cpp:3160
msgid ""
"Forbid use of external converters with 'needauth' option to prevent "
"undesired effects."
msgstr ""
-#: src/LyXRC.cpp:3092
+#: src/LyXRC.cpp:3164
msgid ""
"Ask user before calling external converters with 'needauth' option to "
"prevent undesired effects."
msgstr ""
# src/lyxrc.C:1880
-#: src/LyXRC.cpp:3099
+#: src/LyXRC.cpp:3171
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."
@@ -35210,7 +34672,7 @@ msgstr ""
"екÑана."
# src/lyxrc.C:1880
-#: src/LyXRC.cpp:3107
+#: src/LyXRC.cpp:3179
#, fuzzy
msgid ""
"LyX normally doesn't allow the user to scroll further than the bottom of the "
@@ -35220,22 +34682,22 @@ msgstr ""
"Ðбикновено LyX не акÑÑализиÑа позиÑиÑÑа на кÑÑÑоÑа, когаÑо пÑемеÑÑваÑе "
"ÑкÑолбаÑа. ÐзбеÑеÑе Ñова, ако пÑедпоÑиÑаÑе кÑÑÑоÑÑÑ Ð²Ð¸Ð½Ð°Ð³Ð¸ да е на екÑана."
-#: src/LyXRC.cpp:3111
+#: src/LyXRC.cpp:3183
msgid "Make Apple key act as Meta and Control key as Ctrl."
msgstr ""
-#: src/LyXRC.cpp:3115
+#: src/LyXRC.cpp:3187
msgid "Use the Mac OS X conventions for cursor movement"
msgstr ""
-#: src/LyXRC.cpp:3119
+#: src/LyXRC.cpp:3191
msgid ""
"Show a small box around a Math Macro with the macro name when the cursor is "
"inside."
msgstr ""
# src/lyxrc.C:1795
-#: src/LyXRC.cpp:3123
+#: src/LyXRC.cpp:3195
#, fuzzy
msgid ""
"Command definition file. Can either specify an absolute path, or LyX will "
@@ -35244,27 +34706,27 @@ msgstr ""
"Файл Ñ ÐºÐ»Ð°Ð²Ð¸Ñни комбинаÑии. ÐожеÑе или да зададеÑе абÑолÑÑен пÑÑ, или LyX "
"Ñе ÑÑÑÑи в глобалнаÑа и локалнаÑа bind/ диÑекÑоÑии."
-#: src/LyXRC.cpp:3127
+#: src/LyXRC.cpp:3199
msgid ""
"The default format used with LFUN_BUFFER_[VIEW|UPDATE] with non-TeX fonts."
msgstr ""
-#: src/LyXRC.cpp:3131
+#: src/LyXRC.cpp:3203
msgid "The default format used with LFUN_BUFFER_[VIEW|UPDATE]."
msgstr ""
-#: src/LyXRC.cpp:3135
+#: src/LyXRC.cpp:3207
msgid ""
"Iconify the dialogs when the main window is iconified. (Affects only dialogs "
"shown after the change has been made.)"
msgstr ""
-#: src/LyXRC.cpp:3139
+#: src/LyXRC.cpp:3211
msgid "Select how LyX will display any graphics."
msgstr ""
# src/lyxrc.C:1766
-#: src/LyXRC.cpp:3143
+#: src/LyXRC.cpp:3215
#, fuzzy
msgid ""
"The default path for your documents. An empty value selects the directory "
@@ -35272,41 +34734,41 @@ msgid ""
msgstr "ÐÑÑÑ, койÑо LyX Ñе покаже, когаÑо пÑедлага Ð¸Ð·Ð±Ð¾Ñ Ð½Ð° Ñаблон."
# src/lyxrc.C:1868
-#: src/LyXRC.cpp:3147
+#: src/LyXRC.cpp:3219
msgid "Specify additional chars that can be part of a word."
msgstr "УкажеÑе допÑлниÑелни Ñимволи, коиÑо Ð¼Ð¾Ð³Ð°Ñ Ð´Ð° Ñа ÑаÑÑ Ð¾Ñ Ð´Ñма."
# src/lyxrc.C:1766
-#: src/LyXRC.cpp:3151
+#: src/LyXRC.cpp:3223
#, fuzzy
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 Ñе покаже, когаÑо пÑедлага Ð¸Ð·Ð±Ð¾Ñ Ð½Ð° Ñаблон."
-#: src/LyXRC.cpp:3158
+#: src/LyXRC.cpp:3230
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 ""
-#: src/LyXRC.cpp:3162
+#: src/LyXRC.cpp:3234
msgid "Define the options of the index program for PLaTeX (Japanese LaTeX)."
msgstr ""
-#: src/LyXRC.cpp:3166
+#: src/LyXRC.cpp:3238
msgid ""
"Define the options of makeindex (cf. man makeindex) to be used for "
"nomenclatures. This might differ from the index processing options."
msgstr ""
-#: src/LyXRC.cpp:3170
+#: src/LyXRC.cpp:3242
msgid "The command to run the python pygments syntax highlighter."
msgstr ""
# src/lyxrc.C:1805
-#: src/LyXRC.cpp:3179
+#: src/LyXRC.cpp:3251
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."
@@ -35316,7 +34778,7 @@ msgstr ""
"амеÑиканÑка подÑедба."
# src/lyxrc.C:1920
-#: src/LyXRC.cpp:3183
+#: src/LyXRC.cpp:3255
msgid ""
"Select if a language switching command is needed at the beginning of the "
"document."
@@ -35324,14 +34786,14 @@ msgstr ""
"ÐзбеÑеÑе, ако е необÑ
одима команда за ÑмÑна на езика в наÑалоÑо на докÑменÑа."
# src/lyxrc.C:1924
-#: src/LyXRC.cpp:3187
+#: src/LyXRC.cpp:3259
msgid ""
"Select if a language switching command is needed at the end of the document."
msgstr ""
"ÐзбеÑеÑе, ако е необÑ
одима команда за ÑмÑна на езика в кÑÐ°Ñ Ð½Ð° докÑменÑа."
# src/lyxrc.C:1928
-#: src/LyXRC.cpp:3191
+#: src/LyXRC.cpp:3263
#, fuzzy
msgid ""
"The LaTeX command for changing from the language of the document to another "
@@ -35342,19 +34804,19 @@ msgstr ""
"\\selectlanguage{$$lang}; кÑдеÑо $$lang Ñе замеÑÑва и имеÑо на вÑоÑÐ¸Ñ ÐµÐ·Ð¸Ðº."
# src/lyxrc.C:1932
-#: src/LyXRC.cpp:3195
+#: src/LyXRC.cpp:3267
#, fuzzy
msgid "The LaTeX command for changing back to the language of the document."
msgstr "LaTeX командаÑа за вÑÑÑане кÑм езика на докÑменÑа."
# src/lyxrc.C:1936
-#: src/LyXRC.cpp:3199
+#: src/LyXRC.cpp:3271
#, fuzzy
msgid "The LaTeX command for local changing of the language."
msgstr "LaTeX командаÑа за локална ÑмÑна на езика."
# src/lyxrc.C:1912
-#: src/LyXRC.cpp:3203
+#: src/LyXRC.cpp:3275
#, fuzzy
msgid ""
"De-select if you don't want the language(s) used as an argument to "
@@ -35364,7 +34826,7 @@ msgstr ""
"\\documentclass командаÑа."
# src/lyxrc.C:1908
-#: src/LyXRC.cpp:3207
+#: src/LyXRC.cpp:3279
#, fuzzy
msgid ""
"The LaTeX command for loading the language package. E.g. "
@@ -35374,7 +34836,7 @@ msgstr ""
"\"\\usepackage{babel}\", \"\\usepackage{omega}\"."
# src/lyxrc.C:1916
-#: src/LyXRC.cpp:3211
+#: src/LyXRC.cpp:3283
#, fuzzy
msgid ""
"De-select if you don't want babel to be used when the language of the "
@@ -35384,22 +34846,22 @@ msgstr ""
"ÑÑандаÑÑниÑ."
# src/lyxrc.C:1892
-#: src/LyXRC.cpp:3215
+#: src/LyXRC.cpp:3287
#, fuzzy
msgid "De-select if you do not want LyX to scroll to saved position."
msgstr "ÐзклÑÑеÑе, ако не иÑкаÑе LyX да ÑÑздава ÑезеÑвни (backup) копиÑ."
-#: src/LyXRC.cpp:3219
+#: src/LyXRC.cpp:3291
msgid "De-select to prevent loading files opened from the last LyX session."
msgstr ""
# src/lyxrc.C:1892
-#: src/LyXRC.cpp:3223
+#: src/LyXRC.cpp:3295
msgid "De-select if you don't want LyX to create backup files."
msgstr "ÐзклÑÑеÑе, ако не иÑкаÑе LyX да ÑÑздава ÑезеÑвни (backup) копиÑ."
# src/lyxrc.C:1904
-#: src/LyXRC.cpp:3227
+#: src/LyXRC.cpp:3299
msgid ""
"Select to control the highlighting of words with a language foreign to that "
"of the document."
@@ -35407,107 +34869,111 @@ msgstr ""
"ÐзбеÑеÑе за да конÑÑолиÑаÑе оÑкÑоÑванеÑо на дÑми Ñ ÑазлиÑен език Ð¾Ñ Ñози на "
"докÑменÑа."
-#: src/LyXRC.cpp:3235
+#: src/LyXRC.cpp:3307
msgid "The scrolling speed of the mouse wheel."
msgstr ""
-#: src/LyXRC.cpp:3239
+#: src/LyXRC.cpp:3311
msgid "The completion popup delay."
msgstr ""
-#: src/LyXRC.cpp:3243
+#: src/LyXRC.cpp:3315
msgid "Select to display the completion popup in math mode."
msgstr ""
-#: src/LyXRC.cpp:3247
+#: src/LyXRC.cpp:3319
msgid "Select to display the completion popup in text mode."
msgstr ""
-#: src/LyXRC.cpp:3251
+#: src/LyXRC.cpp:3323
msgid ""
"Show the completion popup without delay after non-unique completion attempt."
msgstr ""
+"Ðезабавно показване на изÑкаÑÐ°Ñ Ð¿ÑозоÑÐµÑ Ð·Ð° Ð¸Ð·Ð±Ð¾Ñ Ñлед Ð¾Ð¿Ð¸Ñ Ð·Ð° допиÑване Ñ Ð¿Ð¾Ð²ÐµÑе Ð¾Ñ ÐµÐ´Ð½Ð° вÑзможноÑÑ."
-#: src/LyXRC.cpp:3255
+#: src/LyXRC.cpp:3327
msgid ""
"Show a small triangle on the cursor to indicate that a completion is "
"available."
msgstr ""
+"Ðоказване на малÑк ÑÑиÑгÑлник вÑÑÑ
Ñ ÐºÑÑÑоÑа каÑо знак, Ñе е вÑзможно допиÑване."
-#: src/LyXRC.cpp:3259
+#: src/LyXRC.cpp:3331
msgid "The inline completion delay."
-msgstr ""
+msgstr "ÐабавÑне за авÑомаÑиÑноÑо допиÑване."
-#: src/LyXRC.cpp:3263
+#: src/LyXRC.cpp:3335
msgid "Select to display the inline completion in math mode."
-msgstr ""
+msgstr "ÐÐ·Ð±Ð¾Ñ Ð·Ð° показване на авÑомаÑиÑно допиÑване в Ñежим маÑемаÑика."
-#: src/LyXRC.cpp:3267
+#: src/LyXRC.cpp:3339
msgid "Select to display the inline completion in text mode."
-msgstr ""
+msgstr "ÐÐ·Ð±Ð¾Ñ Ð·Ð° показване на авÑомаÑиÑно допиÑване в Ñежим ÑекÑÑ."
-#: src/LyXRC.cpp:3271
+#: src/LyXRC.cpp:3343
msgid "Use \"...\" to shorten long completions."
-msgstr ""
+msgstr "Ðзползване на \"...\" за ÑÑкÑаÑавене на дÑлги допиÑваниÑ."
-#: src/LyXRC.cpp:3275
+#: src/LyXRC.cpp:3347
msgid "Allow TeXMacs shorthand, like => converting to \\Rightarrow."
msgstr ""
# src/lyxrc.C:1827
-#: src/LyXRC.cpp:3279
+#: src/LyXRC.cpp:3351
#, fuzzy, c-format
msgid "Maximal number of lastfiles. Up to %1$d can appear in the file menu."
msgstr ""
-"ÐакÑимален бÑой поÑледни Ñайлове. ÐÑв менÑÑо Файл Ð¼Ð¾Ð³Ð°Ñ Ð´Ð° Ñе Ð²Ð¸Ð¶Ð´Ð°Ñ Ð´Ð¾ 9."
+"ÐакÑимален бÑой поÑледно използвани Ñайлове. ÐÑв менÑÑо âФайлâ Ð¼Ð¾Ð³Ð°Ñ Ð´Ð° Ñе Ð²Ð¸Ð¶Ð´Ð°Ñ Ð´Ð¾ %1$d."
-#: src/LyXRC.cpp:3284
+#: src/LyXRC.cpp:3356
msgid ""
"Specify those directories which should be prepended to the PATH environment "
"variable.\n"
"Use the OS native format."
msgstr ""
+"ÐоÑоÑване на диÑекÑоÑииÑе, коиÑо да Ñе добавÑÑ Ð¾ÑпÑед кÑм пÑоменливаÑа на ÑÑедаÑа âPATHâ.\n"
+"Ðзползва Ñе ÑоÑмаÑа на ÐС."
-#: src/LyXRC.cpp:3290
+#: src/LyXRC.cpp:3362
msgid "Shows a typeset preview of things such as math"
msgstr ""
-#: src/LyXRC.cpp:3294
+#: src/LyXRC.cpp:3366
msgid "Previewed equations will have \"(#)\" labels rather than numbered ones"
msgstr ""
-#: src/LyXRC.cpp:3298
+#: src/LyXRC.cpp:3370
msgid "Scale the preview size to suit."
msgstr ""
# src/lyxrc.C:1680
-#: src/LyXRC.cpp:3302
+#: src/LyXRC.cpp:3374
msgid "The option to print out in landscape."
msgstr "ÐпÑÐ¸Ñ Ð·Ð° пеÑÐ°Ñ Ð½Ð° пейзаж."
# src/lyxrc.C:1688
-#: src/LyXRC.cpp:3306
+#: src/LyXRC.cpp:3378
msgid "Option to specify the dimensions of the print paper."
msgstr "ÐаÑамеÑÑÑ Ð·Ð° Ñказване на ÑазмеÑиÑе на Ñ
аÑÑиÑÑа."
# src/lyxrc.C:1684
-#: src/LyXRC.cpp:3310
+#: src/LyXRC.cpp:3382
msgid "The option to specify paper type."
msgstr "ÐаÑамеÑÑÑ Ð·Ð° Ñказване на вида Ñ
аÑÑиÑ."
-#: src/LyXRC.cpp:3314
+#: src/LyXRC.cpp:3386
msgid ""
"Select to have visual bidi cursor movement, unselect for logical movement."
msgstr ""
-#: src/LyXRC.cpp:3318
+#: src/LyXRC.cpp:3390
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/lyxrc.C:1720
-#: src/LyXRC.cpp:3322
+#: src/LyXRC.cpp:3394
msgid ""
"DPI (dots per inch) of your monitor is auto-detected by LyX. If that goes "
"wrong, override the setting here."
@@ -35516,11 +34982,11 @@ msgstr ""
"Ð¾Ñ LyX. Ðко Ñе опÑедели непÑавилно, избеÑеÑе ÑÑойноÑÑÑа оÑÑÑк."
# src/lyxrc.C:1735
-#: src/LyXRC.cpp:3328
+#: src/LyXRC.cpp:3400
msgid "The screen fonts used to display the text while editing."
msgstr "ÐкÑанниÑе ÑÑиÑÑове за изобÑазÑване на ÑекÑÑ Ð¿Ð¾ вÑеме на ÑедакÑиÑане."
-#: src/LyXRC.cpp:3337
+#: src/LyXRC.cpp:3409
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 "
@@ -35528,13 +34994,13 @@ msgid ""
msgstr ""
# src/lyxrc.C:1729
-#: src/LyXRC.cpp:3341
+#: src/LyXRC.cpp:3413
msgid "The font sizes used for calculating the scaling of the screen fonts."
msgstr ""
"РазмеÑиÑе на ÑÑиÑÑовеÑе за изÑиÑлÑване на маÑабиÑанеÑо на екÑанниÑе ÑÑиÑÑове."
# src/lyxrc.C:1725
-#: src/LyXRC.cpp:3346
+#: src/LyXRC.cpp:3418
#, no-c-format
msgid ""
"The zoom percentage for screen fonts. A setting of 100% will make the fonts "
@@ -35543,12 +35009,12 @@ msgstr ""
"ÐÑоÑÐµÐ½Ñ Ð½Ð° маÑабиÑане на екÑанниÑе ÑÑиÑÑове. СÑойноÑÑÑа 100% Ñе напÑави "
"ÑазмеÑÑÑ Ð¿ÑиблизиÑелно какÑо на Ñ
аÑÑиÑÑа."
-#: src/LyXRC.cpp:3350
+#: src/LyXRC.cpp:3422
msgid "Allow session manager to save and restore windows geometry."
msgstr ""
# src/lyxrc.C:1791
-#: src/LyXRC.cpp:3354
+#: src/LyXRC.cpp:3426
msgid ""
"This starts the lyxserver. The pipes get an additional extension \".in\" and "
"\".out\". Only for advanced users."
@@ -35557,12 +35023,12 @@ msgstr ""
"\" und \".out\". Само за напÑеднали поÑÑебиÑели."
# src/lyxrc.C:1945
-#: src/LyXRC.cpp:3361
+#: src/LyXRC.cpp:3433
msgid "De-select if you don't want the startup banner."
msgstr "ÐзклÑÑеÑе ако не иÑкаÑе наÑалноÑо лого"
# src/lyxrc.C:1770
-#: src/LyXRC.cpp:3365
+#: src/LyXRC.cpp:3437
msgid ""
"LyX will place its temporary directories in this path. They will be deleted "
"when you quit LyX."
@@ -35570,19 +35036,19 @@ msgstr ""
"LyX Ñе Ñазположи ÑвоиÑе вÑеменни диÑекÑоÑии на Ñози пÑÑ. Те Ñе бÑÐ´Ð°Ñ "
"изÑÑиÑи, когаÑо излезеÑе Ð¾Ñ LyX."
-#: src/LyXRC.cpp:3369
+#: src/LyXRC.cpp:3441
msgid "This is the place where the files of the thesaurus library reside."
msgstr ""
# src/lyxrc.C:1766
-#: src/LyXRC.cpp:3373
+#: src/LyXRC.cpp:3445
#, fuzzy
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 Ñе покаже, когаÑо пÑедлага Ð¸Ð·Ð±Ð¾Ñ Ð½Ð° Ñаблон."
-#: src/LyXRC.cpp:3383
+#: src/LyXRC.cpp:3455
msgid ""
"Specify those directories which should be prepended to the TEXINPUTS "
"environment variable.\n"
@@ -35590,7 +35056,7 @@ msgid ""
msgstr ""
# src/lyxrc.C:1799
-#: src/LyXRC.cpp:3390
+#: src/LyXRC.cpp:3462
#, fuzzy
msgid ""
"The UI (user interface) file. Can either specify an absolute path, or LyX "
@@ -35599,17 +35065,17 @@ msgstr ""
"ÐÐ (ÐоÑÑебиÑелÑки ÐнÑеÑÑейÑ) Ñайл. ÐожеÑе или да зададеÑе абÑолÑÑен пÑÑ, или "
"LyX Ñе ÑÑÑÑи в глобалнаÑа и локалнаÑа ui/ диÑекÑоÑии."
-#: src/LyXRC.cpp:3400
+#: src/LyXRC.cpp:3472
msgid ""
"Enable use the system colors for some things like main window background and "
"selection."
msgstr ""
-#: src/LyXRC.cpp:3404
+#: src/LyXRC.cpp:3476
msgid "Enable the automatic appearance of tool tips in the work area."
msgstr ""
-#: src/LyXRC.cpp:3408
+#: src/LyXRC.cpp:3480
msgid "Specify the paper command to DVI viewer (leave empty or use \"-paper\")"
msgstr ""
@@ -35670,7 +35136,7 @@ msgid "(no log message)"
msgstr "(нÑма пÑоÑоколно ÑÑобÑение)"
# src/lyxvc.C:139
-#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3657
+#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3849
msgid "LyX VC: Log Message"
msgstr "LyX СÐÐ: жÑÑнално ÑÑобÑение"
@@ -35690,21 +35156,21 @@ msgid "Revert to stored version of document?"
msgstr "ÐаÑкиÑай до кÑÐ°Ñ Ð½Ð° докÑменÑа"
# src/ext_l10n.h:30
-#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4241
+#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4433
#, fuzzy
msgid "&Revert"
msgstr "РегиÑÑÑиÑай(R)|R"
# src/frontends/kde/paradlg.C:95 src/paragraph.C:1957
-#: src/Paragraph.cpp:2139
+#: src/Paragraph.cpp:2152
msgid "Senseless with this layout!"
msgstr "Ðеизползваем Ñ Ñова оÑоÑмление!"
-#: src/Paragraph.cpp:2193
+#: src/Paragraph.cpp:2206
msgid "Alignment not permitted"
msgstr ""
-#: src/Paragraph.cpp:2194
+#: src/Paragraph.cpp:2207
msgid ""
"The new layout does not permit the alignment previously used.\n"
"Setting to default."
@@ -35717,12 +35183,12 @@ msgid "Unknown Inset"
msgstr "ÐепознаÑо дейÑÑвие"
# src/LyXAction.C:263
-#: src/Text.cpp:554 src/insets/InsetTabular.cpp:472
+#: src/Text.cpp:554 src/insets/InsetTabular.cpp:473
#, fuzzy
msgid "Change tracking author index missing"
msgstr "СмÑна на език"
-#: src/Text.cpp:555 src/insets/InsetTabular.cpp:473
+#: src/Text.cpp:555 src/insets/InsetTabular.cpp:474
#, c-format
msgid ""
"A change tracking author information for index %1$d is missing. This can "
@@ -35743,20 +35209,18 @@ msgid ""
"You cannot insert a space at the beginning of a paragraph. Please read the "
"Tutorial."
msgstr ""
-"Ðе можеÑе да поÑÑавÑÑе инÑеÑвали в наÑалоÑо на абзаÑа. ÐÑоÑеÑеÑе кÑаÑкоÑо "
-"обÑÑение.Sie das Tutorium."
+"Ðе може да Ñе поÑÑавÑÑ Ð¸Ð½ÑеÑвали в наÑалоÑо на абзаÑа. ÐÑовеÑеÑе ÑÑководÑÑвоÑо."
# src/text.C:2005
#: src/Text.cpp:966
msgid "You cannot type two spaces this way. Please read the Tutorial."
msgstr ""
-"Ðе можеÑе да вÑвеждаÑе поÑледоваÑелно два или повеÑе инÑеÑвали! ÐÑоÑеÑеÑе "
+"Ðе може да Ñе вÑÐ²ÐµÐ¶Ð´Ð°Ñ Ð¿Ð¾ÑледоваÑелно два или повеÑе инÑеÑвали! ÐÑовеÑеÑе "
"ÑÑководÑÑвоÑо!"
#: src/Text.cpp:977
-#, fuzzy
msgid "Character is uncodable in this verbatim context."
-msgstr "Тази бÑква не може да Ñе кодиÑа в доÑÐ»Ð¾Ð²Ð½Ð¸Ñ ÐºÐ¾Ð½ÑекÑÑ."
+msgstr "Ðма знак, койÑо не може да Ñе кодиÑа в доÑÐ»Ð¾Ð²Ð½Ð¸Ñ ÐºÐ¾Ð½ÑекÑÑ."
# src/LyXAction.C:263
#: src/Text.cpp:2086
@@ -35777,9 +35241,9 @@ msgstr "ШÑиÑÑ: %1$s"
# src/bufferview_funcs.C:271
#: src/Text.cpp:2109
-#, fuzzy, c-format
+#, c-format
msgid ", Depth: %1$d"
-msgstr ", ÐÑлбоÑина: "
+msgstr ", ÐÑлбоÑина: %1$d"
# src/bufferview_funcs.C:277
#: src/Text.cpp:2115
@@ -35787,7 +35251,7 @@ msgid ", Spacing: "
msgstr ", ÐÑмеÑÑване: "
# src/bufferview_funcs.C:283
-#: src/Text.cpp:2121 src/frontends/qt/GuiDocument.cpp:869
+#: src/Text.cpp:2121 src/frontends/qt/GuiDocument.cpp:877
msgid "OneHalf"
msgstr "eдна и половина"
@@ -35798,9 +35262,8 @@ msgstr "ÐÑÑго ("
# src/insets/insetbib.C:340
#: src/Text.cpp:2138
-#, fuzzy
msgid ", Style: "
-msgstr "СÑил: "
+msgstr ", СÑил: "
# src/ext_l10n.h:303
#: src/Text.cpp:2144
@@ -35809,17 +35272,16 @@ msgstr ", ÐбзаÑ:"
# src/bufferview_funcs.C:271
#: src/Text.cpp:2145
-#, fuzzy
msgid ", Id: "
-msgstr ", ÐÑлбоÑина: "
+msgstr ", ÐÐ: "
-#: src/Text.cpp:2152
+#: src/Text.cpp:2155
msgid ", Char: 0x"
msgstr ", Символ: 0x"
-#: src/Text.cpp:2154
+#: src/Text.cpp:2157
msgid ", Boundary: "
-msgstr ""
+msgstr ", ÐÑаниÑа: "
# src/LyXAction.C:190
#: src/Text2.cpp:406
@@ -35828,63 +35290,61 @@ msgid "No font change defined."
msgstr "ÐÑм ÑледваÑа гÑеÑка"
# src/lyxfunc.C:2565 src/mathed/formula.C:486
-#: src/Text3.cpp:194
+#: src/Text3.cpp:200
msgid "Math editor mode"
msgstr "ÐаÑем. ÑедакÑоÑ"
-#: src/Text3.cpp:196
+#: src/Text3.cpp:202
msgid "No valid math formula"
-msgstr ""
+msgstr "ÐÑма валидна маÑ. ÑоÑмÑла"
-#: src/Text3.cpp:204 src/mathed/InsetMathNest.cpp:1024
+#: src/Text3.cpp:210 src/mathed/InsetMathNest.cpp:1032
msgid "Already in regular expression mode"
-msgstr ""
+msgstr "ÐеÑе е в Ñежим на ÑегÑлÑÑни изÑази"
# src/lyxfunc.C:2565 src/mathed/formula.C:486
-#: src/Text3.cpp:217
-#, fuzzy
+#: src/Text3.cpp:223
msgid "Regexp editor mode"
-msgstr "ÐаÑем. ÑедакÑоÑ"
+msgstr "Режим на ÑедакÑÐ¾Ñ Ð·Ð° ÑегÑлÑÑни изÑази"
# src/insets/insettext.C:1036 src/lyxfunc.C:1260
-#: src/Text3.cpp:1582
+#: src/Text3.cpp:1610
msgid "Layout "
-msgstr "ÐепознаÑо "
+msgstr "ÐÑоÑмление "
# src/insets/insettext.C:1036 src/lyxfunc.C:1261
-#: src/Text3.cpp:1583 src/Text3.cpp:2159
+#: src/Text3.cpp:1611 src/Text3.cpp:2182
msgid " not known"
-msgstr " оÑоÑмление"
+msgstr " непознаÑо"
# src/LColor.C:97
-#: src/Text3.cpp:2158
-#, fuzzy
+#: src/Text3.cpp:2181
msgid "Table Style "
-msgstr "Ñед на ÑаблиÑа"
+msgstr "СÑил на ÑаблиÑа"
# src/lyxfunc.C:1105 src/lyxfunc.C:2550
-#: src/Text3.cpp:2351 src/frontends/qt/GuiApplication.cpp:1826
+#: src/Text3.cpp:2374 src/frontends/qt/GuiApplication.cpp:1873
msgid "Missing argument"
msgstr "ÐипÑÐ²Ð°Ñ Ð°ÑгÑменÑ"
-#: src/Text3.cpp:2520
+#: src/Text3.cpp:2539
msgid "Invalid argument (number exceeds stack size)!"
-msgstr ""
+msgstr "Ðевалиден аÑгÑÐ¼ÐµÐ½Ñ (бÑÐ¾Ñ Ð¿ÑевиÑава ÑазмеÑа на ÑÑека!)"
-#: src/Text3.cpp:2524
+#: src/Text3.cpp:2543
msgid "Invalid argument (must be a non-negative number)!"
-msgstr ""
+msgstr "Ðевалиден аÑгÑÐ¼ÐµÐ½Ñ (ÑÑÑбва да е неоÑÑиÑаÑелно ÑиÑло!)"
-#: src/Text3.cpp:2529 src/Text3.cpp:2547
-#, fuzzy, c-format
+#: src/Text3.cpp:2548 src/Text3.cpp:2562
+#, c-format
msgid "Text properties applied: %1$s"
-msgstr "ÐаÑÑÑойки на ÑекÑÑа|Ñ"
+msgstr "ÐÑиложени наÑÑÑойки на ÑекÑÑа: %1$s"
-#: src/Text3.cpp:2706
+#: src/Text3.cpp:2721
msgid "Path to thesaurus directory not set!"
msgstr "ÐÑÑÑ Ð´Ð¾ диÑекÑоÑиÑÑа ÑÑÑ ÑÐ¸Ð½Ð¾Ð½Ð¸Ð¼Ð½Ð¸Ñ ÑеÑник не е зададен!"
-#: src/Text3.cpp:2707
+#: src/Text3.cpp:2722
msgid ""
"The path to the thesaurus directory has not been specified.\n"
"The thesaurus is not functional.\n"
@@ -35898,7 +35358,7 @@ msgstr ""
# src/frontends/kde/FormParagraph.C:183
# src/frontends/xforms/FormParagraph.C:148
-#: src/Text3.cpp:2774 src/Text3.cpp:2785
+#: src/Text3.cpp:2848 src/Text3.cpp:2859
msgid "Paragraph layout set"
msgstr "ÐÑоÑмÑне на абзаÑи"
@@ -35909,36 +35369,34 @@ msgstr "Ðо подÑазбиÑане"
# src/lyxfunc.C:1105 src/lyxfunc.C:2550
#: src/TextClass.cpp:943
-#, fuzzy
msgid "Missing File"
-msgstr "ÐипÑÐ²Ð°Ñ Ð°ÑгÑменÑ"
+msgstr "ÐипÑÐ²Ð°Ñ Ñайл"
#: src/TextClass.cpp:944
msgid "Could not find stdinsets.inc! This may lead to data loss!"
-msgstr ""
+msgstr "ФайлÑÑ stdinsets.inc не е оÑкÑиÑ! Това може да доведе до загÑба на данни!"
# src/ext_l10n.h:375
#: src/TextClass.cpp:947
-#, fuzzy
msgid "Corrupt File"
-msgstr "Ðодзаглавие"
+msgstr "ÐовÑеден Ñайл"
#: src/TextClass.cpp:948
msgid "Could not read stdinsets.inc! This may lead to data loss!"
-msgstr ""
+msgstr "ÐеÑÑпеÑно пÑоÑиÑане на stdinsets.inc! Това може да доведе до загÑба на данни!"
# src/insets/insettext.C:1036 src/lyxfunc.C:1261
-#: src/TextClass.cpp:1609
-#, fuzzy, c-format
+#: src/TextClass.cpp:1627
+#, c-format
msgid "%1$s (Float)"
-msgstr " оÑоÑмление"
+msgstr "%1$s (плаваÑ)"
-#: src/TextClass.cpp:1614
-#, fuzzy, c-format
+#: src/TextClass.cpp:1632
+#, c-format
msgid "Sub-%1$s (Float)"
-msgstr "Ðод-%1$s"
+msgstr "Ðод-%1$s (плаваÑ)"
-#: src/TextClass.cpp:1910
+#: src/TextClass.cpp:1928
#, c-format
msgid ""
"The module %1$s has been requested by\n"
@@ -35952,11 +35410,11 @@ msgstr ""
"пÑеконÑигÑÑиÑаÑе LyX.\n"
# src/lyx_cb.C:263
-#: src/TextClass.cpp:1914
+#: src/TextClass.cpp:1932
msgid "Module not available"
msgstr "ÐеналиÑен модÑл"
-#: src/TextClass.cpp:1921
+#: src/TextClass.cpp:1939
#, c-format
msgid ""
"The module %1$s requires a package that is not\n"
@@ -35975,16 +35433,16 @@ msgstr ""
"инÑоÑмаÑиÑ."
# src/lyx_cb.C:263
-#: src/TextClass.cpp:1928 src/TextClass.cpp:1961
+#: src/TextClass.cpp:1946 src/TextClass.cpp:1979
msgid "Package not available"
msgstr "ÐÐ°ÐºÐµÑ Ð½Ðµ е налиÑен"
-#: src/TextClass.cpp:1933
+#: src/TextClass.cpp:1951
#, c-format
msgid "Error reading module %1$s\n"
-msgstr ""
+msgstr "ÐÑеÑка пÑи ÑеÑене на модÑл %1$s\n"
-#: src/TextClass.cpp:1945
+#: src/TextClass.cpp:1963
#, c-format
msgid ""
"The cite engine %1$s has been requested by\n"
@@ -35992,14 +35450,16 @@ msgid ""
"available engines. If you recently installed it, you\n"
"probably need to reconfigure LyX.\n"
msgstr ""
+"ÐÑогÑамаÑа за ÑиÑиÑане %1$s Ñе изиÑква Ð¾Ñ Ñози докÑменÑ,\n"
+"но не е оÑкÑиÑа в ÑпиÑÑка Ñ Ð½Ð°Ð»Ð¸Ñни пÑогÑами. Ðко ÑÑе Ñ\n"
+"инÑÑалиÑали наÑкоÑо веÑоÑÑно ÑÑÑбва да пÑеконÑигÑÑиÑаÑе LyX.\n"
# src/lyx_cb.C:263
-#: src/TextClass.cpp:1949
-#, fuzzy
+#: src/TextClass.cpp:1967
msgid "Cite Engine not available"
-msgstr "ÐокÑменÑÑÑ Ð½Ðµ може да бÑде запиÑан!"
+msgstr "ÐÑма налиÑна пÑогÑама за ÑиÑиÑане!"
-#: src/TextClass.cpp:1954
+#: src/TextClass.cpp:1972
#, c-format
msgid ""
"The cite engine %1$s requires a package that is not\n"
@@ -36010,23 +35470,22 @@ msgid ""
"See section 3.1.2.3 (Modules) of the User's Guide for more information."
msgstr ""
-#: src/TextClass.cpp:1966
+#: src/TextClass.cpp:1984
#, c-format
msgid "Error reading cite engine %1$s\n"
-msgstr ""
+msgstr "ÐÑеÑка пÑи ÑеÑене на пÑогÑама за ÑиÑиÑане %1$s\n"
# src/lyxfunc.C:328 src/lyxfunc.C:2996
-#: src/TocBackend.cpp:270 src/insets/InsetIndex.cpp:477
-#: src/insets/InsetIndex.cpp:498
-#, fuzzy
+#: src/TocBackend.cpp:270 src/insets/InsetIndex.cpp:502
+#: src/insets/InsetIndex.cpp:523
msgid "unknown type!"
-msgstr "ÐепознаÑо дейÑÑвие"
+msgstr "Ð½ÐµÐ¿Ð¾Ð·Ð½Ð°Ñ Ñип!"
# src/frontends/kde/indexdlg.C:27 src/frontends/kde/indexdlg.C:28
#: src/TocBackend.cpp:273
-#, fuzzy, c-format
+#, c-format
msgid "Index Entries (%1$s)"
-msgstr "ÐÐ½Ð´ÐµÐºÑ Ð·Ð°Ð¿Ð¸Ñ"
+msgstr "ÐндекÑен Ð·Ð°Ð¿Ð¸Ñ (%1$s)"
# src/frontends/gnome/FormToc.C:100 src/frontends/gnome/FormToc.C:167
# src/frontends/kde/FormToc.C:167 src/frontends/kde/FormToc.C:168
@@ -36050,7 +35509,7 @@ msgstr "ÐдÑеÑи"
# src/frontends/xforms/FormCitation.C:37
#: src/TocBackend.cpp:292
msgid "Citations"
-msgstr "ЦиÑиÑаниÑ"
+msgstr "ÐÑепÑаÑки"
# src/frontends/kde/refdlg.C:30
#: src/TocBackend.cpp:293
@@ -36059,21 +35518,20 @@ msgstr "ÐÑикеÑи и пÑепÑаÑки"
#: src/TocBackend.cpp:294
msgid "Broken References and Citations"
-msgstr ""
+msgstr "Ðевалидни ÑказаÑели и пÑепÑаÑки"
# src/frontends/xforms/FormDocument.C:273 src/insets/figinset.C:1975
# src/insets/insetexternal.C:143 src/lyxfunc.C:3105 src/lyxfunc.C:3181
# src/lyxfunc.C:3313
-#: src/TocBackend.cpp:296 src/frontends/qt/GuiDocument.cpp:1760
+#: src/TocBackend.cpp:296 src/frontends/qt/GuiDocument.cpp:1774
msgid "Child Documents"
msgstr "ÐоддокÑменÑ"
# src/frontends/xforms/FormGraphics.C:36
# src/frontends/xforms/FormGraphics.C:359
#: src/TocBackend.cpp:297
-#, fuzzy
msgid "Graphics[[listof]]"
-msgstr "ÐзобÑажение"
+msgstr "ÐзобÑажениÑ"
# src/ext_l10n.h:191
#: src/TocBackend.cpp:298
@@ -36086,15 +35544,15 @@ msgid "Nomenclature Entries"
msgstr "РеÑник на ÑÑкÑаÑениÑÑа"
#: src/VCBackend.cpp:64
-msgid "Perhaps the RCS package is not installed on your system?"
-msgstr ""
+msgid "Check whether the GNU RCS package is installed on your system."
+msgstr "ÐÑбележеÑе дали пакеÑа GNU RCS е инÑÑалиÑан на ÑиÑÑемаÑа."
# src/debug.C:44
-#: src/VCBackend.cpp:65 src/VCBackend.cpp:874 src/VCBackend.cpp:879
-#: src/VCBackend.cpp:928 src/VCBackend.cpp:987 src/VCBackend.cpp:1046
-#: src/VCBackend.cpp:1054 src/VCBackend.cpp:1342 src/VCBackend.cpp:1444
-#: src/VCBackend.cpp:1450 src/VCBackend.cpp:1473 src/VCBackend.cpp:1948
-#: src/frontends/qt/GuiView.cpp:3573 src/frontends/qt/GuiView.cpp:3616
+#: src/VCBackend.cpp:65 src/VCBackend.cpp:880 src/VCBackend.cpp:885
+#: src/VCBackend.cpp:934 src/VCBackend.cpp:993 src/VCBackend.cpp:1052
+#: src/VCBackend.cpp:1060 src/VCBackend.cpp:1348 src/VCBackend.cpp:1450
+#: src/VCBackend.cpp:1456 src/VCBackend.cpp:1479 src/VCBackend.cpp:1964
+#: src/frontends/qt/GuiView.cpp:3765 src/frontends/qt/GuiView.cpp:3808
msgid "Revision control error."
msgstr "ÐÑеÑка в ÑиÑÑемаÑа за конÑÑол на ÑевизииÑе"
@@ -36109,44 +35567,44 @@ msgstr ""
"'%1$s'"
# src/frontends/kde/refdlg.C:81 src/frontends/kde/tocdlg.C:43
-#: src/VCBackend.cpp:635
+#: src/VCBackend.cpp:641
#, fuzzy
msgid "Up-to-date"
msgstr "(&U)ÐкÑÑализиÑай"
-#: src/VCBackend.cpp:637
+#: src/VCBackend.cpp:643
msgid "Locally Modified"
msgstr ""
-#: src/VCBackend.cpp:639
+#: src/VCBackend.cpp:645
msgid "Locally Added"
msgstr ""
-#: src/VCBackend.cpp:641
+#: src/VCBackend.cpp:647
msgid "Needs Merge"
msgstr ""
-#: src/VCBackend.cpp:643
+#: src/VCBackend.cpp:649
msgid "Needs Checkout"
msgstr ""
# src/frontends/xforms/form_preferences.C:923
-#: src/VCBackend.cpp:645
+#: src/VCBackend.cpp:651
#, fuzzy
msgid "No CVS file"
msgstr "вÑв Ñайл"
-#: src/VCBackend.cpp:647
+#: src/VCBackend.cpp:653
msgid "Cannot retrieve CVS status"
msgstr ""
-#: src/VCBackend.cpp:875
+#: src/VCBackend.cpp:881
msgid ""
"The repository version is newer then the current check out.\n"
"You have to update from repository first or revert your changes."
msgstr ""
-#: src/VCBackend.cpp:880
+#: src/VCBackend.cpp:886
#, c-format
msgid ""
"Bad status when checking in changes.\n"
@@ -36155,7 +35613,7 @@ msgid ""
"\n"
msgstr ""
-#: src/VCBackend.cpp:929 src/VCBackend.cpp:1474
+#: src/VCBackend.cpp:935 src/VCBackend.cpp:1480
#, c-format
msgid ""
"Error when updating from repository.\n"
@@ -36165,7 +35623,7 @@ msgid ""
"After pressing OK, LyX will try to reopen the resolved document."
msgstr ""
-#: src/VCBackend.cpp:963
+#: src/VCBackend.cpp:969
#, c-format
msgid ""
"There were detected changes in the working directory:\n"
@@ -36174,23 +35632,27 @@ msgid ""
"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/VCBackend.cpp:967 src/VCBackend.cpp:971 src/VCBackend.cpp:1515
-#: src/VCBackend.cpp:1519
+#: src/VCBackend.cpp:973 src/VCBackend.cpp:977 src/VCBackend.cpp:1521
+#: src/VCBackend.cpp:1525
msgid "Changes detected"
-msgstr ""
+msgstr "ÐÑкÑиÑи пÑомени"
# src/importer.C:81
-#: src/VCBackend.cpp:968 src/VCBackend.cpp:972
-#, fuzzy
+#: src/VCBackend.cpp:974 src/VCBackend.cpp:978
msgid "&Abort"
-msgstr "импоÑÑиÑан."
+msgstr "ÐÑекÑÑване"
-#: src/VCBackend.cpp:968 src/VCBackend.cpp:1516
+#: src/VCBackend.cpp:974 src/VCBackend.cpp:1522
msgid "View &Log ..."
-msgstr ""
+msgstr "ÐÑеглед на &жÑÑнал..."
-#: src/VCBackend.cpp:988
+#: src/VCBackend.cpp:994
#, c-format
msgid ""
"Error when updating document %1$s from repository.\n"
@@ -36200,34 +35662,38 @@ msgid ""
"After pressing OK, LyX will try to reopen the resolved document."
msgstr ""
-#: src/VCBackend.cpp:1047
+#: src/VCBackend.cpp:1053
#, 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/VCBackend.cpp:1055
+#: src/VCBackend.cpp:1061
#, 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/buffer.C:3331
-#: src/VCBackend.cpp:1327 src/VCBackend.cpp:1463 src/VCBackend.cpp:1500
-#: src/VCBackend.cpp:1554 src/VCBackend.cpp:1933
+#: src/VCBackend.cpp:1333 src/VCBackend.cpp:1469 src/VCBackend.cpp:1506
+#: src/VCBackend.cpp:1560 src/VCBackend.cpp:1949
msgid "Error: Could not generate logfile."
msgstr "ÐÑеÑка: Ðе може да Ñе ÑÑздаде жÑÑнален Ñайл."
-#: src/VCBackend.cpp:1343 src/VCBackend.cpp:1949
+#: src/VCBackend.cpp:1349 src/VCBackend.cpp:1965
msgid ""
"Error when committing to repository.\n"
"You have to manually resolve the problem.\n"
"LyX will reopen the document after you press OK."
msgstr ""
-#: src/VCBackend.cpp:1445
+#: src/VCBackend.cpp:1451
#, fuzzy
msgid ""
"Error while acquiring write lock.\n"
@@ -36236,7 +35702,7 @@ msgid ""
"Also check the access to the repository."
msgstr "ÐÑеÑка пÑи заÑвка за "
-#: src/VCBackend.cpp:1451
+#: src/VCBackend.cpp:1457
#, fuzzy
msgid ""
"Error while releasing write lock.\n"
@@ -36245,7 +35711,7 @@ msgstr ""
"ÐÑеÑка пÑи оÑвобождаване на Ð·Ð°Ð¿Ð¸Ñ Ð·Ð° заклÑÑване пÑи запиÑ\n"
"ÐÑовеÑеÑе доÑÑÑпа до ÐÐ"
-#: src/VCBackend.cpp:1510
+#: src/VCBackend.cpp:1516
#, c-format
msgid ""
"There were detected changes in the working directory:\n"
@@ -36257,63 +35723,61 @@ msgid ""
"Continue?"
msgstr ""
-#: src/VCBackend.cpp:1516 src/VCBackend.cpp:1520
-#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1862
-#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:350
-#: src/lyxfind.cpp:687 src/lyxfind.cpp:715
+#: src/VCBackend.cpp:1522 src/VCBackend.cpp:1526
+#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1895
+#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:351
+#: src/lyxfind.cpp:694 src/lyxfind.cpp:722
msgid "&Yes"
msgstr "&Ðа"
# src/lyxfont.C:407
-#: src/VCBackend.cpp:1516 src/VCBackend.cpp:1520
-#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1862
-#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:350
-#: src/lyxfind.cpp:687 src/lyxfind.cpp:715
+#: src/VCBackend.cpp:1522 src/VCBackend.cpp:1526
+#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1895
+#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:351
+#: src/lyxfind.cpp:694 src/lyxfind.cpp:722
msgid "&No"
msgstr "&Ðе"
-#: src/VCBackend.cpp:1579
+#: src/VCBackend.cpp:1585
msgid "SVN File Locking"
msgstr ""
-#: src/VCBackend.cpp:1580 src/VCBackend.cpp:1585
+#: src/VCBackend.cpp:1586 src/VCBackend.cpp:1591
msgid "Locking property unset."
msgstr ""
-#: src/VCBackend.cpp:1580 src/VCBackend.cpp:1585
+#: src/VCBackend.cpp:1586 src/VCBackend.cpp:1591
msgid "Locking property set."
msgstr ""
-#: src/VCBackend.cpp:1581
+#: src/VCBackend.cpp:1587
msgid "Do not forget to commit the locking property into the repository."
msgstr ""
# src/frontends/xforms/FormPreferences.C:2231
#: src/VSpace.cpp:189
msgid "Default skip"
-msgstr "ÑазÑÑоÑние по подÑазбиÑане"
+msgstr "по подÑазбиÑане"
# src/frontends/kde/parageneraldlg.C:39 src/frontends/kde/parageneraldlg.C:46
#: src/VSpace.cpp:192
-#, fuzzy
msgid "Small skip"
-msgstr "Ðалко ÑазÑÑоÑние"
+msgstr "малко"
# src/frontends/kde/parageneraldlg.C:40 src/frontends/kde/parageneraldlg.C:47
#: src/VSpace.cpp:195
msgid "Medium skip"
-msgstr "ÑÑедно ÑазÑÑоÑние"
+msgstr "ÑÑедно"
# src/frontends/kde/parageneraldlg.C:41 src/frontends/kde/parageneraldlg.C:48
#: src/VSpace.cpp:198
msgid "Big skip"
-msgstr "голÑмо ÑазÑÑоÑние"
+msgstr "голÑмо"
# src/frontends/xforms/form_paragraph.C:153
#: src/VSpace.cpp:207
-#, fuzzy
msgid "Vertical fill"
-msgstr "ÐеÑÑикално ÑазÑÑоÑние"
+msgstr "ÐеÑÑикално запÑлване"
# src/ext_l10n.h:99
#: src/VSpace.cpp:214
@@ -36334,7 +35798,7 @@ msgstr ""
# заглавие на диалог
# src/LyXAction.C:147
-#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4232
+#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4424
msgid "Reload saved document?"
msgstr "ÐÑезаÑеждане на запиÑан докÑменÑ"
@@ -36351,17 +35815,16 @@ msgstr "Ðе, &запази пÑомениÑе"
#: src/buffer_funcs.cpp:78
#, c-format
msgid "The file %1$s exists but is not readable by the current user."
-msgstr ""
+msgstr "ФайлÑÑ %1$s ÑÑÑеÑÑвÑва, но не може да Ñе пÑоÑеÑе Ð¾Ñ ÑекÑÑÐ¸Ñ Ð¿Ð¾ÑÑебиÑел."
# src/buffer.C:3331
#: src/buffer_funcs.cpp:81
-#, fuzzy
msgid "File not readable!"
-msgstr "ÐедÑзможна е ÑабоÑаÑа Ñ Ñайл: "
+msgstr "ФайлÑÑ Ð½Ðµ може да Ñе пÑоÑеÑе!"
# src/buffer.C:534
#: src/buffer_funcs.cpp:103
-#, fuzzy, c-format
+#, c-format
msgid ""
"The document %1$s does not yet exist.\n"
"\n"
@@ -36369,7 +35832,7 @@ msgid ""
msgstr ""
"ÐокÑменÑÑÑ %1$s вÑе оÑе не ÑÑÑеÑÑвÑва.\n"
"\n"
-"ÐелаеÑе ли да Ñе ÑÑздаде нов докÑменÑ?"
+"ÐелаеÑе ли да ÑÑздадеÑе нов докÑменÑ?"
# src/bufferlist.C:522
#: src/buffer_funcs.cpp:106
@@ -36428,7 +35891,7 @@ msgstr "пак неÑа"
# src/frontends/xforms/FormBase.h:153 src/frontends/xforms/FormInset.h:31
# src/frontends/xforms/FormInset.h:55 src/lyxfunc.C:744
#: src/frontends/qt/ButtonController.cpp:222
-#: src/frontends/qt/GuiApplication.cpp:1950 src/frontends/qt/GuiCompare.cpp:193
+#: src/frontends/qt/GuiApplication.cpp:1997 src/frontends/qt/GuiCompare.cpp:193
#: src/frontends/qt/GuiSymbols.cpp:346
msgid "Cancel"
msgstr "ÐÑказване"
@@ -36439,47 +35902,45 @@ msgstr "ÐÑказване"
# src/frontends/xforms/FormInset.h:54 src/layout_forms.C:52 src/log_form.C:21
# src/lyxvc.C:263 src/mathed/math_forms.C:177
#: src/frontends/qt/ButtonController.cpp:224
-#: src/frontends/qt/GuiCompare.cpp:191 src/frontends/qt/GuiDelimiter.cpp:412
+#: src/frontends/qt/GuiCompare.cpp:191 src/frontends/qt/GuiDelimiter.cpp:413
#: src/frontends/qt/GuiSymbols.cpp:348
msgid "Close"
msgstr "ÐаÑваÑÑне"
# src/frontends/kde/citationdlg.C:35
-#: src/frontends/qt/CategorizedCombo.cpp:189
+#: src/frontends/qt/CategorizedCombo.cpp:192
#, fuzzy
msgid "Unavailable:"
msgstr "ÐоÑÑÑпни клавиÑи"
# src/frontends/kde/citationdlg.C:35
-#: src/frontends/qt/CategorizedCombo.cpp:469
+#: src/frontends/qt/CategorizedCombo.cpp:480
#, c-format
msgid "Unavailable: %1$s"
msgstr "ÐеналиÑен: %1$s"
# src/ext_l10n.h:191
-#: src/frontends/qt/CategorizedCombo.cpp:472
-#: src/frontends/qt/CategorizedCombo.cpp:497
-#: src/frontends/qt/CategorizedCombo.cpp:498
+#: src/frontends/qt/CategorizedCombo.cpp:483
+#: src/frontends/qt/CategorizedCombo.cpp:508
+#: src/frontends/qt/CategorizedCombo.cpp:509
#, fuzzy
msgid "Uncategorized"
msgstr "Ðаглавие"
# src/lyxfunc.C:1132
#: src/frontends/qt/FileDialog.cpp:188
-#, fuzzy
msgid "Directories"
-msgstr "ÐоÑÑебиÑелÑка диÑекÑоÑиÑ: "
+msgstr "ÐиÑекÑоÑии"
# src/frontends/kde/dlg/printdlgdata.C:246
#: src/frontends/qt/FindAndReplace.cpp:277
msgid "File"
-msgstr "&Файл22"
+msgstr "&Файл"
# src/bufferlist.C:113 src/bufferlist.C:189
#: src/frontends/qt/FindAndReplace.cpp:280
-#, fuzzy
msgid "Master document"
-msgstr "Ðапазване на докÑменÑа?"
+msgstr "Ðлавен докÑменÑ"
# src/ext_l10n.h:232
#: src/frontends/qt/FindAndReplace.cpp:283
@@ -36514,8 +35975,8 @@ msgstr ""
msgid "Advanced search cancelled by user"
msgstr ""
-#: src/frontends/qt/FindAndReplace.cpp:380 src/lyxfind.cpp:349
-#: src/lyxfind.cpp:686 src/lyxfind.cpp:714
+#: src/frontends/qt/FindAndReplace.cpp:380 src/lyxfind.cpp:350
+#: src/lyxfind.cpp:693 src/lyxfind.cpp:721
msgid "Wrap search?"
msgstr "ТÑÑÑене оÑново?"
@@ -36542,9 +36003,8 @@ msgstr ""
# src/sp_form.C:86
#: src/frontends/qt/FindAndReplace.cpp:644
-#, fuzzy
msgid "< Rep&lace"
-msgstr "ÐамÑна"
+msgstr "< ÐамÑна"
#: src/frontends/qt/FindAndReplace.cpp:645
#, fuzzy
@@ -36553,8 +36013,8 @@ msgstr "ТÑÑÑене и замÑна на ÑледваÑоÑо ÑÑвпаде
# src/frontends/xforms/form_preferences.C:999
#: src/frontends/qt/FloatPlacement.cpp:182
-#: src/frontends/qt/GuiDocument.cpp:1139 src/frontends/qt/GuiDocument.cpp:2707
-#: src/frontends/qt/GuiDocument.cpp:2734
+#: src/frontends/qt/GuiDocument.cpp:1149 src/frontends/qt/GuiDocument.cpp:2725
+#: src/frontends/qt/GuiDocument.cpp:2752
msgid "Class Default"
msgstr "по подÑазбиÑане за клаÑа"
@@ -36564,7 +36024,7 @@ msgid "Document Default"
msgstr "по подÑазбиÑане за докÑменÑа"
# src/form1.C:129 src/sp_form.C:58
-#: src/frontends/qt/FloatPlacement.h:38 src/frontends/qt/GuiDocument.cpp:1775
+#: src/frontends/qt/FloatPlacement.h:38 src/frontends/qt/GuiDocument.cpp:1789
msgid "Float Settings"
msgstr "ÐлаваÑи обекÑи"
@@ -36589,13 +36049,13 @@ msgid "ERROR: LyX wasn't able to read the CREDITS file\n"
msgstr "ÐÑеÑка: LyX не ÑÑÐ¿Ñ Ð´Ð° пÑоÑеÑе Ñайла CREDITS"
# src/credits.C:55
-#: src/frontends/qt/GuiAbout.cpp:95
+#: src/frontends/qt/GuiAbout.cpp:97
#, fuzzy
msgid "ERROR: LyX wasn't able to find the RELEASE-NOTES file\n"
msgstr "ÐÑеÑка: LyX не ÑÑÐ¿Ñ Ð´Ð° пÑоÑеÑе Ñайла CREDITS"
# src/credits.C:59
-#: src/frontends/qt/GuiAbout.cpp:96 src/frontends/qt/GuiAbout.cpp:101
+#: src/frontends/qt/GuiAbout.cpp:98 src/frontends/qt/GuiAbout.cpp:103
#, fuzzy
msgid ""
"Please install correctly to see what has changed\n"
@@ -36603,14 +36063,14 @@ msgid ""
msgstr "ÐолÑ, инÑÑалиÑайÑе пÑавилно, за да оÑениÑе огÑомноÑо"
# src/credits.C:55
-#: src/frontends/qt/GuiAbout.cpp:100
+#: src/frontends/qt/GuiAbout.cpp:102
msgid "ERROR: LyX wasn't able to read the RELEASE-NOTES file\n"
msgstr ""
"ÐÑеÑка: LyX не ÑÑÐ¿Ñ Ð´Ð° пÑоÑеÑе Ñайла Ñ Ð±ÐµÐ»ÐµÐ¶ÐºÐ¸Ñе на изданиеÑо (RELEASE-"
"NOTES)\n"
# src/frontends/xforms/FormCopyright.C:51
-#: src/frontends/qt/GuiAbout.cpp:183
+#: src/frontends/qt/GuiAbout.cpp:192
#, c-format
msgid ""
"LyX is Copyright (C) 1995 by Matthias Ettrich,\n"
@@ -36619,7 +36079,7 @@ msgstr ""
"ÐвÑоÑÑкоÑо пÑаво на LyX пÑинадлежи на Matthias Ettrich 1995,\n"
"1995 %1$s LyX Team"
-#: src/frontends/qt/GuiAbout.cpp:191
+#: src/frontends/qt/GuiAbout.cpp:200
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 "
@@ -36632,7 +36092,7 @@ msgstr ""
"или (по ваÑе ÑÑмоÑÑение) вÑÑка ÑледваÑа веÑÑиÑ"
# src/frontends/xforms/FormCopyright.C:61
-#: src/frontends/qt/GuiAbout.cpp:197
+#: src/frontends/qt/GuiAbout.cpp:206
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 "
@@ -36653,12 +36113,12 @@ msgstr ""
"675 Mass Ave, Cambridge, MA 02139, USA."
# src/lyxfont.C:57
-#: src/frontends/qt/GuiAbout.cpp:252
+#: src/frontends/qt/GuiAbout.cpp:261
msgid "not released yet"
msgstr "вÑе оÑе неиздадена"
# src/lyxfunc.C:1125
-#: src/frontends/qt/GuiAbout.cpp:257
+#: src/frontends/qt/GuiAbout.cpp:266
#, fuzzy, c-format
msgid ""
"Version %1$s\n"
@@ -36667,50 +36127,50 @@ msgstr ""
"LyX веÑÑÐ¸Ñ %1$s\n"
"(%2$s)"
-#: src/frontends/qt/GuiAbout.cpp:265
+#: src/frontends/qt/GuiAbout.cpp:274
msgid "Built from git commit hash "
msgstr "ÐомпилиÑана Ð¾Ñ Ñ
ÑанилиÑе на git Ñ Ñ
еÑ-ÑÑойноÑÑ "
-#: src/frontends/qt/GuiAbout.cpp:278
+#: src/frontends/qt/GuiAbout.cpp:287
#, fuzzy, c-format
msgid "Qt Version (run-time): %1$s on platform %2$s"
msgstr "Qt веÑÑÐ¸Ñ (ÑиÑÑемна): %1$s"
-#: src/frontends/qt/GuiAbout.cpp:283
+#: src/frontends/qt/GuiAbout.cpp:292
#, c-format
msgid "Qt Version (compile-time): %1$s"
msgstr "Qt веÑÑÐ¸Ñ (компилиÑана): %1$s"
-#: src/frontends/qt/GuiAbout.cpp:288
+#: src/frontends/qt/GuiAbout.cpp:297
#, c-format
msgid "Python detected: %1$s"
msgstr ""
-#: src/frontends/qt/GuiAbout.cpp:319
+#: src/frontends/qt/GuiAbout.cpp:328
msgid "About LyX"
msgstr "ÐÑноÑно LyX"
-#: src/frontends/qt/GuiApplication.cpp:721
+#: src/frontends/qt/GuiApplication.cpp:736
msgid "About %1"
msgstr ""
# src/frontends/xforms/FormPreferences.C:68
-#: src/frontends/qt/GuiApplication.cpp:722 src/frontends/qt/GuiPrefs.cpp:3478
+#: src/frontends/qt/GuiApplication.cpp:737 src/frontends/qt/GuiPrefs.cpp:3528
msgid "Preferences"
msgstr "ÐаÑÑÑойки"
# src/ext_l10n.h:37 src/ext_l10n.h:52
-#: src/frontends/qt/GuiApplication.cpp:723
+#: src/frontends/qt/GuiApplication.cpp:738
#, fuzzy
msgid "Reconfigure"
msgstr "Ðово конÑигÑÑиÑане(R)|R"
-#: src/frontends/qt/GuiApplication.cpp:724
+#: src/frontends/qt/GuiApplication.cpp:739
#, fuzzy
msgid "Restore Defaults"
msgstr "ÐÑзÑÑановÑване"
-#: src/frontends/qt/GuiApplication.cpp:725
+#: src/frontends/qt/GuiApplication.cpp:740
msgid "Quit %1"
msgstr ""
@@ -36719,164 +36179,169 @@ msgstr ""
# src/frontends/kde/dlg/indexdlgdata.C:68
# src/frontends/kde/dlg/paradlgdata.C:39 src/frontends/kde/refdlg.C:86
# src/frontends/kde/urldlg.C:52
-#: src/frontends/qt/GuiApplication.cpp:726 src/frontends/qt/GuiInclude.cpp:318
+#: src/frontends/qt/GuiApplication.cpp:741 src/frontends/qt/GuiInclude.cpp:318
#: src/frontends/qt/GuiInclude.cpp:328 src/frontends/qt/GuiInclude.cpp:333
msgid "&OK"
msgstr "&OK"
-#: src/frontends/qt/GuiApplication.cpp:728
+#: src/frontends/qt/GuiApplication.cpp:743
msgid "Apply"
msgstr "ÐÑилагание"
# src/lyx_gui.C:348
-#: src/frontends/qt/GuiApplication.cpp:729
+#: src/frontends/qt/GuiApplication.cpp:744
msgid "Reset"
msgstr "ÐÑзÑÑановÑване"
# src/ext_l10n.h:298
-#: src/frontends/qt/GuiApplication.cpp:730
+#: src/frontends/qt/GuiApplication.cpp:745
msgid "Open"
msgstr "ÐÑваÑÑне"
# src/text2.C:456
-#: src/frontends/qt/GuiApplication.cpp:1235
+#: src/frontends/qt/GuiApplication.cpp:1270
msgid "Nothing to do"
msgstr "ÐÑма ниÑо за пÑавене"
# src/lyxfunc.C:328 src/lyxfunc.C:2996
-#: src/frontends/qt/GuiApplication.cpp:1241
+#: src/frontends/qt/GuiApplication.cpp:1276
msgid "Unknown action"
msgstr "ÐепознаÑо дейÑÑвие"
# src/frontends/xforms/form_preferences.C:445
-#: src/frontends/qt/GuiApplication.cpp:1285
-#, fuzzy
+#: src/frontends/qt/GuiApplication.cpp:1320
msgid "Command not handled"
-msgstr "ÐавÑÑÑи команда(e)|#e"
+msgstr "ÐомандаÑа не е обÑабоÑена"
# src/frontends/xforms/form_preferences.C:445
-#: src/frontends/qt/GuiApplication.cpp:1291
-#, fuzzy
+#: src/frontends/qt/GuiApplication.cpp:1326
msgid "Command disabled"
-msgstr "ÐавÑÑÑи команда(e)|#e"
+msgstr "ÐомандаÑа е деакÑивиÑана"
+
+#: src/frontends/qt/GuiApplication.cpp:1434
+#, c-format
+msgid "Bad debug value `%1$s'."
+msgstr "ÐÐµÐ¿Ð¾Ð·Ð½Ð°Ñ ÐºÐ¾Ð´ за оÑÑÑÑанÑване на гÑеÑка â%1$sâ."
# src/lyxfunc.C:347
-#: src/frontends/qt/GuiApplication.cpp:1421 src/frontends/qt/GuiView.cpp:2020
-#, fuzzy
+#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2214
msgid "Command not allowed without a buffer open"
-msgstr "ÐомандаÑа не е позволена без да има оÑвоÑен докÑменÑ"
+msgstr "ÐомандаÑа не е позволена без оÑвоÑен бÑÑеÑ"
-#: src/frontends/qt/GuiApplication.cpp:1428
+#: src/frontends/qt/GuiApplication.cpp:1470
msgid "the <LFUN-COMMAND> argument of buffer-forall is not valid"
-msgstr ""
+msgstr "аÑгÑменÑа <LFUN-COMMAND> Ð¾Ñ buffer-forall не е валиден"
-#: src/frontends/qt/GuiApplication.cpp:1505
+#: src/frontends/qt/GuiApplication.cpp:1547
msgid "Wrong focus!"
-msgstr ""
+msgstr "СгÑеÑен ÑокÑÑ!"
# src/lyx_cb.C:977
-#: src/frontends/qt/GuiApplication.cpp:1639
+#: src/frontends/qt/GuiApplication.cpp:1681
msgid "Running configure..."
msgstr "СÑаÑÑиÑам конÑигÑÑиÑане..."
# src/lyx_cb.C:984
-#: src/frontends/qt/GuiApplication.cpp:1647
+#: src/frontends/qt/GuiApplication.cpp:1691
msgid "Reloading configuration..."
msgstr "ÐÑезаÑеждам конÑигÑÑаÑиÑÑа..."
# src/lyx_cb.C:986
-#: src/frontends/qt/GuiApplication.cpp:1654
+#: src/frontends/qt/GuiApplication.cpp:1701
msgid "System reconfiguration failed"
msgstr "ÐÑогÑамаÑа не ÑÑÐ¿Ñ Ð´Ð° Ñе пÑеконÑигÑÑиÑа"
-#: src/frontends/qt/GuiApplication.cpp:1655
+#: src/frontends/qt/GuiApplication.cpp:1702
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"
+"ÐÑползва Ñе ÐºÐ»Ð°Ñ Ð´Ð¾ÐºÑменÑи по подÑазбиÑане,\n"
+"но LyX може да не ÑÑнкÑиониÑа пÑавилно.\n"
+"ÐÑеконÑигÑÑиÑайÑе оÑново пÑи необÑ
одимоÑÑ."
# заглавие на пÑогÑамен диалог
# src/lyx_cb.C:986
-#: src/frontends/qt/GuiApplication.cpp:1660
+#: src/frontends/qt/GuiApplication.cpp:1707
msgid "System reconfigured"
msgstr "ÐÑогÑамаÑа Ñе пÑеконÑигÑÑиÑа"
-#: src/frontends/qt/GuiApplication.cpp:1661
+#: src/frontends/qt/GuiApplication.cpp:1708
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 за да използваÑеобновениÑе наÑÑÑойки за "
+"ÐелаÑелно е да ÑеÑÑаÑÑиÑаÑе LyX за да използваÑе обновениÑе наÑÑÑойки за "
"ÑазлиÑниÑе видове докÑменÑи."
# src/ext_l10n.h:16 src/ext_l10n.h:29
-#: src/frontends/qt/GuiApplication.cpp:1742
-#, fuzzy
+#: src/frontends/qt/GuiApplication.cpp:1789
msgid "Exiting."
-msgstr "ÐзÑ
од(x)|x"
+msgstr "Ðзлизане."
# src/lyxfunc.C:1116
-#: src/frontends/qt/GuiApplication.cpp:1838
-#, fuzzy, c-format
+#: src/frontends/qt/GuiApplication.cpp:1885
+#, c-format
msgid "Opening help file %1$s..."
-msgstr "ÐÑваÑÑм помоÑен Ñайл"
+msgstr "ÐÑваÑÑне на помоÑен Ñайл %1$s..."
-#: src/frontends/qt/GuiApplication.cpp:1858
+#: src/frontends/qt/GuiApplication.cpp:1905
msgid "Wrong argument. Must be 'examples' or 'templates'."
-msgstr ""
+msgstr "ÐепÑавилен аÑгÑменÑ. ТÑÑбва да е âexamplesâ or âtemplatesâ."
-#: src/frontends/qt/GuiApplication.cpp:1872
+#: src/frontends/qt/GuiApplication.cpp:1919
msgid "Syntax: set-color <lyx_name> <x11_name> <x11_darkname>"
-msgstr ""
+msgstr "СинÑакÑиÑ: set-color <lyx_name> <x11_name> <x11_darkname>"
# src/lyxfunc.C:2920
-#: src/frontends/qt/GuiApplication.cpp:1892
-#, fuzzy, c-format
+#: src/frontends/qt/GuiApplication.cpp:1939
+#, c-format
msgid "Set-color \"%1$s\" failed - color is undefined or may not be redefined"
-msgstr "\" пÑопадна - ÑвеÑÑÑ Ð½Ðµ е деÑиниÑан или не може да бÑде пÑедеÑиниÑан"
+msgstr "ÐеÑÑпеÑ
пÑи команда âset-color %1$sâ - ÑвеÑÑÑ Ð½Ðµ е деÑиниÑан или пÑедеÑиниÑан"
# src/support/filetools.C:453
-#: src/frontends/qt/GuiApplication.cpp:1997
+#: src/frontends/qt/GuiApplication.cpp:2044
#, fuzzy, c-format
msgid "Cannot iterate more than %1$d times"
msgstr "ÐÑеÑка! Ðе мога да ÑÑздам вÑеменна диÑекÑоÑиÑ: "
-#: src/frontends/qt/GuiApplication.cpp:2097
+#: src/frontends/qt/GuiApplication.cpp:2144
#, c-format
msgid "Applied \"%1$s\" to %2$d buffer(s)"
msgstr ""
# src/lyx_cb.C:263
-#: src/frontends/qt/GuiApplication.cpp:2183
-#, fuzzy, c-format
+#: src/frontends/qt/GuiApplication.cpp:2230
+#, c-format
msgid "Document defaults saved in %1$s"
-msgstr "ÐокÑменÑÑÑ Ð½Ðµ може да бÑде запиÑан!"
+msgstr "ÐаÑÑÑойкиÑе на докÑменÑа по подÑазбиÑане за запазени в %1$s"
# src/ext_l10n.h:130
-#: src/frontends/qt/GuiApplication.cpp:2187
+#: src/frontends/qt/GuiApplication.cpp:2234
#, fuzzy
msgid "Unable to save document defaults"
msgstr "Ðапази оÑоÑмлениеÑо каÑо подÑазбиÑаÑо Ñе(S)|S"
# src/lyxfunc.C:328 src/lyxfunc.C:2996
-#: src/frontends/qt/GuiApplication.cpp:2417
-#: src/frontends/qt/GuiApplication.cpp:2432
+#: src/frontends/qt/GuiApplication.cpp:2474
+#: src/frontends/qt/GuiApplication.cpp:2489
#, fuzzy
msgid "Unknown function."
msgstr "ÐепознаÑо дейÑÑвие"
# src/frontends/kde/dlg/printdlgdata.C:88
# src/frontends/xforms/form_print.C:138
-#: src/frontends/qt/GuiApplication.cpp:2931
+#: src/frontends/qt/GuiApplication.cpp:3024
#, fuzzy
msgid "The current document was closed."
msgstr "ÐеÑÐ°Ñ Ð½Ð°"
-#: src/frontends/qt/GuiApplication.cpp:2941
+#: src/frontends/qt/GuiApplication.cpp:3034
msgid ""
"LyX has caught an exception, it will now attempt to save all unsaved "
"documents and exit.\n"
@@ -36884,25 +36349,25 @@ msgid ""
"Exception: "
msgstr ""
-#: src/frontends/qt/GuiApplication.cpp:2945
-#: src/frontends/qt/GuiApplication.cpp:2951
+#: src/frontends/qt/GuiApplication.cpp:3038
+#: src/frontends/qt/GuiApplication.cpp:3044
msgid "Software exception Detected"
msgstr ""
-#: src/frontends/qt/GuiApplication.cpp:2949
+#: src/frontends/qt/GuiApplication.cpp:3042
msgid ""
"LyX has caught some really weird exception, it will now attempt to save all "
"unsaved documents and exit."
msgstr ""
# src/buffer.C:3331
-#: src/frontends/qt/GuiApplication.cpp:3255
-#: src/frontends/qt/GuiApplication.cpp:3267
+#: src/frontends/qt/GuiApplication.cpp:3348
+#: src/frontends/qt/GuiApplication.cpp:3360
#, fuzzy
msgid "Could not find UI definition file"
msgstr "ÐедÑзможна е ÑабоÑаÑа Ñ Ñайл: "
-#: src/frontends/qt/GuiApplication.cpp:3256
+#: src/frontends/qt/GuiApplication.cpp:3349
#, c-format
msgid ""
"Error while reading the included file\n"
@@ -36914,18 +36379,18 @@ msgstr ""
"ÐолÑ, пÑовеÑеÑе ваÑаÑа инÑÑалаÑиÑ."
# src/buffer.C:3331
-#: src/frontends/qt/GuiApplication.cpp:3262
+#: src/frontends/qt/GuiApplication.cpp:3355
#, fuzzy
msgid "Could not find default UI file"
msgstr "ÐедÑзможна е ÑабоÑаÑа Ñ Ñайл: "
-#: src/frontends/qt/GuiApplication.cpp:3263
+#: src/frontends/qt/GuiApplication.cpp:3356
msgid ""
"LyX could not find the default UI file!\n"
"Please check your installation."
msgstr ""
-#: src/frontends/qt/GuiApplication.cpp:3268
+#: src/frontends/qt/GuiApplication.cpp:3361
#, c-format
msgid ""
"Error while reading the configuration file\n"
@@ -37045,12 +36510,12 @@ msgstr "ÐоÑÑÑпни пÑепÑаÑки"
# src/MenuBackend.C:446 src/ext_l10n.h:10
#: src/frontends/qt/GuiBibtex.cpp:456 src/frontends/qt/GuiBibtex.cpp:466
#: src/frontends/qt/GuiCompare.cpp:163 src/frontends/qt/GuiCompare.cpp:167
-#: src/frontends/qt/GuiDocument.cpp:2885 src/frontends/qt/GuiExternal.cpp:677
-#: src/frontends/qt/GuiGraphics.cpp:789 src/frontends/qt/GuiInclude.cpp:380
-#: src/frontends/qt/GuiLyXFiles.cpp:362 src/frontends/qt/GuiLyXFiles.cpp:368
-#: src/frontends/qt/GuiView.cpp:2427 src/frontends/qt/GuiView.cpp:2486
-#: src/frontends/qt/GuiView.cpp:2622 src/frontends/qt/GuiView.cpp:2756
-#: src/frontends/qt/GuiView.cpp:2876 src/frontends/qt/GuiView.cpp:2998
+#: src/frontends/qt/GuiDocument.cpp:2903 src/frontends/qt/GuiExternal.cpp:677
+#: src/frontends/qt/GuiGraphics.cpp:826 src/frontends/qt/GuiInclude.cpp:380
+#: src/frontends/qt/GuiLyXFiles.cpp:368 src/frontends/qt/GuiLyXFiles.cpp:374
+#: src/frontends/qt/GuiView.cpp:2615 src/frontends/qt/GuiView.cpp:2674
+#: src/frontends/qt/GuiView.cpp:2814 src/frontends/qt/GuiView.cpp:2948
+#: src/frontends/qt/GuiView.cpp:3068 src/frontends/qt/GuiView.cpp:3190
#, fuzzy
msgid "D&ocuments"
msgstr "ÐокÑменÑ|Ð"
@@ -37103,26 +36568,23 @@ msgid "Shaded background"
msgstr "ÑвеÑен Ñон"
#: src/frontends/qt/GuiBox.cpp:57
-#, fuzzy
msgid "Double rectangular frame"
-msgstr "зеÑенÑен Ñон"
+msgstr "Ðвойна пÑавоÑгÑлна Ñамка"
# src/bufferview_funcs.C:271
#: src/frontends/qt/GuiBox.cpp:70
-#, fuzzy
msgid "Depth"
-msgstr ", ÐÑлбоÑина: "
+msgstr "ÐÑлбоÑина"
# src/ext_l10n.h:209
#: src/frontends/qt/GuiBox.cpp:71
-#, fuzzy
msgid "Total Height"
-msgstr "ÐвÑоÑÑки пÑава"
+msgstr "ÐбÑа виÑоÑина"
#: src/frontends/qt/GuiBox.cpp:424 src/frontends/qt/GuiBox.cpp:632
#: src/insets/InsetBox.cpp:143
msgid "Makebox"
-msgstr "makebox"
+msgstr "âmakeboxâ"
# заглавие на диалог
# src/form1.C:129 src/sp_form.C:58
@@ -37150,7 +36612,7 @@ msgid "Filename Suffix"
msgstr "Файлово ÑазÑиÑение"
#: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:149
-#: src/frontends/qt/GuiDocument.cpp:3324 src/frontends/qt/GuiDocument.cpp:4629
+#: src/frontends/qt/GuiDocument.cpp:3339 src/frontends/qt/GuiDocument.cpp:4644
#: src/frontends/qt/GuiProgressView.cpp:144
#: src/frontends/qt/GuiProgressView.cpp:158
#: src/frontends/qt/GuiProgressView.cpp:179
@@ -37159,8 +36621,8 @@ msgstr "Ðа"
# src/lyxfont.C:407
#: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:149
-#: src/frontends/qt/GuiDocument.cpp:3323 src/frontends/qt/GuiDocument.cpp:3961
-#: src/frontends/qt/GuiDocument.cpp:4628
+#: src/frontends/qt/GuiDocument.cpp:3338 src/frontends/qt/GuiDocument.cpp:3972
+#: src/frontends/qt/GuiDocument.cpp:4643
#: src/frontends/qt/GuiProgressView.cpp:110
#: src/frontends/qt/GuiProgressView.cpp:143
#: src/frontends/qt/GuiProgressView.cpp:179
@@ -37190,9 +36652,8 @@ msgstr "&ÐбединÑване"
# src/frontends/xforms/FormDocument.C:446
# src/frontends/xforms/FormDocument.C:1108
#: src/frontends/qt/GuiBranches.cpp:234 src/frontends/qt/GuiIndices.cpp:243
-#, fuzzy
msgid "Renaming failed"
-msgstr "ÐÑеÑки пÑи конвеÑÑиÑане!"
+msgstr "ÐÑеÑки пÑи пÑеименÑване!"
# src/frontends/xforms/FormDocument.C:437
#: src/frontends/qt/GuiBranches.cpp:235
@@ -37207,9 +36668,8 @@ msgstr "ÐбÑ
ождане на пÑомениÑе"
# src/LyXAction.C:354
#: src/frontends/qt/GuiChanges.cpp:70
-#, fuzzy
msgid "Inserted by %1"
-msgstr "ÐмÑкване на Ñамка"
+msgstr "УвелиÑаване Ñ %1"
# src/frontends/xforms/form_preferences.C:600
# src/frontends/xforms/form_preferences.C:687
@@ -37218,18 +36678,18 @@ msgstr "ÐмÑкване на Ñамка"
msgid "Deleted by %1"
msgstr "ÐзÑÑий(D)|#D"
-#: src/frontends/qt/GuiChanges.cpp:78
+#: src/frontends/qt/GuiChanges.cpp:84
msgid " on[[date]] %1"
-msgstr ""
+msgstr "на %1"
# src/LyXAction.C:354
-#: src/frontends/qt/GuiChanges.cpp:80
+#: src/frontends/qt/GuiChanges.cpp:86
#, fuzzy
msgid "Inserted on %1"
msgstr "ÐмÑкване на Ñамка"
# src/ext_l10n.h:74
-#: src/frontends/qt/GuiChanges.cpp:81
+#: src/frontends/qt/GuiChanges.cpp:87
#, fuzzy
msgid "Deleted on %1"
msgstr "ÐзÑÑиване на Ñед"
@@ -37249,7 +36709,7 @@ msgstr "Ðалки главни бÑкви"
#: src/frontends/qt/GuiCharacter.cpp:86
msgid "(Without)[[underlining]]"
-msgstr "<нÑма>"
+msgstr "нÑма"
#: src/frontends/qt/GuiCharacter.cpp:87
msgid "Single[[underlining]]"
@@ -37266,7 +36726,7 @@ msgstr "вÑлнообÑазно"
#: src/frontends/qt/GuiCharacter.cpp:99
msgid "(Without)[[strikethrough]]"
-msgstr "<нÑма>"
+msgstr "нÑма"
#: src/frontends/qt/GuiCharacter.cpp:100
msgid "Single[[strikethrough]]"
@@ -37274,11 +36734,11 @@ msgstr "единиÑно"
#: src/frontends/qt/GuiCharacter.cpp:101
msgid "With /"
-msgstr ""
+msgstr "Ñ â/â"
#: src/frontends/qt/GuiCharacter.cpp:191
msgid "(Without)[[color]]"
-msgstr "<нÑма>"
+msgstr "нÑма"
#: src/frontends/qt/GuiCharacter.cpp:208
msgid "Text Properties"
@@ -37296,17 +36756,17 @@ msgstr "Ðез пÑомÑна на полеÑаÑа"
# src/exporter.C:91
#: src/frontends/qt/GuiCharacter.cpp:280
msgid "&Reset All Fields"
-msgstr "ÐÑзÑÑановÑване на ÑÑойноÑÑиÑе"
+msgstr "ÐÑзÑÑанов. ÑÑойноÑÑи"
# src/frontends/xforms/FormCitation.C:37
#: src/frontends/qt/GuiCitation.cpp:94
msgid "Citation"
-msgstr "ЦиÑиÑане"
+msgstr "ÐÑепÑаÑка"
# src/frontends/kde/refdlg.C:30
#: src/frontends/qt/GuiCitation.cpp:102
msgid "All avail. citations"
-msgstr "вÑиÑки вÑзможни ÑиÑаÑи"
+msgstr "вÑиÑки вÑзможни пÑепÑаÑки"
#: src/frontends/qt/GuiCitation.cpp:108
msgid "Regular e&xpression"
@@ -37326,6 +36786,8 @@ msgid ""
"Ordered list of all cited references.\n"
"You can reorder, add and remove references with the buttons on the left."
msgstr ""
+"ÐодÑеден ÑпиÑÑк на вÑиÑки ÑиÑиÑани ÑказаÑели\n"
+"ÐожеÑе да пÑеподÑеждаÑе, добавÑÑе и пÑемаÑ
ваÑе ÑказаÑели Ñ Ð±ÑÑона влÑво."
# src/frontends/xforms/FormParagraph.C:132
#: src/frontends/qt/GuiCitation.cpp:293
@@ -37459,10 +36921,10 @@ msgstr "ÐÑведеÑе име за запазване на докÑменÑа"
# src/lyxfunc.C:3061 src/lyxfunc.C:3088 src/lyxfunc.C:3165 src/lyxfunc.C:3223
# src/lyxfunc.C:3251 src/lyxfunc.C:3261 src/lyxfunc.C:3297
-#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2500
-#: src/frontends/qt/GuiView.cpp:2641 src/frontends/qt/GuiView.cpp:2657
-#: src/frontends/qt/GuiView.cpp:2669 src/frontends/qt/GuiView.cpp:2686
-#: src/frontends/qt/GuiView.cpp:2771 src/frontends/qt/GuiView.cpp:4204
+#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2692
+#: src/frontends/qt/GuiView.cpp:2833 src/frontends/qt/GuiView.cpp:2849
+#: src/frontends/qt/GuiView.cpp:2861 src/frontends/qt/GuiView.cpp:2878
+#: src/frontends/qt/GuiView.cpp:2963 src/frontends/qt/GuiView.cpp:4396
msgid "Canceled."
msgstr "ÐÑекÑÑнаÑ."
@@ -37479,12 +36941,12 @@ msgid "File %1$s already exists, do you want to overwrite it?"
msgstr "ФайлÑÑ %1$s веÑе ÑÑÑеÑÑвÑва, иÑкаÑе ли да го пÑезапиÑеÑе?"
# src/debug.C:47
-#: src/frontends/qt/GuiCommandBuffer.cpp:106
+#: src/frontends/qt/GuiCommandBuffer.cpp:111
msgid "List of previous commands"
msgstr "СпиÑÑк Ñ Ð¿ÑедиÑни команди"
# src/LyXAction.C:167
-#: src/frontends/qt/GuiCommandBuffer.cpp:110
+#: src/frontends/qt/GuiCommandBuffer.cpp:115
#, fuzzy
msgid "Next command"
msgstr "ÐзпÑлни команда"
@@ -37500,9 +36962,9 @@ msgid "Select document"
msgstr "Ðапазване на докÑменÑа?"
# src/ext_l10n.h:116
-#: src/frontends/qt/GuiCompare.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:361
-#: src/frontends/qt/GuiView.cpp:2431 src/frontends/qt/GuiView.cpp:2489
-#: src/frontends/qt/GuiView.cpp:2760 src/frontends/qt/GuiView.cpp:2887
+#: src/frontends/qt/GuiCompare.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:367
+#: src/frontends/qt/GuiView.cpp:2619 src/frontends/qt/GuiView.cpp:2678
+#: src/frontends/qt/GuiView.cpp:2952 src/frontends/qt/GuiView.cpp:3079
msgid "LyX Documents (*.lyx)"
msgstr "LyX докÑÐ¼ÐµÐ½Ñ (*.lyx)"
@@ -37513,38 +36975,33 @@ msgstr "ÐÑеÑка пÑи ÑÑавнÑване на докÑменÑи."
# src/importer.C:81
#: src/frontends/qt/GuiCompare.cpp:218
-#, fuzzy
msgid "Aborted"
-msgstr "импоÑÑиÑан."
+msgstr "ÐÑекÑаÑен"
# src/ext_l10n.h:440
#: src/frontends/qt/GuiCompare.cpp:230
-#, fuzzy
msgid "Finished"
-msgstr "ФинландÑки"
+msgstr "ÐавÑÑÑен"
# src/BufferView_pimpl.C:256
#: src/frontends/qt/GuiCompare.cpp:264
-#, fuzzy
msgid "Aborting process..."
-msgstr "ФоÑмаÑиÑам докÑменÑа..."
+msgstr "ÐÑекÑаÑÑване на пÑоÑеÑ..."
# src/ext_l10n.h:329
#: src/frontends/qt/GuiCompare.cpp:315
-#, fuzzy
msgid "differences"
-msgstr "ÐÑепÑаÑки"
+msgstr "Ñазлики"
#: src/frontends/qt/GuiCompareHistory.cpp:38
msgid "Compare different revisions"
-msgstr ""
+msgstr "СÑавнÑване на ÑазлиÑни Ñевизии"
# src/frontends/xforms/FormDocument.C:279
# src/frontends/xforms/FormParagraph.C:133
#: src/frontends/qt/GuiCounter.h:38
-#, fuzzy
msgid "Counters"
-msgstr "ÐкÑÑÑи"
+msgstr "ÐÑоÑÑи"
# src/mathed/math_panel.C:116
#: src/frontends/qt/GuiDelimiter.cpp:63
@@ -37570,353 +37027,351 @@ msgid "Math Delimiter"
msgstr "ÐаÑемаÑиÑеÑки Ñкоби"
# src/frontends/kde/parageneraldlg.C:37 src/frontends/kde/parageneraldlg.C:44
-#: src/frontends/qt/GuiDelimiter.cpp:271 src/frontends/qt/GuiDelimiter.cpp:274
+#: src/frontends/qt/GuiDelimiter.cpp:272 src/frontends/qt/GuiDelimiter.cpp:275
msgid "(None)"
msgstr "(нÑма)"
# src/mathed/math_panel.C:116
-#: src/frontends/qt/GuiDelimiter.cpp:272 src/frontends/qt/GuiDelimiter.cpp:275
-#, fuzzy
+#: src/frontends/qt/GuiDelimiter.cpp:273 src/frontends/qt/GuiDelimiter.cpp:276
msgid "No Delimiter"
-msgstr "ÐаÑемаÑиÑеÑки Ñкоби"
+msgstr "Ðез ÑазделиÑел"
# src/LColor.C:97
-#: src/frontends/qt/GuiDelimiter.cpp:280
+#: src/frontends/qt/GuiDelimiter.cpp:281
msgid "Variable"
msgstr "пÑоменлив"
# src/lyxfr1.C:192 src/lyxfr1.C:239
#: src/frontends/qt/GuiDocument.cpp:230
-#, fuzzy
msgid "Module not found!"
-msgstr "ÐизÑÑ Ð½Ðµ е намеÑен!"
+msgstr "Ðе е оÑкÑÐ¸Ñ Ð¼Ð¾Ð´Ñл!"
# src/MenuBackend.C:444 src/ext_l10n.h:2 src/ext_l10n.h:5
-#: src/frontends/qt/GuiDocument.cpp:595 src/frontends/qt/GuiDocument.cpp:767
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:594 src/frontends/qt/GuiDocument.cpp:775
msgid "&End Edit"
-msgstr "&РедакÑиÑане"
+msgstr "&СпиÑане на ÑедакÑиÑ"
-#: src/frontends/qt/GuiDocument.cpp:655
+#: src/frontends/qt/GuiDocument.cpp:663
msgid "Validation required!"
msgstr "ÐзиÑква Ñе валидаÑиÑ!"
# src/insets/insettext.C:1036 src/lyxfunc.C:1260
-#: src/frontends/qt/GuiDocument.cpp:705
+#: src/frontends/qt/GuiDocument.cpp:713
msgid "Layout is valid!"
msgstr "ÐÑоÑмлениеÑо е валидно!"
-#: src/frontends/qt/GuiDocument.cpp:706
+#: src/frontends/qt/GuiDocument.cpp:714
msgid "Layout is invalid!"
msgstr "ÐÑоÑмлениеÑо е невалидно!"
# src/frontends/xforms/FormPreferences.C:1008
-#: src/frontends/qt/GuiDocument.cpp:718
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:726
msgid "Conversion to current format impossible!"
-msgstr "ÐонвеÑÑиÑай \"кÑм\" Ñози ÑоÑмаÑ"
+msgstr "ÐÑеобÑазÑване кÑм ÑекÑÑÐ¸Ñ ÑоÑÐ¼Ð°Ñ Ðµ невÑзможно!"
# src/frontends/xforms/FormPreferences.C:1008
-#: src/frontends/qt/GuiDocument.cpp:719
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:727
msgid "Conversion to current stable format impossible."
-msgstr "ÐонвеÑÑиÑай \"кÑм\" Ñози ÑоÑмаÑ"
+msgstr "ÐÑеобÑазÑване кÑм ÑекÑÑÐ¸Ñ ÑÑабилен ÑоÑÐ¼Ð°Ñ Ðµ невÑзможно!"
# src/frontends/xforms/FormPreferences.C:1008
-#: src/frontends/qt/GuiDocument.cpp:724
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:732
msgid "Convert to current format"
-msgstr "ÐонвеÑÑиÑай \"кÑм\" Ñози ÑоÑмаÑ"
+msgstr "ÐÑеобÑазÑване кÑм ÑекÑÑÐ¸Ñ ÑоÑмаÑ"
# src/frontends/xforms/FormDocument.C:273 src/insets/figinset.C:1975
# src/insets/insetexternal.C:143 src/lyxfunc.C:3105 src/lyxfunc.C:3181
# src/lyxfunc.C:3313
-#: src/frontends/qt/GuiDocument.cpp:902 src/frontends/qt/GuiInclude.cpp:52
+#: src/frontends/qt/GuiDocument.cpp:910 src/frontends/qt/GuiInclude.cpp:52
msgid "Child Document"
msgstr "ÐоддокÑменÑ"
-#: src/frontends/qt/GuiDocument.cpp:903
+#: src/frontends/qt/GuiDocument.cpp:911
msgid "Include to Output"
msgstr ""
-#: src/frontends/qt/GuiDocument.cpp:985
+#: src/frontends/qt/GuiDocument.cpp:995
msgid "Unicode (utf8)"
msgstr "Уникод (utf8)"
-#: src/frontends/qt/GuiDocument.cpp:986
+#: src/frontends/qt/GuiDocument.cpp:996
msgid "Traditional (auto-selected)"
-msgstr ""
+msgstr "Ðбикновено (авÑомаÑиÑно избÑано)"
-#: src/frontends/qt/GuiDocument.cpp:989
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:999
msgid "Select Unicode (utf8) encoding."
-msgstr "Уникод (utf8)"
+msgstr "ÐзбиÑане на Ñникод (utf8) кодиÑане."
-#: src/frontends/qt/GuiDocument.cpp:991
+#: src/frontends/qt/GuiDocument.cpp:1001
msgid "Use language-dependent traditional encodings."
-msgstr ""
+msgstr "ÐзбиÑане на ÑÑадиÑионно за езика кодиÑане."
# src/lyxfunc.C:3291
-#: src/frontends/qt/GuiDocument.cpp:993
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:1003
msgid "Select a custom, document-wide encoding."
-msgstr "ÐзбеÑане на диÑекÑоÑÐ¸Ñ Ð·Ð° докÑменÑи"
+msgstr "Ðадавене на кодиÑане за ÑÐ¸Ð»Ð¸Ñ Ð´Ð¾ÐºÑменÑ."
-#: src/frontends/qt/GuiDocument.cpp:1002
+#: src/frontends/qt/GuiDocument.cpp:1012
msgid "Standard Unicode support by the ``inputenc'' package."
-msgstr ""
+msgstr "СÑандаÑÑна поддÑÑжка на Ñникод Ð¾Ñ Ð¿Ð°ÐºÐµÑа âinputencâ."
-#: src/frontends/qt/GuiDocument.cpp:1005
+#: src/frontends/qt/GuiDocument.cpp:1015
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."
msgstr ""
+"ÐиÑекÑно използване на UTF-8: не Ñе заÑÐµÐ¶Ð´Ð°Ñ Ð´Ð¾Ð¿ÑлниÑелни пакеÑи, Ñимволи "
+"не Ñе коÑвеÑÑиÑÐ°Ñ Ð´Ð¾ макÑоÑи на LaTeX. Ðзползва Ñе Ñ ÑÑиÑÑове неподдÑÑжаÑи TeX "
+"(XeTeX/LuaTex) или код Ð¾Ñ Ð·Ð°Ð³Ð»Ð°Ð²Ð½Ð°Ñа ÑаÑÑ."
-#: src/frontends/qt/GuiDocument.cpp:1010
+#: src/frontends/qt/GuiDocument.cpp:1020
msgid ""
"Load ``inputenc'' with option 'utf8x' for extended Unicode support by the "
"``ucs'' package."
msgstr ""
+"ÐаÑеждане на âinputencâ Ñ Ð¾Ð¿ÑÐ¸Ñ âutf8xâ за ÑазÑиÑена поддÑÑжка на Ñникод Ð¾Ñ "
+"пакеÑа âucsâ."
# src/ext_l10n.h:270
-#: src/frontends/qt/GuiDocument.cpp:1014
+#: src/frontends/qt/GuiDocument.cpp:1024
msgid "Language Default (no inputenc)"
msgstr "по подÑазбиÑане за езика (без âinputencâ)"
-#: src/frontends/qt/GuiDocument.cpp:1016
+#: src/frontends/qt/GuiDocument.cpp:1026
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/GuiDocument.cpp:1020
+#: src/frontends/qt/GuiDocument.cpp:1030
msgid ""
"Do not load the 'inputenc' package. Switch encoding if required but do not "
"write input encoding switch commands to the source."
msgstr ""
-#: src/frontends/qt/GuiDocument.cpp:1134
+#: src/frontends/qt/GuiDocument.cpp:1144
msgid "10"
msgstr "10"
-#: src/frontends/qt/GuiDocument.cpp:1135
+#: src/frontends/qt/GuiDocument.cpp:1145
msgid "11"
msgstr "11"
-#: src/frontends/qt/GuiDocument.cpp:1136
+#: src/frontends/qt/GuiDocument.cpp:1146
msgid "12"
msgstr "12"
# src/ext_l10n.h:175
-#: src/frontends/qt/GuiDocument.cpp:1138
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:1148
msgid "Automatic[[encoding]]"
-msgstr "по подÑазбиÑане"
+msgstr "Ðо подÑазбиÑане"
-#: src/frontends/qt/GuiDocument.cpp:1148
+#: src/frontends/qt/GuiDocument.cpp:1158
msgid ""
"Use OpenType and TrueType fonts directly (requires XeTeX or LuaTeX)\n"
"You need to install the package \"fontspec\" to use this feature"
msgstr ""
+"ÐиÑекÑно използване на ÑÑиÑÑовеÑе OpenType и TrueType (изиÑква XeTeX или LuaTeX)\n"
+"ÐеобÑ
одимо е да инÑÑалиÑаÑе пакеÑа âfontspecâ за да използваÑе Ñази ÑÑнкÑионалноÑÑ."
# src/frontends/kde/tocdlg.C:57
-#: src/frontends/qt/GuiDocument.cpp:1180
+#: src/frontends/qt/GuiDocument.cpp:1190
msgid "empty"
msgstr "нÑма"
# src/mathed/math_panel.C:128
-#: src/frontends/qt/GuiDocument.cpp:1181
+#: src/frontends/qt/GuiDocument.cpp:1191
msgid "plain"
msgstr "обикновен"
# src/buffer.C:329
-#: src/frontends/qt/GuiDocument.cpp:1182
+#: src/frontends/qt/GuiDocument.cpp:1192
msgid "headings"
msgstr "надпиÑи"
-#: src/frontends/qt/GuiDocument.cpp:1183
+#: src/frontends/qt/GuiDocument.cpp:1193
msgid "fancy"
msgstr "декоÑаÑивен"
# src/ext_l10n.h:362
-#: src/frontends/qt/GuiDocument.cpp:1192
+#: src/frontends/qt/GuiDocument.cpp:1202
msgid "US letter"
msgstr "Letter (СÐЩ)"
-#: src/frontends/qt/GuiDocument.cpp:1193
+#: src/frontends/qt/GuiDocument.cpp:1203
msgid "US legal"
msgstr "Legal (СÐЩ)"
# src/ext_l10n.h:234
-#: src/frontends/qt/GuiDocument.cpp:1194
+#: src/frontends/qt/GuiDocument.cpp:1204
msgid "US executive"
msgstr "Executive (СÐЩ)"
-#: src/frontends/qt/GuiDocument.cpp:1195
+#: src/frontends/qt/GuiDocument.cpp:1205
msgid "A0"
msgstr "A0"
-#: src/frontends/qt/GuiDocument.cpp:1196
+#: src/frontends/qt/GuiDocument.cpp:1206
msgid "A1"
msgstr "A1"
-#: src/frontends/qt/GuiDocument.cpp:1197
+#: src/frontends/qt/GuiDocument.cpp:1207
msgid "A2"
msgstr "A2"
-#: src/frontends/qt/GuiDocument.cpp:1198
+#: src/frontends/qt/GuiDocument.cpp:1208
msgid "A3"
msgstr "A3"
-#: src/frontends/qt/GuiDocument.cpp:1199
+#: src/frontends/qt/GuiDocument.cpp:1209
msgid "A4"
msgstr "A4"
-#: src/frontends/qt/GuiDocument.cpp:1200
+#: src/frontends/qt/GuiDocument.cpp:1210
msgid "A5"
msgstr "A5"
-#: src/frontends/qt/GuiDocument.cpp:1201
+#: src/frontends/qt/GuiDocument.cpp:1211
msgid "A6"
msgstr "A6"
-#: src/frontends/qt/GuiDocument.cpp:1202
+#: src/frontends/qt/GuiDocument.cpp:1212
msgid "B0"
msgstr "B0"
-#: src/frontends/qt/GuiDocument.cpp:1203
+#: src/frontends/qt/GuiDocument.cpp:1213
msgid "B1"
msgstr "B1"
-#: src/frontends/qt/GuiDocument.cpp:1204
+#: src/frontends/qt/GuiDocument.cpp:1214
msgid "B2"
msgstr "B2"
-#: src/frontends/qt/GuiDocument.cpp:1205
+#: src/frontends/qt/GuiDocument.cpp:1215
msgid "B3"
msgstr "B3"
-#: src/frontends/qt/GuiDocument.cpp:1206
+#: src/frontends/qt/GuiDocument.cpp:1216
msgid "B4"
msgstr "B4"
-#: src/frontends/qt/GuiDocument.cpp:1207
+#: src/frontends/qt/GuiDocument.cpp:1217
msgid "B5"
msgstr "B5"
-#: src/frontends/qt/GuiDocument.cpp:1208
+#: src/frontends/qt/GuiDocument.cpp:1218
msgid "B6"
msgstr "B6"
-#: src/frontends/qt/GuiDocument.cpp:1209
+#: src/frontends/qt/GuiDocument.cpp:1219
msgid "C0"
msgstr "C0"
-#: src/frontends/qt/GuiDocument.cpp:1210
+#: src/frontends/qt/GuiDocument.cpp:1220
msgid "C1"
msgstr "C1"
-#: src/frontends/qt/GuiDocument.cpp:1211
+#: src/frontends/qt/GuiDocument.cpp:1221
msgid "C2"
msgstr "C2"
-#: src/frontends/qt/GuiDocument.cpp:1212
+#: src/frontends/qt/GuiDocument.cpp:1222
msgid "C3"
msgstr "C3"
-#: src/frontends/qt/GuiDocument.cpp:1213
+#: src/frontends/qt/GuiDocument.cpp:1223
msgid "C4"
msgstr "C4"
-#: src/frontends/qt/GuiDocument.cpp:1214
+#: src/frontends/qt/GuiDocument.cpp:1224
msgid "C5"
msgstr "C5"
-#: src/frontends/qt/GuiDocument.cpp:1215
+#: src/frontends/qt/GuiDocument.cpp:1225
msgid "C6"
msgstr "C6"
-#: src/frontends/qt/GuiDocument.cpp:1216
+#: src/frontends/qt/GuiDocument.cpp:1226
msgid "JIS B0"
msgstr "JIS B0"
-#: src/frontends/qt/GuiDocument.cpp:1217
+#: src/frontends/qt/GuiDocument.cpp:1227
msgid "JIS B1"
msgstr "JIS B1"
-#: src/frontends/qt/GuiDocument.cpp:1218
+#: src/frontends/qt/GuiDocument.cpp:1228
msgid "JIS B2"
msgstr "JIS B2"
-#: src/frontends/qt/GuiDocument.cpp:1219
+#: src/frontends/qt/GuiDocument.cpp:1229
msgid "JIS B3"
msgstr "JIS B3"
-#: src/frontends/qt/GuiDocument.cpp:1220
+#: src/frontends/qt/GuiDocument.cpp:1230
msgid "JIS B4"
msgstr "JIS B4"
-#: src/frontends/qt/GuiDocument.cpp:1221
+#: src/frontends/qt/GuiDocument.cpp:1231
msgid "JIS B5"
msgstr "JIS B5"
-#: src/frontends/qt/GuiDocument.cpp:1222
+#: src/frontends/qt/GuiDocument.cpp:1232
msgid "JIS B6"
msgstr "JIS B6"
# src/mathed/formula.C:929
-#: src/frontends/qt/GuiDocument.cpp:1345
+#: src/frontends/qt/GuiDocument.cpp:1357
msgid "Numbered"
msgstr "ÐомеÑиÑан"
-#: src/frontends/qt/GuiDocument.cpp:1346
+#: src/frontends/qt/GuiDocument.cpp:1358
msgid "Appears in TOC"
msgstr "ÐоÑвÑва Ñ Ð² ÑÑдÑÑжаниеÑо"
# src/sp_form.C:86
-#: src/frontends/qt/GuiDocument.cpp:1434
+#: src/frontends/qt/GuiDocument.cpp:1446
msgid "Package"
msgstr "ÐакеÑ"
# src/ext_l10n.h:175
-#: src/frontends/qt/GuiDocument.cpp:1434
+#: src/frontends/qt/GuiDocument.cpp:1446
msgid "Load automatically"
msgstr "ÐвÑомаÑ. заÑеждане"
-#: src/frontends/qt/GuiDocument.cpp:1435
+#: src/frontends/qt/GuiDocument.cpp:1447
msgid "Load always"
msgstr "ÐаÑеждане винаги"
# src/lyx_cb.C:263
-#: src/frontends/qt/GuiDocument.cpp:1435
+#: src/frontends/qt/GuiDocument.cpp:1447
msgid "Do not load"
msgstr "Ðе Ñе заÑежда"
-#: src/frontends/qt/GuiDocument.cpp:1447
+#: src/frontends/qt/GuiDocument.cpp:1459
msgid "The AMS LaTeX packages are always used"
msgstr ""
-#: src/frontends/qt/GuiDocument.cpp:1450
+#: src/frontends/qt/GuiDocument.cpp:1462
#, c-format
msgid "The LaTeX package %1$s is always used"
msgstr ""
-#: src/frontends/qt/GuiDocument.cpp:1455
+#: src/frontends/qt/GuiDocument.cpp:1467
msgid "The AMS LaTeX packages are never used"
msgstr ""
-#: src/frontends/qt/GuiDocument.cpp:1458
+#: src/frontends/qt/GuiDocument.cpp:1470
#, c-format
msgid "The LaTeX package %1$s is never used"
msgstr ""
-#: src/frontends/qt/GuiDocument.cpp:1595 src/frontends/qt/GuiDocument.cpp:2864
+#: src/frontends/qt/GuiDocument.cpp:1607 src/frontends/qt/GuiDocument.cpp:2882
#, c-format
msgid "%1$s [Class '%2$s']"
msgstr "%1$s [ÐºÐ»Ð°Ñ '%2$s']"
-#: src/frontends/qt/GuiDocument.cpp:1598
+#: src/frontends/qt/GuiDocument.cpp:1610
#, c-format
msgid ""
"Class not found by LyX. Please check if you have the matching %1$s class and "
@@ -37925,12 +37380,11 @@ msgstr ""
"ÐлаÑÑÑ Ð½Ðµ беÑе намеÑен Ð¾Ñ LyX. ÐÑовеÑеÑе дали клаÑа %1$s е налиÑен и дали "
"вÑиÑки необÑ
одими пакеÑи (%2$s) Ñа инÑÑалиÑани пÑавилно."
-#: src/frontends/qt/GuiDocument.cpp:1660
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:1672
msgid "All avail. modules"
-msgstr "вÑиÑки налиÑни Ñайлове"
+msgstr "вÑиÑки налиÑни модÑли"
-#: src/frontends/qt/GuiDocument.cpp:1752 src/frontends/qt/GuiDocument.cpp:1976
+#: src/frontends/qt/GuiDocument.cpp:1766 src/frontends/qt/GuiDocument.cpp:1990
msgid "Input listings parameters below. Enter ? for a list of parameters."
msgstr ""
"ÐÑведеÑе паÑамеÑÑи за ÑоÑмаÑиÑане на ÑекÑÑ. ÐапиÑеÑе â?â за извеждане на "
@@ -37938,192 +37392,186 @@ msgstr ""
"â,â (запеÑаÑ)."
# src/exporter.C:89
-#: src/frontends/qt/GuiDocument.cpp:1759
+#: src/frontends/qt/GuiDocument.cpp:1773
msgid "Document Class"
msgstr "ÐлаÑове (жанÑове) докÑменÑи"
# src/insets/insettext.C:1036 src/lyxfunc.C:1260
-#: src/frontends/qt/GuiDocument.cpp:1762
+#: src/frontends/qt/GuiDocument.cpp:1776
msgid "Local Layout"
msgstr "Ðокално оÑоÑмление"
# src/insets/insettext.C:1036 src/lyxfunc.C:1260
-#: src/frontends/qt/GuiDocument.cpp:1764
+#: src/frontends/qt/GuiDocument.cpp:1778
msgid "Text Layout"
-msgstr "ÐÑоÑмление на ÑекÑÑа"
+msgstr "ТекÑÑ"
# src/frontends/xforms/form_document.C:98
-#: src/frontends/qt/GuiDocument.cpp:1766
+#: src/frontends/qt/GuiDocument.cpp:1780
msgid "Page Margins"
msgstr "ÐолеÑа на ÑÑÑаниÑаÑа"
# src/frontends/xforms/FormPreferences.C:244
-#: src/frontends/qt/GuiDocument.cpp:1768 src/frontends/qt/GuiPrefs.cpp:1054
+#: src/frontends/qt/GuiDocument.cpp:1782 src/frontends/qt/GuiPrefs.cpp:1080
msgid "Colors"
msgstr "ЦвеÑове"
# src/LyXAction.C:263
-#: src/frontends/qt/GuiDocument.cpp:1769
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:1783
msgid "Change Tracking"
-msgstr "ÐÑоÑледÑване на пÑомениÑе|Ð"
+msgstr "ÐÑоÑледÑване на пÑомениÑе"
# src/mathed/formula.C:929
-#: src/frontends/qt/GuiDocument.cpp:1770
+#: src/frontends/qt/GuiDocument.cpp:1784
msgid "Numbering & TOC"
msgstr "ÐомеÑиÑане и ÑÑдÑÑжание"
# src/frontends/xforms/FormIndex.C:29 src/insets/insetindex.C:36
-#: src/frontends/qt/GuiDocument.cpp:1772
+#: src/frontends/qt/GuiDocument.cpp:1786
msgid "Indexes"
-msgstr "ÑказаÑели"
+msgstr "УказаÑели"
# src/ext_l10n.h:320
-#: src/frontends/qt/GuiDocument.cpp:1773
+#: src/frontends/qt/GuiDocument.cpp:1787
msgid "PDF Properties"
msgstr "PDF наÑÑÑойки"
# src/frontends/xforms/form_preferences.C:926
-#: src/frontends/qt/GuiDocument.cpp:1774
+#: src/frontends/qt/GuiDocument.cpp:1788
msgid "Math Options"
msgstr "ÐаÑемаÑиÑеÑки"
# src/frontends/xforms/FormDocument.C:281
-#: src/frontends/qt/GuiDocument.cpp:1777
+#: src/frontends/qt/GuiDocument.cpp:1791
msgid "Bullets"
msgstr "ÐодеÑи знаÑи"
-#: src/frontends/qt/GuiDocument.cpp:1779
+#: src/frontends/qt/GuiDocument.cpp:1793
msgid "Formats[[output]]"
msgstr "ФоÑмаÑи"
# src/lyx_cb.C:675
-#: src/frontends/qt/GuiDocument.cpp:1780
+#: src/frontends/qt/GuiDocument.cpp:1794
msgid "LaTeX Preamble"
msgstr "Ðаглавна ÑаÑÑ Ð½Ð° LaTeX"
# src/frontends/xforms/form_preferences.C:999
-#: src/frontends/qt/GuiDocument.cpp:2085 src/frontends/qt/GuiDocument.cpp:2171
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:2099 src/frontends/qt/GuiDocument.cpp:2185
msgid "Class defaults"
msgstr "по подÑазбиÑане за клаÑа"
# src/ext_l10n.h:270
-#: src/frontends/qt/GuiDocument.cpp:2085 src/frontends/qt/GuiDocument.cpp:2171
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:2099 src/frontends/qt/GuiDocument.cpp:2185
msgid "Package defaults"
-msgstr "&Ðо подÑазбиÑане за езика"
+msgstr "Ðо подÑазбиÑане за пакеÑа"
-#: src/frontends/qt/GuiDocument.cpp:2088 src/frontends/qt/GuiDocument.cpp:2174
+#: src/frontends/qt/GuiDocument.cpp:2102 src/frontends/qt/GuiDocument.cpp:2188
msgid "If no value is given, the defaults as set by the class are used."
-msgstr ""
+msgstr "Ðко не е зададена ÑÑойноÑÑ Ñе Ð²Ð·Ð¸Ð¼Ð°Ñ Ð¿Ð°ÑамеÑÑиÑе по подÑазбиÑане Ð¾Ñ ÐºÐ»Ð°Ñа."
-#: src/frontends/qt/GuiDocument.cpp:2089 src/frontends/qt/GuiDocument.cpp:2175
+#: src/frontends/qt/GuiDocument.cpp:2103 src/frontends/qt/GuiDocument.cpp:2189
msgid ""
"If no value is given, the defaults as set by the geometry package or a "
"package/class overriding geometry's defaults are used."
msgstr ""
+"Ðко не е зададена ÑÑойноÑÑ Ñе Ð²Ð·ÐµÐ¼Ð°Ñ Ð¿Ð°ÑамеÑÑиÑе по подÑазбиÑане Ð¾Ñ Ð¿Ð°ÐºÐµÑа "
+"за оÑоÑмление или Ð¾Ñ Ð¿Ð°ÐºÐµÑа/клаÑа за докÑменÑа."
# src/frontends/xforms/form_graphics.C:61
# src/frontends/xforms/form_graphics.C:82 src/lyxfont.C:411
-#: src/frontends/qt/GuiDocument.cpp:2218 src/frontends/qt/GuiDocument.cpp:2248
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:2232 src/frontends/qt/GuiDocument.cpp:2262
msgid "&Default..."
-msgstr "СÑандаÑÑно"
+msgstr "Ðо подÑазбиÑане"
# src/ext_l10n.h:270
-#: src/frontends/qt/GuiDocument.cpp:2449
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:2463
msgid "Direct (No inputenc)"
-msgstr "по подÑазбиÑане за езика (без âinputencâ)"
+msgstr "ÐиÑекÑно (без âinputencâ)"
# src/frontends/xforms/form_preferences.C:926
-#: src/frontends/qt/GuiDocument.cpp:2451
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:2465
msgid "Direct (XeTeX/LuaTeX)"
-msgstr "PDF (LuaTeX)"
+msgstr "ÐиÑекÑно (XeTeX/LuaTeX)"
-#: src/frontends/qt/GuiDocument.cpp:2637 src/frontends/qt/GuiDocument.cpp:4305
-#: src/frontends/qt/GuiDocument.cpp:4314 src/frontends/qt/GuiDocument.cpp:4323
-#: src/frontends/qt/GuiDocument.cpp:4332
+#: src/frontends/qt/GuiDocument.cpp:2651 src/frontends/qt/GuiDocument.cpp:4316
+#: src/frontends/qt/GuiDocument.cpp:4325 src/frontends/qt/GuiDocument.cpp:4334
+#: src/frontends/qt/GuiDocument.cpp:4343
msgid " (not installed)"
msgstr " (не е инÑÑалиÑан)"
-#: src/frontends/qt/GuiDocument.cpp:2666
+#: src/frontends/qt/GuiDocument.cpp:2680
msgid "Non-TeX Fonts Default"
-msgstr ""
+msgstr "Ðо подÑазбиÑане без TeX ÑÑиÑÑове"
# src/lyx_cb.C:263
-#: src/frontends/qt/GuiDocument.cpp:2668
+#: src/frontends/qt/GuiDocument.cpp:2682
msgid " (not available)"
msgstr " (неналиÑен)"
# src/frontends/xforms/form_preferences.C:999
-#: src/frontends/qt/GuiDocument.cpp:2669
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:2683
msgid "Class Default (TeX Fonts)"
-msgstr "ÐÑовеÑи ÑÑаÑиÑе Ñайлове(C)|#C"
+msgstr "Ðо подÑазбиÑане за клаÑа (TeX ÑÑиÑÑове)"
# src/ext_l10n.h:7
-#: src/frontends/qt/GuiDocument.cpp:2816
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:2834
msgid "Lay&outs"
-msgstr "ÐÑоÑми(L)|L"
+msgstr "ÐÑоÑмлениÑ"
# src/ext_l10n.h:116
-#: src/frontends/qt/GuiDocument.cpp:2818
+#: src/frontends/qt/GuiDocument.cpp:2836
msgid "LyX Layout (*.layout)"
msgstr "LyX оÑоÑмление (*.layout)"
-#: src/frontends/qt/GuiDocument.cpp:2820 src/frontends/qt/GuiDocument.cpp:2829
+#: src/frontends/qt/GuiDocument.cpp:2838 src/frontends/qt/GuiDocument.cpp:2847
msgid "Local layout file"
-msgstr ""
+msgstr "Ðокален Ñайл за оÑоÑмление"
-#: src/frontends/qt/GuiDocument.cpp:2830
+#: src/frontends/qt/GuiDocument.cpp:2848
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/insets/insettext.C:1036 src/lyxfunc.C:1260
-#: src/frontends/qt/GuiDocument.cpp:2834
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:2852
msgid "&Set Layout"
-msgstr "ÐепознаÑо "
+msgstr "&ÐÑоÑмление"
# src/ext_l10n.h:130
-#: src/frontends/qt/GuiDocument.cpp:2848
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:2866
msgid "Unable to read local layout file."
-msgstr "Ðапази оÑоÑмлениеÑо каÑо подÑазбиÑаÑо Ñе(S)|S"
+msgstr "ÐеÑÑпеÑно ÑеÑене на локален Ñайл за оÑоÑмление."
# src/ext_l10n.h:130
-#: src/frontends/qt/GuiDocument.cpp:2865
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:2883
msgid "This is a local layout file."
-msgstr "Ðапази оÑоÑмлениеÑо каÑо подÑазбиÑаÑо Ñе(S)|S"
+msgstr "Това е локален Ñайл за оÑоÑмление."
# src/bufferlist.C:113 src/bufferlist.C:189
-#: src/frontends/qt/GuiDocument.cpp:2879
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:2897
msgid "Select master document"
-msgstr "Ðапазване на докÑменÑа?"
+msgstr "ÐзбиÑане на главен докÑменÑ"
# src/ext_l10n.h:116
-#: src/frontends/qt/GuiDocument.cpp:2883
+#: src/frontends/qt/GuiDocument.cpp:2901
msgid "LyX Files (*.lyx)"
msgstr "LyX Ñайлове (*.lyx)"
# src/ext_l10n.h:31
-#: src/frontends/qt/GuiDocument.cpp:2907 src/frontends/qt/GuiDocument.cpp:3211
-#: src/frontends/qt/GuiDocument.cpp:4820
+#: src/frontends/qt/GuiDocument.cpp:2925 src/frontends/qt/GuiDocument.cpp:3226
+#: src/frontends/qt/GuiDocument.cpp:4835
msgid "Unapplied changes"
msgstr "ÐепÑиложени пÑомени"
-#: src/frontends/qt/GuiDocument.cpp:2908 src/frontends/qt/GuiDocument.cpp:3212
-#: src/frontends/qt/GuiDocument.cpp:4821
+#: src/frontends/qt/GuiDocument.cpp:2926 src/frontends/qt/GuiDocument.cpp:3227
+#: src/frontends/qt/GuiDocument.cpp:4836
msgid ""
"Some changes in the dialog were not yet applied.\n"
"If you do not apply now, they will be lost after this action."
@@ -38133,159 +37581,164 @@ msgstr ""
"Ðко не ги пÑиложиÑе Ñега Ñе Ñе Ñе загÑбÑÑ Ñлед Ñова дейÑÑвие."
# src/frontends/kde/dlg/paradlgdata.C:65
-#: src/frontends/qt/GuiDocument.cpp:2910 src/frontends/qt/GuiDocument.cpp:3214
-#: src/frontends/qt/GuiDocument.cpp:4823
+#: src/frontends/qt/GuiDocument.cpp:2928 src/frontends/qt/GuiDocument.cpp:3229
+#: src/frontends/qt/GuiDocument.cpp:4838
msgid "&Apply"
msgstr "&ÐÑилагане"
-#: src/frontends/qt/GuiDocument.cpp:2910 src/frontends/qt/GuiDocument.cpp:3214
-#: src/frontends/qt/GuiDocument.cpp:4823
+#: src/frontends/qt/GuiDocument.cpp:2928 src/frontends/qt/GuiDocument.cpp:3229
+#: src/frontends/qt/GuiDocument.cpp:4838
msgid "&Dismiss"
-msgstr "&ÐÑказване"
+msgstr "&ÐаÑваÑÑне"
# src/ext_l10n.h:130
-#: src/frontends/qt/GuiDocument.cpp:2921 src/frontends/qt/GuiDocument.cpp:4831
+#: src/frontends/qt/GuiDocument.cpp:2939 src/frontends/qt/GuiDocument.cpp:4846
msgid "Unable to set document class."
msgstr "Ðе може да Ñе зададе ÐºÐ»Ð°Ñ Ð½Ð° докÑменÑа."
# src/ext_l10n.h:423
-#: src/frontends/qt/GuiDocument.cpp:3087
+#: src/frontends/qt/GuiDocument.cpp:3105
msgid "Basic numerical"
msgstr "Ðбикновен Ñ Ð½Ð¾Ð¼ÐµÑа"
# src/ext_l10n.h:175
-#: src/frontends/qt/GuiDocument.cpp:3090
+#: src/frontends/qt/GuiDocument.cpp:3108
msgid "Author-year"
msgstr "авÑоÑ-година"
# src/ext_l10n.h:175
-#: src/frontends/qt/GuiDocument.cpp:3093
+#: src/frontends/qt/GuiDocument.cpp:3111
msgid "Author-number"
msgstr "авÑоÑ-номеÑ"
-#: src/frontends/qt/GuiDocument.cpp:3136
+#: src/frontends/qt/GuiDocument.cpp:3151
#, c-format
msgid "%1$s and %2$s"
msgstr "%1$s и %2$s"
-#: src/frontends/qt/GuiDocument.cpp:3143
+#: src/frontends/qt/GuiDocument.cpp:3158
#, c-format
msgid "%1$s, %2$s"
msgstr "%1$s, %2$s"
-#: src/frontends/qt/GuiDocument.cpp:3148
+#: src/frontends/qt/GuiDocument.cpp:3163
#, c-format
msgid "%1$s, %2$s, and %3$s"
msgstr "%1$s, %2$s, и %3$s"
-#: src/frontends/qt/GuiDocument.cpp:3162
+#: src/frontends/qt/GuiDocument.cpp:3177
#, c-format
msgid "%1$s (unavailable)"
msgstr "%1$s (неналиÑен)"
# src/ext_l10n.h:130
-#: src/frontends/qt/GuiDocument.cpp:3261
+#: src/frontends/qt/GuiDocument.cpp:3276
msgid "Module provided by document class."
msgstr "ÐодÑли пÑедоÑÑавени Ð¾Ñ ÐºÐ»Ð°Ñа за докÑменÑи"
# src/ext_l10n.h:191
-#: src/frontends/qt/GuiDocument.cpp:3269
+#: src/frontends/qt/GuiDocument.cpp:3284
#, c-format
msgid "<p><b>Category:</b> %1$s.</p>"
msgstr "<p><b>ÐаÑегоÑиÑ: </b>%1$s</p>"
-#: src/frontends/qt/GuiDocument.cpp:3279
+#: src/frontends/qt/GuiDocument.cpp:3294
#, c-format
msgid "<p><b>Package(s) required:</b> %1$s.</p>"
msgstr "<p><b>ÐеобÑ
одими пакеÑи:</b> %1$s</p>"
# src/frontends/xforms/FormPreferences.C:252
-#: src/frontends/qt/GuiDocument.cpp:3285
+#: src/frontends/qt/GuiDocument.cpp:3300
msgid "or"
msgstr "или"
-#: src/frontends/qt/GuiDocument.cpp:3288
+#: src/frontends/qt/GuiDocument.cpp:3303
#, c-format
msgid "<p><b>Modules required:</b> %1$s.</p>"
msgstr "<p><b>ÐеобÑ
одими модÑли: </b>%1$s</p>"
-#: src/frontends/qt/GuiDocument.cpp:3297
+#: src/frontends/qt/GuiDocument.cpp:3312
#, c-format
msgid "<p><b>Modules excluded:</b> %1$s.</p>"
msgstr "<p><b>ÐзклÑÑени модÑли: </b>%1$s</p>"
-#: src/frontends/qt/GuiDocument.cpp:3302
+#: src/frontends/qt/GuiDocument.cpp:3317
#, 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:3307
+#: src/frontends/qt/GuiDocument.cpp:3322
msgid ""
"<p><font color=red><b>WARNING: Some required packages are unavailable!</b></"
"font></p>"
msgstr ""
-"<p><font color=red><b>ÐÐ ÐÐУÐÐ ÐÐÐÐÐÐÐ: ÐÑкой необÑ
одими пакеÑи не Ñа налиÑни!"
+"<p><font color=red><b>ÐÐ ÐÐУÐÐ ÐÐÐÐÐÐÐ: ÐÑкои необÑ
одими пакеÑи не Ñа налиÑни!"
"</b></font></p>"
# src/frontends/xforms/form_preferences.C:354
-#: src/frontends/qt/GuiDocument.cpp:3963
+#: src/frontends/qt/GuiDocument.cpp:3974
msgid "per part"
msgstr "за вÑÑка ÑаÑÑ"
# src/ext_l10n.h:194
-#: src/frontends/qt/GuiDocument.cpp:3965
+#: src/frontends/qt/GuiDocument.cpp:3976
msgid "per chapter"
msgstr "за вÑÑка глава"
# src/LColor.C:64
-#: src/frontends/qt/GuiDocument.cpp:3967
+#: src/frontends/qt/GuiDocument.cpp:3978
msgid "per section"
msgstr "за вÑеки Ñаздел"
# src/LColor.C:64
-#: src/frontends/qt/GuiDocument.cpp:3969
+#: src/frontends/qt/GuiDocument.cpp:3980
msgid "per subsection"
msgstr "за вÑÑка подÑаздел"
# src/lyxfunc.C:2761
-#: src/frontends/qt/GuiDocument.cpp:3970
+#: src/frontends/qt/GuiDocument.cpp:3981
msgid "per child document"
msgstr "за вÑеки поддокÑменÑ"
+#: src/frontends/qt/GuiDocument.cpp:4008
+#, c-format
+msgid "%1$s (not available)"
+msgstr "%1$s (липÑва)"
+
# src/LyXAction.C:190
-#: src/frontends/qt/GuiDocument.cpp:4225
+#: src/frontends/qt/GuiDocument.cpp:4236
msgid "[No options predefined]"
msgstr "[ÐÑма пÑедеÑиниÑани опÑии]"
-#: src/frontends/qt/GuiDocument.cpp:4491
+#: src/frontends/qt/GuiDocument.cpp:4503
msgid "C&ustomize Hyperref Options"
msgstr "ÐонÑигÑÑиÑане на Ñ
ипеÑвÑÑзкиÑе"
-#: src/frontends/qt/GuiDocument.cpp:4493
+#: src/frontends/qt/GuiDocument.cpp:4505
msgid "&Use Hyperref Support"
msgstr "Ðозволи ÑпоÑÑебаÑа на Ñ
ипеÑвÑÑзки"
# src/frontends/xforms/FormParagraph.C:33
-#: src/frontends/qt/GuiDocument.cpp:4843
+#: src/frontends/qt/GuiDocument.cpp:4858
msgid "Can't set layout!"
-msgstr "Ðе може да Ñе зададе оÑоÑмление!"
+msgstr "ÐеÑÑпеÑ
пÑи задаване на оÑоÑмление!"
# src/ext_l10n.h:130
-#: src/frontends/qt/GuiDocument.cpp:4844
-#, fuzzy, c-format
+#: src/frontends/qt/GuiDocument.cpp:4859
+#, c-format
msgid "Unable to set layout for ID: %1$s"
-msgstr "Ðапази оÑоÑмлениеÑо каÑо подÑазбиÑаÑо Ñе(S)|S"
+msgstr "ÐеÑÑпеÑ
пÑи задаване на оÑоÑмление за â %1$s"
# src/insets/insettext.C:1036 src/lyxfunc.C:1261
-#: src/frontends/qt/GuiDocument.cpp:4942
+#: src/frontends/qt/GuiDocument.cpp:4962
msgid "Not Found"
msgstr "Ðе е намеÑен"
-#: src/frontends/qt/GuiDocument.cpp:5004
+#: src/frontends/qt/GuiDocument.cpp:5024
msgid "Assigned master does not include this file"
msgstr "ÐоÑоÑÐµÐ½Ð¸Ñ Ð³Ð»Ð°Ð²ÐµÐ½ докÑÐ¼ÐµÐ½Ñ Ð½Ðµ вклÑÑва Ñози Ñайл!"
-#: src/frontends/qt/GuiDocument.cpp:5005
+#: src/frontends/qt/GuiDocument.cpp:5025
#, c-format
msgid ""
"You must include this file in the document\n"
@@ -38296,41 +37749,39 @@ msgstr ""
"â%1$sâ за да използваÑе наÑÑÑойкиÑе за главен докÑменÑ"
# src/converter.C:552 src/converter.C:645
-#: src/frontends/qt/GuiDocument.cpp:5009
+#: src/frontends/qt/GuiDocument.cpp:5029
msgid "Could not load master"
msgstr "ÐÐ»Ð°Ð²Ð½Ð¸Ñ Ñайл не можа да Ñе заÑеди"
# src/lyx_cb.C:263
-#: src/frontends/qt/GuiDocument.cpp:5010
+#: src/frontends/qt/GuiDocument.cpp:5030
#, c-format
msgid ""
"The master document '%1$s'\n"
"could not be loaded."
msgstr ""
"ÐÐ»Ð°Ð²Ð½Ð¸Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ â%1sâ\n"
-"не можа да Ñе заÑеди!"
+"не можe да Ñе заÑеди!"
-#: src/frontends/qt/GuiDocument.cpp:5160
+#: src/frontends/qt/GuiDocument.cpp:5180
msgid "%1 (missing req.)"
-msgstr ""
+msgstr "%1 (липÑваÑи ÑÑловиÑ)"
-#: src/frontends/qt/GuiDocument.cpp:5172
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:5192
msgid "personal module"
-msgstr "ÐиÑни данни"
+msgstr "лиÑен модÑл"
-#: src/frontends/qt/GuiDocument.cpp:5172
+#: src/frontends/qt/GuiDocument.cpp:5192
msgid "distributed module"
msgstr ""
-#: src/frontends/qt/GuiDocument.cpp:5173
-#, fuzzy
+#: src/frontends/qt/GuiDocument.cpp:5193
msgid "<b>Module name:</b> <i>%1</i> (%2)"
-msgstr "<p><b>ÐеобÑ
одими модÑли: </b>%1$s</p>"
+msgstr "<b>Ðме на модÑл:</b> <i>%1</i> (%2)"
-#: src/frontends/qt/GuiDocument.cpp:5179
+#: src/frontends/qt/GuiDocument.cpp:5199
msgid "<b>Note:</b> Some requirements for this module are missing!"
-msgstr ""
+msgstr "<b>Ðабележка:</b> ÐипÑÐ²Ð°Ñ Ð½Ñкои изиÑÐºÐ²Ð°Ð½Ð¸Ñ Ð·Ð° Ñози модÑл!"
# src/frontends/xforms/form_preferences.C:926
#: src/frontends/qt/GuiERT.h:33
@@ -38342,10 +37793,9 @@ msgid "DocBook"
msgstr "DocBook"
# src/frontends/xforms/FormError.C:26
-#: src/frontends/qt/GuiErrorList.cpp:46 src/frontends/qt/GuiLog.cpp:250
-#, fuzzy
+#: src/frontends/qt/GuiErrorList.cpp:46 src/frontends/qt/GuiLog.cpp:297
msgid "Literate"
-msgstr "LaTeX ÐÑеÑка"
+msgstr "ÐоÑловно"
# src/debug.C:34
#: src/frontends/qt/GuiErrorList.cpp:60
@@ -38409,9 +37859,8 @@ msgstr "ÐаÑаб%"
# src/LyXAction.C:185
#: src/frontends/qt/GuiExternal.cpp:673
-#, fuzzy
msgid "Select external file"
-msgstr "ÐÐ·Ð±Ð¾Ñ Ð½Ð° ÑÐ»ÐµÐ´Ð²Ð°Ñ Ñед"
+msgstr "ÐÐ·Ð±Ð¾Ñ Ð½Ð° вÑнÑен Ñайл"
# src/ext_l10n.h:175
#: src/frontends/qt/GuiGraphics.cpp:78
@@ -38426,7 +37875,7 @@ msgstr "ÐзобÑажение"
#: src/frontends/qt/GuiGraphics.cpp:256 src/frontends/qt/GuiGraphics.cpp:272
msgid "Dissolve previous group?"
-msgstr ""
+msgstr "РазпÑÑкане на пÑеднаÑа гÑÑпа?"
#: src/frontends/qt/GuiGraphics.cpp:257
#, c-format
@@ -38440,12 +37889,12 @@ msgstr ""
#: src/frontends/qt/GuiGraphics.cpp:263 src/frontends/qt/GuiGraphics.cpp:279
#, c-format
msgid "Stick with group '%1$s'"
-msgstr ""
+msgstr "ÐÑÑаване в гÑепаÑа â%1$sâ"
#: src/frontends/qt/GuiGraphics.cpp:265
#, c-format
msgid "Assign to group '%1$s' anyway"
-msgstr ""
+msgstr "ÐÑиÑÑединÑване кÑм гÑÑпа â%1$sâ вÑе пак"
#: src/frontends/qt/GuiGraphics.cpp:273
#, c-format
@@ -38459,72 +37908,67 @@ msgstr ""
#: src/frontends/qt/GuiGraphics.cpp:281
#, c-format
msgid "Sign off from group '%1$s'"
-msgstr ""
+msgstr "ÐзклÑÑване Ð¾Ñ Ð³ÑÑпа â%1$sâ"
#: src/frontends/qt/GuiGraphics.cpp:321
msgid "Enter unique group name:"
-msgstr ""
+msgstr "ÐÑведеÑе Ñникално име на гÑÑпа:"
# src/LyXAction.C:190
#: src/frontends/qt/GuiGraphics.cpp:326
-#, fuzzy
msgid "Group already defined!"
-msgstr "ÐÑм ÑледваÑа гÑеÑка"
+msgstr "ÐÑÑпаÑа веÑе ÑÑÑеÑÑвÑва!"
#: src/frontends/qt/GuiGraphics.cpp:327
#, c-format
msgid "A graphics group with the name '%1$s' already exists."
-msgstr ""
+msgstr "ÐÑÑпа Ñ Ð¸Ð·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ñ Ð¸Ð¼ÐµÑо â%1$sâ веÑе ÑÑÑеÑÑвÑва."
# src/form1.C:161 src/frontends/kde/dlg/paraextradlgdata.C:91
# src/frontends/xforms/form_graphics.C:44
# src/frontends/xforms/form_paragraph.C:219
-#: src/frontends/qt/GuiGraphics.cpp:468
-#, fuzzy
+#: src/frontends/qt/GuiGraphics.cpp:474
msgid "Set max. &width:"
-msgstr "ШиÑина"
+msgstr "задаване на макÑ. ÑиÑина:"
# src/form1.C:157 src/frontends/xforms/form_graphics.C:46
-#: src/frontends/qt/GuiGraphics.cpp:469
-#, fuzzy
+#: src/frontends/qt/GuiGraphics.cpp:475
msgid "Set max. &height:"
-msgstr "ÐиÑоÑина"
+msgstr "Ðадаване на макÑ. виÑоÑина:"
-#: src/frontends/qt/GuiGraphics.cpp:470
+#: src/frontends/qt/GuiGraphics.cpp:476
msgid "Maximal width of image in output"
-msgstr ""
+msgstr "ÐакÑимална ÑиÑина на кÑойноÑо изобÑажение"
-#: src/frontends/qt/GuiGraphics.cpp:471
+#: src/frontends/qt/GuiGraphics.cpp:477
msgid "Maximal height of image in output"
-msgstr ""
+msgstr "ÐакÑимална виÑоÑина на кÑайноÑо изобÑажение"
-#: src/frontends/qt/GuiGraphics.cpp:493 src/support/lengthcommon.cpp:40
+#: src/frontends/qt/GuiGraphics.cpp:499 src/support/lengthcommon.cpp:40
msgid "bp"
msgstr "bp"
-#: src/frontends/qt/GuiGraphics.cpp:493 src/support/lengthcommon.cpp:40
+#: src/frontends/qt/GuiGraphics.cpp:499 src/support/lengthcommon.cpp:40
msgid "cm"
msgstr "cm"
-#: src/frontends/qt/GuiGraphics.cpp:493 src/support/lengthcommon.cpp:41
+#: src/frontends/qt/GuiGraphics.cpp:499 src/support/lengthcommon.cpp:41
msgid "mm"
msgstr "mm"
-#: src/frontends/qt/GuiGraphics.cpp:493 src/support/lengthcommon.cpp:41
+#: src/frontends/qt/GuiGraphics.cpp:499 src/support/lengthcommon.cpp:41
msgid "in[[unit of measure]]"
-msgstr "in"
+msgstr "инÑ"
# src/frontends/kde/printdlg.C:35
-#: src/frontends/qt/GuiGraphics.cpp:776
-#, fuzzy
+#: src/frontends/qt/GuiGraphics.cpp:813
msgid "Select graphics file"
-msgstr "ÐÐ·Ð±Ð¾Ñ Ð½Ð° Ñайл"
+msgstr "ÐÐ·Ð±Ð¾Ñ Ð½Ð° Ñайл Ñ Ð¸Ð·Ð¾Ð±Ñажение"
# src/lyx_gui_misc.C:430
-#: src/frontends/qt/GuiGraphics.cpp:788
-#, fuzzy
+#: src/frontends/qt/GuiGraphics.cpp:825
msgid "&Clipart"
-msgstr "ÐзÑÑий(e)|#e"
+msgstr "ÐлипаÑÑ"
# src/frontends/kde/paraextradlg.C:27
#: src/frontends/qt/GuiHSpace.cpp:44 src/insets/InsetSpace.cpp:68
@@ -38567,7 +38011,7 @@ msgstr "ÐолÑÑÑл инÑеÑвал (0.5 em)"
#: src/frontends/qt/GuiHSpace.cpp:52
msgid "Quad (1 em)"
-msgstr "ЦÑл инÑеÑвал (1em)"
+msgstr "ЦÑл инÑеÑвал (1 em)"
# src/bufferview_funcs.C:286
#: src/frontends/qt/GuiHSpace.cpp:53
@@ -38576,28 +38020,29 @@ msgstr "Ðвоен инÑеÑвал (2 em)"
# src/mathed/math_forms.C:152
#: src/frontends/qt/GuiHSpace.cpp:54 src/insets/InsetSpace.cpp:107
-#, fuzzy
msgid "Horizontal Fill"
-msgstr "ХоÑиз. ÐодÑавнÑване(H)|#H"
+msgstr "ХоÑиз. запÑлване"
# src/frontends/xforms/form_paragraph.C:153
#: src/frontends/qt/GuiHSpace.cpp:56 src/insets/InsetSpace.cpp:74
-#, fuzzy
msgid "Visible Space"
-msgstr "ÐеÑÑикално ÑазÑÑоÑние"
+msgstr "Ðидимо ÑазÑÑоÑние"
-#: src/frontends/qt/GuiHSpace.cpp:208
+#: src/frontends/qt/GuiHSpace.cpp:213
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!"
msgstr ""
+"ÐмÑкване на инÑеÑвал доÑи и Ñлед нов Ñед.\n"
+"ÐбÑÑнеÑе внимание, Ñе заÑиÑен полÑÑÑл инÑеÑвал Ñе Ñе "
+"пÑевÑÑне вав веÑÑикално ÑазÑÑоÑние ако Ñе използва в "
+"наÑалоÑо на абзаÑ!"
# src/LColor.C:78
#: src/frontends/qt/GuiHSpace.h:39
-#, fuzzy
msgid "Horizontal Space Settings"
-msgstr "Ñед на миниÑÑÑаниÑа"
+msgstr "ÐаÑÑÑойки на Ñ
оÑиз. ÑазÑÑаÑние"
# src/frontends/kde/urldlg.C:45
#: src/frontends/qt/GuiHyperlink.h:35
@@ -38605,8 +38050,8 @@ msgid "Hyperlink Settings"
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
+#: src/frontends/qt/GuiListings.cpp:250 src/frontends/qt/GuiListings.cpp:406
+#: src/frontends/qt/GuiListings.cpp:484
msgid ""
"Input listing parameters on the right. Enter ? for a list of parameters."
msgstr ""
@@ -38614,9 +38059,8 @@ msgstr ""
"вÑзможниÑе паÑамеÑÑи. ÐовеÑе паÑамеÑÑи Ñе ÑазделÑÑ Ñ â,â (запеÑаÑ)"
#: src/frontends/qt/GuiInclude.cpp:333
-#, fuzzy
msgid "&Create"
-msgstr "&Ðа, ÑÑздаване"
+msgstr "&СÑздаване"
# src/lyxfunc.C:3291
#: src/frontends/qt/GuiInclude.cpp:362
@@ -38630,9 +38074,8 @@ msgstr "LaTeX/LyX докÑменÑи (*.tex *.lyx)"
# src/frontends/kde/indexdlg.C:27 src/frontends/kde/indexdlg.C:28
#: src/frontends/qt/GuiIndex.cpp:32
-#, fuzzy
msgid "Index Entry Settings"
-msgstr "ÐÐ½Ð´ÐµÐºÑ Ð·Ð°Ð¿Ð¸Ñ"
+msgstr "ÐаÑÑÑойки на индекÑен запиÑ"
# src/frontends/xforms/FormPreferences.C:244
#: src/frontends/qt/GuiIndices.cpp:53
@@ -38641,23 +38084,21 @@ msgstr "ЦвÑÑ Ð½Ð° еÑикеÑа"
# src/support/filetools.C:453
#: src/frontends/qt/GuiIndices.cpp:216
-#, fuzzy
msgid "Cannot remove standard index"
-msgstr "ÐÑеÑка! Ðе мога да ÑÑздам вÑеменна диÑекÑоÑиÑ: "
+msgstr "Ðе може да Ñе пÑемаÑ
не ÑÑандаÑÑÐ½Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑ"
#: src/frontends/qt/GuiIndices.cpp:217
msgid "The default index cannot be removed."
-msgstr ""
+msgstr "ÐндекÑа по подÑазбиÑане не може да Ñе пÑемаÑ
не."
# src/frontends/kde/citationdlg.C:35
#: src/frontends/qt/GuiIndices.cpp:236
-#, fuzzy
msgid "Enter new index name"
-msgstr "ÐоÑÑÑпни клавиÑи"
+msgstr "ÐÑвеждане на нови име на индекÑ"
#: src/frontends/qt/GuiIndices.cpp:244
msgid "The index could not be renamed. Check if the new name already exists."
-msgstr ""
+msgstr "ÐндекÑа не може да Ñе пÑеименÑва. ÐÑовеÑеÑе дали новоÑо име веÑе ÑÑÑеÑÑвÑва."
#: src/frontends/qt/GuiInfo.cpp:70
msgid "Date (current)"
@@ -38741,9 +38182,8 @@ 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
-#, fuzzy
msgid "Custom Format"
-msgstr "ÐзÑ
оден ÑоÑмаÑ"
+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
@@ -38752,15 +38192,13 @@ msgstr "ÐепÑиложимо"
# src/sp_form.C:86
#: src/frontends/qt/GuiInfo.cpp:100
-#, fuzzy
msgid "Package Name"
-msgstr "ÐакеÑ"
+msgstr "Ðме на пакеÑ"
# src/ext_l10n.h:146
#: src/frontends/qt/GuiInfo.cpp:101
-#, fuzzy
msgid "Class Name"
-msgstr "LaTeX конÑигÑÑаÑиÑ|L"
+msgstr "Ðме на клаÑ"
# src/mathed/math_forms.C:22
#: src/frontends/qt/GuiInfo.cpp:102 src/frontends/qt/GuiInfo.cpp:103
@@ -38794,6 +38232,17 @@ msgid ""
"* yy: year as two digit number\n"
"* yyyy: year as four digit number"
msgstr ""
+"ÐÑвеждане на ÑоÑÐ¼Ð°Ñ Ð·Ð° даÑа каÑо Ñе Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ñ ÑледниÑе замеÑÑваниÑ:\n"
+"* d: ден каÑо ÑиÑло без нÑли оÑпÑед\n"
+"* dd: ден каÑо ÑиÑло Ñ Ð½Ñла оÑпÑед\n"
+"* ddd: ÑÑкÑаÑено име на ден по локалниÑе езикови наÑÑÑойки\n"
+"* dddd: име на ден по локалниÑе езикови наÑÑÑойки\n"
+"* M: меÑÐµÑ ÐºÐ°Ñо ÑиÑло без нÑла оÑпÑед\n"
+"* MM: меÑÐµÑ ÐºÐ°Ñо ÑиÑло Ñ Ð½Ñла оÑпÑед\n"
+"* MMM: ÑÑкÑаÑено име на меÑÐµÑ Ð¿Ð¾ локалниÑе езикови наÑÑÑойки\n"
+"* MMMM: дÑлго име на меÑÐµÑ Ð¿Ð¾ локалниÑе езикови наÑÑÑойки\n"
+"* yy: година каÑо двÑÑиÑÑено ÑиÑло\n"
+"* yyyy: година каÑо ÑеÑиÑиÑиÑÑено ÑиÑло"
#: src/frontends/qt/GuiInfo.cpp:148 src/frontends/qt/GuiInfo.cpp:162
#: src/frontends/qt/GuiInfo.cpp:176
@@ -38817,13 +38266,15 @@ msgstr ""
#: 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 ""
+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/GuiInfo.cpp:194
msgid ""
@@ -38948,112 +38399,97 @@ msgid "Line Settings"
msgstr "ÐаÑÑÑойки на линиÑ"
# src/LColor.C:71
-#: src/frontends/qt/GuiListings.cpp:63
+#: src/frontends/qt/GuiListings.cpp:67
msgid "No language"
msgstr "<нÑма>"
# src/LColor.C:78
-#: src/frontends/qt/GuiListings.cpp:168
+#: src/frontends/qt/GuiListings.cpp:172
msgid "Program Listing Settings"
msgstr "ÐаÑÑÑойки на пÑогÑамен код"
# src/lyx_gui.C:347
-#: src/frontends/qt/GuiListings.cpp:437
+#: src/frontends/qt/GuiListings.cpp:445
msgid "No dialect"
msgstr "<нÑма>"
# src/LaTeXLog.C:69
-#: src/frontends/qt/GuiLog.cpp:116 src/frontends/qt/GuiLog.cpp:278
+#: src/frontends/qt/GuiLog.cpp:155 src/frontends/qt/GuiLog.cpp:325
msgid "LaTeX Log"
msgstr "LaTeX жÑÑнал"
-#: src/frontends/qt/GuiLog.cpp:240
+#: src/frontends/qt/GuiLog.cpp:287
msgid "Biber"
-msgstr ""
+msgstr "Biber"
# src/frontends/kde/FormPrint.C:118
-#: src/frontends/qt/GuiLog.cpp:253
-#, fuzzy
+#: src/frontends/qt/GuiLog.cpp:300
msgid "LyX2LyX"
-msgstr "LyX"
+msgstr "LyX2LyX"
# src/LaTeXLog.C:59 src/LaTeXLog.C:62
-#: src/frontends/qt/GuiLog.cpp:280
+#: src/frontends/qt/GuiLog.cpp:327
#, fuzzy
msgid "Literate Programming Build Log"
msgstr "Ðе е намеÑен LaTeX Ñайл-пÑоÑокол"
# src/LaTeXLog.C:59 src/LaTeXLog.C:62
-#: src/frontends/qt/GuiLog.cpp:282
-#, fuzzy
+#: src/frontends/qt/GuiLog.cpp:329
msgid "lyx2lyx Error Log"
-msgstr "Ðе е намеÑен LaTeX Ñайл-пÑоÑокол"
+msgstr "ÐÑÑнал за гÑеÑки Ð¾Ñ lyx2lyx"
# src/ext_l10n.h:24
-#: src/frontends/qt/GuiLog.cpp:284
-#, fuzzy
+#: src/frontends/qt/GuiLog.cpp:331
msgid "Version Control Log"
-msgstr "ÐонÑÑол на веÑÑиÑÑа(V)|V"
+msgstr "ÐÑÑнал за конÑÑол на веÑÑииÑе"
# src/lyxfr1.C:192 src/lyxfr1.C:239
-#: src/frontends/qt/GuiLog.cpp:312
-#, fuzzy
+#: src/frontends/qt/GuiLog.cpp:359
msgid "Log file not found."
-msgstr "ÐизÑÑ Ð½Ðµ е намеÑен!"
+msgstr "ÐÑÑÐ½Ð°Ð»Ð½Ð¸Ñ Ñайл не е оÑкÑиÑ."
# src/LaTeXLog.C:59 src/LaTeXLog.C:62
-#: src/frontends/qt/GuiLog.cpp:315
+#: src/frontends/qt/GuiLog.cpp:362
#, fuzzy
msgid "No literate programming build log file found."
msgstr "Ðе е намеÑен LaTeX Ñайл-пÑоÑокол"
# src/LaTeXLog.C:59 src/LaTeXLog.C:62
-#: src/frontends/qt/GuiLog.cpp:318
+#: src/frontends/qt/GuiLog.cpp:365
#, fuzzy
msgid "No lyx2lyx error log file found."
msgstr "Ðе е намеÑен LaTeX Ñайл-пÑоÑокол"
# src/LaTeXLog.C:59 src/LaTeXLog.C:62
-#: src/frontends/qt/GuiLog.cpp:321
-#, fuzzy
+#: src/frontends/qt/GuiLog.cpp:368
msgid "No version control log file found."
-msgstr "Ðе е намеÑен LaTeX Ñайл-пÑоÑокол"
-
-#: src/frontends/qt/GuiLyXFiles.cpp:152
-msgid "Preferred &Language:"
-msgstr "ÐÑедпоÑиÑан &език:"
+msgstr "Ðе е оÑкÑÐ¸Ñ Ð¶ÑÑнален Ñайл за конÑÑол на ÑевизииÑе."
-#: src/frontends/qt/GuiLyXFiles.cpp:158 src/frontends/qt/GuiLyXFiles.cpp:584
+#: src/frontends/qt/GuiLyXFiles.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:590
msgid "New File From Template"
msgstr "ÐаÑеждане на нов Ñайл Ð¾Ñ Ñаблон"
-#: src/frontends/qt/GuiLyXFiles.cpp:190
+#: src/frontends/qt/GuiLyXFiles.cpp:189
msgid "All available files"
msgstr "вÑиÑки налиÑни Ñайлове"
-#: src/frontends/qt/GuiLyXFiles.cpp:191
+#: src/frontends/qt/GuiLyXFiles.cpp:190
msgid "Enter string to filter the list of available files"
msgstr "ÐÑведеÑе низ за ÑилÑÑиÑане на ÑпиÑÑка Ñ Ð½Ð°Ð»Ð¸ÑниÑе Ñайлове."
-#: src/frontends/qt/GuiLyXFiles.cpp:224
+#: src/frontends/qt/GuiLyXFiles.cpp:223
msgid "User and System Files"
msgstr "ÐоÑÑебиÑелÑки и ÑиÑÑемни Ñайлове"
-#: src/frontends/qt/GuiLyXFiles.cpp:225
+#: src/frontends/qt/GuiLyXFiles.cpp:224
msgid "User Files Only"
msgstr "Само поÑÑебиÑелÑки Ñайлове"
-#: src/frontends/qt/GuiLyXFiles.cpp:226
+#: src/frontends/qt/GuiLyXFiles.cpp:225
msgid "System Files Only"
msgstr "Само ÑиÑÑемни Ñайлове"
-# диалогов пÑозоÑеÑ
-# src/layout_forms.C:64
-#: src/frontends/qt/GuiLyXFiles.cpp:313
-msgid "File &Language:"
-msgstr "&Ðзик Ð¾Ñ Ñайла:"
-
-#: src/frontends/qt/GuiLyXFiles.cpp:314
+#: src/frontends/qt/GuiLyXFiles.cpp:331
msgid ""
"All available languages of the selected file are displayed here.\n"
"The selected language version will be opened."
@@ -39061,97 +38497,100 @@ msgstr ""
"ТÑк Ñа показани вÑиÑки налиÑни езиÑи Ð¾Ñ Ð¸Ð·Ð±ÑÐ°Ð½Ð¸Ñ Ñайл Ñ ÐºÐ»Ð°Ð²Ð¸Ñна подÑедба.\n"
"Ще Ñе оÑвоÑи поÑоÑенаÑа езикова веÑÑиÑ."
+#: src/frontends/qt/GuiLyXFiles.cpp:334
+msgid "No alternative language versions available for the selected file."
+msgstr ""
+
+#: src/frontends/qt/GuiLyXFiles.cpp:336
+msgid ""
+"If alternative languages are available for a given file,\n"
+"they can be chosen here if a file is selected."
+msgstr ""
+
# src/frontends/kde/printdlg.C:35
-#: src/frontends/qt/GuiLyXFiles.cpp:360
+#: src/frontends/qt/GuiLyXFiles.cpp:366
#, fuzzy
msgid "Select example file"
msgstr "ÐÐ·Ð±Ð¾Ñ Ð½Ð° Ñайл"
# src/ext_l10n.h:232
-#: src/frontends/qt/GuiLyXFiles.cpp:363 src/frontends/qt/GuiView.cpp:2487
-#: src/frontends/qt/GuiView.cpp:2623 src/frontends/qt/GuiView.cpp:2757
-#, fuzzy
+#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2675
+#: src/frontends/qt/GuiView.cpp:2815 src/frontends/qt/GuiView.cpp:2949
msgid "&Examples"
-msgstr "ÐÑимеÑ"
+msgstr "ÐÑимеÑи"
# src/frontends/kde/printdlg.C:35
-#: src/frontends/qt/GuiLyXFiles.cpp:367 src/frontends/qt/GuiView.cpp:2426
-#, fuzzy
+#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2614
msgid "Select template file"
-msgstr "ÐÐ·Ð±Ð¾Ñ Ð½Ð° Ñайл"
+msgstr "ÐÐ·Ð±Ð¾Ñ Ð½Ð° Ñаблонен Ñайл"
# src/lyx_cb.C:198 src/lyxfunc.C:3055
-#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2428
-#: src/frontends/qt/GuiView.cpp:2877
+#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2616
+#: src/frontends/qt/GuiView.cpp:3069
msgid "&Templates"
msgstr "&Шаблони"
# src/insets/insetinclude.C:80 src/insets/insetinclude.C:81
-#: src/frontends/qt/GuiLyXFiles.cpp:374
-#, fuzzy
+#: src/frontends/qt/GuiLyXFiles.cpp:380
msgid "&User files"
-msgstr "Ðзползвай include|#u"
+msgstr "Файлове на поÑÑебиÑелÑ"
# src/insets/insetinclude.C:80 src/insets/insetinclude.C:81
-#: src/frontends/qt/GuiLyXFiles.cpp:375
-#, fuzzy
+#: src/frontends/qt/GuiLyXFiles.cpp:381
msgid "&System files"
-msgstr "Ðзползвай include|#u"
+msgstr "СиÑÑемни Ñайлове"
# src/lyxfunc.C:3128
-#: src/frontends/qt/GuiLyXFiles.cpp:378
+#: src/frontends/qt/GuiLyXFiles.cpp:384
#, fuzzy
msgid "Chose UI file"
msgstr "ÐзбеÑеÑе Ñаблон"
# src/exporter.C:91
-#: src/frontends/qt/GuiLyXFiles.cpp:379
-#, fuzzy
+#: src/frontends/qt/GuiLyXFiles.cpp:385
msgid "LyX UI Files (*.ui)"
-msgstr " вÑв Ñайл `"
+msgstr "Файлове на LyX за ÐÐ (*.ui)"
# src/lyxfunc.C:3128
-#: src/frontends/qt/GuiLyXFiles.cpp:382
+#: src/frontends/qt/GuiLyXFiles.cpp:388
#, fuzzy
msgid "Chose bind file"
msgstr "ÐзбеÑеÑе Ñаблон"
# src/insets/insetbib.C:339
-#: src/frontends/qt/GuiLyXFiles.cpp:383
+#: src/frontends/qt/GuiLyXFiles.cpp:389
#, fuzzy
msgid "LyX Bind Files (*.bind)"
msgstr "Ðаза данни:"
# src/frontends/xforms/FormPreferences.C:1798
# src/frontends/xforms/FormPreferences.C:1806
-#: src/frontends/qt/GuiLyXFiles.cpp:386
+#: src/frontends/qt/GuiLyXFiles.cpp:392
#, fuzzy
msgid "Chose keyboard map"
msgstr "ÐлавиаÑÑÑна подÑедба"
# src/frontends/xforms/FormPreferences.C:1798
# src/frontends/xforms/FormPreferences.C:1806
-#: src/frontends/qt/GuiLyXFiles.cpp:387
+#: src/frontends/qt/GuiLyXFiles.cpp:393
#, fuzzy
msgid "LyX Keymap Files (*.kmap)"
msgstr "ÐлавиаÑÑÑна подÑедба"
# src/frontends/xforms/form_graphics.C:61
# src/frontends/xforms/form_graphics.C:82 src/lyxfont.C:411
-#: src/frontends/qt/GuiLyXFiles.cpp:445
-#, fuzzy
+#: src/frontends/qt/GuiLyXFiles.cpp:451
msgid "Default Template"
-msgstr "СÑандаÑÑно"
+msgstr "Шаблон по подÑазбиÑане"
-#: src/frontends/qt/GuiLyXFiles.cpp:582
+#: src/frontends/qt/GuiLyXFiles.cpp:588
msgid "Open Example File"
msgstr "ÐÑваÑÑне на пÑимеÑен Ñайл"
# src/ext_l10n.h:232
-#: src/frontends/qt/GuiLyXFiles.cpp:586
-#, fuzzy
+#: src/frontends/qt/GuiLyXFiles.cpp:592
msgid "Open File"
-msgstr "ÐÑимеÑ"
+msgstr "ÐÑваÑÑне на Ñайл"
#: src/frontends/qt/GuiMathMatrix.cpp:34
msgid "[x]"
@@ -39175,9 +38614,8 @@ msgstr "двойни ÑеÑÑи ||x||"
# src/lyxfont.C:56
#: src/frontends/qt/GuiMathMatrix.cpp:39
-#, fuzzy
msgid "small"
-msgstr "ÐалÑк"
+msgstr "малÑк"
# src/LyXAction.C:98
#: src/frontends/qt/GuiMathMatrix.cpp:44
@@ -39217,7 +38655,6 @@ msgstr "ÐмÑкни пÑиложение"
# src/mathed/math_panel.C:134
#: src/frontends/qt/GuiMathMatrix.cpp:64
-#, fuzzy
msgid "Math Matrix"
msgstr "ÐаÑÑиÑа"
@@ -39245,10 +38682,15 @@ msgid ""
" Normally, you won't need to set this, since the largest label width of all "
"the items is used."
msgstr ""
+"ÐакÑо е опиÑано в ÑÑководÑÑвоÑо на поÑÑебинелÑ, ÑиÑинаÑа на Ñози ÑекÑÑ Ð¾Ð¿ÑÐµÐ´ÐµÐ»Ñ "
+"ÑиÑинаÑа на еÑикеÑа на вÑÑка ÑоÑка в ÑÑеди каÑо ÑпиÑÑк и опиÑание.\n"
+"\n"
+"Ðбикновено нÑмаÑе нÑжда Ð¾Ñ Ñази наÑÑÑойка, ÑÑй каÑо Ñе използва ÑиÑинаÑа на "
+"най-Ð³Ð¾Ð»ÐµÐ¼Ð¸Ñ ÐµÑÐ¸ÐºÐµÑ Ð¾Ñ Ð²ÑиÑки запиÑи в ÑпиÑÑка."
# src/frontends/kde/FormCitation.C:160 src/frontends/kde/FormRef.C:201
# src/frontends/kde/indexdlg.C:60 src/frontends/kde/tocdlg.C:48
-#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3155
+#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3347
msgid "&Close"
msgstr "&ÐаÑваÑÑне"
@@ -39258,124 +38700,121 @@ msgid "Phantom Settings"
msgstr "ÐаÑÑÑойки на ÑанÑом"
# src/frontends/xforms/FormPreferences.C:220
-#: src/frontends/qt/GuiPrefs.cpp:209
+#: src/frontends/qt/GuiPrefs.cpp:213
msgid "Look & Feel"
msgstr "Ðблик и ÑÑеÑане"
# src/debug.C:42
-#: src/frontends/qt/GuiPrefs.cpp:213
+#: src/frontends/qt/GuiPrefs.cpp:217
msgid "File Handling"
msgstr "РабоÑа Ñ Ñайлове"
# src/ext_l10n.h:262 src/frontends/gnome/FormIndex.C:89
# src/frontends/xforms/form_index.C:28
-#: src/frontends/qt/GuiPrefs.cpp:414
+#: src/frontends/qt/GuiPrefs.cpp:418
msgid "Keyboard/Mouse"
msgstr "ÐлавиаÑÑÑа и миÑка"
# src/ext_l10n.h:191
-#: src/frontends/qt/GuiPrefs.cpp:548
+#: src/frontends/qt/GuiPrefs.cpp:552
msgid "Input Completion"
msgstr "ÐвÑомаÑиÑно допиÑване"
# src/frontends/xforms/form_preferences.C:887
-#: src/frontends/qt/GuiPrefs.cpp:688 src/frontends/qt/GuiPrefs.cpp:834
+#: src/frontends/qt/GuiPrefs.cpp:692 src/frontends/qt/GuiPrefs.cpp:838
msgid "C&ommand:"
msgstr "Ðоманда:"
# src/frontends/xforms/form_preferences.C:887
-#: src/frontends/qt/GuiPrefs.cpp:713 src/frontends/qt/GuiPrefs.cpp:738
-#: src/frontends/qt/GuiPrefs.cpp:862 src/frontends/qt/GuiPrefs.cpp:889
+#: src/frontends/qt/GuiPrefs.cpp:717 src/frontends/qt/GuiPrefs.cpp:742
+#: src/frontends/qt/GuiPrefs.cpp:866 src/frontends/qt/GuiPrefs.cpp:893
msgid "Co&mmand:"
msgstr "Ðоманда:"
# src/frontends/xforms/FormPreferences.C:238
-#: src/frontends/qt/GuiPrefs.cpp:910
+#: src/frontends/qt/GuiPrefs.cpp:914
msgid "Screen Fonts"
msgstr "ÐкÑанни ÑÑиÑÑове"
# src/frontends/xforms/FormPreferences.C:261
-#: src/frontends/qt/GuiPrefs.cpp:1374
+#: src/frontends/qt/GuiPrefs.cpp:1400
msgid "Paths"
msgstr "ÐÑÑиÑа"
# src/frontends/kde/printdlg.C:35
-#: src/frontends/qt/GuiPrefs.cpp:1461
+#: src/frontends/qt/GuiPrefs.cpp:1487
msgid "Select directory for example files"
msgstr "ÐзбоÑане на диÑекÑоÑÐ¸Ñ Ð·Ð° пÑимеÑни Ñайлове"
# src/lyxfunc.C:3291
-#: src/frontends/qt/GuiPrefs.cpp:1470
+#: src/frontends/qt/GuiPrefs.cpp:1496
msgid "Select a document templates directory"
msgstr "ÐзбиÑане на диÑекÑоÑÐ¸Ñ Ð·Ð° Ñаблонни докÑменÑи"
# src/support/filetools.C:453
-#: src/frontends/qt/GuiPrefs.cpp:1479
+#: src/frontends/qt/GuiPrefs.cpp:1505
msgid "Select a temporary directory"
msgstr "ÐзбиÑане на диÑекÑоÑÐ¸Ñ Ð·Ð° вÑеменни Ñайлове"
# src/lyxfunc.C:3291
-#: src/frontends/qt/GuiPrefs.cpp:1488
+#: src/frontends/qt/GuiPrefs.cpp:1514
msgid "Select a backups directory"
msgstr "ÐзбеÑане на диÑекÑоÑÐ¸Ñ Ð·Ð° ÑезеÑвни копиÑ"
# src/lyxfunc.C:3291
-#: src/frontends/qt/GuiPrefs.cpp:1497
+#: src/frontends/qt/GuiPrefs.cpp:1523
msgid "Select a document directory"
msgstr "ÐзбеÑане на диÑекÑоÑÐ¸Ñ Ð·Ð° докÑменÑи"
-#: src/frontends/qt/GuiPrefs.cpp:1506
+#: src/frontends/qt/GuiPrefs.cpp:1532
msgid "Set the path to the thesaurus dictionaries"
msgstr "ÐаÑÑойване на пÑÑ Ð´Ð¾ Ñинонимни ÑеÑниÑи"
-#: src/frontends/qt/GuiPrefs.cpp:1515
+#: src/frontends/qt/GuiPrefs.cpp:1541
msgid "Set the path to the Hunspell dictionaries"
msgstr "ÐаÑÑÑойване на пÑÑ Ð´Ð¾ ÑеÑниÑи на Hunspell"
-#: src/frontends/qt/GuiPrefs.cpp:1524
+#: src/frontends/qt/GuiPrefs.cpp:1550
msgid "Give a filename for the LyX server pipe"
msgstr "Ðадаване име на Ñайл за ÑÑÑвÑÑен канал на LyX"
# src/spellchecker.C:717
-#: src/frontends/qt/GuiPrefs.cpp:1537 src/frontends/qt/GuiSpellchecker.cpp:614
+#: src/frontends/qt/GuiPrefs.cpp:1563 src/frontends/qt/GuiSpellchecker.cpp:642
msgid "Spellchecker"
msgstr "ÐÑавопиÑ"
# src/ext_l10n.h:217
-#: src/frontends/qt/GuiPrefs.cpp:1543
+#: src/frontends/qt/GuiPrefs.cpp:1569
#, fuzzy
msgid "Native"
msgstr "ÐаÑа"
# src/frontends/xforms/FormTabular.C:131
-#: src/frontends/qt/GuiPrefs.cpp:1549
-#, fuzzy
+#: src/frontends/qt/GuiPrefs.cpp:1575
msgid "Aspell"
-msgstr "ÐлеÑка"
+msgstr "Aspell"
# src/ext_l10n.h:194
-#: src/frontends/qt/GuiPrefs.cpp:1552
-#, fuzzy
+#: src/frontends/qt/GuiPrefs.cpp:1578
msgid "Enchant"
-msgstr "Ðлава"
+msgstr "Enchant"
# src/frontends/xforms/FormTabular.C:131
-#: src/frontends/qt/GuiPrefs.cpp:1555
-#, fuzzy
+#: src/frontends/qt/GuiPrefs.cpp:1581
msgid "Hunspell"
-msgstr "ÐлеÑка"
+msgstr "Hunspell"
# src/frontends/xforms/FormPreferences.C:226
# src/frontends/xforms/FormPreferences.C:255
-#: src/frontends/qt/GuiPrefs.cpp:1628
+#: src/frontends/qt/GuiPrefs.cpp:1654
msgid "Converters"
-msgstr "ÐонвеÑÑиÑане"
+msgstr "ÐÑеобÑазÑване"
-#: src/frontends/qt/GuiPrefs.cpp:1861
+#: src/frontends/qt/GuiPrefs.cpp:1894
msgid "SECURITY WARNING!"
-msgstr ""
+msgstr "ÐÑедÑпÑеждени за ÑигÑÑноÑÑÑа!"
-#: src/frontends/qt/GuiPrefs.cpp:1861
+#: src/frontends/qt/GuiPrefs.cpp:1894
msgid ""
"Unchecking this option has the effect that potentially harmful converters "
"would be run without asking your permission first. This is UNSAFE and NOT "
@@ -39384,38 +38823,36 @@ msgid ""
msgstr ""
# src/frontends/xforms/FormPreferences.C:252
-#: src/frontends/qt/GuiPrefs.cpp:1981
+#: src/frontends/qt/GuiPrefs.cpp:2014
msgid "File Formats"
msgstr "Файлови ÑоÑмаÑи"
# src/frontends/xforms/FormPreferences.C:252
-#: src/frontends/qt/GuiPrefs.cpp:2215 src/frontends/qt/GuiPrefs.cpp:2367
-#, fuzzy
+#: src/frontends/qt/GuiPrefs.cpp:2257 src/frontends/qt/GuiPrefs.cpp:2409
msgid "Format in use"
-msgstr "ФоÑмаÑи"
+msgstr "Ðзползвани ÑоÑмаÑи"
# src/frontends/xforms/FormPreferences.C:1407
-#: src/frontends/qt/GuiPrefs.cpp:2216
-#, fuzzy
+#: src/frontends/qt/GuiPrefs.cpp:2258
msgid ""
"You cannot change a format's short name if the format is used by a "
"converter. Please remove the converter first."
msgstr ""
-"Ðе може да Ñе пÑемаÑ
не ÑоÑмаÑ, койÑо Ñе използва Ð¾Ñ ÐºÐ¾Ð½Ð²ÐµÑÑоÑ. ÐÑÑво "
-"пÑемаÑ
неÑе конвеÑÑоÑа."
+"Ðе може да Ñе пÑÐ¾Ð¼ÐµÐ½Ñ ÐºÑаÑкоÑо име на ÑоÑÐ¼Ð°Ñ Ð°ÐºÐ¾ ÑоÑмаÑа Ñе използва "
+" Ð¾Ñ ÐºÐ¾Ð½Ð²ÐµÑÑоÑ. ÐÑÑво пÑемаÑ
неÑе конвеÑÑоÑа."
# src/frontends/xforms/FormPreferences.C:1407
-#: src/frontends/qt/GuiPrefs.cpp:2368
+#: src/frontends/qt/GuiPrefs.cpp:2410
msgid "Cannot remove a Format used by a Converter. Remove the converter first."
msgstr ""
"Ðе може да Ñе пÑемаÑ
не ÑоÑмаÑ, койÑо Ñе използва Ð¾Ñ ÐºÐ¾Ð½Ð²ÐµÑÑоÑ. ÐÑÑво "
"пÑемаÑ
неÑе конвеÑÑоÑа."
-#: src/frontends/qt/GuiPrefs.cpp:2464
+#: src/frontends/qt/GuiPrefs.cpp:2510
msgid "LyX needs to be restarted!"
msgstr "ÐеобÑ
одимо е да ÑеÑÑаÑÑиÑаÑе LyX"
-#: src/frontends/qt/GuiPrefs.cpp:2465
+#: src/frontends/qt/GuiPrefs.cpp:2511
msgid ""
"The change of user interface language will be fully effective only after a "
"restart."
@@ -39424,96 +38861,94 @@ msgstr ""
"ÑеÑÑаÑÑ Ð½Ð° пÑогÑамаÑа"
# src/LyXAction.C:388
-#: src/frontends/qt/GuiPrefs.cpp:2565
+#: src/frontends/qt/GuiPrefs.cpp:2611
msgid "User Interface"
msgstr "ÐоÑÑебиÑелÑки инÑеÑÑейÑ"
# src/ext_l10n.h:20
-#: src/frontends/qt/GuiPrefs.cpp:2584
+#: src/frontends/qt/GuiPrefs.cpp:2630
msgid "Classic"
msgstr "ÐлаÑик"
-#: src/frontends/qt/GuiPrefs.cpp:2585
+#: src/frontends/qt/GuiPrefs.cpp:2631
msgid "Oxygen"
msgstr "ÐкÑижен"
# src/frontends/xforms/FormError.C:26
-#: src/frontends/qt/GuiPrefs.cpp:2633
+#: src/frontends/qt/GuiPrefs.cpp:2682
msgid "Document Handling"
msgstr "ÐбÑабоÑка на докÑменÑа"
# src/frontends/xforms/FormDocument.C:279
# src/frontends/xforms/FormParagraph.C:133
-#: src/frontends/qt/GuiPrefs.cpp:2740
+#: src/frontends/qt/GuiPrefs.cpp:2789
msgid "Control"
msgstr "УпÑавление и конÑÑол"
# src/ext_l10n.h:375
-#: src/frontends/qt/GuiPrefs.cpp:2861
+#: src/frontends/qt/GuiPrefs.cpp:2910
msgid "Shortcuts"
msgstr "ÐлавиÑни комбинаÑии"
# src/mathed/math_forms.C:22
-#: src/frontends/qt/GuiPrefs.cpp:2868
+#: src/frontends/qt/GuiPrefs.cpp:2917
msgid "Function"
msgstr "ФÑнкÑиÑ"
# src/ext_l10n.h:375
-#: src/frontends/qt/GuiPrefs.cpp:2869
+#: src/frontends/qt/GuiPrefs.cpp:2918
msgid "Shortcut"
msgstr "ÐлавиÑна комбинаÑиÑ"
-#: src/frontends/qt/GuiPrefs.cpp:2946
+#: src/frontends/qt/GuiPrefs.cpp:2995
msgid "Cursor, Mouse and Editing Functions"
msgstr "ÐÑÑÑов, миÑка и ÑÑнкÑии за ÑедакÑиÑане"
# src/mathed/math_panel.C:134
-#: src/frontends/qt/GuiPrefs.cpp:2950
+#: src/frontends/qt/GuiPrefs.cpp:2999
msgid "Mathematical Symbols"
msgstr "ÐаÑемаÑиÑеÑки Ñимволи"
# src/frontends/xforms/FormError.C:26
-#: src/frontends/qt/GuiPrefs.cpp:2954
+#: src/frontends/qt/GuiPrefs.cpp:3003
msgid "Document and Window"
msgstr "ÐокÑменÑи и пÑозоÑÑи"
-#: src/frontends/qt/GuiPrefs.cpp:2958
+#: src/frontends/qt/GuiPrefs.cpp:3007
msgid "Font, Layouts and Textclasses"
msgstr "ШÑиÑÑ, оÑоÑмление и клаÑове ÑекÑÑ (докÑменÑ)"
# src/frontends/xforms/FormPreferences.C:247
# src/frontends/xforms/FormPreferences.C:264
# src/frontends/xforms/FormPreferences.C:272 src/mathed/math_forms.C:46
-#: src/frontends/qt/GuiPrefs.cpp:2962
+#: src/frontends/qt/GuiPrefs.cpp:3011
msgid "System and Miscellaneous"
msgstr "СиÑÑемни и Ñазни ÑÑнкÑии"
# src/frontends/kde/dlg/paradlgdata.C:82
-#: src/frontends/qt/GuiPrefs.cpp:3099 src/frontends/qt/GuiPrefs.cpp:3159
-#, fuzzy
+#: src/frontends/qt/GuiPrefs.cpp:3148 src/frontends/qt/GuiPrefs.cpp:3208
msgid "Res&tore"
-msgstr "(&R)ÐÑÑÑанови"
+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
+#: src/frontends/qt/GuiPrefs.cpp:3376 src/frontends/qt/GuiPrefs.cpp:3385
+#: src/frontends/qt/GuiPrefs.cpp:3391 src/frontends/qt/GuiPrefs.cpp:3455
msgid "Failed to create shortcut"
msgstr ""
# src/lyxfunc.C:328 src/lyxfunc.C:2996
-#: src/frontends/qt/GuiPrefs.cpp:3328
-#, fuzzy
+#: src/frontends/qt/GuiPrefs.cpp:3377
msgid "Unknown or invalid LyX function"
-msgstr "ÐепознаÑо дейÑÑвие"
+msgstr "ÐепознаÑа или невалидна ÑÑнкÑÐ¸Ñ Ð½Ð° LyX"
-#: src/frontends/qt/GuiPrefs.cpp:3337
+#: src/frontends/qt/GuiPrefs.cpp:3386
msgid "This LyX function is hidden and cannot be bound."
msgstr ""
-#: src/frontends/qt/GuiPrefs.cpp:3343
+#: src/frontends/qt/GuiPrefs.cpp:3392
msgid "Invalid or empty key sequence"
msgstr ""
-#: src/frontends/qt/GuiPrefs.cpp:3358
+#: src/frontends/qt/GuiPrefs.cpp:3407
#, c-format
msgid ""
"Shortcut `%1$s' is already bound to %2$s.\n"
@@ -39521,31 +38956,30 @@ msgid ""
msgstr ""
# src/ext_l10n.h:375
-#: src/frontends/qt/GuiPrefs.cpp:3364
+#: src/frontends/qt/GuiPrefs.cpp:3413
#, fuzzy
msgid "Redefine shortcut?"
msgstr "Ðодзаглавие"
# src/frontends/xforms/FormPreferences.C:269
-#: src/frontends/qt/GuiPrefs.cpp:3365
+#: src/frontends/qt/GuiPrefs.cpp:3414
#, fuzzy
msgid "&Redefine"
msgstr "ÐÑинÑеÑ"
-#: src/frontends/qt/GuiPrefs.cpp:3406
+#: src/frontends/qt/GuiPrefs.cpp:3456
msgid "Can not insert shortcut to the list"
msgstr ""
# src/frontends/xforms/form_paragraph.C:48
-#: src/frontends/qt/GuiPrefs.cpp:3437
+#: src/frontends/qt/GuiPrefs.cpp:3487
msgid "Identity"
msgstr "ÐденÑиÑикаÑиÑ"
# src/frontends/xforms/form_tabular.C:113
#: src/frontends/qt/GuiPrintNomencl.cpp:49
-#, fuzzy
msgid "Longest label width"
-msgstr " ÐÑлга ÑаблиÑа(L)|#L"
+msgstr "ШиÑина на най-дÑÐ»Ð³Ð¸Ñ ÐµÑикеÑ"
# src/frontends/xforms/FormPreferences.C:226
# src/frontends/xforms/FormPreferences.C:255
@@ -39617,62 +39051,59 @@ msgstr "Ðазад"
#: src/frontends/qt/GuiRef.cpp:395
msgid "Jump back to the original cursor location"
-msgstr ""
+msgstr "ÐÑÑÑане до пÑÑвонаÑалнаÑа позиÑÐ¸Ñ Ð½Ð° кÑÑÑоÑа"
#: src/frontends/qt/GuiRef.cpp:467 src/frontends/qt/GuiRef.cpp:487
msgid "<No prefix>"
-msgstr ""
+msgstr "<без пÑеÑикÑ>"
-#: src/frontends/qt/GuiSearch.cpp:191
+#: src/frontends/qt/GuiSearch.cpp:194
msgid "Ex&pand"
msgstr ""
-#: src/frontends/qt/GuiSearch.cpp:192
+#: src/frontends/qt/GuiSearch.cpp:195
msgid "Show replace and option widgets"
msgstr ""
# src/kbsequence.C:215
-#: src/frontends/qt/GuiSearch.cpp:251
+#: src/frontends/qt/GuiSearch.cpp:254
#, fuzzy
msgid "Active options:"
msgstr " опÑии: "
# src/form1.C:310
-#: src/frontends/qt/GuiSearch.cpp:254
+#: src/frontends/qt/GuiSearch.cpp:257
#, fuzzy
msgid "Case sensitive search"
msgstr "РазлиÑаване на малки Ð¾Ñ Ð³Ð¾Ð»ÐµÐ¼Ð¸ бÑкви"
# src/ext_l10n.h:263
-#: src/frontends/qt/GuiSearch.cpp:272
-#, fuzzy
+#: src/frontends/qt/GuiSearch.cpp:275
msgid "Whole words only"
-msgstr "Цели дÑми"
+msgstr "Само Ñели дÑми"
# src/converter.C:798 src/converter.C:865
-#: src/frontends/qt/GuiSearch.cpp:289
-#, fuzzy
+#: src/frontends/qt/GuiSearch.cpp:292
msgid "Search only in selection"
-msgstr "ТÑÑÑене Ñамо в маÑ. изÑази"
+msgstr "ТÑÑÑене Ñамо в избанаÑа облаÑÑ"
-#: src/frontends/qt/GuiSearch.cpp:306
+#: src/frontends/qt/GuiSearch.cpp:309
#, fuzzy
msgid "Search as you type"
msgstr "&ТÑÑÑене докаÑо Ñе пиÑе"
-#: src/frontends/qt/GuiSearch.cpp:323
+#: src/frontends/qt/GuiSearch.cpp:326
#, fuzzy
msgid "Wrap search"
msgstr "ТÑÑÑене оÑново?"
-#: src/frontends/qt/GuiSearch.cpp:345
+#: src/frontends/qt/GuiSearch.cpp:348
#, fuzzy
msgid "Click here to change search options"
msgstr "ÐаÑиÑнеÑе за пÑомÑна на ÑвеÑа"
# src/LyXAction.C:204 src/lyxfr0.C:108
-#: src/frontends/qt/GuiSearch.cpp:556
-#, fuzzy
+#: src/frontends/qt/GuiSearch.cpp:569
msgid "Search and Replace"
msgstr "ТÑÑÑене и ÐамÑна"
@@ -39702,7 +39133,7 @@ msgid ""
msgstr "ÐоÑÑÐ¸Ð³Ð½Ð°Ñ Ðµ кÑÐ°Ñ Ð½Ð° докÑменÑа. ÐелаеÑе ли да пÑодÑлжиÑе Ð¾Ñ Ð½Ð°ÑалоÑо?"
# src/spellchecker.C:971
-#: src/frontends/qt/GuiSpellchecker.cpp:560
+#: src/frontends/qt/GuiSpellchecker.cpp:588
msgid "Spell checker has no dictionaries."
msgstr "ÐÑма ÑеÑник за пÑовеÑкаÑа на пÑавопиÑа."
@@ -40088,7 +39519,7 @@ msgstr "ÐмÑкване на ÑаблиÑа"
msgid "TeX Information"
msgstr "ÐнÑоÑмаÑÐ¸Ñ Ð·Ð° TeX"
-#: src/frontends/qt/GuiThesaurus.cpp:207
+#: src/frontends/qt/GuiThesaurus.cpp:235
msgid "No thesaurus available for this language!"
msgstr "ÐÑма налиÑен Ñинонимен ÑеÑник за избÑÐ°Ð½Ð¸Ñ ÐµÐ·Ð¸Ðº."
@@ -40097,45 +39528,45 @@ msgstr "ÐÑма налиÑен Ñинонимен ÑеÑник за избÑа
msgid "Outline"
msgstr "СÑÑÑкÑÑÑа"
-#: src/frontends/qt/GuiToolbar.cpp:415
+#: src/frontends/qt/GuiToolbar.cpp:428
msgid "&Reset to default"
msgstr "ÐÑзÑÑановÑване по подÑазбиÑане"
# src/frontends/xforms/FormDocument.C:1101
-#: src/frontends/qt/GuiToolbar.cpp:416
+#: src/frontends/qt/GuiToolbar.cpp:429
msgid "Reset all font settings to their defaults"
msgstr ""
"ÐÑзÑÑановÑване на вÑиÑки наÑÑÑойкиÑе на ÑÑиÑÑ ÐºÑм пÑÑвонаÑаÑниÑе им ÑÑойноÑÑи"
# src/frontends/xforms/form_graphics.C:61
# src/frontends/xforms/form_graphics.C:82 src/lyxfont.C:411
-#: src/frontends/qt/GuiToolbar.cpp:629
+#: src/frontends/qt/GuiToolbar.cpp:642
msgid "auto"
msgstr "авÑомаÑиÑно"
-#: src/frontends/qt/GuiToolbar.cpp:631
+#: src/frontends/qt/GuiToolbar.cpp:644
#, c-format
msgid "Toolbar \"%1$s\" does not support state \"auto\""
msgstr ""
# src/lyxfont.C:62
-#: src/frontends/qt/GuiToolbar.cpp:638 src/insets/InsetBranch.cpp:79
+#: src/frontends/qt/GuiToolbar.cpp:651 src/insets/InsetBranch.cpp:79
#: src/insets/InsetBranch.cpp:82
msgid "off"
msgstr "изкл."
-#: src/frontends/qt/GuiToolbar.cpp:645 src/frontends/qt/GuiToolbar.cpp:685
+#: src/frontends/qt/GuiToolbar.cpp:658 src/frontends/qt/GuiToolbar.cpp:698
#, c-format
msgid "Toolbar \"%1$s\" state set to %2$s"
msgstr ""
# src/frontends/xforms/FormTabular.C:133
-#: src/frontends/qt/GuiToolbar.cpp:682
+#: src/frontends/qt/GuiToolbar.cpp:695
#, fuzzy
msgid "movable"
msgstr "ÐÑлга ÑаблиÑа"
-#: src/frontends/qt/GuiToolbar.cpp:684
+#: src/frontends/qt/GuiToolbar.cpp:697
msgid "immovable"
msgstr ""
@@ -40144,27 +39575,39 @@ msgstr ""
msgid "Vertical Space Settings"
msgstr "ÐаÑÑÑойка на веÑÑикално оÑÑÑоÑние"
-#: src/frontends/qt/GuiView.cpp:154
+#: src/frontends/qt/GuiView.cpp:156
msgid ""
"The Document\n"
"Processor[[welcome banner]]"
msgstr ""
-#: src/frontends/qt/GuiView.cpp:155
+#: src/frontends/qt/GuiView.cpp:157
msgid "1.0[[possibly scale the welcome banner text size]]"
msgstr ""
# src/lyxfunc.C:1125
-#: src/frontends/qt/GuiView.cpp:158
+#: src/frontends/qt/GuiView.cpp:160
msgid "version "
msgstr "веÑÑÐ¸Ñ "
# src/lyxfunc.C:328 src/lyxfunc.C:2996
-#: src/frontends/qt/GuiView.cpp:158
+#: src/frontends/qt/GuiView.cpp:160
msgid "unknown version"
msgstr "неподнаÑа веÑÑиÑ"
-#: src/frontends/qt/GuiView.cpp:639
+#: src/frontends/qt/GuiView.cpp:648
+msgid "Workarea zoom level. Drag, use Ctrl-+/- or Shift-Mousewheel to adjust."
+msgstr ""
+
+#: src/frontends/qt/GuiView.cpp:690 src/frontends/qt/GuiView.cpp:803
+#: src/frontends/qt/GuiView.cpp:973 src/frontends/qt/Menus.cpp:1843
+#: src/frontends/qt/Menus.cpp:1847 src/frontends/qt/Menus.cpp:1851
+#: src/frontends/qt/Menus.cpp:1855 src/frontends/qt/Menus.cpp:1859
+#: src/frontends/qt/Menus.cpp:1863
+msgid "[[ZOOM]]%1$d%"
+msgstr ""
+
+#: src/frontends/qt/GuiView.cpp:709
msgid ""
"WARNING: LaTeX is allowed to execute external commands for this document. "
"Right click to change."
@@ -40178,121 +39621,139 @@ msgstr ""
# src/frontends/kde/dlg/printdlgdata.C:133
# src/frontends/kde/dlg/tabcreatedlgdata.C:60 src/frontends/kde/indexdlg.C:65
# src/frontends/kde/refdlg.C:92 src/frontends/kde/urldlg.C:58
-#: src/frontends/qt/GuiView.cpp:720
+#: src/frontends/qt/GuiView.cpp:788
#, fuzzy
msgid "Cancel Export?"
-msgstr "(&C)ÐÑказ"
+msgstr "ÐÑказване на екÑпоÑÑа"
-#: src/frontends/qt/GuiView.cpp:721
+#: src/frontends/qt/GuiView.cpp:789
msgid "Do you want to cancel the background export process?"
msgstr ""
# src/ext_l10n.h:205
-#: src/frontends/qt/GuiView.cpp:724
+#: src/frontends/qt/GuiView.cpp:792
#, fuzzy
msgid "Co&ntinue"
msgstr "УÑловие"
# src/importer.C:58
-#: src/frontends/qt/GuiView.cpp:749
+#: src/frontends/qt/GuiView.cpp:869
#, c-format
msgid "Successful export to format: %1$s"
msgstr "УÑпеÑено екÑпоÑÑиÑане кÑм ÑоÑмаÑ: %1$s"
# src/importer.C:58
-#: src/frontends/qt/GuiView.cpp:758
+#: src/frontends/qt/GuiView.cpp:878
#, c-format
msgid "Error while exporting format: %1$s"
msgstr "ÐÑеÑка пÑи екÑпоÑÑиÑане вÑв ÑоÑмаÑ: %1$s"
# src/importer.C:58
-#: src/frontends/qt/GuiView.cpp:761
+#: src/frontends/qt/GuiView.cpp:881
#, c-format
msgid "Successful preview of format: %1$s"
msgstr "УÑпеÑен пÑеглед вÑв ÑоÑмаÑ: %1$s"
# src/importer.C:58
-#: src/frontends/qt/GuiView.cpp:764
+#: src/frontends/qt/GuiView.cpp:884
#, c-format
msgid "Error while previewing format: %1$s"
msgstr "ÐÑеÑка пÑи пÑеглед вÑв ÑоÑмаÑ: %1$s"
# src/importer.C:58
-#: src/frontends/qt/GuiView.cpp:767
+#: src/frontends/qt/GuiView.cpp:887
#, fuzzy, c-format
msgid "Conversion cancelled while previewing format: %1$s"
msgstr "ÐÑма инÑоÑмаÑÐ¸Ñ Ð·Ð° импоÑÑиÑане Ð¾Ñ "
-#: src/frontends/qt/GuiView.cpp:1096
+#: src/frontends/qt/GuiView.cpp:1239
msgid "Exit LyX"
msgstr "ÐзÑ
од Ð¾Ñ LyX"
-#: src/frontends/qt/GuiView.cpp:1097
+#: src/frontends/qt/GuiView.cpp:1240
msgid "LyX could not be closed because documents are being processed by LyX."
msgstr ""
"LyX не може да Ñе заÑвоÑи, заÑоÑо има докÑменÑи, коиÑо Ñе обÑабоÑÐ²Ð°Ñ Ð¾Ñ "
"пÑогÑамаÑа"
-#: src/frontends/qt/GuiView.cpp:1245
+#: src/frontends/qt/GuiView.cpp:1388
#, c-format
msgid "%1$s (modified externally)"
msgstr ""
# src/minibuffer.C:46 src/minibuffer.C:244
-#: src/frontends/qt/GuiView.cpp:1364
+#: src/frontends/qt/GuiView.cpp:1511
msgid "Welcome to LyX!"
msgstr "ÐобÑе доÑли в LyX!"
# src/ext_l10n.h:175
-#: src/frontends/qt/GuiView.cpp:1900
+#: src/frontends/qt/GuiView.cpp:2070
msgid "Automatic save done."
msgstr "ÐвÑомаÑиÑноÑо запазване пÑиклÑÑи."
# src/lyx_cb.C:411
-#: src/frontends/qt/GuiView.cpp:1901
+#: src/frontends/qt/GuiView.cpp:2071
msgid "Automatic save failed!"
msgstr "ÐвÑомаÑиÑноÑо запазване Ñе пÑовали!"
# src/lyxfunc.C:347
-#: src/frontends/qt/GuiView.cpp:1957
+#: src/frontends/qt/GuiView.cpp:2151
msgid "Command not allowed without any document open"
msgstr "ÐомандаÑа не е позволена без да има оÑвоÑен докÑменÑ"
-#: src/frontends/qt/GuiView.cpp:2026
+#: src/frontends/qt/GuiView.cpp:2220
msgid "Invalid argument of master-buffer-forall"
msgstr ""
-#: src/frontends/qt/GuiView.cpp:2144
+#: src/frontends/qt/GuiView.cpp:2338
msgid "Function toolbar-set requires two arguments!"
msgstr ""
-#: src/frontends/qt/GuiView.cpp:2151
+#: src/frontends/qt/GuiView.cpp:2345
#, c-format
msgid "Invalid argument \"%1$s\" to function toolbar-set!"
msgstr ""
# src/lyxfunc.C:328 src/lyxfunc.C:2996
-#: src/frontends/qt/GuiView.cpp:2167 src/frontends/qt/GuiView.cpp:2180
-#: src/frontends/qt/GuiView.cpp:2197
+#: src/frontends/qt/GuiView.cpp:2361 src/frontends/qt/GuiView.cpp:2374
+#: src/frontends/qt/GuiView.cpp:2391
#, fuzzy, c-format
msgid "Unknown toolbar \"%1$s\""
msgstr "ÐепознаÑо дейÑÑвие"
-#: src/frontends/qt/GuiView.cpp:2313 src/frontends/qt/GuiView.cpp:2326
+#: src/frontends/qt/GuiView.cpp:2509
msgid "Zoom level cannot be less than %1$d%."
msgstr ""
+# src/support/filetools.C:453
+#: src/frontends/qt/GuiView.cpp:2514
+#, fuzzy
+msgid "Zoom level cannot be more than %1$d%."
+msgstr "ÐÑеÑка! Ðе мога да ÑÑздам вÑеменна диÑекÑоÑиÑ: "
+
# src/lyx_cb.C:263
-#: src/frontends/qt/GuiView.cpp:2455
+#: src/frontends/qt/GuiView.cpp:2643
msgid "Document not loaded."
msgstr "ÐокÑменÑÑÑ Ð½e e заÑеден."
# src/lyxfunc.C:3159
-#: src/frontends/qt/GuiView.cpp:2485
+#: src/frontends/qt/GuiView.cpp:2673
msgid "Select document to open"
msgstr "ÐзбеÑане на докÑÐ¼ÐµÐ½Ñ Ð·Ð° оÑваÑÑне"
-#: src/frontends/qt/GuiView.cpp:2515
+# src/ext_l10n.h:116
+#: src/frontends/qt/GuiView.cpp:2679
+#, fuzzy
+msgid "LyX Document Backups (*.lyx~)"
+msgstr "LyX докÑÐ¼ÐµÐ½Ñ (*.lyx)"
+
+# src/exporter.C:91
+#: src/frontends/qt/GuiView.cpp:2680
+#, fuzzy
+msgid "All Files (*.*)"
+msgstr "ÐÑе"
+
+#: src/frontends/qt/GuiView.cpp:2707
#, c-format
msgid ""
"The directory in the given path\n"
@@ -40304,46 +39765,46 @@ msgstr ""
"не ÑÑÑеÑÑвÑва."
# src/lyxfunc.C:3100 src/lyxfunc.C:3176
-#: src/frontends/qt/GuiView.cpp:2532
+#: src/frontends/qt/GuiView.cpp:2724
#, c-format
msgid "Opening document %1$s..."
msgstr "ÐÑваÑÑне на докÑÐ¼ÐµÐ½Ñ %1$s..."
# src/MenuBackend.C:263
-#: src/frontends/qt/GuiView.cpp:2537
+#: src/frontends/qt/GuiView.cpp:2729
#, c-format
msgid "Document %1$s opened."
msgstr "ÐокÑменÑÑÑ %1$s e оÑвоÑен."
# src/debug.C:44
-#: src/frontends/qt/GuiView.cpp:2540
+#: src/frontends/qt/GuiView.cpp:2732
msgid "Version control detected."
msgstr "ÐÑкÑиÑа е ÑиÑÑема за конÑÑол на ÑевизииÑе"
# src/lyxfunc.C:3185
-#: src/frontends/qt/GuiView.cpp:2542
+#: src/frontends/qt/GuiView.cpp:2734
#, c-format
msgid "Could not open document %1$s"
msgstr "ÐеÑÑпеÑно оÑваÑÑне на %1$s"
# src/importer.C:57
-#: src/frontends/qt/GuiView.cpp:2570
+#: src/frontends/qt/GuiView.cpp:2762
msgid "Couldn't import file"
msgstr "ФайлÑÑ Ð½Ðµ можа да Ñе импоÑÑиÑа"
# src/importer.C:58
-#: src/frontends/qt/GuiView.cpp:2571
+#: src/frontends/qt/GuiView.cpp:2763
#, c-format
msgid "No information for importing the format %1$s."
msgstr "ÐÑма инÑоÑмаÑÐ¸Ñ Ð·Ð° импоÑÑиÑане Ð¾Ñ ÑоÑÐ¼Ð°Ñ %1$s."
# src/lyxfunc.C:3291
-#: src/frontends/qt/GuiView.cpp:2618
+#: src/frontends/qt/GuiView.cpp:2810
#, c-format
msgid "Select %1$s file to import"
msgstr "ÐзбеÑане на %1$s Ñайл за импоÑÑиÑане"
-#: src/frontends/qt/GuiView.cpp:2653
+#: src/frontends/qt/GuiView.cpp:2845
#, c-format
msgid ""
"The file name '%1$s' is invalid!\n"
@@ -40351,8 +39812,8 @@ msgid ""
msgstr ""
# src/buffer.C:534
-#: src/frontends/qt/GuiView.cpp:2680 src/frontends/qt/GuiView.cpp:2947
-#: src/frontends/qt/GuiView.cpp:3050
+#: src/frontends/qt/GuiView.cpp:2872 src/frontends/qt/GuiView.cpp:3139
+#: src/frontends/qt/GuiView.cpp:3242
#, c-format
msgid ""
"The document %1$s already exists.\n"
@@ -40364,38 +39825,38 @@ msgstr ""
"ÐелаеÑе ли пÑезапиÑеÑе Ñози докÑменÑ?"
# src/bufferlist.C:113 src/bufferlist.C:189
-#: src/frontends/qt/GuiView.cpp:2682 src/frontends/qt/GuiView.cpp:2951
-#: src/frontends/qt/GuiView.cpp:3054
+#: src/frontends/qt/GuiView.cpp:2874 src/frontends/qt/GuiView.cpp:3143
+#: src/frontends/qt/GuiView.cpp:3246
msgid "Overwrite document?"
msgstr "ÐÑезапиÑване на докÑменÑа?"
# src/importer.C:39
-#: src/frontends/qt/GuiView.cpp:2691
+#: src/frontends/qt/GuiView.cpp:2883
#, c-format
msgid "Importing %1$s..."
msgstr "ÐмпоÑÑиÑане на %1$s..."
# src/importer.C:81
-#: src/frontends/qt/GuiView.cpp:2694
+#: src/frontends/qt/GuiView.cpp:2886
msgid "imported."
msgstr "импоÑÑиÑан."
# src/lyxfr1.C:192 src/lyxfr1.C:239
-#: src/frontends/qt/GuiView.cpp:2696
+#: src/frontends/qt/GuiView.cpp:2888
msgid "file not imported!"
msgstr "ÑайлÑÑ Ð½Ðµ е импоÑÑиÑан!"
# src/ext_l10n.h:92
-#: src/frontends/qt/GuiView.cpp:2722
+#: src/frontends/qt/GuiView.cpp:2914
msgid "newfile"
msgstr "новÑайл"
# src/lyxfunc.C:3291
-#: src/frontends/qt/GuiView.cpp:2755
+#: src/frontends/qt/GuiView.cpp:2947
msgid "Select LyX document to insert"
msgstr "ÐзбеÑане на LyX докÑÐ¼ÐµÐ½Ñ Ð·Ð° вмÑкване"
-#: src/frontends/qt/GuiView.cpp:2802
+#: src/frontends/qt/GuiView.cpp:2994
#, c-format
msgid ""
"It is suggested to save the template in a subdirectory\n"
@@ -40408,32 +39869,32 @@ msgstr ""
"Тази поддиÑекÑоÑÐ¸Ñ Ð²Ñе оÑе не ÑÑÑеÑÑвÑва.\n"
"ÐелаеÑе ли ÑÑ Ð´Ð° Ñе ÑÑздаде?"
-#: src/frontends/qt/GuiView.cpp:2807
+#: src/frontends/qt/GuiView.cpp:2999
msgid "Create Language Directory?"
msgstr "СÑздаване на диÑекÑоÑÐ¸Ñ Ð·Ð° ÑазлиÑен език?"
-#: src/frontends/qt/GuiView.cpp:2808 src/frontends/qt/GuiView.cpp:2839
+#: src/frontends/qt/GuiView.cpp:3000 src/frontends/qt/GuiView.cpp:3031
msgid "&Yes, Create"
msgstr "&Ðа, ÑÑздаване"
-#: src/frontends/qt/GuiView.cpp:2808 src/frontends/qt/GuiView.cpp:2839
+#: src/frontends/qt/GuiView.cpp:3000 src/frontends/qt/GuiView.cpp:3031
msgid "&No, Save Template in Parent Directory"
msgstr "&Ðе, запиÑване на Ñаблона в ÑодиÑелÑкаÑа диÑекÑоÑиÑ"
# src/lyx_cb.C:986
-#: src/frontends/qt/GuiView.cpp:2811 src/frontends/qt/GuiView.cpp:2842
+#: src/frontends/qt/GuiView.cpp:3003 src/frontends/qt/GuiView.cpp:3034
#, fuzzy
msgid "Subdirectory creation failed!"
msgstr "ÐÑогÑамаÑа не ÑÑÐ¿Ñ Ð´Ð° Ñе пÑеконÑигÑÑиÑа"
# src/support/filetools.C:469
-#: src/frontends/qt/GuiView.cpp:2812 src/frontends/qt/GuiView.cpp:2843
+#: src/frontends/qt/GuiView.cpp:3004 src/frontends/qt/GuiView.cpp:3035
msgid ""
"Could not create subdirectory.\n"
"The template will be saved in the parent directory."
msgstr ""
-#: src/frontends/qt/GuiView.cpp:2833
+#: src/frontends/qt/GuiView.cpp:3025
#, c-format
msgid ""
"It is suggested to save the template in a subdirectory\n"
@@ -40446,21 +39907,21 @@ msgstr ""
"Тази поддиÑекÑоÑÐ¸Ñ Ð²Ñе оÑе не ÑÑÑеÑÑвÑва.\n"
"ÐелаеÑе ли ÑÑ Ð´Ð° Ñе ÑÑздаде?"
-#: src/frontends/qt/GuiView.cpp:2838
+#: src/frontends/qt/GuiView.cpp:3030
msgid "Create Category Directory?"
msgstr "СÑздаване на диÑекÑоÑÐ¸Ñ Ð·Ð° каÑегоÑии"
# src/lyx_cb.C:203
-#: src/frontends/qt/GuiView.cpp:2873
+#: src/frontends/qt/GuiView.cpp:3065
msgid "Choose a filename to save template as"
msgstr "ÐÑвеждане на име Ñ ÐºÐ¾ÐµÑо да запазиÑе Ñаблона"
# src/lyx_cb.C:203
-#: src/frontends/qt/GuiView.cpp:2874
+#: src/frontends/qt/GuiView.cpp:3066
msgid "Choose a filename to save document as"
msgstr "ÐзбеÑеÑе име Ñ ÐºÐ¾ÐµÑо да запазиÑе докÑменÑа"
-#: src/frontends/qt/GuiView.cpp:2910
+#: src/frontends/qt/GuiView.cpp:3102
#, c-format
msgid ""
"The file\n"
@@ -40470,20 +39931,20 @@ msgid ""
"Do you want to choose a new filename?"
msgstr ""
-#: src/frontends/qt/GuiView.cpp:2914
+#: src/frontends/qt/GuiView.cpp:3106
msgid "Chosen File Already Open"
msgstr ""
# src/ext_l10n.h:288 src/frontends/gnome/FormUrl.C:119
-#: src/frontends/qt/GuiView.cpp:2915 src/frontends/qt/GuiView.cpp:2937
-#: src/frontends/qt/GuiView.cpp:2953 src/frontends/qt/GuiView.cpp:3055
-#: src/frontends/qt/GuiView.cpp:3100
+#: src/frontends/qt/GuiView.cpp:3107 src/frontends/qt/GuiView.cpp:3129
+#: src/frontends/qt/GuiView.cpp:3145 src/frontends/qt/GuiView.cpp:3247
+#: src/frontends/qt/GuiView.cpp:3292
#, fuzzy
msgid "&Rename"
msgstr "Ðме"
# src/buffer.C:534
-#: src/frontends/qt/GuiView.cpp:2930
+#: src/frontends/qt/GuiView.cpp:3122
#, fuzzy, c-format
msgid ""
"The document %1$s is already registered.\n"
@@ -40492,33 +39953,33 @@ msgid ""
msgstr "ÐокÑменÑÑÑ Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð° Ð½ÐµÐ¿Ð¾Ð·Ð½Ð°Ñ ÑекÑÑÐºÐ»Ð°Ñ \""
# src/bufferlist.C:113 src/bufferlist.C:189
-#: src/frontends/qt/GuiView.cpp:2935
+#: src/frontends/qt/GuiView.cpp:3127
#, fuzzy
msgid "Rename document?"
msgstr "Ðапазване на докÑменÑа?"
# src/LyXAction.C:141
-#: src/frontends/qt/GuiView.cpp:2935
+#: src/frontends/qt/GuiView.cpp:3127
#, fuzzy
msgid "Copy document?"
msgstr "Ðов докÑменÑ"
# src/BufferView2.C:581 src/LyXAction.C:169 src/MenuBackend.C:432
-#: src/frontends/qt/GuiView.cpp:2937
+#: src/frontends/qt/GuiView.cpp:3129
msgid "&Copy"
msgstr "ÐопиÑане"
# src/lyx_cb.C:203
-#: src/frontends/qt/GuiView.cpp:2997
+#: src/frontends/qt/GuiView.cpp:3189
msgid "Choose a filename to export the document as"
msgstr "ÐÑведеÑе име за екÑпоÑÑиÑане на докÑменÑа"
-#: src/frontends/qt/GuiView.cpp:3001
+#: src/frontends/qt/GuiView.cpp:3193
msgid "Guess from extension (*.*)"
msgstr "Разпознаване по ÑазÑиÑениеÑо (*.*)"
# src/buffer.C:534
-#: src/frontends/qt/GuiView.cpp:3096
+#: src/frontends/qt/GuiView.cpp:3288
#, c-format
msgid ""
"The document %1$s could not be saved.\n"
@@ -40529,16 +39990,16 @@ msgstr ""
"\n"
"ÐелаеÑе ли да пÑеименÑваÑе докÑменÑа и да опиÑаÑе оÑново?"
-#: src/frontends/qt/GuiView.cpp:3099
+#: src/frontends/qt/GuiView.cpp:3291
msgid "Rename and save?"
msgstr ""
# src/frontends/kde/dlg/paradlgdata.C:82
-#: src/frontends/qt/GuiView.cpp:3100
+#: src/frontends/qt/GuiView.cpp:3292
msgid "&Retry"
msgstr "ÐовÑоÑен опиÑ"
-#: src/frontends/qt/GuiView.cpp:3145
+#: src/frontends/qt/GuiView.cpp:3337
#, c-format
msgid ""
"Last view on document %1$s is being closed.\n"
@@ -40552,30 +40013,30 @@ msgid ""
msgstr ""
# src/LyXAction.C:141
-#: src/frontends/qt/GuiView.cpp:3154
+#: src/frontends/qt/GuiView.cpp:3346
#, fuzzy
msgid "Close or hide document?"
msgstr "Ðов докÑменÑ"
# src/frontends/xforms/form_graphics.C:61
# src/frontends/xforms/form_graphics.C:82 src/lyxfont.C:411
-#: src/frontends/qt/GuiView.cpp:3155
+#: src/frontends/qt/GuiView.cpp:3347
#, fuzzy
msgid "&Hide"
msgstr "СÑандаÑÑно"
# src/LyXAction.C:141
-#: src/frontends/qt/GuiView.cpp:3252
+#: src/frontends/qt/GuiView.cpp:3444
#, fuzzy
msgid "Close document"
msgstr "Ðов докÑменÑ"
-#: src/frontends/qt/GuiView.cpp:3253
+#: src/frontends/qt/GuiView.cpp:3445
msgid "Document could not be closed because it is being processed by LyX."
msgstr ""
# src/buffer.C:534
-#: src/frontends/qt/GuiView.cpp:3385 src/frontends/qt/GuiView.cpp:3500
+#: src/frontends/qt/GuiView.cpp:3577 src/frontends/qt/GuiView.cpp:3692
#, c-format
msgid ""
"The document %1$s has not been saved yet.\n"
@@ -40587,18 +40048,18 @@ msgstr ""
"ÐелаеÑе ли да Ñе запазиÑе докÑменÑа?"
# src/bufferlist.C:113 src/bufferlist.C:189
-#: src/frontends/qt/GuiView.cpp:3388 src/frontends/qt/GuiView.cpp:3503
+#: src/frontends/qt/GuiView.cpp:3580 src/frontends/qt/GuiView.cpp:3695
msgid "Save new document?"
msgstr "Ðа Ñе запази ли Ð½Ð¾Ð²Ð¸Ñ Ð´Ð¾ÐºÑменÑ?"
# src/LyXAction.C:154 src/frontends/xforms/form_preferences.C:44
-#: src/frontends/qt/GuiView.cpp:3389 src/frontends/qt/GuiView.cpp:3403
-#: src/frontends/qt/GuiView.cpp:3505
+#: src/frontends/qt/GuiView.cpp:3581 src/frontends/qt/GuiView.cpp:3595
+#: src/frontends/qt/GuiView.cpp:3697
msgid "&Save"
msgstr "&Ðапазване"
# src/buffer.C:534
-#: src/frontends/qt/GuiView.cpp:3394
+#: src/frontends/qt/GuiView.cpp:3586
#, c-format
msgid ""
"The document %1$s has unsaved changes.\n"
@@ -40610,7 +40071,7 @@ msgstr ""
"ÐелаеÑе ли докÑменÑÑÑ Ð´Ð° Ñе запази или пÑомениÑе да Ñе оÑÑ
вÑлÑÑ?"
# src/buffer.C:534
-#: src/frontends/qt/GuiView.cpp:3397
+#: src/frontends/qt/GuiView.cpp:3589
#, c-format
msgid ""
"The document %1$s has not been saved yet.\n"
@@ -40622,21 +40083,21 @@ msgstr ""
"ÐелаеÑе ли да Ñе запази или изÑÑло да Ñе оÑÑ
вÑли?"
# src/bufferlist.C:113 src/bufferlist.C:189
-#: src/frontends/qt/GuiView.cpp:3401 src/frontends/qt/GuiView.cpp:3497
+#: src/frontends/qt/GuiView.cpp:3593 src/frontends/qt/GuiView.cpp:3689
msgid "Save changed document?"
msgstr "Ðапазване на пÑоменен докÑменÑ"
# src/bufferlist.C:113 src/bufferlist.C:189
-#: src/frontends/qt/GuiView.cpp:3401
+#: src/frontends/qt/GuiView.cpp:3593
msgid "Save document?"
msgstr "Ðа Ñе запази ли Ð½Ð¾Ð²Ð¸Ñ Ð´Ð¾ÐºÑменÑ?"
-#: src/frontends/qt/GuiView.cpp:3403
+#: src/frontends/qt/GuiView.cpp:3595
msgid "&Discard"
msgstr "&ÐÑÑ
вÑÑлÑне"
# src/buffer.C:534
-#: src/frontends/qt/GuiView.cpp:3494
+#: src/frontends/qt/GuiView.cpp:3686
#, c-format
msgid ""
"The document %1$s has unsaved changes.\n"
@@ -40648,7 +40109,7 @@ msgstr ""
"ÐелаеÑе ли да Ñе запазиÑе докÑменÑа?"
# src/buffer.C:534
-#: src/frontends/qt/GuiView.cpp:3526
+#: src/frontends/qt/GuiView.cpp:3718
#, c-format
msgid ""
"Document \n"
@@ -40657,96 +40118,90 @@ msgid ""
msgstr ""
# src/bufferlist.C:113 src/bufferlist.C:189
-#: src/frontends/qt/GuiView.cpp:3529
+#: src/frontends/qt/GuiView.cpp:3721
#, fuzzy
msgid "Reload externally changed document?"
msgstr "Ðапазване на докÑменÑа?"
# src/lyx_cb.C:263
-#: src/frontends/qt/GuiView.cpp:3574
+#: src/frontends/qt/GuiView.cpp:3766
#, fuzzy
msgid "Document could not be checked in."
msgstr "ÐокÑменÑÑÑ Ð½Ðµ може да бÑде запиÑан!"
-#: src/frontends/qt/GuiView.cpp:3617
+#: src/frontends/qt/GuiView.cpp:3809
msgid "Error when setting the locking property."
msgstr ""
-#: src/frontends/qt/GuiView.cpp:3666
+#: src/frontends/qt/GuiView.cpp:3858
msgid "Directory is not accessible."
msgstr ""
# src/lyxfunc.C:3100 src/lyxfunc.C:3176
-#: src/frontends/qt/GuiView.cpp:3743
+#: src/frontends/qt/GuiView.cpp:3935
#, fuzzy, c-format
msgid "Opening child document %1$s..."
msgstr "ÐÑваÑÑм докÑменÑ"
# src/converter.C:166
-#: src/frontends/qt/GuiView.cpp:3801
+#: src/frontends/qt/GuiView.cpp:3993
#, fuzzy, c-format
msgid "No buffer for file: %1$s."
msgstr "ÐипÑва инÑоÑмаÑÐ¸Ñ Ð·Ð° показване на "
-#: src/frontends/qt/GuiView.cpp:3811
+#: src/frontends/qt/GuiView.cpp:4003
msgid "Inverse Search Failed"
msgstr ""
-#: src/frontends/qt/GuiView.cpp:3812
+#: src/frontends/qt/GuiView.cpp:4004
msgid ""
"Invalid position requested by inverse search.\n"
"You may need to update the viewed document."
msgstr ""
# src/ext_l10n.h:26
-#: src/frontends/qt/GuiView.cpp:3892
-#, fuzzy
+#: src/frontends/qt/GuiView.cpp:4084
msgid "Export Error"
-msgstr "ÐкÑпоÑÑ(E)|E"
+msgstr "ÐÑеÑка пÑи екÑпоÑÑиÑане"
# src/ext_l10n.h:61
-#: src/frontends/qt/GuiView.cpp:3893
-#, fuzzy
+#: src/frontends/qt/GuiView.cpp:4085
msgid "Error cloning the Buffer."
-msgstr "Ðногоколонно(M)|M"
+msgstr "ÐÑеÑка пÑи копиÑане на бÑÑеÑа."
# src/importer.C:39
-#: src/frontends/qt/GuiView.cpp:4044 src/frontends/qt/GuiView.cpp:4064
-#, fuzzy
+#: src/frontends/qt/GuiView.cpp:4236 src/frontends/qt/GuiView.cpp:4256
msgid "Exporting ..."
-msgstr "ÐмпоÑÑиÑане"
+msgstr "екÑпоÑÑиÑане ..."
# src/frontends/xforms/form_preferences.C:896
-#: src/frontends/qt/GuiView.cpp:4073
-#, fuzzy
+#: src/frontends/qt/GuiView.cpp:4265
msgid "Previewing ..."
-msgstr "обÑÑнаÑо"
+msgstr "ÐÑедваÑиÑелен пÑеглед ..."
# src/lyx_cb.C:263
-#: src/frontends/qt/GuiView.cpp:4111
-#, fuzzy
+#: src/frontends/qt/GuiView.cpp:4303
msgid "Document not loaded"
-msgstr "ÐокÑменÑÑÑ Ð½Ðµ може да бÑде запиÑан!"
+msgstr "ÐокÑменÑÑÑ Ð½Ðµ е заÑеден!"
# src/lyxfunc.C:3291
-#: src/frontends/qt/GuiView.cpp:4198
+#: src/frontends/qt/GuiView.cpp:4390
msgid "Select file to insert"
-msgstr "ÐзбеÑеÑе Ñайл за вмÑкване"
+msgstr "ÐзбеÑане на Ñайл за вмÑкване"
# src/exporter.C:91
-#: src/frontends/qt/GuiView.cpp:4201
-#, fuzzy
+#: src/frontends/qt/GuiView.cpp:4393
msgid "All Files (*)"
-msgstr "ÐÑе"
+msgstr "ÐÑиÑки Ñайлове (*)"
-#: src/frontends/qt/GuiView.cpp:4229
+#: src/frontends/qt/GuiView.cpp:4421
#, 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 ""
-#: src/frontends/qt/GuiView.cpp:4236
+#: src/frontends/qt/GuiView.cpp:4428
#, c-format
msgid ""
"Any changes will be lost. Are you sure you want to revert to the saved "
@@ -40755,72 +40210,72 @@ msgstr ""
# заглавие на диалог
# src/LyXAction.C:147
-#: src/frontends/qt/GuiView.cpp:4239
+#: src/frontends/qt/GuiView.cpp:4431
#, fuzzy
msgid "Revert to saved document?"
msgstr "ÐÑезаÑеждане на запиÑан докÑменÑ"
-#: src/frontends/qt/GuiView.cpp:4256
+#: src/frontends/qt/GuiView.cpp:4448
msgid "Buffer export reset."
msgstr ""
# src/lyxfunc.C:795
-#: src/frontends/qt/GuiView.cpp:4279
+#: src/frontends/qt/GuiView.cpp:4471
#, fuzzy
msgid "Saving all documents..."
msgstr "ÐапиÑвам докÑменÑа"
# src/lyx_cb.C:263
-#: src/frontends/qt/GuiView.cpp:4289
+#: src/frontends/qt/GuiView.cpp:4481
#, fuzzy
msgid "All documents saved."
msgstr "ÐокÑменÑÑÑ Ð½Ðµ може да бÑде запиÑан!"
-#: src/frontends/qt/GuiView.cpp:4328
+#: src/frontends/qt/GuiView.cpp:4520
msgid "Developer mode is now enabled."
msgstr ""
-#: src/frontends/qt/GuiView.cpp:4330
+#: src/frontends/qt/GuiView.cpp:4522
msgid "Developer mode is now disabled."
msgstr ""
-#: src/frontends/qt/GuiView.cpp:4362
+#: src/frontends/qt/GuiView.cpp:4554
msgid "Toolbars unlocked."
msgstr ""
# src/frontends/kde/dlg/paraextradlgdata.C:142
-#: src/frontends/qt/GuiView.cpp:4364
+#: src/frontends/qt/GuiView.cpp:4556
#, fuzzy
msgid "Toolbars locked."
msgstr "(&T)ÐÑгоÑе"
-#: src/frontends/qt/GuiView.cpp:4377
+#: src/frontends/qt/GuiView.cpp:4568
#, c-format
msgid "Icon size set to %1$dx%2$d."
msgstr ""
-#: src/frontends/qt/GuiView.cpp:4466
+#: src/frontends/qt/GuiView.cpp:4657
#, c-format
msgid "%1$s unknown command!"
msgstr ""
-#: src/frontends/qt/GuiView.cpp:4570
+#: src/frontends/qt/GuiView.cpp:4746
msgid "Zoom level is now %1$d% (default value: %2$d%)"
msgstr ""
# src/ext_l10n.h:130
-#: src/frontends/qt/GuiView.cpp:4629
+#: src/frontends/qt/GuiView.cpp:4805
#, fuzzy
msgid "Please, preview the document first."
msgstr "Ðапази оÑоÑмлениеÑо каÑо подÑазбиÑаÑо Ñе(S)|S"
# src/exporter.C:47
-#: src/frontends/qt/GuiView.cpp:4645
+#: src/frontends/qt/GuiView.cpp:4821
#, fuzzy
msgid "Couldn't proceed."
msgstr "ÐевÑзможно е да бÑде екÑпоÑÑиÑан Ñайла"
-#: src/frontends/qt/GuiView.cpp:4997
+#: src/frontends/qt/GuiView.cpp:5178
msgid "Disable Shell Escape"
msgstr ""
@@ -40840,23 +40295,23 @@ msgstr "%1[[preview format name]]"
# src/frontends/xforms/FormBase.h:152 src/frontends/xforms/FormInset.h:30
# src/frontends/xforms/FormInset.h:54 src/layout_forms.C:52 src/log_form.C:21
# src/lyxvc.C:263 src/mathed/math_forms.C:177
-#: src/frontends/qt/GuiWorkArea.cpp:1494
+#: src/frontends/qt/GuiWorkArea.cpp:1527
#, fuzzy
msgid "Close File"
msgstr "ÐаÑвоÑи"
# src/LyXView.C:372
-#: src/frontends/qt/GuiWorkArea.cpp:2031
+#: src/frontends/qt/GuiWorkArea.cpp:2069
msgid "%1 (read only)"
msgstr "%1 (Ñамо за ÑеÑене)"
-#: src/frontends/qt/GuiWorkArea.cpp:2039
+#: src/frontends/qt/GuiWorkArea.cpp:2077
msgid "%1 (modified externally)"
msgstr "%1 (пÑоменен Ð¾Ñ Ð²ÑнÑна пÑогÑама)"
# src/frontends/xforms/form_graphics.C:61
# src/frontends/xforms/form_graphics.C:82 src/lyxfont.C:411
-#: src/frontends/qt/GuiWorkArea.cpp:2062
+#: src/frontends/qt/GuiWorkArea.cpp:2100
#, fuzzy
msgid "Hide tab"
msgstr "СÑандаÑÑно"
@@ -40866,21 +40321,21 @@ msgstr "СÑандаÑÑно"
# src/frontends/xforms/FormBase.h:152 src/frontends/xforms/FormInset.h:30
# src/frontends/xforms/FormInset.h:54 src/layout_forms.C:52 src/log_form.C:21
# src/lyxvc.C:263 src/mathed/math_forms.C:177
-#: src/frontends/qt/GuiWorkArea.cpp:2068
+#: src/frontends/qt/GuiWorkArea.cpp:2106
#, fuzzy
msgid "Close tab"
msgstr "ÐаÑвоÑи"
-#: src/frontends/qt/GuiWorkArea.cpp:2107
+#: src/frontends/qt/GuiWorkArea.cpp:2145
msgid "<b>The file %1 changed on disk.</b>"
-msgstr ""
+msgstr "<b>ФайлÑÑ %1 беÑе пÑоменен на диÑка.</b>"
# src/form1.C:129 src/sp_form.C:58
#: src/frontends/qt/GuiWrap.cpp:32
msgid "Wrap Float Settings"
msgstr "ÐаÑÑÑойки на Ð¿Ð»Ð°Ð²Ð°Ñ Ð² ÑекÑÑа обекÑ"
-#: src/frontends/qt/IconPalette.cpp:39
+#: src/frontends/qt/IconPalette.cpp:44
msgid "Click to detach"
msgstr ""
@@ -40888,132 +40343,132 @@ msgstr ""
msgid "Ne&w Inset"
msgstr "&Ðова добавка"
-#: src/frontends/qt/LayoutBox.cpp:337
+#: src/frontends/qt/LayoutBox.cpp:345
#, c-format
msgid "Filtering layouts with \"%1$s\". Press ESC to remove filter."
msgstr ""
-#: src/frontends/qt/LayoutBox.cpp:341 src/frontends/qt/LayoutBox.cpp:396
+#: src/frontends/qt/LayoutBox.cpp:349 src/frontends/qt/LayoutBox.cpp:404
msgid "Enter characters to filter the layout list."
msgstr ""
# src/insets/insettext.C:1036 src/lyxfunc.C:1261
-#: src/frontends/qt/LayoutBox.cpp:509
-#, fuzzy, c-format
+#: src/frontends/qt/LayoutBox.cpp:517
+#, c-format
msgid "%1$s (unknown)"
-msgstr " оÑоÑмление"
+msgstr "%1$s (непознаÑ)"
# src/ext_l10n.h:215
-#: src/frontends/qt/Menus.cpp:726
+#: src/frontends/qt/Menus.cpp:735
#, fuzzy
msgid "More...|M"
msgstr "ÐлиенÑ"
-#: src/frontends/qt/Menus.cpp:808
+#: src/frontends/qt/Menus.cpp:817
msgid "No Group"
msgstr ""
-#: src/frontends/qt/Menus.cpp:838 src/frontends/qt/Menus.cpp:839
+#: src/frontends/qt/Menus.cpp:847 src/frontends/qt/Menus.cpp:848
msgid "More Spelling Suggestions"
msgstr ""
# src/frontends/xforms/form_preferences.C:298
-#: src/frontends/qt/Menus.cpp:863
-#, fuzzy
+#: src/frontends/qt/Menus.cpp:872
msgid "Add to personal dictionary|n"
-msgstr "Ðзползвай лиÑен ÑеÑник"
+msgstr "ÐобавÑне в лиÑен ÑеÑник"
-# src/lyxfont.C:43 src/lyxfont.C:47 src/lyxfont.C:52 src/lyxfont.C:58
-# src/lyxfont.C:62
-#: src/frontends/qt/Menus.cpp:865
-#, fuzzy
-msgid "Ignore|g"
-msgstr "ÐгноÑиÑай"
+# src/sp_form.C:97
+#: src/frontends/qt/Menus.cpp:874
+msgid "Ignore this occurrence|g"
+msgstr "ÐÑопÑÑкане на Ñова ÑÑоÑвеÑÑÑвие"
-# src/lyxfont.C:43 src/lyxfont.C:47 src/lyxfont.C:52 src/lyxfont.C:58
-# src/lyxfont.C:62
-#: src/frontends/qt/Menus.cpp:867
-#, fuzzy
-msgid "Ignore all|I"
-msgstr "ÐгноÑиÑай"
+# src/sp_form.C:99
+#: src/frontends/qt/Menus.cpp:876
+msgid "Ignore all for this session|I"
+msgstr "ÐÑопÑÑкане на вÑиÑки за Ñази ÑеÑиÑ"
+
+# src/LyXAction.C:141
+#: src/frontends/qt/Menus.cpp:878
+msgid "Ignore all in this document|d"
+msgstr "ÐÑопÑÑкане на вÑиÑки в Ñози докÑменÑ"
# src/frontends/xforms/form_preferences.C:298
-#: src/frontends/qt/Menus.cpp:875
-#, fuzzy
+#: src/frontends/qt/Menus.cpp:886
msgid "Remove from personal dictionary|r"
-msgstr "Ðзползвай лиÑен ÑеÑник"
+msgstr "ÐÑемаÑ
ване Ð¾Ñ Ð»Ð¸ÑÐ½Ð¸Ñ ÑеÑник"
+
+# src/frontends/xforms/form_preferences.C:298
+#: src/frontends/qt/Menus.cpp:893
+msgid "Remove from document dictionary|r"
+msgstr "ÐÑемаÑ
ване Ð¾Ñ ÑеÑника на докÑменÑа"
# src/form1.C:51 src/frontends/xforms/FormDocument.C:277
# src/frontends/xforms/FormPreferences.C:280
-#: src/frontends/qt/Menus.cpp:905
-#, fuzzy
+#: src/frontends/qt/Menus.cpp:923
msgid "Switch Language...|L"
-msgstr "Ðзик|Ð"
+msgstr "ÐÑомÑна на език"
# src/form1.C:51 src/frontends/xforms/FormDocument.C:277
# src/frontends/xforms/FormPreferences.C:280
-#: src/frontends/qt/Menus.cpp:919
+#: src/frontends/qt/Menus.cpp:937
msgid "Language|L"
msgstr "Ðзик|Ð"
# src/ext_l10n.h:31
-#: src/frontends/qt/Menus.cpp:921
+#: src/frontends/qt/Menus.cpp:939
msgid "More Languages ...|M"
msgstr "ÐÑе езиÑи...|Ð"
-#: src/frontends/qt/Menus.cpp:991 src/frontends/qt/Menus.cpp:992
+#: src/frontends/qt/Menus.cpp:1009 src/frontends/qt/Menus.cpp:1010
msgid "Hidden|H"
msgstr "СкÑиÑ"
# src/MenuBackend.C:263
-#: src/frontends/qt/Menus.cpp:996
-#, fuzzy
+#: src/frontends/qt/Menus.cpp:1014
msgid "(No Documents Open)"
-msgstr "<ÐÑма оÑвоÑен докÑменÑ>"
+msgstr "(ÐÑма оÑвоÑени докÑменÑи)"
-#: src/frontends/qt/Menus.cpp:1062
-#, fuzzy
+#: src/frontends/qt/Menus.cpp:1080
msgid "(No Bookmarks Saved Yet)"
-msgstr "<ÐÑма запиÑани показалÑи>"
+msgstr "(ÐÑма запазени показалÑи)"
-#: src/frontends/qt/Menus.cpp:1102
+#: src/frontends/qt/Menus.cpp:1120
msgid "View (Other Formats)|F"
msgstr "ÐÑеглед вÑв ÑоÑмаÑ|е"
-#: src/frontends/qt/Menus.cpp:1103
+#: src/frontends/qt/Menus.cpp:1121
msgid "Update (Other Formats)|p"
msgstr "ÐпÑеÑнÑване вÑв ÑоÑмаÑ|Ñ"
# src/ext_l10n.h:8
-#: src/frontends/qt/Menus.cpp:1133
+#: src/frontends/qt/Menus.cpp:1151
#, c-format
msgid "View [%1$s]|V"
msgstr "ÐÑеглед Ñ [%1$s]|Ñ"
# src/ext_l10n.h:132
-#: src/frontends/qt/Menus.cpp:1134
+#: src/frontends/qt/Menus.cpp:1152
#, c-format
msgid "Update [%1$s]|U"
msgstr "ÐпÑеÑни пÑегледа [%1$s]|Ð"
# src/LyXAction.C:190
-#: src/frontends/qt/Menus.cpp:1250
-#, fuzzy
+#: src/frontends/qt/Menus.cpp:1268
msgid "(No Custom Insets Defined)"
-msgstr "<ÐÑма деÑиниÑани поÑÑебиÑелÑки добавки>"
+msgstr "(ÐÑма добавки Ð¾Ñ Ð¿Ð¾ÑÑебиÑелÑ"
# src/MenuBackend.C:263
-#: src/frontends/qt/Menus.cpp:1339
+#: src/frontends/qt/Menus.cpp:1355
msgid "(No Document Open)"
-msgstr "<ÐÑма оÑвоÑен докÑменÑ>"
+msgstr "(ÐÑма оÑвоÑен докÑменÑ)"
# src/bufferlist.C:113 src/bufferlist.C:189
-#: src/frontends/qt/Menus.cpp:1348
+#: src/frontends/qt/Menus.cpp:1364
msgid "Master Document"
msgstr "Ðлавен докÑменÑ"
# src/bufferview_funcs.C:289
-#: src/frontends/qt/Menus.cpp:1371
+#: src/frontends/qt/Menus.cpp:1387
msgid "Other Lists"
msgstr "СпиÑÑк Ñ"
@@ -41021,196 +40476,204 @@ msgstr "СпиÑÑк Ñ"
# src/frontends/kde/FormToc.C:167 src/frontends/kde/FormToc.C:168
# src/frontends/kde/tocdlg.C:28 src/frontends/xforms/FormToc.C:35
# src/insets/insettoc.C:22
-#: src/frontends/qt/Menus.cpp:1385
+#: src/frontends/qt/Menus.cpp:1401
msgid "(Empty Table of Contents)"
-msgstr "<ÐÑма ÑÑдÑÑжание>"
+msgstr "(ÐÑма ÑÑдÑÑжание)"
# src/bufferview_funcs.C:289
-#: src/frontends/qt/Menus.cpp:1394
+#: src/frontends/qt/Menus.cpp:1410
msgid "Open Outliner..."
-msgstr "ÐÑвоÑи ÑÑÑÑкÑÑÑаÑа..."
+msgstr "ÐÑваÑÑне на ÑÑÑÑкÑÑÑаÑа..."
-#: src/frontends/qt/Menus.cpp:1426
-#, fuzzy
+#: src/frontends/qt/Menus.cpp:1442
msgid "[[Toolbar]]On|O"
-msgstr "ÐÑеглед"
+msgstr "Ðкл."
-#: src/frontends/qt/Menus.cpp:1428
-#, fuzzy
+#: src/frontends/qt/Menus.cpp:1444
msgid "[[Toolbar]]Off|f"
-msgstr "ÐÑеглед"
+msgstr "Ðзкл."
-#: src/frontends/qt/Menus.cpp:1430
+#: src/frontends/qt/Menus.cpp:1446
msgid "[[Toolbar]]Automatic|A"
-msgstr ""
+msgstr "ÐвÑ."
# src/frontends/kde/dlg/paraextradlgdata.C:142
-#: src/frontends/qt/Menus.cpp:1442
+#: src/frontends/qt/Menus.cpp:1458
msgid "Other Toolbars"
msgstr "ÐÑÑги ленÑи"
# src/bufferlist.C:113 src/bufferlist.C:189
-#: src/frontends/qt/Menus.cpp:1505
-#, fuzzy
+#: src/frontends/qt/Menus.cpp:1521
msgid "Master Documents"
-msgstr "Ðлавен докÑменÑ"
+msgstr "Ðлавни докÑменÑи"
# src/ext_l10n.h:114
-#: src/frontends/qt/Menus.cpp:1521
+#: src/frontends/qt/Menus.cpp:1537
msgid "Index List|I"
msgstr "СпиÑÑк Ñ ÑказаÑели|Ñ"
# src/frontends/kde/indexdlg.C:27 src/frontends/kde/indexdlg.C:28
-#: src/frontends/qt/Menus.cpp:1526
+#: src/frontends/qt/Menus.cpp:1542
msgid "Index Entry|d"
msgstr "УказаÑел|У"
# src/bufferview_funcs.C:267
-#: src/frontends/qt/Menus.cpp:1541
+#: src/frontends/qt/Menus.cpp:1557
#, c-format
msgid "Index: %1$s"
msgstr "УказаÑел: %1$s"
# src/frontends/kde/indexdlg.C:27 src/frontends/kde/indexdlg.C:28
-#: src/frontends/qt/Menus.cpp:1546 src/frontends/qt/Menus.cpp:1575
+#: src/frontends/qt/Menus.cpp:1562 src/frontends/qt/Menus.cpp:1591
#, c-format
msgid "Index Entry (%1$s)"
msgstr "ÑказаÑел (%1$s)"
# src/LyXAction.C:190
-#: src/frontends/qt/Menus.cpp:1592
+#: src/frontends/qt/Menus.cpp:1608
#, fuzzy
msgid "No Citation in Scope!"
msgstr "ÐÑм ÑледваÑа гÑеÑка"
# src/LyXAction.C:190
-#: src/frontends/qt/Menus.cpp:1606 src/insets/InsetCitation.cpp:324
+#: src/frontends/qt/Menus.cpp:1622 src/insets/InsetCitation.cpp:324
#: src/insets/InsetCitation.cpp:454
-#, fuzzy
msgid "No citations selected!"
-msgstr "ÐÑм ÑледваÑа гÑеÑка"
+msgstr "ÐÑма избÑани ÑиÑаÑи!"
# src/ext_l10n.h:175
-#: src/frontends/qt/Menus.cpp:1655
-#, fuzzy
+#: src/frontends/qt/Menus.cpp:1671
msgid "All authors|h"
-msgstr "ÐвÑоÑ"
+msgstr "ÐкиÑки авÑоÑи|в"
# src/ext_l10n.h:132
-#: src/frontends/qt/Menus.cpp:1686
+#: src/frontends/qt/Menus.cpp:1702
#, fuzzy
msgid "Force upper case|u"
msgstr "ÐкÑÑализиÑай(U)|U"
# src/LyXAction.C:190
-#: src/frontends/qt/Menus.cpp:1700
+#: src/frontends/qt/Menus.cpp:1716
#, fuzzy
msgid "No Text Field in Scope!"
msgstr "ÐÑм ÑледваÑа гÑеÑка"
# src/ext_l10n.h:215
-#: src/frontends/qt/Menus.cpp:1719
-#, fuzzy
+#: src/frontends/qt/Menus.cpp:1735
msgid "Custom..."
-msgstr "поÑÑебиÑелÑко"
+msgstr "ÐÑ Ð¿Ð¾ÑÑебиÑелÑ..."
# src/ext_l10n.h:191
-#: src/frontends/qt/Menus.cpp:1795
-#, fuzzy, c-format
+#: src/frontends/qt/Menus.cpp:1811
+#, c-format
msgid "Caption (%1$s)"
msgstr "ÐÐ°Ð´Ð¿Ð¸Ñ (%1$s)"
+# src/insets/insetinclude.C:76 src/insets/insetinclude.C:77
+#: src/frontends/qt/Menus.cpp:1831
+#, c-format
+msgid "Reset to Default (%1$d%)|R"
+msgstr "ÐÑÑÑане по подÑазбиÑане (%1$d%)|п"
+
+#: src/frontends/qt/Menus.cpp:1835
+msgid "Zoom In|I"
+msgstr "УвелиÑаване"
+
+#: src/frontends/qt/Menus.cpp:1837
+msgid "Zoom Out|O"
+msgstr "ÐамалÑване"
+
# src/LyXAction.C:190
-#: src/frontends/qt/Menus.cpp:1820
+#: src/frontends/qt/Menus.cpp:1879
#, fuzzy
msgid "No Quote in Scope!"
msgstr "ÐÑм ÑледваÑа гÑеÑка"
-#: src/frontends/qt/Menus.cpp:1852 src/frontends/qt/Menus.cpp:1856
-#: src/frontends/qt/Menus.cpp:1860 src/frontends/qt/Menus.cpp:1864
+#: src/frontends/qt/Menus.cpp:1911 src/frontends/qt/Menus.cpp:1915
+#: src/frontends/qt/Menus.cpp:1919 src/frontends/qt/Menus.cpp:1923
#, c-format
msgid "%1$s (dynamic)"
-msgstr ""
+msgstr "%1$s (динамиÑни)"
-#: src/frontends/qt/Menus.cpp:1898
+#: src/frontends/qt/Menus.cpp:1957
#, c-format
msgid "Use dynamic quotes (%1$s)|d"
-msgstr ""
+msgstr "Ðзползване на динамиÑни кавиÑки (%1$s)"
-#: src/frontends/qt/Menus.cpp:1904
+#: src/frontends/qt/Menus.cpp:1963
msgid "dynamic[[Quotes]]"
-msgstr ""
+msgstr "динамиÑни"
-#: src/frontends/qt/Menus.cpp:1904 src/frontends/qt/Menus.cpp:1914
+#: src/frontends/qt/Menus.cpp:1963 src/frontends/qt/Menus.cpp:1973
msgid "static[[Quotes]]"
-msgstr ""
+msgstr "ÑÑаÑиÑни"
# src/ext_l10n.h:130
-#: src/frontends/qt/Menus.cpp:1906
-#, fuzzy, c-format
+#: src/frontends/qt/Menus.cpp:1965
+#, c-format
msgid "Reset to document default (%1$s, %2$s)|o"
-msgstr "Ðапази оÑоÑмлениеÑо каÑо подÑазбиÑаÑо Ñе(S)|S"
+msgstr "ÐÑзÑÑановÑване по подÑазбиÑане за докÑменÑа ((%1$s, %2$s))"
-#: src/frontends/qt/Menus.cpp:1913
+#: src/frontends/qt/Menus.cpp:1972
#, c-format
msgid "Reset to language default (%1$s, %2$s)|l"
-msgstr ""
+msgstr "ÐÑзÑÑановÑване по подÑазбиÑнане за езика (%1$s, %2$s)"
# src/insets/insetinclude.C:76 src/insets/insetinclude.C:77
-#: src/frontends/qt/Menus.cpp:1915
+#: src/frontends/qt/Menus.cpp:1974
#, fuzzy, c-format
msgid "Reset to language default (%1$s)|l"
msgstr "Ðзползнай input|#i"
# src/insets/insetbib.C:340
-#: src/frontends/qt/Menus.cpp:1923
+#: src/frontends/qt/Menus.cpp:1982
#, fuzzy
msgid "Change Style|y"
msgstr "СÑил: "
-#: src/frontends/qt/Menus.cpp:1964
+#: src/frontends/qt/Menus.cpp:2023
#, c-format
msgid "Insert Separated %1$s Above"
msgstr ""
# src/mathed/formulamacro.C:144 src/mathed/formulamacro.C:171
-#: src/frontends/qt/Menus.cpp:1966
+#: src/frontends/qt/Menus.cpp:2025
#, fuzzy, c-format
msgid "Separated %1$s Above"
msgstr "ÐаÑамеÑÑÑ â%1$sâ: "
-#: src/frontends/qt/Menus.cpp:1972 src/frontends/qt/Menus.cpp:1985
-#: src/frontends/qt/Menus.cpp:2002
+#: src/frontends/qt/Menus.cpp:2031 src/frontends/qt/Menus.cpp:2044
+#: src/frontends/qt/Menus.cpp:2061
#, c-format
msgid "Insert Separated %1$s Below"
msgstr ""
# src/mathed/formulamacro.C:144 src/mathed/formulamacro.C:171
-#: src/frontends/qt/Menus.cpp:1974 src/frontends/qt/Menus.cpp:1987
-#: src/frontends/qt/Menus.cpp:2008
+#: src/frontends/qt/Menus.cpp:2033 src/frontends/qt/Menus.cpp:2046
+#: src/frontends/qt/Menus.cpp:2067
#, fuzzy, c-format
msgid "Separated %1$s Below"
msgstr "ÐаÑамеÑÑÑ â%1$sâ: "
-#: src/frontends/qt/Menus.cpp:2000
+#: src/frontends/qt/Menus.cpp:2059
#, c-format
msgid "Insert Separated Outer %1$s Below"
msgstr ""
# src/mathed/formulamacro.C:144 src/mathed/formulamacro.C:171
-#: src/frontends/qt/Menus.cpp:2006
+#: src/frontends/qt/Menus.cpp:2065
#, fuzzy, c-format
msgid "Separated Outer %1$s Below"
msgstr "ÐаÑамеÑÑÑ â%1$sâ: "
# src/bufferview_funcs.C:267
-#: src/frontends/qt/Menus.cpp:2322
+#: src/frontends/qt/Menus.cpp:2381
#, c-format
msgid "Export [%1$s]|E"
msgstr "ÐкÑпоÑÑиÑане каÑо %1$s|к"
# src/LyXAction.C:190
-#: src/frontends/qt/Menus.cpp:2672
+#: src/frontends/qt/Menus.cpp:2735
msgid "No Action Defined!"
msgstr "<Ðе е деÑиниÑано дейÑÑвие за избÑÐ°Ð½Ð¸Ñ Ð¾Ð±ÐµÐºÑ>"
@@ -41221,21 +40684,21 @@ msgstr "ТÑÑÑене"
# src/bufferview_funcs.C:267
#: src/frontends/qt/Toolbars.cpp:246
-#, fuzzy, c-format
+#, c-format
msgid "Export %1$s"
-msgstr "ШÑиÑÑ:"
+msgstr "ÐкÑпоÑÑиÑане на %1$s"
# src/importer.C:39
#: src/frontends/qt/Toolbars.cpp:250
-#, fuzzy, c-format
+#, c-format
msgid "Import %1$s"
-msgstr "ÐмпоÑÑиÑане"
+msgstr "ÐнаÑÑне на %1$s"
# src/frontends/kde/refdlg.C:81 src/frontends/kde/tocdlg.C:43
#: src/frontends/qt/Toolbars.cpp:254
-#, fuzzy, c-format
+#, c-format
msgid "Update %1$s"
-msgstr "(&U)ÐкÑÑализиÑай"
+msgstr "ÐкÑÑализиÑане на %1$s"
#: src/frontends/qt/Toolbars.cpp:258
#, c-format
@@ -41243,12 +40706,11 @@ msgid "View %1$s"
msgstr "ÐÑеглед каÑо %1$s"
# src/sp_form.C:86
-#: src/frontends/qt/Validator.cpp:210
-#, fuzzy
+#: src/frontends/qt/Validator.cpp:214
msgid "space"
-msgstr "ÐамеÑÑи"
+msgstr "инÑеÑвал"
-#: src/frontends/qt/Validator.cpp:238
+#: src/frontends/qt/Validator.cpp:242
msgid ""
"LyX does not provide LaTeX support for file names containing any of these "
"characters:\n"
@@ -41256,24 +40718,23 @@ msgstr ""
#: src/frontends/qt/qt_helpers.cpp:280
msgid "Invalid URL"
-msgstr ""
+msgstr "Ðевалиден URL (ÑнеÑиÑиÑан локаÑÐ¾Ñ Ð½Ð° ÑеÑÑÑÑи)!"
# src/lyx_cb.C:263
#: src/frontends/qt/qt_helpers.cpp:281
-#, fuzzy, c-format
+#, c-format
msgid "The URL `%1$s' could not be resolved."
-msgstr "ÐокÑменÑÑÑ Ð½Ðµ може да бÑде запиÑан!"
+msgstr "УниÑиÑиÑÐ°Ð½Ð¸Ñ Ð»Ð¾ÐºÐ°ÑÐ¾Ñ Ð½Ð° ÑеÑÑÑÑи (URL) â%1$sâ не може да Ñе анализиÑа!"
# src/lyx_cb.C:263
#: src/frontends/qt/qt_helpers.cpp:287
-#, fuzzy
msgid "URL could not be accessed"
-msgstr "ÐокÑменÑÑÑ Ð½Ðµ може да бÑде запиÑан!"
+msgstr "УниÑиÑиÑан ÑеÑÑÑÑен локаÑÐ¾Ñ (URL) е недоÑÑÑпен!"
#: src/frontends/qt/qt_helpers.cpp:288
#, c-format
msgid "The URL `%1$s' could not be opened although it exists!"
-msgstr ""
+msgstr "РеÑÑÑÐ½Ð¸Ñ Ð»Ð¾ÐºÐ°ÑÐ¾Ñ â%1$sâ не може да Ñе оÑвоÑи вÑпÑеки, Ñе ÑÑÑеÑÑвÑва!"
# src/spellchecker.C:971
#: src/frontends/qt/qt_helpers.cpp:312
@@ -41296,9 +40757,8 @@ msgstr "ÐокÑменÑÑÑ Ð½Ðµ може да бÑде запиÑан!"
# src/BufferView2.C:461
#: src/frontends/qt/qt_helpers.cpp:357
-#, fuzzy
msgid "Could not update TeX information"
-msgstr "ÐÑма ниÑо повеÑе за повÑаÑÑне"
+msgstr "Ðе може да Ñе опÑеÑни инÑоÑмаÑиÑÑа за TeX"
# src/spellchecker.C:971
#: src/frontends/qt/qt_helpers.cpp:358
@@ -41315,15 +40775,13 @@ msgstr "ÐÑиÑки Ñайлове"
# src/ext_l10n.h:186
#: src/insets/Inset.cpp:92
-#, fuzzy
msgid "Bibliography Entry"
-msgstr "ÐÐ°Ð¿Ð¸Ñ Ð½Ð° лиÑ. ÑпиÑÑк"
+msgstr "ÐÐ°Ð¿Ð¸Ñ Ð¾Ñ Ð»Ð¸Ñ. ÑпиÑÑк"
# src/frontends/xforms/FormPreferences.C:252
#: src/insets/Inset.cpp:98
-#, fuzzy
msgid "Float"
-msgstr "ФоÑмаÑи"
+msgstr "ÐÐ»Ð°Ð²Ð°Ñ Ð¾Ð±ÐµÐºÑ"
#: src/insets/Inset.cpp:116 src/insets/InsetBox.cpp:136
msgid "Box"
@@ -41341,11 +40799,11 @@ msgid "Horizontal Math Space"
msgstr "ÐеÑÑикално ÑазÑÑоÑние"
# src/frontends/xforms/FormDocument.C:440
-#: src/insets/InsetArgument.cpp:153
+#: src/insets/InsetArgument.cpp:152
msgid "Unknown Argument"
msgstr "Ð½ÐµÐ¿Ð¾Ð·Ð½Ð°Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ"
-#: src/insets/InsetArgument.cpp:154
+#: src/insets/InsetArgument.cpp:153
msgid "Argument not known in this Layout. Will be suppressed in the output."
msgstr ""
"Този ÐµÐ»ÐµÐ¼ÐµÐ½Ñ Ð½Ðµ е ÑÐ°Ð·Ð¿Ð¾Ð·Ð½Ð°Ñ Ð² ÑекÑÑÐ¸Ñ ÐºÐ¾Ð½ÑекÑÑ (оÑоÑмление). ÐÑма да Ñе "
@@ -41493,7 +40951,7 @@ msgid "active"
msgstr "акÑивна"
#: src/insets/InsetBranch.cpp:70 src/insets/InsetBranch.cpp:72
-#: src/insets/InsetIndex.cpp:659
+#: src/insets/InsetIndex.cpp:684
msgid "non-active"
msgstr "неакÑивна"
@@ -41514,46 +40972,46 @@ msgstr ""
"ÐобавкаÑа е: %3$s"
# src/ext_l10n.h:441
-#: src/insets/InsetBranch.cpp:120
+#: src/insets/InsetBranch.cpp:122
msgid "Branch: "
msgstr "Ñазклонение: "
# src/lyxfont.C:404
-#: src/insets/InsetBranch.cpp:122
+#: src/insets/InsetBranch.cpp:124
#, fuzzy
msgid "Branch (child): "
msgstr "ÐодÑеÑÑаване "
# src/lyxfont.C:404
-#: src/insets/InsetBranch.cpp:124
+#: src/insets/InsetBranch.cpp:126
#, fuzzy
msgid "Branch (master): "
msgstr "ÐодÑеÑÑаване "
# src/lyxfont.C:404
-#: src/insets/InsetBranch.cpp:126
+#: src/insets/InsetBranch.cpp:128
msgid "Branch (undefined): "
msgstr "Ñазклонение (неопÑеделено):"
# src/bufferlist.C:113 src/bufferlist.C:189
-#: src/insets/InsetBranch.cpp:188
+#: src/insets/InsetBranch.cpp:192
#, fuzzy
msgid "Branch state changes in master document"
msgstr "Ðапазване на докÑменÑа?"
-#: src/insets/InsetBranch.cpp:189
+#: src/insets/InsetBranch.cpp:193
#, c-format
msgid ""
"The state of the branch '%1$s' was changed in the master file. Please make "
"sure to save the master."
msgstr ""
-#: src/insets/InsetCaption.cpp:423
+#: src/insets/InsetCaption.cpp:419
#, c-format
msgid "Sub-%1$s"
msgstr "Ðод-%1$s"
-#: src/insets/InsetCaption.cpp:447
+#: src/insets/InsetCaption.cpp:443
#, c-format
msgid "%1$s %2$s: [[Caption label (ex. Figure 1: )]]"
msgstr ""
@@ -41569,7 +41027,7 @@ msgstr "ÐиблиогÑаÑиÑ"
msgid "+ %1$d more entries."
msgstr ""
-#: src/insets/InsetCitation.cpp:579 src/insets/InsetRef.cpp:514
+#: src/insets/InsetCitation.cpp:579 src/insets/InsetRef.cpp:516
msgid "BROKEN: "
msgstr ""
@@ -41605,9 +41063,8 @@ msgstr "ÐзпÑлни команда"
# src/frontends/xforms/FormDocument.C:440
#: src/insets/InsetCommandParams.cpp:350
-#, fuzzy
msgid "Unknown parameter name: "
-msgstr " кÑм избÑÐ°Ð½Ð¸Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ ÐºÐ»Ð°Ñ!"
+msgstr "ÐепознаÑо име на паÑамеÑÑÑ: "
#: src/insets/InsetCommandParams.cpp:358
msgid "Missing \\end_inset at this point: "
@@ -41615,9 +41072,8 @@ msgstr ""
# src/ext_l10n.h:78
#: src/insets/InsetCommandParams.cpp:466
-#, fuzzy
msgid "Uncodable characters"
-msgstr "СпеÑиален Ñимвол(S)|S"
+msgstr "Символи, коиÑо не Ð¼Ð¾Ð³Ð°Ñ Ð´Ð° Ñе кодиÑаÑ"
#: src/insets/InsetCommandParams.cpp:467
#, c-format
@@ -41632,101 +41088,94 @@ msgstr ""
# src/ext_l10n.h:78
#: src/insets/InsetCommandParams.cpp:527
-#, fuzzy
msgid "Uncodable characters in inset"
-msgstr "СпеÑиален Ñимвол(S)|S"
+msgstr "Символ, коиÑо не може да Ñе кодиÑа в добавка"
#: src/insets/InsetCommandParams.cpp:528
-#, fuzzy, c-format
+#, c-format
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."
msgstr ""
-"СледниÑе знаÑи използвани в добавкаÑа %1$s нÑÐ¼Ð°Ñ Ð³ÑаÑиÑно пÑедÑÑавÑне\n"
+"СледниÑе Ñимволи използвани в една Ð¾Ñ Ð´Ð¾Ð±Ð°Ð²ÐºÐ¸Ñе нÑÐ¼Ð°Ñ Ð³ÑаÑиÑно пÑедÑÑавÑне\n"
"в ÑекÑÑоÑо кодиÑане и заÑова бÑÑ
а пÑемаÑ
наÑи в изÑ
Ð¾Ð´Ð½Ð¸Ñ Ð´Ð¾ÐºÑменÑ:\n"
-"â%2$sâ."
+"â%1$sâ."
+"ÐзÑлÑÑване на оÑмеÑкаÑа âÐоÑловноâ в ÑÑоÑвеÑнаÑа добавка може да помогне."
#: src/insets/InsetCounter.cpp:62
msgid "Set counter to ..."
-msgstr ""
+msgstr "ÐаглаÑÑванен на бÑоÑÑа на ..."
#: src/insets/InsetCounter.cpp:63
msgid "Increase counter by ..."
-msgstr ""
+msgstr "УвелиÑаване на бÑоÑÑа Ñ ..."
#: src/insets/InsetCounter.cpp:64
-#, fuzzy
msgid "Reset counter to 0"
-msgstr "PDF бÑÑон ÑеÑÑаÑÑ"
+msgstr "РеÑÑаÑÑиÑане на бÑоÑÑа Ñ 0"
# src/frontends/kde/dlg/printdlgdata.C:88
# src/frontends/xforms/form_print.C:138
#: src/insets/InsetCounter.cpp:65
-#, fuzzy
msgid "Save current counter value"
-msgstr "ÐеÑÐ°Ñ Ð½Ð°"
+msgstr "Ðапазванен а ÑекÑÑÐ¸Ñ Ð½Ð¾Ð¼ÐµÑ Ð½Ð° бÑоÑÑа."
#: src/insets/InsetCounter.cpp:66
msgid "Restore saved counter value"
-msgstr ""
+msgstr "ÐÑзÑÑановÑване на Ð·Ð°Ð¿Ð°Ð·ÐµÐ½Ð¸Ñ Ð½Ð¾Ð¼ÐµÑ Ð½Ð° бÑоÑÑа"
# src/ext_l10n.h:132
#: src/insets/InsetCounter.cpp:142
-#, fuzzy
msgid "Roman Uppercase"
-msgstr "Ðлавни бÑкви|Ð"
+msgstr "СеÑиÑни главни бÑкви"
# src/lyxfunc.C:1125
#: src/insets/InsetCounter.cpp:143
-#, fuzzy
msgid "Roman Lowercase"
-msgstr "overset"
+msgstr "СеÑиÑни малки бÑкви"
# src/ext_l10n.h:362
#: src/insets/InsetCounter.cpp:144
-#, fuzzy
msgid "Uppercase Letter"
-msgstr "ÐÑÑжава"
+msgstr "Ðлавни бÑкви"
#: src/insets/InsetCounter.cpp:145
-#, fuzzy
msgid "Lowercase Letter"
-msgstr "Ðалки бÑкви|Ð"
+msgstr "Ðалки бÑкви"
# src/ext_l10n.h:423
#: src/insets/InsetCounter.cpp:146
-#, fuzzy
msgid "Arabic Numeral"
-msgstr "Ðбикновен Ñ Ð½Ð¾Ð¼ÐµÑа"
+msgstr "ÐÑабÑки ÑиÑла"
# src/bufferview_funcs.C:267
#: src/insets/InsetCounter.cpp:224
-#, fuzzy, c-format
+#, c-format
msgid "Counter: Set %1$s"
-msgstr "ШÑиÑÑ: %1$s"
+msgstr "ÐÑоÑÑ: %1$s"
#: src/insets/InsetCounter.cpp:225
#, c-format
msgid "Set value of counter %1$s to %2$s"
-msgstr ""
+msgstr "Ðаh.diske на бÑоÑÑа %1$s на %2$s"
# src/lyxfunc.C:3317
#: src/insets/InsetCounter.cpp:229
-#, fuzzy, c-format
+#, c-format
msgid "Counter: Add to %1$s"
-msgstr "ÐеÑÑпеÑ
пÑи вмÑкванеÑо"
+msgstr "ÐÑоÑÑ: ÐобавÑне кÑм %1$s"
#: src/insets/InsetCounter.cpp:230
#, c-format
msgid "Add %1$s to value of counter %2$s"
-msgstr ""
+msgstr "ÐобавÑне на %1$s кÑм ÑÑойноÑÑÑа на бÑоÑÑ %2$s"
# src/bufferview_funcs.C:267
#: src/insets/InsetCounter.cpp:233
-#, fuzzy, c-format
+#, c-format
msgid "Counter: Reset %1$s"
-msgstr "ШÑиÑÑ: %1$s"
+msgstr "ÐÑоÑÑ: РеÑÑаÑÑиÑане %1$s"
#: src/insets/InsetCounter.cpp:234
#, c-format
@@ -41774,20 +41223,20 @@ msgid "float"
msgstr "Ð¿Ð»Ð°Ð²Ð°Ñ Ð¾Ð±ÐµÐºÑ"
# src/frontends/xforms/FormPreferences.C:252
-#: src/insets/InsetFloat.cpp:903
+#: src/insets/InsetFloat.cpp:911
#, fuzzy
msgid "Float: "
msgstr "Ð¿Ð»Ð°Ð²Ð°Ñ Ð¾Ð±ÐµÐºÑ: "
# src/frontends/xforms/FormPreferences.C:252
-#: src/insets/InsetFloat.cpp:906
+#: src/insets/InsetFloat.cpp:914
#, fuzzy
msgid "Subfloat: "
msgstr "ФоÑмаÑи"
# src/frontends/xforms/form_tabular.C:119
# src/frontends/xforms/form_tabular.C:383
-#: src/insets/InsetFloat.cpp:916
+#: src/insets/InsetFloat.cpp:924
#, fuzzy
msgid " (sideways)"
msgstr "ÐавÑÑÑане на 90°|#9"
@@ -41834,9 +41283,9 @@ msgstr ""
# src/frontends/xforms/form_graphics.C:33
#: src/insets/InsetGraphics.cpp:931
-#, fuzzy, c-format
+#, c-format
msgid "Graphics file: %1$s"
-msgstr "ÐÑаÑиÑен Ñайл(F)|#F"
+msgstr "Файл Ñ Ð¸Ð·Ð¾Ð±Ñажение: %1$s"
# src/frontends/kde/urldlg.C:45
#: src/insets/InsetHyperlink.cpp:66
@@ -41845,13 +41294,12 @@ msgstr "Ñ
ипеÑвÑÑзка: "
#: src/insets/InsetHyperlink.cpp:270
msgid "www"
-msgstr ""
+msgstr "www"
# src/layout_forms.C:23
#: src/insets/InsetHyperlink.cpp:272
-#, fuzzy
msgid "email"
-msgstr "СемейÑÑво(F):|#F"
+msgstr "ел. поÑа"
# src/ext_l10n.h:92
#: src/insets/InsetHyperlink.cpp:274
@@ -41860,19 +41308,18 @@ msgstr "Ñайл"
# src/debug.C:100
#: src/insets/InsetHyperlink.cpp:275
-#, fuzzy, c-format
+#, c-format
msgid "Hyperlink (%1$s) to %2$s"
-msgstr "ÐнализиÑане `"
+msgstr "ХипеÑвÑÑзка (%1$s) кÑм %2$s"
#: src/insets/InsetInclude.cpp:402
msgid "MISSING:"
-msgstr ""
+msgstr "ÐипÑваÑи:"
# src/ext_l10n.h:92
#: src/insets/InsetInclude.cpp:420
-#, fuzzy
msgid "Include (excluded)"
-msgstr "ÐклÑÑи Ñайл(e)|e"
+msgstr "ÐклÑÑване (изклÑÑениÑе)"
#: src/insets/InsetInclude.cpp:529
#, c-format
@@ -41889,21 +41336,21 @@ msgstr ""
# src/form1.C:245
#: src/insets/InsetInclude.cpp:545
-#, fuzzy
msgid "No file name specified"
-msgstr "Ðме на Ñайл на изобÑажение"
+msgstr "Ðе е поÑоÑено име на Ñайл"
#: src/insets/InsetInclude.cpp:546
msgid ""
"An included file name is empty.\n"
"Ignoring Inclusion"
msgstr ""
+"ÐклÑÑен Ñайл е Ñ Ð¿Ñазно име.\n"
+"ÐклÑÑванеÑо Ñе оÑÑ
вÑÑлÑ"
# src/lyxfr1.C:192 src/lyxfr1.C:239
#: src/insets/InsetInclude.cpp:553
-#, fuzzy
msgid "Included file not found"
-msgstr "ÐизÑÑ Ð½Ðµ е намеÑен!"
+msgstr "ÐклÑÑениÑÑ Ñайл не е оÑкÑиÑ"
#: src/insets/InsetInclude.cpp:554
#, c-format
@@ -41916,7 +41363,7 @@ msgstr ""
#: src/insets/InsetInclude.cpp:569
#, c-format
msgid "[INCLUDED FILE %1$s DELETED!]"
-msgstr ""
+msgstr "[ÐклÑÑÐµÐ½Ð¸Ð°Ñ Ñайл %1$s е изÑÑиÑ!]"
#: src/insets/InsetInclude.cpp:801
#, c-format
@@ -41925,6 +41372,9 @@ msgid ""
"`%1$s'\n"
"Please, check whether it actually exists."
msgstr ""
+"ÐеÑÑпеÑ
пÑи заÑеждане на вклÑÑÐµÐ½Ð¸Ñ Ñайл\n"
+"â%1$sâ\n"
+"УвеÑеÑе Ñе, Ñе ÑайлÑÑ ÑÑÑеÑÑвÑва."
# src/LColor.C:92
#: src/insets/InsetInclude.cpp:805 src/insets/InsetInclude.cpp:912
@@ -42037,24 +41487,24 @@ msgstr ""
"ÑÑководÑÑвоÑо но поÑÑебиÑелÑ"
# src/frontends/kde/indexdlg.C:27 src/frontends/kde/indexdlg.C:28
-#: src/insets/InsetIndex.cpp:470
+#: src/insets/InsetIndex.cpp:495
msgid "Index Entry"
msgstr "ÑказаÑел"
# src/lyxfunc.C:328 src/lyxfunc.C:2996
-#: src/insets/InsetIndex.cpp:656
+#: src/insets/InsetIndex.cpp:681
#, fuzzy
msgid "Unknown index type!"
msgstr "ÐÐµÐ¿Ð¾Ð·Ð½Ð°Ñ Ñип индекÑ!"
# src/exporter.C:91
-#: src/insets/InsetIndex.cpp:657
+#: src/insets/InsetIndex.cpp:682
#, fuzzy
msgid "All indexes"
msgstr " вÑв Ñайл `"
# src/frontends/xforms/FormIndex.C:29 src/insets/insetindex.C:36
-#: src/insets/InsetIndex.cpp:661
+#: src/insets/InsetIndex.cpp:686
#, fuzzy
msgid "subindex"
msgstr "ÐндекÑ"
@@ -42096,7 +41546,7 @@ msgid "Used text class"
msgstr "Тема"
# src/debug.C:44
-#: src/insets/InsetInfo.cpp:277 src/insets/InsetInfo.cpp:1108
+#: src/insets/InsetInfo.cpp:277 src/insets/InsetInfo.cpp:1116
#, fuzzy
msgid "No version control!"
msgstr "СиÑÑема за конÑÑол на веÑÑииÑе"
@@ -42134,71 +41584,71 @@ msgid "LyX layout format"
msgstr "ФоÑÐ¼Ð°Ñ Ð½Ð° ÑайловеÑе за Ñазположение на LyX"
# src/debug.C:33
-#: src/insets/InsetInfo.cpp:486
+#: src/insets/InsetInfo.cpp:494
#, fuzzy
msgid "Invalid information inset"
msgstr "ÐбÑа инÑоÑмаÑиÑ"
-#: src/insets/InsetInfo.cpp:489
+#: src/insets/InsetInfo.cpp:497
#, c-format
msgid "The keybard shortcut for the function '%1$s'"
msgstr ""
-#: src/insets/InsetInfo.cpp:493
+#: src/insets/InsetInfo.cpp:501
#, c-format
msgid "The keybard shortcuts for the function '%1$s'"
msgstr ""
# src/converter.C:166
-#: src/insets/InsetInfo.cpp:497
+#: src/insets/InsetInfo.cpp:505
#, fuzzy, c-format
msgid "The menu location for the function '%1$s'"
msgstr "ÐипÑва инÑоÑмаÑÐ¸Ñ Ð·Ð° показване на "
# src/converter.C:166
-#: src/insets/InsetInfo.cpp:501
+#: src/insets/InsetInfo.cpp:509
#, fuzzy, c-format
msgid "The localization for the string '%1$s'"
msgstr "ÐипÑва инÑоÑмаÑÐ¸Ñ Ð·Ð° показване на "
-#: src/insets/InsetInfo.cpp:505
+#: src/insets/InsetInfo.cpp:513
#, c-format
msgid "The toolbar icon for the function '%1$s'"
msgstr ""
-#: src/insets/InsetInfo.cpp:509
+#: src/insets/InsetInfo.cpp:517
#, c-format
msgid "The preference setting for the preference key '%1$s'"
msgstr ""
-#: src/insets/InsetInfo.cpp:513
+#: src/insets/InsetInfo.cpp:521
#, c-format
msgid "Availability of the LaTeX package '%1$s'"
msgstr ""
-#: src/insets/InsetInfo.cpp:517
+#: src/insets/InsetInfo.cpp:525
#, c-format
msgid "Availability of the LaTeX class '%1$s'"
msgstr ""
# src/lyxrc.C:1838
-#: src/insets/InsetInfo.cpp:522
+#: src/insets/InsetInfo.cpp:530
#, fuzzy
msgid "The name of this file (incl. extension)"
msgstr "УкажеÑе ÑÑандаÑÑÐ½Ð¸Ñ ÑÐ°Ð·Ð¼ÐµÑ Ð½Ð° Ñ
аÑÑиÑÑа."
# src/lyxrc.C:1838
-#: src/insets/InsetInfo.cpp:524
+#: src/insets/InsetInfo.cpp:532
#, fuzzy
msgid "The name of this file (without extension)"
msgstr "УкажеÑе ÑÑандаÑÑÐ½Ð¸Ñ ÑÐ°Ð·Ð¼ÐµÑ Ð½Ð° Ñ
аÑÑиÑÑа."
-#: src/insets/InsetInfo.cpp:526
+#: src/insets/InsetInfo.cpp:534
msgid "The path where this file is saved"
msgstr ""
# src/lyxrc.C:1782
-#: src/insets/InsetInfo.cpp:528
+#: src/insets/InsetInfo.cpp:536
#, fuzzy
msgid "The class this document uses"
msgstr ""
@@ -42206,196 +41656,185 @@ msgstr ""
"Ð¾Ñ Ñова, коеÑо пиÑеÑе."
# src/debug.C:44
-#: src/insets/InsetInfo.cpp:532
+#: src/insets/InsetInfo.cpp:540
#, fuzzy
msgid "Version control revision"
msgstr "СиÑÑема за конÑÑол на веÑÑииÑе"
# src/debug.C:44
-#: src/insets/InsetInfo.cpp:534
+#: src/insets/InsetInfo.cpp:542
#, fuzzy
msgid "Version control abbreviated revision"
msgstr "СиÑÑема за конÑÑол на ÑевизииÑе"
# src/debug.C:44
-#: src/insets/InsetInfo.cpp:536
+#: src/insets/InsetInfo.cpp:544
#, fuzzy
msgid "Version control tree revision"
msgstr "СиÑÑема за конÑÑол на ÑевизииÑе"
# src/debug.C:44
-#: src/insets/InsetInfo.cpp:538
+#: src/insets/InsetInfo.cpp:546
#, fuzzy
msgid "Version control author"
msgstr "СиÑÑема за конÑÑол на веÑÑииÑе"
# src/debug.C:44
-#: src/insets/InsetInfo.cpp:540
+#: src/insets/InsetInfo.cpp:548
#, fuzzy
msgid "Version control date"
msgstr "СиÑÑема за конÑÑол на веÑÑииÑе"
# src/debug.C:44
-#: src/insets/InsetInfo.cpp:542
+#: src/insets/InsetInfo.cpp:550
#, fuzzy
msgid "Version control time"
msgstr "СиÑÑема за конÑÑол на веÑÑииÑе"
-#: src/insets/InsetInfo.cpp:546
+#: src/insets/InsetInfo.cpp:554
msgid "The current LyX version"
msgstr ""
-#: src/insets/InsetInfo.cpp:548
+#: src/insets/InsetInfo.cpp:556
msgid "The current LyX layout format"
msgstr ""
# src/frontends/kde/dlg/printdlgdata.C:88
# src/frontends/xforms/form_print.C:138
-#: src/insets/InsetInfo.cpp:551
-#, fuzzy
+#: src/insets/InsetInfo.cpp:559
msgid "The current date"
-msgstr "ÐеÑÐ°Ñ Ð½Ð°"
+msgstr "ТекÑÑаÑа даÑа"
-#: src/insets/InsetInfo.cpp:554
+#: src/insets/InsetInfo.cpp:562
msgid "The date of last save"
-msgstr ""
+msgstr "ÐаÑа на поÑледен запиÑ"
-#: src/insets/InsetInfo.cpp:557
-#, fuzzy
+#: src/insets/InsetInfo.cpp:565
msgid "A static date"
-msgstr "ÐвÑомаÑиÑно опÑеÑнÑване"
+msgstr "ТоÑна даÑа"
# src/LyXAction.C:141
-#: src/insets/InsetInfo.cpp:560
-#, fuzzy
+#: src/insets/InsetInfo.cpp:568
msgid "The current time"
-msgstr "Ðов докÑменÑ"
+msgstr "ТекÑÑо вÑеме"
-#: src/insets/InsetInfo.cpp:563
+#: src/insets/InsetInfo.cpp:571
msgid "The time of last save"
-msgstr ""
+msgstr "ÐÑемеÑо на поÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð·ÑпиÑ"
-#: src/insets/InsetInfo.cpp:566
-#, fuzzy
+#: src/insets/InsetInfo.cpp:574
msgid "A static time"
-msgstr "ÐвÑомаÑиÑно опÑеÑнÑване"
+msgstr "ТоÑно вÑеме"
-#: src/insets/InsetInfo.cpp:593
+#: src/insets/InsetInfo.cpp:601
msgid "Missing \\end_inset at this point."
-msgstr ""
+msgstr "ÐипÑва â\\end_insetâ на Ñова мÑÑÑо."
# src/lyxfunc.C:328 src/lyxfunc.C:2996
-#: src/insets/InsetInfo.cpp:787
-#, fuzzy
+#: src/insets/InsetInfo.cpp:795
msgid "Unknown Info!"
-msgstr "ÐепознаÑо дейÑÑвие"
+msgstr "ÐепознаÑа инÑоÑмаÑиÑ!"
# src/lyxfunc.C:328 src/lyxfunc.C:2996
-#: src/insets/InsetInfo.cpp:796 src/insets/InsetInfo.cpp:983
-#, fuzzy, c-format
+#: src/insets/InsetInfo.cpp:804 src/insets/InsetInfo.cpp:991
+#, c-format
msgid "Unknown action %1$s"
-msgstr "ÐепознаÑо дейÑÑвие"
+msgstr "ÐепознаÑо дейÑÑвие %1$s"
# src/lyxfont.C:404
-#: src/insets/InsetInfo.cpp:802 src/insets/InsetInfo.cpp:912
-#: src/insets/InsetInfo.cpp:921 src/insets/InsetInfo.cpp:929
+#: src/insets/InsetInfo.cpp:810 src/insets/InsetInfo.cpp:920
+#: src/insets/InsetInfo.cpp:929 src/insets/InsetInfo.cpp:937
msgid "undefined"
msgstr "непÑиÑвоино"
-#: src/insets/InsetInfo.cpp:825 src/insets/InsetInfo.cpp:875
+#: src/insets/InsetInfo.cpp:833 src/insets/InsetInfo.cpp:883
msgid "Return[[Key]]"
-msgstr ""
+msgstr "Ðов Ñед"
-#: src/insets/InsetInfo.cpp:830
+#: src/insets/InsetInfo.cpp:838
msgid "Tab[[Key]]"
-msgstr ""
+msgstr "ТабÑлаÑиÑ"
-#: src/insets/InsetInfo.cpp:835
+#: src/insets/InsetInfo.cpp:843
msgid "PgUp"
-msgstr ""
+msgstr "СÑаниÑа нагоÑе"
-#: src/insets/InsetInfo.cpp:840
+#: src/insets/InsetInfo.cpp:848
msgid "PgDown"
-msgstr ""
+msgstr "СÑÑаниÑа надолÑ"
-#: src/insets/InsetInfo.cpp:845
+#: src/insets/InsetInfo.cpp:853
msgid "Backtab"
-msgstr ""
+msgstr "Ðазад"
# src/frontends/xforms/FormTabular.C:133
-#: src/insets/InsetInfo.cpp:850
-#, fuzzy
+#: src/insets/InsetInfo.cpp:858
msgid "Tab"
-msgstr "ÑаблиÑа"
+msgstr "ТабÑлаÑиÑ"
-#: src/insets/InsetInfo.cpp:860
+#: src/insets/InsetInfo.cpp:868
msgid "CapsLock"
-msgstr ""
+msgstr "Ðлавни бÑкви"
# src/frontends/xforms/FormDocument.C:279
# src/frontends/xforms/FormParagraph.C:133
-#: src/insets/InsetInfo.cpp:865
-#, fuzzy
+#: src/insets/InsetInfo.cpp:873
msgid "Control[[Key]]"
-msgstr "УпÑавление и конÑÑол"
+msgstr "ÐонÑÑол"
# src/frontends/xforms/form_preferences.C:887
-#: src/insets/InsetInfo.cpp:870
-#, fuzzy
+#: src/insets/InsetInfo.cpp:878
msgid "Command[[Key]]"
-msgstr "команда"
+msgstr "Ðоманда"
# src/form1.C:129 src/sp_form.C:58
-#: src/insets/InsetInfo.cpp:880
-#, fuzzy
+#: src/insets/InsetInfo.cpp:888
msgid "Option[[Key]]"
-msgstr "ÐпÑии"
+msgstr "ÐпÑиÑ"
# src/frontends/xforms/form_preferences.C:600
# src/frontends/xforms/form_preferences.C:687
-#: src/insets/InsetInfo.cpp:885
-#, fuzzy
+#: src/insets/InsetInfo.cpp:893
msgid "Delete[[Key]]"
-msgstr "ÐзÑÑий(D)|#D"
+msgstr "ÐзÑÑиване"
-#: src/insets/InsetInfo.cpp:890
+#: src/insets/InsetInfo.cpp:898
msgid "Fn+Del"
msgstr ""
-#: src/insets/InsetInfo.cpp:895
-#, fuzzy
+#: src/insets/InsetInfo.cpp:903
msgid "Esc"
-msgstr "csc"
+msgstr "ÐзÑ
од"
# src/lyxfont.C:57
-#: src/insets/InsetInfo.cpp:939
+#: src/insets/InsetInfo.cpp:947
#, fuzzy
msgid "not set"
msgstr "вÑе оÑе неиздадена"
# src/insets/insetbib.C:340
-#: src/insets/InsetInfo.cpp:951 src/insets/InsetInfo.cpp:968
+#: src/insets/InsetInfo.cpp:959 src/insets/InsetInfo.cpp:976
msgid "yes"
msgstr "да"
# src/BufferView2.C:435 src/LyXAction.C:406
-#: src/insets/InsetInfo.cpp:954 src/insets/InsetInfo.cpp:971
+#: src/insets/InsetInfo.cpp:962 src/insets/InsetInfo.cpp:979
msgid "no"
msgstr "не"
-#: src/insets/InsetInfo.cpp:994
+#: src/insets/InsetInfo.cpp:1002
#, c-format
msgid "Can't determine menu entry for action %1$s in batch mode"
msgstr ""
# src/converter.C:166
-#: src/insets/InsetInfo.cpp:1002
+#: src/insets/InsetInfo.cpp:1010
#, fuzzy, c-format
msgid "No menu entry for action %1$s"
msgstr "ÐипÑва инÑоÑмаÑÐ¸Ñ Ð·Ð° показване на "
# src/insets/insettext.C:1036 src/lyxfunc.C:1261
-#: src/insets/InsetInfo.cpp:1127
+#: src/insets/InsetInfo.cpp:1135
#, fuzzy, c-format
msgid "%1$s[[vcs data]] unknown"
msgstr " оÑоÑмление"
@@ -42422,17 +41861,17 @@ msgstr ""
msgid "Horizontal line"
msgstr "ХоÑиз. линиÑ"
-#: src/insets/InsetListings.cpp:332
+#: src/insets/InsetListings.cpp:333
msgid "no more lstline delimiters available"
msgstr ""
# src/LyXAction.C:250
-#: src/insets/InsetListings.cpp:337
+#: src/insets/InsetListings.cpp:338
#, fuzzy
msgid "Running out of delimiters"
msgstr "ÐмÑкни поÑледно индеÑк пеÑо"
-#: src/insets/InsetListings.cpp:338
+#: src/insets/InsetListings.cpp:339
msgid ""
"For inline program listings, one character must be reserved\n"
"as a delimiter. One of the listings, however, uses all available\n"
@@ -42442,12 +41881,11 @@ msgid ""
msgstr ""
# src/ext_l10n.h:78
-#: src/insets/InsetListings.cpp:419 src/insets/InsetListings.cpp:428
-#, fuzzy
+#: src/insets/InsetListings.cpp:420 src/insets/InsetListings.cpp:429
msgid "Uncodable characters in listings inset"
-msgstr "СпеÑиален Ñимвол(S)|S"
+msgstr "Символ, коиÑо не може да Ñе кодиÑа в добавка ÑÑÑ ÑпиÑÑк"
-#: src/insets/InsetListings.cpp:420
+#: src/insets/InsetListings.cpp:421
#, c-format
msgid ""
"The following characters in one of the program listings are\n"
@@ -42459,7 +41897,7 @@ msgid ""
"might help."
msgstr ""
-#: src/insets/InsetListings.cpp:429
+#: src/insets/InsetListings.cpp:430
#, c-format
msgid ""
"The following characters in one of the program listings are\n"
@@ -42806,73 +42244,73 @@ msgid "text%1$s"
msgstr "ÑекÑÑ%1$s"
# src/BufferView2.C:456 src/LyXAction.C:357
-#: src/insets/InsetRef.cpp:595
+#: src/insets/InsetRef.cpp:597
#, fuzzy
msgid "Ref"
msgstr "Re"
# src/ext_l10n.h:285
-#: src/insets/InsetRef.cpp:596
+#: src/insets/InsetRef.cpp:598
#, fuzzy
msgid "EqRef"
msgstr "ÐÑепÑаÑка"
# src/frontends/kde/refdlg.C:63
-#: src/insets/InsetRef.cpp:597 src/mathed/InsetMathRef.cpp:350
+#: src/insets/InsetRef.cpp:599 src/mathed/InsetMathRef.cpp:373
msgid "Page Number"
msgstr "ÐÐ¾Ð¼ÐµÑ Ð½Ð° ÑÑÑаниÑа"
# src/frontends/xforms/Menubar_pimpl.C:419
-#: src/insets/InsetRef.cpp:598 src/mathed/InsetMathRef.cpp:351
+#: src/insets/InsetRef.cpp:600 src/mathed/InsetMathRef.cpp:374
#, fuzzy
msgid "Textual Page Number"
msgstr "ÐмÑкни Ð½Ð¾Ð¼ÐµÑ Ð½Ð° ÑÑÑаниÑа%m"
# src/frontends/xforms/form_print.C:112
-#: src/insets/InsetRef.cpp:598
+#: src/insets/InsetRef.cpp:600
#, fuzzy
msgid "TextPage"
msgstr "СÑÑаниÑи:"
# src/frontends/xforms/Menubar_pimpl.C:419
-#: src/insets/InsetRef.cpp:599 src/mathed/InsetMathRef.cpp:352
+#: src/insets/InsetRef.cpp:601 src/mathed/InsetMathRef.cpp:375
#, fuzzy
msgid "Standard+Textual Page"
msgstr "ÐмÑкни Ð½Ð¾Ð¼ÐµÑ Ð½Ð° ÑÑÑаниÑа%m"
# src/ext_l10n.h:285
-#: src/insets/InsetRef.cpp:599
+#: src/insets/InsetRef.cpp:601
#, fuzzy
msgid "Ref+Text"
msgstr "ÐÑепÑаÑка"
# src/ext_l10n.h:328 src/frontends/kde/refdlg.C:62
# src/frontends/xforms/FormRef.C:36
-#: src/insets/InsetRef.cpp:600 src/mathed/InsetMathRef.cpp:354
+#: src/insets/InsetRef.cpp:602 src/mathed/InsetMathRef.cpp:377
#, fuzzy
msgid "Reference to Name"
msgstr "ÐÑепÑаÑка"
# src/frontends/gnome/FormRef.C:301
-#: src/insets/InsetRef.cpp:600
+#: src/insets/InsetRef.cpp:602
#, fuzzy
msgid "NameRef"
msgstr "Ðме:"
# src/frontends/xforms/FormPreferences.C:252
-#: src/insets/InsetRef.cpp:601
+#: src/insets/InsetRef.cpp:603
#, fuzzy
msgid "Formatted"
msgstr "ФоÑмаÑи"
# src/frontends/xforms/FormPreferences.C:252
-#: src/insets/InsetRef.cpp:601
+#: src/insets/InsetRef.cpp:603
#, fuzzy
msgid "Format"
msgstr "ФоÑмаÑ:"
# src/frontends/xforms/FormPreferences.C:244
-#: src/insets/InsetRef.cpp:602 src/mathed/InsetMathRef.cpp:355
+#: src/insets/InsetRef.cpp:604 src/mathed/InsetMathRef.cpp:378
#, fuzzy
msgid "Label Only"
msgstr "ЦвеÑове"
@@ -42978,31 +42416,31 @@ msgid "Unknown TOC type"
msgstr "ÐепознаÑо дейÑÑвие"
# src/LyXAction.C:263
-#: src/insets/InsetTabular.cpp:463
+#: src/insets/InsetTabular.cpp:464
#, fuzzy
msgid "Change tracking data incomplete"
msgstr "СмÑна на език"
-#: src/insets/InsetTabular.cpp:464
+#: src/insets/InsetTabular.cpp:465
msgid ""
"Change tracking information for tabular row/column is incomplete. I will "
"ignore this."
msgstr ""
-#: src/insets/InsetTabular.cpp:5593
+#: src/insets/InsetTabular.cpp:5607
msgid "Column movement not supported with multi-columns."
msgstr ""
-#: src/insets/InsetTabular.cpp:5611
+#: src/insets/InsetTabular.cpp:5625
msgid "Row movement not supported with multi-rows."
msgstr ""
-#: src/insets/InsetTabular.cpp:6113
+#: src/insets/InsetTabular.cpp:6127
msgid "Selection size should match clipboard content."
msgstr ""
# src/ext_l10n.h:31
-#: src/insets/InsetText.cpp:1279
+#: src/insets/InsetText.cpp:1380
#, fuzzy
msgid "[contains tracked changes]"
msgstr "ÐÑоÑледÑване на пÑомениÑе"
@@ -43125,7 +42563,7 @@ msgid ""
"Continue search outside?"
msgstr ""
-#: src/lyxfind.cpp:344 src/lyxfind.cpp:684
+#: src/lyxfind.cpp:345 src/lyxfind.cpp:691
msgid ""
"End of file reached while searching forward.\n"
"Continue searching from the beginning?"
@@ -43133,85 +42571,94 @@ msgstr ""
"ÐоÑÑÐ¸Ð³Ð½Ð°Ñ Ðµ кÑÐ°Ñ Ð½Ð° докÑменÑа пÑи ÑÑÑÑене напÑед.\n"
"ÐелÑеÑа ли да пÑодÑлжиÑе ÑÑÑÑенеÑо Ð¾Ñ Ð½Ð°ÑалоÑо на докÑменÑа?"
-#: src/lyxfind.cpp:347 src/lyxfind.cpp:712
+#: src/lyxfind.cpp:348 src/lyxfind.cpp:719
msgid ""
"Beginning of file reached while searching backward.\n"
"Continue searching from the end?"
msgstr ""
+#: src/lyxfind.cpp:364
+#, fuzzy
+msgid "Search reached end of document, continuing from beginning."
+msgstr "ÐоÑÑÐ¸Ð³Ð½Ð°Ñ Ðµ кÑÐ°Ñ Ð½Ð° докÑменÑа. ÐелаеÑе ли да пÑодÑлжиÑе Ð¾Ñ Ð½Ð°ÑалоÑо?"
+
+#: src/lyxfind.cpp:365
+msgid "Search reached beginning of document, continuing from end."
+msgstr ""
+
# src/lyxfr1.C:192 src/lyxfr1.C:239
-#: src/lyxfind.cpp:657
+#: src/lyxfind.cpp:664
#, fuzzy
msgid "String not found in selection."
msgstr "ÐизÑÑ Ð½Ðµ е намеÑен."
# src/lyxfr1.C:192 src/lyxfr1.C:239
-#: src/lyxfind.cpp:659
+#: src/lyxfind.cpp:666
#, fuzzy
msgid "String not found."
msgstr "ÐизÑÑ Ð½Ðµ е намеÑен."
# src/lyxfr1.C:192 src/lyxfr1.C:239
-#: src/lyxfind.cpp:662
+#: src/lyxfind.cpp:669
#, fuzzy
msgid "String found."
msgstr "ÐизÑÑ Ðµ намеÑен."
# src/lyxfr1.C:196
-#: src/lyxfind.cpp:664
+#: src/lyxfind.cpp:671
#, fuzzy
msgid "String has been replaced."
msgstr "Ðдин низ беÑе замеÑÑен."
# src/lyxfr1.C:199
-#: src/lyxfind.cpp:667
+#: src/lyxfind.cpp:674
#, fuzzy, c-format
msgid "%1$d strings have been replaced in the selection."
msgstr " низа бÑÑ
а замеÑÑени."
# src/lyxfr1.C:199
-#: src/lyxfind.cpp:668
+#: src/lyxfind.cpp:675
#, fuzzy, c-format
msgid "%1$d strings have been replaced."
msgstr " низа бÑÑ
а замеÑÑени."
# src/lyxfr1.C:196
-#: src/lyxfind.cpp:4388
+#: src/lyxfind.cpp:4508
#, fuzzy
msgid "One match has been replaced."
msgstr "Ðдин низ беÑе замеÑÑен."
# src/lyxfr1.C:199
-#: src/lyxfind.cpp:4391
+#: src/lyxfind.cpp:4511
#, fuzzy
msgid "Two matches have been replaced."
msgstr " низа бÑÑ
а замеÑÑени."
# src/lyxfr1.C:199
-#: src/lyxfind.cpp:4394
+#: src/lyxfind.cpp:4514
#, fuzzy, c-format
msgid "%1$d matches have been replaced."
msgstr " низа бÑÑ
а замеÑÑени."
# src/lyxfr1.C:192 src/lyxfr1.C:239
-#: src/lyxfind.cpp:4400
+#: src/lyxfind.cpp:4520
#, fuzzy
msgid "Match not found."
msgstr "ÐизÑÑ Ð½Ðµ е намеÑен!"
# src/lyxfr1.C:196
-#: src/lyxfind.cpp:4406
+#: src/lyxfind.cpp:4526
#, fuzzy
msgid "Match has been replaced."
msgstr "Ðдин низ беÑе замеÑÑен."
# src/lyxfr1.C:192 src/lyxfr1.C:239
-#: src/lyxfind.cpp:4408
+#: src/lyxfind.cpp:4528
#, fuzzy
msgid "Match found."
msgstr "ÐизÑÑ Ð½Ðµ е намеÑен!"
-#: src/mathed/InsetMathAMSArray.cpp:135 src/mathed/InsetMathHull.cpp:2154
+#: src/mathed/InsetMathAMSArray.cpp:135 src/mathed/InsetMathHull.cpp:2163
#: src/mathed/InsetMathSplit.cpp:127 src/mathed/InsetMathSubstack.cpp:70
#, c-format
msgid "Can't add vertical grid lines in '%1$s'"
@@ -43241,59 +42688,57 @@ msgstr "ЦвеÑове"
# src/ext_l10n.h:219
#: src/mathed/InsetMathDecoration.cpp:184
-#, fuzzy, c-format
+#, c-format
msgid "Decoration: %1$s"
-msgstr "ÐоÑвеÑение"
+msgstr "маÑ. знаÑи: %1$s"
# src/ext_l10n.h:127
#: src/mathed/InsetMathEnv.cpp:69
-#, fuzzy, c-format
+#, c-format
msgid "Environment: %1$s"
-msgstr "ÐÑомени дÑлбоÑинаÑа на ÑÑедаÑа(v)|v"
+msgstr "СÑеда: %1$s"
# src/buffer.C:3331
-#: src/mathed/InsetMathGrid.cpp:1720
-#, fuzzy
+#: src/mathed/InsetMathGrid.cpp:1725
msgid "Cursor not in table"
-msgstr "ÐедÑзможна е ÑабоÑаÑа Ñ Ñайл: "
+msgstr "ÐÑÑÑоÑÑÑ Ð½Ðµ е в ÑаблиÑаÑа"
-#: src/mathed/InsetMathGrid.cpp:1725
+#: src/mathed/InsetMathGrid.cpp:1730
msgid "Only one row"
-msgstr ""
+msgstr "Само един Ñед"
# src/ext_l10n.h:75
-#: src/mathed/InsetMathGrid.cpp:1731
-#, fuzzy
+#: src/mathed/InsetMathGrid.cpp:1736
msgid "Only one column"
-msgstr "ÐзÑÑий колона(D)|D"
+msgstr "Само една колона"
# src/text2.C:456
-#: src/mathed/InsetMathGrid.cpp:1739
+#: src/mathed/InsetMathGrid.cpp:1744
#, fuzzy
msgid "No hline to delete"
msgstr "ÐÑма ниÑо за пÑавене"
-#: src/mathed/InsetMathGrid.cpp:1748
+#: src/mathed/InsetMathGrid.cpp:1753
msgid "No vline to delete"
msgstr ""
-#: src/mathed/InsetMathGrid.cpp:1777
+#: src/mathed/InsetMathGrid.cpp:1782
#, c-format
msgid "Unknown tabular feature '%1$s'"
msgstr ""
# src/frontends/kde/FormPrint.C:118
-#: src/mathed/InsetMathHull.cpp:1717
+#: src/mathed/InsetMathHull.cpp:1726
#, c-format
msgid "Type: %1$s"
msgstr "Тип: %1$s"
# src/ext_l10n.h:127
-#: src/mathed/InsetMathHull.cpp:1753
+#: src/mathed/InsetMathHull.cpp:1762
msgid "Bad math environment"
msgstr "ÐеподÑ
одÑÑа маÑемаÑиÑеÑка ÑÑеда"
-#: src/mathed/InsetMathHull.cpp:1754
+#: src/mathed/InsetMathHull.cpp:1763
msgid ""
"Computation cannot be performed for AMS math environments.\n"
"Change the math formula type and try again."
@@ -43302,26 +42747,26 @@ msgstr ""
"ÐÑоменеÑе Ñипа (ÑÑедаÑа) на маÑ. ÑоÑмÑла и пÑобвайÑе оÑново."
# src/mathed/formula.C:929
-#: src/mathed/InsetMathHull.cpp:1857 src/mathed/InsetMathHull.cpp:1866
+#: src/mathed/InsetMathHull.cpp:1866 src/mathed/InsetMathHull.cpp:1875
#, fuzzy
msgid "No number"
msgstr "ÐомеÑиÑане"
-#: src/mathed/InsetMathHull.cpp:2137
+#: src/mathed/InsetMathHull.cpp:2146
#, c-format
msgid "Can't change number of rows in '%1$s'"
msgstr "Ðе може да Ñе пÑомени бÑÐ¾Ñ Ð½Ð° ÑедовеÑе в '%1$s'"
-#: src/mathed/InsetMathHull.cpp:2147
+#: src/mathed/InsetMathHull.cpp:2156
#, c-format
msgid "Can't change number of columns in '%1$s'"
msgstr "Ðе може да Ñе пÑомени бÑÐ¾Ñ Ð½Ð° колониÑе в '%1$s'"
# src/mathed/formulamacro.C:144 src/mathed/formulamacro.C:171
#: src/mathed/InsetMathMacro.cpp:1295 src/mathed/InsetMathMacro.cpp:1301
-#, fuzzy, c-format
+#, c-format
msgid "Macro: %1$s"
-msgstr "ÐакÑоÑ: "
+msgstr "ÐакÑоÑ: %1$s"
# src/mathed/math_forms.C:152
#: src/mathed/InsetMathMacroTemplate.cpp:490
@@ -43331,98 +42776,96 @@ msgstr "ХоÑиз. ÐодÑавнÑване(H)|#H"
# src/LColor.C:81
#: src/mathed/InsetMathMacroTemplate.cpp:1273
-#, fuzzy
msgid "math macro"
-msgstr "Ñон на маÑемаÑика"
+msgstr "маÑ. макÑоÑ"
# src/LColor.C:81
#: src/mathed/InsetMathMacroTemplate.cpp:1382
-#, fuzzy, c-format
+#, c-format
msgid "Math Macro: \\%1$s"
-msgstr "Ñон на маÑемаÑика"
+msgstr "ÐаÑ. макÑоÑ: \\%1$s"
#: src/mathed/InsetMathMacroTemplate.cpp:1397
#, c-format
msgid "Invalid macro! \\%1$s"
-msgstr ""
+msgstr "Ðевалиден макÑоÑ! \\%1$s"
-#: src/mathed/InsetMathNest.cpp:1010
+#: src/mathed/InsetMathNest.cpp:1018
msgid "create new math text environment ($...$)"
msgstr ""
-#: src/mathed/InsetMathNest.cpp:1013
+#: src/mathed/InsetMathNest.cpp:1021
msgid "entered math text mode (textrm)"
msgstr ""
-#: src/mathed/InsetMathNest.cpp:1035
+#: src/mathed/InsetMathNest.cpp:1043
msgid "Regular expression editor mode"
msgstr ""
-#: src/mathed/InsetMathNest.cpp:1934
+#: src/mathed/InsetMathNest.cpp:1948
#, c-format
msgid "Cannot apply %1$s here."
msgstr ""
-#: src/mathed/InsetMathRef.cpp:348
+#: src/mathed/InsetMathRef.cpp:371
msgid "Standard[[mathref]]"
msgstr ""
# src/ext_l10n.h:285
-#: src/mathed/InsetMathRef.cpp:348
+#: src/mathed/InsetMathRef.cpp:371
msgid "Ref: "
msgstr "пÑепÑ.:"
# src/ext_l10n.h:285
-#: src/mathed/InsetMathRef.cpp:349
+#: src/mathed/InsetMathRef.cpp:372
msgid "EqRef: "
msgstr "ÐÑепÑаÑка"
# src/frontends/xforms/form_print.C:112
-#: src/mathed/InsetMathRef.cpp:350
+#: src/mathed/InsetMathRef.cpp:373
msgid "Page: "
msgstr "ÑÑÑаниÑa:"
# src/frontends/xforms/form_print.C:112
-#: src/mathed/InsetMathRef.cpp:351
-#, fuzzy
+#: src/mathed/InsetMathRef.cpp:374
msgid "TextPage: "
-msgstr "СÑÑаниÑи:"
+msgstr "СÑÑаниÑа: "
# src/ext_l10n.h:285
-#: src/mathed/InsetMathRef.cpp:352
+#: src/mathed/InsetMathRef.cpp:375
#, fuzzy
msgid "Ref+Text: "
msgstr "ÐÑепÑаÑка"
# src/frontends/xforms/Menubar_pimpl.C:425
-#: src/mathed/InsetMathRef.cpp:353
+#: src/mathed/InsetMathRef.cpp:376
#, fuzzy
msgid "PrettyRef"
msgstr "ÐмÑкни Pretty Ref%m"
# src/frontends/xforms/FormPreferences.C:252
-#: src/mathed/InsetMathRef.cpp:353
+#: src/mathed/InsetMathRef.cpp:376
#, fuzzy
msgid "FormatRef: "
msgstr "ФоÑмаÑи"
# src/frontends/gnome/FormRef.C:301
-#: src/mathed/InsetMathRef.cpp:354
+#: src/mathed/InsetMathRef.cpp:377
#, fuzzy
msgid "NameRef: "
msgstr "Ðме:"
# src/frontends/xforms/FormPreferences.C:244
-#: src/mathed/InsetMathRef.cpp:355
+#: src/mathed/InsetMathRef.cpp:378
#, fuzzy
msgid "Label Only: "
msgstr "ЦвеÑове"
# src/bufferview_funcs.C:267
#: src/mathed/InsetMathSize.cpp:108
-#, fuzzy, c-format
+#, c-format
msgid "Size: %1$s"
-msgstr "ШÑиÑÑ:"
+msgstr "РазмеÑ: %1$s"
# src/mathed/math_forms.C:152
#: src/mathed/InsetMathSubstack.cpp:79
@@ -43439,12 +42882,12 @@ msgid ""
msgstr "ÐеÑÑпеÑ
пÑи оÑваÑÑнеÑо"
# src/buffer.C:323
-#: src/output_latex.cpp:1626
+#: src/output_latex.cpp:1658
#, fuzzy
msgid "Error in latexParagraphs"
msgstr "Ðдин Ð°Ð±Ð·Ð°Ñ Ð½Ð°Ð·Ð°Ð´"
-#: src/output_latex.cpp:1627
+#: src/output_latex.cpp:1659
#, c-format
msgid ""
"You are using at least one layout (%1$s) intended for the title, after using "
@@ -43461,28 +42904,28 @@ msgid "References: "
msgstr "ÐÑепÑаÑки: "
# src/lyx_main.C:575
-#: src/support/Package.cpp:169
+#: src/support/Package.cpp:170
msgid "LyX: reconfiguring user directory"
msgstr "LyX: пÑеконÑигÑÑиÑане на поÑÑебиÑелÑкаÑа диÑекÑоÑиÑ"
# src/lyx_main.C:590
-#: src/support/Package.cpp:173
+#: src/support/Package.cpp:174
msgid "Done!"
msgstr "ÐоÑово!"
# src/lyxfr1.C:192 src/lyxfr1.C:239
-#: src/support/Package.cpp:525
+#: src/support/Package.cpp:526
#, fuzzy
msgid "LyX binary not found"
msgstr "ÐизÑÑ Ð½Ðµ е намеÑен!"
-#: src/support/Package.cpp:526
+#: src/support/Package.cpp:527
#, c-format
msgid ""
"Unable to determine the path to the LyX binary from the command line %1$s"
msgstr ""
-#: src/support/Package.cpp:645
+#: src/support/Package.cpp:646
#, c-format
msgid ""
"Unable to determine the system directory having searched\n"
@@ -43492,26 +42935,25 @@ msgid ""
msgstr ""
# src/lyxfr1.C:192 src/lyxfr1.C:239
-#: src/support/Package.cpp:714 src/support/Package.cpp:741
-#, fuzzy
+#: src/support/Package.cpp:715 src/support/Package.cpp:742
msgid "File not found"
-msgstr "ÐизÑÑ Ð½Ðµ е намеÑен!"
+msgstr "Ðе е оÑкÑÐ¸Ñ Ñайл!"
-#: src/support/Package.cpp:715
+#: src/support/Package.cpp:716
#, c-format
msgid ""
"Invalid %1$s switch.\n"
"Directory %2$s does not contain %3$s."
msgstr ""
-#: src/support/Package.cpp:742
+#: src/support/Package.cpp:743
#, c-format
msgid ""
"Invalid %1$s environment variable.\n"
"Directory %2$s does not contain %3$s."
msgstr ""
-#: src/support/Package.cpp:766
+#: src/support/Package.cpp:767
#, c-format
msgid ""
"Invalid %1$s environment variable.\n"
@@ -43519,13 +42961,13 @@ msgid ""
msgstr ""
# src/lyxfr1.C:192 src/lyxfr1.C:239
-#: src/support/Package.cpp:768
+#: src/support/Package.cpp:769
#, fuzzy
msgid "Directory not found"
-msgstr "ÐизÑÑ Ð½Ðµ е намеÑен!"
+msgstr "Ðе е оÑкÑиÑа диÑекÑоÑиÑ!"
# src/buffer.C:534
-#: src/support/Systemcall.cpp:416
+#: src/support/Systemcall.cpp:441
#, fuzzy, c-format
msgid ""
"The command\n"
@@ -43536,20 +42978,18 @@ msgid ""
msgstr "ÐокÑменÑÑÑ Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð° Ð½ÐµÐ¿Ð¾Ð·Ð½Ð°Ñ ÑекÑÑÐºÐ»Ð°Ñ \""
# src/LyXAction.C:167
-#: src/support/Systemcall.cpp:418
-#, fuzzy
+#: src/support/Systemcall.cpp:443
msgid "Stop command?"
-msgstr "ÐзпÑлни команда"
+msgstr "ÐÑекÑаÑÑване на команда?"
# src/ext_l10n.h:191
-#: src/support/Systemcall.cpp:419
-#, fuzzy
+#: src/support/Systemcall.cpp:444
msgid "&Stop it"
-msgstr "Ðаглавие"
+msgstr "ÐÑекÑаÑÑване"
-#: src/support/Systemcall.cpp:419
+#: src/support/Systemcall.cpp:444
msgid "Let it &run"
-msgstr ""
+msgstr "ÐÑодÑлжаване"
# src/debug.C:32
#: src/support/debug.cpp:42
@@ -43579,9 +43019,8 @@ msgstr "СÑобÑÐµÐ½Ð¸Ñ Ð¾Ñ ÑÑбиÑÐ¸Ñ Ð½Ð° ÐÐÐ"
# src/debug.C:37
#: src/support/debug.cpp:47
-#, fuzzy
msgid "Lyxlex grammar parser"
-msgstr "Lyxlex ÑинÑакÑиÑен анализ"
+msgstr "СинÑакÑиÑен анализаÑÐ¾Ñ LyXlex"
# src/debug.C:38
#: src/support/debug.cpp:48
@@ -43719,13 +43158,13 @@ msgid "Developers' general debug messages"
msgstr "обÑи ÑÑобÑÐµÐ½Ð¸Ñ Ð½Ð° ÑазÑабоÑÑиÑиÑе"
# src/debug.c:52
-#: src/support/debug.cpp:75
+#: src/support/debug.cpp:75 src/support/debug.cpp:76
#, fuzzy
msgid "All debugging messages"
msgstr "вÑиÑки debug ÑÑобÑениÑ"
# src/debug.c:100
-#: src/support/debug.cpp:154
+#: src/support/debug.cpp:183
#, fuzzy, c-format
msgid "Debugging `%1$s' (%2$s)"
msgstr "анализиÑане `"
@@ -43756,9 +43195,8 @@ msgstr ""
# src/frontends/gnome/FormCitation.C:453
#: src/support/lassert.cpp:84
-#, fuzzy
msgid "Buffer Error!"
-msgstr "ТÑÑÑи"
+msgstr "ÐÑеÑка в бÑÑеÑа!"
#: src/support/lassert.cpp:91
msgid ""
@@ -43768,9 +43206,8 @@ msgstr ""
# src/ext_l10n.h:191
#: src/support/lassert.cpp:94
-#, fuzzy
msgid "Fatal Exception!"
-msgstr "Ðаглавие"
+msgstr "ÐÑиÑиÑно изклÑÑение!"
#: src/support/lengthcommon.cpp:40
msgid "cc[[unit of measure]]"
@@ -43802,7 +43239,7 @@ msgstr "pc"
# src/frontends/kde/dlg/paraextradlgdata.C:142
#: src/support/lengthcommon.cpp:42
msgid "pt"
-msgstr "pt"
+msgstr "пÑнкÑ"
#: src/support/lengthcommon.cpp:42
msgid "sp"
@@ -43873,6 +43310,29 @@ msgstr ""
msgid "Unknown user"
msgstr "ÐепознаÑо дейÑÑвие"
+#~ msgid "e.g.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
+#~ msgstr "напÑ.: âpdfstartview=XYZ, plainpages=false, pdfpagelabelsâ"
+
+# src/lyx_main.C:704
+#, fuzzy, c-format
+#~ msgid "Setting debug level to %1$s"
+#~ msgstr "УÑÑановÑване на ниво за ÑÑобÑÐµÐ½Ð¸Ñ Ð·Ð° оÑкÑиване на гÑеÑки на %1$s"
+
+#~ msgid "Preferred &Language:"
+#~ msgstr "ÐÑедпоÑиÑан &език:"
+
+# src/lyxfont.C:43 src/lyxfont.C:47 src/lyxfont.C:52 src/lyxfont.C:58
+# src/lyxfont.C:62
+#, fuzzy
+#~ msgid "Ignore|g"
+#~ msgstr "ÐгноÑиÑай"
+
+# src/lyxfont.C:43 src/lyxfont.C:47 src/lyxfont.C:52 src/lyxfont.C:58
+# src/lyxfont.C:62
+#, fuzzy
+#~ msgid "Ignore all|I"
+#~ msgstr "ÐгноÑиÑай"
+
#~ msgid "Fi&nd:"
#~ msgstr "ÐамиÑане:"
commit 0ba1b68f6974e61d89243e24257311081fa9d7a1
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Fri Apr 1 04:12:14 2022 +0200
DocBook: merge code duplicates for HTML and CALS tables.
diff --git a/autotests/export/docbook/table_nested.xml b/autotests/export/docbook/table_nested.xml
index d61f482..ffbb320 100644
--- a/autotests/export/docbook/table_nested.xml
+++ b/autotests/export/docbook/table_nested.xml
@@ -25,18 +25,18 @@
<informaltable>
<tbody>
<tr>
-<td style="width: 110mm;" align='left' valign='top'>
-<para><emphasis role='size_small'>Dict{Any,Any} with 9 entries<!-- \string: --></emphasis></para>
+<td style='width: 110mm;' align='left' valign='top'>
+<para><emphasis role='size_small'>Dict{Any,Any} with 9 entries:</emphasis></para>
<informaltable>
<tbody>
<tr>
<td align='center' valign='top'>
<para><!-- \textquotesingle --> n<!-- \textquotesingle --></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>=></emphasis></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>1</emphasis> </para>
</td>
</tr>
@@ -44,10 +44,10 @@
<td align='center' valign='top'>
<para><!-- \textquotesingle --> s<!-- \textquotesingle --></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>=></emphasis></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>1</emphasis> </para>
</td>
</tr>
@@ -55,10 +55,10 @@
<td align='center' valign='top'>
<para><!-- \textquotesingle --> a<!-- \textquotesingle --></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>=></emphasis></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>1</emphasis> </para>
</td>
</tr>
@@ -66,10 +66,10 @@
<td align='center' valign='top'>
<para><!-- \textquotesingle --> r<!-- \textquotesingle --></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>=></emphasis></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>2</emphasis> </para>
</td>
</tr>
@@ -77,10 +77,10 @@
<td align='center' valign='top'>
<para><!-- \textquotesingle --> t<!-- \textquotesingle --></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>=></emphasis></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>1</emphasis> </para>
</td>
</tr>
@@ -88,10 +88,10 @@
<td align='center' valign='top'>
<para><!-- \textquotesingle --> o<!-- \textquotesingle --></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>=></emphasis></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>2</emphasis> </para>
</td>
</tr>
@@ -99,10 +99,10 @@
<td align='center' valign='top'>
<para><!-- \textquotesingle --> u<!-- \textquotesingle --></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>=></emphasis></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>1</emphasis> </para>
</td>
</tr>
@@ -110,10 +110,10 @@
<td align='center' valign='top'>
<para><!-- \textquotesingle --> e<!-- \textquotesingle --></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>=></emphasis></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>1</emphasis> </para>
</td>
</tr>
@@ -121,10 +121,10 @@
<td align='center' valign='top'>
<para><!-- \textquotesingle --> b<!-- \textquotesingle --></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>=></emphasis></para>
</td>
-<td style="width: 3mm;" align='center' valign='top'>
+<td style='width: 3mm;' align='center' valign='top'>
<para><emphasis role='size_small'>1</emphasis> </para>
</td>
</tr>
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index 761cb4c..0d45855 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -3615,14 +3615,7 @@ void Tabular::latex(otexstream & os, OutputParams const & runparams) const
void Tabular::docbookRow(XMLStream & xs, row_type row,
OutputParams const & runparams, bool header) const
{
- switch (buffer().params().docbook_table_output) {
- case BufferParams::HTMLTable:
- docbookRowAsHTML(xs, row, runparams, header);
- break;
- case BufferParams::CALSTable:
- docbookRowAsCALS(xs, row, runparams);
- break;
- }
+ docbookRow(xs, row, runparams, header, buffer().params().docbook_table_output);
}
@@ -3635,6 +3628,9 @@ std::string Tabular::getVAlignAsXmlAttribute(idx_type cell) const
return "valign='bottom'";
case LYX_VALIGN_MIDDLE:
return "valign='middle'";
+ default:
+ // This case only silences a compiler warning, as all the cases are covered above.
+ return "";
}
}
@@ -3666,13 +3662,13 @@ std::string Tabular::getHAlignAsXmlAttribute(idx_type cell, bool is_xhtml) const
}
-void Tabular::docbookRowAsHTML(XMLStream & xs, row_type row,
- OutputParams const & runparams, bool header) const
+void Tabular::docbookRow(XMLStream & xs, row_type row, OutputParams const & runparams, bool header, BufferParams::TableOutput docbook_table_output) const
{
- string const celltag = header ? "th" : "td";
+ std::string const row_tag = (docbook_table_output == BufferParams::TableOutput::HTMLTable) ? "tr" : "row";
+ std::string const cell_tag = (docbook_table_output == BufferParams::TableOutput::HTMLTable) ? (header ? "th" : "td") : "entry";
idx_type cell = getFirstCellInRow(row);
- xs << xml::StartTag("tr");
+ xs << xml::StartTag(row_tag);
xs << xml::CR();
for (col_type c = 0; c < ncols(); ++c) {
if (isPartOfMultiColumn(row, c) || isPartOfMultiRow(row, c))
@@ -3680,10 +3676,12 @@ void Tabular::docbookRowAsHTML(XMLStream & xs, row_type row,
stringstream attr;
- Length const cwidth = column_info[c].p_width;
- if (!cwidth.zero()) {
- string const hwidth = cwidth.asHTMLString();
- attr << "style=\"width: " << hwidth << ";\" ";
+ if (docbook_table_output == BufferParams::TableOutput::HTMLTable) {
+ Length const cwidth = column_info[c].p_width;
+ if (!cwidth.zero()) {
+ string const hwidth = cwidth.asHTMLString();
+ attr << "style='width: " << hwidth << ";' ";
+ }
}
attr << getHAlignAsXmlAttribute(cell, false) << " " << getVAlignAsXmlAttribute(cell);
@@ -3692,54 +3690,23 @@ void Tabular::docbookRowAsHTML(XMLStream & xs, row_type row,
attr << " colspan='" << columnSpan(cell) << "'";
else if (isMultiRow(cell))
attr << " rowspan='" << rowSpan(cell) << "'";
+ else if (docbook_table_output == BufferParams::TableOutput::CALSTable)
+ attr << " colname='c" << (c + 1) << "'"; // CALS column numbering starts at 1.
+
+ // All cases where there should be a line *below* this row.
+ if (docbook_table_output == BufferParams::TableOutput::CALSTable && row_info[row].bottom_space_default)
+ attr << " rowsep='1'";
OutputParams rp = runparams;
rp.docbook_in_par = false;
rp.docbook_force_pars = true;
- xs << xml::StartTag(celltag, attr.str(), true);
+ xs << xml::StartTag(cell_tag, attr.str(), true);
cellInset(cell)->docbook(xs, rp);
- xs << xml::EndTag(celltag);
- xs << xml::CR();
- ++cell;
- }
- xs << xml::EndTag("tr");
- xs << xml::CR();
-}
-
-
-void Tabular::docbookRowAsCALS(XMLStream & xs, row_type row,
- OutputParams const & runparams) const
-{
- idx_type cell = getFirstCellInRow(row);
-
- xs << xml::StartTag("row");
- xs << xml::CR();
- for (col_type c = 0; c < ncols(); ++c) {
- if (isPartOfMultiColumn(row, c) || isPartOfMultiRow(row, c))
- continue;
-
- stringstream attr;
-
- attr << getHAlignAsXmlAttribute(cell, false) << " " << getVAlignAsXmlAttribute(cell);
-
- if (isMultiColumn(cell))
- attr << " colspan='" << columnSpan(cell) << "'";
- else if (isMultiRow(cell))
- attr << " rowspan='" << rowSpan(cell) << "'";
- else
- attr << " colname='c" << (c + 1) << "'"; // Column numbering starts at 1.
-
- // All cases where there should be a line *below* this row.
- if (row_info[row].bottom_space_default)
- attr << " rowsep='1'";
-
- xs << xml::StartTag("entry", attr.str(), true);
- cellInset(cell)->docbook(xs, runparams);
- xs << xml::EndTag("entry");
+ xs << xml::EndTag(cell_tag);
xs << xml::CR();
++cell;
}
- xs << xml::EndTag("row");
+ xs << xml::EndTag(row_tag);
xs << xml::CR();
}
diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h
index f42f5bc..217aaa5 100644
--- a/src/insets/InsetTabular.h
+++ b/src/insets/InsetTabular.h
@@ -24,6 +24,7 @@
#ifndef INSET_TABULAR_H
#define INSET_TABULAR_H
+#include "BufferParams.h"
#include "Changes.h"
#include "InsetText.h"
@@ -937,11 +938,8 @@ public:
/// auxiliary function for DocBook
void docbookRow(XMLStream &, row_type, OutputParams const &,
bool header = false) const;
- /// auxiliary function for DocBook: export this row as HTML
- void docbookRowAsHTML(XMLStream &, row_type, OutputParams const &,
- bool header) const;
- /// auxiliary function for DocBook: export this row as CALS
- void docbookRowAsCALS(XMLStream &, row_type, OutputParams const &) const;
+ void docbookRow(XMLStream &, row_type, OutputParams const &,
+ bool header, BufferParams::TableOutput docbook_table_output) const;
///
docstring xhtmlRow(XMLStream & xs, row_type, OutputParams const &,
bool header = false) const;
commit ec016162470a08072ed59080efd357bc90a7efb1
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Fri Apr 1 04:01:40 2022 +0200
XHTML/DocBook: merge code duplicates for horizontal alignment.
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index 092c868..761cb4c 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -3639,6 +3639,33 @@ std::string Tabular::getVAlignAsXmlAttribute(idx_type cell) const
}
+std::string Tabular::getHAlignAsXmlAttribute(idx_type cell, bool is_xhtml) const
+{
+ // TODO: the Boolean flag isn't really clean; switch to an enum at some point.
+ switch (getAlignment(cell)) {
+ case LYX_ALIGN_LEFT:
+ return "align='left'";
+ case LYX_ALIGN_RIGHT:
+ return "align='right'";
+
+ default:
+ // HTML only supports left, right, and center.
+ if (is_xhtml)
+ return "align='center'";
+
+ // DocBook also has justify and decimal.
+ if (getAlignment(cell) == LYX_ALIGN_BLOCK) {
+ return "align='justify'";
+ } else if (getAlignment(cell) == LYX_ALIGN_DECIMAL) {
+ Language const *tlang = buffer().paragraphs().front().getParLanguage(buffer().params());
+ return "align='char' char='" + to_utf8(tlang->decimalSeparator()) + "'";
+ } else {
+ return "align='center'";
+ }
+ }
+}
+
+
void Tabular::docbookRowAsHTML(XMLStream & xs, row_type row,
OutputParams const & runparams, bool header) const
{
@@ -3659,27 +3686,7 @@ void Tabular::docbookRowAsHTML(XMLStream & xs, row_type row,
attr << "style=\"width: " << hwidth << ";\" ";
}
- attr << "align='";
- switch (getAlignment(cell)) {
- case LYX_ALIGN_BLOCK:
- attr << "justify";
- break;
- case LYX_ALIGN_DECIMAL: {
- Language const *tlang = buffer().paragraphs().front().getParLanguage(buffer().params());
- attr << "char' char='" << to_utf8(tlang->decimalSeparator());
- }
- break;
- case LYX_ALIGN_LEFT:
- attr << "left";
- break;
- case LYX_ALIGN_RIGHT:
- attr << "right";
- break;
- default:
- attr << "center";
- break;
- }
- attr << "' " << getVAlignAsXmlAttribute(cell);
+ attr << getHAlignAsXmlAttribute(cell, false) << " " << getVAlignAsXmlAttribute(cell);
if (isMultiColumn(cell))
attr << " colspan='" << columnSpan(cell) << "'";
@@ -3713,28 +3720,7 @@ void Tabular::docbookRowAsCALS(XMLStream & xs, row_type row,
stringstream attr;
- attr << "align='";
- switch (getAlignment(cell)) {
- case LYX_ALIGN_BLOCK:
- attr << "justify";
- break;
- case LYX_ALIGN_DECIMAL: {
- Language const *tlang = buffer().paragraphs().front().getParLanguage(buffer().params());
- attr << "char' char='" << to_utf8(tlang->decimalSeparator());
- }
- break;
- case LYX_ALIGN_LEFT:
- attr << "left";
- break;
- case LYX_ALIGN_RIGHT:
- attr << "right";
- break;
-
- default:
- attr << "center";
- break;
- }
- attr << "' " << getVAlignAsXmlAttribute(cell);
+ attr << getHAlignAsXmlAttribute(cell, false) << " " << getVAlignAsXmlAttribute(cell);
if (isMultiColumn(cell))
attr << " colspan='" << columnSpan(cell) << "'";
@@ -3874,19 +3860,7 @@ docstring Tabular::xhtmlRow(XMLStream & xs, row_type row,
attr << "style=\"width: " << hwidth << ";\" ";
}
- attr << "align='";
- switch (getAlignment(cell)) {
- case LYX_ALIGN_LEFT:
- attr << "left";
- break;
- case LYX_ALIGN_RIGHT:
- attr << "right";
- break;
- default:
- attr << "center";
- break;
- }
- attr << "' " << getVAlignAsXmlAttribute(cell);
+ attr << getHAlignAsXmlAttribute(cell, true) << " " << getVAlignAsXmlAttribute(cell);
if (isMultiColumn(cell))
attr << " colspan='" << columnSpan(cell) << "'";
diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h
index 8420a48..f42f5bc 100644
--- a/src/insets/InsetTabular.h
+++ b/src/insets/InsetTabular.h
@@ -947,6 +947,8 @@ public:
bool header = false) const;
/// Transforms the vertical alignment of the given cell as a prebaked XML attribute (for HTML and CALS).
+ std::string getHAlignAsXmlAttribute(idx_type cell, bool is_xhtml = true) const;
+ /// Transforms the vertical alignment of the given cell as a prebaked XML attribute (for HTML and CALS).
std::string getVAlignAsXmlAttribute(idx_type cell) const;
/// change associated Buffer
commit c7896cf922f8297ba9bbfc0fa13b99ccaf9168a5
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Fri Apr 1 03:51:24 2022 +0200
XHTML/DocBook: merge code duplicates for vertical alignment.
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index 17d58dd..092c868 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -3626,6 +3626,19 @@ void Tabular::docbookRow(XMLStream & xs, row_type row,
}
+std::string Tabular::getVAlignAsXmlAttribute(idx_type cell) const
+{
+ switch (getVAlignment(cell)) {
+ case LYX_VALIGN_TOP:
+ return "valign='top'";
+ case LYX_VALIGN_BOTTOM:
+ return "valign='bottom'";
+ case LYX_VALIGN_MIDDLE:
+ return "valign='middle'";
+ }
+}
+
+
void Tabular::docbookRowAsHTML(XMLStream & xs, row_type row,
OutputParams const & runparams, bool header) const
{
@@ -3666,19 +3679,7 @@ void Tabular::docbookRowAsHTML(XMLStream & xs, row_type row,
attr << "center";
break;
}
- attr << "'";
- attr << " valign='";
- switch (getVAlignment(cell)) {
- case LYX_VALIGN_TOP:
- attr << "top";
- break;
- case LYX_VALIGN_BOTTOM:
- attr << "bottom";
- break;
- case LYX_VALIGN_MIDDLE:
- attr << "middle";
- }
- attr << "'";
+ attr << "' " << getVAlignAsXmlAttribute(cell);
if (isMultiColumn(cell))
attr << " colspan='" << columnSpan(cell) << "'";
@@ -3733,19 +3734,7 @@ void Tabular::docbookRowAsCALS(XMLStream & xs, row_type row,
attr << "center";
break;
}
- attr << "'";
- attr << " valign='";
- switch (getVAlignment(cell)) {
- case LYX_VALIGN_TOP:
- attr << "top";
- break;
- case LYX_VALIGN_BOTTOM:
- attr << "bottom";
- break;
- case LYX_VALIGN_MIDDLE:
- attr << "middle";
- }
- attr << "'";
+ attr << "' " << getVAlignAsXmlAttribute(cell);
if (isMultiColumn(cell))
attr << " colspan='" << columnSpan(cell) << "'";
@@ -3897,19 +3886,7 @@ docstring Tabular::xhtmlRow(XMLStream & xs, row_type row,
attr << "center";
break;
}
- attr << "'";
- attr << " valign='";
- switch (getVAlignment(cell)) {
- case LYX_VALIGN_TOP:
- attr << "top";
- break;
- case LYX_VALIGN_BOTTOM:
- attr << "bottom";
- break;
- case LYX_VALIGN_MIDDLE:
- attr << "middle";
- }
- attr << "'";
+ attr << "' " << getVAlignAsXmlAttribute(cell);
if (isMultiColumn(cell))
attr << " colspan='" << columnSpan(cell) << "'";
diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h
index 645da68..8420a48 100644
--- a/src/insets/InsetTabular.h
+++ b/src/insets/InsetTabular.h
@@ -946,6 +946,9 @@ public:
docstring xhtmlRow(XMLStream & xs, row_type, OutputParams const &,
bool header = false) const;
+ /// Transforms the vertical alignment of the given cell as a prebaked XML attribute (for HTML and CALS).
+ std::string getVAlignAsXmlAttribute(idx_type cell) const;
+
/// change associated Buffer
void setBuffer(Buffer & buffer);
/// retrieve associated Buffer
commit 7b6afb23ec4540dd9bd9e8f238c52e00b812fd4e
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Fri Apr 1 00:01:42 2022 +0200
MathML: fix underbraces to be stretchable.
Ticket: https://www.lyx.org/trac/ticket/12502
Contributed by lynx
diff --git a/src/mathed/InsetMathDecoration.cpp b/src/mathed/InsetMathDecoration.cpp
index a5d616e..2bd52f4 100644
--- a/src/mathed/InsetMathDecoration.cpp
+++ b/src/mathed/InsetMathDecoration.cpp
@@ -210,14 +210,14 @@ namespace {
t["grave"] = Attributes(true, "`", "`");
t["hat"] = Attributes(true, "ˆ", "ˆ");
t["mathring"] = Attributes(true, "˚", "˚");
- t["overbrace"] = Attributes(true, "⏞", "︷");
+ t["overbrace"] = Attributes(true, "⏞", "⏞");
t["overleftarrow"] = Attributes(true, "⟵", "⟵");
t["overleftrightarrow"] = Attributes(true, "⟷", "⟷");
t["overline"] = Attributes(true, "¯", "¯");
t["overrightarrow"] = Attributes(true, "⟶", "⟶");
t["tilde"] = Attributes(true, "˜", "˜");
t["underbar"] = Attributes(false, "_", "̲");
- t["underbrace"] = Attributes(false, "⏟", "︸");
+ t["underbrace"] = Attributes(false, "⏟", "⏟");
t["underleftarrow"] = Attributes(false, "⟵", "⟵");
t["underleftrightarrow"] = Attributes(false, "⟷", "⟷");
// this is the macron, again, but it works
commit 570be4760bf81a5236297ab8d4def66207cbd32e
Author: Kornel Benko <kornel at lyx.org>
Date: Thu Mar 31 11:39:46 2022 +0200
FindAdv: Amend a0daf5e5
1.) Completed non backslashed '{' and '}' in regex in non format-search
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 73453cb..35fdd68 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -838,13 +838,14 @@ string correctRegex(string t, bool withformat)
* and \{, \}, \[, \] => {, }, [, ]
*/
string s("");
- regex wordre("(\\\\)*(\\\\(([A-Za-z]+)( |\\{\\})?|[\\[\\]\\{\\}]))");
+ regex wordre("(\\\\)*(\\\\(([A-Za-z]+|[\\{\\}])( |\\{\\})?|[\\[\\]\\{\\}]))");
size_t lastpos = 0;
smatch sub;
bool backslashed = false;
if (accents.empty())
buildAccentsMap();
+ //LYXERR0("correctRegex input '" << t << "'");
for (sregex_iterator it(t.begin(), t.end(), wordre), end; it != end; ++it) {
sub = *it;
string replace;
@@ -856,7 +857,6 @@ string correctRegex(string t, bool withformat)
replace = "\\";
{
// transforms '\backslash \{' into '\{'
- // and '\{' into '{'
string next = t.substr(sub.position(2) + sub.str(2).length(), 2);
if ((next == "\\{") || (next == "\\}")) {
replace = "";
@@ -889,6 +889,10 @@ string correctRegex(string t, bool withformat)
}
}
}
+ else if (sub.str(4) == "{") // transforms '\{' into '{'
+ replace = "{";
+ else if (sub.str(4) == "}")
+ replace = "}";
else {
AccentsIterator it_ac = accents.find(sub.str(4));
if (it_ac == accents.end()) {
@@ -908,6 +912,7 @@ string correctRegex(string t, bool withformat)
return t;
else if (lastpos < t.length())
s += t.substr(lastpos, t.length() - lastpos);
+ //LYXERR0("correctRegex output '" << s << "'");
return s;
}
commit a0daf5e5512172fbde3c77cdbd4e399024c6e488
Author: Kornel Benko <kornel at lyx.org>
Date: Wed Mar 30 22:15:22 2022 +0200
FindAdv: Optimizing
1.) Handle backslashed '{' and '}' in regex also in non format-search
2.) Simplify a complex regex in format-search
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 53da1db..73453cb 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -854,7 +854,7 @@ string correctRegex(string t, bool withformat)
else {
if (sub.str(4) == "backslash") {
replace = "\\";
- if (withformat) {
+ {
// transforms '\backslash \{' into '\{'
// and '\{' into '{'
string next = t.substr(sub.position(2) + sub.str(2).length(), 2);
@@ -868,13 +868,25 @@ string correctRegex(string t, bool withformat)
replace = "^";
else if (backslashed) {
backslashed = false;
- if (withformat && (sub.str(3) == "{"))
- replace = accents["braceleft"];
- else if (withformat && (sub.str(3) == "}"))
- replace = accents["braceright"];
+ if (withformat) {
+ if (sub.str(3) == "{")
+ replace = accents["braceleft"];
+ else if (sub.str(3) == "}")
+ replace = accents["braceright"];
+ else {
+ // else part should not exist
+ LASSERT(1, /**/);
+ }
+ }
else {
- // else part should not exist
- LASSERT(1, /**/);
+ if (sub.str(3) == "{")
+ replace = "\\{";
+ else if (sub.str(3) == "}")
+ replace = "\\}";
+ else {
+ // else part should not exist
+ LASSERT(1, /**/);
+ }
}
}
else {
@@ -1129,7 +1141,7 @@ static string latexNamesToUtf8(docstring strIn)
}
if (lastpos == 0)
add = addtmp;
- else
+ else if (addtmp.length() > lastpos)
add += addtmp.substr(lastpos, addtmp.length() - lastpos);
LYXERR(Debug::FIND, "Adding to search string: '"
<< add << "'");
@@ -1954,12 +1966,10 @@ void Intervall::removeAccents()
if (accents.empty())
buildAccentsMap();
static regex const accre("\\\\("
- "([\\S]|[a-z]+)\\{[^\\{\\}]+\\}"
+ "([\\S]|[A-Za-z]+)\\{[^\\{\\}]+\\}"
"|("
- "(i|imath|jmath|cdot|[a-z]+(space)?)"
- "|((backslash )?([lL]y[xX]|[tT]e[xX]|[lL]a[tT]e[xX]e?|lyxarrow))"
- "|(textquote|brace|guillemot)(left|right)"
- "|textasciicircum|mathcircumflex|sim|[A-Za-z]+"
+ "(backslash ([lL]y[xX]|[tT]e[xX]|[lL]a[tT]e[xX]e?|lyxarrow))"
+ "|[A-Za-z]+"
")"
"(?![a-zA-Z]))");
smatch sub;
commit 6888c2670640e17808df6ab0a0a1c9112715c248
Author: Kornel Benko <kornel at lyx.org>
Date: Tue Mar 29 18:00:13 2022 +0200
FindAdv: Amend 23fe87bf:
Write one line of code and produce 10 new errors :(
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 62be62e..53da1db 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -1094,7 +1094,7 @@ static string latexNamesToUtf8(docstring strIn)
string addtmp = to_utf8(strIn);
static regex const rmAcc("(\\\\)*("
"\\\\([A-Za-z]+\\{.\\})" // e.g. "ddot{A}" == sub.str(3)
- "|\\\\([A-Za-z]+)( |\\{\\})?" // e.g. "LyX", "LyX{}", "LyX " == sub.str(5)
+ "|\\\\([A-Za-z]+)( |\\{\\})?" // e.g. "LyX", "LyX{}", "LyX " == sub.str(4)
")"
);
size_t lastpos = 0;
@@ -1113,7 +1113,7 @@ static string latexNamesToUtf8(docstring strIn)
if (sub.length(3) > 0)
key = sub.str(3);
else
- key = sub.str(5);
+ key = sub.str(4);
AccentsIterator it_ac = accents.find(key);
if (it_ac == accents.end()) {
replace = sub.str(2);
@@ -1129,6 +1129,8 @@ static string latexNamesToUtf8(docstring strIn)
}
if (lastpos == 0)
add = addtmp;
+ else
+ add += addtmp.substr(lastpos, addtmp.length() - lastpos);
LYXERR(Debug::FIND, "Adding to search string: '"
<< add << "'");
return add;
commit 23fe87bfc9c982bbe5233bbac3da76fe0a073e8f
Author: Kornel Benko <kornel at lyx.org>
Date: Tue Mar 29 17:22:22 2022 +0200
FindAdv: Amend f78ddc49, Added handling of accented chars like \ddot{a}
Only important for search without format. The format search was already OK.
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index cda2bf0..62be62e 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -1092,7 +1092,11 @@ static docstring buffer_to_latex(Buffer & buffer)
static string latexNamesToUtf8(docstring strIn)
{
string addtmp = to_utf8(strIn);
- static regex const rmAcc("(\\\\)*(\\\\([A-Za-z]+)( |\\{\\})?)");
+ static regex const rmAcc("(\\\\)*("
+ "\\\\([A-Za-z]+\\{.\\})" // e.g. "ddot{A}" == sub.str(3)
+ "|\\\\([A-Za-z]+)( |\\{\\})?" // e.g. "LyX", "LyX{}", "LyX " == sub.str(5)
+ ")"
+ );
size_t lastpos = 0;
smatch sub;
string replace;
@@ -1101,11 +1105,15 @@ static string latexNamesToUtf8(docstring strIn)
buildAccentsMap();
for (sregex_iterator it_add(addtmp.begin(), addtmp.end(), rmAcc), end; it_add != end; ++it_add) {
sub = *it_add;
- if ((sub.position(2) - sub.position(0)) % 3 == 1) {
+ if ((sub.position(2) - sub.position(0)) % 2 == 1) {
continue;
}
else {
- string key = sub.str(3);
+ string key;
+ if (sub.length(3) > 0)
+ key = sub.str(3);
+ else
+ key = sub.str(5);
AccentsIterator it_ac = accents.find(key);
if (it_ac == accents.end()) {
replace = sub.str(2);
commit 77fd682acb34619adad26e9d8e96c886161ce827
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Mon Mar 28 21:44:40 2022 -0400
Doc for inset-forall: how to open branch insets
The functionality was mentioned, but it seems worth it to give the
command explicitly, so it is seen how "Branch:<branch name>" is used
to refer to the specific branch with name <branch name>.
Additionally, tweak a phrase in doc for buffer-forall.
diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp
index ca8c5b7..ea60f53 100644
--- a/src/LyXAction.cpp
+++ b/src/LyXAction.cpp
@@ -642,7 +642,7 @@ void LyXAction::init()
visible in any window.
* \li Syntax: buffer-forall <LFUN-COMMAND>
* \li Params: <LFUN-COMMAND>: The command to be applied to the buffers.
- * \li Sample: Close all Notes in buffers: \n
+ * \li Sample: Close all Notes in all buffers: \n
buffer-forall inset-forall Note inset-toggle close \n
Toggle change tracking on buffers: \n
buffer-forall changes-track \n
@@ -2179,8 +2179,10 @@ void LyXAction::init()
yellow note insets.
* \li Sample: Remove all index insets: \n
inset-forall Index char-delete-forward force \n
- Close all Notes (also works for a particular branch, for example): \n
+ Close all Notes: \n
inset-forall Note inset-toggle close \n
+ Open all branch insets of branch "myBranch": \n
+ inset-forall Branch:myBranch inset-toggle open \n
Transform all yellow notes to comments \n
inset-forall Note:Note inset-modify note Note Comment \n
Try to put LyX in an infinite loop if there is at least a Note: \n
commit f78ddc49ad696d626866224bc4cae86c38cc1bba
Author: Kornel Benko <kornel at lyx.org>
Date: Sun Mar 27 13:43:42 2022 +0200
FindAdv: Amend 93b6fe2c, forgot about uppercase greek symbols
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index ae9d965..cda2bf0 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -838,7 +838,7 @@ string correctRegex(string t, bool withformat)
* and \{, \}, \[, \] => {, }, [, ]
*/
string s("");
- regex wordre("(\\\\)*(\\\\(([a-z]+) ?|[\\[\\]\\{\\}]))");
+ regex wordre("(\\\\)*(\\\\(([A-Za-z]+)( |\\{\\})?|[\\[\\]\\{\\}]))");
size_t lastpos = 0;
smatch sub;
bool backslashed = false;
@@ -880,7 +880,7 @@ string correctRegex(string t, bool withformat)
else {
AccentsIterator it_ac = accents.find(sub.str(4));
if (it_ac == accents.end()) {
- replace = sub.str(3);
+ replace = sub.str(2);
}
else {
replace = it_ac->second;
@@ -1092,7 +1092,7 @@ static docstring buffer_to_latex(Buffer & buffer)
static string latexNamesToUtf8(docstring strIn)
{
string addtmp = to_utf8(strIn);
- static regex const rmAcc("(\\\\)*(\\\\([a-z]+) ?)");
+ static regex const rmAcc("(\\\\)*(\\\\([A-Za-z]+)( |\\{\\})?)");
size_t lastpos = 0;
smatch sub;
string replace;
@@ -1943,9 +1943,15 @@ void Intervall::removeAccents()
{
if (accents.empty())
buildAccentsMap();
- static regex const accre("\\\\(([\\S]|grave|breve|ddot|dot|acute|dacute|mathring|check|hat|bar|tilde|subdot|ogonek|"
- "cedilla|subring|textsubring|subhat|textsubcircum|subtilde|textsubtilde|dgrave|textdoublegrave|rcap|textroundcap|slashed)\\{[^\\{\\}]+\\}"
- "|((i|imath|jmath|cdot|[a-z]+(space)?)|((backslash )?([lL]y[xX]|[tT]e[xX]|[lL]a[tT]e[xX]e?|lyxarrow))|(textquote|brace|guillemot)(left|right)|textasciicircum|mathcircumflex|sim)(?![a-zA-Z]))");
+ static regex const accre("\\\\("
+ "([\\S]|[a-z]+)\\{[^\\{\\}]+\\}"
+ "|("
+ "(i|imath|jmath|cdot|[a-z]+(space)?)"
+ "|((backslash )?([lL]y[xX]|[tT]e[xX]|[lL]a[tT]e[xX]e?|lyxarrow))"
+ "|(textquote|brace|guillemot)(left|right)"
+ "|textasciicircum|mathcircumflex|sim|[A-Za-z]+"
+ ")"
+ "(?![a-zA-Z]))");
smatch sub;
for (sregex_iterator itacc(par.begin(), par.end(), accre), end; itacc != end; ++itacc) {
sub = *itacc;
commit 7d053393a5f246ed0d85c59f1eebc690b622b559
Author: Kornel Benko <kornel at lyx.org>
Date: Sat Mar 26 19:38:55 2022 +0100
Cmake key-tests: Adapted to changed shortcuts
diff --git a/development/autotests/findadv-08-in.txt b/development/autotests/findadv-08-in.txt
index 6ce02d4..2cd281b 100644
--- a/development/autotests/findadv-08-in.txt
+++ b/development/autotests/findadv-08-in.txt
@@ -29,7 +29,7 @@ KK: [\\w]* a
# select whole words
KK: \Ae
# search next
-KK: \Al
+KK: \A>
# The following Escape is too fast
Sleep 1
KK: \[Escape]
diff --git a/development/autotests/findadv-17-in.txt b/development/autotests/findadv-17-in.txt
index dd3c30a..57c222d 100644
--- a/development/autotests/findadv-17-in.txt
+++ b/development/autotests/findadv-17-in.txt
@@ -1,6 +1,6 @@
# Finding consecutive macros in math mode
#
-Lang it_IT.utf8
+Lang sk_SK.utf8
CO: findadv-17.ctrl
TestBegin test.lyx -dbg key,find > findadv-17.loga.txt 2>&1
CN: Part 1
@@ -17,7 +17,7 @@ CP: Key (queried) [action=buffer-begin][Ctrl+Home]
KK: \CF
KK: \[Delete]
# Uncheck ignore format
-KK: \Az\Ag\Ae
+KK: \At\Ai\Ah
KK: \CF
KK: \Cm\\beta\\alpha \[Return]
CP: Putting selection at .*idx: 0 par: 0 pos: 0\n.*idx: 0 par: 0 pos: 1\n with len: 2
diff --git a/development/autotests/findadv-18-in.txt b/development/autotests/findadv-18-in.txt
index 61ec67d..f438991 100644
--- a/development/autotests/findadv-18-in.txt
+++ b/development/autotests/findadv-18-in.txt
@@ -2,7 +2,7 @@
UseShortcut "C-F20" "regexp-mode"
PrepareShortcuts
-Lang it_IT.utf8
+Lang sk_SK.utf8
CO: findadv-18.ctrl
TestBegin test.lyx -dbg key,find > findadv-18.loga.txt 2>&1
KK: a b c\C\[Home]
commit 93b6fe2c480b597f890bb77ce64bb650d979d2c3
Author: Kornel Benko <kornel at lyx.org>
Date: Sat Mar 26 19:32:33 2022 +0100
FindAdv: Use always converted latex macros
In some situation the macros are not used with their unicode
representation. For instance all greek characters are used
as \alpha, \beta, ... in the latex output.
For the search it is more convenient to use the corresponding UTF-8 codes.
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 025479e..ae9d965 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -917,7 +917,7 @@ string escape_for_regex(string s, bool withformat)
if (lastpos == s.size())
break;
}
- size_t end_pos = s.find("\\endregexp{", regex_pos + 8);
+ size_t end_pos = s.find("\\endregexp", regex_pos + 8);
result += correctRegex(s.substr(regex_pos + 8, end_pos -(regex_pos + 8)), withformat);
lastpos = end_pos + 13;
}
@@ -1089,6 +1089,42 @@ static docstring buffer_to_latex(Buffer & buffer)
return ods.str();
}
+static string latexNamesToUtf8(docstring strIn)
+{
+ string addtmp = to_utf8(strIn);
+ static regex const rmAcc("(\\\\)*(\\\\([a-z]+) ?)");
+ size_t lastpos = 0;
+ smatch sub;
+ string replace;
+ string add("");
+ if (accents.empty())
+ buildAccentsMap();
+ for (sregex_iterator it_add(addtmp.begin(), addtmp.end(), rmAcc), end; it_add != end; ++it_add) {
+ sub = *it_add;
+ if ((sub.position(2) - sub.position(0)) % 3 == 1) {
+ continue;
+ }
+ else {
+ string key = sub.str(3);
+ AccentsIterator it_ac = accents.find(key);
+ if (it_ac == accents.end()) {
+ replace = sub.str(2);
+ }
+ else {
+ replace = it_ac->second;
+ }
+ }
+ if (lastpos < (size_t) sub.position(2))
+ add += addtmp.substr(lastpos, sub.position(2) - lastpos);
+ add += replace;
+ lastpos = sub.position(2) + sub.length(2);
+ }
+ if (lastpos == 0)
+ add = addtmp;
+ LYXERR(Debug::FIND, "Adding to search string: '"
+ << add << "'");
+ return add;
+}
static docstring stringifySearchBuffer(Buffer & buffer, FindAndReplaceOptions const & opt)
{
@@ -1113,19 +1149,17 @@ static docstring stringifySearchBuffer(Buffer & buffer, FindAndReplaceOptions co
if (ignoreFormats.getNonContent()) {
runparams.for_searchAdv |= OutputParams::SearchNonOutput;
}
+ string t("");
for (pos_type pit = pos_type(0); pit < (pos_type)buffer.paragraphs().size(); ++pit) {
Paragraph const & par = buffer.paragraphs().at(pit);
+ string add = latexNamesToUtf8(par.asString(pos_type(0), par.size(),
+ option,
+ &runparams));
LYXERR(Debug::FIND, "Adding to search string: '"
- << par.asString(pos_type(0), par.size(),
- option,
- &runparams)
- << "'");
- str += par.asString(pos_type(0), par.size(),
- option,
- &runparams);
+ << add << "'");
+ t += add;
}
// Even in ignore-format we have to remove "\text{}, \lyxmathsym{}" parts
- string t = to_utf8(str);
while (regex_replace(t, t, "\\\\(text|lyxmathsym|ensuremath)\\{([^\\}]*)\\}", "$2"));
str = from_utf8(t);
}
@@ -1911,7 +1945,7 @@ void Intervall::removeAccents()
buildAccentsMap();
static regex const accre("\\\\(([\\S]|grave|breve|ddot|dot|acute|dacute|mathring|check|hat|bar|tilde|subdot|ogonek|"
"cedilla|subring|textsubring|subhat|textsubcircum|subtilde|textsubtilde|dgrave|textdoublegrave|rcap|textroundcap|slashed)\\{[^\\{\\}]+\\}"
- "|((i|imath|jmath|cdot|[a-z]+space)|((backslash )?([lL]y[xX]|[tT]e[xX]|[lL]a[tT]e[xX]e?|lyxarrow))|(textquote|brace|guillemot)(left|right)|textasciicircum|mathcircumflex|sim)(?![a-zA-Z]))");
+ "|((i|imath|jmath|cdot|[a-z]+(space)?)|((backslash )?([lL]y[xX]|[tT]e[xX]|[lL]a[tT]e[xX]e?|lyxarrow))|(textquote|brace|guillemot)(left|right)|textasciicircum|mathcircumflex|sim)(?![a-zA-Z]))");
smatch sub;
for (sregex_iterator itacc(par.begin(), par.end(), accre), end; itacc != end; ++itacc) {
sub = *itacc;
@@ -3862,10 +3896,10 @@ docstring stringifyFromCursor(DocIterator const & cur, int len)
runparams.for_searchAdv |= OutputParams::SearchNonOutput;
}
LYXERR(Debug::FIND, "Stringifying with cur: "
- << cur << ", from pos: " << cur.pos() << ", end: " << end);
- return par.asString(cur.pos(), end,
- option,
- &runparams);
+ << cur << ", from pos: " << cur.pos() << ", end: " << end);
+ return from_utf8(latexNamesToUtf8(par.asString(cur.pos(), end,
+ option,
+ &runparams)));
} else if (cur.inMathed()) {
CursorSlice cs = cur.top();
MathData md = cs.cell();
@@ -3874,10 +3908,9 @@ docstring stringifyFromCursor(DocIterator const & cur, int len)
? md.end()
: md.begin() + cs.pos() + len );
MathData md2;
- for (MathData::const_iterator it = md.begin() + cs.pos();
- it != it_end; ++it)
+ for (MathData::const_iterator it = md.begin() + cs.pos(); it != it_end; ++it)
md2.push_back(*it);
- docstring s = asString(md2);
+ docstring s = from_utf8(latexNamesToUtf8(asString(md2)));
LYXERR(Debug::FIND, "Stringified math: '" << s << "'");
return s;
}
commit b67884448135114a46383b4ced18bdd7cc74743d
Author: Pavel Sanda <sanda at lyx.org>
Date: Sat Mar 26 11:58:49 2022 +0100
* RELEASE-NOTES
diff --git a/lib/RELEASE-NOTES b/lib/RELEASE-NOTES
index 7398553..97c740c 100644
--- a/lib/RELEASE-NOTES
+++ b/lib/RELEASE-NOTES
@@ -218,6 +218,8 @@
(or xsltproc) you can use configure parameter --without-saxon to avoid
installation of this library.
+* bash_completion script was updated for a newer syntax.
+
!!Known issues in version 2.4.0
commit b1db663d99255e2223530c84f53fbdadf2035dce
Author: Pavel Sanda <sanda at lyx.org>
Date: Sat Mar 26 11:16:38 2022 +0100
* bash_completion - outdated syntax
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1008257
diff --git a/lib/scripts/bash_completion b/lib/scripts/bash_completion
index 868884c..4d7b914 100644
--- a/lib/scripts/bash_completion
+++ b/lib/scripts/bash_completion
@@ -1,7 +1,7 @@
# lyx(1) completion
# Copyleft 2010 Cengiz Gunay <cengique at users.sf.net>
-have lyx &&
+_have lyx &&
_lyx()
{
local cur g last
@@ -65,5 +65,4 @@ _lyx()
# turn it off if necessary
test $g -eq 0 && shopt -u extglob
-}
-[ "${have:-}" ] && complete -F _lyx $filenames lyx
+} && complete -F _lyx $filenames lyx
commit 8380034203523ae8035015eb6d4c3f594e704126
Author: Kornel Benko <kornel at lyx.org>
Date: Fri Mar 25 23:00:59 2022 +0100
AdvFind: Adapt a testfile
Change [a-z]* to [a-z]+ . This omits finds of empty strings.
diff --git a/development/autotests/findadv-re-04-in.txt b/development/autotests/findadv-re-04-in.txt
index e18d5aa..ef7c08f 100644
--- a/development/autotests/findadv-re-04-in.txt
+++ b/development/autotests/findadv-re-04-in.txt
@@ -28,13 +28,13 @@ CO: >> findadv-re-04.ctrl
CN: Part 2
CP: Init key
TestBegin test.lyx -dbg key,find >> findadv-re-04.loga.txt 2>&1
-CN: Case insensitive, format not ignored [a-z]*
+CN: Case insensitive, format not ignored [a-z]+
KK: \CF
# Uncheck ignore format (depends on IT language)
KK: \At\Ai\Ah
KK: \CF
KK: \Ce
-KK: \C\[F20]\\b[a-z]*\\b\[Return]\[Return]\[Return]
+KK: \C\[F20]\\b[a-z]+\\b\[Return]\[Return]\[Return]
Cr: ^.*Putting
CP: Putting selection at .*idx: 0 par: 0 pos: 16\n with len: 3
Cr: ^.*Putting
@@ -47,12 +47,12 @@ CN: Part 3
CP: Init key
TestBegin test.lyx -dbg key,find >> findadv-re-04.loga.txt 2>&1
-CN: Case sensitive, format not ignored [a-z]*
+CN: Case sensitive, format not ignored [a-z]+
KK: \CF
KK: \At\Ai\Ah
KK: \CF
KK: \Ce
-KK: \Az\[Tab]\C\[F20][a-z]+\[Return]\[Return]\[Return]\[Return]
+KK: \Az\[Tab]\[Tab]\C\[F20][a-z]+\[Return]\[Return]\[Return]\[Return]
Cr: ^.*Putting
CP: Putting selection at .*idx: 0 par: 0 pos: 17\n with len: 2
Cr: ^.*Putting
@@ -74,7 +74,7 @@ KK: \CF
KK: \At\Ai\Ah
KK: \CF
KK: \Ce
-KK: \Az\[Tab]\C\[F20][A-Z]+\[Return]\[Return]\[Return]
+KK: \Az\[Tab]\[Tab]\C\[F20][A-Z]+\[Return]\[Return]\[Return]
Cr: ^.*Putting
CP: Putting selection at .*idx: 0 par: 0 pos: 16\n with len: 1
Cr: ^.*Putting
commit a537fc4ab18d28c86b8fa1848473397fb83ebb38
Author: Kornel Benko <kornel at lyx.org>
Date: Thu Mar 24 15:04:01 2022 +0100
Update sk.po
Correct some shortcuts
diff --git a/po/sk.po b/po/sk.po
index 077e8cd..73afca3 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: LyX-2.4\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2022-03-13 23:17+0100\n"
-"PO-Revision-Date: 2022-03-13 22:21+0000\n"
+"POT-Creation-Date: 2022-03-22 11:42+0100\n"
+"PO-Revision-Date: 2022-03-24 10:17+0000\n"
"Last-Translator: Kornel Benko <kornel at lyx.org>\n"
"Language-Team: Slovak <kornel at lyx.org>\n"
"Language: sk\n"
@@ -1583,7 +1583,7 @@ msgstr "Shift+Enter hľadať naspäť priamo"
#: src/frontends/qt/ui/FindAndReplaceUi.ui:140
msgid "Search &backwards"
-msgstr "Hľada&ť naspäť"
+msgstr "spätné v&yhľadávanie"
#: src/frontends/qt/ui/FindAndReplaceUi.ui:150
msgid "Restrict search to whole words only"
@@ -1600,7 +1600,7 @@ msgstr "DbaÅ¥ aj na veľkosÅ¥ pÃsmen"
#: src/frontends/qt/ui/FindAndReplaceUi.ui:163
msgid "Case &sensitive"
-msgstr "&Aâ a"
+msgstr "Ro&zlÃÅ¡ veľké/malé"
#: src/frontends/qt/ui/FindAndReplaceUi.ui:205
#: src/frontends/qt/FindAndReplace.cpp:648
@@ -2889,7 +2889,7 @@ msgstr "FiltrovaÅ¥ aj podľa veľkosti pÃsmen"
#: src/frontends/qt/ui/LyXFilesUi.ui:75 src/frontends/qt/ui/RefUi.ui:71
msgid "Case Sensiti&ve"
-msgstr "&Aâ a"
+msgstr "Ro&zlÃÅ¡ veľké/malé"
#: src/frontends/qt/ui/LyXFilesUi.ui:110
msgid "The available language(s) of the selected file will be displayed here"
@@ -5198,9 +5198,9 @@ msgstr "Nájdi Äalšà výskyt (Enter)"
msgid "Treat uppercase/lowercase writing as distinct"
msgstr "VeľkosÅ¥ pÃsmen je jednoznaÄná"
-#: src/frontends/qt/ui/SearchUi.ui:207 src/frontends/qt/GuiSearch.cpp:99
+#: src/frontends/qt/GuiSearch.cpp:100 src/frontends/qt/ui/SearchUi.ui:231
msgid "&Case sensitive[[search]]"
-msgstr "&Aâ a"
+msgstr "R&ozlÃÅ¡ veľké/malé"
#: src/frontends/qt/ui/SearchUi.ui:214
msgid "Match whole words only"
@@ -31550,7 +31550,7 @@ msgstr "Re&gulárny výraz"
#: src/frontends/qt/GuiCitation.cpp:110
msgid "Case se&nsitive"
-msgstr "&Aâ a"
+msgstr "Ro&zlÃÅ¡ veľké/malé"
#: src/frontends/qt/GuiCitation.cpp:112
msgid "Search as you &type"
commit 49c52d4c8e1cdfacee22bd55595ac53906538221
Author: Kornel Benko <kornel at lyx.org>
Date: Tue Mar 22 10:43:23 2022 +0100
Indentation
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 98c254d..025479e 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -3400,9 +3400,9 @@ void MatchStringAdv::CreateRegexp(FindAndReplaceOptions const & opt, string rege
balanced--;
if (balanced < 0)
break;
- }
- skip = 1;
}
+ skip = 1;
+ }
if (balanced != 0) {
regexIsValid = false;
regexError = "Unbalanced curly brackets in regexp \"" + regexp_str + "\"";
commit e6d998d33cea38fc917f7e604d8b6d6071070a34
Author: Kornel Benko <kornel at lyx.org>
Date: Sun Mar 20 11:33:12 2022 +0100
FindAdv: If possible use unicode instead of math command when searching
Wrong behaviour before this commit:
Open new lyx-file
insert
unicode-insert 0x025c 0x1d08
Open adv-find dialog
search for unicode 0x025c OK
search for unicode 0x1d08 OK
search with regex for unicode 0x025c OK
search with regex for unicode 0x1d08 ==> NOT OK (because we are searching for \textrevepsilon
and this was mapped to 0x025c
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index c187e10..98c254d 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -917,7 +917,7 @@ string escape_for_regex(string s, bool withformat)
if (lastpos == s.size())
break;
}
- size_t end_pos = s.find("\\endregexp{}}", regex_pos + 8);
+ size_t end_pos = s.find("\\endregexp{", regex_pos + 8);
result += correctRegex(s.substr(regex_pos + 8, end_pos -(regex_pos + 8)), withformat);
lastpos = end_pos + 13;
}
@@ -3519,6 +3519,7 @@ MatchStringAdv::MatchStringAdv(lyx::Buffer & buf, FindAndReplaceOptions & opt)
string lead_as_regexp;
if (lead_size > 0) {
lead_as_regexp = string2regex(par_as_string.substr(0, lead_size));
+ (void)regex_replace(par_as_string_nolead, par_as_string_nolead, "\\$$", "");
(void)regex_replace(par_as_string_nolead, par_as_string_nolead, "}$", "");
par_as_string = par_as_string_nolead;
LYXERR(Debug::FIND, "lead_as_regexp is '" << lead_as_regexp << "'");
diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp
index 8b63c73..805f84c 100644
--- a/src/mathed/InsetMathHull.cpp
+++ b/src/mathed/InsetMathHull.cpp
@@ -2357,12 +2357,19 @@ int InsetMathHull::plaintext(odocstringstream & os,
odocstringstream oss;
otexrowstream ots(oss);
Encoding const * const enc = encodings.fromLyXName("utf8");
- TeXMathStream wi(ots, false, true, TeXMathStream::wsDefault, enc);
+ TeXMathStream::OutputType ot;
+ if (op.for_searchAdv == OutputParams::NoSearch)
+ ot = TeXMathStream::wsDefault;
+ else
+ ot = TeXMathStream::wsSearchAdv;
// Fix Bug #6139
- if (type_ == hullRegexp)
+ if (type_ == hullRegexp) {
+ TeXMathStream wi(ots, false, true, ot, enc);
write(wi);
+ }
else {
+ TeXMathStream wi(ots, false, true, ot, enc);
for (row_type r = 0; r < nrows(); ++r) {
for (col_type c = 0; c < ncols(); ++c)
wi << (c == 0 ? "" : "\t") << cell(index(r, c));
diff --git a/src/mathed/InsetMathNest.cpp b/src/mathed/InsetMathNest.cpp
index 7241e0b..4f21924 100644
--- a/src/mathed/InsetMathNest.cpp
+++ b/src/mathed/InsetMathNest.cpp
@@ -358,8 +358,14 @@ void InsetMathNest::normalize(NormalStream & os) const
void InsetMathNest::latex(otexstream & os, OutputParams const & runparams) const
{
- TeXMathStream wi(os, runparams.moving_arg, true,
- runparams.dryrun ? TeXMathStream::wsDryrun : TeXMathStream::wsDefault,
+ TeXMathStream::OutputType ot;
+ if (runparams.for_searchAdv != OutputParams::NoSearch)
+ ot = TeXMathStream::wsSearchAdv;
+ else if (runparams.dryrun)
+ ot = TeXMathStream::wsDryrun;
+ else
+ ot = TeXMathStream::wsDefault;
+ TeXMathStream wi(os, runparams.moving_arg, true, ot,
runparams.encoding);
wi.strikeoutMath(runparams.inDeletedInset);
if (runparams.inulemcmd) {
diff --git a/src/mathed/MathExtern.cpp b/src/mathed/MathExtern.cpp
index 5c182c7..527543a 100644
--- a/src/mathed/MathExtern.cpp
+++ b/src/mathed/MathExtern.cpp
@@ -1425,6 +1425,10 @@ void writeString(docstring const & s, TeXMathStream & os)
os << (os.asciiOnly() ? escape(s) : s);
return;
}
+ else if (os.output() == TeXMathStream::wsSearchAdv) {
+ os << s;
+ return;
+ }
if (os.lockedMode()) {
bool space;
diff --git a/src/mathed/MathStream.h b/src/mathed/MathStream.h
index d6a35c5..6d0399e 100644
--- a/src/mathed/MathStream.h
+++ b/src/mathed/MathStream.h
@@ -38,7 +38,8 @@ public:
enum OutputType {
wsDefault,
wsDryrun,
- wsPreview
+ wsPreview,
+ wsSearchAdv
};
///
enum UlemCmdType {
commit 32de59d84a066f0a00f4a80fc9377e9d45ccea2c
Author: jpc <jpc at lyx.org>
Date: Thu Mar 17 18:26:00 2022 +0100
Update fr.po
diff --git a/po/fr.gmo b/po/fr.gmo
index 5c127d1..59bfefa 100644
Binary files a/po/fr.gmo and b/po/fr.gmo differ
diff --git a/po/fr.po b/po/fr.po
index 8c48613..4862d8e 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -362,8 +362,8 @@ msgid ""
msgstr ""
"Project-Id-Version: LyX 2.4\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2022-02-20 10:02+0100\n"
-"PO-Revision-Date: 2022-02-20 10:06+0100\n"
+"POT-Creation-Date: 2022-03-17 18:13+0100\n"
+"PO-Revision-Date: 2022-03-17 18:23+0100\n"
"Last-Translator: Jean-Pierre Chrétien <jeanpierre.chretien at free.fr>\n"
"Language-Team: lyxfr\n"
"Language: fr\n"
@@ -3970,10 +3970,10 @@ msgstr "Double"
#: src/frontends/qt/GuiHSpace.cpp:57 src/frontends/qt/GuiPrefs.cpp:816
#: src/frontends/qt/GuiPrefs.cpp:844 src/frontends/qt/GuiPrefs.cpp:871
#: src/frontends/qt/GuiPrefs.cpp:2329 src/frontends/qt/GuiPrefs.cpp:2352
-#: src/frontends/qt/GuiPrintNomencl.cpp:51 src/insets/InsetInfo.cpp:236
-#: src/insets/InsetInfo.cpp:246 src/insets/InsetInfo.cpp:250
-#: src/insets/InsetInfo.cpp:259 src/insets/InsetInfo.cpp:321
-#: src/insets/InsetInfo.cpp:343
+#: src/frontends/qt/GuiPrintNomencl.cpp:51 src/insets/InsetInfo.cpp:237
+#: src/insets/InsetInfo.cpp:247 src/insets/InsetInfo.cpp:251
+#: src/insets/InsetInfo.cpp:260 src/insets/InsetInfo.cpp:322
+#: src/insets/InsetInfo.cpp:344
msgid "Custom"
msgstr "Réglable"
@@ -4751,7 +4751,7 @@ msgstr "Ac&tiver"
msgid "Ctrl"
msgstr "Ctrl"
-#: src/frontends/qt/ui/PrefInputUi.ui:249 src/insets/InsetInfo.cpp:863
+#: src/frontends/qt/ui/PrefInputUi.ui:249 src/insets/InsetInfo.cpp:892
msgid "Shift"
msgstr "Maj"
@@ -6662,7 +6662,7 @@ msgid "Footnote"
msgstr "Note de bas de page"
#: lib/citeengines/biblatex-natbib.citeengine:144
-#: lib/citeengines/biblatex.citeengine:134
+#: lib/citeengines/biblatex.citeengine:134 lib/layouts/stdinsets.inc:51
msgid "Foot"
msgstr "Bas de page"
@@ -7702,7 +7702,7 @@ msgstr "Transactions IEEE"
#: lib/layouts/scrlttr2.layout:19 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:688 lib/layouts/stdletter.inc:12
+#: lib/layouts/stdinsets.inc:689 lib/layouts/stdletter.inc:12
#: lib/layouts/svcommon.inc:26 lib/layouts/tufte-book.layout:35
#: src/insets/InsetRef.cpp:599
msgid "Standard"
@@ -7775,7 +7775,7 @@ msgstr "minuscules"
#: lib/layouts/siamltex.layout:222 lib/layouts/sigplanconf.layout:150
#: lib/layouts/stdtitle.inc:37 lib/layouts/svcommon.inc:370
#: lib/layouts/svmult.layout:89 lib/layouts/svprobth.layout:93
-#: lib/layouts/tufte-book.layout:55 src/insets/InsetInfo.cpp:283
+#: lib/layouts/tufte-book.layout:55 src/insets/InsetInfo.cpp:284
msgid "Author"
msgstr "Auteur"
@@ -8337,7 +8337,7 @@ msgstr "SousSousSection"
#: lib/layouts/scrclass.inc:240 lib/layouts/scrlettr.layout:203
#: lib/layouts/scrlttr2.layout:322 lib/layouts/siamltex.layout:246
#: lib/layouts/stdtitle.inc:62 lib/layouts/svcommon.inc:406
-#: lib/layouts/tufte-book.layout:60 src/insets/InsetInfo.cpp:284
+#: lib/layouts/tufte-book.layout:60 src/insets/InsetInfo.cpp:285
msgid "Date"
msgstr "Date"
@@ -8784,7 +8784,7 @@ msgstr "American Chemical Society (ACS)"
#: lib/layouts/scrclass.inc:142 lib/layouts/scrclass.inc:155
#: lib/layouts/scrclass.inc:168 lib/layouts/scrclass.inc:324
#: lib/layouts/scrclass.inc:349 lib/layouts/siamltex.layout:206
-#: lib/layouts/simplecv.layout:52 lib/layouts/stdinsets.inc:695
+#: lib/layouts/simplecv.layout:52 lib/layouts/stdinsets.inc:696
#: lib/layouts/stdsections.inc:32 lib/layouts/stdsections.inc:76
#: lib/layouts/stdsections.inc:117 lib/layouts/tufte-book.layout:98
#: lib/layouts/tufte-book.layout:129 lib/layouts/tufte-handout.layout:40
@@ -9780,7 +9780,7 @@ msgstr "Section-spéciale*"
#: lib/layouts/amsart.layout:98 lib/layouts/beamer.layout:336
#: lib/layouts/beamer.layout:398 lib/layouts/beamer.layout:460
-#: lib/layouts/memoir.layout:248 lib/layouts/stdinsets.inc:713
+#: lib/layouts/memoir.layout:248 lib/layouts/stdinsets.inc:714
#: lib/layouts/stdstarsections.inc:15 lib/layouts/stdstarsections.inc:30
#: lib/layouts/stdstarsections.inc:45 lib/layouts/stdstarsections.inc:60
#: lib/layouts/stdstarsections.inc:75 lib/layouts/stdstarsections.inc:90
@@ -10000,13 +10000,13 @@ msgid "Centered"
msgstr "Centré"
#: lib/layouts/apa.layout:285 lib/layouts/apax.inc:384
-#: lib/layouts/stdinsets.inc:689 src/insets/InsetCaption.cpp:436
+#: lib/layouts/stdinsets.inc:690 src/insets/InsetCaption.cpp:436
msgid "standard"
msgstr "standard"
#: lib/layouts/apa.layout:292 lib/layouts/apax.inc:391
#: lib/layouts/scrclass.inc:325 lib/layouts/scrclass.inc:350
-#: lib/layouts/stdinsets.inc:696
+#: lib/layouts/stdinsets.inc:697
msgid "The caption as it appears in the list of figures/tables"
msgstr "La légende telle qu'elle apparaîtra dans la liste des figures/tableaux"
@@ -17384,10 +17384,6 @@ msgstr "Listings"
msgid "Margin"
msgstr "Marge"
-#: lib/layouts/stdinsets.inc:51
-msgid "foot"
-msgstr "bas"
-
#: lib/layouts/stdinsets.inc:177
msgid "Greyedout"
msgstr "Grisée"
@@ -17418,23 +17414,23 @@ msgstr "Idx"
msgid "Argument"
msgstr "Argument"
-#: lib/layouts/stdinsets.inc:715
+#: lib/layouts/stdinsets.inc:716
msgid "unlabelled"
msgstr "sans étiquette"
-#: lib/layouts/stdinsets.inc:722
+#: lib/layouts/stdinsets.inc:723
msgid "Preview"
msgstr "Aperçu"
-#: lib/layouts/stdinsets.inc:756 lib/layouts/stdinsets.inc:764
+#: lib/layouts/stdinsets.inc:757 lib/layouts/stdinsets.inc:765
msgid "see equation[[nomencl]]"
msgstr "voir équation"
-#: lib/layouts/stdinsets.inc:757 lib/layouts/stdinsets.inc:765
+#: lib/layouts/stdinsets.inc:758 lib/layouts/stdinsets.inc:766
msgid "page[[nomencl]]"
msgstr "page"
-#: lib/layouts/stdinsets.inc:758 lib/layouts/stdinsets.inc:766
+#: lib/layouts/stdinsets.inc:759 lib/layouts/stdinsets.inc:767
msgid "Nomenclature[[output]]"
msgstr "Liste des symboles"
@@ -19963,7 +19959,7 @@ msgid "Cut"
msgstr "Couper"
#: lib/ui/stdcontext.inc:62 lib/ui/stdcontext.inc:376 lib/ui/stdmenus.inc:109
-#: lib/ui/stdtoolbars.inc:87 src/BufferView.cpp:2269
+#: lib/ui/stdtoolbars.inc:87 src/BufferView.cpp:2270
msgid "Copy"
msgstr "Copier"
@@ -22149,16 +22145,16 @@ msgid "Toggle right line"
msgstr "(Dés)Activer la bordure droite"
#: lib/ui/stdtoolbars.inc:167
-msgid "Set border lines"
-msgstr "Mettre les bordures"
+msgid "Toggle border lines"
+msgstr "(Dés)activer les bordures"
#: lib/ui/stdtoolbars.inc:168
-msgid "Set all lines"
-msgstr "Mettre toutes les bordures"
+msgid "Toggle inner lines"
+msgstr "(Dés)activer les filets intérieurs"
#: lib/ui/stdtoolbars.inc:169
-msgid "Set inner lines"
-msgstr "Mettre les bordures"
+msgid "Toggle all lines"
+msgstr "(Dés)activer tous le filets"
#: lib/ui/stdtoolbars.inc:170
msgid "Unset all lines"
@@ -27846,7 +27842,7 @@ msgstr "échec conversion iconv"
msgid "conversion failed"
msgstr "échec conversion"
-#: src/Buffer.cpp:1917 src/insets/InsetGraphics.cpp:905
+#: src/Buffer.cpp:1917 src/insets/InsetGraphics.cpp:919
msgid "Uncodable character in file path"
msgstr "Caractère incodable dans le chemin d'accès au fichier"
@@ -27953,13 +27949,13 @@ msgid "Error viewing the output file."
msgstr "Erreur lors de l'affichage du fichier imprimable."
#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2706
-#: src/frontends/qt/Validator.cpp:241 src/insets/ExternalSupport.cpp:394
-#: src/insets/InsetGraphics.cpp:692 src/insets/InsetInclude.cpp:606
+#: src/frontends/qt/Validator.cpp:245 src/insets/ExternalSupport.cpp:394
+#: src/insets/InsetGraphics.cpp:693 src/insets/InsetInclude.cpp:606
msgid "Invalid filename"
msgstr "Nom de fichier invalide"
#: src/Buffer.cpp:3371 src/insets/ExternalSupport.cpp:395
-#: src/insets/InsetGraphics.cpp:693 src/insets/InsetInclude.cpp:607
+#: src/insets/InsetGraphics.cpp:694 src/insets/InsetInclude.cpp:607
msgid ""
"The following filename will cause troubles when running the exported file "
"through LaTeX: "
@@ -27968,12 +27964,12 @@ msgstr ""
"exporté sera traité avec LaTeX : "
#: src/Buffer.cpp:3376 src/insets/ExternalSupport.cpp:400
-#: src/insets/InsetGraphics.cpp:700 src/insets/InsetInclude.cpp:611
+#: src/insets/InsetGraphics.cpp:701 src/insets/InsetInclude.cpp:611
msgid "Problematic filename for DVI"
msgstr "Nom de fichier problématique pour DVI"
#: src/Buffer.cpp:3377 src/insets/ExternalSupport.cpp:401
-#: src/insets/InsetGraphics.cpp:701 src/insets/InsetInclude.cpp:612
+#: src/insets/InsetGraphics.cpp:702 src/insets/InsetInclude.cpp:612
msgid ""
"The following filename can cause troubles when running the exported file "
"through LaTeX and opening the resulting DVI: "
@@ -28205,16 +28201,16 @@ msgstr ""
"original %1$s est en lecture seule. Il faudra sauvegarder le document sous "
"un autre nom."
-#: src/Buffer.cpp:5206 src/insets/InsetCaption.cpp:404
+#: src/Buffer.cpp:5213 src/insets/InsetCaption.cpp:404
msgid "Senseless!!! "
msgstr "Inapproprié !!! "
-#: src/Buffer.cpp:5470
+#: src/Buffer.cpp:5477
#, c-format
msgid "Document %1$s reloaded."
msgstr "Document %1$s rechargé."
-#: src/Buffer.cpp:5473
+#: src/Buffer.cpp:5480
#, c-format
msgid "Could not reload document %1$s."
msgstr "Impossible de recharger le document %1$s."
@@ -28338,7 +28334,7 @@ msgstr "texte d'insert grisé"
#: src/frontends/qt/LaTeXHighlighter.cpp:143
#: src/frontends/qt/LaTeXHighlighter.cpp:257
#: src/insets/InsetCommandParams.cpp:508 src/insets/InsetCommandParams.cpp:516
-#: src/insets/InsetGraphics.cpp:886 src/insets/InsetGraphics.cpp:894
+#: src/insets/InsetGraphics.cpp:900 src/insets/InsetGraphics.cpp:908
#: src/insets/InsetListings.cpp:299 src/insets/InsetListings.cpp:307
#: src/insets/InsetListings.cpp:332 src/mathed/MathExtern.cpp:1440
#: src/mathed/MathExtern.cpp:1514
@@ -28348,7 +28344,7 @@ msgstr "Avertissement LyX : "
#: src/BufferParams.cpp:1719 src/BufferParams.cpp:1873
#: src/BufferParams.cpp:2316 src/Encoding.cpp:265 src/Paragraph.cpp:3015
#: src/insets/InsetCommandParams.cpp:509 src/insets/InsetCommandParams.cpp:517
-#: src/insets/InsetGraphics.cpp:887 src/insets/InsetGraphics.cpp:895
+#: src/insets/InsetGraphics.cpp:901 src/insets/InsetGraphics.cpp:909
#: src/insets/InsetListings.cpp:300 src/insets/InsetListings.cpp:308
#: src/mathed/MathExtern.cpp:1441 src/mathed/MathExtern.cpp:1515
msgid "uncodable character"
@@ -28529,7 +28525,7 @@ msgstr "Le document a été modifié par une application externe"
msgid "This portion of the document is deleted."
msgstr "Cette portion du document est supprimée."
-#: src/BufferView.cpp:1191 src/BufferView.cpp:2254
+#: src/BufferView.cpp:1191 src/BufferView.cpp:2255
#: src/frontends/qt/GuiView.cpp:4296 src/frontends/qt/GuiView.cpp:4384
msgid "Absolute filename expected."
msgstr "Chemin absolu requis."
@@ -28606,7 +28602,7 @@ msgstr "Un caractère (espaces exclus)"
msgid "Statistics"
msgstr "Statistiques"
-#: src/BufferView.cpp:2112
+#: src/BufferView.cpp:2113
#, c-format
msgid ""
"`inset-forall' interrupted because number of actions is larger than %1$d"
@@ -28614,35 +28610,35 @@ msgstr ""
"Interruption de « inset-forall » du fait d'un nombre d'actions supérieur à "
"%1$d"
-#: src/BufferView.cpp:2114
+#: src/BufferView.cpp:2115
#, c-format
msgid "Applied \"%1$s\" to %2$d insets"
msgstr "\"%1$s\" appliqué à %2$d inserts"
-#: src/BufferView.cpp:2122
+#: src/BufferView.cpp:2123
msgid "Branch name"
msgstr "Nom de la branche"
-#: src/BufferView.cpp:2129 src/frontends/qt/GuiBranches.cpp:225
+#: src/BufferView.cpp:2130 src/frontends/qt/GuiBranches.cpp:225
msgid "Branch already exists"
msgstr "La branche existe déjà "
-#: src/BufferView.cpp:3056
+#: src/BufferView.cpp:3057
#, c-format
msgid "Inserting document %1$s..."
msgstr "Insertion du document %1$s..."
-#: src/BufferView.cpp:3072
+#: src/BufferView.cpp:3073
#, c-format
msgid "Document %1$s inserted."
msgstr "Document %1$s inséré."
-#: src/BufferView.cpp:3074
+#: src/BufferView.cpp:3075
#, c-format
msgid "Could not insert document %1$s"
msgstr "Impossible d'insérer le document %1$s"
-#: src/BufferView.cpp:3569
+#: src/BufferView.cpp:3570
#, c-format
msgid ""
"Could not read the specified document\n"
@@ -28653,11 +28649,11 @@ msgstr ""
"%1$s\n"
"Ã cause de l'erreur : %2$s"
-#: src/BufferView.cpp:3571
+#: src/BufferView.cpp:3572
msgid "Could not read file"
msgstr "Lecture du fichier impossible"
-#: src/BufferView.cpp:3578
+#: src/BufferView.cpp:3579
#, c-format
msgid ""
"%1$s\n"
@@ -28666,17 +28662,17 @@ msgstr ""
"%1$s\n"
"est illisible."
-#: src/BufferView.cpp:3579 src/frontends/qt/qt_helpers.cpp:311
-#: src/frontends/qt/qt_helpers.cpp:314 src/frontends/qt/qt_helpers.cpp:320
+#: src/BufferView.cpp:3580 src/frontends/qt/qt_helpers.cpp:322
+#: src/frontends/qt/qt_helpers.cpp:325 src/frontends/qt/qt_helpers.cpp:331
#: src/output.cpp:39
msgid "Could not open file"
msgstr "Ouverture du fichier impossible"
-#: src/BufferView.cpp:3586
+#: src/BufferView.cpp:3587
msgid "Reading not UTF-8 encoded file"
msgstr "Lecture d'un fichier non encodé en UTF-8"
-#: src/BufferView.cpp:3587
+#: src/BufferView.cpp:3588
msgid ""
"The file is not UTF-8 encoded.\n"
"It will be read as local 8Bit-encoded.\n"
@@ -30765,11 +30761,11 @@ msgstr ""
msgid "Unknown Inset"
msgstr "Insert inconnu"
-#: src/Text.cpp:554 src/insets/InsetTabular.cpp:473
+#: src/Text.cpp:554 src/insets/InsetTabular.cpp:476
msgid "Change tracking author index missing"
msgstr "Index d'auteur de suivi des modifications manquant"
-#: src/Text.cpp:555 src/insets/InsetTabular.cpp:474
+#: src/Text.cpp:555 src/insets/InsetTabular.cpp:477
#, c-format
msgid ""
"A change tracking author information for index %1$d is missing. This can "
@@ -30889,7 +30885,7 @@ msgstr " inconnu"
msgid "Table Style "
msgstr "Style de tableau "
-#: src/Text3.cpp:2385 src/frontends/qt/GuiApplication.cpp:1873
+#: src/Text3.cpp:2385 src/frontends/qt/GuiApplication.cpp:1887
msgid "Missing argument"
msgstr "Paramètre manquant"
@@ -31298,15 +31294,15 @@ msgstr ""
#: src/VCBackend.cpp:1522 src/VCBackend.cpp:1526
#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1895
-#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:351
-#: src/lyxfind.cpp:694 src/lyxfind.cpp:722
+#: src/lyxfind.cpp:310 src/lyxfind.cpp:337 src/lyxfind.cpp:358
+#: src/lyxfind.cpp:701 src/lyxfind.cpp:729
msgid "&Yes"
msgstr "&Oui"
#: src/VCBackend.cpp:1522 src/VCBackend.cpp:1526
#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1895
-#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:351
-#: src/lyxfind.cpp:694 src/lyxfind.cpp:722
+#: src/lyxfind.cpp:310 src/lyxfind.cpp:337 src/lyxfind.cpp:358
+#: src/lyxfind.cpp:701 src/lyxfind.cpp:729
msgid "&No"
msgstr "&Non"
@@ -31439,7 +31435,7 @@ msgid "Dings 4"
msgstr "Dings 4"
#: src/frontends/qt/ButtonController.cpp:222
-#: src/frontends/qt/GuiApplication.cpp:1997 src/frontends/qt/GuiCompare.cpp:193
+#: src/frontends/qt/GuiApplication.cpp:2011 src/frontends/qt/GuiCompare.cpp:193
#: src/frontends/qt/GuiSymbols.cpp:346
msgid "Cancel"
msgstr "Annuler"
@@ -31511,8 +31507,8 @@ msgstr "Recherche avancée en cours (appuyer sur ESC pour annuler) . . ."
msgid "Advanced search cancelled by user"
msgstr "Recherche avancée annulée par l'utilisateur"
-#: src/frontends/qt/FindAndReplace.cpp:380 src/lyxfind.cpp:350
-#: src/lyxfind.cpp:693 src/lyxfind.cpp:721
+#: src/frontends/qt/FindAndReplace.cpp:380 src/lyxfind.cpp:357
+#: src/lyxfind.cpp:700 src/lyxfind.cpp:728
msgid "Wrap search?"
msgstr "Recherche récursive ?"
@@ -31663,89 +31659,89 @@ msgstr "Python détecté : %1$s"
msgid "About LyX"
msgstr "Ã propos de LyX"
-#: src/frontends/qt/GuiApplication.cpp:736
+#: src/frontends/qt/GuiApplication.cpp:750
msgid "About %1"
msgstr "Ã propos de %1"
-#: src/frontends/qt/GuiApplication.cpp:737 src/frontends/qt/GuiPrefs.cpp:3528
+#: src/frontends/qt/GuiApplication.cpp:751 src/frontends/qt/GuiPrefs.cpp:3528
msgid "Preferences"
msgstr "Préférences"
-#: src/frontends/qt/GuiApplication.cpp:738
+#: src/frontends/qt/GuiApplication.cpp:752
msgid "Reconfigure"
msgstr "Reconfigurer"
-#: src/frontends/qt/GuiApplication.cpp:739
+#: src/frontends/qt/GuiApplication.cpp:753
msgid "Restore Defaults"
msgstr "Restaurer le réglage implicite"
-#: src/frontends/qt/GuiApplication.cpp:740
+#: src/frontends/qt/GuiApplication.cpp:754
msgid "Quit %1"
msgstr "Quitter %1"
-#: src/frontends/qt/GuiApplication.cpp:741 src/frontends/qt/GuiInclude.cpp:318
+#: src/frontends/qt/GuiApplication.cpp:755 src/frontends/qt/GuiInclude.cpp:318
#: src/frontends/qt/GuiInclude.cpp:328 src/frontends/qt/GuiInclude.cpp:333
msgid "&OK"
msgstr "&OK"
-#: src/frontends/qt/GuiApplication.cpp:743
+#: src/frontends/qt/GuiApplication.cpp:757
msgid "Apply"
msgstr "Appliquer"
-#: src/frontends/qt/GuiApplication.cpp:744
+#: src/frontends/qt/GuiApplication.cpp:758
msgid "Reset"
msgstr "RÃ Z"
-#: src/frontends/qt/GuiApplication.cpp:745
+#: src/frontends/qt/GuiApplication.cpp:759
msgid "Open"
msgstr "Ouvir"
-#: src/frontends/qt/GuiApplication.cpp:1270
+#: src/frontends/qt/GuiApplication.cpp:1284
msgid "Nothing to do"
msgstr "Rien à faire"
-#: src/frontends/qt/GuiApplication.cpp:1276
+#: src/frontends/qt/GuiApplication.cpp:1290
msgid "Unknown action"
msgstr "Action inconnue"
-#: src/frontends/qt/GuiApplication.cpp:1320
+#: src/frontends/qt/GuiApplication.cpp:1334
msgid "Command not handled"
msgstr "Commande non gérée"
-#: src/frontends/qt/GuiApplication.cpp:1326
+#: src/frontends/qt/GuiApplication.cpp:1340
msgid "Command disabled"
msgstr "Commande désactivée"
-#: src/frontends/qt/GuiApplication.cpp:1434
+#: src/frontends/qt/GuiApplication.cpp:1448
#, c-format
msgid "Bad debug value `%1$s'."
msgstr "Valeur de débogage incorrecte « %1$s »."
-#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2214
+#: src/frontends/qt/GuiApplication.cpp:1477 src/frontends/qt/GuiView.cpp:2214
msgid "Command not allowed without a buffer open"
msgstr "Commande non autorisée si aucun tampon n'est ouvert"
-#: src/frontends/qt/GuiApplication.cpp:1470
+#: src/frontends/qt/GuiApplication.cpp:1484
msgid "the <LFUN-COMMAND> argument of buffer-forall is not valid"
msgstr "l'argument <LFUN-COMMAND> de buffer-forall est invalide"
-#: src/frontends/qt/GuiApplication.cpp:1547
+#: src/frontends/qt/GuiApplication.cpp:1561
msgid "Wrong focus!"
msgstr "Mauvaise cible !"
-#: src/frontends/qt/GuiApplication.cpp:1681
+#: src/frontends/qt/GuiApplication.cpp:1695
msgid "Running configure..."
msgstr "Lancement de configure..."
-#: src/frontends/qt/GuiApplication.cpp:1691
+#: src/frontends/qt/GuiApplication.cpp:1705
msgid "Reloading configuration..."
msgstr "Rechargement de la configuration..."
-#: src/frontends/qt/GuiApplication.cpp:1701
+#: src/frontends/qt/GuiApplication.cpp:1715
msgid "System reconfiguration failed"
msgstr "Ãchec de la reconfiguration"
-#: src/frontends/qt/GuiApplication.cpp:1702
+#: src/frontends/qt/GuiApplication.cpp:1716
msgid ""
"The system reconfiguration has failed.\n"
"Default textclass is used but LyX may\n"
@@ -31757,11 +31753,11 @@ msgstr ""
"ne pourra peut-être pas fonctionner correctement.\n"
"Merci de reconfigurer de nouveau si c'est le cas."
-#: src/frontends/qt/GuiApplication.cpp:1707
+#: src/frontends/qt/GuiApplication.cpp:1721
msgid "System reconfigured"
msgstr "Système reconfiguré"
-#: src/frontends/qt/GuiApplication.cpp:1708
+#: src/frontends/qt/GuiApplication.cpp:1722
msgid ""
"The system has been reconfigured.\n"
"You need to restart LyX to make use of any\n"
@@ -31771,59 +31767,59 @@ msgstr ""
"Il faut redémarrer LyX pour utiliser\n"
"les classes de document mises à jour."
-#: src/frontends/qt/GuiApplication.cpp:1789
+#: src/frontends/qt/GuiApplication.cpp:1803
msgid "Exiting."
msgstr "Quitte."
-#: src/frontends/qt/GuiApplication.cpp:1885
+#: src/frontends/qt/GuiApplication.cpp:1899
#, c-format
msgid "Opening help file %1$s..."
msgstr "Ouverture du fichier d'aide %1$s..."
-#: src/frontends/qt/GuiApplication.cpp:1905
+#: src/frontends/qt/GuiApplication.cpp:1919
msgid "Wrong argument. Must be 'examples' or 'templates'."
msgstr "Argument incorrect . Doit être 'examples' ou 'templates'."
-#: src/frontends/qt/GuiApplication.cpp:1919
+#: src/frontends/qt/GuiApplication.cpp:1933
msgid "Syntax: set-color <lyx_name> <x11_name> <x11_darkname>"
msgstr "Syntaxe : set-color <nom_lyx> <nom_x11> <nom-inversé_x11"
-#: src/frontends/qt/GuiApplication.cpp:1939
+#: src/frontends/qt/GuiApplication.cpp:1953
#, c-format
msgid "Set-color \"%1$s\" failed - color is undefined or may not be redefined"
msgstr ""
"Set-color « %1$s » a échoué - la couleur n'est pas définie ou ne peut pas "
"être redéfinie"
-#: src/frontends/qt/GuiApplication.cpp:2044
+#: src/frontends/qt/GuiApplication.cpp:2058
#, c-format
msgid "Cannot iterate more than %1$d times"
msgstr "Impossible d'itérer plus de %1$d fois"
-#: src/frontends/qt/GuiApplication.cpp:2144
+#: src/frontends/qt/GuiApplication.cpp:2158
#, c-format
msgid "Applied \"%1$s\" to %2$d buffer(s)"
msgstr "\"%1$s\" appliqué à %2$d tampon(s)"
-#: src/frontends/qt/GuiApplication.cpp:2230
+#: src/frontends/qt/GuiApplication.cpp:2244
#, c-format
msgid "Document defaults saved in %1$s"
msgstr "Les valeurs implicites du document ont été enregistrées dans %1$s"
-#: src/frontends/qt/GuiApplication.cpp:2234
+#: src/frontends/qt/GuiApplication.cpp:2248
msgid "Unable to save document defaults"
msgstr "Impossible d'enregistrer les valeurs implicites du document"
-#: src/frontends/qt/GuiApplication.cpp:2474
-#: src/frontends/qt/GuiApplication.cpp:2489
+#: src/frontends/qt/GuiApplication.cpp:2488
+#: src/frontends/qt/GuiApplication.cpp:2503
msgid "Unknown function."
msgstr "Fonction inconnue."
-#: src/frontends/qt/GuiApplication.cpp:3024
+#: src/frontends/qt/GuiApplication.cpp:3038
msgid "The current document was closed."
msgstr "Le document courant était fermé."
-#: src/frontends/qt/GuiApplication.cpp:3034
+#: src/frontends/qt/GuiApplication.cpp:3048
msgid ""
"LyX has caught an exception, it will now attempt to save all unsaved "
"documents and exit.\n"
@@ -31835,12 +31831,12 @@ msgstr ""
"\n"
"Exception : "
-#: src/frontends/qt/GuiApplication.cpp:3038
-#: src/frontends/qt/GuiApplication.cpp:3044
+#: src/frontends/qt/GuiApplication.cpp:3052
+#: src/frontends/qt/GuiApplication.cpp:3058
msgid "Software exception Detected"
msgstr "Détection d'une exception logicielle"
-#: src/frontends/qt/GuiApplication.cpp:3042
+#: src/frontends/qt/GuiApplication.cpp:3056
msgid ""
"LyX has caught some really weird exception, it will now attempt to save all "
"unsaved documents and exit."
@@ -31848,12 +31844,12 @@ msgstr ""
"LyX a reçu une exception vraiment sérieuse, il va maintenant essayer "
"d'enregistrer tous les documents en cours de modification avant de quitter."
-#: src/frontends/qt/GuiApplication.cpp:3348
-#: src/frontends/qt/GuiApplication.cpp:3360
+#: src/frontends/qt/GuiApplication.cpp:3362
+#: src/frontends/qt/GuiApplication.cpp:3374
msgid "Could not find UI definition file"
msgstr "Fichier descriptif d'interface utilisateur introuvable"
-#: src/frontends/qt/GuiApplication.cpp:3349
+#: src/frontends/qt/GuiApplication.cpp:3363
#, c-format
msgid ""
"Error while reading the included file\n"
@@ -31864,11 +31860,11 @@ msgstr ""
"%1$s.\n"
"Veuillez vérifier votre installation."
-#: src/frontends/qt/GuiApplication.cpp:3355
+#: src/frontends/qt/GuiApplication.cpp:3369
msgid "Could not find default UI file"
msgstr "Fichier interface utilisateur implicite introuvable"
-#: src/frontends/qt/GuiApplication.cpp:3356
+#: src/frontends/qt/GuiApplication.cpp:3370
msgid ""
"LyX could not find the default UI file!\n"
"Please check your installation."
@@ -31876,7 +31872,7 @@ msgstr ""
"LyX n'a pu trouver le fichier interface utilisateur implicite !\n"
"Veuillez vérifier votre installation."
-#: src/frontends/qt/GuiApplication.cpp:3361
+#: src/frontends/qt/GuiApplication.cpp:3375
#, c-format
msgid ""
"Error while reading the configuration file\n"
@@ -35702,11 +35698,11 @@ msgstr "Mettre à jour %1$s"
msgid "View %1$s"
msgstr "Visionner %1$s"
-#: src/frontends/qt/Validator.cpp:214
+#: src/frontends/qt/Validator.cpp:218
msgid "space"
msgstr "espace"
-#: src/frontends/qt/Validator.cpp:242
+#: src/frontends/qt/Validator.cpp:246
msgid ""
"LyX does not provide LaTeX support for file names containing any of these "
"characters:\n"
@@ -35714,48 +35710,48 @@ msgstr ""
"LyX ne fournit pas de support LaTeX pour les noms de fichier contenant l'un "
"de ces caractères :\n"
-#: src/frontends/qt/qt_helpers.cpp:280
+#: src/frontends/qt/qt_helpers.cpp:291
msgid "Invalid URL"
msgstr "URL invalide"
-#: src/frontends/qt/qt_helpers.cpp:281
+#: src/frontends/qt/qt_helpers.cpp:292
#, c-format
msgid "The URL `%1$s' could not be resolved."
msgstr "L'URL « %1$s » n'a pas pu être résolu."
-#: src/frontends/qt/qt_helpers.cpp:287
+#: src/frontends/qt/qt_helpers.cpp:298
msgid "URL could not be accessed"
msgstr "URL inaccessible"
-#: src/frontends/qt/qt_helpers.cpp:288
+#: src/frontends/qt/qt_helpers.cpp:299
#, c-format
msgid "The URL `%1$s' could not be opened although it exists!"
msgstr "L'URL `%1$s' n'a pu être ouvert bien qu'il existe !"
-#: src/frontends/qt/qt_helpers.cpp:312
+#: src/frontends/qt/qt_helpers.cpp:323
msgid "The lyxpaperview script failed."
msgstr "Le script lyxpaperview a échoué."
-#: src/frontends/qt/qt_helpers.cpp:315
+#: src/frontends/qt/qt_helpers.cpp:326
#, c-format
msgid "No file was found using the pattern `%1$s'."
msgstr "Aucun fichier trouvé via le filtre `%1$s'."
-#: src/frontends/qt/qt_helpers.cpp:321
+#: src/frontends/qt/qt_helpers.cpp:332
#, c-format
msgid "The target `%1$s' could not be resolved."
msgstr "La ccible « %1$s » n'a pas pu être résolue."
-#: src/frontends/qt/qt_helpers.cpp:357
+#: src/frontends/qt/qt_helpers.cpp:368
msgid "Could not update TeX information"
msgstr "Impossible de mettre à jour l'information TeX"
-#: src/frontends/qt/qt_helpers.cpp:358
+#: src/frontends/qt/qt_helpers.cpp:369
#, c-format
msgid "The script `%1$s' failed."
msgstr "Le script `%1$s' a échoué."
-#: src/frontends/qt/qt_helpers.cpp:606
+#: src/frontends/qt/qt_helpers.cpp:617
msgid "All Files "
msgstr "Tous les fichiers "
@@ -36148,15 +36144,15 @@ msgstr "ERREUR : type de flottant non existant : %1$s"
msgid "float"
msgstr "flottant"
-#: src/insets/InsetFloat.cpp:911
+#: src/insets/InsetFloat.cpp:914
msgid "Float: "
msgstr "Flottant : "
-#: src/insets/InsetFloat.cpp:914
+#: src/insets/InsetFloat.cpp:917
msgid "Subfloat: "
msgstr "Sous-flottant : "
-#: src/insets/InsetFloat.cpp:924
+#: src/insets/InsetFloat.cpp:927
msgid " (sideways)"
msgstr " (couché)"
@@ -36173,7 +36169,7 @@ msgstr "LyX ne peut créer une liste de %1$s"
msgid "footnote"
msgstr "note de bas de page"
-#: src/insets/InsetGraphics.cpp:562 src/insets/InsetInclude.cpp:787
+#: src/insets/InsetGraphics.cpp:563 src/insets/InsetInclude.cpp:787
#, c-format
msgid ""
"Could not copy the file\n"
@@ -36184,12 +36180,25 @@ msgstr ""
"%1$s\n"
"dans le répertoire temporaire."
-#: src/insets/InsetGraphics.cpp:778 src/insets/InsetGraphics.cpp:1015
+#: src/insets/InsetGraphics.cpp:779 src/insets/InsetGraphics.cpp:1029
#, c-format
msgid "No conversion of %1$s is needed after all"
msgstr "Aucune conversion de %1$s n'est nécessaire"
-#: src/insets/InsetGraphics.cpp:906
+#: src/insets/InsetGraphics.cpp:832
+msgid "Graphic not specified. Falling back to `draft' mode."
+msgstr "Graphique non spécifié. Passage en mode « brouillon »."
+
+#: src/insets/InsetGraphics.cpp:833
+#, c-format
+msgid "Graphic `%1$s' was not found. Falling back to `draft' mode."
+msgstr "Graphique %1$s introuvable. Passage en mode « brouillon »."
+
+#: src/insets/InsetGraphics.cpp:836
+msgid "Graphic not found!"
+msgstr "Graphique introuvable !"
+
+#: src/insets/InsetGraphics.cpp:920
#, c-format
msgid ""
"The following characters in one of the graphic paths are\n"
@@ -36200,7 +36209,7 @@ msgstr ""
"pas représentables dans l'encodage courant et on été omis : %1$s.\n"
"Vous devez adapter l'encodage ou le chemin."
-#: src/insets/InsetGraphics.cpp:931
+#: src/insets/InsetGraphics.cpp:945
#, c-format
msgid "Graphics file: %1$s"
msgstr "Fichier graphique : %1$s"
@@ -36430,277 +36439,277 @@ msgstr "Tous les index"
msgid "subindex"
msgstr "sous-index"
-#: src/insets/InsetInfo.cpp:194
+#: src/insets/InsetInfo.cpp:195
msgid "No long date format (language unknown)!"
msgstr "Aucun format long pour la date (langue inconnue)"
-#: src/insets/InsetInfo.cpp:197
+#: src/insets/InsetInfo.cpp:198
msgid "No medium date format (language unknown)!"
msgstr "Aucun format intermédiaire pour la date (langue inconnue)"
-#: src/insets/InsetInfo.cpp:200
+#: src/insets/InsetInfo.cpp:201
msgid "No short date format (language unknown)!"
msgstr "Aucun format court pour la date (langue inconnue)"
-#: src/insets/InsetInfo.cpp:229
+#: src/insets/InsetInfo.cpp:230
msgid "Please select a valid type!"
msgstr "Veuillez sélectionner un format valide !"
-#: src/insets/InsetInfo.cpp:269
+#: src/insets/InsetInfo.cpp:270
msgid "File name (with extension)"
msgstr "Nom du fichier (avec suffixe)"
-#: src/insets/InsetInfo.cpp:270
+#: src/insets/InsetInfo.cpp:271
msgid "File name (without extension)"
msgstr "Nom du fichier (sans suffixe)"
-#: src/insets/InsetInfo.cpp:271
+#: src/insets/InsetInfo.cpp:272
msgid "File path"
msgstr "Chemin d'accès au fichier"
-#: src/insets/InsetInfo.cpp:272
+#: src/insets/InsetInfo.cpp:273
msgid "Used text class"
msgstr "Classe de texte utilisée"
-#: src/insets/InsetInfo.cpp:277 src/insets/InsetInfo.cpp:1116
+#: src/insets/InsetInfo.cpp:278 src/insets/InsetInfo.cpp:1145
msgid "No version control!"
msgstr "Pas de contrôle de version !"
-#: src/insets/InsetInfo.cpp:280
+#: src/insets/InsetInfo.cpp:281
msgid "Revision[[Version Control]]"
msgstr "Révision"
-#: src/insets/InsetInfo.cpp:281
+#: src/insets/InsetInfo.cpp:282
msgid "Abbreviated revision[[Version Control]]"
msgstr "Révision abrégée"
-#: src/insets/InsetInfo.cpp:282
+#: src/insets/InsetInfo.cpp:283
msgid "Tree revision"
msgstr "Révision de l'arborescence"
-#: src/insets/InsetInfo.cpp:285
+#: src/insets/InsetInfo.cpp:286
msgid "Time[[of day]]"
msgstr "Heure"
-#: src/insets/InsetInfo.cpp:290
+#: src/insets/InsetInfo.cpp:291
msgid "LyX version"
msgstr "Version de LyX"
-#: src/insets/InsetInfo.cpp:291
+#: src/insets/InsetInfo.cpp:292
msgid "LyX layout format"
msgstr "Format LyX"
-#: src/insets/InsetInfo.cpp:494
+#: src/insets/InsetInfo.cpp:495
msgid "Invalid information inset"
msgstr "Insert d'information invalide"
-#: src/insets/InsetInfo.cpp:497
+#: src/insets/InsetInfo.cpp:498
#, c-format
msgid "The keybard shortcut for the function '%1$s'"
msgstr "Raccourci clavier pour la fonction « %1$s »"
-#: src/insets/InsetInfo.cpp:501
+#: src/insets/InsetInfo.cpp:502
#, c-format
msgid "The keybard shortcuts for the function '%1$s'"
msgstr "Raccourcis clavier pour la fonction « %1$s »"
-#: src/insets/InsetInfo.cpp:505
+#: src/insets/InsetInfo.cpp:506
#, c-format
msgid "The menu location for the function '%1$s'"
msgstr "Emplacement du menu pour la fonction « %1$s »"
-#: src/insets/InsetInfo.cpp:509
+#: src/insets/InsetInfo.cpp:510
#, c-format
msgid "The localization for the string '%1$s'"
msgstr "Traduction pour la chaîne « %1$s »"
-#: src/insets/InsetInfo.cpp:513
+#: src/insets/InsetInfo.cpp:514
#, c-format
msgid "The toolbar icon for the function '%1$s'"
msgstr "Icône de barre d'outils pour la fonction « %1$s »"
-#: src/insets/InsetInfo.cpp:517
+#: src/insets/InsetInfo.cpp:518
#, c-format
msgid "The preference setting for the preference key '%1$s'"
msgstr "Réglage de préférence pour la clé « %1$s »"
-#: src/insets/InsetInfo.cpp:521
+#: src/insets/InsetInfo.cpp:522
#, c-format
msgid "Availability of the LaTeX package '%1$s'"
msgstr "Disponibilité du paquetage LaTeX « %1$s »"
-#: src/insets/InsetInfo.cpp:525
+#: src/insets/InsetInfo.cpp:526
#, c-format
msgid "Availability of the LaTeX class '%1$s'"
msgstr "Disponibilité de la classe LaTeX « %1$s »"
-#: src/insets/InsetInfo.cpp:530
+#: src/insets/InsetInfo.cpp:531
msgid "The name of this file (incl. extension)"
msgstr "Nom de ce fichier (suffixe inclus)"
-#: src/insets/InsetInfo.cpp:532
+#: src/insets/InsetInfo.cpp:533
msgid "The name of this file (without extension)"
msgstr "Nom de ce fichier (sans suffixe)"
-#: src/insets/InsetInfo.cpp:534
+#: src/insets/InsetInfo.cpp:535
msgid "The path where this file is saved"
msgstr "Chemin d'accès au fichier enregistré"
-#: src/insets/InsetInfo.cpp:536
+#: src/insets/InsetInfo.cpp:537
msgid "The class this document uses"
msgstr "Classe utilisée par ce document"
-#: src/insets/InsetInfo.cpp:540
+#: src/insets/InsetInfo.cpp:541
msgid "Version control revision"
msgstr "Révision du contrôle de version"
-#: src/insets/InsetInfo.cpp:542
+#: src/insets/InsetInfo.cpp:543
msgid "Version control abbreviated revision"
msgstr "Révision abrégée du contrôle de version"
-#: src/insets/InsetInfo.cpp:544
+#: src/insets/InsetInfo.cpp:545
msgid "Version control tree revision"
msgstr "Révision de l'arborescence du contrôle de version"
-#: src/insets/InsetInfo.cpp:546
+#: src/insets/InsetInfo.cpp:547
msgid "Version control author"
msgstr "Auteur du contrôle de version"
-#: src/insets/InsetInfo.cpp:548
+#: src/insets/InsetInfo.cpp:549
msgid "Version control date"
msgstr "Date du contrôle de version"
-#: src/insets/InsetInfo.cpp:550
+#: src/insets/InsetInfo.cpp:551
msgid "Version control time"
msgstr "Heure du contrôle de version"
-#: src/insets/InsetInfo.cpp:554
+#: src/insets/InsetInfo.cpp:555
msgid "The current LyX version"
msgstr "Version courante de LyX"
-#: src/insets/InsetInfo.cpp:556
+#: src/insets/InsetInfo.cpp:557
msgid "The current LyX layout format"
msgstr "Format LyX courant"
-#: src/insets/InsetInfo.cpp:559
+#: src/insets/InsetInfo.cpp:560
msgid "The current date"
msgstr "Date courante"
-#: src/insets/InsetInfo.cpp:562
+#: src/insets/InsetInfo.cpp:563
msgid "The date of last save"
msgstr "Date de la dernière sauvegarde"
-#: src/insets/InsetInfo.cpp:565
+#: src/insets/InsetInfo.cpp:566
msgid "A static date"
msgstr "Date statique"
-#: src/insets/InsetInfo.cpp:568
+#: src/insets/InsetInfo.cpp:569
msgid "The current time"
msgstr "Heure courante"
-#: src/insets/InsetInfo.cpp:571
+#: src/insets/InsetInfo.cpp:572
msgid "The time of last save"
msgstr "Heure de la dernière sauvegarde"
-#: src/insets/InsetInfo.cpp:574
+#: src/insets/InsetInfo.cpp:575
msgid "A static time"
msgstr "Heure statique"
-#: src/insets/InsetInfo.cpp:601
+#: src/insets/InsetInfo.cpp:602
msgid "Missing \\end_inset at this point."
msgstr "Il manque un \\end_inset à cet endroit."
-#: src/insets/InsetInfo.cpp:795
+#: src/insets/InsetInfo.cpp:824
msgid "Unknown Info!"
msgstr "Information inconnue !"
-#: src/insets/InsetInfo.cpp:804 src/insets/InsetInfo.cpp:991
+#: src/insets/InsetInfo.cpp:833 src/insets/InsetInfo.cpp:1020
#, c-format
msgid "Unknown action %1$s"
msgstr "Action inconnue %1$s"
-#: src/insets/InsetInfo.cpp:810 src/insets/InsetInfo.cpp:920
-#: src/insets/InsetInfo.cpp:929 src/insets/InsetInfo.cpp:937
+#: src/insets/InsetInfo.cpp:839 src/insets/InsetInfo.cpp:949
+#: src/insets/InsetInfo.cpp:958 src/insets/InsetInfo.cpp:966
msgid "undefined"
msgstr "indéfini"
-#: src/insets/InsetInfo.cpp:833 src/insets/InsetInfo.cpp:883
+#: src/insets/InsetInfo.cpp:862 src/insets/InsetInfo.cpp:912
msgid "Return[[Key]]"
msgstr "Entrée"
-#: src/insets/InsetInfo.cpp:838
+#: src/insets/InsetInfo.cpp:867
msgid "Tab[[Key]]"
msgstr "Tab"
-#: src/insets/InsetInfo.cpp:843
+#: src/insets/InsetInfo.cpp:872
msgid "PgUp"
msgstr "Pg.Préc"
-#: src/insets/InsetInfo.cpp:848
+#: src/insets/InsetInfo.cpp:877
msgid "PgDown"
msgstr "PgSuiv"
-#: src/insets/InsetInfo.cpp:853
+#: src/insets/InsetInfo.cpp:882
msgid "Backtab"
msgstr "Ret.Arr"
-#: src/insets/InsetInfo.cpp:858
+#: src/insets/InsetInfo.cpp:887
msgid "Tab"
msgstr "Tab"
-#: src/insets/InsetInfo.cpp:868
+#: src/insets/InsetInfo.cpp:897
msgid "CapsLock"
msgstr "Verr.Maj"
-#: src/insets/InsetInfo.cpp:873
+#: src/insets/InsetInfo.cpp:902
msgid "Control[[Key]]"
msgstr "Control[[Key]]"
-#: src/insets/InsetInfo.cpp:878
+#: src/insets/InsetInfo.cpp:907
msgid "Command[[Key]]"
msgstr "Commande"
-#: src/insets/InsetInfo.cpp:888
+#: src/insets/InsetInfo.cpp:917
msgid "Option[[Key]]"
msgstr "Option"
-#: src/insets/InsetInfo.cpp:893
+#: src/insets/InsetInfo.cpp:922
msgid "Delete[[Key]]"
msgstr "Suppr"
-#: src/insets/InsetInfo.cpp:898
+#: src/insets/InsetInfo.cpp:927
msgid "Fn+Del"
msgstr "Fn+Suppr"
-#: src/insets/InsetInfo.cpp:903
+#: src/insets/InsetInfo.cpp:932
msgid "Esc"
msgstr "Esc"
-#: src/insets/InsetInfo.cpp:947
+#: src/insets/InsetInfo.cpp:976
msgid "not set"
msgstr "non réglé"
-#: src/insets/InsetInfo.cpp:959 src/insets/InsetInfo.cpp:976
+#: src/insets/InsetInfo.cpp:988 src/insets/InsetInfo.cpp:1005
msgid "yes"
msgstr "oui"
-#: src/insets/InsetInfo.cpp:962 src/insets/InsetInfo.cpp:979
+#: src/insets/InsetInfo.cpp:991 src/insets/InsetInfo.cpp:1008
msgid "no"
msgstr "non"
-#: src/insets/InsetInfo.cpp:1002
+#: src/insets/InsetInfo.cpp:1031
#, c-format
msgid "Can't determine menu entry for action %1$s in batch mode"
msgstr ""
"Impossible de déterminer l'entrée de menu pour l'action %1$s en mode "
"traitement par lot"
-#: src/insets/InsetInfo.cpp:1010
+#: src/insets/InsetInfo.cpp:1039
#, c-format
msgid "No menu entry for action %1$s"
msgstr "Pas d'entré de menu pour l'action %1$s"
-#: src/insets/InsetInfo.cpp:1135
+#: src/insets/InsetInfo.cpp:1164
#, c-format
msgid "%1$s[[vcs data]] unknown"
msgstr "%1$s inconnu"
@@ -37229,11 +37238,11 @@ msgstr "Espace horizontal insécable (%1$s)"
msgid "Unknown TOC type"
msgstr "Type de TDM inconnu"
-#: src/insets/InsetTabular.cpp:464
+#: src/insets/InsetTabular.cpp:467
msgid "Change tracking data incomplete"
msgstr "Date de suivi des modifications incomplète"
-#: src/insets/InsetTabular.cpp:465
+#: src/insets/InsetTabular.cpp:468
msgid ""
"Change tracking information for tabular row/column is incomplete. I will "
"ignore this."
@@ -37241,15 +37250,15 @@ msgstr ""
"L'information de suivi de modifications pour les lignes/colonnes de tableau "
"est incomplète. Elle sera ignorée."
-#: src/insets/InsetTabular.cpp:5607
+#: src/insets/InsetTabular.cpp:5680
msgid "Column movement not supported with multi-columns."
msgstr "Déplacement de colonne non implanté pour les colonnes multiples."
-#: src/insets/InsetTabular.cpp:5625
+#: src/insets/InsetTabular.cpp:5698
msgid "Row movement not supported with multi-rows."
msgstr "Déplacement de ligne non implanté pour les lignes multiples."
-#: src/insets/InsetTabular.cpp:6127
+#: src/insets/InsetTabular.cpp:6219
msgid "Selection size should match clipboard content."
msgstr ""
"La taille de la sélection doit correspondre au contenu du presse-papier."
@@ -37258,11 +37267,11 @@ msgstr ""
msgid "[contains tracked changes]"
msgstr "[contient les modifications suivies]"
-#: src/insets/InsetWrap.cpp:68
+#: src/insets/InsetWrap.cpp:64
msgid "Wrap: "
msgstr "Enrober : "
-#: src/insets/InsetWrap.cpp:201
+#: src/insets/InsetWrap.cpp:197
msgid "wrap"
msgstr "enrober"
@@ -37322,15 +37331,15 @@ msgstr "Aperçu prêt"
msgid "Preview failed"
msgstr "Ãchec de l'aperçu"
-#: src/lyxfind.cpp:268
+#: src/lyxfind.cpp:275
msgid "Search error"
msgstr "Erreur de recherche"
-#: src/lyxfind.cpp:268
+#: src/lyxfind.cpp:275
msgid "Search string is empty"
msgstr "La chaîne de caractères à chercher est vide"
-#: src/lyxfind.cpp:300
+#: src/lyxfind.cpp:307
msgid ""
"The search string matches the selection, and search is limited to "
"selection.\n"
@@ -37340,11 +37349,11 @@ msgstr ""
"à la sélection.\n"
"Continuer à chercher en dehors?"
-#: src/lyxfind.cpp:302 src/lyxfind.cpp:329
+#: src/lyxfind.cpp:309 src/lyxfind.cpp:336
msgid "Search outside selection?"
msgstr "Rechercher en-dehors de la sélection ?"
-#: src/lyxfind.cpp:327
+#: src/lyxfind.cpp:334
msgid ""
"The search string was not found within the selection.\n"
"Continue search outside?"
@@ -37352,7 +37361,7 @@ msgstr ""
"La chaîne recherchée n'a pas été trouvée dans la sélection.\n"
"Continuer à chercher en-dehors ?"
-#: src/lyxfind.cpp:345 src/lyxfind.cpp:691
+#: src/lyxfind.cpp:352 src/lyxfind.cpp:698
msgid ""
"End of file reached while searching forward.\n"
"Continue searching from the beginning?"
@@ -37360,7 +37369,7 @@ msgstr ""
"Fin du fichier atteinte lors de la recherche en avant.\n"
"Continuer la recherche depuis le début ?"
-#: src/lyxfind.cpp:348 src/lyxfind.cpp:719
+#: src/lyxfind.cpp:355 src/lyxfind.cpp:726
msgid ""
"Beginning of file reached while searching backward.\n"
"Continue searching from the end?"
@@ -37368,63 +37377,63 @@ msgstr ""
"Début du fichier atteint lors de la recherche en arrière.\n"
"Continuer la recherche depuis la fin ?"
-#: src/lyxfind.cpp:364
+#: src/lyxfind.cpp:371
msgid "Search reached end of document, continuing from beginning."
msgstr "Fin du document atteinte, la recherche continue à partir du début."
-#: src/lyxfind.cpp:365
+#: src/lyxfind.cpp:372
msgid "Search reached beginning of document, continuing from end."
msgstr ""
"La recherche a atteint le début du document, elle continue depuis la fin."
-#: src/lyxfind.cpp:664
+#: src/lyxfind.cpp:671
msgid "String not found in selection."
msgstr "Chaîne de caractères introuvable dans le sélection."
-#: src/lyxfind.cpp:666
+#: src/lyxfind.cpp:673
msgid "String not found."
msgstr "Chaîne de caractères introuvable."
-#: src/lyxfind.cpp:669
+#: src/lyxfind.cpp:676
msgid "String found."
msgstr "Chaîne de caractères trouvée."
-#: src/lyxfind.cpp:671
+#: src/lyxfind.cpp:678
msgid "String has been replaced."
msgstr "Chaîne remplacée."
-#: src/lyxfind.cpp:674
+#: src/lyxfind.cpp:681
#, c-format
msgid "%1$d strings have been replaced in the selection."
msgstr "%1$d chaînes remplacées dans le sélection."
-#: src/lyxfind.cpp:675
+#: src/lyxfind.cpp:682
#, c-format
msgid "%1$d strings have been replaced."
msgstr "%1$d chaînes remplacées."
-#: src/lyxfind.cpp:4508
+#: src/lyxfind.cpp:4584
msgid "One match has been replaced."
msgstr "Une correspondance a été remplacée."
-#: src/lyxfind.cpp:4511
+#: src/lyxfind.cpp:4587
msgid "Two matches have been replaced."
msgstr "Deux correspondances ont été remplacées."
-#: src/lyxfind.cpp:4514
+#: src/lyxfind.cpp:4590
#, c-format
msgid "%1$d matches have been replaced."
msgstr "%1$d correspondances ont été remplacées."
-#: src/lyxfind.cpp:4520
+#: src/lyxfind.cpp:4596
msgid "Match not found."
msgstr "Chaîne de caractères introuvable."
-#: src/lyxfind.cpp:4526
+#: src/lyxfind.cpp:4602
msgid "Match has been replaced."
msgstr "Chaîne de caractères remplacée."
-#: src/lyxfind.cpp:4528
+#: src/lyxfind.cpp:4604
msgid "Match found."
msgstr "Chaîne de caractères reconnue."
@@ -37623,11 +37632,11 @@ msgstr ""
"Impossible d'ouvrir le document\n"
"%1$s."
-#: src/output_latex.cpp:1658
+#: src/output_latex.cpp:1662
msgid "Error in latexParagraphs"
msgstr "Erreur dans latexParagraphs"
-#: src/output_latex.cpp:1659
+#: src/output_latex.cpp:1663
#, c-format
msgid ""
"You are using at least one layout (%1$s) intended for the title, after using "
@@ -37773,111 +37782,111 @@ msgstr "Lecture des fichiers de configuration"
msgid "Custom keyboard definition"
msgstr "Définition d'un clavier personnalisé"
-#: src/support/debug.cpp:50
-msgid "LaTeX generation/execution"
-msgstr "Generation/Exécution de LaTeX"
+#: src/support/debug.cpp:50 src/support/debug.cpp:51
+msgid "Output source file generation/processing"
+msgstr "Génération/traitement du fichier source exporté."
-#: src/support/debug.cpp:51
+#: src/support/debug.cpp:52
msgid "Math editor"
msgstr "Ãditeur mathématique"
-#: src/support/debug.cpp:52
+#: src/support/debug.cpp:53
msgid "Font handling"
msgstr "Gestion des polices"
-#: src/support/debug.cpp:53
+#: src/support/debug.cpp:54
msgid "Textclass files reading"
msgstr "Lecture des fichiers de classe"
-#: src/support/debug.cpp:54
+#: src/support/debug.cpp:55
msgid "Version control"
msgstr "Contrôle de version"
-#: src/support/debug.cpp:55
+#: src/support/debug.cpp:56
msgid "External control interface"
msgstr "Interface de contrôle externe"
-#: src/support/debug.cpp:56
+#: src/support/debug.cpp:57
msgid "Undo/Redo mechanism"
msgstr "Mécanisme défaire/refaire"
-#: src/support/debug.cpp:57
+#: src/support/debug.cpp:58
msgid "User commands"
msgstr "Commandes utilisateur"
-#: src/support/debug.cpp:58
+#: src/support/debug.cpp:59
msgid "The LyX Lexer"
msgstr "Le lexeur LyX"
-#: src/support/debug.cpp:59
+#: src/support/debug.cpp:60
msgid "Dependency information"
msgstr "Information sur les dépendances"
-#: src/support/debug.cpp:60
+#: src/support/debug.cpp:61
msgid "LyX Insets"
msgstr "Inserts LyX"
-#: src/support/debug.cpp:61
+#: src/support/debug.cpp:62
msgid "Files used by LyX"
msgstr "Fichiers utilisés par LyX"
-#: src/support/debug.cpp:62
+#: src/support/debug.cpp:63
msgid "Workarea events"
msgstr "Ãvénements de la zone de travail"
-#: src/support/debug.cpp:63
+#: src/support/debug.cpp:64
msgid "Clipboard handling"
msgstr "Gestion du presse-papier"
-#: src/support/debug.cpp:64
+#: src/support/debug.cpp:65
msgid "Graphics conversion and loading"
msgstr "Conversion et chargement du graphique"
-#: src/support/debug.cpp:65
+#: src/support/debug.cpp:66
msgid "Change tracking"
msgstr "Suivi des modifications"
-#: src/support/debug.cpp:66
+#: src/support/debug.cpp:67
msgid "External template/inset messages"
msgstr "Messages de cadre/insert externe"
-#: src/support/debug.cpp:67
+#: src/support/debug.cpp:68
msgid "RowPainter profiling"
msgstr "Profilage de RowPainter"
-#: src/support/debug.cpp:68
+#: src/support/debug.cpp:69
msgid "Scrolling debugging"
msgstr "Déverminage déroulant"
-#: src/support/debug.cpp:69
+#: src/support/debug.cpp:70
msgid "Math macros"
msgstr "Macros mathématiques"
-#: src/support/debug.cpp:70
+#: src/support/debug.cpp:71
msgid "RTL/Bidi"
msgstr "RTL/Bidi"
-#: src/support/debug.cpp:71
+#: src/support/debug.cpp:72
msgid "Locale/Internationalisation"
msgstr "Locale/internationalisation"
-#: src/support/debug.cpp:72
+#: src/support/debug.cpp:73
msgid "Selection copy/paste mechanism"
msgstr "Mécanisme de sélection copier/coller"
-#: src/support/debug.cpp:73
+#: src/support/debug.cpp:74
msgid "Find and replace mechanism"
msgstr "Rechercher et remplacer"
-#: src/support/debug.cpp:74
+#: src/support/debug.cpp:75
msgid "Developers' general debug messages"
msgstr "Messages de débogage généraux pour les développeurs"
-#: src/support/debug.cpp:75 src/support/debug.cpp:76
+#: src/support/debug.cpp:76 src/support/debug.cpp:77
msgid "All debugging messages"
msgstr "Tous les messages de débogage"
-#: src/support/debug.cpp:183
+#: src/support/debug.cpp:184
#, c-format
msgid "Debugging `%1$s' (%2$s)"
msgstr "Débogage de '%1$s' (%2$s)"
@@ -38015,6 +38024,15 @@ msgstr ""
msgid "Unknown user"
msgstr "Utilisateur inconnu"
+#~ msgid "foot"
+#~ msgstr "bas"
+
+#~ msgid "Set all lines"
+#~ msgstr "Mettre toutes les bordures"
+
+#~ msgid "LaTeX generation/execution"
+#~ msgstr "Generation/Exécution de LaTeX"
+
#~ msgid "Running BibTeX."
#~ msgstr "Exécution de BibTeX."
commit 307a2f91ada54af85bfc70d35bd42a61a49de8ef
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Thu Mar 17 16:42:39 2022 +0100
Revert part of 503c7c16: InsetMathNest:edit resets anchor.
Fixes bug reported here:
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg217265.html
1. Start a new document.
2. Start a math inset and inside put "1+2".
3. Put the cursor to the right of "+".
4. Press <Shift> + L three times. This will select the entire math inset
(as expected).
5. Press <Shift> + R.
Before 503c7c16, the selection inside the math inset was preserved.
After 503c7c16, it is lost.
The problem is that InsetMathNest does too much for our needs and
resets the anchor (why, I do not know). Therefore, it is better to
duplicate the code.
diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp
index 8fd2bdd..8b63c73 100644
--- a/src/mathed/InsetMathHull.cpp
+++ b/src/mathed/InsetMathHull.cpp
@@ -2254,7 +2254,10 @@ void InsetMathHull::handleFont2(Cursor & cur, docstring const & arg)
void InsetMathHull::edit(Cursor & cur, bool front, EntryDirection entry_from)
{
- InsetMathNest::edit(cur, front, entry_from);
+ cur.push(*this);
+ bool enter_front = (entry_from == Inset::ENTRY_DIRECTION_LEFT ||
+ (entry_from == Inset::ENTRY_DIRECTION_IGNORE && front));
+ enter_front ? idxFirst(cur) : idxLast(cur);
// The inset formula dimension is not necessarily the same as the
// one of the instant preview image, so we have to indicate to the
// BufferView that a metrics update is needed.
commit b9ca608c2f7ca2e1434e8e7cfc9e9c83f643c6c4
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Thu Mar 17 08:47:43 2022 +0100
Properly color red checkbox labels in validation (part of #12508)
diff --git a/src/frontends/qt/qt_helpers.cpp b/src/frontends/qt/qt_helpers.cpp
index 1189032..8372fd9 100644
--- a/src/frontends/qt/qt_helpers.cpp
+++ b/src/frontends/qt/qt_helpers.cpp
@@ -223,11 +223,22 @@ bool ColorSorter(ColorCode lhs, ColorCode rhs)
void setValid(QWidget * widget, bool valid)
{
if (valid) {
- widget->setPalette(QPalette());
+ if (qobject_cast<QCheckBox*>(widget) != nullptr)
+ // Check boxes need to be treated differenty, see
+ // https://forum.qt.io/topic/93253/
+ widget->setStyleSheet("");
+ else
+ widget->setPalette(QPalette());
} else {
- QPalette pal = widget->palette();
- pal.setColor(QPalette::Active, QPalette::WindowText, QColor(255, 0, 0));
- widget->setPalette(pal);
+ if (qobject_cast<QCheckBox*>(widget) != nullptr) {
+ // Check boxes need to be treated differenty, see
+ // https://forum.qt.io/topic/93253/
+ widget->setStyleSheet("QCheckBox:unchecked{ color: red; }QCheckBox:checked{ color: red; }");
+ } else {
+ QPalette pal = widget->palette();
+ pal.setColor(QPalette::Active, QPalette::WindowText, QColor(255, 0, 0));
+ widget->setPalette(pal);
+ }
}
}
commit a89ff030cfdda2f9c6819bd445e26d2073ac4622
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Thu Mar 17 08:16:54 2022 +0100
Amend 0f80de308c67
diff --git a/src/frontends/qt/Validator.cpp b/src/frontends/qt/Validator.cpp
index 1ef90ac..ad1c4f6 100644
--- a/src/frontends/qt/Validator.cpp
+++ b/src/frontends/qt/Validator.cpp
@@ -60,7 +60,7 @@ QValidator::State LengthValidator::validate(QString & qtext, int &) const
// A plausible intermediate value, see #12508
return QValidator::Intermediate;
- if (ok && positive_ && d <=0)
+ if (ok && positive_ && d < 0)
return QValidator::Invalid;
if (qtext.isEmpty() || (ok && !dp))
commit 0f80de308c67577b5e00e8582867840648fdf1d7
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Thu Mar 17 08:15:09 2022 +0100
0 is a plausible intermediate length in positive context (#12508)
diff --git a/src/frontends/qt/Validator.cpp b/src/frontends/qt/Validator.cpp
index 0d3b672..1ef90ac 100644
--- a/src/frontends/qt/Validator.cpp
+++ b/src/frontends/qt/Validator.cpp
@@ -56,6 +56,10 @@ QValidator::State LengthValidator::validate(QString & qtext, int &) const
if (ok && unsigned_ && d < 0)
return QValidator::Invalid;
+ if (ok && positive_ && d == 0)
+ // A plausible intermediate value, see #12508
+ return QValidator::Intermediate;
+
if (ok && positive_ && d <=0)
return QValidator::Invalid;
commit 2e9c962a247e90abf9e7bdf2d2b2a4e99a7b3693
Author: Kornel Benko <kornel at lyx.org>
Date: Wed Mar 16 13:46:24 2022 +0100
FindAdv: Generalize substitutions of commands to unicode inside regex
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index bb678f8..c187e10 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -838,7 +838,7 @@ string correctRegex(string t, bool withformat)
* and \{, \}, \[, \] => {, }, [, ]
*/
string s("");
- regex wordre("(\\\\)*(\\\\((backslash|mathcircumflex|textquoteleft) ?|[\\[\\]\\{\\}]))");
+ regex wordre("(\\\\)*(\\\\(([a-z]+) ?|[\\[\\]\\{\\}]))");
size_t lastpos = 0;
smatch sub;
bool backslashed = false;
@@ -866,8 +866,6 @@ string correctRegex(string t, bool withformat)
}
else if (sub.str(4) == "mathcircumflex")
replace = "^";
- else if (sub.str(4) == "textquoteleft")
- replace = accents["textquoteleft"];
else if (backslashed) {
backslashed = false;
if (withformat && (sub.str(3) == "{"))
@@ -879,8 +877,15 @@ string correctRegex(string t, bool withformat)
LASSERT(1, /**/);
}
}
- else
- replace = sub.str(3);
+ else {
+ AccentsIterator it_ac = accents.find(sub.str(4));
+ if (it_ac == accents.end()) {
+ replace = sub.str(3);
+ }
+ else {
+ replace = it_ac->second;
+ }
+ }
}
if (lastpos < (size_t) sub.position(2))
s += t.substr(lastpos, sub.position(2) - lastpos);
@@ -1554,6 +1559,8 @@ void static fillMissingUnicodesymbols()
addAccents("\\o", getutf8(0x00f8));
addAccents("\\textcrlambda", getutf8(0x019b));
addAccents("\\j", getutf8(0x0237));
+ addAccents("\\textrevepsilon", getutf8(0x025c));
+ addAccents("\\textbaru", getutf8(0x0289));
addAccents("\\textquoteleft", getutf8(0x02bb));
addAccents("\\textGamma", getutf8(0x0393));
addAccents("\\Gamma", getutf8(0x0393));
commit 9bef4f9f1a488bd3ee503d64ab6c8888fc774ea5
Author: Kornel Benko <kornel at lyx.org>
Date: Tue Mar 15 13:01:51 2022 +0100
Amend f8071449: Added conversion for unicode 0x2bb
Now regex using \textquoteleft works also without format search.
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 6308c64..bb678f8 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -830,16 +830,21 @@ string string2regex(string in)
return temp2;
}
+static void buildAccentsMap();
+
string correctRegex(string t, bool withformat)
{
/* Convert \backslash => \
* and \{, \}, \[, \] => {, }, [, ]
*/
string s("");
- regex wordre("(\\\\)*(\\\\((backslash|mathcircumflex) ?|[\\[\\]\\{\\}]))");
+ regex wordre("(\\\\)*(\\\\((backslash|mathcircumflex|textquoteleft) ?|[\\[\\]\\{\\}]))");
size_t lastpos = 0;
smatch sub;
bool backslashed = false;
+ if (accents.empty())
+ buildAccentsMap();
+
for (sregex_iterator it(t.begin(), t.end(), wordre), end; it != end; ++it) {
sub = *it;
string replace;
@@ -861,6 +866,8 @@ string correctRegex(string t, bool withformat)
}
else if (sub.str(4) == "mathcircumflex")
replace = "^";
+ else if (sub.str(4) == "textquoteleft")
+ replace = accents["textquoteleft"];
else if (backslashed) {
backslashed = false;
if (withformat && (sub.str(3) == "{"))
commit f80714497bc9c2bc422e7b8331ad79c4635124fc
Author: Kornel Benko <kornel at lyx.org>
Date: Tue Mar 15 10:35:22 2022 +0100
FindAdv: Added conversion for unicode 0x2bb
In math-mode \textquoteleft was still not used as unicode
so it was not possible to find the char using regex
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 54bceaa..6308c64 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -1547,6 +1547,7 @@ void static fillMissingUnicodesymbols()
addAccents("\\o", getutf8(0x00f8));
addAccents("\\textcrlambda", getutf8(0x019b));
addAccents("\\j", getutf8(0x0237));
+ addAccents("\\textquoteleft", getutf8(0x02bb));
addAccents("\\textGamma", getutf8(0x0393));
addAccents("\\Gamma", getutf8(0x0393));
addAccents("\\textDelta", getutf8(0x0394));
@@ -1896,7 +1897,7 @@ void Intervall::removeAccents()
buildAccentsMap();
static regex const accre("\\\\(([\\S]|grave|breve|ddot|dot|acute|dacute|mathring|check|hat|bar|tilde|subdot|ogonek|"
"cedilla|subring|textsubring|subhat|textsubcircum|subtilde|textsubtilde|dgrave|textdoublegrave|rcap|textroundcap|slashed)\\{[^\\{\\}]+\\}"
- "|((i|imath|jmath|cdot|[a-z]+space)|((backslash )?([lL]y[xX]|[tT]e[xX]|[lL]a[tT]e[xX]e?|lyxarrow))|(brace|guillemot)(left|right)|textasciicircum|mathcircumflex|sim)(?![a-zA-Z]))");
+ "|((i|imath|jmath|cdot|[a-z]+space)|((backslash )?([lL]y[xX]|[tT]e[xX]|[lL]a[tT]e[xX]e?|lyxarrow))|(textquote|brace|guillemot)(left|right)|textasciicircum|mathcircumflex|sim)(?![a-zA-Z]))");
smatch sub;
for (sregex_iterator itacc(par.begin(), par.end(), accre), end; itacc != end; ++itacc) {
sub = *itacc;
commit 2e43b458a93e71681029b4a7ae606d16be3f5cbe
Author: Kornel Benko <kornel at lyx.org>
Date: Sun Mar 13 23:23:09 2022 +0100
Update sk.po
diff --git a/po/sk.po b/po/sk.po
index ecd223a..077e8cd 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: LyX-2.4\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2022-03-03 10:04+0100\n"
-"PO-Revision-Date: 2022-03-04 16:38+0000\n"
+"POT-Creation-Date: 2022-03-13 23:17+0100\n"
+"PO-Revision-Date: 2022-03-13 22:21+0000\n"
"Last-Translator: Kornel Benko <kornel at lyx.org>\n"
"Language-Team: Slovak <kornel at lyx.org>\n"
"Language: sk\n"
@@ -21589,16 +21589,16 @@ msgid "Toggle right line"
msgstr "Prepnúť pravú Äiaru"
#: lib/ui/stdtoolbars.inc:167
-msgid "Set border lines"
-msgstr "NastaviÅ¥ okrajové Äiary"
+msgid "Toggle border lines"
+msgstr "Prepnúť okrajové Äiary"
#: lib/ui/stdtoolbars.inc:168
-msgid "Set all lines"
-msgstr "NastaviÅ¥ vÅ¡etky Äiary"
+msgid "Toggle inner lines"
+msgstr "Prepnúť vnútorné Äiary"
#: lib/ui/stdtoolbars.inc:169
-msgid "Set inner lines"
-msgstr "NastaviÅ¥ vnútorné Äiary"
+msgid "Toggle all lines"
+msgstr "Prepnúť vÅ¡etky Äiary"
#: lib/ui/stdtoolbars.inc:170
msgid "Unset all lines"
@@ -37310,6 +37310,9 @@ msgstr ""
msgid "Unknown user"
msgstr "Neznámy použÃvateľ"
+#~ msgid "Set all lines"
+#~ msgstr "NastaviÅ¥ vÅ¡etky Äiary"
+
#~ msgid "e.g.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
#~ msgstr "napr.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
@@ -42738,3 +42741,9 @@ msgstr "Neznámy použÃvateľ"
#~ msgid "&Expand macros"
#~ msgstr "&Rozvinúť makrá"
+
+#~ msgid "Set border lines"
+#~ msgstr "NastaviÅ¥ okrajové Äiary"
+
+#~ msgid "Set inner lines"
+#~ msgstr "NastaviÅ¥ vnútorné Äiary"
commit f21899661acfef223611765de33906f92cd72bbd
Author: Daniel Ramoeller <d.lyx at web.de>
Date: Sun Mar 13 08:57:49 2022 +0100
Add toggle feature for all, outer and inner borders
Fix for bug #12503.
Also some bug fixes for the set inner lines algorithm. See discussion of #12503.
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 61d6f1a..664eaa4 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -695,11 +695,11 @@ dist_images_DATA1X = \
images/tabular-feature_multicolumn.svgz \
images/tabular-feature_multirow.svgz \
images/tabular-feature_reset-formal-default.svgz \
- images/tabular-feature_set-all-lines.svgz \
+ images/tabular-feature_toggle-all-lines.svgz \
images/tabular-feature_set-longtabular.svgz \
images/tabular-feature_set-rotate-cell.svgz \
- images/tabular-feature_set-border-lines.svgz \
- images/tabular-feature_set-inner-lines.svgz \
+ images/tabular-feature_toggle-border-lines.svgz \
+ images/tabular-feature_toggle-inner-lines.svgz \
images/tabular-feature_set-rotate-tabular.svgz \
images/tabular-feature_toggle-line-bottom.svgz \
images/tabular-feature_toggle-line-left.svgz \
@@ -2155,9 +2155,9 @@ dist_imagesoxygen_DATA1X = \
images/oxygen/tabular-feature_multicolumn.svgz \
images/oxygen/tabular-feature_multirow.svgz \
images/oxygen/tabular-feature_reset-formal-default.svgz \
- images/oxygen/tabular-feature_set-all-lines.svgz \
- images/oxygen/tabular-feature_set-border-lines.svgz \
- images/oxygen/tabular-feature_set-inner-lines.svgz \
+ images/oxygen/tabular-feature_toggle-all-lines.svgz \
+ images/oxygen/tabular-feature_toggle-border-lines.svgz \
+ images/oxygen/tabular-feature_toggle-inner-lines.svgz \
images/oxygen/tabular-feature_set-longtabular.svgz \
images/oxygen/tabular-feature_toggle-line-bottom.svgz \
images/oxygen/tabular-feature_toggle-line-left.svgz \
@@ -2353,9 +2353,9 @@ dist_imagesclassic_DATA = \
images/classic/tabular-feature_multicolumn.png \
images/classic/tabular-feature_multirow.png \
images/classic/tabular-feature_reset-formal-default.png \
- images/classic/tabular-feature_set-all-lines.png \
- images/classic/tabular-feature_set-border-lines.png \
- images/classic/tabular-feature_set-inner-lines.png \
+ images/classic/tabular-feature_toggle-all-lines.png \
+ images/classic/tabular-feature_toggle-border-lines.png \
+ images/classic/tabular-feature_toggle-inner-lines.png \
images/classic/tabular-feature_set-longtabular.png \
images/classic/tabular-feature_set-rotate-cell.png \
images/classic/tabular-feature_set-rotate-tabular.png \
diff --git a/lib/RELEASE-NOTES b/lib/RELEASE-NOTES
index dc97f29..7398553 100644
--- a/lib/RELEASE-NOTES
+++ b/lib/RELEASE-NOTES
@@ -143,6 +143,9 @@
ignore the inserted file's main language (and rather adapt it to the insertion
context's language).
+* tabular-feature: added toggle parameters "toggle-all-lines", "toggle-border-lines"
+ and "toggle-inner-lines"
+
!!!The following LyX functions have been removed in 2.4:
diff --git a/lib/doc/EmbeddedObjects.lyx b/lib/doc/EmbeddedObjects.lyx
index 8d5bab9..b293f75 100644
--- a/lib/doc/EmbeddedObjects.lyx
+++ b/lib/doc/EmbeddedObjects.lyx
@@ -1,5 +1,5 @@
#LyX 2.4 created this file. For more info see https://www.lyx.org/
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
@@ -250,6 +250,7 @@ varwidth
\html_be_strict false
\docbook_table_output 0
\docbook_mathml_prefix 1
+\author -1382599118 "Daniel"
\author -712698321 "Jürgen Spitzmüller"
\author 630872221 "Jean-Pierre Chrétien" jeanpierre.chretien at free.fr
\end_header
@@ -2646,7 +2647,29 @@ type "icon"
arg "tabular-feature toggle-line-top"
\end_inset
- adds a line at the top of the current cell / row or of a selection
+
+\change_deleted -1382599118 1647157945
+adds
+\change_inserted -1382599118 1647157946
+toggles
+\change_unchanged
+ a line at the top of
+\change_inserted -1382599118 1647158116
+ every cell for
+\change_unchanged
+ the current
+\change_inserted -1382599118 1647157889
+ly
+\change_deleted -1382599118 1647157917
+ cell / row or of a
+\change_unchanged
+ select
+\change_deleted -1382599118 1647157923
+ion
+\change_inserted -1382599118 1647157925
+ed cells
+\change_unchanged
+
\end_layout
\begin_layout Labeling
@@ -2656,7 +2679,29 @@ type "icon"
arg "tabular-feature toggle-line-bottom"
\end_inset
- adds a line at the bottom of the current cell / row or of a selection
+
+\change_deleted -1382599118 1647157963
+adds
+\change_inserted -1382599118 1647157964
+toggles
+\change_unchanged
+ a line at the bottom of
+\change_inserted -1382599118 1647158114
+every cell for
+\change_unchanged
+the current
+\change_inserted -1382599118 1647157991
+ly
+\change_deleted -1382599118 1647158003
+ cell / row or of a
+\change_unchanged
+ select
+\change_deleted -1382599118 1647158007
+ion
+\change_inserted -1382599118 1647158009
+ed cells
+\change_unchanged
+
\end_layout
\begin_layout Labeling
@@ -2666,7 +2711,29 @@ type "icon"
arg "tabular-feature toggle-line-left"
\end_inset
- adds a line at the left side of the current cell / row or of a selection
+
+\change_deleted -1382599118 1647157971
+adds
+\change_inserted -1382599118 1647157972
+toggles
+\change_unchanged
+ a line at the left side of
+\change_inserted -1382599118 1647158111
+every cell for
+\change_unchanged
+the current
+\change_inserted -1382599118 1647158027
+ly
+\change_deleted -1382599118 1647158069
+ cell / row or of a
+\change_unchanged
+ select
+\change_deleted -1382599118 1647158043
+ion
+\change_inserted -1382599118 1647158044
+ed cells
+\change_unchanged
+
\end_layout
\begin_layout Labeling
@@ -2676,7 +2743,27 @@ type "icon"
arg "tabular-feature toggle-line-right"
\end_inset
- adds a line at the right side of the current cell / row or of a selection
+
+\change_deleted -1382599118 1647157974
+adds
+\change_inserted -1382599118 1647157975
+toggles
+\change_unchanged
+ a line at the right side of
+\change_inserted -1382599118 1647158109
+every cell for
+\change_unchanged
+the current
+\change_inserted -1382599118 1647158061
+ly
+\change_deleted -1382599118 1647158072
+ cell / row or of a
+\change_unchanged
+ select
+\change_deleted -1382599118 1647158078
+ion
+\change_inserted -1382599118 1647158082
+ed cells
\change_inserted -712698321 1554289731
\end_layout
@@ -2687,10 +2774,30 @@ arg "tabular-feature toggle-line-right"
\change_inserted -712698321 1554289910
\begin_inset Info
type "icon"
-arg "tabular-feature set-border-lines"
+arg "tabular-feature toggle-border-lines"
+\end_inset
+
+
+\change_deleted -1382599118 1647157966
+adds
+\change_inserted -1382599118 1647157967
+toggles
+\change_inserted -712698321 1554289910
+ a border around the currently selected cells
+\change_inserted -1382599118 1647040213
+
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+
+\change_inserted -1382599118 1647158092
+\begin_inset Info
+type "icon"
+arg "tabular-feature toggle-inner-lines"
\end_inset
- adds a border around the currently selected cells
+ toggles inner lines for the currently selected cells
\change_unchanged
\end_layout
@@ -2699,7 +2806,7 @@ arg "tabular-feature set-border-lines"
\labelwidthstring 00.00.0000
\begin_inset Info
type "icon"
-arg "tabular-feature set-all-lines"
+arg "tabular-feature toggle-all-lines"
\end_inset
adds lines around the current or selected cells - if the current cell is
diff --git a/lib/ui/stdtoolbars.inc b/lib/ui/stdtoolbars.inc
index 0028e8c..467c6f6 100644
--- a/lib/ui/stdtoolbars.inc
+++ b/lib/ui/stdtoolbars.inc
@@ -164,9 +164,9 @@ ToolbarSet
Item "Toggle bottom line" "tabular-feature toggle-line-bottom"
Item "Toggle left line" "tabular-feature toggle-line-left"
Item "Toggle right line" "tabular-feature toggle-line-right"
- Item "Set border lines" "tabular-feature set-border-lines"
- Item "Set all lines" "tabular-feature set-all-lines"
- Item "Set inner lines" "tabular-feature set-inner-lines"
+ Item "Toggle border lines" "tabular-feature toggle-border-lines"
+ Item "Toggle inner lines" "tabular-feature toggle-inner-lines"
+ Item "Toggle all lines" "tabular-feature toggle-all-lines"
Item "Unset all lines" "tabular-feature unset-all-lines"
Item "Reset formal default lines" "tabular-feature reset-formal-default"
Separator
diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp
index 164327b..ca8c5b7 100644
--- a/src/LyXAction.cpp
+++ b/src/LyXAction.cpp
@@ -3900,17 +3900,17 @@ void LyXAction::init()
valign-top|valign-bottom|valign-middle|longtabular-align-left|\n
longtabular-align-center|longtabular-align-right|m-align-left|m-align-right|\n
m-align-center|m-valign-top|m-valign-bottom|m-valign-middle|multicolumn|\n
- reset-formal-default|set-all-lines|unset-all-lines|toggle-longtabular|\n
- set-longtabular|unset-longtabular|set-pwidth|\n
+ reset-formal-default|set-all-lines|toggle-all-lines|unset-all-lines|\n
+ toggle-longtabular|set-longtabular|unset-longtabular|set-pwidth|\n
set-mpwidth|set-rotate-tabular|unset-rotate-tabular|toggle-rotate-tabular|\n
set-rotate-cell|unset-rotate-cell|toggle-rotate-cell|set-usebox|set-lthead|\n
unset-lthead|set-ltfirsthead|unset-ltfirsthead|set-ltfoot|unset-ltfoot|\n
set-ltlastfoot|unset-ltlastfoot|set-ltnewpage|toggle-ltcaption|\n
set-special-column|set-special-multicolumn|set-special-multirow|\n
toggle-booktabs|set-booktabs|unset-booktabs|set-top-space|set-bottom-space|\n
- set-interline-space|set-border-lines|tabular-valign-top|\n
- tabular-valign-middle|tabular-valign-bottom|set-tabular-width|\n
- toggle-varwidth-column
+ set-interline-space|tabular-valign-top|tabular-valign-middle|\n
+ tabular-valign-bottom|set-tabular-width|toggle-varwidth-column|\n
+ set-border-lines|toggle-border-lines|set-inner-lines|toggle-inner-lines
Various math-environment features are handled as well, e.g. add-vline-left/right for\n
the Grid/Array environment.\n
<ARG>: additional argument for some commands, use debug mode to explore its values.
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index 24bde65..17d58dd 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -164,6 +164,7 @@ TabularFeature tabularFeature[] =
{ Tabular::UNSET_MULTIROW, "unset-multirow", false },
{ Tabular::SET_MROFFSET, "set-mroffset", true },
{ Tabular::SET_ALL_LINES, "set-all-lines", false },
+ { Tabular::TOGGLE_ALL_LINES, "toggle-all-lines", false },
{ Tabular::RESET_FORMAL_DEFAULT, "reset-formal-default", false },
{ Tabular::UNSET_ALL_LINES, "unset-all-lines", false },
{ Tabular::TOGGLE_LONGTABULAR, "toggle-longtabular", false },
@@ -201,6 +202,7 @@ TabularFeature tabularFeature[] =
{ Tabular::SET_BOTTOM_SPACE, "set-bottom-space", true },
{ Tabular::SET_INTERLINE_SPACE, "set-interline-space", true },
{ Tabular::SET_BORDER_LINES, "set-border-lines", false },
+ { Tabular::TOGGLE_BORDER_LINES, "toggle-border-lines", false },
{ Tabular::TABULAR_VALIGN_TOP, "tabular-valign-top", false},
{ Tabular::TABULAR_VALIGN_MIDDLE, "tabular-valign-middle", false},
{ Tabular::TABULAR_VALIGN_BOTTOM, "tabular-valign-bottom", false},
@@ -210,6 +212,7 @@ TabularFeature tabularFeature[] =
{ Tabular::SET_DECIMAL_POINT, "set-decimal-point", true },
{ Tabular::SET_TABULAR_WIDTH, "set-tabular-width", true },
{ Tabular::SET_INNER_LINES, "set-inner-lines", false },
+ { Tabular::TOGGLE_INNER_LINES, "toggle-inner-lines", false },
{ Tabular::LAST_ACTION, "", false }
};
@@ -1121,6 +1124,76 @@ bool Tabular::rightLine(idx_type cell, bool const ignore_bt) const
}
+bool Tabular::outsideBorders(
+ row_type const sel_row_start, row_type const sel_row_end,
+ col_type const sel_col_start, col_type const sel_col_end) const
+{
+ if (!use_booktabs)
+ for (row_type r = sel_row_start; r <= sel_row_end; ++r) {
+ if (!leftLine(cellIndex(r, sel_col_start))
+ || !rightLine(cellIndex(r, sel_col_end)))
+ return false;
+ }
+ for (col_type c = sel_col_start; c <= sel_col_end; ++c) {
+ if (!topLine(cellIndex(sel_row_start, c))
+ || !bottomLine(cellIndex(sel_row_end, c)))
+ return false;
+ }
+ return true;
+}
+
+
+bool Tabular::innerBorders(
+ row_type const sel_row_start, row_type const sel_row_end,
+ col_type const sel_col_start, col_type const sel_col_end) const
+{
+ // Single cell has no inner borders
+ if (sel_row_start == sel_row_end && sel_col_start == sel_col_end)
+ return false;
+ for (row_type r = sel_row_start; r <= sel_row_end; ++r)
+ for (col_type c = sel_col_start; c <= sel_col_end; ++c) {
+ idx_type const cell = cellIndex(r, c);
+ if ((r != sel_row_start && !topLine(cell)
+ && cell_info[r][c].multirow != CELL_PART_OF_MULTIROW)
+ || (!use_booktabs
+ && c != sel_col_start && !leftLine(cell)
+ && cell_info[r][c].multicolumn != CELL_PART_OF_MULTICOLUMN))
+ return false;
+ }
+ return true;
+}
+
+
+void Tabular::setLines(
+ row_type const sel_row_start, row_type const sel_row_end,
+ col_type const sel_col_start, col_type const sel_col_end,
+ bool setLinesInnerOnly, bool setLines)
+{
+ for (row_type r = sel_row_start; r <= sel_row_end; ++r)
+ for (col_type c = sel_col_start; c <= sel_col_end; ++c) {
+ idx_type const cell = cellIndex(r, c);
+ if (!(setLinesInnerOnly && r == sel_row_start)
+ // for multirows, cell is taken care of at beginning
+ && cell_info[r][c].multirow != CELL_PART_OF_MULTIROW)
+ setTopLine(cell, setLines);
+ if (!(setLinesInnerOnly && r == sel_row_end)
+ && (r == sel_row_end || (!setLines
+ // for multirows, cell is taken care of at the last part
+ && cell_info[r + 1][c].multirow != CELL_PART_OF_MULTIROW)))
+ setBottomLine(cell, setLines);
+ if (!(setLinesInnerOnly && c == sel_col_start)
+ // for multicolumns, cell is taken care of at beginning
+ && cell_info[r][c].multicolumn != CELL_PART_OF_MULTICOLUMN)
+ setLeftLine(cell, setLines);
+ if (!(setLinesInnerOnly && c == sel_col_end)
+ && (c == sel_col_end || (!setLines
+ // for multicolumns, cell is taken care of at the last part
+ && cell_info[r][c + 1].multicolumn != CELL_PART_OF_MULTICOLUMN)))
+ setRightLine(cell, setLines);
+ }
+}
+
+
pair<bool, bool> Tabular::topLineTrim(idx_type const cell) const
{
if (!use_booktabs)
@@ -5657,9 +5730,28 @@ bool InsetTabular::getFeatureStatus(Cursor & cur, string const & s,
status.setOnOff(tabular.isMultiRow(cur.idx()));
break;
+ case Tabular::TOGGLE_INNER_LINES:
+ status.setOnOff(tabular.innerBorders(sel_row_start, sel_row_end,
+ sel_col_start, sel_col_end));
+ status.setEnabled(!tabular.ltCaption(tabular.cellRow(cur.idx())));
+ break;
+ case Tabular::TOGGLE_ALL_LINES:
+ status.setOnOff(tabular.innerBorders(sel_row_start, sel_row_end,
+ sel_col_start, sel_col_end)
+ && tabular.outsideBorders(sel_row_start, sel_row_end,
+ sel_col_start, sel_col_end));
+ status.setEnabled(!tabular.ltCaption(tabular.cellRow(cur.idx())));
+ break;
case Tabular::SET_ALL_LINES:
case Tabular::UNSET_ALL_LINES:
case Tabular::SET_INNER_LINES:
+ status.setEnabled(!tabular.ltCaption(tabular.cellRow(cur.idx())));
+ break;
+
+ case Tabular::TOGGLE_BORDER_LINES:
+ status.setOnOff(tabular.outsideBorders(sel_row_start, sel_row_end,
+ sel_col_start, sel_col_end));
+ // fall through
case Tabular::SET_BORDER_LINES:
status.setEnabled(!tabular.ltCaption(tabular.cellRow(cur.idx())));
break;
@@ -6511,7 +6603,7 @@ void InsetTabular::tabularFeatures(Cursor & cur,
row_type sel_row_start;
row_type sel_row_end;
bool setLines = false;
- bool setLinesInnerOnly = false;
+ bool toggle = false;
LyXAlignment setAlign = LYX_ALIGN_LEFT;
Tabular::VAlignment setVAlign = Tabular::LYX_VALIGN_TOP;
@@ -6935,27 +7027,36 @@ void InsetTabular::tabularFeatures(Cursor & cur,
break;
}
+ case Tabular::TOGGLE_INNER_LINES:
+ toggle = true;
+ // fall through
case Tabular::SET_INNER_LINES:
- setLinesInnerOnly = true;
+ if (toggle)
+ setLines = !tabular.innerBorders(sel_row_start, sel_row_end,
+ sel_col_start, sel_col_end);
+ else
+ setLines = true;
+ tabular.setLines(sel_row_start, sel_row_end,
+ sel_col_start, sel_col_end,
+ true, setLines);
+ break;
+
+ case Tabular::TOGGLE_ALL_LINES:
+ toggle = true;
// fall through
case Tabular::SET_ALL_LINES:
- setLines = true;
+ if (toggle)
+ setLines = !tabular.innerBorders(sel_row_start, sel_row_end,
+ sel_col_start, sel_col_end)
+ || !tabular.outsideBorders(sel_row_start, sel_row_end,
+ sel_col_start, sel_col_end);
+ else
+ setLines = true;
// fall through
case Tabular::UNSET_ALL_LINES:
- for (row_type r = sel_row_start; r <= sel_row_end; ++r)
- for (col_type c = sel_col_start; c <= sel_col_end; ++c) {
- idx_type const cell = tabular.cellIndex(r, c);
- if (!setLinesInnerOnly || r != sel_row_start)
- tabular.setTopLine(cell, setLines);
- if ((!setLinesInnerOnly || r != sel_row_end)
- && (!setLines || r == sel_row_end))
- tabular.setBottomLine(cell, setLines);
- if ((!setLinesInnerOnly || c != sel_col_end)
- && (!setLines || c == sel_col_end))
- tabular.setRightLine(cell, setLines);
- if ((!setLinesInnerOnly || c != sel_col_start))
- tabular.setLeftLine(cell, setLines);
- }
+ tabular.setLines(sel_row_start, sel_row_end,
+ sel_col_start, sel_col_end,
+ false, setLines);
break;
case Tabular::RESET_FORMAL_DEFAULT:
@@ -6969,16 +7070,24 @@ void InsetTabular::tabularFeatures(Cursor & cur,
}
break;
- case Tabular::SET_BORDER_LINES:
+ case Tabular::TOGGLE_BORDER_LINES:
+ toggle = true;
+ // fall through
+ case Tabular::SET_BORDER_LINES: {
+ bool const border = toggle &&
+ tabular.outsideBorders(sel_row_start, sel_row_end,
+ sel_col_start, sel_col_end)
+ ? false : true;
for (row_type r = sel_row_start; r <= sel_row_end; ++r) {
- tabular.setLeftLine(tabular.cellIndex(r, sel_col_start), true);
- tabular.setRightLine(tabular.cellIndex(r, sel_col_end), true);
+ tabular.setLeftLine(tabular.cellIndex(r, sel_col_start), border);
+ tabular.setRightLine(tabular.cellIndex(r, sel_col_end), border);
}
for (col_type c = sel_col_start; c <= sel_col_end; ++c) {
- tabular.setTopLine(tabular.cellIndex(sel_row_start, c), true);
- tabular.setBottomLine(tabular.cellIndex(sel_row_end, c), true);
+ tabular.setTopLine(tabular.cellIndex(sel_row_start, c), border);
+ tabular.setBottomLine(tabular.cellIndex(sel_row_end, c), border);
}
break;
+ }
case Tabular::TOGGLE_LONGTABULAR:
if (tabular.is_long_tabular)
diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h
index 0d4e7af..645da68 100644
--- a/src/insets/InsetTabular.h
+++ b/src/insets/InsetTabular.h
@@ -341,6 +341,12 @@ public:
///
SET_INNER_LINES,
///
+ TOGGLE_INNER_LINES,
+ ///
+ TOGGLE_BORDER_LINES,
+ ///
+ TOGGLE_ALL_LINES,
+ ///
LAST_ACTION
};
///
@@ -445,6 +451,18 @@ public:
/// If \p ignore_bt is true, we return the state as if booktabs was
/// not used
bool rightLine(idx_type cell, bool const ignore_bt = false) const;
+ /// Returns true if there is an outside border around the selection
+ bool outsideBorders(row_type sel_row_start, row_type sel_row_end,
+ col_type sel_col_start, col_type sel_col_end) const;
+ /// Returns true if there are inside lines in the selection
+ bool innerBorders(row_type sel_row_start, row_type sel_row_end,
+ col_type sel_col_start, col_type sel_col_end) const;
+ /// Sets the grid lines in the selection
+ /// if \p setLinesInnerOnly is true, outside borders are excluded
+ /// if \p setLines is true the lines are set otherwise they are unset
+ void setLines(row_type const sel_row_start, row_type const sel_row_end,
+ col_type const sel_col_start, col_type const sel_col_end,
+ bool setLinesInnerOnly, bool setLines);
/// Returns whether the top line is trimmed left and/or right
std::pair<bool, bool> topLineTrim(idx_type const cell) const;
/// Returns whether the bottom line is trimmed left and/or right
commit a88f67ac6018e9bb10650ae230a1e3437d3821ae
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sun Mar 13 10:26:26 2022 +0100
Fix signal (#12506)
diff --git a/src/frontends/qt/GuiBox.cpp b/src/frontends/qt/GuiBox.cpp
index ddd5775..bda71a6 100644
--- a/src/frontends/qt/GuiBox.cpp
+++ b/src/frontends/qt/GuiBox.cpp
@@ -118,7 +118,7 @@ GuiBox::GuiBox(QWidget * parent) : InsetParamsWidget(parent)
connect(widthED, SIGNAL(textChanged(QString)), this, SIGNAL(changed()));
connect(widthUnitsLC, SIGNAL(selectionChanged(lyx::Length::UNIT)),
this, SIGNAL(changed()));
- connect(valignCO, SIGNAL(highlighted(QString)), this, SIGNAL(changed()));
+ connect(valignCO, SIGNAL(activated(int)), this, SIGNAL(changed()));
connect(heightED, SIGNAL(textChanged(QString)), this, SIGNAL(changed()));
connect(heightUnitsLC, SIGNAL(selectionChanged(lyx::Length::UNIT)),
this, SIGNAL(changed()));
commit d01f1428bee2d49b806367435572c0bee246a72a
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Sat Mar 12 07:41:00 2022 -0500
ctests: log a fixed issue
diff --git a/development/autotests/ctests-costs-benefits.txt b/development/autotests/ctests-costs-benefits.txt
index cc66eb9..9418e63 100644
--- a/development/autotests/ctests-costs-benefits.txt
+++ b/development/autotests/ctests-costs-benefits.txt
@@ -70,6 +70,13 @@ Fix : d66c27de
Report : https://www.mail-archive.com/search?l=mid&q=20220206142559.rpgwki7wruhtasxp%40gary
Fix : f71f71d0
+Report : https://www.mail-archive.com/search?l=mid&q=20220310131706.qdthdjblfpme2wew%40gary
+Fix : dc502c82
+ctests : examples/Welcome_pdf2
+
+
+
+
Examples where upstream (e.g., LaTeX packages) bugs were fixed (more quickly)
because of ctests:
commit dc502c827985e1d0399ab0009aa6f807d14d5267
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Thu Mar 10 17:10:17 2022 +0100
Fixup 12dfdbf0: intercept validate(), not latex()
The fake contents of the inset should be created before validate(), so
that the correct packages are loaded.
diff --git a/src/insets/InsetInfo.cpp b/src/insets/InsetInfo.cpp
index f29f983..67aca81 100644
--- a/src/insets/InsetInfo.cpp
+++ b/src/insets/InsetInfo.cpp
@@ -1226,10 +1226,10 @@ void InsetInfo::build()
}
-void InsetInfo::latex(otexstream & os, OutputParams const & runparams) const
+void InsetInfo::validate(LaTeXFeatures & features) const
{
const_cast<InsetInfo *>(this)->build();
- InsetCollapsible::latex(os, runparams);
+ InsetCollapsible::validate(features);
}
diff --git a/src/insets/InsetInfo.h b/src/insets/InsetInfo.h
index 244f153..3531b41 100644
--- a/src/insets/InsetInfo.h
+++ b/src/insets/InsetInfo.h
@@ -217,7 +217,7 @@ public:
/// should paragraph indentation be omitted in any case?
bool neverIndent() const override { return true; }
///
- void latex(otexstream &, OutputParams const &) const override;
+ void validate(LaTeXFeatures & features) const override;
///
InsetInfoParams params() const { return params_; }
commit a6db1383f5dc1a8647ec3b28e0bc3671a8afd376
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Thu Mar 10 13:35:45 2022 +0100
Get rid of spelling and language marks in info inset
These are just annoying. Note that the language mark cannot currently
be specified in a layout file, but it is not clear that there is a
need for that. Therefore I used the simple and hackish way.
diff --git a/lib/layouts/stdinsets.inc b/lib/layouts/stdinsets.inc
index 606765f..32a0af3 100644
--- a/lib/layouts/stdinsets.inc
+++ b/lib/layouts/stdinsets.inc
@@ -622,6 +622,7 @@ InsetLayout Info
EndHTMLStyle
HTMLTag span
MultiPar false
+ SpellCheck false
End
InsetLayout Info:menu
diff --git a/src/insets/InsetInfo.cpp b/src/insets/InsetInfo.cpp
index 65b0d12..f29f983 100644
--- a/src/insets/InsetInfo.cpp
+++ b/src/insets/InsetInfo.cpp
@@ -38,6 +38,7 @@
#include "frontends/Application.h"
+#include "support/Changer.h"
#include "support/convert.h"
#include "support/debug.h"
#include "support/docstream.h"
@@ -779,6 +780,12 @@ void InsetInfo::metrics(MetricsInfo & mi, Dimension & dim) const
}
+void InsetInfo::draw(PainterInfo & pi, int x, int y) const
+{
+ Changer chg = changeVar(lyxrc.mark_foreign_language, false);
+ InsetCollapsible::draw(pi, x, y);
+}
+
void InsetInfo::updateBuffer(ParIterator const & it, UpdateType utype, bool const deleted)
{
diff --git a/src/insets/InsetInfo.h b/src/insets/InsetInfo.h
index 3cfdec1..244f153 100644
--- a/src/insets/InsetInfo.h
+++ b/src/insets/InsetInfo.h
@@ -203,8 +203,12 @@ public:
void setInfo(std::string const & info);
///
void updateBuffer(ParIterator const & it, UpdateType utype, bool const deleted = false) override;
+ ///
void metrics(MetricsInfo & mi, Dimension & dim) const override;
///
+ void draw(PainterInfo & pi, int x, int y) const override;
+
+ ///
docstring toolTip(BufferView const & bv, int x, int y) const override;
///
std::string contextMenu(BufferView const &, int, int) const override;
commit 12dfdbf0a3e667544fd3f0af7fe86b26909fd6a0
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Thu Mar 10 12:19:44 2022 +0100
Fix crash in InsetInfo when bindings change
This is actually a generic InsetInfo issue:
1/ the contents of the inset is computed in updateBuffer, so that it
is available for drawing but also for latex output (think batch
export). When it is called, it deletes the existing inner paragraph
and replaces it by a new one
2/ metrics build a new Row object that represents to paragraph
3/ draw() relies on this information
Now, imagine that updateBuffer() is called after metrics(). This can
happen for many reasons, and does happen here (display a shortcut info
and change the shortcut file from cua to emacs).
This problem has been here forever, but is only visible now that the
(experimental) bookmark display code needs to read the underlying
paragraph id.
The solution is to compute the inset contents at metrics time. This
is done by moving the relevant code to a new standalone build() method
that is called in metrics() but also in latex().
diff --git a/src/insets/InsetInfo.cpp b/src/insets/InsetInfo.cpp
index 61b39ad..65b0d12 100644
--- a/src/insets/InsetInfo.cpp
+++ b/src/insets/InsetInfo.cpp
@@ -772,7 +772,16 @@ bool InsetInfo::forceLocalFontSwitch() const
}
-void InsetInfo::updateBuffer(ParIterator const & it, UpdateType utype, bool const deleted) {
+void InsetInfo::metrics(MetricsInfo & mi, Dimension & dim) const
+{
+ const_cast<InsetInfo *>(this)->build();
+ InsetCollapsible::metrics(mi, dim);
+}
+
+
+void InsetInfo::updateBuffer(ParIterator const & it, UpdateType utype, bool const deleted)
+
+{
// If the Buffer is a clone, then we neither need nor want to do any
// of what follows. We want, rather, just to inherit how things were
// in the original Buffer. This is especially important for VCS.
@@ -780,9 +789,22 @@ void InsetInfo::updateBuffer(ParIterator const & it, UpdateType utype, bool cons
// than in the Buffer we were exporting.
if (buffer().isClone())
return;
-
BufferParams const & bp = buffer().params();
params_.lang = it.paragraph().getFontSettings(bp, it.pos()).language();
+ InsetCollapsible::updateBuffer(it, utype, deleted);
+}
+
+
+void InsetInfo::build()
+{
+ // If the Buffer is a clone, then we neither need nor want to do any
+ // of what follows. We want, rather, just to inherit how things were
+ // in the original Buffer. This is especially important for VCS.
+ // Otherwise, we could in principle have different settings here
+ // than in the Buffer we were exporting.
+ if (buffer().isClone())
+ return;
+
Language const * tryguilang = languages.getFromCode(Messages::guiLanguage());
// Some info insets use the language of the GUI (if available)
Language const * guilang = tryguilang ? tryguilang : params_.lang;
@@ -1106,7 +1128,7 @@ void InsetInfo::updateBuffer(ParIterator const & it, UpdateType utype, bool cons
else if (params_.name == "path")
setText(from_utf8(os::latex_path(buffer().filePath())), params_.lang);
else if (params_.name == "class")
- setText(from_utf8(bp.documentClass().name()), params_.lang);
+ setText(from_utf8(buffer().params().documentClass().name()), params_.lang);
break;
}
case InsetInfoParams::VCS_INFO: {
@@ -1194,7 +1216,13 @@ void InsetInfo::updateBuffer(ParIterator const & it, UpdateType utype, bool cons
// Just to do something with that string
LYXERR(Debug::INFO, "info inset text: " << gui);
- InsetCollapsible::updateBuffer(it, utype, deleted);
+}
+
+
+void InsetInfo::latex(otexstream & os, OutputParams const & runparams) const
+{
+ const_cast<InsetInfo *>(this)->build();
+ InsetCollapsible::latex(os, runparams);
}
diff --git a/src/insets/InsetInfo.h b/src/insets/InsetInfo.h
index 8f574fc..3cfdec1 100644
--- a/src/insets/InsetInfo.h
+++ b/src/insets/InsetInfo.h
@@ -203,6 +203,7 @@ public:
void setInfo(std::string const & info);
///
void updateBuffer(ParIterator const & it, UpdateType utype, bool const deleted = false) override;
+ void metrics(MetricsInfo & mi, Dimension & dim) const override;
///
docstring toolTip(BufferView const & bv, int x, int y) const override;
///
@@ -212,6 +213,8 @@ public:
/// should paragraph indentation be omitted in any case?
bool neverIndent() const override { return true; }
///
+ void latex(otexstream &, OutputParams const &) const override;
+ ///
InsetInfoParams params() const { return params_; }
private:
@@ -225,6 +228,8 @@ private:
void setText(docstring const & str, Language const *);
// make sure that the other version of setText is still available.
using InsetCollapsible::setText;
+ /// Compute the information
+ void build();
///
bool initialized_;
///
commit 498a5cd487482f1a97c2c9f305b9e10fc041631e
Author: Kornel Benko <kornel at lyx.org>
Date: Thu Mar 10 10:51:02 2022 +0100
FindAdv: Added possibility to search also in deactvated branches
To include content of deactivated branches to the searched region
one has to use the lyx-funcion
search-ignore non-output-content true
diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp
index 704b37a..164327b 100644
--- a/src/LyXAction.cpp
+++ b/src/LyXAction.cpp
@@ -3508,7 +3508,7 @@ void LyXAction::init()
* \var lyx::FuncCode lyx::LFUN_SEARCH_IGNORE
* \li Action: Enables/disables searching for features in findadv
* \li Syntax: search-ignore <type> <value>
- * \li Params: <type>: language|color|sectioning|font|series|shape|family|markup|underline|strike|deleted\n
+ * \li Params: <type>: language|color|sectioning|font|series|shape|family|markup|underline|strike|deleted|non-output-content\n
* \li Params: <value>: true|false
* \endvar
*/
diff --git a/src/OutputParams.h b/src/OutputParams.h
index a909ddd..d00ec02 100644
--- a/src/OutputParams.h
+++ b/src/OutputParams.h
@@ -426,12 +426,13 @@ public:
/// Are we generating this material for use by advanced search?
enum Search {
- NoSearch,
- SearchWithDeleted,
- SearchWithoutDeleted
+ NoSearch = 0,
+ SearchWithDeleted = 1,
+ SearchWithoutDeleted = 2,
+ SearchNonOutput = 8
};
- enum Search for_searchAdv = NoSearch;
+ int for_searchAdv = NoSearch;
/// Are we generating this material for instant preview?
bool for_preview = false;
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index b9ac139..be133b1 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -2643,7 +2643,7 @@ void Paragraph::latex(BufferParams const & bparams,
if (runparams.for_searchAdv == OutputParams::NoSearch)
output_changes = bparams.output_changes;
else
- output_changes = (runparams.for_searchAdv == OutputParams::SearchWithDeleted);
+ output_changes = ((runparams.for_searchAdv & OutputParams::SearchWithDeleted) != 0);
if (c == META_INSET
&& i >= start_pos && (end_pos == -1 || i < end_pos)) {
if (isDeleted(i))
diff --git a/src/insets/InsetBranch.cpp b/src/insets/InsetBranch.cpp
index be8e551..2b60ca6 100644
--- a/src/insets/InsetBranch.cpp
+++ b/src/insets/InsetBranch.cpp
@@ -314,7 +314,7 @@ bool InsetBranch::producesOutput() const
void InsetBranch::latex(otexstream & os, OutputParams const & runparams) const
{
- if (producesOutput()) {
+ if (producesOutput() || ((runparams.for_searchAdv & OutputParams::SearchNonOutput) != 0)) {
OutputParams rp = runparams;
rp.inbranch = true;
InsetText::latex(os, rp);
@@ -328,7 +328,7 @@ void InsetBranch::latex(otexstream & os, OutputParams const & runparams) const
int InsetBranch::plaintext(odocstringstream & os,
OutputParams const & runparams, size_t max_length) const
{
- if (!producesOutput())
+ if (!producesOutput() && ((runparams.for_searchAdv & OutputParams::SearchNonOutput) == 0))
return 0;
int len = InsetText::plaintext(os, runparams, max_length);
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index a3ce988..54bceaa 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -106,6 +106,8 @@ class IgnoreFormats {
///
void setIgnoreDeleted(bool value);
///
+ bool getNonContent() const { return searchNonContent_; }
+ ///
void setIgnoreFormat(string const & type, bool value, bool fromUser = true);
private:
@@ -132,6 +134,8 @@ private:
bool userSelectedIgnoreLanguage_ = false;
///
bool ignoreDeleted_ = true;
+ ///
+ bool searchNonContent_ = true;
};
void IgnoreFormats::setIgnoreFormat(string const & type, bool value, bool fromUser)
@@ -177,6 +181,9 @@ void IgnoreFormats::setIgnoreFormat(string const & type, bool value, bool fromUs
else if (type == "deleted") {
ignoreDeleted_ = value;
}
+ else if (type == "non-output-content") {
+ searchNonContent_ = !value;
+ }
}
// The global variable that can be changed from outside
@@ -1059,6 +1066,9 @@ static docstring buffer_to_latex(Buffer & buffer)
runparams.for_searchAdv = OutputParams::SearchWithoutDeleted;
else
runparams.for_searchAdv = OutputParams::SearchWithDeleted;
+ if (ignoreFormats.getNonContent()) {
+ runparams.for_searchAdv |= OutputParams::SearchNonOutput;
+ }
pit_type const endpit = buffer.paragraphs().size();
for (pit_type pit = 0; pit != endpit; ++pit) {
TeXOnePar(buffer, buffer.text(), pit, os, runparams);
@@ -1088,6 +1098,9 @@ static docstring stringifySearchBuffer(Buffer & buffer, FindAndReplaceOptions co
else {
runparams.for_searchAdv = OutputParams::SearchWithDeleted;
}
+ if (ignoreFormats.getNonContent()) {
+ runparams.for_searchAdv |= OutputParams::SearchNonOutput;
+ }
for (pos_type pit = pos_type(0); pit < (pos_type)buffer.paragraphs().size(); ++pit) {
Paragraph const & par = buffer.paragraphs().at(pit);
LYXERR(Debug::FIND, "Adding to search string: '"
@@ -3829,6 +3842,9 @@ docstring stringifyFromCursor(DocIterator const & cur, int len)
else {
runparams.for_searchAdv = OutputParams::SearchWithDeleted;
}
+ if (ignoreFormats.getNonContent()) {
+ runparams.for_searchAdv |= OutputParams::SearchNonOutput;
+ }
LYXERR(Debug::FIND, "Stringifying with cur: "
<< cur << ", from pos: " << cur.pos() << ", end: " << end);
return par.asString(cur.pos(), end,
@@ -3853,7 +3869,6 @@ docstring stringifyFromCursor(DocIterator const & cur, int len)
return docstring();
}
-
/** Computes the LaTeX export of buf starting from cur and ending len positions
* after cur, if len is positive, or at the paragraph or innermost inset end
* if len is -1.
@@ -3882,6 +3897,9 @@ docstring latexifyFromCursor(DocIterator const & cur, int len)
else {
runparams.for_searchAdv = OutputParams::SearchWithDeleted;
}
+ if (ignoreFormats.getNonContent()) {
+ runparams.for_searchAdv |= OutputParams::SearchNonOutput;
+ }
if (cur.inTexted()) {
// @TODO what about searching beyond/across paragraph breaks ?
diff --git a/src/output_latex.cpp b/src/output_latex.cpp
index bf841fe..61537c8 100644
--- a/src/output_latex.cpp
+++ b/src/output_latex.cpp
@@ -465,7 +465,7 @@ void TeXEnvironment(Buffer const & buf, Text const & text,
if (runparams.for_searchAdv == OutputParams::NoSearch)
output_changes = buf.params().output_changes;
else
- output_changes = (runparams.for_searchAdv == OutputParams::SearchWithDeleted);
+ output_changes = ((runparams.for_searchAdv & OutputParams::SearchWithDeleted) != 0);
if (size_t(pit + 1) < paragraphs.size()) {
ParagraphList::const_iterator nextpar = paragraphs.iterator_at(pit + 1);
Paragraph const & cpar = paragraphs.at(pit);
@@ -796,7 +796,7 @@ void TeXOnePar(Buffer const & buf,
// Do not output empty commands if the whole paragraph has
// been deleted with ct and changes are not output.
- if ((runparams_in.for_searchAdv != OutputParams::SearchWithDeleted) && style.latextype != LATEX_ENVIRONMENT
+ if (((runparams_in.for_searchAdv & OutputParams::SearchWithDeleted) == 0) && style.latextype != LATEX_ENVIRONMENT
&& !par.empty() && par.isDeleted(0, par.size()) && !bparams.output_changes)
return;
@@ -1711,7 +1711,7 @@ void latexParagraphs(Buffer const & buf,
if (runparams.for_searchAdv == OutputParams::NoSearch)
output_changes = bparams.output_changes;
else
- output_changes = (runparams.for_searchAdv == OutputParams::SearchWithDeleted);
+ output_changes = ((runparams.for_searchAdv & OutputParams::SearchWithDeleted) != 0);
bool const lastpar = size_t(pit + 1) >= paragraphs.size();
if (!lastpar) {
ParagraphList::const_iterator nextpar = paragraphs.iterator_at(pit + 1);
commit b257e2999b71d1caf619cb99dda0197c9a4141c8
Author: Pavel Sanda <sanda at lyx.org>
Date: Tue Mar 8 21:50:48 2022 +0100
Correct fix for search-ignore docs.
diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp
index a4856bf..704b37a 100644
--- a/src/LyXAction.cpp
+++ b/src/LyXAction.cpp
@@ -3508,7 +3508,7 @@ void LyXAction::init()
* \var lyx::FuncCode lyx::LFUN_SEARCH_IGNORE
* \li Action: Enables/disables searching for features in findadv
* \li Syntax: search-ignore <type> <value>
- * \li Params: <type>: language|color|sectioning|font|series|shape|family|markup|underline|strike|deleted
+ * \li Params: <type>: language|color|sectioning|font|series|shape|family|markup|underline|strike|deleted\n
* \li Params: <value>: true|false
* \endvar
*/
commit ae31e1695268347de373eedf187523ac5736b438
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Tue Mar 8 11:53:10 2022 -0500
lyx2lyx: prefix warning messages with "lyx2lyx"
Both lyx2lyx and LyX write output to the terminal, and it's helpful
to know which messages are coming from lyx2lyx. For example, before
this commit if we opened a document in LyX that has a newer file format than
lyx2lyx can deal with, we see the following output in the terminal:
Warning: 619: Format not supported.
Warning: Quitting.
Error: Document format failure
The first two lines (the warnings) are output from lyx2lyx, and the
third is output by LyX. This output was particularly confusing
because I first thought "LyX tries to quit if the document is too
new?", but in fact LyX still stays open; it just doesn't open the
document. After this change, the output is now the following:
lyx2lyx warning: 619: Format not supported.
lyx2lyx warning: Quitting.
Error: Document format failure
diff --git a/lib/lyx2lyx/LyX.py b/lib/lyx2lyx/LyX.py
index 3d62da5..50c98d2 100644
--- a/lib/lyx2lyx/LyX.py
+++ b/lib/lyx2lyx/LyX.py
@@ -294,7 +294,7 @@ class LyX_base:
""" Emits warning to self.error, if the debug_level is less
than the self.debug."""
if debug_level <= self.debug:
- self.err.write("Warning: " + message + "\n")
+ self.err.write("lyx2lyx warning: " + message + "\n")
def error(self, message):
commit d15a96d93d0af675a88cfa90ae1a16f161914385
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Tue Mar 8 16:16:50 2022 +0100
updateBuffer needs an undo group
Otherwise warning messages appear when loading a file that contains
missing modules, for example (which may require to adjust depths in
document).
diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index 5295a4b..1867e75 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -4935,6 +4935,10 @@ void Buffer::updateBuffer(UpdateScope scope, UpdateType utype) const
{
LBUFERR(!text().paragraphs().empty());
+ // This can be called when loading a file, so that there be no
+ // open undo group.
+ UndoGroupHelper ugh(const_cast<Buffer *>(this));
+
// Use the master text class also for child documents
Buffer const * const master = masterBuffer();
DocumentClass const & textclass = master->params().documentClass();
commit 955308de57822070329a54538d528967c87f0883
Author: Enrico Forestieri <forenr at lyx.org>
Date: Sun Mar 6 23:01:56 2022 +0100
Amend 3f9e21b8
This avoids a compile error on cygwin.
diff --git a/src/Encoding.h b/src/Encoding.h
index 9668336..4913ddc 100644
--- a/src/Encoding.h
+++ b/src/Encoding.h
@@ -113,10 +113,10 @@ public:
private:
/// LaTeX commands (text mode) for this character. The first one is the default, the others
/// are only present for compatibility other ways users may encode the character
- std::vector<trivdocstring> text_commands_;
+ std::vector<docstring> text_commands_;
/// LaTeX command (math mode) for this character. The first one is the default, the others
// /// are only present for compatibility other ways users may encode the character
- std::vector<trivdocstring> math_commands_;
+ std::vector<docstring> math_commands_;
/// Needed LaTeX preamble (or feature) for text mode
trivstring text_preamble_;
/// Needed LaTeX preamble (or feature) for math mode
commit 1c2628b5de383724daa8a203ad3878044a5eb304
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sun Mar 6 17:27:28 2022 +0100
Do not try to access user_defined_bullet with nesting > 3
We only have 4 nesting labels available.
In the workarea, display a fallback label with deeper nesting.
diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index 54272a7..5295a4b 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -5158,7 +5158,10 @@ void Buffer::Impl::setLabel(ParIterator & it, UpdateType utype) const
switch(layout.labeltype) {
case LABEL_ITEMIZE: {
par.params().labelString(
- bp.user_defined_bullet(par.itemdepth).getLabel());
+ (par.itemdepth < 4)
+ ? bp.user_defined_bullet(par.itemdepth).getLabel()
+ // Display fallback for too deeply nested items
+ : bformat(from_ascii("[?%1$d]"), int(par.itemdepth + 1)));
break;
}
diff --git a/src/RowPainter.cpp b/src/RowPainter.cpp
index 84848ec..4f5593e 100644
--- a/src/RowPainter.cpp
+++ b/src/RowPainter.cpp
@@ -434,7 +434,7 @@ void RowPainter::paintLabel() const
FontInfo lfont = font;
// bullet?
- if (layout.labeltype == LABEL_ITEMIZE) {
+ if (layout.labeltype == LABEL_ITEMIZE && par_.itemdepth < 4) {
// get label font size from document properties
lfont.setSize(pi_.base.bv->buffer().params().user_defined_bullet(par_.itemdepth).getFontSize());
// realize to avoid assertion
commit a175caf256a5d3918a23e1c0055caf80c6e1b2e7
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Sun Mar 6 09:15:16 2022 -0500
ctests: uninvert 2 LuaTeX tests fixed on TL21
These exports now pass, and a quick check of the output looks good.
These might have been fixed (although it is just a guess) due to the
following entry in the changelog of luaotfload v3.19:
A new algorithm for selecting fonts based on font family names
allows to more reliably load fonts based on their family name.
This commit reverts 2a665dcc.
diff --git a/development/autotests/invertedTests b/development/autotests/invertedTests
index ffef561..4a3be50 100644
--- a/development/autotests/invertedTests
+++ b/development/autotests/invertedTests
@@ -281,17 +281,6 @@ export/export/latex/languages/he-.*(dvi3|pdf5)_texF
export/export/latex/languages/supported-languages_(dvi3|pdf5)_texF
export/export/latex/languages/supported-languages_babel_(dvi3|pdf5)_texF
export/templates/Articles/Hebrew_Article_%28KOMA-Script%29_(dvi3|pdf5)_texF
-#
-# DavidCLM is not found. Comments from Jürgen:
-# luaotfload does not find "DavidCLM". In fact, at least on my system,
-# there is no such font, only "DavidCLM Medium" (and other shapes). This
-# one is found. Apparently, luaotfload cannot infer from the one to the
-# other.
-# As opposed to LuaTEX, XeTeX also queries TEXMF so maybe it just finds
-# its font there.
-# See ML thread:
-# https://www.mail-archive.com/search?l=mid&q=60ee3809d30056c191d4b2e8c57a7eda60b3e382.camel%40lyx.org
-export/templates/Articles/Hebrew_Article_%28KOMA-Script%29_(dvi3|pdf5)_systemF
# Ukrainian
commit b296941d90ef1b09bb8c64d9f312e1fedf2c9720
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sun Mar 6 09:48:39 2022 +0100
Revert "Don't asssert on (too) deeply nested items"
This reverts commit 44d1756783262ae0af39991e18ec9bcb847fb439.
diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp
index b1846be..95aa913 100644
--- a/src/BufferParams.cpp
+++ b/src/BufferParams.cpp
@@ -633,45 +633,29 @@ bool BufferParams::spellignored(WordLangTuple const & wl) const
Bullet & BufferParams::temp_bullet(lyx::size_type const index)
{
- if (index < 4)
- return pimpl_->temp_bullets[index];
- // Fallback bullet if we are too deeply nested
- docstring const fb = from_ascii("?") + convert<docstring>(index + 1);
- Bullet const & res = Bullet(fb);
- return const_cast<Bullet&>(res);
+ LASSERT(index < 4, return pimpl_->temp_bullets[0]);
+ return pimpl_->temp_bullets[index];
}
Bullet const & BufferParams::temp_bullet(lyx::size_type const index) const
{
- if (index < 4)
- return pimpl_->temp_bullets[index];
- // Fallback bullet if we are too deeply nested
- docstring const fb = from_ascii("?") + convert<docstring>(index + 1);
- Bullet const & res = Bullet(fb);
- return res;
+ LASSERT(index < 4, return pimpl_->temp_bullets[0]);
+ return pimpl_->temp_bullets[index];
}
Bullet & BufferParams::user_defined_bullet(lyx::size_type const index)
{
- if (index < 4)
- return pimpl_->user_defined_bullets[index];
- // Fallback bullet if we are too deeply nested
- docstring const fb = from_ascii("?") + convert<docstring>(index + 1);
- Bullet const & res = Bullet(fb);
- return const_cast<Bullet&>(res);
+ LASSERT(index < 4, return pimpl_->temp_bullets[0]);
+ return pimpl_->user_defined_bullets[index];
}
Bullet const & BufferParams::user_defined_bullet(lyx::size_type const index) const
{
- if (index < 4)
- return pimpl_->user_defined_bullets[index];
- // Fallback bullet if we are too deeply nested
- docstring const fb = from_ascii("?") + convert<docstring>(index + 1);
- Bullet const & res = Bullet(fb);
- return res;
+ LASSERT(index < 4, return pimpl_->temp_bullets[0]);
+ return pimpl_->user_defined_bullets[index];
}
commit 44d1756783262ae0af39991e18ec9bcb847fb439
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Mar 5 14:17:37 2022 +0100
Don't asssert on (too) deeply nested items
Use a fallback label instead.
diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp
index 95aa913..b1846be 100644
--- a/src/BufferParams.cpp
+++ b/src/BufferParams.cpp
@@ -633,29 +633,45 @@ bool BufferParams::spellignored(WordLangTuple const & wl) const
Bullet & BufferParams::temp_bullet(lyx::size_type const index)
{
- LASSERT(index < 4, return pimpl_->temp_bullets[0]);
- return pimpl_->temp_bullets[index];
+ if (index < 4)
+ return pimpl_->temp_bullets[index];
+ // Fallback bullet if we are too deeply nested
+ docstring const fb = from_ascii("?") + convert<docstring>(index + 1);
+ Bullet const & res = Bullet(fb);
+ return const_cast<Bullet&>(res);
}
Bullet const & BufferParams::temp_bullet(lyx::size_type const index) const
{
- LASSERT(index < 4, return pimpl_->temp_bullets[0]);
- return pimpl_->temp_bullets[index];
+ if (index < 4)
+ return pimpl_->temp_bullets[index];
+ // Fallback bullet if we are too deeply nested
+ docstring const fb = from_ascii("?") + convert<docstring>(index + 1);
+ Bullet const & res = Bullet(fb);
+ return res;
}
Bullet & BufferParams::user_defined_bullet(lyx::size_type const index)
{
- LASSERT(index < 4, return pimpl_->temp_bullets[0]);
- return pimpl_->user_defined_bullets[index];
+ if (index < 4)
+ return pimpl_->user_defined_bullets[index];
+ // Fallback bullet if we are too deeply nested
+ docstring const fb = from_ascii("?") + convert<docstring>(index + 1);
+ Bullet const & res = Bullet(fb);
+ return const_cast<Bullet&>(res);
}
Bullet const & BufferParams::user_defined_bullet(lyx::size_type const index) const
{
- LASSERT(index < 4, return pimpl_->temp_bullets[0]);
- return pimpl_->user_defined_bullets[index];
+ if (index < 4)
+ return pimpl_->user_defined_bullets[index];
+ // Fallback bullet if we are too deeply nested
+ docstring const fb = from_ascii("?") + convert<docstring>(index + 1);
+ Bullet const & res = Bullet(fb);
+ return res;
}
commit ed2e242b1e9c52d9c05892445bed0f0fceb6f4d5
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Mar 5 13:45:27 2022 +0100
Whitespace
diff --git a/src/Bullet.cpp b/src/Bullet.cpp
index 00a13ec..4308189 100644
--- a/src/Bullet.cpp
+++ b/src/Bullet.cpp
@@ -123,7 +123,6 @@ int Bullet::getSize() const
FontSize Bullet::getFontSize() const
{
-
if (size >= 0)
return bulletFontSize(size);
else
commit c02fe70797a0b613fae379a84a9a97a8dc4e022f
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Mar 5 09:00:47 2022 +0100
Use a more transparent lexic for bullet label functions
diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index 0f7ecb0..54272a7 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -5158,7 +5158,7 @@ void Buffer::Impl::setLabel(ParIterator & it, UpdateType utype) const
switch(layout.labeltype) {
case LABEL_ITEMIZE: {
par.params().labelString(
- bp.user_defined_bullet(par.itemdepth).getUnicode());
+ bp.user_defined_bullet(par.itemdepth).getLabel());
break;
}
diff --git a/src/Bullet.cpp b/src/Bullet.cpp
index 1e61777..00a13ec 100644
--- a/src/Bullet.cpp
+++ b/src/Bullet.cpp
@@ -54,7 +54,7 @@ Bullet::Bullet(int f, int c, int s)
Bullet::Bullet(docstring const & t)
- : font(MIN), character(MIN), size(MIN), user_text(1), text(t), unicode(t)
+ : font(MIN), character(MIN), size(MIN), user_text(1), text(t), label(t)
{
testInvariant();
}
@@ -98,7 +98,7 @@ void Bullet::setText(docstring const & t)
font = character = size = MIN;
user_text = 1;
text = t;
- unicode = t;
+ label = t;
testInvariant();
}
@@ -139,7 +139,7 @@ Bullet & Bullet::operator=(Bullet const & b)
size = b.size;
user_text = b.user_text;
text = b.text;
- unicode = b.unicode;
+ label = b.label;
this->testInvariant();
return *this;
}
@@ -153,11 +153,11 @@ docstring const & Bullet::getText() const
}
-docstring const & Bullet::getUnicode() const
+docstring const & Bullet::getLabel() const
{
if (user_text == 0)
generateText();
- return unicode;
+ return label;
}
@@ -196,7 +196,7 @@ void Bullet::generateText() const
if ((font >= 0) && (character >= 0)) {
text = bulletEntry(font, character);
- unicode = bulletUnicode(font, character);
+ label = bulletLabel(font, character);
if (size >= 0)
text = bulletSize(size) + text;
user_text = -1;
@@ -379,7 +379,7 @@ FontSize Bullet::bulletFontSize(int s)
}
-docstring const Bullet::bulletUnicode(int f, int c)
+docstring const Bullet::bulletLabel(int f, int c)
{
// see comment at bulletEntry
static int UnicodeBulletPanel0[CHARMAX] = {
diff --git a/src/Bullet.h b/src/Bullet.h
index 0de40c1..662fa22 100644
--- a/src/Bullet.h
+++ b/src/Bullet.h
@@ -45,10 +45,10 @@ public:
int getSize() const;
///
FontSize getFontSize() const;
- ///
+ /// The text to be output
docstring const & getText() const;
- ///
- docstring const & getUnicode() const;
+ /// The label displayed in the workarea
+ docstring const & getLabel() const;
///
Bullet & operator=(Bullet const &);
///
@@ -85,7 +85,7 @@ private:
///
static FontSize bulletFontSize(int);
///
- static docstring const bulletUnicode(int, int);
+ static docstring const bulletLabel(int, int);
///
int font;
@@ -111,7 +111,7 @@ private:
and size settings.
*/
mutable docstring text;
- mutable docstring unicode;
+ mutable docstring label;
};
commit ad31043987bd55f0519448fd46dcf8ed96ce6475
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Mar 5 08:51:32 2022 +0100
Remove unused function
diff --git a/src/Bullet.h b/src/Bullet.h
index b31602c..0de40c1 100644
--- a/src/Bullet.h
+++ b/src/Bullet.h
@@ -81,8 +81,6 @@ private:
///
void generateText() const;
///
- void generateUnicode() const;
- ///
static docstring const bulletSize(int);
///
static FontSize bulletFontSize(int);
commit ffc1976b972accc6ce48f6befaa7254a7f353156
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sat Mar 5 03:46:22 2022 +0100
Avoid copies of vectors.
diff --git a/src/Encoding.h b/src/Encoding.h
index 6016f05..9668336 100644
--- a/src/Encoding.h
+++ b/src/Encoding.h
@@ -79,11 +79,11 @@ public:
/// LaTeX command (text mode) for this character
docstring textCommand() const { return text_commands_[0]; }
/// All known LaTeX commands (text mode) for this character
- std::vector<docstring> textCommands() const { return text_commands_; }
+ const std::vector<docstring>& textCommands() const { return text_commands_; }
/// LaTeX command (math mode) for this character
docstring mathCommand() const { return math_commands_[0]; }
/// All known LaTeX commands (math mode) for this character
- std::vector<docstring> mathCommands() const { return math_commands_; }
+ const std::vector<docstring>& mathCommands() const { return math_commands_; }
/// Needed LaTeX preamble (or feature) for text mode
std::string textPreamble() const { return text_preamble_; }
/// Needed LaTeX preamble (or feature) for math mode
commit 8496b7dc9ae6fff7c35446f00c1fb937e399ddea
Author: Enrico Forestieri <forenr at lyx.org>
Date: Sat Mar 5 02:19:38 2022 +0100
Compile fix
diff --git a/src/support/os_cygwin.cpp b/src/support/os_cygwin.cpp
index 5d43737..0261e2c 100644
--- a/src/support/os_cygwin.cpp
+++ b/src/support/os_cygwin.cpp
@@ -342,7 +342,7 @@ string latex_path(string const & p)
if (windows_style_tex_paths_ && FileName::isAbsolute(p)) {
string dos_path = convert_path(p, PathStyle(windows));
- LYXERR(Debug::LATEX, "<Path correction for LaTeX> ["
+ LYXERR(Debug::OUTFILE, "<Path correction for LaTeX> ["
<< p << "]->>[" << dos_path << ']');
return dos_path;
}
commit ada2fd2d657ec03902c97588a876ae23271d45ac
Author: Kornel Benko <kornel at lyx.org>
Date: Fri Mar 4 17:40:36 2022 +0100
Update sk.po
diff --git a/po/sk.po b/po/sk.po
index 064fb9a..ecd223a 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: LyX-2.4\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2022-02-19 14:36+0100\n"
-"PO-Revision-Date: 2022-02-19 14:53+0000\n"
+"POT-Creation-Date: 2022-03-03 10:04+0100\n"
+"PO-Revision-Date: 2022-03-04 16:38+0000\n"
"Last-Translator: Kornel Benko <kornel at lyx.org>\n"
"Language-Team: Slovak <kornel at lyx.org>\n"
"Language: sk\n"
@@ -16846,10 +16846,6 @@ msgstr "Výpisy"
msgid "Margin"
msgstr "Okraj"
-#: lib/layouts/stdinsets.inc:51
-msgid "foot"
-msgstr "päta"
-
#: lib/layouts/stdinsets.inc:177
msgid "Greyedout"
msgstr "Zosivelé"
@@ -35491,6 +35487,20 @@ msgstr ""
msgid "No conversion of %1$s is needed after all"
msgstr "Konverziu %1$s netreba"
+#: src/insets/InsetGraphics.cpp:832
+msgid "Graphic not specified. Falling back to `draft' mode."
+msgstr "Grafika nie je špecifikovaná. Padám naspäť na `predbežný' spôsob."
+
+#: src/insets/InsetGraphics.cpp:833
+#, c-format
+msgid "Graphic `%1$s' was not found. Falling back to `draft' mode."
+msgstr ""
+"Grafika `%1$s' nie je špecifikovaná. Padám naspäť na `predbežný' spôsob."
+
+#: src/insets/InsetGraphics.cpp:836
+msgid "Graphic not found!"
+msgstr "Grafika nenájdená!"
+
#: src/insets/InsetGraphics.cpp:906
#, c-format
msgid ""
@@ -37058,9 +37068,9 @@ msgstr "ÄÃtanie konfiguraÄných súborov"
msgid "Custom keyboard definition"
msgstr "Vlastná definÃcia klávesnice"
-#: src/support/debug.cpp:50
-msgid "LaTeX generation/execution"
-msgstr "Spúšťanie/generovanie LaTeX-u"
+#: src/support/debug.cpp:50 src/support/debug.cpp:51
+msgid "Output source file generation/processing"
+msgstr "Spúšťanie/generovanie výstupného súboru"
#: src/support/debug.cpp:51
msgid "Math editor"
commit 4b58e3b4feb08e2c68309bf8c2c7efbfdcb7bbf1
Author: Kornel Benko <kornel at lyx.org>
Date: Fri Mar 4 17:29:37 2022 +0100
Format of description of function search-ignore
diff --git a/lib/doc/LFUNs.lyx b/lib/doc/LFUNs.lyx
index e9790bb..29729bd 100644
--- a/lib/doc/LFUNs.lyx
+++ b/lib/doc/LFUNs.lyx
@@ -1,5 +1,5 @@
#LyX 2.4 created this file. For more info see https://www.lyx.org/
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
@@ -7770,7 +7770,11 @@ Syntax search-ignore <type> <value>
\begin_layout Description
Params <type>: language|color|sectioning|font|series|shape|family|markup|underli
-ne|strike|deleted<value>: true|false
+ne|strike|deleted
+\begin_inset Newline newline
+\end_inset
+
+<value>: true|false
\end_layout
\begin_layout Subsection*
commit 422bb60a14cd0d8e9dce24b7c92eefd0890ce9f7
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Thu Mar 3 01:57:16 2022 +0100
tex2lyx tests: set the encoding when reading a file, not all OSes default to UTF-8
diff --git a/src/tex2lyx/test/runtests.py b/src/tex2lyx/test/runtests.py
index 2ccaddc..103c74e 100755
--- a/src/tex2lyx/test/runtests.py
+++ b/src/tex2lyx/test/runtests.py
@@ -127,8 +127,8 @@ def main(argv):
else:
t1 = time.ctime(os.path.getmtime(lyxfile1))
t2 = time.ctime(os.path.getmtime(lyxfile2))
- f1 = open(lyxfile1, 'r')
- f2 = open(lyxfile2, 'r')
+ f1 = open(lyxfile1, 'r', encoding="utf8")
+ f2 = open(lyxfile2, 'r', encoding="utf8")
lines1 = f1.readlines()
i1 = 0
for linex in lines1:
commit b5b3f56abb036edf2e03c6449e5ae16d576401ad
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Wed Mar 2 12:48:10 2022 +0100
Encoding::fromLaTeXCommand: properly record requirements when exiting early
diff --git a/src/Encoding.cpp b/src/Encoding.cpp
index a4c706b..d0610ef 100644
--- a/src/Encoding.cpp
+++ b/src/Encoding.cpp
@@ -390,6 +390,9 @@ docstring Encodings::fromLaTeXCommand(docstring const & cmd, int cmdtype,
docstring value;
value += unicodeSymbol.first;
needsTermination = !unicodeSymbol.second.mathNoTermination();
+ if (req && unicodeSymbol.second.mathFeature()
+ && !unicodeSymbol.second.mathPreamble().empty())
+ req->insert(unicodeSymbol.second.mathPreamble());
return value;
}
}
@@ -400,6 +403,9 @@ docstring Encodings::fromLaTeXCommand(docstring const & cmd, int cmdtype,
docstring value;
value += unicodeSymbol.first;
needsTermination = !unicodeSymbol.second.textNoTermination();
+ if (req && unicodeSymbol.second.textFeature()
+ && !unicodeSymbol.second.textPreamble().empty())
+ req->insert(unicodeSymbol.second.textPreamble());
return value;
}
}
commit 0c73df6efb64a16068943d5e1007f6d6b747227f
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Wed Mar 2 12:30:16 2022 +0100
Revert "Adapt resulting lyx-file to amend 39c0b322 (changed tex2lyx output)"
This reverts commit 5e8969b597ae973a12cfb543ed055e4eb8cd16ec.
diff --git a/src/tex2lyx/test/test-insets-basic.lyx.lyx b/src/tex2lyx/test/test-insets-basic.lyx.lyx
index 0c68547..89978a9 100644
--- a/src/tex2lyx/test/test-insets-basic.lyx.lyx
+++ b/src/tex2lyx/test/test-insets-basic.lyx.lyx
@@ -22,7 +22,6 @@
\usepackage{array}
\usepackage{multirow}
\usepackage{hhline}
-\usepackage{textcomp}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
commit 5e8969b597ae973a12cfb543ed055e4eb8cd16ec
Author: Kornel Benko <kornel at lyx.org>
Date: Wed Mar 2 08:48:35 2022 +0100
Adapt resulting lyx-file to amend 39c0b322 (changed tex2lyx output)
diff --git a/src/tex2lyx/test/test-insets-basic.lyx.lyx b/src/tex2lyx/test/test-insets-basic.lyx.lyx
index 89978a9..0c68547 100644
--- a/src/tex2lyx/test/test-insets-basic.lyx.lyx
+++ b/src/tex2lyx/test/test-insets-basic.lyx.lyx
@@ -22,6 +22,7 @@
\usepackage{array}
\usepackage{multirow}
\usepackage{hhline}
+\usepackage{textcomp}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
commit 39c0b322f7b140ca9a9c1544adf05f296a5ea28f
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Wed Mar 2 08:11:34 2022 +0100
Encodings::fromLaTeXCommand: properly set needsTermination on early exit
diff --git a/src/Encoding.cpp b/src/Encoding.cpp
index 0c8d085..a4c706b 100644
--- a/src/Encoding.cpp
+++ b/src/Encoding.cpp
@@ -389,6 +389,7 @@ docstring Encodings::fromLaTeXCommand(docstring const & cmd, int cmdtype,
if (command == cmd) {
docstring value;
value += unicodeSymbol.first;
+ needsTermination = !unicodeSymbol.second.mathNoTermination();
return value;
}
}
@@ -398,6 +399,7 @@ docstring Encodings::fromLaTeXCommand(docstring const & cmd, int cmdtype,
if (command == cmd) {
docstring value;
value += unicodeSymbol.first;
+ needsTermination = !unicodeSymbol.second.textNoTermination();
return value;
}
}
commit afd6e1d45e1a535eb8f4016da6207a7d00196a19
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Wed Mar 2 07:11:27 2022 +0100
Fix indentation fix.
diff --git a/src/tex2lyx/test/CMakeLists.txt b/src/tex2lyx/test/CMakeLists.txt
index 1b3b68d..e620e06 100644
--- a/src/tex2lyx/test/CMakeLists.txt
+++ b/src/tex2lyx/test/CMakeLists.txt
@@ -21,7 +21,7 @@ set(_tex_tests test.ltx
test-insets-basic.tex
test-insets.tex
test-memoir.tex
- test-minted.tex
+ test-minted.tex
test-modules.tex
test-refstyle-theorems.tex
test-scr.tex
commit c66be94d14b3aadb0917488550c85078dd71bf6c
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Wed Mar 2 00:39:53 2022 +0100
Fix indentation.
diff --git a/src/tex2lyx/test/CMakeLists.txt b/src/tex2lyx/test/CMakeLists.txt
index 1647acb..1b3b68d 100644
--- a/src/tex2lyx/test/CMakeLists.txt
+++ b/src/tex2lyx/test/CMakeLists.txt
@@ -21,7 +21,7 @@ set(_tex_tests test.ltx
test-insets-basic.tex
test-insets.tex
test-memoir.tex
- test-minted.tex
+ test-minted.tex
test-modules.tex
test-refstyle-theorems.tex
test-scr.tex
commit 997f0621c5346bb623cf86713c4fe1be0c941104
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Feb 27 20:35:58 2022 +0100
Rename LATEX debug level to OUTFILE and use it for DocBook, HTML, and XML messages.
diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index d3dbc86..0f7ecb0 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -1739,7 +1739,7 @@ Buffer::ExportStatus Buffer::makeLaTeXFile(FileName const & fname,
OutputParams runparams = runparams_in;
string const encoding = runparams.encoding->iconvName();
- LYXERR(Debug::LATEX, "makeLaTeXFile encoding: " << encoding << ", fname=" << fname.realPath());
+ LYXERR(Debug::OUTFILE, "makeLaTeXFile encoding: " << encoding << ", fname=" << fname.realPath());
ofdocstream ofs;
try { ofs.reset(encoding); }
@@ -1851,7 +1851,7 @@ Buffer::ExportStatus Buffer::writeLaTeXSource(otexstream & os,
BufferEncodings::initUnicodeMath(*this);
// validate the buffer.
- LYXERR(Debug::LATEX, " Validating buffer...");
+ LYXERR(Debug::OUTFILE, " Validating buffer...");
LaTeXFeatures features(*this, params(), runparams);
validate(features);
// This is only set once per document (in master)
@@ -1860,7 +1860,7 @@ Buffer::ExportStatus Buffer::writeLaTeXSource(otexstream & os,
runparams.use_hyperref = features.isRequired("hyperref");
runparams.use_CJK = features.mustProvide("CJK");
}
- LYXERR(Debug::LATEX, " Buffer validation done.");
+ LYXERR(Debug::OUTFILE, " Buffer validation done.");
bool const output_preamble =
output == FullSource || output == OnlyPreamble;
@@ -2079,9 +2079,9 @@ Buffer::ExportStatus Buffer::writeLaTeXSource(otexstream & os,
if (output_preamble) {
os << "\\end{document}\n";
- LYXERR(Debug::LATEX, "makeLaTeXFile...done");
+ LYXERR(Debug::OUTFILE, "makeLaTeXFile...done");
} else {
- LYXERR(Debug::LATEX, "LaTeXFile for inclusion made.");
+ LYXERR(Debug::OUTFILE, "LaTeXFile for inclusion made.");
}
runparams_in.encoding = runparams.encoding;
@@ -2095,7 +2095,7 @@ Buffer::ExportStatus Buffer::makeDocBookFile(FileName const & fname,
OutputParams const & runparams,
OutputWhat output) const
{
- LYXERR(Debug::LATEX, "makeDocBookFile...");
+ LYXERR(Debug::OUTFILE, "makeDocBookFile...");
ofdocstream ofs;
if (!openFileWrite(ofs, fname))
@@ -2185,7 +2185,7 @@ Buffer::ExportStatus Buffer::writeDocBookSource(odocstream & os,
Buffer::ExportStatus Buffer::makeLyXHTMLFile(FileName const & fname,
OutputParams const & runparams) const
{
- LYXERR(Debug::LATEX, "makeLyXHTMLFile...");
+ LYXERR(Debug::OUTFILE, "makeLyXHTMLFile...");
ofdocstream ofs;
if (!openFileWrite(ofs, fname))
@@ -2383,7 +2383,7 @@ void Buffer::validate(LaTeXFeatures & features) const
for (Paragraph const & p : paragraphs())
p.validate(features);
- if (lyxerr.debugging(Debug::LATEX)) {
+ if (lyxerr.debugging(Debug::OUTFILE)) {
features.showStruct();
}
}
diff --git a/src/BufferView.cpp b/src/BufferView.cpp
index 023301d..32c890c 100644
--- a/src/BufferView.cpp
+++ b/src/BufferView.cpp
@@ -2621,7 +2621,7 @@ bool BufferView::setCursorFromRow(int row)
{
TexRow::TextEntry start, end;
tie(start,end) = buffer_.texrow().getEntriesFromRow(row);
- LYXERR(Debug::LATEX,
+ LYXERR(Debug::OUTFILE,
"setCursorFromRow: for row " << row << ", TexRow has found "
"start (id=" << start.id << ",pos=" << start.pos << "), "
"end (id=" << end.id << ",pos=" << end.pos << ")");
diff --git a/src/Floating.cpp b/src/Floating.cpp
index 8554503..df48a2b 100644
--- a/src/Floating.cpp
+++ b/src/Floating.cpp
@@ -69,7 +69,7 @@ Floating::Floating(string const & type, string const & placement,
docbook_float_type_ = "video";
} else {
// If nothing matches, return something that will not be valid.
- LYXERR0("Float type '" + floattype_ + "' unknown to DocBook!");
+ LYXERR(Debug::OUTFILE, "Float type '" + floattype_ + "' unknown to DocBook!");
docbook_float_type_ = "unknown";
}
}
@@ -159,7 +159,7 @@ string Floating::docbookTag(bool hasTitle) const
return hasTitle ? "table" : "informaltable";
} else {
// If nothing matches, return something that will not be valid.
- LYXERR0("Float type '" + floattype() + "' unknown to DocBook!");
+ LYXERR(Debug::OUTFILE, "Float type '" + floattype() + "' unknown to DocBook!");
return "float";
}
}
diff --git a/src/Font.cpp b/src/Font.cpp
index 3ba04eb..514bf03 100644
--- a/src/Font.cpp
+++ b/src/Font.cpp
@@ -758,34 +758,34 @@ void Font::validate(LaTeXFeatures & features) const
Language const * doc_language = bparams.language;
if (bits_.noun() == FONT_ON) {
- LYXERR(Debug::LATEX, "font.noun: " << bits_.noun());
+ LYXERR(Debug::OUTFILE, "font.noun: " << bits_.noun());
features.require("noun");
- LYXERR(Debug::LATEX, "Noun enabled. Font: " << to_utf8(stateText()));
+ LYXERR(Debug::OUTFILE, "Noun enabled. Font: " << to_utf8(stateText()));
}
if (bits_.underbar() == FONT_ON) {
- LYXERR(Debug::LATEX, "font.underline: " << bits_.underbar());
+ LYXERR(Debug::OUTFILE, "font.underline: " << bits_.underbar());
features.require("ulem");
- LYXERR(Debug::LATEX, "Underline enabled. Font: " << to_utf8(stateText()));
+ LYXERR(Debug::OUTFILE, "Underline enabled. Font: " << to_utf8(stateText()));
}
if (bits_.strikeout() == FONT_ON) {
- LYXERR(Debug::LATEX, "font.strikeout: " << bits_.strikeout());
+ LYXERR(Debug::OUTFILE, "font.strikeout: " << bits_.strikeout());
features.require("ulem");
- LYXERR(Debug::LATEX, "Strike out enabled. Font: " << to_utf8(stateText()));
+ LYXERR(Debug::OUTFILE, "Strike out enabled. Font: " << to_utf8(stateText()));
}
if (bits_.xout() == FONT_ON) {
- LYXERR(Debug::LATEX, "font.xout: " << bits_.xout());
+ LYXERR(Debug::OUTFILE, "font.xout: " << bits_.xout());
features.require("ulem");
- LYXERR(Debug::LATEX, "Cross out enabled. Font: " << to_utf8(stateText()));
+ LYXERR(Debug::OUTFILE, "Cross out enabled. Font: " << to_utf8(stateText()));
}
if (bits_.uuline() == FONT_ON) {
- LYXERR(Debug::LATEX, "font.uuline: " << bits_.uuline());
+ LYXERR(Debug::OUTFILE, "font.uuline: " << bits_.uuline());
features.require("ulem");
- LYXERR(Debug::LATEX, "Double underline enabled. Font: " << to_utf8(stateText()));
+ LYXERR(Debug::OUTFILE, "Double underline enabled. Font: " << to_utf8(stateText()));
}
if (bits_.uwave() == FONT_ON) {
- LYXERR(Debug::LATEX, "font.uwave: " << bits_.uwave());
+ LYXERR(Debug::OUTFILE, "font.uwave: " << bits_.uwave());
features.require("ulem");
- LYXERR(Debug::LATEX, "Wavy underline enabled. Font: " << to_utf8(stateText()));
+ LYXERR(Debug::OUTFILE, "Wavy underline enabled. Font: " << to_utf8(stateText()));
}
switch (bits_.color()) {
case Color_none:
@@ -811,7 +811,7 @@ void Font::validate(LaTeXFeatures & features) const
break;
default:
features.require("color");
- LYXERR(Debug::LATEX, "Color enabled. Font: " << to_utf8(stateText()));
+ LYXERR(Debug::OUTFILE, "Color enabled. Font: " << to_utf8(stateText()));
}
// FIXME: Do something for background and soul package?
@@ -823,7 +823,7 @@ void Font::validate(LaTeXFeatures & features) const
&& lang_ != latex_language)
{
features.useLanguage(lang_);
- LYXERR(Debug::LATEX, "Found language " << lang_->lang());
+ LYXERR(Debug::OUTFILE, "Found language " << lang_->lang());
}
}
diff --git a/src/LaTeX.cpp b/src/LaTeX.cpp
index e0df744..917d129 100644
--- a/src/LaTeX.cpp
+++ b/src/LaTeX.cpp
@@ -135,7 +135,7 @@ LaTeX::LaTeX(string const & latex, OutputParams const & rp,
void LaTeX::removeAuxiliaryFiles() const
{
- LYXERR(Debug::LATEX, "Removing auxiliary files");
+ LYXERR(Debug::OUTFILE, "Removing auxiliary files");
// Note that we do not always call this function when there is an error.
// For example, if there is an error but an output file is produced we
// still would like to output (export/view) the file.
@@ -280,7 +280,7 @@ int LaTeX::run(TeXErrors & terr)
bibtex_info_old = scanAuxFiles(aux_file, runparams.only_childbibs);
++count;
- LYXERR(Debug::LATEX, "Run #" << count);
+ LYXERR(Debug::OUTFILE, "Run #" << count);
message(runMessage(count));
int exit_code = startscript();
@@ -289,7 +289,7 @@ int LaTeX::run(TeXErrors & terr)
scanres = scanLogFile(terr);
if (scanres & ERROR_RERUN) {
- LYXERR(Debug::LATEX, "Rerunning LaTeX");
+ LYXERR(Debug::OUTFILE, "Rerunning LaTeX");
terr.clearErrors();
exit_code = startscript();
if (exit_code == Systemcall::KILLED || exit_code == Systemcall::TIMEOUT)
@@ -324,7 +324,7 @@ int LaTeX::run(TeXErrors & terr)
// "\bibdata" and/or "\bibstyle". If one of those
// tags is found -> run bibtex and set rerun = true;
// no checks for now
- LYXERR(Debug::LATEX, "Running Bibliography Processor.");
+ LYXERR(Debug::OUTFILE, "Running Bibliography Processor.");
message(_("Running Bibliography Processor."));
updateBibtexDependencies(head, bibtex_info);
int exit_code;
@@ -357,7 +357,7 @@ int LaTeX::run(TeXErrors & terr)
rerun = false;
++count;
LYXERR(Debug::DEPEND, "Dep. file has changed or rerun requested");
- LYXERR(Debug::LATEX, "Run #" << count);
+ LYXERR(Debug::OUTFILE, "Run #" << count);
message(runMessage(count));
int exit_code = startscript();
if (exit_code == Systemcall::KILLED || exit_code == Systemcall::TIMEOUT)
@@ -385,7 +385,7 @@ int LaTeX::run(TeXErrors & terr)
// "\bibdata" and/or "\bibstyle". If one of those
// tags is found -> run bibtex and set rerun = true;
// no checks for now
- LYXERR(Debug::LATEX, "Re-Running Bibliography Processor.");
+ LYXERR(Debug::OUTFILE, "Re-Running Bibliography Processor.");
message(_("Re-Running Bibliography Processor."));
updateBibtexDependencies(head, bibtex_info);
int exit_code;
@@ -411,7 +411,7 @@ int LaTeX::run(TeXErrors & terr)
// MAX_RUNS are reached.
rerun = false;
++count;
- LYXERR(Debug::LATEX, "Run #" << count);
+ LYXERR(Debug::OUTFILE, "Run #" << count);
message(runMessage(count));
startscript();
scanres = scanLogFile(terr);
@@ -425,7 +425,7 @@ int LaTeX::run(TeXErrors & terr)
// Now that we have final pagination, run the index and nomencl processors
if (idxfile.exists()) {
// no checks for now
- LYXERR(Debug::LATEX, "Running Index Processor.");
+ LYXERR(Debug::OUTFILE, "Running Index Processor.");
message(_("Running Index Processor."));
// onlyFileName() is needed for cygwin
int const ret =
@@ -480,7 +480,7 @@ int LaTeX::run(TeXErrors & terr)
// MAX_RUNS are reached.
rerun = false;
++count;
- LYXERR(Debug::LATEX, "Run #" << count);
+ LYXERR(Debug::OUTFILE, "Run #" << count);
message(runMessage(count));
startscript();
scanres = scanLogFile(terr);
@@ -499,7 +499,7 @@ int LaTeX::run(TeXErrors & terr)
scanres |= NONZERO_ERROR;
}
- LYXERR(Debug::LATEX, "Done.");
+ LYXERR(Debug::OUTFILE, "Done.");
if (bscanres & ERRORS)
return bscanres; // return on error
@@ -569,7 +569,7 @@ int LaTeX::runMakeIndex(string const & f, OutputParams const & rp,
tmp = subst(tmp, "$$b", removeExtension(f));
}
- LYXERR(Debug::LATEX,
+ LYXERR(Debug::OUTFILE,
"idx file has been made, running index processor ("
<< tmp << ") on file " << f);
@@ -579,7 +579,7 @@ int LaTeX::runMakeIndex(string const & f, OutputParams const & rp,
}
if (rp.use_indices) {
tmp = lyxrc.splitindex_command + " -m " + quoteName(tmp);
- LYXERR(Debug::LATEX,
+ LYXERR(Debug::OUTFILE,
"Multiple indices. Using splitindex command: " << tmp);
}
tmp += ' ';
@@ -595,7 +595,7 @@ int LaTeX::runMakeIndex(string const & f, OutputParams const & rp,
int LaTeX::runMakeIndexNomencl(FileName const & fname,
string const & nlo, string const & nls)
{
- LYXERR(Debug::LATEX, "Running Nomenclature Processor.");
+ LYXERR(Debug::OUTFILE, "Running Nomenclature Processor.");
message(_("Running Nomenclature Processor."));
string tmp = lyxrc.nomencl_command + ' ';
// onlyFileName() is needed for cygwin
@@ -654,7 +654,7 @@ AuxInfo const LaTeX::scanAuxFile(FileName const & fname)
void LaTeX::scanAuxFile(FileName const & fname, AuxInfo & aux_info)
{
- LYXERR(Debug::LATEX, "Scanning aux file: " << fname);
+ LYXERR(Debug::OUTFILE, "Scanning aux file: " << fname);
ifstream ifs(fname.toFilesystemEncoding().c_str());
string token;
@@ -674,7 +674,7 @@ void LaTeX::scanAuxFile(FileName const & fname, AuxInfo & aux_info)
while (!data.empty()) {
string citation;
data = split(data, citation, ',');
- LYXERR(Debug::LATEX, "Citation: " << citation);
+ LYXERR(Debug::OUTFILE, "Citation: " << citation);
aux_info.citations.insert(citation);
}
} else if (regex_match(token, sub, reg2)) {
@@ -685,7 +685,7 @@ void LaTeX::scanAuxFile(FileName const & fname, AuxInfo & aux_info)
string database;
data = split(data, database, ',');
database = changeExtension(database, "bib");
- LYXERR(Debug::LATEX, "BibTeX database: `" << database << '\'');
+ LYXERR(Debug::OUTFILE, "BibTeX database: `" << database << '\'');
aux_info.databases.insert(database);
}
} else if (regex_match(token, sub, reg3)) {
@@ -693,7 +693,7 @@ void LaTeX::scanAuxFile(FileName const & fname, AuxInfo & aux_info)
// token is now the style file
// pass it to the helper
style = changeExtension(style, "bst");
- LYXERR(Debug::LATEX, "BibTeX style: `" << style << '\'');
+ LYXERR(Debug::OUTFILE, "BibTeX style: `" << style << '\'');
aux_info.styles.insert(style);
} else if (regex_match(token, sub, reg4)) {
string const file2 = sub.str(1);
@@ -782,7 +782,7 @@ int LaTeX::scanLogFile(TeXErrors & terr)
int retval = NO_ERRORS;
string tmp =
onlyFileName(changeExtension(file.absFileName(), ".log"));
- LYXERR(Debug::LATEX, "Log file: " << tmp);
+ LYXERR(Debug::OUTFILE, "Log file: " << tmp);
FileName const fn = makeAbsPath(tmp);
// FIXME we should use an ifdocstream here and a docstring for token
// below. The encoding of the log file depends on the _output_ (font)
@@ -813,7 +813,7 @@ int LaTeX::scanLogFile(TeXErrors & terr)
token = subst(token, "\r", "");
smatch sub;
- LYXERR(Debug::LATEX, "Log line: " << token);
+ LYXERR(Debug::OUTFILE, "Log line: " << token);
if (token.empty())
continue;
@@ -869,24 +869,24 @@ int LaTeX::scanLogFile(TeXErrors & terr)
// Here shall we handle different
// types of warnings
retval |= LATEX_WARNING;
- LYXERR(Debug::LATEX, "LaTeX Warning.");
+ LYXERR(Debug::OUTFILE, "LaTeX Warning.");
if (contains(token, "Rerun to get cross-references")) {
retval |= RERUN;
- LYXERR(Debug::LATEX, "We should rerun.");
+ LYXERR(Debug::OUTFILE, "We should rerun.");
// package clefval needs 2 latex runs before bibtex
} else if (contains(token, "Value of")
&& contains(token, "on page")
&& contains(token, "undefined")) {
retval |= ERROR_RERUN;
- LYXERR(Debug::LATEX, "Force rerun.");
+ LYXERR(Debug::OUTFILE, "Force rerun.");
// package etaremune
} else if (contains(token, "Etaremune labels have changed")) {
retval |= ERROR_RERUN;
- LYXERR(Debug::LATEX, "Force rerun.");
+ LYXERR(Debug::OUTFILE, "Force rerun.");
// package enotez
} else if (contains(token, "Endnotes may have changed. Rerun")) {
retval |= RERUN;
- LYXERR(Debug::LATEX, "We should rerun.");
+ LYXERR(Debug::OUTFILE, "We should rerun.");
//"Citation `cit' on page X undefined on input line X."
} else if (!runparams.includeall && contains(token, "Citation")
//&& contains(token, "on input line") //often split to newline
@@ -968,20 +968,20 @@ int LaTeX::scanLogFile(TeXErrors & terr)
contains(token, "Rerun to get")) {
// at least longtable.sty and bibtopic.sty
// might use this.
- LYXERR(Debug::LATEX, "We should rerun.");
+ LYXERR(Debug::OUTFILE, "We should rerun.");
retval |= RERUN;
}
} else if (prefixIs(token, "LETTRE WARNING:")) {
if (contains(token, "veuillez recompiler")) {
// lettre.cls
- LYXERR(Debug::LATEX, "We should rerun.");
+ LYXERR(Debug::OUTFILE, "We should rerun.");
retval |= RERUN;
}
} else if (token[0] == '(') {
if (contains(token, "Rerun LaTeX") ||
contains(token, "Rerun to get")) {
// Used by natbib
- LYXERR(Debug::LATEX, "We should rerun.");
+ LYXERR(Debug::OUTFILE, "We should rerun.");
retval |= RERUN;
}
} else if (prefixIs(token, "! ")
@@ -1004,7 +1004,7 @@ int LaTeX::scanLogFile(TeXErrors & terr)
if (prefixIs(token, "! File ended while scanning use of \\Hy at setref@link.")){
// bug 7344. We must rerun LaTeX if hyperref has been toggled.
retval |= ERROR_RERUN;
- LYXERR(Debug::LATEX, "Force rerun.");
+ LYXERR(Debug::OUTFILE, "Force rerun.");
} else {
// bug 6445. At this point its not clear we finish with error.
wait_for_error = desc;
@@ -1021,7 +1021,7 @@ int LaTeX::scanLogFile(TeXErrors & terr)
if (prefixIs(token, "! Paragraph ended before \\Hy at setref@link was complete.")){
// bug 7344. We must rerun LaTeX if hyperref has been toggled.
retval |= ERROR_RERUN;
- LYXERR(Debug::LATEX, "Force rerun.");
+ LYXERR(Debug::OUTFILE, "Force rerun.");
}
if (!wait_for_error.empty() && prefixIs(token, "! Emergency stop.")){
@@ -1101,8 +1101,8 @@ int LaTeX::scanLogFile(TeXErrors & terr)
if (preamble_error)
// Add a note that the error is to be found in preamble
errstr += "\n" + to_utf8(_("(NOTE: The erroneous command is in the preamble)"));
- LYXERR(Debug::LATEX, "line: " << line << '\n'
- << "Desc: " << desc << '\n' << "Text: " << errstr);
+ LYXERR(Debug::OUTFILE, "line: " << line << '\n'
+ << "Desc: " << desc << '\n' << "Text: " << errstr);
if (line == last_line)
++line_count;
else {
@@ -1182,7 +1182,7 @@ int LaTeX::scanLogFile(TeXErrors & terr)
}
}
}
- LYXERR(Debug::LATEX, "Log line: " << token);
+ LYXERR(Debug::OUTFILE, "Log line: " << token);
return retval;
}
@@ -1560,7 +1560,7 @@ void LaTeX::deplog(DepTable & head)
int LaTeX::scanBlgFile(DepTable & dep, TeXErrors & terr)
{
FileName const blg_file(changeExtension(file.absFileName(), "blg"));
- LYXERR(Debug::LATEX, "Scanning blg file: " << blg_file);
+ LYXERR(Debug::OUTFILE, "Scanning blg file: " << blg_file);
ifstream ifs(blg_file.toFilesystemEncoding().c_str());
string token;
@@ -1583,7 +1583,7 @@ int LaTeX::scanBlgFile(DepTable & dep, TeXErrors & terr)
if (regex_match(token, sub, reg1)) {
string data = sub.str(3);
if (!data.empty()) {
- LYXERR(Debug::LATEX, "Found bib file: " << data);
+ LYXERR(Debug::OUTFILE, "Found bib file: " << data);
handleFoundFile(data, dep);
}
}
@@ -1628,7 +1628,7 @@ int LaTeX::scanBlgFile(DepTable & dep, TeXErrors & terr)
int LaTeX::scanIlgFile(TeXErrors & terr)
{
FileName const ilg_file(changeExtension(file.absFileName(), "ilg"));
- LYXERR(Debug::LATEX, "Scanning ilg file: " << ilg_file);
+ LYXERR(Debug::OUTFILE, "Scanning ilg file: " << ilg_file);
ifstream ifs(ilg_file.toFilesystemEncoding().c_str());
string token;
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 9a1171f..b9ac139 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -2510,7 +2510,7 @@ void Paragraph::latex(BufferParams const & bparams,
OutputParams const & runparams,
int start_pos, int end_pos, bool force) const
{
- LYXERR(Debug::LATEX, "Paragraph::latex... " << this);
+ LYXERR(Debug::OUTFILE, "Paragraph::latex... " << this);
// FIXME This check should not be needed. Perhaps issue an
// error if it triggers.
@@ -3127,7 +3127,7 @@ void Paragraph::latex(BufferParams const & bparams,
os << setEncoding(prev_encoding->iconvName());
}
- LYXERR(Debug::LATEX, "Paragraph::latex... done " << this);
+ LYXERR(Debug::OUTFILE, "Paragraph::latex... done " << this);
}
diff --git a/src/Paragraph.h b/src/Paragraph.h
index 01ccd25..ca88dd7 100644
--- a/src/Paragraph.h
+++ b/src/Paragraph.h
@@ -194,7 +194,7 @@ public:
/// Can we drop the standard paragraph wrapper?
bool emptyTag() const;
- /// Get the id of the paragraph, usefull for docbook
+ /// Get the id of the paragraph, useful for DocBook
std::string getID(Buffer const & buf, OutputParams const & runparams) const;
/// Output the first word of a paragraph, return the position where it left.
diff --git a/src/TexRow.cpp b/src/TexRow.cpp
index 968245b..0d65966 100644
--- a/src/TexRow.cpp
+++ b/src/TexRow.cpp
@@ -251,7 +251,7 @@ TexRow::getEntriesFromRow(int const row) const
// correspond to no output by delaying their addition, at the level
// of otexrowstream, until a character is actually output.
//
- LYXERR(Debug::LATEX, "getEntriesFromRow: row " << row << " requested");
+ LYXERR(Debug::OUTFILE, "getEntriesFromRow: row " << row << " requested");
// check bounds for row - 1, our target index
if (row <= 0)
@@ -360,7 +360,7 @@ FuncRequest TexRow::goToFuncFromRow(int const row) const
{
TextEntry start, end;
tie(start,end) = getEntriesFromRow(row);
- LYXERR(Debug::LATEX,
+ LYXERR(Debug::OUTFILE,
"goToFuncFromRow: for row " << row << ", TexRow has found "
"start (id=" << start.id << ",pos=" << start.pos << "), "
"end (id=" << end.id << ",pos=" << end.pos << ")");
diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp
index 43b835e..8afa3b2 100644
--- a/src/frontends/qt/GuiView.cpp
+++ b/src/frontends/qt/GuiView.cpp
@@ -3998,7 +3998,7 @@ bool GuiView::goToFileRow(string const & argument)
setBuffer(buf);
bool success = documentBufferView()->setCursorFromRow(row);
if (!success) {
- LYXERR(Debug::LATEX,
+ LYXERR(Debug::OUTFILE,
"setCursorFromRow: invalid position for row " << row);
frontend::Alert::error(_("Inverse Search Failed"),
_("Invalid position requested by inverse search.\n"
diff --git a/src/frontends/qt/GuiViewSource.cpp b/src/frontends/qt/GuiViewSource.cpp
index f83e020..bcc6da4 100644
--- a/src/frontends/qt/GuiViewSource.cpp
+++ b/src/frontends/qt/GuiViewSource.cpp
@@ -199,7 +199,7 @@ void ViewSourceWidget::updateView(BufferView const * bv)
if (guiApp->currentView()->develMode()) {
// output tex<->row correspondences in the source panel if the "-dbg latex"
// option is given.
- if (texrow_ && lyx::lyxerr.debugging(Debug::LATEX)) {
+ if (texrow_ && lyx::lyxerr.debugging(Debug::OUTFILE)) {
QStringList list = qcontent.split(QChar('\n'));
docstring_list dlist;
for (QStringList::const_iterator it = list.begin(); it != list.end(); ++it)
diff --git a/src/graphics/PreviewLoader.cpp b/src/graphics/PreviewLoader.cpp
index 28a0e0f..5d767b2 100644
--- a/src/graphics/PreviewLoader.cpp
+++ b/src/graphics/PreviewLoader.cpp
@@ -624,7 +624,7 @@ void PreviewLoader::Impl::startLoading(bool wait)
<< from_utf8(changeExtension(buffer_.latexName(), ""))
<< "}\n";
- LYXERR(Debug::LATEX, "Format = " << buffer_.params().getDefaultOutputFormat());
+ LYXERR(Debug::OUTFILE, "Format = " << buffer_.params().getDefaultOutputFormat());
string latexparam = "";
bool docformat = !buffer_.params().default_output_format.empty()
&& buffer_.params().default_output_format != "default";
@@ -810,7 +810,7 @@ void PreviewLoader::Impl::finishedGenerating(pid_t pid, int retval)
void PreviewLoader::Impl::dumpPreamble(otexstream & os, Flavor flavor) const
{
// Dump the preamble only.
- LYXERR(Debug::LATEX, "dumpPreamble, flavor == " << static_cast<int>(flavor));
+ LYXERR(Debug::OUTFILE, "dumpPreamble, flavor == " << static_cast<int>(flavor));
OutputParams runparams(&buffer_.params().encoding());
runparams.flavor = flavor;
runparams.nice = true;
diff --git a/src/insets/Inset.h b/src/insets/Inset.h
index 372b95a..5d56c10 100644
--- a/src/insets/Inset.h
+++ b/src/insets/Inset.h
@@ -335,7 +335,7 @@ public:
/// output, add PLAINTEXT_NEWLINE to the number of chars in the last line
virtual int plaintext(odocstringstream &, OutputParams const &,
size_t max_length = INT_MAX) const = 0;
- /// docbook output
+ /// DocBook output
virtual void docbook(XMLStream &, OutputParams const &) const;
/// XHTML output
/// the inset is expected to write XHTML to the XMLStream
diff --git a/src/insets/InsetInclude.cpp b/src/insets/InsetInclude.cpp
index 10ea52b..30eacd7 100644
--- a/src/insets/InsetInclude.cpp
+++ b/src/insets/InsetInclude.cpp
@@ -618,9 +618,9 @@ void InsetInclude::latex(otexstream & os, OutputParams const & runparams) const
FileName const writefile(makeAbsPath(mangled, runparams.for_preview ?
buffer().temppath() : masterBuffer->temppath()));
- LYXERR(Debug::LATEX, "incfile:" << incfile);
- LYXERR(Debug::LATEX, "exportfile:" << exportfile);
- LYXERR(Debug::LATEX, "writefile:" << writefile);
+ LYXERR(Debug::OUTFILE, "incfile:" << incfile);
+ LYXERR(Debug::OUTFILE, "exportfile:" << exportfile);
+ LYXERR(Debug::OUTFILE, "writefile:" << writefile);
string const tex_format = flavor2format(runparams.flavor);
@@ -783,7 +783,7 @@ void InsetInclude::latex(otexstream & os, OutputParams const & runparams) const
if (checksum_in != checksum_out) {
if (!included_file.copyTo(writefile)) {
// FIXME UNICODE
- LYXERR(Debug::LATEX,
+ LYXERR(Debug::OUTFILE,
to_utf8(bformat(_("Could not copy the file\n%1$s\n"
"into the temporary directory."),
from_utf8(included_file.absFileName()))));
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 5458e7a..5e1f6d1 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -826,7 +826,7 @@ DocBookInfoTag getParagraphsWithInfo(ParagraphList const ¶graphs,
// There should never be any section here, except for the first paragraph (a title can be part of <info>).
// (Just a sanity check: if this fails, this function could end up processing the whole document.)
if (cpit != bpit && isLayoutSectioningOrSimilar(par.layout())) {
- LYXERR0("Assertion failed: section found in potential <info> paragraphs.");
+ LYXERR(Debug::OUTFILE, "Assertion failed: section found in potential <info> paragraphs.");
break;
}
diff --git a/src/output_latex.cpp b/src/output_latex.cpp
index 03ac2b4..bf841fe 100644
--- a/src/output_latex.cpp
+++ b/src/output_latex.cpp
@@ -409,7 +409,7 @@ void TeXEnvironment(Buffer const & buf, Text const & text,
{
ParagraphList const & paragraphs = text.paragraphs();
ParagraphList::const_iterator ipar = paragraphs.iterator_at(pit);
- LYXERR(Debug::LATEX, "TeXEnvironment for paragraph " << pit);
+ LYXERR(Debug::OUTFILE, "TeXEnvironment for paragraph " << pit);
Layout const & current_layout = ipar->layout();
depth_type const current_depth = ipar->params().depth();
@@ -490,7 +490,7 @@ void TeXEnvironment(Buffer const & buf, Text const & text,
}
if (pit != runparams.par_end)
- LYXERR(Debug::LATEX, "TeXEnvironment for paragraph " << par_begin << " done.");
+ LYXERR(Debug::OUTFILE, "TeXEnvironment for paragraph " << par_begin << " done.");
}
@@ -800,8 +800,8 @@ void TeXOnePar(Buffer const & buf,
&& !par.empty() && par.isDeleted(0, par.size()) && !bparams.output_changes)
return;
- LYXERR(Debug::LATEX, "TeXOnePar for paragraph " << pit << " ptr " << &par << " '"
- << everypar << "'");
+ LYXERR(Debug::OUTFILE, "TeXOnePar for paragraph " << pit << " ptr " << &par << " '"
+ << everypar << "'");
OutputParams runparams = runparams_in;
runparams.isLastPar = (pit == pit_type(paragraphs.size() - 1));
@@ -1555,8 +1555,8 @@ void TeXOnePar(Buffer const & buf,
if (intitle_command)
state->nest_level_ -= 1;
- LYXERR(Debug::LATEX, "TeXOnePar for paragraph " << pit << " done; ptr "
- << &par << " next " << nextpar);
+ LYXERR(Debug::OUTFILE, "TeXOnePar for paragraph " << pit << " done; ptr "
+ << &par << " next " << nextpar);
return;
}
@@ -1863,7 +1863,7 @@ pair<bool, int> switchEncoding(odocstream & os, BufferParams const & bparams,
// but it is the best we can do.
// change encoding
- LYXERR(Debug::LATEX, "Changing LaTeX encoding from "
+ LYXERR(Debug::OUTFILE, "Changing LaTeX encoding from "
<< oldEnc.name() << " to " << newEnc.name());
os << setEncoding(newEnc.iconvName());
if (bparams.inputenc == "auto-legacy-plain")
diff --git a/src/support/debug.cpp b/src/support/debug.cpp
index 4e2b5c0..b890741 100644
--- a/src/support/debug.cpp
+++ b/src/support/debug.cpp
@@ -47,7 +47,8 @@ DebugErrorItem errorTags[] = {
{ Debug::PARSER, "parser", N_("Lyxlex grammar parser")},
{ Debug::LYXRC, "lyxrc", N_("Configuration files reading")},
{ Debug::KBMAP, "kbmap", N_("Custom keyboard definition")},
- { Debug::LATEX, "latex", N_("LaTeX generation/execution")},
+ { Debug::OUTFILE, "outfile", N_("Output source file generation/processing")},
+ { Debug::OUTFILE, "latex", N_("Output source file generation/processing")},
{ Debug::MATHED, "mathed", N_("Math editor")},
{ Debug::FONT, "font", N_("Font handling")},
{ Debug::TCLASS, "tclass", N_("Textclass files reading")},
diff --git a/src/support/debug.h b/src/support/debug.h
index f12a842..18dd5fa 100644
--- a/src/support/debug.h
+++ b/src/support/debug.h
@@ -55,7 +55,7 @@ namespace Debug {
///
KBMAP = (1u << 6), // 64
///
- LATEX = (1u << 7), // 128
+ OUTFILE = (1u << 7), // 128
///
MATHED = (1u << 8), // 256 // Alejandro, please use this.
///
diff --git a/src/support/filetools.cpp b/src/support/filetools.cpp
index a3df20a..d554f47 100644
--- a/src/support/filetools.cpp
+++ b/src/support/filetools.cpp
@@ -1207,8 +1207,8 @@ FileName const findtexfile(string const & fil, string const & /*format*/,
cmd_ret const c = runCommand(kpsecmd);
- LYXERR(Debug::LATEX, "kpse status = " << c.valid << '\n'
- << "kpse result = `" << rtrim(c.result, "\n\r") << '\'');
+ LYXERR(Debug::OUTFILE, "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
diff --git a/src/support/os_win32.cpp b/src/support/os_win32.cpp
index 1d40e56..a10c17e 100644
--- a/src/support/os_win32.cpp
+++ b/src/support/os_win32.cpp
@@ -325,7 +325,7 @@ string external_path(string const & p)
{
string const dos_path = subst(p, "/", "\\");
- LYXERR(Debug::LATEX, "<Win32 path correction> ["
+ LYXERR(Debug::OUTFILE, "<Win32 path correction> ["
<< p << "]->>[" << dos_path << ']');
return dos_path;
}
@@ -410,7 +410,7 @@ string latex_path(string const & p)
string const drive = p.substr(0, 2);
string const cygprefix = cygdrive + "/" + drive.substr(0, 1);
string const cygpath = subst(subst(p, '\\', '/'), drive, cygprefix);
- LYXERR(Debug::LATEX, "<Path correction for LaTeX> ["
+ LYXERR(Debug::OUTFILE, "<Path correction for LaTeX> ["
<< p << "]->>[" << cygpath << ']');
return cygpath;
}
diff --git a/src/xml.cpp b/src/xml.cpp
index 7c614da..7ee8d91 100644
--- a/src/xml.cpp
+++ b/src/xml.cpp
@@ -166,7 +166,7 @@ bool FontTag::operator==(StartTag const & tag) const
void XMLStream::writeError(std::string const &s)
{
- LYXERR0(s);
+ LYXERR(Debug::OUTFILE, s);
*this << ESCAPE_NONE << from_utf8("<!-- Output Error: " + s + " -->");
*this << xml::CR();
}
@@ -174,7 +174,7 @@ void XMLStream::writeError(std::string const &s)
void XMLStream::writeError(docstring const &s)
{
- LYXERR0(s);
+ LYXERR(Debug::OUTFILE, s);
*this << ESCAPE_NONE << from_utf8("<!-- Output Error: ");
*this << s;
*this << ESCAPE_NONE << from_utf8(" -->");
@@ -686,9 +686,9 @@ void xml::openTag(odocstream & os, string const & name, string const & attribute
string param = subst(attribute, "<", "\"");
param = subst(param, ">", "\"");
- // Note: we ignore the name if it empty or if it is a comment "<!-- -->" or
+ // Note: we ignore the name if it is empty or if it is a comment "<!-- -->" or
// if the name is *dummy*.
- // We ignore dummy because dummy is not a valid docbook element and it is
+ // We ignore dummy because dummy is not a valid DocBook element and it is
// the internal name given to single paragraphs in the latex output.
// This allow us to simplify the code a lot and is a reasonable compromise.
if (!name.empty() && name != "!-- --" && name != "dummy") {
commit 1220f399a7c900873956d305ab28fc3da7c3fdfb
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Tue Mar 1 03:10:17 2022 +0100
Use a static method instead of a method call on a global variable.
diff --git a/src/tex2lyx/text.cpp b/src/tex2lyx/text.cpp
index 76d11a7..545515f 100644
--- a/src/tex2lyx/text.cpp
+++ b/src/tex2lyx/text.cpp
@@ -668,7 +668,7 @@ pair<bool, docstring> convert_unicodesymbols(docstring s)
bool termination;
docstring rem;
set<string> req;
- docstring parsed = normalize_c(encodings.fromLaTeXCommand(s,
+ docstring parsed = normalize_c(Encodings::fromLaTeXCommand(s,
Encodings::TEXT_CMD, termination, rem, &req));
set<string>::const_iterator it = req.begin();
set<string>::const_iterator en = req.end();
commit 3002a20800b1eae3a02f2b905e90990ec0ba75f5
Author: Kornel Benko <kornel at lyx.org>
Date: Mon Feb 28 09:53:12 2022 +0100
FindAdv: Add missed command after 030db93a
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 6f75ed6..a3ce988 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -1730,6 +1730,7 @@ void static fillMissingUnicodesymbols()
addAccents("\\textdagger", getutf8(0x2020));
addAccents("\\ddag", getutf8(0x2021));
addAccents("\\ddagger", getutf8(0x2021));
+ addAccents("\\textdaggerdbl", getutf8(0x2021));
addAccents("\\textbullet", getutf8(0x2022));
addAccents("\\bullet", getutf8(0x2022));
addAccents("\\dots", getutf8(0x2026));
commit 6c530e12156ea9b0d4ff3ab17e1b069cb07a4207
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Mon Feb 28 08:04:55 2022 +0100
Still more indentation fixes.
diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index 0a1f851..d3dbc86 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -2132,7 +2132,7 @@ Buffer::ExportStatus Buffer::writeDocBookSource(odocstream & os,
bool const output_preamble =
output == FullSource || output == OnlyPreamble;
bool const output_body =
- output == FullSource || output == OnlyBody || output == IncludedFile;
+ output == FullSource || output == OnlyBody || output == IncludedFile;
if (output_preamble) {
// XML preamble, no doctype needed.
@@ -2146,13 +2146,13 @@ Buffer::ExportStatus Buffer::writeDocBookSource(odocstream & os,
// Prepare the name space declaration for MathML depending on document preferences.
string mathmlNamespace;
if (params().docbook_mathml_prefix != BufferParams::NoPrefix) {
- string mathmlPrefix;
- if (params().docbook_mathml_prefix == BufferParams::MPrefix)
- mathmlPrefix = "m";
- else if (params().docbook_mathml_prefix == BufferParams::MMLPrefix)
- mathmlPrefix = "mml";
+ string mathmlPrefix;
+ if (params().docbook_mathml_prefix == BufferParams::MPrefix)
+ mathmlPrefix = "m";
+ else if (params().docbook_mathml_prefix == BufferParams::MMLPrefix)
+ mathmlPrefix = "mml";
mathmlNamespace = + " xmlns:" + mathmlPrefix + "=\"http://www.w3.org/1998/Math/MathML\"";
- }
+ }
// Directly output the root tag, based on the current type of document.
string languageCode = params().language->code();
commit 75be9b120001c1c072cc4330bc5cb0603d6c4dfb
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Feb 27 20:37:19 2022 +0100
Slightly simplify code by using for range.
diff --git a/src/support/debug.cpp b/src/support/debug.cpp
index ca14220..4e2b5c0 100644
--- a/src/support/debug.cpp
+++ b/src/support/debug.cpp
@@ -98,9 +98,9 @@ Debug::Type Debug::value(int idx)
string const Debug::description(Debug::Type val)
{
- for (int i = 0 ; i < numErrorTags ; ++i) {
- if (errorTags[i].level == val)
- return errorTags[i].desc;
+ for (const auto & errorTag : errorTags) {
+ if (errorTag.level == val)
+ return errorTag.desc;
}
return "unknown level";
}
@@ -108,9 +108,9 @@ string const Debug::description(Debug::Type val)
string const Debug::name(Debug::Type val)
{
- for (int i = 0 ; i < numErrorTags ; ++i) {
- if (errorTags[i].level == val)
- return errorTags[i].name;
+ for (const auto & errorTag : errorTags) {
+ if (errorTag.level == val)
+ return errorTag.name;
}
return "unknown level";
}
commit 9cd479a044e76601d3ad625181918c26c4e551b0
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sun Feb 27 15:12:33 2022 +0100
Clarify debug message
diff --git a/src/Floating.cpp b/src/Floating.cpp
index 6a14708..8554503 100644
--- a/src/Floating.cpp
+++ b/src/Floating.cpp
@@ -69,7 +69,7 @@ Floating::Floating(string const & type, string const & placement,
docbook_float_type_ = "video";
} else {
// If nothing matches, return something that will not be valid.
- LYXERR0("Unrecognised float type: " + floattype_);
+ LYXERR0("Float type '" + floattype_ + "' unknown to DocBook!");
docbook_float_type_ = "unknown";
}
}
@@ -159,7 +159,7 @@ string Floating::docbookTag(bool hasTitle) const
return hasTitle ? "table" : "informaltable";
} else {
// If nothing matches, return something that will not be valid.
- LYXERR0("Unrecognised float type: " + floattype());
+ LYXERR0("Float type '" + floattype() + "' unknown to DocBook!");
return "float";
}
}
commit 6d17c5a1d63b5f5af59f1b45409194afe73ea86a
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sun Feb 27 14:53:01 2022 +0100
Another indentation fix
diff --git a/src/Floating.h b/src/Floating.h
index 7af2334..ab57c4d 100644
--- a/src/Floating.h
+++ b/src/Floating.h
@@ -38,7 +38,7 @@ public:
std::string const & refPrefix, std::string const & allowedplacement,
std::string const & htmlTag, std::string const & htmlAttrib,
docstring const & htmlStyle, std::string const & docbookTag,
- std::string const & docbookAttr, std::string const & docbookTagType,
+ std::string const & docbookAttr, std::string const & docbookTagType,
std::string const & docbookFloatType, std::string const & docbookCaption,
std::string const & required, bool usesfloat, bool ispredefined,
bool allowswide, bool allowssideways);
commit f2bd823217ea2513559392de7356c398f719816b
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sun Feb 27 14:45:16 2022 +0100
Fix indentation
diff --git a/src/Floating.cpp b/src/Floating.cpp
index 9a20d7c..6a14708 100644
--- a/src/Floating.cpp
+++ b/src/Floating.cpp
@@ -33,8 +33,8 @@ Floating::Floating(string const & type, string const & placement,
string const & htmlTag, string const & htmlAttrib,
docstring const & htmlStyle, std::string const & docbookTag,
string const & docbookAttr, string const & docbookTagType,
- std::string const & docbookFloatType, std::string const & docbookCaption,
- string const & required, bool usesfloat, bool ispredefined,
+ std::string const & docbookFloatType, std::string const & docbookCaption,
+ 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),
commit b04a930a27ddd7ba5cc9159d6738bbfd0062eefa
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sun Feb 27 10:02:52 2022 +0100
Amend 8a0715d0bdc3
Also do not use the bb trick when exporting "nice".
diff --git a/src/insets/InsetGraphics.cpp b/src/insets/InsetGraphics.cpp
index 91c23aa..2d93f15 100644
--- a/src/insets/InsetGraphics.cpp
+++ b/src/insets/InsetGraphics.cpp
@@ -824,7 +824,8 @@ void InsetGraphics::latex(otexstream & os,
string message;
// PDFLaTeX and Xe/LuaTeX fall back to draft themselves
// and error about it. For DVI/PS, we do something similar here.
- if (!file_exists && runparams.flavor == Flavor::LaTeX) {
+ // We also don't do such tricks when simply exporting a LaTeX file.
+ if (!file_exists && !runparams.nice && runparams.flavor == Flavor::LaTeX) {
TeXErrors terr;
ErrorList & errorList = buffer().errorList("Export");
docstring const s = params().filename.empty() ?
commit 030db93ab2b6255d07393f627c8509b5e7bdcc94
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Feb 27 04:14:12 2022 +0100
unicodesymbols: fix problematic entries.
diff --git a/lib/unicodesymbols b/lib/unicodesymbols
index fa3e37d..1b2a88d 100644
--- a/lib/unicodesymbols
+++ b/lib/unicodesymbols
@@ -811,7 +811,7 @@
0x038f "\\'\\textOmega" "textgreek" "force=euc-jp" # GREEK CAPITAL LETTER OMEGA WITH TONOS
0x0390 "\\\"'\\textiota" "textgreek" "force=euc-jp" # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
0x0390 "\\'\"\\textiota" ""
-0x0390 "\\'\\"\\textiota" ""
+0x0390 "\\'\\\"\\textiota" ""
0x0391 "\\textAlpha" "textgreek" "force=euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis" # GREEK CAPITAL LETTER ALPHA
0x0392 "\\textBeta" "textgreek" "force=euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis" # GREEK CAPITAL LETTER BETA
0x0393 "\\textGamma" "textgreek" "force=cp437;cp437de;cp862;cp865;euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis" "\\Gamma" "" # GREEK CAPITAL LETTER GAMMA
@@ -844,7 +844,7 @@
0x03af "\\'\\textiota" "textgreek" "force=euc-jp" # GREEK SMALL LETTER IOTA WITH TONOS
0x03b0 "\\\"'\\textupsilon" "textgreek" "force=euc-jp" # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
0x03b0 "\\'\"\\textupsilon" ""
-0x03b0 "\\'\\"\\textupsilon" ""
+0x03b0 "\\'\\\"\\textupsilon" ""
0x03b1 "\\textalpha" "textgreek" "mathalpha,force=cp437;cp437de;cp862;cp865;euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis" "\\alpha" "" # GREEK SMALL LETTER ALPHA
0x03b2 "\\textbeta" "textgreek" "mathalpha,force=euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis,tipashortcut=B" "\\beta" "" # GREEK SMALL LETTER BETA
0x03b3 "\\textgamma" "textgreek" "mathalpha,force=euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis" "\\gamma" "" # GREEK SMALL LETTER GAMMA
@@ -1923,7 +1923,7 @@
0x2020 "\\dag" "" "force=cp1256;euc-jp;euc-kr;jis" "\\dagger" "" # DAGGER
0x2020 "\\textdagger" ""
0x2021 "\\ddag" "" "force=cp1256;euc-jp;euc-kr;jis" "\\ddagger" "" # DOUBLE DAGGER
-0x2021 "\\textdaggerdbl"
+0x2021 "\\textdaggerdbl" ""
0x2022 "\\textbullet" "textcomp" "force=cp1256" "\\bullet" "" # BULLET
0x2023 "\\textifsymbol[ifgeo]{116}" "ifsym" "force=utf8;utf8x;utf8-cjk" # TRIANGULAR BULLET # â 0x25b8
0x2024 "." "" "notermination=text,force=utf8;utf8-cjk;utf8x" "" "" # ONE DOT LEADER # â FULL STOP
commit 8a0715d0bdc38df6c8b26d79e84c68409058a116
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Feb 26 16:23:27 2022 +0100
Do not output eps bounding box for unknown/missing graphics (#8899)
Except for dvi/ps output chain for which this trick was meant.
Also, issue an error message in this case. This is analogous to
the other output flavors now.
diff --git a/src/insets/InsetGraphics.cpp b/src/insets/InsetGraphics.cpp
index ef03b6f..91c23aa 100644
--- a/src/insets/InsetGraphics.cpp
+++ b/src/insets/InsetGraphics.cpp
@@ -61,6 +61,7 @@ TODO
#include "FuncRequest.h"
#include "FuncStatus.h"
#include "InsetIterator.h"
+#include "LaTeX.h"
#include "LaTeXFeatures.h"
#include "Lexer.h"
#include "MetricsInfo.h"
@@ -821,7 +822,19 @@ void InsetGraphics::latex(otexstream & os,
bool const file_exists = !params().filename.empty()
&& params().filename.isReadableFile();
string message;
- if (!file_exists) {
+ // PDFLaTeX and Xe/LuaTeX fall back to draft themselves
+ // and error about it. For DVI/PS, we do something similar here.
+ if (!file_exists && runparams.flavor == Flavor::LaTeX) {
+ TeXErrors terr;
+ ErrorList & errorList = buffer().errorList("Export");
+ docstring const s = params().filename.empty() ?
+ _("Graphic not specified. Falling back to `draft' mode.")
+ : bformat(_("Graphic `%1$s' was not found. Falling back to `draft' mode."),
+ params().filename.absoluteFilePath());
+ Paragraph const & par = buffer().paragraphs().front();
+ errorList.push_back(ErrorItem(_("Graphic not found!"), s,
+ {par.id(), 0}, {par.id(), -1}));
+ buffer().bufferErrors(terr, errorList);
if (params().bbox.empty())
message = "bb = 0 0 200 100";
if (!params().draft) {
@@ -832,11 +845,11 @@ void InsetGraphics::latex(otexstream & os,
if (!message.empty())
message += ", ";
message += "type=eps";
+ // If no existing file "filename" was found LaTeX
+ // draws only a rectangle with the above bb and the
+ // not found filename in it.
+ LYXERR(Debug::GRAPHICS, "\tMessage = \"" << message << '\"');
}
- // If no existing file "filename" was found LaTeX
- // draws only a rectangle with the above bb and the
- // not found filename in it.
- LYXERR(Debug::GRAPHICS, "\tMessage = \"" << message << '\"');
// These variables collect all the latex code that should be before and
// after the actual includegraphics command.
commit de0dbfb61bd2b4410c9e7948850acbad3bd8ee61
Author: Kornel Benko <kornel at lyx.org>
Date: Wed Feb 23 18:22:16 2022 +0100
Amend(2) b5d9bbfe: FindAdv: Added handling of some missing conversions
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 696a256..6f75ed6 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -1816,8 +1816,8 @@ static void buildAccentsMap()
accents["backslash LaTeXe"] = getutf8(0xf0013);
accents["backslash lyxarrow"] = getutf8(0xf0020);
accents["ddot{\\imath}"] = "ï";
- buildaccent("ddot", "aAeEhHiIioOtuUwWxXyY",
- "äÃëÃḧḦïÃïöÃáºÃ¼Ãáº
áºáºáºÃ¿Å¸"); // umlaut
+ buildaccent("ddot", "aAeEhHiIoOtuUwWxXyY",
+ "äÃëÃḧḦïÃöÃáºÃ¼Ãáº
áºáºáºÃ¿Å¸"); // umlaut
buildaccent("dot|.", "aAbBcCdDeEfFGghHIimMnNoOpPrRsStTwWxXyYzZ",
"ȧȦá¸á¸ÄÄá¸á¸ÄÄá¸á¸Ä ġḣḢİİá¹á¹á¹
á¹È¯È®á¹á¹á¹á¹á¹¡á¹ ṫṪáºáºáºáºáºáºÅ¼Å»"); // dot{i} can only happen if ignoring case, but there is no lowercase of 'İ'
accents["acute{\\imath}"] = "Ã";
@@ -1862,8 +1862,8 @@ static void buildAccentsMap()
accents["textdoublegrave{\\i}"] = "È";
buildaccent("dgrave|textdoublegrave", "AaEeIiOoRrUu",
"ÈÈÈÈ
ÈÈÈÈÈÈÈÈ"); // double grave
- accents["rcap{\\imath}"] = "È";
- accents["textroundcap{\\i}"] = "È";
+ accents["rcap{\\imath}"] = "È";
+ accents["textroundcap{\\i}"] = "È";
buildaccent("rcap|textroundcap", "AaEeIiOoRrUu",
"ÈÈÈÈÈÈÈÈÈÈÈÈ"); // inverted breve
buildaccent("slashed", "oO",
commit 8bc6aa75353ad26c9ecd31f7ca0487ab7e3c58f4
Author: Daniel Ramoeller <d.lyx at web.de>
Date: Tue Feb 22 10:17:19 2022 +0100
Footnote LabelString should be "Foot" rather than "foot"
Fix for bug #12487.
diff --git a/lib/layouts/stdinsets.inc b/lib/layouts/stdinsets.inc
index b604cbe..606765f 100644
--- a/lib/layouts/stdinsets.inc
+++ b/lib/layouts/stdinsets.inc
@@ -48,7 +48,7 @@ InsetLayout Marginal
End
InsetLayout Foot
- LabelString foot
+ LabelString Foot
LatexType Command
LatexName footnote
Counter footnote
commit 4cab1a77d20d3db8769862da5afe12879a9f8bb3
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sat Feb 19 02:23:52 2022 +0100
Encodings::fromLaTeXCommand: if the command directly maps an entry of unicodesymbols, use it and bypass most of the logic.
This is important for commands like !`, that are equivalent to \textexclamdown. However, ! is matched earlier, because the logic works with prefixes, hence the output doesn't make sense.
diff --git a/autotests/export/docbook/ert_convert.xml b/autotests/export/docbook/ert_convert.xml
index e21274b..e85efc8 100644
--- a/autotests/export/docbook/ert_convert.xml
+++ b/autotests/export/docbook/ert_convert.xml
@@ -3,5 +3,6 @@
See https://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>ERT Conversions</title>
-<para>These should be <code>À</code>: À À À </para>
+<para>These should be <code>À</code>: À À À</para>
+<para>This one should be <code>¡</code>: ¡ ¡</para>
</article>
\ No newline at end of file
diff --git a/src/Encoding.cpp b/src/Encoding.cpp
index 988872f..0c8d085 100644
--- a/src/Encoding.cpp
+++ b/src/Encoding.cpp
@@ -381,6 +381,30 @@ docstring Encodings::fromLaTeXCommand(docstring const & cmd, int cmdtype,
rem = empty_docstring();
bool const mathmode = cmdtype & MATH_CMD;
bool const textmode = cmdtype & TEXT_CMD;
+
+ // Easy case: the command is a complete entry of unicodesymbols.
+ for (const auto & unicodeSymbol : unicodesymbols) {
+ if (mathmode) {
+ for (const auto & command : unicodeSymbol.second.mathCommands()) {
+ if (command == cmd) {
+ docstring value;
+ value += unicodeSymbol.first;
+ return value;
+ }
+ }
+ }
+ if (textmode) {
+ for (const auto & command : unicodeSymbol.second.textCommands()) {
+ if (command == cmd) {
+ docstring value;
+ value += unicodeSymbol.first;
+ return value;
+ }
+ }
+ }
+ }
+
+ // Otherwise, try to map as many commands as possible, matching prefixes of the command.
docstring symbols;
size_t const cmdend = cmd.size();
size_t prefix = 0;
commit 0cde3dce12cd2be875f700ae3c1a175db595a2b7
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Mon Feb 21 02:10:15 2022 +0100
unicodesymbols: add math versions of some symbols according to unicodetex
diff --git a/lib/unicodesymbols b/lib/unicodesymbols
index e611666..fa3e37d 100644
--- a/lib/unicodesymbols
+++ b/lib/unicodesymbols
@@ -1942,12 +1942,12 @@
0x2030 "\\textperthousand" "textcomp" "force=cp1256;euc-cn;euc-jp;euc-kr;gbk;jis" # PER MILLE SIGN
0x2031 "\\textpertenthousand" "textcomp" "" # PER TEN THOUSAND SIGN
0x2032 "\\textasciiacute" "textcomp" "force=utf8;utf8-cjk;euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis" "\\prime" "" # PRIME
-0x2033 "\\textacutedbl" "textcomp" "force=utf8;utf8-cjk;euc-cn;euc-jp;euc-kr;gbk;jis" # DOUBLE PRIME
+0x2033 "\\textacutedbl" "textcomp" "force=utf8;utf8-cjk;euc-cn;euc-jp;euc-kr;gbk;jis" "\\dprime" "" # DOUBLE PRIME
#0x2034 "" "" "" # TRIPLE PRIME
0x2035 "\\textasciigrave" "textcomp" "force=utf8;utf8x;utf8-cjk;euc-tw;gbk;jis" "\\backprime" "amssymb" # REVERSED PRIME
0x2036 "\\textgravedbl" "textcomp" "force=utf8;utf8x;utf8-cjk" # REVERSED DOUBLE PRIME
#0x2037 "" "" "" # REVERSED TRIPLE PRIME
-0x2038 "\\textsubcircum{ }" "tipa" "force=utf8;utf8x;utf8-cjk" "" "" # CARET
+0x2038 "\\textsubcircum{ }" "tipa" "force=utf8;utf8x;utf8-cjk" "\\caretinsert" "" # CARET
0x2039 "\\guilsinglleft" "" "force=cp1256" # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
0x203a "\\guilsinglright" "" "force=cp1256" # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
0x203b "\\textreferencemark" "textcomp" "force=euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis" # REFERENCE MARK
@@ -3000,7 +3000,7 @@
0x25b5 "\\textifsymbol[ifgeo]{65}" "ifsym" "force" "\\vartriangle" "amssymb" # WHITE UP-POINTING SMALL TRIANGLE
0x25b6 "\\textifsymbol[ifgeo]{100}" "ifsym" "force" "\\RHD" "wasysym" # BLACK RIGHT-POINTING TRIANGLE
0x25b7 "\\textifsymbol[ifgeo]{52}" "ifsym" "force" "\\rhd" "amssymb" # WHITE RIGHT-POINTING TRIANGLE
-0x25b8 "\\textifsymbol[ifgeo]{116}" "ifsym" "force" # BLACK RIGHT-POINTING SMALL TRIANGLE
+0x25b8 "\\textifsymbol[ifgeo]{116}" "ifsym" "force" "\\smallblacktriangleright" "" # BLACK RIGHT-POINTING SMALL TRIANGLE
0x25b9 "\\textifsymbol[ifgeo]{68}" "ifsym" "force" # WHITE RIGHT-POINTING SMALL TRIANGLE
0x25ba "\\RIGHTarrow" "wasysym" "force" # BLACK RIGHT-POINTING POINTER
#0x25bb "\\textwide{\\textifsymbol[ifgeo]{68}}" "ifsym" "force" "" "" # WHITE RIGHT-POINTING POINTER # textwide should print wide version but actually prints narrow one!
@@ -3078,7 +3078,7 @@
#0x2603 "" "" "" "" "" # SNOWMAN
#0x2604 "" "" "" "" "" # COMET
0x2605 "\\FiveStar" "bbding" "force" "\\bigstar" "amssymb" # BLACK STAR
-0x2606 "\\FiveStarOpen" "bbding" "force" # WHITE STAR
+0x2606 "\\FiveStarOpen" "bbding" "force" "\\bigwhitestar" "" # WHITE STAR
#0x2607 "" "" "" "" "" # LIGHTNING
#0x2608 "" "" "" "" "" # THUNDERSTORM
0x2609 "\\astrosun" "wasysym" "force" "" "" # SUN
commit 548c12158f0b1030e59b51d2db4b17726a66ee7e
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Mon Feb 21 00:18:56 2022 +0100
unicodesymbols: mark several Greek characters as deprecated (oxia becoming tonos).
Some of corresponding commands did not have a matching LaTeX command for a currently recommended Unicode character; these have been added.
diff --git a/lib/unicodesymbols b/lib/unicodesymbols
index 62bd8eb..e611666 100644
--- a/lib/unicodesymbols
+++ b/lib/unicodesymbols
@@ -810,6 +810,8 @@
0x038e "\\'\\textUpsilon" "textgreek" "force=euc-jp" # GREEK CAPITAL LETTER UPSILON WITH TONOS
0x038f "\\'\\textOmega" "textgreek" "force=euc-jp" # GREEK CAPITAL LETTER OMEGA WITH TONOS
0x0390 "\\\"'\\textiota" "textgreek" "force=euc-jp" # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+0x0390 "\\'\"\\textiota" ""
+0x0390 "\\'\\"\\textiota" ""
0x0391 "\\textAlpha" "textgreek" "force=euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis" # GREEK CAPITAL LETTER ALPHA
0x0392 "\\textBeta" "textgreek" "force=euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis" # GREEK CAPITAL LETTER BETA
0x0393 "\\textGamma" "textgreek" "force=cp437;cp437de;cp862;cp865;euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis" "\\Gamma" "" # GREEK CAPITAL LETTER GAMMA
@@ -841,6 +843,8 @@
0x03ae "\\'\\texteta" "textgreek" "force=euc-jp" # GREEK SMALL LETTER ETA WITH TONOS
0x03af "\\'\\textiota" "textgreek" "force=euc-jp" # GREEK SMALL LETTER IOTA WITH TONOS
0x03b0 "\\\"'\\textupsilon" "textgreek" "force=euc-jp" # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+0x03b0 "\\'\"\\textupsilon" ""
+0x03b0 "\\'\\"\\textupsilon" ""
0x03b1 "\\textalpha" "textgreek" "mathalpha,force=cp437;cp437de;cp862;cp865;euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis" "\\alpha" "" # GREEK SMALL LETTER ALPHA
0x03b2 "\\textbeta" "textgreek" "mathalpha,force=euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis,tipashortcut=B" "\\beta" "" # GREEK SMALL LETTER BETA
0x03b3 "\\textgamma" "textgreek" "mathalpha,force=euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis" "\\gamma" "" # GREEK SMALL LETTER GAMMA
@@ -1748,19 +1752,19 @@
0x1f6e "\\accpsiliperispomeni\\textOmega" "textgreek" "" "" "" # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
0x1f6f "\\accdasiaperispomeni\\textOmega" "textgreek" "" "" "" # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
0x1f70 "\\`\\textalpha" "textgreek" "" "" "" # GREEK SMALL LETTER ALPHA WITH VARIA
-0x1f71 "\\'\\textalpha" "textgreek" "" "" "" # GREEK SMALL LETTER ALPHA WITH OXIA
+0x1f71 "\\'\\textalpha" "textgreek" "deprecated" "" "" # GREEK SMALL LETTER ALPHA WITH OXIA
0x1f72 "\\`\\textepsilon" "textgreek" "" "" "" # GREEK SMALL LETTER EPSILON WITH VARIA
-0x1f73 "\\'\\textepsilon" "textgreek" "" "" "" # GREEK SMALL LETTER EPSILON WITH OXIA
+0x1f73 "\\'\\textepsilon" "textgreek" "deprecated" "" "" # GREEK SMALL LETTER EPSILON WITH OXIA
0x1f74 "\\`\\texteta" "textgreek" "" "" "" # GREEK SMALL LETTER ETA WITH VARIA
-0x1f75 "\\'\\texteta" "textgreek" "" "" "" # GREEK SMALL LETTER ETA WITH OXIA
+0x1f75 "\\'\\texteta" "textgreek" "deprecated" "" "" # GREEK SMALL LETTER ETA WITH OXIA
0x1f76 "\\`\\textiota" "textgreek" "" "" "" # GREEK SMALL LETTER IOTA WITH VARIA
-0x1f77 "\\'\\textiota" "textgreek" "" "" "" # GREEK SMALL LETTER IOTA WITH OXIA
+0x1f77 "\\'\\textiota" "textgreek" "deprecated" "" "" # GREEK SMALL LETTER IOTA WITH OXIA
0x1f78 "\\`\\textomicron" "textgreek" "" "" "" # GREEK SMALL LETTER OMICRON WITH VARIA
-0x1f79 "\\'\\textomicron" "textgreek" "" "" "" # GREEK SMALL LETTER OMICRON WITH OXIA
+0x1f79 "\\'\\textomicron" "textgreek" "deprecated" "" "" # GREEK SMALL LETTER OMICRON WITH OXIA
0x1f7a "\\`\\textupsilon" "textgreek" "" "" "" # GREEK SMALL LETTER UPSILON WITH VARIA
-0x1f7b "\\'\\textupsilon" "textgreek" "" "" "" # GREEK SMALL LETTER UPSILON WITH OXIA
+0x1f7b "\\'\\textupsilon" "textgreek" "deprecated" "" "" # GREEK SMALL LETTER UPSILON WITH OXIA
0x1f7c "\\`\\textomega" "textgreek" "" "" "" # GREEK SMALL LETTER OMEGA WITH VARIA
-0x1f7d "\\'\\textomega" "textgreek" "" "" "" # GREEK SMALL LETTER OMEGA WITH OXIA
+0x1f7d "\\'\\textomega" "textgreek" "" "deprecated" "" # GREEK SMALL LETTER OMEGA WITH OXIA
0x1f80 "\\accpsili\\textalpha\\ypogegrammeni" "textgreek" "" "" "" # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
0x1f81 "\\accdasia\\textalpha\\ypogegrammeni" "textgreek" "" "" "" # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
0x1f82 "\\accpsilivaria\\textalpha\\ypogegrammeni" "textgreek" "" "" "" # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
@@ -1819,7 +1823,7 @@
0x1fb8 "\\u\\textAlpha" "textgreek" "" "" "" # GREEK CAPITAL LETTER ALPHA WITH VRACHY
0x1fb9 "\\=\\textAlpha" "textgreek" "" "" "" # GREEK CAPITAL LETTER ALPHA WITH MACRON
0x1fba "\\`\\textAlpha" "textgreek" "" "" "" # GREEK CAPITAL LETTER ALPHA WITH VARIA
-0x1fbb "\\'\\textAlpha" "textgreek" "" "" "" # GREEK CAPITAL LETTER ALPHA WITH OXIA
+0x1fbb "\\'\\textAlpha" "textgreek" "deprecated" "" "" # GREEK CAPITAL LETTER ALPHA WITH OXIA
0x1fbc "\\textAlpha\\prosgegrammeni" "textgreek" "" "" "" # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
0x1fbd "\\accpsili{ }" "textgreek" "" "" "" # GREEK KORONIS
0x1fbe "\\textcompwordmark\\prosgegrammeni" "textgreek" "" "" "" # GREEK PROSGEGRAMMENI
@@ -1832,9 +1836,9 @@
0x1fc6 "\\~\\texteta" "textgreek" "" "" "" # GREEK SMALL LETTER ETA WITH PERISPOMENI
0x1fc7 "\\~\\texteta\\ypogegrammeni" "textgreek" "" "" "" # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
0x1fc8 "\\`\\textEpsilon" "textgreek" "" "" "" # GREEK CAPITAL LETTER EPSILON WITH VARIA
-0x1fc9 "\\'\\textEpsilon" "textgreek" "" "" "" # GREEK CAPITAL LETTER EPSILON WITH OXIA
+0x1fc9 "\\'\\textEpsilon" "textgreek" "deprecated" "" "" # GREEK CAPITAL LETTER EPSILON WITH OXIA
0x1fca "\\`\\textEta" "textgreek" "" "" "" # GREEK CAPITAL LETTER ETA WITH VARIA
-0x1fcb "\\'\\textEta" "textgreek" "" "" "" # GREEK CAPITAL LETTER ETA WITH OXIA
+0x1fcb "\\'\\textEta" "textgreek" "deprecated" "" "" # GREEK CAPITAL LETTER ETA WITH OXIA
0x1fcc "\\textEta\\prosgegrammeni" "textgreek" "" "" "" # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
0x1fcd "\\accpsilivaria{ }" "textgreek" "" "" "" # GREEK PSILI AND VARIA
0x1fce "\\accpsilioxia{ }" "textgreek" "" "" "" # GREEK PSILI AND OXIA
@@ -1842,20 +1846,20 @@
0x1fd0 "\\u\\textiota" "textgreek" "" "" "" # GREEK SMALL LETTER IOTA WITH VRACHY
0x1fd1 "\\=\\textiota" "textgreek" "" "" "" # GREEK SMALL LETTER IOTA WITH MACRON
0x1fd2 "\\`\"\\textiota" "textgreek" "" "" "" # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
-0x1fd3 "\\'\"\\textiota" "textgreek" "" "" "" # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
+0x1fd3 "\\'\"\\textiota" "textgreek" "deprecated" "" "" # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
0x1fd6 "\\~\\textiota" "textgreek" "" "" "" # GREEK SMALL LETTER IOTA WITH PERISPOMENI
0x1fd7 "\\~\"\\textiota" "textgreek" "" "" "" # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
0x1fd8 "\\u\\textIota" "textgreek" "" "" "" # GREEK CAPITAL LETTER IOTA WITH VRACHY
0x1fd9 "\\=\\textIota" "textgreek" "" "" "" # GREEK CAPITAL LETTER IOTA WITH MACRON
0x1fda "\\`\\textIota" "textgreek" "" "" "" # GREEK CAPITAL LETTER IOTA WITH VARIA
-0x1fdb "\\'\\textIota" "textgreek" "" "" "" # GREEK CAPITAL LETTER IOTA WITH OXIA
+0x1fdb "\\'\\textIota" "textgreek" "deprecated" "" "" # GREEK CAPITAL LETTER IOTA WITH OXIA
0x1fdd "\\accdasiavaria{ }" "textgreek" "" "" "" # GREEK DASIA AND VARIA
0x1fde "\\accdasiaoxia{ }" "textgreek" "" "" "" # GREEK DASIA AND OXIA
0x1fdf "\\accdasiaperispomeni{ }" "textgreek" "" "" "" # GREEK DASIA AND PERISPOMENI
0x1fe0 "\\u\\textupsilon" "textgreek" "" "" "" # GREEK SMALL LETTER UPSILON WITH VRACHY
0x1fe1 "\\=\\textupsilon" "textgreek" "" "" "" # GREEK SMALL LETTER UPSILON WITH MACRON
0x1fe2 "\\`\"\\textupsilon" "textgreek" "" "" "" # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
-0x1fe3 "\\'\"\\textupsilon" "textgreek" "" "" "" # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
+0x1fe3 "\\'\"\\textupsilon" "textgreek" "deprecated" "" "" # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
0x1fe4 "\\accpsili\\textrho" "textgreek" "" "" "" # GREEK SMALL LETTER RHO WITH PSILI
0x1fe5 "\\accdasia\\textrho" "textgreek" "" "" "" # GREEK SMALL LETTER RHO WITH DASIA
0x1fe6 "\\~\\textupsilon" "textgreek" "" "" "" # GREEK SMALL LETTER UPSILON WITH PERISPOMENI
@@ -1863,7 +1867,7 @@
0x1fe8 "\\u\\textUpsilon" "textgreek" "" "" "" # GREEK CAPITAL LETTER UPSILON WITH VRACHY
0x1fe9 "\\=\\textUpsilon" "textgreek" "" "" "" # GREEK CAPITAL LETTER UPSILON WITH MACRON
0x1fea "\\`\\textUpsilon" "textgreek" "" "" "" # GREEK CAPITAL LETTER UPSILON WITH VARIA
-0x1feb "\\'\\textUpsilon" "textgreek" "" "" "" # GREEK CAPITAL LETTER UPSILON WITH OXIA
+0x1feb "\\'\\textUpsilon" "textgreek" "deprecated" "" "" # GREEK CAPITAL LETTER UPSILON WITH OXIA
0x1fec "\\accdasia\\textRho" "textgreek" "" "" "" # GREEK CAPITAL LETTER RHO WITH DASIA
0x1fed "\\`\"{ }" "textgreek" "" "" "" # GREEK DIALYTIKA AND VARIA
0x1fee "\\'\"{ }" "textgreek" "" "" "" # GREEK DIALYTIKA AND OXIA
@@ -1874,11 +1878,11 @@
0x1ff6 "\\~\\textomega" "textgreek" "" "" "" # GREEK SMALL LETTER OMEGA WITH PERISPOMENI
0x1ff7 "\\~\\textomega\\ypogegrammeni" "textgreek" "" "" "" # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
0x1ff8 "\\`\\textOmicron" "textgreek" "" "" "" # GREEK CAPITAL LETTER OMICRON WITH VARIA
-0x1ff9 "\\'\\textOmicron" "textgreek" "" "" "" # GREEK CAPITAL LETTER OMICRON WITH OXIA
+0x1ff9 "\\'\\textOmicron" "textgreek" "deprecated" "" "" # GREEK CAPITAL LETTER OMICRON WITH OXIA
0x1ffa "\\`\\textOmega" "textgreek" "" "" "" # GREEK CAPITAL LETTER OMEGA WITH VARIA
-0x1ffb "\\'\\textOmega" "textgreek" "" "" "" # GREEK CAPITAL LETTER OMEGA WITH OXIA
+0x1ffb "\\'\\textOmega" "textgreek" "deprecated" "" "" # GREEK CAPITAL LETTER OMEGA WITH OXIA
0x1ffc "\\textOmega\\prosgegrammeni" "textgreek" "" "" "" # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-0x1ffd "\\'{ }" "textgreek" "" "" "" # GREEK OXIA
+0x1ffd "\\'{ }" "textgreek" "deprecated" "" "" # GREEK OXIA
0x1ffe "\\accdasia{ }" "textgreek" "" "" "" # GREEK DASIA
#
# 70 General Punctuation
@@ -2574,8 +2578,8 @@
#0x2317 "" "" "" "" "" # VIEWDATA SQUARE
0x2318 "\\cmdmac" "menukeys" "force" "" "" # PLACE OF INTEREST SIGN
#0x2319 "" "" "" "" "" # TURNED NOT SIGN
-0x2329 "\\textlangle" "textcomp" "force=utf8x" "" "" # LEFT-POINTING ANGLE BRACKET
-0x232a "\\textrangle" "textcomp" "force=utf8x" "" "" # RIGHT-POINTING ANGLE BRACKET
+0x2329 "\\textlangle" "textcomp" "force=utf8x,deprecated" "" "" # LEFT-POINTING ANGLE BRACKET
+0x232a "\\textrangle" "textcomp" "force=utf8x,deprecated" "" "" # RIGHT-POINTING ANGLE BRACKET
0x231a "\\Clocklogo" "marvosym" "force" # WATCH
#0x231b "" "" "" "" "" # HOURGLASS
0x231c "" "" "force" "\\ulcorner" "amssymb" # TOP LEFT CORNER
commit 407ae8db042622c04fdfeb0b2cf9e7cebeef9816
Author: Kornel Benko <kornel at lyx.org>
Date: Mon Feb 21 14:52:56 2022 +0100
Amend b5d9bbfe: FindAdv: Added handling of some missing conversions
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 889a8a4..696a256 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -1513,6 +1513,8 @@ void static fillMissingUnicodesymbols()
addAccents("\\yen", getutf8(0x00a5));
addAccents("\\textsection", getutf8(0x00a7));
addAccents("\\mathsection", getutf8(0x00a7));
+ addAccents("\\textcopyright", getutf8(0x00a9));
+ addAccents("\\copyright", getutf8(0x00a9));
addAccents("\\textlnot", getutf8(0x00ac));
addAccents("\\neg", getutf8(0x00ac));
addAccents("\\textregistered", getutf8(0x00ae));
@@ -1532,8 +1534,6 @@ void static fillMissingUnicodesymbols()
addAccents("\\o", getutf8(0x00f8));
addAccents("\\textcrlambda", getutf8(0x019b));
addAccents("\\j", getutf8(0x0237));
- addAccents("\\textepsilon", getutf8(0x025b));
- addAccents("\\varepsilon", getutf8(0x025b));
addAccents("\\textGamma", getutf8(0x0393));
addAccents("\\Gamma", getutf8(0x0393));
addAccents("\\textDelta", getutf8(0x0394));
commit b5d9bbfecd88b4a938db3c14ef0367c445e19f56
Author: Kornel Benko <kornel at lyx.org>
Date: Mon Feb 21 11:09:54 2022 +0100
FindAdv: Added handling of some missing conversions
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 6f780c1..889a8a4 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -1507,12 +1507,16 @@ static void addAccents(string latex_in, string unicode_out)
void static fillMissingUnicodesymbols()
{
+ addAccents("\\pounds", getutf8(0x00a3));
+ addAccents("\\textsterling", getutf8(0x00a3));
addAccents("\\textyen", getutf8(0x00a5));
addAccents("\\yen", getutf8(0x00a5));
addAccents("\\textsection", getutf8(0x00a7));
addAccents("\\mathsection", getutf8(0x00a7));
addAccents("\\textlnot", getutf8(0x00ac));
addAccents("\\neg", getutf8(0x00ac));
+ addAccents("\\textregistered", getutf8(0x00ae));
+ addAccents("\\circledR", getutf8(0x00ae));
addAccents("\\textpm", getutf8(0x00b1));
addAccents("\\pm", getutf8(0x00b1));
addAccents("\\textparagraph", getutf8(0x00b6));
@@ -1520,6 +1524,7 @@ void static fillMissingUnicodesymbols()
addAccents("\\textperiodcentered", getutf8(0x00b7));
addAccents("\\texttimes", getutf8(0x00d7));
addAccents("\\times", getutf8(0x00d7));
+ addAccents("\\O", getutf8(0x00d8));
addAccents("\\dh", getutf8(0x00f0));
addAccents("\\eth", getutf8(0x00f0));
addAccents("\\textdiv", getutf8(0x00f7));
@@ -1527,6 +1532,30 @@ void static fillMissingUnicodesymbols()
addAccents("\\o", getutf8(0x00f8));
addAccents("\\textcrlambda", getutf8(0x019b));
addAccents("\\j", getutf8(0x0237));
+ addAccents("\\textepsilon", getutf8(0x025b));
+ addAccents("\\varepsilon", getutf8(0x025b));
+ addAccents("\\textGamma", getutf8(0x0393));
+ addAccents("\\Gamma", getutf8(0x0393));
+ addAccents("\\textDelta", getutf8(0x0394));
+ addAccents("\\Delta", getutf8(0x0394));
+ addAccents("\\textTheta", getutf8(0x0398));
+ addAccents("\\Theta", getutf8(0x0398));
+ addAccents("\\textLambda", getutf8(0x039b));
+ addAccents("\\Lambda", getutf8(0x039b));
+ addAccents("\\textXi", getutf8(0x039e));
+ addAccents("\\Xi", getutf8(0x039e));
+ addAccents("\\textPi", getutf8(0x03a0));
+ addAccents("\\Pi", getutf8(0x03a0));
+ addAccents("\\textSigma", getutf8(0x03a3));
+ addAccents("\\Sigma", getutf8(0x03a3));
+ addAccents("\\textUpsilon", getutf8(0x03a5));
+ addAccents("\\Upsilon", getutf8(0x03a5));
+ addAccents("\\textPhi", getutf8(0x03a6));
+ addAccents("\\Phi", getutf8(0x03a6));
+ addAccents("\\textPsi", getutf8(0x03a8));
+ addAccents("\\Psi", getutf8(0x03a8));
+ addAccents("\\textOmega", getutf8(0x03a9));
+ addAccents("\\Omega", getutf8(0x03a9));
addAccents("\\textalpha", getutf8(0x03b1));
addAccents("\\alpha", getutf8(0x03b1));
addAccents("\\textbeta", getutf8(0x03b2));
@@ -1696,19 +1725,24 @@ void static fillMissingUnicodesymbols()
addAccents("\\thainine", getutf8(0x0e59));
addAccents("\\thaiAngkhankhu", getutf8(0x0e5a));
addAccents("\\thaiKhomut", getutf8(0x0e5b));
-
addAccents("\\dag", getutf8(0x2020));
addAccents("\\dagger", getutf8(0x2020));
+ addAccents("\\textdagger", getutf8(0x2020));
addAccents("\\ddag", getutf8(0x2021));
addAccents("\\ddagger", getutf8(0x2021));
addAccents("\\textbullet", getutf8(0x2022));
addAccents("\\bullet", getutf8(0x2022));
addAccents("\\dots", getutf8(0x2026));
addAccents("\\ldots", getutf8(0x2026));
+ addAccents("\\textellipsis", getutf8(0x2026));
addAccents("\\textasciiacute", getutf8(0x2032));
addAccents("\\prime", getutf8(0x2032));
+ addAccents("\\textacutedbl", getutf8(0x2033));
+ addAccents("\\dprime", getutf8(0x2033));
addAccents("\\textasciigrave", getutf8(0x2035));
addAccents("\\backprime", getutf8(0x2035));
+ addAccents("\\textsubcircum{ }", getutf8(0x2038));
+ addAccents("\\caretinsert", getutf8(0x2038));
addAccents("\\textasteriskcentered", getutf8(0x204e));
addAccents("\\ast", getutf8(0x204e));
addAccents("\\textmho", getutf8(0x2127));
@@ -1729,6 +1763,14 @@ void static fillMissingUnicodesymbols()
addAccents("\\surd", getutf8(0x221a));
addAccents("\\textbigcircle", getutf8(0x25ef));
addAccents("\\bigcirc", getutf8(0x25ef));
+ addAccents("\\FiveStar", getutf8(0x2605));
+ addAccents("\\bigstar", getutf8(0x2605));
+ addAccents("\\FiveStarOpen", getutf8(0x2606));
+ addAccents("\\bigwhitestar", getutf8(0x2606));
+ addAccents("\\Checkmark", getutf8(0x2713));
+ addAccents("\\checkmark", getutf8(0x2713));
+ addAccents("\\CrossMaltese", getutf8(0x2720));
+ addAccents("\\maltese", getutf8(0x2720));
addAccents("\\textlangle", getutf8(0x27e8));
addAccents("\\langle", getutf8(0x27e8));
addAccents("\\textrangle", getutf8(0x27e9));
commit 0d7d8c37e3962dab0e76dd5b21bfee308e522df2
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Mon Feb 21 09:49:32 2022 +0100
Fix language direction switch issue
reported at https://marc.info/?l=lyx-users&m=164538003727435&w=2
diff --git a/src/output_latex.cpp b/src/output_latex.cpp
index f6c7375..03ac2b4 100644
--- a/src/output_latex.cpp
+++ b/src/output_latex.cpp
@@ -933,10 +933,12 @@ void TeXOnePar(Buffer const & buf,
break;
}
}
+ bool const have_prior_nptpar =
+ prior_nontitle_par && !prior_nontitle_par->isPassThru();
Language const * const prev_language =
runparams_in.for_searchAdv != OutputParams::NoSearch
? languages.getLanguage("ignore")
- : (prior_nontitle_par && !prior_nontitle_par->isPassThru())
+ : (have_prior_nptpar)
? (use_prev_env_language
? state->prev_env_language_
: prior_nontitle_par->getParLanguage(bparams))
@@ -982,7 +984,9 @@ void TeXOnePar(Buffer const & buf,
use_polyglossia
&& runparams.local_font != nullptr
&& outer_language->rightToLeft()
- && !par_language->rightToLeft();
+ && !par_language->rightToLeft()
+ && !(have_prior_nptpar
+ && (prev_language->rightToLeft() != par_language->rightToLeft()));
bool const localswitch =
(runparams_in.for_searchAdv != OutputParams::NoSearch
|| text.inset().forceLocalFontSwitch()
commit fb70452086747fad09ce6f1e56e9373a330b3373
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Feb 20 22:28:48 2022 +0100
unicodesymbols: amend fec498d6, there was an O (capital letter O) instead of an 0 (zero).
diff --git a/lib/unicodesymbols b/lib/unicodesymbols
index ab27e31..62bd8eb 100644
--- a/lib/unicodesymbols
+++ b/lib/unicodesymbols
@@ -70,7 +70,7 @@
0x00a7 "\\textsection" "textcomp" "force=cp1255;cp1256;iso8859-7;euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis;shift-jis-platex" "\\mathsection" "" # SECTION SIGN
0x00a8 "\\textasciidieresis" "textcomp" "force=cp1255;cp1256;iso8859-7;euc-cn;euc-jp;euc-kr;gbk;jis;shift-jis-platex" # DIAERESIS
0x00a9 "\\textcopyright" "textcomp" "force=cp1255;cp1256;koi8-u;iso8859-7;euc-jp;euc-jp-platex;utf8-platex" # COPYRIGHT SIGN
-Ox00a9 "\\copyright" ""
+0x00a9 "\\copyright" ""
0x00aa "\\textordfeminine" "textcomp" "force=cp862;euc-jp;euc-jp-platex;euc-kr;utf8-platex" # FEMININE ORDINAL INDICATOR
0x00ab "\\guillemotleft" "" "force=armscii8;cp862;cp1255;cp1256;iso8859-7;utf8-platex" # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
0x00ac "\\textlnot" "textcomp" "force!=utf8;utf8-cjk" "\\neg" "" # ¬ NOT SIGN
commit cfb6f205fa59a7989958ac2808e5a3c62f1b35bf
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Feb 20 21:30:39 2022 +0100
DocBook, InsetFloat: avoid a potential nullptr dereference when detecting the type of table for filler content.
diff --git a/src/insets/InsetFloat.cpp b/src/insets/InsetFloat.cpp
index cb05e49..981d611 100644
--- a/src/insets/InsetFloat.cpp
+++ b/src/insets/InsetFloat.cpp
@@ -819,12 +819,15 @@ void docbookNoSubfigures(XMLStream & xs, OutputParams const & runparams, const I
}
// - Output the actual content of the float or some dummy content (to ensure that the output
- // document is valid).
+ // document is valid). Use HTML tables by default, unless an InsetFloat is given.
if (hasFloat)
xs << XMLStream::ESCAPE_NONE << osFloatContent.str();
- else if (ftype.docbookFloatType() == "table")
- docbookGenerateFillerTable(xs, thisFloat->buffer().params().docbook_table_output);
- else
+ else if (ftype.docbookFloatType() == "table") {
+ BufferParams::TableOutput tableFormat = BufferParams::HTMLTable;
+ if (thisFloat)
+ tableFormat = thisFloat->buffer().params().docbook_table_output;
+ docbookGenerateFillerTable(xs, tableFormat);
+ } else
docbookGenerateFillerMedia(xs);
// - Close the float.
commit bfe98181169d9e697e515da974d9b6a15a06c940
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sun Feb 20 19:48:13 2022 +0100
Make undo action no-ops when the buffer is read-only
Since the buffer cannot be modified, there is no point to record changes.
Avoids marking buffer dirty after running "inset-forall".
diff --git a/src/Undo.cpp b/src/Undo.cpp
index a870241..4e970df 100644
--- a/src/Undo.cpp
+++ b/src/Undo.cpp
@@ -374,6 +374,9 @@ void Undo::Private::recordUndo(UndoKind kind,
LASSERT(first_pit <= cell.lastpit(), return);
LASSERT(last_pit <= cell.lastpit(), return);
+ if (buffer_.isReadonly())
+ return;
+
doRecordUndo(kind, cell, first_pit, last_pit, cur,
undostack_);
@@ -408,6 +411,9 @@ void Undo::Private::doRecordUndoBufferParams(CursorData const & cur_before,
void Undo::Private::recordUndoBufferParams(CursorData const & cur)
{
+ if (buffer_.isReadonly())
+ return;
+
doRecordUndoBufferParams(cur, undostack_);
// next time we'll try again to combine entries if possible
@@ -517,6 +523,9 @@ void Undo::Private::doUndoRedoAction(CursorData & cur, UndoElementStack & stack,
bool Undo::Private::undoRedoAction(CursorData & cur, bool isUndoOperation)
{
+ if (buffer_.isReadonly())
+ return false;
+
undo_finished_ = true;
UndoElementStack & stack = isUndoOperation ? undostack_ : redostack_;
commit a90a1aed06a149a181cbcc34b589f92f35f6222f
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sun Feb 20 19:35:37 2022 +0100
Fixup cc426346: rename curs to bvcur
The name "curs" was chosen to avoid to hide the existing "cur" local variable.
Using "bvcur" makes the name easier to grasp.
diff --git a/src/BufferView.cpp b/src/BufferView.cpp
index 8ea0204..023301d 100644
--- a/src/BufferView.cpp
+++ b/src/BufferView.cpp
@@ -2066,14 +2066,14 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
// an arbitrary number to limit number of iterations
const int max_iter = 100000;
int iterations = 0;
- Cursor & curs = d->cursor_;
- Cursor const savecur = curs;
- curs.reset();
- if (!curs.nextInset())
- curs.forwardInset();
- curs.beginUndoGroup();
- while(curs && iterations < max_iter) {
- Inset * const ins = curs.nextInset();
+ Cursor & bvcur = d->cursor_;
+ Cursor const savecur = bvcur;
+ bvcur.reset();
+ if (!bvcur.nextInset())
+ bvcur.forwardInset();
+ bvcur.beginUndoGroup();
+ while(bvcur && iterations < max_iter) {
+ Inset * const ins = bvcur.nextInset();
if (!ins)
break;
docstring insname = ins->layoutName();
@@ -2081,7 +2081,7 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
if (insname == name || name == from_utf8("*")) {
lyx::dispatch(fr, dr);
// we do not want to remember selection here
- curs.clearSelection();
+ bvcur.clearSelection();
++iterations;
break;
}
@@ -2091,11 +2091,11 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
insname = insname.substr(0, i);
}
// if we did not delete the inset, skip it
- if (!curs.nextInset() || curs.nextInset() == ins)
- curs.forwardInset();
+ if (!bvcur.nextInset() || bvcur.nextInset() == ins)
+ bvcur.forwardInset();
}
- curs = savecur;
- curs.fixIfBroken();
+ bvcur = savecur;
+ bvcur.fixIfBroken();
/** This is a dummy undo record only to remember the cursor
* that has just been set; this will be used on a redo action
* (see ticket #10097)
@@ -2103,8 +2103,8 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
* FIXME: a better fix would be to have a way to set the
* cursor value directly, but I am not sure it is worth it.
*/
- curs.recordUndo();
- curs.endUndoGroup();
+ bvcur.recordUndo();
+ bvcur.endUndoGroup();
dr.screenUpdate(Update::Force);
dr.forceBufferUpdate();
commit 48ee2fd07b405fe1417981a202c12d91801e707e
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sun Feb 20 19:33:22 2022 +0100
Do not call recordUndo(), lyx::dispatch handles it.
This avoids extra memory use (and would mark document dirty even if
read-only).
diff --git a/src/BufferView.cpp b/src/BufferView.cpp
index 06ffb38..8ea0204 100644
--- a/src/BufferView.cpp
+++ b/src/BufferView.cpp
@@ -2079,7 +2079,6 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
docstring insname = ins->layoutName();
while (!insname.empty()) {
if (insname == name || name == from_utf8("*")) {
- curs.recordUndo();
lyx::dispatch(fr, dr);
// we do not want to remember selection here
curs.clearSelection();
commit 3b28ac46376cfdb10fbc67a45fe1c83d87043d08
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sun Feb 20 19:07:58 2022 +0100
inset-forall: clear selection after each action
This avoid a crash when doing
command-sequence inset-forall Caption char-delete-forward; statistics; undo
in the user guide when a malformed selection is created.
The selection happens here because char-delete-forward will select the
caption instead of deleting it if the "force" parameter is not given.
This is a poor API IMO, it is the plain <del> action that should use a
special parameter.
diff --git a/src/BufferView.cpp b/src/BufferView.cpp
index 2bf7d2a..06ffb38 100644
--- a/src/BufferView.cpp
+++ b/src/BufferView.cpp
@@ -2081,6 +2081,8 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
if (insname == name || name == from_utf8("*")) {
curs.recordUndo();
lyx::dispatch(fr, dr);
+ // we do not want to remember selection here
+ curs.clearSelection();
++iterations;
break;
}
commit aad18e969a7fad69a196b8de737d18f33a7ab9b0
Author: Daniel Ramoeller <d.lyx at web.de>
Date: Thu Oct 21 09:29:54 2021 +0200
Combine the separation between different layouts (with same depth)
Fix for #12402.
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index f68292a..53b6838 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -1202,7 +1202,10 @@ int TextMetrics::parTopSpacing(pit_type const pit) const
&& prevpar.getLabelWidthString() == par.getLabelWidthString()) {
layoutasc = layout.itemsep * dh;
} else if (pit != 0 && layout.topsep > 0)
- layoutasc = layout.topsep * dh;
+ // combine the separation between different layouts (with same depth)
+ layoutasc = max(0.0,
+ prevpar.getDepth() != par.getDepth() ? layout.topsep
+ : layout.topsep - prevpar.layout().bottomsep) * dh;
asc += int(layoutasc * 2 / (2 + pars[pit].getDepth()));
commit b365a471124d63017beabeb5c3ae84ce00c7f350
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sun Feb 20 17:22:07 2022 +0100
Avoid null pointer dereference
Spotted by coverity. In the real world, getInset should never return
nullptr when isInset is true.
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 3a4c399..9a1171f 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -2367,8 +2367,8 @@ int Paragraph::Private::startTeXParParams(BufferParams const & bparams,
&& !layout_->pass_thru
&& curAlign != LYX_ALIGN_CENTER) {
if (!owner_->empty()
- && (owner_->isInset(0)
- && owner_->getInset(0)->lyxCode() == VSPACE_CODE))
+ && owner_->getInset(0)
+ && owner_->getInset(0)->lyxCode() == VSPACE_CODE)
// If the paragraph starts with a vspace, the \\noindent
// needs to come after that (as it leaves vmode).
// If the paragraph consists only of the vspace,
commit a900667ea1bb516ac562a6c45e4f3a1e4071b01b
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sun Feb 20 17:09:49 2022 +0100
Avoid null pointer dereference
Spotted by coverity.
diff --git a/src/graphics/GraphicsLoader.cpp b/src/graphics/GraphicsLoader.cpp
index b375c0e..dc3f7c5 100644
--- a/src/graphics/GraphicsLoader.cpp
+++ b/src/graphics/GraphicsLoader.cpp
@@ -400,7 +400,7 @@ void Loader::Impl::resetFile(FileName const & file)
// new file.
bool continue_monitoring = false;
- if (!old_file.empty()) {
+ if (cached_item_ && !old_file.empty()) {
continue_monitoring = cached_item_->monitoring();
// cached_item_ is going to be reset, so the connected
// signal needs to be disconnected.
commit e263fe8e03b9b506e8355e5a11cb3ec717c29592
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sun Feb 20 17:02:04 2022 +0100
Fix unintialized variables spotted by coverity
The InsetWrap case happens in decodeInsetParaps (InsetCommand.cpp),
where the default constructor is invoked. In this case, lines was not
initialized.
diff --git a/src/insets/InsetWrap.cpp b/src/insets/InsetWrap.cpp
index c862b17..8987405 100644
--- a/src/insets/InsetWrap.cpp
+++ b/src/insets/InsetWrap.cpp
@@ -47,10 +47,6 @@ InsetWrap::InsetWrap(Buffer * buf, string const & type)
: InsetCaptionable(buf)
{
setCaptionType(type);
- params_.lines = 0;
- params_.placement = "o";
- params_.overhang = Length(0, Length::PCW);
- params_.width = Length(50, Length::PCW);
}
diff --git a/src/insets/InsetWrap.h b/src/insets/InsetWrap.h
index 02e0a20..a44821e 100644
--- a/src/insets/InsetWrap.h
+++ b/src/insets/InsetWrap.h
@@ -30,13 +30,13 @@ public:
///
std::string type;
///
- int lines;
+ int lines = 0;
///
- std::string placement;
+ std::string placement = "o";
///
- Length overhang;
+ Length overhang = Length(0, Length::PCW);
///
- Length width;
+ Length width = Length(50, Length::PCW);
};
diff --git a/src/mathed/MathParser.cpp b/src/mathed/MathParser.cpp
index 6d1b747..0ba3375 100644
--- a/src/mathed/MathParser.cpp
+++ b/src/mathed/MathParser.cpp
@@ -1369,7 +1369,7 @@ bool Parser::parse1(InsetMathGrid & grid, unsigned flags,
// otherwise parse it as an user macro
MathData count;
parse(count, FLAG_ITEM, mode);
- int cols;
+ int cols = 0;
// limit arbitrarily to 100 columns
if (extractNumber(count, cols) && cols > 0 && cols < 100) {
// resize the table if necessary
commit 6b0cd451fb12bb2eda88bd54511011e2184445a8
Author: Stephan Witt <switt at lyx.org>
Date: Sun Feb 20 13:06:28 2022 +0100
#9287 query Standard User Defaults on mac and adjust cursor flash time accordingly
diff --git a/src/frontends/qt/GuiApplication.cpp b/src/frontends/qt/GuiApplication.cpp
index b44f2c5..c15f2d7 100644
--- a/src/frontends/qt/GuiApplication.cpp
+++ b/src/frontends/qt/GuiApplication.cpp
@@ -197,6 +197,20 @@ frontend::Application * createApplication(int & argc, char * argv[])
#endif
+#if defined(Q_OS_MAC)
+ int const cursor_time_on = NSTextInsertionPointBlinkPeriodOn();
+ int const cursor_time_off = NSTextInsertionPointBlinkPeriodOff();
+ if (cursor_time_on > 0 && cursor_time_off > 0) {
+ QApplication::setCursorFlashTime(cursor_time_on + cursor_time_off);
+ } else if (cursor_time_on <= 0 && cursor_time_off > 0) {
+ // Off is set and On is undefined of zero
+ QApplication::setCursorFlashTime(0);
+ } else if (cursor_time_off <= 0 && cursor_time_on > 0) {
+ // On is set and Off is undefined of zero
+ QApplication::setCursorFlashTime(0);
+ }
+#endif
+
// Setup high DPI handling. This is a bit complicated, but will be default in Qt6.
// macOS does it by itself.
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) && !defined(Q_OS_MAC)
diff --git a/src/support/AppleSupport.h b/src/support/AppleSupport.h
index 9f154c6..0d2e41a 100644
--- a/src/support/AppleSupport.h
+++ b/src/support/AppleSupport.h
@@ -20,6 +20,12 @@ extern "C" {
// query the system preferences for users tabbing preference
bool appleUserTabbingPreferenceAlways();
+
+ // Query the Standard User Defaults for float values of
+ // NSTextInsertionPointBlinkPeriodOn resp. NSTextInsertionPointBlinkPeriodOff
+ // and return the integer part of it - return -1 in case of unset value
+ int NSTextInsertionPointBlinkPeriodOn();
+ int NSTextInsertionPointBlinkPeriodOff();
#ifdef __cplusplus
}
#endif
diff --git a/src/support/AppleSupport.m b/src/support/AppleSupport.m
index 2c78bd2..4278564 100644
--- a/src/support/AppleSupport.m
+++ b/src/support/AppleSupport.m
@@ -49,3 +49,19 @@ bool appleUserTabbingPreferenceAlways() {
return false;
#endif
}
+
+
+int NSTextInsertionPointBlinkPeriodOn() {
+ NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
+
+ return [prefs objectForKey:@"NSTextInsertionPointBlinkPeriodOn"] == nil ?
+ -1 : [prefs floatForKey:@"NSTextInsertionPointBlinkPeriodOn"];
+}
+
+
+int NSTextInsertionPointBlinkPeriodOff() {
+ NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
+
+ return [prefs objectForKey:@"NSTextInsertionPointBlinkPeriodOff"] == nil ?
+ -1 : [prefs floatForKey:@"NSTextInsertionPointBlinkPeriodOff"];
+}
commit 28af3b6cf87ecc1626b57d12b35a49691caaa5dc
Author: jpc <jpc at lyx.org>
Date: Sun Feb 20 10:06:50 2022 +0100
Update fr.po
diff --git a/po/fr.gmo b/po/fr.gmo
index 086a872..5c127d1 100644
Binary files a/po/fr.gmo and b/po/fr.gmo differ
diff --git a/po/fr.po b/po/fr.po
index 5358e99..8c48613 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -362,8 +362,8 @@ msgid ""
msgstr ""
"Project-Id-Version: LyX 2.4\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2022-02-17 18:01+0100\n"
-"PO-Revision-Date: 2022-02-18 10:53+0100\n"
+"POT-Creation-Date: 2022-02-20 10:02+0100\n"
+"PO-Revision-Date: 2022-02-20 10:06+0100\n"
"Last-Translator: Jean-Pierre Chrétien <jeanpierre.chretien at free.fr>\n"
"Language-Team: lyxfr\n"
"Language: fr\n"
@@ -664,54 +664,63 @@ msgid "Add &Local..."
msgstr "&Ajouter local..."
#: src/frontends/qt/ui/BibtexUi.ui:91
+msgid "Inherit bibliography databases from the master document"
+msgstr ""
+"Importer les bases de données bibliographiques depuis le document maître"
+
+#: src/frontends/qt/ui/BibtexUi.ui:94
+msgid "&Inherit from Master"
+msgstr "&Importer depuis le document maître"
+
+#: src/frontends/qt/ui/BibtexUi.ui:101
msgid "Remove the selected database"
msgstr "Enlever la base de données sélectionnée"
-#: src/frontends/qt/ui/BibtexUi.ui:94 src/frontends/qt/ui/CitationUi.ui:159
+#: src/frontends/qt/ui/BibtexUi.ui:104 src/frontends/qt/ui/CitationUi.ui:159
msgid "&Delete"
msgstr "Suppri&mer"
-#: src/frontends/qt/ui/BibtexUi.ui:107
+#: src/frontends/qt/ui/BibtexUi.ui:117
msgid "Move the selected database up (Ctrl-Up)"
msgstr "Faire monter la base de données sélectionnée (Ctrl-Up)"
-#: src/frontends/qt/ui/BibtexUi.ui:110 src/frontends/qt/ui/CitationUi.ui:191
+#: src/frontends/qt/ui/BibtexUi.ui:120 src/frontends/qt/ui/CitationUi.ui:191
#: src/frontends/qt/ui/ModulesUi.ui:140
msgid "&Up"
msgstr "Vers le &haut"
-#: src/frontends/qt/ui/BibtexUi.ui:130
+#: src/frontends/qt/ui/BibtexUi.ui:140
msgid "Move the selected database down (Ctrl-Down)"
msgstr "Faire descendre la base de données sélectionnée (Ctrl-Down)"
-#: src/frontends/qt/ui/BibtexUi.ui:133 src/frontends/qt/ui/CitationUi.ui:214
+#: src/frontends/qt/ui/BibtexUi.ui:143 src/frontends/qt/ui/CitationUi.ui:214
#: src/frontends/qt/ui/ModulesUi.ui:147
msgid "Do&wn"
msgstr "Vers le &bas"
-#: src/frontends/qt/ui/BibtexUi.ui:160
+#: src/frontends/qt/ui/BibtexUi.ui:170
msgid "Edit selected database externally"
msgstr "Modifier la base de données sélectionnée via une application externe"
-#: src/frontends/qt/ui/BibtexUi.ui:163
+#: src/frontends/qt/ui/BibtexUi.ui:173
msgid "&Edit..."
msgstr "Mo&difier..."
-#: src/frontends/qt/ui/BibtexUi.ui:191
+#: src/frontends/qt/ui/BibtexUi.ui:201
msgid "Sele&cted:"
msgstr "Sél&ectionné :"
-#: src/frontends/qt/ui/BibtexUi.ui:208 src/frontends/qt/ui/CitationUi.ui:27
+#: src/frontends/qt/ui/BibtexUi.ui:218 src/frontends/qt/ui/CitationUi.ui:27
#: src/frontends/qt/ui/ModulesUi.ui:76 src/frontends/qt/ui/RefUi.ui:39
#: src/frontends/qt/ui/TocUi.ui:345
msgid "&Filter:"
msgstr "&Filtre :"
-#: src/frontends/qt/ui/BibtexUi.ui:238 src/frontends/qt/GuiBibtex.cpp:288
+#: src/frontends/qt/ui/BibtexUi.ui:248 src/frontends/qt/GuiBibtex.cpp:335
msgid "E&ncoding:"
msgstr "Encoda&ge :"
-#: src/frontends/qt/ui/BibtexUi.ui:248 src/frontends/qt/GuiBibtex.cpp:289
+#: src/frontends/qt/ui/BibtexUi.ui:258 src/frontends/qt/GuiBibtex.cpp:336
msgid ""
"If your bibliography databases use a different encoding than the LyX "
"document, specify it here"
@@ -719,27 +728,27 @@ msgstr ""
"Si vos bases bibliographiques utilisent un encodage différent de celui du "
"document, indiquez-le ici"
-#: src/frontends/qt/ui/BibtexUi.ui:260
+#: src/frontends/qt/ui/BibtexUi.ui:270
msgid "The BibTeX style"
msgstr "Le style BibTeX"
-#: src/frontends/qt/ui/BibtexUi.ui:263
+#: src/frontends/qt/ui/BibtexUi.ui:273
msgid "St&yle"
msgstr "&Style"
-#: src/frontends/qt/ui/BibtexUi.ui:275
+#: src/frontends/qt/ui/BibtexUi.ui:285
msgid "Choose a style file"
msgstr "Choisir un fichier de style"
-#: src/frontends/qt/ui/BibtexUi.ui:288
+#: src/frontends/qt/ui/BibtexUi.ui:298
msgid "Select a style file from your local directory"
msgstr "Sélectionner un fichier de style à partir de votre répertoire local"
-#: src/frontends/qt/ui/BibtexUi.ui:291
+#: src/frontends/qt/ui/BibtexUi.ui:301
msgid "Add L&ocal..."
msgstr "Ajouter l&ocal..."
-#: src/frontends/qt/ui/BibtexUi.ui:304 lib/layouts/beamer.layout:520
+#: src/frontends/qt/ui/BibtexUi.ui:314 lib/layouts/beamer.layout:520
#: lib/layouts/beamer.layout:549 lib/layouts/beamer.layout:560
#: lib/layouts/beamer.layout:588 lib/layouts/beamer.layout:691
#: lib/layouts/chessboard.module:31 lib/layouts/chessboard.module:61
@@ -752,42 +761,42 @@ msgstr "Ajouter l&ocal..."
msgid "Options"
msgstr "Options"
-#: src/frontends/qt/ui/BibtexUi.ui:321 src/frontends/qt/ui/BibtexUi.ui:334
+#: src/frontends/qt/ui/BibtexUi.ui:331 src/frontends/qt/ui/BibtexUi.ui:344
msgid "This bibliography section contains..."
msgstr "Cette section de bibliographie contient..."
-#: src/frontends/qt/ui/BibtexUi.ui:324
+#: src/frontends/qt/ui/BibtexUi.ui:334
msgid "&Content:"
msgstr "&Contenu :"
-#: src/frontends/qt/ui/BibtexUi.ui:338 src/frontends/qt/GuiBibtex.cpp:355
+#: src/frontends/qt/ui/BibtexUi.ui:348 src/frontends/qt/GuiBibtex.cpp:404
#: src/insets/InsetBibtex.cpp:218 src/insets/InsetBibtex.cpp:236
msgid "all cited references"
msgstr "toutes les références citées"
-#: src/frontends/qt/ui/BibtexUi.ui:343 src/frontends/qt/GuiBibtex.cpp:357
+#: src/frontends/qt/ui/BibtexUi.ui:353 src/frontends/qt/GuiBibtex.cpp:406
#: src/insets/InsetBibtex.cpp:216
msgid "all uncited references"
msgstr "toutes les références non citées"
-#: src/frontends/qt/ui/BibtexUi.ui:348 src/frontends/qt/GuiBibtex.cpp:358
+#: src/frontends/qt/ui/BibtexUi.ui:358 src/frontends/qt/GuiBibtex.cpp:407
#: src/insets/InsetBibtex.cpp:214 src/insets/InsetBibtex.cpp:234
msgid "all references"
msgstr "toutes les références"
-#: src/frontends/qt/ui/BibtexUi.ui:356
+#: src/frontends/qt/ui/BibtexUi.ui:366
msgid "Add bibliography to the table of contents"
msgstr "Ajouter la bibliographie à la table des matières"
-#: src/frontends/qt/ui/BibtexUi.ui:359
+#: src/frontends/qt/ui/BibtexUi.ui:369
msgid "Add bibliography to &TOC"
msgstr "Ajouter la bibliographie à la &TdM"
-#: src/frontends/qt/ui/BibtexUi.ui:383
+#: src/frontends/qt/ui/BibtexUi.ui:393
msgid "Custo&m:"
msgstr "R&églable :"
-#: src/frontends/qt/ui/BibtexUi.ui:393
+#: src/frontends/qt/ui/BibtexUi.ui:403
msgid ""
"Options to the biblatex bibliography command. See the biblatex manual for "
"details."
@@ -795,11 +804,11 @@ msgstr ""
"Options de la commande bibliographique biblatex. Voir le manuel biblatex "
"pour les détails."
-#: src/frontends/qt/ui/BibtexUi.ui:422
+#: src/frontends/qt/ui/BibtexUi.ui:432
msgid "Scan for new databases and styles"
msgstr "Rechercher de nouvelles bases de données et de nouveaux styles"
-#: src/frontends/qt/ui/BibtexUi.ui:425 src/frontends/qt/ui/TexinfoUi.ui:144
+#: src/frontends/qt/ui/BibtexUi.ui:435 src/frontends/qt/ui/TexinfoUi.ui:144
msgid "&Rescan"
msgstr "&Rafraîchir"
@@ -7695,7 +7704,7 @@ msgstr "Transactions IEEE"
#: lib/layouts/slides.layout:61 lib/layouts/stdclass.inc:28
#: lib/layouts/stdinsets.inc:688 lib/layouts/stdletter.inc:12
#: lib/layouts/svcommon.inc:26 lib/layouts/tufte-book.layout:35
-#: src/insets/InsetRef.cpp:597
+#: src/insets/InsetRef.cpp:599
msgid "Standard"
msgstr "Standard"
@@ -12501,7 +12510,7 @@ msgstr ""
"ajouter le numéro de section au numéro d'équation, comme dans « (2.1) »."
#: lib/layouts/eqs-within-sections.module:17 lib/layouts/scrbook.layout:29
-#: lib/layouts/stdcounters.inc:81 src/insets/InsetRef.cpp:598
+#: lib/layouts/stdcounters.inc:81 src/insets/InsetRef.cpp:600
#: src/mathed/InsetMathRef.cpp:372
msgid "Equation"
msgstr "Ãquation"
@@ -12810,7 +12819,7 @@ msgid "Size the photo is resized to"
msgstr "Changement de taille de la photo"
#: lib/layouts/europecv.layout:185 src/frontends/qt/GuiDocument.cpp:136
-#: src/insets/InsetRef.cpp:599
+#: src/insets/InsetRef.cpp:601
msgid "Page"
msgstr "Page"
@@ -16069,7 +16078,7 @@ msgstr "CaseÃCocher"
msgid "ChoiceMenu"
msgstr "Menu"
-#: lib/layouts/pdfform.module:90 src/insets/InsetRef.cpp:604
+#: lib/layouts/pdfform.module:90 src/insets/InsetRef.cpp:606
msgid "Label"
msgstr "Ãtiquette"
@@ -17383,8 +17392,8 @@ msgstr "bas"
msgid "Greyedout"
msgstr "Grisée"
-#: lib/layouts/stdinsets.inc:208 src/insets/InsetERT.cpp:251
-#: src/insets/InsetERT.cpp:252
+#: lib/layouts/stdinsets.inc:208 src/insets/InsetERT.cpp:253
+#: src/insets/InsetERT.cpp:254
msgid "ERT"
msgstr "TeX"
@@ -22346,7 +22355,7 @@ msgstr "Délimiteurs (taille fixe)"
msgid "Miscellaneous (extended)"
msgstr "Divers (AMS étendu)"
-#: lib/ui/stdtoolbars.inc:237 src/TocBackend.cpp:300
+#: lib/ui/stdtoolbars.inc:237 src/TocBackend.cpp:303
msgid "Math Macros"
msgstr "Macros mathématiques"
@@ -27277,7 +27286,7 @@ msgstr "Exemple (brut)"
msgid "Gnuplot"
msgstr "Gnuplot"
-#: lib/examples/Articles:0 src/TocBackend.cpp:299
+#: lib/examples/Articles:0 src/TocBackend.cpp:302
#: src/frontends/qt/GuiExternal.cpp:86
msgid "External Material"
msgstr "Objet externe"
@@ -27523,16 +27532,16 @@ msgstr "Grille simple"
msgid "%1$s[[name]] (%2$s[[email]])"
msgstr "%1$s[[nom]] (%2$s[[email]])"
-#: src/BiblioInfo.cpp:871 src/BiblioInfo.cpp:921 src/BiblioInfo.cpp:932
-#: src/BiblioInfo.cpp:987 src/BiblioInfo.cpp:991
+#: src/BiblioInfo.cpp:877 src/BiblioInfo.cpp:927 src/BiblioInfo.cpp:938
+#: src/BiblioInfo.cpp:993 src/BiblioInfo.cpp:997
msgid "ERROR!"
msgstr "ERREUR !"
-#: src/BiblioInfo.cpp:1395
+#: src/BiblioInfo.cpp:1401
msgid "No year"
msgstr "Pas d'année"
-#: src/BiblioInfo.cpp:1405
+#: src/BiblioInfo.cpp:1411
msgid "Bibliography entry not found!"
msgstr "Entrée bibliographique introuvable !"
@@ -28325,7 +28334,7 @@ msgid "greyedout inset text"
msgstr "texte d'insert grisé"
#: src/BufferParams.cpp:1718 src/BufferParams.cpp:1872
-#: src/BufferParams.cpp:2315 src/Encoding.cpp:253 src/Paragraph.cpp:3014
+#: src/BufferParams.cpp:2315 src/Encoding.cpp:264 src/Paragraph.cpp:3014
#: src/frontends/qt/LaTeXHighlighter.cpp:143
#: src/frontends/qt/LaTeXHighlighter.cpp:257
#: src/insets/InsetCommandParams.cpp:508 src/insets/InsetCommandParams.cpp:516
@@ -28337,7 +28346,7 @@ msgid "LyX Warning: "
msgstr "Avertissement LyX : "
#: src/BufferParams.cpp:1719 src/BufferParams.cpp:1873
-#: src/BufferParams.cpp:2316 src/Encoding.cpp:254 src/Paragraph.cpp:3015
+#: src/BufferParams.cpp:2316 src/Encoding.cpp:265 src/Paragraph.cpp:3015
#: src/insets/InsetCommandParams.cpp:509 src/insets/InsetCommandParams.cpp:517
#: src/insets/InsetGraphics.cpp:887 src/insets/InsetGraphics.cpp:895
#: src/insets/InsetListings.cpp:300 src/insets/InsetListings.cpp:308
@@ -31033,53 +31042,57 @@ msgstr ""
msgid "Error reading cite engine %1$s\n"
msgstr "Erreur de lecture du moteur bibliographique %1$s\n"
-#: src/TocBackend.cpp:270 src/insets/InsetIndex.cpp:517
+#: src/TocBackend.cpp:69 src/insets/InsetInclude.cpp:1373
+msgid "MISSING: "
+msgstr "MANQUANT : "
+
+#: src/TocBackend.cpp:273 src/insets/InsetIndex.cpp:517
#: src/insets/InsetIndex.cpp:538
msgid "unknown type!"
msgstr "type inconnu !"
-#: src/TocBackend.cpp:273
+#: src/TocBackend.cpp:276
#, c-format
msgid "Index Entries (%1$s)"
msgstr "Entrées d'index (%1$s)"
-#: src/TocBackend.cpp:289 src/insets/InsetTOC.cpp:75
+#: src/TocBackend.cpp:292 src/insets/InsetTOC.cpp:75
msgid "Table of Contents"
msgstr "Table des matières"
-#: src/TocBackend.cpp:290
+#: src/TocBackend.cpp:293
msgid "Changes"
msgstr "Modifications"
-#: src/TocBackend.cpp:291
+#: src/TocBackend.cpp:294
msgid "Senseless"
msgstr "Inapproprié"
-#: src/TocBackend.cpp:292
+#: src/TocBackend.cpp:295
msgid "Citations"
msgstr "Citations"
-#: src/TocBackend.cpp:293
+#: src/TocBackend.cpp:296
msgid "Labels and References"
msgstr "Ãtiquettes et références"
-#: src/TocBackend.cpp:294
+#: src/TocBackend.cpp:297
msgid "Broken References and Citations"
msgstr "Références et citations cassées"
-#: src/TocBackend.cpp:296 src/frontends/qt/GuiDocument.cpp:1774
+#: src/TocBackend.cpp:299 src/frontends/qt/GuiDocument.cpp:1774
msgid "Child Documents"
msgstr "Sous-documents"
-#: src/TocBackend.cpp:297
+#: src/TocBackend.cpp:300
msgid "Graphics[[listof]]"
msgstr "Graphiques"
-#: src/TocBackend.cpp:298
+#: src/TocBackend.cpp:301
msgid "Equations"
msgstr "Ãquations"
-#: src/TocBackend.cpp:301
+#: src/TocBackend.cpp:304
msgid "Nomenclature Entries"
msgstr "Entrées de la liste des symboles"
@@ -31903,15 +31916,15 @@ msgstr ""
msgid "Bibliography Item Settings"
msgstr "Paramètres d'entrée bibliographique"
-#: src/frontends/qt/GuiBibtex.cpp:57 src/frontends/qt/GuiBibtex.cpp:344
+#: src/frontends/qt/GuiBibtex.cpp:58 src/frontends/qt/GuiBibtex.cpp:391
msgid "BibTeX Bibliography"
msgstr "Bibliographie BibTeX"
-#: src/frontends/qt/GuiBibtex.cpp:68
+#: src/frontends/qt/GuiBibtex.cpp:69
msgid "All avail. databases"
msgstr "Toutes les bases de données dispo."
-#: src/frontends/qt/GuiBibtex.cpp:116
+#: src/frontends/qt/GuiBibtex.cpp:119
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/ "
@@ -31924,23 +31937,23 @@ msgstr ""
"vous souhaitez réutiliser vos propres bases de données, c'est là qu'il faut "
"les ajouter."
-#: src/frontends/qt/GuiBibtex.cpp:136 src/frontends/qt/GuiBibtex.cpp:303
+#: src/frontends/qt/GuiBibtex.cpp:139 src/frontends/qt/GuiBibtex.cpp:350
msgid "Document Encoding"
msgstr "Encodage du document"
-#: src/frontends/qt/GuiBibtex.cpp:274
+#: src/frontends/qt/GuiBibtex.cpp:321
msgid "Database"
msgstr "Bases de données"
-#: src/frontends/qt/GuiBibtex.cpp:275
+#: src/frontends/qt/GuiBibtex.cpp:322
msgid "File Encoding"
msgstr "Encodage de fichiers"
-#: src/frontends/qt/GuiBibtex.cpp:282
+#: src/frontends/qt/GuiBibtex.cpp:329
msgid "General E&ncoding:"
msgstr "Encodage &général :"
-#: src/frontends/qt/GuiBibtex.cpp:283
+#: src/frontends/qt/GuiBibtex.cpp:330
msgid ""
"If your bibliography databases use a different encoding than the LyX "
"document, specify it here. If indivivual databases have different encodings, "
@@ -31950,11 +31963,11 @@ msgstr ""
"document LyX, indiquez-le ici. Si chaque base est dotée d'un encodage "
"différent, choisissez-le dans la liste ci-dessus."
-#: src/frontends/qt/GuiBibtex.cpp:302
+#: src/frontends/qt/GuiBibtex.cpp:349
msgid "General Encoding"
msgstr "Encodage général"
-#: src/frontends/qt/GuiBibtex.cpp:309
+#: src/frontends/qt/GuiBibtex.cpp:356
msgid ""
"If this bibliography database uses a different encoding than specified "
"below, set it here"
@@ -31962,15 +31975,15 @@ msgstr ""
"Si cette base bibliographique utilise un encodage différent de celui "
"spécifié ci-dessous, indiquez-le ici"
-#: src/frontends/qt/GuiBibtex.cpp:342
+#: src/frontends/qt/GuiBibtex.cpp:389
msgid "Biblatex Bibliography"
msgstr "Bibliographie Biblatex"
-#: src/frontends/qt/GuiBibtex.cpp:360 src/insets/InsetBibtex.cpp:232
+#: src/frontends/qt/GuiBibtex.cpp:409 src/insets/InsetBibtex.cpp:232
msgid "all reference units"
msgstr "toutes les entités de références"
-#: src/frontends/qt/GuiBibtex.cpp:456 src/frontends/qt/GuiBibtex.cpp:466
+#: src/frontends/qt/GuiBibtex.cpp:505 src/frontends/qt/GuiBibtex.cpp:515
#: src/frontends/qt/GuiCompare.cpp:163 src/frontends/qt/GuiCompare.cpp:167
#: src/frontends/qt/GuiDocument.cpp:2903 src/frontends/qt/GuiExternal.cpp:677
#: src/frontends/qt/GuiGraphics.cpp:826 src/frontends/qt/GuiInclude.cpp:380
@@ -31981,19 +31994,19 @@ msgstr "toutes les entités de références"
msgid "D&ocuments"
msgstr "Documents|u"
-#: src/frontends/qt/GuiBibtex.cpp:458
+#: src/frontends/qt/GuiBibtex.cpp:507
msgid "BibTeX Databases (*.bib)"
msgstr "Bases de Données BibTeX (*.bib)"
-#: src/frontends/qt/GuiBibtex.cpp:460
+#: src/frontends/qt/GuiBibtex.cpp:509
msgid "Select a BibTeX database to add"
msgstr "Choisir une base de D. BibTeX"
-#: src/frontends/qt/GuiBibtex.cpp:468
+#: src/frontends/qt/GuiBibtex.cpp:517
msgid "BibTeX Styles (*.bst)"
msgstr "*Styles BibTeX (*.bst)"
-#: src/frontends/qt/GuiBibtex.cpp:470
+#: src/frontends/qt/GuiBibtex.cpp:519
msgid "Select a BibTeX style"
msgstr "Choisir un style BibTeX"
@@ -34249,7 +34262,7 @@ msgstr "&Revenir"
msgid "Jump back to the original cursor location"
msgstr "Revenir à la position initiale du curseur"
-#: src/frontends/qt/GuiRef.cpp:467 src/frontends/qt/GuiRef.cpp:487
+#: src/frontends/qt/GuiRef.cpp:471 src/frontends/qt/GuiRef.cpp:491
msgid "<No prefix>"
msgstr "<Sans prefixe>"
@@ -36384,10 +36397,6 @@ msgstr ""
"Fichier incorrect :\n"
"%1$s"
-#: src/insets/InsetInclude.cpp:1373
-msgid "MISSING: "
-msgstr "MANQUANT : "
-
#: src/insets/InsetIndex.cpp:169
msgid "Index sorting failed"
msgstr "Ãchec du tri d'index"
@@ -37102,51 +37111,51 @@ msgstr "%1$stexte"
msgid "text%1$s"
msgstr "texte%1$s"
-#: src/insets/InsetRef.cpp:597
+#: src/insets/InsetRef.cpp:599
msgid "Ref"
msgstr "Ref"
-#: src/insets/InsetRef.cpp:598
+#: src/insets/InsetRef.cpp:600
msgid "EqRef"
msgstr "RéfÃq"
-#: src/insets/InsetRef.cpp:599 src/mathed/InsetMathRef.cpp:373
+#: src/insets/InsetRef.cpp:601 src/mathed/InsetMathRef.cpp:373
msgid "Page Number"
msgstr "Numéro de page"
-#: src/insets/InsetRef.cpp:600 src/mathed/InsetMathRef.cpp:374
+#: src/insets/InsetRef.cpp:602 src/mathed/InsetMathRef.cpp:374
msgid "Textual Page Number"
msgstr "N° de page du texte"
-#: src/insets/InsetRef.cpp:600
+#: src/insets/InsetRef.cpp:602
msgid "TextPage"
msgstr "PageTexte"
-#: src/insets/InsetRef.cpp:601 src/mathed/InsetMathRef.cpp:375
+#: src/insets/InsetRef.cpp:603 src/mathed/InsetMathRef.cpp:375
msgid "Standard+Textual Page"
msgstr "Standard + N° de page du texte"
-#: src/insets/InsetRef.cpp:601
+#: src/insets/InsetRef.cpp:603
msgid "Ref+Text"
msgstr "Réf+Texte"
-#: src/insets/InsetRef.cpp:602 src/mathed/InsetMathRef.cpp:377
+#: src/insets/InsetRef.cpp:604 src/mathed/InsetMathRef.cpp:377
msgid "Reference to Name"
msgstr "Référence au nom"
-#: src/insets/InsetRef.cpp:602
+#: src/insets/InsetRef.cpp:604
msgid "NameRef"
msgstr "RefNom"
-#: src/insets/InsetRef.cpp:603
+#: src/insets/InsetRef.cpp:605
msgid "Formatted"
msgstr "Mis en page"
-#: src/insets/InsetRef.cpp:603
+#: src/insets/InsetRef.cpp:605
msgid "Format"
msgstr "Format"
-#: src/insets/InsetRef.cpp:604 src/mathed/InsetMathRef.cpp:378
+#: src/insets/InsetRef.cpp:606 src/mathed/InsetMathRef.cpp:378
msgid "Label Only"
msgstr "Ãtiquette uniquement"
commit dec53304268388a46805418a5b531c2b48eb0f22
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Feb 20 02:03:41 2022 +0100
Amend 0dc7f34e: avoid using a C++20 function.
diff --git a/src/Encoding.cpp b/src/Encoding.cpp
index 4e47dae..988872f 100644
--- a/src/Encoding.cpp
+++ b/src/Encoding.cpp
@@ -727,7 +727,7 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
symbol = tmp;
// Special case: more than one entry for one character (to add other LaTeX commands).
- if (unicodesymbols.contains(symbol)) {
+ if (unicodesymbols.find(symbol) != unicodesymbols.end()) {
if (!symbolsLex.next(true))
break;
docstring textCommand = symbolsLex.getDocString();
commit fec498d6617d91d04726f13055d6e9ddeaa0cc77
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sat Feb 19 02:37:58 2022 +0100
unicodesymbols: add several synonyms.
diff --git a/lib/unicodesymbols b/lib/unicodesymbols
index 1de6910..ab27e31 100644
--- a/lib/unicodesymbols
+++ b/lib/unicodesymbols
@@ -63,12 +63,14 @@
0x00a1 "!`" ""
0x00a2 "\\textcent" "textcomp" "force=cp862;cp1255;cp1256;euc-jp;euc-jp-platex;jis;shift-jis-platex" #"\\mathcent" "txfonts|pxfonts" # CENT SIGN
0x00a3 "\\pounds" "" "force=cp862;cp1255;cp1256;iso8859-7;euc-jp;euc-jp-platex;jis;shift-jis-platex" "\\pounds" "" # £ POUND SIGN
+0x00a3 "\\textsterling" ""
0x00a4 "\\textcurrency" "textcomp" "force=cp1256;euc-cn;euc-jp;euc-jp-platex;euc-kr;gbk;iso8859-6;utf8-platex" # CURRENCY SYMBOL
0x00a5 "\\textyen" "textcomp" "force=cp862;cp1255;cp1256;euc-jp;euc-jp-platex;jis;shift-jis-platex" "\\yen" "amssymb" # YEN SIGN
0x00a6 "\\textbrokenbar" "textcomp" "force=cp1255;cp1256;iso8859-7;euc-jp;euc-jp-platex;utf8-platex" # BROKEN BAR
0x00a7 "\\textsection" "textcomp" "force=cp1255;cp1256;iso8859-7;euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis;shift-jis-platex" "\\mathsection" "" # SECTION SIGN
0x00a8 "\\textasciidieresis" "textcomp" "force=cp1255;cp1256;iso8859-7;euc-cn;euc-jp;euc-kr;gbk;jis;shift-jis-platex" # DIAERESIS
0x00a9 "\\textcopyright" "textcomp" "force=cp1255;cp1256;koi8-u;iso8859-7;euc-jp;euc-jp-platex;utf8-platex" # COPYRIGHT SIGN
+Ox00a9 "\\copyright" ""
0x00aa "\\textordfeminine" "textcomp" "force=cp862;euc-jp;euc-jp-platex;euc-kr;utf8-platex" # FEMININE ORDINAL INDICATOR
0x00ab "\\guillemotleft" "" "force=armscii8;cp862;cp1255;cp1256;iso8859-7;utf8-platex" # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
0x00ac "\\textlnot" "textcomp" "force!=utf8;utf8-cjk" "\\neg" "" # ¬ NOT SIGN
@@ -1915,12 +1917,15 @@
0x201e "\\quotedblbase" "" "force=cp1256;iso8859-13" # DOUBLE LOW-9 QUOTATION MARK
#0x201f "" "" "" # DOUBLE HIGH-REVERSED-9 QUOTATION MARK
0x2020 "\\dag" "" "force=cp1256;euc-jp;euc-kr;jis" "\\dagger" "" # DAGGER
+0x2020 "\\textdagger" ""
0x2021 "\\ddag" "" "force=cp1256;euc-jp;euc-kr;jis" "\\ddagger" "" # DOUBLE DAGGER
+0x2021 "\\textdaggerdbl"
0x2022 "\\textbullet" "textcomp" "force=cp1256" "\\bullet" "" # BULLET
0x2023 "\\textifsymbol[ifgeo]{116}" "ifsym" "force=utf8;utf8x;utf8-cjk" # TRIANGULAR BULLET # â 0x25b8
0x2024 "." "" "notermination=text,force=utf8;utf8-cjk;utf8x" "" "" # ONE DOT LEADER # â FULL STOP
0x2025 ".\\,." "" "notermination=text,force=utf8;utf8-cjk;utf8x;euc-jp;euc-kr;euc-tw;gbk;jis" "" "" # TWO DOT LEADER
0x2026 "\\dots" "" "force=armscii8;cp1256;euc-cn;euc-jp;euc-kr;euc-tw;gbk;jis" "\\ldots" "" # HORIZONTAL ELLIPSIS
+0X2026 "\\textellipsis" ""
#0x2027 "" "" "notermination=text" "" "" # HYPHENATION POINT (visible symbol used to indicate correct positions for word breaking, looks like but is not 0x00b7 middle dot)
0x2028 "\\\\" "" "force=utf8;utf8-cjk" "" "" # LINE SEPARATOR
0x2029 "\\par" "" "force=utf8;utf8-cjk" "" "" # PARAGRAPH SEPARATOR
commit 0dc7f34e00e06e8b378236e32f86023313067b7c
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sat Feb 19 02:10:45 2022 +0100
unicodesymbols: parse supplementary lines to encode alternative ways to encode symbols in raw LaTeX.
diff --git a/lib/unicodesymbols b/lib/unicodesymbols
index 043f4dc..1de6910 100644
--- a/lib/unicodesymbols
+++ b/lib/unicodesymbols
@@ -60,6 +60,7 @@
#
0x00a0 "~" "" "force=cp862;cp1255;cp1256;koi8-u;iso8859-6;iso8859-7;utf8-platex,notermination=both" "~" "" # NO-BREAK SPACE
0x00a1 "\\textexclamdown" "" "force=cp862;cp1255;euc-jp;euc-jp-platex;euc-kr;utf8-platex" # INVERTED EXCLAMATION MARK
+0x00a1 "!`" ""
0x00a2 "\\textcent" "textcomp" "force=cp862;cp1255;cp1256;euc-jp;euc-jp-platex;jis;shift-jis-platex" #"\\mathcent" "txfonts|pxfonts" # CENT SIGN
0x00a3 "\\pounds" "" "force=cp862;cp1255;cp1256;iso8859-7;euc-jp;euc-jp-platex;jis;shift-jis-platex" "\\pounds" "" # £ POUND SIGN
0x00a4 "\\textcurrency" "textcomp" "force=cp1256;euc-cn;euc-jp;euc-jp-platex;euc-kr;gbk;iso8859-6;utf8-platex" # CURRENCY SYMBOL
@@ -90,6 +91,7 @@
0x00bd "\\textonehalf" "textcomp" "force=cp862;cp1255;cp1256;iso8859-7;euc-kr" "\\sfrac{1}{2}" "xfrac" # 1/2 FRACTION
0x00be "\\textthreequarters" "textcomp" "force=cp1255;cp1256;euc-kr" "\\sfrac{3}{4}" "xfrac" # 3/4 FRACTION
0x00bf "\\textquestiondown" "" "force=cp862;cp1255;euc-jp;euc-kr" # INVERTED QUESTION MARK
+0x00bf "?`" ""
0x00c0 "\\`{A}" "" "mathalpha,force=euc-jp" "\\grave{A}" # LATIN CAPITAL LETTER A WITH GRAVE
0x00c1 "\\'{A}" "" "mathalpha,force=euc-jp" "\\acute{A}" # LATIN CAPITAL LETTER A WITH ACUTE
0x00c2 "\\^{A}" "" "mathalpha,force=euc-jp" "\\hat{A}" # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
diff --git a/src/Encoding.cpp b/src/Encoding.cpp
index b0d5649..4e47dae 100644
--- a/src/Encoding.cpp
+++ b/src/Encoding.cpp
@@ -50,7 +50,7 @@ CharInfoMap unicodesymbols;
typedef set<char_type> CharSet;
typedef map<string, CharSet> CharSetMap;
CharSet forced;
-CharSetMap forcedselected;
+CharSetMap forcedSelected;
typedef set<char_type> MathAlphaSet;
MathAlphaSet mathalpha;
@@ -99,7 +99,7 @@ CharInfo::CharInfo(
Encoding::Encoding(string const & n, string const & l, string const & g,
string const & i, bool f, bool u, Encoding::Package p)
: name_(n), latexName_(l), guiName_(g), iconvName_(i), fixedwidth_(f),
- unsafe_(u), forced_(&forcedselected[n]), package_(p)
+ unsafe_(u), forced_(&forcedSelected[n]), package_(p)
{
if (n == "ascii") {
// ASCII can encode 128 code points and nothing else
@@ -705,20 +705,20 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
{
// We must read the symbolsfile first, because the Encoding
// constructor depends on it.
- CharSetMap forcednotselected;
- Lexer symbolslex;
- symbolslex.setFile(symbolsfile);
+ CharSetMap forcedNotSelected;
+ Lexer symbolsLex;
+ symbolsLex.setFile(symbolsfile);
bool getNextToken = true;
- while (symbolslex.isOK()) {
+ while (symbolsLex.isOK()) {
char_type symbol;
if (getNextToken) {
- if (!symbolslex.next(true))
+ if (!symbolsLex.next(true))
break;
} else
getNextToken = true;
- istringstream is(symbolslex.getString());
+ istringstream is(symbolsLex.getString());
// reading symbol directly does not work if
// char_type == wchar_t.
uint32_t tmp;
@@ -726,20 +726,38 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
break;
symbol = tmp;
- if (!symbolslex.next(true))
+ // Special case: more than one entry for one character (to add other LaTeX commands).
+ if (unicodesymbols.contains(symbol)) {
+ if (!symbolsLex.next(true))
+ break;
+ docstring textCommand = symbolsLex.getDocString();
+ if (!symbolsLex.next(true))
+ break;
+ string mathCommand = symbolsLex.getString();
+
+ if (!textCommand.empty())
+ unicodesymbols.at(symbol).addTextCommand(textCommand);
+ if (!mathCommand.empty())
+ unicodesymbols.at(symbol).addMathCommand(textCommand);
+
+ continue;
+ }
+
+ // If the symbol is not the same as the previous entry, consider it is a totally new symbol.
+ if (!symbolsLex.next(true))
break;
- docstring textcommand = symbolslex.getDocString();
- if (!symbolslex.next(true))
+ docstring textCommand = symbolsLex.getDocString();
+ if (!symbolsLex.next(true))
break;
- string textpreamble = symbolslex.getString();
- if (!symbolslex.next(true))
+ string textPreamble = symbolsLex.getString();
+ if (!symbolsLex.next(true))
break;
- string sflags = symbolslex.getString();
+ string sflags = symbolsLex.getString();
- string tipashortcut;
+ string tipaShortcut;
int flags = 0;
- if (suffixIs(textcommand, '}'))
+ if (suffixIs(textCommand, '}'))
flags |= CharInfoTextNoTermination;
while (!sflags.empty()) {
string flag;
@@ -753,13 +771,13 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
vector<string> encs =
getVectorFromString(flag.substr(6), ";");
for (auto const & enc : encs)
- forcedselected[enc].insert(symbol);
+ forcedSelected[enc].insert(symbol);
flags |= CharInfoForceSelected;
} else if (prefixIs(flag, "force!=")) {
vector<string> encs =
getVectorFromString(flag.substr(7), ";");
for (auto const & enc : encs)
- forcednotselected[enc].insert(symbol);
+ forcedNotSelected[enc].insert(symbol);
flags |= CharInfoForceSelected;
} else if (flag == "mathalpha") {
mathalpha.insert(symbol);
@@ -773,8 +791,8 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
} else if (flag == "notermination=none") {
flags &= ~CharInfoTextNoTermination;
flags &= ~CharInfoMathNoTermination;
- } else if (contains(flag, "tipaShortcut=")) {
- tipashortcut = split(flag, '=');
+ } else if (contains(flag, "tipashortcut=")) {
+ tipaShortcut = split(flag, '=');
} else if (flag == "deprecated") {
flags |= CharInfoDeprecated;
} else {
@@ -786,25 +804,25 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
}
// mathCommand and mathPreamble have been added for 1.6.0.
// make them optional so that old files still work.
- int const lineno = symbolslex.lineNumber();
+ int const lineNo = symbolsLex.lineNumber();
bool breakout = false;
- docstring mathcommand;
- string mathpreamble;
- if (symbolslex.next(true)) {
- if (symbolslex.lineNumber() != lineno) {
+ docstring mathCommand;
+ string mathPreamble;
+ if (symbolsLex.next(true)) {
+ if (symbolsLex.lineNumber() != lineNo) {
// line in old format without mathCommand and mathPreamble
getNextToken = false;
} else {
- mathcommand = symbolslex.getDocString();
- if (suffixIs(mathcommand, '}'))
+ mathCommand = symbolsLex.getDocString();
+ if (suffixIs(mathCommand, '}'))
flags |= CharInfoMathNoTermination;
- if (symbolslex.next(true)) {
- if (symbolslex.lineNumber() != lineno) {
+ if (symbolsLex.next(true)) {
+ if (symbolsLex.lineNumber() != lineNo) {
// line in new format with mathCommand only
getNextToken = false;
} else {
// line in new format with mathCommand and mathPreamble
- mathpreamble = symbolslex.getString();
+ mathPreamble = symbolsLex.getString();
}
} else
breakout = true;
@@ -814,20 +832,20 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
}
// backward compatibility
- if (mathpreamble == "esintoramsmath")
- mathpreamble = "esint|amsmath";
+ if (mathPreamble == "esintoramsmath")
+ mathPreamble = "esint|amsmath";
- if (!textpreamble.empty())
- if (textpreamble[0] != '\\')
+ if (!textPreamble.empty())
+ if (textPreamble[0] != '\\')
flags |= CharInfoTextFeature;
- if (!mathpreamble.empty())
- if (mathpreamble[0] != '\\')
+ if (!mathPreamble.empty())
+ if (mathPreamble[0] != '\\')
flags |= CharInfoMathFeature;
CharInfo info = CharInfo(
- textcommand, mathcommand,
- textpreamble, mathpreamble,
- tipashortcut, flags);
+ textCommand, mathCommand,
+ textPreamble, mathPreamble,
+ tipaShortcut, flags);
LYXERR(Debug::INFO, "Read unicode symbol " << symbol << " '"
<< to_utf8(info.textCommand()) << "' '" << info.textPreamble()
<< " '" << info.textFeature() << ' ' << info.textNoTermination()
@@ -851,12 +869,12 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
et_end
};
- LexerKeyword encodingtags[] = {
+ LexerKeyword encodingTags[] = {
{ "encoding", et_encoding },
{ "end", et_end }
};
- Lexer lex(encodingtags);
+ Lexer lex(encodingTags);
lex.setFile(encfile);
lex.setContext("Encodings::read");
while (lex.isOK()) {
@@ -866,21 +884,21 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
lex.next();
string const name = lex.getString();
lex.next();
- string const latexname = lex.getString();
+ string const latexName = lex.getString();
lex.next();
- string const guiname = lex.getString();
+ string const guiName = lex.getString();
lex.next();
- string const iconvname = lex.getString();
+ string const iconvName = lex.getString();
lex.next();
string const width = lex.getString();
- bool fixedwidth = false;
+ bool fixedWidth = false;
bool unsafe = false;
if (width == "fixed")
- fixedwidth = true;
+ fixedWidth = true;
else if (width == "variable")
- fixedwidth = false;
+ fixedWidth = false;
else if (width == "variableunsafe") {
- fixedwidth = false;
+ fixedWidth = false;
unsafe = true;
}
else
@@ -901,9 +919,9 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
lex.printError("Unknown package");
LYXERR(Debug::INFO, "Reading encoding " << name);
- encodinglist[name] = Encoding(name, latexname,
- guiname, iconvname, fixedwidth, unsafe,
- package);
+ encodinglist[name] = Encoding(name, latexName,
+ guiName, iconvName, fixedWidth, unsafe,
+ package);
if (lex.lex() != et_end)
lex.printError("Missing end");
@@ -920,9 +938,9 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
}
}
- // Move all information from forcednotselected to forcedselected
- for (CharSetMap::const_iterator it1 = forcednotselected.begin(); it1 != forcednotselected.end(); ++it1) {
- for (CharSetMap::iterator it2 = forcedselected.begin(); it2 != forcedselected.end(); ++it2) {
+ // Move all information from forcedNotSelected to forcedSelected
+ for (CharSetMap::const_iterator it1 = forcedNotSelected.begin(); it1 != forcedNotSelected.end(); ++it1) {
+ for (CharSetMap::iterator it2 = forcedSelected.begin(); it2 != forcedSelected.end(); ++it2) {
if (it2->first != it1->first)
it2->second.insert(it1->second.begin(), it1->second.end());
}
diff --git a/src/Encoding.h b/src/Encoding.h
index 2bfbda0..6016f05 100644
--- a/src/Encoding.h
+++ b/src/Encoding.h
@@ -69,6 +69,11 @@ public:
std::vector<docstring> const & text_commands, std::vector<docstring> const & math_commands,
std::string const & text_preamble, std::string const & math_preamble,
std::string const & tipa_shortcut, unsigned int flags);
+ // Add a new text command for this symbol.
+ void addTextCommand(const docstring& newTextCommand) { text_commands_.emplace_back(newTextCommand); }
+ // Add a new math command for this symbol.
+ void addMathCommand(const docstring& newMathCommand) { math_commands_.emplace_back(newMathCommand); }
+
// we assume that at least one command is nonempty when using unicodesymbols
bool isUnicodeSymbol() const { return !text_commands_.empty() || !math_commands_.empty(); }
/// LaTeX command (text mode) for this character
diff --git a/src/insets/InsetERT.cpp b/src/insets/InsetERT.cpp
index 00f497f..b3e73ff 100644
--- a/src/insets/InsetERT.cpp
+++ b/src/insets/InsetERT.cpp
@@ -158,6 +158,8 @@ void InsetERT::docbook(XMLStream & xs, OutputParams const & runparams) const
os_trimmed.insert(4, from_ascii("}"));
}
+ std::cout << to_utf8(os_trimmed) << std::endl;
+
// Look into the global table of Unicode characters if there is a match.
bool termination;
docstring rem;
commit 3f9e21b826926f90474c9b7a5aeea5032d19207f
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Fri Feb 18 22:11:04 2022 +0100
CharInfo: allow to store several commands (both text and math) for each character.
Only the first one is returned by default with existing methods to guarantee compatibility with existing code.
diff --git a/src/BufferEncodings.cpp b/src/BufferEncodings.cpp
index dcf422d..fe7e90c 100644
--- a/src/BufferEncodings.cpp
+++ b/src/BufferEncodings.cpp
@@ -52,7 +52,7 @@ void BufferEncodings::validate(char_type c, LaTeXFeatures & features, bool for_m
CharInfo const & ci = Encodings::unicodeCharInfo(c);
if (ci.isUnicodeSymbol()) {
// In mathed, c could be used both in textmode and mathmode
- docstring const textcommand = ci.textcommand();
+ docstring const textcommand = ci.textCommand();
bool const math_mode = for_mathed && isMathCmd(c);
bool const use_math = math_mode ||
(!for_mathed && textcommand.empty());
@@ -65,9 +65,9 @@ void BufferEncodings::validate(char_type c, LaTeXFeatures & features, bool for_m
// and if we do not use unicode-math
if ((math_mode && !unicode_math)
|| (use_math && !plain_utf8)) {
- string const mathpreamble = ci.mathpreamble();
+ string const mathpreamble = ci.mathPreamble();
if (!mathpreamble.empty()) {
- if (ci.mathfeature()) {
+ if (ci.mathFeature()) {
string feats = mathpreamble;
while (!feats.empty()) {
string feat;
@@ -80,9 +80,9 @@ void BufferEncodings::validate(char_type c, LaTeXFeatures & features, bool for_m
}
// with utf8-plain, we do not load packages (see #7766)
if (use_text && !plain_utf8) {
- string const textpreamble = ci.textpreamble();
+ string const textpreamble = ci.textPreamble();
if (!textpreamble.empty()) {
- if (ci.textfeature()) {
+ if (ci.textFeature()) {
string feats = textpreamble;
while (!feats.empty()) {
string feat;
diff --git a/src/Encoding.cpp b/src/Encoding.cpp
index c7ea237..b0d5649 100644
--- a/src/Encoding.cpp
+++ b/src/Encoding.cpp
@@ -75,12 +75,23 @@ const char * EncodingException::what() const noexcept
CharInfo::CharInfo(
- docstring const & textcommand, docstring const & mathcommand,
- std::string const & textpreamble, std::string const & mathpreamble,
- std::string const & tipashortcut, unsigned int flags)
- : textcommand_(textcommand), mathcommand_(mathcommand),
- textpreamble_(textpreamble), mathpreamble_(mathpreamble),
- tipashortcut_(tipashortcut), flags_(flags)
+ docstring const & text_command, docstring const & math_command,
+ std::string const & text_preamble, std::string const & math_preamble,
+ std::string const & tipa_shortcut, unsigned int flags)
+ : text_commands_({text_command}), math_commands_({math_command}),
+ text_preamble_(text_preamble), math_preamble_(math_preamble),
+ tipa_shortcut_(tipa_shortcut), flags_(flags)
+{
+}
+
+
+CharInfo::CharInfo(
+ std::vector<docstring> const & text_commands, std::vector<docstring> const & math_commands,
+ std::string const & text_preamble, std::string const & math_preamble,
+ std::string const & tipa_shortcut, unsigned int flags)
+ : text_commands_(text_commands), math_commands_(math_commands),
+ text_preamble_(text_preamble), math_preamble_(math_preamble),
+ tipa_shortcut_(tipa_shortcut), flags_(flags)
{
}
@@ -216,11 +227,11 @@ pair<docstring, bool> Encoding::latexChar(char_type c) const
CharInfoMap::const_iterator const it = unicodesymbols.find(c);
if (it == unicodesymbols.end())
throw EncodingException(c);
- // at least one of mathcommand and textcommand is nonempty
- if (it->second.textcommand().empty())
+ // at least one of mathCommand and textCommand is nonempty
+ if (it->second.textCommand().empty())
return make_pair(
- "\\ensuremath{" + it->second.mathcommand() + '}', false);
- return make_pair(it->second.textcommand(), !it->second.textnotermination());
+ "\\ensuremath{" + it->second.mathCommand() + '}', false);
+ return make_pair(it->second.textCommand(), !it->second.textNoTermination());
}
@@ -302,17 +313,17 @@ bool Encodings::latexMathChar(char_type c, bool mathmode,
addMathSym(c);
return false;
}
- // at least one of mathcommand and textcommand is nonempty
- bool use_math = (mathmode && !it->second.mathcommand().empty()) ||
- (!mathmode && it->second.textcommand().empty());
+ // at least one of mathCommand and textCommand is nonempty
+ bool use_math = (mathmode && !it->second.mathCommand().empty()) ||
+ (!mathmode && it->second.textCommand().empty());
if (use_math) {
- command = it->second.mathcommand();
- needsTermination = !it->second.mathnotermination();
+ command = it->second.mathCommand();
+ needsTermination = !it->second.mathNoTermination();
addMathCmd(c);
} else {
if (!encoding || command.empty()) {
- command = it->second.textcommand();
- needsTermination = !it->second.textnotermination();
+ command = it->second.textCommand();
+ needsTermination = !it->second.textNoTermination();
}
if (mathmode)
addMathSym(c);
@@ -331,23 +342,31 @@ char_type Encodings::fromLaTeXCommand(docstring const & cmd, int cmdtype,
for (combining = false; it != end; ++it) {
if (it->second.deprecated())
continue;
- docstring const math = it->second.mathcommand();
- docstring const text = it->second.textcommand();
- if ((cmdtype & MATH_CMD) && math == cmd) {
- combining = it->second.combining();
- needsTermination = !it->second.mathnotermination();
- if (req && it->second.mathfeature() &&
- !it->second.mathpreamble().empty())
- req->insert(it->second.mathpreamble());
- return it->first;
+
+ if (cmdtype & MATH_CMD) {
+ for (const docstring& math : it->second.mathCommands()) {
+ if ((cmdtype & MATH_CMD) && math == cmd) {
+ combining = it->second.combining();
+ needsTermination = !it->second.mathNoTermination();
+ if (req && it->second.mathFeature() &&
+ !it->second.mathPreamble().empty())
+ req->insert(it->second.mathPreamble());
+ return it->first;
+ }
+ }
}
- if ((cmdtype & TEXT_CMD) && text == cmd) {
- combining = it->second.combining();
- needsTermination = !it->second.textnotermination();
- if (req && it->second.textfeature() &&
- !it->second.textpreamble().empty())
- req->insert(it->second.textpreamble());
- return it->first;
+
+ if (cmdtype & TEXT_CMD) {
+ for (const docstring& text : it->second.textCommands()) {
+ if (text == cmd) {
+ combining = it->second.combining();
+ needsTermination = !it->second.textNoTermination();
+ if (req && it->second.textFeature() &&
+ !it->second.textPreamble().empty())
+ req->insert(it->second.textPreamble());
+ return it->first;
+ }
+ }
}
}
needsTermination = false;
@@ -418,9 +437,9 @@ docstring Encodings::fromLaTeXCommand(docstring const & cmd, int cmdtype,
for (; it != uniend; ++it) {
if (it->second.deprecated())
continue;
- docstring const math = mathmode ? it->second.mathcommand()
+ docstring const math = mathmode ? it->second.mathCommand()
: docstring();
- docstring const text = textmode ? it->second.textcommand()
+ docstring const text = textmode ? it->second.textCommand()
: docstring();
if (!combcmd.empty() && it->second.combining() &&
(math == combcmd || text == combcmd))
@@ -496,16 +515,16 @@ docstring Encodings::fromLaTeXCommand(docstring const & cmd, int cmdtype,
i = j + 1;
unicmd_size = cur_size;
if (math == tmp)
- needsTermination = !it->second.mathnotermination();
+ needsTermination = !it->second.mathNoTermination();
else
- needsTermination = !it->second.textnotermination();
+ needsTermination = !it->second.textNoTermination();
if (req) {
- if (math == tmp && it->second.mathfeature() &&
- !it->second.mathpreamble().empty())
- req->insert(it->second.mathpreamble());
- if (text == tmp && it->second.textfeature() &&
- !it->second.textpreamble().empty())
- req->insert(it->second.textpreamble());
+ if (math == tmp && it->second.mathFeature() &&
+ !it->second.mathPreamble().empty())
+ req->insert(it->second.mathPreamble());
+ if (text == tmp && it->second.textFeature() &&
+ !it->second.textPreamble().empty())
+ req->insert(it->second.textPreamble());
}
}
}
@@ -584,7 +603,7 @@ string const Encodings::TIPAShortcut(char_type c)
{
CharInfoMap::const_iterator const it = unicodesymbols.find(c);
if (it != unicodesymbols.end())
- return it->second.tipashortcut();
+ return it->second.tipaShortcut();
return string();
}
@@ -595,11 +614,11 @@ string const Encodings::isKnownScriptChar(char_type const c)
if (it == unicodesymbols.end())
return string();
- // FIXME: parse complex textpreamble (may be list or alternatives,
+ // FIXME: parse complex textPreamble (may be list or alternatives,
// e.g., "subscript,textgreek" or "textcomp|textgreek")
- if (it->second.textpreamble() == "textgreek"
- || it->second.textpreamble() == "textcyrillic")
- return it->second.textpreamble();
+ if (it->second.textPreamble() == "textgreek"
+ || it->second.textPreamble() == "textcyrillic")
+ return it->second.textPreamble();
return string();
}
@@ -627,7 +646,7 @@ bool Encodings::isUnicodeTextOnly(char_type c)
return false;
CharInfoMap::const_iterator const it = unicodesymbols.find(c);
- return it == unicodesymbols.end() || it->second.mathcommand().empty();
+ return it == unicodesymbols.end() || it->second.mathCommand().empty();
}
@@ -754,7 +773,7 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
} else if (flag == "notermination=none") {
flags &= ~CharInfoTextNoTermination;
flags &= ~CharInfoMathNoTermination;
- } else if (contains(flag, "tipashortcut=")) {
+ } else if (contains(flag, "tipaShortcut=")) {
tipashortcut = split(flag, '=');
} else if (flag == "deprecated") {
flags |= CharInfoDeprecated;
@@ -765,7 +784,7 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
<< "'." << endl;
}
}
- // mathcommand and mathpreamble have been added for 1.6.0.
+ // mathCommand and mathPreamble have been added for 1.6.0.
// make them optional so that old files still work.
int const lineno = symbolslex.lineNumber();
bool breakout = false;
@@ -773,7 +792,7 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
string mathpreamble;
if (symbolslex.next(true)) {
if (symbolslex.lineNumber() != lineno) {
- // line in old format without mathcommand and mathpreamble
+ // line in old format without mathCommand and mathPreamble
getNextToken = false;
} else {
mathcommand = symbolslex.getDocString();
@@ -781,10 +800,10 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
flags |= CharInfoMathNoTermination;
if (symbolslex.next(true)) {
if (symbolslex.lineNumber() != lineno) {
- // line in new format with mathcommand only
+ // line in new format with mathCommand only
getNextToken = false;
} else {
- // line in new format with mathcommand and mathpreamble
+ // line in new format with mathCommand and mathPreamble
mathpreamble = symbolslex.getString();
}
} else
@@ -810,12 +829,12 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
textpreamble, mathpreamble,
tipashortcut, flags);
LYXERR(Debug::INFO, "Read unicode symbol " << symbol << " '"
- << to_utf8(info.textcommand()) << "' '" << info.textpreamble()
- << " '" << info.textfeature() << ' ' << info.textnotermination()
- << ' ' << to_utf8(info.mathcommand()) << "' '" << info.mathpreamble()
- << "' " << info.mathfeature() << ' ' << info.mathnotermination()
+ << to_utf8(info.textCommand()) << "' '" << info.textPreamble()
+ << " '" << info.textFeature() << ' ' << info.textNoTermination()
+ << ' ' << to_utf8(info.mathCommand()) << "' '" << info.mathPreamble()
+ << "' " << info.mathFeature() << ' ' << info.mathNoTermination()
<< ' ' << info.combining() << ' ' << info.force()
- << ' ' << info.forceselected());
+ << ' ' << info.forceSelected());
// we assume that at least one command is nonempty when using unicodesymbols
if (info.isUnicodeSymbol()) {
diff --git a/src/Encoding.h b/src/Encoding.h
index 6a96843..2bfbda0 100644
--- a/src/Encoding.h
+++ b/src/Encoding.h
@@ -62,52 +62,62 @@ class CharInfo {
public:
CharInfo() : flags_(0) {}
CharInfo(
- docstring const & textcommand, docstring const & mathcommand,
- std::string const & textpreamble, std::string const & mathpreamble,
- std::string const & tipashortcut, unsigned int flags);
+ docstring const & text_command, docstring const & math_command,
+ std::string const & text_preamble, std::string const & math_preamble,
+ std::string const & tipa_shortcut, unsigned int flags);
+ CharInfo(
+ std::vector<docstring> const & text_commands, std::vector<docstring> const & math_commands,
+ std::string const & text_preamble, std::string const & math_preamble,
+ std::string const & tipa_shortcut, unsigned int flags);
// we assume that at least one command is nonempty when using unicodesymbols
- bool isUnicodeSymbol() const { return !textcommand_.empty() || !mathcommand_.empty(); }
+ bool isUnicodeSymbol() const { return !text_commands_.empty() || !math_commands_.empty(); }
/// LaTeX command (text mode) for this character
- docstring const textcommand() const { return textcommand_; }
+ docstring textCommand() const { return text_commands_[0]; }
+ /// All known LaTeX commands (text mode) for this character
+ std::vector<docstring> textCommands() const { return text_commands_; }
/// LaTeX command (math mode) for this character
- docstring mathcommand() const { return mathcommand_; }
+ docstring mathCommand() const { return math_commands_[0]; }
+ /// All known LaTeX commands (math mode) for this character
+ std::vector<docstring> mathCommands() const { return math_commands_; }
/// Needed LaTeX preamble (or feature) for text mode
- std::string textpreamble() const { return textpreamble_; }
+ std::string textPreamble() const { return text_preamble_; }
/// Needed LaTeX preamble (or feature) for math mode
- std::string mathpreamble() const { return mathpreamble_; }
+ std::string mathPreamble() const { return math_preamble_; }
/// Is this a combining character?
bool combining() const { return flags_ & CharInfoCombining; }
- /// Is \c textpreamble a feature known by LaTeXFeatures, or a raw LaTeX
+ /// Is \c textPreamble a feature known by LaTeXFeatures, or a raw LaTeX
/// command?
- bool textfeature() const { return flags_ & CharInfoTextFeature; }
- /// Is \c mathpreamble a feature known by LaTeXFeatures, or a raw LaTeX
+ bool textFeature() const { return flags_ & CharInfoTextFeature; }
+ /// Is \c mathPreamble a feature known by LaTeXFeatures, or a raw LaTeX
/// command?
- bool mathfeature() const { return flags_ & CharInfoMathFeature; }
+ bool mathFeature() const { return flags_ & CharInfoMathFeature; }
/// Always force the LaTeX command, even if the encoding contains
/// this character?
bool force() const { return flags_ & CharInfoForce; }
/// Force the LaTeX command for some encodings?
- bool forceselected() const { return flags_ & CharInfoForceSelected; }
+ bool forceSelected() const { return flags_ & CharInfoForceSelected; }
/// Disable LaTeX command => char_type conversion for this deprecated symbol?
bool deprecated() const { return flags_ & CharInfoDeprecated; }
/// TIPA shortcut
- std::string const tipashortcut() const { return tipashortcut_; }
- /// \c textcommand needs no termination (such as {} or space).
- bool textnotermination() const { return flags_ & CharInfoTextNoTermination; }
- /// \c mathcommand needs no termination (such as {} or space).
- bool mathnotermination() const { return flags_ & CharInfoMathNoTermination; }
+ std::string const tipaShortcut() const { return tipa_shortcut_; }
+ /// \c textCommand needs no termination (such as {} or space).
+ bool textNoTermination() const { return flags_ & CharInfoTextNoTermination; }
+ /// \c mathCommand needs no termination (such as {} or space).
+ bool mathNoTermination() const { return flags_ & CharInfoMathNoTermination; }
///
private:
- /// LaTeX command (text mode) for this character
- trivdocstring textcommand_;
- /// LaTeX command (math mode) for this character
- trivdocstring mathcommand_;
+ /// LaTeX commands (text mode) for this character. The first one is the default, the others
+ /// are only present for compatibility other ways users may encode the character
+ std::vector<trivdocstring> text_commands_;
+ /// LaTeX command (math mode) for this character. The first one is the default, the others
+ // /// are only present for compatibility other ways users may encode the character
+ std::vector<trivdocstring> math_commands_;
/// Needed LaTeX preamble (or feature) for text mode
- trivstring textpreamble_;
+ trivstring text_preamble_;
/// Needed LaTeX preamble (or feature) for math mode
- trivstring mathpreamble_;
+ trivstring math_preamble_;
/// TIPA shortcut
- trivstring tipashortcut_;
+ trivstring tipa_shortcut_;
/// feature flags
unsigned int flags_;
};
@@ -288,7 +298,7 @@ public:
/**
* Do we have to wrap in \text this character when in mathmode?
* This is true if \p c is not ascii and the "mathalpha" flag is not
- * set and a mathcommand is not defined in the unicodesymbols file.
+ * set and a mathCommand is not defined in the unicodesymbols file.
*/
static bool isUnicodeTextOnly(char_type c);
/**
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 48b8519..3a4c399 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -1535,9 +1535,9 @@ void Paragraph::Private::validate(LaTeXFeatures & features) const
else if (features.runparams().main_fontenc != "T1"
|| ((&owner_->getFontSettings(bp, i))->language()->internalFontEncoding()))
features.require("textquotedbl");
- } else if (ci.textfeature() && contains(ci.textpreamble(), '=')) {
+ } else if (ci.textFeature() && contains(ci.textPreamble(), '=')) {
// features that depend on the font or input encoding
- string feats = ci.textpreamble();
+ string feats = ci.textPreamble();
string fontenc = (&owner_->getFontSettings(bp, i))->language()->fontenc(bp);
if (fontenc.empty())
fontenc = features.runparams().main_fontenc;
commit faf0e9ee1396decee9351d3ea8a4bbd362290c79
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sat Feb 19 03:11:55 2022 +0100
configure: for EPS to PNG, ask ImageMagick to only consider the first image.
Issue discussed in the mailing list: when the EPS contains several images (Adobe Photoshop exports two of them, one being a low-quality TIFF for preview), two files are generated, none with the existing name (prefix: -0 and -1). Hence, LyX thought that there was an error.
diff --git a/lib/configure.py b/lib/configure.py
index 17ef38f..f81aa3a 100644
--- a/lib/configure.py
+++ b/lib/configure.py
@@ -1174,7 +1174,7 @@ def checkConverterEntries():
checkProg('an EPS -> PDF converter', ['epstopdf'],
rc_entry = [ r'\converter eps pdf6 "epstopdf --outfile=$$o $$i" ""'])
#
- checkProg('an EPS -> PNG converter', ['magick $$i $$o', 'convert $$i $$o'],
+ checkProg('an EPS -> PNG converter', ['magick $$i[0] $$o', 'convert $$i[0] $$o'],
rc_entry = [ r'\converter eps png "%%" ""'])
#
# no agr -> pdf6 converter, since the pdf library used by gracebat is not
commit df59649a18f19486dc06b3e921272cea6d4ee343
Author: Daniel Ramöller <d.lyx at web.de>
Date: Wed Feb 16 14:57:06 2022 +0100
Properly show labels from broken references in Cross-references dialog
Fix for bug #12456.
The labels are transmitted from Buffer to GuiRef by reference of refs_
in the getLabelList function. Previously, only one string was
transmitted. But I needed both the formatted string, e.g. "x enu:test"
or "Missing: enu:test", as well as the plain label, e.g. "enu:test".
The former is for the list of labels to choose from in GuiRef and the
latter for the label as shown in the line edit that contains the plain
label in order to create a new reference from it. Transmitting both is
what the pair achieves.
diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index 729d7a6..0a1f851 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -2389,7 +2389,7 @@ void Buffer::validate(LaTeXFeatures & features) const
}
-void Buffer::getLabelList(vector<docstring> & list) const
+void Buffer::getLabelList(vector<std::pair<docstring, docstring>> & list) const
{
// If this is a child document, use the master's list instead.
if (parent()) {
@@ -2401,7 +2401,7 @@ void Buffer::getLabelList(vector<docstring> & list) const
shared_ptr<Toc> toc = d->toc_backend.toc("label");
for (auto const & tocit : *toc) {
if (tocit.depth() == 0)
- list.push_back(tocit.str());
+ list.push_back(make_pair(tocit.str(), tocit.asString()));
}
}
diff --git a/src/Buffer.h b/src/Buffer.h
index 0d79ffa..7f40351 100644
--- a/src/Buffer.h
+++ b/src/Buffer.h
@@ -521,8 +521,8 @@ public:
void invalidateCiteLabels() const;
///
bool citeLabelsValid() const;
- ///
- void getLabelList(std::vector<docstring> &) const;
+ /// two strings: plain label name and label as gui string
+ void getLabelList(std::vector<std::pair<docstring, docstring>> &) const;
/// This removes the .aux and .bbl files from the temp dir.
void removeBiblioTempFiles() const;
diff --git a/src/TocBackend.cpp b/src/TocBackend.cpp
index b3a36f1..859e6e8 100644
--- a/src/TocBackend.cpp
+++ b/src/TocBackend.cpp
@@ -43,8 +43,8 @@ namespace lyx {
///////////////////////////////////////////////////////////////////////////
TocItem::TocItem(DocIterator const & dit, int d, docstring const & s,
- bool output_active, FuncRequest const & action)
- : dit_(dit), depth_(d), str_(s), output_(output_active),
+ bool output_active, bool missing, FuncRequest const & action)
+ : dit_(dit), depth_(d), str_(s), output_(output_active), missing_(missing),
action_(action)
{
}
@@ -65,6 +65,9 @@ docstring const TocItem::asString() const
prefix += cross;
prefix += thin;
}
+ if (missing_) {
+ prefix += _("MISSING: ");
+ }
return prefix + str_;
}
diff --git a/src/TocBackend.h b/src/TocBackend.h
index b67ee60..c3a178d 100644
--- a/src/TocBackend.h
+++ b/src/TocBackend.h
@@ -55,12 +55,13 @@ class TocItem
{
public:
/// Default constructor for STL containers.
- TocItem() : dit_(0), depth_(0), output_(false) {}
+ TocItem() : dit_(0), depth_(0), output_(false), missing_(false) {}
///
TocItem(DocIterator const & dit,
int depth,
docstring const & s,
bool output_active,
+ bool missing = false,
FuncRequest const & action = FuncRequest(LFUN_UNKNOWN_ACTION)
);
///
@@ -74,6 +75,8 @@ public:
///
bool isOutput() const { return output_; }
///
+ bool isMissing() const { return missing_; }
+ ///
void setAction(FuncRequest const & a) { action_ = a; }
/// custom action, or the default one (paragraph-goto) if not customised
@@ -92,6 +95,8 @@ private:
docstring str_;
/// Is this item in a note, inactive branch, etc?
bool output_;
+ /// Is this item missing, e.g. missing label?
+ bool missing_;
/// Custom action
FuncRequest action_;
};
diff --git a/src/frontends/qt/GuiRef.cpp b/src/frontends/qt/GuiRef.cpp
index 2836190..9cb9d81 100644
--- a/src/frontends/qt/GuiRef.cpp
+++ b/src/frontends/qt/GuiRef.cpp
@@ -202,7 +202,7 @@ void GuiRef::refHighlighted(QTreeWidgetItem * sel)
bool const cur_item_selected = sel->isSelected();
if (cur_item_selected)
- referenceED->setText(sel->text(0));
+ referenceED->setText(sel->data(0, Qt::UserRole).toString());
if (at_ref_)
gotoRef();
@@ -236,7 +236,7 @@ void GuiRef::refSelected(QTreeWidgetItem * sel)
bool const cur_item_selected = sel->isSelected();
if (cur_item_selected)
- referenceED->setText(sel->text(0));
+ referenceED->setText(sel->data(0, Qt::UserRole).toString());
// <enter> or double click, inserts ref and closes dialog
slotOK();
}
@@ -439,13 +439,17 @@ void GuiRef::redoRefs()
// the first item inserted
QString const oldSelection(referenceED->text());
- QStringList refsStrings;
+ QStringList refsNames;
+ QStringList refsAsStrings;
QStringList refsCategories;
- vector<docstring>::const_iterator iter;
+ vector<std::pair<docstring, docstring>>::const_iterator iter;
bool noprefix = false;
for (iter = refs_.begin(); iter != refs_.end(); ++iter) {
- QString const lab = toqstr(*iter);
- refsStrings.append(lab);
+ // the plain label name
+ QString const lab = toqstr((*iter).first);
+ refsNames.append(lab);
+ // the label as gui string
+ refsAsStrings.append(toqstr((*iter).second));
if (groupCB->isChecked()) {
if (lab.contains(":")) {
QString const pref = lab.split(':')[0];
@@ -470,10 +474,10 @@ void GuiRef::redoRefs()
sortingCO->itemData(sortingCO->currentIndex()).toString()
: QString();
if (sort_method == "nocase")
- sort(refsStrings.begin(), refsStrings.end(),
+ sort(refsNames.begin(), refsNames.end(),
caseInsensitiveLessThan /*defined above*/);
else if (sort_method == "case")
- sort(refsStrings.begin(), refsStrings.end());
+ sort(refsNames.begin(), refsNames.end());
if (groupCB->isChecked()) {
QList<QTreeWidgetItem *> refsCats;
@@ -481,14 +485,15 @@ void GuiRef::redoRefs()
QString const & cat = refsCategories.at(i);
QTreeWidgetItem * item = new QTreeWidgetItem(refsTW);
item->setText(0, cat);
- for (int j = 0; j < refsStrings.size(); ++j) {
- QString const & ref = refsStrings.at(j);
+ for (int j = 0; j < refsNames.size(); ++j) {
+ QString const & ref = refsNames.at(j);
if ((ref.startsWith(cat + QString(":")))
|| (cat == qt_("<No prefix>")
&& (!ref.mid(1).contains(":") || ref.left(1).contains(":")))) {
QTreeWidgetItem * child =
new QTreeWidgetItem(item);
- child->setText(0, ref);
+ item->setText(0, refsAsStrings.at(j));
+ item->setData(0, Qt::UserRole, ref);
item->addChild(child);
}
}
@@ -497,9 +502,11 @@ void GuiRef::redoRefs()
refsTW->addTopLevelItems(refsCats);
} else {
QList<QTreeWidgetItem *> refsItems;
- for (int i = 0; i < refsStrings.size(); ++i) {
+ for (int i = 0; i < refsNames.size(); ++i) {
QTreeWidgetItem * item = new QTreeWidgetItem(refsTW);
- item->setText(0, refsStrings.at(i));
+ QString const & ref = refsNames.at(i);
+ item->setText(0, refsAsStrings.at(i));
+ item->setData(0, Qt::UserRole, ref);
refsItems.append(item);
}
refsTW->addTopLevelItems(refsItems);
diff --git a/src/frontends/qt/GuiRef.h b/src/frontends/qt/GuiRef.h
index 02ef307..4bd50e5 100644
--- a/src/frontends/qt/GuiRef.h
+++ b/src/frontends/qt/GuiRef.h
@@ -106,8 +106,9 @@ private:
int restored_buffer_;
/// store the last active buffer
int active_buffer_;
- /// the references
- std::vector<docstring> refs_;
+ /// the references as two strings: plain label name and label as gui string
+ /// FIXME: might be a good idea to use a custom struct
+ std::vector<std::pair<docstring, docstring>> refs_;
};
} // namespace frontend
diff --git a/src/insets/InsetRef.cpp b/src/insets/InsetRef.cpp
index 716f8a7..eab3e69 100644
--- a/src/insets/InsetRef.cpp
+++ b/src/insets/InsetRef.cpp
@@ -537,7 +537,9 @@ void InsetRef::addToToc(DocIterator const & cpit, bool output_active,
broken_ = true;
setBroken(broken_);
shared_ptr<Toc> toc = backend.toc("label");
- toc->push_back(TocItem(cpit, 0, screenLabel(), output_active));
+ if (TocBackend::findItem(*toc, 0, label) == toc->end())
+ toc->push_back(TocItem(cpit, 0, label, output_active, true));
+ toc->push_back(TocItem(cpit, 1, screenLabel(), output_active));
shared_ptr<Toc> toc2 = backend.toc("brokenrefs");
toc2->push_back(TocItem(cpit, 0, screenLabel(), output_active));
}
commit 8519e2b074df93c0fd6ee70158a61f8ca91dad56
Author: Kornel Benko <kornel at lyx.org>
Date: Sat Feb 19 15:59:52 2022 +0100
Update sk.po
diff --git a/po/sk.po b/po/sk.po
index 0fecc2b..064fb9a 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: LyX-2.4\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2022-02-17 12:06+0100\n"
-"PO-Revision-Date: 2022-02-17 11:16+0000\n"
+"POT-Creation-Date: 2022-02-19 14:36+0100\n"
+"PO-Revision-Date: 2022-02-19 14:53+0000\n"
"Last-Translator: Kornel Benko <kornel at lyx.org>\n"
"Language-Team: Slovak <kornel at lyx.org>\n"
"Language: sk\n"
@@ -306,6 +306,14 @@ msgid "Add &Local..."
msgstr "&PridaÅ¥ lokálnuâ¦"
#: src/frontends/qt/ui/BibtexUi.ui:91
+msgid "Inherit bibliography databases from the master document"
+msgstr "Databázy prevziať od hlavného dokumentu"
+
+#: src/frontends/qt/ui/BibtexUi.ui:94
+msgid "&Inherit from Master"
+msgstr "&Zdediť od hlavného dokumentu"
+
+#: src/frontends/qt/ui/BibtexUi.ui:91
msgid "Remove the selected database"
msgstr "Odstrániť vybranú databázu"
@@ -1230,7 +1238,7 @@ msgstr "&Bývalà dokument:"
#: src/frontends/qt/ui/CompareUi.ui:51
msgid "Specify the original version of the document here (comparison source)"
-msgstr "Špecifikujte originálnu verziu dokumenta tu (zdroj porovnania)"
+msgstr "Špecifikujte originálnu verziu dokumentu tu (zdroj porovnania)"
#: src/frontends/qt/ui/CompareUi.ui:61 src/frontends/qt/ui/PrefUi.ui:61
msgid "Bro&wse..."
@@ -1242,7 +1250,7 @@ msgstr "&Nový dokument:"
#: src/frontends/qt/ui/CompareUi.ui:87
msgid "Specify the modified version of the document here (comparison target)"
-msgstr "Špecifikujte modifikovanú verziu dokumenta tu (cieľ porovnania)"
+msgstr "Špecifikujte modifikovanú verziu dokumentu tu (cieľ porovnania)"
#: 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
@@ -1257,7 +1265,7 @@ msgstr "Vyberte dokument z ktorého chcete nastavenia kopÃrovaÅ¥"
#: src/frontends/qt/GuiDocument.cpp:789 src/frontends/qt/ui/CompareUi.ui:120
msgid "Document Settings"
-msgstr "Nastavenia dokumenta"
+msgstr "Nastavenia dokumentu"
#: src/frontends/qt/ui/CompareUi.ui:129
msgid "O&ld Document"
@@ -1331,7 +1339,7 @@ msgstr "&Prehodiť && obrátiť"
#: src/frontends/qt/ui/DocumentUi.ui:93
msgid "Reset to the default settings for the document class"
-msgstr "Nastaviť na štandardné nastavenie triedy dokumenta"
+msgstr "Nastaviť na štandardné nastavenie triedy dokumentu"
#: src/frontends/qt/ui/DocumentUi.ui:96
msgid "Use Class Defaults"
@@ -1343,7 +1351,7 @@ msgstr "Uložiť nastavenia ako štandardné nastavenia pre nové LyX dokumenty"
#: src/frontends/qt/ui/DocumentUi.ui:112
msgid "Save as Document Defaults"
-msgstr "Uložiť ako štandardné nastavenia dokumenta"
+msgstr "Uložiť ako štandardné nastavenia dokumentu"
#: src/frontends/qt/ui/ERTUi.ui:38 src/frontends/qt/GuiPrefs.cpp:1297
msgid "Display"
@@ -1645,7 +1653,7 @@ msgid ""
"document"
msgstr ""
"Aktuálny dokument a všetky súvisiace dokumenty patriace k tomu istému "
-"hlavnému dokumenta"
+"hlavnému dokumentu"
#: src/frontends/qt/ui/FindAndReplaceUi.ui:319
msgid "&Master document"
@@ -1716,11 +1724,11 @@ msgid ""
"Settings."
msgstr ""
"PoužiÅ¥ Å¡tandardné zarovnanie pre plávajúce objekty, ako je urÄené v "
-"nastaveniach dokumenta."
+"nastaveniach dokumentu."
#: src/frontends/qt/ui/FloatPlacementUi.ui:97
msgid "D&ocument Default"
-msgstr "Štan&dardné nastavenia dokumenta"
+msgstr "Štan&dardné nastavenia dokumentu"
#: src/frontends/qt/ui/FloatPlacementUi.ui:104
msgid "Left-align float contents"
@@ -2466,7 +2474,7 @@ msgstr "O&kamžite použiť"
#: src/frontends/qt/ui/LaTeXUi.ui:20
msgid "Document &Class"
-msgstr "&Trieda dokumenta"
+msgstr "&Trieda dokumentu"
#: src/frontends/qt/ui/LaTeXUi.ui:48
msgid "Click to select a local document class definition file"
@@ -2506,7 +2514,7 @@ msgstr "OvládaÄ &grafik:"
#: src/frontends/qt/ui/LaTeXUi.ui:136
msgid "Select if the current document is included to a master file"
-msgstr "Vyberte keÄ je súÄasný dokument vložený do hlavného dokumenta"
+msgstr "Vyberte keÄ je súÄasný dokument vložený do hlavného dokumentu"
#: src/frontends/qt/ui/LaTeXUi.ui:142
msgid "Select de&fault master document"
@@ -2518,7 +2526,7 @@ msgstr "&Hlavný dokument:"
#: src/frontends/qt/ui/LaTeXUi.ui:177
msgid "Enter the name of the default master document"
-msgstr "Udajte meno implicitného hlavného dokumenta"
+msgstr "Udajte meno implicitného hlavného dokumentu"
#: src/frontends/qt/ui/LaTeXUi.ui:196
msgid "&Suppress default date on front page"
@@ -2925,7 +2933,7 @@ msgstr "&Separácia stĺpcov:"
#: src/frontends/qt/ui/MasterChildUi.ui:20
msgid "Master Document Output"
-msgstr "Výstup hlavného dokumenta"
+msgstr "Výstup hlavného dokumentu"
#: src/frontends/qt/ui/MasterChildUi.ui:29
msgid "Include all subdocuments in the output"
@@ -2963,7 +2971,7 @@ msgid ""
"counter values and references."
msgstr ""
"ÄÃtaÄe a referencie vylúÄených dokumentov budú ignorované, Äiže ÄÃtaÄe vo "
-"výstupe nebudú súhlasiť s výstupom celého dokumenta.<br>Toto je "
+"výstupe nebudú súhlasiť s výstupom celého dokumentu.<br>Toto je "
"najrýchlejÅ¡ia metóda. Použite ju keÄ nepotrebujete presné hodnoty ÄÃtaÄov a "
"referenciÃ."
@@ -3165,7 +3173,7 @@ msgstr "&Zosivelé"
#: src/frontends/qt/ui/NumberingUi.ui:37
msgid "Add line numbers to the document"
-msgstr "PridaÅ¥ oÄÃslenie riadkov do dokumenta"
+msgstr "PridaÅ¥ oÄÃslenie riadkov do dokumentu"
#: src/frontends/qt/ui/NumberingUi.ui:40
msgid "L&ine numbering"
@@ -3248,7 +3256,7 @@ msgid ""
msgstr ""
"Uložà vÅ¡etky parametre do LyX súboru, vÄetne aj také ktoré sa Äasto "
"prepÃnajú alebo sú zvláštne ohľadom na použÃvateľa (také ako napr. výstup "
-"sledovaných zmien, alebo cesta adresára dokumenta). Vypnutie tejto voľby je "
+"sledovaných zmien, alebo cesta adresára dokumentu). Vypnutie tejto voľby je "
"vhodnejÅ¡ie ako pre spoluprácu tak i pri použÃvaniu správe verziÃ."
#: src/frontends/qt/ui/OutputUi.ui:99
@@ -3470,11 +3478,11 @@ msgstr "&Nastavenia pre hyperref"
msgid ""
"Document metadata and PDF settings (as specified in LaTeX 06/2022 and later)"
msgstr ""
-"Metaúdaje dokumenta a PDS nastavenia (ako urÄené v LaTeX 06/2022 a neskôr)"
+"Metaúdaje dokumentu a PDS nastavenia (ako urÄené v LaTeX 06/2022 a neskôr)"
#: src/frontends/qt/ui/PDFSupportUi.ui:490
msgid "Document &Metadata"
-msgstr "&Metaúdaje dokumenta"
+msgstr "&Metaúdaje dokumentu"
#: src/frontends/qt/ui/PageLayoutUi.ui:20
msgid "Paper Format"
@@ -3954,7 +3962,7 @@ msgid ""
"document. This allows moving the document elsewhere and still finding the "
"included files."
msgstr ""
-"KeÄ zaÅ¡krtnuté, adresár dokumenta sa zapÃÅ¡e do dokumenta. Dovolà sa tým "
+"KeÄ zaÅ¡krtnuté, adresár dokumentu sa zapÃÅ¡e do dokumentu. Dovolà sa tým "
"presunúť dokument niekde inde a predsa nájsť vložené súbory."
#: src/frontends/qt/ui/PrefDocHandlingUi.ui:158
@@ -4011,7 +4019,7 @@ msgstr "Editácia"
#: src/frontends/qt/ui/PrefEditUi.ui:51
msgid "Scroll &below end of document"
-msgstr "Rolovať až pod &koniec dokumenta"
+msgstr "Rolovať až pod &koniec dokumentu"
#: src/frontends/qt/ui/PrefEditUi.ui:72
msgid "Edit Math Macros inline with a box around"
@@ -4134,7 +4142,7 @@ msgstr "O&dstrániť"
#: src/frontends/qt/ui/PrefFileformatsUi.ui:73
msgid "&Document format"
-msgstr "Form&át dokumenta"
+msgstr "Form&át dokumentu"
#: src/frontends/qt/ui/PrefFileformatsUi.ui:80
msgid "Check this to show the current format in the File > Export menu"
@@ -4389,7 +4397,7 @@ msgid ""
"the language package), so that other packages are also informed about the "
"used languages."
msgstr ""
-"Zaškrtnite na nastavenie jazyka globálne (k triede dokumenta), nie lokálne "
+"Zaškrtnite na nastavenie jazyka globálne (k triede dokumentu), nie lokálne "
"(k jazykovému balÃku), tak aby aj iné balÃky dostali informáciu o použitých "
"jazykov."
@@ -4402,24 +4410,24 @@ msgid ""
"If checked, the document language is explicitly set by a language switch "
"command"
msgstr ""
-" KeÄ zaÅ¡krtnuté, jazyk dokumenta je explicitne nastavený prepÃnajúcim "
+" KeÄ zaÅ¡krtnuté, jazyk dokumentu je explicitne nastavený prepÃnajúcim "
"prÃkazom jazyka"
#: src/frontends/qt/ui/PrefLanguageUi.ui:154
msgid "Set document language e&xplicitly"
-msgstr "Ex&plicitne nastaviť jazyk dokumenta"
+msgstr "Ex&plicitne nastaviť jazyk dokumentu"
#: src/frontends/qt/ui/PrefLanguageUi.ui:161
msgid ""
"If checked, the document language is explicitly closed by a language switch "
"command"
msgstr ""
-"KeÄ zaÅ¡krtnuté, jazyk dokumenta je explicitne zavretý prepÃnajúcim prÃkazom "
+"KeÄ zaÅ¡krtnuté, jazyk dokumentu je explicitne zavretý prepÃnajúcim prÃkazom "
"jazyka"
#: src/frontends/qt/ui/PrefLanguageUi.ui:164
msgid "&Unset document language explicitly"
-msgstr "E&xplicitne deaktivovať jazyk dokumenta"
+msgstr "E&xplicitne deaktivovať jazyk dokumentu"
#: src/frontends/qt/ui/PrefLanguageUi.ui:177
msgid "Editor Settings"
@@ -4430,7 +4438,7 @@ msgid ""
"Check to highlight additional languages (to the document language) visually "
"in the work area"
msgstr ""
-"ZaÅ¡krtnite na vyzdvihnutie dodatoÄných jazykov (ku jazyku dokumenta) "
+"ZaÅ¡krtnite na vyzdvihnutie dodatoÄných jazykov (ku jazyku dokumentu) "
"viditeľné na pracovnej ploche"
#: src/frontends/qt/ui/PrefLanguageUi.ui:192
@@ -4595,7 +4603,7 @@ msgstr "Zvoliť štandardné voľby pri zmene triedy"
#: src/frontends/qt/ui/PrefLatexUi.ui:323
msgid "R&eset class options when document class changes"
-msgstr "&Nastaviť triedne voľby pri zmene triedy dokumenta"
+msgstr "&Nastaviť triedne voľby pri zmene triedy dokumentu"
#: src/frontends/qt/ui/PrefOutputUi.ui:20
msgid "Forward Search"
@@ -5372,7 +5380,7 @@ msgid ""
"Available categories depend on the document encoding. Select UTF-8 for the "
"full range."
msgstr ""
-"Dostupné kategórie závisia na zvolenom kódovanà dokumenta. Vyberte UTF-8 pre "
+"Dostupné kategórie závisia na zvolenom kódovanà dokumentu. Vyberte UTF-8 pre "
"plný rozsah."
#: src/frontends/qt/ui/SymbolsUi.ui:43
@@ -6019,7 +6027,7 @@ msgstr "Ukazovať zdroj tak, ako ho hlavný dokument dostane"
#: src/frontends/qt/ui/ViewSourceUi.ui:133
msgid "Master's perspective"
-msgstr "PerspektÃva hlavného dokumenta"
+msgstr "PerspektÃva hlavného dokumentu"
#: src/frontends/qt/ui/ViewSourceUi.ui:147
msgid "Current Paragraph"
@@ -7616,8 +7624,8 @@ msgid ""
msgstr ""
"Poskytuje dva nové štýly: 1. Štýl 'V preambule' ktorý položà všetko do neho "
"zadané do preambuly. KeÄ si to niekto želá, dá sa použiÅ¥ aj na inklúziu kódu "
-"preambuly do tela LyXového dokumenta. 2. Štýl 'V titule' položà svoj obsah "
-"do tela LaTeXového dokumenta, ale pred vydanÃm \\maketitle. Je to vhodné pre "
+"preambuly do tela LyXového dokumentu. 2. Štýl 'V titule' položà svoj obsah "
+"do tela LaTeXového dokumentu, ale pred vydanÃm \\maketitle. Je to vhodné pre "
"tvorbu vetiev a poznámok v titulnom materiáli. (VloženÃm do 'Å tandardné "
"rozloženie' signalizujete LyXu vložiÅ¥ \\maketitle do výstupu, Äo by mohlo "
"byÅ¥ predÄasné.)"
@@ -10399,7 +10407,7 @@ msgstr "Krátky titul v hlavnom jazyku"
#: lib/layouts/bicaption.module:46
msgid "Short title for the main(document) language"
-msgstr "Krátky titul v hlavnom jazyku dokumenta"
+msgstr "Krátky titul v hlavnom jazyku dokumentu"
#: lib/layouts/bicaption.module:50
msgid "Main Language Text"
@@ -10407,7 +10415,7 @@ msgstr "Text v hlavnom jazyku"
#: lib/layouts/bicaption.module:51
msgid "Text in the main(document) language"
-msgstr "Text v hlavnom jazyku dokumenta"
+msgstr "Text v hlavnom jazyku dokumentu"
#: lib/layouts/bicaption.module:54
msgid "Second Language Short Title"
@@ -12435,7 +12443,7 @@ msgstr ""
"FIXMEs'. Vysvetlivky sú upraviteľné v LaTeXovej preambule. ViÄte "
"dokumentáciu FiXme. NOTA: Štandardne sú poznámky viditeľné len v režime "
"'draft' (keÄ voľbu 'draft' vložÃte pomocou Dokument -> Nastavenia⦠-> Trieda "
-"dokumenta -> Nastavenie triedy -> Vlastné). Chcete to vidieť vždy, vložte "
+"dokumentu -> Nastavenie triedy -> Vlastné). Chcete to vidieť vždy, vložte "
"\\fxsetup{draft} do Dokument -> Preambula LaTeX-u. POZOR: pre niektoré "
"vlastnosti potrebujete balÃk 'FiXme' verziu 4 alebo vzostupnú."
@@ -13933,11 +13941,11 @@ msgstr "S/R výraz"
#: lib/layouts/landscape.module:2
msgid "Landscape Document Parts"
-msgstr "Äasti dokumenta vo formáte na Å¡Ãrku"
+msgstr "Äasti dokumentu vo formáte na Å¡Ãrku"
#: lib/layouts/landscape.module:6
msgid "Output parts of the document in landscape mode."
-msgstr "VytlaÄiÅ¥ Äiastky z dokumenta na Å¡Ãrku."
+msgstr "VytlaÄiÅ¥ Äiastky z dokumentu na Å¡Ãrku."
#: lib/layouts/landscape.module:11 lib/layouts/landscape.module:16
msgid "Landscape"
@@ -17400,7 +17408,7 @@ msgstr ""
"rozÅ¡Ãrenia AMS, má tu každý poskytnutý typ teorémou svoje vlastné ÄÃslovanie "
"(Äiže veta 1, veta 2, lemma 1, tvrdenie 1, veta 3, lemma 2, â¦, oproti veta "
"1, veta 2, lemma 3, tvrdenie 4â¦). ÄÃslovanie je postupne bez ohľadu na "
-"Å¡truktúru dokumenta. To sa dá zmeniÅ¥ voľbou jedného z 'Teorémy (ÄÃslované "
+"Å¡truktúru dokumentu. To sa dá zmeniÅ¥ voľbou jedného z 'Teorémy (ÄÃslované "
"podľa â¦)' modulu."
#: lib/layouts/theorems-ams-chap-bytype.module:2
@@ -17757,7 +17765,7 @@ msgid ""
msgstr ""
"Definuje prostredie mat. viet a dôkazov použÃvajúce rozÅ¡Ãrenie AMS. K "
"dispozÃcii sú ÄÃslované a ne-ÄÃslované typy. Implicitne sú vety ÄÃslované "
-"postupne bez ohľadu na štruktúru dokumenta. To sa dá zmeniť voľbou jedného z "
+"postupne bez ohľadu na štruktúru dokumentu. To sa dá zmeniť voľbou jedného z "
"'Teorémy (ÄÃslované podľa â¦)' modulu."
#: lib/layouts/theorems-bytype.module:2
@@ -17778,7 +17786,7 @@ msgstr ""
"jednoduchému modulu teorémou, má tu každý poskytnutý typ teorémou svoje "
"vlastné ÄÃslovanie (Äiže veta 1, veta 2, lemma 1, tvrdenie 1, veta 3, lemma "
"2, â¦, oproti veta 1, veta 2, lemma 3, tvrdenie 4, â¦). ÄÃslovanie je "
-"usporiadané bez ohľadu na štruktúru dokumenta. To sa dá zmeniť voľbou "
+"usporiadané bez ohľadu na štruktúru dokumentu. To sa dá zmeniť voľbou "
"jedného z 'Teorémy (ÄÃslované podľa â¦)' modulu."
#: lib/layouts/theorems-case.inc:12
@@ -17967,7 +17975,7 @@ msgid ""
msgstr ""
"Definuje niektoré prostredia mat. viet pre použitie v triedach neodvodených "
"od AMS. Implicitne sú vety ÄÃslované postupne bez ohľadu na Å¡truktúru "
-"dokumenta. To sa dá zmeniÅ¥ voľbou jedného z 'Teorémy (ÄÃslované podľa â¦)' "
+"dokumentu. To sa dá zmeniÅ¥ voľbou jedného z 'Teorémy (ÄÃslované podľa â¦)' "
"modulu."
#: lib/layouts/theorems-without-preamble.inc:47
@@ -18025,9 +18033,9 @@ msgid ""
"provides a paragraph style. Passing 'final' as document class option "
"suppresses the output of TODO notes."
msgstr ""
-"Poskytuje vlastné vložky na vklad TODO prvkov do vášho dokumenta (použÃvajúc "
+"Poskytuje vlastné vložky na vklad TODO prvkov do vášho dokumentu (použÃvajúc "
"balÃk todonotes). Pre generáciu 'Zoznam TODOs' poskytuje tento modul Å¡týl "
-"odstavca. NastaviÅ¥ 'final' ako voľbu dokumenta potlaÄà výstup 'TODO' "
+"odstavca. NastaviÅ¥ 'final' ako voľbu dokumentu potlaÄà výstup 'TODO' "
"poznámok."
#: lib/layouts/todonotes.module:15 lib/layouts/todonotes.module:120
@@ -26048,7 +26056,7 @@ msgstr ""
"pozÃcie, ktorú chcete zobraziÅ¥.\n"
"Uistite sa, že má prÃponu '.fen'\n"
"a nezabudnite daÅ¥ relatÃvnu cestu\n"
-"k súboru do dokumenta LyX-a.\n"
+"k súboru do dokumentu LyX-a.\n"
"Vnútri XBoard-u, použite 'Edit -> Edit Position'\n"
"pre obecnú editáciu šachovnice.\n"
"Možno chcete aj použiť voľbu\n"
@@ -26207,7 +26215,7 @@ msgstr ""
"LyX sa pokúsi držaÅ¥ vektorové vlastnosti obrázku pre koneÄný výstup.\n"
"Všimnite si že existujú špecializované šablóny pre Xfig obrázky a Dia "
"diagramy.\n"
-"Špecializované šablóny dovoľujú automaticky použiť font dokumenta v\n"
+"Špecializované šablóny dovoľujú automaticky použiť font dokumentu v\n"
"obrázkoch, Äo nie je možné so vÅ¡eobecnou Å¡ablónou.\n"
#: lib/xtemplates/xfig.xtemplate:33
@@ -27017,7 +27025,7 @@ msgstr "Neznámy token: %1$s %2$s\n"
#: src/Buffer.cpp:1003 src/Buffer.cpp:1009 src/Buffer.cpp:1033
msgid "Document header error"
-msgstr "Chyba v hlaviÄke dokumenta"
+msgstr "Chyba v hlaviÄke dokumentu"
#: src/Buffer.cpp:1007
msgid "\\begin_header is missing"
@@ -27059,7 +27067,7 @@ msgstr "Nemôžem otvoriť súbor `%1$s'."
#: src/Buffer.cpp:1221 src/Buffer.cpp:1295
msgid "Document format failure"
-msgstr "Chybný formát dokumenta"
+msgstr "Chybný formát dokumentu"
#: src/Buffer.cpp:1221
#, c-format
@@ -27244,9 +27252,9 @@ msgid ""
"contexts.\n"
"Changing the document encoding to utf8 could help."
msgstr ""
-"Niektoré znaky vášho dokumenta sú nereprezentovateľné v niektorých "
+"Niektoré znaky vášho dokumentu sú nereprezentovateľné v niektorých "
"špecifických verbatim kontextoch.\n"
-"Pomôcť by mohla zmena kódovania dokumenta na utf8."
+"Pomôcť by mohla zmena kódovania dokumentu na utf8."
#: src/Buffer.cpp:1788
#, c-format
@@ -27259,9 +27267,9 @@ msgid ""
"chosen encoding.\n"
"Changing the document encoding to utf8 could help."
msgstr ""
-"Niektoré znaky vášho dokumenta sú pravdepodobne nereprezentovateľné vo "
+"Niektoré znaky vášho dokumentu sú pravdepodobne nereprezentovateľné vo "
"zvolenom kódovanÃ.\n"
-"Pomôcť by mohla zmena kódovania dokumenta na utf8."
+"Pomôcť by mohla zmena kódovania dokumentu na utf8."
#: src/Buffer.cpp:1799
msgid "iconv conversion failed"
@@ -27288,15 +27296,15 @@ msgid ""
"In case of problems, choose an appropriate document encoding\n"
"(such as utf8) or change the file path name."
msgstr ""
-"Cesta vášho dokumenta\n"
+"Cesta vášho dokumentu\n"
"(%1$s)\n"
"obsahuje glyfy neznáme v kódovanÃ\n"
-"aktuálneho dokumenta (menovite %2$s).\n"
+"aktuálneho dokumentu (menovite %2$s).\n"
"Na úplný výsledok zaistite aby TEXINPUTS obsahovala cestu ku adresáru "
-"dokumenta alebo použite relatÃvne cesty (Äiže cesty zaÄÃnajúce s './' alebo "
+"dokumentu alebo použite relatÃvne cesty (Äiže cesty zaÄÃnajúce s './' alebo "
"s '../') v preambule alebo v ERT. \n"
"\n"
-"V prÃpade problémov vyberte vhodné kódovanie dokumenta\n"
+"V prÃpade problémov vyberte vhodné kódovanie dokumentu\n"
"(ako napr. utf8) alebo zmeÅte meno cesty."
#: src/Buffer.cpp:2009
@@ -27356,7 +27364,7 @@ msgstr "Žiadne informácie pre export formátu: %1$s"
msgid "Error exporting to format: %1$s."
msgstr "Chyba pri exporte na formát: %1$s."
-#: src/Buffer.cpp:2831
+#: src/Buffer.cpp:2842
msgid "Error generating literate programming code."
msgstr "Chyba pri generovanà kódu dokumentaÄného programovania."
@@ -27443,7 +27451,7 @@ msgstr "Prostý text nemá preambulu."
#: src/Buffer.cpp:4305
msgid "Autosaving current document..."
-msgstr "Automatické ukladanie súÄasného dokumentaâ¦"
+msgstr "Automatické ukladanie súÄasného dokumentuâ¦"
#: src/Buffer.cpp:4419
#, c-format
@@ -27471,14 +27479,14 @@ msgid ""
"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 ""
-"Cesta do adresára dokumenta\n"
+"Cesta do adresára dokumentu\n"
"%1$s\n"
"obsahuje medzery, ale vaša inštalácia TeXu to nepovoľuje. Súbor by ste mali "
"uložiť do adresára ktorého meno neobsahuje medzery."
#: src/Buffer.cpp:4594 src/Buffer.cpp:4624 src/frontends/qt/GuiView.cpp:875
msgid "Document export cancelled."
-msgstr "Exportovanie dokumenta bolo zrušené."
+msgstr "Exportovanie dokumentu bolo zrušené."
#: src/Buffer.cpp:4616
#, c-format
@@ -27497,7 +27505,7 @@ msgid ""
"\n"
"Recover emergency save?"
msgstr ""
-"Existuje havarijná kópia dokumenta %1$s.\n"
+"Existuje havarijná kópia dokumentu %1$s.\n"
"\n"
"ZÃskaÅ¥ havarijnú kópiu späť?"
@@ -27524,7 +27532,7 @@ msgid ""
"marked read-only. Please make sure to save the document as a different file."
msgstr ""
"Havarijný súbor úspeÅ¡ne naÄÃtaný, ale originálny súbor %1$s je oznaÄený len "
-"na ÄÃtanie. Zaistite prosÃm uloženie dokumenta ako iný súbor."
+"na ÄÃtanie. Zaistite prosÃm uloženie dokumentu ako iný súbor."
#: src/Buffer.cpp:4714
msgid "Document was successfully recovered."
@@ -27597,7 +27605,7 @@ msgid ""
"\n"
"Load the backup instead?"
msgstr ""
-"Záloha dokumenta %1$s je novšia.\n"
+"Záloha dokumentu %1$s je novšia.\n"
"\n"
"Nahrať radšej zálohu ?"
@@ -27620,7 +27628,7 @@ msgid ""
"read-only. Please make sure to save the document as a different file."
msgstr ""
"Zálohový súbor úspeÅ¡ne naÄÃtaný, ale originálny súbor %1$s je oznaÄený len "
-"na ÄÃtanie. Zaistite prosÃm uloženie dokumenta ako iný súbor."
+"na ÄÃtanie. Zaistite prosÃm uloženie dokumentu ako iný súbor."
#: src/Buffer.cpp:5195 src/insets/InsetCaption.cpp:408
msgid "Senseless!!! "
@@ -27729,7 +27737,7 @@ msgid ""
"See section 3.1.2.2 (Class Availability) of the\n"
"User's Guide for more information."
msgstr ""
-"Vybraná trieda dokumenta\n"
+"Vybraná trieda dokumentu\n"
"\t%1$s\n"
"požaduje nedostupné externé súbory.\n"
"Dokumentová trieda sa stále dá použÃvaÅ¥, ale LyX\n"
@@ -27741,7 +27749,7 @@ msgstr ""
#: src/BufferParams.cpp:793
msgid "Document class not available"
-msgstr "Nedostupná trieda dokumenta"
+msgstr "Nedostupná trieda dokumentu"
#: src/BufferParams.cpp:1059 src/Color.cpp:281
#: src/frontends/qt/GuiDocument.cpp:3527
@@ -27769,7 +27777,7 @@ msgstr "Nekódovateľný znak"
#: src/BufferParams.cpp:1732
msgid "Uncodable character in document metadata"
-msgstr "Nekódovateľný znak v metaúdajoch dokumenta"
+msgstr "Nekódovateľný znak v metaúdajoch dokumentu"
#: src/BufferParams.cpp:1734
#, c-format
@@ -27782,12 +27790,12 @@ msgid ""
"Please select an appropriate document encoding\n"
"(such as utf8) or change the preamble code accordingly."
msgstr ""
-"Metaúdaje vášho dokumenta obsahuje glyfy, ktoré sú neznáme v kódovanà "
-"aktuálneho dokumenta (menovite %1$s).\n"
+"Metaúdaje vášho dokumentu obsahuje glyfy, ktoré sú neznáme v kódovanà "
+"aktuálneho dokumentu (menovite %1$s).\n"
"Tieto glyfy budú pri exporte do LaTeX-u vynechané, Äo môže konÄiÅ¥ neúplnom "
"výstupe.\n"
"\n"
-"Vyberte vhodné kódovanie dokumenta (napr. utf8)\n"
+"Vyberte vhodné kódovanie dokumentu (napr. utf8)\n"
"alebo zmeÅte primerane preambulu."
#: src/BufferParams.cpp:1775
@@ -27805,11 +27813,11 @@ msgid ""
"Please select an appropriate document encoding\n"
"(such as utf8) or change the class options accordingly."
msgstr ""
-"Voľby triedy vášho dokumenta obsahujú glyfy, ktoré sú neznáme v kódovanà "
-"aktuálneho dokumenta (menovite %1$s).\n"
+"Voľby triedy vášho dokumentu obsahujú glyfy, ktoré sú neznáme v kódovanà "
+"aktuálneho dokumentu (menovite %1$s).\n"
"Tieto glyfy budú vo výstupe vynechané, Äo môže konÄiÅ¥ v neúplnom výstupe.\n"
"\n"
-"Vyberte vhodné kódovanie dokumenta (napr. utf8)\n"
+"Vyberte vhodné kódovanie dokumentu (napr. utf8)\n"
"alebo zmeÅte primerane triedne voľby."
#: src/BufferParams.cpp:2217
@@ -27827,12 +27835,12 @@ msgid ""
"Please select an appropriate document encoding\n"
"(such as utf8) or change the preamble code accordingly."
msgstr ""
-"Preambula vášho dokumenta obsahuje glyfy, ktoré sú neznáme v kódovanà "
-"aktuálneho dokumenta (menovite %1$s).\n"
+"Preambula vášho dokumentu obsahuje glyfy, ktoré sú neznáme v kódovanà "
+"aktuálneho dokumentu (menovite %1$s).\n"
"Tieto glyfy budú pri exporte do LaTeX-u vynechané, Äo môže konÄiÅ¥ neúplnom "
"výstupe.\n"
"\n"
-"Vyberte vhodné kódovanie dokumenta (napr. utf8)\n"
+"Vyberte vhodné kódovanie dokumentu (napr. utf8)\n"
"alebo zmeÅte primerane preambulu."
#: src/BufferParams.cpp:2534
@@ -27852,7 +27860,7 @@ msgstr ""
#: src/BufferParams.cpp:2652
msgid "Document class not found"
-msgstr "Nenájdená trieda dokumenta"
+msgstr "Nenájdená trieda dokumentu"
#: src/BufferParams.cpp:2547
#, c-format
@@ -27893,7 +27901,7 @@ msgid ""
"references will be generated.\n"
"Please fix your installation!"
msgstr ""
-"Žiadaný procesor pre bibliografiu tohto dokumenta (%1$s) je nedostupný a "
+"Žiadaný procesor pre bibliografiu tohto dokumentu (%1$s) je nedostupný a "
"alternatÃva sa nenaÅ¡la. Bibliografia a referencie nebudú generované.\n"
"Opravte prosÃm vaÅ¡u inÅ¡taláciu!"
@@ -27910,7 +27918,7 @@ msgid ""
"carefully!\n"
"It is suggested to install the missing processor."
msgstr ""
-"Žiadaný procesor pre bibliografiu tohto dokumenta (%1$s) je nedostupný. Ako "
+"Žiadaný procesor pre bibliografiu tohto dokumentu (%1$s) je nedostupný. Ako "
"náhrada sa bude použÃvaÅ¥ '%2$s' bez volieb. To môže viesÅ¥ k chybám alebo "
"nežiadúcim zmenám v bibliografie. Pozorne skontrolujte!\n"
"Navrhuje sa inÅ¡talovaÅ¥ neprÃtomný procesor."
@@ -27937,7 +27945,7 @@ msgstr "Dokument bol externe upravený"
#: src/BufferView.cpp:1148
msgid "This portion of the document is deleted."
-msgstr "Táto ÄasÅ¥ dokumenta je vymazaná."
+msgstr "Táto ÄasÅ¥ dokumentu je vymazaná."
#: src/BufferView.cpp:1153 src/BufferView.cpp:2212
#: src/frontends/qt/GuiView.cpp:4104 src/frontends/qt/GuiView.cpp:4192
@@ -27947,7 +27955,7 @@ msgstr "OÄakáva sa absolútna cesta súboru."
#: src/BufferView.cpp:1422 src/BufferView.cpp:1454
#, c-format
msgid "The document class `%1$s' could not be loaded."
-msgstr "Nepodarilo sa nahrať triedu dokumenta `%1$s'."
+msgstr "Nepodarilo sa nahrať triedu dokumentu `%1$s'."
#: src/BufferView.cpp:1441
msgid "No further undo information"
@@ -28118,7 +28126,7 @@ msgstr ""
"ktoré sa v aktuálnom kódovanà %2$s nedajú reprezentovať.\n"
"PrÃsluÅ¡né glyfy budú pri exporte do LaTeX-u vynechané.\n"
"\n"
-"Vyberte vhodné kódovanie dokumenta (napr. utf8)\n"
+"Vyberte vhodné kódovanie dokumentu (napr. utf8)\n"
"alebo zmeÅte pÃsanie iniciál autora."
#: src/Changes.cpp:405
@@ -28141,7 +28149,7 @@ msgstr ""
"ktoré sa v aktuálnom kódovanà %2$s nedajú reprezentovať.\n"
"PrÃsluÅ¡né glyfy budú pri exporte do LaTeX-u vynechané.\n"
"\n"
-"Vyberte vhodné kódovanie dokumenta (napr. utf8)\n"
+"Vyberte vhodné kódovanie dokumentu (napr. utf8)\n"
"alebo zmeÅte pÃsanie mena autora."
#: src/Chktex.cpp:65
@@ -28634,7 +28642,7 @@ msgid ""
"them only if you trust the origin/sender of the LyX document!</b></p>"
msgstr ""
"<p>Chcete aby LaTeX backendy umožÅovali spúšťaÅ¥ externé prÃkazy?</"
-"p><p><b>Povoľte len keÄ dôverujete pôvodu/odosielateľovi tohto LyX dokumenta!"
+"p><p><b>Povoľte len keÄ dôverujete pôvodu/odosielateľovi tohto LyX dokumentu!"
"</b></p> "
#: src/Converter.cpp:369
@@ -28643,7 +28651,7 @@ msgid ""
"origin/sender of the LyX document!</b></p>"
msgstr ""
"<p>Chcete tento konvertor spustiÅ¥?</p><p><b>Spustite len keÄ dôverujete "
-"pôvodu/odosielateľovi tohto LyX dokumenta!</b></p> "
+"pôvodu/odosielateľovi tohto LyX dokumentu!</b></p> "
#: src/Converter.cpp:367
msgid "Do ¬ allow"
@@ -28882,7 +28890,7 @@ msgid ""
"Do you want to add it to the document's branch list?"
msgstr ""
"Vlepená vetva %1$s nie je definovaná.\n"
-"Chcete ju uložiť do zoznamu vetiev tohto dokumenta?"
+"Chcete ju uložiť do zoznamu vetiev tohto dokumentu?"
#: src/CutAndPaste.cpp:440
msgid "Unknown branch"
@@ -29546,7 +29554,7 @@ msgid ""
"Specify an alternate language. The default is to use the language of the "
"document."
msgstr ""
-"Nastavenie alternatÃvneho jazyka. Implicitne sa použije jazyk dokumenta."
+"Nastavenie alternatÃvneho jazyka. Implicitne sa použije jazyk dokumentu."
#: src/LyXRC.cpp:3046
msgid ""
@@ -29641,7 +29649,7 @@ msgid ""
"document. Set to true if you prefer to scroll the bottom of the document to "
"the top of the screen"
msgstr ""
-"LyX normálne nepovoľuje skrolovať pod koniec dokumenta. Nastavte túto voľbu, "
+"LyX normálne nepovoľuje skrolovať pod koniec dokumentu. Nastavte túto voľbu, "
"ak preferujete skrolovať koniec až na vrchol obrazovky"
#: src/LyXRC.cpp:3111
@@ -29750,12 +29758,12 @@ msgstr ""
msgid ""
"Select if a language switching command is needed at the beginning of the "
"document."
-msgstr "Vyberte, ak je prÃkaz pre zmenu jazyku potrebný na zaÄiatku dokumenta."
+msgstr "Vyberte, ak je prÃkaz pre zmenu jazyku potrebný na zaÄiatku dokumentu."
#: src/LyXRC.cpp:3259
msgid ""
"Select if a language switching command is needed at the end of the document."
-msgstr "Vyberte, ak je prÃkaz pre zmenu jazyku potrebný na konci dokumenta."
+msgstr "Vyberte, ak je prÃkaz pre zmenu jazyku potrebný na konci dokumentu."
#: src/LyXRC.cpp:3263
msgid ""
@@ -29763,12 +29771,12 @@ msgid ""
"language. E.g. \\selectlanguage{$$lang} where $$lang is substituted by the "
"name of the second language."
msgstr ""
-"LaTeX prÃkaz pre zmenu z jazyka dokumenta do iného jazyka. Napr. "
+"LaTeX prÃkaz pre zmenu z jazyka dokumentu do iného jazyka. Napr. "
"\\selectlanguage{$$lang}, kde $$lang je nahradené názvom druhého jazyka."
#: src/LyXRC.cpp:3267
msgid "The LaTeX command for changing back to the language of the document."
-msgstr "LaTeX-ov prÃkaz pre návrat k pôvodnému jazyku dokumenta."
+msgstr "LaTeX-ov prÃkaz pre návrat k pôvodnému jazyku dokumentu."
#: src/LyXRC.cpp:3199
msgid "The LaTeX command for local changing of the language."
@@ -29794,7 +29802,7 @@ msgid ""
"De-select if you don't want babel to be used when the language of the "
"document is the default language."
msgstr ""
-"Zrušte výber ak nechcete použiť babel, ak jazyk dokumenta je prednastavený "
+"Zrušte výber ak nechcete použiť babel, ak jazyk dokumentu je prednastavený "
"jazyk."
#: src/LyXRC.cpp:3215
@@ -29814,7 +29822,7 @@ msgid ""
"Select to control the highlighting of words with a language foreign to that "
"of the document."
msgstr ""
-"Vyberte pre kontrolu vyzdvihnutia slov ktoré nie sú v jazyku dokumenta."
+"Vyberte pre kontrolu vyzdvihnutia slov ktoré nie sú v jazyku dokumentu."
#: src/LyXRC.cpp:3235
msgid "The scrolling speed of the mouse wheel."
@@ -29914,7 +29922,7 @@ msgid ""
"the document (yes), hide it (no), or ask the user (ask)."
msgstr ""
"Definuje Äo by sa malo robiÅ¥ pri zavieranà posledného náhľadu otvoreného "
-"dokumenta. LyX by mal zavrieÅ¥ dokument(yes), skryÅ¥ ho(no), alebo pýtaÅ¥ sa Äo "
+"dokumentu. LyX by mal zavrieÅ¥ dokument(yes), skryÅ¥ ho(no), alebo pýtaÅ¥ sa Äo "
"zrobiť(ask)."
#: src/LyXRC.cpp:3322
@@ -29997,7 +30005,7 @@ msgid ""
msgstr ""
"UrÄite adresári, ktoré by mali byÅ¥ pridané do premennej TEXINPUTS pred "
"ostatnými adresármi.\n"
-"'.' reprezentuje aktuálny adresár dokumenta. Použite miestny formát pre daný "
+"'.' reprezentuje aktuálny adresár dokumentu. Použite miestny formát pre daný "
"operaÄný systém."
#: src/LyXRC.cpp:3390
@@ -30082,14 +30090,14 @@ msgid ""
"\n"
"Do you want to revert to the older version?"
msgstr ""
-"Návrat k uloženej verzii dokumenta %1$s znamená stratu vÅ¡etkých súÄasných "
+"Návrat k uloženej verzii dokumentu %1$s znamená stratu vÅ¡etkých súÄasných "
"zmien.\n"
"\n"
"Chcete prejsť späť k staršej uloženej verzii ?"
#: src/LyXVC.cpp:309
msgid "Revert to stored version of document?"
-msgstr "Vrátiť sa k uloženej verzii dokumenta?"
+msgstr "Vrátiť sa k uloženej verzii dokumentu?"
#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4241
msgid "&Revert"
@@ -30749,7 +30757,7 @@ msgid ""
"%1$s\n"
"could not be read."
msgstr ""
-"Požadovaná šablóna dokumenta\n"
+"Požadovaná šablóna dokumentu\n"
"%1$s\n"
"sa nedá ÄÃtaÅ¥."
@@ -30887,7 +30895,7 @@ msgstr "Triedny štandard"
#: src/frontends/qt/FloatPlacement.cpp:184
msgid "Document Default"
-msgstr "Štandardné nastavenia dokumenta"
+msgstr "Štandardné nastavenia dokumentu"
#: src/frontends/qt/FloatPlacement.h:38 src/frontends/qt/GuiDocument.cpp:1775
msgid "Float Settings"
@@ -31146,11 +31154,11 @@ msgstr "\"%1$s\" uplatnené pre %2$d dokument(y)"
#: src/frontends/qt/GuiApplication.cpp:2230
#, c-format
msgid "Document defaults saved in %1$s"
-msgstr "Štandardy dokumenta uložené v %1$s"
+msgstr "Štandardy dokumentu uložené v %1$s"
#: src/frontends/qt/GuiApplication.cpp:2234
msgid "Unable to save document defaults"
-msgstr "Nedajú sa uložiÅ¥ Å¡tandardné definÃcie dokumenta"
+msgstr "Nedajú sa uložiÅ¥ Å¡tandardné definÃcie dokumentu"
#: src/frontends/qt/GuiApplication.cpp:2417
#: src/frontends/qt/GuiApplication.cpp:2432
@@ -31273,9 +31281,9 @@ msgstr ""
"texmf-strome. Na tomto mieste by mala ležaÅ¥ aj vaÅ¡a vlastná databáza keÄ ju "
"chcete použiť. "
-#: src/frontends/qt/GuiBibtex.cpp:136 src/frontends/qt/GuiBibtex.cpp:303
+#: src/frontends/qt/GuiBibtex.cpp:139 src/frontends/qt/GuiBibtex.cpp:350
msgid "Document Encoding"
-msgstr "Kódovanie dokumenta"
+msgstr "Kódovanie dokumentu"
#: src/frontends/qt/GuiBibtex.cpp:274
msgid "Database"
@@ -31835,7 +31843,7 @@ msgstr "Použiť kódovanie ako pôvodne špecificky odkázané jazykom."
#: src/frontends/qt/GuiDocument.cpp:1003
msgid "Select a custom, document-wide encoding."
-msgstr "Vyberte vlastné kódovanie tohto dokumenta."
+msgstr "Vyberte vlastné kódovanie tohto dokumentu."
#: src/frontends/qt/GuiDocument.cpp:1002
msgid "Standard Unicode support by the ``inputenc'' package."
@@ -32108,7 +32116,7 @@ msgstr ""
#: src/frontends/qt/GuiDocument.cpp:1773
msgid "Document Class"
-msgstr "Trieda dokumenta"
+msgstr "Trieda dokumentu"
#: src/frontends/qt/GuiDocument.cpp:1762
msgid "Local Layout"
@@ -32230,7 +32238,7 @@ msgstr ""
"Súbor schémy, ktorý ste zvolili je lokálnym\n"
"súborom, a nie je ani v systémovom ani v užÃvateľskom adresáre.\n"
"Váš dokument bude mať problémy kým súbor schémy\n"
-"nedržÃte v adresáre dokumenta."
+"nedržÃte v adresáre dokumentu."
#: src/frontends/qt/GuiDocument.cpp:2834
msgid "&Set Layout"
@@ -32314,7 +32322,7 @@ msgstr "%1$s (nedostupný)"
#: src/frontends/qt/GuiDocument.cpp:3276
msgid "Module provided by document class."
-msgstr "Modul poskytnutý triedou dokumenta."
+msgstr "Modul poskytnutý triedou dokumentu."
#: src/frontends/qt/GuiDocument.cpp:3269
#, c-format
@@ -32414,8 +32422,8 @@ msgid ""
"'%1$s' in order to use the master document\n"
"feature."
msgstr ""
-"MusÃte zahrnúť tento súbor do dokumenta\n"
-"'%1$s' keÄ chcete použÃvaÅ¥ vlastnosti hlavného dokumenta."
+"MusÃte zahrnúť tento súbor do dokumentu\n"
+"'%1$s' keÄ chcete použÃvaÅ¥ vlastnosti hlavného dokumentu."
#: src/frontends/qt/GuiDocument.cpp:5009
msgid "Could not load master"
@@ -32757,7 +32765,7 @@ msgstr "Äas (Pevný)"
#: src/frontends/qt/GuiInfo.cpp:76
msgid "Document Information"
-msgstr "Informácie dokumenta"
+msgstr "Informácie dokumentu"
#: src/frontends/qt/GuiInfo.cpp:77
msgid "Version Control Information"
@@ -33416,7 +33424,7 @@ msgstr "Oxygen"
#: src/frontends/qt/GuiPrefs.cpp:2682
msgid "Document Handling"
-msgstr "Ovládanie dokumenta"
+msgstr "Ovládanie dokumentu"
#: src/frontends/qt/GuiPrefs.cpp:2740
msgid "Control"
@@ -33629,7 +33637,7 @@ msgstr "Kontrola pravopisu vo výbere skonÄila, nenaÅ¡li sa žiadne chyby."
msgid ""
"We reached the end of the document, would you like to continue from the "
"beginning?"
-msgstr "DoÅ¡li sme na koniec dokumenta, chcete pokraÄovaÅ¥ od zaÄiatku?"
+msgstr "DoÅ¡li sme na koniec dokumentu, chcete pokraÄovaÅ¥ od zaÄiatku?"
#: src/frontends/qt/GuiSpellchecker.cpp:560
msgid "Spell checker has no dictionaries."
@@ -34269,7 +34277,7 @@ msgid ""
"Do you want to create it?"
msgstr ""
"Navrhuje sa uložiť šablónu do pod-adresára\n"
-"vhodné pre jazyk dokumenta (%1$s).\n"
+"vhodné pre jazyk dokumentu (%1$s).\n"
"Tento pod-adresár ešte neexistuje.\n"
"Chcete ho vytvoriť?"
@@ -34406,7 +34414,7 @@ msgid ""
"To remove this question, set your preference in:\n"
" Tools->Preferences->Look&Feel->UserInterface\n"
msgstr ""
-"Posledný náhľad dokumenta %1$s sa zaviera.\n"
+"Posledný náhľad dokumentu %1$s sa zaviera.\n"
"Chcete ho zavrieť alebo len skryť?\n"
"\n"
"Skryté dokumenty možno zase vidieť cez\n"
@@ -34550,7 +34558,7 @@ msgstr "Chyba pri exporte"
#: src/frontends/qt/GuiView.cpp:4088
msgid "Error cloning the Buffer."
-msgstr "Chyba pri klonovanà pamäte dokumenta."
+msgstr "Chyba pri klonovanà pamäte dokumentu."
#: src/frontends/qt/GuiView.cpp:4044 src/frontends/qt/GuiView.cpp:4064
msgid "Exporting ..."
@@ -34579,7 +34587,7 @@ msgid ""
"on disk of the document %1$s?"
msgstr ""
"Bude to strata aktuálnej verzie. Naozaj sa chcete vrátiť ku uloženej verzii "
-"dokumenta %1$s?"
+"dokumentu %1$s?"
#: src/frontends/qt/GuiView.cpp:4431
#, c-format
@@ -34588,7 +34596,7 @@ msgid ""
"version of the document %1$s?"
msgstr ""
"Všetky zmeny sa stratia. Naozaj sa chcete vrátiť ku pôvodnej verzii "
-"dokumenta %1$s ?"
+"dokumentu %1$s ?"
#: src/frontends/qt/GuiView.cpp:4239
msgid "Revert to saved document?"
@@ -34791,7 +34799,7 @@ msgstr "(Niet vlastných definovaných vložiek)"
#: src/frontends/qt/Menus.cpp:1355
msgid "(No Document Open)"
-msgstr "(Bez otvoreného dokumenta)"
+msgstr "(Bez otvoreného dokumentu)"
#: src/frontends/qt/Menus.cpp:1348
msgid "Master Document"
@@ -34915,7 +34923,7 @@ msgstr "nemenné"
#: src/frontends/qt/Menus.cpp:1965
#, c-format
msgid "Reset to document default (%1$s, %2$s)|o"
-msgstr "Nastaviť na štandard dokumenta (%1$s, %2$s)|o"
+msgstr "Nastaviť na štandard dokumentu (%1$s, %2$s)|o"
#: src/frontends/qt/Menus.cpp:1913
#, c-format
@@ -36654,11 +36662,11 @@ msgstr ""
#: src/lyxfind.cpp:364
msgid "Search reached end of document, continuing from beginning."
-msgstr "Hľadanie doÅ¡lo na koniec dokumenta, pokraÄuje od zaÄiatku."
+msgstr "Hľadanie doÅ¡lo na koniec dokumentu, pokraÄuje od zaÄiatku."
#: src/lyxfind.cpp:365
msgid "Search reached beginning of document, continuing from end."
-msgstr "Hľadanie doÅ¡lo na zaÄiatok dokumenta, pokraÄuje od konca."
+msgstr "Hľadanie doÅ¡lo na zaÄiatok dokumentu, pokraÄuje od konca."
#: src/lyxfind.cpp:657
msgid "String not found in selection."
@@ -37190,7 +37198,7 @@ msgstr ""
#: src/support/lassert.cpp:84
msgid "Buffer Error!"
-msgstr "Chyba v pamäti dokumenta!"
+msgstr "Chyba v pamäti dokumentu!"
#: src/support/lassert.cpp:91
msgid ""
commit ac0cd0e6605b6b80bfea66e710ce55579ac51bcb
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Feb 19 14:32:04 2022 +0100
de.po
diff --git a/po/de.po b/po/de.po
index 010afda..43362d9 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: 2022-02-17 08:23+0100\n"
-"PO-Revision-Date: 2022-02-17 08:53+0100\n"
+"POT-Creation-Date: 2022-02-19 14:24+0100\n"
+"PO-Revision-Date: 2022-02-19 14:31+0100\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"
@@ -395,54 +395,62 @@ msgid "Add &Local..."
msgstr "Lokale &hinzufügen..."
#: src/frontends/qt/ui/BibtexUi.ui:91
+msgid "Inherit bibliography databases from the master document"
+msgstr "Datenbanken aus dem Hauptdokument übernehmen"
+
+#: src/frontends/qt/ui/BibtexUi.ui:94
+msgid "&Inherit from Master"
+msgstr "Vom Hau&ptdokument"
+
+#: src/frontends/qt/ui/BibtexUi.ui:101
msgid "Remove the selected database"
msgstr "Die ausgewählte Datenbank entfernen"
-#: src/frontends/qt/ui/BibtexUi.ui:94 src/frontends/qt/ui/CitationUi.ui:159
+#: src/frontends/qt/ui/BibtexUi.ui:104 src/frontends/qt/ui/CitationUi.ui:159
msgid "&Delete"
msgstr "&Löschen"
-#: src/frontends/qt/ui/BibtexUi.ui:107
+#: src/frontends/qt/ui/BibtexUi.ui:117
msgid "Move the selected database up (Ctrl-Up)"
msgstr "Ausgewählte Datenbank nach oben verschieben (Strg+Hoch)"
-#: src/frontends/qt/ui/BibtexUi.ui:110 src/frontends/qt/ui/CitationUi.ui:191
+#: src/frontends/qt/ui/BibtexUi.ui:120 src/frontends/qt/ui/CitationUi.ui:191
#: src/frontends/qt/ui/ModulesUi.ui:140
msgid "&Up"
msgstr "Rau&f"
-#: src/frontends/qt/ui/BibtexUi.ui:130
+#: src/frontends/qt/ui/BibtexUi.ui:140
msgid "Move the selected database down (Ctrl-Down)"
msgstr "Ausgewählte Datenbank nach unten verschieben (Strg+Runter)"
-#: src/frontends/qt/ui/BibtexUi.ui:133 src/frontends/qt/ui/CitationUi.ui:214
+#: src/frontends/qt/ui/BibtexUi.ui:143 src/frontends/qt/ui/CitationUi.ui:214
#: src/frontends/qt/ui/ModulesUi.ui:147
msgid "Do&wn"
msgstr "Run&ter"
-#: src/frontends/qt/ui/BibtexUi.ui:160
+#: src/frontends/qt/ui/BibtexUi.ui:170
msgid "Edit selected database externally"
msgstr "Ausgewählte Datenbanken extern bearbeiten"
-#: src/frontends/qt/ui/BibtexUi.ui:163
+#: src/frontends/qt/ui/BibtexUi.ui:173
msgid "&Edit..."
msgstr "&Bearbeiten..."
-#: src/frontends/qt/ui/BibtexUi.ui:191
+#: src/frontends/qt/ui/BibtexUi.ui:201
msgid "Sele&cted:"
msgstr "Ausg&ewählt:"
-#: src/frontends/qt/ui/BibtexUi.ui:208 src/frontends/qt/ui/CitationUi.ui:27
+#: src/frontends/qt/ui/BibtexUi.ui:218 src/frontends/qt/ui/CitationUi.ui:27
#: src/frontends/qt/ui/ModulesUi.ui:76 src/frontends/qt/ui/RefUi.ui:39
#: src/frontends/qt/ui/TocUi.ui:345
msgid "&Filter:"
msgstr "&Filter:"
-#: src/frontends/qt/ui/BibtexUi.ui:238 src/frontends/qt/GuiBibtex.cpp:288
+#: src/frontends/qt/ui/BibtexUi.ui:248 src/frontends/qt/GuiBibtex.cpp:335
msgid "E&ncoding:"
msgstr "&Kodierung:"
-#: src/frontends/qt/ui/BibtexUi.ui:248 src/frontends/qt/GuiBibtex.cpp:289
+#: src/frontends/qt/ui/BibtexUi.ui:258 src/frontends/qt/GuiBibtex.cpp:336
msgid ""
"If your bibliography databases use a different encoding than the LyX "
"document, specify it here"
@@ -450,27 +458,27 @@ msgstr ""
"Falls Ihre Literatur-Datenbanken eine andere Kodierung verwenden als das LyX-"
"Dokument, geben Sie diese hier an."
-#: src/frontends/qt/ui/BibtexUi.ui:260
+#: src/frontends/qt/ui/BibtexUi.ui:270
msgid "The BibTeX style"
msgstr "Der BibTeX-Stil"
-#: src/frontends/qt/ui/BibtexUi.ui:263
+#: src/frontends/qt/ui/BibtexUi.ui:273
msgid "St&yle"
msgstr "&Stil"
-#: src/frontends/qt/ui/BibtexUi.ui:275
+#: src/frontends/qt/ui/BibtexUi.ui:285
msgid "Choose a style file"
msgstr "Wählen Sie eine Stildatei"
-#: src/frontends/qt/ui/BibtexUi.ui:288
+#: src/frontends/qt/ui/BibtexUi.ui:298
msgid "Select a style file from your local directory"
msgstr "Wählt einen Stil aus einem lokalen Ordner"
-#: src/frontends/qt/ui/BibtexUi.ui:291
+#: src/frontends/qt/ui/BibtexUi.ui:301
msgid "Add L&ocal..."
msgstr "L&okalen hinzufügen..."
-#: src/frontends/qt/ui/BibtexUi.ui:304 lib/layouts/beamer.layout:520
+#: src/frontends/qt/ui/BibtexUi.ui:314 lib/layouts/beamer.layout:520
#: lib/layouts/beamer.layout:549 lib/layouts/beamer.layout:560
#: lib/layouts/beamer.layout:588 lib/layouts/beamer.layout:691
#: lib/layouts/chessboard.module:31 lib/layouts/chessboard.module:61
@@ -483,42 +491,42 @@ msgstr "L&okalen hinzufügen..."
msgid "Options"
msgstr "Optionen"
-#: src/frontends/qt/ui/BibtexUi.ui:321 src/frontends/qt/ui/BibtexUi.ui:334
+#: src/frontends/qt/ui/BibtexUi.ui:331 src/frontends/qt/ui/BibtexUi.ui:344
msgid "This bibliography section contains..."
msgstr "Dieser Abschnitt des Literaturverzeichnisses enthält..."
-#: src/frontends/qt/ui/BibtexUi.ui:324
+#: src/frontends/qt/ui/BibtexUi.ui:334
msgid "&Content:"
msgstr "&Inhalt:"
-#: src/frontends/qt/ui/BibtexUi.ui:338 src/frontends/qt/GuiBibtex.cpp:355
+#: src/frontends/qt/ui/BibtexUi.ui:348 src/frontends/qt/GuiBibtex.cpp:404
#: src/insets/InsetBibtex.cpp:218 src/insets/InsetBibtex.cpp:236
msgid "all cited references"
msgstr "alle zitierten Literatureinträge"
-#: src/frontends/qt/ui/BibtexUi.ui:343 src/frontends/qt/GuiBibtex.cpp:357
+#: src/frontends/qt/ui/BibtexUi.ui:353 src/frontends/qt/GuiBibtex.cpp:406
#: src/insets/InsetBibtex.cpp:216
msgid "all uncited references"
msgstr "alle nicht zitierten Literatureinträge"
-#: src/frontends/qt/ui/BibtexUi.ui:348 src/frontends/qt/GuiBibtex.cpp:358
+#: src/frontends/qt/ui/BibtexUi.ui:358 src/frontends/qt/GuiBibtex.cpp:407
#: src/insets/InsetBibtex.cpp:214 src/insets/InsetBibtex.cpp:234
msgid "all references"
msgstr "alle Literatureinträge"
-#: src/frontends/qt/ui/BibtexUi.ui:356
+#: src/frontends/qt/ui/BibtexUi.ui:366
msgid "Add bibliography to the table of contents"
msgstr "Literaturverzeichnis im Inhaltsverzeichnis aufführen"
-#: src/frontends/qt/ui/BibtexUi.ui:359
+#: src/frontends/qt/ui/BibtexUi.ui:369
msgid "Add bibliography to &TOC"
msgstr "Literatur&verzeichnis ins Inhaltsverzeichnis"
-#: src/frontends/qt/ui/BibtexUi.ui:383
+#: src/frontends/qt/ui/BibtexUi.ui:393
msgid "Custo&m:"
msgstr "Benut&zerdefiniert:"
-#: src/frontends/qt/ui/BibtexUi.ui:393
+#: src/frontends/qt/ui/BibtexUi.ui:403
msgid ""
"Options to the biblatex bibliography command. See the biblatex manual for "
"details."
@@ -526,11 +534,11 @@ msgstr ""
"Optionen des Biblatex-Bibliographiebefehls. Konsultieren Sie das Biblatex-"
"Handbuch für Einzelheiten."
-#: src/frontends/qt/ui/BibtexUi.ui:422
+#: src/frontends/qt/ui/BibtexUi.ui:432
msgid "Scan for new databases and styles"
msgstr "Ãberprüfe auf neue Datenbanken und Stildateien"
-#: src/frontends/qt/ui/BibtexUi.ui:425 src/frontends/qt/ui/TexinfoUi.ui:144
+#: src/frontends/qt/ui/BibtexUi.ui:435 src/frontends/qt/ui/TexinfoUi.ui:144
msgid "&Rescan"
msgstr "&Auffrischen"
@@ -27220,16 +27228,16 @@ msgstr "Einfaches Gitter"
msgid "%1$s[[name]] (%2$s[[email]])"
msgstr "%1$s[[Name]] (%2$s[[Email]])"
-#: src/BiblioInfo.cpp:871 src/BiblioInfo.cpp:921 src/BiblioInfo.cpp:932
-#: src/BiblioInfo.cpp:987 src/BiblioInfo.cpp:991
+#: src/BiblioInfo.cpp:877 src/BiblioInfo.cpp:927 src/BiblioInfo.cpp:938
+#: src/BiblioInfo.cpp:993 src/BiblioInfo.cpp:997
msgid "ERROR!"
msgstr "FEHLER!"
-#: src/BiblioInfo.cpp:1395
+#: src/BiblioInfo.cpp:1401
msgid "No year"
msgstr "Kein Jahr"
-#: src/BiblioInfo.cpp:1405
+#: src/BiblioInfo.cpp:1411
msgid "Bibliography entry not found!"
msgstr "Literaturverzeichnis-Eintrag nicht gefunden!"
@@ -29455,32 +29463,32 @@ msgstr "Indexprozessor-Fehler"
#: src/LaTeX.cpp:439
msgid ""
"The index processor did not run successfully. Please check the output of "
-"View > Messages!"
+"View > Messages Pane!"
msgstr ""
"Der Durchlauf des Index-Prozessors war nicht erfolgreich. Bitte prüfen Sie "
"die Ausgabe von Ansicht > Statusmeldungen!"
-#: src/LaTeX.cpp:598
+#: src/LaTeX.cpp:599
msgid "Running Nomenclature Processor."
msgstr "Nomenklatur-Prozessor wird ausgeführt."
-#: src/LaTeX.cpp:1102
+#: src/LaTeX.cpp:1103
msgid "(NOTE: The erroneous command is in the preamble)"
msgstr "(ACHTUNG: Der fehlerhafte Befehl befindet sich in der Präambel)"
-#: src/LaTeX.cpp:1594 src/LaTeX.cpp:1600 src/LaTeX.cpp:1609
+#: src/LaTeX.cpp:1595 src/LaTeX.cpp:1601 src/LaTeX.cpp:1610
msgid "BibTeX error: "
msgstr "BibTeX-Fehler: "
-#: src/LaTeX.cpp:1616
+#: src/LaTeX.cpp:1617
msgid "Biber error: "
msgstr "Biber-Fehler: "
-#: src/LaTeX.cpp:1643
+#: src/LaTeX.cpp:1644
msgid "Makeindex error: "
msgstr "Makeindex-Fehler: "
-#: src/LaTeX.cpp:1652
+#: src/LaTeX.cpp:1653
msgid "Xindy error: "
msgstr "Xindy-Fehler: "
@@ -31640,15 +31648,15 @@ msgstr ""
msgid "Bibliography Item Settings"
msgstr "Literatureintrag-Einstellungen"
-#: src/frontends/qt/GuiBibtex.cpp:57 src/frontends/qt/GuiBibtex.cpp:344
+#: src/frontends/qt/GuiBibtex.cpp:58 src/frontends/qt/GuiBibtex.cpp:391
msgid "BibTeX Bibliography"
msgstr "BibTeX-Literaturverzeichnis"
-#: src/frontends/qt/GuiBibtex.cpp:68
+#: src/frontends/qt/GuiBibtex.cpp:69
msgid "All avail. databases"
msgstr "Alle verf. Datenbanken"
-#: src/frontends/qt/GuiBibtex.cpp:116
+#: src/frontends/qt/GuiBibtex.cpp:119
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/ "
@@ -31661,23 +31669,23 @@ msgstr ""
"Sie Ihre eigenen Datenbanken in verschiedenen Dokumenten verwenden wollen, "
"ist dies der Ort, an dem Sie sie ablegen sollten."
-#: src/frontends/qt/GuiBibtex.cpp:136 src/frontends/qt/GuiBibtex.cpp:303
+#: src/frontends/qt/GuiBibtex.cpp:139 src/frontends/qt/GuiBibtex.cpp:350
msgid "Document Encoding"
msgstr "Dokumentkodierung"
-#: src/frontends/qt/GuiBibtex.cpp:274
+#: src/frontends/qt/GuiBibtex.cpp:321
msgid "Database"
msgstr "Datenbank"
-#: src/frontends/qt/GuiBibtex.cpp:275
+#: src/frontends/qt/GuiBibtex.cpp:322
msgid "File Encoding"
msgstr "Datei-Kodierung"
-#: src/frontends/qt/GuiBibtex.cpp:282
+#: src/frontends/qt/GuiBibtex.cpp:329
msgid "General E&ncoding:"
msgstr "Allgemeine &Kodierung:"
-#: src/frontends/qt/GuiBibtex.cpp:283
+#: src/frontends/qt/GuiBibtex.cpp:330
msgid ""
"If your bibliography databases use a different encoding than the LyX "
"document, specify it here. If indivivual databases have different encodings, "
@@ -31688,11 +31696,11 @@ msgstr ""
"Sollten einzelne Datenbanken unterschiedlich kodiert sein, können Sie dies "
"in der Liste oben spezifizieren."
-#: src/frontends/qt/GuiBibtex.cpp:302
+#: src/frontends/qt/GuiBibtex.cpp:349
msgid "General Encoding"
msgstr "Allgemeine Kodierung"
-#: src/frontends/qt/GuiBibtex.cpp:309
+#: src/frontends/qt/GuiBibtex.cpp:356
msgid ""
"If this bibliography database uses a different encoding than specified "
"below, set it here"
@@ -31700,15 +31708,15 @@ msgstr ""
"Falls diese Literatur-Datenbank eine andere Kodierung verwendet als unten "
"angegeben, spezifizieren Sie diese hier."
-#: src/frontends/qt/GuiBibtex.cpp:342
+#: src/frontends/qt/GuiBibtex.cpp:389
msgid "Biblatex Bibliography"
msgstr "Biblatex-Literaturverzeichnis"
-#: src/frontends/qt/GuiBibtex.cpp:360 src/insets/InsetBibtex.cpp:232
+#: src/frontends/qt/GuiBibtex.cpp:409 src/insets/InsetBibtex.cpp:232
msgid "all reference units"
msgstr "alle Literaturverzeichnisse"
-#: src/frontends/qt/GuiBibtex.cpp:456 src/frontends/qt/GuiBibtex.cpp:466
+#: src/frontends/qt/GuiBibtex.cpp:505 src/frontends/qt/GuiBibtex.cpp:515
#: src/frontends/qt/GuiCompare.cpp:163 src/frontends/qt/GuiCompare.cpp:167
#: src/frontends/qt/GuiDocument.cpp:2903 src/frontends/qt/GuiExternal.cpp:677
#: src/frontends/qt/GuiGraphics.cpp:826 src/frontends/qt/GuiInclude.cpp:380
@@ -31719,19 +31727,19 @@ msgstr "alle Literaturverzeichnisse"
msgid "D&ocuments"
msgstr "Do&kumente"
-#: src/frontends/qt/GuiBibtex.cpp:458
+#: src/frontends/qt/GuiBibtex.cpp:507
msgid "BibTeX Databases (*.bib)"
msgstr "BibTeX-Datenbanken (*.bib)"
-#: src/frontends/qt/GuiBibtex.cpp:460
+#: src/frontends/qt/GuiBibtex.cpp:509
msgid "Select a BibTeX database to add"
msgstr "Wählen Sie eine hinzuzufügende BibTeX-Datenbank"
-#: src/frontends/qt/GuiBibtex.cpp:468
+#: src/frontends/qt/GuiBibtex.cpp:517
msgid "BibTeX Styles (*.bst)"
msgstr "BibTeX-Stile (*.bst)"
-#: src/frontends/qt/GuiBibtex.cpp:470
+#: src/frontends/qt/GuiBibtex.cpp:519
msgid "Select a BibTeX style"
msgstr "Wählen Sie einen BibTeX-Stil"
commit 8fa7e27e7ef78f3529be63c5c98c6ad4beb541ef
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Feb 19 14:09:59 2022 +0100
child documents: allow inheritance of bibliography file list (#4427)
diff --git a/src/Buffer.h b/src/Buffer.h
index 332ef86..0d79ffa 100644
--- a/src/Buffer.h
+++ b/src/Buffer.h
@@ -784,6 +784,10 @@ public:
void registerBibfiles(docstring_list const & bf) const;
///
support::FileName getBibfilePath(docstring const & bibid) const;
+ /// Return the list with all bibfiles in use (including bibfiles
+ /// of loaded child documents).
+ docstring_list const &
+ getBibfiles(UpdateScope scope = UpdateMaster) const;
/// routines for dealing with possible self-inclusion
void pushIncludedBuffer(Buffer const * buf) const;
@@ -807,10 +811,6 @@ private:
/// last time we loaded the cache. Note that this does NOT update the
/// cached information.
void checkIfBibInfoCacheIsValid() const;
- /// Return the list with all bibfiles in use (including bibfiles
- /// of loaded child documents).
- docstring_list const &
- getBibfiles(UpdateScope scope = UpdateMaster) const;
///
void collectChildren(ListOfBuffers & children, bool grand_children) const;
diff --git a/src/frontends/qt/GuiBibtex.cpp b/src/frontends/qt/GuiBibtex.cpp
index 64bb987..3c71884 100644
--- a/src/frontends/qt/GuiBibtex.cpp
+++ b/src/frontends/qt/GuiBibtex.cpp
@@ -34,6 +34,7 @@
#include "insets/InsetBibtex.h"
#include "support/debug.h"
+#include "support/docstring_list.h"
#include "support/ExceptionMessage.h"
#include "support/FileName.h"
#include "support/filetools.h" // changeExtension
@@ -88,6 +89,8 @@ GuiBibtex::GuiBibtex(GuiView & lv)
this, SLOT(change_adaptor()));
connect(browseBibPB, SIGNAL(clicked()),
this, SLOT(browseBibPressed()));
+ connect(inheritPB, SIGNAL(clicked()),
+ this, SLOT(inheritPressed()));
selected_model_.insertColumns(0, 1);
selectionManager = new GuiSelectionManager(this, availableLV, selectedLV,
@@ -178,6 +181,7 @@ void GuiBibtex::setButtons()
int const srows = selectedLV->model()->rowCount();
buttonBox->button(QDialogButtonBox::Apply)->setEnabled(srows > 0);
buttonBox->button(QDialogButtonBox::Ok)->setEnabled(srows > 0);
+ inheritPB->setEnabled(hasInherits());
}
@@ -240,6 +244,49 @@ void GuiBibtex::browseBibPressed()
}
+bool GuiBibtex::hasInherits()
+{
+ if (!buffer().parent())
+ return false;
+
+ docstring_list const mbibs = buffer().masterBuffer()->getBibfiles();
+ if (mbibs.empty())
+ return false;
+
+ for (auto const & f : mbibs) {
+ if (!selected_bibs_.contains(toqstr(f)))
+ return true;
+ }
+ return false;
+}
+
+
+void GuiBibtex::inheritPressed()
+{
+ docstring_list const mbibs = buffer().masterBuffer()->getBibfiles();
+ bool chng = false;
+ vector<docstring> nfe;
+ for (auto const & f : mbibs) {
+ if (!selected_bibs_.contains(toqstr(f))) {
+ selected_bibs_.append(toqstr(f));
+ setSelectedBibs(selected_bibs_);
+ string enc;
+ if (usingBiblatex()) {
+ string const bfe = buffer().masterParams().bibFileEncoding(to_utf8(f));
+ if (!bfe.empty())
+ nfe.push_back(f + " " + from_utf8(bfe));
+ }
+ chng = true;
+ }
+ }
+ if (chng) {
+ if (!nfe.empty())
+ setFileEncodings(nfe);
+ change_adaptor();
+ }
+}
+
+
void GuiBibtex::on_editPB_clicked()
{
QModelIndexList selIdx =
@@ -351,6 +398,8 @@ void GuiBibtex::updateContents()
bibtocCB->setChecked((bibtotoc() && !bibtopic) || hasbibintoc);
bibtocCB->setEnabled(!bibtopic && !hasbibintoc);
+ inheritPB->setEnabled(hasInherits());
+
btPrintCO->clear();
btPrintCO->addItem(qt_("all cited references"), toqstr("btPrintCited"));
if (bibtopic)
diff --git a/src/frontends/qt/GuiBibtex.h b/src/frontends/qt/GuiBibtex.h
index 2258ec9..5d54be7 100644
--- a/src/frontends/qt/GuiBibtex.h
+++ b/src/frontends/qt/GuiBibtex.h
@@ -40,6 +40,7 @@ private Q_SLOTS:
void on_buttonBox_accepted();
void browseBstPressed();
void browseBibPressed();
+ void inheritPressed();
void on_editPB_clicked();
void databaseChanged();
void rescanClicked();
@@ -99,6 +100,8 @@ private:
void dispatchParams() override;
///
bool isBufferDependent() const override { return true; }
+ /// Is his a child which can inherit bibs from its master?
+ bool hasInherits();
private:
///
diff --git a/src/frontends/qt/ui/BibtexUi.ui b/src/frontends/qt/ui/BibtexUi.ui
index ac41646..ab2769d 100644
--- a/src/frontends/qt/ui/BibtexUi.ui
+++ b/src/frontends/qt/ui/BibtexUi.ui
@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>523</width>
- <height>617</height>
+ <width>542</width>
+ <height>702</height>
</rect>
</property>
<property name="windowTitle">
@@ -86,6 +86,16 @@
</widget>
</item>
<item>
+ <widget class="QPushButton" name="inheritPB">
+ <property name="toolTip">
+ <string>Inherit bibliography databases from the master document</string>
+ </property>
+ <property name="text">
+ <string>&Inherit from Master</string>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QPushButton" name="deletePB">
<property name="toolTip">
<string>Remove the selected database</string>
commit fcc139b06e31c39baf51486f697c809bec5534a2
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Feb 19 11:55:29 2022 +0100
Consider that "and" in BibTeX name lists is case-insensitive (#10465)
diff --git a/src/BiblioInfo.cpp b/src/BiblioInfo.cpp
index 638579a..1464e70 100644
--- a/src/BiblioInfo.cpp
+++ b/src/BiblioInfo.cpp
@@ -277,8 +277,14 @@ vector<docstring> const getAuthors(docstring const & author)
// in author names, but can happen (consider cases such as "C \& A Corp.").
docstring iname = subst(author, from_ascii("&"), from_ascii("$$amp!"));
// Then, we temporarily make all " and " strings to ampersands in order
- // to handle them later on a per-char level.
- iname = subst(iname, from_ascii(" and "), from_ascii(" & "));
+ // to handle them later on a per-char level. Note that arbitrary casing
+ // ("And", "AND", "aNd", ...) is allowed in bibtex (#10465).
+ static regex const and_reg("(.* )([aA][nN][dD])( .*)");
+ smatch sub;
+ string res = to_utf8(iname);
+ while (regex_match(res, sub, and_reg))
+ res = sub.str(1) + "&" + sub.str(3);
+ iname = from_utf8(res);
// Now we traverse through the string and replace the "&" by the proper
// output in- and outside groups
docstring name;
commit 69ba7f1536e365e14add5630672d9538bf893fbf
Author: jpc <jpc at lyx.org>
Date: Fri Feb 18 10:53:56 2022 +0100
Update fr.po
diff --git a/po/fr.gmo b/po/fr.gmo
index 93d6ba4..086a872 100644
Binary files a/po/fr.gmo and b/po/fr.gmo differ
diff --git a/po/fr.po b/po/fr.po
index a342fa0..5358e99 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -362,8 +362,8 @@ msgid ""
msgstr ""
"Project-Id-Version: LyX 2.4\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2022-02-14 11:20+0100\n"
-"PO-Revision-Date: 2022-02-14 11:29+0100\n"
+"POT-Creation-Date: 2022-02-17 18:01+0100\n"
+"PO-Revision-Date: 2022-02-18 10:53+0100\n"
"Last-Translator: Jean-Pierre Chrétien <jeanpierre.chretien at free.fr>\n"
"Language-Team: lyxfr\n"
"Language: fr\n"
@@ -19948,7 +19948,7 @@ msgid "Copy as Reference|R"
msgstr "Copier comme référence|C"
#: lib/ui/stdcontext.inc:61 lib/ui/stdcontext.inc:375 lib/ui/stdmenus.inc:108
-#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1571
+#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1584
#: src/mathed/InsetMathNest.cpp:555
msgid "Cut"
msgstr "Couper"
@@ -19959,7 +19959,7 @@ msgid "Copy"
msgstr "Copier"
#: lib/ui/stdcontext.inc:63 lib/ui/stdcontext.inc:377 lib/ui/stdmenus.inc:110
-#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1515
+#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1528
#: src/frontends/qt/GuiToolbar.cpp:441 src/mathed/InsetMathGrid.cpp:1565
#: src/mathed/InsetMathNest.cpp:533
msgid "Paste"
@@ -27599,7 +27599,7 @@ msgstr ""
"le préambule LaTeX."
#: src/Buffer.cpp:1086 src/BufferParams.cpp:475 src/frontends/qt/GuiLog.cpp:293
-#: src/insets/InsetIndex.cpp:674
+#: src/insets/InsetIndex.cpp:691
msgid "Index"
msgstr "Index"
@@ -29746,35 +29746,51 @@ msgstr " options : "
msgid "Waiting for LaTeX run number %1$d"
msgstr "Attend l'exécution LaTeX n°%1$d"
-#: src/LaTeX.cpp:324 src/LaTeX.cpp:461
+#: src/LaTeX.cpp:328
+msgid "Running Bibliography Processor."
+msgstr "Exécution du processeur bibliographique."
+
+#: src/LaTeX.cpp:389
+msgid "Re-Running Bibliography Processor."
+msgstr "Réexécution du processeur bibliographique."
+
+#: src/LaTeX.cpp:429
msgid "Running Index Processor."
-msgstr "Construction de l'index."
+msgstr "Exécution du processeur d'index."
-#: src/LaTeX.cpp:377 src/LaTeX.cpp:438
-msgid "Running BibTeX."
-msgstr "Exécution de BibTeX."
+#: src/LaTeX.cpp:438
+msgid "Index Processor Error"
+msgstr "Erreur du processeur d'index."
-#: src/LaTeX.cpp:611
-msgid "Running MakeIndex for nomencl."
-msgstr "Exécution de MakeIndex pour le paquetage nomencl."
+#: src/LaTeX.cpp:439
+msgid ""
+"The index processor did not run successfully. Please check the output of "
+"View > Messages Pane!"
+msgstr ""
+"Le processeur d'index ne s'est pas exécuté correctement. Veuillez vérifier "
+"via Affichage > Panneau des messages."
-#: src/LaTeX.cpp:1115
+#: src/LaTeX.cpp:599
+msgid "Running Nomenclature Processor."
+msgstr "Exécution du processeur de la liste des symboles."
+
+#: src/LaTeX.cpp:1103
msgid "(NOTE: The erroneous command is in the preamble)"
msgstr "(Nota : la commande incorrecte est dans le préambule)"
-#: src/LaTeX.cpp:1607 src/LaTeX.cpp:1613 src/LaTeX.cpp:1622
+#: src/LaTeX.cpp:1595 src/LaTeX.cpp:1601 src/LaTeX.cpp:1610
msgid "BibTeX error: "
msgstr "Erreur BibTeX : "
-#: src/LaTeX.cpp:1629
+#: src/LaTeX.cpp:1617
msgid "Biber error: "
msgstr "Erreur Biber : "
-#: src/LaTeX.cpp:1656
+#: src/LaTeX.cpp:1644
msgid "Makeindex error: "
msgstr "Erreur makeindex : "
-#: src/LaTeX.cpp:1665
+#: src/LaTeX.cpp:1653
msgid "Xindy error: "
msgstr "Erreur xindy : "
@@ -30836,56 +30852,56 @@ msgstr ", Frontière : "
msgid "No font change defined."
msgstr "Aucune modification de police définie."
-#: src/Text3.cpp:195
+#: src/Text3.cpp:200
msgid "Math editor mode"
msgstr "Mode éditeur mathématique"
-#: src/Text3.cpp:197
+#: src/Text3.cpp:202
msgid "No valid math formula"
msgstr "Pas de formule mathématique valide"
-#: src/Text3.cpp:205 src/mathed/InsetMathNest.cpp:1032
+#: src/Text3.cpp:210 src/mathed/InsetMathNest.cpp:1032
msgid "Already in regular expression mode"
msgstr "Déjà en mode « expression régulière »"
-#: src/Text3.cpp:218
+#: src/Text3.cpp:223
msgid "Regexp editor mode"
msgstr "Mode « expression régulière »"
-#: src/Text3.cpp:1605
+#: src/Text3.cpp:1618
msgid "Layout "
msgstr "Environnement "
-#: src/Text3.cpp:1606 src/Text3.cpp:2177
+#: src/Text3.cpp:1619 src/Text3.cpp:2193
msgid " not known"
msgstr " inconnu"
-#: src/Text3.cpp:2176
+#: src/Text3.cpp:2192
msgid "Table Style "
msgstr "Style de tableau "
-#: src/Text3.cpp:2369 src/frontends/qt/GuiApplication.cpp:1873
+#: src/Text3.cpp:2385 src/frontends/qt/GuiApplication.cpp:1873
msgid "Missing argument"
msgstr "Paramètre manquant"
-#: src/Text3.cpp:2538
+#: src/Text3.cpp:2550
msgid "Invalid argument (number exceeds stack size)!"
msgstr "Argument invalide (le nombre est supérieur à la taille de la pile) !"
-#: src/Text3.cpp:2542
+#: src/Text3.cpp:2554
msgid "Invalid argument (must be a non-negative number)!"
msgstr "Argument invalide (nombre non négatif obligatoire)"
-#: src/Text3.cpp:2547 src/Text3.cpp:2565
+#: src/Text3.cpp:2559 src/Text3.cpp:2573
#, c-format
msgid "Text properties applied: %1$s"
msgstr "Propriétés du texte appliquées : %1$s"
-#: src/Text3.cpp:2724
+#: src/Text3.cpp:2732
msgid "Path to thesaurus directory not set!"
msgstr "Chemin d'accès au répertoire du thésaurus non précisé !"
-#: src/Text3.cpp:2725
+#: src/Text3.cpp:2733
msgid ""
"The path to the thesaurus directory has not been specified.\n"
"The thesaurus is not functional.\n"
@@ -30897,7 +30913,7 @@ msgstr ""
"Se référer au Guide de l'utilisateur, section 6.15.1, pour\n"
"les instructions de réglage."
-#: src/Text3.cpp:2851 src/Text3.cpp:2862
+#: src/Text3.cpp:2859 src/Text3.cpp:2870
msgid "Paragraph layout set"
msgstr "Style du paragraphe redéfini"
@@ -31017,8 +31033,8 @@ msgstr ""
msgid "Error reading cite engine %1$s\n"
msgstr "Erreur de lecture du moteur bibliographique %1$s\n"
-#: src/TocBackend.cpp:270 src/insets/InsetIndex.cpp:500
-#: src/insets/InsetIndex.cpp:521
+#: src/TocBackend.cpp:270 src/insets/InsetIndex.cpp:517
+#: src/insets/InsetIndex.cpp:538
msgid "unknown type!"
msgstr "type inconnu !"
@@ -35885,7 +35901,7 @@ msgid "active"
msgstr "actif"
#: src/insets/InsetBranch.cpp:70 src/insets/InsetBranch.cpp:72
-#: src/insets/InsetIndex.cpp:682
+#: src/insets/InsetIndex.cpp:699
msgid "non-active"
msgstr "non-actif"
@@ -36372,11 +36388,11 @@ msgstr ""
msgid "MISSING: "
msgstr "MANQUANT : "
-#: src/insets/InsetIndex.cpp:157
+#: src/insets/InsetIndex.cpp:169
msgid "Index sorting failed"
msgstr "Ãchec du tri d'index"
-#: src/insets/InsetIndex.cpp:158
+#: src/insets/InsetIndex.cpp:170
#, c-format
msgid ""
"LyX's automatic index sorting algorithm faced\n"
@@ -36389,19 +36405,19 @@ msgstr ""
"Merci de préciser la position de tri de cette entrée manuellement,\n"
"comme expliqué dans le Guide d'utilisation."
-#: src/insets/InsetIndex.cpp:493
+#: src/insets/InsetIndex.cpp:510
msgid "Index Entry"
msgstr "Entrée d'index"
-#: src/insets/InsetIndex.cpp:679
+#: src/insets/InsetIndex.cpp:696
msgid "Unknown index type!"
msgstr "Type d'index inconnu !"
-#: src/insets/InsetIndex.cpp:680
+#: src/insets/InsetIndex.cpp:697
msgid "All indexes"
msgstr "Tous les index"
-#: src/insets/InsetIndex.cpp:684
+#: src/insets/InsetIndex.cpp:701
msgid "subindex"
msgstr "sous-index"
@@ -37990,6 +38006,12 @@ msgstr ""
msgid "Unknown user"
msgstr "Utilisateur inconnu"
+#~ msgid "Running BibTeX."
+#~ msgstr "Exécution de BibTeX."
+
+#~ msgid "Running MakeIndex for nomencl."
+#~ msgstr "Exécution de MakeIndex pour le paquetage nomencl."
+
#~ msgid "e.g.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
#~ msgstr "e.g. : pdfstartview=XYZ, plainpages=false, pdfpagelabels"
commit 94a7f74423570e247fdc23ebd1aa0bf5bc7a31d7
Author: Enrico Forestieri <forenr at lyx.org>
Date: Thu Feb 17 14:59:17 2022 +0100
Avoid a Qt warning about bad svg
See #10384 for the details.
diff --git a/lib/images/busy.svgz b/lib/images/busy.svgz
index 2a07dfa..2772df5 100644
Binary files a/lib/images/busy.svgz and b/lib/images/busy.svgz differ
commit 124e0fc2be2446f7182cba0e5b54961dc1cfab91
Author: Kornel Benko <kornel at lyx.org>
Date: Thu Feb 17 12:19:33 2022 +0100
Update sk.po
diff --git a/po/sk.po b/po/sk.po
index 9814567..0fecc2b 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: LyX-2.4\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2022-02-16 14:35+0100\n"
-"PO-Revision-Date: 2022-02-16 13:40+0000\n"
+"POT-Creation-Date: 2022-02-17 12:06+0100\n"
+"PO-Revision-Date: 2022-02-17 11:16+0000\n"
"Last-Translator: Kornel Benko <kornel at lyx.org>\n"
"Language-Team: Slovak <kornel at lyx.org>\n"
"Language: sk\n"
@@ -29160,6 +29160,18 @@ msgstr "Opakujem generáciu bibliografie."
msgid "Running Index Processor."
msgstr "Spúšťam generáciu registra."
+#: src/LaTeX.cpp:438
+msgid "Index Processor Error"
+msgstr "Chyba pri generácii registra"
+
+#: src/LaTeX.cpp:439
+msgid ""
+"The index processor did not run successfully. Please check the output of "
+"View > Messages Pane!"
+msgstr ""
+"Generácia registra nebola úspeÅ¡ná. Skontrolujte prosÃm výstup dát od "
+"Zobraziť->Ladiace výpisy!"
+
#: src/LaTeX.cpp:592
msgid "Running Nomenclature Processor."
msgstr "Spúšťam generáciu nomenklatúry."
commit f7e8e3f10eb40262d8956063adf9f03ebb41ab80
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Thu Feb 17 10:52:37 2022 +0100
Correct error message
diff --git a/src/LaTeX.cpp b/src/LaTeX.cpp
index c4dd18e..e0df744 100644
--- a/src/LaTeX.cpp
+++ b/src/LaTeX.cpp
@@ -436,7 +436,8 @@ int LaTeX::run(TeXErrors & terr)
iscanres |= INDEX_ERROR;
terr.insertError(0,
_("Index Processor Error"),
- _("The index processor did not run successfully. Please check the output of View > Messages!"));
+ _("The index processor did not run successfully. "
+ "Please check the output of View > Messages Pane!"));
}
FileName const ilgfile(changeExtension(file.absFileName(), ".ilg"));
if (ilgfile.exists())
commit a179395bd9600dd9d632a2662027c031a8318502
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Thu Feb 17 08:53:52 2022 +0100
de.po
diff --git a/po/de.gmo b/po/de.gmo
index a623117..df61191 100644
Binary files a/po/de.gmo and b/po/de.gmo differ
diff --git a/po/de.po b/po/de.po
index 1d8be99..010afda 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: 2022-02-16 13:07+0100\n"
-"PO-Revision-Date: 2022-02-16 13:10+0100\n"
+"POT-Creation-Date: 2022-02-17 08:23+0100\n"
+"PO-Revision-Date: 2022-02-17 08:53+0100\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"
@@ -19649,7 +19649,7 @@ msgid "Copy as Reference|R"
msgstr "Als Querverweis kopieren|k"
#: lib/ui/stdcontext.inc:61 lib/ui/stdcontext.inc:375 lib/ui/stdmenus.inc:108
-#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1576
+#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1584
#: src/mathed/InsetMathNest.cpp:555
msgid "Cut"
msgstr "Ausschneiden"
@@ -19660,7 +19660,7 @@ msgid "Copy"
msgstr "Kopieren"
#: lib/ui/stdcontext.inc:63 lib/ui/stdcontext.inc:377 lib/ui/stdmenus.inc:110
-#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1520
+#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1528
#: src/frontends/qt/GuiToolbar.cpp:441 src/mathed/InsetMathGrid.cpp:1565
#: src/mathed/InsetMathNest.cpp:533
msgid "Paste"
@@ -27297,7 +27297,7 @@ msgstr ""
"\\lyxdeleted im LaTeX-Vorspann neu."
#: src/Buffer.cpp:1086 src/BufferParams.cpp:475 src/frontends/qt/GuiLog.cpp:293
-#: src/insets/InsetIndex.cpp:676
+#: src/insets/InsetIndex.cpp:691
msgid "Index"
msgstr "Stichwortverzeichnis"
@@ -29448,27 +29448,39 @@ msgstr "Literaturverzeichnis-Prozessor wird noch einmal ausgeführt."
msgid "Running Index Processor."
msgstr "Indexprozessor wird ausgeführt."
-#: src/LaTeX.cpp:592
-msgid "Running MakeIndex for nomencl."
-msgstr "MakeIndex wird für nomencl ausgeführt."
+#: src/LaTeX.cpp:438
+msgid "Index Processor Error"
+msgstr "Indexprozessor-Fehler"
-#: src/LaTeX.cpp:1096
+#: src/LaTeX.cpp:439
+msgid ""
+"The index processor did not run successfully. Please check the output of "
+"View > Messages!"
+msgstr ""
+"Der Durchlauf des Index-Prozessors war nicht erfolgreich. Bitte prüfen Sie "
+"die Ausgabe von Ansicht > Statusmeldungen!"
+
+#: src/LaTeX.cpp:598
+msgid "Running Nomenclature Processor."
+msgstr "Nomenklatur-Prozessor wird ausgeführt."
+
+#: src/LaTeX.cpp:1102
msgid "(NOTE: The erroneous command is in the preamble)"
msgstr "(ACHTUNG: Der fehlerhafte Befehl befindet sich in der Präambel)"
-#: src/LaTeX.cpp:1588 src/LaTeX.cpp:1594 src/LaTeX.cpp:1603
+#: src/LaTeX.cpp:1594 src/LaTeX.cpp:1600 src/LaTeX.cpp:1609
msgid "BibTeX error: "
msgstr "BibTeX-Fehler: "
-#: src/LaTeX.cpp:1610
+#: src/LaTeX.cpp:1616
msgid "Biber error: "
msgstr "Biber-Fehler: "
-#: src/LaTeX.cpp:1637
+#: src/LaTeX.cpp:1643
msgid "Makeindex error: "
msgstr "Makeindex-Fehler: "
-#: src/LaTeX.cpp:1646
+#: src/LaTeX.cpp:1652
msgid "Xindy error: "
msgstr "Xindy-Fehler: "
@@ -30572,40 +30584,40 @@ msgstr "Bereits im Regexp-Modus"
msgid "Regexp editor mode"
msgstr "Regexp-Editor-Modus"
-#: src/Text3.cpp:1610
+#: src/Text3.cpp:1618
msgid "Layout "
msgstr "Format "
-#: src/Text3.cpp:1611 src/Text3.cpp:2182
+#: src/Text3.cpp:1619 src/Text3.cpp:2193
msgid " not known"
msgstr " unbekannt"
-#: src/Text3.cpp:2181
+#: src/Text3.cpp:2192
msgid "Table Style "
msgstr "Tabellenstil"
-#: src/Text3.cpp:2374 src/frontends/qt/GuiApplication.cpp:1873
+#: src/Text3.cpp:2385 src/frontends/qt/GuiApplication.cpp:1873
msgid "Missing argument"
msgstr "Fehlendes Argument"
-#: src/Text3.cpp:2539
+#: src/Text3.cpp:2550
msgid "Invalid argument (number exceeds stack size)!"
msgstr "Ungültiges Argument (Zahl gröÃer als Zwischenspeicher)!"
-#: src/Text3.cpp:2543
+#: src/Text3.cpp:2554
msgid "Invalid argument (must be a non-negative number)!"
msgstr "Ungültiges Argument (muss eine nicht-negative Zahl sein)!"
-#: src/Text3.cpp:2548 src/Text3.cpp:2562
+#: src/Text3.cpp:2559 src/Text3.cpp:2573
#, c-format
msgid "Text properties applied: %1$s"
msgstr "Angewendete Texteigenschaften: %1$s"
-#: src/Text3.cpp:2721
+#: src/Text3.cpp:2732
msgid "Path to thesaurus directory not set!"
msgstr "Pfad zum Thesaurus-Wörterbuch nicht festlegt!"
-#: src/Text3.cpp:2722
+#: src/Text3.cpp:2733
msgid ""
"The path to the thesaurus directory has not been specified.\n"
"The thesaurus is not functional.\n"
@@ -30617,7 +30629,7 @@ msgstr ""
"Im Benutzerhandbuch, Abschnitt 6.15.11, finden Sie Hinweise,\n"
"um den Thesaurus einzurichten."
-#: src/Text3.cpp:2848 src/Text3.cpp:2859
+#: src/Text3.cpp:2859 src/Text3.cpp:2870
msgid "Paragraph layout set"
msgstr "Absatzformat festgelegt"
@@ -30741,8 +30753,8 @@ msgstr ""
msgid "Error reading cite engine %1$s\n"
msgstr "Fehler beim Lesen der Zitierformatdatei %1$s\n"
-#: src/TocBackend.cpp:270 src/insets/InsetIndex.cpp:502
-#: src/insets/InsetIndex.cpp:523
+#: src/TocBackend.cpp:270 src/insets/InsetIndex.cpp:517
+#: src/insets/InsetIndex.cpp:538
msgid "unknown type!"
msgstr "unbekannter Typ!"
@@ -35643,7 +35655,7 @@ msgid "active"
msgstr "aktiv"
#: src/insets/InsetBranch.cpp:70 src/insets/InsetBranch.cpp:72
-#: src/insets/InsetIndex.cpp:684
+#: src/insets/InsetIndex.cpp:699
msgid "non-active"
msgstr "inaktiv"
@@ -36134,11 +36146,11 @@ msgstr ""
msgid "MISSING: "
msgstr "NICHT VORHANDEN:"
-#: src/insets/InsetIndex.cpp:157
+#: src/insets/InsetIndex.cpp:169
msgid "Index sorting failed"
msgstr "Indexsortierung fehlgeschlagen"
-#: src/insets/InsetIndex.cpp:158
+#: src/insets/InsetIndex.cpp:170
#, c-format
msgid ""
"LyX's automatic index sorting algorithm faced\n"
@@ -36151,19 +36163,19 @@ msgstr ""
"Bitte legen Sie die Sortierung manuell fest. Hinweise\n"
"zum Vorgehen finden Sie im Benutzerhandbuch."
-#: src/insets/InsetIndex.cpp:495
+#: src/insets/InsetIndex.cpp:510
msgid "Index Entry"
msgstr "Stichwort"
-#: src/insets/InsetIndex.cpp:681
+#: src/insets/InsetIndex.cpp:696
msgid "Unknown index type!"
msgstr "Unbekannter Index-Typ!"
-#: src/insets/InsetIndex.cpp:682
+#: src/insets/InsetIndex.cpp:697
msgid "All indexes"
msgstr "Alle Indexe"
-#: src/insets/InsetIndex.cpp:686
+#: src/insets/InsetIndex.cpp:701
msgid "subindex"
msgstr "Unterindex"
@@ -37752,6 +37764,9 @@ msgstr ""
msgid "Unknown user"
msgstr "Unbekannter Benutzer"
+#~ msgid "Running MakeIndex for nomencl."
+#~ msgstr "MakeIndex wird für nomencl ausgeführt."
+
#~ msgid "Running BibTeX."
#~ msgstr "BibTeX wird ausgeführt."
commit 755146287cc668661af98989e12614d572cdc001
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Thu Feb 17 08:21:36 2022 +0100
Typo
diff --git a/src/insets/InsetIndex.cpp b/src/insets/InsetIndex.cpp
index 2e1e19c..fe0890c 100644
--- a/src/insets/InsetIndex.cpp
+++ b/src/insets/InsetIndex.cpp
@@ -149,7 +149,7 @@ void InsetIndex::latex(otexstream & ios, OutputParams const & runparams_in) cons
// version of the content to get sorting right,
// e.g. \index{LyX@\LyX}, \index{text@\textbf{text}}.
// We do this on all levels.
- // We don't do it if the level already contains a '@', thouugh.
+ // We don't do it if the level already contains a '@', though.
if (contains(*it, '\\') && !contains(*it, '@')) {
// Plaintext might return nothing (e.g. for ERTs).
// In that case, we use LaTeX.
commit 266a5e04d403af4a9e576b7726481185d11274d9
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Thu Feb 17 08:19:33 2022 +0100
InsetIndex: Some comments and indentation fixes
diff --git a/src/insets/InsetIndex.cpp b/src/insets/InsetIndex.cpp
index 3cce6af..2e1e19c 100644
--- a/src/insets/InsetIndex.cpp
+++ b/src/insets/InsetIndex.cpp
@@ -80,6 +80,8 @@ void InsetIndex::latex(otexstream & ios, OutputParams const & runparams_in) cons
os << '{';
}
+ // Get the LaTeX output from InsetText. We need to deconstruct this later
+ // in order to check if we need to generate a sorting key
odocstringstream ourlatex;
otexstream ots(ourlatex);
InsetText::latex(ots, runparams);
@@ -88,27 +90,31 @@ void InsetIndex::latex(otexstream & ios, OutputParams const & runparams_in) cons
os << ourlatex.str() << "}";
return;
}
- // get contents of InsetText as LaTeX and plaintext
+
+ // For the sorting key, we use the plaintext version
odocstringstream ourplain;
InsetText::plaintext(ourplain, runparams);
- // FIXME: do Tex/Row correspondence (I don't currently understand what is
- // being generated from latexstr below)
+
+ // These are the LaTeX and plaintext representations
docstring latexstr = ourlatex.str();
docstring plainstr = ourplain.str();
- // this will get what follows | if anything does
+ // This will get what follows | if anything does,
+ // the command (e.g., see, textbf) for pagination
+ // formatting
docstring cmd;
- // check for the | separator
- // FIXME This would go wrong on an escaped "|", but
- // how far do we want to go here?
+ // Check for the | separator to strip the cmd.
+ // This goes wrong on an escaped "|", but as the escape
+ // character can be changed in style files, we cannot
+ // prevent that.
size_t pos = latexstr.find(from_ascii("|"));
if (pos != docstring::npos) {
- // put the bit after "|" into cmd...
+ // Put the bit after "|" into cmd...
cmd = latexstr.substr(pos + 1);
// ...and erase that stuff from latexstr
latexstr = latexstr.erase(pos);
- // ...and similarly from plainstr
+ // ...as well as from plainstr
size_t ppos = plainstr.find(from_ascii("|"));
if (ppos < plainstr.size())
plainstr.erase(ppos);
@@ -116,8 +122,10 @@ void InsetIndex::latex(otexstream & ios, OutputParams const & runparams_in) cons
LYXERR0("The `|' separator was not found in the plaintext version!");
}
- // Separate the entries and subentries, i.e., split on "!"
- // FIXME This would do the wrong thing with escaped ! characters
+ // Separate the entries and subentries, i.e., split on "!".
+ // This goes wrong on an escaped "!", but as the escape
+ // character can be changed in style files, we cannot
+ // prevent that.
std::vector<docstring> const levels =
getVectorFromString(latexstr, from_ascii("!"), true);
std::vector<docstring> const levels_plain =
@@ -128,19 +136,23 @@ void InsetIndex::latex(otexstream & ios, OutputParams const & runparams_in) cons
vector<docstring>::const_iterator it2 = levels_plain.begin();
bool first = true;
for (; it != end; ++it) {
- // write the separator except the first time
+ // The separator needs to be put back when
+ // writing the levels, except for the first level
if (!first)
os << '!';
else
first = false;
- // correctly sort macros and formatted strings
- // if we do find a command, prepend a plain text
+ // Now here comes the reason for this whole procedure:
+ // We try to correctly sort macros and formatted strings.
+ // If we find a command, prepend a plain text
// version of the content to get sorting right,
- // e.g. \index{LyX@\LyX}, \index{text@\textbf{text}}
- // Don't do that if the user entered '@' himself, though.
+ // e.g. \index{LyX@\LyX}, \index{text@\textbf{text}}.
+ // We do this on all levels.
+ // We don't do it if the level already contains a '@', thouugh.
if (contains(*it, '\\') && !contains(*it, '@')) {
- // Plaintext might return nothing (e.g. for ERTs)
+ // Plaintext might return nothing (e.g. for ERTs).
+ // In that case, we use LaTeX.
docstring const spart =
(it2 < levels_plain.end() && !(*it2).empty())
? *it2 : *it;
@@ -155,25 +167,28 @@ void InsetIndex::latex(otexstream & ios, OutputParams const & runparams_in) cons
if (spart != spart_latexed.first && !runparams.dryrun) {
// FIXME: warning should be passed to the error dialog
frontend::Alert::warning(_("Index sorting failed"),
- bformat(_("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."), spart));
+ bformat(_("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."), spart));
}
- // remove remaining \'s for the sorting part
- docstring ppart =
- subst(spart_latexed.first, from_ascii("\\"), docstring());
- // Plain quotes need to be escaped, however (#10649)
+ // Remove remaining \'s from the sort key
+ docstring ppart = subst(spart_latexed.first, from_ascii("\\"), docstring());
+ // Plain quotes need to be escaped, however (#10649), as this
+ // is the default escape character
ppart = subst(ppart, from_ascii("\""), from_ascii("\\\""));
+
+ // Now insert the sortkey, separated by '@'.
os << ppart;
os << '@';
}
+ // Insert the actual level text
docstring const tpart = *it;
os << tpart;
if (it2 < levels_plain.end())
++it2;
}
- // write the bit that followed "|"
+ // At last, re-insert the command, separated by "|"
if (!cmd.empty()) {
os << "|" << cmd;
}
commit 44d56764305fee8fcea79cb48682682bffd17f4d
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Thu Feb 17 07:25:00 2022 +0100
Report if index processor failed (#7820)
diff --git a/src/LaTeX.cpp b/src/LaTeX.cpp
index 7734b02..c4dd18e 100644
--- a/src/LaTeX.cpp
+++ b/src/LaTeX.cpp
@@ -432,6 +432,12 @@ int LaTeX::run(TeXErrors & terr)
runMakeIndex(onlyFileName(idxfile.absFileName()), runparams);
if (ret == Systemcall::KILLED || ret == Systemcall::TIMEOUT)
return ret;
+ else if (ret != Systemcall::OK) {
+ iscanres |= INDEX_ERROR;
+ terr.insertError(0,
+ _("Index Processor Error"),
+ _("The index processor did not run successfully. Please check the output of View > Messages!"));
+ }
FileName const ilgfile(changeExtension(file.absFileName(), ".ilg"));
if (ilgfile.exists())
iscanres = scanIlgFile(terr);
commit 23b7b95e68ee2ac778838fc1a9d037130133ef56
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Wed Feb 16 22:05:02 2022 -0500
ctests: log fixed upstream Polyglossia issues
Thanks to Jürgen for fixing the upstream issue.
Also add a row "ctest" to give the pattern of the ctests that
failed.
diff --git a/development/autotests/ctests-costs-benefits.txt b/development/autotests/ctests-costs-benefits.txt
index 6be712c..cc66eb9 100644
--- a/development/autotests/ctests-costs-benefits.txt
+++ b/development/autotests/ctests-costs-benefits.txt
@@ -19,6 +19,9 @@ The "Benefit" row gives the amount of days in-between when an issue is found
because of the ctests and when an issue is reported by someone not using the
ctests.
+The "ctest" row gives a ctest pattern for the tests that were affected by the
+regression.
+
Examples where convergence tests took time and annoyance to figure out that
they were actually "false positives" (i.e., no bug that is worth the time or
complexity to fix):
@@ -80,3 +83,10 @@ Benefit: Not clear. The regressions were in the development version so they
Report : https://www.mail-archive.com/search?l=mid&q=20211207200100.o27ojaftehrjfcza%40poole
Fix : 2eaf30c5
+
+
+Report : (private message to Jürgen: LyXMessage-ID:<20220216020703.la2fd5gu7yz7y7dc at gary>)
+Fix : https://github.com/reutenauer/polyglossia/commit/c7489ebaf8c66a7e4fe2529de7068ebb79c68812
+Benefit: Not clear. The regressions were in the development version so they
+ could have easily been caught before release.
+ctests : export/export/lyx2lyx/revert-languages-polyglossia-primary_lyx22
commit 58a8884b0643ff8dcf35697e09e49894a804171b
Author: Kornel Benko <kornel at lyx.org>
Date: Wed Feb 16 14:44:43 2022 +0100
Update sk.po
diff --git a/po/sk.po b/po/sk.po
index 5a35011..9814567 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: LyX-2.4\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2022-02-13 12:47+0100\n"
-"PO-Revision-Date: 2022-02-13 12:46+0000\n"
+"POT-Creation-Date: 2022-02-16 14:35+0100\n"
+"PO-Revision-Date: 2022-02-16 13:40+0000\n"
"Last-Translator: Kornel Benko <kornel at lyx.org>\n"
"Language-Team: Slovak <kornel at lyx.org>\n"
"Language: sk\n"
@@ -29148,17 +29148,21 @@ msgstr " voľby: "
msgid "Waiting for LaTeX run number %1$d"
msgstr "Äakanie na %1$d spracovanie LaTeX-u"
+#: src/LaTeX.cpp:328
+msgid "Running Bibliography Processor."
+msgstr "Spúšťam generáciu bibliografie."
+
+#: src/LaTeX.cpp:389
+msgid "Re-Running Bibliography Processor."
+msgstr "Opakujem generáciu bibliografie."
+
#: src/LaTeX.cpp:324 src/LaTeX.cpp:461
msgid "Running Index Processor."
msgstr "Spúšťam generáciu registra."
-#: src/LaTeX.cpp:377 src/LaTeX.cpp:438
-msgid "Running BibTeX."
-msgstr "Spúšťam BibTeX."
-
-#: src/LaTeX.cpp:611
-msgid "Running MakeIndex for nomencl."
-msgstr "Spúšťam makeindex pre nomencl."
+#: src/LaTeX.cpp:592
+msgid "Running Nomenclature Processor."
+msgstr "Spúšťam generáciu nomenklatúry."
#: src/LaTeX.cpp:1115
msgid "(NOTE: The erroneous command is in the preamble)"
commit 92aa12317e1e7cbaa83c4b7c3298ac340efe3a0a
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Wed Feb 16 14:25:25 2022 +0100
Reset font formatting of inset entries on creation (#11961)
diff --git a/src/Text3.cpp b/src/Text3.cpp
index 9143e26..185008b 100644
--- a/src/Text3.cpp
+++ b/src/Text3.cpp
@@ -243,7 +243,8 @@ static void ipaChar(Cursor & cur, InsetIPAChar::Kind kind)
static bool doInsertInset(Cursor & cur, Text * text,
- FuncRequest const & cmd, bool edit, bool pastesel)
+ FuncRequest const & cmd, bool edit,
+ bool pastesel, bool resetfont = false)
{
Buffer & buffer = cur.bv().buffer();
BufferParams const & bparams = buffer.params();
@@ -346,6 +347,13 @@ static bool doInsertInset(Cursor & cur, Text * text,
cur.clearSelection(); // bug 393
cur.finishUndo();
if (inset_text) {
+ if (resetfont) {
+ // Reset of font (not language) is requested.
+ // Used by InsetIndex (#11961).
+ Language const * lang = cur.getFont().language();
+ Font font(bparams.getFont().fontInfo(), lang);
+ cur.paragraph().resetFonts(font);
+ }
inset_text->fixParagraphsFont();
cur.pos() = 0;
cur.pit() = 0;
@@ -2105,16 +2113,19 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
case LFUN_INDEX_INSERT:
case LFUN_PREVIEW_INSERT:
case LFUN_SCRIPT_INSERT:
- case LFUN_IPA_INSERT:
+ case LFUN_IPA_INSERT: {
+ // Indexes reset font formatting (#11961)
+ bool const resetfont = cmd.action() == LFUN_INDEX_INSERT;
// Open the inset, and move the current selection
// inside it.
- doInsertInset(cur, this, cmd, true, true);
+ doInsertInset(cur, this, cmd, true, true, resetfont);
cur.posForward();
cur.setCurrentFont();
// Some insets are numbered, others are shown in the outline pane so
// let's update the labels and the toc backend.
cur.forceBufferUpdate();
break;
+ }
case LFUN_FLEX_INSERT: {
// Open the inset, and move the current selection
commit 6adb083384e1c47a11595fc9b06ba3c9b4f9ae63
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Wed Feb 16 14:24:46 2022 +0100
Use copy
diff --git a/src/Text3.cpp b/src/Text3.cpp
index 777a580..9143e26 100644
--- a/src/Text3.cpp
+++ b/src/Text3.cpp
@@ -326,7 +326,7 @@ static bool doInsertInset(Cursor & cur, Text * text,
if (inset_text) {
Font const & font = inset->inheritFont()
? cur.bv().textMetrics(text).displayFont(cur.pit(), cur.pos())
- : buffer.params().getFont();
+ : bparams.getFont();
inset_text->setOuterFont(cur.bv(), font.fontInfo());
}
commit 1888a2ccb5a7606a06a11a177c6202fe4f041aea
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Wed Feb 16 13:17:30 2022 +0100
Oops.
diff --git a/src/LaTeX.cpp b/src/LaTeX.cpp
index 9cfd735..7734b02 100644
--- a/src/LaTeX.cpp
+++ b/src/LaTeX.cpp
@@ -588,8 +588,8 @@ int LaTeX::runMakeIndex(string const & f, OutputParams const & rp,
int LaTeX::runMakeIndexNomencl(FileName const & fname,
string const & nlo, string const & nls)
{
- LYXERR(Debug::LATEX, "Running Nocmenclature Processor.");
- message(_("Running Nocmenclature Processor."));
+ LYXERR(Debug::LATEX, "Running Nomenclature Processor.");
+ message(_("Running Nomenclature Processor."));
string tmp = lyxrc.nomencl_command + ' ';
// onlyFileName() is needed for cygwin
tmp += quoteName(onlyFileName(changeExtension(fname.absFileName(), nlo)));
commit cc4de1501c18dce1d35f253e0b06b5188a24dd45
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Wed Feb 16 13:16:24 2022 +0100
More generic message
Nomencl processor can be something else than makeindex.
diff --git a/src/LaTeX.cpp b/src/LaTeX.cpp
index c38f5cb..9cfd735 100644
--- a/src/LaTeX.cpp
+++ b/src/LaTeX.cpp
@@ -588,8 +588,8 @@ int LaTeX::runMakeIndex(string const & f, OutputParams const & rp,
int LaTeX::runMakeIndexNomencl(FileName const & fname,
string const & nlo, string const & nls)
{
- LYXERR(Debug::LATEX, "Running MakeIndex for nomencl.");
- message(_("Running MakeIndex for nomencl."));
+ LYXERR(Debug::LATEX, "Running Nocmenclature Processor.");
+ message(_("Running Nocmenclature Processor."));
string tmp = lyxrc.nomencl_command + ' ';
// onlyFileName() is needed for cygwin
tmp += quoteName(onlyFileName(changeExtension(fname.absFileName(), nlo)));
commit cd75f429b0f7e38088da51975ba4743ec253367a
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Wed Feb 16 13:11:15 2022 +0100
de.po
diff --git a/po/de.gmo b/po/de.gmo
index b25fa6c..a623117 100644
Binary files a/po/de.gmo and b/po/de.gmo differ
diff --git a/po/de.po b/po/de.po
index 06508e9..1d8be99 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: 2022-02-12 17:36+0100\n"
-"PO-Revision-Date: 2022-02-12 17:40+0100\n"
+"POT-Creation-Date: 2022-02-16 13:07+0100\n"
+"PO-Revision-Date: 2022-02-16 13:10+0100\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"
@@ -17091,8 +17091,8 @@ msgstr "FuÃnote"
msgid "Greyedout"
msgstr "Grauschrift"
-#: lib/layouts/stdinsets.inc:208 src/insets/InsetERT.cpp:542
-#: src/insets/InsetERT.cpp:543
+#: lib/layouts/stdinsets.inc:208 src/insets/InsetERT.cpp:251
+#: src/insets/InsetERT.cpp:252
msgid "ERT"
msgstr "ERT"
@@ -19649,7 +19649,7 @@ msgid "Copy as Reference|R"
msgstr "Als Querverweis kopieren|k"
#: lib/ui/stdcontext.inc:61 lib/ui/stdcontext.inc:375 lib/ui/stdmenus.inc:108
-#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1571
+#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1576
#: src/mathed/InsetMathNest.cpp:555
msgid "Cut"
msgstr "Ausschneiden"
@@ -19660,7 +19660,7 @@ msgid "Copy"
msgstr "Kopieren"
#: lib/ui/stdcontext.inc:63 lib/ui/stdcontext.inc:377 lib/ui/stdmenus.inc:110
-#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1515
+#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1520
#: src/frontends/qt/GuiToolbar.cpp:441 src/mathed/InsetMathGrid.cpp:1565
#: src/mathed/InsetMathNest.cpp:533
msgid "Paste"
@@ -27297,7 +27297,7 @@ msgstr ""
"\\lyxdeleted im LaTeX-Vorspann neu."
#: src/Buffer.cpp:1086 src/BufferParams.cpp:475 src/frontends/qt/GuiLog.cpp:293
-#: src/insets/InsetIndex.cpp:674
+#: src/insets/InsetIndex.cpp:676
msgid "Index"
msgstr "Stichwortverzeichnis"
@@ -29436,35 +29436,39 @@ msgstr " Optionen: "
msgid "Waiting for LaTeX run number %1$d"
msgstr "Warten auf LaTeX-Durchlauf Nr. %1$d"
-#: src/LaTeX.cpp:324 src/LaTeX.cpp:461
+#: src/LaTeX.cpp:328
+msgid "Running Bibliography Processor."
+msgstr "Literaturverzeichnis-Prozessor wird ausgeführt."
+
+#: src/LaTeX.cpp:389
+msgid "Re-Running Bibliography Processor."
+msgstr "Literaturverzeichnis-Prozessor wird noch einmal ausgeführt."
+
+#: src/LaTeX.cpp:429
msgid "Running Index Processor."
msgstr "Indexprozessor wird ausgeführt."
-#: src/LaTeX.cpp:377 src/LaTeX.cpp:438
-msgid "Running BibTeX."
-msgstr "BibTeX wird ausgeführt."
-
-#: src/LaTeX.cpp:611
+#: src/LaTeX.cpp:592
msgid "Running MakeIndex for nomencl."
msgstr "MakeIndex wird für nomencl ausgeführt."
-#: src/LaTeX.cpp:1115
+#: src/LaTeX.cpp:1096
msgid "(NOTE: The erroneous command is in the preamble)"
msgstr "(ACHTUNG: Der fehlerhafte Befehl befindet sich in der Präambel)"
-#: src/LaTeX.cpp:1607 src/LaTeX.cpp:1613 src/LaTeX.cpp:1622
+#: src/LaTeX.cpp:1588 src/LaTeX.cpp:1594 src/LaTeX.cpp:1603
msgid "BibTeX error: "
msgstr "BibTeX-Fehler: "
-#: src/LaTeX.cpp:1629
+#: src/LaTeX.cpp:1610
msgid "Biber error: "
msgstr "Biber-Fehler: "
-#: src/LaTeX.cpp:1656
+#: src/LaTeX.cpp:1637
msgid "Makeindex error: "
msgstr "Makeindex-Fehler: "
-#: src/LaTeX.cpp:1665
+#: src/LaTeX.cpp:1646
msgid "Xindy error: "
msgstr "Xindy-Fehler: "
@@ -30552,56 +30556,56 @@ msgstr ", Grenze: "
msgid "No font change defined."
msgstr "Keine Schriftänderung definiert."
-#: src/Text3.cpp:195
+#: src/Text3.cpp:200
msgid "Math editor mode"
msgstr "Mathe-Editor-Modus"
-#: src/Text3.cpp:197
+#: src/Text3.cpp:202
msgid "No valid math formula"
msgstr "Keine gültige Matheformel"
-#: src/Text3.cpp:205 src/mathed/InsetMathNest.cpp:1032
+#: src/Text3.cpp:210 src/mathed/InsetMathNest.cpp:1032
msgid "Already in regular expression mode"
msgstr "Bereits im Regexp-Modus"
-#: src/Text3.cpp:218
+#: src/Text3.cpp:223
msgid "Regexp editor mode"
msgstr "Regexp-Editor-Modus"
-#: src/Text3.cpp:1605
+#: src/Text3.cpp:1610
msgid "Layout "
msgstr "Format "
-#: src/Text3.cpp:1606 src/Text3.cpp:2176
+#: src/Text3.cpp:1611 src/Text3.cpp:2182
msgid " not known"
msgstr " unbekannt"
-#: src/Text3.cpp:2175
+#: src/Text3.cpp:2181
msgid "Table Style "
msgstr "Tabellenstil"
-#: src/Text3.cpp:2368 src/frontends/qt/GuiApplication.cpp:1873
+#: src/Text3.cpp:2374 src/frontends/qt/GuiApplication.cpp:1873
msgid "Missing argument"
msgstr "Fehlendes Argument"
-#: src/Text3.cpp:2537
+#: src/Text3.cpp:2539
msgid "Invalid argument (number exceeds stack size)!"
msgstr "Ungültiges Argument (Zahl gröÃer als Zwischenspeicher)!"
-#: src/Text3.cpp:2541
+#: src/Text3.cpp:2543
msgid "Invalid argument (must be a non-negative number)!"
msgstr "Ungültiges Argument (muss eine nicht-negative Zahl sein)!"
-#: src/Text3.cpp:2546 src/Text3.cpp:2564
+#: src/Text3.cpp:2548 src/Text3.cpp:2562
#, c-format
msgid "Text properties applied: %1$s"
msgstr "Angewendete Texteigenschaften: %1$s"
-#: src/Text3.cpp:2723
+#: src/Text3.cpp:2721
msgid "Path to thesaurus directory not set!"
msgstr "Pfad zum Thesaurus-Wörterbuch nicht festlegt!"
-#: src/Text3.cpp:2724
+#: src/Text3.cpp:2722
msgid ""
"The path to the thesaurus directory has not been specified.\n"
"The thesaurus is not functional.\n"
@@ -30613,7 +30617,7 @@ msgstr ""
"Im Benutzerhandbuch, Abschnitt 6.15.11, finden Sie Hinweise,\n"
"um den Thesaurus einzurichten."
-#: src/Text3.cpp:2850 src/Text3.cpp:2861
+#: src/Text3.cpp:2848 src/Text3.cpp:2859
msgid "Paragraph layout set"
msgstr "Absatzformat festgelegt"
@@ -30737,8 +30741,8 @@ msgstr ""
msgid "Error reading cite engine %1$s\n"
msgstr "Fehler beim Lesen der Zitierformatdatei %1$s\n"
-#: src/TocBackend.cpp:270 src/insets/InsetIndex.cpp:500
-#: src/insets/InsetIndex.cpp:521
+#: src/TocBackend.cpp:270 src/insets/InsetIndex.cpp:502
+#: src/insets/InsetIndex.cpp:523
msgid "unknown type!"
msgstr "unbekannter Typ!"
@@ -35639,7 +35643,7 @@ msgid "active"
msgstr "aktiv"
#: src/insets/InsetBranch.cpp:70 src/insets/InsetBranch.cpp:72
-#: src/insets/InsetIndex.cpp:682
+#: src/insets/InsetIndex.cpp:684
msgid "non-active"
msgstr "inaktiv"
@@ -36147,19 +36151,19 @@ msgstr ""
"Bitte legen Sie die Sortierung manuell fest. Hinweise\n"
"zum Vorgehen finden Sie im Benutzerhandbuch."
-#: src/insets/InsetIndex.cpp:493
+#: src/insets/InsetIndex.cpp:495
msgid "Index Entry"
msgstr "Stichwort"
-#: src/insets/InsetIndex.cpp:679
+#: src/insets/InsetIndex.cpp:681
msgid "Unknown index type!"
msgstr "Unbekannter Index-Typ!"
-#: src/insets/InsetIndex.cpp:680
+#: src/insets/InsetIndex.cpp:682
msgid "All indexes"
msgstr "Alle Indexe"
-#: src/insets/InsetIndex.cpp:684
+#: src/insets/InsetIndex.cpp:686
msgid "subindex"
msgstr "Unterindex"
@@ -37748,6 +37752,9 @@ msgstr ""
msgid "Unknown user"
msgstr "Unbekannter Benutzer"
+#~ msgid "Running BibTeX."
+#~ msgstr "BibTeX wird ausgeführt."
+
#~ msgid "e.g.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
#~ msgstr "z. B.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
commit 8cb7fb26d758f46bb6582761b88cbec0c3db872e
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Wed Feb 16 12:03:38 2022 +0100
Fix run of index processor in the export chain (#2696)
It does not make sense to issue the index processor before the
pagination is fixed. Particularly, if (classic) BibTeX is run,
we need one or more extra LaTeX runs after that before issuing
the index processor, since the citation labels and references are
only expanded then, which might change pagination. As a consequence,
we ended up in wrong index references.
This fixes a 16 year old bug report.
diff --git a/src/LaTeX.cpp b/src/LaTeX.cpp
index ce3d73e..c38f5cb 100644
--- a/src/LaTeX.cpp
+++ b/src/LaTeX.cpp
@@ -306,63 +306,14 @@ int LaTeX::run(TeXErrors & terr)
head.update();
// 1
- // At this point we must run external programs if needed.
- // makeindex will be run if a .idx file changed or was generated.
- // And if there were undefined citations or changes in references
- // the .aux file is checked for signs of bibtex. Bibtex is then run
- // if needed.
-
- // memoir (at least) writes an empty *idx file in the first place.
- // A second latex run is needed.
- FileName const idxfile(changeExtension(file.absFileName(), ".idx"));
- rerun = idxfile.exists() && idxfile.isFileEmpty();
-
- // run makeindex
- if (head.haschanged(idxfile)) {
- // no checks for now
- LYXERR(Debug::LATEX, "Running MakeIndex.");
- message(_("Running Index Processor."));
- // onlyFileName() is needed for cygwin
- int const ret =
- runMakeIndex(onlyFileName(idxfile.absFileName()), runparams);
- if (ret == Systemcall::KILLED || ret == Systemcall::TIMEOUT)
- return ret;
- FileName const ilgfile(changeExtension(file.absFileName(), ".ilg"));
- if (ilgfile.exists())
- iscanres = scanIlgFile(terr);
- rerun = true;
- }
-
- FileName const nlofile(changeExtension(file.absFileName(), ".nlo"));
- // If all nomencl entries are removed, nomencl writes an empty nlo file.
- // DepTable::hasChanged() returns false in this case, since it does not
- // distinguish empty files from non-existing files. This is why we need
- // the extra checks here (to trigger a rerun). Cf. discussions in #8905.
- // FIXME: Sort out the real problem in DepTable.
- if (head.haschanged(nlofile) || (nlofile.exists() && nlofile.isFileEmpty())) {
- int const ret = runMakeIndexNomencl(file, ".nlo", ".nls");
- if (ret == Systemcall::KILLED || ret == Systemcall::TIMEOUT)
- return ret;
- rerun = true;
- }
-
- FileName const glofile(changeExtension(file.absFileName(), ".glo"));
- if (head.haschanged(glofile)) {
- int const ret = runMakeIndexNomencl(file, ".glo", ".gls");
- if (ret)
- return ret;
- rerun = true;
- }
-
-
- // check if we're using biber instead of bibtex
+ // At this point we must run the bibliography processor if needed.
+ // First, check if we're using biber instead of bibtex --
// biber writes no info to the aux file, so we just check
- // if a bcf file exists (and if it was updated)
+ // if a bcf file exists (and if it was updated).
FileName const bcffile(changeExtension(file.absFileName(), ".bcf"));
biber |= head.exist(bcffile);
- // run bibtex
- // if (scanres & UNDEF_CIT || scanres & RERUN || run_bibtex)
+ // If (scanres & UNDEF_CIT || scanres & RERUN || run_bibtex)
// We do not run bibtex/biber on an "includeall" call (whose purpose is
// to set up/maintain counters and references for includeonly) since
// (1) bibliographic references will be updated on the subsequent includeonly run
@@ -373,8 +324,8 @@ int LaTeX::run(TeXErrors & terr)
// "\bibdata" and/or "\bibstyle". If one of those
// tags is found -> run bibtex and set rerun = true;
// no checks for now
- LYXERR(Debug::LATEX, "Running BibTeX.");
- message(_("Running BibTeX."));
+ LYXERR(Debug::LATEX, "Running Bibliography Processor.");
+ message(_("Running Bibliography Processor."));
updateBibtexDependencies(head, bibtex_info);
int exit_code;
rerun |= runBibTeX(bibtex_info, runparams, exit_code);
@@ -391,7 +342,7 @@ int LaTeX::run(TeXErrors & terr)
}
// 2
- // we know on this point that latex has been run once (or we just
+ // We know on this point that latex has been run once (or we just
// returned) and the question now is to decide if we need to run
// it any more. This is done by asking if any of the files in the
// dependency file has changed. (remember that the checksum for
@@ -421,7 +372,7 @@ int LaTeX::run(TeXErrors & terr)
}
// 3
- // rerun bibtex?
+ // Rerun bibliography processor?
// Complex bibliography packages such as Biblatex require
// an additional bibtex cycle sometimes.
// We do not run bibtex/biber on an "includeall" call (whose purpose is
@@ -434,8 +385,8 @@ int LaTeX::run(TeXErrors & terr)
// "\bibdata" and/or "\bibstyle". If one of those
// tags is found -> run bibtex and set rerun = true;
// no checks for now
- LYXERR(Debug::LATEX, "Running BibTeX.");
- message(_("Running BibTeX."));
+ LYXERR(Debug::LATEX, "Re-Running Bibliography Processor.");
+ message(_("Re-Running Bibliography Processor."));
updateBibtexDependencies(head, bibtex_info);
int exit_code;
rerun |= runBibTeX(bibtex_info, runparams, exit_code);
@@ -447,21 +398,38 @@ int LaTeX::run(TeXErrors & terr)
}
// 4
- // The inclusion of files generated by external programs such as
- // makeindex or bibtex might have done changes to pagenumbering,
- // etc. And because of this we must run the external programs
- // again to make sure everything is redone correctly.
- // Also there should be no need to run the external programs any
- // more after this.
-
- // run makeindex if the <file>.idx has changed or was generated.
- if (head.haschanged(idxfile)) {
+ // After the bibliography was processed, we need more passes of LaTeX
+ // in order to resolve the citations. We need to do this before the index
+ // is being generated (since we need the correct pagination, see #2696).
+ // Also, memoir (at least) writes an empty *idx file in the first place.
+ // A further latex run is needed in that case as well.
+ FileName const idxfile(changeExtension(file.absFileName(), ".idx"));
+ if (run_bibtex || (idxfile.exists() && idxfile.isFileEmpty())) {
+ while ((head.sumchange() || rerun || (scanres & RERUN))
+ && count < MAX_RUN) {
+ // Yes rerun until message goes away, or until
+ // MAX_RUNS are reached.
+ rerun = false;
+ ++count;
+ LYXERR(Debug::LATEX, "Run #" << count);
+ message(runMessage(count));
+ startscript();
+ scanres = scanLogFile(terr);
+
+ // keep this updated
+ head.update();
+ }
+ }
+
+ // 5
+ // Now that we have final pagination, run the index and nomencl processors
+ if (idxfile.exists()) {
// no checks for now
- LYXERR(Debug::LATEX, "Running MakeIndex.");
+ LYXERR(Debug::LATEX, "Running Index Processor.");
message(_("Running Index Processor."));
// onlyFileName() is needed for cygwin
- int const ret = runMakeIndex(onlyFileName(changeExtension(
- file.absFileName(), ".idx")), runparams);
+ int const ret =
+ runMakeIndex(onlyFileName(idxfile.absFileName()), runparams);
if (ret == Systemcall::KILLED || ret == Systemcall::TIMEOUT)
return ret;
FileName const ilgfile(changeExtension(file.absFileName(), ".ilg"));
@@ -469,15 +437,28 @@ int LaTeX::run(TeXErrors & terr)
iscanres = scanIlgFile(terr);
rerun = true;
}
+ FileName const nlofile(changeExtension(file.absFileName(), ".nlo"));
+ // If all nomencl entries are removed, nomencl writes an empty nlo file.
+ // DepTable::hasChanged() returns false in this case, since it does not
+ // distinguish empty files from non-existing files. This is why we need
+ // the extra checks here (to trigger a rerun). Cf. discussions in #8905.
+ // FIXME: Sort out the real problem in DepTable.
+ if (head.haschanged(nlofile) || (nlofile.exists() && nlofile.isFileEmpty())) {
+ int const ret = runMakeIndexNomencl(file, ".nlo", ".nls");
+ if (ret == Systemcall::KILLED || ret == Systemcall::TIMEOUT)
+ return ret;
+ rerun = true;
+ }
+ FileName const glofile(changeExtension(file.absFileName(), ".glo"));
+ if (head.haschanged(glofile)) {
+ int const ret = runMakeIndexNomencl(file, ".glo", ".gls");
+ if (ret)
+ return ret;
+ rerun = true;
+ }
- // MSVC complains that bool |= int is unsafe. Not sure why.
- if (head.haschanged(nlofile))
- rerun |= (runMakeIndexNomencl(file, ".nlo", ".nls") != 0);
- if (head.haschanged(glofile))
- rerun |= (runMakeIndexNomencl(file, ".glo", ".gls") != 0);
-
- // 5
- // we will only run latex more if the log file asks for it.
+ // 6
+ // We will re-run latex if the log file asks for it,
// or if the sumchange() is true.
// -> rerun asked for:
// run latex and
commit 9729b22d9e964f22b18c9f82add716b91873c006
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Tue Feb 15 16:17:19 2022 +0100
Always update buffer when language is being changed (#12481)
diff --git a/src/Text3.cpp b/src/Text3.cpp
index c75a9c3..777a580 100644
--- a/src/Text3.cpp
+++ b/src/Text3.cpp
@@ -118,6 +118,11 @@ static void toggleAndShow(Cursor & cur, Text * text,
cur.real_current_font))
text->setCursor(cur, cur.pit(), cur.pos(),
false, !cur.boundary());
+ if (font.language() != ignore_language)
+ // We need a buffer update if we change the language
+ // (e.g., with info insets or if the selection contains
+ // a par label)
+ cur.forceBufferUpdate();
}
}
@@ -2520,10 +2525,6 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
selectWordWhenUnderCursor(cur, WHOLE_WORD_STRICT);
Font font(ignore_font, lang);
toggleAndShow(cur, this, font, toggle);
- // We need a buffer update if we change the language
- // of an info inset
- if (cur.insetInSelection(INFO_CODE))
- cur.forceBufferUpdate();
break;
}
@@ -2558,10 +2559,6 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
freeFonts.push(make_pair(props, font));
toggleall = toggle;
toggleAndShow(cur, this, font, toggleall);
- // We need a buffer update if we change the language
- // of an info inset
- if (cur.insetInSelection(INFO_CODE))
- cur.forceBufferUpdate();
cur.message(bformat(_("Text properties applied: %1$s"), props));
} else
LYXERR0("Invalid argument of textstyle-update");
commit 895de6f960fd9cf8c7f59e3dc632f8bfbc5147e4
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Tue Feb 15 12:50:25 2022 +0100
Whitespace
diff --git a/src/Layout.h b/src/Layout.h
index 99cc4df..a6c0d6c 100644
--- a/src/Layout.h
+++ b/src/Layout.h
@@ -116,11 +116,11 @@ public:
docstring docbooktag;
docstring docbooktagtype;
docstring docbookattr;
- /// Whether this argument should be output after the main tag (default: inside). The result if the argument
- /// should be output both before and after the main tag is undefined.
+ /// Whether this argument should be output after the main tag (default: inside). The result if the argument
+ /// should be output both before and after the main tag is undefined.
bool docbookargumentbeforemaintag = false;
- /// Whether this argument should be output before the main tag (default: inside). The result if the argument
- /// should be output both before and after the main tag is undefined.
+ /// Whether this argument should be output before the main tag (default: inside). The result if the argument
+ /// should be output both before and after the main tag is undefined.
bool docbookargumentaftermaintag = false;
};
///
commit 58b8eda64fd9ca174e8a2dd1f9d83e6e3dbe3ec6
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Tue Feb 15 10:53:34 2022 +0100
de/Customization: fix typo.
diff --git a/lib/doc/de/Customization.lyx b/lib/doc/de/Customization.lyx
index a569eaa..e1728fd 100644
--- a/lib/doc/de/Customization.lyx
+++ b/lib/doc/de/Customization.lyx
@@ -1,5 +1,5 @@
#LyX 2.4 created this file. For more info see https://www.lyx.org/
-\lyxformat 606
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
@@ -144,6 +144,7 @@ logicalmkup
\html_css_as_file 0
\html_be_strict false
\docbook_table_output 0
+\docbook_mathml_prefix 1
\end_header
\begin_body
@@ -11293,7 +11294,7 @@ post:
\end_inset
werden jedoch nach diesem Arbeitsumgebungs-Argument ausgegeben.
- Bachten Sie, dass die Nummerierung solcher Post-Argumente wieder bei 1
+ Beachten Sie, dass die Nummerierung solcher Post-Argumente wieder bei 1
beginnt.
Das erste Argument, das dem Arbeitsumgebungs-Argument folgt, ist somit
commit 6fa457dddeea1693d32b3a43e97466506c9326f3
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Tue Feb 15 10:24:39 2022 +0100
Fix #10649
diff --git a/src/insets/InsetIndex.cpp b/src/insets/InsetIndex.cpp
index fef2467..3cce6af 100644
--- a/src/insets/InsetIndex.cpp
+++ b/src/insets/InsetIndex.cpp
@@ -161,8 +161,10 @@ void InsetIndex::latex(otexstream & ios, OutputParams const & runparams_in) cons
"explained in the User Guide."), spart));
}
// remove remaining \'s for the sorting part
- docstring const ppart =
+ docstring ppart =
subst(spart_latexed.first, from_ascii("\\"), docstring());
+ // Plain quotes need to be escaped, however (#10649)
+ ppart = subst(ppart, from_ascii("\""), from_ascii("\\\""));
os << ppart;
os << '@';
}
commit 66df0c36ca98074c32e1212375101ed13e5e8e98
Author: jpc <jpc at lyx.org>
Date: Mon Feb 14 11:30:24 2022 +0100
Update fr.po
diff --git a/po/fr.gmo b/po/fr.gmo
index 1063fe5..93d6ba4 100644
Binary files a/po/fr.gmo and b/po/fr.gmo differ
diff --git a/po/fr.po b/po/fr.po
index 87f2247..a342fa0 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -362,8 +362,8 @@ msgid ""
msgstr ""
"Project-Id-Version: LyX 2.4\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2022-01-13 17:37+0100\n"
-"PO-Revision-Date: 2022-01-13 17:39+0100\n"
+"POT-Creation-Date: 2022-02-14 11:20+0100\n"
+"PO-Revision-Date: 2022-02-14 11:29+0100\n"
"Last-Translator: Jean-Pierre Chrétien <jeanpierre.chretien at free.fr>\n"
"Language-Team: lyxfr\n"
"Language: fr\n"
@@ -739,9 +739,9 @@ msgstr "Sélectionner un fichier de style à partir de votre répertoire local"
msgid "Add L&ocal..."
msgstr "Ajouter l&ocal..."
-#: src/frontends/qt/ui/BibtexUi.ui:304 lib/layouts/beamer.layout:518
-#: lib/layouts/beamer.layout:547 lib/layouts/beamer.layout:558
-#: lib/layouts/beamer.layout:586 lib/layouts/beamer.layout:689
+#: src/frontends/qt/ui/BibtexUi.ui:304 lib/layouts/beamer.layout:520
+#: lib/layouts/beamer.layout:549 lib/layouts/beamer.layout:560
+#: lib/layouts/beamer.layout:588 lib/layouts/beamer.layout:691
#: lib/layouts/chessboard.module:31 lib/layouts/chessboard.module:61
#: lib/layouts/chessboard.module:139 lib/layouts/fixme.module:68
#: lib/layouts/fixme.module:103 lib/layouts/fixme.module:146
@@ -937,7 +937,7 @@ msgstr "Ãlongation"
#: 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:1552
+#: src/frontends/qt/ui/WrapUi.ui:47 src/frontends/qt/GuiDocument.cpp:1554
#: src/frontends/qt/GuiParagraph.cpp:115 src/frontends/qt/GuiTabular.cpp:1042
msgid "Left"
msgstr "Ã gauche"
@@ -950,7 +950,7 @@ msgstr "Centré"
#: 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:1554 src/frontends/qt/GuiParagraph.cpp:116
+#: src/frontends/qt/GuiDocument.cpp:1556 src/frontends/qt/GuiParagraph.cpp:116
#: src/frontends/qt/GuiTabular.cpp:1044
msgid "Right"
msgstr "Ã droite"
@@ -1036,7 +1036,7 @@ msgid "Remove the selected branch"
msgstr "Enlever la branche sélectionnée"
#: src/frontends/qt/ui/BranchesUi.ui:74 src/frontends/qt/ui/IndicesUi.ui:165
-#: src/Buffer.cpp:4736 src/Buffer.cpp:4749
+#: src/Buffer.cpp:4733 src/Buffer.cpp:4746
msgid "&Remove"
msgstr "&Enlever"
@@ -1110,17 +1110,17 @@ msgid "Add A&ll"
msgstr "Ajouter &tout"
#: src/frontends/qt/ui/BranchesUnknownUi.ui:58 src/Buffer.cpp:1458
-#: src/Buffer.cpp:4710 src/Buffer.cpp:4820 src/LyXVC.cpp:114 src/LyXVC.cpp:310
+#: src/Buffer.cpp:4707 src/Buffer.cpp:4817 src/LyXVC.cpp:114 src/LyXVC.cpp:310
#: src/buffer_funcs.cpp:56 src/frontends/qt/GuiBranches.cpp:226
-#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2848
+#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2852
#: src/frontends/qt/GuiParagraph.cpp:177 src/frontends/qt/GuiPrefs.cpp:3414
-#: src/frontends/qt/GuiView.cpp:2865 src/frontends/qt/GuiView.cpp:3097
-#: src/frontends/qt/GuiView.cpp:3121 src/frontends/qt/GuiView.cpp:3135
-#: src/frontends/qt/GuiView.cpp:3237 src/frontends/qt/GuiView.cpp:3282
-#: src/frontends/qt/GuiView.cpp:3337 src/frontends/qt/GuiView.cpp:3571
-#: src/frontends/qt/GuiView.cpp:3585 src/frontends/qt/GuiView.cpp:3687
-#: src/frontends/qt/GuiView.cpp:3712 src/frontends/qt/GuiView.cpp:4416
-#: src/frontends/qt/GuiView.cpp:4423 src/insets/InsetBibtex.cpp:153
+#: src/frontends/qt/GuiView.cpp:2875 src/frontends/qt/GuiView.cpp:3107
+#: src/frontends/qt/GuiView.cpp:3131 src/frontends/qt/GuiView.cpp:3145
+#: src/frontends/qt/GuiView.cpp:3247 src/frontends/qt/GuiView.cpp:3292
+#: src/frontends/qt/GuiView.cpp:3347 src/frontends/qt/GuiView.cpp:3581
+#: src/frontends/qt/GuiView.cpp:3595 src/frontends/qt/GuiView.cpp:3697
+#: src/frontends/qt/GuiView.cpp:3722 src/frontends/qt/GuiView.cpp:4426
+#: src/frontends/qt/GuiView.cpp:4433 src/insets/InsetBibtex.cpp:153
msgid "&Cancel"
msgstr "&Annuler"
@@ -1133,7 +1133,7 @@ msgstr "Branches non définies dans ce document."
msgid "&Undefined Branches:"
msgstr "Branches &indéfinies :"
-#: src/frontends/qt/ui/BulletsUi.ui:17 src/frontends/qt/ui/PDFSupportUi.ui:421
+#: src/frontends/qt/ui/BulletsUi.ui:17 src/frontends/qt/ui/PDFSupportUi.ui:406
msgid "&Level:"
msgstr "&Niveau :"
@@ -1161,13 +1161,13 @@ msgstr "&Taille :"
#: src/frontends/qt/GuiDocument.cpp:120 src/frontends/qt/GuiDocument.cpp:866
#: src/frontends/qt/GuiDocument.cpp:886 src/frontends/qt/GuiDocument.cpp:1058
#: src/frontends/qt/GuiDocument.cpp:1143 src/frontends/qt/GuiDocument.cpp:1189
-#: src/frontends/qt/GuiDocument.cpp:1200 src/frontends/qt/GuiDocument.cpp:1428
-#: src/frontends/qt/GuiDocument.cpp:1546 src/frontends/qt/GuiDocument.cpp:1553
-#: src/frontends/qt/GuiDocument.cpp:2586 src/frontends/qt/GuiDocument.cpp:2673
-#: src/frontends/qt/GuiDocument.cpp:2674 src/frontends/qt/GuiDocument.cpp:2675
-#: src/frontends/qt/GuiDocument.cpp:2699 src/frontends/qt/GuiDocument.cpp:2706
-#: src/frontends/qt/GuiDocument.cpp:2713 src/frontends/qt/GuiDocument.cpp:2803
-#: src/frontends/qt/GuiDocument.cpp:3409 src/frontends/qt/GuiDocument.cpp:4894
+#: src/frontends/qt/GuiDocument.cpp:1200 src/frontends/qt/GuiDocument.cpp:1430
+#: src/frontends/qt/GuiDocument.cpp:1548 src/frontends/qt/GuiDocument.cpp:1555
+#: src/frontends/qt/GuiDocument.cpp:2590 src/frontends/qt/GuiDocument.cpp:2677
+#: src/frontends/qt/GuiDocument.cpp:2678 src/frontends/qt/GuiDocument.cpp:2679
+#: src/frontends/qt/GuiDocument.cpp:2703 src/frontends/qt/GuiDocument.cpp:2710
+#: src/frontends/qt/GuiDocument.cpp:2717 src/frontends/qt/GuiDocument.cpp:2807
+#: src/frontends/qt/GuiDocument.cpp:3413 src/frontends/qt/GuiDocument.cpp:4908
#: src/frontends/qt/GuiExternal.cpp:76 src/frontends/qt/GuiGraphics.cpp:71
#: src/frontends/qt/GuiIndices.cpp:58 src/frontends/qt/GuiListings.cpp:160
#: src/frontends/qt/GuiListings.cpp:167 src/frontends/qt/GuiPrefs.cpp:2483
@@ -1364,7 +1364,7 @@ msgstr "Lan&gue :"
#: lib/layouts/bicaption.module:16 lib/layouts/europasscv.layout:440
#: lib/layouts/europasscv.layout:475 lib/layouts/europasscv.layout:482
#: lib/layouts/europecv.layout:321 lib/layouts/europecv.layout:327
-#: lib/layouts/moderncv.layout:580 src/frontends/qt/GuiDocument.cpp:1777
+#: lib/layouts/moderncv.layout:580 src/frontends/qt/GuiDocument.cpp:1781
#: src/frontends/qt/GuiPrefs.cpp:2430 src/frontends/qt/Menus.cpp:938
msgid "Language"
msgstr "Langue"
@@ -1558,7 +1558,7 @@ msgid "Greyed-out notes:"
msgstr "Notes grisées :"
#: src/frontends/qt/ui/ColorUi.ui:118 src/frontends/qt/ui/ColorUi.ui:256
-#: src/frontends/qt/GuiDocument.cpp:2215 src/frontends/qt/GuiDocument.cpp:2245
+#: src/frontends/qt/GuiDocument.cpp:2219 src/frontends/qt/GuiDocument.cpp:2249
msgid "&Change..."
msgstr "&Modifier..."
@@ -3008,7 +3008,7 @@ msgstr "&Paquetage d'accentuation de la syntaxe :"
#: lib/layouts/stdcounters.inc:77 lib/layouts/stdinsets.inc:338
#: lib/layouts/stdinsets.inc:344 lib/layouts/stdinsets.inc:393
#: lib/layouts/stdinsets.inc:399 src/insets/InsetCaption.cpp:410
-#: src/insets/InsetListings.cpp:611 src/insets/InsetListings.cpp:612
+#: src/insets/InsetListings.cpp:612 src/insets/InsetListings.cpp:613
msgid "Listing"
msgstr "Listing"
@@ -3681,7 +3681,7 @@ msgstr "Images"
#: src/frontends/qt/ui/OutputUi.ui:279 lib/layouts/aapaper.layout:63
#: lib/layouts/egs.layout:712 lib/languages:146
-#: src/frontends/qt/GuiDocument.cpp:1607 src/frontends/qt/GuiErrorList.cpp:50
+#: src/frontends/qt/GuiDocument.cpp:1609 src/frontends/qt/GuiErrorList.cpp:50
#: src/frontends/qt/GuiLog.cpp:282 src/frontends/qt/GuiPrefs.cpp:642
msgid "LaTeX"
msgstr "LaTeX"
@@ -3760,108 +3760,126 @@ msgstr ""
msgid "Put fra&gile content out of moving arguments"
msgstr "Mettre les éléments fragiles hors des arguments mobiles"
-#: src/frontends/qt/ui/PDFSupportUi.ui:38
+#: src/frontends/qt/ui/PDFSupportUi.ui:23
msgid "&Use hyperref support"
msgstr "&Utiliser le support pour hyperref"
-#: src/frontends/qt/ui/PDFSupportUi.ui:72
+#: src/frontends/qt/ui/PDFSupportUi.ui:57
msgid "&General"
msgstr "&Général"
-#: src/frontends/qt/ui/PDFSupportUi.ui:119
+#: src/frontends/qt/ui/PDFSupportUi.ui:104
msgid "Header Information"
msgstr "Informations sur l'en-tête"
-#: src/frontends/qt/ui/PDFSupportUi.ui:134
+#: src/frontends/qt/ui/PDFSupportUi.ui:119
msgid "&Title:"
msgstr "&Titre :"
-#: src/frontends/qt/ui/PDFSupportUi.ui:147
+#: src/frontends/qt/ui/PDFSupportUi.ui:132
msgid "&Author:"
msgstr "&Auteur :"
-#: src/frontends/qt/ui/PDFSupportUi.ui:160
+#: src/frontends/qt/ui/PDFSupportUi.ui:145
msgid "Sub&ject:"
msgstr "Obj&et :"
-#: src/frontends/qt/ui/PDFSupportUi.ui:173
+#: src/frontends/qt/ui/PDFSupportUi.ui:158
msgid "&Keywords:"
msgstr "Mots-&clés :"
-#: src/frontends/qt/ui/PDFSupportUi.ui:206
+#: src/frontends/qt/ui/PDFSupportUi.ui:191
msgid ""
"If not stated explicitly, fill title and author from appropriate environments"
msgstr ""
"Sauf mention explicite, compléter le titre et l'auteur à partir des "
"environnements appropriés"
-#: src/frontends/qt/ui/PDFSupportUi.ui:209
+#: src/frontends/qt/ui/PDFSupportUi.ui:194
msgid "Automatically fi&ll header"
msgstr "Compléter automatiquement &l'en-tête"
-#: src/frontends/qt/ui/PDFSupportUi.ui:216
+#: src/frontends/qt/ui/PDFSupportUi.ui:201
msgid "Enable fullscreen PDF presentation"
msgstr "Activer la présentation PDF plein écran"
-#: src/frontends/qt/ui/PDFSupportUi.ui:219
+#: src/frontends/qt/ui/PDFSupportUi.ui:204
msgid "Load in &fullscreen mode"
msgstr "Char&ger en mode plein écran"
-#: src/frontends/qt/ui/PDFSupportUi.ui:229
+#: src/frontends/qt/ui/PDFSupportUi.ui:214
msgid "H&yperlinks"
msgstr "H&yperliens"
-#: src/frontends/qt/ui/PDFSupportUi.ui:280
+#: src/frontends/qt/ui/PDFSupportUi.ui:265
msgid "Allows link text to break across lines."
msgstr "Permettre la césure des liens."
-#: src/frontends/qt/ui/PDFSupportUi.ui:283
+#: src/frontends/qt/ui/PDFSupportUi.ui:268
msgid "B&reak links over lines"
msgstr "&Césure les liens"
-#: src/frontends/qt/ui/PDFSupportUi.ui:290
+#: src/frontends/qt/ui/PDFSupportUi.ui:275
msgid "No &frames around links"
msgstr "Pas de &cadre autour des liens"
-#: src/frontends/qt/ui/PDFSupportUi.ui:300
+#: src/frontends/qt/ui/PDFSupportUi.ui:285
msgid "C&olor links"
msgstr "C&ouleurs des liens"
-#: src/frontends/qt/ui/PDFSupportUi.ui:307
+#: src/frontends/qt/ui/PDFSupportUi.ui:292
msgid "Bibliographical backreferences"
msgstr "Renvois bibliographiques"
-#: src/frontends/qt/ui/PDFSupportUi.ui:310
+#: src/frontends/qt/ui/PDFSupportUi.ui:295
msgid "B&ackreferences:"
msgstr "R&envois :"
-#: src/frontends/qt/ui/PDFSupportUi.ui:339
+#: src/frontends/qt/ui/PDFSupportUi.ui:324
msgid "&Bookmarks"
msgstr "&Signets"
-#: src/frontends/qt/ui/PDFSupportUi.ui:360
+#: src/frontends/qt/ui/PDFSupportUi.ui:345
msgid "G&enerate bookmarks (toc)"
msgstr "Créer les sign&ets (TdM)"
-#: src/frontends/qt/ui/PDFSupportUi.ui:390
+#: src/frontends/qt/ui/PDFSupportUi.ui:375
msgid "&Numbered bookmarks"
msgstr "Signets &numérotés"
-#: src/frontends/qt/ui/PDFSupportUi.ui:397
+#: src/frontends/qt/ui/PDFSupportUi.ui:382
msgid "&Open bookmark tree"
msgstr "&Ouverture de l'arbre des signets"
-#: src/frontends/qt/ui/PDFSupportUi.ui:431
+#: src/frontends/qt/ui/PDFSupportUi.ui:416
msgid "Number of levels"
msgstr "Nombre de niveaux"
-#: src/frontends/qt/ui/PDFSupportUi.ui:473
+#: src/frontends/qt/ui/PDFSupportUi.ui:455
msgid "Additional O&ptions"
msgstr "Autres o&ptions"
-#: src/frontends/qt/ui/PDFSupportUi.ui:509
-msgid "e.g.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
-msgstr "e.g. : pdfstartview=XYZ, plainpages=false, pdfpagelabels"
+#: src/frontends/qt/ui/PDFSupportUi.ui:461
+msgid ""
+"Additional hyperref options (comma-separated) to be passed via \\hypersetup."
+msgstr ""
+"Options hyperref supplémentaires (séparées par des virgules) devant être "
+"transmises via \\hypersetup."
+
+#: src/frontends/qt/ui/PDFSupportUi.ui:464
+msgid "Hyperse&tup"
+msgstr "Hyperse&tup"
+
+#: src/frontends/qt/ui/PDFSupportUi.ui:487
+msgid ""
+"Document metadata and PDF settings (as specified in LaTeX 06/2022 and later)"
+msgstr ""
+"Métadonnées du document et réglages du PDF (tels que spécifiés dans LaTeX "
+"06/2022 et suivants)"
+
+#: src/frontends/qt/ui/PDFSupportUi.ui:490
+msgid "Document &Metadata"
+msgstr "M&étadonnées du document"
#: src/frontends/qt/ui/PageLayoutUi.ui:20
msgid "Paper Format"
@@ -3892,7 +3910,7 @@ msgstr "Pa&ysage"
#: 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:1775
+#: lib/layouts/multicol.module:3 src/frontends/qt/GuiDocument.cpp:1779
msgid "Page Layout"
msgstr "Format de la page"
@@ -3939,7 +3957,7 @@ msgstr "Double"
#: src/frontends/qt/GuiDocument.cpp:867 src/frontends/qt/GuiDocument.cpp:873
#: src/frontends/qt/GuiDocument.cpp:881 src/frontends/qt/GuiDocument.cpp:997
#: src/frontends/qt/GuiDocument.cpp:1064 src/frontends/qt/GuiDocument.cpp:1150
-#: src/frontends/qt/GuiDocument.cpp:1201 src/frontends/qt/GuiDocument.cpp:1547
+#: src/frontends/qt/GuiDocument.cpp:1201 src/frontends/qt/GuiDocument.cpp:1549
#: src/frontends/qt/GuiHSpace.cpp:57 src/frontends/qt/GuiPrefs.cpp:816
#: src/frontends/qt/GuiPrefs.cpp:844 src/frontends/qt/GuiPrefs.cpp:871
#: src/frontends/qt/GuiPrefs.cpp:2329 src/frontends/qt/GuiPrefs.cpp:2352
@@ -4756,7 +4774,7 @@ msgstr ""
"documents"
#: src/frontends/qt/ui/PrefLanguageUi.ui:77
-#: src/frontends/qt/GuiDocument.cpp:1060 src/frontends/qt/GuiDocument.cpp:2720
+#: src/frontends/qt/GuiDocument.cpp:1060 src/frontends/qt/GuiDocument.cpp:2724
#: src/frontends/qt/GuiPrefs.cpp:815 src/frontends/qt/GuiPrefs.cpp:843
msgid "Automatic"
msgstr "Automatique"
@@ -6503,8 +6521,8 @@ msgstr "Seulement le corps"
msgid "Select the output format"
msgstr "Sélectionner le format de sortie"
-#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3712
-#: src/frontends/qt/GuiView.cpp:4416
+#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3722
+#: src/frontends/qt/GuiView.cpp:4426
msgid "&Reload"
msgstr "&Recharger"
@@ -7036,10 +7054,10 @@ msgstr "Notes de figure"
#: lib/layouts/acmsiggraph-0-92.layout:44 lib/layouts/acmsiggraph.layout:36
#: lib/layouts/agutex.layout:33 lib/layouts/amsart.layout:33
#: lib/layouts/amsbook.layout:34 lib/layouts/apa.layout:26
-#: lib/layouts/apax.inc:22 lib/layouts/beamer.layout:65
-#: lib/layouts/beamer.layout:1209 lib/layouts/beamer.layout:1236
-#: lib/layouts/beamer.layout:1263 lib/layouts/beamer.layout:1388
-#: lib/layouts/beamer.layout:1425 lib/layouts/broadway.layout:179
+#: lib/layouts/apax.inc:22 lib/layouts/beamer.layout:67
+#: lib/layouts/beamer.layout:1211 lib/layouts/beamer.layout:1238
+#: lib/layouts/beamer.layout:1265 lib/layouts/beamer.layout:1390
+#: lib/layouts/beamer.layout:1427 lib/layouts/broadway.layout:179
#: lib/layouts/cl2emult.layout:152 lib/layouts/db_stdclass.inc:17
#: lib/layouts/dtk.layout:33 lib/layouts/egs.layout:20
#: lib/layouts/elsart.layout:51 lib/layouts/elsarticle.layout:36
@@ -7080,7 +7098,7 @@ msgid "Text of a note in a figure"
msgstr "Texte d'une note dans une figure"
#: lib/layouts/AEA.layout:156 lib/layouts/apax.inc:240
-#: lib/layouts/beamer.layout:1437 lib/layouts/powerdot.layout:228
+#: lib/layouts/beamer.layout:1439 lib/layouts/powerdot.layout:228
msgid "Note:"
msgstr "Note :"
@@ -7098,7 +7116,7 @@ msgstr "Texte de note de tableau"
#: lib/layouts/AEA.layout:180 lib/layouts/IEEEtran.layout:49
#: lib/layouts/acmart.layout:548 lib/layouts/acmart.layout:552
-#: lib/layouts/beamer.layout:1376 lib/layouts/elsart.layout:306
+#: lib/layouts/beamer.layout:1378 lib/layouts/elsart.layout:306
#: lib/layouts/elsart.layout:310 lib/layouts/foils.layout:248
#: lib/layouts/heb-article.layout:28 lib/layouts/ijmpc.layout:421
#: lib/layouts/ijmpd.layout:428 lib/layouts/ijmpd.layout:431
@@ -7283,7 +7301,7 @@ msgid "Conjecture"
msgstr "Conjecture"
#: lib/layouts/AEA.layout:241 lib/layouts/acmart.layout:587
-#: lib/layouts/beamer.layout:1292 lib/layouts/elsart.layout:381
+#: lib/layouts/beamer.layout:1294 lib/layouts/elsart.layout:381
#: lib/layouts/foils.layout:281 lib/layouts/heb-article.layout:66
#: lib/layouts/ijmpc.layout:442 lib/layouts/ijmpd.layout:457
#: lib/layouts/ijmpd.layout:460 lib/layouts/llncs.layout:353
@@ -7331,7 +7349,7 @@ msgid "Criterion"
msgstr "Critère"
#: lib/layouts/AEA.layout:256 lib/layouts/acmart.layout:615
-#: lib/layouts/beamer.layout:1330 lib/layouts/elsart.layout:417
+#: lib/layouts/beamer.layout:1332 lib/layouts/elsart.layout:417
#: lib/layouts/foils.layout:295 lib/layouts/heb-article.layout:86
#: lib/layouts/llncs.layout:367 lib/layouts/siamltex.layout:128
#: lib/layouts/svmono.layout:34 lib/layouts/theorems-ams-bytype.inc:180
@@ -7357,7 +7375,7 @@ msgid "Definition"
msgstr "Définition"
#: lib/layouts/AEA.layout:263 lib/layouts/acmart.layout:629
-#: lib/layouts/beamer.layout:1342 lib/layouts/elsart.layout:442
+#: lib/layouts/beamer.layout:1344 lib/layouts/elsart.layout:442
#: lib/layouts/linguistics.module:18 lib/layouts/llncs.layout:374
#: lib/layouts/svmono.layout:74 lib/layouts/theorems-ams-bytype.inc:207
#: lib/layouts/theorems-ams-bytype.inc:217
@@ -7378,7 +7396,7 @@ msgstr "Définition"
#: lib/layouts/theorems-without-preamble.inc:240
#: lib/layouts/theorems-without-preamble.inc:243 lib/layouts/theorems.inc:204
#: lib/layouts/theorems.inc:213 lib/layouts/theorems.inc:216
-#: src/frontends/qt/GuiDocument.cpp:1354
+#: src/frontends/qt/GuiDocument.cpp:1356
msgid "Example"
msgstr "Exemple"
@@ -7408,7 +7426,7 @@ msgid "Exercise"
msgstr "Exercice"
#: lib/layouts/AEA.layout:277 lib/layouts/acmart.layout:594
-#: lib/layouts/beamer.layout:1364 lib/layouts/elsart.layout:372
+#: lib/layouts/beamer.layout:1366 lib/layouts/elsart.layout:372
#: lib/layouts/foils.layout:274 lib/layouts/heb-article.layout:56
#: lib/layouts/ijmpc.layout:446 lib/layouts/ijmpd.layout:465
#: lib/layouts/ijmpd.layout:468 lib/layouts/llncs.layout:388
@@ -7602,7 +7620,7 @@ msgid "Caption"
msgstr "Légende"
#: lib/layouts/AEA.layout:344 lib/layouts/IEEEtran.layout:448
-#: lib/layouts/beamer.layout:1370 lib/layouts/elsart.layout:342
+#: lib/layouts/beamer.layout:1372 lib/layouts/elsart.layout:342
#: lib/layouts/foils.layout:309 lib/layouts/heb-article.layout:106
#: lib/layouts/ijmpc.layout:399 lib/layouts/ijmpd.layout:405
#: lib/layouts/llncs.layout:408 lib/layouts/siamltex.layout:157
@@ -7655,7 +7673,7 @@ msgstr "Transactions IEEE"
#: 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/apax.inc:21 lib/layouts/beamer.layout:66
#: lib/layouts/broadway.layout:178 lib/layouts/chess.layout:30
#: lib/layouts/cl2emult.layout:151 lib/layouts/db_stdclass.inc:16
#: lib/layouts/dtk.layout:32 lib/layouts/egs.layout:19
@@ -7687,7 +7705,7 @@ msgstr "Standard"
#: lib/layouts/acmart.layout:145 lib/layouts/acmsiggraph-0-92.layout:165
#: lib/layouts/acmsiggraph.layout:141 lib/layouts/agutex.layout:56
#: lib/layouts/amsdefs.inc:27 lib/layouts/apa.layout:42 lib/layouts/apax.inc:38
-#: lib/layouts/beamer.layout:984 lib/layouts/beamerposter.layout:21
+#: lib/layouts/beamer.layout:986 lib/layouts/beamerposter.layout:21
#: lib/layouts/broadway.layout:192 lib/layouts/cl2emult.layout:41
#: lib/layouts/copernicus.layout:34 lib/layouts/docbook-book.layout:18
#: lib/layouts/docbook-chapter.layout:14 lib/layouts/docbook-section.layout:14
@@ -7730,7 +7748,7 @@ msgstr "minuscules"
#: lib/layouts/achemso.layout:84 lib/layouts/acmart.layout:81
#: lib/layouts/acmsiggraph-0-92.layout:178 lib/layouts/acmsiggraph.layout:154
#: lib/layouts/amsdefs.inc:57 lib/layouts/apa.layout:139
-#: lib/layouts/apax.inc:80 lib/layouts/beamer.layout:1048
+#: lib/layouts/apax.inc:80 lib/layouts/beamer.layout:1050
#: lib/layouts/beamerposter.layout:31 lib/layouts/broadway.layout:210
#: lib/layouts/cl2emult.layout:63 lib/layouts/copernicus.layout:61
#: lib/layouts/ectaart.layout:131 lib/layouts/ectaart.layout:217
@@ -7752,7 +7770,7 @@ msgstr "minuscules"
msgid "Author"
msgstr "Auteur"
-#: lib/layouts/IEEEtran.layout:129 lib/layouts/beamer.layout:1061
+#: lib/layouts/IEEEtran.layout:129 lib/layouts/beamer.layout:1063
msgid "Short Author|S"
msgstr "Nom d'auteur court|a"
@@ -7846,7 +7864,7 @@ msgstr "Annexes"
#: lib/layouts/acmsiggraph.layout:305 lib/layouts/agutex.layout:167
#: lib/layouts/agutex.layout:177 lib/layouts/agutex.layout:197
#: lib/layouts/agutex.layout:223 lib/layouts/amsdefs.inc:266
-#: lib/layouts/apa.layout:244 lib/layouts/beamer.layout:1169
+#: lib/layouts/apa.layout:244 lib/layouts/beamer.layout:1171
#: lib/layouts/copernicus.layout:437 lib/layouts/egs.layout:588
#: lib/layouts/egs.layout:639 lib/layouts/elsarticle.layout:333
#: lib/layouts/europasscv.layout:539 lib/layouts/europecv.layout:380
@@ -7885,7 +7903,7 @@ msgstr "TitreRevueExpert"
#: lib/layouts/ijmpc.layout:496 lib/layouts/ijmpc.layout:498
#: lib/layouts/ijmpd.layout:520 lib/layouts/ijmpd.layout:522
#: lib/layouts/kluwer.layout:364 lib/layouts/kluwer.layout:377
-#: lib/examples/Articles:0 src/RowPainter.cpp:373
+#: lib/examples/Articles:0 src/RowPainter.cpp:374
msgid "Appendix"
msgstr "Annexe"
@@ -7902,7 +7920,7 @@ msgstr "Titre court pour l'annexe"
#: lib/layouts/aapaper.layout:234 lib/layouts/aastex.layout:450
#: lib/layouts/aguplus.inc:172 lib/layouts/aguplus.inc:174
#: lib/layouts/agutex.layout:219 lib/layouts/amsbook.layout:121
-#: lib/layouts/amsdefs.inc:265 lib/layouts/beamer.layout:1168
+#: lib/layouts/amsdefs.inc:265 lib/layouts/beamer.layout:1170
#: lib/layouts/book.layout:24 lib/layouts/book.layout:26
#: lib/layouts/cl2emult.layout:115 lib/layouts/copernicus.layout:433
#: lib/layouts/egs.layout:638 lib/layouts/elsarticle.layout:329
@@ -7922,13 +7940,13 @@ msgstr "Titre court pour l'annexe"
#: lib/layouts/stdstruct.inc:59 lib/layouts/svcommon.inc:657
#: lib/layouts/tufte-book.layout:298 lib/layouts/tufte-book.layout:300
#: lib/layouts/tufte-handout.layout:77 lib/examples/Articles:0
-#: src/frontends/qt/GuiDocument.cpp:1781 src/insets/InsetBibtex.cpp:957
+#: src/frontends/qt/GuiDocument.cpp:1785 src/insets/InsetBibtex.cpp:957
msgid "Bibliography"
msgstr "Bibliographie"
#: lib/layouts/IEEEtran.layout:389 lib/layouts/aastex.layout:464
#: lib/layouts/aastex.layout:485 lib/layouts/agutex.layout:235
-#: lib/layouts/amsdefs.inc:281 lib/layouts/beamer.layout:1183
+#: lib/layouts/amsdefs.inc:281 lib/layouts/beamer.layout:1185
#: lib/layouts/cl2emult.layout:130 lib/layouts/copernicus.layout:449
#: lib/layouts/egs.layout:654 lib/layouts/elsarticle.layout:345
#: lib/layouts/ijmpc.layout:540 lib/layouts/ijmpd.layout:564
@@ -7945,7 +7963,7 @@ msgstr "Références"
#: lib/layouts/IEEEtran.layout:398 lib/layouts/aastex.layout:474
#: lib/layouts/agutex.layout:244 lib/layouts/amsdefs.inc:293
-#: lib/layouts/beamer.layout:1192 lib/layouts/cl2emult.layout:139
+#: lib/layouts/beamer.layout:1194 lib/layouts/cl2emult.layout:139
#: lib/layouts/copernicus.layout:457 lib/layouts/egs.layout:662
#: lib/layouts/elsarticle.layout:354 lib/layouts/ijmpc.layout:549
#: lib/layouts/ijmpd.layout:573 lib/layouts/iopart.layout:346
@@ -7959,7 +7977,7 @@ msgstr "Préambule biblio"
#: lib/layouts/IEEEtran.layout:399 lib/layouts/aastex.layout:475
#: lib/layouts/agutex.layout:245 lib/layouts/amsdefs.inc:294
-#: lib/layouts/beamer.layout:1193 lib/layouts/cl2emult.layout:140
+#: lib/layouts/beamer.layout:1195 lib/layouts/cl2emult.layout:140
#: lib/layouts/copernicus.layout:458 lib/layouts/egs.layout:663
#: lib/layouts/elsarticle.layout:355 lib/layouts/ijmpc.layout:550
#: lib/layouts/ijmpd.layout:574 lib/layouts/iopart.layout:347
@@ -7973,7 +7991,7 @@ msgstr "Préambule bibliographique"
#: lib/layouts/IEEEtran.layout:400 lib/layouts/aastex.layout:476
#: lib/layouts/agutex.layout:246 lib/layouts/amsdefs.inc:295
-#: lib/layouts/beamer.layout:1194 lib/layouts/cl2emult.layout:141
+#: lib/layouts/beamer.layout:1196 lib/layouts/cl2emult.layout:141
#: lib/layouts/copernicus.layout:459 lib/layouts/egs.layout:664
#: lib/layouts/elsarticle.layout:356 lib/layouts/ijmpc.layout:551
#: lib/layouts/ijmpd.layout:575 lib/layouts/iopart.layout:348
@@ -8026,7 +8044,7 @@ msgid "BiographyNoPhoto"
msgstr "BiographieSansPhoto"
#: lib/layouts/IEEEtran.layout:449 lib/layouts/acmart.layout:553
-#: lib/layouts/beamer.layout:1293 lib/layouts/elsart.layout:311
+#: lib/layouts/beamer.layout:1295 lib/layouts/elsart.layout:311
#: lib/layouts/elsart.layout:343 lib/layouts/foils.layout:249
#: lib/layouts/heb-article.layout:29 lib/layouts/heb-article.layout:107
#: lib/layouts/ijmpc.layout:402 lib/layouts/ijmpd.layout:408
@@ -8049,7 +8067,7 @@ msgstr "Autre expression de la preuve"
msgid "An alternative proof string"
msgstr "Une autre preuve"
-#: lib/layouts/IEEEtran.layout:468 lib/layouts/beamer.layout:1373
+#: lib/layouts/IEEEtran.layout:468 lib/layouts/beamer.layout:1375
#: lib/layouts/foils.layout:312 lib/layouts/llncs.layout:411
#: lib/layouts/siamltex.layout:176 lib/layouts/svcommon.inc:748
#: lib/layouts/svmono.layout:103 lib/layouts/svmono.layout:107
@@ -8205,7 +8223,7 @@ msgstr "Astronomy & Astrophysics"
#: lib/layouts/aa.layout:69 lib/layouts/aapaper.inc:9
#: lib/layouts/aapaper.layout:81 lib/layouts/acm-sigs.inc:10
-#: lib/layouts/acmart.layout:160 lib/layouts/beamer.layout:1021
+#: lib/layouts/acmart.layout:160 lib/layouts/beamer.layout:1023
#: lib/layouts/beamerposter.layout:26 lib/layouts/kluwer.layout:136
#: lib/layouts/llncs.layout:135 lib/layouts/scrclass.inc:217
#: lib/layouts/sigplanconf.layout:138 lib/layouts/svcommon.inc:356
@@ -8241,7 +8259,7 @@ msgstr "Remerciements."
#: lib/layouts/aapaper.layout:139 lib/layouts/aastex.layout:97
#: lib/layouts/aguplus.inc:29 lib/layouts/amsart.layout:66
#: lib/layouts/amsbook.layout:57 lib/layouts/apa.layout:339
-#: lib/layouts/apax.inc:438 lib/layouts/beamer.layout:288
+#: lib/layouts/apax.inc:438 lib/layouts/beamer.layout:290
#: lib/layouts/egs.layout:33 lib/layouts/europasscv.layout:264
#: lib/layouts/europecv.layout:193 lib/layouts/isprs.layout:160
#: lib/layouts/iucr.layout:47 lib/layouts/jss.layout:25
@@ -8264,7 +8282,7 @@ msgstr "Section"
#: lib/layouts/aapaper.layout:149 lib/layouts/aastex.layout:110
#: lib/layouts/aguplus.inc:44 lib/layouts/amsart.layout:107
#: lib/layouts/amsbook.layout:67 lib/layouts/apa.layout:350
-#: lib/layouts/apax.inc:449 lib/layouts/beamer.layout:350
+#: lib/layouts/apax.inc:449 lib/layouts/beamer.layout:352
#: lib/layouts/egs.layout:56 lib/layouts/isprs.layout:172
#: lib/layouts/iucr.layout:53 lib/layouts/jss.layout:29
#: lib/layouts/kluwer.layout:72 lib/layouts/latex8.layout:59
@@ -8282,7 +8300,7 @@ msgstr "SousSection"
#: lib/layouts/aapaper.layout:161 lib/layouts/aastex.layout:123
#: lib/layouts/amsart.layout:130 lib/layouts/amsbook.layout:76
#: lib/layouts/apa.layout:360 lib/layouts/apax.inc:459
-#: lib/layouts/beamer.layout:412 lib/layouts/isprs.layout:182
+#: lib/layouts/beamer.layout:414 lib/layouts/isprs.layout:182
#: lib/layouts/iucr.layout:61 lib/layouts/jss.layout:33
#: lib/layouts/kluwer.layout:82 lib/layouts/llncs.layout:67
#: lib/layouts/ltugboat.layout:90 lib/layouts/memoir.layout:129
@@ -8298,7 +8316,7 @@ msgstr "SousSousSection"
#: lib/layouts/aa.layout:253 lib/layouts/aapaper.layout:99
#: lib/layouts/aapaper.layout:202 lib/layouts/aastex.layout:265
#: lib/layouts/acmart.layout:133 lib/layouts/amsdefs.inc:82
-#: lib/layouts/beamer.layout:1120 lib/layouts/beamerposter.layout:41
+#: lib/layouts/beamer.layout:1122 lib/layouts/beamerposter.layout:41
#: lib/layouts/dinbrief.layout:218 lib/layouts/egs.layout:550
#: lib/layouts/foils.layout:169 lib/layouts/frletter.layout:24
#: lib/layouts/g-brief.layout:199 lib/layouts/g-brief2.layout:54
@@ -8318,7 +8336,7 @@ msgstr "Date"
msgid "institutemark"
msgstr "marqueinstitution"
-#: lib/layouts/aa.layout:273 lib/layouts/beamer.layout:1103
+#: lib/layouts/aa.layout:273 lib/layouts/beamer.layout:1105
msgid "Institute Mark"
msgstr "Marque d'institution"
@@ -8370,7 +8388,7 @@ msgstr "Résultat des travaux"
msgid "Key words."
msgstr "Mots-clés."
-#: lib/layouts/aa.layout:395 lib/layouts/beamer.layout:1076
+#: lib/layouts/aa.layout:395 lib/layouts/beamer.layout:1078
#: lib/layouts/beamerposter.layout:36 lib/layouts/cl2emult.layout:81
#: lib/layouts/llncs.layout:231 lib/layouts/sciposter.layout:24
#: lib/layouts/svcommon.inc:384
@@ -8421,20 +8439,20 @@ msgid "Obsolete"
msgstr "Obsolète"
#: lib/layouts/aapaper.layout:50 lib/layouts/apa.layout:391
-#: lib/layouts/apax.inc:490 lib/layouts/beamer.layout:82
+#: lib/layouts/apax.inc:490 lib/layouts/beamer.layout:84
#: lib/layouts/egs.layout:203 lib/layouts/powerdot.layout:264
#: lib/layouts/simplecv.layout:108 lib/layouts/stdlists.inc:13
msgid "Itemize"
msgstr "ListePuces"
#: lib/layouts/aapaper.layout:53 lib/layouts/apa.layout:427
-#: lib/layouts/apax.inc:527 lib/layouts/beamer.layout:131
+#: lib/layouts/apax.inc:527 lib/layouts/beamer.layout:133
#: lib/layouts/egs.layout:166 lib/layouts/powerdot.layout:326
#: lib/layouts/stdlists.inc:52
msgid "Enumerate"
msgstr "Ãnumération"
-#: lib/layouts/aapaper.layout:56 lib/layouts/beamer.layout:186
+#: lib/layouts/aapaper.layout:56 lib/layouts/beamer.layout:188
#: lib/layouts/egs.layout:239 lib/layouts/hollywood.layout:130
#: lib/layouts/paper.layout:110 lib/layouts/scrclass.inc:55
#: lib/layouts/scrlettr.layout:21 lib/layouts/scrlttr2.layout:33
@@ -8446,8 +8464,8 @@ msgstr "Description"
#: lib/layouts/aapaper.layout:59 lib/layouts/algorithm2e.module:34
#: lib/layouts/apa.layout:392 lib/layouts/apa.layout:428
#: lib/layouts/apa.layout:466 lib/layouts/apax.inc:491 lib/layouts/apax.inc:528
-#: lib/layouts/apax.inc:566 lib/layouts/beamer.layout:83
-#: lib/layouts/beamer.layout:132 lib/layouts/beamer.layout:187
+#: lib/layouts/apax.inc:566 lib/layouts/beamer.layout:85
+#: lib/layouts/beamer.layout:134 lib/layouts/beamer.layout:189
#: lib/layouts/egs.layout:139 lib/layouts/egs.layout:167
#: lib/layouts/egs.layout:204 lib/layouts/enumitem.module:88
#: lib/layouts/europasscv.layout:400 lib/layouts/foils.layout:87
@@ -8498,9 +8516,9 @@ msgstr "Autre affiliation :"
msgid "And"
msgstr "Et"
-#: lib/layouts/aastex.layout:256 src/frontends/qt/GuiDocument.cpp:3148
-#: src/frontends/qt/GuiDocument.cpp:3160 src/frontends/qt/GuiDocument.cpp:3286
-#: src/frontends/qt/GuiDocument.cpp:3305
+#: lib/layouts/aastex.layout:256 src/frontends/qt/GuiDocument.cpp:3152
+#: src/frontends/qt/GuiDocument.cpp:3164 src/frontends/qt/GuiDocument.cpp:3290
+#: src/frontends/qt/GuiDocument.cpp:3309
msgid "and"
msgstr "et"
@@ -8749,9 +8767,9 @@ msgstr "American Chemical Society (ACS)"
#: lib/layouts/achemso.layout:75 lib/layouts/amsdefs.inc:41
#: lib/layouts/apa.layout:291 lib/layouts/apax.inc:390
-#: lib/layouts/beamer.layout:260 lib/layouts/beamer.layout:315
-#: lib/layouts/beamer.layout:377 lib/layouts/beamer.layout:439
-#: lib/layouts/beamer.layout:998 lib/layouts/europecv.layout:201
+#: lib/layouts/beamer.layout:262 lib/layouts/beamer.layout:317
+#: lib/layouts/beamer.layout:379 lib/layouts/beamer.layout:441
+#: lib/layouts/beamer.layout:1000 lib/layouts/europecv.layout:201
#: lib/layouts/iopart.layout:67 lib/layouts/jasatex.layout:75
#: lib/layouts/memoir.layout:68 lib/layouts/revtex4-x.inc:245
#: lib/layouts/scrclass.inc:142 lib/layouts/scrclass.inc:155
@@ -9220,7 +9238,7 @@ msgstr "Barre latérale (uniquement sigchi-a)"
msgid "Margin figure (sigchi-a only)"
msgstr "Fi)gure en marge (uniquement sigchi-a)"
-#: lib/layouts/acmart.layout:526 lib/layouts/beamer.layout:1726
+#: lib/layouts/acmart.layout:526 lib/layouts/beamer.layout:1728
#: lib/layouts/powerdot.layout:577 lib/layouts/sciposter.layout:109
#: lib/layouts/stdfloats.inc:33 lib/layouts/tufte-book.layout:292
msgid "List of Figures"
@@ -9230,7 +9248,7 @@ msgstr "Liste des figures"
msgid "Margin table (sigchi-a only)"
msgstr "Tableau en marge (uniquement sigchi-a)"
-#: lib/layouts/acmart.layout:539 lib/layouts/beamer.layout:1713
+#: lib/layouts/acmart.layout:539 lib/layouts/beamer.layout:1715
#: lib/layouts/powerdot.layout:560 lib/layouts/sciposter.layout:123
#: lib/layouts/stdfloats.inc:18 lib/layouts/tufte-book.layout:276
msgid "List of Tables"
@@ -9243,7 +9261,7 @@ msgstr "Liste des tableaux"
msgid "Definitions & Theorems"
msgstr "Définitions & théorèmes"
-#: lib/layouts/acmart.layout:562 lib/layouts/beamer.layout:1322
+#: lib/layouts/acmart.layout:562 lib/layouts/beamer.layout:1324
#: lib/layouts/theorems-ams-bytype.inc:40
#: lib/layouts/theorems-ams-chap-bytype.inc:82 lib/layouts/theorems-ams.inc:37
#: lib/layouts/theorems-bytype.inc:35 lib/layouts/theorems-named.module:22
@@ -9251,7 +9269,7 @@ msgstr "Définitions & théorèmes"
msgid "Additional Theorem Text"
msgstr "Texte de théorème complémentaire"
-#: lib/layouts/acmart.layout:563 lib/layouts/beamer.layout:1323
+#: lib/layouts/acmart.layout:563 lib/layouts/beamer.layout:1325
#: lib/layouts/theorems-ams-bytype.inc:41
#: lib/layouts/theorems-ams-chap-bytype.inc:83 lib/layouts/theorems-ams.inc:38
#: lib/layouts/theorems-bytype.inc:36 lib/layouts/theorems-named.module:23
@@ -9548,7 +9566,7 @@ msgid "American Geophysical Union (AGUPLUS Manuscript)"
msgstr "American Geophysical Union (AGUPLUS Manuscript)"
#: lib/layouts/aguplus.inc:37 lib/layouts/amsart.layout:77
-#: lib/layouts/amsbook.layout:86 lib/layouts/beamer.layout:332
+#: lib/layouts/amsbook.layout:86 lib/layouts/beamer.layout:334
#: lib/layouts/egs.layout:676 lib/layouts/isprs.layout:192
#: lib/layouts/spie.layout:32 lib/layouts/stdstarsections.inc:43
#: lib/layouts/svcommon.inc:278
@@ -9556,7 +9574,7 @@ msgid "Section*"
msgstr "Section*"
#: lib/layouts/aguplus.inc:52 lib/layouts/amsart.layout:119
-#: lib/layouts/amsbook.layout:95 lib/layouts/beamer.layout:394
+#: lib/layouts/amsbook.layout:95 lib/layouts/beamer.layout:396
#: lib/layouts/egs.layout:696 lib/layouts/isprs.layout:203
#: lib/layouts/stdstarsections.inc:58 lib/layouts/svcommon.inc:286
msgid "Subsection*"
@@ -9673,7 +9691,7 @@ msgstr "Planche"
msgid "Planotable"
msgstr "Planche de tableaux"
-#: lib/layouts/aguplus.inc:211 lib/layouts/beamer.layout:1708
+#: lib/layouts/aguplus.inc:211 lib/layouts/beamer.layout:1710
#: lib/layouts/powerdot.layout:553 lib/layouts/powerdot.layout:631
#: lib/layouts/sciposter.layout:118 lib/layouts/stdfloats.inc:13
#: lib/ui/stdtoolbars.inc:153 src/insets/Inset.cpp:104
@@ -9751,8 +9769,8 @@ msgstr "Section-spéciale"
msgid "SpecialSection*"
msgstr "Section-spéciale*"
-#: lib/layouts/amsart.layout:98 lib/layouts/beamer.layout:334
-#: lib/layouts/beamer.layout:396 lib/layouts/beamer.layout:458
+#: lib/layouts/amsart.layout:98 lib/layouts/beamer.layout:336
+#: lib/layouts/beamer.layout:398 lib/layouts/beamer.layout:460
#: lib/layouts/memoir.layout:248 lib/layouts/stdinsets.inc:713
#: lib/layouts/stdstarsections.inc:15 lib/layouts/stdstarsections.inc:30
#: lib/layouts/stdstarsections.inc:45 lib/layouts/stdstarsections.inc:60
@@ -9762,7 +9780,7 @@ msgid "Unnumbered"
msgstr "NonNuméroté"
#: lib/layouts/amsart.layout:140 lib/layouts/amsbook.layout:103
-#: lib/layouts/beamer.layout:456 lib/layouts/isprs.layout:212
+#: lib/layouts/beamer.layout:458 lib/layouts/isprs.layout:212
#: lib/layouts/stdstarsections.inc:73 lib/layouts/svcommon.inc:294
msgid "Subsubsection*"
msgstr "SousSousSection*"
@@ -9787,8 +9805,8 @@ msgstr "Exercices_Chapitre"
#: lib/layouts/amsbook.layout:166 lib/layouts/apa.layout:412
#: lib/layouts/apa.layout:450 lib/layouts/apa.layout:486
#: lib/layouts/apax.inc:512 lib/layouts/apax.inc:550 lib/layouts/apax.inc:586
-#: lib/layouts/beamer.layout:107 lib/layouts/beamer.layout:160
-#: lib/layouts/beamer.layout:203 lib/layouts/beamer.layout:788
+#: lib/layouts/beamer.layout:109 lib/layouts/beamer.layout:162
+#: lib/layouts/beamer.layout:205 lib/layouts/beamer.layout:790
#: lib/layouts/egs.layout:154 lib/layouts/egs.layout:188
#: lib/layouts/egs.layout:224 lib/layouts/egs.layout:259
#: lib/layouts/europasscv.layout:405 lib/layouts/foils.layout:105
@@ -9806,8 +9824,8 @@ msgstr "Aperçu préambule"
#: lib/layouts/amsbook.layout:167 lib/layouts/apa.layout:413
#: lib/layouts/apa.layout:451 lib/layouts/apa.layout:487
#: lib/layouts/apax.inc:513 lib/layouts/apax.inc:551 lib/layouts/apax.inc:587
-#: lib/layouts/beamer.layout:108 lib/layouts/beamer.layout:161
-#: lib/layouts/beamer.layout:204 lib/layouts/beamer.layout:789
+#: lib/layouts/beamer.layout:110 lib/layouts/beamer.layout:163
+#: lib/layouts/beamer.layout:206 lib/layouts/beamer.layout:791
#: lib/layouts/egs.layout:155 lib/layouts/egs.layout:189
#: lib/layouts/egs.layout:225 lib/layouts/egs.layout:260
#: lib/layouts/europasscv.layout:406 lib/layouts/foils.layout:106
@@ -9825,8 +9843,8 @@ msgstr "Aperçu préambule"
#: lib/layouts/amsbook.layout:168 lib/layouts/apa.layout:414
#: lib/layouts/apa.layout:452 lib/layouts/apa.layout:488
#: lib/layouts/apax.inc:514 lib/layouts/apax.inc:552 lib/layouts/apax.inc:588
-#: lib/layouts/beamer.layout:109 lib/layouts/beamer.layout:162
-#: lib/layouts/beamer.layout:205 lib/layouts/beamer.layout:790
+#: lib/layouts/beamer.layout:111 lib/layouts/beamer.layout:164
+#: lib/layouts/beamer.layout:207 lib/layouts/beamer.layout:792
#: lib/layouts/egs.layout:156 lib/layouts/egs.layout:190
#: lib/layouts/egs.layout:226 lib/layouts/egs.layout:261
#: lib/layouts/europasscv.layout:407 lib/layouts/foils.layout:107
@@ -10002,7 +10020,7 @@ msgstr "SousParagraphe"
#: lib/layouts/apa.layout:408 lib/layouts/apa.layout:446
#: lib/layouts/apax.inc:508 lib/layouts/apax.inc:546
-#: lib/layouts/beamer.layout:95 lib/layouts/beamer.layout:148
+#: lib/layouts/beamer.layout:97 lib/layouts/beamer.layout:150
#: lib/layouts/egs.layout:184 lib/layouts/egs.layout:220
#: lib/layouts/europasscv.layout:428 lib/layouts/powerdot.layout:299
#: lib/layouts/powerdot.layout:364 lib/layouts/stdlists.inc:33
@@ -10012,7 +10030,7 @@ msgstr "Ãlément paramétrable|Ã"
#: lib/layouts/apa.layout:409 lib/layouts/apa.layout:447
#: lib/layouts/apax.inc:509 lib/layouts/apax.inc:547
-#: lib/layouts/beamer.layout:96 lib/layouts/beamer.layout:149
+#: lib/layouts/beamer.layout:98 lib/layouts/beamer.layout:151
#: lib/layouts/egs.layout:185 lib/layouts/egs.layout:221
#: lib/layouts/europasscv.layout:429 lib/layouts/powerdot.layout:300
#: lib/layouts/powerdot.layout:365 lib/layouts/stdlists.inc:34
@@ -10062,7 +10080,7 @@ msgstr "CinqAffiliations"
msgid "SixAffiliations"
msgstr "SixAffiliations"
-#: lib/layouts/apax.inc:227 lib/layouts/beamer.layout:1655
+#: lib/layouts/apax.inc:227 lib/layouts/beamer.layout:1657
#: lib/layouts/elsart.layout:470 lib/layouts/fixme.module:108
#: lib/layouts/iopart.layout:106 lib/layouts/llncs.layout:394
#: lib/layouts/powerdot.layout:215 lib/layouts/slides.layout:170
@@ -10142,8 +10160,8 @@ msgstr "Article Beamer (classe standard)"
msgid "Article (Standard Class)"
msgstr "Article (classe standard)"
-#: lib/layouts/article.layout:21 lib/layouts/beamer.layout:246
-#: lib/layouts/beamer.layout:275 lib/layouts/memoir.layout:66
+#: lib/layouts/article.layout:21 lib/layouts/beamer.layout:248
+#: lib/layouts/beamer.layout:277 lib/layouts/memoir.layout:66
#: lib/layouts/mwart.layout:25 lib/layouts/paper.layout:55
#: lib/layouts/scrartcl.layout:22 lib/layouts/scrclass.inc:77
#: lib/layouts/stdcounters.inc:9 lib/layouts/stdsections.inc:12
@@ -10169,63 +10187,63 @@ msgstr "Beamer"
msgid "Presentations"
msgstr "Présentations"
-#: lib/layouts/beamer.layout:88 lib/layouts/beamer.layout:137
-#: lib/layouts/beamer.layout:192 lib/layouts/beamer.layout:503
-#: lib/layouts/beamer.layout:571 lib/layouts/beamer.layout:629
-#: lib/layouts/beamer.layout:659 lib/layouts/beamer.layout:875
-#: lib/layouts/beamer.layout:904 lib/layouts/beamer.layout:1227
-#: lib/layouts/beamer.layout:1252 lib/layouts/beamer.layout:1279
-#: lib/layouts/beamer.layout:1445
+#: lib/layouts/beamer.layout:90 lib/layouts/beamer.layout:139
+#: lib/layouts/beamer.layout:194 lib/layouts/beamer.layout:505
+#: lib/layouts/beamer.layout:573 lib/layouts/beamer.layout:631
+#: lib/layouts/beamer.layout:661 lib/layouts/beamer.layout:877
+#: lib/layouts/beamer.layout:906 lib/layouts/beamer.layout:1229
+#: lib/layouts/beamer.layout:1254 lib/layouts/beamer.layout:1281
+#: lib/layouts/beamer.layout:1447
msgid "Overlay Specifications|v"
msgstr "Spécification de recouvrement"
-#: lib/layouts/beamer.layout:89 lib/layouts/beamer.layout:138
-#: lib/layouts/beamer.layout:193
+#: lib/layouts/beamer.layout:91 lib/layouts/beamer.layout:140
+#: lib/layouts/beamer.layout:195
msgid "Overlay specifications for this list"
msgstr "Spécifications de recouvrement pour cette liste"
-#: lib/layouts/beamer.layout:99 lib/layouts/beamer.layout:152
-#: lib/layouts/beamer.layout:213 lib/layouts/beamer.layout:798
+#: lib/layouts/beamer.layout:101 lib/layouts/beamer.layout:154
+#: lib/layouts/beamer.layout:215 lib/layouts/beamer.layout:800
#: lib/layouts/powerdot.layout:303 lib/layouts/powerdot.layout:368
msgid "Item Overlay Specifications"
msgstr "Spécifications de recouvrement d'élément"
-#: lib/layouts/beamer.layout:100 lib/layouts/beamer.layout:153
-#: lib/layouts/beamer.layout:214 lib/layouts/beamer.layout:628
-#: lib/layouts/beamer.layout:658 lib/layouts/beamer.layout:799
-#: lib/layouts/beamer.layout:874 lib/layouts/beamer.layout:903
-#: lib/layouts/beamer.layout:1226 lib/layouts/beamer.layout:1251
-#: lib/layouts/beamer.layout:1278 lib/layouts/beamer.layout:1444
+#: lib/layouts/beamer.layout:102 lib/layouts/beamer.layout:155
+#: lib/layouts/beamer.layout:216 lib/layouts/beamer.layout:630
+#: lib/layouts/beamer.layout:660 lib/layouts/beamer.layout:801
+#: lib/layouts/beamer.layout:876 lib/layouts/beamer.layout:905
+#: lib/layouts/beamer.layout:1228 lib/layouts/beamer.layout:1253
+#: lib/layouts/beamer.layout:1280 lib/layouts/beamer.layout:1446
#: lib/layouts/powerdot.layout:304 lib/layouts/powerdot.layout:369
msgid "On Slide"
msgstr "Sur la diapo"
-#: lib/layouts/beamer.layout:101 lib/layouts/beamer.layout:154
-#: lib/layouts/beamer.layout:215 lib/layouts/beamer.layout:800
+#: lib/layouts/beamer.layout:103 lib/layouts/beamer.layout:156
+#: lib/layouts/beamer.layout:217 lib/layouts/beamer.layout:802
#: lib/layouts/powerdot.layout:305 lib/layouts/powerdot.layout:370
msgid "Overlay specifications for this item"
msgstr "Spécifications de recouvrement pour cet élément"
-#: lib/layouts/beamer.layout:144
+#: lib/layouts/beamer.layout:146
msgid "Mini Template"
msgstr "Mini modèle"
-#: lib/layouts/beamer.layout:145
+#: lib/layouts/beamer.layout:147
msgid "Mini template for this list (see beamer manual for details)"
msgstr "Mini-modèle pour cette liste (voir le manuel Beamer pour les détails)"
-#: lib/layouts/beamer.layout:199
+#: lib/layouts/beamer.layout:201
msgid "Longest label|s"
msgstr "Ãtiquette la plus longue|q"
-#: lib/layouts/beamer.layout:200
+#: lib/layouts/beamer.layout:202
msgid "The longest label in this list (to determine the indendation width)"
msgstr ""
"L'étiquette la plus longue de la liste (pour déterminer la largeur "
"d'indentation)"
-#: lib/layouts/beamer.layout:247 lib/layouts/beamer.layout:289
-#: lib/layouts/beamer.layout:351 lib/layouts/beamer.layout:413
+#: lib/layouts/beamer.layout:249 lib/layouts/beamer.layout:291
+#: lib/layouts/beamer.layout:353 lib/layouts/beamer.layout:415
#: lib/layouts/egs.layout:34 lib/layouts/egs.layout:57
#: lib/layouts/europasscv.layout:265 lib/layouts/europecv.layout:194
#: lib/layouts/foils.layout:46 lib/layouts/ltugboat.layout:49
@@ -10241,475 +10259,475 @@ msgstr ""
msgid "Sectioning"
msgstr "Sectionnement"
-#: lib/layouts/beamer.layout:252 lib/layouts/beamer.layout:307
-#: lib/layouts/beamer.layout:340 lib/layouts/beamer.layout:369
-#: lib/layouts/beamer.layout:402 lib/layouts/beamer.layout:431
-#: lib/layouts/beamer.layout:464
+#: lib/layouts/beamer.layout:254 lib/layouts/beamer.layout:309
+#: lib/layouts/beamer.layout:342 lib/layouts/beamer.layout:371
+#: lib/layouts/beamer.layout:404 lib/layouts/beamer.layout:433
+#: lib/layouts/beamer.layout:466
msgid "Mode"
msgstr "Mode"
-#: lib/layouts/beamer.layout:253 lib/layouts/beamer.layout:308
-#: lib/layouts/beamer.layout:341 lib/layouts/beamer.layout:370
-#: lib/layouts/beamer.layout:403 lib/layouts/beamer.layout:432
-#: lib/layouts/beamer.layout:465
+#: lib/layouts/beamer.layout:255 lib/layouts/beamer.layout:310
+#: lib/layouts/beamer.layout:343 lib/layouts/beamer.layout:372
+#: lib/layouts/beamer.layout:405 lib/layouts/beamer.layout:434
+#: lib/layouts/beamer.layout:467
msgid "Mode Specification|S"
msgstr "Spécification de mode"
-#: lib/layouts/beamer.layout:254 lib/layouts/beamer.layout:309
-#: lib/layouts/beamer.layout:342 lib/layouts/beamer.layout:371
-#: lib/layouts/beamer.layout:404 lib/layouts/beamer.layout:433
-#: lib/layouts/beamer.layout:466
+#: lib/layouts/beamer.layout:256 lib/layouts/beamer.layout:311
+#: lib/layouts/beamer.layout:344 lib/layouts/beamer.layout:373
+#: lib/layouts/beamer.layout:406 lib/layouts/beamer.layout:435
+#: lib/layouts/beamer.layout:468
msgid "Specify in which mode (article, presentation etc.) this header appears"
msgstr ""
"Préciser dans quel mode (article, présentation, etc.) apparaît cet en-tête"
-#: lib/layouts/beamer.layout:261 lib/layouts/memoir.layout:69
+#: lib/layouts/beamer.layout:263 lib/layouts/memoir.layout:69
#: lib/layouts/scrclass.inc:143 lib/layouts/stdsections.inc:33
#: lib/layouts/tufte-handout.layout:41
msgid "The part as it appears in the table of contents/running headers"
msgstr ""
"Le nom de la partie tel qu'il apparaîtra dans la TdM/les en-têtes courants"
-#: lib/layouts/beamer.layout:304
+#: lib/layouts/beamer.layout:306
msgid "Section \\arabic{section}"
msgstr "Section \\arabic{section}"
-#: lib/layouts/beamer.layout:316 lib/layouts/scrclass.inc:169
+#: lib/layouts/beamer.layout:318 lib/layouts/scrclass.inc:169
#: lib/layouts/simplecv.layout:53 lib/layouts/stdsections.inc:118
#: lib/layouts/tufte-book.layout:130
msgid "The section as it appears in the table of contents/running headers"
msgstr ""
"Le nom de la section tel qu'il apparaîtra dans la TdM/les en-têtes courants"
-#: lib/layouts/beamer.layout:328 lib/layouts/numarticle.inc:11
+#: lib/layouts/beamer.layout:330 lib/layouts/numarticle.inc:11
#: lib/layouts/powerdot.layout:254
msgid "\\Alph{section}"
msgstr "\\Alph{section}"
-#: lib/layouts/beamer.layout:366
+#: lib/layouts/beamer.layout:368
msgid "Subsection \\arabic{section}.\\arabic{subsection}"
msgstr "SousSection \\arabic{section}.\\arabic{subsection}"
-#: lib/layouts/beamer.layout:378
+#: lib/layouts/beamer.layout:380
msgid "The subsection as it appears in the table of contents/running headers"
msgstr ""
"Le nom de la sous-section tel qu'il apparaîtra dans la TdM/les en-têtes "
"courants"
-#: lib/layouts/beamer.layout:390
+#: lib/layouts/beamer.layout:392
msgid "\\arabic{section}.\\arabic{subsection}"
msgstr "\\arabic{section}.\\arabic{subsection}"
-#: lib/layouts/beamer.layout:428
+#: lib/layouts/beamer.layout:430
msgid ""
"Subsubsection \\arabic{section}.\\arabic{subsection}.\\arabic{subsubsection}"
msgstr ""
"SousSousSection \\arabic{section}.\\arabic{subsection}."
"\\arabic{subsubsection}"
-#: lib/layouts/beamer.layout:440
+#: lib/layouts/beamer.layout:442
msgid ""
"The subsubsection as it appears in the table of contents/running headers"
msgstr ""
"La sous-sous-section telle qu'elle apparaît dans la table de matières et les "
"en-têtes courants"
-#: lib/layouts/beamer.layout:452
+#: lib/layouts/beamer.layout:454
msgid "\\arabic{section}.\\arabic{subsection}.\\arabic{subsubsection}"
msgstr "\\arabic{section}.\\arabic{subsection}.\\arabic{subsubsection}"
-#: lib/layouts/beamer.layout:479 lib/layouts/beamer.layout:485
+#: lib/layouts/beamer.layout:481 lib/layouts/beamer.layout:487
msgid "Frame"
msgstr "Cadre"
-#: lib/layouts/beamer.layout:480 lib/layouts/beamer.layout:565
-#: lib/layouts/beamer.layout:612 lib/layouts/beamer.layout:643
+#: lib/layouts/beamer.layout:482 lib/layouts/beamer.layout:567
+#: lib/layouts/beamer.layout:614 lib/layouts/beamer.layout:645
msgid "Frames"
msgstr "Cadres"
-#: lib/layouts/beamer.layout:502 lib/layouts/beamer.layout:937
-#: lib/layouts/beamer.layout:1314 lib/layouts/beamer.layout:1471
-#: lib/layouts/beamer.layout:1491 lib/layouts/beamer.layout:1511
-#: lib/layouts/beamer.layout:1531 lib/layouts/beamer.layout:1551
-#: lib/layouts/beamer.layout:1572 lib/layouts/beamer.layout:1593
-#: lib/layouts/beamer.layout:1614 lib/layouts/beamer.layout:1635
-#: lib/layouts/beamer.layout:1663 lib/layouts/pdfform.module:124
+#: lib/layouts/beamer.layout:504 lib/layouts/beamer.layout:939
+#: lib/layouts/beamer.layout:1316 lib/layouts/beamer.layout:1473
+#: lib/layouts/beamer.layout:1493 lib/layouts/beamer.layout:1513
+#: lib/layouts/beamer.layout:1533 lib/layouts/beamer.layout:1553
+#: lib/layouts/beamer.layout:1574 lib/layouts/beamer.layout:1595
+#: lib/layouts/beamer.layout:1616 lib/layouts/beamer.layout:1637
+#: lib/layouts/beamer.layout:1665 lib/layouts/pdfform.module:124
msgid "Action"
msgstr "Action"
-#: lib/layouts/beamer.layout:504 lib/layouts/beamer.layout:572
+#: lib/layouts/beamer.layout:506 lib/layouts/beamer.layout:574
msgid "Overlay specifications for this frame"
msgstr "Spécifications de recouvrement pour ce cadre"
-#: lib/layouts/beamer.layout:510 lib/layouts/beamer.layout:578
+#: lib/layouts/beamer.layout:512 lib/layouts/beamer.layout:580
msgid "Default Overlay Specifications"
msgstr "Spécifications de recouvrement implicites"
-#: lib/layouts/beamer.layout:511 lib/layouts/beamer.layout:579
+#: lib/layouts/beamer.layout:513 lib/layouts/beamer.layout:581
msgid "Default overlay specifications within this frame"
msgstr "Spécifications de recouvrement implicites pour ce cadre"
-#: lib/layouts/beamer.layout:517 lib/layouts/beamer.layout:546
-#: lib/layouts/beamer.layout:557 lib/layouts/beamer.layout:585
+#: lib/layouts/beamer.layout:519 lib/layouts/beamer.layout:548
+#: lib/layouts/beamer.layout:559 lib/layouts/beamer.layout:587
msgid "Frame Options"
msgstr "Options du cadre"
-#: lib/layouts/beamer.layout:519 lib/layouts/beamer.layout:548
-#: lib/layouts/beamer.layout:559 lib/layouts/beamer.layout:587
+#: lib/layouts/beamer.layout:521 lib/layouts/beamer.layout:550
+#: lib/layouts/beamer.layout:561 lib/layouts/beamer.layout:589
msgid "Frame options (see beamer manual)"
msgstr "Options de cadre (voir le manuel Beamer)"
-#: lib/layouts/beamer.layout:522
+#: lib/layouts/beamer.layout:524
msgid "Frame Title"
msgstr "Titre du cadre"
-#: lib/layouts/beamer.layout:523
+#: lib/layouts/beamer.layout:525
msgid "Enter the frame title here"
msgstr "Saisir le titre du cadre ici"
-#: lib/layouts/beamer.layout:542
+#: lib/layouts/beamer.layout:544
msgid "PlainFrame"
msgstr "CadreSimple"
-#: lib/layouts/beamer.layout:544
+#: lib/layouts/beamer.layout:546
msgid "Frame (plain)"
msgstr "Cadre (simple)"
-#: lib/layouts/beamer.layout:553
+#: lib/layouts/beamer.layout:555
msgid "FragileFrame"
msgstr "CadreFragile"
-#: lib/layouts/beamer.layout:555
+#: lib/layouts/beamer.layout:557
msgid "Frame (fragile)"
msgstr "Cadre (fragile)"
-#: lib/layouts/beamer.layout:564
+#: lib/layouts/beamer.layout:566
msgid "AgainFrame"
msgstr "RepriseCadre"
-#: lib/layouts/beamer.layout:570 lib/layouts/powerdot.layout:135
+#: lib/layouts/beamer.layout:572 lib/layouts/powerdot.layout:135
#: lib/layouts/seminar.layout:111 lib/layouts/slides.layout:92
#: src/frontends/qt/GuiDocument.cpp:136
msgid "Slide"
msgstr "Diapo"
-#: lib/layouts/beamer.layout:599
+#: lib/layouts/beamer.layout:601
msgid "Repeat frame with label"
msgstr "Cadre de reprise avec étiquette"
-#: lib/layouts/beamer.layout:611
+#: lib/layouts/beamer.layout:613
msgid "FrameTitle"
msgstr "TitreCadre"
-#: lib/layouts/beamer.layout:630 lib/layouts/beamer.layout:660
-#: lib/layouts/beamer.layout:876 lib/layouts/beamer.layout:905
-#: lib/layouts/beamer.layout:939 lib/layouts/beamer.layout:1228
-#: lib/layouts/beamer.layout:1253 lib/layouts/beamer.layout:1280
-#: lib/layouts/beamer.layout:1316 lib/layouts/beamer.layout:1446
-#: lib/layouts/beamer.layout:1473 lib/layouts/beamer.layout:1493
-#: lib/layouts/beamer.layout:1513 lib/layouts/beamer.layout:1533
-#: lib/layouts/beamer.layout:1553 lib/layouts/beamer.layout:1574
-#: lib/layouts/beamer.layout:1595 lib/layouts/beamer.layout:1616
-#: lib/layouts/beamer.layout:1637 lib/layouts/beamer.layout:1665
+#: lib/layouts/beamer.layout:632 lib/layouts/beamer.layout:662
+#: lib/layouts/beamer.layout:878 lib/layouts/beamer.layout:907
+#: lib/layouts/beamer.layout:941 lib/layouts/beamer.layout:1230
+#: lib/layouts/beamer.layout:1255 lib/layouts/beamer.layout:1282
+#: lib/layouts/beamer.layout:1318 lib/layouts/beamer.layout:1448
+#: lib/layouts/beamer.layout:1475 lib/layouts/beamer.layout:1495
+#: lib/layouts/beamer.layout:1515 lib/layouts/beamer.layout:1535
+#: lib/layouts/beamer.layout:1555 lib/layouts/beamer.layout:1576
+#: lib/layouts/beamer.layout:1597 lib/layouts/beamer.layout:1618
+#: lib/layouts/beamer.layout:1639 lib/layouts/beamer.layout:1667
msgid "Specify the overlay settings (see beamer manual)"
msgstr "Préciser les réglages du recouvrement (voir le manuel Beamer)"
-#: lib/layouts/beamer.layout:636
+#: lib/layouts/beamer.layout:638
msgid "Short Frame Title|S"
msgstr "Titre cadre court|c"
-#: lib/layouts/beamer.layout:637
+#: lib/layouts/beamer.layout:639
msgid "A short form of the frame title used in some themes"
msgstr "La forme courte du titre de cadre utilisée par certains théorèmes"
-#: lib/layouts/beamer.layout:642
+#: lib/layouts/beamer.layout:644
msgid "FrameSubtitle"
msgstr "SousTitreCadre"
-#: lib/layouts/beamer.layout:672 lib/layouts/moderncv.layout:395
+#: lib/layouts/beamer.layout:674 lib/layouts/moderncv.layout:395
#: lib/layouts/moderncv.layout:412
msgid "Column"
msgstr "Colonne"
-#: lib/layouts/beamer.layout:673 lib/layouts/beamer.layout:698
-#: lib/layouts/beamer.layout:699 lib/layouts/beamer.layout:709
+#: lib/layouts/beamer.layout:675 lib/layouts/beamer.layout:700
+#: lib/layouts/beamer.layout:701 lib/layouts/beamer.layout:711
#: lib/layouts/moderncv.layout:373 lib/layouts/multicol.module:15
msgid "Columns"
msgstr "Colonnes"
-#: lib/layouts/beamer.layout:685
+#: lib/layouts/beamer.layout:687
msgid "Start column (increase depth!), width:"
msgstr "Début col. (augm. la prof. !), largeur :"
-#: lib/layouts/beamer.layout:688 lib/layouts/powerdot.layout:504
+#: lib/layouts/beamer.layout:690 lib/layouts/powerdot.layout:504
msgid "Column Options"
msgstr "Options de colonne"
-#: lib/layouts/beamer.layout:690
+#: lib/layouts/beamer.layout:692
msgid "Column options (see beamer manual)"
msgstr "Options de colonnes (voir le manuel Beamer)"
-#: lib/layouts/beamer.layout:711
+#: lib/layouts/beamer.layout:713
msgid "Column Placement Options"
msgstr "Options de placement de colonne"
-#: lib/layouts/beamer.layout:712
+#: lib/layouts/beamer.layout:714
msgid "Column placement options (t, T, c, b)"
msgstr "Options de placement des colonnes (t, T, c, b)"
-#: lib/layouts/beamer.layout:729
+#: lib/layouts/beamer.layout:731
msgid "ColumnsCenterAligned"
msgstr "ColonnesCentréesVerticalement"
-#: lib/layouts/beamer.layout:732
+#: lib/layouts/beamer.layout:734
msgid "Columns (center aligned)"
msgstr "Colonnes (cent. vert.)"
-#: lib/layouts/beamer.layout:736
+#: lib/layouts/beamer.layout:738
msgid "ColumnsTopAligned"
msgstr "ColonnesAlignéesSurPremièreLigne"
-#: lib/layouts/beamer.layout:739
+#: lib/layouts/beamer.layout:741
msgid "Columns (top aligned)"
msgstr "Colonnes (alig. haut)"
-#: lib/layouts/beamer.layout:748 lib/layouts/powerdot.layout:518
+#: lib/layouts/beamer.layout:750 lib/layouts/powerdot.layout:518
msgid "Pause"
msgstr "Pause"
-#: lib/layouts/beamer.layout:749 lib/layouts/beamer.layout:777
-#: lib/layouts/beamer.layout:823 lib/layouts/beamer.layout:855
-#: lib/layouts/beamer.layout:884 lib/layouts/powerdot.layout:519
+#: lib/layouts/beamer.layout:751 lib/layouts/beamer.layout:779
+#: lib/layouts/beamer.layout:825 lib/layouts/beamer.layout:857
+#: lib/layouts/beamer.layout:886 lib/layouts/powerdot.layout:519
msgid "Overlays"
msgstr "Recouvrements"
-#: lib/layouts/beamer.layout:755 lib/layouts/powerdot.layout:525
+#: lib/layouts/beamer.layout:757 lib/layouts/powerdot.layout:525
msgid "Pause number"
msgstr "Numéro de pause"
-#: lib/layouts/beamer.layout:756 lib/layouts/powerdot.layout:526
+#: lib/layouts/beamer.layout:758 lib/layouts/powerdot.layout:526
msgid "Number of slide where the context below the pause gets visible"
msgstr "Nombre de diapos où le contexte sous la pause est visible"
-#: lib/layouts/beamer.layout:767 lib/layouts/powerdot.layout:537
+#: lib/layouts/beamer.layout:769 lib/layouts/powerdot.layout:537
msgid "_ _ _ _ _ _ _ _ _ _ _ _ _ _"
msgstr "_ _ _ _ _ _ _ _ _ _ _ _ _ _"
-#: lib/layouts/beamer.layout:776 lib/layouts/beamer.layout:815
+#: lib/layouts/beamer.layout:778 lib/layouts/beamer.layout:817
msgid "Overprint"
msgstr "SurImpression"
-#: lib/layouts/beamer.layout:783
+#: lib/layouts/beamer.layout:785
msgid "Overprint Area Width"
msgstr "Largeur de la zone de surimpression"
-#: lib/layouts/beamer.layout:784 lib/layouts/europasscv.layout:246
+#: lib/layouts/beamer.layout:786 lib/layouts/europasscv.layout:246
#: lib/layouts/graphicboxes.module:49 lib/layouts/moderncv.layout:400
#: lib/layouts/sectionbox.module:22 src/frontends/qt/GuiBox.cpp:71
msgid "Width"
msgstr "Largeur"
-#: lib/layouts/beamer.layout:785
+#: lib/layouts/beamer.layout:787
msgid "The width of the overprint area (default: text width)"
msgstr ""
"La largeur de la zone de surimpression (implicitement : largeur du texte)"
-#: lib/layouts/beamer.layout:822
+#: lib/layouts/beamer.layout:824
msgid "OverlayArea"
msgstr "ZoneRecouvrement"
-#: lib/layouts/beamer.layout:832
+#: lib/layouts/beamer.layout:834
msgid "Overlayarea"
msgstr "ZoneRecouvrement"
-#: lib/layouts/beamer.layout:842
+#: lib/layouts/beamer.layout:844
msgid "Overlay Area Width"
msgstr "Largeur de la zone de recouvrement"
-#: lib/layouts/beamer.layout:843
+#: lib/layouts/beamer.layout:845
msgid "The width of the overlay area"
msgstr "La largeur de la zone de recouvrement"
-#: lib/layouts/beamer.layout:847
+#: lib/layouts/beamer.layout:849
msgid "Overlay Area Height"
msgstr "Hauteur de la zone de recouvrement"
-#: lib/layouts/beamer.layout:848 lib/layouts/graphicboxes.module:56
+#: lib/layouts/beamer.layout:850 lib/layouts/graphicboxes.module:56
#: lib/layouts/moderncv.layout:288 src/frontends/qt/GuiBox.cpp:70
msgid "Height"
msgstr "Hauteur"
-#: lib/layouts/beamer.layout:849
+#: lib/layouts/beamer.layout:851
msgid "The height of the overlay area"
msgstr "La hauteur de la zone de recouvrement"
-#: lib/layouts/beamer.layout:854 lib/layouts/beamer.layout:1563
-#: lib/layouts/beamer.layout:1565 lib/layouts/powerdot.layout:660
+#: lib/layouts/beamer.layout:856 lib/layouts/beamer.layout:1565
+#: lib/layouts/beamer.layout:1567 lib/layouts/powerdot.layout:660
msgid "Uncover"
msgstr "Découvrir"
-#: lib/layouts/beamer.layout:864
+#: lib/layouts/beamer.layout:866
msgid "Uncovered on slides"
msgstr "Découvrir sur diapos"
-#: lib/layouts/beamer.layout:883 lib/layouts/beamer.layout:1542
-#: lib/layouts/beamer.layout:1544 lib/layouts/powerdot.layout:666
+#: lib/layouts/beamer.layout:885 lib/layouts/beamer.layout:1544
+#: lib/layouts/beamer.layout:1546 lib/layouts/powerdot.layout:666
msgid "Only"
msgstr "Seulement"
-#: lib/layouts/beamer.layout:893
+#: lib/layouts/beamer.layout:895
msgid "Only on slides"
msgstr "Seulement sur diapos"
-#: lib/layouts/beamer.layout:917
+#: lib/layouts/beamer.layout:919
msgid "Block"
msgstr "Bloc"
-#: lib/layouts/beamer.layout:918
+#: lib/layouts/beamer.layout:920
msgid "Blocks"
msgstr "Blocs"
-#: lib/layouts/beamer.layout:927
+#: lib/layouts/beamer.layout:929
msgid "Block:"
msgstr "Bloc :"
-#: lib/layouts/beamer.layout:938
+#: lib/layouts/beamer.layout:940
msgid "Action Specification|S"
msgstr "Spécifications d'action"
-#: lib/layouts/beamer.layout:945
+#: lib/layouts/beamer.layout:947
msgid "Block Title"
msgstr "Titre de bloc"
-#: lib/layouts/beamer.layout:946
+#: lib/layouts/beamer.layout:948
msgid "Enter the block title here"
msgstr "Saisir le titre du bloc ici"
-#: lib/layouts/beamer.layout:961
+#: lib/layouts/beamer.layout:963
msgid "ExampleBlock"
msgstr "BlocExemple"
-#: lib/layouts/beamer.layout:964
+#: lib/layouts/beamer.layout:966
msgid "Example Block:"
msgstr "Bloc exemple :"
-#: lib/layouts/beamer.layout:970
+#: lib/layouts/beamer.layout:972
msgid "AlertBlock"
msgstr "BlocAlerte"
-#: lib/layouts/beamer.layout:973
+#: lib/layouts/beamer.layout:975
msgid "Alert Block:"
msgstr "Bloc alerte :"
-#: lib/layouts/beamer.layout:985 lib/layouts/beamer.layout:1022
-#: lib/layouts/beamer.layout:1049 lib/layouts/beamer.layout:1077
-#: lib/layouts/beamer.layout:1121 lib/layouts/beamer.layout:1144
+#: lib/layouts/beamer.layout:987 lib/layouts/beamer.layout:1024
+#: lib/layouts/beamer.layout:1051 lib/layouts/beamer.layout:1079
+#: lib/layouts/beamer.layout:1123 lib/layouts/beamer.layout:1146
msgid "Titling"
msgstr "Titrage"
-#: lib/layouts/beamer.layout:999
+#: lib/layouts/beamer.layout:1001
msgid "Short title which appears in the sidebar/header"
msgstr "Titre court apparaissant dans la colonne latérale ou l'en-tête"
# Cadre pour Frame et Diapositive pour Slide ?
# Oui JOC
-#: lib/layouts/beamer.layout:1013
+#: lib/layouts/beamer.layout:1015
msgid "Title (Plain Frame)"
msgstr "Titre (Cadre Simple)"
-#: lib/layouts/beamer.layout:1035
+#: lib/layouts/beamer.layout:1037
msgid "Short Subtitle|S"
msgstr "Sous-titre court|c"
-#: lib/layouts/beamer.layout:1036
+#: lib/layouts/beamer.layout:1038
msgid "Short subtitle which appears in the sidebar/header"
msgstr "Sous-titre court apparaissant dans la colonne latérale ou l'en-tête"
-#: lib/layouts/beamer.layout:1062
+#: lib/layouts/beamer.layout:1064
msgid "Short author which appears in the sidebar/header"
msgstr "Nom d'auteur court apparaissant dans la colonne latérale ou l'en-tête"
-#: lib/layouts/beamer.layout:1089
+#: lib/layouts/beamer.layout:1091
msgid "Short Institute|S"
msgstr "Nom d'institution court|c"
-#: lib/layouts/beamer.layout:1090
+#: lib/layouts/beamer.layout:1092
msgid "Short institute which appears in the sidebar/header"
msgstr ""
"Nom d'institution court apparaissant dans la colonne latérale ou l'en-tête"
-#: lib/layouts/beamer.layout:1099
+#: lib/layouts/beamer.layout:1101
msgid "InstituteMark"
msgstr "MarqueInstitution"
-#: lib/layouts/beamer.layout:1133
+#: lib/layouts/beamer.layout:1135
msgid "Short Date|S"
msgstr "Date courte|d"
-#: lib/layouts/beamer.layout:1134
+#: lib/layouts/beamer.layout:1136
msgid "Short date which appears in the sidebar/header"
msgstr "Date courte apparaissant dans la colonne latérale ou l'en-tête"
-#: lib/layouts/beamer.layout:1143 lib/layouts/beamerposter.layout:46
+#: lib/layouts/beamer.layout:1145 lib/layouts/beamerposter.layout:46
msgid "TitleGraphic"
msgstr "GraphiqueTitre"
-#: lib/layouts/beamer.layout:1208 lib/layouts/egs.layout:103
+#: lib/layouts/beamer.layout:1210 lib/layouts/egs.layout:103
#: lib/layouts/powerdot.layout:426 lib/layouts/stdlayouts.inc:12
msgid "Quotation"
msgstr "Citation"
-#: lib/layouts/beamer.layout:1235 lib/layouts/egs.layout:122
+#: lib/layouts/beamer.layout:1237 lib/layouts/egs.layout:122
#: lib/layouts/moderncv.layout:305 lib/layouts/powerdot.layout:448
#: lib/layouts/stdlayouts.inc:37
msgid "Quote"
msgstr "Cite"
-#: lib/layouts/beamer.layout:1260 lib/layouts/egs.layout:277
+#: lib/layouts/beamer.layout:1262 lib/layouts/egs.layout:277
#: lib/layouts/powerdot.layout:468 lib/layouts/stdlayouts.inc:60
msgid "Verse"
msgstr "Vers"
-#: lib/layouts/beamer.layout:1302 lib/layouts/foils.layout:340
+#: lib/layouts/beamer.layout:1304 lib/layouts/foils.layout:340
#: lib/layouts/theorems-starred.inc:78
msgid "Corollary."
msgstr "Corollaire."
-#: lib/layouts/beamer.layout:1315 lib/layouts/beamer.layout:1472
-#: lib/layouts/beamer.layout:1492 lib/layouts/beamer.layout:1512
-#: lib/layouts/beamer.layout:1532 lib/layouts/beamer.layout:1552
-#: lib/layouts/beamer.layout:1573 lib/layouts/beamer.layout:1594
-#: lib/layouts/beamer.layout:1615 lib/layouts/beamer.layout:1636
-#: lib/layouts/beamer.layout:1664
+#: lib/layouts/beamer.layout:1317 lib/layouts/beamer.layout:1474
+#: lib/layouts/beamer.layout:1494 lib/layouts/beamer.layout:1514
+#: lib/layouts/beamer.layout:1534 lib/layouts/beamer.layout:1554
+#: lib/layouts/beamer.layout:1575 lib/layouts/beamer.layout:1596
+#: lib/layouts/beamer.layout:1617 lib/layouts/beamer.layout:1638
+#: lib/layouts/beamer.layout:1666
msgid "Action Specifications|S"
msgstr "Spécification d'action|S"
-#: lib/layouts/beamer.layout:1333 lib/layouts/foils.layout:354
+#: lib/layouts/beamer.layout:1335 lib/layouts/foils.layout:354
#: lib/layouts/theorems-starred.inc:174
msgid "Definition."
msgstr "Définition."
-#: lib/layouts/beamer.layout:1336
+#: lib/layouts/beamer.layout:1338
msgid "Definitions"
msgstr "Définitions"
-#: lib/layouts/beamer.layout:1339
+#: lib/layouts/beamer.layout:1341
msgid "Definitions."
msgstr "Définitions."
-#: lib/layouts/beamer.layout:1345 lib/layouts/theorems-starred.inc:200
+#: lib/layouts/beamer.layout:1347 lib/layouts/theorems-starred.inc:200
msgid "Example."
msgstr "Exemple."
-#: lib/layouts/beamer.layout:1352
+#: lib/layouts/beamer.layout:1354
msgid "Examples"
msgstr "Exemples"
-#: lib/layouts/beamer.layout:1355
+#: lib/layouts/beamer.layout:1357
msgid "Examples."
msgstr "Exemples."
-#: lib/layouts/beamer.layout:1358 lib/layouts/theorems-ams-bytype.inc:160
+#: lib/layouts/beamer.layout:1360 lib/layouts/theorems-ams-bytype.inc:160
#: lib/layouts/theorems-ams-bytype.inc:169
#: lib/layouts/theorems-ams-bytype.inc:172
#: lib/layouts/theorems-ams-chap-bytype.inc:222
@@ -10730,102 +10748,102 @@ msgstr "Exemples."
msgid "Fact"
msgstr "Fait"
-#: lib/layouts/beamer.layout:1361 lib/layouts/theorems-starred.inc:154
+#: lib/layouts/beamer.layout:1363 lib/layouts/theorems-starred.inc:154
msgid "Fact."
msgstr "Fait."
-#: lib/layouts/beamer.layout:1367 lib/layouts/foils.layout:333
+#: lib/layouts/beamer.layout:1369 lib/layouts/foils.layout:333
#: lib/layouts/theorems-starred.inc:97
msgid "Lemma."
msgstr "Lemme."
-#: lib/layouts/beamer.layout:1379 lib/layouts/foils.layout:326
+#: lib/layouts/beamer.layout:1381 lib/layouts/foils.layout:326
#: lib/layouts/theorems-named.module:18 lib/layouts/theorems-starred.inc:32
msgid "Theorem."
msgstr "Théorème."
-#: lib/layouts/beamer.layout:1387 lib/layouts/egs.layout:730
+#: lib/layouts/beamer.layout:1389 lib/layouts/egs.layout:730
#: lib/layouts/lyxmacros.inc:12
msgid "LyX-Code"
msgstr "LyX-Code"
-#: lib/layouts/beamer.layout:1424
+#: lib/layouts/beamer.layout:1426
msgid "NoteItem"
msgstr "ÃlémentNote"
-#: lib/layouts/beamer.layout:1462 lib/layouts/beamer.layout:1464
+#: lib/layouts/beamer.layout:1464 lib/layouts/beamer.layout:1466
#: src/FontInfo.cpp:48 src/frontends/qt/GuiCharacter.cpp:138
msgid "Bold"
msgstr "Grasse"
-#: lib/layouts/beamer.layout:1482 lib/layouts/ectaart.layout:178
+#: lib/layouts/beamer.layout:1484 lib/layouts/ectaart.layout:178
msgid "Emphasize"
msgstr "En évidence"
-#: lib/layouts/beamer.layout:1484
+#: lib/layouts/beamer.layout:1486
msgid "Emph."
msgstr "En évid."
-#: lib/layouts/beamer.layout:1502 lib/layouts/beamer.layout:1504
+#: lib/layouts/beamer.layout:1504 lib/layouts/beamer.layout:1506
msgid "Alert"
msgstr "Alerte"
-#: lib/layouts/beamer.layout:1522 lib/layouts/beamer.layout:1524
+#: lib/layouts/beamer.layout:1524 lib/layouts/beamer.layout:1526
#: lib/layouts/svcommon.inc:73 lib/layouts/svcommon.inc:100
#: lib/layouts/svcommon.inc:107
msgid "Structure"
msgstr "Structure"
-#: lib/layouts/beamer.layout:1584 lib/layouts/beamer.layout:1586
+#: lib/layouts/beamer.layout:1586 lib/layouts/beamer.layout:1588
#: lib/layouts/powerdot.layout:644
msgid "Visible"
msgstr "Visible"
-#: lib/layouts/beamer.layout:1605 lib/layouts/beamer.layout:1607
+#: lib/layouts/beamer.layout:1607 lib/layouts/beamer.layout:1609
msgid "Invisible"
msgstr "Invisible"
-#: lib/layouts/beamer.layout:1626 lib/layouts/beamer.layout:1628
+#: lib/layouts/beamer.layout:1628 lib/layouts/beamer.layout:1630
msgid "Alternative"
msgstr "Alternative"
-#: lib/layouts/beamer.layout:1644
+#: lib/layouts/beamer.layout:1646
msgid "Default Text"
msgstr "Texte implicite"
-#: lib/layouts/beamer.layout:1645
+#: lib/layouts/beamer.layout:1647
msgid "Enter the default text here"
msgstr "Saisir le texte implicite ici"
-#: lib/layouts/beamer.layout:1653
+#: lib/layouts/beamer.layout:1655
msgid "Beamer Note"
msgstr "Note Beamer"
-#: lib/layouts/beamer.layout:1671
+#: lib/layouts/beamer.layout:1673
msgid "Note Options"
msgstr "Options de note"
-#: lib/layouts/beamer.layout:1672
+#: lib/layouts/beamer.layout:1674
msgid "Specifiy note options (see beamer manual)"
msgstr "Préciser les options de note (voir le manuel Beamer)"
-#: lib/layouts/beamer.layout:1677
+#: lib/layouts/beamer.layout:1679
msgid "ArticleMode"
msgstr "ModeArticle"
-#: lib/layouts/beamer.layout:1683
+#: lib/layouts/beamer.layout:1685
msgid "Article"
msgstr "Article"
-#: lib/layouts/beamer.layout:1688
+#: lib/layouts/beamer.layout:1690
msgid "PresentationMode"
msgstr "ModePresentation"
-#: lib/layouts/beamer.layout:1694
+#: lib/layouts/beamer.layout:1696
msgid "Presentation"
msgstr "Présentation"
-#: lib/layouts/beamer.layout:1721 lib/layouts/powerdot.layout:570
+#: lib/layouts/beamer.layout:1723 lib/layouts/powerdot.layout:570
#: lib/layouts/powerdot.layout:627 lib/layouts/sciposter.layout:104
#: lib/layouts/stdfloats.inc:28
msgid "Figure"
@@ -12971,8 +12989,8 @@ msgid "Fixme Error"
msgstr "Erreur Fixme"
#: lib/layouts/fixme.module:83 src/frontends/qt/GuiCompare.cpp:199
-#: src/frontends/qt/GuiDocument.cpp:2861 src/frontends/qt/GuiDocument.cpp:2935
-#: src/frontends/qt/GuiDocument.cpp:4832
+#: src/frontends/qt/GuiDocument.cpp:2865 src/frontends/qt/GuiDocument.cpp:2939
+#: src/frontends/qt/GuiDocument.cpp:4846
msgid "Error"
msgstr "Erreur"
@@ -17341,7 +17359,7 @@ msgstr "Notes de bas de page"
msgid "Notes"
msgstr "Notes"
-#: lib/layouts/stdinsets.inc:14 src/frontends/qt/GuiDocument.cpp:1788
+#: lib/layouts/stdinsets.inc:14 src/frontends/qt/GuiDocument.cpp:1792
msgid "Branches"
msgstr "Branches"
@@ -17365,8 +17383,8 @@ msgstr "bas"
msgid "Greyedout"
msgstr "Grisée"
-#: lib/layouts/stdinsets.inc:208 src/insets/InsetERT.cpp:189
-#: src/insets/InsetERT.cpp:190
+#: lib/layouts/stdinsets.inc:208 src/insets/InsetERT.cpp:251
+#: src/insets/InsetERT.cpp:252
msgid "ERT"
msgstr "TeX"
@@ -17379,7 +17397,7 @@ msgstr "Liste des listings"
msgid "List of Listings"
msgstr "Liste des listings"
-#: lib/layouts/stdinsets.inc:351 src/frontends/qt/GuiDocument.cpp:1786
+#: lib/layouts/stdinsets.inc:351 src/frontends/qt/GuiDocument.cpp:1790
msgid "Listings[[inset]]"
msgstr "Listings"
@@ -19930,7 +19948,7 @@ msgid "Copy as Reference|R"
msgstr "Copier comme référence|C"
#: lib/ui/stdcontext.inc:61 lib/ui/stdcontext.inc:375 lib/ui/stdmenus.inc:108
-#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1568
+#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1571
#: src/mathed/InsetMathNest.cpp:555
msgid "Cut"
msgstr "Couper"
@@ -19941,7 +19959,7 @@ msgid "Copy"
msgstr "Copier"
#: lib/ui/stdcontext.inc:63 lib/ui/stdcontext.inc:377 lib/ui/stdmenus.inc:110
-#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1512
+#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1515
#: src/frontends/qt/GuiToolbar.cpp:441 src/mathed/InsetMathGrid.cpp:1565
#: src/mathed/InsetMathNest.cpp:533
msgid "Paste"
@@ -22266,7 +22284,7 @@ msgid "Fractions"
msgstr "Fractions"
#: lib/ui/stdtoolbars.inc:219 lib/ui/stdtoolbars.inc:442
-#: src/frontends/qt/GuiDocument.cpp:1773
+#: src/frontends/qt/GuiDocument.cpp:1777
msgid "Fonts"
msgstr "Polices"
@@ -22283,7 +22301,7 @@ msgid "Big operators"
msgstr "Grands opérateurs"
#: lib/ui/stdtoolbars.inc:223 lib/ui/stdtoolbars.inc:690
-#: src/frontends/qt/GuiDocument.cpp:5169
+#: src/frontends/qt/GuiDocument.cpp:5183
msgid "Miscellaneous"
msgstr "Divers"
@@ -27138,7 +27156,7 @@ msgstr "MS Word Office Open XML|O"
msgid "Table (CSV)"
msgstr "Tableau (CSV)"
-#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1657
+#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1655
#: src/mathed/InsetMathMacroTemplate.cpp:538
msgid "LyX"
msgstr "LyX"
@@ -27332,7 +27350,7 @@ msgstr "Mentions de danger et conseils de prudence"
msgid "Multilingual Captions"
msgstr "Légendes multilingues"
-#: lib/examples/Articles:0 src/frontends/qt/GuiDocument.cpp:1771
+#: lib/examples/Articles:0 src/frontends/qt/GuiDocument.cpp:1775
msgid "Modules"
msgstr "Modules"
@@ -27581,7 +27599,7 @@ msgstr ""
"le préambule LaTeX."
#: src/Buffer.cpp:1086 src/BufferParams.cpp:475 src/frontends/qt/GuiLog.cpp:293
-#: src/insets/InsetIndex.cpp:651
+#: src/insets/InsetIndex.cpp:674
msgid "Index"
msgstr "Index"
@@ -27658,7 +27676,7 @@ msgstr ""
"%1$s vient d'une version plus récente de LyX, et le script lyx2lyx n'a pas "
"réussi à le convertir."
-#: src/Buffer.cpp:1445 src/Buffer.cpp:4720 src/Buffer.cpp:4829
+#: src/Buffer.cpp:1445 src/Buffer.cpp:4717 src/Buffer.cpp:4826
msgid "File is read-only"
msgstr "Fichier en lecture seule"
@@ -27682,8 +27700,8 @@ msgid "Overwrite modified file?"
msgstr "Ãcraser le fichier modifié ?"
#: src/Buffer.cpp:1458 src/Exporter.cpp:50
-#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2865
-#: src/frontends/qt/GuiView.cpp:3134 src/frontends/qt/GuiView.cpp:3237
+#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2875
+#: src/frontends/qt/GuiView.cpp:3144 src/frontends/qt/GuiView.cpp:3247
msgid "&Overwrite"
msgstr "Ã&craser"
@@ -27925,7 +27943,7 @@ msgstr "La branche « %1$s » existe déjà ."
msgid "Error viewing the output file."
msgstr "Erreur lors de l'affichage du fichier imprimable."
-#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2696
+#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2706
#: src/frontends/qt/Validator.cpp:241 src/insets/ExternalSupport.cpp:394
#: src/insets/InsetGraphics.cpp:692 src/insets/InsetInclude.cpp:606
msgid "Invalid filename"
@@ -27966,57 +27984,57 @@ msgstr ""
"Il y a des espaces dans les chemins de vos bases de données BibTeX.\n"
"BibTeX n'arrivera pas à les trouver."
-#: src/Buffer.cpp:4091
+#: src/Buffer.cpp:4088
#, c-format
msgid "Preview source code for paragraph %1$d"
msgstr "Visionner le code LaTeX du paragraphe %1$d"
-#: src/Buffer.cpp:4096
+#: src/Buffer.cpp:4093
#, c-format
msgid "Preview source code from paragraph %1$s to %2$s"
msgstr "Visionner le code LaTeX des paragraphes %1$s à %2$s"
-#: src/Buffer.cpp:4151
+#: src/Buffer.cpp:4148
msgid "Preview source code"
msgstr "Visionner le code LaTeX"
-#: src/Buffer.cpp:4153
+#: src/Buffer.cpp:4150
msgid "Preview preamble"
msgstr "Aperçu préambule"
-#: src/Buffer.cpp:4155
+#: src/Buffer.cpp:4152
msgid "Preview body"
msgstr "Aperçu corps"
-#: src/Buffer.cpp:4171
+#: src/Buffer.cpp:4168
msgid "Plain text does not have a preamble."
msgstr "Le texte brut ne possède pas de préambule."
-#: src/Buffer.cpp:4308
+#: src/Buffer.cpp:4305
msgid "Autosaving current document..."
msgstr "Sauvegarde automatique du document..."
-#: src/Buffer.cpp:4433
+#: src/Buffer.cpp:4430
#, c-format
msgid "No information for exporting the format %1$s."
msgstr "Pas d'information pour exporter au format %1$s."
-#: src/Buffer.cpp:4437
+#: src/Buffer.cpp:4434
#, c-format
msgid "Hint: use non-TeX fonts or set input encoding to '%1$s'"
msgstr ""
"Astuce : utiliser les polices non-TeX ou positionner l'encodage d'entrée à « "
"%1$s »"
-#: src/Buffer.cpp:4439
+#: src/Buffer.cpp:4436
msgid "Couldn't export file"
msgstr "Exportation du fichier impossible"
-#: src/Buffer.cpp:4507 src/frontends/qt/GuiView.cpp:2838
+#: src/Buffer.cpp:4504 src/frontends/qt/GuiView.cpp:2848
msgid "File name error"
msgstr "Erreur de nom de fichier"
-#: src/Buffer.cpp:4508
+#: src/Buffer.cpp:4505
#, c-format
msgid ""
"The directory path to the document\n"
@@ -28030,21 +28048,21 @@ msgstr ""
"devriez enregistrer le fichier dans un répertoire dont le chemin d'accès ne "
"contient pas d'espaces."
-#: src/Buffer.cpp:4597 src/Buffer.cpp:4627 src/frontends/qt/GuiView.cpp:873
+#: src/Buffer.cpp:4594 src/Buffer.cpp:4624 src/frontends/qt/GuiView.cpp:872
msgid "Document export cancelled."
msgstr "Export du document annulé."
-#: src/Buffer.cpp:4630
+#: src/Buffer.cpp:4627
#, c-format
msgid "Document exported as %1$s to file `%2$s'"
msgstr "Document exporté en tant que %1$s vers le fichier `%2$s'"
-#: src/Buffer.cpp:4637
+#: src/Buffer.cpp:4634
#, c-format
msgid "Document exported as %1$s"
msgstr "Document exporté en tant que %1$s"
-#: src/Buffer.cpp:4706
+#: src/Buffer.cpp:4703
#, c-format
msgid ""
"An emergency save of the document %1$s exists.\n"
@@ -28055,23 +28073,23 @@ msgstr ""
"\n"
"Voulez-vous récupérer la sauvegarde d'urgence ?"
-#: src/Buffer.cpp:4709
+#: src/Buffer.cpp:4706
msgid "Load emergency save?"
msgstr "Charger la sauvegarde d'urgence ?"
-#: src/Buffer.cpp:4710
+#: src/Buffer.cpp:4707
msgid "&Recover"
msgstr "&Récupérer"
-#: src/Buffer.cpp:4710
+#: src/Buffer.cpp:4707
msgid "&Load Original"
msgstr "&Charger l'original"
-#: src/Buffer.cpp:4710
+#: src/Buffer.cpp:4707
msgid "&Only show difference"
msgstr "N'afficher &que les différences"
-#: src/Buffer.cpp:4721
+#: src/Buffer.cpp:4718
#, c-format
msgid ""
"An emergency file is successfully loaded, but the original file %1$s is "
@@ -28081,15 +28099,15 @@ msgstr ""
"original %1$s est en lecture seule. Il faudra sauvegarder le document sous "
"un autre nom."
-#: src/Buffer.cpp:4728
+#: src/Buffer.cpp:4725
msgid "Document was successfully recovered."
msgstr "Le document a été récupéré correctement."
-#: src/Buffer.cpp:4730
+#: src/Buffer.cpp:4727
msgid "Document was NOT successfully recovered."
msgstr "Le document n'a PAS été récupéré avec succès."
-#: src/Buffer.cpp:4731
+#: src/Buffer.cpp:4728
#, c-format
msgid ""
"Remove emergency file now?\n"
@@ -28098,31 +28116,31 @@ msgstr ""
"Supprimer la sauvegarde d'urgence maintenant ?\n"
"(%1$s)"
-#: src/Buffer.cpp:4735 src/Buffer.cpp:4747
+#: src/Buffer.cpp:4732 src/Buffer.cpp:4744
msgid "Delete emergency file?"
msgstr "Supprimer la sauvegarde d'urgence ?"
-#: src/Buffer.cpp:4736 src/Buffer.cpp:4749
+#: src/Buffer.cpp:4733 src/Buffer.cpp:4746
msgid "&Keep"
msgstr "&Conserver"
-#: src/Buffer.cpp:4740
+#: src/Buffer.cpp:4737
msgid "Emergency file deleted"
msgstr "Sauvegarde d'urgence supprimée"
-#: src/Buffer.cpp:4741
+#: src/Buffer.cpp:4738
msgid "Do not forget to save your file now!"
msgstr "N'oubliez pas d'enregistrer votre fichier maintenant !"
-#: src/Buffer.cpp:4748
+#: src/Buffer.cpp:4745
msgid "Remove emergency file now?"
msgstr "Supprimer la sauvegarde d'urgence maintenant ?"
-#: src/Buffer.cpp:4771
+#: src/Buffer.cpp:4768
msgid "Can't rename emergency file!"
msgstr "Impossible de renommer la sauvegarde d'urgence !"
-#: src/Buffer.cpp:4772
+#: src/Buffer.cpp:4769
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 "
@@ -28132,11 +28150,11 @@ msgstr ""
"faire manuellement. Sinon, il vous sera redemandé lors du prochain "
"chargement de votre fichier, et pourrait écraser votre travail."
-#: src/Buffer.cpp:4777
+#: src/Buffer.cpp:4774
msgid "Emergency File Renames"
msgstr "Renommage de la sauvegarde d'urgence"
-#: src/Buffer.cpp:4778
+#: src/Buffer.cpp:4775
#, c-format
msgid ""
"Emergency file renamed as:\n"
@@ -28145,7 +28163,7 @@ msgstr ""
"Sauvegarde d'urgence renommée comme :\n"
" %1$s"
-#: src/Buffer.cpp:4817
+#: src/Buffer.cpp:4814
#, c-format
msgid ""
"The backup of the document %1$s is newer.\n"
@@ -28156,19 +28174,19 @@ msgstr ""
"\n"
"Voulez-vous charger la sauvegarde automatique ?"
-#: src/Buffer.cpp:4819
+#: src/Buffer.cpp:4816
msgid "Load backup?"
msgstr "Charger la sauvegarde automatique ?"
-#: src/Buffer.cpp:4820
+#: src/Buffer.cpp:4817
msgid "&Load backup"
msgstr "&Charger la sauvegarde"
-#: src/Buffer.cpp:4820
+#: src/Buffer.cpp:4817
msgid "Load &original"
msgstr "Charger l'&original"
-#: src/Buffer.cpp:4830
+#: src/Buffer.cpp:4827
#, c-format
msgid ""
"A backup file is successfully loaded, but the original file %1$s is marked "
@@ -28178,16 +28196,16 @@ msgstr ""
"original %1$s est en lecture seule. Il faudra sauvegarder le document sous "
"un autre nom."
-#: src/Buffer.cpp:5232 src/insets/InsetCaption.cpp:404
+#: src/Buffer.cpp:5206 src/insets/InsetCaption.cpp:404
msgid "Senseless!!! "
msgstr "Inapproprié !!! "
-#: src/Buffer.cpp:5496
+#: src/Buffer.cpp:5470
#, c-format
msgid "Document %1$s reloaded."
msgstr "Document %1$s rechargé."
-#: src/Buffer.cpp:5499
+#: src/Buffer.cpp:5473
#, c-format
msgid "Could not reload document %1$s."
msgstr "Impossible de recharger le document %1$s."
@@ -28301,36 +28319,60 @@ msgstr ""
msgid "Document class not available"
msgstr "Classe de document non disponible"
-#: src/BufferParams.cpp:1098 src/Color.cpp:281
-#: src/frontends/qt/GuiDocument.cpp:3538
+#: src/BufferParams.cpp:1100 src/Color.cpp:281
+#: src/frontends/qt/GuiDocument.cpp:3542
msgid "greyedout inset text"
msgstr "texte d'insert grisé"
-#: src/BufferParams.cpp:1811 src/BufferParams.cpp:2254 src/Encoding.cpp:253
-#: src/Paragraph.cpp:3012 src/frontends/qt/LaTeXHighlighter.cpp:123
-#: src/frontends/qt/LaTeXHighlighter.cpp:216
+#: src/BufferParams.cpp:1718 src/BufferParams.cpp:1872
+#: src/BufferParams.cpp:2315 src/Encoding.cpp:253 src/Paragraph.cpp:3014
+#: src/frontends/qt/LaTeXHighlighter.cpp:143
+#: src/frontends/qt/LaTeXHighlighter.cpp:257
#: src/insets/InsetCommandParams.cpp:508 src/insets/InsetCommandParams.cpp:516
#: src/insets/InsetGraphics.cpp:886 src/insets/InsetGraphics.cpp:894
-#: src/insets/InsetListings.cpp:298 src/insets/InsetListings.cpp:306
-#: src/insets/InsetListings.cpp:331 src/mathed/MathExtern.cpp:1440
+#: src/insets/InsetListings.cpp:299 src/insets/InsetListings.cpp:307
+#: src/insets/InsetListings.cpp:332 src/mathed/MathExtern.cpp:1440
#: src/mathed/MathExtern.cpp:1514
msgid "LyX Warning: "
msgstr "Avertissement LyX : "
-#: src/BufferParams.cpp:1812 src/BufferParams.cpp:2255 src/Encoding.cpp:254
-#: src/Paragraph.cpp:3013 src/insets/InsetCommandParams.cpp:509
-#: src/insets/InsetCommandParams.cpp:517 src/insets/InsetGraphics.cpp:887
-#: src/insets/InsetGraphics.cpp:895 src/insets/InsetListings.cpp:299
-#: src/insets/InsetListings.cpp:307 src/mathed/MathExtern.cpp:1441
-#: src/mathed/MathExtern.cpp:1515
+#: src/BufferParams.cpp:1719 src/BufferParams.cpp:1873
+#: src/BufferParams.cpp:2316 src/Encoding.cpp:254 src/Paragraph.cpp:3015
+#: src/insets/InsetCommandParams.cpp:509 src/insets/InsetCommandParams.cpp:517
+#: src/insets/InsetGraphics.cpp:887 src/insets/InsetGraphics.cpp:895
+#: src/insets/InsetListings.cpp:300 src/insets/InsetListings.cpp:308
+#: src/mathed/MathExtern.cpp:1441 src/mathed/MathExtern.cpp:1515
msgid "uncodable character"
msgstr "caractère incodable"
-#: src/BufferParams.cpp:1825
+#: src/BufferParams.cpp:1732
+msgid "Uncodable character in document metadata"
+msgstr "Caractère incodable dans les métadonnées du document"
+
+#: src/BufferParams.cpp:1734
+#, c-format
+msgid ""
+"The metadata 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 ""
+"Les métadonnées de votre document contiennent des caractères inconnus de "
+"l'encodage en cours d'utilisation (en l'occurrence %1$s).\n"
+"Ces caractères seront omis dans le résultat imprimable, qui pourra donc être "
+"incomplet.\n"
+"\n"
+"Choisir un encodage approprié pour le document\n"
+"(par exemple utf8) ou modifier le préambule de manière appropriée."
+
+#: src/BufferParams.cpp:1886
msgid "Uncodable character in class options"
msgstr "Caractère incodable dans les options de classe"
-#: src/BufferParams.cpp:1827
+#: src/BufferParams.cpp:1888
#, c-format
msgid ""
"The class options of your document contain glyphs that are unknown in the "
@@ -28349,11 +28391,11 @@ msgstr ""
"Choisir un encodage approprié (par exemple utf8)\n"
"ou modifier les options de classe."
-#: src/BufferParams.cpp:2268
+#: src/BufferParams.cpp:2329
msgid "Uncodable character in user preamble"
msgstr "Caractère incodable dans le préambule utilisateur"
-#: src/BufferParams.cpp:2270
+#: src/BufferParams.cpp:2331
#, c-format
msgid ""
"The user preamble of your document contains glyphs that are unknown in the "
@@ -28372,7 +28414,7 @@ msgstr ""
"Choisir un encodage approprié (par exemple utf8)\n"
"ou modifier l'orthographe du nom d'auteur."
-#: src/BufferParams.cpp:2585
+#: src/BufferParams.cpp:2646
#, c-format
msgid ""
"The layout file:\n"
@@ -28387,11 +28429,11 @@ msgstr ""
"sera utilisée. LyX ne pourra pas produire\n"
"un résultat imprimable correct."
-#: src/BufferParams.cpp:2591
+#: src/BufferParams.cpp:2652
msgid "Document class not found"
msgstr "Classe de document introuvable"
-#: src/BufferParams.cpp:2598
+#: src/BufferParams.cpp:2659
#, c-format
msgid ""
"Due to some error in it, the layout file:\n"
@@ -28406,23 +28448,23 @@ msgstr ""
"sera utilisée. LyX ne pourra pas produire\n"
"un résultat imprimable correct."
-#: src/BufferParams.cpp:2604 src/BufferView.cpp:1424 src/BufferView.cpp:1456
+#: src/BufferParams.cpp:2665 src/BufferView.cpp:1424 src/BufferView.cpp:1456
msgid "Could not load class"
msgstr "Chargement de la classe impossible"
-#: src/BufferParams.cpp:2649
+#: src/BufferParams.cpp:2710
msgid "Error reading internal layout information"
msgstr "Erreur de lecture du format interne"
-#: src/BufferParams.cpp:2650 src/TextClass.cpp:1952 src/TextClass.cpp:1985
+#: src/BufferParams.cpp:2711 src/TextClass.cpp:1952 src/TextClass.cpp:1985
msgid "Read Error"
msgstr "Erreur de lecture"
-#: src/BufferParams.cpp:3655
+#: src/BufferParams.cpp:3726
msgid "No bibliography processor found!"
msgstr "Aucun processeur bibliographique n'a été trouvé !"
-#: src/BufferParams.cpp:3657
+#: src/BufferParams.cpp:3728
#, c-format
msgid ""
"The bibliography processor requested by this document (%1$s) is not "
@@ -28435,11 +28477,11 @@ msgstr ""
"bibliographie ni références ne seront créées.\n"
"Merci de réparer votre installation !"
-#: src/BufferParams.cpp:3665
+#: src/BufferParams.cpp:3736
msgid "Requested bibliography processor not found!"
msgstr "Processeur bibliographique requis introuvable !"
-#: src/BufferParams.cpp:3667
+#: src/BufferParams.cpp:3738
#, c-format
msgid ""
"The bibliography processor requested by this document (%1$s) is not "
@@ -28479,7 +28521,7 @@ msgid "This portion of the document is deleted."
msgstr "Cette portion du document est supprimée."
#: src/BufferView.cpp:1191 src/BufferView.cpp:2254
-#: src/frontends/qt/GuiView.cpp:4286 src/frontends/qt/GuiView.cpp:4374
+#: src/frontends/qt/GuiView.cpp:4296 src/frontends/qt/GuiView.cpp:4384
msgid "Absolute filename expected."
msgstr "Chemin absolu requis."
@@ -28591,7 +28633,7 @@ msgstr "Document %1$s inséré."
msgid "Could not insert document %1$s"
msgstr "Impossible d'insérer le document %1$s"
-#: src/BufferView.cpp:3572
+#: src/BufferView.cpp:3569
#, c-format
msgid ""
"Could not read the specified document\n"
@@ -28602,11 +28644,11 @@ msgstr ""
"%1$s\n"
"Ã cause de l'erreur : %2$s"
-#: src/BufferView.cpp:3574
+#: src/BufferView.cpp:3571
msgid "Could not read file"
msgstr "Lecture du fichier impossible"
-#: src/BufferView.cpp:3581
+#: src/BufferView.cpp:3578
#, c-format
msgid ""
"%1$s\n"
@@ -28615,17 +28657,17 @@ msgstr ""
"%1$s\n"
"est illisible."
-#: src/BufferView.cpp:3582 src/frontends/qt/qt_helpers.cpp:311
+#: src/BufferView.cpp:3579 src/frontends/qt/qt_helpers.cpp:311
#: src/frontends/qt/qt_helpers.cpp:314 src/frontends/qt/qt_helpers.cpp:320
#: src/output.cpp:39
msgid "Could not open file"
msgstr "Ouverture du fichier impossible"
-#: src/BufferView.cpp:3589
+#: src/BufferView.cpp:3586
msgid "Reading not UTF-8 encoded file"
msgstr "Lecture d'un fichier non encodé en UTF-8"
-#: src/BufferView.cpp:3590
+#: src/BufferView.cpp:3587
msgid ""
"The file is not UTF-8 encoded.\n"
"It will be read as local 8Bit-encoded.\n"
@@ -29103,7 +29145,7 @@ msgstr "couleur héritée"
msgid "ignore"
msgstr "couleur ignorée"
-#: src/Converter.cpp:306
+#: src/Converter.cpp:312
#, c-format
msgid ""
"<p>The following LaTeX backend has been configured to allow execution of "
@@ -29118,11 +29160,11 @@ msgstr ""
"fonctionnalité proposée par LyX, permettant d'autoriser ce privilège pour "
"les seuls documents qui en ont besoin, vous convient.</p>"
-#: src/Converter.cpp:315
+#: src/Converter.cpp:321
msgid "Security Warning"
msgstr "Avertissement de sécurité"
-#: src/Converter.cpp:328
+#: src/Converter.cpp:334
#, c-format
msgid ""
"<p>The following LaTeX backend has been requested to allow execution of "
@@ -29136,7 +29178,7 @@ msgstr ""
"compris des commandes dangereuses, si instruites dans ce but par un document "
"LyX malicieux.</p>"
-#: src/Converter.cpp:335
+#: src/Converter.cpp:341
#, c-format
msgid ""
"<p>The requested operation requires the use of a converter from %2$s to %3$s:"
@@ -29150,11 +29192,11 @@ msgstr ""
"commandes dangereuses, si instruites dans ce but par un document LyX "
"malicieux.</p>"
-#: src/Converter.cpp:345
+#: src/Converter.cpp:351
msgid "An external converter is disabled for security reasons"
msgstr "Un convertisseur externe est désactivé pour des raisons de sécurité"
-#: src/Converter.cpp:347
+#: src/Converter.cpp:353
msgid ""
"<p><b>Your current preference settings forbid its execution.</b></p><p>(To "
"change this setting, go to <i>Preferences ▹ File Handling ▹ "
@@ -29166,15 +29208,15 @@ msgstr ""
"▹ Convertisseurs</i> et décochez <i>Sécurité ▹ Interdire "
"lâutilisation des convertisseurs needauth</i>.)"
-#: src/Converter.cpp:356
+#: src/Converter.cpp:362
msgid "A LaTeX backend requires your authorization"
msgstr "Un traitement LaTeX requiert votre autorisation"
-#: src/Converter.cpp:357
+#: src/Converter.cpp:363
msgid "An external converter requires your authorization"
msgstr "Un convertisseur extérieur requiert votre autorisation"
-#: src/Converter.cpp:360
+#: src/Converter.cpp:366
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>"
@@ -29183,7 +29225,7 @@ msgstr ""
"externes ?</p><p><b>Autoriser uniquement si vous avez confiance dans "
"l'origine ou lâémetteur du document LyX !</b></p>"
-#: src/Converter.cpp:363
+#: src/Converter.cpp:369
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>"
@@ -29191,35 +29233,35 @@ msgstr ""
"<p>Voulez-vous exécuter ce convertisseur ?</p><p><b>Exécuter uniquement si "
"vous avez confiance dans l'origine ou lâémetteur du document LyX !</b></p>"
-#: src/Converter.cpp:367
+#: src/Converter.cpp:373
msgid "Do ¬ allow"
msgstr "&Ne pas autoriser"
-#: src/Converter.cpp:367
+#: src/Converter.cpp:373
msgid "Do ¬ run"
msgstr "&Ne pas exécuter"
-#: src/Converter.cpp:368
+#: src/Converter.cpp:374
msgid "A&llow"
msgstr "&Autoriser"
-#: src/Converter.cpp:368
+#: src/Converter.cpp:374
msgid "&Run"
msgstr "&Exécuter"
-#: src/Converter.cpp:370
+#: src/Converter.cpp:376
msgid "&Always allow for this document"
msgstr "&Toujours autoriser pour ce document"
-#: src/Converter.cpp:371
+#: src/Converter.cpp:377
msgid "&Always run for this document"
msgstr "Toujours ex&écuter pour ce document"
-#: src/Converter.cpp:441 src/Converter.cpp:687 src/Converter.cpp:716
+#: src/Converter.cpp:447 src/Converter.cpp:693 src/Converter.cpp:722
msgid "Converter killed"
msgstr "Convertisseur interrompu"
-#: src/Converter.cpp:442 src/Converter.cpp:688 src/Converter.cpp:717
+#: src/Converter.cpp:448 src/Converter.cpp:694 src/Converter.cpp:723
#, c-format
msgid ""
"The following converter was killed by the user.\n"
@@ -29228,12 +29270,12 @@ msgstr ""
"Le convertisseur suivant a été interrompu par l'utilisateur.\n"
" %1$s\n"
-#: src/Converter.cpp:461 src/Converter.cpp:745 src/Converter.cpp:768
-#: src/Converter.cpp:810
+#: src/Converter.cpp:467 src/Converter.cpp:751 src/Converter.cpp:774
+#: src/Converter.cpp:816
msgid "Cannot convert file"
msgstr "Conversion du fichier impossible"
-#: src/Converter.cpp:462
+#: src/Converter.cpp:468
#, c-format
msgid ""
"No information for converting %1$s format files to %2$s.\n"
@@ -29243,11 +29285,11 @@ msgstr ""
"du format %1$s vers le format %2$s.\n"
"Définissez un convertisseur dans les préférences."
-#: src/Converter.cpp:567 src/frontends/qt/GuiDocument.cpp:2000
+#: src/Converter.cpp:573 src/frontends/qt/GuiDocument.cpp:2004
msgid "Pygments driver command not found!"
msgstr "Commande d'activation de pygments introuvable !"
-#: src/Converter.cpp:568 src/frontends/qt/GuiDocument.cpp:2001
+#: src/Converter.cpp:574 src/frontends/qt/GuiDocument.cpp:2005
msgid ""
"The driver command necessary to use the minted package\n"
"(pygmentize) has not been found. Make sure you have\n"
@@ -29269,15 +29311,15 @@ msgstr ""
"\n"
"où « pilote » est le nom du pilote."
-#: src/Converter.cpp:663 src/Format.cpp:708 src/Format.cpp:778
+#: src/Converter.cpp:669 src/Format.cpp:708 src/Format.cpp:778
msgid "Executing command: "
msgstr "Exécution de la commande : "
-#: src/Converter.cpp:728
+#: src/Converter.cpp:734
msgid "Process Killed"
msgstr "Processus interrompu"
-#: src/Converter.cpp:729
+#: src/Converter.cpp:735
#, c-format
msgid ""
"The conversion process was killed while running:\n"
@@ -29286,11 +29328,11 @@ msgstr ""
"Le processus de conversion a été interrompu lors de l'exécution :\n"
"%1$s"
-#: src/Converter.cpp:734
+#: src/Converter.cpp:740
msgid "Process Timed Out"
msgstr "Délai d'exécution du processus expiré"
-#: src/Converter.cpp:735
+#: src/Converter.cpp:741
#, c-format
msgid ""
"The conversion process:\n"
@@ -29301,15 +29343,15 @@ msgstr ""
"%1$s\n"
"a expiré avant la fin."
-#: src/Converter.cpp:740
+#: src/Converter.cpp:746
msgid "Build errors"
msgstr "Erreurs de compilation"
-#: src/Converter.cpp:741
+#: src/Converter.cpp:747
msgid "There were errors during the build process."
msgstr "Il y a eu des erreurs pendant la compilation."
-#: src/Converter.cpp:746
+#: src/Converter.cpp:752
#, c-format
msgid ""
"An error occurred while running:\n"
@@ -29318,38 +29360,38 @@ msgstr ""
"Une erreur s'est produite lors de l'exécution :\n"
"%1$s"
-#: src/Converter.cpp:769
+#: src/Converter.cpp:775
#, c-format
msgid "Could not move a temporary directory from %1$s to %2$s."
msgstr "Impossible de déplacer un répertoire temporaire de %1$s à %2$s."
-#: src/Converter.cpp:812
+#: src/Converter.cpp:818
#, c-format
msgid "Could not copy a temporary file from %1$s to %2$s."
msgstr "Impossible de copier un fichier temporaire de %1$s vers %2$s."
-#: src/Converter.cpp:813
+#: src/Converter.cpp:819
#, c-format
msgid "Could not move a temporary file from %1$s to %2$s."
msgstr "Impossible de déplacer un fichier temporaire de %1$s à %2$s."
-#: src/Converter.cpp:853
+#: src/Converter.cpp:859
msgid "Running LaTeX..."
msgstr "Exécution de LaTeX..."
-#: src/Converter.cpp:870
+#: src/Converter.cpp:876
msgid "Export canceled"
msgstr "Exportation annulée"
-#: src/Converter.cpp:871
+#: src/Converter.cpp:877
msgid "The export process was terminated by the user."
msgstr "Le processus d'exportation a été interrompu par l'utilisateur."
-#: src/Converter.cpp:881
+#: src/Converter.cpp:887
msgid "Undefined reference"
msgstr "Référence indéfinie"
-#: src/Converter.cpp:882
+#: src/Converter.cpp:888
msgid ""
"Undefined references or citations were found during the build.\n"
"Please check the warnings in the LaTeX log (Document > LaTeX Log)."
@@ -29359,7 +29401,7 @@ msgstr ""
"Veuillez vérifier les avertissements dans le journal LaTeX (Document > "
"Fichier journal)."
-#: src/Converter.cpp:894
+#: src/Converter.cpp:900
#, c-format
msgid ""
"LaTeX did not run successfully. Additionally, LyX could not locate the LaTeX "
@@ -29368,11 +29410,11 @@ msgstr ""
"LaTeX ne s'est pas exécuté correctement. En plus, LyX n'a pas pu trouver le "
"fichier journal LaTeX %1$s."
-#: src/Converter.cpp:897 src/Converter.cpp:904
+#: src/Converter.cpp:903 src/Converter.cpp:910
msgid "LaTeX failed"
msgstr "Ãchec de LaTeX"
-#: src/Converter.cpp:900
+#: src/Converter.cpp:906
#, c-format
msgid ""
"The external program\n"
@@ -29385,11 +29427,11 @@ msgstr ""
"s'est terminé avec une erreur. Il est recommandé de corriger l'origine de "
"l'erreur du programme externe (vérifier les journaux). "
-#: src/Converter.cpp:906
+#: src/Converter.cpp:912
msgid "Output is empty"
msgstr "La sortie est vide"
-#: src/Converter.cpp:907
+#: src/Converter.cpp:913
msgid "No output file was generated."
msgstr "Aucun fichier imprimable créé."
@@ -29498,7 +29540,7 @@ msgstr "&Conserver le fichier"
msgid "Overwrite &all"
msgstr "Ãcraser &tout"
-#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:793
+#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:792
msgid "&Cancel export"
msgstr "&Annuler l'exportation"
@@ -29522,17 +29564,17 @@ msgid "Number %1$s"
msgstr "Numéro %1$s"
#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:148
-#: src/frontends/qt/GuiDocument.cpp:4894 src/frontends/qt/GuiListings.cpp:167
+#: src/frontends/qt/GuiDocument.cpp:4908 src/frontends/qt/GuiListings.cpp:167
msgid "Roman"
msgstr "Romain"
#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:149
-#: src/frontends/qt/GuiDocument.cpp:4894 src/frontends/qt/GuiListings.cpp:167
+#: src/frontends/qt/GuiDocument.cpp:4908 src/frontends/qt/GuiListings.cpp:167
msgid "Sans Serif"
msgstr "Sans empattement"
#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:150
-#: src/frontends/qt/GuiDocument.cpp:4894 src/frontends/qt/GuiListings.cpp:167
+#: src/frontends/qt/GuiDocument.cpp:4908 src/frontends/qt/GuiListings.cpp:167
msgid "Typewriter"
msgstr "Chasse fixe"
@@ -29616,7 +29658,7 @@ msgstr "Nom propre %1$s, "
msgid "Cannot view file"
msgstr "Visionnement du fichier impossible"
-#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3976
+#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3986
#, c-format
msgid "File does not exist: %1$s"
msgstr "Fichier inexistant : %1$s"
@@ -30652,7 +30694,7 @@ msgstr "LyX VC : message de journal"
msgid "(no log message)"
msgstr "(aucun message de journal)"
-#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3839
+#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3849
msgid "LyX VC: Log Message"
msgstr "LyX VC : Message de journal"
@@ -30673,7 +30715,7 @@ msgstr ""
msgid "Revert to stored version of document?"
msgstr "Revenir à la version enregistrée du document ?"
-#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4423
+#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4433
msgid "&Revert"
msgstr "&Revenir à la Sauvegarde"
@@ -30810,40 +30852,40 @@ msgstr "Déjà en mode « expression régulière »"
msgid "Regexp editor mode"
msgstr "Mode « expression régulière »"
-#: src/Text3.cpp:1602
+#: src/Text3.cpp:1605
msgid "Layout "
msgstr "Environnement "
-#: src/Text3.cpp:1603 src/Text3.cpp:2173
+#: src/Text3.cpp:1606 src/Text3.cpp:2177
msgid " not known"
msgstr " inconnu"
-#: src/Text3.cpp:2172
+#: src/Text3.cpp:2176
msgid "Table Style "
msgstr "Style de tableau "
-#: src/Text3.cpp:2365 src/frontends/qt/GuiApplication.cpp:1873
+#: src/Text3.cpp:2369 src/frontends/qt/GuiApplication.cpp:1873
msgid "Missing argument"
msgstr "Paramètre manquant"
-#: src/Text3.cpp:2534
+#: src/Text3.cpp:2538
msgid "Invalid argument (number exceeds stack size)!"
msgstr "Argument invalide (le nombre est supérieur à la taille de la pile) !"
-#: src/Text3.cpp:2538
+#: src/Text3.cpp:2542
msgid "Invalid argument (must be a non-negative number)!"
msgstr "Argument invalide (nombre non négatif obligatoire)"
-#: src/Text3.cpp:2543 src/Text3.cpp:2561
+#: src/Text3.cpp:2547 src/Text3.cpp:2565
#, c-format
msgid "Text properties applied: %1$s"
msgstr "Propriétés du texte appliquées : %1$s"
-#: src/Text3.cpp:2720
+#: src/Text3.cpp:2724
msgid "Path to thesaurus directory not set!"
msgstr "Chemin d'accès au répertoire du thésaurus non précisé !"
-#: src/Text3.cpp:2721
+#: src/Text3.cpp:2725
msgid ""
"The path to the thesaurus directory has not been specified.\n"
"The thesaurus is not functional.\n"
@@ -30855,7 +30897,7 @@ msgstr ""
"Se référer au Guide de l'utilisateur, section 6.15.1, pour\n"
"les instructions de réglage."
-#: src/Text3.cpp:2847 src/Text3.cpp:2858
+#: src/Text3.cpp:2851 src/Text3.cpp:2862
msgid "Paragraph layout set"
msgstr "Style du paragraphe redéfini"
@@ -30975,8 +31017,8 @@ msgstr ""
msgid "Error reading cite engine %1$s\n"
msgstr "Erreur de lecture du moteur bibliographique %1$s\n"
-#: src/TocBackend.cpp:270 src/insets/InsetIndex.cpp:477
-#: src/insets/InsetIndex.cpp:498
+#: src/TocBackend.cpp:270 src/insets/InsetIndex.cpp:500
+#: src/insets/InsetIndex.cpp:521
msgid "unknown type!"
msgstr "type inconnu !"
@@ -31009,7 +31051,7 @@ msgstr "Ãtiquettes et références"
msgid "Broken References and Citations"
msgstr "Références et citations cassées"
-#: src/TocBackend.cpp:296 src/frontends/qt/GuiDocument.cpp:1770
+#: src/TocBackend.cpp:296 src/frontends/qt/GuiDocument.cpp:1774
msgid "Child Documents"
msgstr "Sous-documents"
@@ -31033,7 +31075,7 @@ msgstr "Vérifiez si le paquetage RCS GNU est installé sur votre système."
#: src/VCBackend.cpp:934 src/VCBackend.cpp:993 src/VCBackend.cpp:1052
#: src/VCBackend.cpp:1060 src/VCBackend.cpp:1348 src/VCBackend.cpp:1450
#: src/VCBackend.cpp:1456 src/VCBackend.cpp:1479 src/VCBackend.cpp:1964
-#: src/frontends/qt/GuiView.cpp:3755 src/frontends/qt/GuiView.cpp:3798
+#: src/frontends/qt/GuiView.cpp:3765 src/frontends/qt/GuiView.cpp:3808
msgid "Revision control error."
msgstr "Erreur de contrôle de version."
@@ -31288,7 +31330,7 @@ msgstr ""
"Le document %1$s est déjà chargé et a été modifié.\n"
"Voulez-vous revenir à la version enregistrée et ignorer vos modifications ?"
-#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4414
+#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4424
msgid "Reload saved document?"
msgstr "Revenir à la sauvegarde ?"
@@ -31472,8 +31514,8 @@ msgstr ""
"Entrée)"
#: src/frontends/qt/FloatPlacement.cpp:182
-#: src/frontends/qt/GuiDocument.cpp:1149 src/frontends/qt/GuiDocument.cpp:2721
-#: src/frontends/qt/GuiDocument.cpp:2748
+#: src/frontends/qt/GuiDocument.cpp:1149 src/frontends/qt/GuiDocument.cpp:2725
+#: src/frontends/qt/GuiDocument.cpp:2752
msgid "Class Default"
msgstr "Valeurs implicites de la classe"
@@ -31481,7 +31523,7 @@ msgstr "Valeurs implicites de la classe"
msgid "Document Default"
msgstr "Document implicite"
-#: src/frontends/qt/FloatPlacement.h:38 src/frontends/qt/GuiDocument.cpp:1785
+#: src/frontends/qt/FloatPlacement.h:38 src/frontends/qt/GuiDocument.cpp:1789
msgid "Float Settings"
msgstr "Paramètres de flottant"
@@ -31650,7 +31692,7 @@ msgstr "Commande désactivée"
msgid "Bad debug value `%1$s'."
msgstr "Valeur de débogage incorrecte « %1$s »."
-#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2192
+#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2214
msgid "Command not allowed without a buffer open"
msgstr "Commande non autorisée si aucun tampon n'est ouvert"
@@ -31914,12 +31956,12 @@ msgstr "toutes les entités de références"
#: src/frontends/qt/GuiBibtex.cpp:456 src/frontends/qt/GuiBibtex.cpp:466
#: src/frontends/qt/GuiCompare.cpp:163 src/frontends/qt/GuiCompare.cpp:167
-#: src/frontends/qt/GuiDocument.cpp:2899 src/frontends/qt/GuiExternal.cpp:677
+#: src/frontends/qt/GuiDocument.cpp:2903 src/frontends/qt/GuiExternal.cpp:677
#: src/frontends/qt/GuiGraphics.cpp:826 src/frontends/qt/GuiInclude.cpp:380
#: src/frontends/qt/GuiLyXFiles.cpp:368 src/frontends/qt/GuiLyXFiles.cpp:374
-#: src/frontends/qt/GuiView.cpp:2605 src/frontends/qt/GuiView.cpp:2664
-#: src/frontends/qt/GuiView.cpp:2804 src/frontends/qt/GuiView.cpp:2938
-#: src/frontends/qt/GuiView.cpp:3058 src/frontends/qt/GuiView.cpp:3180
+#: src/frontends/qt/GuiView.cpp:2615 src/frontends/qt/GuiView.cpp:2674
+#: src/frontends/qt/GuiView.cpp:2814 src/frontends/qt/GuiView.cpp:2948
+#: src/frontends/qt/GuiView.cpp:3068 src/frontends/qt/GuiView.cpp:3190
msgid "D&ocuments"
msgstr "Documents|u"
@@ -32001,7 +32043,7 @@ msgid "Filename Suffix"
msgstr "Suffixe du fichier"
#: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:149
-#: src/frontends/qt/GuiDocument.cpp:3335 src/frontends/qt/GuiDocument.cpp:4630
+#: src/frontends/qt/GuiDocument.cpp:3339 src/frontends/qt/GuiDocument.cpp:4644
#: src/frontends/qt/GuiProgressView.cpp:144
#: src/frontends/qt/GuiProgressView.cpp:158
#: src/frontends/qt/GuiProgressView.cpp:179
@@ -32009,8 +32051,8 @@ msgid "Yes"
msgstr "Oui"
#: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:149
-#: src/frontends/qt/GuiDocument.cpp:3334 src/frontends/qt/GuiDocument.cpp:3961
-#: src/frontends/qt/GuiDocument.cpp:4629
+#: src/frontends/qt/GuiDocument.cpp:3338 src/frontends/qt/GuiDocument.cpp:3972
+#: src/frontends/qt/GuiDocument.cpp:4643
#: src/frontends/qt/GuiProgressView.cpp:110
#: src/frontends/qt/GuiProgressView.cpp:143
#: src/frontends/qt/GuiProgressView.cpp:179
@@ -32279,10 +32321,10 @@ msgstr "Fichiers %1$s"
msgid "Choose a filename to save the pasted graphic as"
msgstr "Choisir le nom de fichier sous lequel enregistrer le graphique collé"
-#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2682
-#: src/frontends/qt/GuiView.cpp:2823 src/frontends/qt/GuiView.cpp:2839
-#: src/frontends/qt/GuiView.cpp:2851 src/frontends/qt/GuiView.cpp:2868
-#: src/frontends/qt/GuiView.cpp:2953 src/frontends/qt/GuiView.cpp:4386
+#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2692
+#: src/frontends/qt/GuiView.cpp:2833 src/frontends/qt/GuiView.cpp:2849
+#: src/frontends/qt/GuiView.cpp:2861 src/frontends/qt/GuiView.cpp:2878
+#: src/frontends/qt/GuiView.cpp:2963 src/frontends/qt/GuiView.cpp:4396
msgid "Canceled."
msgstr "Annulé."
@@ -32312,8 +32354,8 @@ msgid "Select document"
msgstr "Sélectionner le document"
#: src/frontends/qt/GuiCompare.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:367
-#: src/frontends/qt/GuiView.cpp:2609 src/frontends/qt/GuiView.cpp:2668
-#: src/frontends/qt/GuiView.cpp:2942 src/frontends/qt/GuiView.cpp:3069
+#: src/frontends/qt/GuiView.cpp:2619 src/frontends/qt/GuiView.cpp:2678
+#: src/frontends/qt/GuiView.cpp:2952 src/frontends/qt/GuiView.cpp:3079
msgid "LyX Documents (*.lyx)"
msgstr "Documents LyX (*.lyx)"
@@ -32646,54 +32688,54 @@ msgstr "JIS B5"
msgid "JIS B6"
msgstr "JIS B6"
-#: src/frontends/qt/GuiDocument.cpp:1355
+#: src/frontends/qt/GuiDocument.cpp:1357
msgid "Numbered"
msgstr "Numéroté"
-#: src/frontends/qt/GuiDocument.cpp:1356
+#: src/frontends/qt/GuiDocument.cpp:1358
msgid "Appears in TOC"
msgstr "Apparaît dans la TdM"
-#: src/frontends/qt/GuiDocument.cpp:1444
+#: src/frontends/qt/GuiDocument.cpp:1446
msgid "Package"
msgstr "Paquetage"
-#: src/frontends/qt/GuiDocument.cpp:1444
+#: src/frontends/qt/GuiDocument.cpp:1446
msgid "Load automatically"
msgstr "Charger automatiquement"
-#: src/frontends/qt/GuiDocument.cpp:1445
+#: src/frontends/qt/GuiDocument.cpp:1447
msgid "Load always"
msgstr "Toujours charger"
-#: src/frontends/qt/GuiDocument.cpp:1445
+#: src/frontends/qt/GuiDocument.cpp:1447
msgid "Do not load"
msgstr "Ne pas charger"
-#: src/frontends/qt/GuiDocument.cpp:1457
+#: src/frontends/qt/GuiDocument.cpp:1459
msgid "The AMS LaTeX packages are always used"
msgstr "Les paquetages LaTeX AMS sont utilisés dans tous les cas"
-#: src/frontends/qt/GuiDocument.cpp:1460
+#: src/frontends/qt/GuiDocument.cpp:1462
#, c-format
msgid "The LaTeX package %1$s is always used"
msgstr "Le paquetage LaTeX %1$s est utilisé dans tous les cas"
-#: src/frontends/qt/GuiDocument.cpp:1465
+#: src/frontends/qt/GuiDocument.cpp:1467
msgid "The AMS LaTeX packages are never used"
msgstr "Les paquetages LaTeX AMS ne sont jamais utilisés"
-#: src/frontends/qt/GuiDocument.cpp:1468
+#: src/frontends/qt/GuiDocument.cpp:1470
#, c-format
msgid "The LaTeX package %1$s is never used"
msgstr "Le paquetage LaTeX %1$s n'est jamais utilisé"
-#: src/frontends/qt/GuiDocument.cpp:1605 src/frontends/qt/GuiDocument.cpp:2878
+#: src/frontends/qt/GuiDocument.cpp:1607 src/frontends/qt/GuiDocument.cpp:2882
#, c-format
msgid "%1$s [Class '%2$s']"
msgstr "%1$s [classe « %2$s »]"
-#: src/frontends/qt/GuiDocument.cpp:1608
+#: src/frontends/qt/GuiDocument.cpp:1610
#, c-format
msgid ""
"Class not found by LyX. Please check if you have the matching %1$s class and "
@@ -32702,82 +32744,82 @@ msgstr ""
"Classe introuvable par LyX. Vérifier si la classe %1$s et tous les "
"paquetages requis (%2$s) sont bien installés."
-#: src/frontends/qt/GuiDocument.cpp:1670
+#: src/frontends/qt/GuiDocument.cpp:1672
msgid "All avail. modules"
msgstr "Tous les modules dispo."
-#: src/frontends/qt/GuiDocument.cpp:1762 src/frontends/qt/GuiDocument.cpp:1986
+#: src/frontends/qt/GuiDocument.cpp:1766 src/frontends/qt/GuiDocument.cpp:1990
msgid "Input listings parameters below. Enter ? for a list of parameters."
msgstr ""
"Saisir les paramètres du listing ci-dessous. Taper ? pour une liste des "
"paramètres."
-#: src/frontends/qt/GuiDocument.cpp:1769
+#: src/frontends/qt/GuiDocument.cpp:1773
msgid "Document Class"
msgstr "Classe de document"
-#: src/frontends/qt/GuiDocument.cpp:1772
+#: src/frontends/qt/GuiDocument.cpp:1776
msgid "Local Layout"
msgstr "Format local"
-#: src/frontends/qt/GuiDocument.cpp:1774
+#: src/frontends/qt/GuiDocument.cpp:1778
msgid "Text Layout"
msgstr "Format du texte"
-#: src/frontends/qt/GuiDocument.cpp:1776
+#: src/frontends/qt/GuiDocument.cpp:1780
msgid "Page Margins"
msgstr "Marges"
-#: src/frontends/qt/GuiDocument.cpp:1778 src/frontends/qt/GuiPrefs.cpp:1080
+#: src/frontends/qt/GuiDocument.cpp:1782 src/frontends/qt/GuiPrefs.cpp:1080
msgid "Colors"
msgstr "Couleurs"
-#: src/frontends/qt/GuiDocument.cpp:1779
+#: src/frontends/qt/GuiDocument.cpp:1783
msgid "Change Tracking"
msgstr "Suivi des modifications"
-#: src/frontends/qt/GuiDocument.cpp:1780
+#: src/frontends/qt/GuiDocument.cpp:1784
msgid "Numbering & TOC"
msgstr "Numérotation & TdM"
-#: src/frontends/qt/GuiDocument.cpp:1782
+#: src/frontends/qt/GuiDocument.cpp:1786
msgid "Indexes"
msgstr "Index"
-#: src/frontends/qt/GuiDocument.cpp:1783
+#: src/frontends/qt/GuiDocument.cpp:1787
msgid "PDF Properties"
msgstr "Propriétés du PDF"
-#: src/frontends/qt/GuiDocument.cpp:1784
+#: src/frontends/qt/GuiDocument.cpp:1788
msgid "Math Options"
msgstr "Options mode math"
-#: src/frontends/qt/GuiDocument.cpp:1787
+#: src/frontends/qt/GuiDocument.cpp:1791
msgid "Bullets"
msgstr "Puces"
-#: src/frontends/qt/GuiDocument.cpp:1789
+#: src/frontends/qt/GuiDocument.cpp:1793
msgid "Formats[[output]]"
msgstr "Sortie"
-#: src/frontends/qt/GuiDocument.cpp:1790
+#: src/frontends/qt/GuiDocument.cpp:1794
msgid "LaTeX Preamble"
msgstr "Préambule LaTeX"
-#: src/frontends/qt/GuiDocument.cpp:2095 src/frontends/qt/GuiDocument.cpp:2181
+#: src/frontends/qt/GuiDocument.cpp:2099 src/frontends/qt/GuiDocument.cpp:2185
msgid "Class defaults"
msgstr "Valeurs implicites de la classe"
-#: src/frontends/qt/GuiDocument.cpp:2095 src/frontends/qt/GuiDocument.cpp:2181
+#: src/frontends/qt/GuiDocument.cpp:2099 src/frontends/qt/GuiDocument.cpp:2185
msgid "Package defaults"
msgstr "Valeurs implicites du paquetage"
-#: src/frontends/qt/GuiDocument.cpp:2098 src/frontends/qt/GuiDocument.cpp:2184
+#: src/frontends/qt/GuiDocument.cpp:2102 src/frontends/qt/GuiDocument.cpp:2188
msgid "If no value is given, the defaults as set by the class are used."
msgstr ""
"En l'absence de valeur, les réglages implicites de la classe seront utilisés."
-#: src/frontends/qt/GuiDocument.cpp:2099 src/frontends/qt/GuiDocument.cpp:2185
+#: src/frontends/qt/GuiDocument.cpp:2103 src/frontends/qt/GuiDocument.cpp:2189
msgid ""
"If no value is given, the defaults as set by the geometry package or a "
"package/class overriding geometry's defaults are used."
@@ -32786,49 +32828,49 @@ msgstr ""
"« geometry » ou par un paquetage ou une classe écrasant les réglages "
"implicites de geometry."
-#: src/frontends/qt/GuiDocument.cpp:2228 src/frontends/qt/GuiDocument.cpp:2258
+#: src/frontends/qt/GuiDocument.cpp:2232 src/frontends/qt/GuiDocument.cpp:2262
msgid "&Default..."
msgstr "&Implicite..."
-#: src/frontends/qt/GuiDocument.cpp:2459
+#: src/frontends/qt/GuiDocument.cpp:2463
msgid "Direct (No inputenc)"
msgstr "Direct (pas de recours à inputenc)"
-#: src/frontends/qt/GuiDocument.cpp:2461
+#: src/frontends/qt/GuiDocument.cpp:2465
msgid "Direct (XeTeX/LuaTeX)"
msgstr "Direct (XeTeX/LuaTeX)"
-#: src/frontends/qt/GuiDocument.cpp:2647 src/frontends/qt/GuiDocument.cpp:4305
-#: src/frontends/qt/GuiDocument.cpp:4314 src/frontends/qt/GuiDocument.cpp:4323
-#: src/frontends/qt/GuiDocument.cpp:4332
+#: src/frontends/qt/GuiDocument.cpp:2651 src/frontends/qt/GuiDocument.cpp:4316
+#: src/frontends/qt/GuiDocument.cpp:4325 src/frontends/qt/GuiDocument.cpp:4334
+#: src/frontends/qt/GuiDocument.cpp:4343
msgid " (not installed)"
msgstr " (pas installé)"
-#: src/frontends/qt/GuiDocument.cpp:2676
+#: src/frontends/qt/GuiDocument.cpp:2680
msgid "Non-TeX Fonts Default"
msgstr "Polices non-TeX implicites"
-#: src/frontends/qt/GuiDocument.cpp:2678
+#: src/frontends/qt/GuiDocument.cpp:2682
msgid " (not available)"
msgstr " (indisponible)"
-#: src/frontends/qt/GuiDocument.cpp:2679
+#: src/frontends/qt/GuiDocument.cpp:2683
msgid "Class Default (TeX Fonts)"
msgstr "Valeurs implicites de la classe (polices TeX)"
-#: src/frontends/qt/GuiDocument.cpp:2830
+#: src/frontends/qt/GuiDocument.cpp:2834
msgid "Lay&outs"
msgstr "Forma&t|"
-#: src/frontends/qt/GuiDocument.cpp:2832
+#: src/frontends/qt/GuiDocument.cpp:2836
msgid "LyX Layout (*.layout)"
msgstr "Formats LyX (*.layout)"
-#: src/frontends/qt/GuiDocument.cpp:2834 src/frontends/qt/GuiDocument.cpp:2843
+#: src/frontends/qt/GuiDocument.cpp:2838 src/frontends/qt/GuiDocument.cpp:2847
msgid "Local layout file"
msgstr "Fichier de format local"
-#: src/frontends/qt/GuiDocument.cpp:2844
+#: src/frontends/qt/GuiDocument.cpp:2848
msgid ""
"The layout file you have selected is a local layout\n"
"file, not one in the system or user directory.\n"
@@ -32841,33 +32883,33 @@ msgstr ""
"Votre document ne peut pas fonctionner avec ce format si vous\n"
"déplacez le fichier de format un répertoire différent."
-#: src/frontends/qt/GuiDocument.cpp:2848
+#: src/frontends/qt/GuiDocument.cpp:2852
msgid "&Set Layout"
msgstr "&Sélectionner le format"
-#: src/frontends/qt/GuiDocument.cpp:2862
+#: src/frontends/qt/GuiDocument.cpp:2866
msgid "Unable to read local layout file."
msgstr "Ãchec de la lecture d'un fichier de format local."
-#: src/frontends/qt/GuiDocument.cpp:2879
+#: src/frontends/qt/GuiDocument.cpp:2883
msgid "This is a local layout file."
msgstr "Ceci est un fichier de format local."
-#: src/frontends/qt/GuiDocument.cpp:2893
+#: src/frontends/qt/GuiDocument.cpp:2897
msgid "Select master document"
msgstr "Sélectionner le document maître"
-#: src/frontends/qt/GuiDocument.cpp:2897
+#: src/frontends/qt/GuiDocument.cpp:2901
msgid "LyX Files (*.lyx)"
msgstr "Documents LyX (*.lyx)"
-#: src/frontends/qt/GuiDocument.cpp:2921 src/frontends/qt/GuiDocument.cpp:3222
-#: src/frontends/qt/GuiDocument.cpp:4821
+#: src/frontends/qt/GuiDocument.cpp:2925 src/frontends/qt/GuiDocument.cpp:3226
+#: src/frontends/qt/GuiDocument.cpp:4835
msgid "Unapplied changes"
msgstr "Modifications non appliquées"
-#: src/frontends/qt/GuiDocument.cpp:2922 src/frontends/qt/GuiDocument.cpp:3223
-#: src/frontends/qt/GuiDocument.cpp:4822
+#: src/frontends/qt/GuiDocument.cpp:2926 src/frontends/qt/GuiDocument.cpp:3227
+#: src/frontends/qt/GuiDocument.cpp:4836
msgid ""
"Some changes in the dialog were not yet applied.\n"
"If you do not apply now, they will be lost after this action."
@@ -32875,86 +32917,86 @@ msgstr ""
"Certaines modifications dans le dialogue n'ont pas encore été appliquées. Si "
"vous ne la appliquez pas maintenant, elles seront perdues après cette action."
-#: src/frontends/qt/GuiDocument.cpp:2924 src/frontends/qt/GuiDocument.cpp:3225
-#: src/frontends/qt/GuiDocument.cpp:4824
+#: src/frontends/qt/GuiDocument.cpp:2928 src/frontends/qt/GuiDocument.cpp:3229
+#: src/frontends/qt/GuiDocument.cpp:4838
msgid "&Apply"
msgstr "&Appliquer"
-#: src/frontends/qt/GuiDocument.cpp:2924 src/frontends/qt/GuiDocument.cpp:3225
-#: src/frontends/qt/GuiDocument.cpp:4824
+#: src/frontends/qt/GuiDocument.cpp:2928 src/frontends/qt/GuiDocument.cpp:3229
+#: src/frontends/qt/GuiDocument.cpp:4838
msgid "&Dismiss"
msgstr "Aban&donner"
-#: src/frontends/qt/GuiDocument.cpp:2935 src/frontends/qt/GuiDocument.cpp:4832
+#: src/frontends/qt/GuiDocument.cpp:2939 src/frontends/qt/GuiDocument.cpp:4846
msgid "Unable to set document class."
msgstr "Impossible d'appliquer la classe du document."
-#: src/frontends/qt/GuiDocument.cpp:3101
+#: src/frontends/qt/GuiDocument.cpp:3105
msgid "Basic numerical"
msgstr "Numérique de base"
-#: src/frontends/qt/GuiDocument.cpp:3104
+#: src/frontends/qt/GuiDocument.cpp:3108
msgid "Author-year"
msgstr "Auteur-année"
-#: src/frontends/qt/GuiDocument.cpp:3107
+#: src/frontends/qt/GuiDocument.cpp:3111
msgid "Author-number"
msgstr "Auteur-numéro"
-#: src/frontends/qt/GuiDocument.cpp:3147
+#: src/frontends/qt/GuiDocument.cpp:3151
#, c-format
msgid "%1$s and %2$s"
msgstr "%1$s et %2$s"
-#: src/frontends/qt/GuiDocument.cpp:3154
+#: src/frontends/qt/GuiDocument.cpp:3158
#, c-format
msgid "%1$s, %2$s"
msgstr "%1$s, %2$s"
-#: src/frontends/qt/GuiDocument.cpp:3159
+#: src/frontends/qt/GuiDocument.cpp:3163
#, c-format
msgid "%1$s, %2$s, and %3$s"
msgstr "%1$s, %2$s and %3$s"
-#: src/frontends/qt/GuiDocument.cpp:3173
+#: src/frontends/qt/GuiDocument.cpp:3177
#, c-format
msgid "%1$s (unavailable)"
msgstr "%1$s (indisponible)"
-#: src/frontends/qt/GuiDocument.cpp:3272
+#: src/frontends/qt/GuiDocument.cpp:3276
msgid "Module provided by document class."
msgstr "Module fourni par la classe de document."
-#: src/frontends/qt/GuiDocument.cpp:3280
+#: src/frontends/qt/GuiDocument.cpp:3284
#, c-format
msgid "<p><b>Category:</b> %1$s.</p>"
msgstr "<p><b>Categorie :</b> %1$s.</p>"
-#: src/frontends/qt/GuiDocument.cpp:3290
+#: src/frontends/qt/GuiDocument.cpp:3294
#, c-format
msgid "<p><b>Package(s) required:</b> %1$s.</p>"
msgstr "<p><b>Paquetage(s) requis : </b> %1$s.</p>"
-#: src/frontends/qt/GuiDocument.cpp:3296
+#: src/frontends/qt/GuiDocument.cpp:3300
msgid "or"
msgstr "ou"
-#: src/frontends/qt/GuiDocument.cpp:3299
+#: src/frontends/qt/GuiDocument.cpp:3303
#, c-format
msgid "<p><b>Modules required:</b> %1$s.</p>"
msgstr "<p><b>Modules requis : </b> %1$s.</p>"
-#: src/frontends/qt/GuiDocument.cpp:3308
+#: src/frontends/qt/GuiDocument.cpp:3312
#, c-format
msgid "<p><b>Modules excluded:</b> %1$s.</p>"
msgstr "<p><b>Modules exclus : </b> %1$s.</p>"
-#: src/frontends/qt/GuiDocument.cpp:3313
+#: src/frontends/qt/GuiDocument.cpp:3317
#, c-format
msgid "<p><b>Filename:</b> <tt>%1$s.module</tt>.</p>"
msgstr "<p><b>Nom de fichier : </b> <tt>%1$s.module</tt>.</p>"
-#: src/frontends/qt/GuiDocument.cpp:3318
+#: src/frontends/qt/GuiDocument.cpp:3322
msgid ""
"<p><font color=red><b>WARNING: Some required packages are unavailable!</b></"
"font></p>"
@@ -32962,61 +33004,61 @@ msgstr ""
"<p><font color=red><b>AVERTISSEMENT : certains paquetages requis ne sont pas "
"disponibles !</b></font></p>"
-#: src/frontends/qt/GuiDocument.cpp:3963
+#: src/frontends/qt/GuiDocument.cpp:3974
msgid "per part"
msgstr "par partie"
-#: src/frontends/qt/GuiDocument.cpp:3965
+#: src/frontends/qt/GuiDocument.cpp:3976
msgid "per chapter"
msgstr "par chapitre"
-#: src/frontends/qt/GuiDocument.cpp:3967
+#: src/frontends/qt/GuiDocument.cpp:3978
msgid "per section"
msgstr "par section"
-#: src/frontends/qt/GuiDocument.cpp:3969
+#: src/frontends/qt/GuiDocument.cpp:3980
msgid "per subsection"
msgstr "par sous-section"
-#: src/frontends/qt/GuiDocument.cpp:3970
+#: src/frontends/qt/GuiDocument.cpp:3981
msgid "per child document"
msgstr "par sous-document"
-#: src/frontends/qt/GuiDocument.cpp:3997
+#: src/frontends/qt/GuiDocument.cpp:4008
#, c-format
msgid "%1$s (not available)"
msgstr "%1$s (indisponible)"
-#: src/frontends/qt/GuiDocument.cpp:4225
+#: src/frontends/qt/GuiDocument.cpp:4236
msgid "[No options predefined]"
msgstr "[Aucune option prédéfinie]"
-#: src/frontends/qt/GuiDocument.cpp:4492
+#: src/frontends/qt/GuiDocument.cpp:4503
msgid "C&ustomize Hyperref Options"
msgstr "Personnaliser les options h&yperref"
-#: src/frontends/qt/GuiDocument.cpp:4494
+#: src/frontends/qt/GuiDocument.cpp:4505
msgid "&Use Hyperref Support"
msgstr "&Utiliser le support pour hyperref"
-#: src/frontends/qt/GuiDocument.cpp:4844
+#: src/frontends/qt/GuiDocument.cpp:4858
msgid "Can't set layout!"
msgstr "Impossible d'appliquer le format !"
-#: src/frontends/qt/GuiDocument.cpp:4845
+#: src/frontends/qt/GuiDocument.cpp:4859
#, c-format
msgid "Unable to set layout for ID: %1$s"
msgstr "Impossible d'appliquer le format pour ID : %1$s"
-#: src/frontends/qt/GuiDocument.cpp:4948
+#: src/frontends/qt/GuiDocument.cpp:4962
msgid "Not Found"
msgstr "Introuvable"
-#: src/frontends/qt/GuiDocument.cpp:5010
+#: src/frontends/qt/GuiDocument.cpp:5024
msgid "Assigned master does not include this file"
msgstr "Le document maître désigné n'inclut pas ce fichier"
-#: src/frontends/qt/GuiDocument.cpp:5011
+#: src/frontends/qt/GuiDocument.cpp:5025
#, c-format
msgid ""
"You must include this file in the document\n"
@@ -33027,11 +33069,11 @@ msgstr ""
"%1$s' pour pouvoir utiliser les fonctionnalités\n"
"« document maître »."
-#: src/frontends/qt/GuiDocument.cpp:5015
+#: src/frontends/qt/GuiDocument.cpp:5029
msgid "Could not load master"
msgstr "Chargement du document maître impossible"
-#: src/frontends/qt/GuiDocument.cpp:5016
+#: src/frontends/qt/GuiDocument.cpp:5030
#, c-format
msgid ""
"The master document '%1$s'\n"
@@ -33040,23 +33082,23 @@ msgstr ""
"Le document maître %1$s\n"
" n'a pas pu être chargé."
-#: src/frontends/qt/GuiDocument.cpp:5166
+#: src/frontends/qt/GuiDocument.cpp:5180
msgid "%1 (missing req.)"
msgstr "%1 (req. manquante)"
-#: src/frontends/qt/GuiDocument.cpp:5178
+#: src/frontends/qt/GuiDocument.cpp:5192
msgid "personal module"
msgstr "module personnel"
-#: src/frontends/qt/GuiDocument.cpp:5178
+#: src/frontends/qt/GuiDocument.cpp:5192
msgid "distributed module"
msgstr "module distribué"
-#: src/frontends/qt/GuiDocument.cpp:5179
+#: src/frontends/qt/GuiDocument.cpp:5193
msgid "<b>Module name:</b> <i>%1</i> (%2)"
msgstr "<b>Nom du module : </b> <i>%1</i> (%2)"
-#: src/frontends/qt/GuiDocument.cpp:5185
+#: src/frontends/qt/GuiDocument.cpp:5199
msgid "<b>Note:</b> Some requirements for this module are missing!"
msgstr "<b>Nota :</b> certains éléments pour ce module sont manquants !"
@@ -33739,17 +33781,17 @@ msgstr ""
msgid "Select example file"
msgstr "Choisir le fichier d'exemple"
-#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2665
-#: src/frontends/qt/GuiView.cpp:2805 src/frontends/qt/GuiView.cpp:2939
+#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2675
+#: src/frontends/qt/GuiView.cpp:2815 src/frontends/qt/GuiView.cpp:2949
msgid "&Examples"
msgstr "&Exemples"
-#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2604
+#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2614
msgid "Select template file"
msgstr "Choisir le modèle"
-#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2606
-#: src/frontends/qt/GuiView.cpp:3059
+#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2616
+#: src/frontends/qt/GuiView.cpp:3069
msgid "&Templates"
msgstr "&Modèles"
@@ -33875,7 +33917,7 @@ msgstr ""
"En principe, vous n'avez pas à le modifier puisqu'on utilise la plus grande "
"largeur d'étiquette de tous les éléments."
-#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3337
+#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3347
msgid "&Close"
msgstr "&Fermer"
@@ -34668,21 +34710,21 @@ msgstr "version "
msgid "unknown version"
msgstr "version inconnue"
-#: src/frontends/qt/GuiView.cpp:649
+#: src/frontends/qt/GuiView.cpp:648
msgid "Workarea zoom level. Drag, use Ctrl-+/- or Shift-Mousewheel to adjust."
msgstr ""
"Niveau de zoom de la fenêtre de travail. Faire glisser, utiliser Ctrl-+/- ou "
"Maj-Molette pour ajuster."
-#: src/frontends/qt/GuiView.cpp:691 src/frontends/qt/GuiView.cpp:804
-#: src/frontends/qt/GuiView.cpp:974 src/frontends/qt/Menus.cpp:1843
+#: src/frontends/qt/GuiView.cpp:690 src/frontends/qt/GuiView.cpp:803
+#: src/frontends/qt/GuiView.cpp:973 src/frontends/qt/Menus.cpp:1843
#: src/frontends/qt/Menus.cpp:1847 src/frontends/qt/Menus.cpp:1851
#: src/frontends/qt/Menus.cpp:1855 src/frontends/qt/Menus.cpp:1859
#: src/frontends/qt/Menus.cpp:1863
msgid "[[ZOOM]]%1$d%"
msgstr "%1$d%"
-#: src/frontends/qt/GuiView.cpp:710
+#: src/frontends/qt/GuiView.cpp:709
msgid ""
"WARNING: LaTeX is allowed to execute external commands for this document. "
"Right click to change."
@@ -34690,112 +34732,116 @@ msgstr ""
"AVERTISSEMENT : LaTeX peut exécuter des commandes externes dans ce "
"document. Faites un clic droit pour changer."
-#: src/frontends/qt/GuiView.cpp:789
+#: src/frontends/qt/GuiView.cpp:788
msgid "Cancel Export?"
msgstr "&Annuler l'exportation ?"
-#: src/frontends/qt/GuiView.cpp:790
+#: src/frontends/qt/GuiView.cpp:789
msgid "Do you want to cancel the background export process?"
msgstr "Voulez-vous arrêter le processus d'exportation en arrière-plan ?"
-#: src/frontends/qt/GuiView.cpp:793
+#: src/frontends/qt/GuiView.cpp:792
msgid "Co&ntinue"
msgstr "&Continuer"
-#: src/frontends/qt/GuiView.cpp:870
+#: src/frontends/qt/GuiView.cpp:869
#, c-format
msgid "Successful export to format: %1$s"
msgstr "Succès de l'exportation au format : %1$s"
-#: src/frontends/qt/GuiView.cpp:879
+#: src/frontends/qt/GuiView.cpp:878
#, c-format
msgid "Error while exporting format: %1$s"
msgstr "Erreur à l'exportation au format : %1$s"
-#: src/frontends/qt/GuiView.cpp:882
+#: src/frontends/qt/GuiView.cpp:881
#, c-format
msgid "Successful preview of format: %1$s"
msgstr "Succès de l'aperçu du format : %1$s"
-#: src/frontends/qt/GuiView.cpp:885
+#: src/frontends/qt/GuiView.cpp:884
#, c-format
msgid "Error while previewing format: %1$s"
msgstr "Erreur au visionnement du format : %1$s"
-#: src/frontends/qt/GuiView.cpp:888
+#: src/frontends/qt/GuiView.cpp:887
#, c-format
msgid "Conversion cancelled while previewing format: %1$s"
msgstr "Conversion annulée pendant le visionnement du format : %1$s"
-#: src/frontends/qt/GuiView.cpp:1241
+#: src/frontends/qt/GuiView.cpp:1239
msgid "Exit LyX"
msgstr "Quitter LyX"
-#: src/frontends/qt/GuiView.cpp:1242
+#: src/frontends/qt/GuiView.cpp:1240
msgid "LyX could not be closed because documents are being processed by LyX."
msgstr "Impossible de fermer LyX, des documents sont en cours de traitement."
-#: src/frontends/qt/GuiView.cpp:1390
+#: src/frontends/qt/GuiView.cpp:1388
#, c-format
msgid "%1$s (modified externally)"
msgstr "%1$s (modifié par une application externe)"
-#: src/frontends/qt/GuiView.cpp:1513
+#: src/frontends/qt/GuiView.cpp:1511
msgid "Welcome to LyX!"
msgstr "Bienvenue dans LyX !"
-#: src/frontends/qt/GuiView.cpp:2072
+#: src/frontends/qt/GuiView.cpp:2070
msgid "Automatic save done."
msgstr "Sauvegarde automatique effective."
-#: src/frontends/qt/GuiView.cpp:2073
+#: src/frontends/qt/GuiView.cpp:2071
msgid "Automatic save failed!"
msgstr "La sauvegarde automatique a échoué !"
-#: src/frontends/qt/GuiView.cpp:2129
+#: src/frontends/qt/GuiView.cpp:2151
msgid "Command not allowed without any document open"
msgstr "Commande non autorisée si aucun document n'est ouvert"
-#: src/frontends/qt/GuiView.cpp:2198
+#: src/frontends/qt/GuiView.cpp:2220
msgid "Invalid argument of master-buffer-forall"
msgstr "Argument invalide pour la commande master-buffer-forall"
-#: src/frontends/qt/GuiView.cpp:2316
+#: src/frontends/qt/GuiView.cpp:2338
msgid "Function toolbar-set requires two arguments!"
msgstr "La fonction toolbar-set nécessite deux arguments !"
-#: src/frontends/qt/GuiView.cpp:2323
+#: src/frontends/qt/GuiView.cpp:2345
#, c-format
msgid "Invalid argument \"%1$s\" to function toolbar-set!"
msgstr "Argument \"%1$s\" invalide pour la fonction toolbar-set !"
-#: src/frontends/qt/GuiView.cpp:2339 src/frontends/qt/GuiView.cpp:2352
-#: src/frontends/qt/GuiView.cpp:2369
+#: src/frontends/qt/GuiView.cpp:2361 src/frontends/qt/GuiView.cpp:2374
+#: src/frontends/qt/GuiView.cpp:2391
#, c-format
msgid "Unknown toolbar \"%1$s\""
msgstr "Barre d'outils inconnue \"%1$s\""
-#: src/frontends/qt/GuiView.cpp:2490 src/frontends/qt/GuiView.cpp:2503
+#: src/frontends/qt/GuiView.cpp:2509
msgid "Zoom level cannot be less than %1$d%."
msgstr "Le niveau de zoom ne peut être inférieur à %1$d%."
-#: src/frontends/qt/GuiView.cpp:2633
+#: src/frontends/qt/GuiView.cpp:2514
+msgid "Zoom level cannot be more than %1$d%."
+msgstr "Le niveau de zoom ne peut pas être supérieur à %1$d%."
+
+#: src/frontends/qt/GuiView.cpp:2643
msgid "Document not loaded."
msgstr "Le document n'a pas été chargé."
-#: src/frontends/qt/GuiView.cpp:2663
+#: src/frontends/qt/GuiView.cpp:2673
msgid "Select document to open"
msgstr "Choisir le document à ouvrir"
-#: src/frontends/qt/GuiView.cpp:2669
+#: src/frontends/qt/GuiView.cpp:2679
msgid "LyX Document Backups (*.lyx~)"
msgstr "Sauvegardes des documents LyX (*.lyx~)"
-#: src/frontends/qt/GuiView.cpp:2670
+#: src/frontends/qt/GuiView.cpp:2680
msgid "All Files (*.*)"
msgstr "Tous les fichiers (*.*)"
-#: src/frontends/qt/GuiView.cpp:2697
+#: src/frontends/qt/GuiView.cpp:2707
#, c-format
msgid ""
"The directory in the given path\n"
@@ -34806,40 +34852,40 @@ msgstr ""
"%1$s\n"
"n'existe pas."
-#: src/frontends/qt/GuiView.cpp:2714
+#: src/frontends/qt/GuiView.cpp:2724
#, c-format
msgid "Opening document %1$s..."
msgstr "Ouverture du document %1$s..."
-#: src/frontends/qt/GuiView.cpp:2719
+#: src/frontends/qt/GuiView.cpp:2729
#, c-format
msgid "Document %1$s opened."
msgstr "Document %1$s ouvert."
-#: src/frontends/qt/GuiView.cpp:2722
+#: src/frontends/qt/GuiView.cpp:2732
msgid "Version control detected."
msgstr "Contrôle de version détecté."
-#: src/frontends/qt/GuiView.cpp:2724
+#: src/frontends/qt/GuiView.cpp:2734
#, c-format
msgid "Could not open document %1$s"
msgstr "Impossible d'ouvrir le document %1$s"
-#: src/frontends/qt/GuiView.cpp:2752
+#: src/frontends/qt/GuiView.cpp:2762
msgid "Couldn't import file"
msgstr "Impossible d'importer le fichier"
-#: src/frontends/qt/GuiView.cpp:2753
+#: src/frontends/qt/GuiView.cpp:2763
#, c-format
msgid "No information for importing the format %1$s."
msgstr "Pas d'information pour importer le format %1$s."
-#: src/frontends/qt/GuiView.cpp:2800
+#: src/frontends/qt/GuiView.cpp:2810
#, c-format
msgid "Select %1$s file to import"
msgstr "Choisir le fichier %1$s à importer"
-#: src/frontends/qt/GuiView.cpp:2835
+#: src/frontends/qt/GuiView.cpp:2845
#, c-format
msgid ""
"The file name '%1$s' is invalid!\n"
@@ -34848,8 +34894,8 @@ msgstr ""
"Le nom de fichier « %1$s » n'est pas valide !\n"
"Importation interrompue."
-#: src/frontends/qt/GuiView.cpp:2862 src/frontends/qt/GuiView.cpp:3129
-#: src/frontends/qt/GuiView.cpp:3232
+#: src/frontends/qt/GuiView.cpp:2872 src/frontends/qt/GuiView.cpp:3139
+#: src/frontends/qt/GuiView.cpp:3242
#, c-format
msgid ""
"The document %1$s already exists.\n"
@@ -34860,33 +34906,33 @@ msgstr ""
"\n"
"Voulez-vous écrire par dessus ce document ?"
-#: src/frontends/qt/GuiView.cpp:2864 src/frontends/qt/GuiView.cpp:3133
-#: src/frontends/qt/GuiView.cpp:3236
+#: src/frontends/qt/GuiView.cpp:2874 src/frontends/qt/GuiView.cpp:3143
+#: src/frontends/qt/GuiView.cpp:3246
msgid "Overwrite document?"
msgstr "Ãcraser le document ?"
-#: src/frontends/qt/GuiView.cpp:2873
+#: src/frontends/qt/GuiView.cpp:2883
#, c-format
msgid "Importing %1$s..."
msgstr "Importe %1$s..."
-#: src/frontends/qt/GuiView.cpp:2876
+#: src/frontends/qt/GuiView.cpp:2886
msgid "imported."
msgstr "importé."
-#: src/frontends/qt/GuiView.cpp:2878
+#: src/frontends/qt/GuiView.cpp:2888
msgid "file not imported!"
msgstr "fichier non importé !"
-#: src/frontends/qt/GuiView.cpp:2904
+#: src/frontends/qt/GuiView.cpp:2914
msgid "newfile"
msgstr "nouveau"
-#: src/frontends/qt/GuiView.cpp:2937
+#: src/frontends/qt/GuiView.cpp:2947
msgid "Select LyX document to insert"
msgstr "Choisir le document à insérer"
-#: src/frontends/qt/GuiView.cpp:2984
+#: src/frontends/qt/GuiView.cpp:2994
#, c-format
msgid ""
"It is suggested to save the template in a subdirectory\n"
@@ -34899,23 +34945,23 @@ msgstr ""
"Ce sous-répertoire n'existe pas encore.\n"
"Voulez-vous le créer ?"
-#: src/frontends/qt/GuiView.cpp:2989
+#: src/frontends/qt/GuiView.cpp:2999
msgid "Create Language Directory?"
msgstr "Créer un répertoire de langue ?"
-#: src/frontends/qt/GuiView.cpp:2990 src/frontends/qt/GuiView.cpp:3021
+#: src/frontends/qt/GuiView.cpp:3000 src/frontends/qt/GuiView.cpp:3031
msgid "&Yes, Create"
msgstr "&Oui, créer"
-#: src/frontends/qt/GuiView.cpp:2990 src/frontends/qt/GuiView.cpp:3021
+#: src/frontends/qt/GuiView.cpp:3000 src/frontends/qt/GuiView.cpp:3031
msgid "&No, Save Template in Parent Directory"
msgstr "&Non, enregistrer le modèle dans le répertoire parent"
-#: src/frontends/qt/GuiView.cpp:2993 src/frontends/qt/GuiView.cpp:3024
+#: src/frontends/qt/GuiView.cpp:3003 src/frontends/qt/GuiView.cpp:3034
msgid "Subdirectory creation failed!"
msgstr "Ãchec de la création du sous-répertoire !"
-#: src/frontends/qt/GuiView.cpp:2994 src/frontends/qt/GuiView.cpp:3025
+#: src/frontends/qt/GuiView.cpp:3004 src/frontends/qt/GuiView.cpp:3035
msgid ""
"Could not create subdirectory.\n"
"The template will be saved in the parent directory."
@@ -34923,7 +34969,7 @@ msgstr ""
"Impossible de créer le sous-répertoire.\n"
"Le modèle sera enregistré dans le répertoire parent."
-#: src/frontends/qt/GuiView.cpp:3015
+#: src/frontends/qt/GuiView.cpp:3025
#, c-format
msgid ""
"It is suggested to save the template in a subdirectory\n"
@@ -34936,19 +34982,19 @@ msgstr ""
"Ce sous-répertoire n'existe pas encore.\n"
"Voulez-vous le créer ?"
-#: src/frontends/qt/GuiView.cpp:3020
+#: src/frontends/qt/GuiView.cpp:3030
msgid "Create Category Directory?"
msgstr "Créer un répertoire de catégorie ?"
-#: src/frontends/qt/GuiView.cpp:3055
+#: src/frontends/qt/GuiView.cpp:3065
msgid "Choose a filename to save template as"
msgstr "Choisir le nom du fichier sous lequel enregistrer le modèle"
-#: src/frontends/qt/GuiView.cpp:3056
+#: src/frontends/qt/GuiView.cpp:3066
msgid "Choose a filename to save document as"
msgstr "Choisir le nom sous lequel enregistrer le fichier"
-#: src/frontends/qt/GuiView.cpp:3092
+#: src/frontends/qt/GuiView.cpp:3102
#, c-format
msgid ""
"The file\n"
@@ -34963,17 +35009,17 @@ msgstr ""
"Merci de le fermer avant d'essayer de l'écraser.\n"
"Vouez-vous définir un nouveau nom de fichier ?"
-#: src/frontends/qt/GuiView.cpp:3096
+#: src/frontends/qt/GuiView.cpp:3106
msgid "Chosen File Already Open"
msgstr "Fichier sélectionné déjà ouvert"
-#: src/frontends/qt/GuiView.cpp:3097 src/frontends/qt/GuiView.cpp:3119
-#: src/frontends/qt/GuiView.cpp:3135 src/frontends/qt/GuiView.cpp:3237
-#: src/frontends/qt/GuiView.cpp:3282
+#: src/frontends/qt/GuiView.cpp:3107 src/frontends/qt/GuiView.cpp:3129
+#: src/frontends/qt/GuiView.cpp:3145 src/frontends/qt/GuiView.cpp:3247
+#: src/frontends/qt/GuiView.cpp:3292
msgid "&Rename"
msgstr "&Renommer"
-#: src/frontends/qt/GuiView.cpp:3112
+#: src/frontends/qt/GuiView.cpp:3122
#, c-format
msgid ""
"The document %1$s is already registered.\n"
@@ -34984,27 +35030,27 @@ msgstr ""
"\n"
"Voulez-vous choisir un nouveau nom ?"
-#: src/frontends/qt/GuiView.cpp:3117
+#: src/frontends/qt/GuiView.cpp:3127
msgid "Rename document?"
msgstr "Renommer le document ?"
-#: src/frontends/qt/GuiView.cpp:3117
+#: src/frontends/qt/GuiView.cpp:3127
msgid "Copy document?"
msgstr "Copier le document ?"
-#: src/frontends/qt/GuiView.cpp:3119
+#: src/frontends/qt/GuiView.cpp:3129
msgid "&Copy"
msgstr "&Copier"
-#: src/frontends/qt/GuiView.cpp:3179
+#: src/frontends/qt/GuiView.cpp:3189
msgid "Choose a filename to export the document as"
msgstr "Choisir le nom sous lequel exporter le fichier"
-#: src/frontends/qt/GuiView.cpp:3183
+#: src/frontends/qt/GuiView.cpp:3193
msgid "Guess from extension (*.*)"
msgstr "Deviner à partir du suffixe (*.*)"
-#: src/frontends/qt/GuiView.cpp:3278
+#: src/frontends/qt/GuiView.cpp:3288
#, c-format
msgid ""
"The document %1$s could not be saved.\n"
@@ -35015,15 +35061,15 @@ msgstr ""
"\n"
"Voulez-vous renommer le document et essayer à nouveau ?"
-#: src/frontends/qt/GuiView.cpp:3281
+#: src/frontends/qt/GuiView.cpp:3291
msgid "Rename and save?"
msgstr "Renommer et enregistrer ?"
-#: src/frontends/qt/GuiView.cpp:3282
+#: src/frontends/qt/GuiView.cpp:3292
msgid "&Retry"
msgstr "&Réessayer"
-#: src/frontends/qt/GuiView.cpp:3327
+#: src/frontends/qt/GuiView.cpp:3337
#, c-format
msgid ""
"Last view on document %1$s is being closed.\n"
@@ -35041,24 +35087,24 @@ msgstr ""
"Les documents cachés peuvent être ré-affichés via\n"
"Affichage->Caché->...\n"
-#: src/frontends/qt/GuiView.cpp:3336
+#: src/frontends/qt/GuiView.cpp:3346
msgid "Close or hide document?"
msgstr "Fermer ou cacher le document ?"
-#: src/frontends/qt/GuiView.cpp:3337
+#: src/frontends/qt/GuiView.cpp:3347
msgid "&Hide"
msgstr "&Cacher"
-#: src/frontends/qt/GuiView.cpp:3434
+#: src/frontends/qt/GuiView.cpp:3444
msgid "Close document"
msgstr "Fermer le document"
-#: src/frontends/qt/GuiView.cpp:3435
+#: src/frontends/qt/GuiView.cpp:3445
msgid "Document could not be closed because it is being processed by LyX."
msgstr ""
"Impossible de fermer le document, il est en cours de traitement par LyX."
-#: src/frontends/qt/GuiView.cpp:3567 src/frontends/qt/GuiView.cpp:3682
+#: src/frontends/qt/GuiView.cpp:3577 src/frontends/qt/GuiView.cpp:3692
#, c-format
msgid ""
"The document %1$s has not been saved yet.\n"
@@ -35069,16 +35115,16 @@ msgstr ""
"\n"
"Voulez-vous enregistrer le document ?"
-#: src/frontends/qt/GuiView.cpp:3570 src/frontends/qt/GuiView.cpp:3685
+#: src/frontends/qt/GuiView.cpp:3580 src/frontends/qt/GuiView.cpp:3695
msgid "Save new document?"
msgstr "Enregistrer le nouveau document ?"
-#: src/frontends/qt/GuiView.cpp:3571 src/frontends/qt/GuiView.cpp:3585
-#: src/frontends/qt/GuiView.cpp:3687
+#: src/frontends/qt/GuiView.cpp:3581 src/frontends/qt/GuiView.cpp:3595
+#: src/frontends/qt/GuiView.cpp:3697
msgid "&Save"
msgstr "&Enregistrer"
-#: src/frontends/qt/GuiView.cpp:3576
+#: src/frontends/qt/GuiView.cpp:3586
#, c-format
msgid ""
"The document %1$s has unsaved changes.\n"
@@ -35089,7 +35135,7 @@ msgstr ""
"\n"
"Voulez-vous enregistrer le document ou ignorer ces modifications ?"
-#: src/frontends/qt/GuiView.cpp:3579
+#: src/frontends/qt/GuiView.cpp:3589
#, c-format
msgid ""
"The document %1$s has not been saved yet.\n"
@@ -35100,19 +35146,19 @@ msgstr ""
"\n"
"Voulez-vous enregistrer le document ou bien l'abandonner entièrement ?"
-#: src/frontends/qt/GuiView.cpp:3583 src/frontends/qt/GuiView.cpp:3679
+#: src/frontends/qt/GuiView.cpp:3593 src/frontends/qt/GuiView.cpp:3689
msgid "Save changed document?"
msgstr "Enregistrer le document modifié ?"
-#: src/frontends/qt/GuiView.cpp:3583
+#: src/frontends/qt/GuiView.cpp:3593
msgid "Save document?"
msgstr "Enregistrer le document ?"
-#: src/frontends/qt/GuiView.cpp:3585
+#: src/frontends/qt/GuiView.cpp:3595
msgid "&Discard"
msgstr "I&gnorer"
-#: src/frontends/qt/GuiView.cpp:3676
+#: src/frontends/qt/GuiView.cpp:3686
#, c-format
msgid ""
"The document %1$s has unsaved changes.\n"
@@ -35123,7 +35169,7 @@ msgstr ""
"\n"
"Voulez-vous enregistrer le document ?"
-#: src/frontends/qt/GuiView.cpp:3708
+#: src/frontends/qt/GuiView.cpp:3718
#, c-format
msgid ""
"Document \n"
@@ -35135,37 +35181,37 @@ msgstr ""
"a été modifié par une application externe. Le recharger maintenant ? Toutes "
"les modifications locales seront perdues."
-#: src/frontends/qt/GuiView.cpp:3711
+#: src/frontends/qt/GuiView.cpp:3721
msgid "Reload externally changed document?"
msgstr "Recharger le document modifié par une application externe ?"
-#: src/frontends/qt/GuiView.cpp:3756
+#: src/frontends/qt/GuiView.cpp:3766
msgid "Document could not be checked in."
msgstr "Impossible d'enregistrer les changements."
-#: src/frontends/qt/GuiView.cpp:3799
+#: src/frontends/qt/GuiView.cpp:3809
msgid "Error when setting the locking property."
msgstr "Erreur lors du positionnement de la propriété de verrouillage."
-#: src/frontends/qt/GuiView.cpp:3848
+#: src/frontends/qt/GuiView.cpp:3858
msgid "Directory is not accessible."
msgstr "Répertoire inaccessible."
-#: src/frontends/qt/GuiView.cpp:3925
+#: src/frontends/qt/GuiView.cpp:3935
#, c-format
msgid "Opening child document %1$s..."
msgstr "Ouverture du sous-document %1$s..."
-#: src/frontends/qt/GuiView.cpp:3983
+#: src/frontends/qt/GuiView.cpp:3993
#, c-format
msgid "No buffer for file: %1$s."
msgstr "Pas de tampon pour le fichier : %1$s."
-#: src/frontends/qt/GuiView.cpp:3993
+#: src/frontends/qt/GuiView.cpp:4003
msgid "Inverse Search Failed"
msgstr "Ãchec de la recherche inversée"
-#: src/frontends/qt/GuiView.cpp:3994
+#: src/frontends/qt/GuiView.cpp:4004
msgid ""
"Invalid position requested by inverse search.\n"
"You may need to update the viewed document."
@@ -35173,35 +35219,35 @@ msgstr ""
"Position requise par la recherche inversée invalide.\n"
"Vous devriez peut-être mettre à jour le document dans la visionneuse."
-#: src/frontends/qt/GuiView.cpp:4074
+#: src/frontends/qt/GuiView.cpp:4084
msgid "Export Error"
msgstr "Exporter l'erreur"
-#: src/frontends/qt/GuiView.cpp:4075
+#: src/frontends/qt/GuiView.cpp:4085
msgid "Error cloning the Buffer."
msgstr "Erreur lors du clonage du tampon."
-#: src/frontends/qt/GuiView.cpp:4226 src/frontends/qt/GuiView.cpp:4246
+#: src/frontends/qt/GuiView.cpp:4236 src/frontends/qt/GuiView.cpp:4256
msgid "Exporting ..."
msgstr "Exportation en cours..."
-#: src/frontends/qt/GuiView.cpp:4255
+#: src/frontends/qt/GuiView.cpp:4265
msgid "Previewing ..."
msgstr "Visionnement en cours..."
-#: src/frontends/qt/GuiView.cpp:4293
+#: src/frontends/qt/GuiView.cpp:4303
msgid "Document not loaded"
msgstr "Le document n'a pas été chargé"
-#: src/frontends/qt/GuiView.cpp:4380
+#: src/frontends/qt/GuiView.cpp:4390
msgid "Select file to insert"
msgstr "Choisir le fichier à insérer"
-#: src/frontends/qt/GuiView.cpp:4383
+#: src/frontends/qt/GuiView.cpp:4393
msgid "All Files (*)"
msgstr "Tous les fichiers (*)"
-#: src/frontends/qt/GuiView.cpp:4411
+#: src/frontends/qt/GuiView.cpp:4421
#, c-format
msgid ""
"The current version will be lost. Are you sure you want to load the version "
@@ -35210,7 +35256,7 @@ msgstr ""
"La version actuelle sera perdue. Ãtes-vous sûr de vouloir revenir à la "
"dernière version enregistrée du document %1$s ?"
-#: src/frontends/qt/GuiView.cpp:4418
+#: src/frontends/qt/GuiView.cpp:4428
#, c-format
msgid ""
"Any changes will be lost. Are you sure you want to revert to the saved "
@@ -35219,61 +35265,61 @@ msgstr ""
"Toutes les modifications seront perdues. Ãtes-vous sûr de vouloir revenir à "
"la dernière version enregistrée du document %1$s ?"
-#: src/frontends/qt/GuiView.cpp:4421
+#: src/frontends/qt/GuiView.cpp:4431
msgid "Revert to saved document?"
msgstr "Revenir à la sauvegarde du document ?"
-#: src/frontends/qt/GuiView.cpp:4438
+#: src/frontends/qt/GuiView.cpp:4448
msgid "Buffer export reset."
msgstr "RaZ exportation du tampon."
-#: src/frontends/qt/GuiView.cpp:4461
+#: src/frontends/qt/GuiView.cpp:4471
msgid "Saving all documents..."
msgstr "Enregistrement de tous les documents..."
-#: src/frontends/qt/GuiView.cpp:4471
+#: src/frontends/qt/GuiView.cpp:4481
msgid "All documents saved."
msgstr "Tous les documents sont enregistrés."
-#: src/frontends/qt/GuiView.cpp:4510
+#: src/frontends/qt/GuiView.cpp:4520
msgid "Developer mode is now enabled."
msgstr "Le mode « développeur » est maintenant actif."
-#: src/frontends/qt/GuiView.cpp:4512
+#: src/frontends/qt/GuiView.cpp:4522
msgid "Developer mode is now disabled."
msgstr "Le mode « développeur » est maintenant inactif."
-#: src/frontends/qt/GuiView.cpp:4544
+#: src/frontends/qt/GuiView.cpp:4554
msgid "Toolbars unlocked."
msgstr "Barres d'outils déverrouillées."
-#: src/frontends/qt/GuiView.cpp:4546
+#: src/frontends/qt/GuiView.cpp:4556
msgid "Toolbars locked."
msgstr "Barres d'outils verrouillées."
-#: src/frontends/qt/GuiView.cpp:4558
+#: src/frontends/qt/GuiView.cpp:4568
#, c-format
msgid "Icon size set to %1$dx%2$d."
msgstr "Taille d'icône réglée à %1$dx%2$d."
-#: src/frontends/qt/GuiView.cpp:4647
+#: src/frontends/qt/GuiView.cpp:4657
#, c-format
msgid "%1$s unknown command!"
msgstr "%1$s : commande inconnue !"
-#: src/frontends/qt/GuiView.cpp:4751
+#: src/frontends/qt/GuiView.cpp:4746
msgid "Zoom level is now %1$d% (default value: %2$d%)"
msgstr "Le niveau de zoom est maintenant %1$d% (valeur implicite : %2$d%)"
-#: src/frontends/qt/GuiView.cpp:4810
+#: src/frontends/qt/GuiView.cpp:4805
msgid "Please, preview the document first."
msgstr "Merci d'afficher d'abord un aperçu du document."
-#: src/frontends/qt/GuiView.cpp:4826
+#: src/frontends/qt/GuiView.cpp:4821
msgid "Couldn't proceed."
msgstr "Impossible de poursuivre."
-#: src/frontends/qt/GuiView.cpp:5183
+#: src/frontends/qt/GuiView.cpp:5178
msgid "Disable Shell Escape"
msgstr "Désactiver shell escape"
@@ -35839,7 +35885,7 @@ msgid "active"
msgstr "actif"
#: src/insets/InsetBranch.cpp:70 src/insets/InsetBranch.cpp:72
-#: src/insets/InsetIndex.cpp:659
+#: src/insets/InsetIndex.cpp:682
msgid "non-active"
msgstr "non-actif"
@@ -35875,11 +35921,11 @@ msgstr "Branche (document maître) : "
msgid "Branch (undefined): "
msgstr "Branche (indéfinie) : "
-#: src/insets/InsetBranch.cpp:190
+#: src/insets/InsetBranch.cpp:192
msgid "Branch state changes in master document"
msgstr "L'état de la branche change dans le document maître"
-#: src/insets/InsetBranch.cpp:191
+#: src/insets/InsetBranch.cpp:193
#, c-format
msgid ""
"The state of the branch '%1$s' was changed in the master file. Please make "
@@ -36343,19 +36389,19 @@ msgstr ""
"Merci de préciser la position de tri de cette entrée manuellement,\n"
"comme expliqué dans le Guide d'utilisation."
-#: src/insets/InsetIndex.cpp:470
+#: src/insets/InsetIndex.cpp:493
msgid "Index Entry"
msgstr "Entrée d'index"
-#: src/insets/InsetIndex.cpp:656
+#: src/insets/InsetIndex.cpp:679
msgid "Unknown index type!"
msgstr "Type d'index inconnu !"
-#: src/insets/InsetIndex.cpp:657
+#: src/insets/InsetIndex.cpp:680
msgid "All indexes"
msgstr "Tous les index"
-#: src/insets/InsetIndex.cpp:661
+#: src/insets/InsetIndex.cpp:684
msgid "subindex"
msgstr "sous-index"
@@ -36655,15 +36701,15 @@ msgstr "DUPLICATION : "
msgid "Horizontal line"
msgstr "Ligne horizontale"
-#: src/insets/InsetListings.cpp:332
+#: src/insets/InsetListings.cpp:333
msgid "no more lstline delimiters available"
msgstr "il n'y a plus de délimiteurs lstline disponibles"
-#: src/insets/InsetListings.cpp:337
+#: src/insets/InsetListings.cpp:338
msgid "Running out of delimiters"
msgstr "Plus de délimiteurs disponibles"
-#: src/insets/InsetListings.cpp:338
+#: src/insets/InsetListings.cpp:339
msgid ""
"For inline program listings, one character must be reserved\n"
"as a delimiter. One of the listings, however, uses all available\n"
@@ -36677,11 +36723,11 @@ msgstr ""
"Pour le moment, '!' a été remplacé par un avertissement,\n"
"mais vous devez approfondir !"
-#: src/insets/InsetListings.cpp:419 src/insets/InsetListings.cpp:428
+#: src/insets/InsetListings.cpp:420 src/insets/InsetListings.cpp:429
msgid "Uncodable characters in listings inset"
msgstr "Caractère incodable dans un insert de listing"
-#: src/insets/InsetListings.cpp:420
+#: src/insets/InsetListings.cpp:421
#, c-format
msgid ""
"The following characters in one of the program listings are\n"
@@ -36700,7 +36746,7 @@ msgstr ""
"(Dés)activer « Utiliser des polices non-TeX » dans Document->Paramètres...\n"
"peut aider à résoudre le problème."
-#: src/insets/InsetListings.cpp:429
+#: src/insets/InsetListings.cpp:430
#, c-format
msgid ""
"The following characters in one of the program listings are\n"
@@ -37552,11 +37598,11 @@ msgstr ""
"Impossible d'ouvrir le document\n"
"%1$s."
-#: src/output_latex.cpp:1650
+#: src/output_latex.cpp:1658
msgid "Error in latexParagraphs"
msgstr "Erreur dans latexParagraphs"
-#: src/output_latex.cpp:1651
+#: src/output_latex.cpp:1659
#, c-format
msgid ""
"You are using at least one layout (%1$s) intended for the title, after using "
@@ -37944,6 +37990,9 @@ msgstr ""
msgid "Unknown user"
msgstr "Utilisateur inconnu"
+#~ msgid "e.g.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
+#~ msgstr "e.g. : pdfstartview=XYZ, plainpages=false, pdfpagelabels"
+
#~ msgid "PDF-form"
#~ msgstr "Formulaire PDF"
commit 13f9edb770859f6f16f0e76c21b050329fffbe39
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Mon Feb 14 08:46:11 2022 +0100
Reset font when leaving insets while auto-inserting (fixes #12477)
diff --git a/src/Text3.cpp b/src/Text3.cpp
index 529e756..c75a9c3 100644
--- a/src/Text3.cpp
+++ b/src/Text3.cpp
@@ -2132,6 +2132,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
// leave this now in order to insert the next one.
if (inautoarg) {
cur.leaveInset(cur.inset());
+ cur.setCurrentFont();
cur.posForward();
if (arg.insertonnewline && cur.pos() > 0) {
FuncRequest cmd2(LFUN_PARAGRAPH_BREAK);
commit a4600978234a442dc7b35315850aed25e6a1d138
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Mon Feb 14 03:03:22 2022 +0100
DocBook: use the existing unicodesymbols global table to map LaTeX ERTs to Unicode characters.
diff --git a/autotests/export/docbook/ert_convert.lyx b/autotests/export/docbook/ert_convert.lyx
new file mode 100644
index 0000000..1ccee0c
--- /dev/null
+++ b/autotests/export/docbook/ert_convert.lyx
@@ -0,0 +1,172 @@
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 609
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass article
+\use_default_options true
+\maintain_unincluded_children no
+\language american
+\language_package default
+\inputencoding utf8
+\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
+\float_placement class
+\float_alignment class
+\paperfontsize default
+\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
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 1
+\use_minted 0
+\use_lineno 0
+\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 1
+\paperpagestyle default
+\tablestyle default
+\tracking_changes false
+\output_changes false
+\change_bars false
+\postpone_fragile_content true
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\docbook_table_output 0
+\docbook_mathml_prefix 1
+\end_header
+
+\begin_body
+
+\begin_layout Title
+ERT Conversions
+\end_layout
+
+\begin_layout Standard
+These should be
+\family typewriter
+À
+\family default
+:
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+`A
+\end_layout
+
+\end_inset
+
+
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+`{A}
+\end_layout
+
+\end_inset
+
+
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+` A
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+This one should be
+\family typewriter
+¡
+\family default
+:
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+textexclamdown
+\end_layout
+
+\end_inset
+
+
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+!`
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
diff --git a/autotests/export/docbook/ert_convert.xml b/autotests/export/docbook/ert_convert.xml
new file mode 100644
index 0000000..e21274b
--- /dev/null
+++ b/autotests/export/docbook/ert_convert.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This DocBook file was created by LyX 2.4.0dev
+ See https://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>ERT Conversions</title>
+<para>These should be <code>À</code>: À À À </para>
+</article>
\ No newline at end of file
diff --git a/src/insets/InsetERT.cpp b/src/insets/InsetERT.cpp
index 50b5daa..00f497f 100644
--- a/src/insets/InsetERT.cpp
+++ b/src/insets/InsetERT.cpp
@@ -28,6 +28,7 @@
#include "support/gettext.h"
#include "support/lstrings.h"
#include "support/TempFile.h"
+#include "Encoding.h"
#include <sstream>
#include <regex>
@@ -88,311 +89,6 @@ int InsetERT::plaintext(odocstringstream & os,
}
-static const std::map<docstring, docstring> raw_latex_encoding_to_unicode_xml{
- // Punctuation.
- {from_ascii("\\textquotesingle"), from_ascii("'")},
- {from_ascii("!`"), from_ascii("¡")}, // inverted exclamation mark
- {from_ascii("?`"), from_ascii("¿")}, // inverted interrogation mark
-
- // Logos.
- {from_ascii("\\LaTeX"), from_ascii("LaTeX")},
- {from_ascii("\\LaTeXe"), from_ascii("LaTeX2ε")}, // LaTeX 2 epsilon
- {from_ascii("\\LyX"), from_ascii("LyX")},
- {from_ascii("\\TeX"), from_ascii("TeX")},
-
- // Accentuated letters (alphabetical order of description, ligatures after accents).
- // Missing letters are only indicated for vowels (only few consonants have diacritics).
- // Only symbols that can be expressed as one Unicode characters are present; symbols with more than one
- // diacritic are also omitted.
- {from_ascii("\\`{a}"), from_ascii("á")}, // a acute
- {from_ascii("\\` a"), from_ascii("á")},
- {from_ascii("\\`{A}"), from_ascii("Á")}, // A acute
- {from_ascii("\\` A"), from_ascii("Á")},
- {from_ascii("\\u{a}"), from_ascii("ă")}, // a breve
- {from_ascii("\\u a"), from_ascii("ă")},
- {from_ascii("\\u{A}"), from_ascii("Ă")}, // A breve
- {from_ascii("\\u A"), from_ascii("Ă")},
- {from_ascii("\\v{a}"), from_ascii("ǎ")}, // a caron
- {from_ascii("\\v a"), from_ascii("ǎ")},
- {from_ascii("\\v{A}"), from_ascii("Ǎ")}, // A caron
- {from_ascii("\\v A"), from_ascii("Ǎ")},
- // No a cedilla.
- {from_ascii("\\^{a}"), from_ascii("â")}, // a circumflex
- {from_ascii("\\^ a"), from_ascii("â")},
- {from_ascii("\\^{A}"), from_ascii("Â")}, // A circumflex
- {from_ascii("\\^ A"), from_ascii("Â")},
- {from_ascii("\\\"{a}"), from_ascii("ä")}, // a diaeresis
- {from_ascii("\\\" a"), from_ascii("ä")},
- {from_ascii("\\\"{A}"), from_ascii("Ä")}, // A diaeresis
- {from_ascii("\\\" A"), from_ascii("Ä")},
- // No a double acute.
- {from_ascii("\\`{a}"), from_ascii("à")}, // a grave
- {from_ascii("\\` a"), from_ascii("à")},
- {from_ascii("\\`{A}"), from_ascii("À")}, // A grave
- {from_ascii("\\` A"), from_ascii("À")},
- {from_ascii("\\~{a}"), from_ascii("ã")}, // a tilde
- {from_ascii("\\~ a"), from_ascii("ã")},
- {from_ascii("\\~{A}"), from_ascii("Ã")}, // A tilde
- {from_ascii("\\~ A"), from_ascii("Ã")},
- {from_ascii("\\aa"), from_ascii("å")}, // a ring
- {from_ascii("\\r{a}"), from_ascii("å")},
- {from_ascii("\\r a"), from_ascii("å")},
- {from_ascii("\\AA"), from_ascii("Å")}, // A ring
- {from_ascii("\\r{A}"), from_ascii("Å")},
- {from_ascii("\\r A"), from_ascii("Å")},
- {from_ascii("\\ae"), from_ascii("æ")}, // ae ligature
- {from_ascii("\\AE"), from_ascii("Æ")}, // AE ligature
- {from_ascii("\\v{c}"), from_ascii("č")}, // c caron
- {from_ascii("\\v c"), from_ascii("č")},
- {from_ascii("\\v{C}"), from_ascii("Č")}, // C caron
- {from_ascii("\\v C"), from_ascii("Č")},
- {from_ascii("\\c{c}"), from_ascii("Ç")}, // c cedilla
- {from_ascii("\\c c"), from_ascii("Ç")},
- {from_ascii("\\c{C}"), from_ascii("ç")}, // C cedilla
- {from_ascii("\\c C"), from_ascii("ç")},
- {from_ascii("\\v{d}"), from_ascii("ď")}, // d caron
- {from_ascii("\\v d"), from_ascii("ď")},
- {from_ascii("\\v{D}"), from_ascii("Ď")}, // D caron
- {from_ascii("\\v D"), from_ascii("Ď")},
- {from_ascii("\\`{e}"), from_ascii("é")}, // e acute
- {from_ascii("\\` e"), from_ascii("é")},
- {from_ascii("\\`{E}"), from_ascii("É")}, // E acute
- {from_ascii("\\` E"), from_ascii("É")},
- {from_ascii("\\u{e}"), from_ascii("ĕ")}, // e breve
- {from_ascii("\\u e"), from_ascii("ĕ")},
- {from_ascii("\\u{E}"), from_ascii("Ĕ")}, // E breve
- {from_ascii("\\u E"), from_ascii("Ĕ")},
- {from_ascii("\\v{e}"), from_ascii("ě")}, // e caron
- {from_ascii("\\v e"), from_ascii("ě")},
- {from_ascii("\\v{E}"), from_ascii("Ě")}, // E caron
- {from_ascii("\\v E"), from_ascii("Ě")},
- {from_ascii("\\c{e}"), from_ascii("ȩ")}, // e cedilla
- {from_ascii("\\c e"), from_ascii("ȩ")},
- {from_ascii("\\c{E}"), from_ascii("Ȩ")}, // E cedilla
- {from_ascii("\\c E"), from_ascii("Ȩ")},
- {from_ascii("\\^{e}"), from_ascii("ê")}, // e circumflex
- {from_ascii("\\^ e"), from_ascii("ê")},
- {from_ascii("\\^{E}"), from_ascii("Ê")}, // E circumflex
- {from_ascii("\\^ E"), from_ascii("Ê")},
- {from_ascii("\\\"{e}"), from_ascii("ë")}, // e diaeresis
- {from_ascii("\\\" e"), from_ascii("ë")},
- {from_ascii("\\\"{E}"), from_ascii("Ë")}, // E diaeresis
- {from_ascii("\\\" E"), from_ascii("Ë")},
- // No e double acute.
- {from_ascii("\\`{e}"), from_ascii("è")}, // e grave
- {from_ascii("\\` e"), from_ascii("è")},
- {from_ascii("\\`{E}"), from_ascii("È")}, // E grave
- {from_ascii("\\` E"), from_ascii("È")},
- {from_ascii("\\~{e}"), from_ascii("ẽ")}, // e tilde
- {from_ascii("\\~ e"), from_ascii("ẽ")},
- {from_ascii("\\~{E}"), from_ascii("Ẽ")}, // E tilde
- {from_ascii("\\~ E"), from_ascii("Ẽ")},
- // No e ring.
- {from_ascii("\\u{g}"), from_ascii("ğ")}, // g breve
- {from_ascii("\\u g"), from_ascii("ğ")},
- {from_ascii("\\u{G}"), from_ascii("Ğ")}, // G breve
- {from_ascii("\\u G"), from_ascii("Ğ")},
- {from_ascii("\\v{g}"), from_ascii("ǧ")}, // g caron
- {from_ascii("\\v g"), from_ascii("ǧ")},
- {from_ascii("\\v{G}"), from_ascii("Ǧ")}, // G caron
- {from_ascii("\\v G"), from_ascii("Ǧ")},
- {from_ascii("\\c{g}"), from_ascii("ģ")}, // g cedilla
- {from_ascii("\\c g"), from_ascii("ģ")},
- {from_ascii("\\c{G}"), from_ascii("Ģ")}, // G cedilla
- {from_ascii("\\c G"), from_ascii("Ģ")},
- {from_ascii("\\i"), from_ascii("ı")}, // i dotless
- {from_ascii("\\`{i}"), from_ascii("í")}, // i acute
- {from_ascii("\\` i"), from_ascii("í")},
- {from_ascii("\\`{I}"), from_ascii("Í")}, // I acute
- {from_ascii("\\` I"), from_ascii("Í")},
- {from_ascii("\\u{i}"), from_ascii("ĭ")}, // i breve
- {from_ascii("\\u i"), from_ascii("ĭ")},
- {from_ascii("\\u{I}"), from_ascii("Ĭ")}, // I breve
- {from_ascii("\\u I"), from_ascii("Ĭ")},
- {from_ascii("\\v{i}"), from_ascii("ǐ")}, // i caron
- {from_ascii("\\v i"), from_ascii("ǐ")},
- {from_ascii("\\v{I}"), from_ascii("Ǐ")}, // I caron
- {from_ascii("\\v I"), from_ascii("Ǐ")},
- // No i cedilla.
- {from_ascii("\\^{i}"), from_ascii("î")}, // i circumflex
- {from_ascii("\\^ i"), from_ascii("î")},
- {from_ascii("\\^{I}"), from_ascii("Î")}, // I circumflex
- {from_ascii("\\^ I"), from_ascii("ï")},
- {from_ascii("\\\"{i}"), from_ascii("ï")}, // i diaeresis
- {from_ascii("\\\" i"), from_ascii("ë")},
- {from_ascii("\\\"{I}"), from_ascii("ë")}, // I diaeresis
- {from_ascii("\\\" I"), from_ascii("Ï")},
- // No i double acute.
- {from_ascii("\\`{i}"), from_ascii("ì")}, // i grave
- {from_ascii("\\` i"), from_ascii("ì")},
- {from_ascii("\\`{I}"), from_ascii("Ì")}, // I grave
- {from_ascii("\\` I"), from_ascii("Ì")},
- {from_ascii("\\~{i}"), from_ascii("ĩ")}, // i tilde
- {from_ascii("\\~ i"), from_ascii("ĩ")},
- {from_ascii("\\~{I}"), from_ascii("Ĩ")}, // I tilde
- {from_ascii("\\~ I"), from_ascii("Ĩ")},
- // No i ring.
- {from_ascii("\\j"), from_ascii("ȷ")}, // j dotless
- {from_ascii("\\v{k}"), from_ascii("Ǩ")}, // k caron
- {from_ascii("\\v k"), from_ascii("Ǩ")},
- {from_ascii("\\v{K}"), from_ascii("ǩ")}, // K caron
- {from_ascii("\\v K"), from_ascii("ǩ")},
- {from_ascii("\\c{k}"), from_ascii("ķ")}, // k cedilla
- {from_ascii("\\c k"), from_ascii("ķ")},
- {from_ascii("\\c{K}"), from_ascii("Ķ")}, // K cedilla
- {from_ascii("\\c K"), from_ascii("Ķ")},
- {from_ascii("\\v{l}"), from_ascii("ľ")}, // l caron
- {from_ascii("\\v l"), from_ascii("ľ")},
- {from_ascii("\\v{L}"), from_ascii("Ľ")}, // L caron
- {from_ascii("\\v L"), from_ascii("Ľ")},
- {from_ascii("\\c{l}"), from_ascii("ļ")}, // l cedilla
- {from_ascii("\\c l"), from_ascii("ļ")},
- {from_ascii("\\c{L}"), from_ascii("Ļ")}, // L cedilla
- {from_ascii("\\c L"), from_ascii("Ļ")},
- {from_ascii("\\l"), from_ascii("ł")}, // l stroke
- {from_ascii("\\L"), from_ascii("Ł")}, // L stroke
- {from_ascii("\\v{n}"), from_ascii("ň")}, // n caron
- {from_ascii("\\v n"), from_ascii("ň")},
- {from_ascii("\\v{N}"), from_ascii("Ň")}, // N caron
- {from_ascii("\\v N"), from_ascii("Ň")},
- {from_ascii("\\c{n}"), from_ascii("ņ")}, // n cedilla
- {from_ascii("\\c n"), from_ascii("ņ")},
- {from_ascii("\\c{N}"), from_ascii("Ņ")}, // N cedilla
- {from_ascii("\\c N"), from_ascii("Ņ")},
- {from_ascii("\\~{n}"), from_ascii("ñ")}, // n tilde
- {from_ascii("\\~ n"), from_ascii("ñ")},
- {from_ascii("\\~{N}"), from_ascii("Ñ")}, // N tilde
- {from_ascii("\\~ N"), from_ascii("Ñ")},
- {from_ascii("\\`{o}"), from_ascii("ó")}, // o acute
- {from_ascii("\\` o"), from_ascii("ó")},
- {from_ascii("\\`{O}"), from_ascii("Ó")}, // O acute
- {from_ascii("\\` O"), from_ascii("Ó")},
- {from_ascii("\\u{o}"), from_ascii("ŏ")}, // o breve
- {from_ascii("\\u o"), from_ascii("ŏ")},
- {from_ascii("\\u{O}"), from_ascii("Ŏ")}, // O breve
- {from_ascii("\\u O"), from_ascii("Ŏ")},
- {from_ascii("\\v{o}"), from_ascii("ǒ")}, // o caron
- {from_ascii("\\v o"), from_ascii("ǒ")},
- {from_ascii("\\v{O}"), from_ascii("Ǒ")}, // O caron
- {from_ascii("\\v O"), from_ascii("Ǒ")},
- // No o cedilla.
- {from_ascii("\\^{o}"), from_ascii("ô")}, // o circumflex
- {from_ascii("\\^ o"), from_ascii("ô")},
- {from_ascii("\\^{O}"), from_ascii("Ô")}, // O circumflex
- {from_ascii("\\^ O"), from_ascii("Ô")},
- {from_ascii("\\\"{o}"), from_ascii("ö")}, // o diaeresis
- {from_ascii("\\\" o"), from_ascii("ö")},
- {from_ascii("\\\"{O}"), from_ascii("Ö")}, // O diaeresis
- {from_ascii("\\\" O"), from_ascii("Ö")},
- {from_ascii("\\H{o}"), from_ascii("ő")}, // o double acute
- {from_ascii("\\H o"), from_ascii("ő")},
- {from_ascii("\\H{O}"), from_ascii("Ő")}, // O double acute
- {from_ascii("\\H O"), from_ascii("Ő")},
- {from_ascii("\\`{o}"), from_ascii("ò")}, // o grave
- {from_ascii("\\` o"), from_ascii("ò")},
- {from_ascii("\\`{O}"), from_ascii("Ò")}, // O grave
- {from_ascii("\\` O"), from_ascii("Ò")},
- {from_ascii("\\o"), from_ascii("ø")}, // o stroke
- {from_ascii("\\O"), from_ascii("Ø")}, // O stroke
- {from_ascii("\\~{o}"), from_ascii("õ")}, // o tilde
- {from_ascii("\\~ o"), from_ascii("õ")},
- {from_ascii("\\~{O}"), from_ascii("Õ")}, // O tilde
- {from_ascii("\\~ O"), from_ascii("Õ")},
- // No o ring.
- {from_ascii("\\oe"), from_ascii("œ")}, // oe ligature
- {from_ascii("\\OE"), from_ascii("Œ")}, // OE ligature
- {from_ascii("\\v{r}"), from_ascii("ř")}, // r caron
- {from_ascii("\\v r"), from_ascii("ř")},
- {from_ascii("\\v{R}"), from_ascii("Ř")}, // R caron
- {from_ascii("\\v R"), from_ascii("Ř")},
- {from_ascii("\\c{r}"), from_ascii("ŗ")}, // r cedilla
- {from_ascii("\\c r"), from_ascii("ŗ")},
- {from_ascii("\\c{R}"), from_ascii("Ŗ")}, // R cedilla
- {from_ascii("\\c R"), from_ascii("Ŗ")},
- {from_ascii("\\v{s}"), from_ascii("š")}, // s caron
- {from_ascii("\\v s"), from_ascii("š")},
- {from_ascii("\\v{S}"), from_ascii("Š")}, // S caron
- {from_ascii("\\v S"), from_ascii("Š")},
- {from_ascii("\\c{s}"), from_ascii("ş")}, // s cedilla
- {from_ascii("\\c s"), from_ascii("ş")},
- {from_ascii("\\c{S}"), from_ascii("Ş")}, // S cedilla
- {from_ascii("\\c S"), from_ascii("Ş")},
- {from_ascii("\\v{t}"), from_ascii("ť")}, // t caron
- {from_ascii("\\v t"), from_ascii("ť")},
- {from_ascii("\\v{T}"), from_ascii("Ť")}, // T caron
- {from_ascii("\\v T"), from_ascii("Ť")},
- {from_ascii("\\c{t}"), from_ascii("ţ")}, // t cedilla
- {from_ascii("\\c t"), from_ascii("ţ")},
- {from_ascii("\\c{T}"), from_ascii("Ţ")}, // T cedilla
- {from_ascii("\\c T"), from_ascii("Ţ")},
- {from_ascii("\\`{u}"), from_ascii("ú")}, // u acute
- {from_ascii("\\` u"), from_ascii("ú")},
- {from_ascii("\\`{U}"), from_ascii("Ú")}, // U acute
- {from_ascii("\\` U"), from_ascii("Ú")},
- {from_ascii("\\u{u}"), from_ascii("ŭ")}, // u breve
- {from_ascii("\\u u"), from_ascii("ŭ")},
- {from_ascii("\\u{U}"), from_ascii("Ŭ")}, // U breve
- {from_ascii("\\u U"), from_ascii("Ŭ")},
- {from_ascii("\\v{u}"), from_ascii("ǔ")}, // u caron
- {from_ascii("\\v u"), from_ascii("ǔ")},
- {from_ascii("\\v{U}"), from_ascii("Ǔ")}, // U caron
- {from_ascii("\\v U"), from_ascii("Ǔ")},
- // No u cedilla.
- {from_ascii("\\^{u}"), from_ascii("û")}, // u circumflex
- {from_ascii("\\^ u"), from_ascii("û")},
- {from_ascii("\\^{U}"), from_ascii("Û")}, // U circumflex
- {from_ascii("\\^ U"), from_ascii("Û")},
- {from_ascii("\\\"{u}"), from_ascii("ü")}, // u diaeresis
- {from_ascii("\\\" u"), from_ascii("ü")},
- {from_ascii("\\\"{U}"), from_ascii("Ü")}, // U diaeresis
- {from_ascii("\\\" U"), from_ascii("Ü")},
- {from_ascii("\\H{u}"), from_ascii("ű")}, // u double acute
- {from_ascii("\\H u"), from_ascii("ű")},
- {from_ascii("\\H{U}"), from_ascii("Ű")}, // U double acute
- {from_ascii("\\H U"), from_ascii("Ű")},
- {from_ascii("\\`{u}"), from_ascii("ù")}, // u grave
- {from_ascii("\\` u"), from_ascii("ù")},
- {from_ascii("\\`{U}"), from_ascii("Ù")}, // U grave
- {from_ascii("\\` U"), from_ascii("Ù")},
- {from_ascii("\\~{u}"), from_ascii("ũ")}, // u tilde
- {from_ascii("\\~ u"), from_ascii("ũ")},
- {from_ascii("\\~{U}"), from_ascii("Ũ")}, // U tilde
- {from_ascii("\\~ U"), from_ascii("Ũ")},
- {from_ascii("\\r{u}"), from_ascii("å")}, // u ring
- {from_ascii("\\r u"), from_ascii("ů")},
- {from_ascii("\\r{U}"), from_ascii("ů")}, // U ring
- {from_ascii("\\r U"), from_ascii("Ů")},
- {from_ascii("\\`{y}"), from_ascii("ý")}, // y acute
- {from_ascii("\\` y"), from_ascii("ý")},
- {from_ascii("\\`{Y}"), from_ascii("Ý")}, // Y acute
- {from_ascii("\\` Y"), from_ascii("Ý")},
- {from_ascii("\\v{z}"), from_ascii("ž")}, // z caron
- {from_ascii("\\v z"), from_ascii("ž")},
- {from_ascii("\\v{Z}"), from_ascii("Ž")}, // Z caron
- {from_ascii("\\v Z"), from_ascii("Ž")},
- // No y breve.
- // No y cedilla.
- {from_ascii("\\^{y}"), from_ascii("ŷ")}, // y circumflex
- {from_ascii("\\^ y"), from_ascii("ŷ")},
- {from_ascii("\\^{Y}"), from_ascii("Ŷ")}, // Y circumflex
- {from_ascii("\\^ Y"), from_ascii("Ŷ")},
- {from_ascii("\\\"{y}"), from_ascii("ÿ")}, // y diaeresis
- {from_ascii("\\\" y"), from_ascii("ÿ")},
- {from_ascii("\\\"{Y}"), from_ascii("Ÿ")}, // Y diaeresis
- {from_ascii("\\\" Y"), from_ascii("Ÿ")},
- // No y double acute.
- {from_ascii("\\`{y}"), from_ascii("ỳ")}, // y grave
- {from_ascii("\\` y"), from_ascii("ỳ")},
- {from_ascii("\\`{Y}"), from_ascii("Ỳ")}, // Y grave
- {from_ascii("\\` Y"), from_ascii("Ỳ")},
- {from_ascii("\\~{y}"), from_ascii("ỹ")}, // y tilde
- {from_ascii("\\~ y"), from_ascii("ỹ")},
- {from_ascii("\\~{Y}"), from_ascii("Ỹ")}, // Y tilde
- {from_ascii("\\~ Y"), from_ascii("Ỹ")},
- // No y ring.
-};
-
-
void InsetERT::docbook(XMLStream & xs, OutputParams const & runparams) const
{
auto const begin = paragraphs().begin();
@@ -441,26 +137,39 @@ void InsetERT::docbook(XMLStream & xs, OutputParams const & runparams) const
// First step: some commands have a direct mapping to DocBook, mostly because the mapping is simply text or
// an XML entity.
+ // Logic is similar to that of convertLaTeXCommands in BiblioInfo.cpp.
+ // TODO: make the code even more similar by looping over the string and applying all conversions. (What is not
+ // recognised should simply be put in comments: have a list of elements that are either already recognised or are
+ // not yet recognised? Global transformations like \string should then come first.)
{
docstring os_trimmed = trim(os.str());
- auto command_raw_translation = raw_latex_encoding_to_unicode_xml.find(os_trimmed);
- if (command_raw_translation != raw_latex_encoding_to_unicode_xml.end()) {
- xs << command_raw_translation->second;
- output_as_comment = false;
- } else {
- // If the trimmed ERT ends with {}, try a mapping without it.
- auto os_braces = os_trimmed.find(from_ascii("{}"));
+ // Rewrite \"u to \"{u}.
+ static regex const regNoBraces(R"(^\\\W\w)");
+ if (regex_search(to_utf8(os_trimmed), regNoBraces)) {
+ os_trimmed.insert(3, from_ascii("}"));
+ os_trimmed.insert(2, from_ascii("{"));
+ }
- if (os_braces != lyx::docstring::npos) {
- auto key = os_trimmed.substr(0, os_braces);
- auto command_braces_translation = raw_latex_encoding_to_unicode_xml.find(key);
+ // Rewrite \" u to \"{u}.
+ static regex const regSpace(R"(^\\\W \w)");
+ if (regex_search(to_utf8(os_trimmed), regSpace)) {
+ os_trimmed[2] = '{';
+ os_trimmed.insert(4, from_ascii("}"));
+ }
- if (command_braces_translation != raw_latex_encoding_to_unicode_xml.end()) {
- xs << command_braces_translation->second;
- output_as_comment = false;
- }
+ // Look into the global table of Unicode characters if there is a match.
+ bool termination;
+ docstring rem;
+ docstring const converted = Encodings::fromLaTeXCommand(os_trimmed,
+ Encodings::TEXT_CMD, termination, rem);
+ if (!converted.empty()) {
+ // Don't output the characters directly, even if the document should be encoded in UTF-8, for editors that
+ // do not support all these funky characters.
+ for (const char_type& character : converted) {
+ xs << XMLStream::ESCAPE_NONE << from_ascii("&#" + std::to_string(character) + ';');
}
+ output_as_comment = false;
}
}
commit e0722e97d5d93a99544e1180bb1abbde0e33668f
Author: Kornel Benko <kornel at lyx.org>
Date: Sun Feb 13 14:23:58 2022 +0100
Update sk.po
diff --git a/po/sk.po b/po/sk.po
index 8f1590c..5a35011 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -3474,7 +3474,7 @@ msgstr ""
#: src/frontends/qt/ui/PDFSupportUi.ui:490
msgid "Document &Metadata"
-msgstr "Dokument a &Metaúdaje"
+msgstr "&Metaúdaje dokumenta"
#: src/frontends/qt/ui/PageLayoutUi.ui:20
msgid "Paper Format"
commit c2e0d4e69bc83dcbf9a0fef16c2f13be589d963a
Author: Kornel Benko <kornel at lyx.org>
Date: Sun Feb 13 13:57:41 2022 +0100
Update sk.po
diff --git a/po/sk.po b/po/sk.po
index 3848bb6..8f1590c 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: LyX-2.4\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2022-02-08 19:47+0100\n"
-"PO-Revision-Date: 2022-02-08 18:52+0000\n"
+"POT-Creation-Date: 2022-02-13 12:47+0100\n"
+"PO-Revision-Date: 2022-02-13 12:46+0000\n"
"Last-Translator: Kornel Benko <kornel at lyx.org>\n"
"Language-Team: Slovak <kornel at lyx.org>\n"
"Language: sk\n"
@@ -1230,7 +1230,7 @@ msgstr "&Bývalà dokument:"
#: src/frontends/qt/ui/CompareUi.ui:51
msgid "Specify the original version of the document here (comparison source)"
-msgstr "Špecifikujte originálnu verziu dokumentu tu (zdroj porovnania)"
+msgstr "Špecifikujte originálnu verziu dokumenta tu (zdroj porovnania)"
#: src/frontends/qt/ui/CompareUi.ui:61 src/frontends/qt/ui/PrefUi.ui:61
msgid "Bro&wse..."
@@ -1242,7 +1242,7 @@ msgstr "&Nový dokument:"
#: src/frontends/qt/ui/CompareUi.ui:87
msgid "Specify the modified version of the document here (comparison target)"
-msgstr "Špecifikujte modifikovanú verziu dokumentu tu (cieľ porovnania)"
+msgstr "Špecifikujte modifikovanú verziu dokumenta tu (cieľ porovnania)"
#: 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
@@ -1255,9 +1255,9 @@ msgstr "Pre&chádzaÅ¥â¦"
msgid "Select the document from which the settings should be taken"
msgstr "Vyberte dokument z ktorého chcete nastavenia kopÃrovaÅ¥"
-#: src/frontends/qt/ui/CompareUi.ui:120 src/frontends/qt/GuiDocument.cpp:781
+#: src/frontends/qt/GuiDocument.cpp:789 src/frontends/qt/ui/CompareUi.ui:120
msgid "Document Settings"
-msgstr "Nastavenia dokumentu"
+msgstr "Nastavenia dokumenta"
#: src/frontends/qt/ui/CompareUi.ui:129
msgid "O&ld Document"
@@ -1331,7 +1331,7 @@ msgstr "&Prehodiť && obrátiť"
#: src/frontends/qt/ui/DocumentUi.ui:93
msgid "Reset to the default settings for the document class"
-msgstr "Nastaviť na štandardné nastavenie triedy dokumentu"
+msgstr "Nastaviť na štandardné nastavenie triedy dokumenta"
#: src/frontends/qt/ui/DocumentUi.ui:96
msgid "Use Class Defaults"
@@ -1343,7 +1343,7 @@ msgstr "Uložiť nastavenia ako štandardné nastavenia pre nové LyX dokumenty"
#: src/frontends/qt/ui/DocumentUi.ui:112
msgid "Save as Document Defaults"
-msgstr "Uložiť ako štandardné nastavenia dokumentu"
+msgstr "Uložiť ako štandardné nastavenia dokumenta"
#: src/frontends/qt/ui/ERTUi.ui:38 src/frontends/qt/GuiPrefs.cpp:1297
msgid "Display"
@@ -1645,7 +1645,7 @@ msgid ""
"document"
msgstr ""
"Aktuálny dokument a všetky súvisiace dokumenty patriace k tomu istému "
-"hlavnému dokumentu"
+"hlavnému dokumenta"
#: src/frontends/qt/ui/FindAndReplaceUi.ui:319
msgid "&Master document"
@@ -1716,11 +1716,11 @@ msgid ""
"Settings."
msgstr ""
"PoužiÅ¥ Å¡tandardné zarovnanie pre plávajúce objekty, ako je urÄené v "
-"Nastaveniach dokumentu."
+"nastaveniach dokumenta."
#: src/frontends/qt/ui/FloatPlacementUi.ui:97
msgid "D&ocument Default"
-msgstr "Štan&dardné nastavenia dokumentu"
+msgstr "Štan&dardné nastavenia dokumenta"
#: src/frontends/qt/ui/FloatPlacementUi.ui:104
msgid "Left-align float contents"
@@ -2466,7 +2466,7 @@ msgstr "O&kamžite použiť"
#: src/frontends/qt/ui/LaTeXUi.ui:20
msgid "Document &Class"
-msgstr "&Trieda dokumentu"
+msgstr "&Trieda dokumenta"
#: src/frontends/qt/ui/LaTeXUi.ui:48
msgid "Click to select a local document class definition file"
@@ -2506,7 +2506,7 @@ msgstr "OvládaÄ &grafik:"
#: src/frontends/qt/ui/LaTeXUi.ui:136
msgid "Select if the current document is included to a master file"
-msgstr "Vyberte keÄ je súÄasný dokument vložený do hlavného dokumentu"
+msgstr "Vyberte keÄ je súÄasný dokument vložený do hlavného dokumenta"
#: src/frontends/qt/ui/LaTeXUi.ui:142
msgid "Select de&fault master document"
@@ -2518,7 +2518,7 @@ msgstr "&Hlavný dokument:"
#: src/frontends/qt/ui/LaTeXUi.ui:177
msgid "Enter the name of the default master document"
-msgstr "Udajte meno implicitného hlavného dokumentu"
+msgstr "Udajte meno implicitného hlavného dokumenta"
#: src/frontends/qt/ui/LaTeXUi.ui:196
msgid "&Suppress default date on front page"
@@ -2925,7 +2925,7 @@ msgstr "&Separácia stĺpcov:"
#: src/frontends/qt/ui/MasterChildUi.ui:20
msgid "Master Document Output"
-msgstr "Výstup hlavného dokumentu"
+msgstr "Výstup hlavného dokumenta"
#: src/frontends/qt/ui/MasterChildUi.ui:29
msgid "Include all subdocuments in the output"
@@ -2963,7 +2963,7 @@ msgid ""
"counter values and references."
msgstr ""
"ÄÃtaÄe a referencie vylúÄených dokumentov budú ignorované, Äiže ÄÃtaÄe vo "
-"výstupe nebudú súhlasiť s výstupom celého dokumentu.<br>Toto je "
+"výstupe nebudú súhlasiť s výstupom celého dokumenta.<br>Toto je "
"najrýchlejÅ¡ia metóda. Použite ju keÄ nepotrebujete presné hodnoty ÄÃtaÄov a "
"referenciÃ."
@@ -3165,7 +3165,7 @@ msgstr "&Zosivelé"
#: src/frontends/qt/ui/NumberingUi.ui:37
msgid "Add line numbers to the document"
-msgstr "PridaÅ¥ oÄÃslenie riadkov do dokumentu"
+msgstr "PridaÅ¥ oÄÃslenie riadkov do dokumenta"
#: src/frontends/qt/ui/NumberingUi.ui:40
msgid "L&ine numbering"
@@ -3239,7 +3239,7 @@ msgstr "mml"
msgid "LyX Format"
msgstr "LyX-Formát"
-#: src/frontends/qt/ui/OutputUi.ui:96
+#: src/frontends/qt/ui/OutputUi.ui:153
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 "
@@ -3248,7 +3248,7 @@ msgid ""
msgstr ""
"Uložà vÅ¡etky parametre do LyX súboru, vÄetne aj také ktoré sa Äasto "
"prepÃnajú alebo sú zvláštne ohľadom na použÃvateľa (také ako napr. výstup "
-"sledovaných zmien, alebo cesta adresára dokumentu). Vypnutie tejto voľby je "
+"sledovaných zmien, alebo cesta adresára dokumenta). Vypnutie tejto voľby je "
"vhodnejÅ¡ie ako pre spoluprácu tak i pri použÃvaniu správe verziÃ."
#: src/frontends/qt/ui/OutputUi.ui:99
@@ -3456,9 +3456,25 @@ msgstr "PoÄet úrovnÃ"
msgid "Additional O&ptions"
msgstr "&DodatoÄné možnosti"
-#: src/frontends/qt/ui/PDFSupportUi.ui:509
-msgid "e.g.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
-msgstr "napr.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
+#: src/frontends/qt/ui/PDFSupportUi.ui:461
+msgid ""
+"Additional hyperref options (comma-separated) to be passed via \\hypersetup."
+msgstr ""
+"PrÃdavné hyperref voľby (oddeľované Äiarkami) na predanie cez \\hypersetup."
+
+#: src/frontends/qt/ui/PDFSupportUi.ui:464
+msgid "Hyperse&tup"
+msgstr "&Nastavenia pre hyperref"
+
+#: src/frontends/qt/ui/PDFSupportUi.ui:487
+msgid ""
+"Document metadata and PDF settings (as specified in LaTeX 06/2022 and later)"
+msgstr ""
+"Metaúdaje dokumenta a PDS nastavenia (ako urÄené v LaTeX 06/2022 a neskôr)"
+
+#: src/frontends/qt/ui/PDFSupportUi.ui:490
+msgid "Document &Metadata"
+msgstr "Dokument a &Metaúdaje"
#: src/frontends/qt/ui/PageLayoutUi.ui:20
msgid "Paper Format"
@@ -3938,7 +3954,7 @@ msgid ""
"document. This allows moving the document elsewhere and still finding the "
"included files."
msgstr ""
-"KeÄ zaÅ¡krtnuté, adresár dokumentu sa zapÃÅ¡e do dokumentu. Dovolà sa tým "
+"KeÄ zaÅ¡krtnuté, adresár dokumenta sa zapÃÅ¡e do dokumenta. Dovolà sa tým "
"presunúť dokument niekde inde a predsa nájsť vložené súbory."
#: src/frontends/qt/ui/PrefDocHandlingUi.ui:158
@@ -3995,7 +4011,7 @@ msgstr "Editácia"
#: src/frontends/qt/ui/PrefEditUi.ui:51
msgid "Scroll &below end of document"
-msgstr "Rolovať až pod &koniec dokumentu"
+msgstr "Rolovať až pod &koniec dokumenta"
#: src/frontends/qt/ui/PrefEditUi.ui:72
msgid "Edit Math Macros inline with a box around"
@@ -4118,7 +4134,7 @@ msgstr "O&dstrániť"
#: src/frontends/qt/ui/PrefFileformatsUi.ui:73
msgid "&Document format"
-msgstr "Form&át dokumentu"
+msgstr "Form&át dokumenta"
#: src/frontends/qt/ui/PrefFileformatsUi.ui:80
msgid "Check this to show the current format in the File > Export menu"
@@ -4373,7 +4389,7 @@ msgid ""
"the language package), so that other packages are also informed about the "
"used languages."
msgstr ""
-"Zaškrtnite na nastavenie jazyka globálne (k triede dokumentu), nie lokálne "
+"Zaškrtnite na nastavenie jazyka globálne (k triede dokumenta), nie lokálne "
"(k jazykovému balÃku), tak aby aj iné balÃky dostali informáciu o použitých "
"jazykov."
@@ -4386,24 +4402,24 @@ msgid ""
"If checked, the document language is explicitly set by a language switch "
"command"
msgstr ""
-"KeÄ zaÅ¡krtnuté, jazyk dokumentu je explicitne nastavený prepÃnajúcim "
+" KeÄ zaÅ¡krtnuté, jazyk dokumenta je explicitne nastavený prepÃnajúcim "
"prÃkazom jazyka"
#: src/frontends/qt/ui/PrefLanguageUi.ui:154
msgid "Set document language e&xplicitly"
-msgstr "Ex&plicitne nastaviť jazyk dokumentu"
+msgstr "Ex&plicitne nastaviť jazyk dokumenta"
#: src/frontends/qt/ui/PrefLanguageUi.ui:161
msgid ""
"If checked, the document language is explicitly closed by a language switch "
"command"
msgstr ""
-"KeÄ zaÅ¡krtnuté, jazyk dokumentu je explicitne zavretý prepÃnajúcim prÃkazom "
+"KeÄ zaÅ¡krtnuté, jazyk dokumenta je explicitne zavretý prepÃnajúcim prÃkazom "
"jazyka"
#: src/frontends/qt/ui/PrefLanguageUi.ui:164
msgid "&Unset document language explicitly"
-msgstr "E&xplicitne deaktivovať jazyk dokumentu"
+msgstr "E&xplicitne deaktivovať jazyk dokumenta"
#: src/frontends/qt/ui/PrefLanguageUi.ui:177
msgid "Editor Settings"
@@ -4414,7 +4430,7 @@ msgid ""
"Check to highlight additional languages (to the document language) visually "
"in the work area"
msgstr ""
-"ZaÅ¡krtnite na vyzdvihnutie dodatoÄných jazykov (ku jazyku dokumentu) "
+"ZaÅ¡krtnite na vyzdvihnutie dodatoÄných jazykov (ku jazyku dokumenta) "
"viditeľné na pracovnej ploche"
#: src/frontends/qt/ui/PrefLanguageUi.ui:192
@@ -4579,7 +4595,7 @@ msgstr "Zvoliť štandardné voľby pri zmene triedy"
#: src/frontends/qt/ui/PrefLatexUi.ui:323
msgid "R&eset class options when document class changes"
-msgstr "&Nastaviť triedne voľby pri zmene triedy dokumentu"
+msgstr "&Nastaviť triedne voľby pri zmene triedy dokumenta"
#: src/frontends/qt/ui/PrefOutputUi.ui:20
msgid "Forward Search"
@@ -5356,7 +5372,7 @@ msgid ""
"Available categories depend on the document encoding. Select UTF-8 for the "
"full range."
msgstr ""
-"Dostupné kategórie závisia na zvolenom kódovanà dokumentu. Vyberte UTF-8 pre "
+"Dostupné kategórie závisia na zvolenom kódovanà dokumenta. Vyberte UTF-8 pre "
"plný rozsah."
#: src/frontends/qt/ui/SymbolsUi.ui:43
@@ -6003,7 +6019,7 @@ msgstr "Ukazovať zdroj tak, ako ho hlavný dokument dostane"
#: src/frontends/qt/ui/ViewSourceUi.ui:133
msgid "Master's perspective"
-msgstr "PerspektÃva hlavného dokumentu"
+msgstr "PerspektÃva hlavného dokumenta"
#: src/frontends/qt/ui/ViewSourceUi.ui:147
msgid "Current Paragraph"
@@ -7600,8 +7616,8 @@ msgid ""
msgstr ""
"Poskytuje dva nové štýly: 1. Štýl 'V preambule' ktorý položà všetko do neho "
"zadané do preambuly. KeÄ si to niekto želá, dá sa použiÅ¥ aj na inklúziu kódu "
-"preambuly do tela LyXového dokumentu. 2. Štýl 'V titule' položà svoj obsah "
-"do tela LaTeXového dokumentu, ale pred vydanÃm \\maketitle. Je to vhodné pre "
+"preambuly do tela LyXového dokumenta. 2. Štýl 'V titule' položà svoj obsah "
+"do tela LaTeXového dokumenta, ale pred vydanÃm \\maketitle. Je to vhodné pre "
"tvorbu vetiev a poznámok v titulnom materiáli. (VloženÃm do 'Å tandardné "
"rozloženie' signalizujete LyXu vložiÅ¥ \\maketitle do výstupu, Äo by mohlo "
"byÅ¥ predÄasné.)"
@@ -10383,7 +10399,7 @@ msgstr "Krátky titul v hlavnom jazyku"
#: lib/layouts/bicaption.module:46
msgid "Short title for the main(document) language"
-msgstr "Krátky titul v hlavnom jazyku dokumentu"
+msgstr "Krátky titul v hlavnom jazyku dokumenta"
#: lib/layouts/bicaption.module:50
msgid "Main Language Text"
@@ -10391,7 +10407,7 @@ msgstr "Text v hlavnom jazyku"
#: lib/layouts/bicaption.module:51
msgid "Text in the main(document) language"
-msgstr "Text v hlavnom jazyku dokumentu"
+msgstr "Text v hlavnom jazyku dokumenta"
#: lib/layouts/bicaption.module:54
msgid "Second Language Short Title"
@@ -12419,7 +12435,7 @@ msgstr ""
"FIXMEs'. Vysvetlivky sú upraviteľné v LaTeXovej preambule. ViÄte "
"dokumentáciu FiXme. NOTA: Štandardne sú poznámky viditeľné len v režime "
"'draft' (keÄ voľbu 'draft' vložÃte pomocou Dokument -> Nastavenia⦠-> Trieda "
-"dokumentu -> Nastavenie triedy -> Vlastné). Chcete to vidieť vždy, vložte "
+"dokumenta -> Nastavenie triedy -> Vlastné). Chcete to vidieť vždy, vložte "
"\\fxsetup{draft} do Dokument -> Preambula LaTeX-u. POZOR: pre niektoré "
"vlastnosti potrebujete balÃk 'FiXme' verziu 4 alebo vzostupnú."
@@ -13917,11 +13933,11 @@ msgstr "S/R výraz"
#: lib/layouts/landscape.module:2
msgid "Landscape Document Parts"
-msgstr "Äasti dokumentu vo formáte na Å¡Ãrku"
+msgstr "Äasti dokumenta vo formáte na Å¡Ãrku"
#: lib/layouts/landscape.module:6
msgid "Output parts of the document in landscape mode."
-msgstr "VytlaÄiÅ¥ Äiastky z dokumentu na Å¡Ãrku."
+msgstr "VytlaÄiÅ¥ Äiastky z dokumenta na Å¡Ãrku."
#: lib/layouts/landscape.module:11 lib/layouts/landscape.module:16
msgid "Landscape"
@@ -17384,7 +17400,7 @@ msgstr ""
"rozÅ¡Ãrenia AMS, má tu každý poskytnutý typ teorémou svoje vlastné ÄÃslovanie "
"(Äiže veta 1, veta 2, lemma 1, tvrdenie 1, veta 3, lemma 2, â¦, oproti veta "
"1, veta 2, lemma 3, tvrdenie 4â¦). ÄÃslovanie je postupne bez ohľadu na "
-"Å¡truktúru dokumentu. To sa dá zmeniÅ¥ voľbou jedného z 'Teorémy (ÄÃslované "
+"Å¡truktúru dokumenta. To sa dá zmeniÅ¥ voľbou jedného z 'Teorémy (ÄÃslované "
"podľa â¦)' modulu."
#: lib/layouts/theorems-ams-chap-bytype.module:2
@@ -17741,7 +17757,7 @@ msgid ""
msgstr ""
"Definuje prostredie mat. viet a dôkazov použÃvajúce rozÅ¡Ãrenie AMS. K "
"dispozÃcii sú ÄÃslované a ne-ÄÃslované typy. Implicitne sú vety ÄÃslované "
-"postupne bez ohľadu na štruktúru dokumentu. To sa dá zmeniť voľbou jedného z "
+"postupne bez ohľadu na štruktúru dokumenta. To sa dá zmeniť voľbou jedného z "
"'Teorémy (ÄÃslované podľa â¦)' modulu."
#: lib/layouts/theorems-bytype.module:2
@@ -17762,7 +17778,7 @@ msgstr ""
"jednoduchému modulu teorémou, má tu každý poskytnutý typ teorémou svoje "
"vlastné ÄÃslovanie (Äiže veta 1, veta 2, lemma 1, tvrdenie 1, veta 3, lemma "
"2, â¦, oproti veta 1, veta 2, lemma 3, tvrdenie 4, â¦). ÄÃslovanie je "
-"usporiadané bez ohľadu na štruktúru dokumentu. To sa dá zmeniť voľbou "
+"usporiadané bez ohľadu na štruktúru dokumenta. To sa dá zmeniť voľbou "
"jedného z 'Teorémy (ÄÃslované podľa â¦)' modulu."
#: lib/layouts/theorems-case.inc:12
@@ -17951,7 +17967,7 @@ msgid ""
msgstr ""
"Definuje niektoré prostredia mat. viet pre použitie v triedach neodvodených "
"od AMS. Implicitne sú vety ÄÃslované postupne bez ohľadu na Å¡truktúru "
-"dokumentu. To sa dá zmeniÅ¥ voľbou jedného z 'Teorémy (ÄÃslované podľa â¦)' "
+"dokumenta. To sa dá zmeniÅ¥ voľbou jedného z 'Teorémy (ÄÃslované podľa â¦)' "
"modulu."
#: lib/layouts/theorems-without-preamble.inc:47
@@ -18009,9 +18025,9 @@ msgid ""
"provides a paragraph style. Passing 'final' as document class option "
"suppresses the output of TODO notes."
msgstr ""
-"Poskytuje vlastné vložky na vklad TODO prvkov do vášho dokumentu (použÃvajúc "
+"Poskytuje vlastné vložky na vklad TODO prvkov do vášho dokumenta (použÃvajúc "
"balÃk todonotes). Pre generáciu 'Zoznam TODOs' poskytuje tento modul Å¡týl "
-"odstavca. NastaviÅ¥ 'final' ako voľbu dokumentu potlaÄà výstup 'TODO' "
+"odstavca. NastaviÅ¥ 'final' ako voľbu dokumenta potlaÄà výstup 'TODO' "
"poznámok."
#: lib/layouts/todonotes.module:15 lib/layouts/todonotes.module:120
@@ -26032,7 +26048,7 @@ msgstr ""
"pozÃcie, ktorú chcete zobraziÅ¥.\n"
"Uistite sa, že má prÃponu '.fen'\n"
"a nezabudnite daÅ¥ relatÃvnu cestu\n"
-"k súboru do dokumentu LyX-a.\n"
+"k súboru do dokumenta LyX-a.\n"
"Vnútri XBoard-u, použite 'Edit -> Edit Position'\n"
"pre obecnú editáciu šachovnice.\n"
"Možno chcete aj použiť voľbu\n"
@@ -26191,7 +26207,7 @@ msgstr ""
"LyX sa pokúsi držaÅ¥ vektorové vlastnosti obrázku pre koneÄný výstup.\n"
"Všimnite si že existujú špecializované šablóny pre Xfig obrázky a Dia "
"diagramy.\n"
-"Špecializované šablóny dovoľujú automaticky použiť font dokumentu v\n"
+"Špecializované šablóny dovoľujú automaticky použiť font dokumenta v\n"
"obrázkoch, Äo nie je možné so vÅ¡eobecnou Å¡ablónou.\n"
#: lib/xtemplates/xfig.xtemplate:33
@@ -26999,9 +27015,9 @@ msgstr "Pomocný adresár %1$s sa nedal zmazať"
msgid "Unknown token: %1$s %2$s\n"
msgstr "Neznámy token: %1$s %2$s\n"
-#: src/Buffer.cpp:1002 src/Buffer.cpp:1008 src/Buffer.cpp:1032
+#: src/Buffer.cpp:1003 src/Buffer.cpp:1009 src/Buffer.cpp:1033
msgid "Document header error"
-msgstr "Chyba v hlaviÄke dokumentu"
+msgstr "Chyba v hlaviÄke dokumenta"
#: src/Buffer.cpp:1007
msgid "\\begin_header is missing"
@@ -27041,9 +27057,9 @@ msgstr "Súbor nenájdený"
msgid "Unable to open file `%1$s'."
msgstr "Nemôžem otvoriť súbor `%1$s'."
-#: src/Buffer.cpp:1220 src/Buffer.cpp:1294
+#: src/Buffer.cpp:1221 src/Buffer.cpp:1295
msgid "Document format failure"
-msgstr "Chybný formát dokumentu"
+msgstr "Chybný formát dokumenta"
#: src/Buffer.cpp:1221
#, c-format
@@ -27222,30 +27238,30 @@ msgstr ""
msgid "Uncodable character '%1$s' (code point %2$s)"
msgstr "Nekódovateľný znak '%1$s' (hodnota %2$s)"
-#: src/Buffer.cpp:1783
+#: src/Buffer.cpp:1784
msgid ""
"Some characters of your document are not representable in specific verbatim "
"contexts.\n"
"Changing the document encoding to utf8 could help."
msgstr ""
-"Niektoré znaky vášho dokumentu sú nereprezentovateľné v niektorých "
+"Niektoré znaky vášho dokumenta sú nereprezentovateľné v niektorých "
"špecifických verbatim kontextoch.\n"
-"Pomôcť by mohla zmena kódovania dokumentu na utf8."
+"Pomôcť by mohla zmena kódovania dokumenta na utf8."
#: src/Buffer.cpp:1788
#, c-format
msgid "Could not find LaTeX command for character '%1$s' (code point %2$s)"
msgstr "Nedá sa nájsÅ¥ LaTeX-ov prÃkaz pre znak '%1$s' (hodnota %2$s)"
-#: src/Buffer.cpp:1791
+#: src/Buffer.cpp:1792
msgid ""
"Some characters of your document are probably not representable in the "
"chosen encoding.\n"
"Changing the document encoding to utf8 could help."
msgstr ""
-"Niektoré znaky vášho dokumentu sú pravdepodobne nereprezentovateľné vo "
+"Niektoré znaky vášho dokumenta sú pravdepodobne nereprezentovateľné vo "
"zvolenom kódovanÃ.\n"
-"Pomôcť by mohla zmena kódovania dokumentu na utf8."
+"Pomôcť by mohla zmena kódovania dokumenta na utf8."
#: src/Buffer.cpp:1799
msgid "iconv conversion failed"
@@ -27259,7 +27275,7 @@ msgstr "konverzia zlyhala"
msgid "Uncodable character in file path"
msgstr "Nekódovateľný znak v ceste"
-#: src/Buffer.cpp:1918
+#: src/Buffer.cpp:1919
#, c-format
msgid ""
"The path of your document\n"
@@ -27272,15 +27288,15 @@ msgid ""
"In case of problems, choose an appropriate document encoding\n"
"(such as utf8) or change the file path name."
msgstr ""
-"Cesta vášho dokumentu\n"
+"Cesta vášho dokumenta\n"
"(%1$s)\n"
"obsahuje glyfy neznáme v kódovanÃ\n"
-"aktuálneho dokumentu (menovite %2$s).\n"
+"aktuálneho dokumenta (menovite %2$s).\n"
"Na úplný výsledok zaistite aby TEXINPUTS obsahovala cestu ku adresáru "
-"dokumentu alebo použite relatÃvne cesty (Äiže cesty zaÄÃnajúce s './' alebo "
+"dokumenta alebo použite relatÃvne cesty (Äiže cesty zaÄÃnajúce s './' alebo "
"s '../') v preambule alebo v ERT. \n"
"\n"
-"V prÃpade problémov vyberte vhodné kódovanie dokumentu\n"
+"V prÃpade problémov vyberte vhodné kódovanie dokumenta\n"
"(ako napr. utf8) alebo zmeÅte meno cesty."
#: src/Buffer.cpp:2009
@@ -27425,9 +27441,9 @@ msgstr "Prehľad tela"
msgid "Plain text does not have a preamble."
msgstr "Prostý text nemá preambulu."
-#: src/Buffer.cpp:4297
+#: src/Buffer.cpp:4305
msgid "Autosaving current document..."
-msgstr "Automatické ukladanie súÄasného dokumentuâ¦"
+msgstr "Automatické ukladanie súÄasného dokumentaâ¦"
#: src/Buffer.cpp:4419
#, c-format
@@ -27447,7 +27463,7 @@ msgstr "Nemôžem exportovať súbor"
msgid "File name error"
msgstr "Chyba v názve súboru"
-#: src/Buffer.cpp:4494
+#: src/Buffer.cpp:4505
#, c-format
msgid ""
"The directory path to the document\n"
@@ -27455,14 +27471,14 @@ msgid ""
"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 ""
-"Cesta do adresára dokumentu\n"
+"Cesta do adresára dokumenta\n"
"%1$s\n"
"obsahuje medzery, ale vaša inštalácia TeXu to nepovoľuje. Súbor by ste mali "
"uložiť do adresára ktorého meno neobsahuje medzery."
-#: src/Buffer.cpp:4583 src/Buffer.cpp:4613 src/frontends/qt/GuiView.cpp:752
+#: src/Buffer.cpp:4594 src/Buffer.cpp:4624 src/frontends/qt/GuiView.cpp:875
msgid "Document export cancelled."
-msgstr "Exportovanie dokumentu bolo zrušené."
+msgstr "Exportovanie dokumenta bolo zrušené."
#: src/Buffer.cpp:4616
#, c-format
@@ -27474,14 +27490,14 @@ msgstr "Dokument exportovaný ako %1$s do súboru `%2$s'"
msgid "Document exported as %1$s"
msgstr "Dokument exportovaný ako %1$s"
-#: src/Buffer.cpp:4692
+#: src/Buffer.cpp:4703
#, c-format
msgid ""
"An emergency save of the document %1$s exists.\n"
"\n"
"Recover emergency save?"
msgstr ""
-"Existuje havarijná kópia dokumentu %1$s.\n"
+"Existuje havarijná kópia dokumenta %1$s.\n"
"\n"
"ZÃskaÅ¥ havarijnú kópiu späť?"
@@ -27501,14 +27517,14 @@ msgstr "&Nahrať Pôvodné"
msgid "&Only show difference"
msgstr "Ukáž len &rozdiely"
-#: src/Buffer.cpp:4707
+#: src/Buffer.cpp:4718
#, 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 ""
"Havarijný súbor úspeÅ¡ne naÄÃtaný, ale originálny súbor %1$s je oznaÄený len "
-"na ÄÃtanie. Zaistite prosÃm uloženie dokumentu ako iný súbor."
+"na ÄÃtanie. Zaistite prosÃm uloženie dokumenta ako iný súbor."
#: src/Buffer.cpp:4714
msgid "Document was successfully recovered."
@@ -27574,14 +27590,14 @@ msgstr ""
"Havarijný súbor premenovaný na:\n"
" %1$s"
-#: src/Buffer.cpp:4787
+#: src/Buffer.cpp:4814
#, c-format
msgid ""
"The backup of the document %1$s is newer.\n"
"\n"
"Load the backup instead?"
msgstr ""
-"Záloha dokumentu %1$s je novšia.\n"
+"Záloha dokumenta %1$s je novšia.\n"
"\n"
"Nahrať radšej zálohu ?"
@@ -27597,14 +27613,14 @@ msgstr "&Nahrať zálohu"
msgid "Load &original"
msgstr "Nahrať &pôvodné"
-#: src/Buffer.cpp:4800
+#: src/Buffer.cpp:4827
#, 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 ""
"Zálohový súbor úspeÅ¡ne naÄÃtaný, ale originálny súbor %1$s je oznaÄený len "
-"na ÄÃtanie. Zaistite prosÃm uloženie dokumentu ako iný súbor."
+"na ÄÃtanie. Zaistite prosÃm uloženie dokumenta ako iný súbor."
#: src/Buffer.cpp:5195 src/insets/InsetCaption.cpp:408
msgid "Senseless!!! "
@@ -27700,7 +27716,7 @@ msgstr ""
"LaTeX balÃk undertilde použiÅ¥ len v prÃpade, keÄ sa vo formulách nájdu aj "
"dekorácie 'utilde'"
-#: src/BufferParams.cpp:753
+#: src/BufferParams.cpp:784
#, c-format
msgid ""
"The selected document class\n"
@@ -27713,7 +27729,7 @@ msgid ""
"See section 3.1.2.2 (Class Availability) of the\n"
"User's Guide for more information."
msgstr ""
-"Vybraná trieda dokumentu\n"
+"Vybraná trieda dokumenta\n"
"\t%1$s\n"
"požaduje nedostupné externé súbory.\n"
"Dokumentová trieda sa stále dá použÃvaÅ¥, ale LyX\n"
@@ -27723,9 +27739,9 @@ msgstr ""
"Pozrite na sekciu 3.1.2.2 (Dostupné triedy) UžÃvateľskej prÃruÄky pre\n"
"viac informáciÃ."
-#: src/BufferParams.cpp:762
+#: src/BufferParams.cpp:793
msgid "Document class not available"
-msgstr "Nedostupná trieda dokumentu"
+msgstr "Nedostupná trieda dokumenta"
#: src/BufferParams.cpp:1059 src/Color.cpp:281
#: src/frontends/qt/GuiDocument.cpp:3527
@@ -27751,11 +27767,34 @@ msgstr "LyX varovanie: "
msgid "uncodable character"
msgstr "Nekódovateľný znak"
+#: src/BufferParams.cpp:1732
+msgid "Uncodable character in document metadata"
+msgstr "Nekódovateľný znak v metaúdajoch dokumenta"
+
+#: src/BufferParams.cpp:1734
+#, c-format
+msgid ""
+"The metadata 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 ""
+"Metaúdaje vášho dokumenta obsahuje glyfy, ktoré sú neznáme v kódovanà "
+"aktuálneho dokumenta (menovite %1$s).\n"
+"Tieto glyfy budú pri exporte do LaTeX-u vynechané, Äo môže konÄiÅ¥ neúplnom "
+"výstupe.\n"
+"\n"
+"Vyberte vhodné kódovanie dokumenta (napr. utf8)\n"
+"alebo zmeÅte primerane preambulu."
+
#: src/BufferParams.cpp:1775
msgid "Uncodable character in class options"
msgstr "Nekódovateľné znaky vo voľbách triedy"
-#: src/BufferParams.cpp:1777
+#: src/BufferParams.cpp:1888
#, c-format
msgid ""
"The class options of your document contain glyphs that are unknown in the "
@@ -27766,18 +27805,18 @@ msgid ""
"Please select an appropriate document encoding\n"
"(such as utf8) or change the class options accordingly."
msgstr ""
-"Voľby triedy vášho dokumentu obsahuje glyfy, ktoré sú neznáme v kódovanà "
-"aktuálneho dokumentu (menovite %1$s).\n"
+"Voľby triedy vášho dokumenta obsahujú glyfy, ktoré sú neznáme v kódovanà "
+"aktuálneho dokumenta (menovite %1$s).\n"
"Tieto glyfy budú vo výstupe vynechané, Äo môže konÄiÅ¥ v neúplnom výstupe.\n"
"\n"
-"Vyberte vhodné kódovanie dokumentu (napr. utf8)\n"
+"Vyberte vhodné kódovanie dokumenta (napr. utf8)\n"
"alebo zmeÅte primerane triedne voľby."
#: src/BufferParams.cpp:2217
msgid "Uncodable character in user preamble"
msgstr "Nekódovateľný znak v preambule použÃvateľa"
-#: src/BufferParams.cpp:2219
+#: src/BufferParams.cpp:2331
#, c-format
msgid ""
"The user preamble of your document contains glyphs that are unknown in the "
@@ -27788,12 +27827,12 @@ msgid ""
"Please select an appropriate document encoding\n"
"(such as utf8) or change the preamble code accordingly."
msgstr ""
-"Preambula vášho dokumentu obsahuje glyfy, ktoré sú neznáme v kódovanà "
-"aktuálneho dokumentu (menovite %1$s).\n"
+"Preambula vášho dokumenta obsahuje glyfy, ktoré sú neznáme v kódovanà "
+"aktuálneho dokumenta (menovite %1$s).\n"
"Tieto glyfy budú pri exporte do LaTeX-u vynechané, Äo môže konÄiÅ¥ neúplnom "
"výstupe.\n"
"\n"
-"Vyberte vhodné kódovanie dokumentu (napr. utf8)\n"
+"Vyberte vhodné kódovanie dokumenta (napr. utf8)\n"
"alebo zmeÅte primerane preambulu."
#: src/BufferParams.cpp:2534
@@ -27811,9 +27850,9 @@ msgstr ""
"trieda a schéma. LyX nebude schopný zrobiť\n"
"správny výstup."
-#: src/BufferParams.cpp:2540
+#: src/BufferParams.cpp:2652
msgid "Document class not found"
-msgstr "Nenájdená trieda dokumentu"
+msgstr "Nenájdená trieda dokumenta"
#: src/BufferParams.cpp:2547
#, c-format
@@ -27846,7 +27885,7 @@ msgstr "Chyba pri ÄÃtanÃ"
msgid "No bibliography processor found!"
msgstr "Nenašiel sa žiadny procesor pre bibliografiu!"
-#: src/BufferParams.cpp:3653
+#: src/BufferParams.cpp:3728
#, c-format
msgid ""
"The bibliography processor requested by this document (%1$s) is not "
@@ -27854,7 +27893,7 @@ msgid ""
"references will be generated.\n"
"Please fix your installation!"
msgstr ""
-"Žiadaný procesor pre bibliografiu tohto dokumentu (%1$s) je nedostupný a "
+"Žiadaný procesor pre bibliografiu tohto dokumenta (%1$s) je nedostupný a "
"alternatÃva sa nenaÅ¡la. Bibliografia a referencie nebudú generované.\n"
"Opravte prosÃm vaÅ¡u inÅ¡taláciu!"
@@ -27862,7 +27901,7 @@ msgstr ""
msgid "Requested bibliography processor not found!"
msgstr "Žiadaný procesor pre bibliografiu nenájdený!"
-#: src/BufferParams.cpp:3663
+#: src/BufferParams.cpp:3738
#, c-format
msgid ""
"The bibliography processor requested by this document (%1$s) is not "
@@ -27871,7 +27910,7 @@ msgid ""
"carefully!\n"
"It is suggested to install the missing processor."
msgstr ""
-"Žiadaný procesor pre bibliografiu tohto dokumentu (%1$s) je nedostupný. Ako "
+"Žiadaný procesor pre bibliografiu tohto dokumenta (%1$s) je nedostupný. Ako "
"náhrada sa bude použÃvaÅ¥ '%2$s' bez volieb. To môže viesÅ¥ k chybám alebo "
"nežiadúcim zmenám v bibliografie. Pozorne skontrolujte!\n"
"Navrhuje sa inÅ¡talovaÅ¥ neprÃtomný procesor."
@@ -27896,19 +27935,19 @@ msgstr "Dokument je iba na ÄÃtanie"
msgid "Document has been modified externally"
msgstr "Dokument bol externe upravený"
-#: src/BufferView.cpp:1110
+#: src/BufferView.cpp:1148
msgid "This portion of the document is deleted."
-msgstr "Táto ÄasÅ¥ dokumentu je vymazaná."
+msgstr "Táto ÄasÅ¥ dokumenta je vymazaná."
#: src/BufferView.cpp:1153 src/BufferView.cpp:2212
#: src/frontends/qt/GuiView.cpp:4104 src/frontends/qt/GuiView.cpp:4192
msgid "Absolute filename expected."
msgstr "OÄakáva sa absolútna cesta súboru."
-#: src/BufferView.cpp:1383 src/BufferView.cpp:1415
+#: src/BufferView.cpp:1422 src/BufferView.cpp:1454
#, c-format
msgid "The document class `%1$s' could not be loaded."
-msgstr "Nepodarilo sa nahrať triedu dokumentu `%1$s'."
+msgstr "Nepodarilo sa nahrať triedu dokumenta `%1$s'."
#: src/BufferView.cpp:1441
msgid "No further undo information"
@@ -28079,7 +28118,7 @@ msgstr ""
"ktoré sa v aktuálnom kódovanà %2$s nedajú reprezentovať.\n"
"PrÃsluÅ¡né glyfy budú pri exporte do LaTeX-u vynechané.\n"
"\n"
-"Vyberte vhodné kódovanie dokumentu (napr. utf8)\n"
+"Vyberte vhodné kódovanie dokumenta (napr. utf8)\n"
"alebo zmeÅte pÃsanie iniciál autora."
#: src/Changes.cpp:405
@@ -28102,7 +28141,7 @@ msgstr ""
"ktoré sa v aktuálnom kódovanà %2$s nedajú reprezentovať.\n"
"PrÃsluÅ¡né glyfy budú pri exporte do LaTeX-u vynechané.\n"
"\n"
-"Vyberte vhodné kódovanie dokumentu (napr. utf8)\n"
+"Vyberte vhodné kódovanie dokumenta (napr. utf8)\n"
"alebo zmeÅte pÃsanie mena autora."
#: src/Chktex.cpp:65
@@ -28589,22 +28628,22 @@ msgstr "LaTeX backend potrebuje vaše oprávnenie"
msgid "An external converter requires your authorization"
msgstr "Spúšťanie externého konvertora potrebuje vaše oprávnenie"
-#: src/Converter.cpp:360
+#: src/Converter.cpp:366
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>Chcete aby LaTeX backendy umožÅovali spúšťaÅ¥ externé prÃkazy?</"
-"p><p><b>Povoľte len keÄ dôverujete pôvodu/odosielateľovi tohto LyX dokumentu!"
+"p><p><b>Povoľte len keÄ dôverujete pôvodu/odosielateľovi tohto LyX dokumenta!"
"</b></p> "
-#: src/Converter.cpp:363
+#: src/Converter.cpp:369
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>Chcete tento konvertor spustiÅ¥?</p><p><b>Spustite len keÄ dôverujete "
-"pôvodu/odosielateľovi tohto LyX dokumentu!</b></p> "
+"pôvodu/odosielateľovi tohto LyX dokumenta!</b></p> "
#: src/Converter.cpp:367
msgid "Do ¬ allow"
@@ -28843,7 +28882,7 @@ msgid ""
"Do you want to add it to the document's branch list?"
msgstr ""
"Vlepená vetva %1$s nie je definovaná.\n"
-"Chcete ju uložiť do zoznamu vetiev tohto dokumentu?"
+"Chcete ju uložiť do zoznamu vetiev tohto dokumenta?"
#: src/CutAndPaste.cpp:440
msgid "Unknown branch"
@@ -29486,12 +29525,12 @@ msgstr ""
"Považovať spojené slová ako sú \"kedytedy\" namiesto \"kedy tedy\" ako "
"správne slová?"
-#: src/LyXRC.cpp:3038
+#: src/LyXRC.cpp:3110
msgid ""
"Specify an alternate language. The default is to use the language of the "
"document."
msgstr ""
-"Nastavenie alternatÃvneho jazyka. Implicitne sa použije jazyk dokumentu."
+"Nastavenie alternatÃvneho jazyka. Implicitne sa použije jazyk dokumenta."
#: src/LyXRC.cpp:3046
msgid ""
@@ -29580,13 +29619,13 @@ msgstr ""
"LyX normálne neaktualizuje pozÃciu kurzora, ak ste pohli posuvnÃkom. "
"Nastavte túto voľbu, ak preferujete maÅ¥ pozÃciu kurzora na obrazovke."
-#: src/LyXRC.cpp:3107
+#: src/LyXRC.cpp:3179
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 normálne nepovoľuje skrolovať pod koniec dokumentu. Nastavte túto voľbu, "
+"LyX normálne nepovoľuje skrolovať pod koniec dokumenta. Nastavte túto voľbu, "
"ak preferujete skrolovať koniec až na vrchol obrazovky"
#: src/LyXRC.cpp:3111
@@ -29691,29 +29730,29 @@ msgstr ""
"potrebovaÅ¥ naprÃklad vtedy, keÄ budete chcieÅ¥ pÃsaÅ¥ dokument v SlovenÄine na "
"americkej klávesnici."
-#: src/LyXRC.cpp:3183
+#: src/LyXRC.cpp:3255
msgid ""
"Select if a language switching command is needed at the beginning of the "
"document."
-msgstr "Vyberte, ak je prÃkaz pre zmenu jazyku potrebný na zaÄiatku dokumentu."
+msgstr "Vyberte, ak je prÃkaz pre zmenu jazyku potrebný na zaÄiatku dokumenta."
-#: src/LyXRC.cpp:3187
+#: src/LyXRC.cpp:3259
msgid ""
"Select if a language switching command is needed at the end of the document."
-msgstr "Vyberte, ak je prÃkaz pre zmenu jazyku potrebný na konci dokumentu."
+msgstr "Vyberte, ak je prÃkaz pre zmenu jazyku potrebný na konci dokumenta."
-#: src/LyXRC.cpp:3191
+#: src/LyXRC.cpp:3263
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 prÃkaz pre zmenu z jazyka dokumentu do iného jazyka. Napr. "
+"LaTeX prÃkaz pre zmenu z jazyka dokumenta do iného jazyka. Napr. "
"\\selectlanguage{$$lang}, kde $$lang je nahradené názvom druhého jazyka."
-#: src/LyXRC.cpp:3195
+#: src/LyXRC.cpp:3267
msgid "The LaTeX command for changing back to the language of the document."
-msgstr "LaTeX-ov prÃkaz pre návrat k pôvodnému jazyku dokumentu."
+msgstr "LaTeX-ov prÃkaz pre návrat k pôvodnému jazyku dokumenta."
#: src/LyXRC.cpp:3199
msgid "The LaTeX command for local changing of the language."
@@ -29734,12 +29773,12 @@ msgstr ""
"PrÃkaz LaTeX-u pre naÄÃtanie jazykového balÃka. Napr. "
"\"\\usepackage{babel}\", \"\\usepackage{omega}\"."
-#: src/LyXRC.cpp:3211
+#: src/LyXRC.cpp:3283
msgid ""
"De-select if you don't want babel to be used when the language of the "
"document is the default language."
msgstr ""
-"Zrušte výber ak nechcete použiť babel, ak jazyk dokumentu je prednastavený "
+"Zrušte výber ak nechcete použiť babel, ak jazyk dokumenta je prednastavený "
"jazyk."
#: src/LyXRC.cpp:3215
@@ -29754,12 +29793,12 @@ msgstr "ZruÅ¡te výber keÄ nechcete nahrávaÅ¥ súbory otvorené v poslednom se
msgid "De-select if you don't want LyX to create backup files."
msgstr "Zrušte výber ak nechcete, aby LyX vytváral záložné súbory."
-#: src/LyXRC.cpp:3227
+#: src/LyXRC.cpp:3299
msgid ""
"Select to control the highlighting of words with a language foreign to that "
"of the document."
msgstr ""
-"Vyberte pre kontrolu vyzdvihnutia slov ktoré nie sú v jazyku dokumentu."
+"Vyberte pre kontrolu vyzdvihnutia slov ktoré nie sú v jazyku dokumenta."
#: src/LyXRC.cpp:3235
msgid "The scrolling speed of the mouse wheel."
@@ -29853,13 +29892,13 @@ msgid ""
"Select to have visual bidi cursor movement, unselect for logical movement."
msgstr "Vyberte pre vizuálny/logický pohyb kurzoru v dvojsmernom móde (bidi)."
-#: src/LyXRC.cpp:3318
+#: src/LyXRC.cpp:3390
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 ""
"Definuje Äo by sa malo robiÅ¥ pri zavieranà posledného náhľadu otvoreného "
-"dokumentu. LyX by mal zavrieÅ¥ dokument(yes), skryÅ¥ ho(no), alebo pýtaÅ¥ sa Äo "
+"dokumenta. LyX by mal zavrieÅ¥ dokument(yes), skryÅ¥ ho(no), alebo pýtaÅ¥ sa Äo "
"zrobiť(ask)."
#: src/LyXRC.cpp:3322
@@ -29934,7 +29973,7 @@ msgstr ""
"Cesta, ktorú vám LyX pri voľbe šablóny ponúkne. Prázdnou hodnotou bude "
"nastavený adresár, z ktorého bol LyX spustený."
-#: src/LyXRC.cpp:3383
+#: src/LyXRC.cpp:3455
msgid ""
"Specify those directories which should be prepended to the TEXINPUTS "
"environment variable.\n"
@@ -29942,7 +29981,7 @@ msgid ""
msgstr ""
"UrÄite adresári, ktoré by mali byÅ¥ pridané do premennej TEXINPUTS pred "
"ostatnými adresármi.\n"
-"'.' reprezentuje aktuálny adresár dokumentu. Použite miestny formát pre daný "
+"'.' reprezentuje aktuálny adresár dokumenta. Použite miestny formát pre daný "
"operaÄný systém."
#: src/LyXRC.cpp:3390
@@ -30027,14 +30066,14 @@ msgid ""
"\n"
"Do you want to revert to the older version?"
msgstr ""
-"Návrat k uloženej verzii dokumentu %1$s znamená stratu vÅ¡etkých súÄasných "
+"Návrat k uloženej verzii dokumenta %1$s znamená stratu vÅ¡etkých súÄasných "
"zmien.\n"
"\n"
"Chcete prejsť späť k staršej uloženej verzii ?"
#: src/LyXVC.cpp:309
msgid "Revert to stored version of document?"
-msgstr "Vrátiť sa k uloženej verzii dokumentu?"
+msgstr "Vrátiť sa k uloženej verzii dokumenta?"
#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4241
msgid "&Revert"
@@ -30694,7 +30733,7 @@ msgid ""
"%1$s\n"
"could not be read."
msgstr ""
-"Požadovaná šablóna dokumentu\n"
+"Požadovaná šablóna dokumenta\n"
"%1$s\n"
"sa nedá ÄÃtaÅ¥."
@@ -30832,7 +30871,7 @@ msgstr "Triedny štandard"
#: src/frontends/qt/FloatPlacement.cpp:184
msgid "Document Default"
-msgstr "Štandardné nastavenia dokumentu"
+msgstr "Štandardné nastavenia dokumenta"
#: src/frontends/qt/FloatPlacement.h:38 src/frontends/qt/GuiDocument.cpp:1775
msgid "Float Settings"
@@ -31088,14 +31127,14 @@ msgstr "Nemôžem iterovať viac ako %1$d krát"
msgid "Applied \"%1$s\" to %2$d buffer(s)"
msgstr "\"%1$s\" uplatnené pre %2$d dokument(y)"
-#: src/frontends/qt/GuiApplication.cpp:2183
+#: src/frontends/qt/GuiApplication.cpp:2230
#, c-format
msgid "Document defaults saved in %1$s"
-msgstr "Štandardy dokumentu uložené v %1$s"
+msgstr "Štandardy dokumenta uložené v %1$s"
-#: src/frontends/qt/GuiApplication.cpp:2187
+#: src/frontends/qt/GuiApplication.cpp:2234
msgid "Unable to save document defaults"
-msgstr "Nedajú sa uložiÅ¥ Å¡tandardné definÃcie dokumentu"
+msgstr "Nedajú sa uložiÅ¥ Å¡tandardné definÃcie dokumenta"
#: src/frontends/qt/GuiApplication.cpp:2417
#: src/frontends/qt/GuiApplication.cpp:2432
@@ -31220,7 +31259,7 @@ msgstr ""
#: src/frontends/qt/GuiBibtex.cpp:136 src/frontends/qt/GuiBibtex.cpp:303
msgid "Document Encoding"
-msgstr "Kódovanie dokumentu"
+msgstr "Kódovanie dokumenta"
#: src/frontends/qt/GuiBibtex.cpp:274
msgid "Database"
@@ -31778,9 +31817,9 @@ msgstr "Vyberte Unicode (utf8) kódovanie."
msgid "Use language-dependent traditional encodings."
msgstr "Použiť kódovanie ako pôvodne špecificky odkázané jazykom."
-#: src/frontends/qt/GuiDocument.cpp:993
+#: src/frontends/qt/GuiDocument.cpp:1003
msgid "Select a custom, document-wide encoding."
-msgstr "Vyberte vlastné kódovanie tohto dokumentu."
+msgstr "Vyberte vlastné kódovanie tohto dokumenta."
#: src/frontends/qt/GuiDocument.cpp:1002
msgid "Standard Unicode support by the ``inputenc'' package."
@@ -32051,9 +32090,9 @@ msgid "Input listings parameters below. Enter ? for a list of parameters."
msgstr ""
"Poniže vkladajte parametre pre výpis. Na prehľad parametrov vložte znak '?'."
-#: src/frontends/qt/GuiDocument.cpp:1759
+#: src/frontends/qt/GuiDocument.cpp:1773
msgid "Document Class"
-msgstr "Trieda dokumentu"
+msgstr "Trieda dokumenta"
#: src/frontends/qt/GuiDocument.cpp:1762
msgid "Local Layout"
@@ -32165,7 +32204,7 @@ msgstr "Schémy dokumentov LyX-u (*.layout)"
msgid "Local layout file"
msgstr "Lokálny súbor pre schému"
-#: src/frontends/qt/GuiDocument.cpp:2830
+#: src/frontends/qt/GuiDocument.cpp:2848
msgid ""
"The layout file you have selected is a local layout\n"
"file, not one in the system or user directory.\n"
@@ -32175,7 +32214,7 @@ msgstr ""
"Súbor schémy, ktorý ste zvolili je lokálnym\n"
"súborom, a nie je ani v systémovom ani v užÃvateľskom adresáre.\n"
"Váš dokument bude mať problémy kým súbor schémy\n"
-"nedržÃte v adresáre dokumentu."
+"nedržÃte v adresáre dokumenta."
#: src/frontends/qt/GuiDocument.cpp:2834
msgid "&Set Layout"
@@ -32257,9 +32296,9 @@ msgstr "%1$s, %2$s a %3$s"
msgid "%1$s (unavailable)"
msgstr "%1$s (nedostupný)"
-#: src/frontends/qt/GuiDocument.cpp:3261
+#: src/frontends/qt/GuiDocument.cpp:3276
msgid "Module provided by document class."
-msgstr "Modul poskytnutý triedou dokumentu."
+msgstr "Modul poskytnutý triedou dokumenta."
#: src/frontends/qt/GuiDocument.cpp:3269
#, c-format
@@ -32352,15 +32391,15 @@ msgstr "Nenájdený"
msgid "Assigned master does not include this file"
msgstr "Hlavný dokument nezahrÅuje tento súbor"
-#: src/frontends/qt/GuiDocument.cpp:5005
+#: src/frontends/qt/GuiDocument.cpp:5025
#, c-format
msgid ""
"You must include this file in the document\n"
"'%1$s' in order to use the master document\n"
"feature."
msgstr ""
-"MusÃte zahrnúť tento súbor do dokumentu\n"
-"'%1$s' keÄ chcete použÃvaÅ¥ vlastnosti hlavného dokumentu."
+"MusÃte zahrnúť tento súbor do dokumenta\n"
+"'%1$s' keÄ chcete použÃvaÅ¥ vlastnosti hlavného dokumenta."
#: src/frontends/qt/GuiDocument.cpp:5009
msgid "Could not load master"
@@ -32702,7 +32741,7 @@ msgstr "Äas (Pevný)"
#: src/frontends/qt/GuiInfo.cpp:76
msgid "Document Information"
-msgstr "Informácie dokumentu"
+msgstr "Informácie dokumenta"
#: src/frontends/qt/GuiInfo.cpp:77
msgid "Version Control Information"
@@ -33359,9 +33398,9 @@ msgstr "Klasické"
msgid "Oxygen"
msgstr "Oxygen"
-#: src/frontends/qt/GuiPrefs.cpp:2633
+#: src/frontends/qt/GuiPrefs.cpp:2682
msgid "Document Handling"
-msgstr "Ovládanie dokumentu"
+msgstr "Ovládanie dokumenta"
#: src/frontends/qt/GuiPrefs.cpp:2740
msgid "Control"
@@ -33574,7 +33613,7 @@ msgstr "Kontrola pravopisu vo výbere skonÄila, nenaÅ¡li sa žiadne chyby."
msgid ""
"We reached the end of the document, would you like to continue from the "
"beginning?"
-msgstr "DoÅ¡li sme na koniec dokumentu, chcete pokraÄovaÅ¥ od zaÄiatku?"
+msgstr "DoÅ¡li sme na koniec dokumenta, chcete pokraÄovaÅ¥ od zaÄiatku?"
#: src/frontends/qt/GuiSpellchecker.cpp:560
msgid "Spell checker has no dictionaries."
@@ -34205,7 +34244,7 @@ msgstr "novýsúbor"
msgid "Select LyX document to insert"
msgstr "Vyberte LyX dokument na vloženie"
-#: src/frontends/qt/GuiView.cpp:2802
+#: src/frontends/qt/GuiView.cpp:2997
#, c-format
msgid ""
"It is suggested to save the template in a subdirectory\n"
@@ -34214,7 +34253,7 @@ msgid ""
"Do you want to create it?"
msgstr ""
"Navrhuje sa uložiť šablónu do pod-adresára\n"
-"vhodné pre jazyk dokumentu (%1$s).\n"
+"vhodné pre jazyk dokumenta (%1$s).\n"
"Tento pod-adresár ešte neexistuje.\n"
"Chcete ho vytvoriť?"
@@ -34339,7 +34378,7 @@ msgstr "Premenovať a uložiť ?"
msgid "&Retry"
msgstr "Z&opakuj"
-#: src/frontends/qt/GuiView.cpp:3145
+#: src/frontends/qt/GuiView.cpp:3340
#, c-format
msgid ""
"Last view on document %1$s is being closed.\n"
@@ -34351,7 +34390,7 @@ msgid ""
"To remove this question, set your preference in:\n"
" Tools->Preferences->Look&Feel->UserInterface\n"
msgstr ""
-"Posledný náhľad dokumentu %1$s sa zaviera.\n"
+"Posledný náhľad dokumenta %1$s sa zaviera.\n"
"Chcete ho zavrieť alebo len skryť?\n"
"\n"
"Skryté dokumenty možno zase vidieť cez\n"
@@ -34493,9 +34532,9 @@ msgstr ""
msgid "Export Error"
msgstr "Chyba pri exporte"
-#: src/frontends/qt/GuiView.cpp:3893
+#: src/frontends/qt/GuiView.cpp:4088
msgid "Error cloning the Buffer."
-msgstr "Chyba pri klonovanà pamäte dokumentu."
+msgstr "Chyba pri klonovanà pamäte dokumenta."
#: src/frontends/qt/GuiView.cpp:4044 src/frontends/qt/GuiView.cpp:4064
msgid "Exporting ..."
@@ -34517,23 +34556,23 @@ msgstr "Vyberte súbor na vloženie"
msgid "All Files (*)"
msgstr "Všetky súbory (*)"
-#: src/frontends/qt/GuiView.cpp:4229
+#: src/frontends/qt/GuiView.cpp:4424
#, 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 ""
"Bude to strata aktuálnej verzie. Naozaj sa chcete vrátiť ku uloženej verzii "
-"dokumentu %1$s?"
+"dokumenta %1$s?"
-#: src/frontends/qt/GuiView.cpp:4236
+#: src/frontends/qt/GuiView.cpp:4431
#, c-format
msgid ""
"Any changes will be lost. Are you sure you want to revert to the saved "
"version of the document %1$s?"
msgstr ""
"Všetky zmeny sa stratia. Naozaj sa chcete vrátiť ku pôvodnej verzii "
-"dokumentu %1$s ?"
+"dokumenta %1$s ?"
#: src/frontends/qt/GuiView.cpp:4239
msgid "Revert to saved document?"
@@ -34734,9 +34773,9 @@ msgstr "Aktualizovať [%1$s]|k"
msgid "(No Custom Insets Defined)"
msgstr "(Niet vlastných definovaných vložiek)"
-#: src/frontends/qt/Menus.cpp:1339
+#: src/frontends/qt/Menus.cpp:1355
msgid "(No Document Open)"
-msgstr "(Bez otvoreného dokumentu)"
+msgstr "(Bez otvoreného dokumenta)"
#: src/frontends/qt/Menus.cpp:1348
msgid "Master Document"
@@ -34857,10 +34896,10 @@ msgstr "dynamické"
msgid "static[[Quotes]]"
msgstr "nemenné"
-#: src/frontends/qt/Menus.cpp:1906
+#: src/frontends/qt/Menus.cpp:1965
#, c-format
msgid "Reset to document default (%1$s, %2$s)|o"
-msgstr "Nastaviť na štandard dokumentu (%1$s, %2$s)|o"
+msgstr "Nastaviť na štandard dokumenta (%1$s, %2$s)|o"
#: src/frontends/qt/Menus.cpp:1913
#, c-format
@@ -36599,11 +36638,11 @@ msgstr ""
#: src/lyxfind.cpp:364
msgid "Search reached end of document, continuing from beginning."
-msgstr "Hľadanie doÅ¡lo na koniec dokumentu, pokraÄuje od zaÄiatku."
+msgstr "Hľadanie doÅ¡lo na koniec dokumenta, pokraÄuje od zaÄiatku."
#: src/lyxfind.cpp:365
msgid "Search reached beginning of document, continuing from end."
-msgstr "Hľadanie doÅ¡lo na zaÄiatok dokumentu, pokraÄuje od konca."
+msgstr "Hľadanie doÅ¡lo na zaÄiatok dokumenta, pokraÄuje od konca."
#: src/lyxfind.cpp:657
msgid "String not found in selection."
@@ -37135,7 +37174,7 @@ msgstr ""
#: src/support/lassert.cpp:84
msgid "Buffer Error!"
-msgstr "Chyba v pamäti dokumentu!"
+msgstr "Chyba v pamäti dokumenta!"
#: src/support/lassert.cpp:91
msgid ""
@@ -37237,6 +37276,9 @@ msgstr ""
msgid "Unknown user"
msgstr "Neznámy použÃvateľ"
+#~ msgid "e.g.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
+#~ msgstr "napr.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
+
#~ msgid ""
#~ "If this is checked, an intermediate surface will be used for painting. "
#~ "This may be needed in some cases to have proper display, but breaks "
commit e2adad20e82b42efd146ef9a05079cc80e027fb9
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sun Feb 13 10:28:00 2022 +0100
Small doc addition concerning \DocumentMetadata
diff --git a/lib/doc/UserGuide.lyx b/lib/doc/UserGuide.lyx
index f5d5648..4cf4ce5 100644
--- a/lib/doc/UserGuide.lyx
+++ b/lib/doc/UserGuide.lyx
@@ -8973,14 +8973,12 @@ Verbatim
\end_layout
\begin_layout Verbatim
-
This is Verbatim.
\end_layout
\begin_layout Verbatim
\noindent
\align block
-
The following 2 lines are empty:
\end_layout
@@ -8993,7 +8991,6 @@ The following 2 lines are empty:
\end_layout
\begin_layout Verbatim
-
Almost everything is allowed in Verbatim:"%&$§#~'`
\backslash
}][{|
@@ -9017,7 +9014,6 @@ Verbatim
\end_layout
\begin_layout Verbatim*
-
This is Verbatim*.
\end_layout
@@ -36310,7 +36306,7 @@ Local Layout
\begin_layout Standard
-\change_inserted -712698321 1644657160
+\change_inserted -712698321 1644744249
The
\family sans
Document Metadata
@@ -36328,9 +36324,13 @@ pdfversion=1.7, lang=de-DE
\series default
).
At the point of writing this, the list of options is still rather small
- and not very well documented, but it is expected that in the future, rather
- fundamental PDF properties (such as structure tagging for accessibility
- reasons and different PDF standards such as PDF/A) can be set this way.
+ and not very well documented (look for a file called
+\emph on
+documentmetadata-support.pdf
+\emph default
+), but it is expected that in the future, rather fundamental PDF properties
+ (such as structure tagging for accessibility reasons and different PDF
+ standards such as PDF/A) can be set this way.
\end_layout
\begin_layout Standard
diff --git a/lib/doc/de/UserGuide.lyx b/lib/doc/de/UserGuide.lyx
index 0f1c9b0..b29b96f 100644
--- a/lib/doc/de/UserGuide.lyx
+++ b/lib/doc/de/UserGuide.lyx
@@ -33488,7 +33488,12 @@ pdfversion=1.7, lang=de-DE
\series default
).
Zum Zeitpunkt, als dies hier geschrieben wurde, ist die Liste möglicher
- Optionen noch klein und schlecht dokumentiert.
+ Optionen noch klein und schlecht dokumentiert (suchen Sie nach einer Datei
+ namens
+\emph on
+documentmetadata-support.pdf
+\emph default
+).
Es ist aber zu erwarten, dass zukünftig sehr fundamentale PDF-Eigenschaften
(wie etwa strukturiertes Tagging für barrierefreie Dokumente oder verschiedene
PDF-Standards wie PDF/A) auf diese Weise eingestellt werden können.
commit 777ccce5617aea9b15f27902b9133146eff4e87b
Author: Enrico Forestieri <forenr at lyx.org>
Date: Sun Feb 13 04:57:27 2022 +0100
Fix bug #12466
Amend 109ea2be by reintroducing the command prefix that was
inadvertently removed. The prefix sets the proper environment
for latex.
diff --git a/src/support/ForkedCalls.cpp b/src/support/ForkedCalls.cpp
index e770c4d..b946215 100644
--- a/src/support/ForkedCalls.cpp
+++ b/src/support/ForkedCalls.cpp
@@ -305,6 +305,8 @@ int ForkedCall::generateChild()
if (command_.empty())
return 1;
+ string const prefixed_command = cmd_prefix_ + command_;
+
#if !defined (_WIN32)
// POSIX
@@ -312,8 +314,8 @@ int ForkedCall::generateChild()
// in a contiguous block of memory. The array contains pointers
// to each word.
// Don't forget the terminating `\0' character.
- char const * const c_str = command_.c_str();
- vector<char> vec(c_str, c_str + command_.size() + 1);
+ char const * const c_str = prefixed_command.c_str();
+ vector<char> vec(c_str, c_str + prefixed_command.size() + 1);
// Splitting the command up into an array of words means replacing
// the whitespace between words with '\0'. Life is complicated
@@ -377,7 +379,7 @@ int ForkedCall::generateChild()
if (lyxerr.debugging(Debug::FILES)) {
vector<char *>::iterator ait = argv.begin();
vector<char *>::iterator const aend = argv.end();
- lyxerr << "<command>\n\t" << command_
+ lyxerr << "<command>\n\t" << prefixed_command
<< "\n\tInterpreted as:\n\n";
for (; ait != aend; ++ait)
if (*ait)
commit 2ab548b6f6bfb2bee01f8cc6c8a3dd1561646400
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Feb 12 17:42:13 2022 +0100
Fix tooltip and layout
diff --git a/src/frontends/qt/ui/PDFSupportUi.ui b/src/frontends/qt/ui/PDFSupportUi.ui
index 51a144c..b3ea170 100644
--- a/src/frontends/qt/ui/PDFSupportUi.ui
+++ b/src/frontends/qt/ui/PDFSupportUi.ui
@@ -454,11 +454,11 @@
<attribute name="title">
<string>Additional O&ptions</string>
</attribute>
- <layout class="QGridLayout" name="gridLayout">
+ <layout class="QGridLayout" name="gridLayout_9">
<item row="0" column="0">
<widget class="QGroupBox" name="groupBox_3">
<property name="toolTip">
- <string>Document metadata and PDF settings (as specified in LaTeX 06/2022 and later)</string>
+ <string>Additional hyperref options (comma-separated) to be passed via \hypersetup.</string>
</property>
<property name="title">
<string>Hyperse&tup</string>
commit e937161444cdf29579f06190bd8b6d52172d7c58
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Feb 12 17:41:04 2022 +0100
de.po
diff --git a/po/de.gmo b/po/de.gmo
index fd73b49..b25fa6c 100644
Binary files a/po/de.gmo and b/po/de.gmo differ
diff --git a/po/de.po b/po/de.po
index 077eaef..06508e9 100644
--- a/po/de.po
+++ b/po/de.po
@@ -88,14 +88,14 @@
# type -> Art
# view(er) -> ansehen / Ansicht / Betrachter
# wrap -> umflossenes Gleitobjekt
-# Jürgen Spitzmüller <spitz at lyx.org>, 2009-2021.
+# Jürgen Spitzmüller <spitz at lyx.org>, 2009-2022.
#
msgid ""
msgstr ""
"Project-Id-Version: LyX 2.4git\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2021-12-29 17:56+0100\n"
-"PO-Revision-Date: 2021-12-29 18:00+0100\n"
+"POT-Creation-Date: 2022-02-12 17:36+0100\n"
+"PO-Revision-Date: 2022-02-12 17:40+0100\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"
@@ -470,9 +470,9 @@ msgstr "Wählt einen Stil aus einem lokalen Ordner"
msgid "Add L&ocal..."
msgstr "L&okalen hinzufügen..."
-#: src/frontends/qt/ui/BibtexUi.ui:304 lib/layouts/beamer.layout:518
-#: lib/layouts/beamer.layout:547 lib/layouts/beamer.layout:558
-#: lib/layouts/beamer.layout:586 lib/layouts/beamer.layout:689
+#: src/frontends/qt/ui/BibtexUi.ui:304 lib/layouts/beamer.layout:520
+#: lib/layouts/beamer.layout:549 lib/layouts/beamer.layout:560
+#: lib/layouts/beamer.layout:588 lib/layouts/beamer.layout:691
#: lib/layouts/chessboard.module:31 lib/layouts/chessboard.module:61
#: lib/layouts/chessboard.module:139 lib/layouts/fixme.module:68
#: lib/layouts/fixme.module:103 lib/layouts/fixme.module:146
@@ -565,9 +565,9 @@ msgstr "Art der inneren Box"
#: 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:420 src/frontends/qt/GuiBox.cpp:630
-#: src/frontends/qt/GuiDocument.cpp:124 src/frontends/qt/GuiGraphics.cpp:576
-#: src/frontends/qt/GuiMathMatrix.cpp:33 src/frontends/qt/GuiPrefs.cpp:2328
-#: src/frontends/qt/GuiPrefs.cpp:2351
+#: src/frontends/qt/GuiDocument.cpp:124 src/frontends/qt/GuiGraphics.cpp:582
+#: src/frontends/qt/GuiMathMatrix.cpp:33 src/frontends/qt/GuiPrefs.cpp:2327
+#: src/frontends/qt/GuiPrefs.cpp:2350
msgid "None"
msgstr "Keine"
@@ -668,7 +668,7 @@ msgstr "Dehnen"
#: 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:1552
+#: src/frontends/qt/ui/WrapUi.ui:47 src/frontends/qt/GuiDocument.cpp:1554
#: src/frontends/qt/GuiParagraph.cpp:115 src/frontends/qt/GuiTabular.cpp:1042
msgid "Left"
msgstr "Links"
@@ -681,7 +681,7 @@ msgstr "Zentriert"
#: 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:1554 src/frontends/qt/GuiParagraph.cpp:116
+#: src/frontends/qt/GuiDocument.cpp:1556 src/frontends/qt/GuiParagraph.cpp:116
#: src/frontends/qt/GuiTabular.cpp:1044
msgid "Right"
msgstr "Rechts"
@@ -767,7 +767,7 @@ msgid "Remove the selected branch"
msgstr "Den ausgewählten Zweig entfernen"
#: src/frontends/qt/ui/BranchesUi.ui:74 src/frontends/qt/ui/IndicesUi.ui:165
-#: src/Buffer.cpp:4736 src/Buffer.cpp:4749
+#: src/Buffer.cpp:4733 src/Buffer.cpp:4746
msgid "&Remove"
msgstr "&Entfernen"
@@ -842,17 +842,17 @@ msgid "Add A&ll"
msgstr "A&lle hinzufügen"
#: src/frontends/qt/ui/BranchesUnknownUi.ui:58 src/Buffer.cpp:1458
-#: src/Buffer.cpp:4710 src/Buffer.cpp:4820 src/LyXVC.cpp:114 src/LyXVC.cpp:310
+#: src/Buffer.cpp:4707 src/Buffer.cpp:4817 src/LyXVC.cpp:114 src/LyXVC.cpp:310
#: src/buffer_funcs.cpp:56 src/frontends/qt/GuiBranches.cpp:226
-#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2844
-#: src/frontends/qt/GuiParagraph.cpp:177 src/frontends/qt/GuiPrefs.cpp:3415
-#: src/frontends/qt/GuiView.cpp:2838 src/frontends/qt/GuiView.cpp:3070
-#: src/frontends/qt/GuiView.cpp:3094 src/frontends/qt/GuiView.cpp:3108
-#: src/frontends/qt/GuiView.cpp:3210 src/frontends/qt/GuiView.cpp:3255
-#: src/frontends/qt/GuiView.cpp:3310 src/frontends/qt/GuiView.cpp:3544
-#: src/frontends/qt/GuiView.cpp:3558 src/frontends/qt/GuiView.cpp:3660
-#: src/frontends/qt/GuiView.cpp:3685 src/frontends/qt/GuiView.cpp:4389
-#: src/frontends/qt/GuiView.cpp:4396 src/insets/InsetBibtex.cpp:153
+#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2852
+#: src/frontends/qt/GuiParagraph.cpp:177 src/frontends/qt/GuiPrefs.cpp:3414
+#: src/frontends/qt/GuiView.cpp:2875 src/frontends/qt/GuiView.cpp:3107
+#: src/frontends/qt/GuiView.cpp:3131 src/frontends/qt/GuiView.cpp:3145
+#: src/frontends/qt/GuiView.cpp:3247 src/frontends/qt/GuiView.cpp:3292
+#: src/frontends/qt/GuiView.cpp:3347 src/frontends/qt/GuiView.cpp:3581
+#: src/frontends/qt/GuiView.cpp:3595 src/frontends/qt/GuiView.cpp:3697
+#: src/frontends/qt/GuiView.cpp:3722 src/frontends/qt/GuiView.cpp:4426
+#: src/frontends/qt/GuiView.cpp:4433 src/insets/InsetBibtex.cpp:153
msgid "&Cancel"
msgstr "&Abbrechen"
@@ -865,7 +865,7 @@ msgstr "Nicht definierte Zweige, die in diesem Dokument verwendet werden."
msgid "&Undefined Branches:"
msgstr "&Undefinierte Zweige:"
-#: src/frontends/qt/ui/BulletsUi.ui:17 src/frontends/qt/ui/PDFSupportUi.ui:421
+#: src/frontends/qt/ui/BulletsUi.ui:17 src/frontends/qt/ui/PDFSupportUi.ui:406
msgid "&Level:"
msgstr "&Ebene:"
@@ -893,17 +893,17 @@ msgstr "&GröÃe:"
#: src/frontends/qt/GuiDocument.cpp:120 src/frontends/qt/GuiDocument.cpp:866
#: src/frontends/qt/GuiDocument.cpp:886 src/frontends/qt/GuiDocument.cpp:1058
#: src/frontends/qt/GuiDocument.cpp:1143 src/frontends/qt/GuiDocument.cpp:1189
-#: src/frontends/qt/GuiDocument.cpp:1200 src/frontends/qt/GuiDocument.cpp:1428
-#: src/frontends/qt/GuiDocument.cpp:1546 src/frontends/qt/GuiDocument.cpp:1553
-#: src/frontends/qt/GuiDocument.cpp:2586 src/frontends/qt/GuiDocument.cpp:2673
-#: src/frontends/qt/GuiDocument.cpp:2674 src/frontends/qt/GuiDocument.cpp:2675
-#: src/frontends/qt/GuiDocument.cpp:2695 src/frontends/qt/GuiDocument.cpp:2702
-#: src/frontends/qt/GuiDocument.cpp:2709 src/frontends/qt/GuiDocument.cpp:2799
-#: src/frontends/qt/GuiDocument.cpp:3405 src/frontends/qt/GuiDocument.cpp:4890
+#: src/frontends/qt/GuiDocument.cpp:1200 src/frontends/qt/GuiDocument.cpp:1430
+#: src/frontends/qt/GuiDocument.cpp:1548 src/frontends/qt/GuiDocument.cpp:1555
+#: src/frontends/qt/GuiDocument.cpp:2590 src/frontends/qt/GuiDocument.cpp:2677
+#: src/frontends/qt/GuiDocument.cpp:2678 src/frontends/qt/GuiDocument.cpp:2679
+#: src/frontends/qt/GuiDocument.cpp:2703 src/frontends/qt/GuiDocument.cpp:2710
+#: src/frontends/qt/GuiDocument.cpp:2717 src/frontends/qt/GuiDocument.cpp:2807
+#: src/frontends/qt/GuiDocument.cpp:3413 src/frontends/qt/GuiDocument.cpp:4908
#: src/frontends/qt/GuiExternal.cpp:76 src/frontends/qt/GuiGraphics.cpp:71
#: src/frontends/qt/GuiIndices.cpp:58 src/frontends/qt/GuiListings.cpp:160
-#: src/frontends/qt/GuiListings.cpp:167 src/frontends/qt/GuiPrefs.cpp:2484
-#: src/frontends/qt/GuiPrefs.cpp:2630 src/frontends/qt/GuiPrintNomencl.cpp:47
+#: src/frontends/qt/GuiListings.cpp:167 src/frontends/qt/GuiPrefs.cpp:2483
+#: src/frontends/qt/GuiPrefs.cpp:2629 src/frontends/qt/GuiPrintNomencl.cpp:47
#: src/frontends/qt/GuiTabularCreate.cpp:107
#: src/frontends/qt/GuiViewSource.cpp:341
msgid "Default"
@@ -1096,8 +1096,8 @@ msgstr "S&prache:"
#: lib/layouts/bicaption.module:16 lib/layouts/europasscv.layout:440
#: lib/layouts/europasscv.layout:475 lib/layouts/europasscv.layout:482
#: lib/layouts/europecv.layout:321 lib/layouts/europecv.layout:327
-#: lib/layouts/moderncv.layout:580 src/frontends/qt/GuiDocument.cpp:1777
-#: src/frontends/qt/GuiPrefs.cpp:2431 src/frontends/qt/Menus.cpp:938
+#: lib/layouts/moderncv.layout:580 src/frontends/qt/GuiDocument.cpp:1781
+#: src/frontends/qt/GuiPrefs.cpp:2430 src/frontends/qt/Menus.cpp:938
msgid "Language"
msgstr "Sprache"
@@ -1290,7 +1290,7 @@ msgid "Greyed-out notes:"
msgstr "Grauschrift-Notizen:"
#: src/frontends/qt/ui/ColorUi.ui:118 src/frontends/qt/ui/ColorUi.ui:256
-#: src/frontends/qt/GuiDocument.cpp:2215 src/frontends/qt/GuiDocument.cpp:2245
+#: src/frontends/qt/GuiDocument.cpp:2219 src/frontends/qt/GuiDocument.cpp:2249
msgid "&Change..."
msgstr "&Ãnderung..."
@@ -1413,7 +1413,7 @@ msgstr ""
msgid "&Workarea only"
msgstr "&Nur im Arbeitsbereich"
-#: src/frontends/qt/ui/DelimiterUi.ui:122 src/frontends/qt/GuiDelimiter.cpp:375
+#: src/frontends/qt/ui/DelimiterUi.ui:122 src/frontends/qt/GuiDelimiter.cpp:376
msgid "TeX Code: "
msgstr "TeX-Code: "
@@ -1455,7 +1455,7 @@ msgstr ""
msgid "Save as Document Defaults"
msgstr "Als Dokument-Voreinstellung speichern"
-#: src/frontends/qt/ui/ERTUi.ui:38 src/frontends/qt/GuiPrefs.cpp:1319
+#: src/frontends/qt/ui/ERTUi.ui:38 src/frontends/qt/GuiPrefs.cpp:1323
msgid "Display"
msgstr "Anzeige"
@@ -1610,12 +1610,12 @@ msgid "Scale"
msgstr "GröÃe"
#: src/frontends/qt/ui/ExternalUi.ui:494 src/frontends/qt/ui/GraphicsUi.ui:153
-#: src/frontends/qt/GuiGraphics.cpp:476
+#: src/frontends/qt/GuiGraphics.cpp:482
msgid "Height of image in output"
msgstr "Höhe des Bilds bei der Ausgabe"
#: src/frontends/qt/ui/ExternalUi.ui:504 src/frontends/qt/ui/GraphicsUi.ui:121
-#: src/frontends/qt/GuiGraphics.cpp:475
+#: src/frontends/qt/GuiGraphics.cpp:481
msgid "Width of image in output"
msgstr "Breite des Bilds bei der Ausgabe"
@@ -2104,7 +2104,7 @@ msgstr ""
"Legt die Höhe der Grafik fest. Falls nicht ausgewählt, wird die Höhe "
"automatisch bestimmt."
-#: src/frontends/qt/ui/GraphicsUi.ui:166 src/frontends/qt/GuiGraphics.cpp:474
+#: src/frontends/qt/ui/GraphicsUi.ui:166 src/frontends/qt/GuiGraphics.cpp:480
msgid "Set &height:"
msgstr "&Höhe festlegen:"
@@ -2118,7 +2118,7 @@ msgstr ""
"Legt die Breite der Grafik fest. Falls nicht ausgewählt, wird die Breite "
"automatisch bestimmt."
-#: src/frontends/qt/ui/GraphicsUi.ui:186 src/frontends/qt/GuiGraphics.cpp:473
+#: src/frontends/qt/ui/GraphicsUi.ui:186 src/frontends/qt/GuiGraphics.cpp:479
msgid "Set &width:"
msgstr "&Breite festlegen:"
@@ -2312,8 +2312,8 @@ msgstr "Den Abstand auch nach einem Zeilenumbruch einfügen"
#: lib/layouts/acmart.layout:694 lib/layouts/acmart.layout:712
#: lib/layouts/amsdefs.inc:190 lib/layouts/maa-monthly.layout:165
#: lib/layouts/maa-monthly.layout:169 lib/layouts/minimalistic.module:27
-#: lib/layouts/scrlttr2.layout:271 lib/layouts/stdinsets.inc:578
-#: lib/layouts/stdinsets.inc:581
+#: lib/layouts/scrlttr2.layout:271 lib/layouts/stdinsets.inc:579
+#: lib/layouts/stdinsets.inc:582
msgid "URL"
msgstr "URL"
@@ -2747,10 +2747,10 @@ msgid "&Syntax Highlighting Package:"
msgstr "&Paket zur Code-Hervorhebung:"
#: 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:392
-#: lib/layouts/stdinsets.inc:398 src/insets/InsetCaption.cpp:410
-#: src/insets/InsetListings.cpp:611 src/insets/InsetListings.cpp:612
+#: lib/layouts/stdcounters.inc:77 lib/layouts/stdinsets.inc:338
+#: lib/layouts/stdinsets.inc:344 lib/layouts/stdinsets.inc:393
+#: lib/layouts/stdinsets.inc:399 src/insets/InsetCaption.cpp:410
+#: src/insets/InsetListings.cpp:612 src/insets/InsetListings.cpp:613
msgid "Listing"
msgstr "Listing"
@@ -3424,7 +3424,7 @@ msgstr "Bilder"
#: src/frontends/qt/ui/OutputUi.ui:279 lib/layouts/aapaper.layout:63
#: lib/layouts/egs.layout:712 lib/languages:146
-#: src/frontends/qt/GuiDocument.cpp:1607 src/frontends/qt/GuiErrorList.cpp:50
+#: src/frontends/qt/GuiDocument.cpp:1609 src/frontends/qt/GuiErrorList.cpp:50
#: src/frontends/qt/GuiLog.cpp:282 src/frontends/qt/GuiPrefs.cpp:642
msgid "LaTeX"
msgstr "LaTeX"
@@ -3502,108 +3502,126 @@ msgstr ""
msgid "Put fra&gile content out of moving arguments"
msgstr "&Zerbrechlichen Inhalt aus beweglichen Argumenten verschieben"
-#: src/frontends/qt/ui/PDFSupportUi.ui:38
+#: src/frontends/qt/ui/PDFSupportUi.ui:23
msgid "&Use hyperref support"
msgstr "Hyperref-Unterstützung &benutzen"
-#: src/frontends/qt/ui/PDFSupportUi.ui:72
+#: src/frontends/qt/ui/PDFSupportUi.ui:57
msgid "&General"
msgstr "&Allgemein"
-#: src/frontends/qt/ui/PDFSupportUi.ui:119
+#: src/frontends/qt/ui/PDFSupportUi.ui:104
msgid "Header Information"
msgstr "Dokument-Informationen"
-#: src/frontends/qt/ui/PDFSupportUi.ui:134
+#: src/frontends/qt/ui/PDFSupportUi.ui:119
msgid "&Title:"
msgstr "&Titel:"
-#: src/frontends/qt/ui/PDFSupportUi.ui:147
+#: src/frontends/qt/ui/PDFSupportUi.ui:132
msgid "&Author:"
msgstr "&Autor:"
-#: src/frontends/qt/ui/PDFSupportUi.ui:160
+#: src/frontends/qt/ui/PDFSupportUi.ui:145
msgid "Sub&ject:"
msgstr "Th&ema:"
-#: src/frontends/qt/ui/PDFSupportUi.ui:173
+#: src/frontends/qt/ui/PDFSupportUi.ui:158
msgid "&Keywords:"
msgstr "&Schlagwörter:"
-#: src/frontends/qt/ui/PDFSupportUi.ui:206
+#: src/frontends/qt/ui/PDFSupportUi.ui:191
msgid ""
"If not stated explicitly, fill title and author from appropriate environments"
msgstr ""
"Wenn Titel und Autor nicht angegeben sind, versuche diese Angaben aus dem "
"Dokument zu erhalten"
-#: src/frontends/qt/ui/PDFSupportUi.ui:209
+#: src/frontends/qt/ui/PDFSupportUi.ui:194
msgid "Automatically fi&ll header"
msgstr "Informationen a&utomatisch eintragen"
-#: src/frontends/qt/ui/PDFSupportUi.ui:216
+#: src/frontends/qt/ui/PDFSupportUi.ui:201
msgid "Enable fullscreen PDF presentation"
msgstr "Vollbild-PDF-Präsentation zulassen"
-#: src/frontends/qt/ui/PDFSupportUi.ui:219
+#: src/frontends/qt/ui/PDFSupportUi.ui:204
msgid "Load in &fullscreen mode"
msgstr "Im Vollbildmodus ö&ffnen"
-#: src/frontends/qt/ui/PDFSupportUi.ui:229
+#: src/frontends/qt/ui/PDFSupportUi.ui:214
msgid "H&yperlinks"
msgstr "H&yperlinks"
-#: src/frontends/qt/ui/PDFSupportUi.ui:280
+#: src/frontends/qt/ui/PDFSupportUi.ui:265
msgid "Allows link text to break across lines."
msgstr "Erlaubt das Umbrechen von Links am Zeilenende."
-#: src/frontends/qt/ui/PDFSupportUi.ui:283
+#: src/frontends/qt/ui/PDFSupportUi.ui:268
msgid "B&reak links over lines"
msgstr "Links am Zeilenende &umbrechen"
-#: src/frontends/qt/ui/PDFSupportUi.ui:290
+#: src/frontends/qt/ui/PDFSupportUi.ui:275
msgid "No &frames around links"
msgstr "Kein &Rahmen um Links"
-#: src/frontends/qt/ui/PDFSupportUi.ui:300
+#: src/frontends/qt/ui/PDFSupportUi.ui:285
msgid "C&olor links"
msgstr "&Links einfärben"
-#: src/frontends/qt/ui/PDFSupportUi.ui:307
+#: src/frontends/qt/ui/PDFSupportUi.ui:292
msgid "Bibliographical backreferences"
msgstr "Bibliographische Rückverweise"
-#: src/frontends/qt/ui/PDFSupportUi.ui:310
+#: src/frontends/qt/ui/PDFSupportUi.ui:295
msgid "B&ackreferences:"
msgstr "Rück&verweise:"
-#: src/frontends/qt/ui/PDFSupportUi.ui:339
+#: src/frontends/qt/ui/PDFSupportUi.ui:324
msgid "&Bookmarks"
msgstr "&Lesezeichen"
-#: src/frontends/qt/ui/PDFSupportUi.ui:360
+#: src/frontends/qt/ui/PDFSupportUi.ui:345
msgid "G&enerate bookmarks (toc)"
msgstr "L&esezeichen erzeugen (Inhaltsverz.)"
-#: src/frontends/qt/ui/PDFSupportUi.ui:390
+#: src/frontends/qt/ui/PDFSupportUi.ui:375
msgid "&Numbered bookmarks"
msgstr "&Nummerierte Lesezeichen"
-#: src/frontends/qt/ui/PDFSupportUi.ui:397
+#: src/frontends/qt/ui/PDFSupportUi.ui:382
msgid "&Open bookmark tree"
msgstr "Lesezeichen-Strukturbaum ö&ffnen"
-#: src/frontends/qt/ui/PDFSupportUi.ui:431
+#: src/frontends/qt/ui/PDFSupportUi.ui:416
msgid "Number of levels"
msgstr "Anzahl der Lesezeichen Ebenen"
-#: src/frontends/qt/ui/PDFSupportUi.ui:473
+#: src/frontends/qt/ui/PDFSupportUi.ui:455
msgid "Additional O&ptions"
msgstr "Zusätzliche O&ptionen"
-#: src/frontends/qt/ui/PDFSupportUi.ui:509
-msgid "e.g.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
-msgstr "z. B.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
+#: src/frontends/qt/ui/PDFSupportUi.ui:461
+msgid ""
+"Additional hyperref options (comma-separated) to be passed via \\hypersetup."
+msgstr ""
+"Zusätzliche Hyperref-Optionen (durch Komma getrennt). Diese werden via "
+"\\hypersetup übergeben."
+
+#: src/frontends/qt/ui/PDFSupportUi.ui:464
+msgid "Hyperse&tup"
+msgstr "Hyperse&tup"
+
+#: src/frontends/qt/ui/PDFSupportUi.ui:487
+msgid ""
+"Document metadata and PDF settings (as specified in LaTeX 06/2022 and later)"
+msgstr ""
+"Metadaten des Dokuments und PDF-Einstellungen (wie seit LaTeX 06/2022 "
+"spezifiziert)"
+
+#: src/frontends/qt/ui/PDFSupportUi.ui:490
+msgid "Document &Metadata"
+msgstr "&Metadaten des Dokuments"
#: src/frontends/qt/ui/PageLayoutUi.ui:20
msgid "Paper Format"
@@ -3634,7 +3652,7 @@ msgstr "&Querformat"
#: 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:1775
+#: lib/layouts/multicol.module:3 src/frontends/qt/GuiDocument.cpp:1779
msgid "Page Layout"
msgstr "Seitenlayout"
@@ -3681,10 +3699,10 @@ msgstr "Doppelt"
#: src/frontends/qt/GuiDocument.cpp:867 src/frontends/qt/GuiDocument.cpp:873
#: src/frontends/qt/GuiDocument.cpp:881 src/frontends/qt/GuiDocument.cpp:997
#: src/frontends/qt/GuiDocument.cpp:1064 src/frontends/qt/GuiDocument.cpp:1150
-#: src/frontends/qt/GuiDocument.cpp:1201 src/frontends/qt/GuiDocument.cpp:1547
+#: src/frontends/qt/GuiDocument.cpp:1201 src/frontends/qt/GuiDocument.cpp:1549
#: src/frontends/qt/GuiHSpace.cpp:57 src/frontends/qt/GuiPrefs.cpp:816
#: src/frontends/qt/GuiPrefs.cpp:844 src/frontends/qt/GuiPrefs.cpp:871
-#: src/frontends/qt/GuiPrefs.cpp:2330 src/frontends/qt/GuiPrefs.cpp:2353
+#: src/frontends/qt/GuiPrefs.cpp:2329 src/frontends/qt/GuiPrefs.cpp:2352
#: src/frontends/qt/GuiPrintNomencl.cpp:51 src/insets/InsetInfo.cpp:236
#: src/insets/InsetInfo.cpp:246 src/insets/InsetInfo.cpp:250
#: src/insets/InsetInfo.cpp:259 src/insets/InsetInfo.cpp:321
@@ -3939,8 +3957,8 @@ msgid "&Modify"
msgstr "&Ãndern"
#: src/frontends/qt/ui/PrefConvertersUi.ui:286
-#: src/frontends/qt/ui/PrefShortcutsUi.ui:61 src/frontends/qt/GuiPrefs.cpp:3151
-#: src/frontends/qt/GuiPrefs.cpp:3237
+#: src/frontends/qt/ui/PrefShortcutsUi.ui:61 src/frontends/qt/GuiPrefs.cpp:3150
+#: src/frontends/qt/GuiPrefs.cpp:3236
msgid "Remo&ve"
msgstr "&Entfernen"
@@ -4032,17 +4050,6 @@ msgstr ""
msgid "&Underline change tracking additions"
msgstr "Hinzufügungen im Ãnderungsmodus &unterstreichen"
-#: src/frontends/qt/ui/PrefDisplayUi.ui:164
-msgid ""
-"If this is checked, an intermediate surface will be used for painting. This "
-"may be needed in some cases to have proper display, but breaks subpixel "
-"aliasing."
-msgstr ""
-
-#: src/frontends/qt/ui/PrefDisplayUi.ui:167
-msgid "Use &backing store to display text"
-msgstr ""
-
#: src/frontends/qt/ui/PrefDocHandlingUi.ui:26
msgid "Session Handling"
msgstr "Sitzungshandhabung"
@@ -4503,7 +4510,7 @@ msgstr ""
"soll"
#: src/frontends/qt/ui/PrefLanguageUi.ui:77
-#: src/frontends/qt/GuiDocument.cpp:1060 src/frontends/qt/GuiDocument.cpp:2716
+#: src/frontends/qt/GuiDocument.cpp:1060 src/frontends/qt/GuiDocument.cpp:2724
#: src/frontends/qt/GuiPrefs.cpp:815 src/frontends/qt/GuiPrefs.cpp:843
msgid "Automatic"
msgstr "Automatisch"
@@ -6240,8 +6247,8 @@ msgstr "Nur Haupttext"
msgid "Select the output format"
msgstr "Ausgabeformat wählen"
-#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3685
-#: src/frontends/qt/GuiView.cpp:4389
+#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3722
+#: src/frontends/qt/GuiView.cpp:4426
msgid "&Reload"
msgstr "Ne&u laden"
@@ -6778,10 +6785,10 @@ msgstr "Abbildungsanmerkungen"
#: lib/layouts/acmsiggraph-0-92.layout:44 lib/layouts/acmsiggraph.layout:36
#: lib/layouts/agutex.layout:33 lib/layouts/amsart.layout:33
#: lib/layouts/amsbook.layout:34 lib/layouts/apa.layout:26
-#: lib/layouts/apax.inc:22 lib/layouts/beamer.layout:65
-#: lib/layouts/beamer.layout:1209 lib/layouts/beamer.layout:1236
-#: lib/layouts/beamer.layout:1263 lib/layouts/beamer.layout:1388
-#: lib/layouts/beamer.layout:1425 lib/layouts/broadway.layout:179
+#: lib/layouts/apax.inc:22 lib/layouts/beamer.layout:67
+#: lib/layouts/beamer.layout:1211 lib/layouts/beamer.layout:1238
+#: lib/layouts/beamer.layout:1265 lib/layouts/beamer.layout:1390
+#: lib/layouts/beamer.layout:1427 lib/layouts/broadway.layout:179
#: lib/layouts/cl2emult.layout:152 lib/layouts/db_stdclass.inc:17
#: lib/layouts/dtk.layout:33 lib/layouts/egs.layout:20
#: lib/layouts/elsart.layout:51 lib/layouts/elsarticle.layout:36
@@ -6822,7 +6829,7 @@ msgid "Text of a note in a figure"
msgstr "Text einer Abbildungsanmerkung"
#: lib/layouts/AEA.layout:156 lib/layouts/apax.inc:240
-#: lib/layouts/beamer.layout:1437 lib/layouts/powerdot.layout:228
+#: lib/layouts/beamer.layout:1439 lib/layouts/powerdot.layout:228
msgid "Note:"
msgstr "Notiz:"
@@ -6840,7 +6847,7 @@ msgstr "Text einer Tabellenanmerkung"
#: lib/layouts/AEA.layout:180 lib/layouts/IEEEtran.layout:49
#: lib/layouts/acmart.layout:548 lib/layouts/acmart.layout:552
-#: lib/layouts/beamer.layout:1376 lib/layouts/elsart.layout:306
+#: lib/layouts/beamer.layout:1378 lib/layouts/elsart.layout:306
#: lib/layouts/elsart.layout:310 lib/layouts/foils.layout:248
#: lib/layouts/heb-article.layout:28 lib/layouts/ijmpc.layout:421
#: lib/layouts/ijmpd.layout:428 lib/layouts/ijmpd.layout:431
@@ -7025,7 +7032,7 @@ msgid "Conjecture"
msgstr "Vermutung"
#: lib/layouts/AEA.layout:241 lib/layouts/acmart.layout:587
-#: lib/layouts/beamer.layout:1292 lib/layouts/elsart.layout:381
+#: lib/layouts/beamer.layout:1294 lib/layouts/elsart.layout:381
#: lib/layouts/foils.layout:281 lib/layouts/heb-article.layout:66
#: lib/layouts/ijmpc.layout:442 lib/layouts/ijmpd.layout:457
#: lib/layouts/ijmpd.layout:460 lib/layouts/llncs.layout:353
@@ -7073,7 +7080,7 @@ msgid "Criterion"
msgstr "Kriterium"
#: lib/layouts/AEA.layout:256 lib/layouts/acmart.layout:615
-#: lib/layouts/beamer.layout:1330 lib/layouts/elsart.layout:417
+#: lib/layouts/beamer.layout:1332 lib/layouts/elsart.layout:417
#: lib/layouts/foils.layout:295 lib/layouts/heb-article.layout:86
#: lib/layouts/llncs.layout:367 lib/layouts/siamltex.layout:128
#: lib/layouts/svmono.layout:34 lib/layouts/theorems-ams-bytype.inc:180
@@ -7099,7 +7106,7 @@ msgid "Definition"
msgstr "Definition"
#: lib/layouts/AEA.layout:263 lib/layouts/acmart.layout:629
-#: lib/layouts/beamer.layout:1342 lib/layouts/elsart.layout:442
+#: lib/layouts/beamer.layout:1344 lib/layouts/elsart.layout:442
#: lib/layouts/linguistics.module:18 lib/layouts/llncs.layout:374
#: lib/layouts/svmono.layout:74 lib/layouts/theorems-ams-bytype.inc:207
#: lib/layouts/theorems-ams-bytype.inc:217
@@ -7120,7 +7127,7 @@ msgstr "Definition"
#: lib/layouts/theorems-without-preamble.inc:240
#: lib/layouts/theorems-without-preamble.inc:243 lib/layouts/theorems.inc:204
#: lib/layouts/theorems.inc:213 lib/layouts/theorems.inc:216
-#: src/frontends/qt/GuiDocument.cpp:1354
+#: src/frontends/qt/GuiDocument.cpp:1356
msgid "Example"
msgstr "Beispiel"
@@ -7150,7 +7157,7 @@ msgid "Exercise"
msgstr "Aufgabe"
#: lib/layouts/AEA.layout:277 lib/layouts/acmart.layout:594
-#: lib/layouts/beamer.layout:1364 lib/layouts/elsart.layout:372
+#: lib/layouts/beamer.layout:1366 lib/layouts/elsart.layout:372
#: lib/layouts/foils.layout:274 lib/layouts/heb-article.layout:56
#: lib/layouts/ijmpc.layout:446 lib/layouts/ijmpd.layout:465
#: lib/layouts/ijmpd.layout:468 lib/layouts/llncs.layout:388
@@ -7344,7 +7351,7 @@ msgid "Caption"
msgstr "Legende"
#: lib/layouts/AEA.layout:344 lib/layouts/IEEEtran.layout:448
-#: lib/layouts/beamer.layout:1370 lib/layouts/elsart.layout:342
+#: lib/layouts/beamer.layout:1372 lib/layouts/elsart.layout:342
#: lib/layouts/foils.layout:309 lib/layouts/heb-article.layout:106
#: lib/layouts/ijmpc.layout:399 lib/layouts/ijmpd.layout:405
#: lib/layouts/llncs.layout:408 lib/layouts/siamltex.layout:157
@@ -7397,7 +7404,7 @@ msgstr "IEEE Transactions"
#: 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/apax.inc:21 lib/layouts/beamer.layout:66
#: lib/layouts/broadway.layout:178 lib/layouts/chess.layout:30
#: lib/layouts/cl2emult.layout:151 lib/layouts/db_stdclass.inc:16
#: lib/layouts/dtk.layout:32 lib/layouts/egs.layout:19
@@ -7417,7 +7424,7 @@ msgstr "IEEE Transactions"
#: lib/layouts/scrlttr2.layout:19 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:687 lib/layouts/stdletter.inc:12
+#: lib/layouts/stdinsets.inc:688 lib/layouts/stdletter.inc:12
#: lib/layouts/svcommon.inc:26 lib/layouts/tufte-book.layout:35
#: src/insets/InsetRef.cpp:597
msgid "Standard"
@@ -7429,7 +7436,7 @@ msgstr "Standard"
#: lib/layouts/acmart.layout:145 lib/layouts/acmsiggraph-0-92.layout:165
#: lib/layouts/acmsiggraph.layout:141 lib/layouts/agutex.layout:56
#: lib/layouts/amsdefs.inc:27 lib/layouts/apa.layout:42 lib/layouts/apax.inc:38
-#: lib/layouts/beamer.layout:984 lib/layouts/beamerposter.layout:21
+#: lib/layouts/beamer.layout:986 lib/layouts/beamerposter.layout:21
#: lib/layouts/broadway.layout:192 lib/layouts/cl2emult.layout:41
#: lib/layouts/copernicus.layout:34 lib/layouts/docbook-book.layout:18
#: lib/layouts/docbook-chapter.layout:14 lib/layouts/docbook-section.layout:14
@@ -7472,7 +7479,7 @@ msgstr "Kleinschreibung"
#: lib/layouts/achemso.layout:84 lib/layouts/acmart.layout:81
#: lib/layouts/acmsiggraph-0-92.layout:178 lib/layouts/acmsiggraph.layout:154
#: lib/layouts/amsdefs.inc:57 lib/layouts/apa.layout:139
-#: lib/layouts/apax.inc:80 lib/layouts/beamer.layout:1048
+#: lib/layouts/apax.inc:80 lib/layouts/beamer.layout:1050
#: lib/layouts/beamerposter.layout:31 lib/layouts/broadway.layout:210
#: lib/layouts/cl2emult.layout:63 lib/layouts/copernicus.layout:61
#: lib/layouts/ectaart.layout:131 lib/layouts/ectaart.layout:217
@@ -7494,7 +7501,7 @@ msgstr "Kleinschreibung"
msgid "Author"
msgstr "Autor"
-#: lib/layouts/IEEEtran.layout:129 lib/layouts/beamer.layout:1061
+#: lib/layouts/IEEEtran.layout:129 lib/layouts/beamer.layout:1063
msgid "Short Author|S"
msgstr "Autor (Kurzform)|z"
@@ -7588,7 +7595,7 @@ msgstr "Anhänge"
#: lib/layouts/acmsiggraph.layout:305 lib/layouts/agutex.layout:167
#: lib/layouts/agutex.layout:177 lib/layouts/agutex.layout:197
#: lib/layouts/agutex.layout:223 lib/layouts/amsdefs.inc:266
-#: lib/layouts/apa.layout:244 lib/layouts/beamer.layout:1169
+#: lib/layouts/apa.layout:244 lib/layouts/beamer.layout:1171
#: lib/layouts/copernicus.layout:437 lib/layouts/egs.layout:588
#: lib/layouts/egs.layout:639 lib/layouts/elsarticle.layout:333
#: lib/layouts/europasscv.layout:539 lib/layouts/europecv.layout:380
@@ -7627,7 +7634,7 @@ msgstr "Peer-Review-Titel"
#: lib/layouts/ijmpc.layout:496 lib/layouts/ijmpc.layout:498
#: lib/layouts/ijmpd.layout:520 lib/layouts/ijmpd.layout:522
#: lib/layouts/kluwer.layout:364 lib/layouts/kluwer.layout:377
-#: lib/examples/Articles:0 src/RowPainter.cpp:373
+#: lib/examples/Articles:0 src/RowPainter.cpp:374
msgid "Appendix"
msgstr "Anhang"
@@ -7644,7 +7651,7 @@ msgstr "Kurztitel für den Anhang"
#: lib/layouts/aapaper.layout:234 lib/layouts/aastex.layout:450
#: lib/layouts/aguplus.inc:172 lib/layouts/aguplus.inc:174
#: lib/layouts/agutex.layout:219 lib/layouts/amsbook.layout:121
-#: lib/layouts/amsdefs.inc:265 lib/layouts/beamer.layout:1168
+#: lib/layouts/amsdefs.inc:265 lib/layouts/beamer.layout:1170
#: lib/layouts/book.layout:24 lib/layouts/book.layout:26
#: lib/layouts/cl2emult.layout:115 lib/layouts/copernicus.layout:433
#: lib/layouts/egs.layout:638 lib/layouts/elsarticle.layout:329
@@ -7664,13 +7671,13 @@ msgstr "Kurztitel für den Anhang"
#: lib/layouts/stdstruct.inc:59 lib/layouts/svcommon.inc:657
#: lib/layouts/tufte-book.layout:298 lib/layouts/tufte-book.layout:300
#: lib/layouts/tufte-handout.layout:77 lib/examples/Articles:0
-#: src/frontends/qt/GuiDocument.cpp:1781 src/insets/InsetBibtex.cpp:957
+#: src/frontends/qt/GuiDocument.cpp:1785 src/insets/InsetBibtex.cpp:957
msgid "Bibliography"
msgstr "Literaturverzeichnis"
#: lib/layouts/IEEEtran.layout:389 lib/layouts/aastex.layout:464
#: lib/layouts/aastex.layout:485 lib/layouts/agutex.layout:235
-#: lib/layouts/amsdefs.inc:281 lib/layouts/beamer.layout:1183
+#: lib/layouts/amsdefs.inc:281 lib/layouts/beamer.layout:1185
#: lib/layouts/cl2emult.layout:130 lib/layouts/copernicus.layout:449
#: lib/layouts/egs.layout:654 lib/layouts/elsarticle.layout:345
#: lib/layouts/ijmpc.layout:540 lib/layouts/ijmpd.layout:564
@@ -7687,7 +7694,7 @@ msgstr "Literaturverzeichnis"
#: lib/layouts/IEEEtran.layout:398 lib/layouts/aastex.layout:474
#: lib/layouts/agutex.layout:244 lib/layouts/amsdefs.inc:293
-#: lib/layouts/beamer.layout:1192 lib/layouts/cl2emult.layout:139
+#: lib/layouts/beamer.layout:1194 lib/layouts/cl2emult.layout:139
#: lib/layouts/copernicus.layout:457 lib/layouts/egs.layout:662
#: lib/layouts/elsarticle.layout:354 lib/layouts/ijmpc.layout:549
#: lib/layouts/ijmpd.layout:573 lib/layouts/iopart.layout:346
@@ -7701,7 +7708,7 @@ msgstr "Lit.-Vorspann"
#: lib/layouts/IEEEtran.layout:399 lib/layouts/aastex.layout:475
#: lib/layouts/agutex.layout:245 lib/layouts/amsdefs.inc:294
-#: lib/layouts/beamer.layout:1193 lib/layouts/cl2emult.layout:140
+#: lib/layouts/beamer.layout:1195 lib/layouts/cl2emult.layout:140
#: lib/layouts/copernicus.layout:458 lib/layouts/egs.layout:663
#: lib/layouts/elsarticle.layout:355 lib/layouts/ijmpc.layout:550
#: lib/layouts/ijmpd.layout:574 lib/layouts/iopart.layout:347
@@ -7715,7 +7722,7 @@ msgstr "Literaturverzeichnis-Vorspann"
#: lib/layouts/IEEEtran.layout:400 lib/layouts/aastex.layout:476
#: lib/layouts/agutex.layout:246 lib/layouts/amsdefs.inc:295
-#: lib/layouts/beamer.layout:1194 lib/layouts/cl2emult.layout:141
+#: lib/layouts/beamer.layout:1196 lib/layouts/cl2emult.layout:141
#: lib/layouts/copernicus.layout:459 lib/layouts/egs.layout:664
#: lib/layouts/elsarticle.layout:356 lib/layouts/ijmpc.layout:551
#: lib/layouts/ijmpd.layout:575 lib/layouts/iopart.layout:348
@@ -7769,7 +7776,7 @@ msgid "BiographyNoPhoto"
msgstr "Biographie ohne Foto"
#: lib/layouts/IEEEtran.layout:449 lib/layouts/acmart.layout:553
-#: lib/layouts/beamer.layout:1293 lib/layouts/elsart.layout:311
+#: lib/layouts/beamer.layout:1295 lib/layouts/elsart.layout:311
#: lib/layouts/elsart.layout:343 lib/layouts/foils.layout:249
#: lib/layouts/heb-article.layout:29 lib/layouts/heb-article.layout:107
#: lib/layouts/ijmpc.layout:402 lib/layouts/ijmpd.layout:408
@@ -7792,7 +7799,7 @@ msgstr "Beweis (alternativ)"
msgid "An alternative proof string"
msgstr "Eine alternative Bezeichnung für den Beweis"
-#: lib/layouts/IEEEtran.layout:468 lib/layouts/beamer.layout:1373
+#: lib/layouts/IEEEtran.layout:468 lib/layouts/beamer.layout:1375
#: lib/layouts/foils.layout:312 lib/layouts/llncs.layout:411
#: lib/layouts/siamltex.layout:176 lib/layouts/svcommon.inc:748
#: lib/layouts/svmono.layout:103 lib/layouts/svmono.layout:107
@@ -7945,7 +7952,7 @@ msgstr "Astronomy & Astrophysics"
#: lib/layouts/aa.layout:69 lib/layouts/aapaper.inc:9
#: lib/layouts/aapaper.layout:81 lib/layouts/acm-sigs.inc:10
-#: lib/layouts/acmart.layout:160 lib/layouts/beamer.layout:1021
+#: lib/layouts/acmart.layout:160 lib/layouts/beamer.layout:1023
#: lib/layouts/beamerposter.layout:26 lib/layouts/kluwer.layout:136
#: lib/layouts/llncs.layout:135 lib/layouts/scrclass.inc:217
#: lib/layouts/sigplanconf.layout:138 lib/layouts/svcommon.inc:356
@@ -7981,7 +7988,7 @@ msgstr "Danksagungen."
#: lib/layouts/aapaper.layout:139 lib/layouts/aastex.layout:97
#: lib/layouts/aguplus.inc:29 lib/layouts/amsart.layout:66
#: lib/layouts/amsbook.layout:57 lib/layouts/apa.layout:339
-#: lib/layouts/apax.inc:438 lib/layouts/beamer.layout:288
+#: lib/layouts/apax.inc:438 lib/layouts/beamer.layout:290
#: lib/layouts/egs.layout:33 lib/layouts/europasscv.layout:264
#: lib/layouts/europecv.layout:193 lib/layouts/isprs.layout:160
#: lib/layouts/iucr.layout:47 lib/layouts/jss.layout:25
@@ -8004,7 +8011,7 @@ msgstr "Abschnitt"
#: lib/layouts/aapaper.layout:149 lib/layouts/aastex.layout:110
#: lib/layouts/aguplus.inc:44 lib/layouts/amsart.layout:107
#: lib/layouts/amsbook.layout:67 lib/layouts/apa.layout:350
-#: lib/layouts/apax.inc:449 lib/layouts/beamer.layout:350
+#: lib/layouts/apax.inc:449 lib/layouts/beamer.layout:352
#: lib/layouts/egs.layout:56 lib/layouts/isprs.layout:172
#: lib/layouts/iucr.layout:53 lib/layouts/jss.layout:29
#: lib/layouts/kluwer.layout:72 lib/layouts/latex8.layout:59
@@ -8022,7 +8029,7 @@ msgstr "Unterabschnitt"
#: lib/layouts/aapaper.layout:161 lib/layouts/aastex.layout:123
#: lib/layouts/amsart.layout:130 lib/layouts/amsbook.layout:76
#: lib/layouts/apa.layout:360 lib/layouts/apax.inc:459
-#: lib/layouts/beamer.layout:412 lib/layouts/isprs.layout:182
+#: lib/layouts/beamer.layout:414 lib/layouts/isprs.layout:182
#: lib/layouts/iucr.layout:61 lib/layouts/jss.layout:33
#: lib/layouts/kluwer.layout:82 lib/layouts/llncs.layout:67
#: lib/layouts/ltugboat.layout:90 lib/layouts/memoir.layout:129
@@ -8038,7 +8045,7 @@ msgstr "Unterunterabschnitt"
#: lib/layouts/aa.layout:253 lib/layouts/aapaper.layout:99
#: lib/layouts/aapaper.layout:202 lib/layouts/aastex.layout:265
#: lib/layouts/acmart.layout:133 lib/layouts/amsdefs.inc:82
-#: lib/layouts/beamer.layout:1120 lib/layouts/beamerposter.layout:41
+#: lib/layouts/beamer.layout:1122 lib/layouts/beamerposter.layout:41
#: lib/layouts/dinbrief.layout:218 lib/layouts/egs.layout:550
#: lib/layouts/foils.layout:169 lib/layouts/frletter.layout:24
#: lib/layouts/g-brief.layout:199 lib/layouts/g-brief2.layout:54
@@ -8058,7 +8065,7 @@ msgstr "Datum"
msgid "institutemark"
msgstr "InstitutsfuÃnotenmarke"
-#: lib/layouts/aa.layout:273 lib/layouts/beamer.layout:1103
+#: lib/layouts/aa.layout:273 lib/layouts/beamer.layout:1105
msgid "Institute Mark"
msgstr "Institutsmarke"
@@ -8110,7 +8117,7 @@ msgstr "Ergebnisse Ihrer Arbeit"
msgid "Key words."
msgstr "Schlagwörter."
-#: lib/layouts/aa.layout:395 lib/layouts/beamer.layout:1076
+#: lib/layouts/aa.layout:395 lib/layouts/beamer.layout:1078
#: lib/layouts/beamerposter.layout:36 lib/layouts/cl2emult.layout:81
#: lib/layouts/llncs.layout:231 lib/layouts/sciposter.layout:24
#: lib/layouts/svcommon.inc:384
@@ -8161,20 +8168,20 @@ msgid "Obsolete"
msgstr "Veraltet"
#: lib/layouts/aapaper.layout:50 lib/layouts/apa.layout:391
-#: lib/layouts/apax.inc:490 lib/layouts/beamer.layout:82
+#: lib/layouts/apax.inc:490 lib/layouts/beamer.layout:84
#: lib/layouts/egs.layout:203 lib/layouts/powerdot.layout:264
#: lib/layouts/simplecv.layout:108 lib/layouts/stdlists.inc:13
msgid "Itemize"
msgstr "Auflistung"
#: lib/layouts/aapaper.layout:53 lib/layouts/apa.layout:427
-#: lib/layouts/apax.inc:527 lib/layouts/beamer.layout:131
+#: lib/layouts/apax.inc:527 lib/layouts/beamer.layout:133
#: lib/layouts/egs.layout:166 lib/layouts/powerdot.layout:326
#: lib/layouts/stdlists.inc:52
msgid "Enumerate"
msgstr "Aufzählung"
-#: lib/layouts/aapaper.layout:56 lib/layouts/beamer.layout:186
+#: lib/layouts/aapaper.layout:56 lib/layouts/beamer.layout:188
#: lib/layouts/egs.layout:239 lib/layouts/hollywood.layout:130
#: lib/layouts/paper.layout:110 lib/layouts/scrclass.inc:55
#: lib/layouts/scrlettr.layout:21 lib/layouts/scrlttr2.layout:33
@@ -8186,8 +8193,8 @@ msgstr "Beschreibung"
#: lib/layouts/aapaper.layout:59 lib/layouts/algorithm2e.module:34
#: lib/layouts/apa.layout:392 lib/layouts/apa.layout:428
#: lib/layouts/apa.layout:466 lib/layouts/apax.inc:491 lib/layouts/apax.inc:528
-#: lib/layouts/apax.inc:566 lib/layouts/beamer.layout:83
-#: lib/layouts/beamer.layout:132 lib/layouts/beamer.layout:187
+#: lib/layouts/apax.inc:566 lib/layouts/beamer.layout:85
+#: lib/layouts/beamer.layout:134 lib/layouts/beamer.layout:189
#: lib/layouts/egs.layout:139 lib/layouts/egs.layout:167
#: lib/layouts/egs.layout:204 lib/layouts/enumitem.module:88
#: lib/layouts/europasscv.layout:400 lib/layouts/foils.layout:87
@@ -8238,9 +8245,9 @@ msgstr "Alternative Zugehörigkeit:"
msgid "And"
msgstr "Und"
-#: lib/layouts/aastex.layout:256 src/frontends/qt/GuiDocument.cpp:3144
-#: src/frontends/qt/GuiDocument.cpp:3156 src/frontends/qt/GuiDocument.cpp:3282
-#: src/frontends/qt/GuiDocument.cpp:3301
+#: lib/layouts/aastex.layout:256 src/frontends/qt/GuiDocument.cpp:3152
+#: src/frontends/qt/GuiDocument.cpp:3164 src/frontends/qt/GuiDocument.cpp:3290
+#: src/frontends/qt/GuiDocument.cpp:3309
msgid "and"
msgstr "und"
@@ -8490,15 +8497,15 @@ msgstr "American Chemical Society (ACS)"
#: lib/layouts/achemso.layout:75 lib/layouts/amsdefs.inc:41
#: lib/layouts/apa.layout:291 lib/layouts/apax.inc:390
-#: lib/layouts/beamer.layout:260 lib/layouts/beamer.layout:315
-#: lib/layouts/beamer.layout:377 lib/layouts/beamer.layout:439
-#: lib/layouts/beamer.layout:998 lib/layouts/europecv.layout:201
+#: lib/layouts/beamer.layout:262 lib/layouts/beamer.layout:317
+#: lib/layouts/beamer.layout:379 lib/layouts/beamer.layout:441
+#: lib/layouts/beamer.layout:1000 lib/layouts/europecv.layout:201
#: lib/layouts/iopart.layout:67 lib/layouts/jasatex.layout:75
#: lib/layouts/memoir.layout:68 lib/layouts/revtex4-x.inc:245
#: lib/layouts/scrclass.inc:142 lib/layouts/scrclass.inc:155
#: lib/layouts/scrclass.inc:168 lib/layouts/scrclass.inc:324
#: lib/layouts/scrclass.inc:349 lib/layouts/siamltex.layout:206
-#: lib/layouts/simplecv.layout:52 lib/layouts/stdinsets.inc:694
+#: lib/layouts/simplecv.layout:52 lib/layouts/stdinsets.inc:695
#: lib/layouts/stdsections.inc:32 lib/layouts/stdsections.inc:76
#: lib/layouts/stdsections.inc:117 lib/layouts/tufte-book.layout:98
#: lib/layouts/tufte-book.layout:129 lib/layouts/tufte-handout.layout:40
@@ -8961,7 +8968,7 @@ msgstr "Randnotiz (nur sigchi-a)"
msgid "Margin figure (sigchi-a only)"
msgstr "Randabbildung (nur sigchi-a)"
-#: lib/layouts/acmart.layout:526 lib/layouts/beamer.layout:1726
+#: lib/layouts/acmart.layout:526 lib/layouts/beamer.layout:1728
#: lib/layouts/powerdot.layout:577 lib/layouts/sciposter.layout:109
#: lib/layouts/stdfloats.inc:33 lib/layouts/tufte-book.layout:292
msgid "List of Figures"
@@ -8971,7 +8978,7 @@ msgstr "Abbildungsverzeichnis"
msgid "Margin table (sigchi-a only)"
msgstr "Randtabelle (nur sigchi-a)"
-#: lib/layouts/acmart.layout:539 lib/layouts/beamer.layout:1713
+#: lib/layouts/acmart.layout:539 lib/layouts/beamer.layout:1715
#: lib/layouts/powerdot.layout:560 lib/layouts/sciposter.layout:123
#: lib/layouts/stdfloats.inc:18 lib/layouts/tufte-book.layout:276
msgid "List of Tables"
@@ -8984,7 +8991,7 @@ msgstr "Tabellenverzeichnis"
msgid "Definitions & Theorems"
msgstr "Definitionen & Theoreme"
-#: lib/layouts/acmart.layout:562 lib/layouts/beamer.layout:1322
+#: lib/layouts/acmart.layout:562 lib/layouts/beamer.layout:1324
#: lib/layouts/theorems-ams-bytype.inc:40
#: lib/layouts/theorems-ams-chap-bytype.inc:82 lib/layouts/theorems-ams.inc:37
#: lib/layouts/theorems-bytype.inc:35 lib/layouts/theorems-named.module:22
@@ -8992,7 +8999,7 @@ msgstr "Definitionen & Theoreme"
msgid "Additional Theorem Text"
msgstr "Zusätzlicher Theoremtext"
-#: lib/layouts/acmart.layout:563 lib/layouts/beamer.layout:1323
+#: lib/layouts/acmart.layout:563 lib/layouts/beamer.layout:1325
#: lib/layouts/theorems-ams-bytype.inc:41
#: lib/layouts/theorems-ams-chap-bytype.inc:83 lib/layouts/theorems-ams.inc:38
#: lib/layouts/theorems-bytype.inc:36 lib/layouts/theorems-named.module:23
@@ -9289,7 +9296,7 @@ msgid "American Geophysical Union (AGUPLUS Manuscript)"
msgstr "American Geophysical Union (AGUPLUS-Manuskript)"
#: lib/layouts/aguplus.inc:37 lib/layouts/amsart.layout:77
-#: lib/layouts/amsbook.layout:86 lib/layouts/beamer.layout:332
+#: lib/layouts/amsbook.layout:86 lib/layouts/beamer.layout:334
#: lib/layouts/egs.layout:676 lib/layouts/isprs.layout:192
#: lib/layouts/spie.layout:32 lib/layouts/stdstarsections.inc:43
#: lib/layouts/svcommon.inc:278
@@ -9297,7 +9304,7 @@ msgid "Section*"
msgstr "Abschnitt*"
#: lib/layouts/aguplus.inc:52 lib/layouts/amsart.layout:119
-#: lib/layouts/amsbook.layout:95 lib/layouts/beamer.layout:394
+#: lib/layouts/amsbook.layout:95 lib/layouts/beamer.layout:396
#: lib/layouts/egs.layout:696 lib/layouts/isprs.layout:203
#: lib/layouts/stdstarsections.inc:58 lib/layouts/svcommon.inc:286
msgid "Subsection*"
@@ -9414,7 +9421,7 @@ msgstr "Bildtafel"
msgid "Planotable"
msgstr "Plano-Tabelle"
-#: lib/layouts/aguplus.inc:211 lib/layouts/beamer.layout:1708
+#: lib/layouts/aguplus.inc:211 lib/layouts/beamer.layout:1710
#: lib/layouts/powerdot.layout:553 lib/layouts/powerdot.layout:631
#: lib/layouts/sciposter.layout:118 lib/layouts/stdfloats.inc:13
#: lib/ui/stdtoolbars.inc:153 src/insets/Inset.cpp:104
@@ -9492,9 +9499,9 @@ msgstr "Spezialabschnitt"
msgid "SpecialSection*"
msgstr "Spezialabschnitt*"
-#: lib/layouts/amsart.layout:98 lib/layouts/beamer.layout:334
-#: lib/layouts/beamer.layout:396 lib/layouts/beamer.layout:458
-#: lib/layouts/memoir.layout:248 lib/layouts/stdinsets.inc:712
+#: lib/layouts/amsart.layout:98 lib/layouts/beamer.layout:336
+#: lib/layouts/beamer.layout:398 lib/layouts/beamer.layout:460
+#: lib/layouts/memoir.layout:248 lib/layouts/stdinsets.inc:713
#: lib/layouts/stdstarsections.inc:15 lib/layouts/stdstarsections.inc:30
#: lib/layouts/stdstarsections.inc:45 lib/layouts/stdstarsections.inc:60
#: lib/layouts/stdstarsections.inc:75 lib/layouts/stdstarsections.inc:90
@@ -9503,7 +9510,7 @@ msgid "Unnumbered"
msgstr "Unnummeriert"
#: lib/layouts/amsart.layout:140 lib/layouts/amsbook.layout:103
-#: lib/layouts/beamer.layout:456 lib/layouts/isprs.layout:212
+#: lib/layouts/beamer.layout:458 lib/layouts/isprs.layout:212
#: lib/layouts/stdstarsections.inc:73 lib/layouts/svcommon.inc:294
msgid "Subsubsection*"
msgstr "Unterunterabschnitt*"
@@ -9528,8 +9535,8 @@ msgstr "Kapitel-Aufgaben"
#: lib/layouts/amsbook.layout:166 lib/layouts/apa.layout:412
#: lib/layouts/apa.layout:450 lib/layouts/apa.layout:486
#: lib/layouts/apax.inc:512 lib/layouts/apax.inc:550 lib/layouts/apax.inc:586
-#: lib/layouts/beamer.layout:107 lib/layouts/beamer.layout:160
-#: lib/layouts/beamer.layout:203 lib/layouts/beamer.layout:788
+#: lib/layouts/beamer.layout:109 lib/layouts/beamer.layout:162
+#: lib/layouts/beamer.layout:205 lib/layouts/beamer.layout:790
#: lib/layouts/egs.layout:154 lib/layouts/egs.layout:188
#: lib/layouts/egs.layout:224 lib/layouts/egs.layout:259
#: lib/layouts/europasscv.layout:405 lib/layouts/foils.layout:105
@@ -9547,8 +9554,8 @@ msgstr "Listenvorspann"
#: lib/layouts/amsbook.layout:167 lib/layouts/apa.layout:413
#: lib/layouts/apa.layout:451 lib/layouts/apa.layout:487
#: lib/layouts/apax.inc:513 lib/layouts/apax.inc:551 lib/layouts/apax.inc:587
-#: lib/layouts/beamer.layout:108 lib/layouts/beamer.layout:161
-#: lib/layouts/beamer.layout:204 lib/layouts/beamer.layout:789
+#: lib/layouts/beamer.layout:110 lib/layouts/beamer.layout:163
+#: lib/layouts/beamer.layout:206 lib/layouts/beamer.layout:791
#: lib/layouts/egs.layout:155 lib/layouts/egs.layout:189
#: lib/layouts/egs.layout:225 lib/layouts/egs.layout:260
#: lib/layouts/europasscv.layout:406 lib/layouts/foils.layout:106
@@ -9566,8 +9573,8 @@ msgstr "Listenvorspann"
#: lib/layouts/amsbook.layout:168 lib/layouts/apa.layout:414
#: lib/layouts/apa.layout:452 lib/layouts/apa.layout:488
#: lib/layouts/apax.inc:514 lib/layouts/apax.inc:552 lib/layouts/apax.inc:588
-#: lib/layouts/beamer.layout:109 lib/layouts/beamer.layout:162
-#: lib/layouts/beamer.layout:205 lib/layouts/beamer.layout:790
+#: lib/layouts/beamer.layout:111 lib/layouts/beamer.layout:164
+#: lib/layouts/beamer.layout:207 lib/layouts/beamer.layout:792
#: lib/layouts/egs.layout:156 lib/layouts/egs.layout:190
#: lib/layouts/egs.layout:226 lib/layouts/egs.layout:261
#: lib/layouts/europasscv.layout:407 lib/layouts/foils.layout:107
@@ -9714,13 +9721,13 @@ msgid "Centered"
msgstr "Zentriert"
#: lib/layouts/apa.layout:285 lib/layouts/apax.inc:384
-#: lib/layouts/stdinsets.inc:688 src/insets/InsetCaption.cpp:436
+#: lib/layouts/stdinsets.inc:689 src/insets/InsetCaption.cpp:436
msgid "standard"
msgstr "Standard"
#: lib/layouts/apa.layout:292 lib/layouts/apax.inc:391
#: lib/layouts/scrclass.inc:325 lib/layouts/scrclass.inc:350
-#: lib/layouts/stdinsets.inc:695
+#: lib/layouts/stdinsets.inc:696
msgid "The caption as it appears in the list of figures/tables"
msgstr "Die Legende, wie sie im Abbildungs-/Tabellenverzeichnis erscheint"
@@ -9743,7 +9750,7 @@ msgstr "Unterparagraph"
#: lib/layouts/apa.layout:408 lib/layouts/apa.layout:446
#: lib/layouts/apax.inc:508 lib/layouts/apax.inc:546
-#: lib/layouts/beamer.layout:95 lib/layouts/beamer.layout:148
+#: lib/layouts/beamer.layout:97 lib/layouts/beamer.layout:150
#: lib/layouts/egs.layout:184 lib/layouts/egs.layout:220
#: lib/layouts/europasscv.layout:428 lib/layouts/powerdot.layout:299
#: lib/layouts/powerdot.layout:364 lib/layouts/stdlists.inc:33
@@ -9753,7 +9760,7 @@ msgstr "Benutzerdef. Aufzählung|z"
#: lib/layouts/apa.layout:409 lib/layouts/apa.layout:447
#: lib/layouts/apax.inc:509 lib/layouts/apax.inc:547
-#: lib/layouts/beamer.layout:96 lib/layouts/beamer.layout:149
+#: lib/layouts/beamer.layout:98 lib/layouts/beamer.layout:151
#: lib/layouts/egs.layout:185 lib/layouts/egs.layout:221
#: lib/layouts/europasscv.layout:429 lib/layouts/powerdot.layout:300
#: lib/layouts/powerdot.layout:365 lib/layouts/stdlists.inc:34
@@ -9803,7 +9810,7 @@ msgstr "Fünf Zugehörigkeiten"
msgid "SixAffiliations"
msgstr "Sechs Zugehörigkeiten"
-#: lib/layouts/apax.inc:227 lib/layouts/beamer.layout:1655
+#: lib/layouts/apax.inc:227 lib/layouts/beamer.layout:1657
#: lib/layouts/elsart.layout:470 lib/layouts/fixme.module:108
#: lib/layouts/iopart.layout:106 lib/layouts/llncs.layout:394
#: lib/layouts/powerdot.layout:215 lib/layouts/slides.layout:170
@@ -9883,8 +9890,8 @@ msgstr "Beamer-Aufsatz (Standardklasse)"
msgid "Article (Standard Class)"
msgstr "Article (Standardklasse)"
-#: lib/layouts/article.layout:21 lib/layouts/beamer.layout:246
-#: lib/layouts/beamer.layout:275 lib/layouts/memoir.layout:66
+#: lib/layouts/article.layout:21 lib/layouts/beamer.layout:248
+#: lib/layouts/beamer.layout:277 lib/layouts/memoir.layout:66
#: lib/layouts/mwart.layout:25 lib/layouts/paper.layout:55
#: lib/layouts/scrartcl.layout:22 lib/layouts/scrclass.inc:77
#: lib/layouts/stdcounters.inc:9 lib/layouts/stdsections.inc:12
@@ -9910,61 +9917,61 @@ msgstr "Beamer"
msgid "Presentations"
msgstr "Präsentationen"
-#: lib/layouts/beamer.layout:88 lib/layouts/beamer.layout:137
-#: lib/layouts/beamer.layout:192 lib/layouts/beamer.layout:503
-#: lib/layouts/beamer.layout:571 lib/layouts/beamer.layout:629
-#: lib/layouts/beamer.layout:659 lib/layouts/beamer.layout:875
-#: lib/layouts/beamer.layout:904 lib/layouts/beamer.layout:1227
-#: lib/layouts/beamer.layout:1252 lib/layouts/beamer.layout:1279
-#: lib/layouts/beamer.layout:1445
+#: lib/layouts/beamer.layout:90 lib/layouts/beamer.layout:139
+#: lib/layouts/beamer.layout:194 lib/layouts/beamer.layout:505
+#: lib/layouts/beamer.layout:573 lib/layouts/beamer.layout:631
+#: lib/layouts/beamer.layout:661 lib/layouts/beamer.layout:877
+#: lib/layouts/beamer.layout:906 lib/layouts/beamer.layout:1229
+#: lib/layouts/beamer.layout:1254 lib/layouts/beamer.layout:1281
+#: lib/layouts/beamer.layout:1447
msgid "Overlay Specifications|v"
msgstr "Overlay-Spezifikation"
-#: lib/layouts/beamer.layout:89 lib/layouts/beamer.layout:138
-#: lib/layouts/beamer.layout:193
+#: lib/layouts/beamer.layout:91 lib/layouts/beamer.layout:140
+#: lib/layouts/beamer.layout:195
msgid "Overlay specifications for this list"
msgstr "Overlay-Spezifikation für diese Liste"
-#: lib/layouts/beamer.layout:99 lib/layouts/beamer.layout:152
-#: lib/layouts/beamer.layout:213 lib/layouts/beamer.layout:798
+#: lib/layouts/beamer.layout:101 lib/layouts/beamer.layout:154
+#: lib/layouts/beamer.layout:215 lib/layouts/beamer.layout:800
#: lib/layouts/powerdot.layout:303 lib/layouts/powerdot.layout:368
msgid "Item Overlay Specifications"
msgstr "Eintrags-Overlay-Spezifikation"
-#: lib/layouts/beamer.layout:100 lib/layouts/beamer.layout:153
-#: lib/layouts/beamer.layout:214 lib/layouts/beamer.layout:628
-#: lib/layouts/beamer.layout:658 lib/layouts/beamer.layout:799
-#: lib/layouts/beamer.layout:874 lib/layouts/beamer.layout:903
-#: lib/layouts/beamer.layout:1226 lib/layouts/beamer.layout:1251
-#: lib/layouts/beamer.layout:1278 lib/layouts/beamer.layout:1444
+#: lib/layouts/beamer.layout:102 lib/layouts/beamer.layout:155
+#: lib/layouts/beamer.layout:216 lib/layouts/beamer.layout:630
+#: lib/layouts/beamer.layout:660 lib/layouts/beamer.layout:801
+#: lib/layouts/beamer.layout:876 lib/layouts/beamer.layout:905
+#: lib/layouts/beamer.layout:1228 lib/layouts/beamer.layout:1253
+#: lib/layouts/beamer.layout:1280 lib/layouts/beamer.layout:1446
#: lib/layouts/powerdot.layout:304 lib/layouts/powerdot.layout:369
msgid "On Slide"
msgstr "Auf Folie"
-#: lib/layouts/beamer.layout:101 lib/layouts/beamer.layout:154
-#: lib/layouts/beamer.layout:215 lib/layouts/beamer.layout:800
+#: lib/layouts/beamer.layout:103 lib/layouts/beamer.layout:156
+#: lib/layouts/beamer.layout:217 lib/layouts/beamer.layout:802
#: lib/layouts/powerdot.layout:305 lib/layouts/powerdot.layout:370
msgid "Overlay specifications for this item"
msgstr "Overlay-Spezifikation für diesen Eintrag"
-#: lib/layouts/beamer.layout:144
+#: lib/layouts/beamer.layout:146
msgid "Mini Template"
msgstr "Mini-Vorlage"
-#: lib/layouts/beamer.layout:145
+#: lib/layouts/beamer.layout:147
msgid "Mini template for this list (see beamer manual for details)"
msgstr "Mini-Vorlage für diese Liste (siehe Beamer-Anleitung)"
-#: lib/layouts/beamer.layout:199
+#: lib/layouts/beamer.layout:201
msgid "Longest label|s"
msgstr "Längste Marke"
-#: lib/layouts/beamer.layout:200
+#: lib/layouts/beamer.layout:202
msgid "The longest label in this list (to determine the indendation width)"
msgstr "Die Längste Marke in dieser Liste (gibt die Einzugsbreite vor)"
-#: lib/layouts/beamer.layout:247 lib/layouts/beamer.layout:289
-#: lib/layouts/beamer.layout:351 lib/layouts/beamer.layout:413
+#: lib/layouts/beamer.layout:249 lib/layouts/beamer.layout:291
+#: lib/layouts/beamer.layout:353 lib/layouts/beamer.layout:415
#: lib/layouts/egs.layout:34 lib/layouts/egs.layout:57
#: lib/layouts/europasscv.layout:265 lib/layouts/europecv.layout:194
#: lib/layouts/foils.layout:46 lib/layouts/ltugboat.layout:49
@@ -9980,473 +9987,473 @@ msgstr "Die Längste Marke in dieser Liste (gibt die Einzugsbreite vor)"
msgid "Sectioning"
msgstr "Gliederung"
-#: lib/layouts/beamer.layout:252 lib/layouts/beamer.layout:307
-#: lib/layouts/beamer.layout:340 lib/layouts/beamer.layout:369
-#: lib/layouts/beamer.layout:402 lib/layouts/beamer.layout:431
-#: lib/layouts/beamer.layout:464
+#: lib/layouts/beamer.layout:254 lib/layouts/beamer.layout:309
+#: lib/layouts/beamer.layout:342 lib/layouts/beamer.layout:371
+#: lib/layouts/beamer.layout:404 lib/layouts/beamer.layout:433
+#: lib/layouts/beamer.layout:466
msgid "Mode"
msgstr "Modus"
-#: lib/layouts/beamer.layout:253 lib/layouts/beamer.layout:308
-#: lib/layouts/beamer.layout:341 lib/layouts/beamer.layout:370
-#: lib/layouts/beamer.layout:403 lib/layouts/beamer.layout:432
-#: lib/layouts/beamer.layout:465
+#: lib/layouts/beamer.layout:255 lib/layouts/beamer.layout:310
+#: lib/layouts/beamer.layout:343 lib/layouts/beamer.layout:372
+#: lib/layouts/beamer.layout:405 lib/layouts/beamer.layout:434
+#: lib/layouts/beamer.layout:467
msgid "Mode Specification|S"
msgstr "Modus-Spezifikation|z"
-#: lib/layouts/beamer.layout:254 lib/layouts/beamer.layout:309
-#: lib/layouts/beamer.layout:342 lib/layouts/beamer.layout:371
-#: lib/layouts/beamer.layout:404 lib/layouts/beamer.layout:433
-#: lib/layouts/beamer.layout:466
+#: lib/layouts/beamer.layout:256 lib/layouts/beamer.layout:311
+#: lib/layouts/beamer.layout:344 lib/layouts/beamer.layout:373
+#: lib/layouts/beamer.layout:406 lib/layouts/beamer.layout:435
+#: lib/layouts/beamer.layout:468
msgid "Specify in which mode (article, presentation etc.) this header appears"
msgstr ""
"Geben Sie an, in welchem Modus (Artikel, Präsentation usw.) diese "
"Ãberschrift erscheinen soll"
-#: lib/layouts/beamer.layout:261 lib/layouts/memoir.layout:69
+#: lib/layouts/beamer.layout:263 lib/layouts/memoir.layout:69
#: lib/layouts/scrclass.inc:143 lib/layouts/stdsections.inc:33
#: lib/layouts/tufte-handout.layout:41
msgid "The part as it appears in the table of contents/running headers"
msgstr "Der Teil, wie er im Inhaltsverzeichnis/Kolumnentitel erscheint"
-#: lib/layouts/beamer.layout:304
+#: lib/layouts/beamer.layout:306
msgid "Section \\arabic{section}"
msgstr "Abschnitt \\arabic{section}"
-#: lib/layouts/beamer.layout:316 lib/layouts/scrclass.inc:169
+#: lib/layouts/beamer.layout:318 lib/layouts/scrclass.inc:169
#: lib/layouts/simplecv.layout:53 lib/layouts/stdsections.inc:118
#: lib/layouts/tufte-book.layout:130
msgid "The section as it appears in the table of contents/running headers"
msgstr ""
"Der Abschnittstitel, wie er im Inhaltsverzeichnis/Kolumnentitel erscheint"
-#: lib/layouts/beamer.layout:328 lib/layouts/numarticle.inc:11
+#: lib/layouts/beamer.layout:330 lib/layouts/numarticle.inc:11
#: lib/layouts/powerdot.layout:254
msgid "\\Alph{section}"
msgstr "\\Alph{section}"
-#: lib/layouts/beamer.layout:366
+#: lib/layouts/beamer.layout:368
msgid "Subsection \\arabic{section}.\\arabic{subsection}"
msgstr "Unterabschnitt \\arabic{section}.\\arabic{subsection}"
-#: lib/layouts/beamer.layout:378
+#: lib/layouts/beamer.layout:380
msgid "The subsection as it appears in the table of contents/running headers"
msgstr ""
"Der Unterabschnittstitel, wie er im Inhaltsverzeichnis/Kolumnentitel "
"erscheint"
-#: lib/layouts/beamer.layout:390
+#: lib/layouts/beamer.layout:392
msgid "\\arabic{section}.\\arabic{subsection}"
msgstr "\\arabic{section}.\\arabic{subsection}"
-#: lib/layouts/beamer.layout:428
+#: lib/layouts/beamer.layout:430
msgid ""
"Subsubsection \\arabic{section}.\\arabic{subsection}.\\arabic{subsubsection}"
msgstr ""
"Unterunterabschnitt \\arabic{section}.\\arabic{subsection}."
"\\arabic{subsubsection}"
-#: lib/layouts/beamer.layout:440
+#: lib/layouts/beamer.layout:442
msgid ""
"The subsubsection as it appears in the table of contents/running headers"
msgstr ""
"Der Unterunterabschnittstitel, wie er im Inhaltsverzeichnis/Kolumnentitel "
"erscheint"
-#: lib/layouts/beamer.layout:452
+#: lib/layouts/beamer.layout:454
msgid "\\arabic{section}.\\arabic{subsection}.\\arabic{subsubsection}"
msgstr "\\arabic{section}.\\arabic{subsection}.\\arabic{subsubsection}"
-#: lib/layouts/beamer.layout:479 lib/layouts/beamer.layout:485
+#: lib/layouts/beamer.layout:481 lib/layouts/beamer.layout:487
msgid "Frame"
msgstr "Rahmen"
-#: lib/layouts/beamer.layout:480 lib/layouts/beamer.layout:565
-#: lib/layouts/beamer.layout:612 lib/layouts/beamer.layout:643
+#: lib/layouts/beamer.layout:482 lib/layouts/beamer.layout:567
+#: lib/layouts/beamer.layout:614 lib/layouts/beamer.layout:645
msgid "Frames"
msgstr "Rahmen"
-#: lib/layouts/beamer.layout:502 lib/layouts/beamer.layout:937
-#: lib/layouts/beamer.layout:1314 lib/layouts/beamer.layout:1471
-#: lib/layouts/beamer.layout:1491 lib/layouts/beamer.layout:1511
-#: lib/layouts/beamer.layout:1531 lib/layouts/beamer.layout:1551
-#: lib/layouts/beamer.layout:1572 lib/layouts/beamer.layout:1593
-#: lib/layouts/beamer.layout:1614 lib/layouts/beamer.layout:1635
-#: lib/layouts/beamer.layout:1663 lib/layouts/pdfform.module:124
+#: lib/layouts/beamer.layout:504 lib/layouts/beamer.layout:939
+#: lib/layouts/beamer.layout:1316 lib/layouts/beamer.layout:1473
+#: lib/layouts/beamer.layout:1493 lib/layouts/beamer.layout:1513
+#: lib/layouts/beamer.layout:1533 lib/layouts/beamer.layout:1553
+#: lib/layouts/beamer.layout:1574 lib/layouts/beamer.layout:1595
+#: lib/layouts/beamer.layout:1616 lib/layouts/beamer.layout:1637
+#: lib/layouts/beamer.layout:1665 lib/layouts/pdfform.module:124
msgid "Action"
msgstr "Aktion"
-#: lib/layouts/beamer.layout:504 lib/layouts/beamer.layout:572
+#: lib/layouts/beamer.layout:506 lib/layouts/beamer.layout:574
msgid "Overlay specifications for this frame"
msgstr "Overlay-Spezifikation für diesen Rahmen"
-#: lib/layouts/beamer.layout:510 lib/layouts/beamer.layout:578
+#: lib/layouts/beamer.layout:512 lib/layouts/beamer.layout:580
msgid "Default Overlay Specifications"
msgstr "Standard-Overlay-Spezifikation"
-#: lib/layouts/beamer.layout:511 lib/layouts/beamer.layout:579
+#: lib/layouts/beamer.layout:513 lib/layouts/beamer.layout:581
msgid "Default overlay specifications within this frame"
msgstr "Standard-Overlay-Spezifikation für diesen Rahmen"
-#: lib/layouts/beamer.layout:517 lib/layouts/beamer.layout:546
-#: lib/layouts/beamer.layout:557 lib/layouts/beamer.layout:585
+#: lib/layouts/beamer.layout:519 lib/layouts/beamer.layout:548
+#: lib/layouts/beamer.layout:559 lib/layouts/beamer.layout:587
msgid "Frame Options"
msgstr "Rahmen-Optionen"
-#: lib/layouts/beamer.layout:519 lib/layouts/beamer.layout:548
-#: lib/layouts/beamer.layout:559 lib/layouts/beamer.layout:587
+#: lib/layouts/beamer.layout:521 lib/layouts/beamer.layout:550
+#: lib/layouts/beamer.layout:561 lib/layouts/beamer.layout:589
msgid "Frame options (see beamer manual)"
msgstr "Rahmen-Optionen (siehe Beamer-Anleitung)"
-#: lib/layouts/beamer.layout:522
+#: lib/layouts/beamer.layout:524
msgid "Frame Title"
msgstr "Rahmentitel"
-#: lib/layouts/beamer.layout:523
+#: lib/layouts/beamer.layout:525
msgid "Enter the frame title here"
msgstr "Geben Sie hier den Rahmentitel ein"
-#: lib/layouts/beamer.layout:542
+#: lib/layouts/beamer.layout:544
msgid "PlainFrame"
msgstr "Schlichter Rahmen"
-#: lib/layouts/beamer.layout:544
+#: lib/layouts/beamer.layout:546
msgid "Frame (plain)"
msgstr "Rahmen (schlicht)"
-#: lib/layouts/beamer.layout:553
+#: lib/layouts/beamer.layout:555
msgid "FragileFrame"
msgstr "Fragiler Rahmen"
-#: lib/layouts/beamer.layout:555
+#: lib/layouts/beamer.layout:557
msgid "Frame (fragile)"
msgstr "Rahmen (fragil)"
-#: lib/layouts/beamer.layout:564
+#: lib/layouts/beamer.layout:566
msgid "AgainFrame"
msgstr "RahmenNochmal"
-#: lib/layouts/beamer.layout:570 lib/layouts/powerdot.layout:135
+#: lib/layouts/beamer.layout:572 lib/layouts/powerdot.layout:135
#: lib/layouts/seminar.layout:111 lib/layouts/slides.layout:92
#: src/frontends/qt/GuiDocument.cpp:136
msgid "Slide"
msgstr "Folie"
-#: lib/layouts/beamer.layout:599
+#: lib/layouts/beamer.layout:601
msgid "Repeat frame with label"
msgstr "Rahmen mit folgender Marke wiederholen:"
-#: lib/layouts/beamer.layout:611
+#: lib/layouts/beamer.layout:613
msgid "FrameTitle"
msgstr "Rahmentitel"
-#: lib/layouts/beamer.layout:630 lib/layouts/beamer.layout:660
-#: lib/layouts/beamer.layout:876 lib/layouts/beamer.layout:905
-#: lib/layouts/beamer.layout:939 lib/layouts/beamer.layout:1228
-#: lib/layouts/beamer.layout:1253 lib/layouts/beamer.layout:1280
-#: lib/layouts/beamer.layout:1316 lib/layouts/beamer.layout:1446
-#: lib/layouts/beamer.layout:1473 lib/layouts/beamer.layout:1493
-#: lib/layouts/beamer.layout:1513 lib/layouts/beamer.layout:1533
-#: lib/layouts/beamer.layout:1553 lib/layouts/beamer.layout:1574
-#: lib/layouts/beamer.layout:1595 lib/layouts/beamer.layout:1616
-#: lib/layouts/beamer.layout:1637 lib/layouts/beamer.layout:1665
+#: lib/layouts/beamer.layout:632 lib/layouts/beamer.layout:662
+#: lib/layouts/beamer.layout:878 lib/layouts/beamer.layout:907
+#: lib/layouts/beamer.layout:941 lib/layouts/beamer.layout:1230
+#: lib/layouts/beamer.layout:1255 lib/layouts/beamer.layout:1282
+#: lib/layouts/beamer.layout:1318 lib/layouts/beamer.layout:1448
+#: lib/layouts/beamer.layout:1475 lib/layouts/beamer.layout:1495
+#: lib/layouts/beamer.layout:1515 lib/layouts/beamer.layout:1535
+#: lib/layouts/beamer.layout:1555 lib/layouts/beamer.layout:1576
+#: lib/layouts/beamer.layout:1597 lib/layouts/beamer.layout:1618
+#: lib/layouts/beamer.layout:1639 lib/layouts/beamer.layout:1667
msgid "Specify the overlay settings (see beamer manual)"
msgstr ""
"Legen Sie hier die Overlay-Spezifikationen fest (siehe Beamer-Anleitung)"
-#: lib/layouts/beamer.layout:636
+#: lib/layouts/beamer.layout:638
msgid "Short Frame Title|S"
msgstr "Rahmentitel (Kurzform)|z"
-#: lib/layouts/beamer.layout:637
+#: lib/layouts/beamer.layout:639
msgid "A short form of the frame title used in some themes"
msgstr "Eine Kurzform des Rahmentitels, die in manchen Themen verwendet wird"
-#: lib/layouts/beamer.layout:642
+#: lib/layouts/beamer.layout:644
msgid "FrameSubtitle"
msgstr "RahmenUntertitel"
-#: lib/layouts/beamer.layout:672 lib/layouts/moderncv.layout:395
+#: lib/layouts/beamer.layout:674 lib/layouts/moderncv.layout:395
#: lib/layouts/moderncv.layout:412
msgid "Column"
msgstr "Spalte"
-#: lib/layouts/beamer.layout:673 lib/layouts/beamer.layout:698
-#: lib/layouts/beamer.layout:699 lib/layouts/beamer.layout:709
+#: lib/layouts/beamer.layout:675 lib/layouts/beamer.layout:700
+#: lib/layouts/beamer.layout:701 lib/layouts/beamer.layout:711
#: lib/layouts/moderncv.layout:373 lib/layouts/multicol.module:15
msgid "Columns"
msgstr "Spalten"
-#: lib/layouts/beamer.layout:685
+#: lib/layouts/beamer.layout:687
msgid "Start column (increase depth!), width:"
msgstr "Starte Spalte (erhöhe Tiefe!), Breite:"
-#: lib/layouts/beamer.layout:688 lib/layouts/powerdot.layout:504
+#: lib/layouts/beamer.layout:690 lib/layouts/powerdot.layout:504
msgid "Column Options"
msgstr "Spaltenoptionen"
-#: lib/layouts/beamer.layout:690
+#: lib/layouts/beamer.layout:692
msgid "Column options (see beamer manual)"
msgstr "Spaltenoptionen (siehe Beamer-Anleitung)"
-#: lib/layouts/beamer.layout:711
+#: lib/layouts/beamer.layout:713
msgid "Column Placement Options"
msgstr "Spalten-Platzierungsoptionen"
-#: lib/layouts/beamer.layout:712
+#: lib/layouts/beamer.layout:714
msgid "Column placement options (t, T, c, b)"
msgstr "Spalten-Platzierungsoptionen (t, T, c, b)"
-#: lib/layouts/beamer.layout:729
+#: lib/layouts/beamer.layout:731
msgid "ColumnsCenterAligned"
msgstr "Spalten mittig ausgerichtet"
-#: lib/layouts/beamer.layout:732
+#: lib/layouts/beamer.layout:734
msgid "Columns (center aligned)"
msgstr "Spalten (mittig ausgerichtet)"
-#: lib/layouts/beamer.layout:736
+#: lib/layouts/beamer.layout:738
msgid "ColumnsTopAligned"
msgstr "Spalten oben ausgerichtet"
-#: lib/layouts/beamer.layout:739
+#: lib/layouts/beamer.layout:741
msgid "Columns (top aligned)"
msgstr "Spalten (oben ausgerichtet)"
-#: lib/layouts/beamer.layout:748 lib/layouts/powerdot.layout:518
+#: lib/layouts/beamer.layout:750 lib/layouts/powerdot.layout:518
msgid "Pause"
msgstr "Pause"
-#: lib/layouts/beamer.layout:749 lib/layouts/beamer.layout:777
-#: lib/layouts/beamer.layout:823 lib/layouts/beamer.layout:855
-#: lib/layouts/beamer.layout:884 lib/layouts/powerdot.layout:519
+#: lib/layouts/beamer.layout:751 lib/layouts/beamer.layout:779
+#: lib/layouts/beamer.layout:825 lib/layouts/beamer.layout:857
+#: lib/layouts/beamer.layout:886 lib/layouts/powerdot.layout:519
msgid "Overlays"
msgstr "Overlays"
-#: lib/layouts/beamer.layout:755 lib/layouts/powerdot.layout:525
+#: lib/layouts/beamer.layout:757 lib/layouts/powerdot.layout:525
msgid "Pause number"
msgstr "Pausennummer"
-#: lib/layouts/beamer.layout:756 lib/layouts/powerdot.layout:526
+#: lib/layouts/beamer.layout:758 lib/layouts/powerdot.layout:526
msgid "Number of slide where the context below the pause gets visible"
msgstr ""
"Nummer der Folie, auf der der Text unterhalb dieser Pause sichtbar wird"
-#: lib/layouts/beamer.layout:767 lib/layouts/powerdot.layout:537
+#: lib/layouts/beamer.layout:769 lib/layouts/powerdot.layout:537
msgid "_ _ _ _ _ _ _ _ _ _ _ _ _ _"
msgstr "_ _ _ _ _ _ _ _ _ _ _ _ _ _"
-#: lib/layouts/beamer.layout:776 lib/layouts/beamer.layout:815
+#: lib/layouts/beamer.layout:778 lib/layouts/beamer.layout:817
msgid "Overprint"
msgstr "Ãberdruck"
-#: lib/layouts/beamer.layout:783
+#: lib/layouts/beamer.layout:785
msgid "Overprint Area Width"
msgstr "Ãberdruckbereichsbreite"
-#: lib/layouts/beamer.layout:784 lib/layouts/europasscv.layout:246
+#: lib/layouts/beamer.layout:786 lib/layouts/europasscv.layout:246
#: lib/layouts/graphicboxes.module:49 lib/layouts/moderncv.layout:400
#: lib/layouts/sectionbox.module:22 src/frontends/qt/GuiBox.cpp:71
msgid "Width"
msgstr "Breite"
-#: lib/layouts/beamer.layout:785
+#: lib/layouts/beamer.layout:787
msgid "The width of the overprint area (default: text width)"
msgstr "Die Breite des Ãberdruckbereichs (Voreinstellung: Textbreite)"
-#: lib/layouts/beamer.layout:822
+#: lib/layouts/beamer.layout:824
msgid "OverlayArea"
msgstr "ÃberlagerungsBereich"
-#: lib/layouts/beamer.layout:832
+#: lib/layouts/beamer.layout:834
msgid "Overlayarea"
msgstr "Ãberlagerungsbereich"
-#: lib/layouts/beamer.layout:842
+#: lib/layouts/beamer.layout:844
msgid "Overlay Area Width"
msgstr "Ãberlagerungsbereichsbreite"
-#: lib/layouts/beamer.layout:843
+#: lib/layouts/beamer.layout:845
msgid "The width of the overlay area"
msgstr "Die Breite des Ãberlagerungsbereichs"
-#: lib/layouts/beamer.layout:847
+#: lib/layouts/beamer.layout:849
msgid "Overlay Area Height"
msgstr "Ãberlagerungsbereichshöhe"
-#: lib/layouts/beamer.layout:848 lib/layouts/graphicboxes.module:56
+#: lib/layouts/beamer.layout:850 lib/layouts/graphicboxes.module:56
#: lib/layouts/moderncv.layout:288 src/frontends/qt/GuiBox.cpp:70
msgid "Height"
msgstr "Höhe"
-#: lib/layouts/beamer.layout:849
+#: lib/layouts/beamer.layout:851
msgid "The height of the overlay area"
msgstr "Die Höhe des Ãberlagerungsbereichs"
-#: lib/layouts/beamer.layout:854 lib/layouts/beamer.layout:1563
-#: lib/layouts/beamer.layout:1565 lib/layouts/powerdot.layout:660
+#: lib/layouts/beamer.layout:856 lib/layouts/beamer.layout:1565
+#: lib/layouts/beamer.layout:1567 lib/layouts/powerdot.layout:660
msgid "Uncover"
msgstr "Aufdecken"
-#: lib/layouts/beamer.layout:864
+#: lib/layouts/beamer.layout:866
msgid "Uncovered on slides"
msgstr "Aufgedeckt auf Folien"
-#: lib/layouts/beamer.layout:883 lib/layouts/beamer.layout:1542
-#: lib/layouts/beamer.layout:1544 lib/layouts/powerdot.layout:666
+#: lib/layouts/beamer.layout:885 lib/layouts/beamer.layout:1544
+#: lib/layouts/beamer.layout:1546 lib/layouts/powerdot.layout:666
msgid "Only"
msgstr "Nur"
-#: lib/layouts/beamer.layout:893
+#: lib/layouts/beamer.layout:895
msgid "Only on slides"
msgstr "Nur auf Folien"
-#: lib/layouts/beamer.layout:917
+#: lib/layouts/beamer.layout:919
msgid "Block"
msgstr "Block"
-#: lib/layouts/beamer.layout:918
+#: lib/layouts/beamer.layout:920
msgid "Blocks"
msgstr "Blöcke"
-#: lib/layouts/beamer.layout:927
+#: lib/layouts/beamer.layout:929
msgid "Block:"
msgstr "Block:"
-#: lib/layouts/beamer.layout:938
+#: lib/layouts/beamer.layout:940
msgid "Action Specification|S"
msgstr "Aktionsspezifikation"
-#: lib/layouts/beamer.layout:945
+#: lib/layouts/beamer.layout:947
msgid "Block Title"
msgstr "Blocktitel"
-#: lib/layouts/beamer.layout:946
+#: lib/layouts/beamer.layout:948
msgid "Enter the block title here"
msgstr "Geben Sie hier den Blocktitel ein"
-#: lib/layouts/beamer.layout:961
+#: lib/layouts/beamer.layout:963
msgid "ExampleBlock"
msgstr "BeispielBlock"
-#: lib/layouts/beamer.layout:964
+#: lib/layouts/beamer.layout:966
msgid "Example Block:"
msgstr "Beispiel-Block:"
-#: lib/layouts/beamer.layout:970
+#: lib/layouts/beamer.layout:972
msgid "AlertBlock"
msgstr "AlarmBlock"
-#: lib/layouts/beamer.layout:973
+#: lib/layouts/beamer.layout:975
msgid "Alert Block:"
msgstr "Alarm-Block:"
-#: lib/layouts/beamer.layout:985 lib/layouts/beamer.layout:1022
-#: lib/layouts/beamer.layout:1049 lib/layouts/beamer.layout:1077
-#: lib/layouts/beamer.layout:1121 lib/layouts/beamer.layout:1144
+#: lib/layouts/beamer.layout:987 lib/layouts/beamer.layout:1024
+#: lib/layouts/beamer.layout:1051 lib/layouts/beamer.layout:1079
+#: lib/layouts/beamer.layout:1123 lib/layouts/beamer.layout:1146
msgid "Titling"
msgstr "Titelei"
-#: lib/layouts/beamer.layout:999
+#: lib/layouts/beamer.layout:1001
msgid "Short title which appears in the sidebar/header"
msgstr "Kurztitel, der in der Seitenleiste/Kopfzeile erscheint"
-#: lib/layouts/beamer.layout:1013
+#: lib/layouts/beamer.layout:1015
msgid "Title (Plain Frame)"
msgstr "Titel (schlichter Rahmen)"
-#: lib/layouts/beamer.layout:1035
+#: lib/layouts/beamer.layout:1037
msgid "Short Subtitle|S"
msgstr "Untertitel (Kurzform)|z"
-#: lib/layouts/beamer.layout:1036
+#: lib/layouts/beamer.layout:1038
msgid "Short subtitle which appears in the sidebar/header"
msgstr "Kurzform des Untertitels, die in der Seitenleiste/Kopfzeile erscheint"
-#: lib/layouts/beamer.layout:1062
+#: lib/layouts/beamer.layout:1064
msgid "Short author which appears in the sidebar/header"
msgstr "Kurzform des Autors, die in der Seitenleiste/Kopfzeile erscheint"
-#: lib/layouts/beamer.layout:1089
+#: lib/layouts/beamer.layout:1091
msgid "Short Institute|S"
msgstr "Institut (Kurzform)|z"
-#: lib/layouts/beamer.layout:1090
+#: lib/layouts/beamer.layout:1092
msgid "Short institute which appears in the sidebar/header"
msgstr "Kurzform des Instituts, die in der Seitenleiste/Kopfzeile erscheint"
-#: lib/layouts/beamer.layout:1099
+#: lib/layouts/beamer.layout:1101
msgid "InstituteMark"
msgstr "InstitutsfuÃnotenmarke"
-#: lib/layouts/beamer.layout:1133
+#: lib/layouts/beamer.layout:1135
msgid "Short Date|S"
msgstr "Datum (Kurzform)|z"
-#: lib/layouts/beamer.layout:1134
+#: lib/layouts/beamer.layout:1136
msgid "Short date which appears in the sidebar/header"
msgstr "Kurzform des Datums, die in der Seitenleiste/Kopfzeile erscheint"
-#: lib/layouts/beamer.layout:1143 lib/layouts/beamerposter.layout:46
+#: lib/layouts/beamer.layout:1145 lib/layouts/beamerposter.layout:46
msgid "TitleGraphic"
msgstr "Titelgrafik"
-#: lib/layouts/beamer.layout:1208 lib/layouts/egs.layout:103
+#: lib/layouts/beamer.layout:1210 lib/layouts/egs.layout:103
#: lib/layouts/powerdot.layout:426 lib/layouts/stdlayouts.inc:12
msgid "Quotation"
msgstr "Zitat (lang)"
-#: lib/layouts/beamer.layout:1235 lib/layouts/egs.layout:122
+#: lib/layouts/beamer.layout:1237 lib/layouts/egs.layout:122
#: lib/layouts/moderncv.layout:305 lib/layouts/powerdot.layout:448
#: lib/layouts/stdlayouts.inc:37
msgid "Quote"
msgstr "Zitat (kurz)"
-#: lib/layouts/beamer.layout:1260 lib/layouts/egs.layout:277
+#: lib/layouts/beamer.layout:1262 lib/layouts/egs.layout:277
#: lib/layouts/powerdot.layout:468 lib/layouts/stdlayouts.inc:60
msgid "Verse"
msgstr "Gedicht"
-#: lib/layouts/beamer.layout:1302 lib/layouts/foils.layout:340
+#: lib/layouts/beamer.layout:1304 lib/layouts/foils.layout:340
#: lib/layouts/theorems-starred.inc:78
msgid "Corollary."
msgstr "Korollar."
-#: lib/layouts/beamer.layout:1315 lib/layouts/beamer.layout:1472
-#: lib/layouts/beamer.layout:1492 lib/layouts/beamer.layout:1512
-#: lib/layouts/beamer.layout:1532 lib/layouts/beamer.layout:1552
-#: lib/layouts/beamer.layout:1573 lib/layouts/beamer.layout:1594
-#: lib/layouts/beamer.layout:1615 lib/layouts/beamer.layout:1636
-#: lib/layouts/beamer.layout:1664
+#: lib/layouts/beamer.layout:1317 lib/layouts/beamer.layout:1474
+#: lib/layouts/beamer.layout:1494 lib/layouts/beamer.layout:1514
+#: lib/layouts/beamer.layout:1534 lib/layouts/beamer.layout:1554
+#: lib/layouts/beamer.layout:1575 lib/layouts/beamer.layout:1596
+#: lib/layouts/beamer.layout:1617 lib/layouts/beamer.layout:1638
+#: lib/layouts/beamer.layout:1666
msgid "Action Specifications|S"
msgstr "Aktionsspezifikation"
-#: lib/layouts/beamer.layout:1333 lib/layouts/foils.layout:354
+#: lib/layouts/beamer.layout:1335 lib/layouts/foils.layout:354
#: lib/layouts/theorems-starred.inc:174
msgid "Definition."
msgstr "Definition."
-#: lib/layouts/beamer.layout:1336
+#: lib/layouts/beamer.layout:1338
msgid "Definitions"
msgstr "Definitionen"
-#: lib/layouts/beamer.layout:1339
+#: lib/layouts/beamer.layout:1341
msgid "Definitions."
msgstr "Definitionen."
-#: lib/layouts/beamer.layout:1345 lib/layouts/theorems-starred.inc:200
+#: lib/layouts/beamer.layout:1347 lib/layouts/theorems-starred.inc:200
msgid "Example."
msgstr "Beispiel."
-#: lib/layouts/beamer.layout:1352
+#: lib/layouts/beamer.layout:1354
msgid "Examples"
msgstr "Beispiele"
-#: lib/layouts/beamer.layout:1355
+#: lib/layouts/beamer.layout:1357
msgid "Examples."
msgstr "Beispiele."
-#: lib/layouts/beamer.layout:1358 lib/layouts/theorems-ams-bytype.inc:160
+#: lib/layouts/beamer.layout:1360 lib/layouts/theorems-ams-bytype.inc:160
#: lib/layouts/theorems-ams-bytype.inc:169
#: lib/layouts/theorems-ams-bytype.inc:172
#: lib/layouts/theorems-ams-chap-bytype.inc:222
@@ -10467,102 +10474,102 @@ msgstr "Beispiele."
msgid "Fact"
msgstr "Fakt"
-#: lib/layouts/beamer.layout:1361 lib/layouts/theorems-starred.inc:154
+#: lib/layouts/beamer.layout:1363 lib/layouts/theorems-starred.inc:154
msgid "Fact."
msgstr "Fakt."
-#: lib/layouts/beamer.layout:1367 lib/layouts/foils.layout:333
+#: lib/layouts/beamer.layout:1369 lib/layouts/foils.layout:333
#: lib/layouts/theorems-starred.inc:97
msgid "Lemma."
msgstr "Lemma."
-#: lib/layouts/beamer.layout:1379 lib/layouts/foils.layout:326
+#: lib/layouts/beamer.layout:1381 lib/layouts/foils.layout:326
#: lib/layouts/theorems-named.module:18 lib/layouts/theorems-starred.inc:32
msgid "Theorem."
msgstr "Theorem."
-#: lib/layouts/beamer.layout:1387 lib/layouts/egs.layout:730
+#: lib/layouts/beamer.layout:1389 lib/layouts/egs.layout:730
#: lib/layouts/lyxmacros.inc:12
msgid "LyX-Code"
msgstr "LyX-Code"
-#: lib/layouts/beamer.layout:1424
+#: lib/layouts/beamer.layout:1426
msgid "NoteItem"
msgstr "NotizStichpunkt"
-#: lib/layouts/beamer.layout:1462 lib/layouts/beamer.layout:1464
+#: lib/layouts/beamer.layout:1464 lib/layouts/beamer.layout:1466
#: src/FontInfo.cpp:48 src/frontends/qt/GuiCharacter.cpp:138
msgid "Bold"
msgstr "Fett"
-#: lib/layouts/beamer.layout:1482 lib/layouts/ectaart.layout:178
+#: lib/layouts/beamer.layout:1484 lib/layouts/ectaart.layout:178
msgid "Emphasize"
msgstr "Hervorhebung"
-#: lib/layouts/beamer.layout:1484
+#: lib/layouts/beamer.layout:1486
msgid "Emph."
msgstr "Hervg."
-#: lib/layouts/beamer.layout:1502 lib/layouts/beamer.layout:1504
+#: lib/layouts/beamer.layout:1504 lib/layouts/beamer.layout:1506
msgid "Alert"
msgstr "Alarm"
-#: lib/layouts/beamer.layout:1522 lib/layouts/beamer.layout:1524
+#: lib/layouts/beamer.layout:1524 lib/layouts/beamer.layout:1526
#: lib/layouts/svcommon.inc:73 lib/layouts/svcommon.inc:100
#: lib/layouts/svcommon.inc:107
msgid "Structure"
msgstr "Struktur"
-#: lib/layouts/beamer.layout:1584 lib/layouts/beamer.layout:1586
+#: lib/layouts/beamer.layout:1586 lib/layouts/beamer.layout:1588
#: lib/layouts/powerdot.layout:644
msgid "Visible"
msgstr "Sichtbar"
-#: lib/layouts/beamer.layout:1605 lib/layouts/beamer.layout:1607
+#: lib/layouts/beamer.layout:1607 lib/layouts/beamer.layout:1609
msgid "Invisible"
msgstr "Unsichtbar"
-#: lib/layouts/beamer.layout:1626 lib/layouts/beamer.layout:1628
+#: lib/layouts/beamer.layout:1628 lib/layouts/beamer.layout:1630
msgid "Alternative"
msgstr "Alternativ"
-#: lib/layouts/beamer.layout:1644
+#: lib/layouts/beamer.layout:1646
msgid "Default Text"
msgstr "Standardtext"
-#: lib/layouts/beamer.layout:1645
+#: lib/layouts/beamer.layout:1647
msgid "Enter the default text here"
msgstr "Geben Sie hier den Standardtext ein"
-#: lib/layouts/beamer.layout:1653
+#: lib/layouts/beamer.layout:1655
msgid "Beamer Note"
msgstr "Beamer-Notiz"
-#: lib/layouts/beamer.layout:1671
+#: lib/layouts/beamer.layout:1673
msgid "Note Options"
msgstr "Notiz-Optionen"
-#: lib/layouts/beamer.layout:1672
+#: lib/layouts/beamer.layout:1674
msgid "Specifiy note options (see beamer manual)"
msgstr "Geben Sie hier Notiz-Optionen ein (siehe Beamer-Anleitung)"
-#: lib/layouts/beamer.layout:1677
+#: lib/layouts/beamer.layout:1679
msgid "ArticleMode"
msgstr "Artikelmodus"
-#: lib/layouts/beamer.layout:1683
+#: lib/layouts/beamer.layout:1685
msgid "Article"
msgstr "Aufsatz"
-#: lib/layouts/beamer.layout:1688
+#: lib/layouts/beamer.layout:1690
msgid "PresentationMode"
msgstr "Präsentationsmodus"
-#: lib/layouts/beamer.layout:1694
+#: lib/layouts/beamer.layout:1696
msgid "Presentation"
msgstr "Präsentation"
-#: lib/layouts/beamer.layout:1721 lib/layouts/powerdot.layout:570
+#: lib/layouts/beamer.layout:1723 lib/layouts/powerdot.layout:570
#: lib/layouts/powerdot.layout:627 lib/layouts/sciposter.layout:104
#: lib/layouts/stdfloats.inc:28
msgid "Figure"
@@ -12703,8 +12710,8 @@ msgid "Fixme Error"
msgstr "Fixme-Fehler"
#: lib/layouts/fixme.module:83 src/frontends/qt/GuiCompare.cpp:199
-#: src/frontends/qt/GuiDocument.cpp:2857 src/frontends/qt/GuiDocument.cpp:2931
-#: src/frontends/qt/GuiDocument.cpp:4828
+#: src/frontends/qt/GuiDocument.cpp:2865 src/frontends/qt/GuiDocument.cpp:2939
+#: src/frontends/qt/GuiDocument.cpp:4846
msgid "Error"
msgstr "Fehler"
@@ -17028,11 +17035,11 @@ msgstr "FuÃnote ##"
msgid "\\fnsymbol{thanks}"
msgstr "\\fnsymbol{thanks}"
-#: lib/layouts/stdfloatnames.inc:5 lib/layouts/stdinsets.inc:558
+#: lib/layouts/stdfloatnames.inc:5 lib/layouts/stdinsets.inc:559
msgid "Tables"
msgstr "Tabellen"
-#: lib/layouts/stdfloatnames.inc:6 lib/layouts/stdinsets.inc:559
+#: lib/layouts/stdfloatnames.inc:6 lib/layouts/stdinsets.inc:560
msgid "Figures"
msgstr "Abbildungen"
@@ -17060,7 +17067,7 @@ msgstr "FuÃnoten"
msgid "Notes"
msgstr "Notizen"
-#: lib/layouts/stdinsets.inc:14 src/frontends/qt/GuiDocument.cpp:1788
+#: lib/layouts/stdinsets.inc:14 src/frontends/qt/GuiDocument.cpp:1792
msgid "Branches"
msgstr "Zweige"
@@ -17084,49 +17091,49 @@ msgstr "FuÃnote"
msgid "Greyedout"
msgstr "Grauschrift"
-#: lib/layouts/stdinsets.inc:207 src/insets/InsetERT.cpp:189
-#: src/insets/InsetERT.cpp:190
+#: lib/layouts/stdinsets.inc:208 src/insets/InsetERT.cpp:542
+#: src/insets/InsetERT.cpp:543
msgid "ERT"
msgstr "ERT"
-#: lib/layouts/stdinsets.inc:293 lib/layouts/stdinsets.inc:299
+#: lib/layouts/stdinsets.inc:294 lib/layouts/stdinsets.inc:300
msgid "Listings[[List of Listings]]"
msgstr "Programmlistings"
-#: lib/layouts/stdinsets.inc:316 lib/layouts/stdinsets.inc:322
+#: lib/layouts/stdinsets.inc:317 lib/layouts/stdinsets.inc:323
#: src/insets/InsetTOC.cpp:77
msgid "List of Listings"
msgstr "Verzeichnis der Programmlistings"
-#: lib/layouts/stdinsets.inc:350 src/frontends/qt/GuiDocument.cpp:1786
+#: lib/layouts/stdinsets.inc:351 src/frontends/qt/GuiDocument.cpp:1790
msgid "Listings[[inset]]"
msgstr "Programmlistings"
-#: lib/layouts/stdinsets.inc:417
+#: lib/layouts/stdinsets.inc:418
msgid "Idx"
msgstr "Stichwort"
-#: lib/layouts/stdinsets.inc:608
+#: lib/layouts/stdinsets.inc:609
msgid "Argument"
msgstr "Argument"
-#: lib/layouts/stdinsets.inc:714
+#: lib/layouts/stdinsets.inc:715
msgid "unlabelled"
msgstr "ohne Marke"
-#: lib/layouts/stdinsets.inc:721
+#: lib/layouts/stdinsets.inc:722
msgid "Preview"
msgstr "Vorschau"
-#: lib/layouts/stdinsets.inc:755 lib/layouts/stdinsets.inc:763
+#: lib/layouts/stdinsets.inc:756 lib/layouts/stdinsets.inc:764
msgid "see equation[[nomencl]]"
msgstr "siehe Gleichung"
-#: lib/layouts/stdinsets.inc:756 lib/layouts/stdinsets.inc:764
+#: lib/layouts/stdinsets.inc:757 lib/layouts/stdinsets.inc:765
msgid "page[[nomencl]]"
msgstr "Seite"
-#: lib/layouts/stdinsets.inc:757 lib/layouts/stdinsets.inc:765
+#: lib/layouts/stdinsets.inc:758 lib/layouts/stdinsets.inc:766
msgid "Nomenclature[[output]]"
msgstr "Nomenklatur"
@@ -19642,7 +19649,7 @@ msgid "Copy as Reference|R"
msgstr "Als Querverweis kopieren|k"
#: lib/ui/stdcontext.inc:61 lib/ui/stdcontext.inc:375 lib/ui/stdmenus.inc:108
-#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1568
+#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1571
#: src/mathed/InsetMathNest.cpp:555
msgid "Cut"
msgstr "Ausschneiden"
@@ -19653,7 +19660,7 @@ msgid "Copy"
msgstr "Kopieren"
#: lib/ui/stdcontext.inc:63 lib/ui/stdcontext.inc:377 lib/ui/stdmenus.inc:110
-#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1512
+#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1515
#: src/frontends/qt/GuiToolbar.cpp:441 src/mathed/InsetMathGrid.cpp:1565
#: src/mathed/InsetMathNest.cpp:533
msgid "Paste"
@@ -21969,7 +21976,7 @@ msgid "Fractions"
msgstr "Brüche"
#: lib/ui/stdtoolbars.inc:219 lib/ui/stdtoolbars.inc:442
-#: src/frontends/qt/GuiDocument.cpp:1773
+#: src/frontends/qt/GuiDocument.cpp:1777
msgid "Fonts"
msgstr "Schriften"
@@ -21986,7 +21993,7 @@ msgid "Big operators"
msgstr "GroÃe Operatoren"
#: lib/ui/stdtoolbars.inc:223 lib/ui/stdtoolbars.inc:690
-#: src/frontends/qt/GuiDocument.cpp:5165
+#: src/frontends/qt/GuiDocument.cpp:5183
msgid "Miscellaneous"
msgstr "Verschiedenes"
@@ -26846,7 +26853,7 @@ msgstr "MS-Word Office-Open XML"
msgid "Table (CSV)"
msgstr "Tabelle (CSV)"
-#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1630
+#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1655
#: src/mathed/InsetMathMacroTemplate.cpp:538
msgid "LyX"
msgstr "LyX"
@@ -26939,11 +26946,11 @@ msgstr "gnuplot"
msgid "gnuplot|Gnuplot"
msgstr "gnuplot|Gnuplot"
-#: lib/configure.py:1346
+#: lib/configure.py:1350
msgid "LyX Archive (zip)"
msgstr "LyX-Archiv (zip)"
-#: lib/configure.py:1349
+#: lib/configure.py:1353
msgid "LyX Archive (tar.gz)"
msgstr "LyX-Archiv (tar.gz)"
@@ -27040,7 +27047,7 @@ msgstr "Noweb2LyX"
msgid "Noweb Listerrors"
msgstr "Noweb-Fehlerbericht"
-#: lib/examples/Articles:0 src/frontends/qt/GuiDocument.cpp:1771
+#: lib/examples/Articles:0 src/frontends/qt/GuiDocument.cpp:1775
msgid "Modules"
msgstr "Module"
@@ -27290,7 +27297,7 @@ msgstr ""
"\\lyxdeleted im LaTeX-Vorspann neu."
#: src/Buffer.cpp:1086 src/BufferParams.cpp:475 src/frontends/qt/GuiLog.cpp:293
-#: src/insets/InsetIndex.cpp:651
+#: src/insets/InsetIndex.cpp:674
msgid "Index"
msgstr "Stichwortverzeichnis"
@@ -27366,7 +27373,7 @@ msgstr ""
"%1$s stammt von einer neueren LyX-Version, aber das lyx2lyx-Skript konnte "
"das Dokument nicht konvertieren."
-#: src/Buffer.cpp:1445 src/Buffer.cpp:4720 src/Buffer.cpp:4829
+#: src/Buffer.cpp:1445 src/Buffer.cpp:4717 src/Buffer.cpp:4826
msgid "File is read-only"
msgstr "Datei ist schreibgeschützt"
@@ -27390,8 +27397,8 @@ msgid "Overwrite modified file?"
msgstr "Modifizierte Datei überschreiben?"
#: src/Buffer.cpp:1458 src/Exporter.cpp:50
-#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2838
-#: src/frontends/qt/GuiView.cpp:3107 src/frontends/qt/GuiView.cpp:3210
+#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2875
+#: src/frontends/qt/GuiView.cpp:3144 src/frontends/qt/GuiView.cpp:3247
msgid "&Overwrite"
msgstr "&Ãberschreiben"
@@ -27631,7 +27638,7 @@ msgstr "Zweig \"%1$s\" existiert bereits."
msgid "Error viewing the output file."
msgstr "Fehler bei der Ansicht der Ausgabedatei."
-#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2669
+#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2706
#: src/frontends/qt/Validator.cpp:241 src/insets/ExternalSupport.cpp:394
#: src/insets/InsetGraphics.cpp:692 src/insets/InsetInclude.cpp:606
msgid "Invalid filename"
@@ -27672,57 +27679,57 @@ msgstr ""
"Die Pfade zu Ihren BibTeX-Datenbanken enthalten Leerzeichen.\n"
"BiBTeX wird die Datenbanken nicht finden."
-#: src/Buffer.cpp:4091
+#: src/Buffer.cpp:4088
#, c-format
msgid "Preview source code for paragraph %1$d"
msgstr "Quellcode für Absatz %1$d vorschauen"
-#: src/Buffer.cpp:4096
+#: src/Buffer.cpp:4093
#, c-format
msgid "Preview source code from paragraph %1$s to %2$s"
msgstr "Quellcode von Absatz %1$s bis %2$s vorschauen"
-#: src/Buffer.cpp:4151
+#: src/Buffer.cpp:4148
msgid "Preview source code"
msgstr "Quellcode vorschauen"
-#: src/Buffer.cpp:4153
+#: src/Buffer.cpp:4150
msgid "Preview preamble"
msgstr "Vorschau des Vorspanns"
-#: src/Buffer.cpp:4155
+#: src/Buffer.cpp:4152
msgid "Preview body"
msgstr "Vorschau des Haupttextes"
-#: src/Buffer.cpp:4171
+#: src/Buffer.cpp:4168
msgid "Plain text does not have a preamble."
msgstr "Einfacher Text hat keinen Vorspann."
-#: src/Buffer.cpp:4308
+#: src/Buffer.cpp:4305
msgid "Autosaving current document..."
msgstr "Automatisches Speichern des aktuellen Dokuments..."
-#: src/Buffer.cpp:4433
+#: src/Buffer.cpp:4430
#, c-format
msgid "No information for exporting the format %1$s."
msgstr "Keine Informationen vorhanden, um das Format %1$s zu exportieren."
-#: src/Buffer.cpp:4437
+#: src/Buffer.cpp:4434
#, c-format
msgid "Hint: use non-TeX fonts or set input encoding to '%1$s'"
msgstr ""
"Tipp: Verwenden Sie keine TeX-Schriften oder stellen Sie als Kodierung "
"'%1$s' ein."
-#: src/Buffer.cpp:4439
+#: src/Buffer.cpp:4436
msgid "Couldn't export file"
msgstr "Die Datei konnte nicht exportiert werden"
-#: src/Buffer.cpp:4507 src/frontends/qt/GuiView.cpp:2811
+#: src/Buffer.cpp:4504 src/frontends/qt/GuiView.cpp:2848
msgid "File name error"
msgstr "Fehler im Dateinamen"
-#: src/Buffer.cpp:4508
+#: src/Buffer.cpp:4505
#, c-format
msgid ""
"The directory path to the document\n"
@@ -27735,21 +27742,21 @@ msgstr ""
"enthält Leerzeichen, aber Ihre TeX-Installation erlaubt dies nicht. Bitte "
"speichern Sie Ihr Dokument in einem Verzeichnis ohne Leerzeichen."
-#: src/Buffer.cpp:4597 src/Buffer.cpp:4627 src/frontends/qt/GuiView.cpp:868
+#: src/Buffer.cpp:4594 src/Buffer.cpp:4624 src/frontends/qt/GuiView.cpp:872
msgid "Document export cancelled."
msgstr "Der Export des Dokuments wurde abgebrochen."
-#: src/Buffer.cpp:4630
+#: src/Buffer.cpp:4627
#, c-format
msgid "Document exported as %1$s to file `%2$s'"
msgstr "Dokument wurde als %1$s in die Datei ,%2$s` exportiert."
-#: src/Buffer.cpp:4637
+#: src/Buffer.cpp:4634
#, c-format
msgid "Document exported as %1$s"
msgstr "Dokument als %1$s exportiert"
-#: src/Buffer.cpp:4706
+#: src/Buffer.cpp:4703
#, c-format
msgid ""
"An emergency save of the document %1$s exists.\n"
@@ -27760,23 +27767,23 @@ msgstr ""
"\n"
"Soll die Notspeicherung wiederhergestellt werden?"
-#: src/Buffer.cpp:4709
+#: src/Buffer.cpp:4706
msgid "Load emergency save?"
msgstr "Notspeicherung laden?"
-#: src/Buffer.cpp:4710
+#: src/Buffer.cpp:4707
msgid "&Recover"
msgstr "&Wiederherstellen"
-#: src/Buffer.cpp:4710
+#: src/Buffer.cpp:4707
msgid "&Load Original"
msgstr "&Original laden"
-#: src/Buffer.cpp:4710
+#: src/Buffer.cpp:4707
msgid "&Only show difference"
msgstr "Nur &Unterschiede zeigen"
-#: src/Buffer.cpp:4721
+#: src/Buffer.cpp:4718
#, c-format
msgid ""
"An emergency file is successfully loaded, but the original file %1$s is "
@@ -27786,15 +27793,15 @@ msgstr ""
"%1$s ist schreibgeschützt.\n"
"Bitte speichern Sie die Datei unter einem neuen Namen."
-#: src/Buffer.cpp:4728
+#: src/Buffer.cpp:4725
msgid "Document was successfully recovered."
msgstr "Dokument wurde erfolgreich wiederhergestellt."
-#: src/Buffer.cpp:4730
+#: src/Buffer.cpp:4727
msgid "Document was NOT successfully recovered."
msgstr "Dokument wurde NICHT erfolgreich wiederhergestellt."
-#: src/Buffer.cpp:4731
+#: src/Buffer.cpp:4728
#, c-format
msgid ""
"Remove emergency file now?\n"
@@ -27804,31 +27811,31 @@ msgstr ""
"%1$s\n"
"jetzt löschen?"
-#: src/Buffer.cpp:4735 src/Buffer.cpp:4747
+#: src/Buffer.cpp:4732 src/Buffer.cpp:4744
msgid "Delete emergency file?"
msgstr "Notspeicherung löschen?"
-#: src/Buffer.cpp:4736 src/Buffer.cpp:4749
+#: src/Buffer.cpp:4733 src/Buffer.cpp:4746
msgid "&Keep"
msgstr "&Behalten"
-#: src/Buffer.cpp:4740
+#: src/Buffer.cpp:4737
msgid "Emergency file deleted"
msgstr "Notspeicherung gelöscht"
-#: src/Buffer.cpp:4741
+#: src/Buffer.cpp:4738
msgid "Do not forget to save your file now!"
msgstr "Vergessen Sie nicht, ihre Datei jetzt zu speichern!"
-#: src/Buffer.cpp:4748
+#: src/Buffer.cpp:4745
msgid "Remove emergency file now?"
msgstr "Notspeicherungsdatei jetzt löschen?"
-#: src/Buffer.cpp:4771
+#: src/Buffer.cpp:4768
msgid "Can't rename emergency file!"
msgstr "Notspeicherungsdatei kann nicht umbenannt werden!"
-#: src/Buffer.cpp:4772
+#: src/Buffer.cpp:4769
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 "
@@ -27839,11 +27846,11 @@ msgstr ""
"wieder danach gefragt, und Ihre Datei könnte mit einer dann nicht mehr "
"aktuellen Notspeicherung überschrieben werden."
-#: src/Buffer.cpp:4777
+#: src/Buffer.cpp:4774
msgid "Emergency File Renames"
msgstr "Umbenennung der Notspeicherung"
-#: src/Buffer.cpp:4778
+#: src/Buffer.cpp:4775
#, c-format
msgid ""
"Emergency file renamed as:\n"
@@ -27852,7 +27859,7 @@ msgstr ""
"Notspeicherung umbenannt als:\n"
" %1$s"
-#: src/Buffer.cpp:4817
+#: src/Buffer.cpp:4814
#, c-format
msgid ""
"The backup of the document %1$s is newer.\n"
@@ -27863,19 +27870,19 @@ msgstr ""
"\n"
"Stattdessen die Sicherung laden?"
-#: src/Buffer.cpp:4819
+#: src/Buffer.cpp:4816
msgid "Load backup?"
msgstr "Sicherung laden?"
-#: src/Buffer.cpp:4820
+#: src/Buffer.cpp:4817
msgid "&Load backup"
msgstr "&Sicherung laden"
-#: src/Buffer.cpp:4820
+#: src/Buffer.cpp:4817
msgid "Load &original"
msgstr "&Original laden"
-#: src/Buffer.cpp:4830
+#: src/Buffer.cpp:4827
#, c-format
msgid ""
"A backup file is successfully loaded, but the original file %1$s is marked "
@@ -27885,16 +27892,16 @@ msgstr ""
"%1$s ist schreibgeschützt.\n"
"Bitte speichern Sie die Datei unter einem neuen Namen."
-#: src/Buffer.cpp:5232 src/insets/InsetCaption.cpp:404
+#: src/Buffer.cpp:5206 src/insets/InsetCaption.cpp:404
msgid "Senseless!!! "
msgstr "Sinnlos!!! "
-#: src/Buffer.cpp:5496
+#: src/Buffer.cpp:5470
#, c-format
msgid "Document %1$s reloaded."
msgstr "Dokument %1$s neu geladen."
-#: src/Buffer.cpp:5499
+#: src/Buffer.cpp:5473
#, c-format
msgid "Could not reload document %1$s."
msgstr "Kann Dokument %1$s nicht neu laden."
@@ -28006,36 +28013,59 @@ msgstr ""
msgid "Document class not available"
msgstr "Die Dokumentklasse ist nicht verfügbar"
-#: src/BufferParams.cpp:1098 src/Color.cpp:281
-#: src/frontends/qt/GuiDocument.cpp:3534
+#: src/BufferParams.cpp:1100 src/Color.cpp:281
+#: src/frontends/qt/GuiDocument.cpp:3542
msgid "greyedout inset text"
msgstr "Grauschrift-Einfügungstext"
-#: src/BufferParams.cpp:1811 src/BufferParams.cpp:2254 src/Encoding.cpp:253
-#: src/Paragraph.cpp:3013 src/frontends/qt/LaTeXHighlighter.cpp:123
-#: src/frontends/qt/LaTeXHighlighter.cpp:216
+#: src/BufferParams.cpp:1718 src/BufferParams.cpp:1872
+#: src/BufferParams.cpp:2315 src/Encoding.cpp:253 src/Paragraph.cpp:3014
+#: src/frontends/qt/LaTeXHighlighter.cpp:143
+#: src/frontends/qt/LaTeXHighlighter.cpp:257
#: src/insets/InsetCommandParams.cpp:508 src/insets/InsetCommandParams.cpp:516
#: src/insets/InsetGraphics.cpp:886 src/insets/InsetGraphics.cpp:894
-#: src/insets/InsetListings.cpp:298 src/insets/InsetListings.cpp:306
-#: src/insets/InsetListings.cpp:331 src/mathed/MathExtern.cpp:1440
+#: src/insets/InsetListings.cpp:299 src/insets/InsetListings.cpp:307
+#: src/insets/InsetListings.cpp:332 src/mathed/MathExtern.cpp:1440
#: src/mathed/MathExtern.cpp:1514
msgid "LyX Warning: "
msgstr "LyX-Warnung: "
-#: src/BufferParams.cpp:1812 src/BufferParams.cpp:2255 src/Encoding.cpp:254
-#: src/Paragraph.cpp:3014 src/insets/InsetCommandParams.cpp:509
-#: src/insets/InsetCommandParams.cpp:517 src/insets/InsetGraphics.cpp:887
-#: src/insets/InsetGraphics.cpp:895 src/insets/InsetListings.cpp:299
-#: src/insets/InsetListings.cpp:307 src/mathed/MathExtern.cpp:1441
-#: src/mathed/MathExtern.cpp:1515
+#: src/BufferParams.cpp:1719 src/BufferParams.cpp:1873
+#: src/BufferParams.cpp:2316 src/Encoding.cpp:254 src/Paragraph.cpp:3015
+#: src/insets/InsetCommandParams.cpp:509 src/insets/InsetCommandParams.cpp:517
+#: src/insets/InsetGraphics.cpp:887 src/insets/InsetGraphics.cpp:895
+#: src/insets/InsetListings.cpp:300 src/insets/InsetListings.cpp:308
+#: src/mathed/MathExtern.cpp:1441 src/mathed/MathExtern.cpp:1515
msgid "uncodable character"
msgstr "unkodierbares Zeichen"
-#: src/BufferParams.cpp:1825
+#: src/BufferParams.cpp:1732
+msgid "Uncodable character in document metadata"
+msgstr "Unkodierbares Zeichen in Dokument-Metadaten"
+
+#: src/BufferParams.cpp:1734
+#, c-format
+msgid ""
+"The metadata 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 ""
+"Die Metadaten Ihres Dokuments enthalten Zeichen, die in der aktuellen "
+"Kodierung nicht dargestellt werden können (nämlich: %1$s).\n"
+"Die betroffenen Zeichen werden in der LaTeX-Ausgabe weggelassen.\n"
+"\n"
+"Wählen Sie eine passende Kodierung (bspw. utf8)\n"
+"oder ändern Sie den LaTeX-Code im Vorspann."
+
+#: src/BufferParams.cpp:1886
msgid "Uncodable character in class options"
msgstr "Unkodierbare Zeichen in den Klassenoptionen"
-#: src/BufferParams.cpp:1827
+#: src/BufferParams.cpp:1888
#, c-format
msgid ""
"The class options of your document contain glyphs that are unknown in the "
@@ -28053,11 +28083,11 @@ msgstr ""
"Wählen Sie eine passende Kodierung (bspw. utf8)\n"
"oder ändern Sie den LaTeX-Code im Vorspann."
-#: src/BufferParams.cpp:2268
+#: src/BufferParams.cpp:2329
msgid "Uncodable character in user preamble"
msgstr "Unkodierbares Zeichen im Benutzervorspann"
-#: src/BufferParams.cpp:2270
+#: src/BufferParams.cpp:2331
#, c-format
msgid ""
"The user preamble of your document contains glyphs that are unknown in the "
@@ -28075,7 +28105,7 @@ msgstr ""
"Wählen Sie eine passende Kodierung (bspw. utf8)\n"
"oder ändern Sie den LaTeX-Code im Vorspann."
-#: src/BufferParams.cpp:2585
+#: src/BufferParams.cpp:2646
#, c-format
msgid ""
"The layout file:\n"
@@ -28090,11 +28120,11 @@ msgstr ""
"Formaten wird benutzt werden. LyX wird nicht in der Lage sein eine korrekte\n"
"Ausgabe zu erzeugen."
-#: src/BufferParams.cpp:2591
+#: src/BufferParams.cpp:2652
msgid "Document class not found"
msgstr "Dokumentklasse nicht gefunden"
-#: src/BufferParams.cpp:2598
+#: src/BufferParams.cpp:2659
#, c-format
msgid ""
"Due to some error in it, the layout file:\n"
@@ -28109,23 +28139,23 @@ msgstr ""
"korrekte\n"
"Ausgabe erzeugen können."
-#: src/BufferParams.cpp:2604 src/BufferView.cpp:1424 src/BufferView.cpp:1456
+#: src/BufferParams.cpp:2665 src/BufferView.cpp:1424 src/BufferView.cpp:1456
msgid "Could not load class"
msgstr "Konnte Klasse nicht laden"
-#: src/BufferParams.cpp:2649
+#: src/BufferParams.cpp:2710
msgid "Error reading internal layout information"
msgstr "Fehler beim Einlesen interner Format-Informationen"
-#: src/BufferParams.cpp:2650 src/TextClass.cpp:1952 src/TextClass.cpp:1985
+#: src/BufferParams.cpp:2711 src/TextClass.cpp:1952 src/TextClass.cpp:1985
msgid "Read Error"
msgstr "Lesefehler"
-#: src/BufferParams.cpp:3655
+#: src/BufferParams.cpp:3726
msgid "No bibliography processor found!"
msgstr "Kein Literaturverzeichnis-Prozessor gefunden!"
-#: src/BufferParams.cpp:3657
+#: src/BufferParams.cpp:3728
#, c-format
msgid ""
"The bibliography processor requested by this document (%1$s) is not "
@@ -28139,11 +28169,11 @@ msgstr ""
"Literaturverweise erzeugt werden.\n"
"Bitte reparieren Sie Ihr System!"
-#: src/BufferParams.cpp:3665
+#: src/BufferParams.cpp:3736
msgid "Requested bibliography processor not found!"
msgstr "Verlangter Literaturverzeichnis-Prozessor nicht gefunden!"
-#: src/BufferParams.cpp:3667
+#: src/BufferParams.cpp:3738
#, c-format
msgid ""
"The bibliography processor requested by this document (%1$s) is not "
@@ -28184,7 +28214,7 @@ msgid "This portion of the document is deleted."
msgstr "Dieser Teil des Dokuments wird gelöscht."
#: src/BufferView.cpp:1191 src/BufferView.cpp:2254
-#: src/frontends/qt/GuiView.cpp:4259 src/frontends/qt/GuiView.cpp:4347
+#: src/frontends/qt/GuiView.cpp:4296 src/frontends/qt/GuiView.cpp:4384
msgid "Absolute filename expected."
msgstr "Ein absoluter Dateipfad wird erwartet."
@@ -28295,7 +28325,7 @@ msgstr "Dokument %1$s ist eingefügt."
msgid "Could not insert document %1$s"
msgstr "Das Dokument %1$s konnte nicht eingefügt werden"
-#: src/BufferView.cpp:3572
+#: src/BufferView.cpp:3569
#, c-format
msgid ""
"Could not read the specified document\n"
@@ -28306,11 +28336,11 @@ msgstr ""
"konnte aufgrund des folgenden Fehlers\n"
"nicht gelesen werden: %2$s"
-#: src/BufferView.cpp:3574
+#: src/BufferView.cpp:3571
msgid "Could not read file"
msgstr "Die Datei konnte nicht gelesen werden"
-#: src/BufferView.cpp:3581
+#: src/BufferView.cpp:3578
#, c-format
msgid ""
"%1$s\n"
@@ -28319,17 +28349,17 @@ msgstr ""
"%1$s\n"
"ist nicht lesbar."
-#: src/BufferView.cpp:3582 src/frontends/qt/qt_helpers.cpp:311
+#: src/BufferView.cpp:3579 src/frontends/qt/qt_helpers.cpp:311
#: src/frontends/qt/qt_helpers.cpp:314 src/frontends/qt/qt_helpers.cpp:320
#: src/output.cpp:39
msgid "Could not open file"
msgstr "Die Datei konnte nicht geöffnet werden"
-#: src/BufferView.cpp:3589
+#: src/BufferView.cpp:3586
msgid "Reading not UTF-8 encoded file"
msgstr "Lese nicht-UTF-8-kodierte Datei"
-#: src/BufferView.cpp:3590
+#: src/BufferView.cpp:3587
msgid ""
"The file is not UTF-8 encoded.\n"
"It will be read as local 8Bit-encoded.\n"
@@ -28803,7 +28833,7 @@ msgstr "übernehmen"
msgid "ignore"
msgstr "ignorieren"
-#: src/Converter.cpp:306
+#: src/Converter.cpp:312
#, c-format
msgid ""
"<p>The following LaTeX backend has been configured to allow execution of "
@@ -28820,11 +28850,11 @@ msgstr ""
"Einstellung, die Sie gewählt haben, das Privileg nur den Dokumenten zu "
"gewähren, die es benötigen (und denen Sie vertrauen).</p>"
-#: src/Converter.cpp:315
+#: src/Converter.cpp:321
msgid "Security Warning"
msgstr "Sicherheitswarnung"
-#: src/Converter.cpp:328
+#: src/Converter.cpp:334
#, c-format
msgid ""
"<p>The following LaTeX backend has been requested to allow execution of "
@@ -28838,7 +28868,7 @@ msgstr ""
"gefährliche, wenn ein in böswilliger Absicht erzeugtes LyX-Dokument dies "
"verlangt.</p>"
-#: src/Converter.cpp:335
+#: src/Converter.cpp:341
#, c-format
msgid ""
"<p>The requested operation requires the use of a converter from %2$s to %3$s:"
@@ -28852,11 +28882,11 @@ msgstr ""
"gefährliche, wenn ein in böswilliger Absicht erzeugtes LyX-Dokument dies "
"verlangt.</p>"
-#: src/Converter.cpp:345
+#: src/Converter.cpp:351
msgid "An external converter is disabled for security reasons"
msgstr "Ein externer Konverter wurde aus Sicherheitsgründen deaktiviert"
-#: src/Converter.cpp:347
+#: src/Converter.cpp:353
msgid ""
"<p><b>Your current preference settings forbid its execution.</b></p><p>(To "
"change this setting, go to <i>Preferences ▹ File Handling ▹ "
@@ -28868,15 +28898,15 @@ msgstr ""
"Konverter</i> und deaktivieren Sie <i>Sicherheit ▹ Verbiete die "
"Verwendung autorisierungspflichtiger Konverter</i>.)"
-#: src/Converter.cpp:356
+#: src/Converter.cpp:362
msgid "A LaTeX backend requires your authorization"
msgstr "Ein LaTeX-Prozessor muss von Ihnen autorisiert werden"
-#: src/Converter.cpp:357
+#: src/Converter.cpp:363
msgid "An external converter requires your authorization"
msgstr "Ein externer Konverter muss von Ihnen autorisiert werden"
-#: src/Converter.cpp:360
+#: src/Converter.cpp:366
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>"
@@ -28885,7 +28915,7 @@ msgstr ""
"p><p><b>Erlauben Sie dies nur, wenn Sie der Herkunft des LyX-Dokuments "
"vertrauen!</b></p>"
-#: src/Converter.cpp:363
+#: src/Converter.cpp:369
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>"
@@ -28893,35 +28923,35 @@ msgstr ""
"<p>Möchten Sie diesen Konverter ausführen?</p><p><b>Tun Sie dies nur, wenn "
"Sie der Herkunft des LyX-Dokuments vertrauen!</b></p>"
-#: src/Converter.cpp:367
+#: src/Converter.cpp:373
msgid "Do ¬ allow"
msgstr "&Nicht erlauben"
-#: src/Converter.cpp:367
+#: src/Converter.cpp:373
msgid "Do ¬ run"
msgstr "&Nicht ausführen"
-#: src/Converter.cpp:368
+#: src/Converter.cpp:374
msgid "A&llow"
msgstr "&Erlauben"
-#: src/Converter.cpp:368
+#: src/Converter.cpp:374
msgid "&Run"
msgstr "Aus&führen"
-#: src/Converter.cpp:370
+#: src/Converter.cpp:376
msgid "&Always allow for this document"
msgstr "Für dieses &Dokument immer erlauben"
-#: src/Converter.cpp:371
+#: src/Converter.cpp:377
msgid "&Always run for this document"
msgstr "Für dieses &Dokument immer ausführen"
-#: src/Converter.cpp:441 src/Converter.cpp:686 src/Converter.cpp:715
+#: src/Converter.cpp:447 src/Converter.cpp:693 src/Converter.cpp:722
msgid "Converter killed"
msgstr "Konverter getötet"
-#: src/Converter.cpp:442 src/Converter.cpp:687 src/Converter.cpp:716
+#: src/Converter.cpp:448 src/Converter.cpp:694 src/Converter.cpp:723
#, c-format
msgid ""
"The following converter was killed by the user.\n"
@@ -28930,12 +28960,12 @@ msgstr ""
"Der folgende Konverter wurde vom Benutzer getötet:\n"
" %1$s\n"
-#: src/Converter.cpp:461 src/Converter.cpp:744 src/Converter.cpp:767
-#: src/Converter.cpp:809
+#: src/Converter.cpp:467 src/Converter.cpp:751 src/Converter.cpp:774
+#: src/Converter.cpp:816
msgid "Cannot convert file"
msgstr "Die Datei kann nicht konvertiert werden"
-#: src/Converter.cpp:462
+#: src/Converter.cpp:468
#, c-format
msgid ""
"No information for converting %1$s format files to %2$s.\n"
@@ -28945,11 +28975,11 @@ msgstr ""
"konvertieren.\n"
"Definieren Sie einen Konverter in den Einstellungen."
-#: src/Converter.cpp:567 src/frontends/qt/GuiDocument.cpp:2000
+#: src/Converter.cpp:573 src/frontends/qt/GuiDocument.cpp:2004
msgid "Pygments driver command not found!"
msgstr "Pygments-Treiberbefehl nicht gefunden!"
-#: src/Converter.cpp:568 src/frontends/qt/GuiDocument.cpp:2001
+#: src/Converter.cpp:574 src/frontends/qt/GuiDocument.cpp:2005
msgid ""
"The driver command necessary to use the minted package\n"
"(pygmentize) has not been found. Make sure you have\n"
@@ -28971,15 +29001,15 @@ msgstr ""
"\n"
"Ersetzen Sie dabei ,Treiber` durch den Namen des Treibers."
-#: src/Converter.cpp:662 src/Format.cpp:708 src/Format.cpp:778
+#: src/Converter.cpp:669 src/Format.cpp:708 src/Format.cpp:778
msgid "Executing command: "
msgstr "Befehl wird ausgeführt: "
-#: src/Converter.cpp:727
+#: src/Converter.cpp:734
msgid "Process Killed"
msgstr "Prozess getötet"
-#: src/Converter.cpp:728
+#: src/Converter.cpp:735
#, c-format
msgid ""
"The conversion process was killed while running:\n"
@@ -28988,11 +29018,11 @@ msgstr ""
"Der Konvertierungsprozess wurde getötet, während folgender Prozess lief:\n"
"%1$s"
-#: src/Converter.cpp:733
+#: src/Converter.cpp:740
msgid "Process Timed Out"
msgstr "Prozesszeit abgelaufen"
-#: src/Converter.cpp:734
+#: src/Converter.cpp:741
#, c-format
msgid ""
"The conversion process:\n"
@@ -29003,15 +29033,15 @@ msgstr ""
"wurde wegen Zeitüberschreitung abgebrochen:\n"
"%1$s"
-#: src/Converter.cpp:739
+#: src/Converter.cpp:746
msgid "Build errors"
msgstr "Fehler bei der Erstellung"
-#: src/Converter.cpp:740
+#: src/Converter.cpp:747
msgid "There were errors during the build process."
msgstr "Während des Erstellungsprozesses sind Fehler aufgetreten."
-#: src/Converter.cpp:745
+#: src/Converter.cpp:752
#, c-format
msgid ""
"An error occurred while running:\n"
@@ -29021,40 +29051,40 @@ msgstr ""
"%1$s\n"
"ist ein Fehler aufgetreten"
-#: src/Converter.cpp:768
+#: src/Converter.cpp:775
#, c-format
msgid "Could not move a temporary directory from %1$s to %2$s."
msgstr ""
"Ein temporäres Verzeichnis konnte nicht von %1$s nach %2$s verschoben werden."
-#: src/Converter.cpp:811
+#: src/Converter.cpp:818
#, c-format
msgid "Could not copy a temporary file from %1$s to %2$s."
msgstr "Eine temporäre Datei konnte nicht von %1$s nach %2$s kopiert werden."
-#: src/Converter.cpp:812
+#: src/Converter.cpp:819
#, c-format
msgid "Could not move a temporary file from %1$s to %2$s."
msgstr ""
"Eine temporäre Datei konnte nicht von %1$s nach %2$s verschoben werden."
-#: src/Converter.cpp:852
+#: src/Converter.cpp:859
msgid "Running LaTeX..."
msgstr "LaTeX wird ausgeführt..."
-#: src/Converter.cpp:869
+#: src/Converter.cpp:876
msgid "Export canceled"
msgstr "Export abgebrochen"
-#: src/Converter.cpp:870
+#: src/Converter.cpp:877
msgid "The export process was terminated by the user."
msgstr "Der Export-Prozess wurde vom Benutzer beendet."
-#: src/Converter.cpp:880
+#: src/Converter.cpp:887
msgid "Undefined reference"
msgstr "Undefinierter Verweis"
-#: src/Converter.cpp:881
+#: src/Converter.cpp:888
msgid ""
"Undefined references or citations were found during the build.\n"
"Please check the warnings in the LaTeX log (Document > LaTeX Log)."
@@ -29063,7 +29093,7 @@ msgstr ""
"Bitte prüfen Sie die Warnungen im LaTeX-Protokoll (Dokument > LateX-"
"Protokoll)."
-#: src/Converter.cpp:893
+#: src/Converter.cpp:900
#, c-format
msgid ""
"LaTeX did not run successfully. Additionally, LyX could not locate the LaTeX "
@@ -29072,11 +29102,11 @@ msgstr ""
"LaTeX wurde nicht erfolgreich ausgeführt. AuÃerdem konnte LyX die LaTeX-"
"Protokolldatei %1$s nicht finden."
-#: src/Converter.cpp:896 src/Converter.cpp:903
+#: src/Converter.cpp:903 src/Converter.cpp:910
msgid "LaTeX failed"
msgstr "LaTeX ist fehlgeschlagen"
-#: src/Converter.cpp:899
+#: src/Converter.cpp:906
#, c-format
msgid ""
"The external program\n"
@@ -29089,11 +29119,11 @@ msgstr ""
"wurde mit einem Fehler beendet. Es wird empfohlen, dass Sie die\n"
"Ursache des Programmfehlers beheben (prüfen Sie die Fehlermeldungen). "
-#: src/Converter.cpp:905
+#: src/Converter.cpp:912
msgid "Output is empty"
msgstr "Die Ausgabe ist leer"
-#: src/Converter.cpp:906
+#: src/Converter.cpp:913
msgid "No output file was generated."
msgstr "Es wurde keine Ausgabedatei erzeugt."
@@ -29201,7 +29231,7 @@ msgstr "&Nicht überschreiben"
msgid "Overwrite &all"
msgstr "&Alle überschreiben"
-#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:788
+#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:792
msgid "&Cancel export"
msgstr "Export &abbrechen"
@@ -29225,17 +29255,17 @@ msgid "Number %1$s"
msgstr "Nummer %1$s"
#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:148
-#: src/frontends/qt/GuiDocument.cpp:4890 src/frontends/qt/GuiListings.cpp:167
+#: src/frontends/qt/GuiDocument.cpp:4908 src/frontends/qt/GuiListings.cpp:167
msgid "Roman"
msgstr "Serifenschrift"
#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:149
-#: src/frontends/qt/GuiDocument.cpp:4890 src/frontends/qt/GuiListings.cpp:167
+#: src/frontends/qt/GuiDocument.cpp:4908 src/frontends/qt/GuiListings.cpp:167
msgid "Sans Serif"
msgstr "Serifenlos"
#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:150
-#: src/frontends/qt/GuiDocument.cpp:4890 src/frontends/qt/GuiListings.cpp:167
+#: src/frontends/qt/GuiDocument.cpp:4908 src/frontends/qt/GuiListings.cpp:167
msgid "Typewriter"
msgstr "Schreibmaschine"
@@ -29319,7 +29349,7 @@ msgstr "Eigenname %1$s, "
msgid "Cannot view file"
msgstr "Datei kann nicht betrachtet werden"
-#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3949
+#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3986
#, c-format
msgid "File does not exist: %1$s"
msgstr "Die Datei existiert nicht: %1$s"
@@ -30380,7 +30410,7 @@ msgstr "LyX-VK: Protokollmeldung"
msgid "(no log message)"
msgstr "(keine Protokollmeldung)"
-#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3812
+#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3849
msgid "LyX VC: Log Message"
msgstr "LyX VK: Protokollmeldung"
@@ -30401,7 +30431,7 @@ msgstr ""
msgid "Revert to stored version of document?"
msgstr "Zur gespeicherten Version des Dokuments zurückkehren?"
-#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4396
+#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4433
msgid "&Revert"
msgstr "&Wiederherstellen"
@@ -30538,40 +30568,40 @@ msgstr "Bereits im Regexp-Modus"
msgid "Regexp editor mode"
msgstr "Regexp-Editor-Modus"
-#: src/Text3.cpp:1602
+#: src/Text3.cpp:1605
msgid "Layout "
msgstr "Format "
-#: src/Text3.cpp:1603 src/Text3.cpp:2173
+#: src/Text3.cpp:1606 src/Text3.cpp:2176
msgid " not known"
msgstr " unbekannt"
-#: src/Text3.cpp:2172
+#: src/Text3.cpp:2175
msgid "Table Style "
msgstr "Tabellenstil"
-#: src/Text3.cpp:2365 src/frontends/qt/GuiApplication.cpp:1873
+#: src/Text3.cpp:2368 src/frontends/qt/GuiApplication.cpp:1873
msgid "Missing argument"
msgstr "Fehlendes Argument"
-#: src/Text3.cpp:2534
+#: src/Text3.cpp:2537
msgid "Invalid argument (number exceeds stack size)!"
msgstr "Ungültiges Argument (Zahl gröÃer als Zwischenspeicher)!"
-#: src/Text3.cpp:2538
+#: src/Text3.cpp:2541
msgid "Invalid argument (must be a non-negative number)!"
msgstr "Ungültiges Argument (muss eine nicht-negative Zahl sein)!"
-#: src/Text3.cpp:2543 src/Text3.cpp:2561
+#: src/Text3.cpp:2546 src/Text3.cpp:2564
#, c-format
msgid "Text properties applied: %1$s"
msgstr "Angewendete Texteigenschaften: %1$s"
-#: src/Text3.cpp:2720
+#: src/Text3.cpp:2723
msgid "Path to thesaurus directory not set!"
msgstr "Pfad zum Thesaurus-Wörterbuch nicht festlegt!"
-#: src/Text3.cpp:2721
+#: src/Text3.cpp:2724
msgid ""
"The path to the thesaurus directory has not been specified.\n"
"The thesaurus is not functional.\n"
@@ -30583,7 +30613,7 @@ msgstr ""
"Im Benutzerhandbuch, Abschnitt 6.15.11, finden Sie Hinweise,\n"
"um den Thesaurus einzurichten."
-#: src/Text3.cpp:2847 src/Text3.cpp:2858
+#: src/Text3.cpp:2850 src/Text3.cpp:2861
msgid "Paragraph layout set"
msgstr "Absatzformat festgelegt"
@@ -30707,8 +30737,8 @@ msgstr ""
msgid "Error reading cite engine %1$s\n"
msgstr "Fehler beim Lesen der Zitierformatdatei %1$s\n"
-#: src/TocBackend.cpp:270 src/insets/InsetIndex.cpp:477
-#: src/insets/InsetIndex.cpp:498
+#: src/TocBackend.cpp:270 src/insets/InsetIndex.cpp:500
+#: src/insets/InsetIndex.cpp:521
msgid "unknown type!"
msgstr "unbekannter Typ!"
@@ -30741,7 +30771,7 @@ msgstr "Marken und Querverweise"
msgid "Broken References and Citations"
msgstr "Ungültige Literatur- und Querverweise"
-#: src/TocBackend.cpp:296 src/frontends/qt/GuiDocument.cpp:1770
+#: src/TocBackend.cpp:296 src/frontends/qt/GuiDocument.cpp:1774
msgid "Child Documents"
msgstr "Unterdokumente"
@@ -30765,7 +30795,7 @@ msgstr "Prüfen Sie, ob das Programm GNU RCS auf Ihrem System installiert ist."
#: src/VCBackend.cpp:934 src/VCBackend.cpp:993 src/VCBackend.cpp:1052
#: src/VCBackend.cpp:1060 src/VCBackend.cpp:1348 src/VCBackend.cpp:1450
#: src/VCBackend.cpp:1456 src/VCBackend.cpp:1479 src/VCBackend.cpp:1964
-#: src/frontends/qt/GuiView.cpp:3728 src/frontends/qt/GuiView.cpp:3771
+#: src/frontends/qt/GuiView.cpp:3765 src/frontends/qt/GuiView.cpp:3808
msgid "Revision control error."
msgstr "Fehler der Versionskontrolle."
@@ -30965,14 +30995,14 @@ msgstr ""
"Fortfahren?"
#: src/VCBackend.cpp:1522 src/VCBackend.cpp:1526
-#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1896
+#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1895
#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:351
#: src/lyxfind.cpp:694 src/lyxfind.cpp:722
msgid "&Yes"
msgstr "&Ja"
#: src/VCBackend.cpp:1522 src/VCBackend.cpp:1526
-#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1896
+#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1895
#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:351
#: src/lyxfind.cpp:694 src/lyxfind.cpp:722
msgid "&No"
@@ -31030,7 +31060,7 @@ msgstr ""
"Möchten Sie die Ãnderungen verwerfen und zur gespeicherten Version "
"zurückkehren?"
-#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4387
+#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4424
msgid "Reload saved document?"
msgstr "Gespeichertes Dokument neu laden?"
@@ -31117,7 +31147,7 @@ msgid "Cancel"
msgstr "Abbrechen"
#: src/frontends/qt/ButtonController.cpp:224
-#: src/frontends/qt/GuiCompare.cpp:191 src/frontends/qt/GuiDelimiter.cpp:412
+#: src/frontends/qt/GuiCompare.cpp:191 src/frontends/qt/GuiDelimiter.cpp:413
#: src/frontends/qt/GuiSymbols.cpp:348
msgid "Close"
msgstr "SchlieÃen"
@@ -31216,8 +31246,8 @@ msgstr ""
"Eingabetaste)"
#: src/frontends/qt/FloatPlacement.cpp:182
-#: src/frontends/qt/GuiDocument.cpp:1149 src/frontends/qt/GuiDocument.cpp:2717
-#: src/frontends/qt/GuiDocument.cpp:2744
+#: src/frontends/qt/GuiDocument.cpp:1149 src/frontends/qt/GuiDocument.cpp:2725
+#: src/frontends/qt/GuiDocument.cpp:2752
msgid "Class Default"
msgstr "Klassenvoreinstellungen"
@@ -31225,7 +31255,7 @@ msgstr "Klassenvoreinstellungen"
msgid "Document Default"
msgstr "Dokumentvoreinstellung"
-#: src/frontends/qt/FloatPlacement.h:38 src/frontends/qt/GuiDocument.cpp:1785
+#: src/frontends/qt/FloatPlacement.h:38 src/frontends/qt/GuiDocument.cpp:1789
msgid "Float Settings"
msgstr "Gleitobjekt-Einstellungen"
@@ -31341,7 +31371,7 @@ msgstr "Ãber LyX"
msgid "About %1"
msgstr "Ãber %1"
-#: src/frontends/qt/GuiApplication.cpp:737 src/frontends/qt/GuiPrefs.cpp:3529
+#: src/frontends/qt/GuiApplication.cpp:737 src/frontends/qt/GuiPrefs.cpp:3528
msgid "Preferences"
msgstr "Einstellungen"
@@ -31395,7 +31425,7 @@ msgstr "Befehl ist deaktiviert"
msgid "Bad debug value `%1$s'."
msgstr "Falscher Debug-Wert ,%1$s'."
-#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2165
+#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2214
msgid "Command not allowed without a buffer open"
msgstr "Dieser Befehl ist nur bei geöffnetem Dokument möglich"
@@ -31488,16 +31518,16 @@ msgstr "Dokument-Standardeinstellungen gespeichert in %1$s"
msgid "Unable to save document defaults"
msgstr "Die Dokument-Standardeinstellungen können nicht gespeichert werden"
-#: src/frontends/qt/GuiApplication.cpp:2468
-#: src/frontends/qt/GuiApplication.cpp:2483
+#: src/frontends/qt/GuiApplication.cpp:2474
+#: src/frontends/qt/GuiApplication.cpp:2489
msgid "Unknown function."
msgstr "Unbekannte Funktion."
-#: src/frontends/qt/GuiApplication.cpp:3013
+#: src/frontends/qt/GuiApplication.cpp:3024
msgid "The current document was closed."
msgstr "Das aktuelle Dokument wurde geschlossen."
-#: src/frontends/qt/GuiApplication.cpp:3023
+#: src/frontends/qt/GuiApplication.cpp:3034
msgid ""
"LyX has caught an exception, it will now attempt to save all unsaved "
"documents and exit.\n"
@@ -31509,12 +31539,12 @@ msgstr ""
"\n"
"Exception: "
-#: src/frontends/qt/GuiApplication.cpp:3027
-#: src/frontends/qt/GuiApplication.cpp:3033
+#: src/frontends/qt/GuiApplication.cpp:3038
+#: src/frontends/qt/GuiApplication.cpp:3044
msgid "Software exception Detected"
msgstr "Softwareausnahme erkannt"
-#: src/frontends/qt/GuiApplication.cpp:3031
+#: src/frontends/qt/GuiApplication.cpp:3042
msgid ""
"LyX has caught some really weird exception, it will now attempt to save all "
"unsaved documents and exit."
@@ -31522,12 +31552,12 @@ msgstr ""
"LyX hat einen ziemlich seltsamen Fehler entdeckt. Das Programm wird jetzt "
"versuchen, alle ungespeicherten Dateien zu speichern, und dann beendet."
-#: src/frontends/qt/GuiApplication.cpp:3337
-#: src/frontends/qt/GuiApplication.cpp:3349
+#: src/frontends/qt/GuiApplication.cpp:3348
+#: src/frontends/qt/GuiApplication.cpp:3360
msgid "Could not find UI definition file"
msgstr "Die Benutzeroberflächen-Definitionsdatei konnte nicht gefunden werden"
-#: src/frontends/qt/GuiApplication.cpp:3338
+#: src/frontends/qt/GuiApplication.cpp:3349
#, c-format
msgid ""
"Error while reading the included file\n"
@@ -31538,13 +31568,13 @@ msgstr ""
"%1$s.\n"
"Bitte überprüfen Sie Ihre Installation."
-#: src/frontends/qt/GuiApplication.cpp:3344
+#: src/frontends/qt/GuiApplication.cpp:3355
msgid "Could not find default UI file"
msgstr ""
"Die Standard-Benutzeroberflächen-Definitionsdatei konnte nicht gefunden "
"werden"
-#: src/frontends/qt/GuiApplication.cpp:3345
+#: src/frontends/qt/GuiApplication.cpp:3356
msgid ""
"LyX could not find the default UI file!\n"
"Please check your installation."
@@ -31553,7 +31583,7 @@ msgstr ""
"für die Benutzeroberfläche!\n"
"Bitte überprüfen Sie Ihre Installation."
-#: src/frontends/qt/GuiApplication.cpp:3350
+#: src/frontends/qt/GuiApplication.cpp:3361
#, c-format
msgid ""
"Error while reading the configuration file\n"
@@ -31664,12 +31694,12 @@ msgstr "alle Literaturverzeichnisse"
#: src/frontends/qt/GuiBibtex.cpp:456 src/frontends/qt/GuiBibtex.cpp:466
#: src/frontends/qt/GuiCompare.cpp:163 src/frontends/qt/GuiCompare.cpp:167
-#: src/frontends/qt/GuiDocument.cpp:2895 src/frontends/qt/GuiExternal.cpp:677
-#: src/frontends/qt/GuiGraphics.cpp:789 src/frontends/qt/GuiInclude.cpp:380
+#: src/frontends/qt/GuiDocument.cpp:2903 src/frontends/qt/GuiExternal.cpp:677
+#: src/frontends/qt/GuiGraphics.cpp:826 src/frontends/qt/GuiInclude.cpp:380
#: src/frontends/qt/GuiLyXFiles.cpp:368 src/frontends/qt/GuiLyXFiles.cpp:374
-#: src/frontends/qt/GuiView.cpp:2578 src/frontends/qt/GuiView.cpp:2637
-#: src/frontends/qt/GuiView.cpp:2777 src/frontends/qt/GuiView.cpp:2911
-#: src/frontends/qt/GuiView.cpp:3031 src/frontends/qt/GuiView.cpp:3153
+#: src/frontends/qt/GuiView.cpp:2615 src/frontends/qt/GuiView.cpp:2674
+#: src/frontends/qt/GuiView.cpp:2814 src/frontends/qt/GuiView.cpp:2948
+#: src/frontends/qt/GuiView.cpp:3068 src/frontends/qt/GuiView.cpp:3190
msgid "D&ocuments"
msgstr "Do&kumente"
@@ -31751,7 +31781,7 @@ msgid "Filename Suffix"
msgstr "Erweitere Dateinamen"
#: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:149
-#: src/frontends/qt/GuiDocument.cpp:3331 src/frontends/qt/GuiDocument.cpp:4626
+#: src/frontends/qt/GuiDocument.cpp:3339 src/frontends/qt/GuiDocument.cpp:4644
#: src/frontends/qt/GuiProgressView.cpp:144
#: src/frontends/qt/GuiProgressView.cpp:158
#: src/frontends/qt/GuiProgressView.cpp:179
@@ -31759,8 +31789,8 @@ msgid "Yes"
msgstr "Ja"
#: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:149
-#: src/frontends/qt/GuiDocument.cpp:3330 src/frontends/qt/GuiDocument.cpp:3957
-#: src/frontends/qt/GuiDocument.cpp:4625
+#: src/frontends/qt/GuiDocument.cpp:3338 src/frontends/qt/GuiDocument.cpp:3972
+#: src/frontends/qt/GuiDocument.cpp:4643
#: src/frontends/qt/GuiProgressView.cpp:110
#: src/frontends/qt/GuiProgressView.cpp:143
#: src/frontends/qt/GuiProgressView.cpp:179
@@ -32030,10 +32060,10 @@ msgstr "%1$s Dateien"
msgid "Choose a filename to save the pasted graphic as"
msgstr "Wählen Sie einen Dateinamen, um die eingefügte Grafik zu speichern als"
-#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2655
-#: src/frontends/qt/GuiView.cpp:2796 src/frontends/qt/GuiView.cpp:2812
-#: src/frontends/qt/GuiView.cpp:2824 src/frontends/qt/GuiView.cpp:2841
-#: src/frontends/qt/GuiView.cpp:2926 src/frontends/qt/GuiView.cpp:4359
+#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2692
+#: src/frontends/qt/GuiView.cpp:2833 src/frontends/qt/GuiView.cpp:2849
+#: src/frontends/qt/GuiView.cpp:2861 src/frontends/qt/GuiView.cpp:2878
+#: src/frontends/qt/GuiView.cpp:2963 src/frontends/qt/GuiView.cpp:4396
msgid "Canceled."
msgstr "Abgebrochen."
@@ -32063,8 +32093,8 @@ msgid "Select document"
msgstr "Dokument wählen"
#: src/frontends/qt/GuiCompare.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:367
-#: src/frontends/qt/GuiView.cpp:2582 src/frontends/qt/GuiView.cpp:2641
-#: src/frontends/qt/GuiView.cpp:2915 src/frontends/qt/GuiView.cpp:3042
+#: src/frontends/qt/GuiView.cpp:2619 src/frontends/qt/GuiView.cpp:2678
+#: src/frontends/qt/GuiView.cpp:2952 src/frontends/qt/GuiView.cpp:3079
msgid "LyX Documents (*.lyx)"
msgstr "LyX-Dokumente (*.lyx)"
@@ -32116,15 +32146,15 @@ msgstr "Bigg"
msgid "Math Delimiter"
msgstr "Mathe-Trennzeichen"
-#: src/frontends/qt/GuiDelimiter.cpp:271 src/frontends/qt/GuiDelimiter.cpp:274
+#: src/frontends/qt/GuiDelimiter.cpp:272 src/frontends/qt/GuiDelimiter.cpp:275
msgid "(None)"
msgstr "(Kein)"
-#: src/frontends/qt/GuiDelimiter.cpp:272 src/frontends/qt/GuiDelimiter.cpp:275
+#: src/frontends/qt/GuiDelimiter.cpp:273 src/frontends/qt/GuiDelimiter.cpp:276
msgid "No Delimiter"
msgstr "Kein Trennzeichen"
-#: src/frontends/qt/GuiDelimiter.cpp:280
+#: src/frontends/qt/GuiDelimiter.cpp:281
msgid "Variable"
msgstr "Variabel"
@@ -32398,54 +32428,54 @@ msgstr "JIS B5"
msgid "JIS B6"
msgstr "JIS B6"
-#: src/frontends/qt/GuiDocument.cpp:1355
+#: src/frontends/qt/GuiDocument.cpp:1357
msgid "Numbered"
msgstr "Nummeriert"
-#: src/frontends/qt/GuiDocument.cpp:1356
+#: src/frontends/qt/GuiDocument.cpp:1358
msgid "Appears in TOC"
msgstr "Erscheint im Inhaltsverzeichnis"
-#: src/frontends/qt/GuiDocument.cpp:1444
+#: src/frontends/qt/GuiDocument.cpp:1446
msgid "Package"
msgstr "Paket"
-#: src/frontends/qt/GuiDocument.cpp:1444
+#: src/frontends/qt/GuiDocument.cpp:1446
msgid "Load automatically"
msgstr "Automatisch laden"
-#: src/frontends/qt/GuiDocument.cpp:1445
+#: src/frontends/qt/GuiDocument.cpp:1447
msgid "Load always"
msgstr "Immer laden"
-#: src/frontends/qt/GuiDocument.cpp:1445
+#: src/frontends/qt/GuiDocument.cpp:1447
msgid "Do not load"
msgstr "Nicht laden"
-#: src/frontends/qt/GuiDocument.cpp:1457
+#: src/frontends/qt/GuiDocument.cpp:1459
msgid "The AMS LaTeX packages are always used"
msgstr "Die AMS-LaTeX-Pakete werden immer verwendet"
-#: src/frontends/qt/GuiDocument.cpp:1460
+#: src/frontends/qt/GuiDocument.cpp:1462
#, c-format
msgid "The LaTeX package %1$s is always used"
msgstr "Das LaTeX-Paket %1$s wird immer verwendet"
-#: src/frontends/qt/GuiDocument.cpp:1465
+#: src/frontends/qt/GuiDocument.cpp:1467
msgid "The AMS LaTeX packages are never used"
msgstr "Die AMS-LaTeX-Pakete werden nie verwendet"
-#: src/frontends/qt/GuiDocument.cpp:1468
+#: src/frontends/qt/GuiDocument.cpp:1470
#, c-format
msgid "The LaTeX package %1$s is never used"
msgstr "Das LaTeX-Paket %1$s wird nie verwendet"
-#: src/frontends/qt/GuiDocument.cpp:1605 src/frontends/qt/GuiDocument.cpp:2874
+#: src/frontends/qt/GuiDocument.cpp:1607 src/frontends/qt/GuiDocument.cpp:2882
#, c-format
msgid "%1$s [Class '%2$s']"
msgstr "%1$s [Klasse '%2$s']"
-#: src/frontends/qt/GuiDocument.cpp:1608
+#: src/frontends/qt/GuiDocument.cpp:1610
#, c-format
msgid ""
"Class not found by LyX. Please check if you have the matching %1$s class and "
@@ -32454,83 +32484,83 @@ msgstr ""
"Klasse wurde von LyX nicht gefunden. Bitte prüfen Sie, ob Sie die "
"entsprechende %1$s-Klasse und alle nötigen Pakete (%2$s) installiert haben."
-#: src/frontends/qt/GuiDocument.cpp:1670
+#: src/frontends/qt/GuiDocument.cpp:1672
msgid "All avail. modules"
msgstr "Alle verf. Module"
-#: src/frontends/qt/GuiDocument.cpp:1762 src/frontends/qt/GuiDocument.cpp:1986
+#: src/frontends/qt/GuiDocument.cpp:1766 src/frontends/qt/GuiDocument.cpp:1990
msgid "Input listings parameters below. Enter ? for a list of parameters."
msgstr ""
"Geben Sie unten Listing-Parameter ein. Geben Sie '?' für eine Liste gültiger "
"Parameter ein."
-#: src/frontends/qt/GuiDocument.cpp:1769
+#: src/frontends/qt/GuiDocument.cpp:1773
msgid "Document Class"
msgstr "Dokumentklasse"
-#: src/frontends/qt/GuiDocument.cpp:1772
+#: src/frontends/qt/GuiDocument.cpp:1776
msgid "Local Layout"
msgstr "Lokales Format"
-#: src/frontends/qt/GuiDocument.cpp:1774
+#: src/frontends/qt/GuiDocument.cpp:1778
msgid "Text Layout"
msgstr "Textformat"
-#: src/frontends/qt/GuiDocument.cpp:1776
+#: src/frontends/qt/GuiDocument.cpp:1780
msgid "Page Margins"
msgstr "Seitenränder"
-#: src/frontends/qt/GuiDocument.cpp:1778 src/frontends/qt/GuiPrefs.cpp:1076
+#: src/frontends/qt/GuiDocument.cpp:1782 src/frontends/qt/GuiPrefs.cpp:1080
msgid "Colors"
msgstr "Farben"
-#: src/frontends/qt/GuiDocument.cpp:1779
+#: src/frontends/qt/GuiDocument.cpp:1783
msgid "Change Tracking"
msgstr "Ãnderungsverfolgung"
-#: src/frontends/qt/GuiDocument.cpp:1780
+#: src/frontends/qt/GuiDocument.cpp:1784
msgid "Numbering & TOC"
msgstr "Nummerierung & Inhaltsverzeichnis"
-#: src/frontends/qt/GuiDocument.cpp:1782
+#: src/frontends/qt/GuiDocument.cpp:1786
msgid "Indexes"
msgstr "Stichwortverzeichnis"
-#: src/frontends/qt/GuiDocument.cpp:1783
+#: src/frontends/qt/GuiDocument.cpp:1787
msgid "PDF Properties"
msgstr "PDF-Eigenschaften"
-#: src/frontends/qt/GuiDocument.cpp:1784
+#: src/frontends/qt/GuiDocument.cpp:1788
msgid "Math Options"
msgstr "Mathe-Optionen"
-#: src/frontends/qt/GuiDocument.cpp:1787
+#: src/frontends/qt/GuiDocument.cpp:1791
msgid "Bullets"
msgstr "Auflistungszeichen"
-#: src/frontends/qt/GuiDocument.cpp:1789
+#: src/frontends/qt/GuiDocument.cpp:1793
msgid "Formats[[output]]"
msgstr "Formate"
-#: src/frontends/qt/GuiDocument.cpp:1790
+#: src/frontends/qt/GuiDocument.cpp:1794
msgid "LaTeX Preamble"
msgstr "LaTeX-Vorspann"
-#: src/frontends/qt/GuiDocument.cpp:2095 src/frontends/qt/GuiDocument.cpp:2181
+#: src/frontends/qt/GuiDocument.cpp:2099 src/frontends/qt/GuiDocument.cpp:2185
msgid "Class defaults"
msgstr "Klassenvoreinstellung"
-#: src/frontends/qt/GuiDocument.cpp:2095 src/frontends/qt/GuiDocument.cpp:2181
+#: src/frontends/qt/GuiDocument.cpp:2099 src/frontends/qt/GuiDocument.cpp:2185
msgid "Package defaults"
msgstr "Paketvoreinstellung"
-#: src/frontends/qt/GuiDocument.cpp:2098 src/frontends/qt/GuiDocument.cpp:2184
+#: src/frontends/qt/GuiDocument.cpp:2102 src/frontends/qt/GuiDocument.cpp:2188
msgid "If no value is given, the defaults as set by the class are used."
msgstr ""
"Wenn kein Wert angegeben wird, werden die Voreinstellungen der Klasse "
"verwendet."
-#: src/frontends/qt/GuiDocument.cpp:2099 src/frontends/qt/GuiDocument.cpp:2185
+#: src/frontends/qt/GuiDocument.cpp:2103 src/frontends/qt/GuiDocument.cpp:2189
msgid ""
"If no value is given, the defaults as set by the geometry package or a "
"package/class overriding geometry's defaults are used."
@@ -32539,49 +32569,49 @@ msgstr ""
"Pakets oder eines Pakets bzw. der Klasse verwendet, falls diese die Geometry-"
"Voreinstellungen überschreiben."
-#: src/frontends/qt/GuiDocument.cpp:2228 src/frontends/qt/GuiDocument.cpp:2258
+#: src/frontends/qt/GuiDocument.cpp:2232 src/frontends/qt/GuiDocument.cpp:2262
msgid "&Default..."
msgstr "Stan&dard..."
-#: src/frontends/qt/GuiDocument.cpp:2459
+#: src/frontends/qt/GuiDocument.cpp:2463
msgid "Direct (No inputenc)"
msgstr "Direkt (ohne inputenc)"
-#: src/frontends/qt/GuiDocument.cpp:2461
+#: src/frontends/qt/GuiDocument.cpp:2465
msgid "Direct (XeTeX/LuaTeX)"
msgstr "Direkt (XeTeX/LuaTeX)"
-#: src/frontends/qt/GuiDocument.cpp:2647 src/frontends/qt/GuiDocument.cpp:4301
-#: src/frontends/qt/GuiDocument.cpp:4310 src/frontends/qt/GuiDocument.cpp:4319
-#: src/frontends/qt/GuiDocument.cpp:4328
+#: src/frontends/qt/GuiDocument.cpp:2651 src/frontends/qt/GuiDocument.cpp:4316
+#: src/frontends/qt/GuiDocument.cpp:4325 src/frontends/qt/GuiDocument.cpp:4334
+#: src/frontends/qt/GuiDocument.cpp:4343
msgid " (not installed)"
msgstr " (nicht installiert)"
-#: src/frontends/qt/GuiDocument.cpp:2676
+#: src/frontends/qt/GuiDocument.cpp:2680
msgid "Non-TeX Fonts Default"
msgstr "Voreinstellung Nicht-TeX Schriften"
-#: src/frontends/qt/GuiDocument.cpp:2678
+#: src/frontends/qt/GuiDocument.cpp:2682
msgid " (not available)"
msgstr " (nicht verfügbar)"
-#: src/frontends/qt/GuiDocument.cpp:2679
+#: src/frontends/qt/GuiDocument.cpp:2683
msgid "Class Default (TeX Fonts)"
msgstr "Klassenvoreinstellungen (TeX-Schriften)"
-#: src/frontends/qt/GuiDocument.cpp:2826
+#: src/frontends/qt/GuiDocument.cpp:2834
msgid "Lay&outs"
msgstr "F&ormatdateien"
-#: src/frontends/qt/GuiDocument.cpp:2828
+#: src/frontends/qt/GuiDocument.cpp:2836
msgid "LyX Layout (*.layout)"
msgstr "LyX-Formatdatei (*.layout)"
-#: src/frontends/qt/GuiDocument.cpp:2830 src/frontends/qt/GuiDocument.cpp:2839
+#: src/frontends/qt/GuiDocument.cpp:2838 src/frontends/qt/GuiDocument.cpp:2847
msgid "Local layout file"
msgstr "Lokale Formatdatei"
-#: src/frontends/qt/GuiDocument.cpp:2840
+#: src/frontends/qt/GuiDocument.cpp:2848
msgid ""
"The layout file you have selected is a local layout\n"
"file, not one in the system or user directory.\n"
@@ -32594,35 +32624,35 @@ msgstr ""
"kann, müssen Sie sicherstellen, dass die Formatdatei\n"
"nicht verschoben wird."
-#: src/frontends/qt/GuiDocument.cpp:2844
+#: src/frontends/qt/GuiDocument.cpp:2852
msgid "&Set Layout"
msgstr "&Layout übernehmen"
-#: src/frontends/qt/GuiDocument.cpp:2858
+#: src/frontends/qt/GuiDocument.cpp:2866
msgid "Unable to read local layout file."
msgstr "Lokale Formatdatei kann nicht gelesen werden."
-#: src/frontends/qt/GuiDocument.cpp:2875
+#: src/frontends/qt/GuiDocument.cpp:2883
msgid "This is a local layout file."
msgstr "Dies ist eine lokale Formatdatei."
-#: src/frontends/qt/GuiDocument.cpp:2889
+#: src/frontends/qt/GuiDocument.cpp:2897
msgid "Select master document"
msgstr "Hauptdokument wählen"
-#: src/frontends/qt/GuiDocument.cpp:2893
+#: src/frontends/qt/GuiDocument.cpp:2901
msgid "LyX Files (*.lyx)"
msgstr "LyX-Dokumente (*.lyx)"
# , c-format
# , c-format
-#: src/frontends/qt/GuiDocument.cpp:2917 src/frontends/qt/GuiDocument.cpp:3218
-#: src/frontends/qt/GuiDocument.cpp:4817
+#: src/frontends/qt/GuiDocument.cpp:2925 src/frontends/qt/GuiDocument.cpp:3226
+#: src/frontends/qt/GuiDocument.cpp:4835
msgid "Unapplied changes"
msgstr "Nicht übernommene Ãnderungen"
-#: src/frontends/qt/GuiDocument.cpp:2918 src/frontends/qt/GuiDocument.cpp:3219
-#: src/frontends/qt/GuiDocument.cpp:4818
+#: src/frontends/qt/GuiDocument.cpp:2926 src/frontends/qt/GuiDocument.cpp:3227
+#: src/frontends/qt/GuiDocument.cpp:4836
msgid ""
"Some changes in the dialog were not yet applied.\n"
"If you do not apply now, they will be lost after this action."
@@ -32631,86 +32661,86 @@ msgstr ""
"Wenn Sie sie jetzt nicht anwenden, werden sie nach dieser\n"
"Aktion verlorengehen."
-#: src/frontends/qt/GuiDocument.cpp:2920 src/frontends/qt/GuiDocument.cpp:3221
-#: src/frontends/qt/GuiDocument.cpp:4820
+#: src/frontends/qt/GuiDocument.cpp:2928 src/frontends/qt/GuiDocument.cpp:3229
+#: src/frontends/qt/GuiDocument.cpp:4838
msgid "&Apply"
msgstr "&Anwenden"
-#: src/frontends/qt/GuiDocument.cpp:2920 src/frontends/qt/GuiDocument.cpp:3221
-#: src/frontends/qt/GuiDocument.cpp:4820
+#: src/frontends/qt/GuiDocument.cpp:2928 src/frontends/qt/GuiDocument.cpp:3229
+#: src/frontends/qt/GuiDocument.cpp:4838
msgid "&Dismiss"
msgstr "&Ablehnen"
-#: src/frontends/qt/GuiDocument.cpp:2931 src/frontends/qt/GuiDocument.cpp:4828
+#: src/frontends/qt/GuiDocument.cpp:2939 src/frontends/qt/GuiDocument.cpp:4846
msgid "Unable to set document class."
msgstr "Kann Dokumentklasse nicht einstellen."
-#: src/frontends/qt/GuiDocument.cpp:3097
+#: src/frontends/qt/GuiDocument.cpp:3105
msgid "Basic numerical"
msgstr "Einfach nummerisch"
-#: src/frontends/qt/GuiDocument.cpp:3100
+#: src/frontends/qt/GuiDocument.cpp:3108
msgid "Author-year"
msgstr "Autor-Jahr"
-#: src/frontends/qt/GuiDocument.cpp:3103
+#: src/frontends/qt/GuiDocument.cpp:3111
msgid "Author-number"
msgstr "Autor-Nummer"
-#: src/frontends/qt/GuiDocument.cpp:3143
+#: src/frontends/qt/GuiDocument.cpp:3151
#, c-format
msgid "%1$s and %2$s"
msgstr "%1$s und %2$s"
-#: src/frontends/qt/GuiDocument.cpp:3150
+#: src/frontends/qt/GuiDocument.cpp:3158
#, c-format
msgid "%1$s, %2$s"
msgstr "%1$s, %2$s"
-#: src/frontends/qt/GuiDocument.cpp:3155
+#: src/frontends/qt/GuiDocument.cpp:3163
#, c-format
msgid "%1$s, %2$s, and %3$s"
msgstr "%1$s, %2$s und %3$s"
-#: src/frontends/qt/GuiDocument.cpp:3169
+#: src/frontends/qt/GuiDocument.cpp:3177
#, c-format
msgid "%1$s (unavailable)"
msgstr "%1$s (nicht verfügbar)"
-#: src/frontends/qt/GuiDocument.cpp:3268
+#: src/frontends/qt/GuiDocument.cpp:3276
msgid "Module provided by document class."
msgstr "Von der Dokumentklasse bereitgestelltes Modul."
-#: src/frontends/qt/GuiDocument.cpp:3276
+#: src/frontends/qt/GuiDocument.cpp:3284
#, c-format
msgid "<p><b>Category:</b> %1$s.</p>"
msgstr "<p><b>Kategorie:</b> %1$s.</p>"
-#: src/frontends/qt/GuiDocument.cpp:3286
+#: src/frontends/qt/GuiDocument.cpp:3294
#, c-format
msgid "<p><b>Package(s) required:</b> %1$s.</p>"
msgstr "<p><b>Benötigte Pakete:</b> %1$s.</p>"
-#: src/frontends/qt/GuiDocument.cpp:3292
+#: src/frontends/qt/GuiDocument.cpp:3300
msgid "or"
msgstr "oder"
-#: src/frontends/qt/GuiDocument.cpp:3295
+#: src/frontends/qt/GuiDocument.cpp:3303
#, c-format
msgid "<p><b>Modules required:</b> %1$s.</p>"
msgstr "<p><b>Benötigte Module:</b> %1$s.</p>"
-#: src/frontends/qt/GuiDocument.cpp:3304
+#: src/frontends/qt/GuiDocument.cpp:3312
#, c-format
msgid "<p><b>Modules excluded:</b> %1$s.</p>"
msgstr "<p><b>Ausgeschlossene Module:</b> %1$s.</p>"
-#: src/frontends/qt/GuiDocument.cpp:3309
+#: src/frontends/qt/GuiDocument.cpp:3317
#, c-format
msgid "<p><b>Filename:</b> <tt>%1$s.module</tt>.</p>"
msgstr "<p><b>Dateiname:</b> <tt>%1$s.module</tt>.</p>"
-#: src/frontends/qt/GuiDocument.cpp:3314
+#: src/frontends/qt/GuiDocument.cpp:3322
msgid ""
"<p><font color=red><b>WARNING: Some required packages are unavailable!</b></"
"font></p>"
@@ -32718,61 +32748,61 @@ msgstr ""
"<p><font color=red><b>WARNUNG: Einige benötigte Pakete sind nicht verfügbar!"
"</b></font></p>"
-#: src/frontends/qt/GuiDocument.cpp:3959
+#: src/frontends/qt/GuiDocument.cpp:3974
msgid "per part"
msgstr "pro Teil"
-#: src/frontends/qt/GuiDocument.cpp:3961
+#: src/frontends/qt/GuiDocument.cpp:3976
msgid "per chapter"
msgstr "pro Kapitel"
-#: src/frontends/qt/GuiDocument.cpp:3963
+#: src/frontends/qt/GuiDocument.cpp:3978
msgid "per section"
msgstr "pro Abschnitt"
-#: src/frontends/qt/GuiDocument.cpp:3965
+#: src/frontends/qt/GuiDocument.cpp:3980
msgid "per subsection"
msgstr "pro Unterabschnitt"
-#: src/frontends/qt/GuiDocument.cpp:3966
+#: src/frontends/qt/GuiDocument.cpp:3981
msgid "per child document"
msgstr "pro Unterdokument"
-#: src/frontends/qt/GuiDocument.cpp:3993
+#: src/frontends/qt/GuiDocument.cpp:4008
#, c-format
msgid "%1$s (not available)"
msgstr "%1$s (nicht verfügbar)"
-#: src/frontends/qt/GuiDocument.cpp:4221
+#: src/frontends/qt/GuiDocument.cpp:4236
msgid "[No options predefined]"
msgstr "[Keine Optionen vordefiniert]"
-#: src/frontends/qt/GuiDocument.cpp:4488
+#: src/frontends/qt/GuiDocument.cpp:4503
msgid "C&ustomize Hyperref Options"
msgstr "H&yperref-Optionen anpassen"
-#: src/frontends/qt/GuiDocument.cpp:4490
+#: src/frontends/qt/GuiDocument.cpp:4505
msgid "&Use Hyperref Support"
msgstr "Hyperref-Unterstützung &verwenden"
-#: src/frontends/qt/GuiDocument.cpp:4840
+#: src/frontends/qt/GuiDocument.cpp:4858
msgid "Can't set layout!"
msgstr "Kann Format nicht verwenden!"
-#: src/frontends/qt/GuiDocument.cpp:4841
+#: src/frontends/qt/GuiDocument.cpp:4859
#, c-format
msgid "Unable to set layout for ID: %1$s"
msgstr "Kann Format für ID '%1$s' nicht verwenden"
-#: src/frontends/qt/GuiDocument.cpp:4944
+#: src/frontends/qt/GuiDocument.cpp:4962
msgid "Not Found"
msgstr "Nicht gefunden"
-#: src/frontends/qt/GuiDocument.cpp:5006
+#: src/frontends/qt/GuiDocument.cpp:5024
msgid "Assigned master does not include this file"
msgstr "Zugewiesenes Hauptdokument bettet diese Datei nicht ein"
-#: src/frontends/qt/GuiDocument.cpp:5007
+#: src/frontends/qt/GuiDocument.cpp:5025
#, c-format
msgid ""
"You must include this file in the document\n"
@@ -32783,11 +32813,11 @@ msgstr ""
"'%1$s' einbetten, sonst bleibt die\n"
"vorgenommene Zuordnung des Hauptdokuments wirkungslos."
-#: src/frontends/qt/GuiDocument.cpp:5011
+#: src/frontends/qt/GuiDocument.cpp:5029
msgid "Could not load master"
msgstr "Konnte das Hauptdokument nicht laden"
-#: src/frontends/qt/GuiDocument.cpp:5012
+#: src/frontends/qt/GuiDocument.cpp:5030
#, c-format
msgid ""
"The master document '%1$s'\n"
@@ -32796,23 +32826,23 @@ msgstr ""
"Das Hauptdokument '%1$s'\n"
"konnte nicht geladen werden."
-#: src/frontends/qt/GuiDocument.cpp:5162
+#: src/frontends/qt/GuiDocument.cpp:5180
msgid "%1 (missing req.)"
msgstr "%1 (fehlende Vor.)"
-#: src/frontends/qt/GuiDocument.cpp:5174
+#: src/frontends/qt/GuiDocument.cpp:5192
msgid "personal module"
msgstr "persönliches Modul"
-#: src/frontends/qt/GuiDocument.cpp:5174
+#: src/frontends/qt/GuiDocument.cpp:5192
msgid "distributed module"
msgstr "mitgeliefertes Modul"
-#: src/frontends/qt/GuiDocument.cpp:5175
+#: src/frontends/qt/GuiDocument.cpp:5193
msgid "<b>Module name:</b> <i>%1</i> (%2)"
msgstr "<b>Modulname:</b> <i>%1</i> (%2)"
-#: src/frontends/qt/GuiDocument.cpp:5181
+#: src/frontends/qt/GuiDocument.cpp:5199
msgid "<b>Note:</b> Some requirements for this module are missing!"
msgstr ""
"<b>Achtung:</b> Einige Voraussetzungen für dieses Modul sind nicht gegeben!"
@@ -32948,43 +32978,43 @@ msgstr "Gruppe bereits definiert!"
msgid "A graphics group with the name '%1$s' already exists."
msgstr "Eine Grafikgruppe des Namens '%1$s' existiert bereits."
-#: src/frontends/qt/GuiGraphics.cpp:468
+#: src/frontends/qt/GuiGraphics.cpp:474
msgid "Set max. &width:"
msgstr "Max. &Breite festlegen:"
-#: src/frontends/qt/GuiGraphics.cpp:469
+#: src/frontends/qt/GuiGraphics.cpp:475
msgid "Set max. &height:"
msgstr "Max. &Höhe festlegen:"
-#: src/frontends/qt/GuiGraphics.cpp:470
+#: src/frontends/qt/GuiGraphics.cpp:476
msgid "Maximal width of image in output"
msgstr "Maximale Breite des Bilds bei der Ausgabe"
-#: src/frontends/qt/GuiGraphics.cpp:471
+#: src/frontends/qt/GuiGraphics.cpp:477
msgid "Maximal height of image in output"
msgstr "Maximale Höhe des Bilds bei der Ausgabe"
-#: src/frontends/qt/GuiGraphics.cpp:493 src/support/lengthcommon.cpp:40
+#: src/frontends/qt/GuiGraphics.cpp:499 src/support/lengthcommon.cpp:40
msgid "bp"
msgstr "bp"
-#: src/frontends/qt/GuiGraphics.cpp:493 src/support/lengthcommon.cpp:40
+#: src/frontends/qt/GuiGraphics.cpp:499 src/support/lengthcommon.cpp:40
msgid "cm"
msgstr "cm"
-#: src/frontends/qt/GuiGraphics.cpp:493 src/support/lengthcommon.cpp:41
+#: src/frontends/qt/GuiGraphics.cpp:499 src/support/lengthcommon.cpp:41
msgid "mm"
msgstr "mm"
-#: src/frontends/qt/GuiGraphics.cpp:493 src/support/lengthcommon.cpp:41
+#: src/frontends/qt/GuiGraphics.cpp:499 src/support/lengthcommon.cpp:41
msgid "in[[unit of measure]]"
msgstr "in"
-#: src/frontends/qt/GuiGraphics.cpp:776
+#: src/frontends/qt/GuiGraphics.cpp:813
msgid "Select graphics file"
msgstr "Wählen Sie eine Grafikdatei"
-#: src/frontends/qt/GuiGraphics.cpp:788
+#: src/frontends/qt/GuiGraphics.cpp:825
msgid "&Clipart"
msgstr "&Clipart"
@@ -33495,17 +33525,17 @@ msgstr ""
msgid "Select example file"
msgstr "Wählen Sie eine Beispieldatei"
-#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2638
-#: src/frontends/qt/GuiView.cpp:2778 src/frontends/qt/GuiView.cpp:2912
+#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2675
+#: src/frontends/qt/GuiView.cpp:2815 src/frontends/qt/GuiView.cpp:2949
msgid "&Examples"
msgstr "&Beispiele"
-#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2577
+#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2614
msgid "Select template file"
msgstr "Wählen Sie eine Vorlagendatei"
-#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2579
-#: src/frontends/qt/GuiView.cpp:3032
+#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2616
+#: src/frontends/qt/GuiView.cpp:3069
msgid "&Templates"
msgstr "&Vorlagen"
@@ -33632,7 +33662,7 @@ msgstr ""
"Normalerweise müssen Sie diese Breite nicht festlegen, da die maximale "
"Breite aller Punkte verwendet wird."
-#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3310
+#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3347
msgid "&Close"
msgstr "&SchlieÃen"
@@ -33669,71 +33699,71 @@ msgstr "&Befehl:"
msgid "Screen Fonts"
msgstr "Bildschirmschriften"
-#: src/frontends/qt/GuiPrefs.cpp:1401
+#: src/frontends/qt/GuiPrefs.cpp:1400
msgid "Paths"
msgstr "Pfade"
-#: src/frontends/qt/GuiPrefs.cpp:1488
+#: src/frontends/qt/GuiPrefs.cpp:1487
msgid "Select directory for example files"
msgstr "Wählen Sie ein Verzeichnis für Beispieldateien"
-#: src/frontends/qt/GuiPrefs.cpp:1497
+#: src/frontends/qt/GuiPrefs.cpp:1496
msgid "Select a document templates directory"
msgstr "Wählen Sie ein Verzeichnis für die Dokumentvorlagen"
-#: src/frontends/qt/GuiPrefs.cpp:1506
+#: src/frontends/qt/GuiPrefs.cpp:1505
msgid "Select a temporary directory"
msgstr "Wählen Sie ein temporäres Verzeichnis"
-#: src/frontends/qt/GuiPrefs.cpp:1515
+#: src/frontends/qt/GuiPrefs.cpp:1514
msgid "Select a backups directory"
msgstr "Wählen Sie ein Verzeichnis für Sicherungen"
-#: src/frontends/qt/GuiPrefs.cpp:1524
+#: src/frontends/qt/GuiPrefs.cpp:1523
msgid "Select a document directory"
msgstr "Wählen Sie ein Dokumentverzeichnis"
-#: src/frontends/qt/GuiPrefs.cpp:1533
+#: src/frontends/qt/GuiPrefs.cpp:1532
msgid "Set the path to the thesaurus dictionaries"
msgstr "Den Pfad zum Thesaurus-Wörterbuch festlegen"
-#: src/frontends/qt/GuiPrefs.cpp:1542
+#: src/frontends/qt/GuiPrefs.cpp:1541
msgid "Set the path to the Hunspell dictionaries"
msgstr "Den Pfad zu den Hunspell-Wörterbüchern festlegen"
-#: src/frontends/qt/GuiPrefs.cpp:1551
+#: src/frontends/qt/GuiPrefs.cpp:1550
msgid "Give a filename for the LyX server pipe"
msgstr "Geben Sie einen Dateinamen für die LyX-Server-Weiterleitung an"
-#: src/frontends/qt/GuiPrefs.cpp:1564 src/frontends/qt/GuiSpellchecker.cpp:642
+#: src/frontends/qt/GuiPrefs.cpp:1563 src/frontends/qt/GuiSpellchecker.cpp:642
msgid "Spellchecker"
msgstr "Rechtschreibprüfung"
-#: src/frontends/qt/GuiPrefs.cpp:1570
+#: src/frontends/qt/GuiPrefs.cpp:1569
msgid "Native"
msgstr "Nativ"
-#: src/frontends/qt/GuiPrefs.cpp:1576
+#: src/frontends/qt/GuiPrefs.cpp:1575
msgid "Aspell"
msgstr "Aspell"
-#: src/frontends/qt/GuiPrefs.cpp:1579
+#: src/frontends/qt/GuiPrefs.cpp:1578
msgid "Enchant"
msgstr "Enchant"
-#: src/frontends/qt/GuiPrefs.cpp:1582
+#: src/frontends/qt/GuiPrefs.cpp:1581
msgid "Hunspell"
msgstr "Hunspell"
-#: src/frontends/qt/GuiPrefs.cpp:1655
+#: src/frontends/qt/GuiPrefs.cpp:1654
msgid "Converters"
msgstr "Konverter"
-#: src/frontends/qt/GuiPrefs.cpp:1895
+#: src/frontends/qt/GuiPrefs.cpp:1894
msgid "SECURITY WARNING!"
msgstr "SICHERHEITSWARNUNG!"
-#: src/frontends/qt/GuiPrefs.cpp:1895
+#: src/frontends/qt/GuiPrefs.cpp:1894
msgid ""
"Unchecking this option has the effect that potentially harmful converters "
"would be run without asking your permission first. This is UNSAFE and NOT "
@@ -33746,15 +33776,15 @@ msgstr ""
"tun. Sind Sie sicher, dass Sie fortfahren möchten? Die empfohlene und "
"sichere Antwort ist NEIN!"
-#: src/frontends/qt/GuiPrefs.cpp:2015
+#: src/frontends/qt/GuiPrefs.cpp:2014
msgid "File Formats"
msgstr "Dateiformate"
-#: src/frontends/qt/GuiPrefs.cpp:2258 src/frontends/qt/GuiPrefs.cpp:2410
+#: src/frontends/qt/GuiPrefs.cpp:2257 src/frontends/qt/GuiPrefs.cpp:2409
msgid "Format in use"
msgstr "Format wird verwendet"
-#: src/frontends/qt/GuiPrefs.cpp:2259
+#: src/frontends/qt/GuiPrefs.cpp:2258
msgid ""
"You cannot change a format's short name if the format is used by a "
"converter. Please remove the converter first."
@@ -33762,17 +33792,17 @@ msgstr ""
"Der Kurztitel eines Formats, das von einem Konverter verwendet wird, kann "
"nicht umbenannt werden. Bitte entfernen Sie zunächst den Konverter."
-#: src/frontends/qt/GuiPrefs.cpp:2411
+#: src/frontends/qt/GuiPrefs.cpp:2410
msgid "Cannot remove a Format used by a Converter. Remove the converter first."
msgstr ""
"Ein Format, das von einem Konverter verwendet wird, kann nicht entfernt "
"werden. Bitte entfernen Sie zunächst den Konverter."
-#: src/frontends/qt/GuiPrefs.cpp:2511
+#: src/frontends/qt/GuiPrefs.cpp:2510
msgid "LyX needs to be restarted!"
msgstr "LyX muss neu gestartet werden!"
-#: src/frontends/qt/GuiPrefs.cpp:2512
+#: src/frontends/qt/GuiPrefs.cpp:2511
msgid ""
"The change of user interface language will be fully effective only after a "
"restart."
@@ -33780,82 +33810,82 @@ msgstr ""
"Die Ãnderung der Sprache der Benutzeroberfläche wird erst nach einem "
"Neustart von LyX wirksam."
-#: src/frontends/qt/GuiPrefs.cpp:2612
+#: src/frontends/qt/GuiPrefs.cpp:2611
msgid "User Interface"
msgstr "Benutzeroberfläche"
-#: src/frontends/qt/GuiPrefs.cpp:2631
+#: src/frontends/qt/GuiPrefs.cpp:2630
msgid "Classic"
msgstr "Klassisch"
-#: src/frontends/qt/GuiPrefs.cpp:2632
+#: src/frontends/qt/GuiPrefs.cpp:2631
msgid "Oxygen"
msgstr "Oxygen"
-#: src/frontends/qt/GuiPrefs.cpp:2683
+#: src/frontends/qt/GuiPrefs.cpp:2682
msgid "Document Handling"
msgstr "Dokument-Handhabung"
-#: src/frontends/qt/GuiPrefs.cpp:2790
+#: src/frontends/qt/GuiPrefs.cpp:2789
msgid "Control"
msgstr "Kontrolle"
-#: src/frontends/qt/GuiPrefs.cpp:2911
+#: src/frontends/qt/GuiPrefs.cpp:2910
msgid "Shortcuts"
msgstr "Tastenkürzel"
-#: src/frontends/qt/GuiPrefs.cpp:2918
+#: src/frontends/qt/GuiPrefs.cpp:2917
msgid "Function"
msgstr "Funktion"
-#: src/frontends/qt/GuiPrefs.cpp:2919
+#: src/frontends/qt/GuiPrefs.cpp:2918
msgid "Shortcut"
msgstr "Tastenkürzel"
-#: src/frontends/qt/GuiPrefs.cpp:2996
+#: src/frontends/qt/GuiPrefs.cpp:2995
msgid "Cursor, Mouse and Editing Functions"
msgstr "Cursor-, Maus- und Bearbeitungsfunktionen"
-#: src/frontends/qt/GuiPrefs.cpp:3000
+#: src/frontends/qt/GuiPrefs.cpp:2999
msgid "Mathematical Symbols"
msgstr "Mathematische Symbole"
-#: src/frontends/qt/GuiPrefs.cpp:3004
+#: src/frontends/qt/GuiPrefs.cpp:3003
msgid "Document and Window"
msgstr "Dokument und Arbeitsbereich"
-#: src/frontends/qt/GuiPrefs.cpp:3008
+#: src/frontends/qt/GuiPrefs.cpp:3007
msgid "Font, Layouts and Textclasses"
msgstr "Schriften, Absatzformate und Textklassen"
-#: src/frontends/qt/GuiPrefs.cpp:3012
+#: src/frontends/qt/GuiPrefs.cpp:3011
msgid "System and Miscellaneous"
msgstr "System und Verschiedenes"
-#: src/frontends/qt/GuiPrefs.cpp:3149 src/frontends/qt/GuiPrefs.cpp:3209
+#: src/frontends/qt/GuiPrefs.cpp:3148 src/frontends/qt/GuiPrefs.cpp:3208
msgid "Res&tore"
msgstr "Zurüc&ksetzen"
-#: src/frontends/qt/GuiPrefs.cpp:3377 src/frontends/qt/GuiPrefs.cpp:3386
-#: src/frontends/qt/GuiPrefs.cpp:3392 src/frontends/qt/GuiPrefs.cpp:3456
+#: src/frontends/qt/GuiPrefs.cpp:3376 src/frontends/qt/GuiPrefs.cpp:3385
+#: src/frontends/qt/GuiPrefs.cpp:3391 src/frontends/qt/GuiPrefs.cpp:3455
msgid "Failed to create shortcut"
msgstr "Erstellen des Tastenkürzels fehlgeschlagen"
-#: src/frontends/qt/GuiPrefs.cpp:3378
+#: src/frontends/qt/GuiPrefs.cpp:3377
msgid "Unknown or invalid LyX function"
msgstr "Unbekannte oder ungültige LyX-Funktion"
-#: src/frontends/qt/GuiPrefs.cpp:3387
+#: src/frontends/qt/GuiPrefs.cpp:3386
msgid "This LyX function is hidden and cannot be bound."
msgstr ""
"Dies ist eine versteckte LyX-Funktion. Sie kann nicht mit einer "
"Tastenkombination belegt werden."
-#: src/frontends/qt/GuiPrefs.cpp:3393
+#: src/frontends/qt/GuiPrefs.cpp:3392
msgid "Invalid or empty key sequence"
msgstr "Ungültige oder leere Tastensequenz"
-#: src/frontends/qt/GuiPrefs.cpp:3408
+#: src/frontends/qt/GuiPrefs.cpp:3407
#, c-format
msgid ""
"Shortcut `%1$s' is already bound to %2$s.\n"
@@ -33865,19 +33895,19 @@ msgstr ""
"Sind Sie sicher, dass Sie dies aufheben und das\n"
"Tastenkürzel mit %3$s belegen wollen?"
-#: src/frontends/qt/GuiPrefs.cpp:3414
+#: src/frontends/qt/GuiPrefs.cpp:3413
msgid "Redefine shortcut?"
msgstr "Tastenkürzel neu definieren?"
-#: src/frontends/qt/GuiPrefs.cpp:3415
+#: src/frontends/qt/GuiPrefs.cpp:3414
msgid "&Redefine"
msgstr "&Neu Definieren"
-#: src/frontends/qt/GuiPrefs.cpp:3457
+#: src/frontends/qt/GuiPrefs.cpp:3456
msgid "Can not insert shortcut to the list"
msgstr "Kann Tastenkürzel nicht in Liste einfügen"
-#: src/frontends/qt/GuiPrefs.cpp:3488
+#: src/frontends/qt/GuiPrefs.cpp:3487
msgid "Identity"
msgstr "Identität"
@@ -34403,7 +34433,7 @@ msgstr "verankert"
msgid "Vertical Space Settings"
msgstr "Einstellungen für vertikalen Abstand"
-#: src/frontends/qt/GuiView.cpp:154
+#: src/frontends/qt/GuiView.cpp:156
msgid ""
"The Document\n"
"Processor[[welcome banner]]"
@@ -34411,33 +34441,33 @@ msgstr ""
"Die bessere\n"
"Textverarbeitung"
-#: src/frontends/qt/GuiView.cpp:155
+#: src/frontends/qt/GuiView.cpp:157
msgid "1.0[[possibly scale the welcome banner text size]]"
msgstr "1.1"
-#: src/frontends/qt/GuiView.cpp:158
+#: src/frontends/qt/GuiView.cpp:160
msgid "version "
msgstr "Version "
-#: src/frontends/qt/GuiView.cpp:158
+#: src/frontends/qt/GuiView.cpp:160
msgid "unknown version"
msgstr "unbekannte Version"
-#: src/frontends/qt/GuiView.cpp:647
+#: src/frontends/qt/GuiView.cpp:648
msgid "Workarea zoom level. Drag, use Ctrl-+/- or Shift-Mousewheel to adjust."
msgstr ""
"Skalierung des Arbeitsbereichs. Um dies anzupassen, verwenden Sie den "
"Schieber, Strg-+/- oder Umschalt-Mausrad."
-#: src/frontends/qt/GuiView.cpp:689 src/frontends/qt/GuiView.cpp:799
-#: src/frontends/qt/GuiView.cpp:969 src/frontends/qt/Menus.cpp:1843
+#: src/frontends/qt/GuiView.cpp:690 src/frontends/qt/GuiView.cpp:803
+#: src/frontends/qt/GuiView.cpp:973 src/frontends/qt/Menus.cpp:1843
#: src/frontends/qt/Menus.cpp:1847 src/frontends/qt/Menus.cpp:1851
#: src/frontends/qt/Menus.cpp:1855 src/frontends/qt/Menus.cpp:1859
#: src/frontends/qt/Menus.cpp:1863
msgid "[[ZOOM]]%1$d%"
msgstr "%1$d%"
-#: src/frontends/qt/GuiView.cpp:705
+#: src/frontends/qt/GuiView.cpp:709
msgid ""
"WARNING: LaTeX is allowed to execute external commands for this document. "
"Right click to change."
@@ -34445,114 +34475,118 @@ msgstr ""
"ACHTUNG: LaTeX darf für dieses Dokument beliebige externe Befehle ausführen. "
"Um dies zu ändern, klicken Sie die rechte Maustaste."
-#: src/frontends/qt/GuiView.cpp:784
+#: src/frontends/qt/GuiView.cpp:788
msgid "Cancel Export?"
msgstr "Export abbrechen?"
-#: src/frontends/qt/GuiView.cpp:785
+#: src/frontends/qt/GuiView.cpp:789
msgid "Do you want to cancel the background export process?"
msgstr "Wollen Sie den Exportvorgang im Hintergrund abbrechen?"
-#: src/frontends/qt/GuiView.cpp:788
+#: src/frontends/qt/GuiView.cpp:792
msgid "Co&ntinue"
msgstr "&Fortfahren"
-#: src/frontends/qt/GuiView.cpp:865
+#: src/frontends/qt/GuiView.cpp:869
#, c-format
msgid "Successful export to format: %1$s"
msgstr "Export in das Format %1$s erfolgreich"
-#: src/frontends/qt/GuiView.cpp:874
+#: src/frontends/qt/GuiView.cpp:878
#, c-format
msgid "Error while exporting format: %1$s"
msgstr "Fehler beim Export in das Formats %1$s"
-#: src/frontends/qt/GuiView.cpp:877
+#: src/frontends/qt/GuiView.cpp:881
#, c-format
msgid "Successful preview of format: %1$s"
msgstr "Erfolgreiche Vorschau des Formats %1$s"
-#: src/frontends/qt/GuiView.cpp:880
+#: src/frontends/qt/GuiView.cpp:884
#, c-format
msgid "Error while previewing format: %1$s"
msgstr "Fehler bei der Vorschau des Formats %1$s"
-#: src/frontends/qt/GuiView.cpp:883
+#: src/frontends/qt/GuiView.cpp:887
#, c-format
msgid "Conversion cancelled while previewing format: %1$s"
msgstr "Abbruch der Ausgabe bei der Vorschau des Formats %1$s"
-#: src/frontends/qt/GuiView.cpp:1236
+#: src/frontends/qt/GuiView.cpp:1239
msgid "Exit LyX"
msgstr "LyX beenden"
-#: src/frontends/qt/GuiView.cpp:1237
+#: src/frontends/qt/GuiView.cpp:1240
msgid "LyX could not be closed because documents are being processed by LyX."
msgstr ""
"LyX konnte nicht geschlossen werden, da gerade Dokumente von LyX verarbeitet "
"werden."
-#: src/frontends/qt/GuiView.cpp:1385
+#: src/frontends/qt/GuiView.cpp:1388
#, c-format
msgid "%1$s (modified externally)"
msgstr "%1$s (extern bearbeitet)"
-#: src/frontends/qt/GuiView.cpp:1508
+#: src/frontends/qt/GuiView.cpp:1511
msgid "Welcome to LyX!"
msgstr "Willkommen bei LyX!"
-#: src/frontends/qt/GuiView.cpp:2045
+#: src/frontends/qt/GuiView.cpp:2070
msgid "Automatic save done."
msgstr "Automatische Speicherung abgeschlossen."
-#: src/frontends/qt/GuiView.cpp:2046
+#: src/frontends/qt/GuiView.cpp:2071
msgid "Automatic save failed!"
msgstr "Die automatische Speicherung ist fehlgeschlagen!"
-#: src/frontends/qt/GuiView.cpp:2102
+#: src/frontends/qt/GuiView.cpp:2151
msgid "Command not allowed without any document open"
msgstr "Dieser Befehl ist nur bei geöffnetem Dokument möglich"
-#: src/frontends/qt/GuiView.cpp:2171
+#: src/frontends/qt/GuiView.cpp:2220
msgid "Invalid argument of master-buffer-forall"
msgstr "Ungültiges Argument für master-buffer-forall"
-#: src/frontends/qt/GuiView.cpp:2289
+#: src/frontends/qt/GuiView.cpp:2338
msgid "Function toolbar-set requires two arguments!"
msgstr "Die Funktion toolbar-set erfordert zwei Argumente!"
-#: src/frontends/qt/GuiView.cpp:2296
+#: src/frontends/qt/GuiView.cpp:2345
#, c-format
msgid "Invalid argument \"%1$s\" to function toolbar-set!"
msgstr "Ungültiges Argument \"%1$s\" der Funktion toolbar-set!"
-#: src/frontends/qt/GuiView.cpp:2312 src/frontends/qt/GuiView.cpp:2325
-#: src/frontends/qt/GuiView.cpp:2342
+#: src/frontends/qt/GuiView.cpp:2361 src/frontends/qt/GuiView.cpp:2374
+#: src/frontends/qt/GuiView.cpp:2391
#, c-format
msgid "Unknown toolbar \"%1$s\""
msgstr "Unbekannte Werkzeugleiste \"%1$s\""
-#: src/frontends/qt/GuiView.cpp:2463 src/frontends/qt/GuiView.cpp:2476
+#: src/frontends/qt/GuiView.cpp:2509
msgid "Zoom level cannot be less than %1$d%."
msgstr "Der Skalierungsfaktor darf nicht kleiner als %1$d% sein."
-#: src/frontends/qt/GuiView.cpp:2606
+#: src/frontends/qt/GuiView.cpp:2514
+msgid "Zoom level cannot be more than %1$d%."
+msgstr "Der Skalierungsfaktor darf nicht gröÃer als %1$d% sein."
+
+#: src/frontends/qt/GuiView.cpp:2643
msgid "Document not loaded."
msgstr "Dokument nicht geladen."
-#: src/frontends/qt/GuiView.cpp:2636
+#: src/frontends/qt/GuiView.cpp:2673
msgid "Select document to open"
msgstr "Wählen Sie das zu öffnende Dokument"
-#: src/frontends/qt/GuiView.cpp:2642
+#: src/frontends/qt/GuiView.cpp:2679
msgid "LyX Document Backups (*.lyx~)"
msgstr "LyX-Dokument-Backups (*.lyx~)"
-#: src/frontends/qt/GuiView.cpp:2643
+#: src/frontends/qt/GuiView.cpp:2680
msgid "All Files (*.*)"
msgstr "Alle Dateien (*.*)"
-#: src/frontends/qt/GuiView.cpp:2670
+#: src/frontends/qt/GuiView.cpp:2707
#, c-format
msgid ""
"The directory in the given path\n"
@@ -34563,40 +34597,40 @@ msgstr ""
"%1$s\n"
"existiert nicht."
-#: src/frontends/qt/GuiView.cpp:2687
+#: src/frontends/qt/GuiView.cpp:2724
#, c-format
msgid "Opening document %1$s..."
msgstr "Ãffne Dokument %1$s..."
-#: src/frontends/qt/GuiView.cpp:2692
+#: src/frontends/qt/GuiView.cpp:2729
#, c-format
msgid "Document %1$s opened."
msgstr "Dokument %1$s ist geöffnet."
-#: src/frontends/qt/GuiView.cpp:2695
+#: src/frontends/qt/GuiView.cpp:2732
msgid "Version control detected."
msgstr "Versionskontrolle erkannt."
-#: src/frontends/qt/GuiView.cpp:2697
+#: src/frontends/qt/GuiView.cpp:2734
#, c-format
msgid "Could not open document %1$s"
msgstr "Das Dokument %1$s konnte nicht geöffnet werden"
-#: src/frontends/qt/GuiView.cpp:2725
+#: src/frontends/qt/GuiView.cpp:2762
msgid "Couldn't import file"
msgstr "Die Datei konnte nicht importiert werden"
-#: src/frontends/qt/GuiView.cpp:2726
+#: src/frontends/qt/GuiView.cpp:2763
#, c-format
msgid "No information for importing the format %1$s."
msgstr "Keine Informationen vorhanden, um das Format %1$s zu importieren."
-#: src/frontends/qt/GuiView.cpp:2773
+#: src/frontends/qt/GuiView.cpp:2810
#, c-format
msgid "Select %1$s file to import"
msgstr "Wählen Sie die einzufügende %1$s-Datei"
-#: src/frontends/qt/GuiView.cpp:2808
+#: src/frontends/qt/GuiView.cpp:2845
#, c-format
msgid ""
"The file name '%1$s' is invalid!\n"
@@ -34605,8 +34639,8 @@ msgstr ""
"Der Dateiname '%1$s' ist ungültig!\n"
"Import wird abgebrochen."
-#: src/frontends/qt/GuiView.cpp:2835 src/frontends/qt/GuiView.cpp:3102
-#: src/frontends/qt/GuiView.cpp:3205
+#: src/frontends/qt/GuiView.cpp:2872 src/frontends/qt/GuiView.cpp:3139
+#: src/frontends/qt/GuiView.cpp:3242
#, c-format
msgid ""
"The document %1$s already exists.\n"
@@ -34617,33 +34651,33 @@ msgstr ""
"\n"
"Möchten Sie dieses Dokument überschreiben?"
-#: src/frontends/qt/GuiView.cpp:2837 src/frontends/qt/GuiView.cpp:3106
-#: src/frontends/qt/GuiView.cpp:3209
+#: src/frontends/qt/GuiView.cpp:2874 src/frontends/qt/GuiView.cpp:3143
+#: src/frontends/qt/GuiView.cpp:3246
msgid "Overwrite document?"
msgstr "Dokument überschreiben?"
-#: src/frontends/qt/GuiView.cpp:2846
+#: src/frontends/qt/GuiView.cpp:2883
#, c-format
msgid "Importing %1$s..."
msgstr "Importiere %1$s..."
-#: src/frontends/qt/GuiView.cpp:2849
+#: src/frontends/qt/GuiView.cpp:2886
msgid "imported."
msgstr "wurde eingefügt."
-#: src/frontends/qt/GuiView.cpp:2851
+#: src/frontends/qt/GuiView.cpp:2888
msgid "file not imported!"
msgstr "Datei wurde nicht importiert!"
-#: src/frontends/qt/GuiView.cpp:2877
+#: src/frontends/qt/GuiView.cpp:2914
msgid "newfile"
msgstr "Neues_Dokument"
-#: src/frontends/qt/GuiView.cpp:2910
+#: src/frontends/qt/GuiView.cpp:2947
msgid "Select LyX document to insert"
msgstr "Wählen Sie das einzufügende LyX-Dokument"
-#: src/frontends/qt/GuiView.cpp:2957
+#: src/frontends/qt/GuiView.cpp:2994
#, c-format
msgid ""
"It is suggested to save the template in a subdirectory\n"
@@ -34656,23 +34690,23 @@ msgstr ""
"Dieser Unterordner existiert aber noch nicht.\n"
"Soll er angelegt werden?"
-#: src/frontends/qt/GuiView.cpp:2962
+#: src/frontends/qt/GuiView.cpp:2999
msgid "Create Language Directory?"
msgstr "Sprach-Unterorder erstellen?"
-#: src/frontends/qt/GuiView.cpp:2963 src/frontends/qt/GuiView.cpp:2994
+#: src/frontends/qt/GuiView.cpp:3000 src/frontends/qt/GuiView.cpp:3031
msgid "&Yes, Create"
msgstr "&Ja, erstellen"
-#: src/frontends/qt/GuiView.cpp:2963 src/frontends/qt/GuiView.cpp:2994
+#: src/frontends/qt/GuiView.cpp:3000 src/frontends/qt/GuiView.cpp:3031
msgid "&No, Save Template in Parent Directory"
msgstr "&Nein, speichere Vorlage im Hauptordner"
-#: src/frontends/qt/GuiView.cpp:2966 src/frontends/qt/GuiView.cpp:2997
+#: src/frontends/qt/GuiView.cpp:3003 src/frontends/qt/GuiView.cpp:3034
msgid "Subdirectory creation failed!"
msgstr "Erstellung des Unterordners fehlgeschlagen!"
-#: src/frontends/qt/GuiView.cpp:2967 src/frontends/qt/GuiView.cpp:2998
+#: src/frontends/qt/GuiView.cpp:3004 src/frontends/qt/GuiView.cpp:3035
msgid ""
"Could not create subdirectory.\n"
"The template will be saved in the parent directory."
@@ -34680,7 +34714,7 @@ msgstr ""
"Der Unterordner konnte leider nicht erstellt werden\n"
"Die Vorlage wird im Hauptordner gespeichert."
-#: src/frontends/qt/GuiView.cpp:2988
+#: src/frontends/qt/GuiView.cpp:3025
#, c-format
msgid ""
"It is suggested to save the template in a subdirectory\n"
@@ -34693,19 +34727,19 @@ msgstr ""
"Dieser Unterordner existiert aber noch nicht.\n"
"Soll er angelegt werden?"
-#: src/frontends/qt/GuiView.cpp:2993
+#: src/frontends/qt/GuiView.cpp:3030
msgid "Create Category Directory?"
msgstr "Kategorien-Ordner erstellen?"
-#: src/frontends/qt/GuiView.cpp:3028
+#: src/frontends/qt/GuiView.cpp:3065
msgid "Choose a filename to save template as"
msgstr "Wählen Sie einen Dateinamen für die Vorlage"
-#: src/frontends/qt/GuiView.cpp:3029
+#: src/frontends/qt/GuiView.cpp:3066
msgid "Choose a filename to save document as"
msgstr "Wählen Sie einen Dateinamen für das Dokument"
-#: src/frontends/qt/GuiView.cpp:3065
+#: src/frontends/qt/GuiView.cpp:3102
#, c-format
msgid ""
"The file\n"
@@ -34720,17 +34754,17 @@ msgstr ""
"Bitte schlieÃen Sie sie, wenn Sie sie überschreiben möchten.\n"
"Möchten Sie statt dessen einen neuen Dateinamen wählen?"
-#: src/frontends/qt/GuiView.cpp:3069
+#: src/frontends/qt/GuiView.cpp:3106
msgid "Chosen File Already Open"
msgstr "Ausgewählte Datei bereits geöffnet"
-#: src/frontends/qt/GuiView.cpp:3070 src/frontends/qt/GuiView.cpp:3092
-#: src/frontends/qt/GuiView.cpp:3108 src/frontends/qt/GuiView.cpp:3210
-#: src/frontends/qt/GuiView.cpp:3255
+#: src/frontends/qt/GuiView.cpp:3107 src/frontends/qt/GuiView.cpp:3129
+#: src/frontends/qt/GuiView.cpp:3145 src/frontends/qt/GuiView.cpp:3247
+#: src/frontends/qt/GuiView.cpp:3292
msgid "&Rename"
msgstr "&Umbenennen"
-#: src/frontends/qt/GuiView.cpp:3085
+#: src/frontends/qt/GuiView.cpp:3122
#, c-format
msgid ""
"The document %1$s is already registered.\n"
@@ -34741,27 +34775,27 @@ msgstr ""
"\n"
"Möchten Sie einen anderen Namen wählen?"
-#: src/frontends/qt/GuiView.cpp:3090
+#: src/frontends/qt/GuiView.cpp:3127
msgid "Rename document?"
msgstr "Dokument umbenennen?"
-#: src/frontends/qt/GuiView.cpp:3090
+#: src/frontends/qt/GuiView.cpp:3127
msgid "Copy document?"
msgstr "Dokument kopieren?"
-#: src/frontends/qt/GuiView.cpp:3092
+#: src/frontends/qt/GuiView.cpp:3129
msgid "&Copy"
msgstr "&Kopieren"
-#: src/frontends/qt/GuiView.cpp:3152
+#: src/frontends/qt/GuiView.cpp:3189
msgid "Choose a filename to export the document as"
msgstr "Wählen Sie einen Dateinamen für das exportierte Dokument"
-#: src/frontends/qt/GuiView.cpp:3156
+#: src/frontends/qt/GuiView.cpp:3193
msgid "Guess from extension (*.*)"
msgstr "Von der Dateierweiterung ableiten (*.*)"
-#: src/frontends/qt/GuiView.cpp:3251
+#: src/frontends/qt/GuiView.cpp:3288
#, c-format
msgid ""
"The document %1$s could not be saved.\n"
@@ -34772,15 +34806,15 @@ msgstr ""
"\n"
"Möchten Sie das Dokument umbenennen und erneut versuchen?"
-#: src/frontends/qt/GuiView.cpp:3254
+#: src/frontends/qt/GuiView.cpp:3291
msgid "Rename and save?"
msgstr "Umbenennen und speichern?"
-#: src/frontends/qt/GuiView.cpp:3255
+#: src/frontends/qt/GuiView.cpp:3292
msgid "&Retry"
msgstr "&Wiederholen"
-#: src/frontends/qt/GuiView.cpp:3300
+#: src/frontends/qt/GuiView.cpp:3337
#, c-format
msgid ""
"Last view on document %1$s is being closed.\n"
@@ -34802,25 +34836,25 @@ msgstr ""
"die Voreinstellung in Werkzeuge > Einstellungen ... >\n"
"Aussehen & Handhabung > Benutzeroberfläche.\n"
-#: src/frontends/qt/GuiView.cpp:3309
+#: src/frontends/qt/GuiView.cpp:3346
msgid "Close or hide document?"
msgstr "Dokument schlieÃen oder verbergen?"
-#: src/frontends/qt/GuiView.cpp:3310
+#: src/frontends/qt/GuiView.cpp:3347
msgid "&Hide"
msgstr "&Verbergen"
-#: src/frontends/qt/GuiView.cpp:3407
+#: src/frontends/qt/GuiView.cpp:3444
msgid "Close document"
msgstr "Dokument schlieÃen"
-#: src/frontends/qt/GuiView.cpp:3408
+#: src/frontends/qt/GuiView.cpp:3445
msgid "Document could not be closed because it is being processed by LyX."
msgstr ""
"Dokument konnte nicht geschlossen werden, da es gerade von LyX verarbeitet "
"wird."
-#: src/frontends/qt/GuiView.cpp:3540 src/frontends/qt/GuiView.cpp:3655
+#: src/frontends/qt/GuiView.cpp:3577 src/frontends/qt/GuiView.cpp:3692
#, c-format
msgid ""
"The document %1$s has not been saved yet.\n"
@@ -34831,16 +34865,16 @@ msgstr ""
"\n"
"Möchten Sie das Dokument speichern?"
-#: src/frontends/qt/GuiView.cpp:3543 src/frontends/qt/GuiView.cpp:3658
+#: src/frontends/qt/GuiView.cpp:3580 src/frontends/qt/GuiView.cpp:3695
msgid "Save new document?"
msgstr "Neues Dokument speichern?"
-#: src/frontends/qt/GuiView.cpp:3544 src/frontends/qt/GuiView.cpp:3558
-#: src/frontends/qt/GuiView.cpp:3660
+#: src/frontends/qt/GuiView.cpp:3581 src/frontends/qt/GuiView.cpp:3595
+#: src/frontends/qt/GuiView.cpp:3697
msgid "&Save"
msgstr "&Speichern"
-#: src/frontends/qt/GuiView.cpp:3549
+#: src/frontends/qt/GuiView.cpp:3586
#, c-format
msgid ""
"The document %1$s has unsaved changes.\n"
@@ -34851,7 +34885,7 @@ msgstr ""
"sind nicht gespeichert.\n"
"Möchten Sie das Dokument speichern oder die Ãnderungen verwerfen?"
-#: src/frontends/qt/GuiView.cpp:3552
+#: src/frontends/qt/GuiView.cpp:3589
#, c-format
msgid ""
"The document %1$s has not been saved yet.\n"
@@ -34862,19 +34896,19 @@ msgstr ""
"\n"
"Möchten Sie das Dokument speichern oder es endgültig verwerfen?"
-#: src/frontends/qt/GuiView.cpp:3556 src/frontends/qt/GuiView.cpp:3652
+#: src/frontends/qt/GuiView.cpp:3593 src/frontends/qt/GuiView.cpp:3689
msgid "Save changed document?"
msgstr "Geändertes Dokument speichern?"
-#: src/frontends/qt/GuiView.cpp:3556
+#: src/frontends/qt/GuiView.cpp:3593
msgid "Save document?"
msgstr "Dokument speichern?"
-#: src/frontends/qt/GuiView.cpp:3558
+#: src/frontends/qt/GuiView.cpp:3595
msgid "&Discard"
msgstr "&Verwerfen"
-#: src/frontends/qt/GuiView.cpp:3649
+#: src/frontends/qt/GuiView.cpp:3686
#, c-format
msgid ""
"The document %1$s has unsaved changes.\n"
@@ -34885,7 +34919,7 @@ msgstr ""
"\n"
"Möchten Sie das Dokument speichern?"
-#: src/frontends/qt/GuiView.cpp:3681
+#: src/frontends/qt/GuiView.cpp:3718
#, c-format
msgid ""
"Document \n"
@@ -34897,37 +34931,37 @@ msgstr ""
"wurde extern verändert. Wollen Sie es erneut laden?\n"
"Alle lokalen Veränderungen werden dann verworfen."
-#: src/frontends/qt/GuiView.cpp:3684
+#: src/frontends/qt/GuiView.cpp:3721
msgid "Reload externally changed document?"
msgstr "Extern geändertes Dokument neu laden?"
-#: src/frontends/qt/GuiView.cpp:3729
+#: src/frontends/qt/GuiView.cpp:3766
msgid "Document could not be checked in."
msgstr "Das Dokument konnte nicht eingecheckt werden."
-#: src/frontends/qt/GuiView.cpp:3772
+#: src/frontends/qt/GuiView.cpp:3809
msgid "Error when setting the locking property."
msgstr "Fehler beim Setzen der Dateisperrung."
-#: src/frontends/qt/GuiView.cpp:3821
+#: src/frontends/qt/GuiView.cpp:3858
msgid "Directory is not accessible."
msgstr "Das Verzeichnis ist nicht lesbar."
-#: src/frontends/qt/GuiView.cpp:3898
+#: src/frontends/qt/GuiView.cpp:3935
#, c-format
msgid "Opening child document %1$s..."
msgstr "Ãffne Unterdokument %1$s..."
-#: src/frontends/qt/GuiView.cpp:3956
+#: src/frontends/qt/GuiView.cpp:3993
#, c-format
msgid "No buffer for file: %1$s."
msgstr "Kein Pufferspeicher für Datei: %1$s."
-#: src/frontends/qt/GuiView.cpp:3966
+#: src/frontends/qt/GuiView.cpp:4003
msgid "Inverse Search Failed"
msgstr "Rückwärtssuche gescheitert"
-#: src/frontends/qt/GuiView.cpp:3967
+#: src/frontends/qt/GuiView.cpp:4004
msgid ""
"Invalid position requested by inverse search.\n"
"You may need to update the viewed document."
@@ -34935,35 +34969,35 @@ msgstr ""
"Die Rückwärtssuche wollte eine ungültige Position anspringen.\n"
"Bitte aktualisieren Sie das ausgegebene Dokument."
-#: src/frontends/qt/GuiView.cpp:4047
+#: src/frontends/qt/GuiView.cpp:4084
msgid "Export Error"
msgstr "Exportfehler"
-#: src/frontends/qt/GuiView.cpp:4048
+#: src/frontends/qt/GuiView.cpp:4085
msgid "Error cloning the Buffer."
msgstr "Fehler beim Klonen des Pufferspeichers."
-#: src/frontends/qt/GuiView.cpp:4199 src/frontends/qt/GuiView.cpp:4219
+#: src/frontends/qt/GuiView.cpp:4236 src/frontends/qt/GuiView.cpp:4256
msgid "Exporting ..."
msgstr "Exportiere ..."
-#: src/frontends/qt/GuiView.cpp:4228
+#: src/frontends/qt/GuiView.cpp:4265
msgid "Previewing ..."
msgstr "Generiere Vorschau ..."
-#: src/frontends/qt/GuiView.cpp:4266
+#: src/frontends/qt/GuiView.cpp:4303
msgid "Document not loaded"
msgstr "Dokument nicht geladen"
-#: src/frontends/qt/GuiView.cpp:4353
+#: src/frontends/qt/GuiView.cpp:4390
msgid "Select file to insert"
msgstr "Wählen Sie das einzufügende Dokument"
-#: src/frontends/qt/GuiView.cpp:4356
+#: src/frontends/qt/GuiView.cpp:4393
msgid "All Files (*)"
msgstr "Alle Dateien (*)"
-#: src/frontends/qt/GuiView.cpp:4384
+#: src/frontends/qt/GuiView.cpp:4421
#, c-format
msgid ""
"The current version will be lost. Are you sure you want to load the version "
@@ -34973,7 +35007,7 @@ msgstr ""
"dass Sie die auf der Festplatte gespeicherte Version des Dokuments %1$s "
"laden möchten?"
-#: src/frontends/qt/GuiView.cpp:4391
+#: src/frontends/qt/GuiView.cpp:4428
#, c-format
msgid ""
"Any changes will be lost. Are you sure you want to revert to the saved "
@@ -34982,61 +35016,61 @@ msgstr ""
"Alle Ãnderungen gehen verloren. Sind Sie sicher, dass Sie zur gespeicherten "
"Version des Dokuments %1$s zurückkehren möchten?"
-#: src/frontends/qt/GuiView.cpp:4394
+#: src/frontends/qt/GuiView.cpp:4431
msgid "Revert to saved document?"
msgstr "Gespeichertes Dokument neu laden?"
-#: src/frontends/qt/GuiView.cpp:4411
+#: src/frontends/qt/GuiView.cpp:4448
msgid "Buffer export reset."
msgstr "Export zurückgesetzt."
-#: src/frontends/qt/GuiView.cpp:4434
+#: src/frontends/qt/GuiView.cpp:4471
msgid "Saving all documents..."
msgstr "Speichere alle Dokumente..."
-#: src/frontends/qt/GuiView.cpp:4444
+#: src/frontends/qt/GuiView.cpp:4481
msgid "All documents saved."
msgstr "Alle Dokumente wurden gespeichert."
-#: src/frontends/qt/GuiView.cpp:4483
+#: src/frontends/qt/GuiView.cpp:4520
msgid "Developer mode is now enabled."
msgstr "Der Entwicklermodus ist nun aktiviert."
-#: src/frontends/qt/GuiView.cpp:4485
+#: src/frontends/qt/GuiView.cpp:4522
msgid "Developer mode is now disabled."
msgstr "Der Entwicklermodus ist nun deaktiviert."
-#: src/frontends/qt/GuiView.cpp:4517
+#: src/frontends/qt/GuiView.cpp:4554
msgid "Toolbars unlocked."
msgstr "Werkzeugleisten nicht verankert."
-#: src/frontends/qt/GuiView.cpp:4519
+#: src/frontends/qt/GuiView.cpp:4556
msgid "Toolbars locked."
msgstr "Werkzeugleisten verankert."
-#: src/frontends/qt/GuiView.cpp:4531
+#: src/frontends/qt/GuiView.cpp:4568
#, c-format
msgid "Icon size set to %1$dx%2$d."
msgstr "Eingestellte SymbolgröÃe: %1$dx%2$d."
-#: src/frontends/qt/GuiView.cpp:4620
+#: src/frontends/qt/GuiView.cpp:4657
#, c-format
msgid "%1$s unknown command!"
msgstr "LFUN_UI_TOGGLE %1$s unbekannter Befehl!"
-#: src/frontends/qt/GuiView.cpp:4724
+#: src/frontends/qt/GuiView.cpp:4746
msgid "Zoom level is now %1$d% (default value: %2$d%)"
msgstr "Aktueller Skalierungsfaktor: %1$d% (Standardwert: %2$d%)"
-#: src/frontends/qt/GuiView.cpp:4783
+#: src/frontends/qt/GuiView.cpp:4805
msgid "Please, preview the document first."
msgstr "Bitte geben Sie das Dokument zunächst aus."
-#: src/frontends/qt/GuiView.cpp:4799
+#: src/frontends/qt/GuiView.cpp:4821
msgid "Couldn't proceed."
msgstr "Konnte nicht fortfahren."
-#: src/frontends/qt/GuiView.cpp:5156
+#: src/frontends/qt/GuiView.cpp:5178
msgid "Disable Shell Escape"
msgstr "Erlaubnis zum Aufruf externer Programme widerrufen"
@@ -35605,7 +35639,7 @@ msgid "active"
msgstr "aktiv"
#: src/insets/InsetBranch.cpp:70 src/insets/InsetBranch.cpp:72
-#: src/insets/InsetIndex.cpp:659
+#: src/insets/InsetIndex.cpp:682
msgid "non-active"
msgstr "inaktiv"
@@ -35641,11 +35675,11 @@ msgstr "Zweig (Hauptdokument): "
msgid "Branch (undefined): "
msgstr "Zweig (undefiniert): "
-#: src/insets/InsetBranch.cpp:190
+#: src/insets/InsetBranch.cpp:192
msgid "Branch state changes in master document"
msgstr "Ãnderung des Zweigstatus im Hauptdokument"
-#: src/insets/InsetBranch.cpp:191
+#: src/insets/InsetBranch.cpp:193
#, c-format
msgid ""
"The state of the branch '%1$s' was changed in the master file. Please make "
@@ -36113,19 +36147,19 @@ msgstr ""
"Bitte legen Sie die Sortierung manuell fest. Hinweise\n"
"zum Vorgehen finden Sie im Benutzerhandbuch."
-#: src/insets/InsetIndex.cpp:470
+#: src/insets/InsetIndex.cpp:493
msgid "Index Entry"
msgstr "Stichwort"
-#: src/insets/InsetIndex.cpp:656
+#: src/insets/InsetIndex.cpp:679
msgid "Unknown index type!"
msgstr "Unbekannter Index-Typ!"
-#: src/insets/InsetIndex.cpp:657
+#: src/insets/InsetIndex.cpp:680
msgid "All indexes"
msgstr "Alle Indexe"
-#: src/insets/InsetIndex.cpp:661
+#: src/insets/InsetIndex.cpp:684
msgid "subindex"
msgstr "Unterindex"
@@ -36424,15 +36458,15 @@ msgstr "DUPLIKAT: "
msgid "Horizontal line"
msgstr "Horizontale Linie"
-#: src/insets/InsetListings.cpp:332
+#: src/insets/InsetListings.cpp:333
msgid "no more lstline delimiters available"
msgstr "keine lst-line-Begrenzungszeichen verfügbar"
-#: src/insets/InsetListings.cpp:337
+#: src/insets/InsetListings.cpp:338
msgid "Running out of delimiters"
msgstr "Die Begrenzungszeichen sind ausgegangen"
-#: src/insets/InsetListings.cpp:338
+#: src/insets/InsetListings.cpp:339
msgid ""
"For inline program listings, one character must be reserved\n"
"as a delimiter. One of the listings, however, uses all available\n"
@@ -36446,11 +36480,11 @@ msgstr ""
"verfügbar ist. Einstweilen wurde an der entsprechenden Stelle eine Warnung\n"
"in das Dokument eingefügt, Sie müssen das Problem allerdings lösen!"
-#: src/insets/InsetListings.cpp:419 src/insets/InsetListings.cpp:428
+#: src/insets/InsetListings.cpp:420 src/insets/InsetListings.cpp:429
msgid "Uncodable characters in listings inset"
msgstr "Unkodierbare Zeichen in Programmlisting"
-#: src/insets/InsetListings.cpp:420
+#: src/insets/InsetListings.cpp:421
#, c-format
msgid ""
"The following characters in one of the program listings are\n"
@@ -36471,7 +36505,7 @@ msgstr ""
"verwenden'\n"
"auszuwählen."
-#: src/insets/InsetListings.cpp:429
+#: src/insets/InsetListings.cpp:430
#, c-format
msgid ""
"The following characters in one of the program listings are\n"
@@ -37321,11 +37355,11 @@ msgstr ""
"Das angegebene Dokument %1$s\n"
"konnte nicht geöffnet werden."
-#: src/output_latex.cpp:1650
+#: src/output_latex.cpp:1658
msgid "Error in latexParagraphs"
msgstr "Fehler in latexParagraphs"
-#: src/output_latex.cpp:1651
+#: src/output_latex.cpp:1659
#, c-format
msgid ""
"You are using at least one layout (%1$s) intended for the title, after using "
@@ -37714,6 +37748,9 @@ msgstr ""
msgid "Unknown user"
msgstr "Unbekannter Benutzer"
+#~ msgid "e.g.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
+#~ msgstr "z. B.: pdfstartview=XYZ, plainpages=false, pdfpagelabels"
+
#~ msgid "Preferred &Language:"
#~ msgstr "Bevorzugte S&prache:"
commit b3ae129de79a7e5dcc0080097b2b1319565a67c1
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Feb 12 17:11:18 2022 +0100
Update tex2lyx tests
diff --git a/src/tex2lyx/test/CJK.lyx.lyx b/src/tex2lyx/test/CJK.lyx.lyx
index 1eabb8c..6addbc4 100644
--- a/src/tex2lyx/test/CJK.lyx.lyx
+++ b/src/tex2lyx/test/CJK.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/CJKutf8.lyx.lyx b/src/tex2lyx/test/CJKutf8.lyx.lyx
index 807031d..585d14a 100644
--- a/src/tex2lyx/test/CJKutf8.lyx.lyx
+++ b/src/tex2lyx/test/CJKutf8.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/DummyDocument.lyx.lyx b/src/tex2lyx/test/DummyDocument.lyx.lyx
index 3337671..b5fb085 100644
--- a/src/tex2lyx/test/DummyDocument.lyx.lyx
+++ b/src/tex2lyx/test/DummyDocument.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/Dummy~Document.lyx.lyx b/src/tex2lyx/test/Dummy~Document.lyx.lyx
index 761e495..872addf 100644
--- a/src/tex2lyx/test/Dummy~Document.lyx.lyx
+++ b/src/tex2lyx/test/Dummy~Document.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx b/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx
index d99a57b..47b8e32 100644
--- a/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx
+++ b/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/algo2e.lyx.lyx b/src/tex2lyx/test/algo2e.lyx.lyx
index 559f788..756fa0b 100644
--- a/src/tex2lyx/test/algo2e.lyx.lyx
+++ b/src/tex2lyx/test/algo2e.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/beamer.lyx.lyx b/src/tex2lyx/test/beamer.lyx.lyx
index 45e8f6f..5b00841 100644
--- a/src/tex2lyx/test/beamer.lyx.lyx
+++ b/src/tex2lyx/test/beamer.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/box-color-size-space-align.lyx.lyx b/src/tex2lyx/test/box-color-size-space-align.lyx.lyx
index 81c279c..28ea2b5 100644
--- a/src/tex2lyx/test/box-color-size-space-align.lyx.lyx
+++ b/src/tex2lyx/test/box-color-size-space-align.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/listpreamble.lyx.lyx b/src/tex2lyx/test/listpreamble.lyx.lyx
index 4ffea66..a0fc0b0 100644
--- a/src/tex2lyx/test/listpreamble.lyx.lyx
+++ b/src/tex2lyx/test/listpreamble.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/tabular-x-test.lyx.lyx b/src/tex2lyx/test/tabular-x-test.lyx.lyx
index b72ea5c..b3f4c54 100644
--- a/src/tex2lyx/test/tabular-x-test.lyx.lyx
+++ b/src/tex2lyx/test/tabular-x-test.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test-insets-basic.lyx.lyx b/src/tex2lyx/test/test-insets-basic.lyx.lyx
index 6dba919..89978a9 100644
--- a/src/tex2lyx/test/test-insets-basic.lyx.lyx
+++ b/src/tex2lyx/test/test-insets-basic.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test-insets.lyx.lyx b/src/tex2lyx/test/test-insets.lyx.lyx
index 903ec9f..3388b76 100644
--- a/src/tex2lyx/test/test-insets.lyx.lyx
+++ b/src/tex2lyx/test/test-insets.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test-memoir.lyx.lyx b/src/tex2lyx/test/test-memoir.lyx.lyx
index 3a23aad..83e55b0 100644
--- a/src/tex2lyx/test/test-memoir.lyx.lyx
+++ b/src/tex2lyx/test/test-memoir.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test-minted.lyx.lyx b/src/tex2lyx/test/test-minted.lyx.lyx
index 178119d..83bdf26 100644
--- a/src/tex2lyx/test/test-minted.lyx.lyx
+++ b/src/tex2lyx/test/test-minted.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test-modules.lyx.lyx b/src/tex2lyx/test/test-modules.lyx.lyx
index 67f0507..19993f4 100644
--- a/src/tex2lyx/test/test-modules.lyx.lyx
+++ b/src/tex2lyx/test/test-modules.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx b/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx
index 8983667..0362611 100644
--- a/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx
+++ b/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test-scr.lyx.lyx b/src/tex2lyx/test/test-scr.lyx.lyx
index 4a9151d..b2fc4f4 100644
--- a/src/tex2lyx/test/test-scr.lyx.lyx
+++ b/src/tex2lyx/test/test-scr.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test-structure.lyx.lyx b/src/tex2lyx/test/test-structure.lyx.lyx
index fcdbbc7..112f055 100644
--- a/src/tex2lyx/test/test-structure.lyx.lyx
+++ b/src/tex2lyx/test/test-structure.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test.lyx.lyx b/src/tex2lyx/test/test.lyx.lyx
index 61e1f25..b62ff5c 100644
--- a/src/tex2lyx/test/test.lyx.lyx
+++ b/src/tex2lyx/test/test.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/verbatim.lyx.lyx b/src/tex2lyx/test/verbatim.lyx.lyx
index 11098ca..4f86b6e 100644
--- a/src/tex2lyx/test/verbatim.lyx.lyx
+++ b/src/tex2lyx/test/verbatim.lyx.lyx
@@ -1,5 +1,5 @@
#LyX file created by tex2lyx 2.4
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
commit 1da80d4d8ff4295a5f35cbf0130eef1d89a46b44
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Feb 12 17:10:34 2022 +0100
Add basic support for \DeclareMetadata
File format change
diff --git a/development/FORMAT b/development/FORMAT
index 28014ee..dd95edf 100644
--- a/development/FORMAT
+++ b/development/FORMAT
@@ -7,6 +7,12 @@ changes happened in particular if possible. A good example would be
-----------------------
+2022-02-11 Jürgen Spitzmüller <spitz at lyx.org>
+ * Format incremented to 609: \\begin_metadata ... \\end_metadata buffer param.
+ This takes a list of keyvals for the new \\DocumentMetadata command
+ (introduced in LaTeX 06/2022) which must be output at the very begin
+ of the document (before \\documentclass).
+
2021-03-23 Thibaut Cuvelier <tcuvelier at lyx.org>
* Format incremented to 608: DocBook MathML-namespace prefix with the
\docbook_mathml_prefix buffer parameter (enumerated value:
diff --git a/lib/chkconfig.ltx b/lib/chkconfig.ltx
index 660710b..d2613e9 100644
--- a/lib/chkconfig.ltx
+++ b/lib/chkconfig.ltx
@@ -242,6 +242,8 @@
\TestLaTeXVersion{2020/10/01}
% This robustifies LaTeX commands
\TestLaTeXVersion{2021/06/01}
+% Introduction of \\DocumentMetadata
+\TestLaTeXVersion{2022/06/01}
%%% And now, the list of available languages
% The trick is to know that \the\everyjob contains something like
diff --git a/lib/doc/UserGuide.lyx b/lib/doc/UserGuide.lyx
index 123c09a..f5d5648 100644
--- a/lib/doc/UserGuide.lyx
+++ b/lib/doc/UserGuide.lyx
@@ -1,5 +1,5 @@
#LyX 2.4 created this file. For more info see https://www.lyx.org/
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
@@ -8973,12 +8973,14 @@ Verbatim
\end_layout
\begin_layout Verbatim
+
This is Verbatim.
\end_layout
\begin_layout Verbatim
\noindent
\align block
+
The following 2 lines are empty:
\end_layout
@@ -8991,6 +8993,7 @@ The following 2 lines are empty:
\end_layout
\begin_layout Verbatim
+
Almost everything is allowed in Verbatim:"%&$§#~'`
\backslash
}][{|
@@ -9014,6 +9017,7 @@ Verbatim
\end_layout
\begin_layout Verbatim*
+
This is Verbatim*.
\end_layout
@@ -35811,16 +35815,61 @@ PDF properties
\end_layout
\begin_layout Standard
+
+\change_deleted -712698321 1644655914
The
+\change_unchanged
+
\family sans
Document\SpecialChar menuseparator
Settings\SpecialChar menuseparator
PDF Properties
\family default
- dialog allows you to set up special options for the PDF output of your
- document.
- All these options are provided by the \SpecialChar LaTeX
--package
+
+\change_deleted -712698321 1644655917
+dialog
+\change_unchanged
+allows you to set up
+\change_deleted -712698321 1644651900
+special options
+\change_inserted -712698321 1644651929
+specifics
+\change_unchanged
+
+\change_deleted -712698321 1644651937
+for
+\change_inserted -712698321 1644651944
+of your document's
+\change_unchanged
+
+\change_deleted -712698321 1644655939
+the
+\change_unchanged
+PDF output
+\change_deleted -712698321 1644651948
+ of your document
+\change_unchanged
+.
+
+\change_deleted -712698321 1644651614
+All
+\change_inserted -712698321 1644651616
+Most of
+\change_unchanged
+ these
+\change_deleted -712698321 1644651959
+options
+\change_inserted -712698321 1644651961
+specifics
+\change_unchanged
+ are provided by the \SpecialChar LaTeX
+
+\change_deleted -712698321 1644651813
+-
+\change_inserted -712698321 1644651814
+
+\change_unchanged
+package
\series bold
hyperref
\series default
@@ -35835,10 +35884,63 @@ status collapsed
\end_inset
- which will link all cross-references in the DVI- and PDF-output.
+
+\change_inserted -712698321 1644653717
+ which you need to enable by clicking
+\family sans
+Use Hyperref Support
+\family default
+ in order to set the PDF properties (if the package is already loaded by
+ your document class or another package, the checkbox you need to click
+ is labeled
+\family sans
+Customize Hyperref Options
+\family default
+ instead).
+ Among other things, hyperref
+\change_deleted -712698321 1644651887
+ which
+\change_unchanged
+
+\change_deleted -712698321 1644653821
+will
+\change_inserted -712698321 1644653851
+ hyper
+\change_unchanged
+link
+\change_inserted -712698321 1644653826
+s
+\change_unchanged
+ all
+\change_inserted -712698321 1644653859
+URLs and
+\change_unchanged
+cross-references in the
+\change_deleted -712698321 1644653786
+DVI- and
+\change_unchanged
+PDF
+\change_inserted -712698321 1644653751
+
+\change_deleted -712698321 1644653751
+-
+\change_unchanged
+output.
This means that the reader of your document will be able to click on a
- table of contents entry or on a reference to move to the cross-referenced
- part of the document.
+\change_inserted -712698321 1644653878
+n URL, a
+\change_unchanged
+ table of contents entry or on a reference to
+\change_inserted -712698321 1644653918
+open a website or to
+\change_unchanged
+move to the cross-referenced part of the document.
+
+\change_inserted -712698321 1644653971
+ Furthermore, you can set PDF metadata (such as document author and title),
+ or determine how the PDF is being opened by the reader program.
+\change_unchanged
+
\end_layout
\begin_layout Standard
@@ -35847,8 +35949,11 @@ The header information in the dialog tab
General
\family default
is saved together with the PDF as file properties.
- Many programs are able to extract this information, for example, automatically
- to recognize who the author is and what the PDF is about.
+ Many programs are able to extract this information, for example,
+\change_deleted -712698321 1644656745
+automatically
+\change_unchanged
+to recognize who the author is and what the PDF is about.
This is very useful to sort, classify or use PDFs for bibliography issues.
When the option
\family sans
@@ -35862,9 +35967,15 @@ fill
header
\family default
- is set, \SpecialChar LyX
- tries to extract the header information from your document title
- and author entries.
+ is set,
+\change_deleted -712698321 1644654039
+\SpecialChar LyX
+
+\change_inserted -712698321 1644654041
+hyperref
+\change_unchanged
+ tries to extract the header information from your document title and author
+ entries.
The option
\family sans
Load
@@ -35885,12 +35996,51 @@ mode
\end_layout
\begin_layout Standard
-You can specify in the dialog tab
+
+\change_deleted -712698321 1644654066
+You can specify i
+\change_inserted -712698321 1644654066
+I
+\change_unchanged
+n the dialog tab
\family sans
Hyperlinks
\family default
- how the links will look and if links for bibliographical backreferences
- are created.
+
+\change_inserted -712698321 1644654103
+you can customize the
+\change_deleted -712698321 1644654105
+how
+\change_inserted -712698321 1644654109
+ look of
+\change_unchanged
+
+\change_deleted -712698321 1644654087
+the
+\change_inserted -712698321 1644654087
+such
+\change_unchanged
+ links
+\change_inserted -712698321 1644654147
+, and you can specify
+\change_unchanged
+
+\change_inserted -712698321 1644654275
+if and which
+\change_deleted -712698321 1644654283
+will look and if links for
+\change_unchanged
+bibliographical backreferences are created
+\change_inserted -712698321 1644654335
+.
+
+\family sans
+Backreferences
+\family default
+ are links inserted at the end of bibliographic entries pointing to either
+ sections, pages or slides on which these entries are being cited
+\change_unchanged
+.
The
\family sans
Break
@@ -35971,21 +36121,47 @@ green
\end_layout
\begin_layout Standard
-but you can change these in the field
+but you can change these in the
+\change_deleted -712698321 1644651692
+field
+\change_inserted -712698321 1644651692
+tab
+\change_unchanged
+
\family sans
-Additional options
+Additional
+\change_deleted -712698321 1644656056
+o
+\change_inserted -712698321 1644656056
+O
+\change_unchanged
+ptions
\family default
.
- For example, in this document they were changed with the additional options:
+ For example, in this document they were changed with the
+\change_inserted -712698321 1644651709
+se
+\change_unchanged
+ additional options
+\change_inserted -712698321 1644651730
+ added to
+\family sans
+Hypersetup
+\change_unchanged
+
+\family default
+:
\end_layout
-\begin_layout Standard
+\begin_layout Quote
\series bold
linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue
\end_layout
\begin_layout Standard
+
+\change_deleted -712698321 1644654422
If the option
\family sans
Backreferences
@@ -35993,6 +36169,8 @@ Backreferences
is set, the hyperlinks will appear in the bibliography after the different
entries, showing, depending on the option selected, the number of the section,
slide or page where the entry is referenced.
+\change_unchanged
+
\end_layout
\begin_layout Standard
@@ -36000,20 +36178,56 @@ In the dialog tab
\family sans
Bookmarks
\family default
- you can specify if PDF-bookmarks should be created for every section of
- your document to make it easier for readers to navigate through the document.
+ you can specify if PDF
+\change_inserted -712698321 1644654456
+
+\change_deleted -712698321 1644654456
+-
+\change_unchanged
+bookmarks
+\change_inserted -712698321 1644654511
+(shown as a collapsible outline in the PDF reader)
+\change_unchanged
+should be created for every section of your document to make it easier for
+ readers to navigate through the document.
You can decide if the bookmarks should be numbered like your document sections
or not.
- With the
+
+\change_deleted -712698321 1644654607
+With
+\change_inserted -712698321 1644654609
+By checking
+\change_unchanged
+
+\change_deleted -712698321 1644654594
+the
+\change_unchanged
+
\family sans
-Open bookmarks
+Open bookmark
+\change_inserted -712698321 1644654550
+ tree
+\change_deleted -712698321 1644654551
+s
+\change_inserted -712698321 1644654802
+
\family default
+you can instruct the PDF reader to uncollapse the outliner when opening
+ the PDF.
+
+\change_unchanged
\family sans
Level
\family default
- you can specify what sectioning level should be displayed in the bookmarks
+
+\change_inserted -712698321 1644654838
+determines up to which level this uncollapsing is done.
+\change_deleted -712698321 1644654687
+you can specify what sectioning level should be displayed in the bookmarks
when opening the PDF.
+
+\change_unchanged
For example level
\begin_inset space ~
\end_inset
@@ -36022,10 +36236,106 @@ Level
\begin_inset space ~
\end_inset
-1 will only display the sections.
+1 will only display the sections
+\change_inserted -712698321 1644654724
+ (collapsing the rest)
+\change_unchanged
+.
+\change_inserted -712698321 1644656154
+
\end_layout
\begin_layout Standard
+
+\change_inserted -712698321 1644657105
+In the
+\family sans
+Additional Options
+\family default
+ dialog tab you can insert hyperref options which are not among the ones
+ described above as a comma-separated list (please refer to the hyperref
+ manual
+\begin_inset CommandInset citation
+LatexCommand cite
+key "hyperref"
+literal "true"
+
+\end_inset
+
+ for a full list and documentation of possible options).
+ Note that these options will be passed to hyperref via
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\change_inserted -712698321 1644656321
+
+\backslash
+hypersetup
+\change_unchanged
+
+\end_layout
+
+\end_inset
+
+, not via the package options.
+ This will exclude some options that can only be specified via the latter.
+ If you need to use one of those options, you can set them by adding
+\end_layout
+
+\begin_layout Quote
+
+\change_inserted -712698321 1644656496
+
+\series bold
+PackageOptions hyperref option1,option1
+\change_unchanged
+
+\end_layout
+
+\begin_layout Standard
+
+\change_inserted -712698321 1644656431
+in
+\family sans
+Document\SpecialChar menuseparator
+Settings\SpecialChar menuseparator
+Local Layout
+\family default
+ (but only if hyperref is not loaded by your document class).
+\change_unchanged
+
+\end_layout
+
+\begin_layout Standard
+
+\change_inserted -712698321 1644657160
+The
+\family sans
+Document Metadata
+\family default
+ input widget allows you to insert PDF properties that are independent of
+ the hyperref package and rely on some (rather new) \SpecialChar LaTeX
+ core features.
+ This requires \SpecialChar LaTeX
+ version 06/2022 at least (with earlier versions, input is
+ simply ignored).
+ The widget expects a comma-separated list of key-value options (such as
+
+\series bold
+pdfversion=1.7, lang=de-DE
+\series default
+).
+ At the point of writing this, the list of options is still rather small
+ and not very well documented, but it is expected that in the future, rather
+ fundamental PDF properties (such as structure tagging for accessibility
+ reasons and different PDF standards such as PDF/A) can be set this way.
+\end_layout
+
+\begin_layout Standard
+
+\change_deleted -712698321 1644656978
PDF properties are also used in this document.
When you look in its document settings, you can see that some additional
@@ -36042,6 +36352,8 @@ literal "true"
\end_inset
.
+\change_unchanged
+
\end_layout
\begin_layout Section
diff --git a/lib/doc/de/UserGuide.lyx b/lib/doc/de/UserGuide.lyx
index 2c819dd..0f1c9b0 100644
--- a/lib/doc/de/UserGuide.lyx
+++ b/lib/doc/de/UserGuide.lyx
@@ -1,5 +1,5 @@
#LyX 2.4 created this file. For more info see https://www.lyx.org/
-\lyxformat 608
+\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
@@ -8752,10 +8752,12 @@ Unformatiert
\end_layout
\begin_layout Verbatim
+
Dies ist Unformatiert.
\end_layout
\begin_layout Verbatim
+
Die folgenden 2 Zeilen sind leer:
\end_layout
@@ -8768,6 +8770,7 @@ Die folgenden 2 Zeilen sind leer:
\end_layout
\begin_layout Verbatim
+
Fast alles ist in Unformatiert erlaubt:"%&$§#~'`
\backslash
}][{|
@@ -8791,6 +8794,7 @@ Unformatiert
\end_layout
\begin_layout Verbatim*
+
Dies ist Unformatiert*.
\end_layout
@@ -33204,9 +33208,9 @@ Dokument-Einstellungen
\family sans
PDF-Eigenschaften
\family default
- spezielle Optionen für die PDF-Ausgabe eines Dokuments setzen.
- Alle Optionen stammen vom \SpecialChar LaTeX
--Paket
+ Spezifika für die PDF-Ausgabe eines Dokuments bestimmen.
+ Die meisten Spezifika werden mithilfe des \SpecialChar LaTeX
+-Pakets
\series bold
hyperref
\series default
@@ -33221,18 +33225,29 @@ status collapsed
\end_inset
-.
+ gesetzt, das Sie durch anklicken von
+\family sans
+Hyperref-Unterstützung verwenden
+\family default
+ zunächst aktivieren müssen (falls das Paket bereits durch die Dokumentklasse
+ oder ein anderes Paket geladen wurde, klicken Sie statt dessen
+\family sans
+Hyperref-Optionen anpassen
+\family default
+).
\end_layout
\begin_layout Standard
\series bold
-hyperref
+Hyperref
\series default
- wird in der DVI- oder PDF-Ausgabe alle Querverweise verlinken, so dass
- ein Leser, der die DVI- oder PDF-Ausgabe auf seinem PC liest, einen Querverweis
- anklicken kann und so zur entsprechenden Stelle gelangt, wie es auch im
- Internet passiert.
+ verlinkt unter anderem alle URLs und Querverweise in der PDF-Ausgabe, so
+ dass Leser:innen eine URL oder einen Querverweis anklicken und so zur entsprech
+enden Webseite oder Stelle im Dokument gelangt können.
+ Weiterhin können Sie etwa PDF-Metadaten (wie Autor:in oder Titel des Dokuments)
+ eingeben oder festlegen, wie ein PDF-Reader die Datei öffnet.
+
\end_layout
\begin_layout Standard
@@ -33259,9 +33274,8 @@ automatisch
eintragen
\family default
- angekreuzt, versucht \SpecialChar LyX
-, diese Informationen aus dem Titel und dem Autor
- des Dokuments zu gewinnen.
+ angekreuzt, versucht hyperref, diese Informationen aus dem Titel und den
+ Autorangaben des Dokuments zu gewinnen.
Die Option
\family sans
Im
@@ -33283,12 +33297,12 @@ Auf der Karteikarte
\family sans
Hyperlinks
\family default
- können Sie festlegen, wie die Querverweise aussehen sollen, und ob bibliografis
-che Rückverweise angelegt werden sollen.
-\end_layout
-
-\begin_layout Standard
-Mit die Option
+ können Sie festlegen, wie Querverweise aussehen sollen, und ob bzw.
+ welche bibliografischen Rückverweise angelegt werden sollen.
+ Rückverweise sind Verweise, die am Ende eines Literatureintrags eingefügt
+ werden und die entweder auf Abschnitte, Seiten oder Folien verlinken, auf
+ denen ein entsprechender Eintrag zitiert wurde.
+ Mit die Option
\family sans
Links am Zeilenende umbrechen
\family default
@@ -33357,7 +33371,7 @@ grün
\end_layout
\begin_layout Standard
-die aber im Feld
+die aber in der Karteikarte
\family sans
Zusätzliche Optionen
\family default
@@ -33370,7 +33384,7 @@ B.
in diesem Dokument mit den Optionen
\end_layout
-\begin_layout Standard
+\begin_layout Quote
\series bold
linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue
@@ -33381,52 +33395,39 @@ getan.
\end_layout
\begin_layout Standard
-Wenn die Option
-\family sans
-Rückverweise
-\family default
- ausgewählt ist, erscheinen die Hyperlinks im Literaturverzeichnis hinter
- den Einträgen, je nach Einstellung, als Nummer des Abschnitts, der Folie
- oder Seite in/auf der sie referenziert sind.
-\end_layout
-
-\begin_layout Standard
In der Karteikarte
\family sans
Lesezeichen
\family default
- können Sie festlegen, ob welche erzeugt und auch nummeriert werden sollen.
- Das erleichtert es Lesern, durch die PDF-Ausgabe des Dokuments zu navigieren.
+ können Sie festlegen, ob eine Navigationsstruktur (die als einklappbare
+ hierarchische Liste von Kapiteln, Abschnitten usw.
+ im PDF-Reader angezeigt wird) angelegt werden soll.
+ Dies erleichtert es Leser:innen, durch die PDF-Ausgabe des Dokuments zu
+ navigieren.
+ Sie können festlegen, ob die Einträge dieser Liste, analog zu den Kapiteln
+ und Abschnitten, nummeriert werden soll oder nicht.
Mit
\family sans
+Lesezeichen-Strukturbaum öffnen
+\family default
+ können Sie den PDF-Reader instruieren, diese Navigationsstruktur beim öffnen
+ auszuklappen, mit
+\family sans
Ebene
\family default
- legen Sie fest, welche Lesezeichen angezeigt werden sollen.
- 2 zum Beispiel zeigt die Lesezeichen aller Abschnitte und Unterabschnitte,
- während 1 nur Abschnitte berücksichtigt.
+ legen Sie fest, bis zu welcher Ebene ausgeklappt werden soll.
+ 2 zum Beispiel öffnet die Lesezeichen aller Abschnitte und Unterabschnitte,
+ während 1 nur Abschnitte ausklappt.
\end_layout
\begin_layout Standard
-Auch in diesem Handbuch werden PDF-Eigenschaften benutzt, wie Sie im Dialogfenst
-er
-\family sans
-Dokument-Einstellungen
-\family default
- sehen können.
- Dort sehen Sie auch, dass
+In der Karteikarte
\family sans
-Zusätzliche
-\begin_inset space \space{}
-\end_inset
-
-Optionen
+Zusätzliche Optionen
\family default
- benutzt werden.
- Genaueres dazu finden Sie im
-\series bold
-hyperref
-\series default
--Handbuch
+ können Sie eine durch Kommata getrennte Liste von weiteren Hyperref-Optionen
+ eingeben, die oben nicht beschrieben sind (eine vollständige Liste und
+ Beschreibung finden Sie im Hyperref-Handbuch
\begin_inset CommandInset citation
LatexCommand cite
key "hyperref"
@@ -33434,7 +33435,63 @@ literal "true"
\end_inset
-.
+).
+ Beachten Sie, dass diese Optionen über das Makro
+\begin_inset Flex Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\backslash
+hypersetup
+\end_layout
+
+\end_inset
+
+ an Hyperref übergeben werden, nicht in Form von Paket-Optionen.
+ Das ist deshalb wichtig, weil manche Optionen nur in letzterer Form funktionier
+en.
+ Wenn Sie eine von diesen brauchen, können Sie sie mittels
+\end_layout
+
+\begin_layout Quote
+
+\series bold
+PackageOptions hyperref option1,option1
+\end_layout
+
+\begin_layout Standard
+in
+\family sans
+Dokument\SpecialChar menuseparator
+Einstellungen\SpecialChar menuseparator
+Lokales Format
+\family default
+ übergeben (was aber nur funktioniert, wenn hyperref nicht von Ihrer Dokumentkla
+sse geladen wird).
+\end_layout
+
+\begin_layout Standard
+Das Eingabefeld
+\family sans
+Metadaten des Dokuments
+\family default
+ erlaubt es Ihnen, PDF-Eigenschaften unabhängig von hyperref festzulegen.
+ Dies greift auf eine Kernfunktion von \SpecialChar LaTeX
+ zurück, die allerdings erst seit
+ der Version 06/2022 verfügbar ist (wenn Sie eine ältere Version haben,
+ werden Eingaben in dieses Feld schlicht ignoriert).
+ Das Eingabefeld erwartet durch Kommata getrennte Schlüssel-Wert-Optionen
+ (wie
+\series bold
+pdfversion=1.7, lang=de-DE
+\series default
+).
+ Zum Zeitpunkt, als dies hier geschrieben wurde, ist die Liste möglicher
+ Optionen noch klein und schlecht dokumentiert.
+ Es ist aber zu erwarten, dass zukünftig sehr fundamentale PDF-Eigenschaften
+ (wie etwa strukturiertes Tagging für barrierefreie Dokumente oder verschiedene
+ PDF-Standards wie PDF/A) auf diese Weise eingestellt werden können.
\end_layout
\begin_layout Section
diff --git a/lib/lyx2lyx/lyx_2_4.py b/lib/lyx2lyx/lyx_2_4.py
index 3fed7ee..9dfaeae 100644
--- a/lib/lyx2lyx/lyx_2_4.py
+++ b/lib/lyx2lyx/lyx_2_4.py
@@ -27,11 +27,12 @@ from datetime import (datetime, date, time)
# Uncomment only what you need to import, please.
from parser_tools import (count_pars_in_inset, del_complete_lines, del_token,
- find_end_of_inset, find_end_of_layout, find_token, find_token_backwards,
- find_token_exact, find_re, get_bool_value, get_containing_inset,
- get_containing_layout, get_option_value, get_value, get_quoted_value)
+ find_end_of, find_end_of_inset, find_end_of_layout, find_token,
+ find_token_backwards, find_token_exact, find_re, get_bool_value,
+ get_containing_inset, get_containing_layout, get_option_value, get_value,
+ get_quoted_value)
# del_value,
-# find_complete_lines, find_end_of,
+# find_complete_lines,
# find_re, find_substring,
# is_in_inset, set_bool_value
# find_tokens, check_token
@@ -4413,6 +4414,19 @@ def revert_docbook_mathml_prefix(document):
return
del document.header[i]
+def revert_document_metadata(document):
+ """Revert document metadata"""
+ i = 0
+ while True:
+ i = find_token(document.header, "\\begin_metadata", i)
+ if i == -1:
+ return
+ j = find_end_of(document.header, i, "\\begin_metadata", "\\end_metadata")
+ if j == -1:
+ # this should not happen
+ break
+ document.header[i : j + 1] = []
+
##
# Conversion hub
#
@@ -4482,10 +4496,12 @@ convert = [
[605, [convert_vcolumns2]],
[606, [convert_koma_frontispiece]],
[607, []],
- [608, []]
+ [608, []],
+ [609, []]
]
-revert = [[607, [revert_docbook_mathml_prefix]],
+revert = [[608, [revert_document_metadata]],
+ [607, [revert_docbook_mathml_prefix]],
[606, [revert_spellchecker_ignore]],
[605, [revert_koma_frontispiece]],
[604, [revert_vcolumns2]],
diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp
index fc559a4..95aa913 100644
--- a/src/BufferParams.cpp
+++ b/src/BufferParams.cpp
@@ -807,6 +807,8 @@ string BufferParams::readToken(Lexer & lex, string const & token,
origin.replace(0, sysdirprefix.length() - 1,
package().system_support().absFileName());
}
+ } else if (token == "\\begin_metadata") {
+ readDocumentMetadata(lex);
} else if (token == "\\begin_preamble") {
readPreamble(lex);
} else if (token == "\\begin_local_layout") {
@@ -1255,6 +1257,15 @@ void BufferParams::writeFile(ostream & os, Buffer const * buf) const
baseClass()->name()), "layout"))
<< '\n';
+ // then document metadata
+ if (!document_metadata.empty()) {
+ // remove '\n' from the end of document_metadata
+ docstring const tmpmd = rtrim(document_metadata, "\n");
+ os << "\\begin_metadata\n"
+ << to_utf8(tmpmd)
+ << "\n\\end_metadata\n";
+ }
+
// then the preamble
if (!preamble.empty()) {
// remove '\n' from the end of preamble
@@ -1688,6 +1699,56 @@ void BufferParams::validate(LaTeXFeatures & features) const
bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
FileName const & filepath) const
{
+ // DocumentMetadata must come before anything else
+ if (features.isAvailable("LaTeX-2022/06/01")
+ && !containsOnly(document_metadata, " \n\t")) {
+ // Check if the user preamble contains uncodable glyphs
+ odocstringstream doc_metadata;
+ docstring uncodable_glyphs;
+ Encoding const * const enc = features.runparams().encoding;
+ if (enc) {
+ for (char_type c : document_metadata) {
+ if (!enc->encodable(c)) {
+ docstring const glyph(1, c);
+ LYXERR0("Uncodable character '"
+ << glyph
+ << "' in document metadata!");
+ uncodable_glyphs += glyph;
+ if (features.runparams().dryrun) {
+ doc_metadata << "<" << _("LyX Warning: ")
+ << _("uncodable character") << " '";
+ doc_metadata.put(c);
+ doc_metadata << "'>";
+ }
+ } else
+ doc_metadata.put(c);
+ }
+ } else
+ doc_metadata << document_metadata;
+
+ // On BUFFER_VIEW|UPDATE, warn user if we found uncodable glyphs
+ if (!features.runparams().dryrun && !uncodable_glyphs.empty()) {
+ frontend::Alert::warning(
+ _("Uncodable character in document metadata"),
+ support::bformat(
+ _("The metadata of your document contains glyphs "
+ "that are unknown in the current document encoding "
+ "(namely %1$s).\nThese glyphs are omitted "
+ " from the output, which may result in "
+ "incomplete output."
+ "\n\nPlease select an appropriate "
+ "document encoding\n"
+ "(such as utf8) or change the "
+ "preamble code accordingly."),
+ uncodable_glyphs));
+ }
+ if (!doc_metadata.str().empty()) {
+ os << "\\DocumentMetadata{\n"
+ << doc_metadata.str()
+ << "}\n";
+ }
+ }
+
// http://www.tug.org/texmf-dist/doc/latex/base/fixltx2e.pdf
// !! To use the Fix-cm package, load it before \documentclass, and use the command
// \RequirePackage to do so, rather than the normal \usepackage
@@ -2881,6 +2942,16 @@ void BufferParams::readPreamble(Lexer & lex)
}
+void BufferParams::readDocumentMetadata(Lexer & lex)
+{
+ if (lex.getString() != "\\begin_metadata")
+ lyxerr << "Error (BufferParams::readDocumentMetadata):"
+ "consistency check failed." << endl;
+
+ document_metadata = lex.getLongString(from_ascii("\\end_metadata"));
+}
+
+
void BufferParams::readLocalLayout(Lexer & lex, bool forced)
{
string const expected = forced ? "\\begin_forced_local_layout" :
diff --git a/src/BufferParams.h b/src/BufferParams.h
index 38649e7..890d884 100644
--- a/src/BufferParams.h
+++ b/src/BufferParams.h
@@ -367,6 +367,8 @@ public:
std::string origin;
///
docstring preamble;
+ /// DocumentMetadata as introduced by LaTeX 2022/06
+ docstring document_metadata;
///
std::string options;
/// use the class options defined in the layout?
@@ -620,6 +622,8 @@ private:
///
void readPreamble(Lexer &);
///
+ void readDocumentMetadata(Lexer &);
+ ///
void readLocalLayout(Lexer &, bool);
///
void readLanguage(Lexer &);
diff --git a/src/frontends/qt/GuiDocument.cpp b/src/frontends/qt/GuiDocument.cpp
index 812b8e2..714953c 100644
--- a/src/frontends/qt/GuiDocument.cpp
+++ b/src/frontends/qt/GuiDocument.cpp
@@ -1722,7 +1722,9 @@ GuiDocument::GuiDocument(GuiView & lv)
this, SLOT(change_adaptor()));
connect(pdfSupportModule->fullscreenCB, SIGNAL(toggled(bool)),
this, SLOT(change_adaptor()));
- connect(pdfSupportModule->optionsLE, SIGNAL(textChanged(QString)),
+ connect(pdfSupportModule->optionsTE, SIGNAL(textChanged()),
+ this, SLOT(change_adaptor()));
+ connect(pdfSupportModule->metadataTE, SIGNAL(textChanged()),
this, SLOT(change_adaptor()));
pdfSupportModule->titleLE->setValidator(new NoNewLineValidator(
@@ -1733,8 +1735,8 @@ GuiDocument::GuiDocument(GuiView & lv)
pdfSupportModule->subjectLE));
pdfSupportModule->keywordsLE->setValidator(new NoNewLineValidator(
pdfSupportModule->keywordsLE));
- pdfSupportModule->optionsLE->setValidator(new NoNewLineValidator(
- pdfSupportModule->optionsLE));
+ (void) new LaTeXHighlighter(pdfSupportModule->optionsTE->document(), true, true);
+ (void) new LaTeXHighlighter(pdfSupportModule->metadataTE->document(), true, true);
for (int i = 0; backref_opts[i][0]; ++i)
pdfSupportModule->backrefCO->addItem(qt_(backref_opts_gui[i]));
@@ -3911,7 +3913,14 @@ void GuiDocument::applyView()
else
pdf.pagemode.clear();
pdf.quoted_options = pdf.quoted_options_check(
- fromqstr(pdfSupportModule->optionsLE->text()));
+ fromqstr(pdfSupportModule->optionsTE->toPlainText()));
+#if QT_VERSION < 0x060000
+ bp_.document_metadata = qstring_to_ucs4(pdfSupportModule->metadataTE->toPlainText()
+ .trimmed().replace(QRegExp("\n+"), "\n"));
+#else
+ bp_.document_metadata = qstring_to_ucs4(pdfSupportModule->metadataTE->toPlainText()
+ .trimmed().replace(QRegularExpression("\n+"), "\n"));
+#endif
// change tracking
bp_.track_changes = changesModule->trackChangesCB->isChecked();
@@ -4519,9 +4528,12 @@ void GuiDocument::paramsToDialog()
pdfSupportModule->fullscreenCB->setChecked
(pdf.pagemode == pdf.pagemode_fullscreen);
- pdfSupportModule->optionsLE->setText(
+ pdfSupportModule->optionsTE->setPlainText(
toqstr(pdf.quoted_options));
+ pdfSupportModule->metadataTE->setPlainText(
+ toqstr(bp_.document_metadata));
+
// change tracking
changesModule->trackChangesCB->setChecked(bp_.track_changes);
changesModule->outputChangesCB->setChecked(bp_.output_changes);
diff --git a/src/frontends/qt/LaTeXHighlighter.cpp b/src/frontends/qt/LaTeXHighlighter.cpp
index f33db5d..80e7a09 100644
--- a/src/frontends/qt/LaTeXHighlighter.cpp
+++ b/src/frontends/qt/LaTeXHighlighter.cpp
@@ -20,8 +20,8 @@ namespace lyx {
namespace frontend {
-LaTeXHighlighter::LaTeXHighlighter(QTextDocument * parent, bool at_letter)
- : QSyntaxHighlighter(parent), at_letter_(at_letter)
+LaTeXHighlighter::LaTeXHighlighter(QTextDocument * parent, bool at_letter, bool keyval)
+ : QSyntaxHighlighter(parent), at_letter_(at_letter), keyval_(keyval)
{
auto blend = [](QColor color1, QColor color2) {
int r = 0.5 * (color1.red() + color2.red());
@@ -38,12 +38,32 @@ LaTeXHighlighter::LaTeXHighlighter(QTextDocument * parent, bool at_letter)
mathFormat.setForeground(blend(Qt::red, text_color));
warningFormat.setForeground(Qt::red);
warningFormat.setFontWeight(QFont::Bold);
+ keyFormat.setForeground(blend(Qt::darkRed, text_color));
+ keyFormat.setFontWeight(QFont::Bold);
+ valFormat.setForeground(blend(Qt::darkGreen, text_color));
}
void LaTeXHighlighter::highlightBlock(QString const & text)
{
#if QT_VERSION < 0x060000
+ // keyval
+ if (keyval_) {
+ // Highlight key-val options. Used in some option widgets.
+ static const QRegExp exprKeyvalkey("[^=,]+");
+ static const QRegExp exprKeyvalval("[^,]+");
+ int kvindex = exprKeyvalkey.indexIn(text);
+ while (kvindex >= 0) {
+ int length = exprKeyvalkey.matchedLength();
+ setFormat(kvindex, length, keyFormat);
+ int kvvindex = exprKeyvalval.indexIn(text, kvindex + length);
+ if (kvvindex > 0) {
+ length += exprKeyvalval.matchedLength();
+ setFormat(kvvindex, length, valFormat);
+ }
+ kvindex = exprKeyvalkey.indexIn(text, kvindex + length);
+ }
+ }
// $ $
static const QRegExp exprMath("\\$[^\\$]*\\$");
int index = exprMath.indexIn(text);
@@ -129,6 +149,27 @@ void LaTeXHighlighter::highlightBlock(QString const & text)
index = exprWarning.indexIn(text, index + length);
}
#else
+ // keyval
+ if (keyval_) {
+ // Highlight key-val options. Used in some option widgets.
+ static const QRegularExpression exprKeyvalkey("[^=,]+");
+ static const QRegularExpression exprKeyvalval("[^,]+");
+ QRegularExpressionMatch matchkey = exprKeyvalkey.match(text);
+ int kvindex = matchkey.capturedStart(0);
+ while (kvindex >= 0) {
+ int length = matchkey.capturedLength(0);
+ setFormat(kvindex, length, keyFormat);
+ QRegularExpressionMatch matchval =
+ exprKeyvalval.match(text, kvindex + length);
+ int kvvindex = matchval.capturedStart(0);
+ if (kvvindex > 0) {
+ length += matchval.capturedLength(0);
+ setFormat(kvvindex, length, valFormat);
+ }
+ matchkey = exprKeyvalkey.match(text, kvindex + length);
+ kvindex = matchkey.capturedStart(0);
+ }
+ }
// $ $
static const QRegularExpression exprMath("\\$[^\\$]*\\$");
QRegularExpressionMatch match = exprMath.match(text);
diff --git a/src/frontends/qt/LaTeXHighlighter.h b/src/frontends/qt/LaTeXHighlighter.h
index 47df8b9..7a80d1f 100644
--- a/src/frontends/qt/LaTeXHighlighter.h
+++ b/src/frontends/qt/LaTeXHighlighter.h
@@ -25,7 +25,9 @@ namespace frontend {
class LaTeXHighlighter : public QSyntaxHighlighter
{
public:
- explicit LaTeXHighlighter(QTextDocument * parent, bool at_letter = false);
+ explicit LaTeXHighlighter(QTextDocument * parent,
+ bool at_letter = false,
+ bool keyval = false);
protected:
void highlightBlock(QString const & text) override;
@@ -35,8 +37,12 @@ private:
QTextCharFormat keywordFormat;
QTextCharFormat mathFormat;
QTextCharFormat warningFormat;
+ QTextCharFormat keyFormat;
+ QTextCharFormat valFormat;
// is at a letter? (as in the preamble)
bool const at_letter_;
+ // highlight keyval options?
+ bool const keyval_;
};
} // namespace frontend
diff --git a/src/frontends/qt/ui/PDFSupportUi.ui b/src/frontends/qt/ui/PDFSupportUi.ui
index 1e45f21..51a144c 100644
--- a/src/frontends/qt/ui/PDFSupportUi.ui
+++ b/src/frontends/qt/ui/PDFSupportUi.ui
@@ -6,29 +6,14 @@
<rect>
<x>0</x>
<y>0</y>
- <width>437</width>
- <height>488</height>
+ <width>485</width>
+ <height>530</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
- <layout class="QGridLayout">
- <property name="leftMargin">
- <number>9</number>
- </property>
- <property name="topMargin">
- <number>9</number>
- </property>
- <property name="rightMargin">
- <number>9</number>
- </property>
- <property name="bottomMargin">
- <number>9</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
+ <layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QGroupBox" name="use_hyperrefGB">
<property name="focusPolicy">
@@ -465,58 +450,57 @@
</item>
</layout>
</widget>
+ <widget class="QWidget" name="tab_4">
+ <attribute name="title">
+ <string>Additional O&ptions</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QGroupBox" name="groupBox_3">
+ <property name="toolTip">
+ <string>Document metadata and PDF settings (as specified in LaTeX 06/2022 and later)</string>
+ </property>
+ <property name="title">
+ <string>Hyperse&tup</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_8">
+ <item row="0" column="0">
+ <widget class="QTextEdit" name="optionsTE">
+ <property name="acceptRichText">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QGroupBox" name="groupBox_3">
- <property name="title">
- <string>Additional O&ptions</string>
- </property>
- <property name="flat">
- <bool>true</bool>
- </property>
- <property name="checkable">
- <bool>false</bool>
- </property>
- <property name="checked">
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QGroupBox" name="groupBox">
+ <property name="toolTip">
+ <string>Document metadata and PDF settings (as specified in LaTeX 06/2022 and later)</string>
+ </property>
+ <property name="title">
+ <string>Document &Metadata</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_7">
+ <item row="0" column="0">
+ <widget class="QTextEdit" name="metadataTE">
+ <property name="acceptRichText">
<bool>false</bool>
</property>
- <layout class="QGridLayout">
- <property name="leftMargin">
- <number>9</number>
- </property>
- <property name="topMargin">
- <number>9</number>
- </property>
- <property name="rightMargin">
- <number>9</number>
- </property>
- <property name="bottomMargin">
- <number>9</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <item row="0" column="0">
- <widget class="QLineEdit" name="optionsLE">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>e.g.: pdfstartview=XYZ, plainpages=false, pdfpagelabels</string>
- </property>
- </widget>
- </item>
- </layout>
</widget>
</item>
</layout>
</widget>
</item>
- <item row="1" column="0">
+ <item row="2" column="0">
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>
diff --git a/src/tex2lyx/Preamble.cpp b/src/tex2lyx/Preamble.cpp
index e14176e..3588086 100644
--- a/src/tex2lyx/Preamble.cpp
+++ b/src/tex2lyx/Preamble.cpp
@@ -1950,6 +1950,11 @@ bool Preamble::writeLyXHeader(ostream & os, bool subdoc, string const & outfiled
<< "\\save_transient_properties " << h_save_transient_properties << "\n"
<< "\\origin " << origin << "\n"
<< "\\textclass " << h_textclass << "\n";
+ if (!h_doc_metadata.empty()) {
+ os << "\\begin_metadata\n"
+ << h_doc_metadata
+ << "\n\\end_metadata\n";
+ }
string const raw = subdoc ? empty_string() : h_preamble.str();
if (!raw.empty()) {
os << "\\begin_preamble\n";
@@ -2793,6 +2798,11 @@ void Preamble::parse(Parser & p, string const & forceclass,
continue;
}
+ if (t.cs() == "DocumentMetadata") {
+ h_doc_metadata = trimSpaceAndEol(p.getArg('{', '}'));
+ continue;
+ }
+
if (t.cs() == "usepackage") {
string const options = p.getArg('[', ']');
string const name = p.getArg('{', '}');
diff --git a/src/tex2lyx/Preamble.h b/src/tex2lyx/Preamble.h
index 8bdb358..1a03ae3 100644
--- a/src/tex2lyx/Preamble.h
+++ b/src/tex2lyx/Preamble.h
@@ -148,6 +148,7 @@ private:
int index_number;
std::ostringstream h_preamble;
+ std::string h_doc_metadata;
std::string h_backgroundcolor;
std::string h_multibib;
std::string h_biblio_style;
diff --git a/src/version.h b/src/version.h
index aba9db0..bdf6cee 100644
--- a/src/version.h
+++ b/src/version.h
@@ -32,8 +32,8 @@ extern char const * const lyx_version_info;
// Do not remove the comment below, so we get merge conflict in
// independent branches. Instead add your own.
-#define LYX_FORMAT_LYX 608 // tcuvelier: \\docbook_mathml_prefix
-#define LYX_FORMAT_TEX2LYX 608
+#define LYX_FORMAT_LYX 609 // spitz: document metadata
+#define LYX_FORMAT_TEX2LYX 609
#if LYX_FORMAT_TEX2LYX != LYX_FORMAT_LYX
#ifndef _MSC_VER
commit 027545a2e607e86eec77bb4486c4b339c969049e
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Feb 12 15:10:14 2022 +0100
Whitespace
diff --git a/src/frontends/qt/GuiDocument.cpp b/src/frontends/qt/GuiDocument.cpp
index 4067d6c..812b8e2 100644
--- a/src/frontends/qt/GuiDocument.cpp
+++ b/src/frontends/qt/GuiDocument.cpp
@@ -265,15 +265,15 @@ class ModuleSelectionManager : public GuiSelectionManager
public:
///
ModuleSelectionManager(QObject * parent,
- QTreeView * availableLVarg,
- QTreeView * selectedLVarg,
- QPushButton * addPBarg,
- QPushButton * delPBarg,
- QPushButton * upPBarg,
- QPushButton * downPBarg,
- QStandardItemModel * availableModelarg,
- GuiIdListModel * selectedModelarg,
- GuiDocument const * container)
+ QTreeView * availableLVarg,
+ QTreeView * selectedLVarg,
+ QPushButton * addPBarg,
+ QPushButton * delPBarg,
+ QPushButton * upPBarg,
+ QPushButton * downPBarg,
+ QStandardItemModel * availableModelarg,
+ GuiIdListModel * selectedModelarg,
+ GuiDocument const * container)
: GuiSelectionManager(parent, availableLVarg, selectedLVarg, addPBarg, delPBarg,
upPBarg, downPBarg, availableModelarg, selectedModelarg),
container_(container)
@@ -933,9 +933,9 @@ GuiDocument::GuiDocument(GuiView & lv)
connect(outputModule->tableoutCB, SIGNAL(currentIndexChanged(int)),
this, SLOT(change_adaptor()));
connect(outputModule->mathmlprefixCB, SIGNAL(currentIndexChanged(int)),
- this, SLOT(change_adaptor()));
+ this, SLOT(change_adaptor()));
- connect(outputModule->shellescapeCB, SIGNAL(stateChanged(int)),
+ connect(outputModule->shellescapeCB, SIGNAL(stateChanged(int)),
this, SLOT(shellescapeChanged()));
connect(outputModule->outputsyncCB, SIGNAL(toggled(bool)),
this, SLOT(setOutputSync(bool)));
@@ -1331,6 +1331,7 @@ GuiDocument::GuiDocument(GuiView & lv)
connect(colorModule->delBoxBackgroundTB, SIGNAL(clicked()),
this, SLOT(deleteBoxBackgroundColor()));
+
// change tracking
changesModule = new UiWidget<Ui::ChangeTrackingUi>(this);
connect(changesModule->trackChangesCB, SIGNAL(clicked()),
@@ -1340,6 +1341,7 @@ GuiDocument::GuiDocument(GuiView & lv)
connect(changesModule->changeBarsCB, SIGNAL(clicked()),
this, SLOT(change_adaptor()));
+
// numbering
numberingModule = new UiWidget<Ui::NumberingUi>(this);
connect(numberingModule->depthSL, SIGNAL(valueChanged(int)),
@@ -1762,7 +1764,7 @@ GuiDocument::GuiDocument(GuiView & lv)
qt_("Input listings parameters below. Enter ? for a list of parameters."));
for (int i = 0; lst_packages[i][0]; ++i)
- listingsModule->packageCO->addItem(lst_packages[i]);
+ listingsModule->packageCO->addItem(lst_packages[i]);
// add the panels
commit a7c58e2ff3899fc9544296575efb6ae1061ef3f8
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Fri Feb 11 17:07:57 2022 +0100
Do not output hyperref option unicode with recent hyperref versions
unicode is true by default anyway, and it is now easier to opt out
via PackageOptions
diff --git a/lib/chkconfig.ltx b/lib/chkconfig.ltx
index fe3ce0d..660710b 100644
--- a/lib/chkconfig.ltx
+++ b/lib/chkconfig.ltx
@@ -586,6 +586,9 @@
\TestPackageVersion{babel}{2017/11/03}
% This introduces multiple paragraphs in multirows
\TestPackageVersion{multirow}{2021/01/29}
+% With this version, hyperref option unicode is true
+% by default
+\TestPackageVersion{hyperref}{2021/02/04}
%%% Document classes
% The list of layout files has been put in this file here by the
diff --git a/src/PDFOptions.cpp b/src/PDFOptions.cpp
index ee2193f..1a15b0b 100644
--- a/src/PDFOptions.cpp
+++ b/src/PDFOptions.cpp
@@ -14,6 +14,7 @@
#include "PDFOptions.h"
#include "Encoding.h"
+#include "LaTeXFeatures.h"
#include "Lexer.h"
#include "OutputParams.h"
#include "texstream.h"
@@ -105,10 +106,10 @@ void PDFOptions::writeLaTeX(OutputParams & runparams, otexstream & os,
opt += runparams.hyperref_driver + ",";
// Since LyX uses unicode, also set the PDF strings to unicode strings
- // with the hyperref option "unicode". (With Xe/LuaTeX and pTeX,
- // unicode=true is the default, with Japanese (platex), the option
- // leads to errors (even if the input encoding is UTF-8).)
- if (!runparams.isFullUnicode() && !runparams.use_japanese)
+ // with the hyperref option "unicode". This is only needed with pdflatex.
+ // As of 2021/02/04, unicode=true is default.
+ if (!LaTeXFeatures::isAvailable("hyperref-2021/02/04")
+ && !runparams.isFullUnicode() && !runparams.use_japanese)
opt += "unicode=true,";
// only use the hyperref settings if hyperref is enabled by the user
@@ -118,7 +119,8 @@ void PDFOptions::writeLaTeX(OutputParams & runparams, otexstream & os,
// explicitly given
if (pdfusetitle && title.empty() && author.empty())
opt += "pdfusetitle,";
- opt += "\n ";
+ if (!opt.empty())
+ opt += "\n ";
opt += "bookmarks=" + convert<string>(bookmarks) + ',';
if (bookmarks) {
opt += "bookmarksnumbered=" + convert<string>(bookmarksnumbered) + ',';
@@ -127,7 +129,8 @@ void PDFOptions::writeLaTeX(OutputParams & runparams, otexstream & os,
opt += "bookmarksopenlevel="
+ convert<string>(bookmarksopenlevel) + ',';
}
- opt += "\n ";
+ if (!opt.empty())
+ opt += "\n ";
opt += "breaklinks=" + convert<string>(breaklinks) + ',';
opt += "pdfborder={0 0 ";
opt += (pdfborder ? '0' : '1');
commit cd995a2bc6449c8d9d3dee494ecffcf9abdcb50f
Author: Stephan Witt <switt at lyx.org>
Date: Wed Feb 9 10:59:18 2022 +0100
Avoid static members zoom_min_ and zoom_max_
Some compilers cannot use static class members by reference. std::min() and std::max() are passing parameters by const reference.
diff --git a/src/frontends/qt/GuiView.h b/src/frontends/qt/GuiView.h
index bd39d26..27d230b 100644
--- a/src/frontends/qt/GuiView.h
+++ b/src/frontends/qt/GuiView.h
@@ -519,9 +519,9 @@ private:
/// from the default zoom pref
double zoom_ratio_ = 1.0;
/// Minimum zoom percentage
- static int const zoom_min_ = 10;
+ int const zoom_min_ = 10;
/// Maximum zoom percentage
- static int const zoom_max_ = 1000;
+ int const zoom_max_ = 1000;
// movability flag of all toolbars
bool toolbarsMovable_;
commit 9faeaacfa8c871b7be56c7825b4c4878435ae26f
Author: Kornel Benko <kornel at lyx.org>
Date: Tue Feb 8 19:54:16 2022 +0100
Update sk.po
diff --git a/po/sk.po b/po/sk.po
index 7e2c7d2..3848bb6 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -3,13 +3,13 @@
#
# Zdenko Podobný <zdpo at mailbox.sk>, 2003, 2006.
# Kornel Benko <Kornel.Benko at berlin.de>, 2009.
-# Kornel Benko <kornel at lyx.org>, 2009-2021.
+# Kornel Benko <kornel at lyx.org>, 2009-2022.
msgid ""
msgstr ""
"Project-Id-Version: LyX-2.4\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2021-12-29 19:07+0100\n"
-"PO-Revision-Date: 2021-12-29 18:12+0000\n"
+"POT-Creation-Date: 2022-02-08 19:47+0100\n"
+"PO-Revision-Date: 2022-02-08 18:52+0000\n"
"Last-Translator: Kornel Benko <kornel at lyx.org>\n"
"Language-Team: Slovak <kornel at lyx.org>\n"
"Language: sk\n"
@@ -3877,19 +3877,6 @@ msgstr ""
msgid "&Underline change tracking additions"
msgstr "&PodÄiarknuÅ¥ adÃcie sledovaných zmien"
-#: src/frontends/qt/ui/PrefDisplayUi.ui:164
-msgid ""
-"If this is checked, an intermediate surface will be used for painting. This "
-"may be needed in some cases to have proper display, but breaks subpixel "
-"aliasing."
-msgstr ""
-"KeÄ zaÅ¡krtnuté, bude sa použÃvaÅ¥ vnútorná plocha na kresbu. Môže to byÅ¥ "
-"potrebné pre slušný displej. Ale porúša zarovnávanie pod-pixlov."
-
-#: src/frontends/qt/ui/PrefDisplayUi.ui:167
-msgid "Use &backing store to display text"
-msgstr "PoužÃvaÅ¥ zálohové ukladanie na zobrazenie &textu"
-
#: src/frontends/qt/ui/PrefDocHandlingUi.ui:26
msgid "Session Handling"
msgstr "Riadenie sedenia"
@@ -34103,9 +34090,13 @@ msgstr "Neplatný argument \"%1$s\" funkcie toolbar-set!"
msgid "Unknown toolbar \"%1$s\""
msgstr "Neznáma lišta nástrojov \"%1$s\""
-#: src/frontends/qt/GuiView.cpp:2313 src/frontends/qt/GuiView.cpp:2326
+#: src/frontends/qt/GuiView.cpp:2509
msgid "Zoom level cannot be less than %1$d%."
-msgstr "StupeŠlupy nesmie byť menšà ako %1$d%."
+msgstr "StupeŠlupy nesmie byť nižšà ako %1$d%."
+
+#: src/frontends/qt/GuiView.cpp:2514
+msgid "Zoom level cannot be more than %1$d%."
+msgstr "StupeŠlupy nesmie byť vyššà ako %1$d%."
#: src/frontends/qt/GuiView.cpp:2455
msgid "Document not loaded."
@@ -37246,6 +37237,17 @@ msgstr ""
msgid "Unknown user"
msgstr "Neznámy použÃvateľ"
+#~ msgid ""
+#~ "If this is checked, an intermediate surface will be used for painting. "
+#~ "This may be needed in some cases to have proper display, but breaks "
+#~ "subpixel aliasing."
+#~ msgstr ""
+#~ "KeÄ zaÅ¡krtnuté, bude sa použÃvaÅ¥ vnútorná plocha na kresbu. Môže to byÅ¥ "
+#~ "potrebné pre slušný displej. Ale porúša zarovnávanie pod-pixlov."
+
+#~ msgid "Use &backing store to display text"
+#~ msgstr "PoužÃvaÅ¥ zálohové ukladanie na zobrazenie &textu"
+
#~ msgid "Preferred &Language:"
#~ msgstr "&PreferenÄný Jazyk:"
commit 5259b6ba62fd4e31c260d73cbdfdb66847afcb98
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Tue Feb 8 19:42:17 2022 +0100
Set a maximum value to zoom level
The minimal vamue is set to 10%, let's set the max to 1000%. This
avoids crashes when characters are too large.
The code is refactored to be more compact and the tests are more precise.
Fixes bug #12452.
diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp
index 5cf4fce..43b835e 100644
--- a/src/frontends/qt/GuiView.cpp
+++ b/src/frontends/qt/GuiView.cpp
@@ -643,8 +643,7 @@ GuiView::GuiView(int id)
zoom_ratio_ = settings.value("zoom_ratio", 1.0).toDouble();
// Actual zoom value: default zoom + fractional offset
int zoom = (int)(lyxrc.defaultZoom * zoom_ratio_);
- if (zoom < static_cast<int>(zoom_min_))
- zoom = zoom_min_;
+ zoom = min(max(zoom, zoom_min_), zoom_max_);
zoom_slider_->setValue(zoom);
zoom_slider_->setToolTip(qt_("Workarea zoom level. Drag, use Ctrl-+/- or Shift-Mousewheel to adjust."));
@@ -982,8 +981,7 @@ bool GuiView::restoreLayout()
zoom_ratio_ = settings.value("zoom_ratio", 1.0).toDouble();
// Actual zoom value: default zoom + fractional offset
int zoom = (int)(lyxrc.defaultZoom * zoom_ratio_);
- if (zoom < static_cast<int>(zoom_min_))
- zoom = zoom_min_;
+ zoom = min(max(zoom, zoom_min_), zoom_max_);
setCurrentZoom(zoom);
devel_mode_ = settings.value("devel_mode", devel_mode_).toBool();
settings.beginGroup("views");
@@ -2100,6 +2098,30 @@ void GuiView::resetAutosaveTimers()
}
+namespace {
+
+double zoomRatio(FuncRequest const & cmd, double const zr)
+{
+ if (cmd.argument().empty()) {
+ if (cmd.action() == LFUN_BUFFER_ZOOM)
+ return 1.0;
+ else if (cmd.action() == LFUN_BUFFER_ZOOM_IN)
+ return zr + 0.1;
+ else // cmd.action() == LFUN_BUFFER_ZOOM_OUT
+ return zr - 0.1;
+ } else {
+ if (cmd.action() == LFUN_BUFFER_ZOOM)
+ return convert<int>(cmd.argument()) / double(lyxrc.defaultZoom);
+ else if (cmd.action() == LFUN_BUFFER_ZOOM_IN)
+ return zr + convert<int>(cmd.argument()) / 100.0;
+ else // cmd.action() == LFUN_BUFFER_ZOOM_OUT
+ return zr - convert<int>(cmd.argument()) / 100.0;
+ }
+}
+
+}
+
+
bool GuiView::getStatus(FuncRequest const & cmd, FuncStatus & flag)
{
bool enable = true;
@@ -2479,37 +2501,25 @@ bool GuiView::getStatus(FuncRequest const & cmd, FuncStatus & flag)
break;
case LFUN_BUFFER_ZOOM_OUT:
- case LFUN_BUFFER_ZOOM_IN: {
- // only diff between these two is that the default for ZOOM_OUT
- // is a neg. number
- bool const neg_zoom =
- convert<int>(cmd.argument()) < 0 ||
- (cmd.action() == LFUN_BUFFER_ZOOM_OUT && cmd.argument().empty());
- if (lyxrc.currentZoom <= zoom_min_ && neg_zoom) {
+ case LFUN_BUFFER_ZOOM_IN:
+ case LFUN_BUFFER_ZOOM: {
+ int const zoom = (int)(lyxrc.defaultZoom * zoomRatio(cmd, zoom_ratio_));
+ if (zoom < zoom_min_) {
docstring const msg =
bformat(_("Zoom level cannot be less than %1$d%."), zoom_min_);
flag.message(msg);
enable = false;
- } else
- enable = doc_buffer;
- break;
- }
-
- case LFUN_BUFFER_ZOOM: {
- bool const less_than_min_zoom =
- !cmd.argument().empty() && convert<int>(cmd.argument()) < zoom_min_;
- if (lyxrc.currentZoom <= zoom_min_ && less_than_min_zoom) {
+ } else if (zoom > zoom_max_) {
docstring const msg =
- bformat(_("Zoom level cannot be less than %1$d%."), zoom_min_);
+ bformat(_("Zoom level cannot be more than %1$d%."), zoom_max_);
flag.message(msg);
enable = false;
- } else if (cmd.argument().empty() && lyxrc.currentZoom == lyxrc.defaultZoom)
- enable = false;
- else
+ } else
enable = doc_buffer;
break;
}
+
case LFUN_BUFFER_MOVE_NEXT:
case LFUN_BUFFER_MOVE_PREVIOUS:
// we do not cycle when moving
@@ -4725,26 +4735,11 @@ void GuiView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
case LFUN_BUFFER_ZOOM_IN:
case LFUN_BUFFER_ZOOM_OUT:
case LFUN_BUFFER_ZOOM: {
- if (cmd.argument().empty()) {
- if (cmd.action() == LFUN_BUFFER_ZOOM)
- zoom_ratio_ = 1.0;
- else if (cmd.action() == LFUN_BUFFER_ZOOM_IN)
- zoom_ratio_ += 0.1;
- else
- zoom_ratio_ -= 0.1;
- } else {
- if (cmd.action() == LFUN_BUFFER_ZOOM)
- zoom_ratio_ = convert<int>(cmd.argument()) / double(lyxrc.defaultZoom);
- else if (cmd.action() == LFUN_BUFFER_ZOOM_IN)
- zoom_ratio_ += convert<int>(cmd.argument()) / 100.0;
- else
- zoom_ratio_ -= convert<int>(cmd.argument()) / 100.0;
- }
+ zoom_ratio_ = zoomRatio(cmd, zoom_ratio_);
// Actual zoom value: default zoom + fractional extra value
int zoom = (int)(lyxrc.defaultZoom * zoom_ratio_);
- if (zoom < static_cast<int>(zoom_min_))
- zoom = zoom_min_;
+ zoom = min(max(zoom, zoom_min_), zoom_max_);
setCurrentZoom(zoom);
diff --git a/src/frontends/qt/GuiView.h b/src/frontends/qt/GuiView.h
index 9ad3610..bd39d26 100644
--- a/src/frontends/qt/GuiView.h
+++ b/src/frontends/qt/GuiView.h
@@ -520,6 +520,8 @@ private:
double zoom_ratio_ = 1.0;
/// Minimum zoom percentage
static int const zoom_min_ = 10;
+ /// Maximum zoom percentage
+ static int const zoom_max_ = 1000;
// movability flag of all toolbars
bool toolbarsMovable_;
commit 2e07736c175d1b1c23f13996cd80c654cbc5c035
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Tue Feb 8 12:15:31 2022 -0500
Uninvert Hazard.*systemF tests
Our .lyx document was updated by Jürgen at e071d5fe.
diff --git a/development/autotests/invertedTests b/development/autotests/invertedTests
index 303d80c..ffef561 100644
--- a/development/autotests/invertedTests
+++ b/development/autotests/invertedTests
@@ -226,12 +226,6 @@ export/export/latex/languages/supported-languages_polyglossia_XeTeX_(dvi3|pdf5)_
# Is there a new version fixing the problem?
export/examples/Articles/Astronomy_%26_Astrophysics_(dvi3|pdf5)_texF
-# Gives the following error:
-# # ! Package hpstatement Error: H or P statement "H251"
-# # (hpstatement) is not defined.
-# seems to be polyglossia-related (dvi3 worked with babel)
-export/examples/Modules/Hazard_and_Precautionary_Statements_.*_systemF
-
# These files use packages that are not compatible with the newest LuaTeX. We
# could potentially fix these by loading the luatex85 package early in the
# LyX-generated preamble, but it seems it's better to wait until the packages
commit 52c4ff290bf9ce2e791e5dd972ffdb6bb2095fc2
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Mon Feb 7 22:13:37 2022 -0500
ctests: log a fixed issue
diff --git a/development/autotests/ctests-costs-benefits.txt b/development/autotests/ctests-costs-benefits.txt
index 06fb87d..6be712c 100644
--- a/development/autotests/ctests-costs-benefits.txt
+++ b/development/autotests/ctests-costs-benefits.txt
@@ -64,6 +64,9 @@ Fix : 489bf46a, e3489d54
Report : https://www.mail-archive.com/search?l=mid&q=20220205184128.4clckanaufwmx5z4%40gary
Fix : d66c27de
+Report : https://www.mail-archive.com/search?l=mid&q=20220206142559.rpgwki7wruhtasxp%40gary
+Fix : f71f71d0
+
Examples where upstream (e.g., LaTeX packages) bugs were fixed (more quickly)
because of ctests:
commit e071d5fe295f956ccbdc9ca4eb8403badb9f01bc
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Mon Feb 7 17:07:50 2022 +0100
HP-Statements example: update
Some of the examples used here seem to be no longer supported by
the hpstatement package and lead to errors.
diff --git a/lib/examples/Modules/Hazard_and_Precautionary_Statements.lyx b/lib/examples/Modules/Hazard_and_Precautionary_Statements.lyx
index 3711819..1097b6d 100644
--- a/lib/examples/Modules/Hazard_and_Precautionary_Statements.lyx
+++ b/lib/examples/Modules/Hazard_and_Precautionary_Statements.lyx
@@ -1,5 +1,5 @@
#LyX 2.4 created this file. For more info see https://www.lyx.org/
-\lyxformat 600
+\lyxformat 608
\begin_document
\begin_header
\save_transient_properties true
@@ -35,9 +35,9 @@ hpstatement
\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_roman_osf false
\font_sf_scale 100 100
\font_tt_scale 100 100
\use_microtype false
@@ -84,8 +84,8 @@ hpstatement
\justification true
\use_refstyle 1
\use_minted 0
-\notefontcolor #0000ff
\use_lineno 0
+\notefontcolor #0000ff
\index Index
\shortcut idx
\color #008000
@@ -101,12 +101,16 @@ hpstatement
\papercolumns 1
\papersides 1
\paperpagestyle default
+\tablestyle default
\tracking_changes false
-\postpone_fragile_content 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
+\docbook_mathml_prefix 1
\end_header
\begin_body
@@ -287,13 +291,13 @@ Some statements allow you to choose between certain alternatives.
\end_layout
\begin_layout Description
-P210.1 leads to:
+P250.1 leads to:
\begin_inset Flex H-P number
status open
\begin_layout Plain Layout
-P210.1
+P250.1
\end_layout
\end_inset
@@ -312,13 +316,13 @@ status open
\end_layout
\begin_layout Description
-P210.2 leads to:
+P250.2 leads to:
\begin_inset Flex H-P number
status open
\begin_layout Plain Layout
-P210.2
+P250.2
\end_layout
\end_inset
@@ -349,13 +353,13 @@ The alternative number
\end_layout
\begin_layout Description
-P210.0 leads to:
+P250.0 leads to:
\begin_inset Flex H-P number
status open
\begin_layout Plain Layout
-P210.0
+P250.0
\end_layout
\end_inset
@@ -401,7 +405,7 @@ In this example the text
\begin_inset Quotes eld
\end_inset
-sunglasses
+hands
\begin_inset Quotes erd
\end_inset
@@ -415,7 +419,7 @@ status open
\begin_layout Plain Layout
-P280
+P264
\end_layout
\end_inset
@@ -431,12 +435,12 @@ status open
\begin_layout Plain Layout
-sunglasses
+hands
\end_layout
\end_inset
-P280
+P264
\end_layout
\end_inset
commit f71f71d01336d02aeefe9dbfbfa8d681959d6ac9
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Mon Feb 7 16:21:20 2022 +0100
Amend 0789f2f2ae43
Use getFont() which considers fonts_default_family adjustments
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index f178dd5..48b8519 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -2539,9 +2539,10 @@ void Paragraph::latex(BufferParams const & bparams,
pos_type body_pos = beginOfBody();
unsigned int column = 0;
- // If we are inside an non inheritFont() inset, the outerfont is the default font
+ // If we are inside an non inheritFont() inset,
+ // the outerfont is the buffer's main font
Font const real_outerfont =
- inInset().inheritFont() ? outerfont : Font(bparams.documentClass().defaultfont());
+ inInset().inheritFont() ? outerfont : Font(bparams.getFont());
if (body_pos > 0) {
// the optional argument is kept in curly brackets in
commit a1d297b2cc82bfb025c94e37a59827d25de0a4e1
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Mon Feb 7 04:49:32 2022 +0100
DocBook: add a TODO for a newly discovered bug.
diff --git a/src/insets/InsetIndex.cpp b/src/insets/InsetIndex.cpp
index c578c03..fef2467 100644
--- a/src/insets/InsetIndex.cpp
+++ b/src/insets/InsetIndex.cpp
@@ -189,6 +189,8 @@ void InsetIndex::latex(otexstream & ios, OutputParams const & runparams_in) cons
void InsetIndex::docbook(XMLStream & xs, OutputParams const & runparams) const
{
// Get the content of the inset as LaTeX, as some things may be encoded as ERT (like {}).
+ // TODO: if there is an ERT within the index term, its conversion should be tried, in case it becomes useful;
+ // otherwise, ERTs should become comments. For now, they are just copied as-is, which is barely satisfactory.
odocstringstream odss;
otexstream ots(odss);
InsetText::latex(ots, runparams);
commit 35588958ea9fe018eb3f89c1c4e50f9c6e748587
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Mon Feb 7 04:47:40 2022 +0100
DocBook: in ERTs, allow the use of \string.
diff --git a/src/insets/InsetERT.cpp b/src/insets/InsetERT.cpp
index 397f118..50b5daa 100644
--- a/src/insets/InsetERT.cpp
+++ b/src/insets/InsetERT.cpp
@@ -30,7 +30,7 @@
#include "support/TempFile.h"
#include <sstream>
-
+#include <regex>
#include <iostream>
using namespace std;
@@ -436,26 +436,52 @@ void InsetERT::docbook(XMLStream & xs, OutputParams const & runparams) const
// auto lay = getLayout();
// }
- // Try to recognise some commands to have a nicer DocBook output. First step: some commands have a direct mapping
- // to DocBook, mostly because the mapping is simply text or an XML entity.
- docstring os_trimmed = trim(os.str());
+ // Try to recognise some commands to have a nicer DocBook output.
bool output_as_comment = true;
- auto command_raw_translation = raw_latex_encoding_to_unicode_xml.find(os_trimmed);
- if (command_raw_translation != raw_latex_encoding_to_unicode_xml.end()) {
- xs << command_raw_translation->second;
- output_as_comment = false;
- } else {
- // If the trimmed ERT ends with {}, try a mapping without it.
- auto os_braces = os_trimmed.find(from_ascii("{}"));
-
- if (os_braces != lyx::docstring::npos) {
- auto key = os_trimmed.substr(0, os_braces);
- auto command_braces_translation = raw_latex_encoding_to_unicode_xml.find(key);
-
- if (command_braces_translation != raw_latex_encoding_to_unicode_xml.end()) {
- xs << command_braces_translation->second;
- output_as_comment = false;
+ // First step: some commands have a direct mapping to DocBook, mostly because the mapping is simply text or
+ // an XML entity.
+ {
+ docstring os_trimmed = trim(os.str());
+
+ auto command_raw_translation = raw_latex_encoding_to_unicode_xml.find(os_trimmed);
+ if (command_raw_translation != raw_latex_encoding_to_unicode_xml.end()) {
+ xs << command_raw_translation->second;
+ output_as_comment = false;
+ } else {
+ // If the trimmed ERT ends with {}, try a mapping without it.
+ auto os_braces = os_trimmed.find(from_ascii("{}"));
+
+ if (os_braces != lyx::docstring::npos) {
+ auto key = os_trimmed.substr(0, os_braces);
+ auto command_braces_translation = raw_latex_encoding_to_unicode_xml.find(key);
+
+ if (command_braces_translation != raw_latex_encoding_to_unicode_xml.end()) {
+ xs << command_braces_translation->second;
+ output_as_comment = false;
+ }
+ }
+ }
+ }
+
+ // Second step: the command \string can be ignored. If that's the only command in the ERT, then done.
+ // There may be several occurrences. (\string is 7 characters long.)
+ if (os.str().length() >= 7) {
+ docstring os_str = os.str();
+
+ while (os_str.length() >= 7) {
+ auto os_text = os_str.find(from_ascii("\\string"));
+
+ if (os_text != lyx::docstring::npos && !std::isalpha(static_cast<int>(os_str[os_text + 7]))) {
+ os_str = os_str.substr(0, os_text) + os_str.substr(os_text + 7, os_str.length());
+
+ if (os_str.find('\\') == std::string::npos) {
+ xs << os_str;
+ output_as_comment = false;
+ break;
+ }
+ } else {
+ break;
}
}
}
commit f6edfaa1511cc08b6987da89ebafefeffc2acbf9
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Mon Feb 7 03:24:11 2022 +0100
DocBook: refactor ERT recognition as a map, add many coded letters.
diff --git a/src/insets/InsetERT.cpp b/src/insets/InsetERT.cpp
index 87abc63..397f118 100644
--- a/src/insets/InsetERT.cpp
+++ b/src/insets/InsetERT.cpp
@@ -88,6 +88,311 @@ int InsetERT::plaintext(odocstringstream & os,
}
+static const std::map<docstring, docstring> raw_latex_encoding_to_unicode_xml{
+ // Punctuation.
+ {from_ascii("\\textquotesingle"), from_ascii("'")},
+ {from_ascii("!`"), from_ascii("¡")}, // inverted exclamation mark
+ {from_ascii("?`"), from_ascii("¿")}, // inverted interrogation mark
+
+ // Logos.
+ {from_ascii("\\LaTeX"), from_ascii("LaTeX")},
+ {from_ascii("\\LaTeXe"), from_ascii("LaTeX2ε")}, // LaTeX 2 epsilon
+ {from_ascii("\\LyX"), from_ascii("LyX")},
+ {from_ascii("\\TeX"), from_ascii("TeX")},
+
+ // Accentuated letters (alphabetical order of description, ligatures after accents).
+ // Missing letters are only indicated for vowels (only few consonants have diacritics).
+ // Only symbols that can be expressed as one Unicode characters are present; symbols with more than one
+ // diacritic are also omitted.
+ {from_ascii("\\`{a}"), from_ascii("á")}, // a acute
+ {from_ascii("\\` a"), from_ascii("á")},
+ {from_ascii("\\`{A}"), from_ascii("Á")}, // A acute
+ {from_ascii("\\` A"), from_ascii("Á")},
+ {from_ascii("\\u{a}"), from_ascii("ă")}, // a breve
+ {from_ascii("\\u a"), from_ascii("ă")},
+ {from_ascii("\\u{A}"), from_ascii("Ă")}, // A breve
+ {from_ascii("\\u A"), from_ascii("Ă")},
+ {from_ascii("\\v{a}"), from_ascii("ǎ")}, // a caron
+ {from_ascii("\\v a"), from_ascii("ǎ")},
+ {from_ascii("\\v{A}"), from_ascii("Ǎ")}, // A caron
+ {from_ascii("\\v A"), from_ascii("Ǎ")},
+ // No a cedilla.
+ {from_ascii("\\^{a}"), from_ascii("â")}, // a circumflex
+ {from_ascii("\\^ a"), from_ascii("â")},
+ {from_ascii("\\^{A}"), from_ascii("Â")}, // A circumflex
+ {from_ascii("\\^ A"), from_ascii("Â")},
+ {from_ascii("\\\"{a}"), from_ascii("ä")}, // a diaeresis
+ {from_ascii("\\\" a"), from_ascii("ä")},
+ {from_ascii("\\\"{A}"), from_ascii("Ä")}, // A diaeresis
+ {from_ascii("\\\" A"), from_ascii("Ä")},
+ // No a double acute.
+ {from_ascii("\\`{a}"), from_ascii("à")}, // a grave
+ {from_ascii("\\` a"), from_ascii("à")},
+ {from_ascii("\\`{A}"), from_ascii("À")}, // A grave
+ {from_ascii("\\` A"), from_ascii("À")},
+ {from_ascii("\\~{a}"), from_ascii("ã")}, // a tilde
+ {from_ascii("\\~ a"), from_ascii("ã")},
+ {from_ascii("\\~{A}"), from_ascii("Ã")}, // A tilde
+ {from_ascii("\\~ A"), from_ascii("Ã")},
+ {from_ascii("\\aa"), from_ascii("å")}, // a ring
+ {from_ascii("\\r{a}"), from_ascii("å")},
+ {from_ascii("\\r a"), from_ascii("å")},
+ {from_ascii("\\AA"), from_ascii("Å")}, // A ring
+ {from_ascii("\\r{A}"), from_ascii("Å")},
+ {from_ascii("\\r A"), from_ascii("Å")},
+ {from_ascii("\\ae"), from_ascii("æ")}, // ae ligature
+ {from_ascii("\\AE"), from_ascii("Æ")}, // AE ligature
+ {from_ascii("\\v{c}"), from_ascii("č")}, // c caron
+ {from_ascii("\\v c"), from_ascii("č")},
+ {from_ascii("\\v{C}"), from_ascii("Č")}, // C caron
+ {from_ascii("\\v C"), from_ascii("Č")},
+ {from_ascii("\\c{c}"), from_ascii("Ç")}, // c cedilla
+ {from_ascii("\\c c"), from_ascii("Ç")},
+ {from_ascii("\\c{C}"), from_ascii("ç")}, // C cedilla
+ {from_ascii("\\c C"), from_ascii("ç")},
+ {from_ascii("\\v{d}"), from_ascii("ď")}, // d caron
+ {from_ascii("\\v d"), from_ascii("ď")},
+ {from_ascii("\\v{D}"), from_ascii("Ď")}, // D caron
+ {from_ascii("\\v D"), from_ascii("Ď")},
+ {from_ascii("\\`{e}"), from_ascii("é")}, // e acute
+ {from_ascii("\\` e"), from_ascii("é")},
+ {from_ascii("\\`{E}"), from_ascii("É")}, // E acute
+ {from_ascii("\\` E"), from_ascii("É")},
+ {from_ascii("\\u{e}"), from_ascii("ĕ")}, // e breve
+ {from_ascii("\\u e"), from_ascii("ĕ")},
+ {from_ascii("\\u{E}"), from_ascii("Ĕ")}, // E breve
+ {from_ascii("\\u E"), from_ascii("Ĕ")},
+ {from_ascii("\\v{e}"), from_ascii("ě")}, // e caron
+ {from_ascii("\\v e"), from_ascii("ě")},
+ {from_ascii("\\v{E}"), from_ascii("Ě")}, // E caron
+ {from_ascii("\\v E"), from_ascii("Ě")},
+ {from_ascii("\\c{e}"), from_ascii("ȩ")}, // e cedilla
+ {from_ascii("\\c e"), from_ascii("ȩ")},
+ {from_ascii("\\c{E}"), from_ascii("Ȩ")}, // E cedilla
+ {from_ascii("\\c E"), from_ascii("Ȩ")},
+ {from_ascii("\\^{e}"), from_ascii("ê")}, // e circumflex
+ {from_ascii("\\^ e"), from_ascii("ê")},
+ {from_ascii("\\^{E}"), from_ascii("Ê")}, // E circumflex
+ {from_ascii("\\^ E"), from_ascii("Ê")},
+ {from_ascii("\\\"{e}"), from_ascii("ë")}, // e diaeresis
+ {from_ascii("\\\" e"), from_ascii("ë")},
+ {from_ascii("\\\"{E}"), from_ascii("Ë")}, // E diaeresis
+ {from_ascii("\\\" E"), from_ascii("Ë")},
+ // No e double acute.
+ {from_ascii("\\`{e}"), from_ascii("è")}, // e grave
+ {from_ascii("\\` e"), from_ascii("è")},
+ {from_ascii("\\`{E}"), from_ascii("È")}, // E grave
+ {from_ascii("\\` E"), from_ascii("È")},
+ {from_ascii("\\~{e}"), from_ascii("ẽ")}, // e tilde
+ {from_ascii("\\~ e"), from_ascii("ẽ")},
+ {from_ascii("\\~{E}"), from_ascii("Ẽ")}, // E tilde
+ {from_ascii("\\~ E"), from_ascii("Ẽ")},
+ // No e ring.
+ {from_ascii("\\u{g}"), from_ascii("ğ")}, // g breve
+ {from_ascii("\\u g"), from_ascii("ğ")},
+ {from_ascii("\\u{G}"), from_ascii("Ğ")}, // G breve
+ {from_ascii("\\u G"), from_ascii("Ğ")},
+ {from_ascii("\\v{g}"), from_ascii("ǧ")}, // g caron
+ {from_ascii("\\v g"), from_ascii("ǧ")},
+ {from_ascii("\\v{G}"), from_ascii("Ǧ")}, // G caron
+ {from_ascii("\\v G"), from_ascii("Ǧ")},
+ {from_ascii("\\c{g}"), from_ascii("ģ")}, // g cedilla
+ {from_ascii("\\c g"), from_ascii("ģ")},
+ {from_ascii("\\c{G}"), from_ascii("Ģ")}, // G cedilla
+ {from_ascii("\\c G"), from_ascii("Ģ")},
+ {from_ascii("\\i"), from_ascii("ı")}, // i dotless
+ {from_ascii("\\`{i}"), from_ascii("í")}, // i acute
+ {from_ascii("\\` i"), from_ascii("í")},
+ {from_ascii("\\`{I}"), from_ascii("Í")}, // I acute
+ {from_ascii("\\` I"), from_ascii("Í")},
+ {from_ascii("\\u{i}"), from_ascii("ĭ")}, // i breve
+ {from_ascii("\\u i"), from_ascii("ĭ")},
+ {from_ascii("\\u{I}"), from_ascii("Ĭ")}, // I breve
+ {from_ascii("\\u I"), from_ascii("Ĭ")},
+ {from_ascii("\\v{i}"), from_ascii("ǐ")}, // i caron
+ {from_ascii("\\v i"), from_ascii("ǐ")},
+ {from_ascii("\\v{I}"), from_ascii("Ǐ")}, // I caron
+ {from_ascii("\\v I"), from_ascii("Ǐ")},
+ // No i cedilla.
+ {from_ascii("\\^{i}"), from_ascii("î")}, // i circumflex
+ {from_ascii("\\^ i"), from_ascii("î")},
+ {from_ascii("\\^{I}"), from_ascii("Î")}, // I circumflex
+ {from_ascii("\\^ I"), from_ascii("ï")},
+ {from_ascii("\\\"{i}"), from_ascii("ï")}, // i diaeresis
+ {from_ascii("\\\" i"), from_ascii("ë")},
+ {from_ascii("\\\"{I}"), from_ascii("ë")}, // I diaeresis
+ {from_ascii("\\\" I"), from_ascii("Ï")},
+ // No i double acute.
+ {from_ascii("\\`{i}"), from_ascii("ì")}, // i grave
+ {from_ascii("\\` i"), from_ascii("ì")},
+ {from_ascii("\\`{I}"), from_ascii("Ì")}, // I grave
+ {from_ascii("\\` I"), from_ascii("Ì")},
+ {from_ascii("\\~{i}"), from_ascii("ĩ")}, // i tilde
+ {from_ascii("\\~ i"), from_ascii("ĩ")},
+ {from_ascii("\\~{I}"), from_ascii("Ĩ")}, // I tilde
+ {from_ascii("\\~ I"), from_ascii("Ĩ")},
+ // No i ring.
+ {from_ascii("\\j"), from_ascii("ȷ")}, // j dotless
+ {from_ascii("\\v{k}"), from_ascii("Ǩ")}, // k caron
+ {from_ascii("\\v k"), from_ascii("Ǩ")},
+ {from_ascii("\\v{K}"), from_ascii("ǩ")}, // K caron
+ {from_ascii("\\v K"), from_ascii("ǩ")},
+ {from_ascii("\\c{k}"), from_ascii("ķ")}, // k cedilla
+ {from_ascii("\\c k"), from_ascii("ķ")},
+ {from_ascii("\\c{K}"), from_ascii("Ķ")}, // K cedilla
+ {from_ascii("\\c K"), from_ascii("Ķ")},
+ {from_ascii("\\v{l}"), from_ascii("ľ")}, // l caron
+ {from_ascii("\\v l"), from_ascii("ľ")},
+ {from_ascii("\\v{L}"), from_ascii("Ľ")}, // L caron
+ {from_ascii("\\v L"), from_ascii("Ľ")},
+ {from_ascii("\\c{l}"), from_ascii("ļ")}, // l cedilla
+ {from_ascii("\\c l"), from_ascii("ļ")},
+ {from_ascii("\\c{L}"), from_ascii("Ļ")}, // L cedilla
+ {from_ascii("\\c L"), from_ascii("Ļ")},
+ {from_ascii("\\l"), from_ascii("ł")}, // l stroke
+ {from_ascii("\\L"), from_ascii("Ł")}, // L stroke
+ {from_ascii("\\v{n}"), from_ascii("ň")}, // n caron
+ {from_ascii("\\v n"), from_ascii("ň")},
+ {from_ascii("\\v{N}"), from_ascii("Ň")}, // N caron
+ {from_ascii("\\v N"), from_ascii("Ň")},
+ {from_ascii("\\c{n}"), from_ascii("ņ")}, // n cedilla
+ {from_ascii("\\c n"), from_ascii("ņ")},
+ {from_ascii("\\c{N}"), from_ascii("Ņ")}, // N cedilla
+ {from_ascii("\\c N"), from_ascii("Ņ")},
+ {from_ascii("\\~{n}"), from_ascii("ñ")}, // n tilde
+ {from_ascii("\\~ n"), from_ascii("ñ")},
+ {from_ascii("\\~{N}"), from_ascii("Ñ")}, // N tilde
+ {from_ascii("\\~ N"), from_ascii("Ñ")},
+ {from_ascii("\\`{o}"), from_ascii("ó")}, // o acute
+ {from_ascii("\\` o"), from_ascii("ó")},
+ {from_ascii("\\`{O}"), from_ascii("Ó")}, // O acute
+ {from_ascii("\\` O"), from_ascii("Ó")},
+ {from_ascii("\\u{o}"), from_ascii("ŏ")}, // o breve
+ {from_ascii("\\u o"), from_ascii("ŏ")},
+ {from_ascii("\\u{O}"), from_ascii("Ŏ")}, // O breve
+ {from_ascii("\\u O"), from_ascii("Ŏ")},
+ {from_ascii("\\v{o}"), from_ascii("ǒ")}, // o caron
+ {from_ascii("\\v o"), from_ascii("ǒ")},
+ {from_ascii("\\v{O}"), from_ascii("Ǒ")}, // O caron
+ {from_ascii("\\v O"), from_ascii("Ǒ")},
+ // No o cedilla.
+ {from_ascii("\\^{o}"), from_ascii("ô")}, // o circumflex
+ {from_ascii("\\^ o"), from_ascii("ô")},
+ {from_ascii("\\^{O}"), from_ascii("Ô")}, // O circumflex
+ {from_ascii("\\^ O"), from_ascii("Ô")},
+ {from_ascii("\\\"{o}"), from_ascii("ö")}, // o diaeresis
+ {from_ascii("\\\" o"), from_ascii("ö")},
+ {from_ascii("\\\"{O}"), from_ascii("Ö")}, // O diaeresis
+ {from_ascii("\\\" O"), from_ascii("Ö")},
+ {from_ascii("\\H{o}"), from_ascii("ő")}, // o double acute
+ {from_ascii("\\H o"), from_ascii("ő")},
+ {from_ascii("\\H{O}"), from_ascii("Ő")}, // O double acute
+ {from_ascii("\\H O"), from_ascii("Ő")},
+ {from_ascii("\\`{o}"), from_ascii("ò")}, // o grave
+ {from_ascii("\\` o"), from_ascii("ò")},
+ {from_ascii("\\`{O}"), from_ascii("Ò")}, // O grave
+ {from_ascii("\\` O"), from_ascii("Ò")},
+ {from_ascii("\\o"), from_ascii("ø")}, // o stroke
+ {from_ascii("\\O"), from_ascii("Ø")}, // O stroke
+ {from_ascii("\\~{o}"), from_ascii("õ")}, // o tilde
+ {from_ascii("\\~ o"), from_ascii("õ")},
+ {from_ascii("\\~{O}"), from_ascii("Õ")}, // O tilde
+ {from_ascii("\\~ O"), from_ascii("Õ")},
+ // No o ring.
+ {from_ascii("\\oe"), from_ascii("œ")}, // oe ligature
+ {from_ascii("\\OE"), from_ascii("Œ")}, // OE ligature
+ {from_ascii("\\v{r}"), from_ascii("ř")}, // r caron
+ {from_ascii("\\v r"), from_ascii("ř")},
+ {from_ascii("\\v{R}"), from_ascii("Ř")}, // R caron
+ {from_ascii("\\v R"), from_ascii("Ř")},
+ {from_ascii("\\c{r}"), from_ascii("ŗ")}, // r cedilla
+ {from_ascii("\\c r"), from_ascii("ŗ")},
+ {from_ascii("\\c{R}"), from_ascii("Ŗ")}, // R cedilla
+ {from_ascii("\\c R"), from_ascii("Ŗ")},
+ {from_ascii("\\v{s}"), from_ascii("š")}, // s caron
+ {from_ascii("\\v s"), from_ascii("š")},
+ {from_ascii("\\v{S}"), from_ascii("Š")}, // S caron
+ {from_ascii("\\v S"), from_ascii("Š")},
+ {from_ascii("\\c{s}"), from_ascii("ş")}, // s cedilla
+ {from_ascii("\\c s"), from_ascii("ş")},
+ {from_ascii("\\c{S}"), from_ascii("Ş")}, // S cedilla
+ {from_ascii("\\c S"), from_ascii("Ş")},
+ {from_ascii("\\v{t}"), from_ascii("ť")}, // t caron
+ {from_ascii("\\v t"), from_ascii("ť")},
+ {from_ascii("\\v{T}"), from_ascii("Ť")}, // T caron
+ {from_ascii("\\v T"), from_ascii("Ť")},
+ {from_ascii("\\c{t}"), from_ascii("ţ")}, // t cedilla
+ {from_ascii("\\c t"), from_ascii("ţ")},
+ {from_ascii("\\c{T}"), from_ascii("Ţ")}, // T cedilla
+ {from_ascii("\\c T"), from_ascii("Ţ")},
+ {from_ascii("\\`{u}"), from_ascii("ú")}, // u acute
+ {from_ascii("\\` u"), from_ascii("ú")},
+ {from_ascii("\\`{U}"), from_ascii("Ú")}, // U acute
+ {from_ascii("\\` U"), from_ascii("Ú")},
+ {from_ascii("\\u{u}"), from_ascii("ŭ")}, // u breve
+ {from_ascii("\\u u"), from_ascii("ŭ")},
+ {from_ascii("\\u{U}"), from_ascii("Ŭ")}, // U breve
+ {from_ascii("\\u U"), from_ascii("Ŭ")},
+ {from_ascii("\\v{u}"), from_ascii("ǔ")}, // u caron
+ {from_ascii("\\v u"), from_ascii("ǔ")},
+ {from_ascii("\\v{U}"), from_ascii("Ǔ")}, // U caron
+ {from_ascii("\\v U"), from_ascii("Ǔ")},
+ // No u cedilla.
+ {from_ascii("\\^{u}"), from_ascii("û")}, // u circumflex
+ {from_ascii("\\^ u"), from_ascii("û")},
+ {from_ascii("\\^{U}"), from_ascii("Û")}, // U circumflex
+ {from_ascii("\\^ U"), from_ascii("Û")},
+ {from_ascii("\\\"{u}"), from_ascii("ü")}, // u diaeresis
+ {from_ascii("\\\" u"), from_ascii("ü")},
+ {from_ascii("\\\"{U}"), from_ascii("Ü")}, // U diaeresis
+ {from_ascii("\\\" U"), from_ascii("Ü")},
+ {from_ascii("\\H{u}"), from_ascii("ű")}, // u double acute
+ {from_ascii("\\H u"), from_ascii("ű")},
+ {from_ascii("\\H{U}"), from_ascii("Ű")}, // U double acute
+ {from_ascii("\\H U"), from_ascii("Ű")},
+ {from_ascii("\\`{u}"), from_ascii("ù")}, // u grave
+ {from_ascii("\\` u"), from_ascii("ù")},
+ {from_ascii("\\`{U}"), from_ascii("Ù")}, // U grave
+ {from_ascii("\\` U"), from_ascii("Ù")},
+ {from_ascii("\\~{u}"), from_ascii("ũ")}, // u tilde
+ {from_ascii("\\~ u"), from_ascii("ũ")},
+ {from_ascii("\\~{U}"), from_ascii("Ũ")}, // U tilde
+ {from_ascii("\\~ U"), from_ascii("Ũ")},
+ {from_ascii("\\r{u}"), from_ascii("å")}, // u ring
+ {from_ascii("\\r u"), from_ascii("ů")},
+ {from_ascii("\\r{U}"), from_ascii("ů")}, // U ring
+ {from_ascii("\\r U"), from_ascii("Ů")},
+ {from_ascii("\\`{y}"), from_ascii("ý")}, // y acute
+ {from_ascii("\\` y"), from_ascii("ý")},
+ {from_ascii("\\`{Y}"), from_ascii("Ý")}, // Y acute
+ {from_ascii("\\` Y"), from_ascii("Ý")},
+ {from_ascii("\\v{z}"), from_ascii("ž")}, // z caron
+ {from_ascii("\\v z"), from_ascii("ž")},
+ {from_ascii("\\v{Z}"), from_ascii("Ž")}, // Z caron
+ {from_ascii("\\v Z"), from_ascii("Ž")},
+ // No y breve.
+ // No y cedilla.
+ {from_ascii("\\^{y}"), from_ascii("ŷ")}, // y circumflex
+ {from_ascii("\\^ y"), from_ascii("ŷ")},
+ {from_ascii("\\^{Y}"), from_ascii("Ŷ")}, // Y circumflex
+ {from_ascii("\\^ Y"), from_ascii("Ŷ")},
+ {from_ascii("\\\"{y}"), from_ascii("ÿ")}, // y diaeresis
+ {from_ascii("\\\" y"), from_ascii("ÿ")},
+ {from_ascii("\\\"{Y}"), from_ascii("Ÿ")}, // Y diaeresis
+ {from_ascii("\\\" Y"), from_ascii("Ÿ")},
+ // No y double acute.
+ {from_ascii("\\`{y}"), from_ascii("ỳ")}, // y grave
+ {from_ascii("\\` y"), from_ascii("ỳ")},
+ {from_ascii("\\`{Y}"), from_ascii("Ỳ")}, // Y grave
+ {from_ascii("\\` Y"), from_ascii("Ỳ")},
+ {from_ascii("\\~{y}"), from_ascii("ỹ")}, // y tilde
+ {from_ascii("\\~ y"), from_ascii("ỹ")},
+ {from_ascii("\\~{Y}"), from_ascii("Ỹ")}, // Y tilde
+ {from_ascii("\\~ Y"), from_ascii("Ỹ")},
+ // No y ring.
+};
+
+
void InsetERT::docbook(XMLStream & xs, OutputParams const & runparams) const
{
auto const begin = paragraphs().begin();
@@ -131,26 +436,36 @@ void InsetERT::docbook(XMLStream & xs, OutputParams const & runparams) const
// auto lay = getLayout();
// }
- // Output the ERT as a comment with the appropriate escaping if the command is not recognised.
- if (trim(os.str()) == from_ascii("\\textquotesingle")) {
- xs << "'";
- } else if (trim(os.str()) == from_ascii("\\TeX") || trim(os.str()) == from_ascii("\\TeX{}")) {
- xs << "TeX";
- } else if (trim(os.str()) == from_ascii("\\LaTeX") || trim(os.str()) == from_ascii("\\LaTeX{}")) {
- xs << "LaTeX";
- } else if (trim(os.str()) == from_ascii("\\LaTeXe") || trim(os.str()) == from_ascii("\\LaTeXe{}")) {
- xs << "LaTeX2ε";
- } else if (trim(os.str()) == from_ascii("\\LyX") || trim(os.str()) == from_ascii("\\LyX{}")) {
- xs << "LyX";
- } else if (trim(os.str()) == from_ascii("\\oe") || trim(os.str()) == from_ascii("\\oe{}")) {
- xs << "œ";
- } else if (trim(os.str()) == from_ascii("\\OE") || trim(os.str()) == from_ascii("\\OE{}")) {
- xs << "Œ";
+ // Try to recognise some commands to have a nicer DocBook output. First step: some commands have a direct mapping
+ // to DocBook, mostly because the mapping is simply text or an XML entity.
+ docstring os_trimmed = trim(os.str());
+ bool output_as_comment = true;
+
+ auto command_raw_translation = raw_latex_encoding_to_unicode_xml.find(os_trimmed);
+ if (command_raw_translation != raw_latex_encoding_to_unicode_xml.end()) {
+ xs << command_raw_translation->second;
+ output_as_comment = false;
} else {
- xs << XMLStream::ESCAPE_NONE << "<!-- ";
- xs << XMLStream::ESCAPE_COMMENTS << os.str();
- xs << XMLStream::ESCAPE_NONE << " -->";
- }
+ // If the trimmed ERT ends with {}, try a mapping without it.
+ auto os_braces = os_trimmed.find(from_ascii("{}"));
+
+ if (os_braces != lyx::docstring::npos) {
+ auto key = os_trimmed.substr(0, os_braces);
+ auto command_braces_translation = raw_latex_encoding_to_unicode_xml.find(key);
+
+ if (command_braces_translation != raw_latex_encoding_to_unicode_xml.end()) {
+ xs << command_braces_translation->second;
+ output_as_comment = false;
+ }
+ }
+ }
+
+ // Otherwise, output the ERT as a comment with the appropriate escaping if the command is not recognised.
+ if (output_as_comment) {
+ xs << XMLStream::ESCAPE_NONE << "<!-- ";
+ xs << XMLStream::ESCAPE_COMMENTS << os.str();
+ xs << XMLStream::ESCAPE_NONE << " -->";
+ }
}
commit cd82b125d1d9b52f16ea13c6d3bc9cae3022cec7
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Mon Feb 7 01:02:19 2022 +0100
DocBook: in ERTs, recognise \oe.
diff --git a/src/insets/InsetERT.cpp b/src/insets/InsetERT.cpp
index 7c231b3..87abc63 100644
--- a/src/insets/InsetERT.cpp
+++ b/src/insets/InsetERT.cpp
@@ -142,6 +142,10 @@ void InsetERT::docbook(XMLStream & xs, OutputParams const & runparams) const
xs << "LaTeX2ε";
} else if (trim(os.str()) == from_ascii("\\LyX") || trim(os.str()) == from_ascii("\\LyX{}")) {
xs << "LyX";
+ } else if (trim(os.str()) == from_ascii("\\oe") || trim(os.str()) == from_ascii("\\oe{}")) {
+ xs << "œ";
+ } else if (trim(os.str()) == from_ascii("\\OE") || trim(os.str()) == from_ascii("\\OE{}")) {
+ xs << "Œ";
} else {
xs << XMLStream::ESCAPE_NONE << "<!-- ";
xs << XMLStream::ESCAPE_COMMENTS << os.str();
commit 812ce48e78652c58e99700f3d4868bddd9944382
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Mon Feb 7 00:27:58 2022 +0100
DocBook: in ERTs, recognise calls to the logos (as in InsetSpecialChar).
diff --git a/src/insets/InsetERT.cpp b/src/insets/InsetERT.cpp
index 6923f15..7c231b3 100644
--- a/src/insets/InsetERT.cpp
+++ b/src/insets/InsetERT.cpp
@@ -133,7 +133,15 @@ void InsetERT::docbook(XMLStream & xs, OutputParams const & runparams) const
// Output the ERT as a comment with the appropriate escaping if the command is not recognised.
if (trim(os.str()) == from_ascii("\\textquotesingle")) {
- xs << "'";
+ xs << "'";
+ } else if (trim(os.str()) == from_ascii("\\TeX") || trim(os.str()) == from_ascii("\\TeX{}")) {
+ xs << "TeX";
+ } else if (trim(os.str()) == from_ascii("\\LaTeX") || trim(os.str()) == from_ascii("\\LaTeX{}")) {
+ xs << "LaTeX";
+ } else if (trim(os.str()) == from_ascii("\\LaTeXe") || trim(os.str()) == from_ascii("\\LaTeXe{}")) {
+ xs << "LaTeX2ε";
+ } else if (trim(os.str()) == from_ascii("\\LyX") || trim(os.str()) == from_ascii("\\LyX{}")) {
+ xs << "LyX";
} else {
xs << XMLStream::ESCAPE_NONE << "<!-- ";
xs << XMLStream::ESCAPE_COMMENTS << os.str();
commit 122b452b20b96cb9608af85f7d71ab7977764c10
Author: Daniel Ramoeller <d.lyx at web.de>
Date: Sat Nov 13 10:24:53 2021 +0100
Display manually set itemize symbols
Display manually set itemize symbols and their size in the work area.
Fix for bug #2277.
Also fixes a problem with document settings changed() not correctly emitted.
diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index cfdb9d9..729d7a6 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -5157,31 +5157,8 @@ void Buffer::Impl::setLabel(ParIterator & it, UpdateType utype) const
switch(layout.labeltype) {
case LABEL_ITEMIZE: {
- // At some point of time we should do something more
- // clever here, like:
- // par.params().labelString(
- // bp.user_defined_bullet(par.itemdepth).getText());
- // for now, use a simple hardcoded label
- docstring itemlabel;
- switch (par.itemdepth) {
- case 0:
- // ⢠U+2022 BULLET
- itemlabel = char_type(0x2022);
- break;
- case 1:
- // â U+2013 EN DASH
- itemlabel = char_type(0x2013);
- break;
- case 2:
- // â U+2217 ASTERISK OPERATOR
- itemlabel = char_type(0x2217);
- break;
- case 3:
- // · U+00B7 MIDDLE DOT
- itemlabel = char_type(0x00b7);
- break;
- }
- par.params().labelString(itemlabel);
+ par.params().labelString(
+ bp.user_defined_bullet(par.itemdepth).getUnicode());
break;
}
diff --git a/src/Bullet.cpp b/src/Bullet.cpp
index 1f4ef6a..1e61777 100644
--- a/src/Bullet.cpp
+++ b/src/Bullet.cpp
@@ -54,7 +54,7 @@ Bullet::Bullet(int f, int c, int s)
Bullet::Bullet(docstring const & t)
- : font(MIN), character(MIN), size(MIN), user_text(1), text(t)
+ : font(MIN), character(MIN), size(MIN), user_text(1), text(t), unicode(t)
{
testInvariant();
}
@@ -98,6 +98,7 @@ void Bullet::setText(docstring const & t)
font = character = size = MIN;
user_text = 1;
text = t;
+ unicode = t;
testInvariant();
}
@@ -120,6 +121,16 @@ int Bullet::getSize() const
}
+FontSize Bullet::getFontSize() const
+{
+
+ if (size >= 0)
+ return bulletFontSize(size);
+ else
+ return INHERIT_SIZE;
+}
+
+
Bullet & Bullet::operator=(Bullet const & b)
{
b.testInvariant();
@@ -128,6 +139,7 @@ Bullet & Bullet::operator=(Bullet const & b)
size = b.size;
user_text = b.user_text;
text = b.text;
+ unicode = b.unicode;
this->testInvariant();
return *this;
}
@@ -141,6 +153,14 @@ docstring const & Bullet::getText() const
}
+docstring const & Bullet::getUnicode() const
+{
+ if (user_text == 0)
+ generateText();
+ return unicode;
+}
+
+
bool operator==(const Bullet & b1, const Bullet & b2)
{
bool result = false;
@@ -176,6 +196,7 @@ void Bullet::generateText() const
if ((font >= 0) && (character >= 0)) {
text = bulletEntry(font, character);
+ unicode = bulletUnicode(font, character);
if (size >= 0)
text = bulletSize(size) + text;
user_text = -1;
@@ -345,6 +366,153 @@ docstring const Bullet::bulletEntry(int f, int c)
return from_ascii(BulletPanels[f][c]);
}
+
+FontSize Bullet::bulletFontSize(int s)
+{
+ // see comment at bulletSize
+ static FontSize BulletFontSize[SIZEMAX] = {
+ TINY_SIZE, SCRIPT_SIZE, FOOTNOTE_SIZE, SMALL_SIZE, NORMAL_SIZE,
+ LARGE_SIZE, LARGER_SIZE, LARGEST_SIZE, HUGE_SIZE, HUGER_SIZE
+ };
+
+ return BulletFontSize[s];
+}
+
+
+docstring const Bullet::bulletUnicode(int f, int c)
+{
+ // see comment at bulletEntry
+ static int UnicodeBulletPanel0[CHARMAX] = {
+ /* standard */
+ 0x02013, 0x22A2,
+ 0x022A3, 0x0266D, 0x0266E,
+ 0x0266F, 0x02217, 0x022C6,
+ 0x02022, 0x02218, 0x022C5,
+ 0x02020, 0x025B3,
+ 0x025BD, 0x025C3,
+ 0x025B9, 0x025C1, 0x025B7,
+ 0x02295, 0x02296, 0x02297,
+ 0x02298, 0x02299, 0x02660,
+ 0x022C4, 0x025C7, /* \square */ 0x025FB,
+ 0x02662, 0x02661,
+ 0x02663, 0x02192, 0x02933,
+ 0x021C0, 0x021C1,
+ 0x021D2, 0x0227B
+ };
+ static int UnicodeBulletPanel1[CHARMAX] = {
+ /* amssymb */
+ 0x021DB, 0x021A3,
+ 0x021A0, 0x021DD,
+ 0x021AC, 0x022B8,
+ 0x022A0, 0x0229E, 0x0229F,
+ 0x022A1, 0x022C7, 0x022AA,
+ 0x022D6, 0x022D7, 0x02720,
+ 0x02605, 0x02713, 0x022A9,
+ 0x0223D, 0x0223C,
+ 0x02B1D, 0x0229D,
+ 0x0229B, 0x025CE,
+ 0x022B2, 0x022B3,
+ 0x025B3, 0x025BD,
+ 0x025CA, 0x025FB, 0x025C0,
+ 0x025B6, 0x025B4,
+ 0x025BE, 0x029EB,
+ 0x025FC
+ };
+ static int UnicodeBulletPanel2[CHARMAX] = {
+ /* psnfss1 */
+ 0x025CF, 0x0274D,
+ 0x025D7, 0x02295,
+ 0x02297, 0x02022,
+ 0x02727, 0x02726,
+ 0x02756, 0x025C6,
+ 0x025CA, 0x022C5,
+ 0x02751, 0x02752,
+ 0x0274F, 0x02750,
+ 0x02206, 0x02207,
+ 0x02758, 0x02759,
+ 0x0275A, 0x025A0,
+ 0x025B2, 0x025BC,
+ 0x02217, 0x02723,
+ 0x02722, 0x02732,
+ 0x02731, 0x027A4,
+ 0x02762, 0x02763,
+ 0x02766, 0x02767,
+ 0x027A2, 0x027A3
+ };
+ static int UnicodeBulletPanel3[CHARMAX] = {
+ /* psnfss2 */
+ 0x0260E, 0x02706,
+ 0x02702, 0x02704,
+ 0x02707, 0x02708,
+ 0x02709, 0x0261B,
+ 0x0261E, 0x0270C,
+ 0x0270D, 0x0270F,
+ 0x02715, 0x02716,
+ 0x0271B, 0x02719,
+ 0x0271E, 0x0271D,
+ 0x02717, 0x02718,
+ 0x0271A, 0x0271C,
+ 0x0271F, 0x02720,
+ 0x02713, 0x02714,
+ 0x02660, 0x02663,
+ 0x02666, 0x02665,
+ 0x02764, 0x02765,
+ 0x02660, 0x02663,
+ 0x02666, 0x02665
+ };
+ static int UnicodeBulletPanel4[CHARMAX] = {
+ /* psnfss3 */
+ 0x02721, 0x0272C,
+ 0x0272B, 0x02B51,
+ 0x02730, 0x0272A,
+ 0x0272E, 0x0272D,
+ 0x0272F, 0x02735,
+ 0x0273A, 0x02742,
+ 0x02733, 0x02734,
+ 0x02736, 0x02737,
+ 0x02738, 0x02739,
+ 0x0273C, 0x0273B,
+ 0x0273D, 0x02749,
+ 0x0273E, 0x02743,
+ 0x02747, 0x02748,
+ 0x0274A, 0x0274B,
+ 0x02724, 0x02725,
+ 0x02744, 0x02745,
+ 0x02746, 0x02740,
+ 0x0273F, 0x02741
+ };
+ static int UnicodeBulletPanel5[CHARMAX] = {
+ /* psnfss4 */
+ 0x0279F, 0x027A0,
+ 0x027A1, 0x027A8,
+ 0x027A5, 0x027A6,
+ 0x027AE, 0x027AD,
+ 0x027AC, 0x027AB,
+ 0x027AA, 0x027A9,
+ 0x027AF, 0x027B1,
+ 0x027BA, 0x027BB,
+ 0x02711, 0x02712,
+ 0x02799, 0x027B5,
+ 0x027B3, 0x027B8,
+ 0x027BC, 0x027BD,
+ 0x0279B, 0x02192,
+ 0x0279D, 0x0279E,
+ 0x0279C, 0x02794,
+ 0x02192, 0x021D2,
+ 0x027BE, 0x027B2,
+ 0x027A7, 0x02212
+ }; /* string const BulletPanels[][] */
+
+ static int * UnicodeBulletPanels[FONTMAX] = {
+ UnicodeBulletPanel0, UnicodeBulletPanel1,
+ UnicodeBulletPanel2, UnicodeBulletPanel3,
+ UnicodeBulletPanel4, UnicodeBulletPanel5
+ };
+
+ return docstring(1, char_type(UnicodeBulletPanels[f][c]));
+}
+
+
void Bullet::testInvariant() const
{
#ifdef ENABLE_ASSERTIONS
diff --git a/src/Bullet.h b/src/Bullet.h
index 5fd2d2c..b31602c 100644
--- a/src/Bullet.h
+++ b/src/Bullet.h
@@ -13,6 +13,8 @@
#ifndef BULLET_H
#define BULLET_H
+#include "FontEnums.h"
+
#include "support/docstring.h"
@@ -42,8 +44,12 @@ public:
///
int getSize() const;
///
+ FontSize getFontSize() const;
+ ///
docstring const & getText() const;
///
+ docstring const & getUnicode() const;
+ ///
Bullet & operator=(Bullet const &);
///
friend bool operator==(Bullet const &, Bullet const &);
@@ -75,7 +81,13 @@ private:
///
void generateText() const;
///
+ void generateUnicode() const;
+ ///
static docstring const bulletSize(int);
+ ///
+ static FontSize bulletFontSize(int);
+ ///
+ static docstring const bulletUnicode(int, int);
///
int font;
@@ -101,6 +113,7 @@ private:
and size settings.
*/
mutable docstring text;
+ mutable docstring unicode;
};
diff --git a/src/RowPainter.cpp b/src/RowPainter.cpp
index cffdcf2..84848ec 100644
--- a/src/RowPainter.cpp
+++ b/src/RowPainter.cpp
@@ -18,6 +18,7 @@
#include "Cursor.h"
#include "BufferParams.h"
#include "BufferView.h"
+#include "Bullet.h"
#include "Changes.h"
#include "Language.h"
#include "Layout.h"
@@ -426,13 +427,26 @@ void RowPainter::paintLabel() const
if (str.empty())
return;
+ // different font for label separation and string
Layout const & layout = par_.layout();
FontInfo const font = labelFont(false);
FontMetrics const & fm = theFontMetrics(font);
+ FontInfo lfont = font;
+
+ // bullet?
+ if (layout.labeltype == LABEL_ITEMIZE) {
+ // get label font size from document properties
+ lfont.setSize(pi_.base.bv->buffer().params().user_defined_bullet(par_.itemdepth).getFontSize());
+ // realize to avoid assertion
+ lfont.realize(sane_font);
+ }
+
+ FontMetrics const & lfm = theFontMetrics(lfont);
+
int const x = row_.isRTL() ? row_.width() + fm.width(layout.labelsep)
- : row_.left_margin - fm.width(layout.labelsep) - fm.width(str);
+ : row_.left_margin - fm.width(layout.labelsep) - lfm.width(str);
- pi_.pain.text(int(xo_) + x, yo_, str, font);
+ pi_.pain.text(int(xo_) + x, yo_, str, lfont);
}
diff --git a/src/frontends/qt/BulletsModule.cpp b/src/frontends/qt/BulletsModule.cpp
index 0572f67..3c9e42e 100644
--- a/src/frontends/qt/BulletsModule.cpp
+++ b/src/frontends/qt/BulletsModule.cpp
@@ -174,8 +174,8 @@ QPixmap getSelectedPixmap(QPixmap pixmap, QSize const icon_size)
void BulletsModule::setupPanel(QListWidget * lw, QString const & panelname,
int const font, string const folder)
{
- connect(lw, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
- this, SLOT(bulletSelected(QListWidgetItem *, QListWidgetItem*)));
+ connect(lw, SIGNAL(itemClicked(QListWidgetItem *)),
+ this, SLOT(bulletSelected(QListWidgetItem *)));
// add panelname to combox
bulletpaneCO->addItem(panelname);
@@ -250,12 +250,18 @@ void BulletsModule::init()
}
-void BulletsModule::bulletSelected(QListWidgetItem * item, QListWidgetItem *)
+void BulletsModule::bulletSelected(QListWidgetItem * item)
{
+ int const level = levelLW->currentRow();
+
+ // no change
+ if (bullets_[level].getFont() == bulletpaneCO->currentIndex()
+ && bullets_[level].getCharacter() == item->type())
+ return;
+
// unselect previous item
selectItem(current_font_, current_char_, false);
- int const level = levelLW->currentRow();
bullets_[level].setCharacter(item->type());
bullets_[level].setFont(bulletpaneCO->currentIndex());
current_font_ = bulletpaneCO->currentIndex();
diff --git a/src/frontends/qt/BulletsModule.h b/src/frontends/qt/BulletsModule.h
index 5f05f14..dc28659 100644
--- a/src/frontends/qt/BulletsModule.h
+++ b/src/frontends/qt/BulletsModule.h
@@ -44,7 +44,7 @@ protected Q_SLOTS:
void on_bulletsizeCO_activated(int level);
void on_customCB_clicked(bool);
void on_customLE_textEdited(const QString &);
- void bulletSelected(QListWidgetItem *, QListWidgetItem *);
+ void bulletSelected(QListWidgetItem *);
void showLevel(int);
private:
commit 9185fb8cccf4c2a8b3bae9dca7a81e2eb02232d0
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Sun Feb 6 08:13:12 2022 -0500
ctests: log a fixed issue
diff --git a/development/autotests/ctests-costs-benefits.txt b/development/autotests/ctests-costs-benefits.txt
index 18495ce..06fb87d 100644
--- a/development/autotests/ctests-costs-benefits.txt
+++ b/development/autotests/ctests-costs-benefits.txt
@@ -61,6 +61,9 @@ Benefit: 14 days (https://www.lyx.org/trac/ticket/12303)
Report : https://www.mail-archive.com/search?l=mid&q=20211205190238.edrtqmg3fkdr7gbo%40poole
Fix : 489bf46a, e3489d54
+Report : https://www.mail-archive.com/search?l=mid&q=20220205184128.4clckanaufwmx5z4%40gary
+Fix : d66c27de
+
Examples where upstream (e.g., LaTeX packages) bugs were fixed (more quickly)
because of ctests:
commit d66c27de667b9230548f9af2640e95cccaa2aae9
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sun Feb 6 10:02:17 2022 +0100
Don't set open_font to false if lang hasn't been closed
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index e29f268..f178dd5 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -2787,12 +2787,12 @@ void Paragraph::latex(BufferParams const & bparams,
column += Changes::latexMarkChange(os, bparams,
Change(Change::UNCHANGED), Change(Change::DELETED), rp);
}
- open_font = false;
// Has the language been closed in the latexWriteEndChanges() call above?
langClosed = running_font.language() != basefont.language()
&& running_font.language() != nextfont.language()
&& (running_font.language()->encoding()->package() != Encoding::CJK);
running_font = basefont;
+ open_font &= !langClosed;
}
// if necessary, close language environment before opening CJK
commit 643cbfe557a61cef62a9c4c19c80029735f8bd4b
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Feb 6 06:44:29 2022 +0100
DocBook: don't force outputting an <abstract> when it would only contain comments.
Before this patch, LyX would forcibly create an <abstract> tag even when there was no abstract in the document; this behaviour is sometimes desirable, but not when the abstract only contains comments (that's not valid DocBook: there must be a paragraph or assimilated within the abstract).
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index 71d3b83..5458e7a 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -1020,12 +1020,20 @@ 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.
+ // Actually output the abstract if there is something to do. Don't count line feeds, spaces, or comments
+ // in this -- even though line feeds and spaces must be properly output if there is some abstract.
abstract = os2.str();
docstring cleaned = abstract;
cleaned.erase(std::remove_if(cleaned.begin(), cleaned.end(), lyx::isSpace), cleaned.end());
+ size_t beginComment;
+ size_t endComment;
+ while ((beginComment = cleaned.find(from_ascii("<!--"))) != lyx::docstring::npos) {
+ if ((endComment = cleaned.find(from_ascii("-->"), beginComment)) != lyx::docstring::npos) {
+ cleaned.erase(cleaned.begin() + beginComment, cleaned.begin() + endComment + 3);
+ }
+ }
+
// Nothing? Then there is no abstract!
if (cleaned.empty())
hasAbstract = false;
commit 34ea4080ec3795de496f46197b086dbef8463980
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Feb 6 06:20:50 2022 +0100
DocBook: support @ in index when used for sorting.
diff --git a/autotests/export/docbook/index.lyx b/autotests/export/docbook/index.lyx
new file mode 100644
index 0000000..875e633
--- /dev/null
+++ b/autotests/export/docbook/index.lyx
@@ -0,0 +1,147 @@
+#LyX 2.4 created this file. For more info see https://www.lyx.org/
+\lyxformat 608
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass article
+\use_default_options true
+\maintain_unincluded_children no
+\language american
+\language_package default
+\inputencoding utf8
+\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
+\float_placement class
+\float_alignment class
+\paperfontsize default
+\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
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 1
+\use_minted 0
+\use_lineno 0
+\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 1
+\paperpagestyle default
+\tablestyle default
+\tracking_changes false
+\output_changes false
+\change_bars false
+\postpone_fragile_content true
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\docbook_table_output 0
+\docbook_mathml_prefix 1
+\end_header
+
+\begin_body
+
+\begin_layout Title
+Index tests
+\end_layout
+
+\begin_layout Standard
+Text
+\begin_inset Index idx
+status open
+
+\begin_layout Plain Layout
+Text
+\end_layout
+
+\end_inset
+
+
+\begin_inset Index idx
+status open
+
+\begin_layout Plain Layout
+SortedAs at Text
+\end_layout
+
+\end_inset
+
+
+\begin_inset Index idx
+status open
+
+\begin_layout Plain Layout
+Primary!Secondary
+\end_layout
+
+\end_inset
+
+
+\begin_inset Index idx
+status open
+
+\begin_layout Plain Layout
+SortedPrimary at Primary!Secondary
+\end_layout
+
+\end_inset
+
+
+\begin_inset Index idx
+status open
+
+\begin_layout Plain Layout
+Primary!Secondary!Tertiary
+\end_layout
+
+\end_inset
+
+.
+\end_layout
+
+\end_body
+\end_document
diff --git a/autotests/export/docbook/index.xml b/autotests/export/docbook/index.xml
new file mode 100644
index 0000000..21e73c5
--- /dev/null
+++ b/autotests/export/docbook/index.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This DocBook file was created by LyX 2.4.0dev
+ See https://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>Index tests</title>
+<para>Text<indexterm><primary>Text</primary></indexterm><indexterm><primary sortas='SortedAs'>Text</primary></indexterm><indexterm><primary>Primary</primary><secondary>Secondary</secondary></indexterm><indexterm><primary sortas='SortedPrimary'>Primary</primary><secondary>Secondary</secondary></indexterm><indexterm><primary>Primary</primary><secondary>Secondary</secondary><tertiary>Tertiary</tertiary></indexterm>.</para>
+</article>
\ No newline at end of file
diff --git a/src/insets/InsetIndex.cpp b/src/insets/InsetIndex.cpp
index 7b4bb88..c578c03 100644
--- a/src/insets/InsetIndex.cpp
+++ b/src/insets/InsetIndex.cpp
@@ -194,16 +194,15 @@ void InsetIndex::docbook(XMLStream & xs, OutputParams const & runparams) const
InsetText::latex(ots, runparams);
docstring latexString = trim(odss.str());
- // Check whether there are unsupported things.
- if (latexString.find(from_utf8("@")) != latexString.npos) {
- docstring error = from_utf8("Unsupported feature: an index entry contains an @. "
+ // Check whether there are unsupported things. @ is supported, but only for sorting, without specific formatting.
+ if (latexString.find(from_utf8("@\\")) != lyx::docstring::npos) {
+ docstring error = from_utf8("Unsupported feature: an index entry contains an @\\. "
"Complete entry: \"") + latexString + from_utf8("\"");
LYXERR0(error);
xs << XMLStream::ESCAPE_NONE << (from_utf8("<!-- Output Error: ") + error + from_utf8(" -->\n"));
- // TODO: implement @ using the sortas attribute (on primary, secondary, tertiary).
}
- // Handle several indices.
+ // Handle several indices (indicated in the inset instead of the raw latexString).
docstring indexType = from_utf8("");
if (buffer().masterBuffer()->params().use_indices) {
indexType += " type=\"" + params_.index + "\"";
@@ -212,14 +211,25 @@ void InsetIndex::docbook(XMLStream & xs, OutputParams const & runparams) const
// Split the string into its main constituents: terms, and command (see, see also, range).
size_t positionVerticalBar = latexString.find(from_ascii("|")); // What comes before | is (sub)(sub)entries.
docstring indexTerms = latexString.substr(0, positionVerticalBar);
- docstring command = latexString.substr(positionVerticalBar + 1);
+ docstring command;
+ if (positionVerticalBar != lyx::docstring::npos) {
+ command = latexString.substr(positionVerticalBar + 1);
+ }
+
+ // Handle sorting issues, with @.
+ vector<docstring> sortingElements = getVectorFromString(indexTerms, from_ascii("@"), false);
+ docstring sortAs;
+ if (sortingElements.size() == 2) {
+ sortAs = sortingElements[0];
+ indexTerms = sortingElements[1];
+ }
// Handle primary, secondary, and tertiary terms (entries, subentries, and subsubentries, for LaTeX).
vector<docstring> terms = getVectorFromString(indexTerms, from_ascii("!"), false);
- // Handle ranges. Happily, (| and |) can only be at the end of the string! However, | may be trapped by the
- bool hasStartRange = latexString.find(from_ascii("|(")) != latexString.npos;
- bool hasEndRange = latexString.find(from_ascii("|)")) != latexString.npos;
+ // Handle ranges. Happily, (| and |) can only be at the end of the string!
+ bool hasStartRange = latexString.find(from_ascii("|(")) != lyx::docstring::npos;
+ bool hasEndRange = latexString.find(from_ascii("|)")) != lyx::docstring::npos;
if (hasStartRange || hasEndRange) {
// Remove the ranges from the command if they do not appear at the beginning.
size_t index = 0;
@@ -258,7 +268,7 @@ void InsetIndex::docbook(XMLStream & xs, OutputParams const & runparams) const
} else {
see = list;
- if (see.find(from_ascii(",")) != see.npos) {
+ if (see.find(from_ascii(",")) != std::string::npos) {
docstring error = from_utf8("Several index terms found as \"see\"! Only one is acceptable. "
"Complete entry: \"") + latexString + from_utf8("\"");
LYXERR0(error);
@@ -275,6 +285,12 @@ void InsetIndex::docbook(XMLStream & xs, OutputParams const & runparams) const
// If there are such things in the index entry, then this code may miserably fail. For example, for "Peter|(textbf",
// no range will be detected.
// TODO: Could handle formatting as significance="preferred"?
+ if (!command.empty()) {
+ docstring error = from_utf8("Unsupported feature: an index entry contains a | with an unsupported command, ")
+ + command + from_utf8(". ") + from_utf8("Complete entry: \"") + latexString + from_utf8("\"");
+ LYXERR0(error);
+ xs << XMLStream::ESCAPE_NONE << (from_utf8("<!-- Output Error: ") + error + from_utf8(" -->\n"));
+ }
// Write all of this down.
if (terms.empty() && !hasEndRange) {
@@ -335,7 +351,12 @@ void InsetIndex::docbook(XMLStream & xs, OutputParams const & runparams) const
} else {
xs << xml::StartTag("indexterm", attrs);
if (!terms.empty()) { // hasEndRange has no content.
- xs << xml::StartTag("primary");
+ docstring attr;
+ if (!sortAs.empty()) {
+ attr = from_utf8("sortas='") + sortAs + from_utf8("'");
+ }
+
+ xs << xml::StartTag("primary", attr);
xs << terms[0];
xs << xml::EndTag("primary");
}
commit 1eb19cb8e3835fceb658bc5e4ac5264641cb7b5d
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Feb 6 05:35:07 2022 +0100
Amend 109ea2be4a21ca93d22ab25703b3352a50fbbe3b
The Windows code wasn't adapted when a variable was renamed (unlike the Linux one).
diff --git a/src/support/ForkedCalls.cpp b/src/support/ForkedCalls.cpp
index f0b2c7e..e770c4d 100644
--- a/src/support/ForkedCalls.cpp
+++ b/src/support/ForkedCalls.cpp
@@ -408,7 +408,7 @@ int ForkedCall::generateChild()
startup.cb = sizeof(STARTUPINFO);
- if (CreateProcess(0, (LPSTR)line.c_str(), 0, 0, FALSE,
+ if (CreateProcess(0, (LPSTR)command_.c_str(), 0, 0, FALSE,
CREATE_NO_WINDOW, 0, 0, &startup, &process)) {
CloseHandle(process.hThread);
cpid = (pid_t)process.hProcess;
commit 0370cc428c684d2d000d4b84a7e899ff8b82d5f5
Author: Kornel Benko <kornel at lyx.org>
Date: Sat Feb 5 20:04:06 2022 +0100
Tools(listFontWithLang.pl): Discard use of deprecated perl-module Getopt::Mixed
According to CTAN, this module is effectively obsolete.
Using Getopt::Long instead now, since it is also part
of the standard Perl distribution.
diff --git a/development/tools/GetOptions.pm b/development/tools/GetOptions.pm
index 3141ee1..489a099 100644
--- a/development/tools/GetOptions.pm
+++ b/development/tools/GetOptions.pm
@@ -10,7 +10,7 @@
# Full author contact details are available in the file CREDITS
# or at https://www.lyx.org/Credits
#
-# Used as wrapper for Getopt::Mixed
+# Used as wrapper for Getopt::Long
# as
# use GetOptions;
# ...
@@ -33,9 +33,9 @@ BEGIN {
}
use warnings;
-use Getopt::Mixed;
+use Getopt::Long;
-sub makeOpts(); # Create option spec for Getopt::Mixed::init()
+sub makeLongOpts(); # Create option spec for Getopt::Long::GetOptions();
sub makeHelp(); # Create help-string to describe options
# Following fields for a parameter can be defined:
@@ -69,15 +69,24 @@ sub handleOptions($)
$optionsDef{v}->{comment} = "Display recognized params";
$optionsDef{v}->{Sort} = 1;
- my %options = ("help" => 0);
- my $opts = &makeOpts();
+ use vars qw(%options);
+ %options = ("help" => 0);
- Getopt::Mixed::init($opts);
- while( my( $option, $value, $pretty ) = Getopt::Mixed::nextOption()) {
+ {
+ my $roptr = &makeLongOpts();
+ my $p = Getopt::Long::Parser->new;
+ $p->configure("bundling");
+ $p->getoptions(%{$roptr});
+ }
+
+ # Callback routine called by $p->getoptions().
+ sub handleopts($$$)
+ {
+ my ($option, $value, $unknown) = @_;
if (defined($optionsDef{$option})) {
my $fieldname = $optionsDef{$option}->{fieldname};
if (exists($options{$fieldname}) && ($option ne "h")) {
- print "Option $option already set\n";
+ print "Option $option already set\n";
if (defined($options{$fieldname})) {
print "Value \"$value\" would overwrite ";
if (ref($options{$fieldname}) eq "ARRAY") {
@@ -87,8 +96,8 @@ sub handleOptions($)
print "\"$options{$fieldname}\"\n";
}
}
- $option = "h";
- $fieldname = "help";
+ $option = "h";
+ $fieldname = "help";
}
if ($option eq "h") {
print "Syntax: $0 options xxxx ...\n";
@@ -111,7 +120,6 @@ sub handleOptions($)
}
}
- Getopt::Mixed::cleanup();
if (exists($options{verbose})) {
printf("Found following options:\n %-16soptvalue\n", "option");
print " " . "-" x 32 . "\n";
@@ -139,29 +147,25 @@ sub handleOptions($)
#############################################################
-# Create option spec for Getopt::Mixed::init()
-sub makeOpts()
+# Create option spec for Getopt::Long::GetOptions()
+sub makeLongOpts()
{
- my $first = 1;
- my $opts = "";
+ my %opts = ();
for my $ex (sort keys %optionsDef) {
my $e = $optionsDef{$ex};
- if (! $first) {
- $opts .= " ";
- }
- $first = 0;
- $opts .= $ex;
+ my $type = "";
if (defined($e->{type})) {
- my $tp = $e->{type};
- $opts .= $tp;
+ $type = $e->{type};
}
+ my $optx = $ex;
if (defined($e->{alias})) {
for my $a (@{$e->{alias}}) {
- $opts .= " $a>$ex";
+ $optx .= "|$a";
}
}
+ $opts{"$optx$type"} = \&handleopts;
}
- return($opts);
+ return \%opts; # to be used by Getopt::Long();
}
sub sortHelp
commit 28dd7b7de3527638ea8772815ec27439f87fddda
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Fri Feb 4 17:24:16 2022 +0100
Do not set open_font true if none was open
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index a08f3ac..e29f268 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -2894,7 +2894,7 @@ void Paragraph::latex(BufferParams const & bparams,
}
} else {
running_font = current_font;
- open_font = !langClosed;
+ open_font &= !langClosed;
}
}
commit cc4ed5e04b41e86e51f44d467680fc597fb94079
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Fri Feb 4 17:23:52 2022 +0100
Do not try to pop from an empty stack
diff --git a/src/Font.cpp b/src/Font.cpp
index 26218ee..3ba04eb 100644
--- a/src/Font.cpp
+++ b/src/Font.cpp
@@ -631,7 +631,7 @@ int Font::latexWriteEndChanges(otexstream & os, BufferParams const & bparams,
bool const using_begin_end =
runparams.use_polyglossia ||
!lyxrc.language_command_end.empty();
- if (using_begin_end)
+ if (using_begin_end && !languageStackEmpty())
popLanguageName();
}
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index da97d12..a08f3ac 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -2805,7 +2805,8 @@ void Paragraph::latex(BufferParams const & bparams,
string end_tag = subst(lang_end_command, "$$lang", running_lang);
os << from_ascii(end_tag);
column += end_tag.length();
- popLanguageName();
+ if (!languageStackEmpty())
+ popLanguageName();
}
// Switch file encoding if necessary (and allowed)
diff --git a/src/output_latex.cpp b/src/output_latex.cpp
index ac22116..f6c7375 100644
--- a/src/output_latex.cpp
+++ b/src/output_latex.cpp
@@ -607,6 +607,14 @@ void popLanguageName()
}
+bool languageStackEmpty()
+{
+ OutputState * state = getOutputState();
+
+ return state->lang_switch_depth_.empty();
+}
+
+
string const & openLanguageName()
{
OutputState * state = getOutputState();
@@ -1768,7 +1776,7 @@ void latexParagraphs(Buffer const & buf,
<< '\n';
// If we have language_auto_begin, the stack will
// already be empty, nothing to pop()
- if (using_begin_end && !lyxrc.language_auto_begin)
+ if (using_begin_end && langOpenedAtThisLevel(state))
popLanguageName();
}
diff --git a/src/output_latex.h b/src/output_latex.h
index af40a86..311b2e6 100644
--- a/src/output_latex.h
+++ b/src/output_latex.h
@@ -37,6 +37,9 @@ void pushLanguageName(std::string const & lang, bool localswitch = false);
*/
void popLanguageName();
+// Check if we have an empty language stack
+bool languageStackEmpty();
+
/** Return a reference to the last active language opened with
polyglossia or when using begin/end commands. If none or when
using babel with only a begin command, return a reference to
commit 59cabde9e3fda6bb6b8b1103f93ba23a3eb7802d
Author: Kornel Benko <kornel at lyx.org>
Date: Mon Jan 31 13:43:37 2022 +0100
Tools(listFontWithLang.pl): Only Haramo.*Gothic fonts are sans serif
(Harano.*Mincho are serif fonts, so don't treat them as 'sans')
diff --git a/development/tools/listFontWithLang.pl b/development/tools/listFontWithLang.pl
index 562ac4c..ee14a90 100644
--- a/development/tools/listFontWithLang.pl
+++ b/development/tools/listFontWithLang.pl
@@ -409,7 +409,7 @@ my %sansFonts = (
"e" => qr/^(electron|engebrechtre)/i,
"f" => qr/^(fandolhei|fetamont|fira|font awesome 5|forgotten)/i,
"g" => qr/^g(ardiner|aruda|fs ?neo|illius|ood ?times|ranada|raph|uanine|unplay)/i,
- "h" => qr/^(hack|hani|haramain|harano|harmattan|hor\b)/i,
+ "h" => qr/^(hack|hani|haramain|harano.*gothic|harmattan|hor\b)/i,
"i" => qr/^(ibm ?(plex ?mono|3270)|ikarius|inconsolata|induni.?h|iwona)/i,
"j" => qr/^j(ara|ura|s ?math.?bbold)/i,
"k" => qr/^(kalimati|kanji|karla|karma|kayrawan|kenyan|keraleeyam|khalid|khmer [or]|kiloji|klaudia|ko[mn]atu|kp ?mono|kurier|kustom)/i,
commit b6010badfa9d055147c653615ab5e0c571592797
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Fri Jan 28 20:16:38 2022 +0100
Oops ! fixup 8c047143efbd
diff --git a/src/frontends/qt/GuiCompleter.cpp b/src/frontends/qt/GuiCompleter.cpp
index 33462b3..a40bdca 100644
--- a/src/frontends/qt/GuiCompleter.cpp
+++ b/src/frontends/qt/GuiCompleter.cpp
@@ -655,7 +655,7 @@ void GuiCompleter::activate()
void GuiCompleter::tab()
{
- BufferView const & bv = gui_->bufferView();
+ BufferView & bv = gui_->bufferView();
Cursor cur = bv.cursor();
cur.screenUpdateFlags(Update::None);
commit 8c047143efbda1a5bae6445b85f0f771b3bc6fb0
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Fri Jan 28 19:48:18 2022 +0100
Code cleanup in GuiCompleter
processUpdateFlags does nothing if the update flags are None==0.
diff --git a/src/frontends/qt/GuiCompleter.cpp b/src/frontends/qt/GuiCompleter.cpp
index 6effd3d..33462b3 100644
--- a/src/frontends/qt/GuiCompleter.cpp
+++ b/src/frontends/qt/GuiCompleter.cpp
@@ -348,8 +348,7 @@ void GuiCompleter::updateVisibility(bool start, bool keep)
updateVisibility(cur, start, keep);
- if (cur.result().screenUpdate())
- gui_->bufferView().processUpdateFlags(cur.result().screenUpdate());
+ gui_->bufferView().processUpdateFlags(cur.result().screenUpdate());
}
@@ -597,8 +596,7 @@ void GuiCompleter::showPopup()
showPopup(cur);
// redraw if needed
- if (cur.result().screenUpdate())
- gui_->bufferView().processUpdateFlags(cur.result().screenUpdate());
+ gui_->bufferView().processUpdateFlags(cur.result().screenUpdate());
}
@@ -610,8 +608,7 @@ void GuiCompleter::showInline()
showInline(cur);
// redraw if needed
- if (cur.result().screenUpdate())
- gui_->bufferView().processUpdateFlags(cur.result().screenUpdate());
+ gui_->bufferView().processUpdateFlags(cur.result().screenUpdate());
}
@@ -643,8 +640,7 @@ void GuiCompleter::hideInline()
hideInline(cur);
// redraw if needed
- if (cur.result().screenUpdate())
- gui_->bufferView().processUpdateFlags(cur.result().screenUpdate());
+ gui_->bufferView().processUpdateFlags(cur.result().screenUpdate());
}
@@ -659,8 +655,8 @@ void GuiCompleter::activate()
void GuiCompleter::tab()
{
- BufferView * bv = &gui_->bufferView();
- Cursor cur = bv->cursor();
+ BufferView const & bv = gui_->bufferView();
+ Cursor cur = bv.cursor();
cur.screenUpdateFlags(Update::None);
// check that inline completion is active
@@ -703,8 +699,7 @@ void GuiCompleter::tab()
updateVisibility(false, false);
// redraw if needed
- if (cur.result().screenUpdate())
- gui_->bufferView().processUpdateFlags(cur.result().screenUpdate());
+ bv.processUpdateFlags(cur.result().screenUpdate());
return;
}
docstring nextchar = completion.substr(prefix.size(), 1);
@@ -717,7 +712,7 @@ void GuiCompleter::tab()
prefix = cur.inset().completionPrefix(cur);
docstring postfix = longestCompletion.substr(min(longestCompletion.size(), prefix.size()));
cur.inset().insertCompletion(cur, postfix, false);
- old_cursor_ = bv->cursor();
+ old_cursor_ = bv.cursor();
updatePrefix(cur);
// show popup without delay because the completion was not unique
@@ -727,8 +722,7 @@ void GuiCompleter::tab()
popup_timer_.start(0);
// redraw if needed
- if (cur.result().screenUpdate())
- gui_->bufferView().processUpdateFlags(cur.result().screenUpdate());
+ bv.processUpdateFlags(cur.result().screenUpdate());
}
@@ -895,8 +889,7 @@ void GuiCompleter::popupActivated(const QString & completion)
hidePopup();
hideInline(cur);
- if (cur.result().screenUpdate())
- gui_->bufferView().processUpdateFlags(cur.result().screenUpdate());
+ gui_->bufferView().processUpdateFlags(cur.result().screenUpdate());
cur.endUndoGroup();
}
@@ -912,8 +905,7 @@ void GuiCompleter::popupHighlighted(const QString & completion)
if (inlineVisible())
updateInline(cur, completion);
- if (cur.result().screenUpdate())
- gui_->bufferView().processUpdateFlags(cur.result().screenUpdate());
+ gui_->bufferView().processUpdateFlags(cur.result().screenUpdate());
}
} // namespace frontend
commit 33c68d7750e4615747b27b1963ba63f53ff912ac
Author: Pavel Sanda <sanda at lyx.org>
Date: Fri Jan 28 18:12:45 2022 +0100
Revert 65b674ba4eff.
We do not for what crash was this fix intended, but we know
that the fix introduced freeze in xhtml exports (e.g. merged manual).
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg216835.html
diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index 7cb5ac2..cfdb9d9 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -3547,9 +3547,6 @@ void Buffer::collectChildren(ListOfBuffers & children, bool grand_children) cons
// loop over children
for (auto const & p : d->children_positions) {
Buffer * child = const_cast<Buffer *>(p.first);
- // This can happen when called during GUI operations
- if (!theBufferList().isLoaded(child))
- continue;
// No duplicates
ListOfBuffers::const_iterator bit = find(children.begin(), children.end(), child);
if (bit != children.end())
commit f400a2cfa9b5552c103da0b7e336b6964dfa5b2d
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Fri Jan 28 17:13:30 2022 +0100
Force redraw after completion
Inside a math inset when completing macro names, it could lead to crashes.
Note that this processUpdateFlags is present when outside of this if() branch.
diff --git a/src/frontends/qt/GuiCompleter.cpp b/src/frontends/qt/GuiCompleter.cpp
index 6fd39d3..6effd3d 100644
--- a/src/frontends/qt/GuiCompleter.cpp
+++ b/src/frontends/qt/GuiCompleter.cpp
@@ -701,6 +701,10 @@ void GuiCompleter::tab()
hidePopup();
hideInline(cur);
updateVisibility(false, false);
+
+ // redraw if needed
+ if (cur.result().screenUpdate())
+ gui_->bufferView().processUpdateFlags(cur.result().screenUpdate());
return;
}
docstring nextchar = completion.substr(prefix.size(), 1);
commit 29b386640ef8318d25164b2c54c7c115750a6042
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Thu Jan 27 17:27:15 2022 -0500
Comment: link to Beamer enumitem feature request
diff --git a/lib/layouts/beamer.layout b/lib/layouts/beamer.layout
index f3a5ff9..d824522 100644
--- a/lib/layouts/beamer.layout
+++ b/lib/layouts/beamer.layout
@@ -18,6 +18,8 @@ Input stdinsets.inc
# Beamer does not work with enumitem.
# See bug #7047.
+# For upstream (Beamer) feature request:
+# https://github.com/josephwright/beamer/issues/342
ExcludesModule enumitem
# General textclass parameters
commit 79a2ac575cd40291e8cc7e8c4a3f4072670367b7
Author: José Matos <jamatos at lyx.org>
Date: Thu Jan 27 18:32:57 2022 +0000
Replace $${python} directly in the converter constructor
diff --git a/src/Converter.cpp b/src/Converter.cpp
index c00941d..7bb998d 100644
--- a/src/Converter.cpp
+++ b/src/Converter.cpp
@@ -148,6 +148,12 @@ void Converter::readFlags()
}
+void Converter::setCommand(std::string const & command)
+{
+ command_ = subst(command, token_python, os::python());
+}
+
+
Converter const * Converters::getConverter(string const & from,
string const & to) const
{
diff --git a/src/Converter.h b/src/Converter.h
index 5197e34..091dbcd 100644
--- a/src/Converter.h
+++ b/src/Converter.h
@@ -58,7 +58,7 @@ public:
///
std::string const command() const { return command_; }
///
- void setCommand(std::string const & command) { command_ = command; }
+ void setCommand(std::string const & command);
///
std::string const flags() const { return flags_; }
///
@@ -144,7 +144,7 @@ public:
FAILURE = 1,
KILLED = 1000
};
-
+
///
Converter const & get(int i) const { return converterlist_[i]; }
///
commit b73ab0256d113571174fed4b2a3405fe8c44d297
Author: José Matos <jamatos at lyx.org>
Date: Thu Jan 27 15:37:45 2022 +0000
Fix compilation with gcc-12
diff --git a/src/insets/InsetListings.cpp b/src/insets/InsetListings.cpp
index 57df06e..67a0462 100644
--- a/src/insets/InsetListings.cpp
+++ b/src/insets/InsetListings.cpp
@@ -41,6 +41,7 @@
#include "frontends/alert.h"
#include "frontends/Application.h"
+#include <cstring>
#include <regex>
#include <sstream>
commit 2da183bf4f69847e30c9c9ab8a32548432a8a8b1
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Mon Jan 24 19:19:46 2022 +0100
Check layout type when inserting inset over selection
When inserting inset over a selection, the layout is transferred if
the inset covers full paragraphs.
This is not the right policy in the case of environments. Until proper
code is written and tested, limit ourselves to command layouts.
Fixes bug #12251.
diff --git a/src/Text3.cpp b/src/Text3.cpp
index a87169b..529e756 100644
--- a/src/Text3.cpp
+++ b/src/Text3.cpp
@@ -299,8 +299,11 @@ static bool doInsertInset(Cursor & cur, Text * text,
* paragraph and the inset allows setting layout
* FIXME: this does not work as expected when change tracking is on
* However, we do not really know what to do in this case.
+ * FIXME: figure out a good test in the environment case (see #12251).
*/
- if (cur.paragraph().empty() && !inset->forcePlainLayout()) {
+ if (cur.paragraph().layout().isCommand()
+ && cur.paragraph().empty()
+ && !inset->forcePlainLayout()) {
cur.paragraph().setPlainOrDefaultLayout(bparams.documentClass());
move_layout = true;
}
commit 6c98ac5a7b63606333672969b7b23cbc42f6b57d
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sun Jan 23 20:55:18 2022 +0100
Fix breaking of MANUAL_LABEL paragraph when label is too long
Typical example is a Labeling layout which label is an inline equation
larger than the screen. Before this commit, the row would not get
broken at all.
Two parts in the patch:
1/ when breaking the row in shortenIfNeeded, mark the last element as
AlwaysBreakAfter instead of BreakAfter, in case the next element is
NoBreakBefore.
2/ when nothing could be done, as last resort keep the first element
of the row only.
diff --git a/src/Row.cpp b/src/Row.cpp
index d1921a6..f2d4aaf 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -537,7 +537,7 @@ void moveElements(Row::Elements & from, Row::Elements::iterator const & it,
to.insert(to.end(), it, from.end());
from.erase(it, from.end());
if (!from.empty())
- from.back().row_flags = (from.back().row_flags & ~AfterFlags) | BreakAfter;
+ from.back().row_flags = (from.back().row_flags & ~AfterFlags) | AlwaysBreakAfter;
}
}
@@ -645,7 +645,9 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width)
return tail;
}
- return Elements();
+ // cit == beg; remove all elements after the first one.
+ moveElements(elements_, cit + 1, tail);
+ return tail;
}
commit f8f86a1a8172fa8b66ffaf7e04c0b723ee2b4866
Author: Kornel Benko <kornel at lyx.org>
Date: Sun Jan 23 20:13:26 2022 +0100
Next runtime messages to be ommitted if compiled with clang using flag '-fsanitize'.
Prevent the return of impossible values for 'enum flags'.
For instance the result of '~Update::Force' at src/BufferView.cpp:3025 without this patch
is '4294967293'.
diff --git a/src/update_flags.h b/src/update_flags.h
index 0efa541..517bfb6 100644
--- a/src/update_flags.h
+++ b/src/update_flags.h
@@ -46,7 +46,7 @@ inline flags operator&(flags const f, flags const g)
inline flags operator~(flags const f)
{
- return static_cast<flags>(~int(f));
+ return static_cast<flags>(~int(f) & 0x3f);
}
} // namespace Update
commit ec3a44fef59129ba4492ddf30de81fa329e631d5
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sun Jan 23 19:34:11 2022 +0100
brkstr2str_pos: avoid case where length is negative
The string that Qt sees is not the original string, since we add
zero-width nonbreaking spaces around it, plus an override character to
force rendering direction. This means that translating positions
between these two representation can be a bit tricky.
We use a max(foo, 0) here to make sure that our intermediate
computation is postive.
Fixes part of bug #12452.
diff --git a/src/frontends/qt/GuiFontMetrics.cpp b/src/frontends/qt/GuiFontMetrics.cpp
index d827f2f..e7f61c6 100644
--- a/src/frontends/qt/GuiFontMetrics.cpp
+++ b/src/frontends/qt/GuiFontMetrics.cpp
@@ -535,7 +535,7 @@ docstring::size_type brkstr2str_pos(QString brkstr, docstring const & str, int p
*/
// The variable `brkStrOffset' is here to account for the extra leading characters.
// The ending character zerow_nbsp has to be ignored if the line is complete.
- int const qlen = pos - brkStrOffset - (pos == brkstr.length());
+ int const qlen = max(pos - brkStrOffset - (pos == brkstr.length()), 0);
#if QT_VERSION < 0x040801 || QT_VERSION >= 0x050100
auto const len = qstring_to_ucs4(brkstr.mid(brkStrOffset, qlen)).length();
// Avoid warning
commit 942538c02d840753e16981636998e0c60c752b73
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Jan 22 09:30:25 2022 +0100
Fix bug 12459
When checking for branch color, take into account that some branches
are defined in the master document only, some only in the child.
diff --git a/src/insets/InsetBranch.cpp b/src/insets/InsetBranch.cpp
index 66cc6ef..be8e551 100644
--- a/src/insets/InsetBranch.cpp
+++ b/src/insets/InsetBranch.cpp
@@ -136,9 +136,11 @@ ColorCode InsetBranch::backgroundColor(PainterInfo const & pi) const
{
if (params_.branch.empty())
return Inset::backgroundColor(pi);
+ string const branch_id = (buffer().masterParams().branchlist().find(params_.branch))
+ ? convert<string>(buffer().masterParams().branchlist().id())
+ : convert<string>(buffer().params().branchlist().id());
// FIXME UNICODE
- string const branchcol = "branch" + convert<string>(buffer().params().branchlist().id())
- + to_utf8(params_.branch);
+ string const branchcol = "branch" + branch_id + to_utf8(params_.branch);
ColorCode c = lcolor.getFromLyXName(branchcol);
if (c == Color_none)
c = Color_error;
commit 2764ed20c2a3294d4177189ba690a123238c87bd
Author: Kornel Benko <kornel at lyx.org>
Date: Fri Jan 21 11:02:09 2022 +0100
Omit runtime messages if compiled with clang using flag '-fsanitize'.
Setting sufficiently high value allows to use
ColorCode enums for new up to 32000 branch insets.
Previous setting printed messages if using more than 25 new branch insets.
"'ColorCode' ... src/Color.cpp:435:10: runtime error:
load of value 128, which is not a valid value for type"
diff --git a/src/ColorCode.h b/src/ColorCode.h
index f2f4521..e1a6b0a 100644
--- a/src/ColorCode.h
+++ b/src/ColorCode.h
@@ -238,7 +238,8 @@ enum ColorCode {
/// Color for regexp frame
Color_regexpframe,
/// For ignoring updates of a color
- Color_ignore
+ Color_ignore,
+ Color_max = 500
};
commit a64244b844e613aa0f739e050aa23168ff21fce9
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Wed Jan 19 18:08:47 2022 +0100
Fixup 7485225c: better placement of deph bar
Fixes #12243.
diff --git a/src/RowPainter.cpp b/src/RowPainter.cpp
index c49b5e6..cffdcf2 100644
--- a/src/RowPainter.cpp
+++ b/src/RowPainter.cpp
@@ -343,9 +343,9 @@ void RowPainter::paintDepthBar() const
for (depth_type i = 1; i <= depth; ++i) {
int const w = nestMargin() / 5;
int x = int(xo_) + w * i;
- // consider the bufferview left margin if we're drawing outermost text
+ // only consider the changebar space if we're drawing outermost text
if (text_.isMainText())
- x += pi_.base.bv->leftMargin();
+ x += pi_.base.bv->leftMargin() - changebarMargin();
int const starty = yo_ - row_.ascent();
int const h = row_.height() - 1 - (i - next_depth - 1) * 3;
commit da3c3796ee96473fbcede4c33545dc16fe53580d
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Mon Jan 17 17:33:21 2022 +0100
Make LABEL_MANUAL label breakable when larger than the screen.
This is what the situation was in 2.3.X.
diff --git a/src/Row.cpp b/src/Row.cpp
index ef1495f..d1921a6 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -460,12 +460,12 @@ void Row::add(pos_type const pos, Inset const * ins, Dimension const & dim,
void Row::add(pos_type const pos, char_type const c,
- Font const & f, Change const & ch, bool can_break)
+ Font const & f, Change const & ch)
{
if (!sameString(f, ch)) {
finalizeLast();
Element e(STRING, pos, f, ch);
- e.row_flags = can_break ? CanBreakInside : Inline;
+ e.row_flags = CanBreakInside;
elements_.push_back(e);
}
back().str += c;
diff --git a/src/Row.h b/src/Row.h
index 62ee6cf..4c4bfce 100644
--- a/src/Row.h
+++ b/src/Row.h
@@ -250,7 +250,7 @@ public:
Font const & f, Change const & ch);
///
void add(pos_type pos, char_type const c,
- Font const & f, Change const & ch, bool can_break);
+ Font const & f, Change const & ch);
///
void addVirtual(pos_type pos, docstring const & s,
Font const & f, Change const & ch);
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index 19a5e8f..f68292a 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -916,10 +916,10 @@ Row TextMetrics::tokenizeParagraph(pit_type const pit) const
// ⤶ U+2936 ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
// ¶ U+00B6 PILCROW SIGN
char_type const screen_char = (c == 0x2028) ? 0x2936 : 0x00B6;
- row.add(i, screen_char, *fi, par.lookupChange(i), i >= body_pos);
+ row.add(i, screen_char, *fi, par.lookupChange(i));
} else
// row elements before body are unbreakable
- row.add(i, c, *fi, par.lookupChange(i), i >= body_pos);
+ row.add(i, c, *fi, par.lookupChange(i));
// add inline completion width
// draw logically behind the previous character
commit 6f7505300ed7b4bd1f78bea076b6469e7e9cc32d
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Mon Jan 17 15:14:05 2022 +0100
When clearing a row, always clear the whole text area width
It is not a good idea to take into account the horizontal scrolling
that may have happened. For example, this leads to display glitches
when a Description label is larger than text width.
This explains why SingleParUpdate strategy did not work with home/end
on a long row.
diff --git a/src/BufferView.cpp b/src/BufferView.cpp
index 25b33b9..2bf7d2a 100644
--- a/src/BufferView.cpp
+++ b/src/BufferView.cpp
@@ -3391,15 +3391,12 @@ void BufferView::checkCursorScrollOffset()
//lyxerr << "cur_x=" << cur_x << ", offset=" << offset << ", row.wid=" << row.width() << ", margin=" << MARGIN << endl;
- if (offset != d->horiz_scroll_offset_)
+ if (offset != d->horiz_scroll_offset_) {
LYXERR(Debug::PAINTING, "Horiz. scroll offset changed from "
<< d->horiz_scroll_offset_ << " to " << offset);
-
- if (d->update_strategy_ == NoScreenUpdate
- && offset != d->horiz_scroll_offset_) {
- // FIXME: if one uses SingleParUpdate, then home/end
- // will not work on long rows. Why?
- d->update_strategy_ = FullScreenUpdate;
+ row.changed(true);
+ if (d->update_strategy_ == NoScreenUpdate)
+ d->update_strategy_ = SingleParUpdate;
}
d->horiz_scroll_offset_ = offset;
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index f227164..19a5e8f 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -2039,9 +2039,9 @@ void TextMetrics::drawParagraph(PainterInfo & pi, pit_type const pit, int const
// already cleared because of a full repaint.
if (!pi.full_repaint && row.changed()) {
LYXERR(Debug::PAINTING, "Clear rect@("
- << max(row_x, 0) << ", " << y - row.ascent() << ")="
+ << x << ", " << y - row.ascent() << ")="
<< width() << " x " << row.height());
- pi.pain.fillRectangle(row_x, y - row.ascent(),
+ pi.pain.fillRectangle(x, y - row.ascent(),
width(), row.height(), pi.background_color);
}
commit 4f158ecfc8e2ad174f8593c15d273534420f67a2
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Mon Jan 17 11:58:49 2022 +0100
Fix computation of LABEL_MANUAL label separation
The spacing of Labeling, Description and friends shall be computed
when breaking the row, not when tokenizing it. Indeed, this is the
right place to determine its correct value.
To this end add a new MARGINSPACE row element type.
This allows to remove TextMetrics::labelEnd, which is not used anymore.
diff --git a/src/Row.cpp b/src/Row.cpp
index 423768f..ef1495f 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -114,6 +114,7 @@ pos_type Row::Element::x2pos(int &x) const
break;
case INSET:
case SPACE:
+ case MARGINSPACE:
// those elements contain only one position. Round to
// the closest side.
if (x > (full_width() + 1) / 2) {
@@ -313,6 +314,9 @@ ostream & operator<<(ostream & os, Row::Element const & e)
break;
case Row::SPACE:
os << "SPACE: ";
+ break;
+ case Row::MARGINSPACE:
+ os << "MARGINSPACE: ";
}
os << "width=" << e.full_width() << ", row_flags=" << e.row_flags;
return os;
@@ -498,6 +502,18 @@ void Row::addSpace(pos_type const pos, int const width,
}
+void Row::addMarginSpace(pos_type const pos, int const width,
+ Font const & f, Change const & ch)
+{
+ finalizeLast();
+ Element e(MARGINSPACE, pos, f, ch);
+ e.dim.wid = width;
+ e.row_flags = NoBreakBefore;
+ elements_.push_back(e);
+ dim_.wid += e.dim.wid;
+}
+
+
void Row::push_back(Row::Element const & e)
{
dim_.wid += e.dim.wid;
diff --git a/src/Row.h b/src/Row.h
index aba7913..62ee6cf 100644
--- a/src/Row.h
+++ b/src/Row.h
@@ -50,7 +50,10 @@ public:
// An inset
INSET,
// Some spacing described by its width, not a string
- SPACE
+ SPACE,
+ // Spacing until the left margin, with a minimal value given
+ // by the initial width
+ MARGINSPACE
};
/**
@@ -253,6 +256,8 @@ public:
Font const & f, Change const & ch);
///
void addSpace(pos_type pos, int width, Font const & f, Change const & ch);
+ ///
+ void addMarginSpace(pos_type pos, int width, Font const & f, Change const & ch);
///
typedef std::vector<Element> Elements;
diff --git a/src/RowPainter.cpp b/src/RowPainter.cpp
index b7b479b..c49b5e6 100644
--- a/src/RowPainter.cpp
+++ b/src/RowPainter.cpp
@@ -564,6 +564,7 @@ void RowPainter::paintText()
break;
case Row::SPACE:
+ case Row::MARGINSPACE:
paintTextDecoration(e);
}
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index 0c87d10..f227164 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -786,15 +786,6 @@ int TextMetrics::labelFill(Row const & row) const
}
-int TextMetrics::labelEnd(pit_type const pit) const
-{
- // labelEnd is only needed if the layout fills a flushleft label.
- if (text_->getPar(pit).layout().margintype != MARGIN_MANUAL)
- return 0;
- // return the beginning of the body
- return leftMargin(pit);
-}
-
namespace {
/**
@@ -901,16 +892,12 @@ Row TextMetrics::tokenizeParagraph(pit_type const pit) const
Dimension dim = bv_->coordCache().insets().dim(ins);
row.add(i, ins, dim, *fi, par.lookupChange(i));
} else if (c == ' ' && i + 1 == body_pos) {
- // There is a space at i, but it should not be
- // added as a separator, because it is just
- // before body_pos. Instead, insert some spacing to
- // align text
+ // This space is an \item separator. Represent it with a
+ // special space element, which dimension will be computed
+ // in breakRow.
FontMetrics const & fm = theFontMetrics(text_->labelFont(par));
- // this is needed to make sure that the row width is correct
- row.finalizeLast();
- int const add = max(fm.width(par.layout().labelsep),
- labelEnd(pit) - row.width());
- row.addSpace(i, add, *fi, par.lookupChange(i));
+ int const wid = fm.width(par.layout().labelsep);
+ row.addMarginSpace(i, wid, *fi, par.lookupChange(i));
} else if (c == '\t')
row.addSpace(i, theFontMetrics(*fi).width(from_ascii(" ")),
*fi, par.lookupChange(i));
@@ -920,7 +907,7 @@ Row TextMetrics::tokenizeParagraph(pit_type const pit) const
* U+2029 PARAGRAPH SEPARATOR
* These are special unicode characters that break
- * lines/pragraphs. Not handling them lead to trouble wrt
+ * lines/pragraphs. Not handling them leads to trouble wrt
* Qt QTextLayout formatting. We add a visible character
* on screen so that the user can see that something is
* happening.
@@ -1139,6 +1126,8 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
Row::Elements tail;
elt.splitAt(width - rows.back().width(), next_width, false, tail);
Row & rb = rows.back();
+ if (elt.type == Row::MARGINSPACE)
+ elt.dim.wid = max(elt.dim.wid, leftMargin(bigrow.pit()) - rb.width());
rb.push_back(elt);
rb.finalizeLast();
if (rb.width() > width) {
diff --git a/src/TextMetrics.h b/src/TextMetrics.h
index e38ba71..cf53faa 100644
--- a/src/TextMetrics.h
+++ b/src/TextMetrics.h
@@ -148,9 +148,6 @@ private:
/// the minimum space a manual label needs on the screen in pixels
int labelFill(Row const & row) const;
- /// FIXME??
- int labelEnd(pit_type const pit) const;
-
// Turn paragraph oh index \c pit into a single row
Row tokenizeParagraph(pit_type pit) const;
commit c638caddd84e281235cb9941940829d015a671aa
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Thu Jan 13 19:34:46 2022 +0100
Compilation fix for Qt4
diff --git a/src/frontends/qt/GuiFontMetrics.cpp b/src/frontends/qt/GuiFontMetrics.cpp
index 0dc0de5..d827f2f 100644
--- a/src/frontends/qt/GuiFontMetrics.cpp
+++ b/src/frontends/qt/GuiFontMetrics.cpp
@@ -19,6 +19,7 @@
#include "support/convert.h"
#include "support/lassert.h"
+#include "support/lstrings.h" // for breakString_helper with qt4
#include "support/lyxlib.h"
#include "support/debug.h"
@@ -624,7 +625,7 @@ GuiFontMetrics::breakString_helper(docstring const & s, int first_wid, int wid,
// FIXME: this is slower than it could be but we'll get rid of Qt4 anyway
docstring const ss = s.substr(pos, epos - pos);
int const wid = width(ss);
- int const nspc_wid = i + 1 < tl.lineCount() ? wid : width(trim(ss));
+ int const nspc_wid = i + 1 < tl.lineCount() ? wid : width(rtrim(ss));
#endif
breaks.emplace_back(epos - pos, wid, nspc_wid);
pos = epos;
commit 473a4f2648268713b4a90bc8ece9237e469fdf20
Author: jpc <jpc at lyx.org>
Date: Thu Jan 13 17:39:49 2022 +0100
Update & solve shortcut conflict in fr.po
diff --git a/po/fr.gmo b/po/fr.gmo
index 092bd3d..1063fe5 100644
Binary files a/po/fr.gmo and b/po/fr.gmo differ
diff --git a/po/fr.po b/po/fr.po
index 7f7e4a5..87f2247 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -362,15 +362,15 @@ msgid ""
msgstr ""
"Project-Id-Version: LyX 2.4\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2021-11-05 17:50+0100\n"
-"PO-Revision-Date: 2021-11-05 17:52+0100\n"
+"POT-Creation-Date: 2022-01-13 17:37+0100\n"
+"PO-Revision-Date: 2022-01-13 17:39+0100\n"
"Last-Translator: Jean-Pierre Chrétien <jeanpierre.chretien at free.fr>\n"
"Language-Team: lyxfr\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 2.2.1\n"
+"X-Generator: Poedit 2.4.2\n"
#: src/frontends/qt/ui/AboutUi.ui:27
msgid "Version"
@@ -834,9 +834,9 @@ msgstr "Type de boîte intérieure"
#: 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:420 src/frontends/qt/GuiBox.cpp:630
-#: src/frontends/qt/GuiDocument.cpp:124 src/frontends/qt/GuiGraphics.cpp:576
-#: src/frontends/qt/GuiMathMatrix.cpp:33 src/frontends/qt/GuiPrefs.cpp:2323
-#: src/frontends/qt/GuiPrefs.cpp:2346
+#: src/frontends/qt/GuiDocument.cpp:124 src/frontends/qt/GuiGraphics.cpp:582
+#: src/frontends/qt/GuiMathMatrix.cpp:33 src/frontends/qt/GuiPrefs.cpp:2327
+#: src/frontends/qt/GuiPrefs.cpp:2350
msgid "None"
msgstr "Aucun"
@@ -1112,15 +1112,15 @@ msgstr "Ajouter &tout"
#: src/frontends/qt/ui/BranchesUnknownUi.ui:58 src/Buffer.cpp:1458
#: src/Buffer.cpp:4710 src/Buffer.cpp:4820 src/LyXVC.cpp:114 src/LyXVC.cpp:310
#: src/buffer_funcs.cpp:56 src/frontends/qt/GuiBranches.cpp:226
-#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2844
-#: src/frontends/qt/GuiParagraph.cpp:177 src/frontends/qt/GuiPrefs.cpp:3410
-#: src/frontends/qt/GuiView.cpp:2835 src/frontends/qt/GuiView.cpp:3067
-#: src/frontends/qt/GuiView.cpp:3091 src/frontends/qt/GuiView.cpp:3105
-#: src/frontends/qt/GuiView.cpp:3207 src/frontends/qt/GuiView.cpp:3252
-#: src/frontends/qt/GuiView.cpp:3307 src/frontends/qt/GuiView.cpp:3541
-#: src/frontends/qt/GuiView.cpp:3555 src/frontends/qt/GuiView.cpp:3657
-#: src/frontends/qt/GuiView.cpp:3682 src/frontends/qt/GuiView.cpp:4386
-#: src/frontends/qt/GuiView.cpp:4393 src/insets/InsetBibtex.cpp:153
+#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2848
+#: src/frontends/qt/GuiParagraph.cpp:177 src/frontends/qt/GuiPrefs.cpp:3414
+#: src/frontends/qt/GuiView.cpp:2865 src/frontends/qt/GuiView.cpp:3097
+#: src/frontends/qt/GuiView.cpp:3121 src/frontends/qt/GuiView.cpp:3135
+#: src/frontends/qt/GuiView.cpp:3237 src/frontends/qt/GuiView.cpp:3282
+#: src/frontends/qt/GuiView.cpp:3337 src/frontends/qt/GuiView.cpp:3571
+#: src/frontends/qt/GuiView.cpp:3585 src/frontends/qt/GuiView.cpp:3687
+#: src/frontends/qt/GuiView.cpp:3712 src/frontends/qt/GuiView.cpp:4416
+#: src/frontends/qt/GuiView.cpp:4423 src/insets/InsetBibtex.cpp:153
msgid "&Cancel"
msgstr "&Annuler"
@@ -1165,13 +1165,13 @@ msgstr "&Taille :"
#: src/frontends/qt/GuiDocument.cpp:1546 src/frontends/qt/GuiDocument.cpp:1553
#: src/frontends/qt/GuiDocument.cpp:2586 src/frontends/qt/GuiDocument.cpp:2673
#: src/frontends/qt/GuiDocument.cpp:2674 src/frontends/qt/GuiDocument.cpp:2675
-#: src/frontends/qt/GuiDocument.cpp:2695 src/frontends/qt/GuiDocument.cpp:2702
-#: src/frontends/qt/GuiDocument.cpp:2709 src/frontends/qt/GuiDocument.cpp:2799
-#: src/frontends/qt/GuiDocument.cpp:3405 src/frontends/qt/GuiDocument.cpp:4890
+#: src/frontends/qt/GuiDocument.cpp:2699 src/frontends/qt/GuiDocument.cpp:2706
+#: src/frontends/qt/GuiDocument.cpp:2713 src/frontends/qt/GuiDocument.cpp:2803
+#: src/frontends/qt/GuiDocument.cpp:3409 src/frontends/qt/GuiDocument.cpp:4894
#: src/frontends/qt/GuiExternal.cpp:76 src/frontends/qt/GuiGraphics.cpp:71
#: src/frontends/qt/GuiIndices.cpp:58 src/frontends/qt/GuiListings.cpp:160
-#: src/frontends/qt/GuiListings.cpp:167 src/frontends/qt/GuiPrefs.cpp:2479
-#: src/frontends/qt/GuiPrefs.cpp:2625 src/frontends/qt/GuiPrintNomencl.cpp:47
+#: src/frontends/qt/GuiListings.cpp:167 src/frontends/qt/GuiPrefs.cpp:2483
+#: src/frontends/qt/GuiPrefs.cpp:2629 src/frontends/qt/GuiPrintNomencl.cpp:47
#: src/frontends/qt/GuiTabularCreate.cpp:107
#: src/frontends/qt/GuiViewSource.cpp:341
msgid "Default"
@@ -1365,7 +1365,7 @@ msgstr "Lan&gue :"
#: lib/layouts/europasscv.layout:475 lib/layouts/europasscv.layout:482
#: lib/layouts/europecv.layout:321 lib/layouts/europecv.layout:327
#: lib/layouts/moderncv.layout:580 src/frontends/qt/GuiDocument.cpp:1777
-#: src/frontends/qt/GuiPrefs.cpp:2426 src/frontends/qt/Menus.cpp:938
+#: src/frontends/qt/GuiPrefs.cpp:2430 src/frontends/qt/Menus.cpp:938
msgid "Language"
msgstr "Langue"
@@ -1677,7 +1677,7 @@ msgstr ""
msgid "&Workarea only"
msgstr "&Zone de travail uniquement"
-#: src/frontends/qt/ui/DelimiterUi.ui:122 src/frontends/qt/GuiDelimiter.cpp:375
+#: src/frontends/qt/ui/DelimiterUi.ui:122 src/frontends/qt/GuiDelimiter.cpp:376
msgid "TeX Code: "
msgstr "Code TeX : "
@@ -1718,7 +1718,7 @@ msgstr ""
msgid "Save as Document Defaults"
msgstr "Enregistrer comme valeurs implicites"
-#: src/frontends/qt/ui/ERTUi.ui:38 src/frontends/qt/GuiPrefs.cpp:1319
+#: src/frontends/qt/ui/ERTUi.ui:38 src/frontends/qt/GuiPrefs.cpp:1323
msgid "Display"
msgstr "Affichage écran"
@@ -1876,12 +1876,12 @@ msgid "Scale"
msgstr "Ãchelle"
#: src/frontends/qt/ui/ExternalUi.ui:494 src/frontends/qt/ui/GraphicsUi.ui:153
-#: src/frontends/qt/GuiGraphics.cpp:476
+#: src/frontends/qt/GuiGraphics.cpp:482
msgid "Height of image in output"
msgstr "Hauteur de l'image en sortie"
#: src/frontends/qt/ui/ExternalUi.ui:504 src/frontends/qt/ui/GraphicsUi.ui:121
-#: src/frontends/qt/GuiGraphics.cpp:475
+#: src/frontends/qt/GuiGraphics.cpp:481
msgid "Width of image in output"
msgstr "Largeur de l'image en sortie"
@@ -2370,7 +2370,7 @@ msgstr "Taille sortie"
msgid "Sets height of graphic. Leave unchecked to set automatically."
msgstr "Fixer la hauteur du graphique. Automatique si non coché."
-#: src/frontends/qt/ui/GraphicsUi.ui:166 src/frontends/qt/GuiGraphics.cpp:474
+#: src/frontends/qt/ui/GraphicsUi.ui:166 src/frontends/qt/GuiGraphics.cpp:480
msgid "Set &height:"
msgstr "&Hauteur :"
@@ -2382,7 +2382,7 @@ msgstr "Ãchelle &graphique (%) :"
msgid "Sets width of graphic. Leave unchecked to set automatically."
msgstr "Fixer la largeur du graphique. Automatique si non coché."
-#: src/frontends/qt/ui/GraphicsUi.ui:186 src/frontends/qt/GuiGraphics.cpp:473
+#: src/frontends/qt/ui/GraphicsUi.ui:186 src/frontends/qt/GuiGraphics.cpp:479
msgid "Set &width:"
msgstr "&Largeur :"
@@ -2577,8 +2577,8 @@ msgstr "Insérer l'espacement même après un saut de page"
#: lib/layouts/acmart.layout:694 lib/layouts/acmart.layout:712
#: lib/layouts/amsdefs.inc:190 lib/layouts/maa-monthly.layout:165
#: lib/layouts/maa-monthly.layout:169 lib/layouts/minimalistic.module:27
-#: lib/layouts/scrlttr2.layout:271 lib/layouts/stdinsets.inc:578
-#: lib/layouts/stdinsets.inc:581
+#: lib/layouts/scrlttr2.layout:271 lib/layouts/stdinsets.inc:579
+#: lib/layouts/stdinsets.inc:582
msgid "URL"
msgstr "URL"
@@ -3005,9 +3005,9 @@ msgid "&Syntax Highlighting Package:"
msgstr "&Paquetage d'accentuation de la syntaxe :"
#: 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:392
-#: lib/layouts/stdinsets.inc:398 src/insets/InsetCaption.cpp:410
+#: lib/layouts/stdcounters.inc:77 lib/layouts/stdinsets.inc:338
+#: lib/layouts/stdinsets.inc:344 lib/layouts/stdinsets.inc:393
+#: lib/layouts/stdinsets.inc:399 src/insets/InsetCaption.cpp:410
#: src/insets/InsetListings.cpp:611 src/insets/InsetListings.cpp:612
msgid "Listing"
msgstr "Listing"
@@ -3942,7 +3942,7 @@ msgstr "Double"
#: src/frontends/qt/GuiDocument.cpp:1201 src/frontends/qt/GuiDocument.cpp:1547
#: src/frontends/qt/GuiHSpace.cpp:57 src/frontends/qt/GuiPrefs.cpp:816
#: src/frontends/qt/GuiPrefs.cpp:844 src/frontends/qt/GuiPrefs.cpp:871
-#: src/frontends/qt/GuiPrefs.cpp:2325 src/frontends/qt/GuiPrefs.cpp:2348
+#: src/frontends/qt/GuiPrefs.cpp:2329 src/frontends/qt/GuiPrefs.cpp:2352
#: src/frontends/qt/GuiPrintNomencl.cpp:51 src/insets/InsetInfo.cpp:236
#: src/insets/InsetInfo.cpp:246 src/insets/InsetInfo.cpp:250
#: src/insets/InsetInfo.cpp:259 src/insets/InsetInfo.cpp:321
@@ -4198,8 +4198,8 @@ msgid "&Modify"
msgstr "&Modifier"
#: src/frontends/qt/ui/PrefConvertersUi.ui:286
-#: src/frontends/qt/ui/PrefShortcutsUi.ui:61 src/frontends/qt/GuiPrefs.cpp:3146
-#: src/frontends/qt/GuiPrefs.cpp:3232
+#: src/frontends/qt/ui/PrefShortcutsUi.ui:61 src/frontends/qt/GuiPrefs.cpp:3150
+#: src/frontends/qt/GuiPrefs.cpp:3236
msgid "Remo&ve"
msgstr "&Enlever"
@@ -4479,7 +4479,7 @@ msgstr ""
"Définir un patron de recherche (voir le Manuel de lâutilisateur pour la "
"syntaxe)"
-#: src/frontends/qt/ui/PrefEditUi.ui:167 src/LyXRC.cpp:3142
+#: src/frontends/qt/ui/PrefEditUi.ui:167 src/LyXRC.cpp:3175
msgid ""
"Configure the width of the text cursor. Automatic zoom-controlled cursor "
"width used when set to 0."
@@ -4756,7 +4756,7 @@ msgstr ""
"documents"
#: src/frontends/qt/ui/PrefLanguageUi.ui:77
-#: src/frontends/qt/GuiDocument.cpp:1060 src/frontends/qt/GuiDocument.cpp:2716
+#: src/frontends/qt/GuiDocument.cpp:1060 src/frontends/qt/GuiDocument.cpp:2720
#: src/frontends/qt/GuiPrefs.cpp:815 src/frontends/qt/GuiPrefs.cpp:843
msgid "Automatic"
msgstr "Automatique"
@@ -4857,7 +4857,7 @@ msgstr ""
msgid "&Mark additional languages"
msgstr "&Marquer les langues additionnelles"
-#: src/frontends/qt/ui/PrefLanguageUi.ui:199 src/LyXRC.cpp:3270
+#: src/frontends/qt/ui/PrefLanguageUi.ui:199 src/LyXRC.cpp:3303
msgid ""
"Select to use the current keyboard language, as set from the operating "
"system, as default input language."
@@ -5056,7 +5056,7 @@ msgstr "Autres options"
msgid "Output &line length:"
msgstr "&Longueur de la ligne exportée :"
-#: src/frontends/qt/ui/PrefOutputUi.ui:186 src/LyXRC.cpp:3081
+#: src/frontends/qt/ui/PrefOutputUi.ui:186 src/LyXRC.cpp:3114
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, "
@@ -6503,8 +6503,8 @@ msgstr "Seulement le corps"
msgid "Select the output format"
msgstr "Sélectionner le format de sortie"
-#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3682
-#: src/frontends/qt/GuiView.cpp:4386
+#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3712
+#: src/frontends/qt/GuiView.cpp:4416
msgid "&Reload"
msgstr "&Recharger"
@@ -7067,7 +7067,7 @@ msgstr "Notes de figure"
#: lib/layouts/stdlayouts.inc:38 lib/layouts/stdlayouts.inc:63
#: lib/layouts/stdlayouts.inc:85 lib/layouts/stdletter.inc:13
#: lib/layouts/svcommon.inc:27 lib/layouts/svcommon.inc:710
-#: lib/layouts/svcommon.inc:721 lib/layouts/tufte-book.layout:236
+#: lib/layouts/svcommon.inc:721 lib/layouts/tufte-book.layout:242
msgid "MainText"
msgstr "Corps"
@@ -7675,7 +7675,7 @@ msgstr "Transactions IEEE"
#: lib/layouts/scrlttr2.layout:19 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:687 lib/layouts/stdletter.inc:12
+#: lib/layouts/stdinsets.inc:688 lib/layouts/stdletter.inc:12
#: lib/layouts/svcommon.inc:26 lib/layouts/tufte-book.layout:35
#: src/insets/InsetRef.cpp:597
msgid "Standard"
@@ -7920,7 +7920,7 @@ msgstr "Titre court pour l'annexe"
#: lib/layouts/scrreprt.layout:12 lib/layouts/scrreprt.layout:14
#: lib/layouts/siamltex.layout:339 lib/layouts/simplecv.layout:196
#: lib/layouts/stdstruct.inc:59 lib/layouts/svcommon.inc:657
-#: lib/layouts/tufte-book.layout:292 lib/layouts/tufte-book.layout:294
+#: lib/layouts/tufte-book.layout:298 lib/layouts/tufte-book.layout:300
#: lib/layouts/tufte-handout.layout:77 lib/examples/Articles:0
#: src/frontends/qt/GuiDocument.cpp:1781 src/insets/InsetBibtex.cpp:957
msgid "Bibliography"
@@ -8498,9 +8498,9 @@ msgstr "Autre affiliation :"
msgid "And"
msgstr "Et"
-#: lib/layouts/aastex.layout:256 src/frontends/qt/GuiDocument.cpp:3144
-#: src/frontends/qt/GuiDocument.cpp:3156 src/frontends/qt/GuiDocument.cpp:3282
-#: src/frontends/qt/GuiDocument.cpp:3301
+#: lib/layouts/aastex.layout:256 src/frontends/qt/GuiDocument.cpp:3148
+#: src/frontends/qt/GuiDocument.cpp:3160 src/frontends/qt/GuiDocument.cpp:3286
+#: src/frontends/qt/GuiDocument.cpp:3305
msgid "and"
msgstr "et"
@@ -8757,7 +8757,7 @@ msgstr "American Chemical Society (ACS)"
#: lib/layouts/scrclass.inc:142 lib/layouts/scrclass.inc:155
#: lib/layouts/scrclass.inc:168 lib/layouts/scrclass.inc:324
#: lib/layouts/scrclass.inc:349 lib/layouts/siamltex.layout:206
-#: lib/layouts/simplecv.layout:52 lib/layouts/stdinsets.inc:694
+#: lib/layouts/simplecv.layout:52 lib/layouts/stdinsets.inc:695
#: lib/layouts/stdsections.inc:32 lib/layouts/stdsections.inc:76
#: lib/layouts/stdsections.inc:117 lib/layouts/tufte-book.layout:98
#: lib/layouts/tufte-book.layout:129 lib/layouts/tufte-handout.layout:40
@@ -9222,7 +9222,7 @@ msgstr "Fi)gure en marge (uniquement sigchi-a)"
#: lib/layouts/acmart.layout:526 lib/layouts/beamer.layout:1726
#: lib/layouts/powerdot.layout:577 lib/layouts/sciposter.layout:109
-#: lib/layouts/stdfloats.inc:33 lib/layouts/tufte-book.layout:286
+#: lib/layouts/stdfloats.inc:33 lib/layouts/tufte-book.layout:292
msgid "List of Figures"
msgstr "Liste des figures"
@@ -9232,7 +9232,7 @@ msgstr "Tableau en marge (uniquement sigchi-a)"
#: lib/layouts/acmart.layout:539 lib/layouts/beamer.layout:1713
#: lib/layouts/powerdot.layout:560 lib/layouts/sciposter.layout:123
-#: lib/layouts/stdfloats.inc:18 lib/layouts/tufte-book.layout:270
+#: lib/layouts/stdfloats.inc:18 lib/layouts/tufte-book.layout:276
msgid "List of Tables"
msgstr "Liste des tableaux"
@@ -9753,7 +9753,7 @@ msgstr "Section-spéciale*"
#: lib/layouts/amsart.layout:98 lib/layouts/beamer.layout:334
#: lib/layouts/beamer.layout:396 lib/layouts/beamer.layout:458
-#: lib/layouts/memoir.layout:248 lib/layouts/stdinsets.inc:712
+#: lib/layouts/memoir.layout:248 lib/layouts/stdinsets.inc:713
#: lib/layouts/stdstarsections.inc:15 lib/layouts/stdstarsections.inc:30
#: lib/layouts/stdstarsections.inc:45 lib/layouts/stdstarsections.inc:60
#: lib/layouts/stdstarsections.inc:75 lib/layouts/stdstarsections.inc:90
@@ -9973,13 +9973,13 @@ msgid "Centered"
msgstr "Centré"
#: lib/layouts/apa.layout:285 lib/layouts/apax.inc:384
-#: lib/layouts/stdinsets.inc:688 src/insets/InsetCaption.cpp:436
+#: lib/layouts/stdinsets.inc:689 src/insets/InsetCaption.cpp:436
msgid "standard"
msgstr "standard"
#: lib/layouts/apa.layout:292 lib/layouts/apax.inc:391
#: lib/layouts/scrclass.inc:325 lib/layouts/scrclass.inc:350
-#: lib/layouts/stdinsets.inc:695
+#: lib/layouts/stdinsets.inc:696
msgid "The caption as it appears in the list of figures/tables"
msgstr "La légende telle qu'elle apparaîtra dans la liste des figures/tableaux"
@@ -12971,8 +12971,8 @@ msgid "Fixme Error"
msgstr "Erreur Fixme"
#: lib/layouts/fixme.module:83 src/frontends/qt/GuiCompare.cpp:199
-#: src/frontends/qt/GuiDocument.cpp:2857 src/frontends/qt/GuiDocument.cpp:2931
-#: src/frontends/qt/GuiDocument.cpp:4828
+#: src/frontends/qt/GuiDocument.cpp:2861 src/frontends/qt/GuiDocument.cpp:2935
+#: src/frontends/qt/GuiDocument.cpp:4832
msgid "Error"
msgstr "Erreur"
@@ -17309,11 +17309,11 @@ msgstr "NoteDeBasDePage # #"
msgid "\\fnsymbol{thanks}"
msgstr "\\fnsymbol{thanks}"
-#: lib/layouts/stdfloatnames.inc:5 lib/layouts/stdinsets.inc:558
+#: lib/layouts/stdfloatnames.inc:5 lib/layouts/stdinsets.inc:559
msgid "Tables"
msgstr "Tableaux"
-#: lib/layouts/stdfloatnames.inc:6 lib/layouts/stdinsets.inc:559
+#: lib/layouts/stdfloatnames.inc:6 lib/layouts/stdinsets.inc:560
msgid "Figures"
msgstr "Figures"
@@ -17365,49 +17365,49 @@ msgstr "bas"
msgid "Greyedout"
msgstr "Grisée"
-#: lib/layouts/stdinsets.inc:207 src/insets/InsetERT.cpp:189
+#: lib/layouts/stdinsets.inc:208 src/insets/InsetERT.cpp:189
#: src/insets/InsetERT.cpp:190
msgid "ERT"
msgstr "TeX"
-#: lib/layouts/stdinsets.inc:293 lib/layouts/stdinsets.inc:299
+#: lib/layouts/stdinsets.inc:294 lib/layouts/stdinsets.inc:300
msgid "Listings[[List of Listings]]"
msgstr "Liste des listings"
-#: lib/layouts/stdinsets.inc:316 lib/layouts/stdinsets.inc:322
+#: lib/layouts/stdinsets.inc:317 lib/layouts/stdinsets.inc:323
#: src/insets/InsetTOC.cpp:77
msgid "List of Listings"
msgstr "Liste des listings"
-#: lib/layouts/stdinsets.inc:350 src/frontends/qt/GuiDocument.cpp:1786
+#: lib/layouts/stdinsets.inc:351 src/frontends/qt/GuiDocument.cpp:1786
msgid "Listings[[inset]]"
msgstr "Listings"
-#: lib/layouts/stdinsets.inc:417
+#: lib/layouts/stdinsets.inc:418
msgid "Idx"
msgstr "Idx"
-#: lib/layouts/stdinsets.inc:608
+#: lib/layouts/stdinsets.inc:609
msgid "Argument"
msgstr "Argument"
-#: lib/layouts/stdinsets.inc:714
+#: lib/layouts/stdinsets.inc:715
msgid "unlabelled"
msgstr "sans étiquette"
-#: lib/layouts/stdinsets.inc:721
+#: lib/layouts/stdinsets.inc:722
msgid "Preview"
msgstr "Aperçu"
-#: lib/layouts/stdinsets.inc:755 lib/layouts/stdinsets.inc:763
+#: lib/layouts/stdinsets.inc:756 lib/layouts/stdinsets.inc:764
msgid "see equation[[nomencl]]"
msgstr "voir équation"
-#: lib/layouts/stdinsets.inc:756 lib/layouts/stdinsets.inc:764
+#: lib/layouts/stdinsets.inc:757 lib/layouts/stdinsets.inc:765
msgid "page[[nomencl]]"
msgstr "page"
-#: lib/layouts/stdinsets.inc:757 lib/layouts/stdinsets.inc:765
+#: lib/layouts/stdinsets.inc:758 lib/layouts/stdinsets.inc:766
msgid "Nomenclature[[output]]"
msgstr "Liste des symboles"
@@ -18644,55 +18644,55 @@ msgstr "note latérale"
msgid "bibl. entry"
msgstr "entrée biblio"
-#: lib/layouts/tufte-book.layout:176
+#: lib/layouts/tufte-book.layout:180
msgid "Marginnote"
msgstr "Note en marge"
-#: lib/layouts/tufte-book.layout:180
+#: lib/layouts/tufte-book.layout:184
msgid "marginnote"
msgstr "note en marge"
-#: lib/layouts/tufte-book.layout:189
+#: lib/layouts/tufte-book.layout:194
msgid "NewThought"
msgstr "Nouvelle idée"
-#: lib/layouts/tufte-book.layout:193
+#: lib/layouts/tufte-book.layout:198
msgid "new thought"
msgstr "nouvelle idée"
-#: lib/layouts/tufte-book.layout:206
+#: lib/layouts/tufte-book.layout:212
msgid "AllCaps"
msgstr "Tout en capitales"
-#: lib/layouts/tufte-book.layout:209
+#: lib/layouts/tufte-book.layout:215
msgid "allcaps"
msgstr "tout en capitales"
-#: lib/layouts/tufte-book.layout:221
+#: lib/layouts/tufte-book.layout:227
msgid "SmallCaps"
msgstr "Petites capitales"
-#: lib/layouts/tufte-book.layout:224
+#: lib/layouts/tufte-book.layout:230
msgid "smallcaps"
msgstr "petites capitales"
-#: lib/layouts/tufte-book.layout:232
+#: lib/layouts/tufte-book.layout:238
msgid "Full Width"
msgstr "Pleine largeur"
-#: lib/layouts/tufte-book.layout:252
+#: lib/layouts/tufte-book.layout:258
msgid "Margin Figure"
msgstr "Figures en marge"
-#: lib/layouts/tufte-book.layout:256
+#: lib/layouts/tufte-book.layout:262
msgid "Margin Table"
msgstr "Tableau en marge"
-#: lib/layouts/tufte-book.layout:262
+#: lib/layouts/tufte-book.layout:268
msgid "MarginTable"
msgstr "Tableau en marge"
-#: lib/layouts/tufte-book.layout:278
+#: lib/layouts/tufte-book.layout:284
msgid "MarginFigure"
msgstr "Figure en marge"
@@ -19930,19 +19930,19 @@ msgid "Copy as Reference|R"
msgstr "Copier comme référence|C"
#: lib/ui/stdcontext.inc:61 lib/ui/stdcontext.inc:375 lib/ui/stdmenus.inc:108
-#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1567
+#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1568
#: src/mathed/InsetMathNest.cpp:555
msgid "Cut"
msgstr "Couper"
#: lib/ui/stdcontext.inc:62 lib/ui/stdcontext.inc:376 lib/ui/stdmenus.inc:109
-#: lib/ui/stdtoolbars.inc:87 src/BufferView.cpp:2268
+#: lib/ui/stdtoolbars.inc:87 src/BufferView.cpp:2269
msgid "Copy"
msgstr "Copier"
#: lib/ui/stdcontext.inc:63 lib/ui/stdcontext.inc:377 lib/ui/stdmenus.inc:110
#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1512
-#: src/frontends/qt/GuiToolbar.cpp:441 src/mathed/InsetMathGrid.cpp:1560
+#: src/frontends/qt/GuiToolbar.cpp:441 src/mathed/InsetMathGrid.cpp:1565
#: src/mathed/InsetMathNest.cpp:533
msgid "Paste"
msgstr "Coller"
@@ -20634,7 +20634,7 @@ msgstr "Désactiver la branche dans le document maître|e"
#: lib/ui/stdcontext.inc:536
msgid "Invert Inset|I"
-msgstr "Inverser l'insert|I"
+msgstr "Inverser l'insert|v"
#: lib/ui/stdcontext.inc:537
msgid "Add Unknown Branch|w"
@@ -20705,6 +20705,10 @@ msgid "Giant-sized Icons"
msgstr "Icônes de taille gigantesque"
#: lib/ui/stdcontext.inc:732
+msgid "Show Zoom Level|Z"
+msgstr "Afficher le degré de zoom|z"
+
+#: lib/ui/stdcontext.inc:733
msgid "Show Zoom Slider|S"
msgstr "Afficher la barre de zoom|z"
@@ -22279,7 +22283,7 @@ msgid "Big operators"
msgstr "Grands opérateurs"
#: lib/ui/stdtoolbars.inc:223 lib/ui/stdtoolbars.inc:690
-#: src/frontends/qt/GuiDocument.cpp:5165
+#: src/frontends/qt/GuiDocument.cpp:5169
msgid "Miscellaneous"
msgstr "Divers"
@@ -27134,7 +27138,7 @@ msgstr "MS Word Office Open XML|O"
msgid "Table (CSV)"
msgstr "Tableau (CSV)"
-#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1628
+#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1657
#: src/mathed/InsetMathMacroTemplate.cpp:538
msgid "LyX"
msgstr "LyX"
@@ -27227,11 +27231,11 @@ msgstr "gnuplot"
msgid "gnuplot|Gnuplot"
msgstr "gnuplot|Gnuplot"
-#: lib/configure.py:1346
+#: lib/configure.py:1350
msgid "LyX Archive (zip)"
msgstr "Archive LyX (zip)"
-#: lib/configure.py:1349
+#: lib/configure.py:1353
msgid "LyX Archive (tar.gz)"
msgstr "Archive LyX (tar.gz)"
@@ -27309,10 +27313,6 @@ msgid "Localization Test"
msgstr "Test de localisation"
#: lib/examples/Articles:0
-msgid "PDF-form"
-msgstr "Formulaire PDF"
-
-#: lib/examples/Articles:0
msgid "Noweb Listerrors"
msgstr "Liste d'erreurs Noweb"
@@ -27321,10 +27321,6 @@ msgid "LilyPond Book"
msgstr "Livre LilyPond"
#: lib/examples/Articles:0
-msgid "Linguisticsnew"
-msgstr "Linguisticsnew"
-
-#: lib/examples/Articles:0
msgid "Noweb2LyX"
msgstr "Noweb2LyX"
@@ -27686,8 +27682,8 @@ msgid "Overwrite modified file?"
msgstr "Ãcraser le fichier modifié ?"
#: src/Buffer.cpp:1458 src/Exporter.cpp:50
-#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2835
-#: src/frontends/qt/GuiView.cpp:3104 src/frontends/qt/GuiView.cpp:3207
+#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2865
+#: src/frontends/qt/GuiView.cpp:3134 src/frontends/qt/GuiView.cpp:3237
msgid "&Overwrite"
msgstr "Ã&craser"
@@ -27929,7 +27925,7 @@ msgstr "La branche « %1$s » existe déjà ."
msgid "Error viewing the output file."
msgstr "Erreur lors de l'affichage du fichier imprimable."
-#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2666
+#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2696
#: src/frontends/qt/Validator.cpp:241 src/insets/ExternalSupport.cpp:394
#: src/insets/InsetGraphics.cpp:692 src/insets/InsetInclude.cpp:606
msgid "Invalid filename"
@@ -28016,7 +28012,7 @@ msgstr ""
msgid "Couldn't export file"
msgstr "Exportation du fichier impossible"
-#: src/Buffer.cpp:4507 src/frontends/qt/GuiView.cpp:2808
+#: src/Buffer.cpp:4507 src/frontends/qt/GuiView.cpp:2838
msgid "File name error"
msgstr "Erreur de nom de fichier"
@@ -28034,7 +28030,7 @@ msgstr ""
"devriez enregistrer le fichier dans un répertoire dont le chemin d'accès ne "
"contient pas d'espaces."
-#: src/Buffer.cpp:4597 src/Buffer.cpp:4627 src/frontends/qt/GuiView.cpp:869
+#: src/Buffer.cpp:4597 src/Buffer.cpp:4627 src/frontends/qt/GuiView.cpp:873
msgid "Document export cancelled."
msgstr "Export du document annulé."
@@ -28186,12 +28182,12 @@ msgstr ""
msgid "Senseless!!! "
msgstr "Inapproprié !!! "
-#: src/Buffer.cpp:5487
+#: src/Buffer.cpp:5496
#, c-format
msgid "Document %1$s reloaded."
msgstr "Document %1$s rechargé."
-#: src/Buffer.cpp:5490
+#: src/Buffer.cpp:5499
#, c-format
msgid "Could not reload document %1$s."
msgstr "Impossible de recharger le document %1$s."
@@ -28306,12 +28302,12 @@ msgid "Document class not available"
msgstr "Classe de document non disponible"
#: src/BufferParams.cpp:1098 src/Color.cpp:281
-#: src/frontends/qt/GuiDocument.cpp:3534
+#: src/frontends/qt/GuiDocument.cpp:3538
msgid "greyedout inset text"
msgstr "texte d'insert grisé"
-#: src/BufferParams.cpp:1811 src/BufferParams.cpp:2253 src/Encoding.cpp:253
-#: src/Paragraph.cpp:3007 src/frontends/qt/LaTeXHighlighter.cpp:123
+#: src/BufferParams.cpp:1811 src/BufferParams.cpp:2254 src/Encoding.cpp:253
+#: src/Paragraph.cpp:3012 src/frontends/qt/LaTeXHighlighter.cpp:123
#: src/frontends/qt/LaTeXHighlighter.cpp:216
#: src/insets/InsetCommandParams.cpp:508 src/insets/InsetCommandParams.cpp:516
#: src/insets/InsetGraphics.cpp:886 src/insets/InsetGraphics.cpp:894
@@ -28321,8 +28317,8 @@ msgstr "texte d'insert grisé"
msgid "LyX Warning: "
msgstr "Avertissement LyX : "
-#: src/BufferParams.cpp:1812 src/BufferParams.cpp:2254 src/Encoding.cpp:254
-#: src/Paragraph.cpp:3008 src/insets/InsetCommandParams.cpp:509
+#: src/BufferParams.cpp:1812 src/BufferParams.cpp:2255 src/Encoding.cpp:254
+#: src/Paragraph.cpp:3013 src/insets/InsetCommandParams.cpp:509
#: src/insets/InsetCommandParams.cpp:517 src/insets/InsetGraphics.cpp:887
#: src/insets/InsetGraphics.cpp:895 src/insets/InsetListings.cpp:299
#: src/insets/InsetListings.cpp:307 src/mathed/MathExtern.cpp:1441
@@ -28353,11 +28349,11 @@ msgstr ""
"Choisir un encodage approprié (par exemple utf8)\n"
"ou modifier les options de classe."
-#: src/BufferParams.cpp:2267
+#: src/BufferParams.cpp:2268
msgid "Uncodable character in user preamble"
msgstr "Caractère incodable dans le préambule utilisateur"
-#: src/BufferParams.cpp:2269
+#: src/BufferParams.cpp:2270
#, c-format
msgid ""
"The user preamble of your document contains glyphs that are unknown in the "
@@ -28376,7 +28372,7 @@ msgstr ""
"Choisir un encodage approprié (par exemple utf8)\n"
"ou modifier l'orthographe du nom d'auteur."
-#: src/BufferParams.cpp:2584
+#: src/BufferParams.cpp:2585
#, c-format
msgid ""
"The layout file:\n"
@@ -28391,11 +28387,11 @@ msgstr ""
"sera utilisée. LyX ne pourra pas produire\n"
"un résultat imprimable correct."
-#: src/BufferParams.cpp:2590
+#: src/BufferParams.cpp:2591
msgid "Document class not found"
msgstr "Classe de document introuvable"
-#: src/BufferParams.cpp:2597
+#: src/BufferParams.cpp:2598
#, c-format
msgid ""
"Due to some error in it, the layout file:\n"
@@ -28410,23 +28406,23 @@ msgstr ""
"sera utilisée. LyX ne pourra pas produire\n"
"un résultat imprimable correct."
-#: src/BufferParams.cpp:2603 src/BufferView.cpp:1424 src/BufferView.cpp:1456
+#: src/BufferParams.cpp:2604 src/BufferView.cpp:1424 src/BufferView.cpp:1456
msgid "Could not load class"
msgstr "Chargement de la classe impossible"
-#: src/BufferParams.cpp:2648
+#: src/BufferParams.cpp:2649
msgid "Error reading internal layout information"
msgstr "Erreur de lecture du format interne"
-#: src/BufferParams.cpp:2649 src/TextClass.cpp:1952 src/TextClass.cpp:1985
+#: src/BufferParams.cpp:2650 src/TextClass.cpp:1952 src/TextClass.cpp:1985
msgid "Read Error"
msgstr "Erreur de lecture"
-#: src/BufferParams.cpp:3651
+#: src/BufferParams.cpp:3655
msgid "No bibliography processor found!"
msgstr "Aucun processeur bibliographique n'a été trouvé !"
-#: src/BufferParams.cpp:3653
+#: src/BufferParams.cpp:3657
#, c-format
msgid ""
"The bibliography processor requested by this document (%1$s) is not "
@@ -28439,11 +28435,11 @@ msgstr ""
"bibliographie ni références ne seront créées.\n"
"Merci de réparer votre installation !"
-#: src/BufferParams.cpp:3661
+#: src/BufferParams.cpp:3665
msgid "Requested bibliography processor not found!"
msgstr "Processeur bibliographique requis introuvable !"
-#: src/BufferParams.cpp:3663
+#: src/BufferParams.cpp:3667
#, c-format
msgid ""
"The bibliography processor requested by this document (%1$s) is not "
@@ -28482,8 +28478,8 @@ msgstr "Le document a été modifié par une application externe"
msgid "This portion of the document is deleted."
msgstr "Cette portion du document est supprimée."
-#: src/BufferView.cpp:1191 src/BufferView.cpp:2253
-#: src/frontends/qt/GuiView.cpp:4256 src/frontends/qt/GuiView.cpp:4344
+#: src/BufferView.cpp:1191 src/BufferView.cpp:2254
+#: src/frontends/qt/GuiView.cpp:4286 src/frontends/qt/GuiView.cpp:4374
msgid "Absolute filename expected."
msgstr "Chemin absolu requis."
@@ -28559,7 +28555,7 @@ msgstr "Un caractère (espaces exclus)"
msgid "Statistics"
msgstr "Statistiques"
-#: src/BufferView.cpp:2111
+#: src/BufferView.cpp:2112
#, c-format
msgid ""
"`inset-forall' interrupted because number of actions is larger than %1$d"
@@ -28567,35 +28563,35 @@ msgstr ""
"Interruption de « inset-forall » du fait d'un nombre d'actions supérieur à "
"%1$d"
-#: src/BufferView.cpp:2113
+#: src/BufferView.cpp:2114
#, c-format
msgid "Applied \"%1$s\" to %2$d insets"
msgstr "\"%1$s\" appliqué à %2$d inserts"
-#: src/BufferView.cpp:2121
+#: src/BufferView.cpp:2122
msgid "Branch name"
msgstr "Nom de la branche"
-#: src/BufferView.cpp:2128 src/frontends/qt/GuiBranches.cpp:225
+#: src/BufferView.cpp:2129 src/frontends/qt/GuiBranches.cpp:225
msgid "Branch already exists"
msgstr "La branche existe déjà "
-#: src/BufferView.cpp:3055
+#: src/BufferView.cpp:3056
#, c-format
msgid "Inserting document %1$s..."
msgstr "Insertion du document %1$s..."
-#: src/BufferView.cpp:3071
+#: src/BufferView.cpp:3072
#, c-format
msgid "Document %1$s inserted."
msgstr "Document %1$s inséré."
-#: src/BufferView.cpp:3073
+#: src/BufferView.cpp:3074
#, c-format
msgid "Could not insert document %1$s"
msgstr "Impossible d'insérer le document %1$s"
-#: src/BufferView.cpp:3571
+#: src/BufferView.cpp:3572
#, c-format
msgid ""
"Could not read the specified document\n"
@@ -28606,11 +28602,11 @@ msgstr ""
"%1$s\n"
"Ã cause de l'erreur : %2$s"
-#: src/BufferView.cpp:3573
+#: src/BufferView.cpp:3574
msgid "Could not read file"
msgstr "Lecture du fichier impossible"
-#: src/BufferView.cpp:3580
+#: src/BufferView.cpp:3581
#, c-format
msgid ""
"%1$s\n"
@@ -28619,17 +28615,17 @@ msgstr ""
"%1$s\n"
"est illisible."
-#: src/BufferView.cpp:3581 src/frontends/qt/qt_helpers.cpp:311
+#: src/BufferView.cpp:3582 src/frontends/qt/qt_helpers.cpp:311
#: src/frontends/qt/qt_helpers.cpp:314 src/frontends/qt/qt_helpers.cpp:320
#: src/output.cpp:39
msgid "Could not open file"
msgstr "Ouverture du fichier impossible"
-#: src/BufferView.cpp:3588
+#: src/BufferView.cpp:3589
msgid "Reading not UTF-8 encoded file"
msgstr "Lecture d'un fichier non encodé en UTF-8"
-#: src/BufferView.cpp:3589
+#: src/BufferView.cpp:3590
msgid ""
"The file is not UTF-8 encoded.\n"
"It will be read as local 8Bit-encoded.\n"
@@ -29219,11 +29215,11 @@ msgstr "&Toujours autoriser pour ce document"
msgid "&Always run for this document"
msgstr "Toujours ex&écuter pour ce document"
-#: src/Converter.cpp:441 src/Converter.cpp:686 src/Converter.cpp:715
+#: src/Converter.cpp:441 src/Converter.cpp:687 src/Converter.cpp:716
msgid "Converter killed"
msgstr "Convertisseur interrompu"
-#: src/Converter.cpp:442 src/Converter.cpp:687 src/Converter.cpp:716
+#: src/Converter.cpp:442 src/Converter.cpp:688 src/Converter.cpp:717
#, c-format
msgid ""
"The following converter was killed by the user.\n"
@@ -29232,8 +29228,8 @@ msgstr ""
"Le convertisseur suivant a été interrompu par l'utilisateur.\n"
" %1$s\n"
-#: src/Converter.cpp:461 src/Converter.cpp:744 src/Converter.cpp:767
-#: src/Converter.cpp:809
+#: src/Converter.cpp:461 src/Converter.cpp:745 src/Converter.cpp:768
+#: src/Converter.cpp:810
msgid "Cannot convert file"
msgstr "Conversion du fichier impossible"
@@ -29273,15 +29269,15 @@ msgstr ""
"\n"
"où « pilote » est le nom du pilote."
-#: src/Converter.cpp:662 src/Format.cpp:708 src/Format.cpp:778
+#: src/Converter.cpp:663 src/Format.cpp:708 src/Format.cpp:778
msgid "Executing command: "
msgstr "Exécution de la commande : "
-#: src/Converter.cpp:727
+#: src/Converter.cpp:728
msgid "Process Killed"
msgstr "Processus interrompu"
-#: src/Converter.cpp:728
+#: src/Converter.cpp:729
#, c-format
msgid ""
"The conversion process was killed while running:\n"
@@ -29290,11 +29286,11 @@ msgstr ""
"Le processus de conversion a été interrompu lors de l'exécution :\n"
"%1$s"
-#: src/Converter.cpp:733
+#: src/Converter.cpp:734
msgid "Process Timed Out"
msgstr "Délai d'exécution du processus expiré"
-#: src/Converter.cpp:734
+#: src/Converter.cpp:735
#, c-format
msgid ""
"The conversion process:\n"
@@ -29305,15 +29301,15 @@ msgstr ""
"%1$s\n"
"a expiré avant la fin."
-#: src/Converter.cpp:739
+#: src/Converter.cpp:740
msgid "Build errors"
msgstr "Erreurs de compilation"
-#: src/Converter.cpp:740
+#: src/Converter.cpp:741
msgid "There were errors during the build process."
msgstr "Il y a eu des erreurs pendant la compilation."
-#: src/Converter.cpp:745
+#: src/Converter.cpp:746
#, c-format
msgid ""
"An error occurred while running:\n"
@@ -29322,38 +29318,38 @@ msgstr ""
"Une erreur s'est produite lors de l'exécution :\n"
"%1$s"
-#: src/Converter.cpp:768
+#: src/Converter.cpp:769
#, c-format
msgid "Could not move a temporary directory from %1$s to %2$s."
msgstr "Impossible de déplacer un répertoire temporaire de %1$s à %2$s."
-#: src/Converter.cpp:811
+#: src/Converter.cpp:812
#, c-format
msgid "Could not copy a temporary file from %1$s to %2$s."
msgstr "Impossible de copier un fichier temporaire de %1$s vers %2$s."
-#: src/Converter.cpp:812
+#: src/Converter.cpp:813
#, c-format
msgid "Could not move a temporary file from %1$s to %2$s."
msgstr "Impossible de déplacer un fichier temporaire de %1$s à %2$s."
-#: src/Converter.cpp:852
+#: src/Converter.cpp:853
msgid "Running LaTeX..."
msgstr "Exécution de LaTeX..."
-#: src/Converter.cpp:869
+#: src/Converter.cpp:870
msgid "Export canceled"
msgstr "Exportation annulée"
-#: src/Converter.cpp:870
+#: src/Converter.cpp:871
msgid "The export process was terminated by the user."
msgstr "Le processus d'exportation a été interrompu par l'utilisateur."
-#: src/Converter.cpp:880
+#: src/Converter.cpp:881
msgid "Undefined reference"
msgstr "Référence indéfinie"
-#: src/Converter.cpp:881
+#: src/Converter.cpp:882
msgid ""
"Undefined references or citations were found during the build.\n"
"Please check the warnings in the LaTeX log (Document > LaTeX Log)."
@@ -29363,7 +29359,7 @@ msgstr ""
"Veuillez vérifier les avertissements dans le journal LaTeX (Document > "
"Fichier journal)."
-#: src/Converter.cpp:893
+#: src/Converter.cpp:894
#, c-format
msgid ""
"LaTeX did not run successfully. Additionally, LyX could not locate the LaTeX "
@@ -29372,11 +29368,11 @@ msgstr ""
"LaTeX ne s'est pas exécuté correctement. En plus, LyX n'a pas pu trouver le "
"fichier journal LaTeX %1$s."
-#: src/Converter.cpp:896 src/Converter.cpp:903
+#: src/Converter.cpp:897 src/Converter.cpp:904
msgid "LaTeX failed"
msgstr "Ãchec de LaTeX"
-#: src/Converter.cpp:899
+#: src/Converter.cpp:900
#, c-format
msgid ""
"The external program\n"
@@ -29389,11 +29385,11 @@ msgstr ""
"s'est terminé avec une erreur. Il est recommandé de corriger l'origine de "
"l'erreur du programme externe (vérifier les journaux). "
-#: src/Converter.cpp:905
+#: src/Converter.cpp:906
msgid "Output is empty"
msgstr "La sortie est vide"
-#: src/Converter.cpp:906
+#: src/Converter.cpp:907
msgid "No output file was generated."
msgstr "Aucun fichier imprimable créé."
@@ -29502,7 +29498,7 @@ msgstr "&Conserver le fichier"
msgid "Overwrite &all"
msgstr "Ãcraser &tout"
-#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:789
+#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:793
msgid "&Cancel export"
msgstr "&Annuler l'exportation"
@@ -29526,17 +29522,17 @@ msgid "Number %1$s"
msgstr "Numéro %1$s"
#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:148
-#: src/frontends/qt/GuiDocument.cpp:4890 src/frontends/qt/GuiListings.cpp:167
+#: src/frontends/qt/GuiDocument.cpp:4894 src/frontends/qt/GuiListings.cpp:167
msgid "Roman"
msgstr "Romain"
#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:149
-#: src/frontends/qt/GuiDocument.cpp:4890 src/frontends/qt/GuiListings.cpp:167
+#: src/frontends/qt/GuiDocument.cpp:4894 src/frontends/qt/GuiListings.cpp:167
msgid "Sans Serif"
msgstr "Sans empattement"
#: src/FontInfo.cpp:43 src/frontends/qt/GuiCharacter.cpp:150
-#: src/frontends/qt/GuiDocument.cpp:4890 src/frontends/qt/GuiListings.cpp:167
+#: src/frontends/qt/GuiDocument.cpp:4894 src/frontends/qt/GuiListings.cpp:167
msgid "Typewriter"
msgstr "Chasse fixe"
@@ -29620,7 +29616,7 @@ msgstr "Nom propre %1$s, "
msgid "Cannot view file"
msgstr "Visionnement du fichier impossible"
-#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3946
+#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3976
#, c-format
msgid "File does not exist: %1$s"
msgstr "Fichier inexistant : %1$s"
@@ -30089,7 +30085,7 @@ msgstr "Il manque le nom du fichier à importer pour --import"
# Trouver un meilleur exemple !
# Je n'en trouve pas en français... JPC
-#: src/LyXRC.cpp:3073
+#: src/LyXRC.cpp:3106
msgid ""
"Consider run-together words, such as \"diskdrive\" for \"disk drive\", as "
"legal words?"
@@ -30097,13 +30093,13 @@ msgstr ""
"Autoriser ou non les mots composés accolés, comme « diskdrive » pour « disk "
"drive » ?"
-#: src/LyXRC.cpp:3077
+#: src/LyXRC.cpp:3110
msgid ""
"Specify an alternate language. The default is to use the language of the "
"document."
msgstr "Spécifier une autre langue. La langue implicite est celle du document."
-#: src/LyXRC.cpp:3085
+#: src/LyXRC.cpp:3118
msgid ""
"De-select if you don't want the current selection to be replaced "
"automatically by what you type."
@@ -30111,7 +30107,7 @@ msgstr ""
"Désélectionner si vous ne voulez pas que le texte sélectionné soit remplacé "
"automatiquement par ce que vous tapez."
-#: src/LyXRC.cpp:3089
+#: src/LyXRC.cpp:3122
msgid ""
"De-select if you don't want the class options to be reset to defaults after "
"class change."
@@ -30119,14 +30115,14 @@ msgstr ""
"Désélectionner si vous ne voulez pas que les options de classe soient "
"réinitialisées aux valeurs implicites après un changement de classe."
-#: src/LyXRC.cpp:3093
+#: src/LyXRC.cpp:3126
msgid ""
"The time interval between auto-saves (in seconds). 0 means no auto-save."
msgstr ""
"Intervalle de temps entre deux sauvegardes automatiques (en secondes). 0 "
"signifie pas de sauvegarde automatique."
-#: src/LyXRC.cpp:3100
+#: src/LyXRC.cpp:3133
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."
@@ -30134,7 +30130,7 @@ msgstr ""
"Répertoire dans lequel mettre les copies de sauvegarde. Si laissé vide, LyX "
"mettra la copie de sauvegarde dans le même répertoire que l'original."
-#: src/LyXRC.cpp:3104
+#: src/LyXRC.cpp:3137
msgid ""
"Define the options of bibtex (cf. man bibtex) or select an alternative "
"compiler (e.g. mlbibtex or bibulus)."
@@ -30142,11 +30138,11 @@ msgstr ""
"Définir les options de bibtex (voir man bibtex) ou sélectionner un autre "
"compilateur (par ex. mlbibtex ou bibulus)."
-#: src/LyXRC.cpp:3108
+#: src/LyXRC.cpp:3141
msgid "Define the options of the bibtex program for PLaTeX (Japanese LaTeX)."
msgstr "Définir les options du programme BibTeX pour PLaTeX (LaTeX japonais)."
-#: src/LyXRC.cpp:3112
+#: src/LyXRC.cpp:3145
msgid ""
"Keybindings file. Can either specify an absolute path, or LyX will look in "
"its global and local bind/ directories."
@@ -30154,11 +30150,11 @@ msgstr ""
"Fichier de raccourcis clavier (bind). Vous pouvez mettre son chemin absolu, "
"ou bien LyX cherchera dans ses répertoires bind/ global et local."
-#: src/LyXRC.cpp:3116
+#: src/LyXRC.cpp:3149
msgid "Select to check whether the lastfiles still exist."
msgstr "Sélectionner pour vérifier si les fichiers récents existent toujours."
-#: src/LyXRC.cpp:3120
+#: src/LyXRC.cpp:3153
msgid ""
"Define how to run chktex. E.g. \"chktex -n11 -n1 -n3 -n6 -n9 -22 -n25 -n30 -"
"n38\" Refer to the ChkTeX documentation."
@@ -30166,7 +30162,7 @@ msgstr ""
"Définir comment lancer chktex. Par ex. « chktex -n11 -n1 -n3 -n6 -n9 -n22 -"
"n25 -n30 -n38 ». Voir la documentation de ChkTeX."
-#: src/LyXRC.cpp:3127
+#: src/LyXRC.cpp:3160
msgid ""
"Forbid use of external converters with 'needauth' option to prevent "
"undesired effects."
@@ -30174,7 +30170,7 @@ msgstr ""
"Interdire l'utilisation de convertisseurs externes dotés de l'option "
"'needauth' pour éviter des effets indésirables."
-#: src/LyXRC.cpp:3131
+#: src/LyXRC.cpp:3164
msgid ""
"Ask user before calling external converters with 'needauth' option to "
"prevent undesired effects."
@@ -30182,7 +30178,7 @@ msgstr ""
"Demander à l'utilisateur avant d'appeler des convertisseurs externes dotés "
"de l'option 'needauth' pour éviter des effets indésirables."
-#: src/LyXRC.cpp:3138
+#: src/LyXRC.cpp:3171
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."
@@ -30191,7 +30187,7 @@ msgstr ""
"déplacez avec la barre de défilement. Cochez si vous préférez avoir toujours "
"le curseur à l'écran."
-#: src/LyXRC.cpp:3146
+#: src/LyXRC.cpp:3179
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 "
@@ -30201,15 +30197,15 @@ msgstr ""
"Positionnez sur « vrai » si vous préférez voir la fin du document en haut de "
"la fenêtre"
-#: src/LyXRC.cpp:3150
+#: src/LyXRC.cpp:3183
msgid "Make Apple key act as Meta and Control key as Ctrl."
msgstr "Faire agir la touche Apple comme Meta et la touche Control comme Ctrl."
-#: src/LyXRC.cpp:3154
+#: src/LyXRC.cpp:3187
msgid "Use the Mac OS X conventions for cursor movement"
msgstr "Utiliser la convention Mac OS X pour les mouvements du curseur"
-#: src/LyXRC.cpp:3158
+#: src/LyXRC.cpp:3191
msgid ""
"Show a small box around a Math Macro with the macro name when the cursor is "
"inside."
@@ -30217,7 +30213,7 @@ msgstr ""
"Afficher une petite boîte autour d'une macro mathématique avec le nom de la "
"macro quand le curseur est à l'intérieur."
-#: src/LyXRC.cpp:3162
+#: src/LyXRC.cpp:3195
msgid ""
"Command definition file. Can either specify an absolute path, or LyX will "
"look in its global and local commands/ directories."
@@ -30225,18 +30221,18 @@ msgstr ""
"Fichier de définition de commandes. Vous pouvez mettre son chemin absolu, ou "
"bien LyX cherchera dans ses répertoires commands/ global et local."
-#: src/LyXRC.cpp:3166
+#: src/LyXRC.cpp:3199
msgid ""
"The default format used with LFUN_BUFFER_[VIEW|UPDATE] with non-TeX fonts."
msgstr ""
"Format implicite utilisé avec LFUN_BUFFER_[VIEW|UPDATE] avec des polices non-"
"TeX."
-#: src/LyXRC.cpp:3170
+#: src/LyXRC.cpp:3203
msgid "The default format used with LFUN_BUFFER_[VIEW|UPDATE]."
msgstr "Format implicite utilisé avec LFUN_BUFFER_[VIEW|UPDATE]."
-#: src/LyXRC.cpp:3174
+#: src/LyXRC.cpp:3207
msgid ""
"Iconify the dialogs when the main window is iconified. (Affects only dialogs "
"shown after the change has been made.)"
@@ -30244,11 +30240,11 @@ msgstr ""
"Iconifier les fenêtres auxiliaires quand la fenêtre principale. (N'affecte "
"que les fenêtres affichées après que le changement a été fait.)"
-#: src/LyXRC.cpp:3178
+#: src/LyXRC.cpp:3211
msgid "Select how LyX will display any graphics."
msgstr "Déterminer comment LyX affiche tous les graphiques."
-#: src/LyXRC.cpp:3182
+#: src/LyXRC.cpp:3215
msgid ""
"The default path for your documents. An empty value selects the directory "
"LyX was started from."
@@ -30256,11 +30252,11 @@ msgstr ""
"Chemin implicite pour vos documents. Si la valeur est vide, ce sera le "
"répertoire dans lequel LyX a été lancé."
-#: src/LyXRC.cpp:3186
+#: src/LyXRC.cpp:3219
msgid "Specify additional chars that can be part of a word."
msgstr "Spécifier des caractères spéciaux pouvant faire partie d'un mot."
-#: src/LyXRC.cpp:3190
+#: src/LyXRC.cpp:3223
msgid ""
"The path that LyX will set when offering to choose an example. An empty "
"value selects the directory LyX was started from."
@@ -30268,7 +30264,7 @@ msgstr ""
"Chemin dans lequel LyX proposera un choix d'exemples. Si la valeur est vide, "
"ce sera le répertoire dans lequel LyX a été lancé."
-#: src/LyXRC.cpp:3197
+#: src/LyXRC.cpp:3230
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 "
@@ -30278,12 +30274,12 @@ msgstr ""
"autre compilateur. Par ex., avec xindy / make-rules, la commande serait « "
"makeindex.sh -m $$lang »."
-#: src/LyXRC.cpp:3201
+#: src/LyXRC.cpp:3234
msgid "Define the options of the index program for PLaTeX (Japanese LaTeX)."
msgstr ""
"Définir les options du programme d'indexation pour PLaTeX (LaTeX japonais)."
-#: src/LyXRC.cpp:3205
+#: src/LyXRC.cpp:3238
msgid ""
"Define the options of makeindex (cf. man makeindex) to be used for "
"nomenclatures. This might differ from the index processing options."
@@ -30291,13 +30287,13 @@ msgstr ""
"Définir les options de makeindex (cf. man makeindex) utilisées pour la liste "
"des symboles. Elles peuvent différer des options utilisées pour l'index."
-#: src/LyXRC.cpp:3209
+#: src/LyXRC.cpp:3242
msgid "The command to run the python pygments syntax highlighter."
msgstr ""
"La commande permettant d'exécuter l'accentuation de syntaxe via pygments "
"(écrit en python)."
-#: src/LyXRC.cpp:3218
+#: src/LyXRC.cpp:3251
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."
@@ -30305,18 +30301,18 @@ msgstr ""
"Choix du fichier de réaffectation clavier. Vous en avez besoin si vous tapez "
"par exemple des documents en allemand sur un clavier français."
-#: src/LyXRC.cpp:3222
+#: src/LyXRC.cpp:3255
msgid ""
"Select if a language switching command is needed at the beginning of the "
"document."
msgstr "Sélectionner s'il faut une commande de langue au début du document."
-#: src/LyXRC.cpp:3226
+#: src/LyXRC.cpp:3259
msgid ""
"Select if a language switching command is needed at the end of the document."
msgstr "Sélectionner s'il faut une commande de langue à la fin du document."
-#: src/LyXRC.cpp:3230
+#: src/LyXRC.cpp:3263
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 "
@@ -30325,15 +30321,15 @@ msgstr ""
"Commande LaTeX pour passer de la langue du document à une autre langue. Par "
"exemple \\selectlanguage{$$lang} où $$lang est le nom de la seconde langue."
-#: src/LyXRC.cpp:3234
+#: src/LyXRC.cpp:3267
msgid "The LaTeX command for changing back to the language of the document."
msgstr "Commande LaTeX pour revenir à la langue du document."
-#: src/LyXRC.cpp:3238
+#: src/LyXRC.cpp:3271
msgid "The LaTeX command for local changing of the language."
msgstr "Commande LaTeX pour un changement temporaire de langue."
-#: src/LyXRC.cpp:3242
+#: src/LyXRC.cpp:3275
msgid ""
"De-select if you don't want the language(s) used as an argument to "
"\\documentclass."
@@ -30341,7 +30337,7 @@ msgstr ""
"Désélectionner si vous ne voulez pas que la langue soit un paramètre de "
"\\documentclass."
-#: src/LyXRC.cpp:3246
+#: src/LyXRC.cpp:3279
msgid ""
"The LaTeX command for loading the language package. E.g. "
"\"\\usepackage{babel}\", \"\\usepackage{omega}\"."
@@ -30349,7 +30345,7 @@ msgstr ""
"Commande LaTeX pour charger le paquetage linguistique. Par exemple « "
"\\usepackage{babel} », « \\usepackage{omega} »."
-#: src/LyXRC.cpp:3250
+#: src/LyXRC.cpp:3283
msgid ""
"De-select if you don't want babel to be used when the language of the "
"document is the default language."
@@ -30357,24 +30353,24 @@ msgstr ""
"Désélectionner si vous ne voulez pas utiliser babel quand la langue du "
"document est la langue implicite."
-#: src/LyXRC.cpp:3254
+#: src/LyXRC.cpp:3287
msgid "De-select if you do not want LyX to scroll to saved position."
msgstr ""
"Désélectionner si vous ne voulez pas que LyX saute à la position qu'il a "
"enregistré."
-#: src/LyXRC.cpp:3258
+#: src/LyXRC.cpp:3291
msgid "De-select to prevent loading files opened from the last LyX session."
msgstr ""
"Décocher pour éviter de charger les fichiers qui étaient ouverts lors de la "
"dernière session LyX."
-#: src/LyXRC.cpp:3262
+#: src/LyXRC.cpp:3295
msgid "De-select if you don't want LyX to create backup files."
msgstr ""
"Désélectionner si vous ne voulez pas que LyX crée des copies de sauvegarde."
-#: src/LyXRC.cpp:3266
+#: src/LyXRC.cpp:3299
msgid ""
"Select to control the highlighting of words with a language foreign to that "
"of the document."
@@ -30382,33 +30378,33 @@ msgstr ""
"Sélectionner pour activer le soulignement des mots dans une langue autre que "
"celle du document."
-#: src/LyXRC.cpp:3274
+#: src/LyXRC.cpp:3307
msgid "The scrolling speed of the mouse wheel."
msgstr "Vitesse de défilement de la molette de la souris."
-#: src/LyXRC.cpp:3278
+#: src/LyXRC.cpp:3311
msgid "The completion popup delay."
msgstr "Temporisation de l'affichage de la fenêtre auxiliaire de complétion."
-#: src/LyXRC.cpp:3282
+#: src/LyXRC.cpp:3315
msgid "Select to display the completion popup in math mode."
msgstr ""
"Sélectionner pour afficher la fenêtre auxiliaire de complétion en mode "
"mathématique."
-#: src/LyXRC.cpp:3286
+#: src/LyXRC.cpp:3319
msgid "Select to display the completion popup in text mode."
msgstr ""
"Sélectionner pour afficher la fenêtre auxiliaire de complétion en mode texte."
-#: src/LyXRC.cpp:3290
+#: src/LyXRC.cpp:3323
msgid ""
"Show the completion popup without delay after non-unique completion attempt."
msgstr ""
"Afficher la fenêtre auxiliaire de complétion sans délai après une tentative "
"de complétion multiple."
-#: src/LyXRC.cpp:3294
+#: src/LyXRC.cpp:3327
msgid ""
"Show a small triangle on the cursor to indicate that a completion is "
"available."
@@ -30416,35 +30412,35 @@ msgstr ""
"Afficher un petit triangle sur le curseur pour indiquer qu'une complétion "
"est disponible."
-#: src/LyXRC.cpp:3298
+#: src/LyXRC.cpp:3331
msgid "The inline completion delay."
msgstr "Temporisation de complétion en ligne."
-#: src/LyXRC.cpp:3302
+#: src/LyXRC.cpp:3335
msgid "Select to display the inline completion in math mode."
msgstr ""
"Sélectionner pour afficher la complétion en ligne en mode mathématique."
-#: src/LyXRC.cpp:3306
+#: src/LyXRC.cpp:3339
msgid "Select to display the inline completion in text mode."
msgstr "Sélectionner pour afficher la complétion en ligne en mode texte."
-#: src/LyXRC.cpp:3310
+#: src/LyXRC.cpp:3343
msgid "Use \"...\" to shorten long completions."
msgstr "Utiliser \"...\" pour raccourcir le complétions longues."
-#: src/LyXRC.cpp:3314
+#: src/LyXRC.cpp:3347
msgid "Allow TeXMacs shorthand, like => converting to \\Rightarrow."
msgstr "Autoriser les raccourcis TeXMacs, comme => convertie en \\Rightarrow."
-#: src/LyXRC.cpp:3318
+#: src/LyXRC.cpp:3351
#, c-format
msgid "Maximal number of lastfiles. Up to %1$d can appear in the file menu."
msgstr ""
"Nombre maximum de fichiers récents. On peut en avoir jusqu'à %1$d dans le "
"menu Fichier."
-#: src/LyXRC.cpp:3323
+#: src/LyXRC.cpp:3356
msgid ""
"Specify those directories which should be prepended to the PATH environment "
"variable.\n"
@@ -30454,41 +30450,41 @@ msgstr ""
"d'environnement PATH.\n"
"Utiliser le format natif du système d'exploitation."
-#: src/LyXRC.cpp:3329
+#: src/LyXRC.cpp:3362
msgid "Shows a typeset preview of things such as math"
msgstr ""
"Afficher un aperçu de l'aspect final de certains éléments comme les math"
-#: src/LyXRC.cpp:3333
+#: src/LyXRC.cpp:3366
msgid "Previewed equations will have \"(#)\" labels rather than numbered ones"
msgstr ""
"Les équations en aperçu auront des étiquettes « (#) » au lieu d'avoir des "
"numéros"
-#: src/LyXRC.cpp:3337
+#: src/LyXRC.cpp:3370
msgid "Scale the preview size to suit."
msgstr "Mettre l'aperçu à l'échelle pour qu'il tienne à l'écran."
-#: src/LyXRC.cpp:3341
+#: src/LyXRC.cpp:3374
msgid "The option to print out in landscape."
msgstr "Option pour imprimer en format paysage."
-#: src/LyXRC.cpp:3345
+#: src/LyXRC.cpp:3378
msgid "Option to specify the dimensions of the print paper."
msgstr "Option pour spécifier les dimensions du papier."
-#: src/LyXRC.cpp:3349
+#: src/LyXRC.cpp:3382
msgid "The option to specify paper type."
msgstr "Option pour spécifier le type de papier."
-#: src/LyXRC.cpp:3353
+#: src/LyXRC.cpp:3386
msgid ""
"Select to have visual bidi cursor movement, unselect for logical movement."
msgstr ""
"Sélectionner pour avoir un mouvement visuel de curseur bidirectionnel, "
"désélectionner pour un mouvement logique."
-#: src/LyXRC.cpp:3357
+#: src/LyXRC.cpp:3390
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)."
@@ -30496,7 +30492,7 @@ msgstr ""
"Spécifier si, en fermant la dernière vue d'un document ouvert, LyX doit "
"fermer le document (fermer), le cacher (cacher), ou demander (demander)."
-#: src/LyXRC.cpp:3361
+#: src/LyXRC.cpp:3394
msgid ""
"DPI (dots per inch) of your monitor is auto-detected by LyX. If that goes "
"wrong, override the setting here."
@@ -30504,12 +30500,12 @@ msgstr ""
"LyX détecte tout seul la résolution de votre moniteur en DPI (points par "
"pouce). Si ça ne va pas, changez le réglage ici."
-#: src/LyXRC.cpp:3367
+#: src/LyXRC.cpp:3400
msgid "The screen fonts used to display the text while editing."
msgstr ""
"Polices d'écran dans lesquelles s'affiche le texte en cours de modification."
-#: src/LyXRC.cpp:3376
+#: src/LyXRC.cpp:3409
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 "
@@ -30520,12 +30516,12 @@ msgstr ""
"dans LyX. Si vous décochez cette option, LyX utilise la police bitmap de "
"taille la plus proche disponible, au lieu de la mettre à l'échelle."
-#: src/LyXRC.cpp:3380
+#: src/LyXRC.cpp:3413
msgid "The font sizes used for calculating the scaling of the screen fonts."
msgstr ""
"Tailles de police utilisées pour calculer l'ajustement des polices d'écran."
-#: src/LyXRC.cpp:3385
+#: src/LyXRC.cpp:3418
#, no-c-format
msgid ""
"The zoom percentage for screen fonts. A setting of 100% will make the fonts "
@@ -30534,13 +30530,13 @@ msgstr ""
"Facteur d'agrandissement des polices d'écran. Avec 100% les polices feront à "
"peu près la même taille que sur le papier."
-#: src/LyXRC.cpp:3389
+#: src/LyXRC.cpp:3422
msgid "Allow session manager to save and restore windows geometry."
msgstr ""
"Permettre au gestionnaire de session d'enregistrer et de restaurer la "
"position des fenêtres."
-#: src/LyXRC.cpp:3393
+#: src/LyXRC.cpp:3426
msgid ""
"This starts the lyxserver. The pipes get an additional extension \".in\" and "
"\".out\". Only for advanced users."
@@ -30548,11 +30544,11 @@ msgstr ""
"Démarrer le serveur LyX. Les tubes reçoivent le suffixe supplémentaire « .in "
"» et « .out ». Réservé aux utilisateurs expérimentés."
-#: src/LyXRC.cpp:3400
+#: src/LyXRC.cpp:3433
msgid "De-select if you don't want the startup banner."
msgstr "Désélectionner pour inhiber la bannière de démarrage."
-#: src/LyXRC.cpp:3404
+#: src/LyXRC.cpp:3437
msgid ""
"LyX will place its temporary directories in this path. They will be deleted "
"when you quit LyX."
@@ -30560,12 +30556,12 @@ msgstr ""
"LyX mettra ses répertoires temporaires ici. Ils seront supprimés quand vous "
"quitterez LyX."
-#: src/LyXRC.cpp:3408
+#: src/LyXRC.cpp:3441
msgid "This is the place where the files of the thesaurus library reside."
msgstr ""
"C'est l'endroit où résident les fichiers du dictionnaire des synonymes."
-#: src/LyXRC.cpp:3412
+#: src/LyXRC.cpp:3445
msgid ""
"The path that LyX will set when offering to choose a template. An empty "
"value selects the directory LyX was started from."
@@ -30573,7 +30569,7 @@ msgstr ""
"Chemin dans lequel LyX va chercher les modèles. Si la valeur est vide, ce "
"sera le répertoire dans lequel LyX a été lancé."
-#: src/LyXRC.cpp:3422
+#: src/LyXRC.cpp:3455
msgid ""
"Specify those directories which should be prepended to the TEXINPUTS "
"environment variable.\n"
@@ -30584,7 +30580,7 @@ msgstr ""
"Un « . » désigne le répertoire courant. Utiliser le format natif du système "
"d'exploitation."
-#: src/LyXRC.cpp:3429
+#: src/LyXRC.cpp:3462
msgid ""
"The UI (user interface) file. Can either specify an absolute path, or LyX "
"will look in its global and local ui/ directories."
@@ -30592,7 +30588,7 @@ msgstr ""
"Fichier d'interface utilisateur (UI). Vous pouvez mettre son chemin absolu, "
"ou bien LyX cherchera dans ses répertoires ui/ global et local."
-#: src/LyXRC.cpp:3439
+#: src/LyXRC.cpp:3472
msgid ""
"Enable use the system colors for some things like main window background and "
"selection."
@@ -30600,12 +30596,12 @@ msgstr ""
"Activer les couleurs du système pour quelques objets comme la fenêtre "
"principale et la sélection."
-#: src/LyXRC.cpp:3443
+#: src/LyXRC.cpp:3476
msgid "Enable the automatic appearance of tool tips in the work area."
msgstr ""
"Activer l'affichage automatique des bulles d'aide dans la zone de travail."
-#: src/LyXRC.cpp:3447
+#: src/LyXRC.cpp:3480
msgid "Specify the paper command to DVI viewer (leave empty or use \"-paper\")"
msgstr ""
"Spécifier la commande de papier de la visionneuse DVI (laisser vide ou "
@@ -30656,7 +30652,7 @@ msgstr "LyX VC : message de journal"
msgid "(no log message)"
msgstr "(aucun message de journal)"
-#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3809
+#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3839
msgid "LyX VC: Log Message"
msgstr "LyX VC : Message de journal"
@@ -30677,7 +30673,7 @@ msgstr ""
msgid "Revert to stored version of document?"
msgstr "Revenir à la version enregistrée du document ?"
-#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4393
+#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4423
msgid "&Revert"
msgstr "&Revenir à la Sauvegarde"
@@ -30814,40 +30810,40 @@ msgstr "Déjà en mode « expression régulière »"
msgid "Regexp editor mode"
msgstr "Mode « expression régulière »"
-#: src/Text3.cpp:1601
+#: src/Text3.cpp:1602
msgid "Layout "
msgstr "Environnement "
-#: src/Text3.cpp:1602 src/Text3.cpp:2172
+#: src/Text3.cpp:1603 src/Text3.cpp:2173
msgid " not known"
msgstr " inconnu"
-#: src/Text3.cpp:2171
+#: src/Text3.cpp:2172
msgid "Table Style "
msgstr "Style de tableau "
-#: src/Text3.cpp:2364 src/frontends/qt/GuiApplication.cpp:1873
+#: src/Text3.cpp:2365 src/frontends/qt/GuiApplication.cpp:1873
msgid "Missing argument"
msgstr "Paramètre manquant"
-#: src/Text3.cpp:2533
+#: src/Text3.cpp:2534
msgid "Invalid argument (number exceeds stack size)!"
msgstr "Argument invalide (le nombre est supérieur à la taille de la pile) !"
-#: src/Text3.cpp:2537
+#: src/Text3.cpp:2538
msgid "Invalid argument (must be a non-negative number)!"
msgstr "Argument invalide (nombre non négatif obligatoire)"
-#: src/Text3.cpp:2542 src/Text3.cpp:2560
+#: src/Text3.cpp:2543 src/Text3.cpp:2561
#, c-format
msgid "Text properties applied: %1$s"
msgstr "Propriétés du texte appliquées : %1$s"
-#: src/Text3.cpp:2719
+#: src/Text3.cpp:2720
msgid "Path to thesaurus directory not set!"
msgstr "Chemin d'accès au répertoire du thésaurus non précisé !"
-#: src/Text3.cpp:2720
+#: src/Text3.cpp:2721
msgid ""
"The path to the thesaurus directory has not been specified.\n"
"The thesaurus is not functional.\n"
@@ -30859,7 +30855,7 @@ msgstr ""
"Se référer au Guide de l'utilisateur, section 6.15.1, pour\n"
"les instructions de réglage."
-#: src/Text3.cpp:2854 src/Text3.cpp:2865
+#: src/Text3.cpp:2847 src/Text3.cpp:2858
msgid "Paragraph layout set"
msgstr "Style du paragraphe redéfini"
@@ -31037,7 +31033,7 @@ msgstr "Vérifiez si le paquetage RCS GNU est installé sur votre système."
#: src/VCBackend.cpp:934 src/VCBackend.cpp:993 src/VCBackend.cpp:1052
#: src/VCBackend.cpp:1060 src/VCBackend.cpp:1348 src/VCBackend.cpp:1450
#: src/VCBackend.cpp:1456 src/VCBackend.cpp:1479 src/VCBackend.cpp:1964
-#: src/frontends/qt/GuiView.cpp:3725 src/frontends/qt/GuiView.cpp:3768
+#: src/frontends/qt/GuiView.cpp:3755 src/frontends/qt/GuiView.cpp:3798
msgid "Revision control error."
msgstr "Erreur de contrôle de version."
@@ -31230,14 +31226,14 @@ msgstr ""
"Poursuivre ?"
#: src/VCBackend.cpp:1522 src/VCBackend.cpp:1526
-#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1891
+#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1895
#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:351
#: src/lyxfind.cpp:694 src/lyxfind.cpp:722
msgid "&Yes"
msgstr "&Oui"
#: src/VCBackend.cpp:1522 src/VCBackend.cpp:1526
-#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1891
+#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1895
#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:351
#: src/lyxfind.cpp:694 src/lyxfind.cpp:722
msgid "&No"
@@ -31292,7 +31288,7 @@ msgstr ""
"Le document %1$s est déjà chargé et a été modifié.\n"
"Voulez-vous revenir à la version enregistrée et ignorer vos modifications ?"
-#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4384
+#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4414
msgid "Reload saved document?"
msgstr "Revenir à la sauvegarde ?"
@@ -31378,7 +31374,7 @@ msgid "Cancel"
msgstr "Annuler"
#: src/frontends/qt/ButtonController.cpp:224
-#: src/frontends/qt/GuiCompare.cpp:191 src/frontends/qt/GuiDelimiter.cpp:412
+#: src/frontends/qt/GuiCompare.cpp:191 src/frontends/qt/GuiDelimiter.cpp:413
#: src/frontends/qt/GuiSymbols.cpp:348
msgid "Close"
msgstr "Fermer"
@@ -31476,8 +31472,8 @@ msgstr ""
"Entrée)"
#: src/frontends/qt/FloatPlacement.cpp:182
-#: src/frontends/qt/GuiDocument.cpp:1149 src/frontends/qt/GuiDocument.cpp:2717
-#: src/frontends/qt/GuiDocument.cpp:2744
+#: src/frontends/qt/GuiDocument.cpp:1149 src/frontends/qt/GuiDocument.cpp:2721
+#: src/frontends/qt/GuiDocument.cpp:2748
msgid "Class Default"
msgstr "Valeurs implicites de la classe"
@@ -31600,7 +31596,7 @@ msgstr "Ã propos de LyX"
msgid "About %1"
msgstr "Ã propos de %1"
-#: src/frontends/qt/GuiApplication.cpp:737 src/frontends/qt/GuiPrefs.cpp:3524
+#: src/frontends/qt/GuiApplication.cpp:737 src/frontends/qt/GuiPrefs.cpp:3528
msgid "Preferences"
msgstr "Préférences"
@@ -31654,7 +31650,7 @@ msgstr "Commande désactivée"
msgid "Bad debug value `%1$s'."
msgstr "Valeur de débogage incorrecte « %1$s »."
-#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2163
+#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2192
msgid "Command not allowed without a buffer open"
msgstr "Commande non autorisée si aucun tampon n'est ouvert"
@@ -31747,16 +31743,16 @@ msgstr "Les valeurs implicites du document ont été enregistrées dans %1$s"
msgid "Unable to save document defaults"
msgstr "Impossible d'enregistrer les valeurs implicites du document"
-#: src/frontends/qt/GuiApplication.cpp:2468
-#: src/frontends/qt/GuiApplication.cpp:2483
+#: src/frontends/qt/GuiApplication.cpp:2474
+#: src/frontends/qt/GuiApplication.cpp:2489
msgid "Unknown function."
msgstr "Fonction inconnue."
-#: src/frontends/qt/GuiApplication.cpp:3001
+#: src/frontends/qt/GuiApplication.cpp:3024
msgid "The current document was closed."
msgstr "Le document courant était fermé."
-#: src/frontends/qt/GuiApplication.cpp:3011
+#: src/frontends/qt/GuiApplication.cpp:3034
msgid ""
"LyX has caught an exception, it will now attempt to save all unsaved "
"documents and exit.\n"
@@ -31768,12 +31764,12 @@ msgstr ""
"\n"
"Exception : "
-#: src/frontends/qt/GuiApplication.cpp:3015
-#: src/frontends/qt/GuiApplication.cpp:3021
+#: src/frontends/qt/GuiApplication.cpp:3038
+#: src/frontends/qt/GuiApplication.cpp:3044
msgid "Software exception Detected"
msgstr "Détection d'une exception logicielle"
-#: src/frontends/qt/GuiApplication.cpp:3019
+#: src/frontends/qt/GuiApplication.cpp:3042
msgid ""
"LyX has caught some really weird exception, it will now attempt to save all "
"unsaved documents and exit."
@@ -31781,12 +31777,12 @@ msgstr ""
"LyX a reçu une exception vraiment sérieuse, il va maintenant essayer "
"d'enregistrer tous les documents en cours de modification avant de quitter."
-#: src/frontends/qt/GuiApplication.cpp:3325
-#: src/frontends/qt/GuiApplication.cpp:3337
+#: src/frontends/qt/GuiApplication.cpp:3348
+#: src/frontends/qt/GuiApplication.cpp:3360
msgid "Could not find UI definition file"
msgstr "Fichier descriptif d'interface utilisateur introuvable"
-#: src/frontends/qt/GuiApplication.cpp:3326
+#: src/frontends/qt/GuiApplication.cpp:3349
#, c-format
msgid ""
"Error while reading the included file\n"
@@ -31797,11 +31793,11 @@ msgstr ""
"%1$s.\n"
"Veuillez vérifier votre installation."
-#: src/frontends/qt/GuiApplication.cpp:3332
+#: src/frontends/qt/GuiApplication.cpp:3355
msgid "Could not find default UI file"
msgstr "Fichier interface utilisateur implicite introuvable"
-#: src/frontends/qt/GuiApplication.cpp:3333
+#: src/frontends/qt/GuiApplication.cpp:3356
msgid ""
"LyX could not find the default UI file!\n"
"Please check your installation."
@@ -31809,7 +31805,7 @@ msgstr ""
"LyX n'a pu trouver le fichier interface utilisateur implicite !\n"
"Veuillez vérifier votre installation."
-#: src/frontends/qt/GuiApplication.cpp:3338
+#: src/frontends/qt/GuiApplication.cpp:3361
#, c-format
msgid ""
"Error while reading the configuration file\n"
@@ -31918,12 +31914,12 @@ msgstr "toutes les entités de références"
#: src/frontends/qt/GuiBibtex.cpp:456 src/frontends/qt/GuiBibtex.cpp:466
#: src/frontends/qt/GuiCompare.cpp:163 src/frontends/qt/GuiCompare.cpp:167
-#: src/frontends/qt/GuiDocument.cpp:2895 src/frontends/qt/GuiExternal.cpp:677
-#: src/frontends/qt/GuiGraphics.cpp:789 src/frontends/qt/GuiInclude.cpp:380
+#: src/frontends/qt/GuiDocument.cpp:2899 src/frontends/qt/GuiExternal.cpp:677
+#: src/frontends/qt/GuiGraphics.cpp:826 src/frontends/qt/GuiInclude.cpp:380
#: src/frontends/qt/GuiLyXFiles.cpp:368 src/frontends/qt/GuiLyXFiles.cpp:374
-#: src/frontends/qt/GuiView.cpp:2575 src/frontends/qt/GuiView.cpp:2634
-#: src/frontends/qt/GuiView.cpp:2774 src/frontends/qt/GuiView.cpp:2908
-#: src/frontends/qt/GuiView.cpp:3028 src/frontends/qt/GuiView.cpp:3150
+#: src/frontends/qt/GuiView.cpp:2605 src/frontends/qt/GuiView.cpp:2664
+#: src/frontends/qt/GuiView.cpp:2804 src/frontends/qt/GuiView.cpp:2938
+#: src/frontends/qt/GuiView.cpp:3058 src/frontends/qt/GuiView.cpp:3180
msgid "D&ocuments"
msgstr "Documents|u"
@@ -32005,7 +32001,7 @@ msgid "Filename Suffix"
msgstr "Suffixe du fichier"
#: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:149
-#: src/frontends/qt/GuiDocument.cpp:3331 src/frontends/qt/GuiDocument.cpp:4626
+#: src/frontends/qt/GuiDocument.cpp:3335 src/frontends/qt/GuiDocument.cpp:4630
#: src/frontends/qt/GuiProgressView.cpp:144
#: src/frontends/qt/GuiProgressView.cpp:158
#: src/frontends/qt/GuiProgressView.cpp:179
@@ -32013,8 +32009,8 @@ msgid "Yes"
msgstr "Oui"
#: src/frontends/qt/GuiBranches.cpp:135 src/frontends/qt/GuiBranches.cpp:149
-#: src/frontends/qt/GuiDocument.cpp:3330 src/frontends/qt/GuiDocument.cpp:3957
-#: src/frontends/qt/GuiDocument.cpp:4625
+#: src/frontends/qt/GuiDocument.cpp:3334 src/frontends/qt/GuiDocument.cpp:3961
+#: src/frontends/qt/GuiDocument.cpp:4629
#: src/frontends/qt/GuiProgressView.cpp:110
#: src/frontends/qt/GuiProgressView.cpp:143
#: src/frontends/qt/GuiProgressView.cpp:179
@@ -32283,10 +32279,10 @@ msgstr "Fichiers %1$s"
msgid "Choose a filename to save the pasted graphic as"
msgstr "Choisir le nom de fichier sous lequel enregistrer le graphique collé"
-#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2652
-#: src/frontends/qt/GuiView.cpp:2793 src/frontends/qt/GuiView.cpp:2809
-#: src/frontends/qt/GuiView.cpp:2821 src/frontends/qt/GuiView.cpp:2838
-#: src/frontends/qt/GuiView.cpp:2923 src/frontends/qt/GuiView.cpp:4356
+#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2682
+#: src/frontends/qt/GuiView.cpp:2823 src/frontends/qt/GuiView.cpp:2839
+#: src/frontends/qt/GuiView.cpp:2851 src/frontends/qt/GuiView.cpp:2868
+#: src/frontends/qt/GuiView.cpp:2953 src/frontends/qt/GuiView.cpp:4386
msgid "Canceled."
msgstr "Annulé."
@@ -32316,8 +32312,8 @@ msgid "Select document"
msgstr "Sélectionner le document"
#: src/frontends/qt/GuiCompare.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:367
-#: src/frontends/qt/GuiView.cpp:2579 src/frontends/qt/GuiView.cpp:2638
-#: src/frontends/qt/GuiView.cpp:2912 src/frontends/qt/GuiView.cpp:3039
+#: src/frontends/qt/GuiView.cpp:2609 src/frontends/qt/GuiView.cpp:2668
+#: src/frontends/qt/GuiView.cpp:2942 src/frontends/qt/GuiView.cpp:3069
msgid "LyX Documents (*.lyx)"
msgstr "Documents LyX (*.lyx)"
@@ -32369,15 +32365,15 @@ msgstr "Bigg"
msgid "Math Delimiter"
msgstr "Délimiteurs mathématiques"
-#: src/frontends/qt/GuiDelimiter.cpp:271 src/frontends/qt/GuiDelimiter.cpp:274
+#: src/frontends/qt/GuiDelimiter.cpp:272 src/frontends/qt/GuiDelimiter.cpp:275
msgid "(None)"
msgstr "(Aucun)"
-#: src/frontends/qt/GuiDelimiter.cpp:272 src/frontends/qt/GuiDelimiter.cpp:275
+#: src/frontends/qt/GuiDelimiter.cpp:273 src/frontends/qt/GuiDelimiter.cpp:276
msgid "No Delimiter"
msgstr "Sans délimiteur"
-#: src/frontends/qt/GuiDelimiter.cpp:280
+#: src/frontends/qt/GuiDelimiter.cpp:281
msgid "Variable"
msgstr "Variable"
@@ -32692,7 +32688,7 @@ msgstr "Les paquetages LaTeX AMS ne sont jamais utilisés"
msgid "The LaTeX package %1$s is never used"
msgstr "Le paquetage LaTeX %1$s n'est jamais utilisé"
-#: src/frontends/qt/GuiDocument.cpp:1605 src/frontends/qt/GuiDocument.cpp:2874
+#: src/frontends/qt/GuiDocument.cpp:1605 src/frontends/qt/GuiDocument.cpp:2878
#, c-format
msgid "%1$s [Class '%2$s']"
msgstr "%1$s [classe « %2$s »]"
@@ -32732,7 +32728,7 @@ msgstr "Format du texte"
msgid "Page Margins"
msgstr "Marges"
-#: src/frontends/qt/GuiDocument.cpp:1778 src/frontends/qt/GuiPrefs.cpp:1076
+#: src/frontends/qt/GuiDocument.cpp:1778 src/frontends/qt/GuiPrefs.cpp:1080
msgid "Colors"
msgstr "Couleurs"
@@ -32802,9 +32798,9 @@ msgstr "Direct (pas de recours à inputenc)"
msgid "Direct (XeTeX/LuaTeX)"
msgstr "Direct (XeTeX/LuaTeX)"
-#: src/frontends/qt/GuiDocument.cpp:2647 src/frontends/qt/GuiDocument.cpp:4301
-#: src/frontends/qt/GuiDocument.cpp:4310 src/frontends/qt/GuiDocument.cpp:4319
-#: src/frontends/qt/GuiDocument.cpp:4328
+#: src/frontends/qt/GuiDocument.cpp:2647 src/frontends/qt/GuiDocument.cpp:4305
+#: src/frontends/qt/GuiDocument.cpp:4314 src/frontends/qt/GuiDocument.cpp:4323
+#: src/frontends/qt/GuiDocument.cpp:4332
msgid " (not installed)"
msgstr " (pas installé)"
@@ -32820,19 +32816,19 @@ msgstr " (indisponible)"
msgid "Class Default (TeX Fonts)"
msgstr "Valeurs implicites de la classe (polices TeX)"
-#: src/frontends/qt/GuiDocument.cpp:2826
+#: src/frontends/qt/GuiDocument.cpp:2830
msgid "Lay&outs"
msgstr "Forma&t|"
-#: src/frontends/qt/GuiDocument.cpp:2828
+#: src/frontends/qt/GuiDocument.cpp:2832
msgid "LyX Layout (*.layout)"
msgstr "Formats LyX (*.layout)"
-#: src/frontends/qt/GuiDocument.cpp:2830 src/frontends/qt/GuiDocument.cpp:2839
+#: src/frontends/qt/GuiDocument.cpp:2834 src/frontends/qt/GuiDocument.cpp:2843
msgid "Local layout file"
msgstr "Fichier de format local"
-#: src/frontends/qt/GuiDocument.cpp:2840
+#: src/frontends/qt/GuiDocument.cpp:2844
msgid ""
"The layout file you have selected is a local layout\n"
"file, not one in the system or user directory.\n"
@@ -32845,33 +32841,33 @@ msgstr ""
"Votre document ne peut pas fonctionner avec ce format si vous\n"
"déplacez le fichier de format un répertoire différent."
-#: src/frontends/qt/GuiDocument.cpp:2844
+#: src/frontends/qt/GuiDocument.cpp:2848
msgid "&Set Layout"
msgstr "&Sélectionner le format"
-#: src/frontends/qt/GuiDocument.cpp:2858
+#: src/frontends/qt/GuiDocument.cpp:2862
msgid "Unable to read local layout file."
msgstr "Ãchec de la lecture d'un fichier de format local."
-#: src/frontends/qt/GuiDocument.cpp:2875
+#: src/frontends/qt/GuiDocument.cpp:2879
msgid "This is a local layout file."
msgstr "Ceci est un fichier de format local."
-#: src/frontends/qt/GuiDocument.cpp:2889
+#: src/frontends/qt/GuiDocument.cpp:2893
msgid "Select master document"
msgstr "Sélectionner le document maître"
-#: src/frontends/qt/GuiDocument.cpp:2893
+#: src/frontends/qt/GuiDocument.cpp:2897
msgid "LyX Files (*.lyx)"
msgstr "Documents LyX (*.lyx)"
-#: src/frontends/qt/GuiDocument.cpp:2917 src/frontends/qt/GuiDocument.cpp:3218
-#: src/frontends/qt/GuiDocument.cpp:4817
+#: src/frontends/qt/GuiDocument.cpp:2921 src/frontends/qt/GuiDocument.cpp:3222
+#: src/frontends/qt/GuiDocument.cpp:4821
msgid "Unapplied changes"
msgstr "Modifications non appliquées"
-#: src/frontends/qt/GuiDocument.cpp:2918 src/frontends/qt/GuiDocument.cpp:3219
-#: src/frontends/qt/GuiDocument.cpp:4818
+#: src/frontends/qt/GuiDocument.cpp:2922 src/frontends/qt/GuiDocument.cpp:3223
+#: src/frontends/qt/GuiDocument.cpp:4822
msgid ""
"Some changes in the dialog were not yet applied.\n"
"If you do not apply now, they will be lost after this action."
@@ -32879,86 +32875,86 @@ msgstr ""
"Certaines modifications dans le dialogue n'ont pas encore été appliquées. Si "
"vous ne la appliquez pas maintenant, elles seront perdues après cette action."
-#: src/frontends/qt/GuiDocument.cpp:2920 src/frontends/qt/GuiDocument.cpp:3221
-#: src/frontends/qt/GuiDocument.cpp:4820
+#: src/frontends/qt/GuiDocument.cpp:2924 src/frontends/qt/GuiDocument.cpp:3225
+#: src/frontends/qt/GuiDocument.cpp:4824
msgid "&Apply"
msgstr "&Appliquer"
-#: src/frontends/qt/GuiDocument.cpp:2920 src/frontends/qt/GuiDocument.cpp:3221
-#: src/frontends/qt/GuiDocument.cpp:4820
+#: src/frontends/qt/GuiDocument.cpp:2924 src/frontends/qt/GuiDocument.cpp:3225
+#: src/frontends/qt/GuiDocument.cpp:4824
msgid "&Dismiss"
msgstr "Aban&donner"
-#: src/frontends/qt/GuiDocument.cpp:2931 src/frontends/qt/GuiDocument.cpp:4828
+#: src/frontends/qt/GuiDocument.cpp:2935 src/frontends/qt/GuiDocument.cpp:4832
msgid "Unable to set document class."
msgstr "Impossible d'appliquer la classe du document."
-#: src/frontends/qt/GuiDocument.cpp:3097
+#: src/frontends/qt/GuiDocument.cpp:3101
msgid "Basic numerical"
msgstr "Numérique de base"
-#: src/frontends/qt/GuiDocument.cpp:3100
+#: src/frontends/qt/GuiDocument.cpp:3104
msgid "Author-year"
msgstr "Auteur-année"
-#: src/frontends/qt/GuiDocument.cpp:3103
+#: src/frontends/qt/GuiDocument.cpp:3107
msgid "Author-number"
msgstr "Auteur-numéro"
-#: src/frontends/qt/GuiDocument.cpp:3143
+#: src/frontends/qt/GuiDocument.cpp:3147
#, c-format
msgid "%1$s and %2$s"
msgstr "%1$s et %2$s"
-#: src/frontends/qt/GuiDocument.cpp:3150
+#: src/frontends/qt/GuiDocument.cpp:3154
#, c-format
msgid "%1$s, %2$s"
msgstr "%1$s, %2$s"
-#: src/frontends/qt/GuiDocument.cpp:3155
+#: src/frontends/qt/GuiDocument.cpp:3159
#, c-format
msgid "%1$s, %2$s, and %3$s"
msgstr "%1$s, %2$s and %3$s"
-#: src/frontends/qt/GuiDocument.cpp:3169
+#: src/frontends/qt/GuiDocument.cpp:3173
#, c-format
msgid "%1$s (unavailable)"
msgstr "%1$s (indisponible)"
-#: src/frontends/qt/GuiDocument.cpp:3268
+#: src/frontends/qt/GuiDocument.cpp:3272
msgid "Module provided by document class."
msgstr "Module fourni par la classe de document."
-#: src/frontends/qt/GuiDocument.cpp:3276
+#: src/frontends/qt/GuiDocument.cpp:3280
#, c-format
msgid "<p><b>Category:</b> %1$s.</p>"
msgstr "<p><b>Categorie :</b> %1$s.</p>"
-#: src/frontends/qt/GuiDocument.cpp:3286
+#: src/frontends/qt/GuiDocument.cpp:3290
#, c-format
msgid "<p><b>Package(s) required:</b> %1$s.</p>"
msgstr "<p><b>Paquetage(s) requis : </b> %1$s.</p>"
-#: src/frontends/qt/GuiDocument.cpp:3292
+#: src/frontends/qt/GuiDocument.cpp:3296
msgid "or"
msgstr "ou"
-#: src/frontends/qt/GuiDocument.cpp:3295
+#: src/frontends/qt/GuiDocument.cpp:3299
#, c-format
msgid "<p><b>Modules required:</b> %1$s.</p>"
msgstr "<p><b>Modules requis : </b> %1$s.</p>"
-#: src/frontends/qt/GuiDocument.cpp:3304
+#: src/frontends/qt/GuiDocument.cpp:3308
#, c-format
msgid "<p><b>Modules excluded:</b> %1$s.</p>"
msgstr "<p><b>Modules exclus : </b> %1$s.</p>"
-#: src/frontends/qt/GuiDocument.cpp:3309
+#: src/frontends/qt/GuiDocument.cpp:3313
#, c-format
msgid "<p><b>Filename:</b> <tt>%1$s.module</tt>.</p>"
msgstr "<p><b>Nom de fichier : </b> <tt>%1$s.module</tt>.</p>"
-#: src/frontends/qt/GuiDocument.cpp:3314
+#: src/frontends/qt/GuiDocument.cpp:3318
msgid ""
"<p><font color=red><b>WARNING: Some required packages are unavailable!</b></"
"font></p>"
@@ -32966,61 +32962,61 @@ msgstr ""
"<p><font color=red><b>AVERTISSEMENT : certains paquetages requis ne sont pas "
"disponibles !</b></font></p>"
-#: src/frontends/qt/GuiDocument.cpp:3959
+#: src/frontends/qt/GuiDocument.cpp:3963
msgid "per part"
msgstr "par partie"
-#: src/frontends/qt/GuiDocument.cpp:3961
+#: src/frontends/qt/GuiDocument.cpp:3965
msgid "per chapter"
msgstr "par chapitre"
-#: src/frontends/qt/GuiDocument.cpp:3963
+#: src/frontends/qt/GuiDocument.cpp:3967
msgid "per section"
msgstr "par section"
-#: src/frontends/qt/GuiDocument.cpp:3965
+#: src/frontends/qt/GuiDocument.cpp:3969
msgid "per subsection"
msgstr "par sous-section"
-#: src/frontends/qt/GuiDocument.cpp:3966
+#: src/frontends/qt/GuiDocument.cpp:3970
msgid "per child document"
msgstr "par sous-document"
-#: src/frontends/qt/GuiDocument.cpp:3993
+#: src/frontends/qt/GuiDocument.cpp:3997
#, c-format
msgid "%1$s (not available)"
msgstr "%1$s (indisponible)"
-#: src/frontends/qt/GuiDocument.cpp:4221
+#: src/frontends/qt/GuiDocument.cpp:4225
msgid "[No options predefined]"
msgstr "[Aucune option prédéfinie]"
-#: src/frontends/qt/GuiDocument.cpp:4488
+#: src/frontends/qt/GuiDocument.cpp:4492
msgid "C&ustomize Hyperref Options"
msgstr "Personnaliser les options h&yperref"
-#: src/frontends/qt/GuiDocument.cpp:4490
+#: src/frontends/qt/GuiDocument.cpp:4494
msgid "&Use Hyperref Support"
msgstr "&Utiliser le support pour hyperref"
-#: src/frontends/qt/GuiDocument.cpp:4840
+#: src/frontends/qt/GuiDocument.cpp:4844
msgid "Can't set layout!"
msgstr "Impossible d'appliquer le format !"
-#: src/frontends/qt/GuiDocument.cpp:4841
+#: src/frontends/qt/GuiDocument.cpp:4845
#, c-format
msgid "Unable to set layout for ID: %1$s"
msgstr "Impossible d'appliquer le format pour ID : %1$s"
-#: src/frontends/qt/GuiDocument.cpp:4944
+#: src/frontends/qt/GuiDocument.cpp:4948
msgid "Not Found"
msgstr "Introuvable"
-#: src/frontends/qt/GuiDocument.cpp:5006
+#: src/frontends/qt/GuiDocument.cpp:5010
msgid "Assigned master does not include this file"
msgstr "Le document maître désigné n'inclut pas ce fichier"
-#: src/frontends/qt/GuiDocument.cpp:5007
+#: src/frontends/qt/GuiDocument.cpp:5011
#, c-format
msgid ""
"You must include this file in the document\n"
@@ -33031,11 +33027,11 @@ msgstr ""
"%1$s' pour pouvoir utiliser les fonctionnalités\n"
"« document maître »."
-#: src/frontends/qt/GuiDocument.cpp:5011
+#: src/frontends/qt/GuiDocument.cpp:5015
msgid "Could not load master"
msgstr "Chargement du document maître impossible"
-#: src/frontends/qt/GuiDocument.cpp:5012
+#: src/frontends/qt/GuiDocument.cpp:5016
#, c-format
msgid ""
"The master document '%1$s'\n"
@@ -33044,23 +33040,23 @@ msgstr ""
"Le document maître %1$s\n"
" n'a pas pu être chargé."
-#: src/frontends/qt/GuiDocument.cpp:5162
+#: src/frontends/qt/GuiDocument.cpp:5166
msgid "%1 (missing req.)"
msgstr "%1 (req. manquante)"
-#: src/frontends/qt/GuiDocument.cpp:5174
+#: src/frontends/qt/GuiDocument.cpp:5178
msgid "personal module"
msgstr "module personnel"
-#: src/frontends/qt/GuiDocument.cpp:5174
+#: src/frontends/qt/GuiDocument.cpp:5178
msgid "distributed module"
msgstr "module distribué"
-#: src/frontends/qt/GuiDocument.cpp:5175
+#: src/frontends/qt/GuiDocument.cpp:5179
msgid "<b>Module name:</b> <i>%1</i> (%2)"
msgstr "<b>Nom du module : </b> <i>%1</i> (%2)"
-#: src/frontends/qt/GuiDocument.cpp:5181
+#: src/frontends/qt/GuiDocument.cpp:5185
msgid "<b>Note:</b> Some requirements for this module are missing!"
msgstr "<b>Nota :</b> certains éléments pour ce module sont manquants !"
@@ -33195,43 +33191,43 @@ msgstr "Groupe déjà défini !"
msgid "A graphics group with the name '%1$s' already exists."
msgstr "Un groupe de graphiques dénommé '%1$s' existe déjà ."
-#: src/frontends/qt/GuiGraphics.cpp:468
+#: src/frontends/qt/GuiGraphics.cpp:474
msgid "Set max. &width:"
msgstr "Fixer la &largeur max. :"
-#: src/frontends/qt/GuiGraphics.cpp:469
+#: src/frontends/qt/GuiGraphics.cpp:475
msgid "Set max. &height:"
msgstr "Fixer la &hauteur max. :"
-#: src/frontends/qt/GuiGraphics.cpp:470
+#: src/frontends/qt/GuiGraphics.cpp:476
msgid "Maximal width of image in output"
msgstr "Largeur maximum de l'image en sortie"
-#: src/frontends/qt/GuiGraphics.cpp:471
+#: src/frontends/qt/GuiGraphics.cpp:477
msgid "Maximal height of image in output"
msgstr "Hauteur maximum de l'image en sortie"
-#: src/frontends/qt/GuiGraphics.cpp:493 src/support/lengthcommon.cpp:40
+#: src/frontends/qt/GuiGraphics.cpp:499 src/support/lengthcommon.cpp:40
msgid "bp"
msgstr "bp"
-#: src/frontends/qt/GuiGraphics.cpp:493 src/support/lengthcommon.cpp:40
+#: src/frontends/qt/GuiGraphics.cpp:499 src/support/lengthcommon.cpp:40
msgid "cm"
msgstr "cm"
-#: src/frontends/qt/GuiGraphics.cpp:493 src/support/lengthcommon.cpp:41
+#: src/frontends/qt/GuiGraphics.cpp:499 src/support/lengthcommon.cpp:41
msgid "mm"
msgstr "mm"
-#: src/frontends/qt/GuiGraphics.cpp:493 src/support/lengthcommon.cpp:41
+#: src/frontends/qt/GuiGraphics.cpp:499 src/support/lengthcommon.cpp:41
msgid "in[[unit of measure]]"
msgstr "in"
-#: src/frontends/qt/GuiGraphics.cpp:776
+#: src/frontends/qt/GuiGraphics.cpp:813
msgid "Select graphics file"
msgstr "Choisir le fichier graphique"
-#: src/frontends/qt/GuiGraphics.cpp:788
+#: src/frontends/qt/GuiGraphics.cpp:825
msgid "&Clipart"
msgstr "&Clipart"
@@ -33743,17 +33739,17 @@ msgstr ""
msgid "Select example file"
msgstr "Choisir le fichier d'exemple"
-#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2635
-#: src/frontends/qt/GuiView.cpp:2775 src/frontends/qt/GuiView.cpp:2909
+#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2665
+#: src/frontends/qt/GuiView.cpp:2805 src/frontends/qt/GuiView.cpp:2939
msgid "&Examples"
msgstr "&Exemples"
-#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2574
+#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2604
msgid "Select template file"
msgstr "Choisir le modèle"
-#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2576
-#: src/frontends/qt/GuiView.cpp:3029
+#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2606
+#: src/frontends/qt/GuiView.cpp:3059
msgid "&Templates"
msgstr "&Modèles"
@@ -33879,7 +33875,7 @@ msgstr ""
"En principe, vous n'avez pas à le modifier puisqu'on utilise la plus grande "
"largeur d'étiquette de tous les éléments."
-#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3307
+#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3337
msgid "&Close"
msgstr "&Fermer"
@@ -33919,71 +33915,71 @@ msgstr "&Commande :"
msgid "Screen Fonts"
msgstr "Polices d'écran"
-#: src/frontends/qt/GuiPrefs.cpp:1396
+#: src/frontends/qt/GuiPrefs.cpp:1400
msgid "Paths"
msgstr "Répertoires"
-#: src/frontends/qt/GuiPrefs.cpp:1483
+#: src/frontends/qt/GuiPrefs.cpp:1487
msgid "Select directory for example files"
msgstr "Choisir le répertoire des fichiers d'exemple"
-#: src/frontends/qt/GuiPrefs.cpp:1492
+#: src/frontends/qt/GuiPrefs.cpp:1496
msgid "Select a document templates directory"
msgstr "Choisir un répertoire de modèles de document"
-#: src/frontends/qt/GuiPrefs.cpp:1501
+#: src/frontends/qt/GuiPrefs.cpp:1505
msgid "Select a temporary directory"
msgstr "Choisir un répertoire temporaire"
-#: src/frontends/qt/GuiPrefs.cpp:1510
+#: src/frontends/qt/GuiPrefs.cpp:1514
msgid "Select a backups directory"
msgstr "Choisir un répertoire de sauvegardes automatiques"
-#: src/frontends/qt/GuiPrefs.cpp:1519
+#: src/frontends/qt/GuiPrefs.cpp:1523
msgid "Select a document directory"
msgstr "Choisir un répertoire de documents"
-#: src/frontends/qt/GuiPrefs.cpp:1528
+#: src/frontends/qt/GuiPrefs.cpp:1532
msgid "Set the path to the thesaurus dictionaries"
msgstr "Positionner le chemin vers les dictionnaires de synonymes"
-#: src/frontends/qt/GuiPrefs.cpp:1537
+#: src/frontends/qt/GuiPrefs.cpp:1541
msgid "Set the path to the Hunspell dictionaries"
msgstr "Saisir le chemin d'accès au dictionnaire hunspell"
-#: src/frontends/qt/GuiPrefs.cpp:1546
+#: src/frontends/qt/GuiPrefs.cpp:1550
msgid "Give a filename for the LyX server pipe"
msgstr "Donnez un nom de fichier au tube du serveur LyX"
-#: src/frontends/qt/GuiPrefs.cpp:1559 src/frontends/qt/GuiSpellchecker.cpp:642
+#: src/frontends/qt/GuiPrefs.cpp:1563 src/frontends/qt/GuiSpellchecker.cpp:642
msgid "Spellchecker"
msgstr "Correcteur Orthographique"
-#: src/frontends/qt/GuiPrefs.cpp:1565
+#: src/frontends/qt/GuiPrefs.cpp:1569
msgid "Native"
msgstr "Natif"
-#: src/frontends/qt/GuiPrefs.cpp:1571
+#: src/frontends/qt/GuiPrefs.cpp:1575
msgid "Aspell"
msgstr "Aspell"
-#: src/frontends/qt/GuiPrefs.cpp:1574
+#: src/frontends/qt/GuiPrefs.cpp:1578
msgid "Enchant"
msgstr "Enchant"
-#: src/frontends/qt/GuiPrefs.cpp:1577
+#: src/frontends/qt/GuiPrefs.cpp:1581
msgid "Hunspell"
msgstr "Hunspell"
-#: src/frontends/qt/GuiPrefs.cpp:1650
+#: src/frontends/qt/GuiPrefs.cpp:1654
msgid "Converters"
msgstr "Convertisseurs"
-#: src/frontends/qt/GuiPrefs.cpp:1890
+#: src/frontends/qt/GuiPrefs.cpp:1894
msgid "SECURITY WARNING!"
msgstr "AVERTISSEMENT DE SÃCURITÃ !"
-#: src/frontends/qt/GuiPrefs.cpp:1890
+#: src/frontends/qt/GuiPrefs.cpp:1894
msgid ""
"Unchecking this option has the effect that potentially harmful converters "
"would be run without asking your permission first. This is UNSAFE and NOT "
@@ -33996,15 +33992,15 @@ msgstr ""
"ce que vous faisiez. Ãtes-vous sûr de vouloir continuer ? La réponse sûre et "
"recommandée est NON !"
-#: src/frontends/qt/GuiPrefs.cpp:2010
+#: src/frontends/qt/GuiPrefs.cpp:2014
msgid "File Formats"
msgstr "Formats de fichier"
-#: src/frontends/qt/GuiPrefs.cpp:2253 src/frontends/qt/GuiPrefs.cpp:2405
+#: src/frontends/qt/GuiPrefs.cpp:2257 src/frontends/qt/GuiPrefs.cpp:2409
msgid "Format in use"
msgstr "Format utilisé"
-#: src/frontends/qt/GuiPrefs.cpp:2254
+#: src/frontends/qt/GuiPrefs.cpp:2258
msgid ""
"You cannot change a format's short name if the format is used by a "
"converter. Please remove the converter first."
@@ -34012,17 +34008,17 @@ msgstr ""
"Impossible de modifier le nom abrégé d'un format utilisé par un "
"convertisseur. Enlever d'abord le convertisseur."
-#: src/frontends/qt/GuiPrefs.cpp:2406
+#: src/frontends/qt/GuiPrefs.cpp:2410
msgid "Cannot remove a Format used by a Converter. Remove the converter first."
msgstr ""
"Impossible d'enlever un Format utilisé par un Convertisseur. Enlevez d'abord "
"le convertisseur."
-#: src/frontends/qt/GuiPrefs.cpp:2506
+#: src/frontends/qt/GuiPrefs.cpp:2510
msgid "LyX needs to be restarted!"
msgstr "LyX doit être redémarré !"
-#: src/frontends/qt/GuiPrefs.cpp:2507
+#: src/frontends/qt/GuiPrefs.cpp:2511
msgid ""
"The change of user interface language will be fully effective only after a "
"restart."
@@ -34030,80 +34026,80 @@ msgstr ""
"La modification de la langue de l'interface ne sera complètement effective "
"qu'après un redémarrage de LyX."
-#: src/frontends/qt/GuiPrefs.cpp:2607
+#: src/frontends/qt/GuiPrefs.cpp:2611
msgid "User Interface"
msgstr "Interface utilisateur"
-#: src/frontends/qt/GuiPrefs.cpp:2626
+#: src/frontends/qt/GuiPrefs.cpp:2630
msgid "Classic"
msgstr "Classique"
-#: src/frontends/qt/GuiPrefs.cpp:2627
+#: src/frontends/qt/GuiPrefs.cpp:2631
msgid "Oxygen"
msgstr "Oxygen"
-#: src/frontends/qt/GuiPrefs.cpp:2678
+#: src/frontends/qt/GuiPrefs.cpp:2682
msgid "Document Handling"
msgstr "Gestion des documents"
-#: src/frontends/qt/GuiPrefs.cpp:2785
+#: src/frontends/qt/GuiPrefs.cpp:2789
msgid "Control"
msgstr "Contrôle"
-#: src/frontends/qt/GuiPrefs.cpp:2906
+#: src/frontends/qt/GuiPrefs.cpp:2910
msgid "Shortcuts"
msgstr "Raccourcis"
-#: src/frontends/qt/GuiPrefs.cpp:2913
+#: src/frontends/qt/GuiPrefs.cpp:2917
msgid "Function"
msgstr "Fonction"
-#: src/frontends/qt/GuiPrefs.cpp:2914
+#: src/frontends/qt/GuiPrefs.cpp:2918
msgid "Shortcut"
msgstr "Raccourci"
-#: src/frontends/qt/GuiPrefs.cpp:2991
+#: src/frontends/qt/GuiPrefs.cpp:2995
msgid "Cursor, Mouse and Editing Functions"
msgstr "Contrôle du curseur, de la souris et de la saisie"
-#: src/frontends/qt/GuiPrefs.cpp:2995
+#: src/frontends/qt/GuiPrefs.cpp:2999
msgid "Mathematical Symbols"
msgstr "Symboles mathématiques"
-#: src/frontends/qt/GuiPrefs.cpp:2999
+#: src/frontends/qt/GuiPrefs.cpp:3003
msgid "Document and Window"
msgstr "Document et fenêtre"
-#: src/frontends/qt/GuiPrefs.cpp:3003
+#: src/frontends/qt/GuiPrefs.cpp:3007
msgid "Font, Layouts and Textclasses"
msgstr "Polices, formats et classes"
-#: src/frontends/qt/GuiPrefs.cpp:3007
+#: src/frontends/qt/GuiPrefs.cpp:3011
msgid "System and Miscellaneous"
msgstr "Système et divers"
-#: src/frontends/qt/GuiPrefs.cpp:3144 src/frontends/qt/GuiPrefs.cpp:3204
+#: src/frontends/qt/GuiPrefs.cpp:3148 src/frontends/qt/GuiPrefs.cpp:3208
msgid "Res&tore"
msgstr "&Restaurer"
-#: src/frontends/qt/GuiPrefs.cpp:3372 src/frontends/qt/GuiPrefs.cpp:3381
-#: src/frontends/qt/GuiPrefs.cpp:3387 src/frontends/qt/GuiPrefs.cpp:3451
+#: src/frontends/qt/GuiPrefs.cpp:3376 src/frontends/qt/GuiPrefs.cpp:3385
+#: src/frontends/qt/GuiPrefs.cpp:3391 src/frontends/qt/GuiPrefs.cpp:3455
msgid "Failed to create shortcut"
msgstr "Ãchec de la création du raccourci"
-#: src/frontends/qt/GuiPrefs.cpp:3373
+#: src/frontends/qt/GuiPrefs.cpp:3377
msgid "Unknown or invalid LyX function"
msgstr "Fonction LyX inconnue ou invalide"
-#: src/frontends/qt/GuiPrefs.cpp:3382
+#: src/frontends/qt/GuiPrefs.cpp:3386
msgid "This LyX function is hidden and cannot be bound."
msgstr "Cette fonction LyX est cachée et ne peut être associée."
-#: src/frontends/qt/GuiPrefs.cpp:3388
+#: src/frontends/qt/GuiPrefs.cpp:3392
msgid "Invalid or empty key sequence"
msgstr "Séquence de touches invalide ou vide"
-#: src/frontends/qt/GuiPrefs.cpp:3403
+#: src/frontends/qt/GuiPrefs.cpp:3407
#, c-format
msgid ""
"Shortcut `%1$s' is already bound to %2$s.\n"
@@ -34113,19 +34109,19 @@ msgstr ""
"Ãtes-vous sûr de vouloir remplacer cette association par une association à "
"%3$s ?"
-#: src/frontends/qt/GuiPrefs.cpp:3409
+#: src/frontends/qt/GuiPrefs.cpp:3413
msgid "Redefine shortcut?"
msgstr "Redéfinir le raccourci ?"
-#: src/frontends/qt/GuiPrefs.cpp:3410
+#: src/frontends/qt/GuiPrefs.cpp:3414
msgid "&Redefine"
msgstr "&Redéfinir"
-#: src/frontends/qt/GuiPrefs.cpp:3452
+#: src/frontends/qt/GuiPrefs.cpp:3456
msgid "Can not insert shortcut to the list"
msgstr "Ãchec de l'insertion du raccourci à la liste"
-#: src/frontends/qt/GuiPrefs.cpp:3483
+#: src/frontends/qt/GuiPrefs.cpp:3487
msgid "Identity"
msgstr "Identité"
@@ -34652,7 +34648,7 @@ msgstr "non déplaçable"
msgid "Vertical Space Settings"
msgstr "Paramètres d'espacement vertical"
-#: src/frontends/qt/GuiView.cpp:154
+#: src/frontends/qt/GuiView.cpp:156
msgid ""
"The Document\n"
"Processor[[welcome banner]]"
@@ -34660,33 +34656,33 @@ msgstr ""
"Le générateur\n"
"de documents"
-#: src/frontends/qt/GuiView.cpp:155
+#: src/frontends/qt/GuiView.cpp:157
msgid "1.0[[possibly scale the welcome banner text size]]"
msgstr "1.1"
-#: src/frontends/qt/GuiView.cpp:158
+#: src/frontends/qt/GuiView.cpp:160
msgid "version "
msgstr "version "
-#: src/frontends/qt/GuiView.cpp:158
+#: src/frontends/qt/GuiView.cpp:160
msgid "unknown version"
msgstr "version inconnue"
-#: src/frontends/qt/GuiView.cpp:648
+#: src/frontends/qt/GuiView.cpp:649
msgid "Workarea zoom level. Drag, use Ctrl-+/- or Shift-Mousewheel to adjust."
msgstr ""
"Niveau de zoom de la fenêtre de travail. Faire glisser, utiliser Ctrl-+/- ou "
"Maj-Molette pour ajuster."
-#: src/frontends/qt/GuiView.cpp:690 src/frontends/qt/GuiView.cpp:800
-#: src/frontends/qt/GuiView.cpp:969 src/frontends/qt/Menus.cpp:1843
+#: src/frontends/qt/GuiView.cpp:691 src/frontends/qt/GuiView.cpp:804
+#: src/frontends/qt/GuiView.cpp:974 src/frontends/qt/Menus.cpp:1843
#: src/frontends/qt/Menus.cpp:1847 src/frontends/qt/Menus.cpp:1851
#: src/frontends/qt/Menus.cpp:1855 src/frontends/qt/Menus.cpp:1859
#: src/frontends/qt/Menus.cpp:1863
msgid "[[ZOOM]]%1$d%"
msgstr "%1$d%"
-#: src/frontends/qt/GuiView.cpp:706
+#: src/frontends/qt/GuiView.cpp:710
msgid ""
"WARNING: LaTeX is allowed to execute external commands for this document. "
"Right click to change."
@@ -34694,112 +34690,112 @@ msgstr ""
"AVERTISSEMENT : LaTeX peut exécuter des commandes externes dans ce "
"document. Faites un clic droit pour changer."
-#: src/frontends/qt/GuiView.cpp:785
+#: src/frontends/qt/GuiView.cpp:789
msgid "Cancel Export?"
msgstr "&Annuler l'exportation ?"
-#: src/frontends/qt/GuiView.cpp:786
+#: src/frontends/qt/GuiView.cpp:790
msgid "Do you want to cancel the background export process?"
msgstr "Voulez-vous arrêter le processus d'exportation en arrière-plan ?"
-#: src/frontends/qt/GuiView.cpp:789
+#: src/frontends/qt/GuiView.cpp:793
msgid "Co&ntinue"
msgstr "&Continuer"
-#: src/frontends/qt/GuiView.cpp:866
+#: src/frontends/qt/GuiView.cpp:870
#, c-format
msgid "Successful export to format: %1$s"
msgstr "Succès de l'exportation au format : %1$s"
-#: src/frontends/qt/GuiView.cpp:875
+#: src/frontends/qt/GuiView.cpp:879
#, c-format
msgid "Error while exporting format: %1$s"
msgstr "Erreur à l'exportation au format : %1$s"
-#: src/frontends/qt/GuiView.cpp:878
+#: src/frontends/qt/GuiView.cpp:882
#, c-format
msgid "Successful preview of format: %1$s"
msgstr "Succès de l'aperçu du format : %1$s"
-#: src/frontends/qt/GuiView.cpp:881
+#: src/frontends/qt/GuiView.cpp:885
#, c-format
msgid "Error while previewing format: %1$s"
msgstr "Erreur au visionnement du format : %1$s"
-#: src/frontends/qt/GuiView.cpp:884
+#: src/frontends/qt/GuiView.cpp:888
#, c-format
msgid "Conversion cancelled while previewing format: %1$s"
msgstr "Conversion annulée pendant le visionnement du format : %1$s"
-#: src/frontends/qt/GuiView.cpp:1234
+#: src/frontends/qt/GuiView.cpp:1241
msgid "Exit LyX"
msgstr "Quitter LyX"
-#: src/frontends/qt/GuiView.cpp:1235
+#: src/frontends/qt/GuiView.cpp:1242
msgid "LyX could not be closed because documents are being processed by LyX."
msgstr "Impossible de fermer LyX, des documents sont en cours de traitement."
-#: src/frontends/qt/GuiView.cpp:1383
+#: src/frontends/qt/GuiView.cpp:1390
#, c-format
msgid "%1$s (modified externally)"
msgstr "%1$s (modifié par une application externe)"
-#: src/frontends/qt/GuiView.cpp:1506
+#: src/frontends/qt/GuiView.cpp:1513
msgid "Welcome to LyX!"
msgstr "Bienvenue dans LyX !"
-#: src/frontends/qt/GuiView.cpp:2043
+#: src/frontends/qt/GuiView.cpp:2072
msgid "Automatic save done."
msgstr "Sauvegarde automatique effective."
-#: src/frontends/qt/GuiView.cpp:2044
+#: src/frontends/qt/GuiView.cpp:2073
msgid "Automatic save failed!"
msgstr "La sauvegarde automatique a échoué !"
-#: src/frontends/qt/GuiView.cpp:2100
+#: src/frontends/qt/GuiView.cpp:2129
msgid "Command not allowed without any document open"
msgstr "Commande non autorisée si aucun document n'est ouvert"
-#: src/frontends/qt/GuiView.cpp:2169
+#: src/frontends/qt/GuiView.cpp:2198
msgid "Invalid argument of master-buffer-forall"
msgstr "Argument invalide pour la commande master-buffer-forall"
-#: src/frontends/qt/GuiView.cpp:2287
+#: src/frontends/qt/GuiView.cpp:2316
msgid "Function toolbar-set requires two arguments!"
msgstr "La fonction toolbar-set nécessite deux arguments !"
-#: src/frontends/qt/GuiView.cpp:2294
+#: src/frontends/qt/GuiView.cpp:2323
#, c-format
msgid "Invalid argument \"%1$s\" to function toolbar-set!"
msgstr "Argument \"%1$s\" invalide pour la fonction toolbar-set !"
-#: src/frontends/qt/GuiView.cpp:2310 src/frontends/qt/GuiView.cpp:2323
-#: src/frontends/qt/GuiView.cpp:2340
+#: src/frontends/qt/GuiView.cpp:2339 src/frontends/qt/GuiView.cpp:2352
+#: src/frontends/qt/GuiView.cpp:2369
#, c-format
msgid "Unknown toolbar \"%1$s\""
msgstr "Barre d'outils inconnue \"%1$s\""
-#: src/frontends/qt/GuiView.cpp:2460 src/frontends/qt/GuiView.cpp:2473
+#: src/frontends/qt/GuiView.cpp:2490 src/frontends/qt/GuiView.cpp:2503
msgid "Zoom level cannot be less than %1$d%."
msgstr "Le niveau de zoom ne peut être inférieur à %1$d%."
-#: src/frontends/qt/GuiView.cpp:2603
+#: src/frontends/qt/GuiView.cpp:2633
msgid "Document not loaded."
msgstr "Le document n'a pas été chargé."
-#: src/frontends/qt/GuiView.cpp:2633
+#: src/frontends/qt/GuiView.cpp:2663
msgid "Select document to open"
msgstr "Choisir le document à ouvrir"
-#: src/frontends/qt/GuiView.cpp:2639
+#: src/frontends/qt/GuiView.cpp:2669
msgid "LyX Document Backups (*.lyx~)"
msgstr "Sauvegardes des documents LyX (*.lyx~)"
-#: src/frontends/qt/GuiView.cpp:2640
+#: src/frontends/qt/GuiView.cpp:2670
msgid "All Files (*.*)"
msgstr "Tous les fichiers (*.*)"
-#: src/frontends/qt/GuiView.cpp:2667
+#: src/frontends/qt/GuiView.cpp:2697
#, c-format
msgid ""
"The directory in the given path\n"
@@ -34810,40 +34806,40 @@ msgstr ""
"%1$s\n"
"n'existe pas."
-#: src/frontends/qt/GuiView.cpp:2684
+#: src/frontends/qt/GuiView.cpp:2714
#, c-format
msgid "Opening document %1$s..."
msgstr "Ouverture du document %1$s..."
-#: src/frontends/qt/GuiView.cpp:2689
+#: src/frontends/qt/GuiView.cpp:2719
#, c-format
msgid "Document %1$s opened."
msgstr "Document %1$s ouvert."
-#: src/frontends/qt/GuiView.cpp:2692
+#: src/frontends/qt/GuiView.cpp:2722
msgid "Version control detected."
msgstr "Contrôle de version détecté."
-#: src/frontends/qt/GuiView.cpp:2694
+#: src/frontends/qt/GuiView.cpp:2724
#, c-format
msgid "Could not open document %1$s"
msgstr "Impossible d'ouvrir le document %1$s"
-#: src/frontends/qt/GuiView.cpp:2722
+#: src/frontends/qt/GuiView.cpp:2752
msgid "Couldn't import file"
msgstr "Impossible d'importer le fichier"
-#: src/frontends/qt/GuiView.cpp:2723
+#: src/frontends/qt/GuiView.cpp:2753
#, c-format
msgid "No information for importing the format %1$s."
msgstr "Pas d'information pour importer le format %1$s."
-#: src/frontends/qt/GuiView.cpp:2770
+#: src/frontends/qt/GuiView.cpp:2800
#, c-format
msgid "Select %1$s file to import"
msgstr "Choisir le fichier %1$s à importer"
-#: src/frontends/qt/GuiView.cpp:2805
+#: src/frontends/qt/GuiView.cpp:2835
#, c-format
msgid ""
"The file name '%1$s' is invalid!\n"
@@ -34852,8 +34848,8 @@ msgstr ""
"Le nom de fichier « %1$s » n'est pas valide !\n"
"Importation interrompue."
-#: src/frontends/qt/GuiView.cpp:2832 src/frontends/qt/GuiView.cpp:3099
-#: src/frontends/qt/GuiView.cpp:3202
+#: src/frontends/qt/GuiView.cpp:2862 src/frontends/qt/GuiView.cpp:3129
+#: src/frontends/qt/GuiView.cpp:3232
#, c-format
msgid ""
"The document %1$s already exists.\n"
@@ -34864,33 +34860,33 @@ msgstr ""
"\n"
"Voulez-vous écrire par dessus ce document ?"
-#: src/frontends/qt/GuiView.cpp:2834 src/frontends/qt/GuiView.cpp:3103
-#: src/frontends/qt/GuiView.cpp:3206
+#: src/frontends/qt/GuiView.cpp:2864 src/frontends/qt/GuiView.cpp:3133
+#: src/frontends/qt/GuiView.cpp:3236
msgid "Overwrite document?"
msgstr "Ãcraser le document ?"
-#: src/frontends/qt/GuiView.cpp:2843
+#: src/frontends/qt/GuiView.cpp:2873
#, c-format
msgid "Importing %1$s..."
msgstr "Importe %1$s..."
-#: src/frontends/qt/GuiView.cpp:2846
+#: src/frontends/qt/GuiView.cpp:2876
msgid "imported."
msgstr "importé."
-#: src/frontends/qt/GuiView.cpp:2848
+#: src/frontends/qt/GuiView.cpp:2878
msgid "file not imported!"
msgstr "fichier non importé !"
-#: src/frontends/qt/GuiView.cpp:2874
+#: src/frontends/qt/GuiView.cpp:2904
msgid "newfile"
msgstr "nouveau"
-#: src/frontends/qt/GuiView.cpp:2907
+#: src/frontends/qt/GuiView.cpp:2937
msgid "Select LyX document to insert"
msgstr "Choisir le document à insérer"
-#: src/frontends/qt/GuiView.cpp:2954
+#: src/frontends/qt/GuiView.cpp:2984
#, c-format
msgid ""
"It is suggested to save the template in a subdirectory\n"
@@ -34903,23 +34899,23 @@ msgstr ""
"Ce sous-répertoire n'existe pas encore.\n"
"Voulez-vous le créer ?"
-#: src/frontends/qt/GuiView.cpp:2959
+#: src/frontends/qt/GuiView.cpp:2989
msgid "Create Language Directory?"
msgstr "Créer un répertoire de langue ?"
-#: src/frontends/qt/GuiView.cpp:2960 src/frontends/qt/GuiView.cpp:2991
+#: src/frontends/qt/GuiView.cpp:2990 src/frontends/qt/GuiView.cpp:3021
msgid "&Yes, Create"
msgstr "&Oui, créer"
-#: src/frontends/qt/GuiView.cpp:2960 src/frontends/qt/GuiView.cpp:2991
+#: src/frontends/qt/GuiView.cpp:2990 src/frontends/qt/GuiView.cpp:3021
msgid "&No, Save Template in Parent Directory"
msgstr "&Non, enregistrer le modèle dans le répertoire parent"
-#: src/frontends/qt/GuiView.cpp:2963 src/frontends/qt/GuiView.cpp:2994
+#: src/frontends/qt/GuiView.cpp:2993 src/frontends/qt/GuiView.cpp:3024
msgid "Subdirectory creation failed!"
msgstr "Ãchec de la création du sous-répertoire !"
-#: src/frontends/qt/GuiView.cpp:2964 src/frontends/qt/GuiView.cpp:2995
+#: src/frontends/qt/GuiView.cpp:2994 src/frontends/qt/GuiView.cpp:3025
msgid ""
"Could not create subdirectory.\n"
"The template will be saved in the parent directory."
@@ -34927,7 +34923,7 @@ msgstr ""
"Impossible de créer le sous-répertoire.\n"
"Le modèle sera enregistré dans le répertoire parent."
-#: src/frontends/qt/GuiView.cpp:2985
+#: src/frontends/qt/GuiView.cpp:3015
#, c-format
msgid ""
"It is suggested to save the template in a subdirectory\n"
@@ -34940,19 +34936,19 @@ msgstr ""
"Ce sous-répertoire n'existe pas encore.\n"
"Voulez-vous le créer ?"
-#: src/frontends/qt/GuiView.cpp:2990
+#: src/frontends/qt/GuiView.cpp:3020
msgid "Create Category Directory?"
msgstr "Créer un répertoire de catégorie ?"
-#: src/frontends/qt/GuiView.cpp:3025
+#: src/frontends/qt/GuiView.cpp:3055
msgid "Choose a filename to save template as"
msgstr "Choisir le nom du fichier sous lequel enregistrer le modèle"
-#: src/frontends/qt/GuiView.cpp:3026
+#: src/frontends/qt/GuiView.cpp:3056
msgid "Choose a filename to save document as"
msgstr "Choisir le nom sous lequel enregistrer le fichier"
-#: src/frontends/qt/GuiView.cpp:3062
+#: src/frontends/qt/GuiView.cpp:3092
#, c-format
msgid ""
"The file\n"
@@ -34967,17 +34963,17 @@ msgstr ""
"Merci de le fermer avant d'essayer de l'écraser.\n"
"Vouez-vous définir un nouveau nom de fichier ?"
-#: src/frontends/qt/GuiView.cpp:3066
+#: src/frontends/qt/GuiView.cpp:3096
msgid "Chosen File Already Open"
msgstr "Fichier sélectionné déjà ouvert"
-#: src/frontends/qt/GuiView.cpp:3067 src/frontends/qt/GuiView.cpp:3089
-#: src/frontends/qt/GuiView.cpp:3105 src/frontends/qt/GuiView.cpp:3207
-#: src/frontends/qt/GuiView.cpp:3252
+#: src/frontends/qt/GuiView.cpp:3097 src/frontends/qt/GuiView.cpp:3119
+#: src/frontends/qt/GuiView.cpp:3135 src/frontends/qt/GuiView.cpp:3237
+#: src/frontends/qt/GuiView.cpp:3282
msgid "&Rename"
msgstr "&Renommer"
-#: src/frontends/qt/GuiView.cpp:3082
+#: src/frontends/qt/GuiView.cpp:3112
#, c-format
msgid ""
"The document %1$s is already registered.\n"
@@ -34988,27 +34984,27 @@ msgstr ""
"\n"
"Voulez-vous choisir un nouveau nom ?"
-#: src/frontends/qt/GuiView.cpp:3087
+#: src/frontends/qt/GuiView.cpp:3117
msgid "Rename document?"
msgstr "Renommer le document ?"
-#: src/frontends/qt/GuiView.cpp:3087
+#: src/frontends/qt/GuiView.cpp:3117
msgid "Copy document?"
msgstr "Copier le document ?"
-#: src/frontends/qt/GuiView.cpp:3089
+#: src/frontends/qt/GuiView.cpp:3119
msgid "&Copy"
msgstr "&Copier"
-#: src/frontends/qt/GuiView.cpp:3149
+#: src/frontends/qt/GuiView.cpp:3179
msgid "Choose a filename to export the document as"
msgstr "Choisir le nom sous lequel exporter le fichier"
-#: src/frontends/qt/GuiView.cpp:3153
+#: src/frontends/qt/GuiView.cpp:3183
msgid "Guess from extension (*.*)"
msgstr "Deviner à partir du suffixe (*.*)"
-#: src/frontends/qt/GuiView.cpp:3248
+#: src/frontends/qt/GuiView.cpp:3278
#, c-format
msgid ""
"The document %1$s could not be saved.\n"
@@ -35019,15 +35015,15 @@ msgstr ""
"\n"
"Voulez-vous renommer le document et essayer à nouveau ?"
-#: src/frontends/qt/GuiView.cpp:3251
+#: src/frontends/qt/GuiView.cpp:3281
msgid "Rename and save?"
msgstr "Renommer et enregistrer ?"
-#: src/frontends/qt/GuiView.cpp:3252
+#: src/frontends/qt/GuiView.cpp:3282
msgid "&Retry"
msgstr "&Réessayer"
-#: src/frontends/qt/GuiView.cpp:3297
+#: src/frontends/qt/GuiView.cpp:3327
#, c-format
msgid ""
"Last view on document %1$s is being closed.\n"
@@ -35045,24 +35041,24 @@ msgstr ""
"Les documents cachés peuvent être ré-affichés via\n"
"Affichage->Caché->...\n"
-#: src/frontends/qt/GuiView.cpp:3306
+#: src/frontends/qt/GuiView.cpp:3336
msgid "Close or hide document?"
msgstr "Fermer ou cacher le document ?"
-#: src/frontends/qt/GuiView.cpp:3307
+#: src/frontends/qt/GuiView.cpp:3337
msgid "&Hide"
msgstr "&Cacher"
-#: src/frontends/qt/GuiView.cpp:3404
+#: src/frontends/qt/GuiView.cpp:3434
msgid "Close document"
msgstr "Fermer le document"
-#: src/frontends/qt/GuiView.cpp:3405
+#: src/frontends/qt/GuiView.cpp:3435
msgid "Document could not be closed because it is being processed by LyX."
msgstr ""
"Impossible de fermer le document, il est en cours de traitement par LyX."
-#: src/frontends/qt/GuiView.cpp:3537 src/frontends/qt/GuiView.cpp:3652
+#: src/frontends/qt/GuiView.cpp:3567 src/frontends/qt/GuiView.cpp:3682
#, c-format
msgid ""
"The document %1$s has not been saved yet.\n"
@@ -35073,16 +35069,16 @@ msgstr ""
"\n"
"Voulez-vous enregistrer le document ?"
-#: src/frontends/qt/GuiView.cpp:3540 src/frontends/qt/GuiView.cpp:3655
+#: src/frontends/qt/GuiView.cpp:3570 src/frontends/qt/GuiView.cpp:3685
msgid "Save new document?"
msgstr "Enregistrer le nouveau document ?"
-#: src/frontends/qt/GuiView.cpp:3541 src/frontends/qt/GuiView.cpp:3555
-#: src/frontends/qt/GuiView.cpp:3657
+#: src/frontends/qt/GuiView.cpp:3571 src/frontends/qt/GuiView.cpp:3585
+#: src/frontends/qt/GuiView.cpp:3687
msgid "&Save"
msgstr "&Enregistrer"
-#: src/frontends/qt/GuiView.cpp:3546
+#: src/frontends/qt/GuiView.cpp:3576
#, c-format
msgid ""
"The document %1$s has unsaved changes.\n"
@@ -35093,7 +35089,7 @@ msgstr ""
"\n"
"Voulez-vous enregistrer le document ou ignorer ces modifications ?"
-#: src/frontends/qt/GuiView.cpp:3549
+#: src/frontends/qt/GuiView.cpp:3579
#, c-format
msgid ""
"The document %1$s has not been saved yet.\n"
@@ -35104,19 +35100,19 @@ msgstr ""
"\n"
"Voulez-vous enregistrer le document ou bien l'abandonner entièrement ?"
-#: src/frontends/qt/GuiView.cpp:3553 src/frontends/qt/GuiView.cpp:3649
+#: src/frontends/qt/GuiView.cpp:3583 src/frontends/qt/GuiView.cpp:3679
msgid "Save changed document?"
msgstr "Enregistrer le document modifié ?"
-#: src/frontends/qt/GuiView.cpp:3553
+#: src/frontends/qt/GuiView.cpp:3583
msgid "Save document?"
msgstr "Enregistrer le document ?"
-#: src/frontends/qt/GuiView.cpp:3555
+#: src/frontends/qt/GuiView.cpp:3585
msgid "&Discard"
msgstr "I&gnorer"
-#: src/frontends/qt/GuiView.cpp:3646
+#: src/frontends/qt/GuiView.cpp:3676
#, c-format
msgid ""
"The document %1$s has unsaved changes.\n"
@@ -35127,7 +35123,7 @@ msgstr ""
"\n"
"Voulez-vous enregistrer le document ?"
-#: src/frontends/qt/GuiView.cpp:3678
+#: src/frontends/qt/GuiView.cpp:3708
#, c-format
msgid ""
"Document \n"
@@ -35139,37 +35135,37 @@ msgstr ""
"a été modifié par une application externe. Le recharger maintenant ? Toutes "
"les modifications locales seront perdues."
-#: src/frontends/qt/GuiView.cpp:3681
+#: src/frontends/qt/GuiView.cpp:3711
msgid "Reload externally changed document?"
msgstr "Recharger le document modifié par une application externe ?"
-#: src/frontends/qt/GuiView.cpp:3726
+#: src/frontends/qt/GuiView.cpp:3756
msgid "Document could not be checked in."
msgstr "Impossible d'enregistrer les changements."
-#: src/frontends/qt/GuiView.cpp:3769
+#: src/frontends/qt/GuiView.cpp:3799
msgid "Error when setting the locking property."
msgstr "Erreur lors du positionnement de la propriété de verrouillage."
-#: src/frontends/qt/GuiView.cpp:3818
+#: src/frontends/qt/GuiView.cpp:3848
msgid "Directory is not accessible."
msgstr "Répertoire inaccessible."
-#: src/frontends/qt/GuiView.cpp:3895
+#: src/frontends/qt/GuiView.cpp:3925
#, c-format
msgid "Opening child document %1$s..."
msgstr "Ouverture du sous-document %1$s..."
-#: src/frontends/qt/GuiView.cpp:3953
+#: src/frontends/qt/GuiView.cpp:3983
#, c-format
msgid "No buffer for file: %1$s."
msgstr "Pas de tampon pour le fichier : %1$s."
-#: src/frontends/qt/GuiView.cpp:3963
+#: src/frontends/qt/GuiView.cpp:3993
msgid "Inverse Search Failed"
msgstr "Ãchec de la recherche inversée"
-#: src/frontends/qt/GuiView.cpp:3964
+#: src/frontends/qt/GuiView.cpp:3994
msgid ""
"Invalid position requested by inverse search.\n"
"You may need to update the viewed document."
@@ -35177,35 +35173,35 @@ msgstr ""
"Position requise par la recherche inversée invalide.\n"
"Vous devriez peut-être mettre à jour le document dans la visionneuse."
-#: src/frontends/qt/GuiView.cpp:4044
+#: src/frontends/qt/GuiView.cpp:4074
msgid "Export Error"
msgstr "Exporter l'erreur"
-#: src/frontends/qt/GuiView.cpp:4045
+#: src/frontends/qt/GuiView.cpp:4075
msgid "Error cloning the Buffer."
msgstr "Erreur lors du clonage du tampon."
-#: src/frontends/qt/GuiView.cpp:4196 src/frontends/qt/GuiView.cpp:4216
+#: src/frontends/qt/GuiView.cpp:4226 src/frontends/qt/GuiView.cpp:4246
msgid "Exporting ..."
msgstr "Exportation en cours..."
-#: src/frontends/qt/GuiView.cpp:4225
+#: src/frontends/qt/GuiView.cpp:4255
msgid "Previewing ..."
msgstr "Visionnement en cours..."
-#: src/frontends/qt/GuiView.cpp:4263
+#: src/frontends/qt/GuiView.cpp:4293
msgid "Document not loaded"
msgstr "Le document n'a pas été chargé"
-#: src/frontends/qt/GuiView.cpp:4350
+#: src/frontends/qt/GuiView.cpp:4380
msgid "Select file to insert"
msgstr "Choisir le fichier à insérer"
-#: src/frontends/qt/GuiView.cpp:4353
+#: src/frontends/qt/GuiView.cpp:4383
msgid "All Files (*)"
msgstr "Tous les fichiers (*)"
-#: src/frontends/qt/GuiView.cpp:4381
+#: src/frontends/qt/GuiView.cpp:4411
#, c-format
msgid ""
"The current version will be lost. Are you sure you want to load the version "
@@ -35214,7 +35210,7 @@ msgstr ""
"La version actuelle sera perdue. Ãtes-vous sûr de vouloir revenir à la "
"dernière version enregistrée du document %1$s ?"
-#: src/frontends/qt/GuiView.cpp:4388
+#: src/frontends/qt/GuiView.cpp:4418
#, c-format
msgid ""
"Any changes will be lost. Are you sure you want to revert to the saved "
@@ -35223,61 +35219,61 @@ msgstr ""
"Toutes les modifications seront perdues. Ãtes-vous sûr de vouloir revenir à "
"la dernière version enregistrée du document %1$s ?"
-#: src/frontends/qt/GuiView.cpp:4391
+#: src/frontends/qt/GuiView.cpp:4421
msgid "Revert to saved document?"
msgstr "Revenir à la sauvegarde du document ?"
-#: src/frontends/qt/GuiView.cpp:4408
+#: src/frontends/qt/GuiView.cpp:4438
msgid "Buffer export reset."
msgstr "RaZ exportation du tampon."
-#: src/frontends/qt/GuiView.cpp:4431
+#: src/frontends/qt/GuiView.cpp:4461
msgid "Saving all documents..."
msgstr "Enregistrement de tous les documents..."
-#: src/frontends/qt/GuiView.cpp:4441
+#: src/frontends/qt/GuiView.cpp:4471
msgid "All documents saved."
msgstr "Tous les documents sont enregistrés."
-#: src/frontends/qt/GuiView.cpp:4480
+#: src/frontends/qt/GuiView.cpp:4510
msgid "Developer mode is now enabled."
msgstr "Le mode « développeur » est maintenant actif."
-#: src/frontends/qt/GuiView.cpp:4482
+#: src/frontends/qt/GuiView.cpp:4512
msgid "Developer mode is now disabled."
msgstr "Le mode « développeur » est maintenant inactif."
-#: src/frontends/qt/GuiView.cpp:4514
+#: src/frontends/qt/GuiView.cpp:4544
msgid "Toolbars unlocked."
msgstr "Barres d'outils déverrouillées."
-#: src/frontends/qt/GuiView.cpp:4516
+#: src/frontends/qt/GuiView.cpp:4546
msgid "Toolbars locked."
msgstr "Barres d'outils verrouillées."
-#: src/frontends/qt/GuiView.cpp:4528
+#: src/frontends/qt/GuiView.cpp:4558
#, c-format
msgid "Icon size set to %1$dx%2$d."
msgstr "Taille d'icône réglée à %1$dx%2$d."
-#: src/frontends/qt/GuiView.cpp:4617
+#: src/frontends/qt/GuiView.cpp:4647
#, c-format
msgid "%1$s unknown command!"
msgstr "%1$s : commande inconnue !"
-#: src/frontends/qt/GuiView.cpp:4721
+#: src/frontends/qt/GuiView.cpp:4751
msgid "Zoom level is now %1$d% (default value: %2$d%)"
msgstr "Le niveau de zoom est maintenant %1$d% (valeur implicite : %2$d%)"
-#: src/frontends/qt/GuiView.cpp:4780
+#: src/frontends/qt/GuiView.cpp:4810
msgid "Please, preview the document first."
msgstr "Merci d'afficher d'abord un aperçu du document."
-#: src/frontends/qt/GuiView.cpp:4796
+#: src/frontends/qt/GuiView.cpp:4826
msgid "Couldn't proceed."
msgstr "Impossible de poursuivre."
-#: src/frontends/qt/GuiView.cpp:5151
+#: src/frontends/qt/GuiView.cpp:5183
msgid "Disable Shell Escape"
msgstr "Désactiver shell escape"
@@ -35290,27 +35286,27 @@ msgstr "Aperçu de code"
msgid "%1[[preview format name]] Preview"
msgstr "%1, aperçu"
-#: src/frontends/qt/GuiWorkArea.cpp:1530
+#: src/frontends/qt/GuiWorkArea.cpp:1527
msgid "Close File"
msgstr "Fermer le fichier"
-#: src/frontends/qt/GuiWorkArea.cpp:2072
+#: src/frontends/qt/GuiWorkArea.cpp:2069
msgid "%1 (read only)"
msgstr "%1 (en lecture seule)"
-#: src/frontends/qt/GuiWorkArea.cpp:2080
+#: src/frontends/qt/GuiWorkArea.cpp:2077
msgid "%1 (modified externally)"
msgstr "%1 (modifié par une application externe)"
-#: src/frontends/qt/GuiWorkArea.cpp:2103
+#: src/frontends/qt/GuiWorkArea.cpp:2100
msgid "Hide tab"
msgstr "Cacher l'onglet"
-#: src/frontends/qt/GuiWorkArea.cpp:2109
+#: src/frontends/qt/GuiWorkArea.cpp:2106
msgid "Close tab"
msgstr "Fermer l'onglet"
-#: src/frontends/qt/GuiWorkArea.cpp:2148
+#: src/frontends/qt/GuiWorkArea.cpp:2145
msgid "<b>The file %1 changed on disk.</b>"
msgstr "<b>Le fichier %1 a changé sur le disque.</b>"
@@ -36077,15 +36073,15 @@ msgstr "ERREUR : type de flottant non existant : %1$s"
msgid "float"
msgstr "flottant"
-#: src/insets/InsetFloat.cpp:903
+#: src/insets/InsetFloat.cpp:911
msgid "Float: "
msgstr "Flottant : "
-#: src/insets/InsetFloat.cpp:906
+#: src/insets/InsetFloat.cpp:914
msgid "Subfloat: "
msgstr "Sous-flottant : "
-#: src/insets/InsetFloat.cpp:916
+#: src/insets/InsetFloat.cpp:924
msgid " (sideways)"
msgstr " (couché)"
@@ -37336,28 +37332,28 @@ msgstr "%1$d chaînes remplacées dans le sélection."
msgid "%1$d strings have been replaced."
msgstr "%1$d chaînes remplacées."
-#: src/lyxfind.cpp:4483
+#: src/lyxfind.cpp:4508
msgid "One match has been replaced."
msgstr "Une correspondance a été remplacée."
-#: src/lyxfind.cpp:4486
+#: src/lyxfind.cpp:4511
msgid "Two matches have been replaced."
msgstr "Deux correspondances ont été remplacées."
-#: src/lyxfind.cpp:4489
+#: src/lyxfind.cpp:4514
#, c-format
msgid "%1$d matches have been replaced."
msgstr "%1$d correspondances ont été remplacées."
-#: src/lyxfind.cpp:4495
+#: src/lyxfind.cpp:4520
msgid "Match not found."
msgstr "Chaîne de caractères introuvable."
-#: src/lyxfind.cpp:4501
+#: src/lyxfind.cpp:4526
msgid "Match has been replaced."
msgstr "Chaîne de caractères remplacée."
-#: src/lyxfind.cpp:4503
+#: src/lyxfind.cpp:4528
msgid "Match found."
msgstr "Chaîne de caractères reconnue."
@@ -37401,27 +37397,27 @@ msgstr "Décoration : %1$s"
msgid "Environment: %1$s"
msgstr "Environnement : %1$s"
-#: src/mathed/InsetMathGrid.cpp:1720
+#: src/mathed/InsetMathGrid.cpp:1725
msgid "Cursor not in table"
msgstr "Le curseur n'est pas dans le tableau"
-#: src/mathed/InsetMathGrid.cpp:1725
+#: src/mathed/InsetMathGrid.cpp:1730
msgid "Only one row"
msgstr "Une seule ligne"
-#: src/mathed/InsetMathGrid.cpp:1731
+#: src/mathed/InsetMathGrid.cpp:1736
msgid "Only one column"
msgstr "Une seule colonne"
-#: src/mathed/InsetMathGrid.cpp:1739
+#: src/mathed/InsetMathGrid.cpp:1744
msgid "No hline to delete"
msgstr "Pas de ligne horizontale à supprimer"
-#: src/mathed/InsetMathGrid.cpp:1748
+#: src/mathed/InsetMathGrid.cpp:1753
msgid "No vline to delete"
msgstr "Pas de ligne verticale à supprimer"
-#: src/mathed/InsetMathGrid.cpp:1777
+#: src/mathed/InsetMathGrid.cpp:1782
#, c-format
msgid "Unknown tabular feature '%1$s'"
msgstr "Option de tableau inconnue '%1$s'"
@@ -37492,7 +37488,7 @@ msgstr "entré en mode texte math (textrm)"
msgid "Regular expression editor mode"
msgstr "Mode d'édition « expression régulière »"
-#: src/mathed/InsetMathNest.cpp:1942
+#: src/mathed/InsetMathNest.cpp:1948
#, c-format
msgid "Cannot apply %1$s here."
msgstr "Impossible d'appliquer %1$s ici."
@@ -37556,11 +37552,11 @@ msgstr ""
"Impossible d'ouvrir le document\n"
"%1$s."
-#: src/output_latex.cpp:1626
+#: src/output_latex.cpp:1650
msgid "Error in latexParagraphs"
msgstr "Erreur dans latexParagraphs"
-#: src/output_latex.cpp:1627
+#: src/output_latex.cpp:1651
#, c-format
msgid ""
"You are using at least one layout (%1$s) intended for the title, after using "
@@ -37948,6 +37944,12 @@ msgstr ""
msgid "Unknown user"
msgstr "Utilisateur inconnu"
+#~ msgid "PDF-form"
+#~ msgstr "Formulaire PDF"
+
+#~ msgid "Linguisticsnew"
+#~ msgstr "Linguisticsnew"
+
#~ msgid "Preferred &Language:"
#~ msgstr "Lan&gue préférée :"
commit d08583089543e4f2b292937676e85370059e7d5a
Author: jpc <jpc at lyx.org>
Date: Thu Jan 13 17:33:36 2022 +0100
Update branch inset inversion explanation
diff --git a/lib/doc/fr/UserGuide.lyx b/lib/doc/fr/UserGuide.lyx
index 7712af2..58caa2c 100644
--- a/lib/doc/fr/UserGuide.lyx
+++ b/lib/doc/fr/UserGuide.lyx
@@ -9104,14 +9104,12 @@ Verbatim
\end_layout
\begin_layout Verbatim
-
This is Verbatim.
\end_layout
\begin_layout Verbatim
\noindent
\align block
-
The following 2 lines are empty:
\end_layout
@@ -9124,7 +9122,6 @@ The following 2 lines are empty:
\end_layout
\begin_layout Verbatim
-
Almost everything is allowed in Verbatim:"%&$§#~'`
\backslash
}][{|
@@ -9157,7 +9154,6 @@ Verbatim
\end_layout
\begin_layout Verbatim*
-
This is Verbatim*.
\end_layout
@@ -34791,9 +34787,9 @@ Il existe aussi des inserts de branche inversée, dont le contenu est imprimé
\emph on
pas
\emph default
- active.
- Ceci facilite la saisie de texte alternatif pour différentes versions d'un
- document.
+ active (l'inversion est indiquée par une ~ avant le nom).
+ De tels inserts facilitent la saisie de texte alternatif pour différentes
+ versions d'un document.
Pour sélectionner l'inversion d'un insert donné, faites un clic droit sur
le bouton d'insert et choisissez
\family sans
commit 854fbc52621f3ecdced7cada98d72da8e8e35428
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Thu Jan 13 17:09:42 2022 +0100
Revert "Add UI for selecting backing store drawing strategy"
The need for this variable is too rare to deserve being exposed in UI.
This reverts commit a3fd3a09f1aa0b6003fc3cf033e970bb7547a983.
diff --git a/src/frontends/qt/GuiPrefs.cpp b/src/frontends/qt/GuiPrefs.cpp
index 40c0638..2b6b9cd 100644
--- a/src/frontends/qt/GuiPrefs.cpp
+++ b/src/frontends/qt/GuiPrefs.cpp
@@ -1328,7 +1328,6 @@ PrefDisplay::PrefDisplay(GuiPreferences * form)
connect(previewSizeSB, SIGNAL(valueChanged(double)), this, SIGNAL(changed()));
connect(paragraphMarkerCB, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
connect(ctAdditionsUnderlinedCB, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
- connect(ctUseBackingstoreCB, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
}
@@ -1356,8 +1355,6 @@ void PrefDisplay::applyRC(LyXRC & rc) const
rc.preview_scale_factor = previewSizeSB->value();
rc.paragraph_markers = paragraphMarkerCB->isChecked();
rc.ct_additions_underlined = ctAdditionsUnderlinedCB->isChecked();
- rc.draw_strategy = ctUseBackingstoreCB->isChecked()
- ? LyXRC::DS_BACKINGSTORE : LyXRC::DS_PARTIAL;
// FIXME!! The graphics cache no longer has a changeDisplay method.
#if 0
@@ -1387,8 +1384,6 @@ void PrefDisplay::updateRC(LyXRC const & rc)
previewSizeSB->setValue(rc.preview_scale_factor);
paragraphMarkerCB->setChecked(rc.paragraph_markers);
ctAdditionsUnderlinedCB->setChecked(rc.ct_additions_underlined);
- ctUseBackingstoreCB->setChecked(rc.draw_strategy == LyXRC::DS_BACKINGSTORE);
- ctUseBackingstoreCB->setHidden(guiApp->needsBackingStore());
previewSizeSB->setEnabled(
rc.display_graphics
&& rc.preview != LyXRC::PREVIEW_OFF);
diff --git a/src/frontends/qt/ui/PrefDisplayUi.ui b/src/frontends/qt/ui/PrefDisplayUi.ui
index 9c09b45..d8a79eb 100644
--- a/src/frontends/qt/ui/PrefDisplayUi.ui
+++ b/src/frontends/qt/ui/PrefDisplayUi.ui
@@ -83,7 +83,7 @@
</property>
</spacer>
</item>
- <item row="5" column="0">
+ <item row="4" column="0">
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>
@@ -158,16 +158,6 @@
</property>
</widget>
</item>
- <item row="4" column="0" colspan="2">
- <widget class="QCheckBox" name="ctUseBackingstoreCB">
- <property name="toolTip">
- <string>If this is checked, an intermediate surface will be used for painting. This may be needed in some cases to have proper display, but breaks subpixel aliasing.</string>
- </property>
- <property name="text">
- <string>Use &backing store to display text</string>
- </property>
- </widget>
- </item>
</layout>
</widget>
<tabstops>
commit 61d062633cf573ddc1bc3067ff5baf6d62ee9a6c
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Tue Dec 28 20:56:57 2021 +0100
Better handling of trailing spaces in rows.
When a string is broken at the margin by the Qt algorithm, the space
at which breaking occurred is automatically skipped in width
computation. However, the ending space of the string is taken into
account and is visible for example at paragraph end.
When the trailing space is followed by a displayed inset, then the
space should be skipped too, which means that the width of the last
row element has to be recomputed. For the sake of performance, the
width of the element without trailing spaces is computed in advance in
FontMetrics::breakString.
This "no space" width will be used when trimming a row element of its trailing
spaces instead of the original one.
Additionally, do not trim trailing spaces when the row is flushed.
Fixes bug #12449.
diff --git a/src/Row.cpp b/src/Row.cpp
index 6d6d319..423768f 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -172,6 +172,7 @@ bool Row::Element::splitAt(int const width, int next_width, bool force,
e.str = str.substr(i, brk.len);
e.endpos = e.pos + brk.len;
e.dim.wid = brk.wid;
+ e.nspc_wid = brk.nspc_wid;
e.row_flags = CanBreakInside | BreakAfter;
if (first) {
// this element eventually goes to *this
@@ -218,6 +219,7 @@ void Row::Element::rtrim()
*/
str = support::rtrim(str);
endpos = pos + str.length();
+ dim.wid = nspc_wid;
}
@@ -338,7 +340,8 @@ ostream & operator<<(ostream & os, Row const & row)
<< " descent: " << row.dim_.des
<< " separator: " << row.separator
<< " label_hfill: " << row.label_hfill
- << " row_boundary: " << row.right_boundary() << "\n";
+ << " right_boundary: " << row.right_boundary()
+ << " flushed: " << row.flushed() << "\n";
// We cannot use the operator above, unfortunately
double x = row.left_margin;
for (Row::Element const & e : row.elements_) {
diff --git a/src/Row.h b/src/Row.h
index 2c60638..aba7913 100644
--- a/src/Row.h
+++ b/src/Row.h
@@ -119,9 +119,11 @@ public:
pos_type pos;
// first position after the element in the paragraph
pos_type endpos;
- // The dimension of the chunk (does not contains the
+ // The dimension of the chunk (does not contain the
// separator correction)
Dimension dim;
+ // The width of the element without trailing spaces
+ int nspc_wid = 0;
// Non-zero only if element is an inset
Inset const * inset = nullptr;
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index 2cf3ce9..0c87d10 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -1069,7 +1069,7 @@ void cleanupRow(Row & row, bool at_end)
row.endpos(row.back().endpos);
// remove trailing spaces on row break
- if (!at_end)
+ if (!at_end && !row.flushed())
row.back().rtrim();
// boundary exists when there was no space at the end of row
row.right_boundary(!at_end && row.back().endpos == row.endpos());
@@ -1118,9 +1118,9 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
: fcit->row_flags;
if (rows.empty() || needsRowBreak(f1, f2)) {
if (!rows.empty()) {
- cleanupRow(rows.back(), false);
// Flush row as requested by row flags
rows.back().flushed((f1 & Flush) || (f2 & FlushBefore));
+ cleanupRow(rows.back(), false);
}
pos_type pos = rows.empty() ? 0 : rows.back().endpos();
rows.push_back(newRow(*this, bigrow.pit(), pos, is_rtl));
@@ -1155,9 +1155,9 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
}
if (!rows.empty()) {
- cleanupRow(rows.back(), true);
// Last row in paragraph is flushed
rows.back().flushed(true);
+ cleanupRow(rows.back(), true);
}
return rows;
diff --git a/src/frontends/FontMetrics.h b/src/frontends/FontMetrics.h
index b78bc2d..66cd22d 100644
--- a/src/frontends/FontMetrics.h
+++ b/src/frontends/FontMetrics.h
@@ -126,9 +126,14 @@ public:
// The places where to break a string and the width of the resulting lines.
struct Break {
- Break(int l, int w) : len(l), wid(w) {}
+ Break(int l, int w, int nsw) : len(l), wid(w), nspc_wid(nsw) {}
+ // Number of characters
int len = 0;
+ // text width
int wid = 0;
+ // text width when trailing spaces are removed; only makes a
+ // difference for the last break.
+ int nspc_wid = 0;
};
typedef std::vector<Break> Breaks;
/**
diff --git a/src/frontends/qt/GuiFontMetrics.cpp b/src/frontends/qt/GuiFontMetrics.cpp
index e638e10..0dc0de5 100644
--- a/src/frontends/qt/GuiFontMetrics.cpp
+++ b/src/frontends/qt/GuiFontMetrics.cpp
@@ -19,7 +19,6 @@
#include "support/convert.h"
#include "support/lassert.h"
-#include "support/lstrings.h"
#include "support/lyxlib.h"
#include "support/debug.h"
@@ -579,9 +578,6 @@ GuiFontMetrics::breakString_helper(docstring const & s, int first_wid, int wid,
*/
to.setWrapMode(force ? QTextOption::WrapAtWordBoundaryOrAnywhere
: QTextOption::WordWrap);
- // Let QTextLine::naturalTextWidth() account for trailing spaces
- // (horizontalAdvance() still does not).
- to.setFlags(QTextOption::IncludeTrailingSpaces);
tl.setTextOption(to);
bool first = true;
@@ -600,26 +596,43 @@ GuiFontMetrics::breakString_helper(docstring const & s, int first_wid, int wid,
int pos = 0;
for (int i = 0 ; i < tl.lineCount() ; ++i) {
QTextLine const & line = tl.lineAt(i);
- int const epos = brkstr2str_pos(qs, s, line.textStart() + line.textLength());
+ int const line_epos = line.textStart() + line.textLength();
+ int const epos = brkstr2str_pos(qs, s, line_epos);
#if QT_VERSION >= 0x050000
- int const wid = i + 1 < tl.lineCount() ? iround(line.horizontalAdvance())
- : iround(line.naturalTextWidth());
+ // This does not take trailing spaces into account, except for the last line.
+ int const wid = iround(line.naturalTextWidth());
+ // If the line is not the last one, trailing space is always omitted.
+ int nspc_wid = wid;
+ // For the last line, compute the width without trailing space
+ if (i + 1 == tl.lineCount()) {
+ // trim_pos points to the last character that is not a space
+ auto trim_pos = s.find_last_not_of(from_ascii(" "));
+ if (trim_pos == docstring::npos)
+ nspc_wid = 0;
+ else if (trim_pos + 1 < s.length()) {
+ int const num_spaces = s.length() - trim_pos - 1;
+ // find the position on the line before trailing
+ // spaces. Remove 1 to account for the ending
+ // non-breaking space of qs.
+ nspc_wid = iround(line.cursorToX(line_epos - num_spaces - 1));
+ }
+ }
#else
// With some monospace fonts, the value of horizontalAdvance()
// can be wrong with Qt4. One hypothesis is that the invisible
// characters that we use are given a non-null width.
// FIXME: this is slower than it could be but we'll get rid of Qt4 anyway
- int const wid = i + 1 < tl.lineCount() ? width(rtrim(s.substr(pos, epos - pos)))
- : width(s.substr(pos, epos - pos));
+ docstring const ss = s.substr(pos, epos - pos);
+ int const wid = width(ss);
+ int const nspc_wid = i + 1 < tl.lineCount() ? wid : width(trim(ss));
#endif
- breaks.emplace_back(epos - pos, wid);
+ breaks.emplace_back(epos - pos, wid, nspc_wid);
pos = epos;
#if 0
// FIXME: should it be kept in some form?
if ((force && line.textLength() == brkStrOffset) || line_wid > x)
return {-1, line_wid};
#endif
-
}
return breaks;
commit 28a1744dcd451c36a1f0724aa6afe08de4a8d6a6
Author: Stephan Witt <switt at lyx.org>
Date: Mon Jan 10 07:48:54 2022 +0100
#12157 Replace old with new banner in DMG background image
diff --git a/development/LyX-Mac-binary-release.sh b/development/LyX-Mac-binary-release.sh
index 25b1c7a..017a610 100644
--- a/development/LyX-Mac-binary-release.sh
+++ b/development/LyX-Mac-binary-release.sh
@@ -332,7 +332,7 @@ QtBuildDir=${QtBuildDir:-"${LyxBuildDir}"/${QtBuildSubDir:-"qt-build"}}
DictionarySourceDir=${DICTIONARYDIR:-$(dirname "${LyxSourceDir}")/dictionaries}
DocumentationDir=$(dirname "${LyxSourceDir}")/Documents
-DmgBackground="${LyxSourceDir}"/development/MacOSX/dmg-background.png
+DmgBackground="${LyxSourceDir}"/development/MacOSX/dmg-background.tiff
if [ -z "${LyXVersion}" ]; then
LyXVersion=$(grep AC_INIT "${LyxSourceDir}"/configure.ac | cut -d, -f2 | tr -d " []()")
@@ -959,7 +959,7 @@ set_bundle_display_options() {
X_BOUNDS=$2
Y_BOUNDS=$3
Y_POSITION=$((Y_BOUNDS - 65))
- Y_BOUNDS=$((Y_BOUNDS + 20))
+ Y_BOUNDS=$((Y_BOUNDS + 50))
LYX_X_POSITION=$((X_BOUNDS / 4))
LYX_Y_POSITION=$Y_POSITION
APP_X_POSITION=$((3 * X_BOUNDS / 4))
@@ -997,10 +997,19 @@ set_bundle_display_options() {
EOF
}
+# The image was made with with inkscape and tiffutil from dmg-background.svgz
+make_image() {
+ INKSCAPE=/Applications/Inkscape.app/Contents/MacOS/inkscape
+ cd "${LyxSourceDir}"/development/MacOSX
+ ${INKSCAPE} --export-type=png -w 560 -o dmg-background.png dmg-background.svgz
+ ${INKSCAPE} --export-type=png -w 1120 -o dmg-background at 2x.png dmg-background.svgz
+ tiffutil -cathidpicheck dmg-background.png dmg-background at 2x.png -out dmg-background.tiff
+}
+
make_dmg() {
cd "${1}"
- BGSIZE=$(file "$DmgBackground" | awk -F , '/PNG/{print $2 }' | tr x ' ')
+ BGSIZE=$(file "$DmgBackground" | awk -F , '/TIFF/{ print $10 $4 ;}/PNG/{ print $2; }'|sed -e 's/width=//' -e 's/height=//' -e 's/x//')
BG_W=$(echo ${BGSIZE} | awk '{print $1 }')
BG_H=$(echo ${BGSIZE} | awk '{print $2 }')
diff --git a/development/MacOSX/dmg-background.png b/development/MacOSX/dmg-background.png
index 1a513a8..b6feca5 100644
Binary files a/development/MacOSX/dmg-background.png and b/development/MacOSX/dmg-background.png differ
diff --git a/development/MacOSX/dmg-background.svgz b/development/MacOSX/dmg-background.svgz
new file mode 100644
index 0000000..db0d3d6
Binary files /dev/null and b/development/MacOSX/dmg-background.svgz differ
diff --git a/development/MacOSX/dmg-background.tiff b/development/MacOSX/dmg-background.tiff
new file mode 100644
index 0000000..15651a8
Binary files /dev/null and b/development/MacOSX/dmg-background.tiff differ
diff --git a/development/MacOSX/dmg-background at 2x.png b/development/MacOSX/dmg-background at 2x.png
new file mode 100644
index 0000000..e5b5a3b
Binary files /dev/null and b/development/MacOSX/dmg-background at 2x.png differ
commit 678ab325c0a38b475a60a9045691789d115b2491
Author: Stephan Witt <switt at lyx.org>
Date: Sun Jan 9 22:33:43 2022 +0100
#12423 fix a focus change problem
The search widget triggers a showEvent() in updateTitle() leading to setting the focus to the default push button.
The check in updateTitle() for the need to restore the title avoids superfluous show events and avoids the unwanted focus change.
diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp
index e387ce8..f12d42c 100644
--- a/src/frontends/qt/GuiSearch.cpp
+++ b/src/frontends/qt/GuiSearch.cpp
@@ -649,9 +649,10 @@ void GuiSearch::updateTitle()
// remove title bar
setTitleBarWidget(new QWidget());
titleBarWidget()->hide();
- } else
+ } else if (titleBarWidget()) {
// restore title bar
setTitleBarWidget(nullptr);
+ }
}
commit 22045e455aeb1ecec4507331e4e171bdf21c116d
Author: Stephan Witt <switt at lyx.org>
Date: Sun Jan 9 12:29:02 2022 +0100
#12434 add GUI debug messages for pinch-to-zoom gesture
diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp
index 91e8229..5cf4fce 100644
--- a/src/frontends/qt/GuiView.cpp
+++ b/src/frontends/qt/GuiView.cpp
@@ -1632,11 +1632,15 @@ bool GuiView::event(QEvent * e)
if (gp) {
QPinchGesture *pinch = static_cast<QPinchGesture *>(gp);
QPinchGesture::ChangeFlags changeFlags = pinch->changeFlags();
+ qreal totalScaleFactor = pinch->totalScaleFactor();
+ LYXERR(Debug::GUI, "totalScaleFactor: " << totalScaleFactor);
if (pinch->state() == Qt::GestureStarted) {
initialZoom_ = lyxrc.currentZoom;
+ LYXERR(Debug::GUI, "initialZoom_: " << initialZoom_);
}
if (changeFlags & QPinchGesture::ScaleFactorChanged) {
- qreal factor = initialZoom_ * pinch->totalScaleFactor();
+ qreal factor = initialZoom_ * totalScaleFactor;
+ LYXERR(Debug::GUI, "scaleFactor: " << factor);
zoomValueChanged(factor);
}
}
commit 7134ebd7938ee2f2e075d53b83a346b168a622c1
Author: Daniel Ramoeller <d.lyx at web.de>
Date: Wed Jan 5 15:27:46 2022 +0100
Pinch to zoom fix
Amendment to fix for #12434.
diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp
index 6cd97f5..91e8229 100644
--- a/src/frontends/qt/GuiView.cpp
+++ b/src/frontends/qt/GuiView.cpp
@@ -1632,8 +1632,11 @@ bool GuiView::event(QEvent * e)
if (gp) {
QPinchGesture *pinch = static_cast<QPinchGesture *>(gp);
QPinchGesture::ChangeFlags changeFlags = pinch->changeFlags();
+ if (pinch->state() == Qt::GestureStarted) {
+ initialZoom_ = lyxrc.currentZoom;
+ }
if (changeFlags & QPinchGesture::ScaleFactorChanged) {
- qreal factor = lyxrc.currentZoom*pinch->scaleFactor();
+ qreal factor = initialZoom_ * pinch->totalScaleFactor();
zoomValueChanged(factor);
}
}
diff --git a/src/frontends/qt/GuiView.h b/src/frontends/qt/GuiView.h
index 145a1f2..9ad3610 100644
--- a/src/frontends/qt/GuiView.h
+++ b/src/frontends/qt/GuiView.h
@@ -526,6 +526,9 @@ private:
// developer mode
bool devel_mode_;
+
+ // initial zoom for pinch gesture
+ int initialZoom_;
};
commit 65394e1907cbbac7de76cc0c461454cc8e0e89dc
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sat Jan 8 23:03:15 2022 +0100
fix file name
diff --git a/src/LayoutModuleList.h b/src/LayoutModuleList.h
index 868c1cf..6018029 100644
--- a/src/LayoutModuleList.h
+++ b/src/LayoutModuleList.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
/**
- * \file ModuleList.h
+ * \file LayoutModuleList.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
commit 1ed9257c6dc57fc11990b86d5774ac9a8e70cfa6
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Fri Jan 7 17:58:33 2022 +0100
Document \draw_strategy in release notes
Also trim some whitespace.
diff --git a/lib/RELEASE-NOTES b/lib/RELEASE-NOTES
index 0c7df0f..dc97f29 100644
--- a/lib/RELEASE-NOTES
+++ b/lib/RELEASE-NOTES
@@ -19,14 +19,14 @@
* Ctrl-click on a cross-reference will now take you to its label.
* Default shortcuts for saving bookmarks have been changed to Alt-NUM, where
- NUM is the number of the bookmark. (They were previously Shift-F1, etc.)
+ NUM is the number of the bookmark. (They were previously Shift-F1, etc.)
* This allows Shift-F3 to be used for word-find-backwards (i.e., find previous)
on Linux and Windows.
* The shortcut to use the selection for a find on macOS is now Cmd-E, as is the
Apple standard. The shortcut for find the next occurrence of the current
- find buffer text is Cmd-G. The shortcut for toggle of font emphasis has been
+ find buffer text is Cmd-G. The shortcut for toggle of font emphasis has been
changed to Cmd-Ctrl-E.
* Continuous spellcheck is now on by default, but only if the user does not have
@@ -48,12 +48,12 @@
* Documents that use TeX fonts can only be compiled with XeTeX if the input
encoding is set to "utf8-plain" or "ascii".
-
-* DocBook support has been revamped and now targets DocBook 5 (i.e.
- only XML, SGML is gone). Some supporting files for the previous
- implementation have been removed: all examples (lib/examples),
- some layouts (existing documents should still work, but with a
- DocBook 5 output instead of DocBook 4 SGML). The dependency on
+
+* DocBook support has been revamped and now targets DocBook 5 (i.e.
+ only XML, SGML is gone). Some supporting files for the previous
+ implementation have been removed: all examples (lib/examples),
+ some layouts (existing documents should still work, but with a
+ DocBook 5 output instead of DocBook 4 SGML). The dependency on
sgmltools has been removed, this new support is always enabled.
Having sgmltools installed or not will not change anything in LyX.
@@ -68,6 +68,11 @@
* \citation_search_view lyxpaperview: determines whether external script "lyxpaperview"
should be used for looking up citation source.
+* \draw_strategy partial|backingstore: when this is set to
+ "backingstore", the drawing code will force the use of an
+ intermediate surface, instead of just drawing changed regions on
+ screen. Note that "backingstore" is actually always enforced on
+ macOS and Wayland (default: partial).
!!!The following pref variables were changed in 2.4:
@@ -164,7 +169,7 @@
* The examples and templates directories have been completely re-organized.
They are now much more structured (by means of layout categories) and thus
- consist of many new subfolders.
+ consist of many new subfolders.
@@ -232,7 +237,7 @@
* Several ttf fonts (esint10.ttf, stmary10.ttf, wasy10.ttf) were changed
to reflect the fact that newer Qt libraries do not support displaying certain
- codepoints anymore (bug #8493, #10161).
+ codepoints anymore (bug #8493, #10161).
Distribution packagers need to repack those font files in case they are
delivering the fonts as a separated package dependent from core LyX
in order to display correctly math symbols like \oint.
commit d9b9307d14ea5cdf6e6e17d2ccba15048407a3cb
Author: Stephan Witt <switt at lyx.org>
Date: Wed Jan 5 08:26:18 2022 +0100
#12451 Adjust color cache on change of dark/light mode
diff --git a/src/frontends/qt/GuiApplication.cpp b/src/frontends/qt/GuiApplication.cpp
index 5cd8f29..b44f2c5 100644
--- a/src/frontends/qt/GuiApplication.cpp
+++ b/src/frontends/qt/GuiApplication.cpp
@@ -2322,6 +2322,12 @@ void GuiApplication::onLocaleChanged()
}
+void GuiApplication::onPaletteChanged()
+{
+ colorCache().setPalette(palette());
+}
+
+
void GuiApplication::handleKeyFunc(FuncCode action)
{
char_type c = 0;
@@ -2977,6 +2983,11 @@ bool GuiApplication::event(QEvent * e)
e->accept();
return true;
#endif
+ case QEvent::ApplicationPaletteChange: {
+ // runtime switch from/to dark mode
+ onPaletteChanged();
+ return QApplication::event(e);
+ }
default:
return QApplication::event(e);
}
diff --git a/src/frontends/qt/GuiApplication.h b/src/frontends/qt/GuiApplication.h
index f0c3e1e..e40815e 100644
--- a/src/frontends/qt/GuiApplication.h
+++ b/src/frontends/qt/GuiApplication.h
@@ -230,6 +230,8 @@ private Q_SLOTS:
///
void onLocaleChanged();
///
+ void onPaletteChanged();
+ ///
void slotProcessFuncRequestQueue() { processFuncRequestQueue(); }
///
#if (QT_VERSION >= 0x050100)
commit d44c63e2c67cad1bd0dda4cf3e0fa09df5b225ad
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Tue Jan 4 18:58:55 2022 +0100
Set current cursor font when toggling emphasize
The change actually works for all font toggling with implicit selection.
Fixes bug #12450.
diff --git a/src/Text2.cpp b/src/Text2.cpp
index 66dd083..9026740 100644
--- a/src/Text2.cpp
+++ b/src/Text2.cpp
@@ -425,6 +425,7 @@ void Text::toggleFree(Cursor & cur, Font const & font, bool toggleall)
cur.clearSelection();
cur.top() = resetCursor;
cur.resetAnchor();
+ cur.setCurrentFont();
}
}
commit 109ea2be4a21ca93d22ab25703b3352a50fbbe3b
Author: José Matos <jamatos at lyx.org>
Date: Tue Jan 4 00:21:34 2022 +0000
Add new placeholder $${python} to configure
This ensures that we use a consistent Python interpreter in LyX.
$${python} is replaced by the Python version found.
Users can apply this in preferences and use the same version defined by
LyX.
diff --git a/lib/configure.py b/lib/configure.py
index 7d9b61c..17ef38f 100644
--- a/lib/configure.py
+++ b/lib/configure.py
@@ -653,7 +653,7 @@ def checkLatex(dtl_tools):
if dtl_tools:
# Windows only: DraftDVI
addToRC(r'''\converter latex dvi2 "%s" "latex,hyperref-driver=dvips"
-\converter dvi2 dvi "python -tt $$s/scripts/clean_dvi.py $$i $$o" ""''' % LATEX)
+\converter dvi2 dvi "$${python} $$s/scripts/clean_dvi.py $$i $$o" ""''' % LATEX)
else:
addToRC(r'\converter latex dvi "%s" "latex,hyperref-driver=dvips"' % LATEX)
# no latex
@@ -943,7 +943,7 @@ def checkConverterEntries():
checkProg('an HTML -> LaTeX converter', ['html2latex $$i', 'gnuhtml2latex',
'htmltolatex -input $$i -output $$o', 'htmltolatex.jar -input $$i -output $$o'],
rc_entry = [ r'\converter html latex "%%" ""',
- r'\converter html latex "python -tt $$s/scripts/html2latexwrapper.py %% $$i $$o" ""',
+ r'\converter html latex "$${python} $$s/scripts/html2latexwrapper.py %% $$i $$o" ""',
r'\converter html latex "%%" ""',
r'\converter html latex "%%" ""', '' ])
#
@@ -964,8 +964,8 @@ def checkConverterEntries():
['elyxer.py --html --nofooter --unicode --directory $$r $$i $$o', 'elyxer --html --nofooter --unicode --directory $$r $$i $$o'],
rc_entry = [ r'\converter lyx word "%%" ""' ])
if elyxer.find('elyxer') >= 0:
- addToRC(r'''\copier html "python -tt $$s/scripts/ext_copy.py -e html,png,jpg,jpeg,css $$i $$o"''')
- addToRC(r'''\copier wordhtml "python -tt $$s/scripts/ext_copy.py -e html,png,jpg,jpeg,css $$i $$o"''')
+ addToRC(r'''\copier html "$${python} $$s/scripts/ext_copy.py -e html,png,jpg,jpeg,css $$i $$o"''')
+ addToRC(r'''\copier wordhtml "$${python} $$s/scripts/ext_copy.py -e html,png,jpg,jpeg,css $$i $$o"''')
else:
# search for HTML converters other than eLyXer
# On SuSE the scripts have a .sh suffix, and on debian they are in /usr/share/tex4ht/
@@ -974,17 +974,17 @@ def checkConverterEntries():
'latex2html -no_subdir -split 0 -show_section_numbers $$i', 'hevea -s $$i'],
rc_entry = [ r'\converter latex html "%%" "needaux"' ])
if htmlconv.find('htlatex') >= 0 or htmlconv == 'latex2html':
- addToRC(r'''\copier html "python -tt $$s/scripts/ext_copy.py -e html,png,css $$i $$o"''')
+ addToRC(r'''\copier html "$${python} $$s/scripts/ext_copy.py -e html,png,css $$i $$o"''')
else:
- addToRC(r'''\copier html "python -tt $$s/scripts/ext_copy.py $$i $$o"''')
+ addToRC(r'''\copier html "$${python} $$s/scripts/ext_copy.py $$i $$o"''')
path, htmlconv = checkProg('a LaTeX -> HTML (MS Word) converter', ["htlatex $$i 'html,word' 'symbol/!' '-cvalidate'",
"htlatex.sh $$i 'html,word' 'symbol/!' '-cvalidate'",
"/usr/share/tex4ht/htlatex $$i 'html,word' 'symbol/!' '-cvalidate'"],
rc_entry = [ r'\converter latex wordhtml "%%" "needaux"' ])
if htmlconv.find('htlatex') >= 0:
- addToRC(r'''\copier wordhtml "python -tt $$s/scripts/ext_copy.py -e html,png,css $$i $$o"''')
+ addToRC(r'''\copier wordhtml "$${python} $$s/scripts/ext_copy.py -e html,png,css $$i $$o"''')
else:
- addToRC(r'''\copier wordhtml "python -tt $$s/scripts/ext_copy.py $$i $$o"''')
+ addToRC(r'''\copier wordhtml "$${python} $$s/scripts/ext_copy.py $$i $$o"''')
# Check if LyXBlogger is installed
@@ -1015,9 +1015,9 @@ def checkConverterEntries():
xpath = 'none'
global java
if xsltproc != '':
- addToRC(r'\converter docbook5 epub "python $$s/scripts/docbook2epub.py none none \"' + xsltproc + r'\" ' + xpath + ' $$i $$r $$o" ""')
+ addToRC(r'\converter docbook5 epub "$${python} $$s/scripts/docbook2epub.py none none \"' + xsltproc + r'\" ' + xpath + ' $$i $$r $$o" ""')
elif java != '':
- addToRC(r'\converter docbook5 epub "python $$s/scripts/docbook2epub.py \"' + java + r'\" none none ' + xpath + ' $$i $$r $$o" ""')
+ addToRC(r'\converter docbook5 epub "$${python} $$s/scripts/docbook2epub.py \"' + java + r'\" none none ' + xpath + ' $$i $$r $$o" ""')
#
checkProg('a MS Word Office Open XML converter -> LaTeX', ['pandoc -s -f docx -o $$o -t latex $$i'],
rc_entry = [ r'\converter word2 latex "%%" ""' ])
@@ -1089,8 +1089,8 @@ def checkConverterEntries():
# PDF produced using non-TeX fonts. This does not produce non-unique
# conversion paths, since a given document either uses TeX fonts or not.
checkProg('Ghostscript', ["gswin32c", "gswin64c", "gs"],
- rc_entry = [ r'''\converter pdf2 pdf8 "python -tt $$s/scripts/convert_pdf.py $$i $$o ebook" ""
-\converter pdf4 pdf8 "python -tt $$s/scripts/convert_pdf.py $$i $$o ebook" ""''' ])
+ rc_entry = [ r'''\converter pdf2 pdf8 "$${python} $$s/scripts/convert_pdf.py $$i $$o ebook" ""
+\converter pdf4 pdf8 "$${python} $$s/scripts/convert_pdf.py $$i $$o ebook" ""''' ])
#
checkProg('a Beamer info extractor', ['makebeamerinfo -p $$i'],
rc_entry = [ r'\converter pdf2 beamer.info "%%" ""' ])
@@ -1116,24 +1116,24 @@ def checkConverterEntries():
\converter fig ppm "fig2dev -L ppm $$i $$o" ""
\converter fig svg "fig2dev -L svg $$i $$o" ""
\converter fig png "fig2dev -L png $$i $$o" ""
-\converter fig pdftex "python -tt $$s/scripts/fig2pdftex.py $$i $$o" ""
-\converter fig pstex "python -tt $$s/scripts/fig2pstex.py $$i $$o" ""''')
+\converter fig pdftex "$${python} $$s/scripts/fig2pdftex.py $$i $$o" ""
+\converter fig pstex "$${python} $$s/scripts/fig2pstex.py $$i $$o" ""''')
#
if inkscape_stable:
checkProg('a SVG -> PDFTeX converter', [inkscape_cl],
- rc_entry = [ r'\converter svg pdftex "python -tt $$s/scripts/svg2pdftex.py %% $$p$$i $$p$$o" ""'],
+ rc_entry = [ r'\converter svg pdftex "$${python} $$s/scripts/svg2pdftex.py %% $$p$$i $$p$$o" ""'],
path = [inkscape_path])
#
checkProg('a SVG -> PSTeX converter', [inkscape_cl],
- rc_entry = [ r'\converter svg pstex "python -tt $$s/scripts/svg2pstex.py %% $$p$$i $$p$$o" ""'],
+ rc_entry = [ r'\converter svg pstex "$${python} $$s/scripts/svg2pstex.py %% $$p$$i $$p$$o" ""'],
path = [inkscape_path])
else:
checkProg('a SVG -> PDFTeX converter', [inkscape_cl],
- rc_entry = [ r'\converter svg pdftex "python -tt $$s/scripts/svg2pdftex.py --unstable %% $$p$$i $$p$$o" ""'],
+ rc_entry = [ r'\converter svg pdftex "$${python} $$s/scripts/svg2pdftex.py --unstable %% $$p$$i $$p$$o" ""'],
path = [inkscape_path])
#
checkProg('a SVG -> PSTeX converter', [inkscape_cl],
- rc_entry = [ r'\converter svg pstex "python -tt $$s/scripts/svg2pstex.py --unstable %% $$p$$i $$p$$o" ""'],
+ rc_entry = [ r'\converter svg pstex "$${python} $$s/scripts/svg2pstex.py --unstable %% $$p$$i $$p$$o" ""'],
path = [inkscape_path])
#
checkProg('a TIFF -> PS converter', ['tiff2ps $$i > $$o'],
@@ -1248,7 +1248,7 @@ def checkConverterEntries():
#
checkProg('Gnuplot', ['gnuplot'],
rc_entry = [ r'''\Format gnuplot "gp, gnuplot" "Gnuplot" "" "" "" "vector" "text/plain"
-\converter gnuplot pdf6 "python -tt $$s/scripts/gnuplot2pdf.py $$i $$o" "needauth"''' ])
+\converter gnuplot pdf6 "$${python} $$s/scripts/gnuplot2pdf.py $$i $$o" "needauth"''' ])
#
# gnumeric/xls/ods to tex
checkProg('a spreadsheet -> latex converter', ['ssconvert'],
@@ -1260,10 +1260,10 @@ def checkConverterEntries():
\converter oocalc html_table "ssconvert --export-type=Gnumeric_html:html40frag $$i $$o" ""
\converter excel html_table "ssconvert --export-type=Gnumeric_html:html40frag $$i $$o" ""
\converter excel2 html_table "ssconvert --export-type=Gnumeric_html:html40frag $$i $$o" ""
-\converter gnumeric xhtml_table "python $$s/scripts/spreadsheet_to_docbook.py $$i $$o" ""
-\converter oocalc xhtml_table "python $$s/scripts/spreadsheet_to_docbook.py $$i $$o" ""
-\converter excel xhtml_table "python $$s/scripts/spreadsheet_to_docbook.py $$i $$o" ""
-\converter excel2 xhtml_table "python $$s/scripts/spreadsheet_to_docbook.py $$i $$o" ""
+\converter gnumeric xhtml_table "$${python} $$s/scripts/spreadsheet_to_docbook.py $$i $$o" ""
+\converter oocalc xhtml_table "$${python} $$s/scripts/spreadsheet_to_docbook.py $$i $$o" ""
+\converter excel xhtml_table "$${python} $$s/scripts/spreadsheet_to_docbook.py $$i $$o" ""
+\converter excel2 xhtml_table "$${python} $$s/scripts/spreadsheet_to_docbook.py $$i $$o" ""
'''])
path, lilypond = checkProg('a LilyPond -> EPS/PDF/PNG converter', ['lilypond'])
@@ -1327,7 +1327,7 @@ def checkConverterEntries():
docbook_lilypond_cmd = cmd
if "python" in docbook_lilypond_cmd:
docbook_lilypond_cmd = '"' + path + '/lilypond-book"'
- addToRC(r'\copier docbook5 "python $$s/scripts/docbook_copy.py ' + docbook_lilypond_cmd.replace('"', r'\"') + r' $$i $$o"')
+ addToRC(r'\copier docbook5 "$${python} $$s/scripts/docbook_copy.py ' + docbook_lilypond_cmd.replace('"', r'\"') + r' $$i $$o"')
logger.info('+ found LilyPond-book version %s.' % version_number)
@@ -1345,7 +1345,7 @@ def checkConverterEntries():
# Currently, lyxpak outputs a gzip compressed tar archive on *nix
# and a zip archive on Windows.
# So, we configure the appropriate version according to the platform.
- cmd = r'\converter lyx %s "python -tt $$s/scripts/lyxpak.py $$r/$$f" ""'
+ cmd = r'\converter lyx %s "$${python} $$s/scripts/lyxpak.py $$r/$$f" ""'
if os.name == 'nt':
addToRC(r'\Format lyxzip zip "LyX Archive (zip)" "" "" "" "document,menu=export" ""')
addToRC(cmd % "lyxzip")
@@ -1359,24 +1359,24 @@ def checkConverterEntries():
#
# Entries that do not need checkProg
addToRC(r'''
-\converter csv lyx "python -tt $$s/scripts/csv2lyx.py $$i $$o" ""
-\converter fen asciichess "python -tt $$s/scripts/fen2ascii.py $$i $$o" ""
-\converter lyx lyx13x "python -tt $$s/lyx2lyx/lyx2lyx -V 1.3 -o $$o $$i" ""
-\converter lyx lyx14x "python -tt $$s/lyx2lyx/lyx2lyx -V 1.4 -o $$o $$i" ""
-\converter lyx lyx15x "python -tt $$s/lyx2lyx/lyx2lyx -V 1.5 -o $$o $$i" ""
-\converter lyx lyx16x "python -tt $$s/lyx2lyx/lyx2lyx -V 1.6 -o $$o $$i" ""
-\converter lyx lyx20x "python -tt $$s/lyx2lyx/lyx2lyx -V 2.0 -o $$o $$i" ""
-\converter lyx lyx21x "python -tt $$s/lyx2lyx/lyx2lyx -V 2.1 -o $$o $$i" ""
-\converter lyx lyx22x "python -tt $$s/lyx2lyx/lyx2lyx -V 2.2 -o $$o $$i" ""
-\converter lyx lyx23x "python -tt $$s/lyx2lyx/lyx2lyx -V 2.3 -o $$o $$i" ""
-\converter lyx clyx "python -tt $$s/lyx2lyx/lyx2lyx -V 1.4 -o $$o -c big5 $$i" ""
-\converter lyx jlyx "python -tt $$s/lyx2lyx/lyx2lyx -V 1.4 -o $$o -c euc_jp $$i" ""
-\converter lyx klyx "python -tt $$s/lyx2lyx/lyx2lyx -V 1.4 -o $$o -c euc_kr $$i" ""
-\converter clyx lyx "python -tt $$s/lyx2lyx/lyx2lyx -c big5 -o $$o $$i" ""
-\converter jlyx lyx "python -tt $$s/lyx2lyx/lyx2lyx -c euc_jp -o $$o $$i" ""
-\converter klyx lyx "python -tt $$s/lyx2lyx/lyx2lyx -c euc_kr -o $$o $$i" ""
-\converter lyxpreview png "python -tt $$s/scripts/lyxpreview2bitmap.py --png" ""
-\converter lyxpreview ppm "python -tt $$s/scripts/lyxpreview2bitmap.py --ppm" ""
+\converter csv lyx "$${python} $$s/scripts/csv2lyx.py $$i $$o" ""
+\converter fen asciichess "$${python} $$s/scripts/fen2ascii.py $$i $$o" ""
+\converter lyx lyx13x "$${python} $$s/lyx2lyx/lyx2lyx -V 1.3 -o $$o $$i" ""
+\converter lyx lyx14x "$${python} $$s/lyx2lyx/lyx2lyx -V 1.4 -o $$o $$i" ""
+\converter lyx lyx15x "$${python} $$s/lyx2lyx/lyx2lyx -V 1.5 -o $$o $$i" ""
+\converter lyx lyx16x "$${python} $$s/lyx2lyx/lyx2lyx -V 1.6 -o $$o $$i" ""
+\converter lyx lyx20x "$${python} $$s/lyx2lyx/lyx2lyx -V 2.0 -o $$o $$i" ""
+\converter lyx lyx21x "$${python} $$s/lyx2lyx/lyx2lyx -V 2.1 -o $$o $$i" ""
+\converter lyx lyx22x "$${python} $$s/lyx2lyx/lyx2lyx -V 2.2 -o $$o $$i" ""
+\converter lyx lyx23x "$${python} $$s/lyx2lyx/lyx2lyx -V 2.3 -o $$o $$i" ""
+\converter lyx clyx "$${python} $$s/lyx2lyx/lyx2lyx -V 1.4 -o $$o -c big5 $$i" ""
+\converter lyx jlyx "$${python} $$s/lyx2lyx/lyx2lyx -V 1.4 -o $$o -c euc_jp $$i" ""
+\converter lyx klyx "$${python} $$s/lyx2lyx/lyx2lyx -V 1.4 -o $$o -c euc_kr $$i" ""
+\converter clyx lyx "$${python} $$s/lyx2lyx/lyx2lyx -c big5 -o $$o $$i" ""
+\converter jlyx lyx "$${python} $$s/lyx2lyx/lyx2lyx -c euc_jp -o $$o $$i" ""
+\converter klyx lyx "$${python} $$s/lyx2lyx/lyx2lyx -c euc_kr -o $$o $$i" ""
+\converter lyxpreview png "$${python} $$s/scripts/lyxpreview2bitmap.py --png" ""
+\converter lyxpreview ppm "$${python} $$s/scripts/lyxpreview2bitmap.py --ppm" ""
''')
@@ -1410,11 +1410,11 @@ def checkOtherEntries():
## FIXME: MAPLE is not used anywhere
# path, MAPLE = checkProg('Maple', ['maple'])
# Add the rest of the entries (no checkProg is required)
- addToRC(r'''\citation_search_view "python -tt $$s/scripts/lyxpaperview.py"''')
- addToRC(r'''\copier fig "python -tt $$s/scripts/fig_copy.py $$i $$o"
-\copier pstex "python -tt $$s/scripts/tex_copy.py $$i $$o $$l"
-\copier pdftex "python -tt $$s/scripts/tex_copy.py $$i $$o $$l"
-\copier program "python -tt $$s/scripts/ext_copy.py $$i $$o"
+ addToRC(r'''\citation_search_view "$${python} $$s/scripts/lyxpaperview.py"''')
+ addToRC(r'''\copier fig "$${python} $$s/scripts/fig_copy.py $$i $$o"
+\copier pstex "$${python} $$s/scripts/tex_copy.py $$i $$o $$l"
+\copier pdftex "$${python} $$s/scripts/tex_copy.py $$i $$o $$l"
+\copier program "$${python} $$s/scripts/ext_copy.py $$i $$o"
''')
def _checkForClassExtension(x):
diff --git a/lib/scripts/include_bib.py b/lib/scripts/include_bib.py
index 71fbb61..0fb5afb 100644
--- a/lib/scripts/include_bib.py
+++ b/lib/scripts/include_bib.py
@@ -17,7 +17,7 @@
# automatically. To set it up, create a format "ltxbbl"; make sure to
# check it as a document format. Then create a LaTeX-->ltxbbl converter,
# with the command:
-# python -tt $$s/scripts/include_bib.py $$i $$o
+# $${python} $$s/scripts/include_bib.py $$i $$o
# and give it the flags:
# needaux,nice
# You'll then have it in the export menu.
diff --git a/src/Converter.cpp b/src/Converter.cpp
index 0578026..c00941d 100644
--- a/src/Converter.cpp
+++ b/src/Converter.cpp
@@ -60,7 +60,7 @@ string const token_orig_path("$$r");
string const token_orig_from("$$f");
string const token_encoding("$$e");
string const token_latex_encoding("$$E");
-
+string const token_python("$${python}");
string const add_options(string const & command, string const & options)
{
@@ -644,6 +644,7 @@ Converters::RetVal Converters::convert(Buffer const * buffer,
command = subst(command, token_orig_path, quoteName(onlyPath(orig_from.absFileName())));
command = subst(command, token_orig_from, quoteName(onlyFileName(orig_from.absFileName())));
command = subst(command, token_encoding, buffer ? buffer->params().encoding().iconvName() : string());
+ command = subst(command, token_python, os::python());
if (!conv.parselog().empty())
command += " 2> " + quoteName(infile2 + ".out");
@@ -684,11 +685,11 @@ Converters::RetVal Converters::convert(Buffer const * buffer,
if (res == Systemcall::KILLED) {
frontend::Alert::warning(
_("Converter killed"),
- bformat(_("The following converter was killed by the user.\n %1$s\n"),
+ bformat(_("The following converter was killed by the user.\n %1$s\n"),
from_utf8(command)));
return KILLED;
}
-
+
if (!real_outfile.empty()) {
Mover const & mover = getMover(conv.to());
if (!mover.rename(outfile, real_outfile))
@@ -713,7 +714,7 @@ Converters::RetVal Converters::convert(Buffer const * buffer,
if (res == Systemcall::KILLED) {
frontend::Alert::warning(
_("Converter killed"),
- bformat(_("The following converter was killed by the user.\n %1$s\n"),
+ bformat(_("The following converter was killed by the user.\n %1$s\n"),
from_utf8(command)));
return KILLED;
}
@@ -728,13 +729,13 @@ Converters::RetVal Converters::convert(Buffer const * buffer,
bformat(_("The conversion process was killed while running:\n%1$s"),
wrapParas(from_utf8(command))));
return KILLED;
- }
+ }
if (res == Systemcall::TIMEOUT) {
Alert::information(_("Process Timed Out"),
bformat(_("The conversion process:\n%1$s\ntimed out before completing."),
wrapParas(from_utf8(command))));
return KILLED;
- }
+ }
if (conv.to() == "program") {
Alert::error(_("Build errors"),
_("There were errors during the build process."));
diff --git a/src/Mover.cpp b/src/Mover.cpp
index a901d98..16d225b 100644
--- a/src/Mover.cpp
+++ b/src/Mover.cpp
@@ -63,6 +63,7 @@ bool SpecialisedMover::do_copy(FileName const & from, FileName const & to,
command = subst(command, "$$i", quoteName(from.toFilesystemEncoding()));
command = subst(command, "$$o", quoteName(to.toFilesystemEncoding()));
command = subst(command, "$$l", quoteName(latex));
+ command = subst(command, "$${python}", os::python());
Systemcall one;
return one.startscript(Systemcall::Wait, command) == 0;
diff --git a/src/graphics/PreviewLoader.cpp b/src/graphics/PreviewLoader.cpp
index de04e4d..28a0e0f 100644
--- a/src/graphics/PreviewLoader.cpp
+++ b/src/graphics/PreviewLoader.cpp
@@ -34,6 +34,7 @@
#include "support/filetools.h"
#include "support/ForkedCalls.h"
#include "support/lstrings.h"
+#include "support/os.h"
#include "support/TempFile.h"
@@ -322,7 +323,7 @@ public:
string const file_name = os.str();
return make_pair(snippet, FileName(file_name));
}
-
+
private:
string const & to_format_;
string const & base_;
@@ -678,7 +679,7 @@ void PreviewLoader::Impl::startLoading(bool wait)
// The conversion command.
ostringstream cs;
- cs << pconverter_->command()
+ cs << subst(pconverter_->command(), "$${python}", os::python())
<< " " << quoteName(latexfile.toFilesystemEncoding())
<< " --dpi " << font_scaling_factor_;
diff --git a/src/support/ForkedCalls.cpp b/src/support/ForkedCalls.cpp
index e6f5a8e..f0b2c7e 100644
--- a/src/support/ForkedCalls.cpp
+++ b/src/support/ForkedCalls.cpp
@@ -305,11 +305,6 @@ int ForkedCall::generateChild()
if (command_.empty())
return 1;
- // Make sure that a V2 python is run, if available.
- string const line = cmd_prefix_ +
- (prefixIs(command_, "python -tt")
- ? os::python() + command_.substr(10) : command_);
-
#if !defined (_WIN32)
// POSIX
@@ -317,8 +312,8 @@ int ForkedCall::generateChild()
// in a contiguous block of memory. The array contains pointers
// to each word.
// Don't forget the terminating `\0' character.
- char const * const c_str = line.c_str();
- vector<char> vec(c_str, c_str + line.size() + 1);
+ char const * const c_str = command_.c_str();
+ vector<char> vec(c_str, c_str + command_.size() + 1);
// Splitting the command up into an array of words means replacing
// the whitespace between words with '\0'. Life is complicated
@@ -382,7 +377,7 @@ int ForkedCall::generateChild()
if (lyxerr.debugging(Debug::FILES)) {
vector<char *>::iterator ait = argv.begin();
vector<char *>::iterator const aend = argv.end();
- lyxerr << "<command>\n\t" << line
+ lyxerr << "<command>\n\t" << command_
<< "\n\tInterpreted as:\n\n";
for (; ait != aend; ++ait)
if (*ait)
diff --git a/src/support/Systemcall.cpp b/src/support/Systemcall.cpp
index f3703b8..6c96de1 100644
--- a/src/support/Systemcall.cpp
+++ b/src/support/Systemcall.cpp
@@ -169,7 +169,7 @@ string const parsecmd(string const & incmd, string & infile, string & outfile,
bool in_single_quote = false;
bool in_double_quote = false;
bool escaped = false;
- string const python_call = "python -tt";
+ string const python_call = os::python();
vector<string> outcmd(4);
size_t start = 0;
diff --git a/src/support/filetools.cpp b/src/support/filetools.cpp
index cfb245c..a3df20a 100644
--- a/src/support/filetools.cpp
+++ b/src/support/filetools.cpp
@@ -410,7 +410,7 @@ FileName const imageLibFileSearch(string & dir, string const & name,
string const commandPrep(string const & command_in)
{
static string const token_scriptpath = "$$s/";
- string const python_call = "python -tt";
+ string const python_call = os::python();
string command = command_in;
if (prefixIs(command_in, python_call))
commit 13a7269b9dc9b00f2edf65de38483b99d8fb1dfe
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Mon Jan 3 15:53:56 2022 -0500
Change LFUN arg from "zoom" to "zoomlevel"
This change is just to be more specific, to help when grepping and
reading.
The idea is from Daniel
(https://www.lyx.org/trac/ticket/12420?replyto=11#comment:11).
Amends cc787967 (and thus 49a17aaa).
diff --git a/lib/ui/stdcontext.inc b/lib/ui/stdcontext.inc
index 5051c44..ed9a9da 100644
--- a/lib/ui/stdcontext.inc
+++ b/lib/ui/stdcontext.inc
@@ -729,7 +729,7 @@ Menuset
Menu "context-statusbar"
ZoomOptions
Separator
- Item "Show Zoom Level|Z" "ui-toggle zoom"
+ Item "Show Zoom Level|Z" "ui-toggle zoomlevel"
Item "Show Zoom Slider|S" "ui-toggle zoomslider"
End
diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp
index 1680ce6..6cd97f5 100644
--- a/src/frontends/qt/GuiView.cpp
+++ b/src/frontends/qt/GuiView.cpp
@@ -2374,7 +2374,7 @@ bool GuiView::getStatus(FuncRequest const & cmd, FuncStatus & flag)
break;
case LFUN_UI_TOGGLE:
- if (cmd.argument() == "zoom") {
+ if (cmd.argument() == "zoomlevel") {
flag.setOnOff(zoom_value_ ? zoom_value_->isVisible() : false);
} else if (cmd.argument() == "zoomslider") {
flag.setOnOff(zoom_slider_ ? zoom_slider_->isVisible() : false);
@@ -4884,7 +4884,7 @@ bool GuiView::lfunUiToggle(string const & ui_component)
statusBar()->setVisible(!statusBar()->isVisible());
} else if (ui_component == "menubar") {
menuBar()->setVisible(!menuBar()->isVisible());
- } else if (ui_component == "zoom") {
+ } else if (ui_component == "zoomlevel") {
zoom_value_->setVisible(!zoom_value_->isVisible());
} else if (ui_component == "zoomslider") {
zoom_slider_->setVisible(!zoom_slider_->isVisible());
commit 940d3ceeb9e6d8ce216afedf18c898ec075cc27d
Author: José Matos <jamatos at lyx.org>
Date: Mon Jan 3 19:59:42 2022 +0000
Make layout2layout compatible with Python 2 and 3
diff --git a/lib/scripts/layout2layout.py b/lib/scripts/layout2layout.py
index 7e40bfb..88ada12 100644
--- a/lib/scripts/layout2layout.py
+++ b/lib/scripts/layout2layout.py
@@ -256,7 +256,7 @@ currentFormat = 95
# New textclass tag BibInToc
# Incremented to format 77, 6 August 2019 by spitz
-# New textclass tag PageSize (= default page size)
+# New textclass tag PageSize (= default page size)
# and textclass option PageSize (= list of available page sizes)
# Incremented to format 78, 6 August 2019 by spitz
@@ -354,7 +354,7 @@ def error(message):
def trim_bom(line):
" Remove byte order mark."
- if line[0:3] == "\357\273\277":
+ if line[0:3] == b"\357\273\277":
return line[3:]
else:
return line
@@ -444,8 +444,8 @@ def convert(lines, end_format):
# for categories
re_Declaration = re.compile(b'^#\\s*\\Declare\\w+Class.*$')
re_ExtractCategory = re.compile(b'^(#\\s*\\Declare\\w+Class(?:\\[[^]]*?\\])?){([^(]+?)\\s+\\(([^)]+?)\\)\\s*}\\s*$')
- ConvDict = {"article": "Articles", "book" : "Books", "letter" : "Letters", "report": "Reports",
- "presentation" : "Presentations", "curriculum vitae" : "Curricula Vitae", "handout" : "Handouts"}
+ ConvDict = {b"article": b"Articles", b"book": b"Books", b"letter": b"Letters", b"report": b"Reports",
+ b"presentation": b"Presentations", b"curriculum vitae": b"Curricula Vitae", b"handout": b"Handouts"}
# Arguments
re_OptArgs = re.compile(b'^(\\s*)OptionalArgs(\\s+)(\\d+)\\D*$', re.IGNORECASE)
re_ReqArgs = re.compile(b'^(\\s*)RequiredArgs(\\s+)(\\d+)\\D*$', re.IGNORECASE)
@@ -615,7 +615,7 @@ def convert(lines, end_format):
continue
col = match.group(2)
if col == "collapsable":
- lines[i] = match.group(1) + "collapsible"
+ lines[i] = match.group(1) + b"collapsible"
i += 1
continue
@@ -833,7 +833,7 @@ def convert(lines, end_format):
# Insert the required number of arguments at the end of the style definition
match = re_End.match(lines[i])
if match:
- newarg = ['']
+ newarg = [b'']
# First the optionals (this is the required order pre 2.1)
if opts > 0:
if opts == 1:
@@ -1283,7 +1283,7 @@ def convert(lines, end_format):
if latextype == b"item_environment" and label.lower() == b"counter_enumi":
lines[labeltype_line] = re_LabelType.sub(b'\\1\\2\\3Enumerate', lines[labeltype_line])
# Don't add the LabelCounter line later
- counter = ""
+ counter = b""
# Replace
#
commit 11d42ac3dff569f4e1a6bb606dcb99d0ba7adc7b
Author: Stephan Witt <switt at lyx.org>
Date: Mon Jan 3 10:44:02 2022 +0100
Remove temporary code comment.
diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp
index 791a2c2..1680ce6 100644
--- a/src/frontends/qt/GuiView.cpp
+++ b/src/frontends/qt/GuiView.cpp
@@ -1634,7 +1634,6 @@ bool GuiView::event(QEvent * e)
QPinchGesture::ChangeFlags changeFlags = pinch->changeFlags();
if (changeFlags & QPinchGesture::ScaleFactorChanged) {
qreal factor = lyxrc.currentZoom*pinch->scaleFactor();
- //factor = ceil(factor/20)*20;
zoomValueChanged(factor);
}
}
commit d4324034300f73f76e5ac34fb1e7653fa6e2ddf5
Author: Stephan Witt <switt at lyx.org>
Date: Mon Jan 3 07:37:03 2022 +0100
#12434 add event handler for pinch-to-zoom gesture
diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp
index ffcbc3d..791a2c2 100644
--- a/src/frontends/qt/GuiView.cpp
+++ b/src/frontends/qt/GuiView.cpp
@@ -110,6 +110,8 @@
#include <QTimer>
#include <QUrl>
#include <QWindowStateChangeEvent>
+#include <QGestureEvent>
+#include <QPinchGesture>
// sync with GuiAlert.cpp
@@ -694,6 +696,9 @@ GuiView::GuiView(int id)
connect(statusBar(), SIGNAL(customContextMenuRequested(QPoint)),
this, SLOT(showZoomContextMenu()));
+ // enable pinch to zoom
+ grabGesture(Qt::PinchGesture);
+
int const iconheight = max(int(d.normalIconSize), fm.height());
QSize const iconsize(iconheight, iconheight);
@@ -1621,6 +1626,21 @@ bool GuiView::event(QEvent * e)
return QMainWindow::event(e);
}
+ case QEvent::Gesture: {
+ QGestureEvent *ge = static_cast<QGestureEvent*>(e);
+ QGesture *gp = ge->gesture(Qt::PinchGesture);
+ if (gp) {
+ QPinchGesture *pinch = static_cast<QPinchGesture *>(gp);
+ QPinchGesture::ChangeFlags changeFlags = pinch->changeFlags();
+ if (changeFlags & QPinchGesture::ScaleFactorChanged) {
+ qreal factor = lyxrc.currentZoom*pinch->scaleFactor();
+ //factor = ceil(factor/20)*20;
+ zoomValueChanged(factor);
+ }
+ }
+ return QMainWindow::event(e);
+ }
+
default:
return QMainWindow::event(e);
}
commit d4cfa5204c3963d5ef99fd9ac263566bc69df21c
Author: Enrico Forestieri <forenr at lyx.org>
Date: Sun Jan 2 18:49:44 2022 +0100
Fix bug #12447
Due to a thinko at 1fe75ae7 the code was not using the correct index.
diff --git a/src/frontends/qt/GuiDelimiter.cpp b/src/frontends/qt/GuiDelimiter.cpp
index 3110db7..479db87 100644
--- a/src/frontends/qt/GuiDelimiter.cpp
+++ b/src/frontends/qt/GuiDelimiter.cpp
@@ -262,8 +262,9 @@ GuiDelimiter::GuiDelimiter(GuiView & lv)
for (int i = 0; i != leftLW->count(); ++i) {
MathSymbol const & ms = mathSymbol(getDelimiterName(leftLW->item(i)));
- QListWidgetItem * rwi = left_list_items_[doMatch(ms.unicode)]->clone();
- right_list_items_[ms.unicode] = rwi;
+ char_type const rdelim = doMatch(ms.unicode);
+ QListWidgetItem * rwi = left_list_items_[rdelim]->clone();
+ right_list_items_[mathSymbol(texName(rdelim)).unicode] = rwi;
rightLW->addItem(rwi);
}
commit df990b1027bfc87f945e1ce29646bd874c5837fa
Author: Stephan Witt <switt at lyx.org>
Date: Sat Jan 1 18:47:57 2022 +0100
Guard new code for builds with OS X 10.11 SDK and lesser (part 2).
diff --git a/src/support/AppleSupport.m b/src/support/AppleSupport.m
index 3a4f864..2c78bd2 100644
--- a/src/support/AppleSupport.m
+++ b/src/support/AppleSupport.m
@@ -42,6 +42,10 @@ void appleCleanupViewMenu() {
bool appleUserTabbingPreferenceAlways() {
+#if defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && (__MAC_OS_X_VERSION_MAX_ALLOWED >= 101200)
return [NSWindow respondsToSelector:@selector(userTabbingPreference)] &&
[NSWindow userTabbingPreference] == NSWindowUserTabbingPreferenceAlways;
+#else
+ return false;
+#endif
}
commit 718b735dfe9459edab125779593e6074faaf9973
Author: Stephan Witt <switt at lyx.org>
Date: Sat Jan 1 18:46:32 2022 +0100
Guard new code for builds with OS X 10.11 SDK and lesser.
diff --git a/src/support/AppleSupport.m b/src/support/AppleSupport.m
index 7657e9d..3a4f864 100644
--- a/src/support/AppleSupport.m
+++ b/src/support/AppleSupport.m
@@ -24,6 +24,7 @@ void appleCleanupEditMenu() {
void appleCleanupViewMenu() {
+#if defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && (__MAC_OS_X_VERSION_MAX_ALLOWED >= 101200)
// Remove the "Show Tab Bar" menu item from the "View" menu, if supported
// See the Apple developer release notes:
// What should an application which already has support for tabbing do?
@@ -35,6 +36,8 @@ void appleCleanupViewMenu() {
// Remove the "Enter Full Screen" menu item from the "View" menu
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"NSFullScreenMenuItemEverywhere"];
+
+#endif
}
commit 47c92834dfd796e1183a75a0f3364b5548b13bff
Author: Stephan Witt <switt at lyx.org>
Date: Sat Jan 1 16:37:07 2022 +0100
Correct white space.
diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp
index d59e64c..ffcbc3d 100644
--- a/src/frontends/qt/GuiView.cpp
+++ b/src/frontends/qt/GuiView.cpp
@@ -1577,7 +1577,8 @@ bool GuiView::event(QEvent * e)
setContentsMargins(0, 0, 0, 0);
}
return result;
- }
+ }
+
case QEvent::WindowActivate: {
GuiView * old_view = guiApp->currentView();
if (this == old_view) {
commit 21258638744d5efa24b1a776daeff1fff1abe6d5
Author: Stephan Witt <switt at lyx.org>
Date: Sat Jan 1 10:06:07 2022 +0100
Qt6 QFontDatabase is a pure static class. Call the member functions directly.
diff --git a/src/frontends/qt/GuiDocument.cpp b/src/frontends/qt/GuiDocument.cpp
index 3e6df5d..4067d6c 100644
--- a/src/frontends/qt/GuiDocument.cpp
+++ b/src/frontends/qt/GuiDocument.cpp
@@ -2679,8 +2679,12 @@ void GuiDocument::updateFontlist()
fontModule->fontsMathCO->addItem(qt_("Class Default (TeX Fonts)"), QString("auto"));
fontModule->fontsMathCO->addItem(unimath, QString("default"));
+#if QT_VERSION >= 0x060000
+ const QStringList families(QFontDatabase::families());
+#else
QFontDatabase fontdb;
- QStringList families(fontdb.families());
+ const QStringList families(fontdb.families());
+#endif
for (auto const & family : families) {
fontModule->fontsRomanCO->addItem(family, family);
fontModule->fontsSansCO->addItem(family, family);
diff --git a/src/frontends/qt/GuiPrefs.cpp b/src/frontends/qt/GuiPrefs.cpp
index 75deb7c..40c0638 100644
--- a/src/frontends/qt/GuiPrefs.cpp
+++ b/src/frontends/qt/GuiPrefs.cpp
@@ -931,8 +931,12 @@ PrefScreenFonts::PrefScreenFonts(GuiPreferences * form)
this, SLOT(selectTypewriter(QString)));
#endif
+#if QT_VERSION >= 0x060000
+ const QStringList families(QFontDatabase::families());
+#else
QFontDatabase fontdb;
- QStringList families(fontdb.families());
+ const QStringList families(fontdb.families());
+#endif
for (auto const & family : families) {
screenRomanCO->addItem(family);
screenSansCO->addItem(family);
commit 64a60c72eae22fcd046d96a3d62a0dcb195c61c0
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Fri Dec 31 14:32:59 2021 +0100
GuiGraphics: disable "Read from file" button if the values do not differ
diff --git a/src/frontends/qt/GuiGraphics.cpp b/src/frontends/qt/GuiGraphics.cpp
index fd4e8f5..64fa397 100644
--- a/src/frontends/qt/GuiGraphics.cpp
+++ b/src/frontends/qt/GuiGraphics.cpp
@@ -337,6 +337,7 @@ void GuiGraphics::on_newGroupPB_clicked()
void GuiGraphics::changeBB()
{
bbChanged = isChangedBB();
+ getPB->setEnabled(bbChanged);
LYXERR(Debug::GRAPHICS, "[bb_Changed set to " << bbChanged << "]");
changed();
}
commit 8f3fdafd9e4e86c1d99b18648ba25da755158955
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Fri Dec 31 14:32:13 2021 +0100
GuiGraphics: check more carefully whether we have a changed BB
diff --git a/src/frontends/qt/GuiGraphics.cpp b/src/frontends/qt/GuiGraphics.cpp
index aefe3d0..fd4e8f5 100644
--- a/src/frontends/qt/GuiGraphics.cpp
+++ b/src/frontends/qt/GuiGraphics.cpp
@@ -336,8 +336,8 @@ void GuiGraphics::on_newGroupPB_clicked()
void GuiGraphics::changeBB()
{
- bbChanged = true;
- LYXERR(Debug::GRAPHICS, "[bb_Changed set to true]");
+ bbChanged = isChangedBB();
+ LYXERR(Debug::GRAPHICS, "[bb_Changed set to " << bbChanged << "]");
changed();
}
@@ -347,6 +347,10 @@ void GuiGraphics::on_browsePB_clicked()
QString const str = browse(filename->text());
if (!str.isEmpty()) {
filename->setText(str);
+ // read in the bb values of the new file
+ // if there was no explicit custom viewport
+ if (!bbChanged)
+ getBB();
changed();
}
}
@@ -355,6 +359,7 @@ void GuiGraphics::on_browsePB_clicked()
void GuiGraphics::on_getPB_clicked()
{
getBB();
+ bbChanged = false;
}
@@ -741,6 +746,37 @@ void GuiGraphics::getBB()
}
+bool GuiGraphics::isChangedBB()
+{
+ string const fn = fromqstr(filename->text());
+ if (fn.empty())
+ return false;
+
+ string const bb = readBoundingBox(fn);
+ if (bb.empty())
+ return false;
+
+ // Compare orig bb values with the set ones
+ if (Length(token(bb, ' ', 0) + "bp") !=
+ Length(widgetToDoubleStr(lbX) + fromqstr(lbXunit->currentText())))
+ return true;
+
+ if (Length(token(bb, ' ', 1) + "bp") !=
+ Length(widgetToDoubleStr(lbY) + fromqstr(lbYunit->currentText())))
+ return true;
+
+ if (Length(token(bb, ' ', 2) + "bp") !=
+ Length(widgetToDoubleStr(rtX) + fromqstr(rtXunit->currentText())))
+ return true;
+
+ if (Length(token(bb, ' ', 3) + "bp") !=
+ Length(widgetToDoubleStr(rtY) + fromqstr(rtYunit->currentText())))
+ return true;
+
+ return false;
+}
+
+
bool GuiGraphics::isValid()
{
return !filename->text().isEmpty();
diff --git a/src/frontends/qt/GuiGraphics.h b/src/frontends/qt/GuiGraphics.h
index 66f614f..2687c08 100644
--- a/src/frontends/qt/GuiGraphics.h
+++ b/src/frontends/qt/GuiGraphics.h
@@ -68,6 +68,8 @@ private:
/// get bounding box from file
void getBB();
+ /// does the bounding box differ from the file?
+ bool isChangedBB();
/// Browse for a file
QString browse(QString const &) const;
/// Read the Bounding Box from a eps or ps-file
commit ec722f3a48ee7f1c774ef504862dcea8276373df
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Fri Dec 31 14:30:09 2021 +0100
GuiGraphics: read the BB values also for new graphics
that aren't in the cache yet.
diff --git a/src/frontends/qt/GuiGraphics.cpp b/src/frontends/qt/GuiGraphics.cpp
index 6a651fd..aefe3d0 100644
--- a/src/frontends/qt/GuiGraphics.cpp
+++ b/src/frontends/qt/GuiGraphics.cpp
@@ -794,16 +794,17 @@ string GuiGraphics::readBoundingBox(string const & file)
{
FileName const abs_file = support::makeAbsPath(file, fromqstr(bufferFilePath()));
- // try to get it from the file, if possible. Zipped files are
- // unzipped in the readBB_from_PSFile-Function
+ // With (E)PS files, try to get it from the file, if possible.
+ // Zipped files are unzipped in the readBB_from_PSFile-Function
string const bb = graphics::readBB_from_PSFile(abs_file);
if (!bb.empty())
return bb;
- // we don't, so ask the Graphics Cache if it has loaded the file
+ // With other formats, we try to read the file dimensions
int width = 0;
int height = 0;
+ // First ask the Graphics Cache if it has loaded the file
graphics::Cache & gc = graphics::Cache::get();
if (gc.inCache(abs_file)) {
graphics::Image const * image = gc.item(abs_file)->image();
@@ -812,6 +813,13 @@ string GuiGraphics::readBoundingBox(string const & file)
width = image->width();
height = image->height();
}
+ } else {
+ // If not, construct a QImage and get the values from that
+ QImage image(toqstr(abs_file.absoluteFilePath()));
+ if (!image.isNull()) {
+ width = image.width();
+ height = image.height();
+ }
}
return ("0 0 " + convert<string>(width) + ' ' + convert<string>(height));
commit 0789f2f2ae43742da200a27f10403f4c6a68713d
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Fri Dec 3 12:16:40 2021 +0100
Fix font inside footnote inset
An inset that resets its font (like Footnote) does not care at all
about enclosing font. Therefore the real starting point is the class
default font. This avoid cases where the footnote contents is forced
to \normalsize.
It turns out that the Greyedout note inset, did inherit font but was
declared as not doing it. This commmit changes the definition by
adding \normalfont\normalsize so that no inheritance happens.
Note that actually \normalfont resets everything but the font size.
This does not matter for footnote (which has its own font size) and
greyedout (which is fixed now), but may matter elsewhere. Also, I do
not know what the situation with HTML is.
diff --git a/lib/layouts/stdinsets.inc b/lib/layouts/stdinsets.inc
index 2106d23..b604cbe 100644
--- a/lib/layouts/stdinsets.inc
+++ b/lib/layouts/stdinsets.inc
@@ -180,6 +180,7 @@ InsetLayout Note:Greyedout
Requires color,lyxgreyedout
BgColor greyedoutbg
Font
+ Size Normal
Color greyedouttext
EndFont
LabelFont
diff --git a/src/LaTeXFeatures.cpp b/src/LaTeXFeatures.cpp
index f321799..ad50374 100644
--- a/src/LaTeXFeatures.cpp
+++ b/src/LaTeXFeatures.cpp
@@ -560,9 +560,9 @@ docstring const lyxgreyedoutDef(bool const rtl, bool const ct, bool const lua, b
ods << " \\if at rl%\n";
ods << " \\everypar{%\n";
if (lua)
- ods << " \\pardir TRT \\textdir TRT\\textcolor{note_fontcolor}\\ignorespaces%\n";
+ ods << " \\pardir TRT \\textdir TRT\\normalfont\\normalsize\\textcolor{note_fontcolor}\\ignorespaces%\n";
else
- ods << " \\textcolor{note_fontcolor}\\beginL\\ignorespaces%\n";
+ ods << " \\normalfont\\normalsize\\textcolor{note_fontcolor}\\beginL\\ignorespaces%\n";
ods << " }%\n";
if (ct)
ods << " \\colorlet{lyxadded}{lyxadded!30}\\colorlet{lyxdeleted}{lyxdeleted!30}%\n";
@@ -573,7 +573,7 @@ docstring const lyxgreyedoutDef(bool const rtl, bool const ct, bool const lua, b
ods << " \\else%\n";
if (ct)
ods << " \\colorlet{lyxadded}{lyxadded!30}\\colorlet{lyxdeleted}{lyxdeleted!30}%\n";
- ods << " \\textcolor{note_fontcolor}\\bgroup\\ignorespaces%\n"
+ ods << " \\normalfont\\normalsize\\textcolor{note_fontcolor}\\bgroup\\ignorespaces%\n"
<< " \\BODY\\ignorespacesafterend\\egroup%\n"
<< " \\fi%\n"
<< "}\n";
@@ -583,7 +583,7 @@ docstring const lyxgreyedoutDef(bool const rtl, bool const ct, bool const lua, b
<< "{";
if (ct)
ods << "\\colorlet{lyxadded}{lyxadded!30}\\colorlet{lyxdeleted}{lyxdeleted!30}%\n ";
- ods << "\\textcolor{note_fontcolor}\\bgroup\\ignorespaces}\n"
+ ods << "\\normalfont\\normalsize\\textcolor{note_fontcolor}\\bgroup\\ignorespaces}\n"
<< "{\\ignorespacesafterend\\egroup}\n";
}
diff --git a/src/OutputParams.h b/src/OutputParams.h
index 7ca5c1f..a909ddd 100644
--- a/src/OutputParams.h
+++ b/src/OutputParams.h
@@ -139,7 +139,26 @@ public:
mutable int inulemcmd = 0;
/** the font at the point where the inset is
- */
+ *
+ * Note from lasgouttes: I have doubts on the semantics of this
+ * variable. Until this is sorted out, here are some notes on the
+ * history of local_font.
+ *
+ * A research that excludes test and assignment [*] shows that
+ * this is only used to remember language, which is a different
+ * story (and not changed by this patch). The only exception being
+ * in InsetMathHull::getCtObject and InsetMathNest::latex to
+ * support change tracking in insets, but I am not 100% sure that
+ * this is required. And historically [**] local_font used to be
+ * local_lang; it may be good to return to this simpler variable
+ * later.
+ *
+ * [*] git grep local_font src|grep -v 'local_font [!=]*='
+ *
+ * [**] before afed118a, which improved support for InsetLine;
+ * however, since 0e7ab29f, InsetLine does not depend on the
+ * current font anymore.
+ */
Font const * local_font = nullptr;
/** Document language lyx name
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 1bf48f1..da97d12 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -2539,10 +2539,9 @@ void Paragraph::latex(BufferParams const & bparams,
pos_type body_pos = beginOfBody();
unsigned int column = 0;
- // If we are inside an non inheritFont() inset, the real outerfont is local_font
- Font const real_outerfont = (!inInset().inheritFont()
- && runparams.local_font != nullptr)
- ? Font(runparams.local_font->fontInfo()) : outerfont;
+ // If we are inside an non inheritFont() inset, the outerfont is the default font
+ Font const real_outerfont =
+ inInset().inheritFont() ? outerfont : Font(bparams.documentClass().defaultfont());
if (body_pos > 0) {
// the optional argument is kept in curly brackets in
commit 77670bc9983392e32abb1cec236e5741b4d8c84b
Author: Stephan Witt <switt at lyx.org>
Date: Fri Dec 31 13:40:22 2021 +0100
Reduce the mix of python versions in configure.py in case of running it with python3
diff --git a/lib/configure.py b/lib/configure.py
index bddb94c..7d9b61c 100644
--- a/lib/configure.py
+++ b/lib/configure.py
@@ -1293,7 +1293,7 @@ def checkConverterEntries():
if lilypond_book:
found_lilypond_book = False
# On Windows, the file lilypond-book is not directly callable, it must be passed as argument to python.
- for cmd in ["lilypond-book", "python \"" + path + "/lilypond-book\""]:
+ for cmd in ["lilypond-book", os.path.basename(sys.executable) + ' "' + path + '/lilypond-book"']:
version_string = cmdOutput(cmd + " --version")
if len(version_string) == 0:
continue
@@ -1331,9 +1331,8 @@ def checkConverterEntries():
logger.info('+ found LilyPond-book version %s.' % version_number)
- # early exit on first match, avoid 2nd try with problematic python call
- # 1) in case of configure.py called with "python3" hardcoded "python" call is wrong
- # 2) in case of lilypond-book being an executable or shell script the python call is useless
+ # early exit on first match, avoid 2nd try with python call
+ # in case of lilypond-book being an executable or shell script the python call is useless
break
else:
logger.info('+ found LilyPond-book, but version %s is too old.' % version_number)
commit 6372f5569e4d6747642f7cbb0fa6e4eac2deab69
Author: Stephan Witt <switt at lyx.org>
Date: Fri Dec 31 11:54:14 2021 +0100
Avoid python based lilypond-book detection if it's not needed - e.g. on Mac
diff --git a/lib/configure.py b/lib/configure.py
index 68bdc09..bddb94c 100644
--- a/lib/configure.py
+++ b/lib/configure.py
@@ -1330,6 +1330,11 @@ def checkConverterEntries():
addToRC(r'\copier docbook5 "python $$s/scripts/docbook_copy.py ' + docbook_lilypond_cmd.replace('"', r'\"') + r' $$i $$o"')
logger.info('+ found LilyPond-book version %s.' % version_number)
+
+ # early exit on first match, avoid 2nd try with problematic python call
+ # 1) in case of configure.py called with "python3" hardcoded "python" call is wrong
+ # 2) in case of lilypond-book being an executable or shell script the python call is useless
+ break
else:
logger.info('+ found LilyPond-book, but version %s is too old.' % version_number)
if not found_lilypond_book:
commit 4bdb1ca4c26e275ef1e4bc592a95210f78839bc5
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Thu Dec 30 11:37:12 2021 -0500
Add comment regarding fsanitize + Clang issue
We could not figure out the root issue, or at least not to the point
where we felt changing this code considering we could not trigger
any bug from a user perspective.
For now, we just add a comment in the code.
For more information, see our ML discussion here:
https://www.mail-archive.com/search?l=mid&q=20211227113249.53bf5a63%40admin1-desktop
diff --git a/src/support/socktools.cpp b/src/support/socktools.cpp
index d4aab38..d014f45 100644
--- a/src/support/socktools.cpp
+++ b/src/support/socktools.cpp
@@ -111,6 +111,13 @@ int listen(FileName const & name, int queue)
// bind() gives the local address 'name' for 'fd', also creating
// the socket special file in the filesystem. bind() returns -1
// in case of error
+ //
+ // Using Clang and fsanitize suggests there is an issue here but we do
+ // not understand the code enough to change it and we are not aware of
+ // how to trigger a crash or other issue while using LyX, so we leave
+ // it as is. For ML discussion, see here:
+ // https://www.mail-archive.com/search?l=mid&q=20211227113249.53bf5a63%40admin1-desktop
+ //
if ((::bind (fd, reinterpret_cast<sockaddr *>(&addr), SUN_LEN(&addr))) == -1) {
LYXERR0("lyx: Could not bind address '" << name.absFileName()
<< "' to socket descriptor: " << strerror(errno));
commit 011be4a959d3d4e4c984f2758dd3e601d6bbe94e
Author: Kornel Benko <kornel at lyx.org>
Date: Wed Dec 29 19:14:41 2021 +0100
Update sk.po
diff --git a/po/sk.po b/po/sk.po
index d795056..7e2c7d2 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: LyX-2.4\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2021-12-28 14:01+0100\n"
-"PO-Revision-Date: 2021-12-28 16:33+0000\n"
+"POT-Creation-Date: 2021-12-29 19:07+0100\n"
+"PO-Revision-Date: 2021-12-29 18:12+0000\n"
"Last-Translator: Kornel Benko <kornel at lyx.org>\n"
"Language-Team: Slovak <kornel at lyx.org>\n"
"Language: sk\n"
@@ -20170,8 +20170,8 @@ msgid "Giant-sized Icons"
msgstr "Gigantické ikony"
#: lib/ui/stdcontext.inc:732
-msgid "Show Zoom Value|Z"
-msgstr "Ukáž hodnotu lupy|h"
+msgid "Show Zoom Level|Z"
+msgstr "Ukáž úroveŠlupy|U"
#: lib/ui/stdcontext.inc:733
msgid "Show Zoom Slider|S"
commit 8a25af029bc4705ee9cb39014a6c19b28ae2901f
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Wed Dec 29 18:00:45 2021 +0100
de.po
diff --git a/po/de.po b/po/de.po
index b072e11..077eaef 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: 2021-11-01 17:59+0100\n"
-"PO-Revision-Date: 2021-11-01 18:00+0100\n"
+"POT-Creation-Date: 2021-12-29 17:56+0100\n"
+"PO-Revision-Date: 2021-12-29 18:00+0100\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"
@@ -566,8 +566,8 @@ msgstr "Art der inneren Box"
#: src/frontends/qt/ui/TabularUi.ui:1219 src/frontends/qt/ui/TabularUi.ui:1267
#: src/frontends/qt/GuiBox.cpp:420 src/frontends/qt/GuiBox.cpp:630
#: src/frontends/qt/GuiDocument.cpp:124 src/frontends/qt/GuiGraphics.cpp:576
-#: src/frontends/qt/GuiMathMatrix.cpp:33 src/frontends/qt/GuiPrefs.cpp:2323
-#: src/frontends/qt/GuiPrefs.cpp:2346
+#: src/frontends/qt/GuiMathMatrix.cpp:33 src/frontends/qt/GuiPrefs.cpp:2328
+#: src/frontends/qt/GuiPrefs.cpp:2351
msgid "None"
msgstr "Keine"
@@ -845,14 +845,14 @@ msgstr "A&lle hinzufügen"
#: src/Buffer.cpp:4710 src/Buffer.cpp:4820 src/LyXVC.cpp:114 src/LyXVC.cpp:310
#: src/buffer_funcs.cpp:56 src/frontends/qt/GuiBranches.cpp:226
#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiDocument.cpp:2844
-#: src/frontends/qt/GuiParagraph.cpp:177 src/frontends/qt/GuiPrefs.cpp:3410
-#: src/frontends/qt/GuiView.cpp:2825 src/frontends/qt/GuiView.cpp:3057
-#: src/frontends/qt/GuiView.cpp:3081 src/frontends/qt/GuiView.cpp:3095
-#: src/frontends/qt/GuiView.cpp:3197 src/frontends/qt/GuiView.cpp:3242
-#: src/frontends/qt/GuiView.cpp:3297 src/frontends/qt/GuiView.cpp:3531
-#: src/frontends/qt/GuiView.cpp:3545 src/frontends/qt/GuiView.cpp:3647
-#: src/frontends/qt/GuiView.cpp:3672 src/frontends/qt/GuiView.cpp:4376
-#: src/frontends/qt/GuiView.cpp:4383 src/insets/InsetBibtex.cpp:153
+#: src/frontends/qt/GuiParagraph.cpp:177 src/frontends/qt/GuiPrefs.cpp:3415
+#: src/frontends/qt/GuiView.cpp:2838 src/frontends/qt/GuiView.cpp:3070
+#: src/frontends/qt/GuiView.cpp:3094 src/frontends/qt/GuiView.cpp:3108
+#: src/frontends/qt/GuiView.cpp:3210 src/frontends/qt/GuiView.cpp:3255
+#: src/frontends/qt/GuiView.cpp:3310 src/frontends/qt/GuiView.cpp:3544
+#: src/frontends/qt/GuiView.cpp:3558 src/frontends/qt/GuiView.cpp:3660
+#: src/frontends/qt/GuiView.cpp:3685 src/frontends/qt/GuiView.cpp:4389
+#: src/frontends/qt/GuiView.cpp:4396 src/insets/InsetBibtex.cpp:153
msgid "&Cancel"
msgstr "&Abbrechen"
@@ -902,8 +902,8 @@ msgstr "&GröÃe:"
#: src/frontends/qt/GuiDocument.cpp:3405 src/frontends/qt/GuiDocument.cpp:4890
#: src/frontends/qt/GuiExternal.cpp:76 src/frontends/qt/GuiGraphics.cpp:71
#: src/frontends/qt/GuiIndices.cpp:58 src/frontends/qt/GuiListings.cpp:160
-#: src/frontends/qt/GuiListings.cpp:167 src/frontends/qt/GuiPrefs.cpp:2479
-#: src/frontends/qt/GuiPrefs.cpp:2625 src/frontends/qt/GuiPrintNomencl.cpp:47
+#: src/frontends/qt/GuiListings.cpp:167 src/frontends/qt/GuiPrefs.cpp:2484
+#: src/frontends/qt/GuiPrefs.cpp:2630 src/frontends/qt/GuiPrintNomencl.cpp:47
#: src/frontends/qt/GuiTabularCreate.cpp:107
#: src/frontends/qt/GuiViewSource.cpp:341
msgid "Default"
@@ -1097,7 +1097,7 @@ msgstr "S&prache:"
#: lib/layouts/europasscv.layout:475 lib/layouts/europasscv.layout:482
#: lib/layouts/europecv.layout:321 lib/layouts/europecv.layout:327
#: lib/layouts/moderncv.layout:580 src/frontends/qt/GuiDocument.cpp:1777
-#: src/frontends/qt/GuiPrefs.cpp:2426 src/frontends/qt/Menus.cpp:938
+#: src/frontends/qt/GuiPrefs.cpp:2431 src/frontends/qt/Menus.cpp:938
msgid "Language"
msgstr "Sprache"
@@ -3684,7 +3684,7 @@ msgstr "Doppelt"
#: src/frontends/qt/GuiDocument.cpp:1201 src/frontends/qt/GuiDocument.cpp:1547
#: src/frontends/qt/GuiHSpace.cpp:57 src/frontends/qt/GuiPrefs.cpp:816
#: src/frontends/qt/GuiPrefs.cpp:844 src/frontends/qt/GuiPrefs.cpp:871
-#: src/frontends/qt/GuiPrefs.cpp:2325 src/frontends/qt/GuiPrefs.cpp:2348
+#: src/frontends/qt/GuiPrefs.cpp:2330 src/frontends/qt/GuiPrefs.cpp:2353
#: src/frontends/qt/GuiPrintNomencl.cpp:51 src/insets/InsetInfo.cpp:236
#: src/insets/InsetInfo.cpp:246 src/insets/InsetInfo.cpp:250
#: src/insets/InsetInfo.cpp:259 src/insets/InsetInfo.cpp:321
@@ -3939,8 +3939,8 @@ msgid "&Modify"
msgstr "&Ãndern"
#: src/frontends/qt/ui/PrefConvertersUi.ui:286
-#: src/frontends/qt/ui/PrefShortcutsUi.ui:61 src/frontends/qt/GuiPrefs.cpp:3146
-#: src/frontends/qt/GuiPrefs.cpp:3232
+#: src/frontends/qt/ui/PrefShortcutsUi.ui:61 src/frontends/qt/GuiPrefs.cpp:3151
+#: src/frontends/qt/GuiPrefs.cpp:3237
msgid "Remo&ve"
msgstr "&Entfernen"
@@ -4032,6 +4032,17 @@ msgstr ""
msgid "&Underline change tracking additions"
msgstr "Hinzufügungen im Ãnderungsmodus &unterstreichen"
+#: src/frontends/qt/ui/PrefDisplayUi.ui:164
+msgid ""
+"If this is checked, an intermediate surface will be used for painting. This "
+"may be needed in some cases to have proper display, but breaks subpixel "
+"aliasing."
+msgstr ""
+
+#: src/frontends/qt/ui/PrefDisplayUi.ui:167
+msgid "Use &backing store to display text"
+msgstr ""
+
#: src/frontends/qt/ui/PrefDocHandlingUi.ui:26
msgid "Session Handling"
msgstr "Sitzungshandhabung"
@@ -4213,7 +4224,7 @@ 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:167 src/LyXRC.cpp:3142
+#: src/frontends/qt/ui/PrefEditUi.ui:167 src/LyXRC.cpp:3175
msgid ""
"Configure the width of the text cursor. Automatic zoom-controlled cursor "
"width used when set to 0."
@@ -4593,7 +4604,7 @@ msgstr ""
msgid "&Mark additional languages"
msgstr "Z&usätzliche Sprachen markieren"
-#: src/frontends/qt/ui/PrefLanguageUi.ui:199 src/LyXRC.cpp:3270
+#: src/frontends/qt/ui/PrefLanguageUi.ui:199 src/LyXRC.cpp:3303
msgid ""
"Select to use the current keyboard language, as set from the operating "
"system, as default input language."
@@ -4793,7 +4804,7 @@ msgstr "Weitere Optionen"
msgid "Output &line length:"
msgstr "&Zeilenlänge der Ausgabe:"
-#: src/frontends/qt/ui/PrefOutputUi.ui:186 src/LyXRC.cpp:3081
+#: src/frontends/qt/ui/PrefOutputUi.ui:186 src/LyXRC.cpp:3114
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, "
@@ -6229,8 +6240,8 @@ msgstr "Nur Haupttext"
msgid "Select the output format"
msgstr "Ausgabeformat wählen"
-#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3672
-#: src/frontends/qt/GuiView.cpp:4376
+#: src/frontends/qt/ui/WorkAreaUi.ui:82 src/frontends/qt/GuiView.cpp:3685
+#: src/frontends/qt/GuiView.cpp:4389
msgid "&Reload"
msgstr "Ne&u laden"
@@ -6798,7 +6809,7 @@ msgstr "Abbildungsanmerkungen"
#: lib/layouts/stdlayouts.inc:38 lib/layouts/stdlayouts.inc:63
#: lib/layouts/stdlayouts.inc:85 lib/layouts/stdletter.inc:13
#: lib/layouts/svcommon.inc:27 lib/layouts/svcommon.inc:710
-#: lib/layouts/svcommon.inc:721 lib/layouts/tufte-book.layout:236
+#: lib/layouts/svcommon.inc:721 lib/layouts/tufte-book.layout:242
msgid "MainText"
msgstr "Haupttext"
@@ -7651,7 +7662,7 @@ msgstr "Kurztitel für den Anhang"
#: lib/layouts/scrreprt.layout:12 lib/layouts/scrreprt.layout:14
#: lib/layouts/siamltex.layout:339 lib/layouts/simplecv.layout:196
#: lib/layouts/stdstruct.inc:59 lib/layouts/svcommon.inc:657
-#: lib/layouts/tufte-book.layout:292 lib/layouts/tufte-book.layout:294
+#: lib/layouts/tufte-book.layout:298 lib/layouts/tufte-book.layout:300
#: lib/layouts/tufte-handout.layout:77 lib/examples/Articles:0
#: src/frontends/qt/GuiDocument.cpp:1781 src/insets/InsetBibtex.cpp:957
msgid "Bibliography"
@@ -8952,7 +8963,7 @@ msgstr "Randabbildung (nur sigchi-a)"
#: lib/layouts/acmart.layout:526 lib/layouts/beamer.layout:1726
#: lib/layouts/powerdot.layout:577 lib/layouts/sciposter.layout:109
-#: lib/layouts/stdfloats.inc:33 lib/layouts/tufte-book.layout:286
+#: lib/layouts/stdfloats.inc:33 lib/layouts/tufte-book.layout:292
msgid "List of Figures"
msgstr "Abbildungsverzeichnis"
@@ -8962,7 +8973,7 @@ msgstr "Randtabelle (nur sigchi-a)"
#: lib/layouts/acmart.layout:539 lib/layouts/beamer.layout:1713
#: lib/layouts/powerdot.layout:560 lib/layouts/sciposter.layout:123
-#: lib/layouts/stdfloats.inc:18 lib/layouts/tufte-book.layout:270
+#: lib/layouts/stdfloats.inc:18 lib/layouts/tufte-book.layout:276
msgid "List of Tables"
msgstr "Tabellenverzeichnis"
@@ -18348,55 +18359,55 @@ msgstr "Randnotiz (numm.)"
msgid "bibl. entry"
msgstr "Literaturverzeichnis-Eintrag"
-#: lib/layouts/tufte-book.layout:176
+#: lib/layouts/tufte-book.layout:180
msgid "Marginnote"
msgstr "Randnotiz (nicht nummeriert)"
-#: lib/layouts/tufte-book.layout:180
+#: lib/layouts/tufte-book.layout:184
msgid "marginnote"
msgstr "Randnotiz (nicht numm.)"
-#: lib/layouts/tufte-book.layout:189
+#: lib/layouts/tufte-book.layout:194
msgid "NewThought"
msgstr "Neuer Gedanke"
-#: lib/layouts/tufte-book.layout:193
+#: lib/layouts/tufte-book.layout:198
msgid "new thought"
msgstr "Neuer Gedanke"
-#: lib/layouts/tufte-book.layout:206
+#: lib/layouts/tufte-book.layout:212
msgid "AllCaps"
msgstr "Versalien"
-#: lib/layouts/tufte-book.layout:209
+#: lib/layouts/tufte-book.layout:215
msgid "allcaps"
msgstr "Versalien"
-#: lib/layouts/tufte-book.layout:221
+#: lib/layouts/tufte-book.layout:227
msgid "SmallCaps"
msgstr "Kapitälchen"
-#: lib/layouts/tufte-book.layout:224
+#: lib/layouts/tufte-book.layout:230
msgid "smallcaps"
msgstr "Kapitälchen"
-#: lib/layouts/tufte-book.layout:232
+#: lib/layouts/tufte-book.layout:238
msgid "Full Width"
msgstr "Volle Breite"
-#: lib/layouts/tufte-book.layout:252
+#: lib/layouts/tufte-book.layout:258
msgid "Margin Figure"
msgstr "Randabbildung"
-#: lib/layouts/tufte-book.layout:256
+#: lib/layouts/tufte-book.layout:262
msgid "Margin Table"
msgstr "Randtabelle"
-#: lib/layouts/tufte-book.layout:262
+#: lib/layouts/tufte-book.layout:268
msgid "MarginTable"
msgstr "Randtabelle"
-#: lib/layouts/tufte-book.layout:278
+#: lib/layouts/tufte-book.layout:284
msgid "MarginFigure"
msgstr "Randabbildung"
@@ -19631,19 +19642,19 @@ msgid "Copy as Reference|R"
msgstr "Als Querverweis kopieren|k"
#: lib/ui/stdcontext.inc:61 lib/ui/stdcontext.inc:375 lib/ui/stdmenus.inc:108
-#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1567
+#: lib/ui/stdtoolbars.inc:86 src/Text3.cpp:1568
#: src/mathed/InsetMathNest.cpp:555
msgid "Cut"
msgstr "Ausschneiden"
#: lib/ui/stdcontext.inc:62 lib/ui/stdcontext.inc:376 lib/ui/stdmenus.inc:109
-#: lib/ui/stdtoolbars.inc:87 src/BufferView.cpp:2268
+#: lib/ui/stdtoolbars.inc:87 src/BufferView.cpp:2269
msgid "Copy"
msgstr "Kopieren"
#: lib/ui/stdcontext.inc:63 lib/ui/stdcontext.inc:377 lib/ui/stdmenus.inc:110
#: lib/ui/stdtoolbars.inc:88 src/Text3.cpp:1512
-#: src/frontends/qt/GuiToolbar.cpp:441 src/mathed/InsetMathGrid.cpp:1560
+#: src/frontends/qt/GuiToolbar.cpp:441 src/mathed/InsetMathGrid.cpp:1565
#: src/mathed/InsetMathNest.cpp:533
msgid "Paste"
msgstr "Einfügen"
@@ -20404,6 +20415,10 @@ msgid "Giant-sized Icons"
msgstr "Gigantische Symbole"
#: lib/ui/stdcontext.inc:732
+msgid "Show Zoom Level|Z"
+msgstr "VergröÃerungsfaktor anzeigen|V"
+
+#: lib/ui/stdcontext.inc:733
msgid "Show Zoom Slider|S"
msgstr "Schieberegler anzeigen|z"
@@ -26831,7 +26846,7 @@ msgstr "MS-Word Office-Open XML"
msgid "Table (CSV)"
msgstr "Tabelle (CSV)"
-#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1618
+#: lib/configure.py:856 src/frontends/qt/GuiView.cpp:1630
#: src/mathed/InsetMathMacroTemplate.cpp:538
msgid "LyX"
msgstr "LyX"
@@ -26962,6 +26977,10 @@ msgid "Feynman Diagrams"
msgstr "Feynman-Diagramme"
#: lib/examples/Articles:0
+msgid "Instant Preview"
+msgstr "Eingebettete Vorschau"
+
+#: lib/examples/Articles:0
msgid "Itemize Bullets"
msgstr "Auflistungszeichen"
@@ -26982,10 +27001,6 @@ msgid "XY-Pic"
msgstr "XY-Pic"
#: lib/examples/Articles:0
-msgid "Instant Preview"
-msgstr "Eingebettete Vorschau"
-
-#: lib/examples/Articles:0
msgid "Graphics and Insets"
msgstr "Grafiken und Einfügungen"
@@ -27010,6 +27025,10 @@ msgid "Hazard and Precautionary Statements"
msgstr "H- und P-Sätze"
#: lib/examples/Articles:0
+msgid "LilyPond Book"
+msgstr "LilyPond-Buch"
+
+#: lib/examples/Articles:0
msgid "Multilingual Captions"
msgstr "Mehrsprachige Legenden"
@@ -27021,10 +27040,6 @@ msgstr "Noweb2LyX"
msgid "Noweb Listerrors"
msgstr "Noweb-Fehlerbericht"
-#: lib/examples/Articles:0
-msgid "LilyPond Book"
-msgstr "LilyPond-Buch"
-
#: lib/examples/Articles:0 src/frontends/qt/GuiDocument.cpp:1771
msgid "Modules"
msgstr "Module"
@@ -27054,6 +27069,10 @@ msgid "Multilingual Typesetting with platex"
msgstr "Mehrsprachige Dokumente mit platex"
#: lib/examples/Articles:0
+msgid "Hebrew Article (KOMA-Script)"
+msgstr "Hebräischer Aufsatz (KOMA-Script)"
+
+#: lib/examples/Articles:0
msgid "IEEE Transactions Conference"
msgstr "IEEE Transactions Conference"
@@ -27070,10 +27089,6 @@ msgid "Springers Global Journal Template (V. 3)"
msgstr "Springers globale Vorlage für Zeitschriften (V. 3)"
#: lib/examples/Articles:0
-msgid "Hebrew Article (KOMA-Script)"
-msgstr "Hebräischer Aufsatz (KOMA-Script)"
-
-#: lib/examples/Articles:0
msgid "00 Main File"
msgstr "00 Hauptdatei"
@@ -27375,8 +27390,8 @@ msgid "Overwrite modified file?"
msgstr "Modifizierte Datei überschreiben?"
#: src/Buffer.cpp:1458 src/Exporter.cpp:50
-#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2825
-#: src/frontends/qt/GuiView.cpp:3094 src/frontends/qt/GuiView.cpp:3197
+#: src/frontends/qt/GuiClipboard.cpp:252 src/frontends/qt/GuiView.cpp:2838
+#: src/frontends/qt/GuiView.cpp:3107 src/frontends/qt/GuiView.cpp:3210
msgid "&Overwrite"
msgstr "&Ãberschreiben"
@@ -27616,7 +27631,7 @@ msgstr "Zweig \"%1$s\" existiert bereits."
msgid "Error viewing the output file."
msgstr "Fehler bei der Ansicht der Ausgabedatei."
-#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2656
+#: src/Buffer.cpp:3370 src/frontends/qt/GuiView.cpp:2669
#: src/frontends/qt/Validator.cpp:241 src/insets/ExternalSupport.cpp:394
#: src/insets/InsetGraphics.cpp:692 src/insets/InsetInclude.cpp:606
msgid "Invalid filename"
@@ -27703,7 +27718,7 @@ msgstr ""
msgid "Couldn't export file"
msgstr "Die Datei konnte nicht exportiert werden"
-#: src/Buffer.cpp:4507 src/frontends/qt/GuiView.cpp:2798
+#: src/Buffer.cpp:4507 src/frontends/qt/GuiView.cpp:2811
msgid "File name error"
msgstr "Fehler im Dateinamen"
@@ -27720,7 +27735,7 @@ msgstr ""
"enthält Leerzeichen, aber Ihre TeX-Installation erlaubt dies nicht. Bitte "
"speichern Sie Ihr Dokument in einem Verzeichnis ohne Leerzeichen."
-#: src/Buffer.cpp:4597 src/Buffer.cpp:4627 src/frontends/qt/GuiView.cpp:859
+#: src/Buffer.cpp:4597 src/Buffer.cpp:4627 src/frontends/qt/GuiView.cpp:868
msgid "Document export cancelled."
msgstr "Der Export des Dokuments wurde abgebrochen."
@@ -27874,12 +27889,12 @@ msgstr ""
msgid "Senseless!!! "
msgstr "Sinnlos!!! "
-#: src/Buffer.cpp:5487
+#: src/Buffer.cpp:5496
#, c-format
msgid "Document %1$s reloaded."
msgstr "Dokument %1$s neu geladen."
-#: src/Buffer.cpp:5490
+#: src/Buffer.cpp:5499
#, c-format
msgid "Could not reload document %1$s."
msgstr "Kann Dokument %1$s nicht neu laden."
@@ -27996,8 +28011,8 @@ msgstr "Die Dokumentklasse ist nicht verfügbar"
msgid "greyedout inset text"
msgstr "Grauschrift-Einfügungstext"
-#: src/BufferParams.cpp:1811 src/BufferParams.cpp:2253 src/Encoding.cpp:253
-#: src/Paragraph.cpp:3007 src/frontends/qt/LaTeXHighlighter.cpp:123
+#: src/BufferParams.cpp:1811 src/BufferParams.cpp:2254 src/Encoding.cpp:253
+#: src/Paragraph.cpp:3013 src/frontends/qt/LaTeXHighlighter.cpp:123
#: src/frontends/qt/LaTeXHighlighter.cpp:216
#: src/insets/InsetCommandParams.cpp:508 src/insets/InsetCommandParams.cpp:516
#: src/insets/InsetGraphics.cpp:886 src/insets/InsetGraphics.cpp:894
@@ -28007,8 +28022,8 @@ msgstr "Grauschrift-Einfügungstext"
msgid "LyX Warning: "
msgstr "LyX-Warnung: "
-#: src/BufferParams.cpp:1812 src/BufferParams.cpp:2254 src/Encoding.cpp:254
-#: src/Paragraph.cpp:3008 src/insets/InsetCommandParams.cpp:509
+#: src/BufferParams.cpp:1812 src/BufferParams.cpp:2255 src/Encoding.cpp:254
+#: src/Paragraph.cpp:3014 src/insets/InsetCommandParams.cpp:509
#: src/insets/InsetCommandParams.cpp:517 src/insets/InsetGraphics.cpp:887
#: src/insets/InsetGraphics.cpp:895 src/insets/InsetListings.cpp:299
#: src/insets/InsetListings.cpp:307 src/mathed/MathExtern.cpp:1441
@@ -28038,11 +28053,11 @@ msgstr ""
"Wählen Sie eine passende Kodierung (bspw. utf8)\n"
"oder ändern Sie den LaTeX-Code im Vorspann."
-#: src/BufferParams.cpp:2267
+#: src/BufferParams.cpp:2268
msgid "Uncodable character in user preamble"
msgstr "Unkodierbares Zeichen im Benutzervorspann"
-#: src/BufferParams.cpp:2269
+#: src/BufferParams.cpp:2270
#, c-format
msgid ""
"The user preamble of your document contains glyphs that are unknown in the "
@@ -28060,7 +28075,7 @@ msgstr ""
"Wählen Sie eine passende Kodierung (bspw. utf8)\n"
"oder ändern Sie den LaTeX-Code im Vorspann."
-#: src/BufferParams.cpp:2584
+#: src/BufferParams.cpp:2585
#, c-format
msgid ""
"The layout file:\n"
@@ -28075,11 +28090,11 @@ msgstr ""
"Formaten wird benutzt werden. LyX wird nicht in der Lage sein eine korrekte\n"
"Ausgabe zu erzeugen."
-#: src/BufferParams.cpp:2590
+#: src/BufferParams.cpp:2591
msgid "Document class not found"
msgstr "Dokumentklasse nicht gefunden"
-#: src/BufferParams.cpp:2597
+#: src/BufferParams.cpp:2598
#, c-format
msgid ""
"Due to some error in it, the layout file:\n"
@@ -28094,23 +28109,23 @@ msgstr ""
"korrekte\n"
"Ausgabe erzeugen können."
-#: src/BufferParams.cpp:2603 src/BufferView.cpp:1424 src/BufferView.cpp:1456
+#: src/BufferParams.cpp:2604 src/BufferView.cpp:1424 src/BufferView.cpp:1456
msgid "Could not load class"
msgstr "Konnte Klasse nicht laden"
-#: src/BufferParams.cpp:2648
+#: src/BufferParams.cpp:2649
msgid "Error reading internal layout information"
msgstr "Fehler beim Einlesen interner Format-Informationen"
-#: src/BufferParams.cpp:2649 src/TextClass.cpp:1952 src/TextClass.cpp:1985
+#: src/BufferParams.cpp:2650 src/TextClass.cpp:1952 src/TextClass.cpp:1985
msgid "Read Error"
msgstr "Lesefehler"
-#: src/BufferParams.cpp:3651
+#: src/BufferParams.cpp:3655
msgid "No bibliography processor found!"
msgstr "Kein Literaturverzeichnis-Prozessor gefunden!"
-#: src/BufferParams.cpp:3653
+#: src/BufferParams.cpp:3657
#, c-format
msgid ""
"The bibliography processor requested by this document (%1$s) is not "
@@ -28124,11 +28139,11 @@ msgstr ""
"Literaturverweise erzeugt werden.\n"
"Bitte reparieren Sie Ihr System!"
-#: src/BufferParams.cpp:3661
+#: src/BufferParams.cpp:3665
msgid "Requested bibliography processor not found!"
msgstr "Verlangter Literaturverzeichnis-Prozessor nicht gefunden!"
-#: src/BufferParams.cpp:3663
+#: src/BufferParams.cpp:3667
#, c-format
msgid ""
"The bibliography processor requested by this document (%1$s) is not "
@@ -28168,8 +28183,8 @@ msgstr "Das Dokument wurde extern bearbeitet"
msgid "This portion of the document is deleted."
msgstr "Dieser Teil des Dokuments wird gelöscht."
-#: src/BufferView.cpp:1191 src/BufferView.cpp:2253
-#: src/frontends/qt/GuiView.cpp:4246 src/frontends/qt/GuiView.cpp:4334
+#: src/BufferView.cpp:1191 src/BufferView.cpp:2254
+#: src/frontends/qt/GuiView.cpp:4259 src/frontends/qt/GuiView.cpp:4347
msgid "Absolute filename expected."
msgstr "Ein absoluter Dateipfad wird erwartet."
@@ -28245,42 +28260,42 @@ msgstr "Ein Zeichen (ohne Leerzeichen)"
msgid "Statistics"
msgstr "Statistik"
-#: src/BufferView.cpp:2111
+#: src/BufferView.cpp:2112
#, c-format
msgid ""
"`inset-forall' interrupted because number of actions is larger than %1$d"
msgstr ""
",inset-forall` wurde abgebrochen, da die Zahl der Aktionen %1$d übersteigt"
-#: src/BufferView.cpp:2113
+#: src/BufferView.cpp:2114
#, c-format
msgid "Applied \"%1$s\" to %2$d insets"
msgstr "Der Befehl \"%1$s\" wurde auf %2$d Einfügungen angewandt"
-#: src/BufferView.cpp:2121
+#: src/BufferView.cpp:2122
msgid "Branch name"
msgstr "Name des Zweigs"
-#: src/BufferView.cpp:2128 src/frontends/qt/GuiBranches.cpp:225
+#: src/BufferView.cpp:2129 src/frontends/qt/GuiBranches.cpp:225
msgid "Branch already exists"
msgstr "Zweig existiert bereits"
-#: src/BufferView.cpp:3055
+#: src/BufferView.cpp:3056
#, c-format
msgid "Inserting document %1$s..."
msgstr "Füge Dokument %1$s ein..."
-#: src/BufferView.cpp:3071
+#: src/BufferView.cpp:3072
#, c-format
msgid "Document %1$s inserted."
msgstr "Dokument %1$s ist eingefügt."
-#: src/BufferView.cpp:3073
+#: src/BufferView.cpp:3074
#, c-format
msgid "Could not insert document %1$s"
msgstr "Das Dokument %1$s konnte nicht eingefügt werden"
-#: src/BufferView.cpp:3571
+#: src/BufferView.cpp:3572
#, c-format
msgid ""
"Could not read the specified document\n"
@@ -28291,11 +28306,11 @@ msgstr ""
"konnte aufgrund des folgenden Fehlers\n"
"nicht gelesen werden: %2$s"
-#: src/BufferView.cpp:3573
+#: src/BufferView.cpp:3574
msgid "Could not read file"
msgstr "Die Datei konnte nicht gelesen werden"
-#: src/BufferView.cpp:3580
+#: src/BufferView.cpp:3581
#, c-format
msgid ""
"%1$s\n"
@@ -28304,17 +28319,17 @@ msgstr ""
"%1$s\n"
"ist nicht lesbar."
-#: src/BufferView.cpp:3581 src/frontends/qt/qt_helpers.cpp:311
+#: src/BufferView.cpp:3582 src/frontends/qt/qt_helpers.cpp:311
#: src/frontends/qt/qt_helpers.cpp:314 src/frontends/qt/qt_helpers.cpp:320
#: src/output.cpp:39
msgid "Could not open file"
msgstr "Die Datei konnte nicht geöffnet werden"
-#: src/BufferView.cpp:3588
+#: src/BufferView.cpp:3589
msgid "Reading not UTF-8 encoded file"
msgstr "Lese nicht-UTF-8-kodierte Datei"
-#: src/BufferView.cpp:3589
+#: src/BufferView.cpp:3590
msgid ""
"The file is not UTF-8 encoded.\n"
"It will be read as local 8Bit-encoded.\n"
@@ -29186,7 +29201,7 @@ msgstr "&Nicht überschreiben"
msgid "Overwrite &all"
msgstr "&Alle überschreiben"
-#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:779
+#: src/Exporter.cpp:51 src/frontends/qt/GuiView.cpp:788
msgid "&Cancel export"
msgstr "Export &abbrechen"
@@ -29304,7 +29319,7 @@ msgstr "Eigenname %1$s, "
msgid "Cannot view file"
msgstr "Datei kann nicht betrachtet werden"
-#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3936
+#: src/Format.cpp:633 src/frontends/qt/GuiView.cpp:3949
#, c-format
msgid "File does not exist: %1$s"
msgstr "Die Datei existiert nicht: %1$s"
@@ -29776,7 +29791,7 @@ msgstr ""
msgid "Missing filename for --import"
msgstr "Die Option --import verlangt die Angabe eines Dateinamens"
-#: src/LyXRC.cpp:3073
+#: src/LyXRC.cpp:3106
msgid ""
"Consider run-together words, such as \"diskdrive\" for \"disk drive\", as "
"legal words?"
@@ -29784,7 +29799,7 @@ msgstr ""
"Sollen zusammengeschriebene Wörter wie \"Verzeichnisname\" als korrekt "
"angesehen werden?"
-#: src/LyXRC.cpp:3077
+#: src/LyXRC.cpp:3110
msgid ""
"Specify an alternate language. The default is to use the language of the "
"document."
@@ -29793,7 +29808,7 @@ msgstr ""
"Rechtschreibprüfung verwendet wird. Voreingestellt ist die Sprache des "
"Dokuments."
-#: src/LyXRC.cpp:3085
+#: src/LyXRC.cpp:3118
msgid ""
"De-select if you don't want the current selection to be replaced "
"automatically by what you type."
@@ -29801,7 +29816,7 @@ msgstr ""
"Deaktivieren Sie diesen Schalter, wenn Sie nicht möchten, dass markierter "
"Text automatisch durch Ihre Eingabe ersetzt wird."
-#: src/LyXRC.cpp:3089
+#: src/LyXRC.cpp:3122
msgid ""
"De-select if you don't want the class options to be reset to defaults after "
"class change."
@@ -29810,14 +29825,14 @@ msgstr ""
"Klassenoptionen nach einem Klassenwechsel auf den Standardwert zurückgesetzt "
"werden."
-#: src/LyXRC.cpp:3093
+#: src/LyXRC.cpp:3126
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:3100
+#: src/LyXRC.cpp:3133
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."
@@ -29825,7 +29840,7 @@ msgstr ""
"Der Pfad für Sicherungsdateien. Wird nichts angegeben, werden die Kopien im "
"selben Verzeichnis wie das Original gespeichert."
-#: src/LyXRC.cpp:3104
+#: src/LyXRC.cpp:3137
msgid ""
"Define the options of bibtex (cf. man bibtex) or select an alternative "
"compiler (e.g. mlbibtex or bibulus)."
@@ -29833,12 +29848,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:3108
+#: src/LyXRC.cpp:3141
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:3112
+#: src/LyXRC.cpp:3145
msgid ""
"Keybindings file. Can either specify an absolute path, or LyX will look in "
"its global and local bind/ directories."
@@ -29847,13 +29862,13 @@ msgstr ""
"absoluten Pfad angeben oder nur einen Namen. LyX sucht dann in den lokalen "
"und globalen bind-Verzeichnissen."
-#: src/LyXRC.cpp:3116
+#: src/LyXRC.cpp:3149
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:3120
+#: src/LyXRC.cpp:3153
msgid ""
"Define how to run chktex. E.g. \"chktex -n11 -n1 -n3 -n6 -n9 -22 -n25 -n30 -"
"n38\" Refer to the ChkTeX documentation."
@@ -29862,7 +29877,7 @@ msgstr ""
"\"chktex -n11 -n1 -n3 -n6 -n9 -22 -n25 -n30 -n38\". Bitte lesen Sie die "
"Dokumentation von ChkTeX."
-#: src/LyXRC.cpp:3127
+#: src/LyXRC.cpp:3160
msgid ""
"Forbid use of external converters with 'needauth' option to prevent "
"undesired effects."
@@ -29870,7 +29885,7 @@ msgstr ""
"Verbiete die Verwendung von autorisierungspflichtigen Konvertern, um "
"unbeabsichtigte Folgen zu verhindern."
-#: src/LyXRC.cpp:3131
+#: src/LyXRC.cpp:3164
msgid ""
"Ask user before calling external converters with 'needauth' option to "
"prevent undesired effects."
@@ -29879,7 +29894,7 @@ msgstr ""
"autorisierungspflichtig markiert wurden, um unbeabsichtigte Folgen zu "
"verhindern."
-#: src/LyXRC.cpp:3138
+#: src/LyXRC.cpp:3171
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."
@@ -29888,7 +29903,7 @@ msgstr ""
"wenn Sie im Dokument scrollen. Ist dieser Schalter aktiv, wird der Cursor ,"
"mitgenommen`."
-#: src/LyXRC.cpp:3146
+#: src/LyXRC.cpp:3179
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 "
@@ -29897,17 +29912,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:3150
+#: src/LyXRC.cpp:3183
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:3154
+#: src/LyXRC.cpp:3187
msgid "Use the Mac OS X conventions for cursor movement"
msgstr "Mac-OS-X-Konventionen für Cursorbewegungen benutzen"
-#: src/LyXRC.cpp:3158
+#: src/LyXRC.cpp:3191
msgid ""
"Show a small box around a Math Macro with the macro name when the cursor is "
"inside."
@@ -29915,7 +29930,7 @@ msgstr ""
"Zeige eine kleine Box um ein Mathe-Makro mit dem Makronamen, wenn der Cursor "
"innerhalb des Makros ist."
-#: src/LyXRC.cpp:3162
+#: src/LyXRC.cpp:3195
msgid ""
"Command definition file. Can either specify an absolute path, or LyX will "
"look in its global and local commands/ directories."
@@ -29924,18 +29939,18 @@ msgstr ""
"absoluten Pfad angeben oder LyX sucht in seinen lokalen und globalen "
"Befehlen/ Verzeichnissen."
-#: src/LyXRC.cpp:3166
+#: src/LyXRC.cpp:3199
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:3170
+#: src/LyXRC.cpp:3203
msgid "The default format used with LFUN_BUFFER_[VIEW|UPDATE]."
msgstr "Das Standardformat, das LFUN_BUFFER_[VIEW|UPDATE] verwendet."
-#: src/LyXRC.cpp:3174
+#: src/LyXRC.cpp:3207
msgid ""
"Iconify the dialogs when the main window is iconified. (Affects only dialogs "
"shown after the change has been made.)"
@@ -29943,11 +29958,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:3178
+#: src/LyXRC.cpp:3211
msgid "Select how LyX will display any graphics."
msgstr "Wählen Sie, wie LyX Grafiken darstellen soll."
-#: src/LyXRC.cpp:3182
+#: src/LyXRC.cpp:3215
msgid ""
"The default path for your documents. An empty value selects the directory "
"LyX was started from."
@@ -29955,11 +29970,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:3186
+#: src/LyXRC.cpp:3219
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:3190
+#: src/LyXRC.cpp:3223
msgid ""
"The path that LyX will set when offering to choose an example. An empty "
"value selects the directory LyX was started from."
@@ -29967,7 +29982,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:3197
+#: src/LyXRC.cpp:3230
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 "
@@ -29977,12 +29992,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:3201
+#: src/LyXRC.cpp:3234
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:3205
+#: src/LyXRC.cpp:3238
msgid ""
"Define the options of makeindex (cf. man makeindex) to be used for "
"nomenclatures. This might differ from the index processing options."
@@ -29991,11 +30006,11 @@ msgstr ""
"Nomenklaturen. Die hier spezifizierten Optionen können von denen des "
"Indexprozessors abweichen."
-#: src/LyXRC.cpp:3209
+#: src/LyXRC.cpp:3242
msgid "The command to run the python pygments syntax highlighter."
msgstr "Der Befehl, der die Python-Pygments-Codehervorhebung durchführt."
-#: src/LyXRC.cpp:3218
+#: src/LyXRC.cpp:3251
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."
@@ -30004,7 +30019,7 @@ msgstr ""
"können dies z. B. verwenden, um einfach deutsche Texte auf einer "
"amerikanischen Tastatur zu schreiben."
-#: src/LyXRC.cpp:3222
+#: src/LyXRC.cpp:3255
msgid ""
"Select if a language switching command is needed at the beginning of the "
"document."
@@ -30012,14 +30027,14 @@ msgstr ""
"Bitte aktivieren, wenn zu Beginn des Dokuments ein besonderer Befehl "
"benötigt wird, um die Sprache zu aktivieren."
-#: src/LyXRC.cpp:3226
+#: src/LyXRC.cpp:3259
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:3230
+#: src/LyXRC.cpp:3263
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 "
@@ -30029,15 +30044,15 @@ msgstr ""
"zu wechseln. Beispiel: \\selectlanguage{$$lang} wobei $$lang durch den Namen "
"der zweiten Sprache ersetzt wird."
-#: src/LyXRC.cpp:3234
+#: src/LyXRC.cpp:3267
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:3238
+#: src/LyXRC.cpp:3271
msgid "The LaTeX command for local changing of the language."
msgstr "Der LaTeX-Befehl, um die Sprache lokal zu ändern."
-#: src/LyXRC.cpp:3242
+#: src/LyXRC.cpp:3275
msgid ""
"De-select if you don't want the language(s) used as an argument to "
"\\documentclass."
@@ -30045,7 +30060,7 @@ msgstr ""
"Deaktivieren Sie diesen Schalter, wenn die Sprache nicht als Argument für "
"\\documentclass verwendet werden soll."
-#: src/LyXRC.cpp:3246
+#: src/LyXRC.cpp:3279
msgid ""
"The LaTeX command for loading the language package. E.g. "
"\"\\usepackage{babel}\", \"\\usepackage{omega}\"."
@@ -30053,7 +30068,7 @@ msgstr ""
"Der LaTeX-Befehl, um das Sprachpaket zu laden. Beispiel: "
"\"\\usepackage{babel}\", \"\\usepackage{omega}\"."
-#: src/LyXRC.cpp:3250
+#: src/LyXRC.cpp:3283
msgid ""
"De-select if you don't want babel to be used when the language of the "
"document is the default language."
@@ -30061,25 +30076,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:3254
+#: src/LyXRC.cpp:3287
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:3258
+#: src/LyXRC.cpp:3291
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:3262
+#: src/LyXRC.cpp:3295
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:3266
+#: src/LyXRC.cpp:3299
msgid ""
"Select to control the highlighting of words with a language foreign to that "
"of the document."
@@ -30087,32 +30102,32 @@ msgstr ""
"Bitte aktivieren, um Textbereiche mit einer von der Standardsprache des "
"Dokuments abweichenden Sprache farblich hervorzuheben."
-#: src/LyXRC.cpp:3274
+#: src/LyXRC.cpp:3307
msgid "The scrolling speed of the mouse wheel."
msgstr "Die Scrollgeschwindigkeit des Mausrads."
-#: src/LyXRC.cpp:3278
+#: src/LyXRC.cpp:3311
msgid "The completion popup delay."
msgstr "Verzögerung des Vervollständigungs-Popup"
-#: src/LyXRC.cpp:3282
+#: src/LyXRC.cpp:3315
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:3286
+#: src/LyXRC.cpp:3319
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:3290
+#: src/LyXRC.cpp:3323
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:3294
+#: src/LyXRC.cpp:3327
msgid ""
"Show a small triangle on the cursor to indicate that a completion is "
"available."
@@ -30120,36 +30135,36 @@ msgstr ""
"Zeigt ein kleines Dreieck beim Cursor, um anzuzeigen, dass eine "
"Vervollständigung verfügbar ist."
-#: src/LyXRC.cpp:3298
+#: src/LyXRC.cpp:3331
msgid "The inline completion delay."
msgstr "Verzögerung der Wortvervollständigung"
-#: src/LyXRC.cpp:3302
+#: src/LyXRC.cpp:3335
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:3306
+#: src/LyXRC.cpp:3339
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:3310
+#: src/LyXRC.cpp:3343
msgid "Use \"...\" to shorten long completions."
msgstr "Benutze \"...\" um lange Vervollständigungen zu kürzen."
-#: src/LyXRC.cpp:3314
+#: src/LyXRC.cpp:3347
msgid "Allow TeXMacs shorthand, like => converting to \\Rightarrow."
msgstr ""
"Erlaube TeXMacs-Shorthands (z.B. Konvertierung von => zu \\Rightarrow)."
-#: src/LyXRC.cpp:3318
+#: src/LyXRC.cpp:3351
#, 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:3323
+#: src/LyXRC.cpp:3356
msgid ""
"Specify those directories which should be prepended to the PATH environment "
"variable.\n"
@@ -30159,40 +30174,40 @@ msgstr ""
"vorangestellt werden sollen.\n"
"Verwenden Sie das native Format Ihres Betriebssystems."
-#: src/LyXRC.cpp:3329
+#: src/LyXRC.cpp:3362
msgid "Shows a typeset preview of things such as math"
msgstr "Zeigt eine exakte Vorschau bspw. von mathematischen Formeln"
-#: src/LyXRC.cpp:3333
+#: src/LyXRC.cpp:3366
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:3337
+#: src/LyXRC.cpp:3370
msgid "Scale the preview size to suit."
msgstr "Skaliere die GröÃe der Vorschau geeignet."
-#: src/LyXRC.cpp:3341
+#: src/LyXRC.cpp:3374
msgid "The option to print out in landscape."
msgstr "Die Option, um im Querformat zu drucken."
-#: src/LyXRC.cpp:3345
+#: src/LyXRC.cpp:3378
msgid "Option to specify the dimensions of the print paper."
msgstr "Die Option, um die SeitengröÃe anzugeben."
-#: src/LyXRC.cpp:3349
+#: src/LyXRC.cpp:3382
msgid "The option to specify paper type."
msgstr "Die Option, um die Papierart anzugeben."
-#: src/LyXRC.cpp:3353
+#: src/LyXRC.cpp:3386
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:3357
+#: src/LyXRC.cpp:3390
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)."
@@ -30201,7 +30216,7 @@ msgstr ""
"dieses Dokument schlieÃt (yes), es verbirgt (no) oder ob nachgefragt werden "
"soll (ask)."
-#: src/LyXRC.cpp:3361
+#: src/LyXRC.cpp:3394
msgid ""
"DPI (dots per inch) of your monitor is auto-detected by LyX. If that goes "
"wrong, override the setting here."
@@ -30210,13 +30225,13 @@ msgstr ""
"selbsttätig ermittelt. Scheitert dies, können Sie hier den korrekten Wert "
"vorgeben."
-#: src/LyXRC.cpp:3367
+#: src/LyXRC.cpp:3400
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:3376
+#: src/LyXRC.cpp:3409
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 "
@@ -30227,13 +30242,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:3380
+#: src/LyXRC.cpp:3413
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:3385
+#: src/LyXRC.cpp:3418
#, no-c-format
msgid ""
"The zoom percentage for screen fonts. A setting of 100% will make the fonts "
@@ -30242,13 +30257,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:3389
+#: src/LyXRC.cpp:3422
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:3393
+#: src/LyXRC.cpp:3426
msgid ""
"This starts the lyxserver. The pipes get an additional extension \".in\" and "
"\".out\". Only for advanced users."
@@ -30257,13 +30272,13 @@ msgstr ""
"Weiterleitungen erhalten automatisch die Endungen \".in\" und \".out\". "
"Diese Option ist vor allem für Fortgeschrittene interessant."
-#: src/LyXRC.cpp:3400
+#: src/LyXRC.cpp:3433
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:3404
+#: src/LyXRC.cpp:3437
msgid ""
"LyX will place its temporary directories in this path. They will be deleted "
"when you quit LyX."
@@ -30271,12 +30286,12 @@ msgstr ""
"In diesem Verzeichnis legt LyX seine temporären Dateien an. Diese werden "
"gelöscht, wenn Sie LyX beenden."
-#: src/LyXRC.cpp:3408
+#: src/LyXRC.cpp:3441
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:3412
+#: src/LyXRC.cpp:3445
msgid ""
"The path that LyX will set when offering to choose a template. An empty "
"value selects the directory LyX was started from."
@@ -30284,7 +30299,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:3422
+#: src/LyXRC.cpp:3455
msgid ""
"Specify those directories which should be prepended to the TEXINPUTS "
"environment variable.\n"
@@ -30295,7 +30310,7 @@ msgstr ""
"Ein '.' repräsentiert das aktuelle Dokumentverzeichnis. Verwenden Sie das "
"native Format Ihres Betriebssystems."
-#: src/LyXRC.cpp:3429
+#: src/LyXRC.cpp:3462
msgid ""
"The UI (user interface) file. Can either specify an absolute path, or LyX "
"will look in its global and local ui/ directories."
@@ -30304,7 +30319,7 @@ msgstr ""
"wird. Entweder Sie geben einen absoluten Pfad an oder LyX sucht in den "
"lokalen und globalen ui-Verzeichnissen."
-#: src/LyXRC.cpp:3439
+#: src/LyXRC.cpp:3472
msgid ""
"Enable use the system colors for some things like main window background and "
"selection."
@@ -30312,11 +30327,11 @@ msgstr ""
"Verwendet die Systemfarben für einige Elemente wie den Hintergrund des "
"Eingabefensters und Text-Markierungen."
-#: src/LyXRC.cpp:3443
+#: src/LyXRC.cpp:3476
msgid "Enable the automatic appearance of tool tips in the work area."
msgstr "Automatisches Erscheinen von Tooltips im Arbeitsbereich anschalten."
-#: src/LyXRC.cpp:3447
+#: src/LyXRC.cpp:3480
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 "
@@ -30365,7 +30380,7 @@ msgstr "LyX-VK: Protokollmeldung"
msgid "(no log message)"
msgstr "(keine Protokollmeldung)"
-#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3799
+#: src/LyXVC.cpp:252 src/frontends/qt/GuiView.cpp:3812
msgid "LyX VC: Log Message"
msgstr "LyX VK: Protokollmeldung"
@@ -30386,7 +30401,7 @@ msgstr ""
msgid "Revert to stored version of document?"
msgstr "Zur gespeicherten Version des Dokuments zurückkehren?"
-#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4383
+#: src/LyXVC.cpp:310 src/frontends/qt/GuiView.cpp:4396
msgid "&Revert"
msgstr "&Wiederherstellen"
@@ -30523,40 +30538,40 @@ msgstr "Bereits im Regexp-Modus"
msgid "Regexp editor mode"
msgstr "Regexp-Editor-Modus"
-#: src/Text3.cpp:1601
+#: src/Text3.cpp:1602
msgid "Layout "
msgstr "Format "
-#: src/Text3.cpp:1602 src/Text3.cpp:2172
+#: src/Text3.cpp:1603 src/Text3.cpp:2173
msgid " not known"
msgstr " unbekannt"
-#: src/Text3.cpp:2171
+#: src/Text3.cpp:2172
msgid "Table Style "
msgstr "Tabellenstil"
-#: src/Text3.cpp:2364 src/frontends/qt/GuiApplication.cpp:1873
+#: src/Text3.cpp:2365 src/frontends/qt/GuiApplication.cpp:1873
msgid "Missing argument"
msgstr "Fehlendes Argument"
-#: src/Text3.cpp:2533
+#: src/Text3.cpp:2534
msgid "Invalid argument (number exceeds stack size)!"
msgstr "Ungültiges Argument (Zahl gröÃer als Zwischenspeicher)!"
-#: src/Text3.cpp:2537
+#: src/Text3.cpp:2538
msgid "Invalid argument (must be a non-negative number)!"
msgstr "Ungültiges Argument (muss eine nicht-negative Zahl sein)!"
-#: src/Text3.cpp:2542 src/Text3.cpp:2560
+#: src/Text3.cpp:2543 src/Text3.cpp:2561
#, c-format
msgid "Text properties applied: %1$s"
msgstr "Angewendete Texteigenschaften: %1$s"
-#: src/Text3.cpp:2719
+#: src/Text3.cpp:2720
msgid "Path to thesaurus directory not set!"
msgstr "Pfad zum Thesaurus-Wörterbuch nicht festlegt!"
-#: src/Text3.cpp:2720
+#: src/Text3.cpp:2721
msgid ""
"The path to the thesaurus directory has not been specified.\n"
"The thesaurus is not functional.\n"
@@ -30568,7 +30583,7 @@ msgstr ""
"Im Benutzerhandbuch, Abschnitt 6.15.11, finden Sie Hinweise,\n"
"um den Thesaurus einzurichten."
-#: src/Text3.cpp:2854 src/Text3.cpp:2865
+#: src/Text3.cpp:2847 src/Text3.cpp:2858
msgid "Paragraph layout set"
msgstr "Absatzformat festgelegt"
@@ -30750,7 +30765,7 @@ msgstr "Prüfen Sie, ob das Programm GNU RCS auf Ihrem System installiert ist."
#: src/VCBackend.cpp:934 src/VCBackend.cpp:993 src/VCBackend.cpp:1052
#: src/VCBackend.cpp:1060 src/VCBackend.cpp:1348 src/VCBackend.cpp:1450
#: src/VCBackend.cpp:1456 src/VCBackend.cpp:1479 src/VCBackend.cpp:1964
-#: src/frontends/qt/GuiView.cpp:3715 src/frontends/qt/GuiView.cpp:3758
+#: src/frontends/qt/GuiView.cpp:3728 src/frontends/qt/GuiView.cpp:3771
msgid "Revision control error."
msgstr "Fehler der Versionskontrolle."
@@ -30950,14 +30965,14 @@ msgstr ""
"Fortfahren?"
#: src/VCBackend.cpp:1522 src/VCBackend.cpp:1526
-#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1891
+#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1896
#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:351
#: src/lyxfind.cpp:694 src/lyxfind.cpp:722
msgid "&Yes"
msgstr "&Ja"
#: src/VCBackend.cpp:1522 src/VCBackend.cpp:1526
-#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1891
+#: src/frontends/qt/FindAndReplace.cpp:381 src/frontends/qt/GuiPrefs.cpp:1896
#: src/lyxfind.cpp:303 src/lyxfind.cpp:330 src/lyxfind.cpp:351
#: src/lyxfind.cpp:694 src/lyxfind.cpp:722
msgid "&No"
@@ -31015,7 +31030,7 @@ msgstr ""
"Möchten Sie die Ãnderungen verwerfen und zur gespeicherten Version "
"zurückkehren?"
-#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4374
+#: src/buffer_funcs.cpp:55 src/frontends/qt/GuiView.cpp:4387
msgid "Reload saved document?"
msgstr "Gespeichertes Dokument neu laden?"
@@ -31326,7 +31341,7 @@ msgstr "Ãber LyX"
msgid "About %1"
msgstr "Ãber %1"
-#: src/frontends/qt/GuiApplication.cpp:737 src/frontends/qt/GuiPrefs.cpp:3524
+#: src/frontends/qt/GuiApplication.cpp:737 src/frontends/qt/GuiPrefs.cpp:3529
msgid "Preferences"
msgstr "Einstellungen"
@@ -31380,7 +31395,7 @@ msgstr "Befehl ist deaktiviert"
msgid "Bad debug value `%1$s'."
msgstr "Falscher Debug-Wert ,%1$s'."
-#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2153
+#: src/frontends/qt/GuiApplication.cpp:1463 src/frontends/qt/GuiView.cpp:2165
msgid "Command not allowed without a buffer open"
msgstr "Dieser Befehl ist nur bei geöffnetem Dokument möglich"
@@ -31478,11 +31493,11 @@ msgstr "Die Dokument-Standardeinstellungen können nicht gespeichert werden"
msgid "Unknown function."
msgstr "Unbekannte Funktion."
-#: src/frontends/qt/GuiApplication.cpp:3001
+#: src/frontends/qt/GuiApplication.cpp:3013
msgid "The current document was closed."
msgstr "Das aktuelle Dokument wurde geschlossen."
-#: src/frontends/qt/GuiApplication.cpp:3011
+#: src/frontends/qt/GuiApplication.cpp:3023
msgid ""
"LyX has caught an exception, it will now attempt to save all unsaved "
"documents and exit.\n"
@@ -31494,12 +31509,12 @@ msgstr ""
"\n"
"Exception: "
-#: src/frontends/qt/GuiApplication.cpp:3015
-#: src/frontends/qt/GuiApplication.cpp:3021
+#: src/frontends/qt/GuiApplication.cpp:3027
+#: src/frontends/qt/GuiApplication.cpp:3033
msgid "Software exception Detected"
msgstr "Softwareausnahme erkannt"
-#: src/frontends/qt/GuiApplication.cpp:3019
+#: src/frontends/qt/GuiApplication.cpp:3031
msgid ""
"LyX has caught some really weird exception, it will now attempt to save all "
"unsaved documents and exit."
@@ -31507,12 +31522,12 @@ msgstr ""
"LyX hat einen ziemlich seltsamen Fehler entdeckt. Das Programm wird jetzt "
"versuchen, alle ungespeicherten Dateien zu speichern, und dann beendet."
-#: src/frontends/qt/GuiApplication.cpp:3325
#: src/frontends/qt/GuiApplication.cpp:3337
+#: src/frontends/qt/GuiApplication.cpp:3349
msgid "Could not find UI definition file"
msgstr "Die Benutzeroberflächen-Definitionsdatei konnte nicht gefunden werden"
-#: src/frontends/qt/GuiApplication.cpp:3326
+#: src/frontends/qt/GuiApplication.cpp:3338
#, c-format
msgid ""
"Error while reading the included file\n"
@@ -31523,13 +31538,13 @@ msgstr ""
"%1$s.\n"
"Bitte überprüfen Sie Ihre Installation."
-#: src/frontends/qt/GuiApplication.cpp:3332
+#: src/frontends/qt/GuiApplication.cpp:3344
msgid "Could not find default UI file"
msgstr ""
"Die Standard-Benutzeroberflächen-Definitionsdatei konnte nicht gefunden "
"werden"
-#: src/frontends/qt/GuiApplication.cpp:3333
+#: src/frontends/qt/GuiApplication.cpp:3345
msgid ""
"LyX could not find the default UI file!\n"
"Please check your installation."
@@ -31538,7 +31553,7 @@ msgstr ""
"für die Benutzeroberfläche!\n"
"Bitte überprüfen Sie Ihre Installation."
-#: src/frontends/qt/GuiApplication.cpp:3338
+#: src/frontends/qt/GuiApplication.cpp:3350
#, c-format
msgid ""
"Error while reading the configuration file\n"
@@ -31652,9 +31667,9 @@ msgstr "alle Literaturverzeichnisse"
#: src/frontends/qt/GuiDocument.cpp:2895 src/frontends/qt/GuiExternal.cpp:677
#: src/frontends/qt/GuiGraphics.cpp:789 src/frontends/qt/GuiInclude.cpp:380
#: src/frontends/qt/GuiLyXFiles.cpp:368 src/frontends/qt/GuiLyXFiles.cpp:374
-#: src/frontends/qt/GuiView.cpp:2565 src/frontends/qt/GuiView.cpp:2624
-#: src/frontends/qt/GuiView.cpp:2764 src/frontends/qt/GuiView.cpp:2898
-#: src/frontends/qt/GuiView.cpp:3018 src/frontends/qt/GuiView.cpp:3140
+#: src/frontends/qt/GuiView.cpp:2578 src/frontends/qt/GuiView.cpp:2637
+#: src/frontends/qt/GuiView.cpp:2777 src/frontends/qt/GuiView.cpp:2911
+#: src/frontends/qt/GuiView.cpp:3031 src/frontends/qt/GuiView.cpp:3153
msgid "D&ocuments"
msgstr "Do&kumente"
@@ -32015,10 +32030,10 @@ msgstr "%1$s Dateien"
msgid "Choose a filename to save the pasted graphic as"
msgstr "Wählen Sie einen Dateinamen, um die eingefügte Grafik zu speichern als"
-#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2642
-#: src/frontends/qt/GuiView.cpp:2783 src/frontends/qt/GuiView.cpp:2799
-#: src/frontends/qt/GuiView.cpp:2811 src/frontends/qt/GuiView.cpp:2828
-#: src/frontends/qt/GuiView.cpp:2913 src/frontends/qt/GuiView.cpp:4346
+#: src/frontends/qt/GuiClipboard.cpp:220 src/frontends/qt/GuiView.cpp:2655
+#: src/frontends/qt/GuiView.cpp:2796 src/frontends/qt/GuiView.cpp:2812
+#: src/frontends/qt/GuiView.cpp:2824 src/frontends/qt/GuiView.cpp:2841
+#: src/frontends/qt/GuiView.cpp:2926 src/frontends/qt/GuiView.cpp:4359
msgid "Canceled."
msgstr "Abgebrochen."
@@ -32048,8 +32063,8 @@ msgid "Select document"
msgstr "Dokument wählen"
#: src/frontends/qt/GuiCompare.cpp:157 src/frontends/qt/GuiLyXFiles.cpp:367
-#: src/frontends/qt/GuiView.cpp:2569 src/frontends/qt/GuiView.cpp:2628
-#: src/frontends/qt/GuiView.cpp:2902 src/frontends/qt/GuiView.cpp:3029
+#: src/frontends/qt/GuiView.cpp:2582 src/frontends/qt/GuiView.cpp:2641
+#: src/frontends/qt/GuiView.cpp:2915 src/frontends/qt/GuiView.cpp:3042
msgid "LyX Documents (*.lyx)"
msgstr "LyX-Dokumente (*.lyx)"
@@ -33480,17 +33495,17 @@ msgstr ""
msgid "Select example file"
msgstr "Wählen Sie eine Beispieldatei"
-#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2625
-#: src/frontends/qt/GuiView.cpp:2765 src/frontends/qt/GuiView.cpp:2899
+#: src/frontends/qt/GuiLyXFiles.cpp:369 src/frontends/qt/GuiView.cpp:2638
+#: src/frontends/qt/GuiView.cpp:2778 src/frontends/qt/GuiView.cpp:2912
msgid "&Examples"
msgstr "&Beispiele"
-#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2564
+#: src/frontends/qt/GuiLyXFiles.cpp:373 src/frontends/qt/GuiView.cpp:2577
msgid "Select template file"
msgstr "Wählen Sie eine Vorlagendatei"
-#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2566
-#: src/frontends/qt/GuiView.cpp:3019
+#: src/frontends/qt/GuiLyXFiles.cpp:375 src/frontends/qt/GuiView.cpp:2579
+#: src/frontends/qt/GuiView.cpp:3032
msgid "&Templates"
msgstr "&Vorlagen"
@@ -33617,7 +33632,7 @@ msgstr ""
"Normalerweise müssen Sie diese Breite nicht festlegen, da die maximale "
"Breite aller Punkte verwendet wird."
-#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3297
+#: src/frontends/qt/GuiParagraph.cpp:175 src/frontends/qt/GuiView.cpp:3310
msgid "&Close"
msgstr "&SchlieÃen"
@@ -33654,71 +33669,71 @@ msgstr "&Befehl:"
msgid "Screen Fonts"
msgstr "Bildschirmschriften"
-#: src/frontends/qt/GuiPrefs.cpp:1396
+#: src/frontends/qt/GuiPrefs.cpp:1401
msgid "Paths"
msgstr "Pfade"
-#: src/frontends/qt/GuiPrefs.cpp:1483
+#: src/frontends/qt/GuiPrefs.cpp:1488
msgid "Select directory for example files"
msgstr "Wählen Sie ein Verzeichnis für Beispieldateien"
-#: src/frontends/qt/GuiPrefs.cpp:1492
+#: src/frontends/qt/GuiPrefs.cpp:1497
msgid "Select a document templates directory"
msgstr "Wählen Sie ein Verzeichnis für die Dokumentvorlagen"
-#: src/frontends/qt/GuiPrefs.cpp:1501
+#: src/frontends/qt/GuiPrefs.cpp:1506
msgid "Select a temporary directory"
msgstr "Wählen Sie ein temporäres Verzeichnis"
-#: src/frontends/qt/GuiPrefs.cpp:1510
+#: src/frontends/qt/GuiPrefs.cpp:1515
msgid "Select a backups directory"
msgstr "Wählen Sie ein Verzeichnis für Sicherungen"
-#: src/frontends/qt/GuiPrefs.cpp:1519
+#: src/frontends/qt/GuiPrefs.cpp:1524
msgid "Select a document directory"
msgstr "Wählen Sie ein Dokumentverzeichnis"
-#: src/frontends/qt/GuiPrefs.cpp:1528
+#: src/frontends/qt/GuiPrefs.cpp:1533
msgid "Set the path to the thesaurus dictionaries"
msgstr "Den Pfad zum Thesaurus-Wörterbuch festlegen"
-#: src/frontends/qt/GuiPrefs.cpp:1537
+#: src/frontends/qt/GuiPrefs.cpp:1542
msgid "Set the path to the Hunspell dictionaries"
msgstr "Den Pfad zu den Hunspell-Wörterbüchern festlegen"
-#: src/frontends/qt/GuiPrefs.cpp:1546
+#: src/frontends/qt/GuiPrefs.cpp:1551
msgid "Give a filename for the LyX server pipe"
msgstr "Geben Sie einen Dateinamen für die LyX-Server-Weiterleitung an"
-#: src/frontends/qt/GuiPrefs.cpp:1559 src/frontends/qt/GuiSpellchecker.cpp:642
+#: src/frontends/qt/GuiPrefs.cpp:1564 src/frontends/qt/GuiSpellchecker.cpp:642
msgid "Spellchecker"
msgstr "Rechtschreibprüfung"
-#: src/frontends/qt/GuiPrefs.cpp:1565
+#: src/frontends/qt/GuiPrefs.cpp:1570
msgid "Native"
msgstr "Nativ"
-#: src/frontends/qt/GuiPrefs.cpp:1571
+#: src/frontends/qt/GuiPrefs.cpp:1576
msgid "Aspell"
msgstr "Aspell"
-#: src/frontends/qt/GuiPrefs.cpp:1574
+#: src/frontends/qt/GuiPrefs.cpp:1579
msgid "Enchant"
msgstr "Enchant"
-#: src/frontends/qt/GuiPrefs.cpp:1577
+#: src/frontends/qt/GuiPrefs.cpp:1582
msgid "Hunspell"
msgstr "Hunspell"
-#: src/frontends/qt/GuiPrefs.cpp:1650
+#: src/frontends/qt/GuiPrefs.cpp:1655
msgid "Converters"
msgstr "Konverter"
-#: src/frontends/qt/GuiPrefs.cpp:1890
+#: src/frontends/qt/GuiPrefs.cpp:1895
msgid "SECURITY WARNING!"
msgstr "SICHERHEITSWARNUNG!"
-#: src/frontends/qt/GuiPrefs.cpp:1890
+#: src/frontends/qt/GuiPrefs.cpp:1895
msgid ""
"Unchecking this option has the effect that potentially harmful converters "
"would be run without asking your permission first. This is UNSAFE and NOT "
@@ -33731,15 +33746,15 @@ msgstr ""
"tun. Sind Sie sicher, dass Sie fortfahren möchten? Die empfohlene und "
"sichere Antwort ist NEIN!"
-#: src/frontends/qt/GuiPrefs.cpp:2010
+#: src/frontends/qt/GuiPrefs.cpp:2015
msgid "File Formats"
msgstr "Dateiformate"
-#: src/frontends/qt/GuiPrefs.cpp:2253 src/frontends/qt/GuiPrefs.cpp:2405
+#: src/frontends/qt/GuiPrefs.cpp:2258 src/frontends/qt/GuiPrefs.cpp:2410
msgid "Format in use"
msgstr "Format wird verwendet"
-#: src/frontends/qt/GuiPrefs.cpp:2254
+#: src/frontends/qt/GuiPrefs.cpp:2259
msgid ""
"You cannot change a format's short name if the format is used by a "
"converter. Please remove the converter first."
@@ -33747,17 +33762,17 @@ msgstr ""
"Der Kurztitel eines Formats, das von einem Konverter verwendet wird, kann "
"nicht umbenannt werden. Bitte entfernen Sie zunächst den Konverter."
-#: src/frontends/qt/GuiPrefs.cpp:2406
+#: src/frontends/qt/GuiPrefs.cpp:2411
msgid "Cannot remove a Format used by a Converter. Remove the converter first."
msgstr ""
"Ein Format, das von einem Konverter verwendet wird, kann nicht entfernt "
"werden. Bitte entfernen Sie zunächst den Konverter."
-#: src/frontends/qt/GuiPrefs.cpp:2506
+#: src/frontends/qt/GuiPrefs.cpp:2511
msgid "LyX needs to be restarted!"
msgstr "LyX muss neu gestartet werden!"
-#: src/frontends/qt/GuiPrefs.cpp:2507
+#: src/frontends/qt/GuiPrefs.cpp:2512
msgid ""
"The change of user interface language will be fully effective only after a "
"restart."
@@ -33765,82 +33780,82 @@ msgstr ""
"Die Ãnderung der Sprache der Benutzeroberfläche wird erst nach einem "
"Neustart von LyX wirksam."
-#: src/frontends/qt/GuiPrefs.cpp:2607
+#: src/frontends/qt/GuiPrefs.cpp:2612
msgid "User Interface"
msgstr "Benutzeroberfläche"
-#: src/frontends/qt/GuiPrefs.cpp:2626
+#: src/frontends/qt/GuiPrefs.cpp:2631
msgid "Classic"
msgstr "Klassisch"
-#: src/frontends/qt/GuiPrefs.cpp:2627
+#: src/frontends/qt/GuiPrefs.cpp:2632
msgid "Oxygen"
msgstr "Oxygen"
-#: src/frontends/qt/GuiPrefs.cpp:2678
+#: src/frontends/qt/GuiPrefs.cpp:2683
msgid "Document Handling"
msgstr "Dokument-Handhabung"
-#: src/frontends/qt/GuiPrefs.cpp:2785
+#: src/frontends/qt/GuiPrefs.cpp:2790
msgid "Control"
msgstr "Kontrolle"
-#: src/frontends/qt/GuiPrefs.cpp:2906
+#: src/frontends/qt/GuiPrefs.cpp:2911
msgid "Shortcuts"
msgstr "Tastenkürzel"
-#: src/frontends/qt/GuiPrefs.cpp:2913
+#: src/frontends/qt/GuiPrefs.cpp:2918
msgid "Function"
msgstr "Funktion"
-#: src/frontends/qt/GuiPrefs.cpp:2914
+#: src/frontends/qt/GuiPrefs.cpp:2919
msgid "Shortcut"
msgstr "Tastenkürzel"
-#: src/frontends/qt/GuiPrefs.cpp:2991
+#: src/frontends/qt/GuiPrefs.cpp:2996
msgid "Cursor, Mouse and Editing Functions"
msgstr "Cursor-, Maus- und Bearbeitungsfunktionen"
-#: src/frontends/qt/GuiPrefs.cpp:2995
+#: src/frontends/qt/GuiPrefs.cpp:3000
msgid "Mathematical Symbols"
msgstr "Mathematische Symbole"
-#: src/frontends/qt/GuiPrefs.cpp:2999
+#: src/frontends/qt/GuiPrefs.cpp:3004
msgid "Document and Window"
msgstr "Dokument und Arbeitsbereich"
-#: src/frontends/qt/GuiPrefs.cpp:3003
+#: src/frontends/qt/GuiPrefs.cpp:3008
msgid "Font, Layouts and Textclasses"
msgstr "Schriften, Absatzformate und Textklassen"
-#: src/frontends/qt/GuiPrefs.cpp:3007
+#: src/frontends/qt/GuiPrefs.cpp:3012
msgid "System and Miscellaneous"
msgstr "System und Verschiedenes"
-#: src/frontends/qt/GuiPrefs.cpp:3144 src/frontends/qt/GuiPrefs.cpp:3204
+#: src/frontends/qt/GuiPrefs.cpp:3149 src/frontends/qt/GuiPrefs.cpp:3209
msgid "Res&tore"
msgstr "Zurüc&ksetzen"
-#: src/frontends/qt/GuiPrefs.cpp:3372 src/frontends/qt/GuiPrefs.cpp:3381
-#: src/frontends/qt/GuiPrefs.cpp:3387 src/frontends/qt/GuiPrefs.cpp:3451
+#: src/frontends/qt/GuiPrefs.cpp:3377 src/frontends/qt/GuiPrefs.cpp:3386
+#: src/frontends/qt/GuiPrefs.cpp:3392 src/frontends/qt/GuiPrefs.cpp:3456
msgid "Failed to create shortcut"
msgstr "Erstellen des Tastenkürzels fehlgeschlagen"
-#: src/frontends/qt/GuiPrefs.cpp:3373
+#: src/frontends/qt/GuiPrefs.cpp:3378
msgid "Unknown or invalid LyX function"
msgstr "Unbekannte oder ungültige LyX-Funktion"
-#: src/frontends/qt/GuiPrefs.cpp:3382
+#: src/frontends/qt/GuiPrefs.cpp:3387
msgid "This LyX function is hidden and cannot be bound."
msgstr ""
"Dies ist eine versteckte LyX-Funktion. Sie kann nicht mit einer "
"Tastenkombination belegt werden."
-#: src/frontends/qt/GuiPrefs.cpp:3388
+#: src/frontends/qt/GuiPrefs.cpp:3393
msgid "Invalid or empty key sequence"
msgstr "Ungültige oder leere Tastensequenz"
-#: src/frontends/qt/GuiPrefs.cpp:3403
+#: src/frontends/qt/GuiPrefs.cpp:3408
#, c-format
msgid ""
"Shortcut `%1$s' is already bound to %2$s.\n"
@@ -33850,19 +33865,19 @@ msgstr ""
"Sind Sie sicher, dass Sie dies aufheben und das\n"
"Tastenkürzel mit %3$s belegen wollen?"
-#: src/frontends/qt/GuiPrefs.cpp:3409
+#: src/frontends/qt/GuiPrefs.cpp:3414
msgid "Redefine shortcut?"
msgstr "Tastenkürzel neu definieren?"
-#: src/frontends/qt/GuiPrefs.cpp:3410
+#: src/frontends/qt/GuiPrefs.cpp:3415
msgid "&Redefine"
msgstr "&Neu Definieren"
-#: src/frontends/qt/GuiPrefs.cpp:3452
+#: src/frontends/qt/GuiPrefs.cpp:3457
msgid "Can not insert shortcut to the list"
msgstr "Kann Tastenkürzel nicht in Liste einfügen"
-#: src/frontends/qt/GuiPrefs.cpp:3483
+#: src/frontends/qt/GuiPrefs.cpp:3488
msgid "Identity"
msgstr "Identität"
@@ -33970,7 +33985,7 @@ msgstr "Von vorne suchen"
msgid "Click here to change search options"
msgstr "Klicken, um die Suchoptionen anzupassen"
-#: src/frontends/qt/GuiSearch.cpp:568
+#: src/frontends/qt/GuiSearch.cpp:569
msgid "Search and Replace"
msgstr "Suchen und Ersetzen"
@@ -34408,21 +34423,21 @@ msgstr "Version "
msgid "unknown version"
msgstr "unbekannte Version"
-#: src/frontends/qt/GuiView.cpp:648
+#: src/frontends/qt/GuiView.cpp:647
msgid "Workarea zoom level. Drag, use Ctrl-+/- or Shift-Mousewheel to adjust."
msgstr ""
"Skalierung des Arbeitsbereichs. Um dies anzupassen, verwenden Sie den "
"Schieber, Strg-+/- oder Umschalt-Mausrad."
-#: src/frontends/qt/GuiView.cpp:680 src/frontends/qt/GuiView.cpp:790
-#: src/frontends/qt/GuiView.cpp:959 src/frontends/qt/Menus.cpp:1843
+#: src/frontends/qt/GuiView.cpp:689 src/frontends/qt/GuiView.cpp:799
+#: src/frontends/qt/GuiView.cpp:969 src/frontends/qt/Menus.cpp:1843
#: src/frontends/qt/Menus.cpp:1847 src/frontends/qt/Menus.cpp:1851
#: src/frontends/qt/Menus.cpp:1855 src/frontends/qt/Menus.cpp:1859
#: src/frontends/qt/Menus.cpp:1863
msgid "[[ZOOM]]%1$d%"
msgstr "%1$d%"
-#: src/frontends/qt/GuiView.cpp:696
+#: src/frontends/qt/GuiView.cpp:705
msgid ""
"WARNING: LaTeX is allowed to execute external commands for this document. "
"Right click to change."
@@ -34430,114 +34445,114 @@ msgstr ""
"ACHTUNG: LaTeX darf für dieses Dokument beliebige externe Befehle ausführen. "
"Um dies zu ändern, klicken Sie die rechte Maustaste."
-#: src/frontends/qt/GuiView.cpp:775
+#: src/frontends/qt/GuiView.cpp:784
msgid "Cancel Export?"
msgstr "Export abbrechen?"
-#: src/frontends/qt/GuiView.cpp:776
+#: src/frontends/qt/GuiView.cpp:785
msgid "Do you want to cancel the background export process?"
msgstr "Wollen Sie den Exportvorgang im Hintergrund abbrechen?"
-#: src/frontends/qt/GuiView.cpp:779
+#: src/frontends/qt/GuiView.cpp:788
msgid "Co&ntinue"
msgstr "&Fortfahren"
-#: src/frontends/qt/GuiView.cpp:856
+#: src/frontends/qt/GuiView.cpp:865
#, c-format
msgid "Successful export to format: %1$s"
msgstr "Export in das Format %1$s erfolgreich"
-#: src/frontends/qt/GuiView.cpp:865
+#: src/frontends/qt/GuiView.cpp:874
#, c-format
msgid "Error while exporting format: %1$s"
msgstr "Fehler beim Export in das Formats %1$s"
-#: src/frontends/qt/GuiView.cpp:868
+#: src/frontends/qt/GuiView.cpp:877
#, c-format
msgid "Successful preview of format: %1$s"
msgstr "Erfolgreiche Vorschau des Formats %1$s"
-#: src/frontends/qt/GuiView.cpp:871
+#: src/frontends/qt/GuiView.cpp:880
#, c-format
msgid "Error while previewing format: %1$s"
msgstr "Fehler bei der Vorschau des Formats %1$s"
-#: src/frontends/qt/GuiView.cpp:874
+#: src/frontends/qt/GuiView.cpp:883
#, c-format
msgid "Conversion cancelled while previewing format: %1$s"
msgstr "Abbruch der Ausgabe bei der Vorschau des Formats %1$s"
-#: src/frontends/qt/GuiView.cpp:1224
+#: src/frontends/qt/GuiView.cpp:1236
msgid "Exit LyX"
msgstr "LyX beenden"
-#: src/frontends/qt/GuiView.cpp:1225
+#: src/frontends/qt/GuiView.cpp:1237
msgid "LyX could not be closed because documents are being processed by LyX."
msgstr ""
"LyX konnte nicht geschlossen werden, da gerade Dokumente von LyX verarbeitet "
"werden."
-#: src/frontends/qt/GuiView.cpp:1373
+#: src/frontends/qt/GuiView.cpp:1385
#, c-format
msgid "%1$s (modified externally)"
msgstr "%1$s (extern bearbeitet)"
-#: src/frontends/qt/GuiView.cpp:1496
+#: src/frontends/qt/GuiView.cpp:1508
msgid "Welcome to LyX!"
msgstr "Willkommen bei LyX!"
-#: src/frontends/qt/GuiView.cpp:2033
+#: src/frontends/qt/GuiView.cpp:2045
msgid "Automatic save done."
msgstr "Automatische Speicherung abgeschlossen."
-#: src/frontends/qt/GuiView.cpp:2034
+#: src/frontends/qt/GuiView.cpp:2046
msgid "Automatic save failed!"
msgstr "Die automatische Speicherung ist fehlgeschlagen!"
-#: src/frontends/qt/GuiView.cpp:2090
+#: src/frontends/qt/GuiView.cpp:2102
msgid "Command not allowed without any document open"
msgstr "Dieser Befehl ist nur bei geöffnetem Dokument möglich"
-#: src/frontends/qt/GuiView.cpp:2159
+#: src/frontends/qt/GuiView.cpp:2171
msgid "Invalid argument of master-buffer-forall"
msgstr "Ungültiges Argument für master-buffer-forall"
-#: src/frontends/qt/GuiView.cpp:2277
+#: src/frontends/qt/GuiView.cpp:2289
msgid "Function toolbar-set requires two arguments!"
msgstr "Die Funktion toolbar-set erfordert zwei Argumente!"
-#: src/frontends/qt/GuiView.cpp:2284
+#: src/frontends/qt/GuiView.cpp:2296
#, c-format
msgid "Invalid argument \"%1$s\" to function toolbar-set!"
msgstr "Ungültiges Argument \"%1$s\" der Funktion toolbar-set!"
-#: src/frontends/qt/GuiView.cpp:2300 src/frontends/qt/GuiView.cpp:2313
-#: src/frontends/qt/GuiView.cpp:2330
+#: src/frontends/qt/GuiView.cpp:2312 src/frontends/qt/GuiView.cpp:2325
+#: src/frontends/qt/GuiView.cpp:2342
#, c-format
msgid "Unknown toolbar \"%1$s\""
msgstr "Unbekannte Werkzeugleiste \"%1$s\""
-#: src/frontends/qt/GuiView.cpp:2450 src/frontends/qt/GuiView.cpp:2463
+#: src/frontends/qt/GuiView.cpp:2463 src/frontends/qt/GuiView.cpp:2476
msgid "Zoom level cannot be less than %1$d%."
msgstr "Der Skalierungsfaktor darf nicht kleiner als %1$d% sein."
-#: src/frontends/qt/GuiView.cpp:2593
+#: src/frontends/qt/GuiView.cpp:2606
msgid "Document not loaded."
msgstr "Dokument nicht geladen."
-#: src/frontends/qt/GuiView.cpp:2623
+#: src/frontends/qt/GuiView.cpp:2636
msgid "Select document to open"
msgstr "Wählen Sie das zu öffnende Dokument"
-#: src/frontends/qt/GuiView.cpp:2629
+#: src/frontends/qt/GuiView.cpp:2642
msgid "LyX Document Backups (*.lyx~)"
msgstr "LyX-Dokument-Backups (*.lyx~)"
-#: src/frontends/qt/GuiView.cpp:2630
+#: src/frontends/qt/GuiView.cpp:2643
msgid "All Files (*.*)"
msgstr "Alle Dateien (*.*)"
-#: src/frontends/qt/GuiView.cpp:2657
+#: src/frontends/qt/GuiView.cpp:2670
#, c-format
msgid ""
"The directory in the given path\n"
@@ -34548,40 +34563,40 @@ msgstr ""
"%1$s\n"
"existiert nicht."
-#: src/frontends/qt/GuiView.cpp:2674
+#: src/frontends/qt/GuiView.cpp:2687
#, c-format
msgid "Opening document %1$s..."
msgstr "Ãffne Dokument %1$s..."
-#: src/frontends/qt/GuiView.cpp:2679
+#: src/frontends/qt/GuiView.cpp:2692
#, c-format
msgid "Document %1$s opened."
msgstr "Dokument %1$s ist geöffnet."
-#: src/frontends/qt/GuiView.cpp:2682
+#: src/frontends/qt/GuiView.cpp:2695
msgid "Version control detected."
msgstr "Versionskontrolle erkannt."
-#: src/frontends/qt/GuiView.cpp:2684
+#: src/frontends/qt/GuiView.cpp:2697
#, c-format
msgid "Could not open document %1$s"
msgstr "Das Dokument %1$s konnte nicht geöffnet werden"
-#: src/frontends/qt/GuiView.cpp:2712
+#: src/frontends/qt/GuiView.cpp:2725
msgid "Couldn't import file"
msgstr "Die Datei konnte nicht importiert werden"
-#: src/frontends/qt/GuiView.cpp:2713
+#: src/frontends/qt/GuiView.cpp:2726
#, c-format
msgid "No information for importing the format %1$s."
msgstr "Keine Informationen vorhanden, um das Format %1$s zu importieren."
-#: src/frontends/qt/GuiView.cpp:2760
+#: src/frontends/qt/GuiView.cpp:2773
#, c-format
msgid "Select %1$s file to import"
msgstr "Wählen Sie die einzufügende %1$s-Datei"
-#: src/frontends/qt/GuiView.cpp:2795
+#: src/frontends/qt/GuiView.cpp:2808
#, c-format
msgid ""
"The file name '%1$s' is invalid!\n"
@@ -34590,8 +34605,8 @@ msgstr ""
"Der Dateiname '%1$s' ist ungültig!\n"
"Import wird abgebrochen."
-#: src/frontends/qt/GuiView.cpp:2822 src/frontends/qt/GuiView.cpp:3089
-#: src/frontends/qt/GuiView.cpp:3192
+#: src/frontends/qt/GuiView.cpp:2835 src/frontends/qt/GuiView.cpp:3102
+#: src/frontends/qt/GuiView.cpp:3205
#, c-format
msgid ""
"The document %1$s already exists.\n"
@@ -34602,33 +34617,33 @@ msgstr ""
"\n"
"Möchten Sie dieses Dokument überschreiben?"
-#: src/frontends/qt/GuiView.cpp:2824 src/frontends/qt/GuiView.cpp:3093
-#: src/frontends/qt/GuiView.cpp:3196
+#: src/frontends/qt/GuiView.cpp:2837 src/frontends/qt/GuiView.cpp:3106
+#: src/frontends/qt/GuiView.cpp:3209
msgid "Overwrite document?"
msgstr "Dokument überschreiben?"
-#: src/frontends/qt/GuiView.cpp:2833
+#: src/frontends/qt/GuiView.cpp:2846
#, c-format
msgid "Importing %1$s..."
msgstr "Importiere %1$s..."
-#: src/frontends/qt/GuiView.cpp:2836
+#: src/frontends/qt/GuiView.cpp:2849
msgid "imported."
msgstr "wurde eingefügt."
-#: src/frontends/qt/GuiView.cpp:2838
+#: src/frontends/qt/GuiView.cpp:2851
msgid "file not imported!"
msgstr "Datei wurde nicht importiert!"
-#: src/frontends/qt/GuiView.cpp:2864
+#: src/frontends/qt/GuiView.cpp:2877
msgid "newfile"
msgstr "Neues_Dokument"
-#: src/frontends/qt/GuiView.cpp:2897
+#: src/frontends/qt/GuiView.cpp:2910
msgid "Select LyX document to insert"
msgstr "Wählen Sie das einzufügende LyX-Dokument"
-#: src/frontends/qt/GuiView.cpp:2944
+#: src/frontends/qt/GuiView.cpp:2957
#, c-format
msgid ""
"It is suggested to save the template in a subdirectory\n"
@@ -34641,23 +34656,23 @@ msgstr ""
"Dieser Unterordner existiert aber noch nicht.\n"
"Soll er angelegt werden?"
-#: src/frontends/qt/GuiView.cpp:2949
+#: src/frontends/qt/GuiView.cpp:2962
msgid "Create Language Directory?"
msgstr "Sprach-Unterorder erstellen?"
-#: src/frontends/qt/GuiView.cpp:2950 src/frontends/qt/GuiView.cpp:2981
+#: src/frontends/qt/GuiView.cpp:2963 src/frontends/qt/GuiView.cpp:2994
msgid "&Yes, Create"
msgstr "&Ja, erstellen"
-#: src/frontends/qt/GuiView.cpp:2950 src/frontends/qt/GuiView.cpp:2981
+#: src/frontends/qt/GuiView.cpp:2963 src/frontends/qt/GuiView.cpp:2994
msgid "&No, Save Template in Parent Directory"
msgstr "&Nein, speichere Vorlage im Hauptordner"
-#: src/frontends/qt/GuiView.cpp:2953 src/frontends/qt/GuiView.cpp:2984
+#: src/frontends/qt/GuiView.cpp:2966 src/frontends/qt/GuiView.cpp:2997
msgid "Subdirectory creation failed!"
msgstr "Erstellung des Unterordners fehlgeschlagen!"
-#: src/frontends/qt/GuiView.cpp:2954 src/frontends/qt/GuiView.cpp:2985
+#: src/frontends/qt/GuiView.cpp:2967 src/frontends/qt/GuiView.cpp:2998
msgid ""
"Could not create subdirectory.\n"
"The template will be saved in the parent directory."
@@ -34665,7 +34680,7 @@ msgstr ""
"Der Unterordner konnte leider nicht erstellt werden\n"
"Die Vorlage wird im Hauptordner gespeichert."
-#: src/frontends/qt/GuiView.cpp:2975
+#: src/frontends/qt/GuiView.cpp:2988
#, c-format
msgid ""
"It is suggested to save the template in a subdirectory\n"
@@ -34678,19 +34693,19 @@ msgstr ""
"Dieser Unterordner existiert aber noch nicht.\n"
"Soll er angelegt werden?"
-#: src/frontends/qt/GuiView.cpp:2980
+#: src/frontends/qt/GuiView.cpp:2993
msgid "Create Category Directory?"
msgstr "Kategorien-Ordner erstellen?"
-#: src/frontends/qt/GuiView.cpp:3015
+#: src/frontends/qt/GuiView.cpp:3028
msgid "Choose a filename to save template as"
msgstr "Wählen Sie einen Dateinamen für die Vorlage"
-#: src/frontends/qt/GuiView.cpp:3016
+#: src/frontends/qt/GuiView.cpp:3029
msgid "Choose a filename to save document as"
msgstr "Wählen Sie einen Dateinamen für das Dokument"
-#: src/frontends/qt/GuiView.cpp:3052
+#: src/frontends/qt/GuiView.cpp:3065
#, c-format
msgid ""
"The file\n"
@@ -34705,17 +34720,17 @@ msgstr ""
"Bitte schlieÃen Sie sie, wenn Sie sie überschreiben möchten.\n"
"Möchten Sie statt dessen einen neuen Dateinamen wählen?"
-#: src/frontends/qt/GuiView.cpp:3056
+#: src/frontends/qt/GuiView.cpp:3069
msgid "Chosen File Already Open"
msgstr "Ausgewählte Datei bereits geöffnet"
-#: src/frontends/qt/GuiView.cpp:3057 src/frontends/qt/GuiView.cpp:3079
-#: src/frontends/qt/GuiView.cpp:3095 src/frontends/qt/GuiView.cpp:3197
-#: src/frontends/qt/GuiView.cpp:3242
+#: src/frontends/qt/GuiView.cpp:3070 src/frontends/qt/GuiView.cpp:3092
+#: src/frontends/qt/GuiView.cpp:3108 src/frontends/qt/GuiView.cpp:3210
+#: src/frontends/qt/GuiView.cpp:3255
msgid "&Rename"
msgstr "&Umbenennen"
-#: src/frontends/qt/GuiView.cpp:3072
+#: src/frontends/qt/GuiView.cpp:3085
#, c-format
msgid ""
"The document %1$s is already registered.\n"
@@ -34726,27 +34741,27 @@ msgstr ""
"\n"
"Möchten Sie einen anderen Namen wählen?"
-#: src/frontends/qt/GuiView.cpp:3077
+#: src/frontends/qt/GuiView.cpp:3090
msgid "Rename document?"
msgstr "Dokument umbenennen?"
-#: src/frontends/qt/GuiView.cpp:3077
+#: src/frontends/qt/GuiView.cpp:3090
msgid "Copy document?"
msgstr "Dokument kopieren?"
-#: src/frontends/qt/GuiView.cpp:3079
+#: src/frontends/qt/GuiView.cpp:3092
msgid "&Copy"
msgstr "&Kopieren"
-#: src/frontends/qt/GuiView.cpp:3139
+#: src/frontends/qt/GuiView.cpp:3152
msgid "Choose a filename to export the document as"
msgstr "Wählen Sie einen Dateinamen für das exportierte Dokument"
-#: src/frontends/qt/GuiView.cpp:3143
+#: src/frontends/qt/GuiView.cpp:3156
msgid "Guess from extension (*.*)"
msgstr "Von der Dateierweiterung ableiten (*.*)"
-#: src/frontends/qt/GuiView.cpp:3238
+#: src/frontends/qt/GuiView.cpp:3251
#, c-format
msgid ""
"The document %1$s could not be saved.\n"
@@ -34757,15 +34772,15 @@ msgstr ""
"\n"
"Möchten Sie das Dokument umbenennen und erneut versuchen?"
-#: src/frontends/qt/GuiView.cpp:3241
+#: src/frontends/qt/GuiView.cpp:3254
msgid "Rename and save?"
msgstr "Umbenennen und speichern?"
-#: src/frontends/qt/GuiView.cpp:3242
+#: src/frontends/qt/GuiView.cpp:3255
msgid "&Retry"
msgstr "&Wiederholen"
-#: src/frontends/qt/GuiView.cpp:3287
+#: src/frontends/qt/GuiView.cpp:3300
#, c-format
msgid ""
"Last view on document %1$s is being closed.\n"
@@ -34787,25 +34802,25 @@ msgstr ""
"die Voreinstellung in Werkzeuge > Einstellungen ... >\n"
"Aussehen & Handhabung > Benutzeroberfläche.\n"
-#: src/frontends/qt/GuiView.cpp:3296
+#: src/frontends/qt/GuiView.cpp:3309
msgid "Close or hide document?"
msgstr "Dokument schlieÃen oder verbergen?"
-#: src/frontends/qt/GuiView.cpp:3297
+#: src/frontends/qt/GuiView.cpp:3310
msgid "&Hide"
msgstr "&Verbergen"
-#: src/frontends/qt/GuiView.cpp:3394
+#: src/frontends/qt/GuiView.cpp:3407
msgid "Close document"
msgstr "Dokument schlieÃen"
-#: src/frontends/qt/GuiView.cpp:3395
+#: src/frontends/qt/GuiView.cpp:3408
msgid "Document could not be closed because it is being processed by LyX."
msgstr ""
"Dokument konnte nicht geschlossen werden, da es gerade von LyX verarbeitet "
"wird."
-#: src/frontends/qt/GuiView.cpp:3527 src/frontends/qt/GuiView.cpp:3642
+#: src/frontends/qt/GuiView.cpp:3540 src/frontends/qt/GuiView.cpp:3655
#, c-format
msgid ""
"The document %1$s has not been saved yet.\n"
@@ -34816,16 +34831,16 @@ msgstr ""
"\n"
"Möchten Sie das Dokument speichern?"
-#: src/frontends/qt/GuiView.cpp:3530 src/frontends/qt/GuiView.cpp:3645
+#: src/frontends/qt/GuiView.cpp:3543 src/frontends/qt/GuiView.cpp:3658
msgid "Save new document?"
msgstr "Neues Dokument speichern?"
-#: src/frontends/qt/GuiView.cpp:3531 src/frontends/qt/GuiView.cpp:3545
-#: src/frontends/qt/GuiView.cpp:3647
+#: src/frontends/qt/GuiView.cpp:3544 src/frontends/qt/GuiView.cpp:3558
+#: src/frontends/qt/GuiView.cpp:3660
msgid "&Save"
msgstr "&Speichern"
-#: src/frontends/qt/GuiView.cpp:3536
+#: src/frontends/qt/GuiView.cpp:3549
#, c-format
msgid ""
"The document %1$s has unsaved changes.\n"
@@ -34836,7 +34851,7 @@ msgstr ""
"sind nicht gespeichert.\n"
"Möchten Sie das Dokument speichern oder die Ãnderungen verwerfen?"
-#: src/frontends/qt/GuiView.cpp:3539
+#: src/frontends/qt/GuiView.cpp:3552
#, c-format
msgid ""
"The document %1$s has not been saved yet.\n"
@@ -34847,19 +34862,19 @@ msgstr ""
"\n"
"Möchten Sie das Dokument speichern oder es endgültig verwerfen?"
-#: src/frontends/qt/GuiView.cpp:3543 src/frontends/qt/GuiView.cpp:3639
+#: src/frontends/qt/GuiView.cpp:3556 src/frontends/qt/GuiView.cpp:3652
msgid "Save changed document?"
msgstr "Geändertes Dokument speichern?"
-#: src/frontends/qt/GuiView.cpp:3543
+#: src/frontends/qt/GuiView.cpp:3556
msgid "Save document?"
msgstr "Dokument speichern?"
-#: src/frontends/qt/GuiView.cpp:3545
+#: src/frontends/qt/GuiView.cpp:3558
msgid "&Discard"
msgstr "&Verwerfen"
-#: src/frontends/qt/GuiView.cpp:3636
+#: src/frontends/qt/GuiView.cpp:3649
#, c-format
msgid ""
"The document %1$s has unsaved changes.\n"
@@ -34870,7 +34885,7 @@ msgstr ""
"\n"
"Möchten Sie das Dokument speichern?"
-#: src/frontends/qt/GuiView.cpp:3668
+#: src/frontends/qt/GuiView.cpp:3681
#, c-format
msgid ""
"Document \n"
@@ -34882,37 +34897,37 @@ msgstr ""
"wurde extern verändert. Wollen Sie es erneut laden?\n"
"Alle lokalen Veränderungen werden dann verworfen."
-#: src/frontends/qt/GuiView.cpp:3671
+#: src/frontends/qt/GuiView.cpp:3684
msgid "Reload externally changed document?"
msgstr "Extern geändertes Dokument neu laden?"
-#: src/frontends/qt/GuiView.cpp:3716
+#: src/frontends/qt/GuiView.cpp:3729
msgid "Document could not be checked in."
msgstr "Das Dokument konnte nicht eingecheckt werden."
-#: src/frontends/qt/GuiView.cpp:3759
+#: src/frontends/qt/GuiView.cpp:3772
msgid "Error when setting the locking property."
msgstr "Fehler beim Setzen der Dateisperrung."
-#: src/frontends/qt/GuiView.cpp:3808
+#: src/frontends/qt/GuiView.cpp:3821
msgid "Directory is not accessible."
msgstr "Das Verzeichnis ist nicht lesbar."
-#: src/frontends/qt/GuiView.cpp:3885
+#: src/frontends/qt/GuiView.cpp:3898
#, c-format
msgid "Opening child document %1$s..."
msgstr "Ãffne Unterdokument %1$s..."
-#: src/frontends/qt/GuiView.cpp:3943
+#: src/frontends/qt/GuiView.cpp:3956
#, c-format
msgid "No buffer for file: %1$s."
msgstr "Kein Pufferspeicher für Datei: %1$s."
-#: src/frontends/qt/GuiView.cpp:3953
+#: src/frontends/qt/GuiView.cpp:3966
msgid "Inverse Search Failed"
msgstr "Rückwärtssuche gescheitert"
-#: src/frontends/qt/GuiView.cpp:3954
+#: src/frontends/qt/GuiView.cpp:3967
msgid ""
"Invalid position requested by inverse search.\n"
"You may need to update the viewed document."
@@ -34920,35 +34935,35 @@ msgstr ""
"Die Rückwärtssuche wollte eine ungültige Position anspringen.\n"
"Bitte aktualisieren Sie das ausgegebene Dokument."
-#: src/frontends/qt/GuiView.cpp:4034
+#: src/frontends/qt/GuiView.cpp:4047
msgid "Export Error"
msgstr "Exportfehler"
-#: src/frontends/qt/GuiView.cpp:4035
+#: src/frontends/qt/GuiView.cpp:4048
msgid "Error cloning the Buffer."
msgstr "Fehler beim Klonen des Pufferspeichers."
-#: src/frontends/qt/GuiView.cpp:4186 src/frontends/qt/GuiView.cpp:4206
+#: src/frontends/qt/GuiView.cpp:4199 src/frontends/qt/GuiView.cpp:4219
msgid "Exporting ..."
msgstr "Exportiere ..."
-#: src/frontends/qt/GuiView.cpp:4215
+#: src/frontends/qt/GuiView.cpp:4228
msgid "Previewing ..."
msgstr "Generiere Vorschau ..."
-#: src/frontends/qt/GuiView.cpp:4253
+#: src/frontends/qt/GuiView.cpp:4266
msgid "Document not loaded"
msgstr "Dokument nicht geladen"
-#: src/frontends/qt/GuiView.cpp:4340
+#: src/frontends/qt/GuiView.cpp:4353
msgid "Select file to insert"
msgstr "Wählen Sie das einzufügende Dokument"
-#: src/frontends/qt/GuiView.cpp:4343
+#: src/frontends/qt/GuiView.cpp:4356
msgid "All Files (*)"
msgstr "Alle Dateien (*)"
-#: src/frontends/qt/GuiView.cpp:4371
+#: src/frontends/qt/GuiView.cpp:4384
#, c-format
msgid ""
"The current version will be lost. Are you sure you want to load the version "
@@ -34958,7 +34973,7 @@ msgstr ""
"dass Sie die auf der Festplatte gespeicherte Version des Dokuments %1$s "
"laden möchten?"
-#: src/frontends/qt/GuiView.cpp:4378
+#: src/frontends/qt/GuiView.cpp:4391
#, c-format
msgid ""
"Any changes will be lost. Are you sure you want to revert to the saved "
@@ -34967,61 +34982,61 @@ msgstr ""
"Alle Ãnderungen gehen verloren. Sind Sie sicher, dass Sie zur gespeicherten "
"Version des Dokuments %1$s zurückkehren möchten?"
-#: src/frontends/qt/GuiView.cpp:4381
+#: src/frontends/qt/GuiView.cpp:4394
msgid "Revert to saved document?"
msgstr "Gespeichertes Dokument neu laden?"
-#: src/frontends/qt/GuiView.cpp:4398
+#: src/frontends/qt/GuiView.cpp:4411
msgid "Buffer export reset."
msgstr "Export zurückgesetzt."
-#: src/frontends/qt/GuiView.cpp:4421
+#: src/frontends/qt/GuiView.cpp:4434
msgid "Saving all documents..."
msgstr "Speichere alle Dokumente..."
-#: src/frontends/qt/GuiView.cpp:4431
+#: src/frontends/qt/GuiView.cpp:4444
msgid "All documents saved."
msgstr "Alle Dokumente wurden gespeichert."
-#: src/frontends/qt/GuiView.cpp:4470
+#: src/frontends/qt/GuiView.cpp:4483
msgid "Developer mode is now enabled."
msgstr "Der Entwicklermodus ist nun aktiviert."
-#: src/frontends/qt/GuiView.cpp:4472
+#: src/frontends/qt/GuiView.cpp:4485
msgid "Developer mode is now disabled."
msgstr "Der Entwicklermodus ist nun deaktiviert."
-#: src/frontends/qt/GuiView.cpp:4504
+#: src/frontends/qt/GuiView.cpp:4517
msgid "Toolbars unlocked."
msgstr "Werkzeugleisten nicht verankert."
-#: src/frontends/qt/GuiView.cpp:4506
+#: src/frontends/qt/GuiView.cpp:4519
msgid "Toolbars locked."
msgstr "Werkzeugleisten verankert."
-#: src/frontends/qt/GuiView.cpp:4518
+#: src/frontends/qt/GuiView.cpp:4531
#, c-format
msgid "Icon size set to %1$dx%2$d."
msgstr "Eingestellte SymbolgröÃe: %1$dx%2$d."
-#: src/frontends/qt/GuiView.cpp:4607
+#: src/frontends/qt/GuiView.cpp:4620
#, c-format
msgid "%1$s unknown command!"
msgstr "LFUN_UI_TOGGLE %1$s unbekannter Befehl!"
-#: src/frontends/qt/GuiView.cpp:4711
+#: src/frontends/qt/GuiView.cpp:4724
msgid "Zoom level is now %1$d% (default value: %2$d%)"
msgstr "Aktueller Skalierungsfaktor: %1$d% (Standardwert: %2$d%)"
-#: src/frontends/qt/GuiView.cpp:4770
+#: src/frontends/qt/GuiView.cpp:4783
msgid "Please, preview the document first."
msgstr "Bitte geben Sie das Dokument zunächst aus."
-#: src/frontends/qt/GuiView.cpp:4786
+#: src/frontends/qt/GuiView.cpp:4799
msgid "Couldn't proceed."
msgstr "Konnte nicht fortfahren."
-#: src/frontends/qt/GuiView.cpp:5141
+#: src/frontends/qt/GuiView.cpp:5156
msgid "Disable Shell Escape"
msgstr "Erlaubnis zum Aufruf externer Programme widerrufen"
@@ -35034,27 +35049,27 @@ msgstr "Quelltext-Vorschau"
msgid "%1[[preview format name]] Preview"
msgstr "%1-Vorschau"
-#: src/frontends/qt/GuiWorkArea.cpp:1530
+#: src/frontends/qt/GuiWorkArea.cpp:1527
msgid "Close File"
msgstr "Datei schlieÃen"
-#: src/frontends/qt/GuiWorkArea.cpp:2072
+#: src/frontends/qt/GuiWorkArea.cpp:2069
msgid "%1 (read only)"
msgstr "%1 (schreibgeschützt)"
-#: src/frontends/qt/GuiWorkArea.cpp:2080
+#: src/frontends/qt/GuiWorkArea.cpp:2077
msgid "%1 (modified externally)"
msgstr "%1 (extern bearbeitet)"
-#: src/frontends/qt/GuiWorkArea.cpp:2103
+#: src/frontends/qt/GuiWorkArea.cpp:2100
msgid "Hide tab"
msgstr "Unterfenster verstecken"
-#: src/frontends/qt/GuiWorkArea.cpp:2109
+#: src/frontends/qt/GuiWorkArea.cpp:2106
msgid "Close tab"
msgstr "Unterfenster schlieÃen"
-#: src/frontends/qt/GuiWorkArea.cpp:2148
+#: src/frontends/qt/GuiWorkArea.cpp:2145
msgid "<b>The file %1 changed on disk.</b>"
msgstr "<b>Die Datei %1 wurde auf der Festplatte verändert.</b>"
@@ -35827,15 +35842,15 @@ msgstr "FEHLER: Unbekannter Gleitobjekt-Typ: %1$s"
msgid "float"
msgstr "Gleitobjekt"
-#: src/insets/InsetFloat.cpp:903
+#: src/insets/InsetFloat.cpp:911
msgid "Float: "
msgstr "Gleitobjekt: "
-#: src/insets/InsetFloat.cpp:906
+#: src/insets/InsetFloat.cpp:914
msgid "Subfloat: "
msgstr "Untergleitobjekt: "
-#: src/insets/InsetFloat.cpp:916
+#: src/insets/InsetFloat.cpp:924
msgid " (sideways)"
msgstr " (seitwärts)"
@@ -37088,28 +37103,28 @@ msgstr "%1$d Zeichenketten wurden in der Auswahl ersetzt."
msgid "%1$d strings have been replaced."
msgstr "%1$d Zeichenketten wurden ersetzt."
-#: src/lyxfind.cpp:4483
+#: src/lyxfind.cpp:4508
msgid "One match has been replaced."
msgstr "Ein Treffer wurde ersetzt."
-#: src/lyxfind.cpp:4486
+#: src/lyxfind.cpp:4511
msgid "Two matches have been replaced."
msgstr "Zwei Treffer wurden ersetzt."
-#: src/lyxfind.cpp:4489
+#: src/lyxfind.cpp:4514
#, c-format
msgid "%1$d matches have been replaced."
msgstr "%1$d Treffer wurden ersetzt."
-#: src/lyxfind.cpp:4495
+#: src/lyxfind.cpp:4520
msgid "Match not found."
msgstr "Die Zeichenkette wurde nicht gefunden!"
-#: src/lyxfind.cpp:4501
+#: src/lyxfind.cpp:4526
msgid "Match has been replaced."
msgstr "Die Zeichenkette wurde ersetzt."
-#: src/lyxfind.cpp:4503
+#: src/lyxfind.cpp:4528
msgid "Match found."
msgstr "Die Zeichenkette wurde gefunden!"
@@ -37151,27 +37166,27 @@ msgstr "Verzierung: %1$s"
msgid "Environment: %1$s"
msgstr "Umgebung: %1$s"
-#: src/mathed/InsetMathGrid.cpp:1720
+#: src/mathed/InsetMathGrid.cpp:1725
msgid "Cursor not in table"
msgstr "Cursor nicht in Tabelle"
-#: src/mathed/InsetMathGrid.cpp:1725
+#: src/mathed/InsetMathGrid.cpp:1730
msgid "Only one row"
msgstr "Nur eine Zeile"
-#: src/mathed/InsetMathGrid.cpp:1731
+#: src/mathed/InsetMathGrid.cpp:1736
msgid "Only one column"
msgstr "Nur eine Spalte"
-#: src/mathed/InsetMathGrid.cpp:1739
+#: src/mathed/InsetMathGrid.cpp:1744
msgid "No hline to delete"
msgstr "Keine horizontale Linie zu löschen"
-#: src/mathed/InsetMathGrid.cpp:1748
+#: src/mathed/InsetMathGrid.cpp:1753
msgid "No vline to delete"
msgstr "Keine vertikale Linie zu löschen"
-#: src/mathed/InsetMathGrid.cpp:1777
+#: src/mathed/InsetMathGrid.cpp:1782
#, c-format
msgid "Unknown tabular feature '%1$s'"
msgstr "Unbekanntes Tabellenmerkmal '%1$s'"
@@ -37242,7 +37257,7 @@ msgstr "Mathe-Textmodus betreten (textrm)"
msgid "Regular expression editor mode"
msgstr "Bearbeitungsmodus für reguläre Ausdrücke"
-#: src/mathed/InsetMathNest.cpp:1942
+#: src/mathed/InsetMathNest.cpp:1948
#, c-format
msgid "Cannot apply %1$s here."
msgstr "%1$s kann hier nicht angewendet werden."
@@ -37306,11 +37321,11 @@ msgstr ""
"Das angegebene Dokument %1$s\n"
"konnte nicht geöffnet werden."
-#: src/output_latex.cpp:1626
+#: src/output_latex.cpp:1650
msgid "Error in latexParagraphs"
msgstr "Fehler in latexParagraphs"
-#: src/output_latex.cpp:1627
+#: src/output_latex.cpp:1651
#, c-format
msgid ""
"You are using at least one layout (%1$s) intended for the title, after using "
commit cc787967f412bbc497078086762619862945dd17
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Wed Dec 29 11:45:01 2021 -0500
Change "Show Zoom Value" to "Show Zoom Level"
See discussion at #12420.
Amends 49a17aaa.
diff --git a/lib/ui/stdcontext.inc b/lib/ui/stdcontext.inc
index e790492..5051c44 100644
--- a/lib/ui/stdcontext.inc
+++ b/lib/ui/stdcontext.inc
@@ -729,7 +729,7 @@ Menuset
Menu "context-statusbar"
ZoomOptions
Separator
- Item "Show Zoom Value|Z" "ui-toggle zoom"
+ Item "Show Zoom Level|Z" "ui-toggle zoom"
Item "Show Zoom Slider|S" "ui-toggle zoomslider"
End
commit f40413db1180032f29466187f860600f927962d7
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Wed Dec 29 10:17:53 2021 -0500
Reg tests for language switching
Use cases from #12352. The files correspond to
mwe-remove-bottom.23.lyx and mwe-remove-top.23.lyx. The only
differences are that I changed to FreeSans and FreeSerif for the
fonts.
diff --git a/autotests/export/latex/lyxbugs-resolved/12352-language-not-closed1.lyx b/autotests/export/latex/lyxbugs-resolved/12352-language-not-closed1.lyx
new file mode 100644
index 0000000..46b617b
--- /dev/null
+++ b/autotests/export/latex/lyxbugs-resolved/12352-language-not-closed1.lyx
@@ -0,0 +1,106 @@
+#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 unavailable
+\textclass article
+\use_default_options true
+\begin_modules
+tcolorbox
+\end_modules
+\maintain_unincluded_children false
+\language hebrew
+\language_package default
+\inputencoding auto
+\fontencoding global
+\font_roman "default" "FreeSans"
+\font_sans "default" "FreeSerif"
+\font_typewriter "default" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts true
+\font_sc false
+\font_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures true
+\graphics default
+\default_output_format pdf4
+\output_sync 1
+\output_sync_macro "\synctex=1"
+\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 false
+\paperorientation portrait
+\suppress_date true
+\justification true
+\use_refstyle 1
+\use_minted 0
+\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 1
+\paperpagestyle default
+\bullet 0 2 5 -1
+\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 Standard
+
+\lang english
+\begin_inset Flex Color Box
+status open
+
+\begin_layout Plain Layout
+\noindent
+×
+\end_layout
+
+\begin_layout Enumerate
+×
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
diff --git a/autotests/export/latex/lyxbugs-resolved/12352-language-not-closed2.lyx b/autotests/export/latex/lyxbugs-resolved/12352-language-not-closed2.lyx
new file mode 100644
index 0000000..71d9172
--- /dev/null
+++ b/autotests/export/latex/lyxbugs-resolved/12352-language-not-closed2.lyx
@@ -0,0 +1,105 @@
+#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 unavailable
+\textclass article
+\use_default_options true
+\begin_modules
+tcolorbox
+\end_modules
+\maintain_unincluded_children false
+\language hebrew
+\language_package default
+\inputencoding auto
+\fontencoding global
+\font_roman "default" "FreeSans"
+\font_sans "default" "FreeSerif"
+\font_typewriter "default" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts true
+\font_sc false
+\font_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures true
+\graphics default
+\default_output_format pdf4
+\output_sync 1
+\output_sync_macro "\synctex=1"
+\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 false
+\paperorientation portrait
+\suppress_date true
+\justification true
+\use_refstyle 1
+\use_minted 0
+\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 1
+\paperpagestyle default
+\bullet 0 2 5 -1
+\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 Standard
+
+\lang english
+\begin_inset Flex Color Box
+status open
+
+\begin_layout Enumerate
+×
+\end_layout
+
+\begin_layout Plain Layout
+×
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
commit 095e533be957d3a47ed361ec6fa68945c7a32f91
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Wed Dec 29 16:07:40 2021 +0100
Fix language environment with environments at inset begin/end (#12352)
diff --git a/src/output_latex.cpp b/src/output_latex.cpp
index 4589b37..ac22116 100644
--- a/src/output_latex.cpp
+++ b/src/output_latex.cpp
@@ -185,8 +185,9 @@ static TeXEnvironmentData prepareEnvironment(Buffer const & buf,
bparams.documentClass().plainLayout() : pit->layout();
ParagraphList const & paragraphs = text.paragraphs();
+ bool const firstpar = pit == paragraphs.begin();
ParagraphList::const_iterator const priorpit =
- pit == paragraphs.begin() ? pit : prev(pit, 1);
+ firstpar ? pit : prev(pit, 1);
OutputState * state = getOutputState();
bool const use_prev_env_language = state->prev_env_language_ != nullptr
@@ -199,10 +200,13 @@ static TeXEnvironmentData prepareEnvironment(Buffer const & buf,
data.par_language = pit->getParLanguage(bparams);
Language const * const doc_language = bparams.language;
Language const * const prev_par_language =
- (pit != paragraphs.begin())
- ? (use_prev_env_language ? state->prev_env_language_
- : priorpit->getParLanguage(bparams))
- : doc_language;
+ // use font at inset or document language in first paragraph
+ firstpar ? (runparams.local_font ?
+ runparams.local_font->language()
+ : doc_language)
+ : (use_prev_env_language ?
+ state->prev_env_language_
+ : priorpit->getParLanguage(bparams));
bool const use_polyglossia = runparams.use_polyglossia;
string const par_lang = use_polyglossia ?
@@ -219,11 +223,14 @@ static TeXEnvironmentData prepareEnvironment(Buffer const & buf,
!lang_end_command.empty();
// For polyglossia, switch language outside of environment, if possible.
+ // However, if we are at the start of an inset, do not close languages
+ // opened outside.
if (par_lang != prev_par_lang) {
- if ((!using_begin_end || langOpenedAtThisLevel(state)) &&
- !lang_end_command.empty() &&
- prev_par_lang != doc_lang &&
- !prev_par_lang.empty()) {
+ if (!firstpar
+ && (!using_begin_end || langOpenedAtThisLevel(state))
+ && !lang_end_command.empty()
+ && prev_par_lang != doc_lang
+ && !prev_par_lang.empty()) {
os << from_ascii(subst(
lang_end_command,
"$$lang",
@@ -320,10 +327,12 @@ static TeXEnvironmentData prepareEnvironment(Buffer const & buf,
static void finishEnvironment(otexstream & os, OutputParams const & runparams,
- TeXEnvironmentData const & data)
+ TeXEnvironmentData const & data, bool const maintext,
+ bool const lastpar)
{
OutputState * state = getOutputState();
- // BufferParams const & bparams = buf.params(); // FIXME: for speedup shortcut below, would require passing of "buf" as argument
+ // BufferParams const & bparams = buf.params();
+ // FIXME: for speedup shortcut below, would require passing of "buf" as argument
if (state->open_encoding_ == CJK && data.cjk_nested) {
// We need to close the encoding even if it does not change
// to do correct environment nesting
@@ -363,6 +372,20 @@ static void finishEnvironment(otexstream & os, OutputParams const & runparams,
runparams.encoding = data.prev_encoding;
os << setEncoding(data.prev_encoding->iconvName());
}
+ // If this is the last par of an inset, the language needs
+ // to be closed after the environment
+ if (lastpar && !maintext) {
+ if (using_begin_end && langOpenedAtThisLevel(state)) {
+ if (isLocalSwitch(state)) {
+ os << "}";
+ } else {
+ os << "\\end{"
+ << openLanguageName(state)
+ << "}%\n";
+ }
+ popLanguageName();
+ }
+ }
}
if (data.leftindent_open) {
@@ -462,7 +485,8 @@ void TeXEnvironment(Buffer const & buf, Text const & text,
prepareEnvironment(buf, text, par, os, runparams);
// Recursive call to TeXEnvironment!
TeXEnvironment(buf, text, runparams, pit, os);
- finishEnvironment(os, runparams, data);
+ bool const lastpar = size_t(pit + 1) >= paragraphs.size();
+ finishEnvironment(os, runparams, data, text.isMainText(), lastpar);
}
if (pit != runparams.par_end)
@@ -1676,7 +1700,8 @@ void latexParagraphs(Buffer const & buf,
output_changes = bparams.output_changes;
else
output_changes = (runparams.for_searchAdv == OutputParams::SearchWithDeleted);
- if (size_t(pit + 1) < paragraphs.size()) {
+ bool const lastpar = size_t(pit + 1) >= paragraphs.size();
+ if (!lastpar) {
ParagraphList::const_iterator nextpar = paragraphs.iterator_at(pit + 1);
Paragraph const & cpar = paragraphs.at(pit);
if ((par->layout() != nextpar->layout()
@@ -1703,7 +1728,7 @@ void latexParagraphs(Buffer const & buf,
prepareEnvironment(buf, text, par, os, runparams);
// pit can be changed in TeXEnvironment.
TeXEnvironment(buf, text, runparams, pit, os);
- finishEnvironment(os, runparams, data);
+ finishEnvironment(os, runparams, data, maintext, lastpar);
}
// FIXME: uncomment the content or remove this block
commit f22c5c3c3f4c2cbb9fc852481d60b4f542ac6742
Author: Stephan Witt <switt at lyx.org>
Date: Wed Dec 29 15:32:59 2021 +0100
Remove unused local variable
diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp
index cce87e5..d59e64c 100644
--- a/src/frontends/qt/GuiView.cpp
+++ b/src/frontends/qt/GuiView.cpp
@@ -207,7 +207,6 @@ public:
QStringList titlesegs = htext.split('\n');
int wline = 0;
int hline = fm.maxHeight();
- QStringList::const_iterator sit;
for (QString const & seg : titlesegs) {
if (fm.width(seg) > wline)
wline = fm.width(seg);
commit 0f2d711f34da8f3e573d96a87fc31095651c28b7
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Wed Dec 29 14:43:52 2021 +0100
Fix TOC filtering with slashes (#12359)
Seems the * wildcard does not match these.
diff --git a/src/frontends/qt/TocWidget.cpp b/src/frontends/qt/TocWidget.cpp
index cd346a8..483f008 100644
--- a/src/frontends/qt/TocWidget.cpp
+++ b/src/frontends/qt/TocWidget.cpp
@@ -523,8 +523,13 @@ void TocWidget::filterContents()
QModelIndexList indices = tocTV->model()->match(
tocTV->model()->index(0, 0),
- Qt::DisplayRole, "*", -1,
- Qt::MatchFlags(Qt::MatchWildcard|Qt::MatchRecursive));
+ Qt::DisplayRole, ".*", -1,
+#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
+ Qt::MatchFlags(Qt::MatchRegularExpression|Qt::MatchRecursive));
+#else
+ // deprecated in Qt 5.15.
+ Qt::MatchFlags(Qt::MatchRegExp|Qt::MatchRecursive));
+#endif
bool const show_active =
activeFilterCO->currentIndex() != 2;
commit 992991693530c9c9cf68e456f1fcf04c6773a0a6
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Wed Dec 29 13:44:40 2021 +0100
Use Noto Sans Tibetan rather than Serif
The sans is more complete and also seems to be more widely distributed.
diff --git a/autotests/export/latex/languages/supported-languages_polyglossia.lyx b/autotests/export/latex/languages/supported-languages_polyglossia.lyx
index 40d2a88..aa1e50f 100644
--- a/autotests/export/latex/languages/supported-languages_polyglossia.lyx
+++ b/autotests/export/latex/languages/supported-languages_polyglossia.lyx
@@ -23,7 +23,7 @@
\newfontfamily\telugufont{Noto Serif Telugu}
\newfontfamily\thaanafont{FreeSerif} % missing script tag in FreeSerif
%\newfontfamily\thaanafont{Noto Sans Thaana} % works, too
-\newfontfamily\tibetanfont{Noto Serif Tibetan}
+\newfontfamily\tibetanfont{Noto Sans Tibetan}
% Font setup for Japanese (not supported by Polyglossia)
\usepackage{ifxetex}
commit dbd33f6622a4a62c102c640b80c36dc40a67b846
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Tue Dec 28 18:48:55 2021 +0100
When row if empty, set endpos correctly.
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index 2b1ee5a..2cf3ce9 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -1063,7 +1063,7 @@ Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl)
void cleanupRow(Row & row, bool at_end)
{
if (row.empty()) {
- row.endpos(0);
+ row.endpos(row.pos());
return;
}
commit 4b02748b6d6e61c59e56d4777ab69eeaa36e73cc
Author: Kornel Benko <kornel at lyx.org>
Date: Tue Dec 28 17:35:18 2021 +0100
Update sk.po
diff --git a/po/sk.po b/po/sk.po
index 0b3739e..d795056 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: LyX-2.4\n"
"Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n"
-"POT-Creation-Date: 2021-11-01 16:40+0100\n"
-"PO-Revision-Date: 2021-11-01 17:11+0000\n"
+"POT-Creation-Date: 2021-12-28 14:01+0100\n"
+"PO-Revision-Date: 2021-12-28 16:33+0000\n"
"Last-Translator: Kornel Benko <kornel at lyx.org>\n"
"Language-Team: Slovak <kornel at lyx.org>\n"
"Language: sk\n"
@@ -3877,6 +3877,19 @@ msgstr ""
msgid "&Underline change tracking additions"
msgstr "&PodÄiarknuÅ¥ adÃcie sledovaných zmien"
+#: src/frontends/qt/ui/PrefDisplayUi.ui:164
+msgid ""
+"If this is checked, an intermediate surface will be used for painting. This "
+"may be needed in some cases to have proper display, but breaks subpixel "
+"aliasing."
+msgstr ""
+"KeÄ zaÅ¡krtnuté, bude sa použÃvaÅ¥ vnútorná plocha na kresbu. Môže to byÅ¥ "
+"potrebné pre slušný displej. Ale porúša zarovnávanie pod-pixlov."
+
+#: src/frontends/qt/ui/PrefDisplayUi.ui:167
+msgid "Use &backing store to display text"
+msgstr "PoužÃvaÅ¥ zálohové ukladanie na zobrazenie &textu"
+
#: src/frontends/qt/ui/PrefDocHandlingUi.ui:26
msgid "Session Handling"
msgstr "Riadenie sedenia"
@@ -20157,8 +20170,12 @@ msgid "Giant-sized Icons"
msgstr "Gigantické ikony"
#: lib/ui/stdcontext.inc:732
+msgid "Show Zoom Value|Z"
+msgstr "Ukáž hodnotu lupy|h"
+
+#: lib/ui/stdcontext.inc:733
msgid "Show Zoom Slider|S"
-msgstr "Ukáž posuvnÃk lupy|U"
+msgstr "Ukáž posuvnÃk lupy|p"
#: lib/ui/stdmenus.inc:30
msgid "File|F"
@@ -34818,9 +34835,9 @@ msgstr "Popis (%1$s)"
msgid "Reset to Default (%1$d%)|R"
msgstr "Nastaviť na Predvolené (%1$d%)|r"
-#: src/frontends/qt/Menus.cpp:1837
+#: src/frontends/qt/Menus.cpp:1835
msgid "Zoom In|I"
-msgstr "PriblÞiť|r"
+msgstr "PriblÞiť|i"
#: src/frontends/qt/Menus.cpp:1839
msgid "Zoom Out|O"
commit 44b1afb975bf12cf7ade587e476601826691b4dc
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Tue Dec 28 09:42:31 2021 +0100
Style
commit d1761d765295f50207dc132465ed6a5b3daa6cdf
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Tue Dec 28 09:42:31 2021 +0100
Style
diff --git a/src/mathed/InsetMathGrid.cpp b/src/mathed/InsetMathGrid.cpp
index f180b9a..96ec13b 100644
--- a/src/mathed/InsetMathGrid.cpp
+++ b/src/mathed/InsetMathGrid.cpp
@@ -1251,8 +1251,8 @@ void InsetMathGrid::write(TeXMathStream & os,
// As of 2018 (with amendment in LaTeX 2021/06),
// \\ is a robust command and its protection
// is no longer necessary
- bool const fragile = LaTeXFeatures::isAvailable("LaTeX-2021/06/01") ?
- false : os.fragile();
+ bool const fragile = os.fragile()
+ && !LaTeXFeatures::isAvailable("LaTeX-2021/06/01");
for (row_type row = beg_row; row < end_row; ++row) {
os << verboseHLine(rowinfo_[row].lines);
// don't write & and empty cells at end of line,
commit 9ffca92930443a31d743380ffd5df4ce1a619e83
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Mon Dec 27 13:40:56 2021 -0500
Allow toggling of Zoom elements without buffer
The elements are shown without a buffer so it's nice to be able to
toggle without one as well.
diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp
index b7a60fa..cce87e5 100644
--- a/src/frontends/qt/GuiView.cpp
+++ b/src/frontends/qt/GuiView.cpp
@@ -2356,10 +2356,8 @@ bool GuiView::getStatus(FuncRequest const & cmd, FuncStatus & flag)
case LFUN_UI_TOGGLE:
if (cmd.argument() == "zoom") {
- enable = doc_buffer;
flag.setOnOff(zoom_value_ ? zoom_value_->isVisible() : false);
} else if (cmd.argument() == "zoomslider") {
- enable = doc_buffer;
flag.setOnOff(zoom_slider_ ? zoom_slider_->isVisible() : false);
} else
flag.setOnOff(isFullScreen());
commit 49a17aaa5dc37139eb3deddaf3cbd2606608a0b7
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Mon Dec 27 13:40:13 2021 -0500
Change label "Show Zoom" to "Show Zoom Value"
diff --git a/lib/ui/stdcontext.inc b/lib/ui/stdcontext.inc
index 8b67cf0..e790492 100644
--- a/lib/ui/stdcontext.inc
+++ b/lib/ui/stdcontext.inc
@@ -729,7 +729,7 @@ Menuset
Menu "context-statusbar"
ZoomOptions
Separator
- Item "Show Zoom|Z" "ui-toggle zoom"
+ Item "Show Zoom Value|Z" "ui-toggle zoom"
Item "Show Zoom Slider|S" "ui-toggle zoomslider"
End
commit eae56b1194c8bed38bf0751ca9cb4eac76ee54c7
Author: Daniel Ramoeller <d.lyx at web.de>
Date: Tue Nov 2 09:12:03 2021 +0100
Hide the zoom in the status bar from the status bar context menu
Fix for #12420.
diff --git a/lib/ui/stdcontext.inc b/lib/ui/stdcontext.inc
index 83e6d9a..8b67cf0 100644
--- a/lib/ui/stdcontext.inc
+++ b/lib/ui/stdcontext.inc
@@ -724,11 +724,12 @@ Menuset
End
#
-# Zoom context menu
+# Status bar context menu
#
- Menu "context-zoom"
+ Menu "context-statusbar"
ZoomOptions
Separator
+ Item "Show Zoom|Z" "ui-toggle zoom"
Item "Show Zoom Slider|S" "ui-toggle zoomslider"
End
diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp
index 1101b89..b7a60fa 100644
--- a/src/frontends/qt/GuiView.cpp
+++ b/src/frontends/qt/GuiView.cpp
@@ -690,9 +690,9 @@ GuiView::GuiView(int id)
zoom_value_->setText(toqstr(bformat(_("[[ZOOM]]%1$d%"), zoom)));
statusBar()->addPermanentWidget(zoom_value_);
zoom_value_->setEnabled(currentBufferView());
- zoom_value_->setContextMenuPolicy(Qt::CustomContextMenu);
- connect(zoom_value_, SIGNAL(customContextMenuRequested(QPoint)),
+ statusBar()->setContextMenuPolicy(Qt::CustomContextMenu);
+ connect(statusBar(), SIGNAL(customContextMenuRequested(QPoint)),
this, SLOT(showZoomContextMenu()));
int const iconheight = max(int(d.normalIconSize), fm.height());
@@ -826,7 +826,7 @@ void GuiView::zoomOutPressed()
void GuiView::showZoomContextMenu()
{
- QMenu * menu = guiApp->menus().menu(toqstr("context-zoom"), * this);
+ QMenu * menu = guiApp->menus().menu(toqstr("context-statusbar"), * this);
if (!menu)
return;
menu->exec(QCursor::pos());
@@ -946,6 +946,7 @@ void GuiView::saveLayout() const
settings.setValue("geometry", saveGeometry());
settings.setValue("layout", saveState(0));
settings.setValue("icon_size", toqstr(d.iconSize(iconSize())));
+ settings.setValue("zoom_value_visible", zoom_value_->isVisible());
settings.setValue("zoom_slider_visible", zoom_slider_->isVisible());
}
@@ -990,6 +991,8 @@ bool GuiView::restoreLayout()
//code below is skipped when when ~/.config/LyX is (re)created
setIconSize(d.iconSize(settings.value(icon_key).toString()));
+ zoom_value_->setVisible(settings.value("zoom_value_visible", true).toBool());
+
bool const show_zoom_slider = settings.value("zoom_slider_visible", true).toBool();
zoom_slider_->setVisible(show_zoom_slider);
zoom_in_->setVisible(show_zoom_slider);
@@ -2352,7 +2355,10 @@ bool GuiView::getStatus(FuncRequest const & cmd, FuncStatus & flag)
break;
case LFUN_UI_TOGGLE:
- if (cmd.argument() == "zoomslider") {
+ if (cmd.argument() == "zoom") {
+ enable = doc_buffer;
+ flag.setOnOff(zoom_value_ ? zoom_value_->isVisible() : false);
+ } else if (cmd.argument() == "zoomslider") {
enable = doc_buffer;
flag.setOnOff(zoom_slider_ ? zoom_slider_->isVisible() : false);
} else
@@ -4861,6 +4867,8 @@ bool GuiView::lfunUiToggle(string const & ui_component)
statusBar()->setVisible(!statusBar()->isVisible());
} else if (ui_component == "menubar") {
menuBar()->setVisible(!menuBar()->isVisible());
+ } else if (ui_component == "zoom") {
+ zoom_value_->setVisible(!zoom_value_->isVisible());
} else if (ui_component == "zoomslider") {
zoom_slider_->setVisible(!zoom_slider_->isVisible());
zoom_in_->setVisible(zoom_slider_->isVisible());
commit 7ab3c59f006ddaa6a54683a260810217d0272e5e
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Mon Dec 27 19:38:10 2021 +0100
Typo
diff --git a/src/frontends/qt/GuiFontMetrics.cpp b/src/frontends/qt/GuiFontMetrics.cpp
index e51d40f..e638e10 100644
--- a/src/frontends/qt/GuiFontMetrics.cpp
+++ b/src/frontends/qt/GuiFontMetrics.cpp
@@ -92,7 +92,7 @@ namespace {
// Limit strwidth_cache_ total cost to 1MB of string data.
int const strwidth_cache_max_cost = 1024 * 1024;
-// Limit breakat_cache_ total cost to 10MB of string data.
+// Limit breakstr_cache_ total cost to 10MB of string data.
// This is useful for documents with very large insets.
int const breakstr_cache_max_cost = 10 * 1024 * 1024;
// Qt 5.x already has its own caching of QTextLayout objects
commit 22cbc3b0cf58270de0b41fc7e5aa2c44ff57a8c1
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Mon Dec 27 11:17:29 2021 -0500
ctests: uninvert a DocBook export
The export now succeeds, likely due to Jürgen's improvements at
2eaf30c5.
diff --git a/development/autotests/invertedTests b/development/autotests/invertedTests
index dd217d9..303d80c 100644
--- a/development/autotests/invertedTests
+++ b/development/autotests/invertedTests
@@ -492,7 +492,7 @@ export/examples/Modules/Sweave_docbook5
# - Figures without image, only an equation.
export/examples/Modules/Variable-width_Minipages_docbook5
# - Listing in LyX-Code, i.e. double <programlisting>.
-export/examples/(es|fr)/Modules/Linguistics_docbook5
+export/examples/es/Modules/Linguistics_docbook5
# - Inlines in inlines (<code> within <personname>), double sidebar.
export/examples/ko/cjk-ko-doc_docbook5
# - Metadata in abstract paragraph.
commit 62993294f38378d310f9b48a5edac68abde374f4
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Mon Dec 27 11:09:21 2021 -0500
Invert two DocBook + LilyPond exports
This is due to an upstream issue:
https://gitlab.com/lilypond/lilypond/-/issues/6187
For ML discussion, see here:
https://www.mail-archive.com/search?l=mid&q=20211102011304.dmrcr7gjpxxwpd4o%40poole
diff --git a/development/autotests/invertedTests b/development/autotests/invertedTests
index 400f80b..dd217d9 100644
--- a/development/autotests/invertedTests
+++ b/development/autotests/invertedTests
@@ -526,6 +526,11 @@ export/export/docbook/SciPoster_docbook5
# - A figure within a title does not make sense at all, so it cannot be valid
# DocBook under any circumstances.
export/export/latex/lyxbugs-resolved/cprotect/7779-float-in-par-env_docbook5
+# - LilyPond upstream issue:
+# https://gitlab.com/lilypond/lilypond/-/issues/6187
+# See also ML discussion:
+# https://www.mail-archive.com/search?l=mid&q=20211102011304.dmrcr7gjpxxwpd4o%40poole
+export/examples/(|ja/)Modules/LilyPond_Book_docbook5
Sublabel: docbook poster
# Posters cannot be properly exported, the LyX documents are too far from
commit a7905c5b960cc07ddc801cbc217600e5cd4812f0
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Mon Dec 27 16:31:09 2021 +0100
Do not protect \\ as of LaTeX 2021/06/01
diff --git a/lib/chkconfig.ltx b/lib/chkconfig.ltx
index 3512887..fe3ce0d 100644
--- a/lib/chkconfig.ltx
+++ b/lib/chkconfig.ltx
@@ -240,6 +240,8 @@
% This introduces all math and text spaces
% previously only available via amsmath
\TestLaTeXVersion{2020/10/01}
+% This robustifies LaTeX commands
+\TestLaTeXVersion{2021/06/01}
%%% And now, the list of available languages
% The trick is to know that \the\everyjob contains something like
diff --git a/src/mathed/InsetMathGrid.cpp b/src/mathed/InsetMathGrid.cpp
index aa60d6a..f180b9a 100644
--- a/src/mathed/InsetMathGrid.cpp
+++ b/src/mathed/InsetMathGrid.cpp
@@ -772,9 +772,6 @@ docstring InsetMathGrid::eolString(row_type row, bool fragile,
if (eol.empty() && row + 1 == nrows() && (nrows() == 1 || !last_eoln))
return docstring();
- // FIXME: As of 2018 (with amendment in LaTeX 2021/06),
- // \\ is a robust command and the following protection
- // is no longer necessary
return (fragile ? "\\protect\\\\" : "\\\\") + eol;
}
@@ -1251,6 +1248,11 @@ void InsetMathGrid::write(TeXMathStream & os,
{
MathEnsurer ensurer(os, false);
docstring eol;
+ // As of 2018 (with amendment in LaTeX 2021/06),
+ // \\ is a robust command and its protection
+ // is no longer necessary
+ bool const fragile = LaTeXFeatures::isAvailable("LaTeX-2021/06/01") ?
+ false : os.fragile();
for (row_type row = beg_row; row < end_row; ++row) {
os << verboseHLine(rowinfo_[row].lines);
// don't write & and empty cells at end of line,
@@ -1297,7 +1299,7 @@ void InsetMathGrid::write(TeXMathStream & os,
os << eocString(col + nccols - 1, lastcol);
col += nccols;
}
- eol = eolString(row, os.fragile(), os.latex(), last_eoln);
+ eol = eolString(row, fragile, os.latex(), last_eoln);
os << eol;
// append newline only if line wasn't completely empty
// and the formula is not written on a single line
@@ -1309,7 +1311,7 @@ void InsetMathGrid::write(TeXMathStream & os,
docstring const s = verboseHLine(rowinfo_[nrows()].lines);
if (!s.empty()) {
if (eol.empty()) {
- if (os.fragile())
+ if (fragile)
os << "\\protect";
os << "\\\\";
}
commit faa404f063ee1532e647c48e72389ef6f0d6175b
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Mon Dec 27 10:26:04 2021 -0500
Reg test for protect: xymatrix in figure caption
Use case from #6243.
diff --git a/autotests/export/latex/lyxbugs-resolved/6243-protect-xymatrix-in-caption.lyx b/autotests/export/latex/lyxbugs-resolved/6243-protect-xymatrix-in-caption.lyx
new file mode 100644
index 0000000..174079c
--- /dev/null
+++ b/autotests/export/latex/lyxbugs-resolved/6243-protect-xymatrix-in-caption.lyx
@@ -0,0 +1,108 @@
+#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 unavailable
+\textclass article
+\use_default_options true
+\maintain_unincluded_children false
+\language english
+\language_package default
+\inputencoding auto
+\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 true
+\graphics default
+\default_output_format default
+\output_sync 1
+\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 false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 1
+\use_minted 0
+\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 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 Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+\begin_inset Formula $\xymatrix{xyz}
+$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
diff --git a/development/autotests/invertedTests b/development/autotests/invertedTests
index 7ac2113..400f80b 100644
--- a/development/autotests/invertedTests
+++ b/development/autotests/invertedTests
@@ -330,6 +330,10 @@ export/.*/el/.*_(dvi3|pdf5)_texF
# class is not in TeX Live.
export/templates/Articles/Econometrica_(dvi3|pdf5)_texF
+# xymatrix + LuaTeX
+# Error message says pdfTeX is required for xypdf.
+export/export/latex/lyxbugs-resolved/6243-protect-xymatrix-in-caption_pdf5.*
+
# ================================================
Sublabel: externalissues
commit 6ac60832e5091c405d74e4879d339212999ea8f2
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Mon Dec 27 12:09:02 2021 +0100
Add FIXME
diff --git a/src/mathed/InsetMathGrid.cpp b/src/mathed/InsetMathGrid.cpp
index 90f53fd..aa60d6a 100644
--- a/src/mathed/InsetMathGrid.cpp
+++ b/src/mathed/InsetMathGrid.cpp
@@ -772,6 +772,9 @@ docstring InsetMathGrid::eolString(row_type row, bool fragile,
if (eol.empty() && row + 1 == nrows() && (nrows() == 1 || !last_eoln))
return docstring();
+ // FIXME: As of 2018 (with amendment in LaTeX 2021/06),
+ // \\ is a robust command and the following protection
+ // is no longer necessary
return (fragile ? "\\protect\\\\" : "\\\\") + eol;
}
commit a5b7eeacaa72d8285fbe20cd12932fd533b2cf97
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Mon Dec 27 11:52:25 2021 +0100
Remove remaining math cprotection test.
We'll see if someone comes up with a reproducible case, and if so,
whether ordinary protection works here as well.
See #6243
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 369bda0..1bf48f1 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -4120,17 +4120,6 @@ bool Paragraph::needsCProtection(bool const fragile) const
continue;
if (ins->needsCProtection(maintext, fragile))
return true;
- // Now check math environments
- InsetMath const * im = ins->asInsetMath();
- if (!im || im->cell(0).empty())
- continue;
- switch(im->cell(0)[0]->lyxCode()) {
- case MATH_ENV_CODE:
- // these need cprotection
- return true;
- default:
- break;
- }
}
return false;
commit 582fe0990f58625824a0e2521dac6905af897d9c
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Mon Dec 27 11:42:30 2021 +0100
\protect xymatrix in fragile context
(\cprotect'ion not needed then).
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 17c68fa..369bda0 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -4126,7 +4126,6 @@ bool Paragraph::needsCProtection(bool const fragile) const
continue;
switch(im->cell(0)[0]->lyxCode()) {
case MATH_ENV_CODE:
- case MATH_XYMATRIX_CODE:
// these need cprotection
return true;
default:
diff --git a/src/mathed/InsetMathXYMatrix.cpp b/src/mathed/InsetMathXYMatrix.cpp
index 7e35fe9..d8f5460 100644
--- a/src/mathed/InsetMathXYMatrix.cpp
+++ b/src/mathed/InsetMathXYMatrix.cpp
@@ -66,6 +66,8 @@ void InsetMathXYMatrix::draw(PainterInfo & pi, int x, int y) const
void InsetMathXYMatrix::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
+ if (os.fragile())
+ os << "\\protect";
os << "\\xymatrix";
bool open = os.startOuterRow();
if (equal_spacing_) {
commit 596b2d16ee6e9534e39fe58d10b1c4ad66cac620
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Mon Dec 27 11:37:59 2021 +0100
\protect substack in fragile context
(\cprotect'ion not needed then).
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index f09143a..17c68fa 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -4125,7 +4125,6 @@ bool Paragraph::needsCProtection(bool const fragile) const
if (!im || im->cell(0).empty())
continue;
switch(im->cell(0)[0]->lyxCode()) {
- case MATH_SUBSTACK_CODE:
case MATH_ENV_CODE:
case MATH_XYMATRIX_CODE:
// these need cprotection
diff --git a/src/mathed/InsetMathSubstack.cpp b/src/mathed/InsetMathSubstack.cpp
index ed90338..11678b5 100644
--- a/src/mathed/InsetMathSubstack.cpp
+++ b/src/mathed/InsetMathSubstack.cpp
@@ -100,6 +100,8 @@ void InsetMathSubstack::infoize(odocstream & os) const
void InsetMathSubstack::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
+ if (os.fragile())
+ os << "\\protect";
os << "\\substack{";
bool open = os.startOuterRow();
InsetMathGrid::write(os);
commit 3e4c831f1ee4a0424151e0bfaa73bfa0a02f85d9
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Mon Dec 27 10:24:58 2021 +0100
Remove obsolete \cprotect'ion (#6243)
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index a33d6d6..f09143a 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -4125,7 +4125,6 @@ bool Paragraph::needsCProtection(bool const fragile) const
if (!im || im->cell(0).empty())
continue;
switch(im->cell(0)[0]->lyxCode()) {
- case MATH_AMSARRAY_CODE:
case MATH_SUBSTACK_CODE:
case MATH_ENV_CODE:
case MATH_XYMATRIX_CODE:
commit 542445d07d0b45aca66115a693b29fc07966d7f5
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Thu Nov 18 16:36:29 2021 +0100
When pasting text, keep line breaks when "parbreak is newline"
This is much easier for listings, ERT or Verbatim.
Fixes bug #8026.
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 6b960cd..a33d6d6 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -2269,6 +2269,12 @@ bool Paragraph::isPassThru() const
}
+bool Paragraph::parbreakIsNewline() const
+{
+ return inInset().getLayout().parbreakIsNewline() || d->layout_->parbreak_is_newline;
+}
+
+
bool Paragraph::isPartOfTextSequence() const
{
for (pos_type i = 0; i < size(); ++i) {
diff --git a/src/Paragraph.h b/src/Paragraph.h
index d6e4a76..01ccd25 100644
--- a/src/Paragraph.h
+++ b/src/Paragraph.h
@@ -239,6 +239,8 @@ public:
///
bool isPassThru() const;
///
+ bool parbreakIsNewline() const;
+ ///
bool isPartOfTextSequence() const;
///
pos_type size() const;
diff --git a/src/Text3.cpp b/src/Text3.cpp
index 1623996..a87169b 100644
--- a/src/Text3.cpp
+++ b/src/Text3.cpp
@@ -1521,7 +1521,8 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
pasteFromStack(cur, bv->buffer().errorList("Paste"), 0);
else if (theClipboard().hasTextContents()) {
if (pasteClipboardText(cur, bv->buffer().errorList("Paste"),
- true, Clipboard::AnyTextType))
+ !cur.paragraph().parbreakIsNewline(),
+ Clipboard::AnyTextType))
tryGraphics = false;
}
if (tryGraphics && theClipboard().hasGraphicsContents())
commit 51e92a5a97a35b80e47442c4aecb8c4c5c4df90b
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Dec 26 02:26:50 2021 +0100
DocBook: more explicit comment.
diff --git a/src/insets/InsetFloat.cpp b/src/insets/InsetFloat.cpp
index 3f4c0db..cb05e49 100644
--- a/src/insets/InsetFloat.cpp
+++ b/src/insets/InsetFloat.cpp
@@ -792,7 +792,8 @@ void docbookNoSubfigures(XMLStream & xs, OutputParams const & runparams, const I
hasCaption = !osCaptionContent.str().empty();
}
- // Organisation: <float> <title if any/> <contents without title/> </float>.
+ // Organisation: <float with xml:id if any> <title if any/> <contents without title nor xml:id/> </float>.
+ // Titles and xml:id are generated with specific insets and must be dealt with using OutputParams.
// - Generate the attributes for the float tag.
docstring attr = docstring();
commit db1a443a70eb6d7c30371f2cc9242634ec2fe951
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Dec 26 02:24:23 2021 +0100
DocBook: update basic.xml for the latest MathML and DocBook changes.
diff --git a/autotests/export/docbook/basic.xml b/autotests/export/docbook/basic.xml
index 3a0db66..b589ee6 100644
--- a/autotests/export/docbook/basic.xml
+++ b/autotests/export/docbook/basic.xml
@@ -1,6 +1,6 @@
<?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 -->
+ See https://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>
@@ -12,7 +12,6 @@
<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">
@@ -22,46 +21,95 @@
<blockquote>
<para>I am a quote<inlineequation>
<alt role='tex'>\,with\,a\,formula</alt>
- <m:math>
+<m:math display="inline">
+<m:mrow>
<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:math>
+</m:mrow>
+</m:math>
</inlineequation>. </para>
</blockquote>
<para>Now, we're outside quotes.</para>
<informalequation>
<alt role='tex'>Formula!</alt>
- <m:math>
+<m:math display="block">
+<m:mrow>
<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: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:math>
+</m:mrow>
+</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:math display="block">
- <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>
+<m:mtable displaystyle='true'>
+ <m:mtr>
+ <m:mtd>
+ <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:mtd>
+ <m:mtd>
+ <m:mtext>(1)</m:mtext>
+ </m:mtd>
+ </m:mtr>
+</m:mtable>
+</m:math>
</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: <inlineequation>
<alt role='tex'>\testmacro</alt>
-<mathphrase>MathML export failed. Please report this as a bug.</mathphrase>
+<mathphrase>MathML export failed. Please report this as a bug to the LyX developers: https://www.lyx.org/trac.</mathphrase>
</inlineequation>. </para>
-<!-- \latexCommandThatShouldBeCommented -->
-<section>
+<!-- \latexCommandThatShouldBeCommented --><section>
<title>I am the first subsection</title>
<para>I am the only paragraph of the first subsection. </para>
</section>
@@ -131,19 +179,33 @@ I am no more code. </para>
<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>
+<td align='center' valign='top'>
+<para>Table 1</para>
+</td>
+<td align='center' valign='top'>
+<para>Table 2</para>
+</td>
+<td align='center' valign='top'>
+<para>Table 3</para>
+</td>
</tr>
<tr>
-<td align='center' valign='top'>Row 1</td>
+<td align='center' valign='top'>
+<para>Row 1</para>
+</td>
<td align='center' valign='top'></td>
-<td align='center' valign='top'>Col 3, row 1</td>
+<td align='center' valign='top'>
+<para>Col 3, row 1</para>
+</td>
</tr>
<tr>
-<td align='center' valign='top'>Row 2</td>
+<td align='center' valign='top'>
+<para>Row 2</para>
+</td>
<td align='center' valign='top'></td>
-<td align='center' valign='top'>Col 3, row 2</td>
+<td align='center' valign='top'>
+<para>Col 3, row 2</para>
+</td>
</tr>
</tbody>
</table>
@@ -151,38 +213,66 @@ I am no more code. </para>
<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>
+<td align='center' valign='top'>
+<para>Table 1</para>
+</td>
+<td align='center' valign='top'>
+<para>Table 2</para>
+</td>
+<td align='center' valign='top'>
+<para>Table 3</para>
+</td>
</tr>
<tr>
-<td align='center' valign='top'>Row 1</td>
+<td align='center' valign='top'>
+<para>Row 1</para>
+</td>
<td align='center' valign='top'></td>
-<td align='center' valign='top'>Col 3, row 1</td>
+<td align='center' valign='top'>
+<para>Col 3, row 1</para>
+</td>
</tr>
<tr>
-<td align='center' valign='top'>Row 2</td>
+<td align='center' valign='top'>
+<para>Row 2</para>
+</td>
<td align='center' valign='top'></td>
-<td align='center' valign='top'>Col 3, row 2</td>
+<td align='center' valign='top'>
+<para>Col 3, row 2</para>
+</td>
</tr>
</tbody>
</table>
<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>
+<td align='center' valign='top'>
+<para>Table that has no caption 1</para>
+</td>
+<td align='center' valign='top'>
+<para>Table that has no caption 2</para>
+</td>
+<td align='center' valign='top'>
+<para>Table that has no caption 3</para>
+</td>
</tr>
<tr>
-<td align='center' valign='top'>Row 1</td>
+<td align='center' valign='top'>
+<para>Row 1</para>
+</td>
<td align='center' valign='top'></td>
-<td align='center' valign='top'>Col 3, row 1</td>
+<td align='center' valign='top'>
+<para>Col 3, row 1</para>
+</td>
</tr>
<tr>
-<td align='center' valign='top'>Row 2</td>
+<td align='center' valign='top'>
+<para>Row 2</para>
+</td>
<td align='center' valign='top'></td>
-<td align='center' valign='top'>Col 3, row 2</td>
+<td align='center' valign='top'>
+<para>Col 3, row 2</para>
+</td>
</tr>
</tbody>
</informaltable>
commit 4c27a7307e48533f1002d9c6fd1d7cacbe727383
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Dec 26 02:24:06 2021 +0100
Amend c734504d to fix a very bad nullptr dereferencing...
diff --git a/src/insets/InsetFloat.cpp b/src/insets/InsetFloat.cpp
index fc82d5c..3f4c0db 100644
--- a/src/insets/InsetFloat.cpp
+++ b/src/insets/InsetFloat.cpp
@@ -759,8 +759,7 @@ void docbookGenerateFillerTable(XMLStream & xs, BufferParams::TableOutput format
void docbookNoSubfigures(XMLStream & xs, OutputParams const & runparams, const InsetCaption * caption,
- const InsetLabel * label, Floating const & ftype, const InsetFloat * thisFloat)
-{
+ const InsetLabel * label, Floating const & ftype, const InsetFloat * thisFloat) {
// Ensure there is no label output, it is supposed to be handled as xml:id.
OutputParams rpNoLabel = runparams;
if (label)
@@ -775,15 +774,23 @@ void docbookNoSubfigures(XMLStream & xs, OutputParams const & runparams, const I
// Generate the contents of the float (to check for emptiness).
odocstringstream osFloatContent;
- XMLStream xsFloatContent(osFloatContent);
- thisFloat->InsetText::docbook(xsFloatContent, rpNoTitle);
- bool hasFloat = !osFloatContent.str().empty();
+ bool hasFloat = false;
+
+ if (thisFloat) {
+ XMLStream xsFloatContent(osFloatContent);
+ thisFloat->InsetText::docbook(xsFloatContent, rpNoTitle);
+ hasFloat = !osFloatContent.str().empty();
+ }
// Do the same for the caption.
odocstringstream osCaptionContent;
- XMLStream xsCaptionContent(osCaptionContent);
- caption->getCaptionAsDocBook(xsCaptionContent, rpNoLabel);
- bool hasCaption = !osCaptionContent.str().empty();
+ bool hasCaption = false;
+
+ if (caption != nullptr) {
+ XMLStream xsCaptionContent(osCaptionContent);
+ caption->getCaptionAsDocBook(xsCaptionContent, rpNoLabel);
+ hasCaption = !osCaptionContent.str().empty();
+ }
// Organisation: <float> <title if any/> <contents without title/> </float>.
commit 81274c8da7bfaa9d785036f97bd199f31e002077
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Dec 26 02:14:34 2021 +0100
Remove code that has been commented out for a long time.
diff --git a/src/insets/InsetFloat.cpp b/src/insets/InsetFloat.cpp
index 97d8061..fc82d5c 100644
--- a/src/insets/InsetFloat.cpp
+++ b/src/insets/InsetFloat.cpp
@@ -827,11 +827,6 @@ void docbookNoSubfigures(XMLStream & xs, OutputParams const & runparams, const I
void InsetFloat::docbook(XMLStream & xs, OutputParams const & runparams) const
{
-// if (runparams.docbook_in_par) {
-// xs << xml::EndTag("para");
-// xs << xml::CR();
-// }
-
const InsetCaption* caption = getCaptionInset();
const InsetLabel* label = getLabelInset();
@@ -855,11 +850,6 @@ void InsetFloat::docbook(XMLStream & xs, OutputParams const & runparams) const
docbookSubfigures(xs, runparams, caption, label, subfigures);
else
docbookNoSubfigures(xs, runparams, caption, label, ftype, this);
-
-// if (runparams.docbook_in_par) {
-// xs << xml::CR();
-// xs << xml::StartTag("para");
-// }
}
commit 9d64a2f2f6ee96421a729a18200f8524e6982dfe
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Thu Dec 23 21:24:28 2021 -0500
ctests: invert a docbook test for a cprotect case
The strange example file does not make sense for Docbook, as
described by Thibaut on the ML here:
https://www.mail-archive.com/search?l=mid&q=CAK0LPyiHCsUMo0ZCbFrRBRTCD7G-rhw-z8G1of2kFGebBLddtA%40mail.gmail.com
diff --git a/development/autotests/invertedTests b/development/autotests/invertedTests
index 2857677..7ac2113 100644
--- a/development/autotests/invertedTests
+++ b/development/autotests/invertedTests
@@ -519,6 +519,9 @@ export/templates/Articles/IEEE_Transactions(.*)_docbook5
# - Bibliography in the middle of the document (potentially fixable, but complicated, because some documents have
# several bibliographies, like books with one bibliography per chapter), subsections.
export/export/docbook/SciPoster_docbook5
+# - A figure within a title does not make sense at all, so it cannot be valid
+# DocBook under any circumstances.
+export/export/latex/lyxbugs-resolved/cprotect/7779-float-in-par-env_docbook5
Sublabel: docbook poster
# Posters cannot be properly exported, the LyX documents are too far from
commit c734504d3b4bac795627e1c4fa5b2e27b15e8653
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Fri Dec 24 01:08:24 2021 +0100
DocBook: in InsetFloat, detect the presence of a caption by generating it.
This catches the case where the caption only contains a comment, as in export/export/latex/lyxbugs-resolved/cprotect/9313-comment-in-figure-float-caption. No duplicate work is performed to ensure the same level of performance as before.
diff --git a/src/insets/InsetFloat.cpp b/src/insets/InsetFloat.cpp
index db74e9e..97d8061 100644
--- a/src/insets/InsetFloat.cpp
+++ b/src/insets/InsetFloat.cpp
@@ -774,11 +774,20 @@ void docbookNoSubfigures(XMLStream & xs, OutputParams const & runparams, const I
rpNoTitle.docbook_in_table = true;
// Generate the contents of the float (to check for emptiness).
- odocstringstream os2;
- XMLStream xs2(os2);
- thisFloat->InsetText::docbook(xs2, rpNoTitle);
+ odocstringstream osFloatContent;
+ XMLStream xsFloatContent(osFloatContent);
+ thisFloat->InsetText::docbook(xsFloatContent, rpNoTitle);
+ bool hasFloat = !osFloatContent.str().empty();
+
+ // Do the same for the caption.
+ odocstringstream osCaptionContent;
+ XMLStream xsCaptionContent(osCaptionContent);
+ caption->getCaptionAsDocBook(xsCaptionContent, rpNoLabel);
+ bool hasCaption = !osCaptionContent.str().empty();
// Organisation: <float> <title if any/> <contents without title/> </float>.
+
+ // - Generate the attributes for the float tag.
docstring attr = docstring();
if (label)
attr += "xml:id=\"" + xml::cleanID(label->screenLabel()) + "\"";
@@ -789,28 +798,29 @@ void docbookNoSubfigures(XMLStream & xs, OutputParams const & runparams, const I
}
// - Open the float tag.
- xs << xml::StartTag(ftype.docbookTag(caption != nullptr), attr);
+ xs << xml::StartTag(ftype.docbookTag(hasCaption), attr);
xs << xml::CR();
// - Generate the caption.
- if (caption) {
+ if (hasCaption) {
string const &titleTag = ftype.docbookCaption();
xs << xml::StartTag(titleTag);
- caption->getCaptionAsDocBook(xs, rpNoLabel);
+ xs << XMLStream::ESCAPE_NONE << osCaptionContent.str();
xs << xml::EndTag(titleTag);
xs << xml::CR();
}
- // - Output the actual content of the float.
- if (!os2.str().empty())
- xs << XMLStream::ESCAPE_NONE << os2.str();
+ // - Output the actual content of the float or some dummy content (to ensure that the output
+ // document is valid).
+ if (hasFloat)
+ xs << XMLStream::ESCAPE_NONE << osFloatContent.str();
else if (ftype.docbookFloatType() == "table")
docbookGenerateFillerTable(xs, thisFloat->buffer().params().docbook_table_output);
else
docbookGenerateFillerMedia(xs);
// - Close the float.
- xs << xml::EndTag(ftype.docbookTag(caption != nullptr));
+ xs << xml::EndTag(ftype.docbookTag(hasCaption));
xs << xml::CR();
}
commit e056cab792632f960ddcf3be114cd60769189cc9
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Thu Dec 23 15:10:26 2021 -0500
Reg test for cprotect: float in par environment
File from #7779.
diff --git a/autotests/export/latex/lyxbugs-resolved/cprotect/7779-float-in-par-env.lyx b/autotests/export/latex/lyxbugs-resolved/cprotect/7779-float-in-par-env.lyx
new file mode 100644
index 0000000..fe7e031
--- /dev/null
+++ b/autotests/export/latex/lyxbugs-resolved/cprotect/7779-float-in-par-env.lyx
@@ -0,0 +1,94 @@
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
+\begin_document
+\begin_header
+\textclass article
+\use_default_options true
+\maintain_unincluded_children false
+\language english
+\language_package default
+\inputencoding auto
+\fontencoding global
+\font_roman default
+\font_sans default
+\font_typewriter default
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_osf false
+\font_sf_scale 100
+\font_tt_scale 100
+
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize default
+\use_hyperref false
+\papersize default
+\use_geometry false
+\use_amsmath 1
+\use_esint 1
+\use_mhchem 1
+\use_mathdots 1
+\cite_engine basic
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\use_refstyle 1
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\quotes_language english
+\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 Paragraph
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+a
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+b
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+c
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
commit 4b8bb0057382a817ca25c609cb77292e53a781df
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Wed Dec 22 22:45:39 2021 -0500
Reg test for cprotect: comment in figure caption
File from #9313.
diff --git a/autotests/export/latex/lyxbugs-resolved/cprotect/9313-comment-in-figure-float-caption.lyx b/autotests/export/latex/lyxbugs-resolved/cprotect/9313-comment-in-figure-float-caption.lyx
new file mode 100644
index 0000000..06cb3ca
--- /dev/null
+++ b/autotests/export/latex/lyxbugs-resolved/cprotect/9313-comment-in-figure-float-caption.lyx
@@ -0,0 +1,104 @@
+#LyX 2.1 created this file. For more info see http://www.lyx.org/
+\lyxformat 474
+\begin_document
+\begin_header
+\textclass article
+\use_default_options true
+\maintain_unincluded_children false
+\language english
+\language_package default
+\inputencoding auto
+\fontencoding global
+\font_roman default
+\font_sans default
+\font_typewriter default
+\font_math auto
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_osf false
+\font_sf_scale 100
+\font_tt_scale 100
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize default
+\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 false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 1
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\quotes_language english
+\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 Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+\begin_inset Note Comment
+status collapsed
+
+\begin_layout Plain Layout
+This is a comment within a figure float caption
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
commit 87bea678638b3431e31eb5f850b6cf33360e1684
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Wed Dec 22 21:58:56 2021 -0500
Regression test for cprotect, #7116
Start a new directory of cprotect tests. There are many situations
where cprotect is needed so we can add files covering various
situations as we find them.
This particular test covers the case of special characters in URL
insets in footnotes.
diff --git a/autotests/export/latex/lyxbugs-resolved/cprotect/7116-special-chars-in-url-in-footnote.lyx b/autotests/export/latex/lyxbugs-resolved/cprotect/7116-special-chars-in-url-in-footnote.lyx
new file mode 100644
index 0000000..3f9af42
--- /dev/null
+++ b/autotests/export/latex/lyxbugs-resolved/cprotect/7116-special-chars-in-url-in-footnote.lyx
@@ -0,0 +1,170 @@
+#LyX 2.1 created this file. For more info see http://www.lyx.org/
+\lyxformat 474
+\begin_document
+\begin_header
+\textclass article
+\use_default_options false
+\maintain_unincluded_children false
+\language british
+\language_package default
+\inputencoding auto
+\fontencoding global
+\font_roman default
+\font_sans default
+\font_typewriter default
+\font_math auto
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_osf false
+\font_sf_scale 100
+\font_tt_scale 100
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize default
+\spacing single
+\use_hyperref false
+\papersize a4paper
+\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
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\quotes_language english
+\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 Standard
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+\begin_inset Flex URL
+status open
+
+\begin_layout Plain Layout
+
+http://example.com/%20foo
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Box Frameless
+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"
+status open
+
+\begin_layout Plain Layout
+\begin_inset Flex URL
+status open
+
+\begin_layout Plain Layout
+
+http://example.com/%20foo
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+\begin_inset Flex URL
+status open
+
+\begin_layout Plain Layout
+
+http://example.com/%20foo
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
commit 942121f4b6af42ef1ae99cffee1e79ca1cf7d5f3
Author: Kornel Benko <kornel at lyx.org>
Date: Tue Dec 21 14:16:49 2021 +0100
FindAdv: Added handling of some missing Hebrew characters
diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 4310d16..6f780c1 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -1585,6 +1585,30 @@ void static fillMissingUnicodesymbols()
addAccents("\\gimel", getutf8(0x05d2));
addAccents("\\hebdalet", getutf8(0x05d3));
addAccents("\\daleth", getutf8(0x05d3));
+ addAccents("\\hebhe", getutf8(0x05d4));
+ addAccents("\\hebvav", getutf8(0x05d5));
+ addAccents("\\hebzayin", getutf8(0x05d6));
+ addAccents("\\hebhet", getutf8(0x05d7));
+ addAccents("\\hebtet", getutf8(0x05d8));
+ addAccents("\\hebyod", getutf8(0x05d9));
+ addAccents("\\hebfinalkaf", getutf8(0x05da));
+ addAccents("\\hebkaf", getutf8(0x05db));
+ addAccents("\\heblamed", getutf8(0x05dc));
+ addAccents("\\hebfinalmem", getutf8(0x05dd));
+ addAccents("\\hebmem", getutf8(0x05de));
+ addAccents("\\hebfinalnun", getutf8(0x05df));
+ addAccents("\\hebnun", getutf8(0x05e0));
+ addAccents("\\hebsamekh", getutf8(0x05e1));
+ addAccents("\\hebayin", getutf8(0x05e2));
+ addAccents("\\hebfinalpe", getutf8(0x05e3));
+ addAccents("\\hebpe", getutf8(0x05e4));
+ addAccents("\\hebfinaltsadi", getutf8(0x05e5));
+ addAccents("\\hebtsadi", getutf8(0x05e6));
+ addAccents("\\hebqof", getutf8(0x05e7));
+ addAccents("\\hebresh", getutf8(0x05e8));
+ addAccents("\\hebshin", getutf8(0x05e9));
+ addAccents("\\hebtav", getutf8(0x05ea));
+
// Thai characters
addAccents("\\thaiKoKai", getutf8(0x0e01));
addAccents("\\thaiKhoKhai", getutf8(0x0e02));
commit c2f2ba57f1275cdf37e38da7e45ce5bb9ee124b9
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Mon Dec 20 12:09:12 2021 +0100
Do not repeatedly call main_font_encoding()
This method impacts on performance and we store the value anyway in
the output params.
diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp
index a41a570..fc559a4 100644
--- a/src/BufferParams.cpp
+++ b/src/BufferParams.cpp
@@ -1847,7 +1847,8 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
// if we use fontspec or newtxmath, we have to load the AMS packages here
string const ams = features.loadAMSPackages();
- bool const ot1 = (main_font_encoding() == "default" || main_font_encoding() == "OT1");
+ string const main_font_enc = features.runparams().main_fontenc;
+ bool const ot1 = (main_font_enc == "default" || main_font_enc == "OT1");
bool const use_newtxmath =
theLaTeXFonts().getLaTeXFont(from_ascii(fontsMath())).getUsedPackage(
ot1, false, false) == "newtxmath";
@@ -1887,7 +1888,7 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
// set font encoding
// non-TeX fonts use font encoding TU (set by fontspec)
if (!useNonTeXFonts && !features.isProvided("fontenc")
- && main_font_encoding() != "default") {
+ && main_font_enc != "default") {
// get main font encodings
vector<string> fontencs = font_encodings();
// get font encodings of secondary languages
@@ -3235,12 +3236,13 @@ string const BufferParams::dvips_options() const
string const BufferParams::main_font_encoding() const
{
- if (font_encodings().empty()) {
+ vector<string> const fencs = font_encodings();
+ if (fencs.empty()) {
if (ascii_lowercase(language->fontenc(*this)) == "none")
return "none";
return "default";
}
- return font_encodings().back();
+ return fencs.back();
}
@@ -3255,9 +3257,10 @@ vector<string> const BufferParams::font_encodings() const
if (!doc_fontenc.empty())
// If we have a custom setting, we use only that!
return getVectorFromString(doc_fontenc);
- if (!language->fontenc(*this).empty()
+ string const lfe = language->fontenc(*this);
+ if (!lfe.empty()
&& ascii_lowercase(language->fontenc(*this)) != "none") {
- vector<string> fencs = getVectorFromString(language->fontenc(*this));
+ vector<string> fencs = getVectorFromString(lfe);
for (auto & fe : fencs) {
if (find(fontencs.begin(), fontencs.end(), fe) == fontencs.end())
fontencs.push_back(fe);
@@ -3509,7 +3512,8 @@ string const BufferParams::loadFonts(LaTeXFeatures & features) const
}
// Tex Fonts
- bool const ot1 = (main_font_encoding() == "default" || main_font_encoding() == "OT1");
+ bool const ot1 = (features.runparams().main_fontenc == "default"
+ || features.runparams().main_fontenc == "OT1");
bool const dryrun = features.runparams().dryrun;
bool const complete = (fontsSans() == "default" && fontsTypewriter() == "default");
bool const nomath = (fontsMath() != "auto");
diff --git a/src/LaTeXFeatures.cpp b/src/LaTeXFeatures.cpp
index 0344202..f321799 100644
--- a/src/LaTeXFeatures.cpp
+++ b/src/LaTeXFeatures.cpp
@@ -783,8 +783,8 @@ bool LaTeXFeatures::isProvided(string const & name) const
if (params_.useNonTeXFonts)
return params_.documentClass().provides(name);
- bool const ot1 = (params_.main_font_encoding() == "default"
- || params_.main_font_encoding() == "OT1");
+ bool const ot1 = (runparams().main_fontenc == "default"
+ || runparams().main_fontenc == "OT1");
bool const complete = (params_.fontsSans() == "default"
&& params_.fontsTypewriter() == "default");
bool const nomath = (params_.fontsMath() == "default");
@@ -1315,8 +1315,8 @@ string const LaTeXFeatures::getPackages() const
// if fontspec or newtxmath is used, AMS packages have to be loaded
// before fontspec (in BufferParams)
string const amsPackages = loadAMSPackages();
- bool const ot1 = (params_.main_font_encoding() == "default"
- || params_.main_font_encoding() == "OT1");
+ bool const ot1 = (runparams().main_fontenc == "default"
+ || runparams().main_fontenc == "OT1");
bool const use_newtxmath =
theLaTeXFonts().getLaTeXFont(from_ascii(params_.fontsMath())).getUsedPackage(
ot1, false, false) == "newtxmath";
@@ -1584,15 +1584,15 @@ TexString LaTeXFeatures::getMacros() const
macros << lyxZWSP_def << '\n';
if (!usePolyglossia() && mustProvide("textgreek")) {
- // ensure LGR font encoding is defined also if fontenc is not loaded by LyX
- if (params_.main_font_encoding() == "default")
+ // ensure LGR font encoding is defined also if fontenc is not loaded by LyX
+ if (runparams().main_fontenc == "default")
macros << textgreek_LGR_def;
macros << textgreek_def << '\n';
}
if (!usePolyglossia() && mustProvide("textcyrillic")) {
// ensure T2A font encoding is set up also if fontenc is not loaded by LyX
- if (params_.main_font_encoding() == "default")
+ if (runparams().main_fontenc == "default")
macros << textcyr_T2A_def;
macros << textcyr_def << '\n';
}
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 2408261..6b960cd 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -1240,7 +1240,7 @@ void Paragraph::Private::latexSpecialChar(otexstream & os,
// non-standard font encoding. If we are using such a language,
// we do not output special T1 chars.
if (!runparams.inIPA && !running_font.language()->internalFontEncoding()
- && !runparams.isFullUnicode() && bparams.main_font_encoding() == "T1"
+ && !runparams.isFullUnicode() && runparams.main_fontenc == "T1"
&& latexSpecialT1(c, os, i, column))
return;
// NOTE: "fontspec" (non-TeX fonts) sets the font encoding to "TU" (untill 2017 "EU1" or "EU2")
@@ -1532,7 +1532,7 @@ void Paragraph::Private::validate(LaTeXFeatures & features) const
if (c == 0x0022) {
if (features.runparams().isFullUnicode() && bp.useNonTeXFonts)
features.require("textquotedblp");
- else if (bp.main_font_encoding() != "T1"
+ else if (features.runparams().main_fontenc != "T1"
|| ((&owner_->getFontSettings(bp, i))->language()->internalFontEncoding()))
features.require("textquotedbl");
} else if (ci.textfeature() && contains(ci.textpreamble(), '=')) {
diff --git a/src/insets/InsetQuotes.cpp b/src/insets/InsetQuotes.cpp
index d503e8b..dc6dbba 100644
--- a/src/insets/InsetQuotes.cpp
+++ b/src/insets/InsetQuotes.cpp
@@ -639,11 +639,8 @@ InsetQuotes::InsetQuotes(Buffer * buf, char_type c, QuoteLevel level,
bool dynamic = false;
if (buf) {
global_style_ = buf->masterBuffer()->params().quotes_style;
- fontenc_ = buf->masterBuffer()->params().main_font_encoding();
dynamic = buf->masterBuffer()->params().dynamic_quotes;
fontspec_ = buf->masterBuffer()->params().useNonTeXFonts;
- } else {
- fontenc_ = "OT1";
}
if (style.empty())
style_ = dynamic ? QuoteStyle::Dynamic : global_style_;
@@ -891,7 +888,7 @@ void InsetQuotes::latex(otexstream & os, OutputParams const & runparams) const
// Use internal commands in headings with hyperref
// (ligatures not featured in PDF strings)
qstr = quoteparams.getLaTeXQuote(quotechar, "int", rtl_);
- } else if (fontenc_ == "T1"
+ } else if (runparams.main_fontenc == "T1"
&& !runparams.local_font->language()->internalFontEncoding()) {
// Quotation marks for T1 font encoding
// (using ligatures)
@@ -905,7 +902,7 @@ void InsetQuotes::latex(otexstream & os, OutputParams const & runparams) const
#else
} else if ((!runparams.use_babel
#endif
- || (fontenc_ != "T1" && fontenc_ != "OT1"))
+ || (runparams.main_fontenc != "T1" && runparams.main_fontenc != "OT1"))
|| runparams.isFullUnicode()) {
// Standard quotation mark macros
// These are also used by babel
@@ -1008,7 +1005,6 @@ void InsetQuotes::updateBuffer(ParIterator const & it, UpdateType /* utype*/, bo
pass_thru_ = it.paragraph().isPassThru();
context_lang_ = font.language()->code();
internal_fontenc_ = font.language()->internalFontEncoding();
- fontenc_ = bp.main_font_encoding();
global_style_ = bp.quotes_style;
fontspec_ = bp.useNonTeXFonts;
rtl_ = font.isRightToLeft();
@@ -1028,7 +1024,8 @@ void InsetQuotes::validate(LaTeXFeatures & features) const
#else
if (!features.useBabel()
#endif
- && !features.runparams().isFullUnicode() && fontenc_ != "T1") {
+ && !features.runparams().isFullUnicode()
+ && features.runparams().main_fontenc != "T1") {
switch (type) {
case 0x201a:
features.require("quotesinglbase");
@@ -1065,7 +1062,7 @@ void InsetQuotes::validate(LaTeXFeatures & features) const
case 0x0022: {
if (features.runparams().isFullUnicode() && fontspec_)
features.require("textquotedblp");
- else if (fontenc_ != "T1" || internal_fontenc_)
+ else if (features.runparams().main_fontenc != "T1" || internal_fontenc_)
features.require("textquotedbl");
break;
}
diff --git a/src/insets/InsetQuotes.h b/src/insets/InsetQuotes.h
index d1f23e4..c4b525c 100644
--- a/src/insets/InsetQuotes.h
+++ b/src/insets/InsetQuotes.h
@@ -200,8 +200,6 @@ private:
QuoteLevel level_ = QuoteLevel::Primary;
///
QuoteStyle global_style_ = QuoteStyle::English;
- /// Current font encoding
- std::string fontenc_;
/// Code of the contextual language
std::string context_lang_;
/// Is this in a pass-thru context?
commit 61b8afd893ecdbc15924aaf8f44014b41c5623ef
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sun Dec 19 15:39:49 2021 +0100
Paragraph::needsCProtection(): use inset list
rather than checking each pos whether it's an inset or not.
This was a significant performance bottleneck (particularly getInset()
itself seems slow).
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 7fb46ae..2408261 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -4108,15 +4108,14 @@ bool Paragraph::needsCProtection(bool const fragile) const
}
// now check whether we have insets that need cprotection
- pos_type size = pos_type(d->text_.size());
- for (pos_type i = 0; i < size; ++i) {
- if (!isInset(i))
+ for (auto const & icit : d->insetlist_) {
+ Inset const * ins = icit.inset;
+ if (!ins)
continue;
- Inset const * ins = getInset(i);
if (ins->needsCProtection(maintext, fragile))
return true;
// Now check math environments
- InsetMath const * im = getInset(i)->asInsetMath();
+ InsetMath const * im = ins->asInsetMath();
if (!im || im->cell(0).empty())
continue;
switch(im->cell(0)[0]->lyxCode()) {
commit a3fd3a09f1aa0b6003fc3cf033e970bb7547a983
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Fri Dec 17 11:12:54 2021 +0100
Add UI for selecting backing store drawing strategy
The checkbox is hidden when backing store is enforced (wayland,
macOS). In practice, only X11 and Windows users will see it ; I only
have evidence of X11 people needing it, I can hide it for Windows
users too if necessary.
Fixes bug #12119.
diff --git a/src/frontends/qt/GuiPrefs.cpp b/src/frontends/qt/GuiPrefs.cpp
index c1be9b8..75deb7c 100644
--- a/src/frontends/qt/GuiPrefs.cpp
+++ b/src/frontends/qt/GuiPrefs.cpp
@@ -1324,6 +1324,7 @@ PrefDisplay::PrefDisplay(GuiPreferences * form)
connect(previewSizeSB, SIGNAL(valueChanged(double)), this, SIGNAL(changed()));
connect(paragraphMarkerCB, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
connect(ctAdditionsUnderlinedCB, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
+ connect(ctUseBackingstoreCB, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
}
@@ -1351,6 +1352,8 @@ void PrefDisplay::applyRC(LyXRC & rc) const
rc.preview_scale_factor = previewSizeSB->value();
rc.paragraph_markers = paragraphMarkerCB->isChecked();
rc.ct_additions_underlined = ctAdditionsUnderlinedCB->isChecked();
+ rc.draw_strategy = ctUseBackingstoreCB->isChecked()
+ ? LyXRC::DS_BACKINGSTORE : LyXRC::DS_PARTIAL;
// FIXME!! The graphics cache no longer has a changeDisplay method.
#if 0
@@ -1380,6 +1383,8 @@ void PrefDisplay::updateRC(LyXRC const & rc)
previewSizeSB->setValue(rc.preview_scale_factor);
paragraphMarkerCB->setChecked(rc.paragraph_markers);
ctAdditionsUnderlinedCB->setChecked(rc.ct_additions_underlined);
+ ctUseBackingstoreCB->setChecked(rc.draw_strategy == LyXRC::DS_BACKINGSTORE);
+ ctUseBackingstoreCB->setHidden(guiApp->needsBackingStore());
previewSizeSB->setEnabled(
rc.display_graphics
&& rc.preview != LyXRC::PREVIEW_OFF);
diff --git a/src/frontends/qt/ui/PrefDisplayUi.ui b/src/frontends/qt/ui/PrefDisplayUi.ui
index d8a79eb..9c09b45 100644
--- a/src/frontends/qt/ui/PrefDisplayUi.ui
+++ b/src/frontends/qt/ui/PrefDisplayUi.ui
@@ -83,7 +83,7 @@
</property>
</spacer>
</item>
- <item row="4" column="0">
+ <item row="5" column="0">
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>
@@ -158,6 +158,16 @@
</property>
</widget>
</item>
+ <item row="4" column="0" colspan="2">
+ <widget class="QCheckBox" name="ctUseBackingstoreCB">
+ <property name="toolTip">
+ <string>If this is checked, an intermediate surface will be used for painting. This may be needed in some cases to have proper display, but breaks subpixel aliasing.</string>
+ </property>
+ <property name="text">
+ <string>Use &backing store to display text</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
<tabstops>
commit c213eb7f75d53165f55e64f0149fec833e5b5b5e
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Thu Dec 16 12:38:19 2021 +0100
Add lyxrc option to force the use of backing store
LyX relies on a a backing store to draw when running under macOS or
Wayland, because Qt arbitrarily overwrites parts of the workarea
before we paint (and we paint only the parts that need to be painted).
However it seems that this is also necessary on X11 when the WM theme
is translucid. Since there is no way that I know of to detect this
situation, this patch adds a LyXRC setting to manually select this
drawing strategy.
Note that using a backing store is not always a good solution, since
this disables subpixel aliasing.
At this point there is no UI for the variable.
Fixes bug #12119
diff --git a/src/LyXRC.cpp b/src/LyXRC.cpp
index 62673f4..1316437 100644
--- a/src/LyXRC.cpp
+++ b/src/LyXRC.cpp
@@ -107,6 +107,7 @@ LexerKeyword lyxrcTags[] = {
{ "\\dialogs_iconify_with_main", LyXRC::RC_DIALOGS_ICONIFY_WITH_MAIN },
{ "\\display_graphics", LyXRC::RC_DISPLAY_GRAPHICS },
{ "\\document_path", LyXRC::RC_DOCUMENTPATH },
+ { "\\draw_strategy", LyXRC::RC_DRAW_STRATEGY },
{ "\\editor_alternatives", LyXRC::RC_EDITOR_ALTERNATIVES },
{ "\\escape_chars", LyXRC::RC_ESC_CHARS },
{ "\\example_path", LyXRC::RC_EXAMPLEPATH },
@@ -1134,6 +1135,19 @@ LyXRC::ReturnValues LyXRC::read(Lexer & lexrc, bool check_format)
}
break;
+ case RC_DRAW_STRATEGY:
+ if (lexrc.next()) {
+ string const tmp = lexrc.getString();
+ if (tmp == "partial")
+ draw_strategy = DS_PARTIAL;
+ else if (tmp == "backingstore")
+ draw_strategy = DS_BACKINGSTORE;
+ else {
+ draw_strategy = DS_PARTIAL;
+ LYXERR0("Unrecognized draw strategy " << tmp <<'"');
+ }
+ }
+ break;
case RC_LAST:
break; // this is just a dummy
@@ -2021,10 +2035,28 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
}
if (tag != RC_LAST)
break;
+ // fall through
+ case RC_DRAW_STRATEGY:
+ if (ignore_system_lyxrc ||
+ draw_strategy != system_lyxrc.draw_strategy) {
+ string status;
+ switch (draw_strategy) {
+ case DS_PARTIAL:
+ status = "partial";
+ break;
+ case DS_BACKINGSTORE:
+ status = "backingstore";
+ break;
+ }
+ os << "\\draw_strategy " << status << '\n';
+ }
+ if (tag != RC_LAST)
+ break;
+ // fall through
os << "\n#\n"
- << "# COLOR SECTION ###################################\n"
- << "#\n\n";
+ << "# COLOR SECTION ###################################\n"
+ << "#\n\n";
// fall through
case RC_SET_COLOR:
@@ -2910,6 +2942,7 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new)
package().document_dir() = FileName(lyxrc.document_path);
}
// fall through
+ case LyXRC::RC_DRAW_STRATEGY:
case LyXRC::RC_EDITOR_ALTERNATIVES:
case LyXRC::RC_ESC_CHARS:
case LyXRC::RC_EXAMPLEPATH:
diff --git a/src/LyXRC.h b/src/LyXRC.h
index 74c0e4c..6e82a6d 100644
--- a/src/LyXRC.h
+++ b/src/LyXRC.h
@@ -189,6 +189,7 @@ public:
RC_VIEWER_ALTERNATIVES,
RC_VISUAL_CURSOR,
RC_CLOSE_BUFFER_WITH_LAST_VIEW,
+ RC_DRAW_STRATEGY,
RC_LAST
};
@@ -573,6 +574,17 @@ public:
///
BookmarksVisibility bookmarks_visibility = BMK_NONE;
+
+ enum DrawStrategy {
+ // draw all (not implemented yet)
+ // FS_FULL,
+ // draw only what has changed
+ DS_PARTIAL,
+ // draw in backing store (only what has changed)
+ DS_BACKINGSTORE
+ };
+ ///
+ DrawStrategy draw_strategy = DS_PARTIAL;
};
diff --git a/src/frontends/qt/GuiApplication.cpp b/src/frontends/qt/GuiApplication.cpp
index 9e6f18a..5cd8f29 100644
--- a/src/frontends/qt/GuiApplication.cpp
+++ b/src/frontends/qt/GuiApplication.cpp
@@ -2710,6 +2710,18 @@ Menus & GuiApplication::menus()
}
+bool GuiApplication::needsBackingStore() const
+{
+ /* Qt on macOS and Wayland does not respect the
+ * Qt::WA_OpaquePaintEvent attribute and resets the widget backing
+ * store at each update. Therefore, we use our own backing store
+ * in these two cases. It is also possible to force the use of the
+ * backing store for cases like x11 with transparent WM themes.
+ */
+ return platformName() == "cocoa" || platformName().contains("wayland");
+}
+
+
QList<int> GuiApplication::viewIds() const
{
return d->views_.keys();
diff --git a/src/frontends/qt/GuiApplication.h b/src/frontends/qt/GuiApplication.h
index 8afdd7f..f0c3e1e 100644
--- a/src/frontends/qt/GuiApplication.h
+++ b/src/frontends/qt/GuiApplication.h
@@ -110,6 +110,9 @@ public:
///
Menus & menus();
+ /// \returns true if painting the workarea requires a backing store.
+ bool needsBackingStore() const;
+
/// \name Methods inherited from QApplication class
//@{
bool notify(QObject * receiver, QEvent * event) override;
diff --git a/src/frontends/qt/GuiWorkArea.cpp b/src/frontends/qt/GuiWorkArea.cpp
index 1d6cd07..e70563b 100644
--- a/src/frontends/qt/GuiWorkArea.cpp
+++ b/src/frontends/qt/GuiWorkArea.cpp
@@ -132,13 +132,10 @@ SyntheticMouseEvent::SyntheticMouseEvent()
GuiWorkArea::Private::Private(GuiWorkArea * parent)
: p(parent), completer_(new GuiCompleter(p, p))
{
- /* Qt on macOS and Wayland does not respect the
- * Qt::WA_OpaquePaintEvent attribute and resets the widget backing
- * store at each update. Therefore, we use our own backing store
- * in these two cases.
- */
- use_backingstore_ = guiApp->platformName() == "cocoa"
- || guiApp->platformName().contains("wayland");
+ use_backingstore_ = lyxrc.draw_strategy == LyXRC::DS_BACKINGSTORE
+ || guiApp->needsBackingStore();
+ LYXERR(Debug::WORKAREA, "Drawing strategy is: "
+ << (use_backingstore_ ? "backingstore" : "partial"));
int const time = QApplication::cursorFlashTime() / 2;
if (time > 0) {
commit 056ab33f4892d522a154273324dafda08f674bfd
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Wed Dec 15 20:48:20 2021 -0500
Amend bea7ef04e (find's auto-wrap by default)
The default in the .ui is not considered in
GuiSearchWidget::restoreSession(), which sets a hard-coded default
if the stored setting is not found in the session file.
I'll start an ML discussion for whether the code in restoreSession()
should use the ui's default if the setting is not found in the
session.
diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp
index b071d61..e387ce8 100644
--- a/src/frontends/qt/GuiSearch.cpp
+++ b/src/frontends/qt/GuiSearch.cpp
@@ -555,8 +555,8 @@ void GuiSearchWidget::restoreSession(QString const & session_key)
act_wholewords_->setChecked(settings.value(session_key + "/words", false).toBool());
instantSearchCB->setChecked(settings.value(session_key + "/instant", false).toBool());
act_immediate_->setChecked(settings.value(session_key + "/instant", false).toBool());
- wrapCB->setChecked(settings.value(session_key + "/wrap", false).toBool());
- act_wrap_->setChecked(settings.value(session_key + "/wrap", false).toBool());
+ wrapCB->setChecked(settings.value(session_key + "/wrap", true).toBool());
+ act_wrap_->setChecked(settings.value(session_key + "/wrap", true).toBool());
selectionCB->setChecked(settings.value(session_key + "/selection", false).toBool());
act_selection_->setChecked(settings.value(session_key + "/selection", false).toBool());
minimized_ = settings.value(session_key + "/minimized", false).toBool();
commit 62ad205dbf99cb0384f864fe6e3f4ebe52de3257
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Wed Dec 15 11:19:18 2021 +0100
Avoid duplication of words on screen
When giving up splitting a word sequence because it is not enough to
make the row short enough, make sure to clean up properly.
diff --git a/src/Row.cpp b/src/Row.cpp
index db52b05..6d6d319 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -585,6 +585,7 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width)
*/
if (wid_brk + cit_brk->dim.wid < w
&& dim_.wid - (wid_brk + brk.dim.wid) >= next_width) {
+ tail.clear();
break;
}
end_ = brk.endpos;
commit cb4715d7395ac9b3343862a0a0017e44367768b1
Author: Stephan Witt <switt at lyx.org>
Date: Sun Dec 12 22:24:23 2021 +0100
Improved Qt framework configuration detection on macOS, add QtCore5Compat headers to configure based includes
diff --git a/config/qt.m4 b/config/qt.m4
index b9ffe28..05fa9ce 100644
--- a/config/qt.m4
+++ b/config/qt.m4
@@ -44,7 +44,7 @@ AC_DEFUN([QT_CHECK_COMPILE],
qt_cv_libname=
for libname in $qt_guilibs \
'-framework QtCore -framework QtConcurrent -framework QtSvg -framework QtWidgets -framework QtMacExtras -framework QtGui'\
- '-framework QtCore -framework QtConcurrent -framework QtSvg -framework QtSvgWidgets -framework QtWidgets -framework QtGui'\
+ '-framework QtCore -framework QtConcurrent -framework QtCore5Compat -framework QtSvg -framework QtSvgWidgets -framework QtWidgets -framework QtGui'\
'-framework QtCore -framework QtGui'
do
QT_TRY_LINK($libname)
commit 4665baac4625326d64ba46200968de44b1f2bb09
Author: Stephan Witt <switt at lyx.org>
Date: Thu Dec 9 21:58:14 2021 +0100
Fix an overloaded-virtual warning for type mismatch of event parameter (Qt6)
diff --git a/src/frontends/qt/IconPalette.cpp b/src/frontends/qt/IconPalette.cpp
index 33ceb29..45d774b 100644
--- a/src/frontends/qt/IconPalette.cpp
+++ b/src/frontends/qt/IconPalette.cpp
@@ -54,7 +54,11 @@ void TearOff::mouseReleaseEvent(QMouseEvent * /*event*/)
}
+#if QT_VERSION < 0x060000
void TearOff::enterEvent(QEvent * event)
+#else
+void TearOff::enterEvent(QEnterEvent * event)
+#endif
{
highlighted_ = true;
update();
diff --git a/src/frontends/qt/IconPalette.h b/src/frontends/qt/IconPalette.h
index 50c68a3..e9f8101 100644
--- a/src/frontends/qt/IconPalette.h
+++ b/src/frontends/qt/IconPalette.h
@@ -30,7 +30,7 @@ public:
#if QT_VERSION < 0x060000
void enterEvent(QEvent *) override;
#else
- void enterEvent(QEvent *);
+ void enterEvent(QEnterEvent *) override;
#endif
void leaveEvent(QEvent *) override;
void mouseReleaseEvent (QMouseEvent *) override;
commit 80a901506bfaa91e3479bc562beb18a4e4dd6f3a
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Thu Dec 9 15:16:07 2021 -0500
languages test file: Use new Tibetan font name
Noto Sans Tibetan was not actually a sans font. On newer systems the
font is now Noto Serif Tibetan.
See, e.g., the package 'fonts-noto-core' in Ubuntu 21.04.
This change also fixes compilation of
supported-languages_polyglossia-XeTeX.lyx on Ubuntu 21.10.
diff --git a/autotests/export/latex/languages/supported-languages_polyglossia-XeTeX.lyx b/autotests/export/latex/languages/supported-languages_polyglossia-XeTeX.lyx
index 53e07ad..4d96ef0 100644
--- a/autotests/export/latex/languages/supported-languages_polyglossia-XeTeX.lyx
+++ b/autotests/export/latex/languages/supported-languages_polyglossia-XeTeX.lyx
@@ -22,7 +22,7 @@
\newfontfamily\telugufont{Noto Serif Telugu}
\newfontfamily\thaanafont{FreeSerif} % prevent "missing script tag" error
%\newfontfamily\thaanafont{Noto Sans Thaana} % works, too
-\newfontfamily\tibetanfont{Noto Sans Tibetan} % wrong family
+\newfontfamily\tibetanfont{Noto Serif Tibetan}
% Font setup for Japanese (not supported by Polyglossia)
\usepackage{ifxetex}
diff --git a/autotests/export/latex/languages/supported-languages_polyglossia.lyx b/autotests/export/latex/languages/supported-languages_polyglossia.lyx
index aa1e50f..40d2a88 100644
--- a/autotests/export/latex/languages/supported-languages_polyglossia.lyx
+++ b/autotests/export/latex/languages/supported-languages_polyglossia.lyx
@@ -23,7 +23,7 @@
\newfontfamily\telugufont{Noto Serif Telugu}
\newfontfamily\thaanafont{FreeSerif} % missing script tag in FreeSerif
%\newfontfamily\thaanafont{Noto Sans Thaana} % works, too
-\newfontfamily\tibetanfont{Noto Sans Tibetan}
+\newfontfamily\tibetanfont{Noto Serif Tibetan}
% Font setup for Japanese (not supported by Polyglossia)
\usepackage{ifxetex}
commit dcef1a9cad5173158e1aeef96bd4e57ad20a64ca
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Thu Dec 9 16:43:16 2021 +0100
Fix endless loop when breaking text
For some reason, Qt can break strings before the first character
(although we try to prevent that). The code was not prepared to that,
now it is.
Remove a forgotten debug statement.
diff --git a/src/Row.cpp b/src/Row.cpp
index 4b9836e..db52b05 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -162,6 +162,12 @@ bool Row::Element::splitAt(int const width, int next_width, bool force,
bool first = true;
docstring::size_type i = 0;
for (FontMetrics::Break const & brk : breaks) {
+ /* For some reason breakString can decide to break before the
+ * first character (normally we use a 0-width nbsp to prevent
+ * that). Skip leading empty elements, they are never wanted.
+ */
+ if (first && brk.len == 0 && breaks.size() > 1)
+ continue;
Element e(STRING, pos + i, font, change);
e.str = str.substr(i, brk.len);
e.endpos = e.pos + brk.len;
@@ -612,7 +618,6 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width)
* splitting this time.
*/
if (cit->splitAt(w - wid, next_width, true, tail)) {
- LYXERR0(*cit);
end_ = cit->endpos;
dim_.wid = wid + cit->dim.wid;
// If there are other elements, they should be removed.
commit b461d07b5b4a5711a30924f5cd93f976f2711a6d
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Wed Dec 8 23:03:43 2021 -0500
ctests: log a fixed issue (fr Linguistics.lyx)
diff --git a/development/autotests/ctests-costs-benefits.txt b/development/autotests/ctests-costs-benefits.txt
index d8b6ab6..18495ce 100644
--- a/development/autotests/ctests-costs-benefits.txt
+++ b/development/autotests/ctests-costs-benefits.txt
@@ -71,3 +71,6 @@ Report : (private message to Jürgen: Message-ID:<20211205192054.zbxij5butj3wdyv
Fix : some of the polyglossia commits in the range 1c36dcdc^...bf69288c
Benefit: Not clear. The regressions were in the development version so they
could have easily been caught before release.
+
+Report : https://www.mail-archive.com/search?l=mid&q=20211207200100.o27ojaftehrjfcza%40poole
+Fix : 2eaf30c5
commit 2eaf30c57ec611008267a66066e632c780dd50e3
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Wed Dec 8 09:49:23 2021 +0100
fr/Linguistics.lyx: fixes
* Fix up markup in and localize examples
* Remove local layout from lyx2lyx conversion
diff --git a/lib/examples/fr/Modules/Linguistics.lyx b/lib/examples/fr/Modules/Linguistics.lyx
index 72f8657..5b646fa 100644
--- a/lib/examples/fr/Modules/Linguistics.lyx
+++ b/lib/examples/fr/Modules/Linguistics.lyx
@@ -36,76 +36,6 @@
linguistics
\end_modules
\maintain_unincluded_children no
-\begin_local_layout
-### Inserted by lyx2lyx (deprecated ling glosses) ###
-InsetLayout Flex:Tri-Glosse
- LyXType custom
- LabelString "Tri-Gloss (old version)"
- MenuString "Tri-Gloss (old version)"
- LatexType environment
- LatexName lingglosss
- Decoration minimalistic
- LabelFont
- Size Small
- EndFont
- MultiPar true
- CustomPars false
- ForcePlain true
- ParbreakIsNewline true
- FreeSpacing true
- InToc true
- Requires covington
- Preamble
- \def\glosstr{}
- \@ifundefined{lingglosss}{%
- \newenvironment{lingglosss}[2][]{
- \def\glosstr{\glt #1}%
- \glll #2}
- {\glosstr\glend}}{}
- EndPreamble
- ResetsFont true
- Argument 1
- Decoration conglomerate
- LabelString "Translation"
- MenuString "Glosse Translation|s"
- Tooltip "Add a translation for the glosse"
- EndArgument
-End
-### Inserted by lyx2lyx (deprecated ling glosses) ###
-InsetLayout Flex:Glosse
- LyXType custom
- LabelString "Gloss (old version)"
- MenuString "Gloss (old version)"
- LatexType environment
- LatexName linggloss
- Decoration minimalistic
- LabelFont
- Size Small
- EndFont
- MultiPar true
- CustomPars false
- ForcePlain true
- ParbreakIsNewline true
- FreeSpacing true
- Requires covington
- Preamble
- \def\glosstr{}
- \@ifundefined{linggloss}{%
- \newenvironment{linggloss}[2][]{
- \def\glosstr{\glt #1}%
- \gll #2}
- {\glosstr\glend}}{}
- EndPreamble
- InToc true
- ResetsFont true
- Argument 1
- Decoration conglomerate
- LabelString "Translation"
- MenuString "Glosse Translation|s"
- Tooltip "Add a translation for the glosse"
- EndArgument
-End
-\end_local_layout
\language french
\language_package default
\inputencoding utf8
@@ -129,6 +59,8 @@ End
\output_sync 0
\bibtex_command default
\index_command default
+\float_placement class
+\float_alignment class
\paperfontsize default
\spacing single
\use_hyperref true
@@ -771,7 +703,7 @@ Voici un exemple simple pour une glose sur deux lignes:
status open
\begin_layout Plain Layout
-C'est un exemple simple
+This is a simple example
\end_layout
\begin_layout Plain Layout
@@ -779,7 +711,7 @@ C'est un exemple simple
status open
\begin_layout Plain Layout
-This is an example simple
+Ceci est un exemple simple
\end_layout
\end_inset
@@ -792,7 +724,7 @@ This is an example simple
status open
\begin_layout Plain Layout
-This is a simple example
+Ceci est un exemple simple
\end_layout
\end_inset
@@ -834,26 +766,18 @@ Nous pouvons aussi créer une glose de trois lignes:
\end_layout
\begin_layout Standard
-
-\lang english
\begin_inset Flex Interlinear Gloss (3 Lines)
status open
\begin_layout Plain Layout
-
-\lang english
Hoc est aliud exemplum
\end_layout
\begin_layout Plain Layout
-
-\lang english
\begin_inset Argument post:1
status open
\begin_layout Plain Layout
-
-\lang english
n.sg.nom 3sg n.sg.nom n.sg.nom
\end_layout
@@ -863,15 +787,11 @@ n.sg.nom 3sg n.sg.nom n.sg.nom
\end_layout
\begin_layout Plain Layout
-
-\lang english
\begin_inset Argument post:2
status open
\begin_layout Plain Layout
-
-\lang english
-This is another example
+Ceci est autre exemple
\end_layout
\end_inset
@@ -880,15 +800,11 @@ This is another example
\end_layout
\begin_layout Plain Layout
-
-\lang english
\begin_inset Argument post:3
status open
\begin_layout Plain Layout
-
-\lang english
-This is another example
+Voici un autre exemple
\end_layout
\end_inset
@@ -898,8 +814,6 @@ This is another example
status open
\begin_layout Plain Layout
-
-\lang english
\begin_inset ERT
status open
@@ -948,27 +862,29 @@ exemple numéroté
\end_layout
\begin_layout Numbered Examples (consecutive)
-
-\lang english
\begin_inset Flex Interlinear Gloss (3 Lines)
status open
\begin_layout Plain Layout
-
-\lang english
-Mein Luftkissenfahrzeug ist voller Aale
+Mein Luftkissenfahrzeug ist voller Aale
\end_layout
\begin_layout Plain Layout
-
-\lang english
\begin_inset Argument post:1
status open
\begin_layout Plain Layout
+Mon aéroglisseur est
+\begin_inset Flex GroupGlossedWords
+status open
+
+\begin_layout Plain Layout
+plein d'
+\end_layout
-\lang english
-My skeertuig is vol palings
+\end_inset
+
+ anguilles
\end_layout
\end_inset
@@ -977,21 +893,15 @@ My skeertuig is vol palings
\end_layout
\begin_layout Plain Layout
-
-\lang english
\begin_inset Argument post:2
status open
\begin_layout Plain Layout
-
-\lang english
My hovercraft is
\begin_inset Flex GroupGlossedWords
status open
\begin_layout Plain Layout
-
-\lang english
full of
\end_layout
@@ -1006,15 +916,11 @@ full of
\end_layout
\begin_layout Plain Layout
-
-\lang english
\begin_inset Argument post:3
status open
\begin_layout Plain Layout
-
-\lang english
-Do you have matches?
+Vous avez des allumettes?
\end_layout
\end_inset
@@ -1036,20 +942,14 @@ soit vous utilisez l'option de glose
\end_layout
\begin_layout Standard
-
-\lang english
\begin_inset Flex Interlinear Gloss (3 Lines)
status open
\begin_layout Plain Layout
-
-\lang english
\begin_inset Argument 1
status open
\begin_layout Plain Layout
-
-\lang english
ex
\end_layout
@@ -1059,21 +959,15 @@ ex
\end_layout
\begin_layout Plain Layout
-
-\lang english
Mein Luftkissenfahrzeug ist voller Aale
\end_layout
\begin_layout Plain Layout
-
-\lang english
\begin_inset Argument post:1
status open
\begin_layout Plain Layout
-
-\lang english
-My skeertuig is vol palings
+Mon aéroglisseur est plein d'anguilles
\end_layout
\end_inset
@@ -1082,21 +976,15 @@ My skeertuig is vol palings
\end_layout
\begin_layout Plain Layout
-
-\lang english
\begin_inset Argument post:2
status open
\begin_layout Plain Layout
-
-\lang english
My hovercraft is
\begin_inset Flex GroupGlossedWords
status open
\begin_layout Plain Layout
-
-\lang english
full of
\end_layout
@@ -1111,15 +999,11 @@ full of
\end_layout
\begin_layout Plain Layout
-
-\lang english
\begin_inset Argument post:3
status open
\begin_layout Plain Layout
-
-\lang english
-Do you have matches?
+Vous avez des allumettes?
\end_layout
\end_inset
@@ -2018,8 +1902,6 @@ status open
status open
\begin_layout Plain Layout
-
-\lang english
x
\end_layout
@@ -2029,11 +1911,11 @@ x
\end_layout
\begin_layout Plain Layout
-donkey(x)
+âne(x)
\begin_inset Newline newline
\end_inset
-green(x)
+vert(x)
\begin_inset Newline newline
\end_inset
@@ -2109,8 +1991,6 @@ status open
status open
\begin_layout Plain Layout
-
-\lang english
x
\begin_inset space ~
\end_inset
@@ -2124,15 +2004,15 @@ y
\end_layout
\begin_layout Plain Layout
-John(x)
+Jean(x)
\begin_inset Newline newline
\end_inset
-donkey(y)
+âne(y)
\begin_inset Newline newline
\end_inset
-own(x,y)
+posséder(x,y)
\end_layout
\begin_layout Plain Layout
@@ -2140,8 +2020,6 @@ own(x,y)
status open
\begin_layout Plain Layout
-
-\lang english
z
\begin_inset space ~
\end_inset
@@ -2167,7 +2045,7 @@ w = y
\begin_inset Newline newline
\end_inset
-feed(z,w)
+alimenter(z,w)
\end_layout
\end_inset
@@ -2202,8 +2080,6 @@ status open
status open
\begin_layout Plain Layout
-
-\lang english
x
\begin_inset space ~
\end_inset
@@ -2217,15 +2093,15 @@ y
\end_layout
\begin_layout Plain Layout
-John(x)
+Jean(x)
\begin_inset Newline newline
\end_inset
-donkey(y)
+âne(y)
\begin_inset Newline newline
\end_inset
-own(x,y)
+posséder(x,y)
\end_layout
\begin_layout Plain Layout
@@ -2233,8 +2109,6 @@ own(x,y)
status open
\begin_layout Plain Layout
-
-\lang english
\begin_inset Formula $\wedge\!\,$
\end_inset
@@ -2251,8 +2125,6 @@ status open
status open
\begin_layout Plain Layout
-
-\lang english
z
\begin_inset space ~
\end_inset
@@ -2278,7 +2150,7 @@ w = y
\begin_inset Newline newline
\end_inset
-love(w,z)
+aimer(w,z)
\end_layout
\end_inset
@@ -2310,8 +2182,6 @@ status open
status open
\begin_layout Plain Layout
-
-\lang english
x
\end_layout
@@ -2333,9 +2203,7 @@ x
status open
\begin_layout Plain Layout
-
-\lang english
-every
+tout
\end_layout
\end_inset
@@ -2348,8 +2216,6 @@ every
status open
\begin_layout Plain Layout
-
-\lang english
x
\end_layout
@@ -2363,8 +2229,6 @@ x
status open
\begin_layout Plain Layout
-
-\lang english
y
\end_layout
@@ -2378,11 +2242,11 @@ y
status open
\begin_layout Plain Layout
-secretary(y)
+secrétaire(y)
\begin_inset Newline newline
\end_inset
-hire(x,y)
+louer(x,y)
\end_layout
\end_inset
@@ -2414,8 +2278,6 @@ status open
status open
\begin_layout Plain Layout
-
-\lang english
x
\end_layout
@@ -2425,11 +2287,11 @@ x
\end_layout
\begin_layout Plain Layout
-donkey(x)
+âne(x)
\begin_inset Newline newline
\end_inset
-green(x)
+vert(x)
\end_layout
\end_inset
@@ -2456,9 +2318,7 @@ status open
status open
\begin_layout Plain Layout
-
-\lang english
-A donkey is green
+Un âne est vert
\end_layout
\end_inset
@@ -2471,8 +2331,6 @@ A donkey is green
status open
\begin_layout Plain Layout
-
-\lang english
x
\end_layout
@@ -2482,11 +2340,11 @@ x
\end_layout
\begin_layout Plain Layout
-donkey(x)
+âne(x)
\begin_inset Newline newline
\end_inset
-green(x)
+vert(x)
\end_layout
\end_inset
commit 7513d88350867812de3505bcffb9d2f826e52937
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Wed Dec 8 02:11:48 2021 +0100
MathML: remove redundant mrow in InsetMathScript.
https://www.lyx.org/trac/attachment/ticket/12221/0006-amends-to-a579128c-a68e9793-a68e9793.patch by lynx
diff --git a/src/mathed/InsetMathScript.cpp b/src/mathed/InsetMathScript.cpp
index a5f286b..73e1ef9 100644
--- a/src/mathed/InsetMathScript.cpp
+++ b/src/mathed/InsetMathScript.cpp
@@ -624,12 +624,15 @@ void InsetMathScript::mathmlize(MathMLStream & ms) const
if (!nuc().empty())
ms << nuc();
else
+ // TODO: is this empty <mrow> required?
ms << CTag("mrow");
+ // No need to wrap these in an <mrow>, as it's done by MathExtern.
+ // More details in https://www.lyx.org/trac/ticket/12221#comment:10.
if (d)
- ms << MTag("mrow") << down() << ETag("mrow");
+ ms << down();
if (u)
- ms << MTag("mrow") << up() << ETag("mrow");
+ ms << up();
ms << ETag(tag);
}
commit d1daa092f6f82ff040109df583f7f55a862e6e4c
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Wed Dec 8 02:02:39 2021 +0100
MathML: share some code for XArrow.
diff --git a/src/mathed/InsetMathXArrow.cpp b/src/mathed/InsetMathXArrow.cpp
index cd97b7c..c150a44 100644
--- a/src/mathed/InsetMathXArrow.cpp
+++ b/src/mathed/InsetMathXArrow.cpp
@@ -122,30 +122,26 @@ static std::map<string, string> latex_to_xml_entities = {
};
-void InsetMathXArrow::mathmlize(MathMLStream & ms) const
+docstring map_latex_to(docstring latex, bool xml = false)
{
- std::string arrow;
-
- if (!ms.xmlMode()) { // Use HTML entities.
- auto mapping = latex_to_html_entities.find(to_ascii(name_));
- if (mapping != latex_to_html_entities.end()) {
- arrow = mapping->second;
- } else {
- lyxerr << "mathmlize conversion for '" << name_ << "' not implemented" << endl;
- LASSERT(false, arrow = latex_to_html_entities["xrightarrow"]);
- }
- } else { // Use XML entities.
- auto mapping = latex_to_xml_entities.find(to_ascii(name_));
- if (mapping != latex_to_xml_entities.end()) {
- arrow = mapping->second;
- } else {
- lyxerr << "mathmlize XML conversion for '" << name_ << "' not implemented" << endl;
- LASSERT(false, arrow = latex_to_xml_entities["xrightarrow"]);
- }
+ auto dict = (xml) ? latex_to_xml_entities : latex_to_html_entities;
+
+ auto mapping = dict.find(to_ascii(latex));
+ if (mapping != dict.end()) {
+ return from_ascii(mapping->second);
+ } else {
+ std::string format = (xml) ? "XML" : "HTML";
+ lyxerr << "mathmlize " << format << " conversion for '" << latex << "' not implemented" << endl;
+ LASSERT(false, return from_ascii(dict["xrightarrow"]));
}
+}
+
+void InsetMathXArrow::mathmlize(MathMLStream & ms) const
+{
+ docstring arrow = map_latex_to(name_, ms.xmlMode());
ms << "<" << from_ascii(ms.namespacedTag("munderover")) << " accent='false' accentunder='false'>"
- << MTagInline("mo") << from_ascii(arrow) << ETagInline("mo")
+ << MTagInline("mo") << arrow << ETagInline("mo")
<< cell(1) << cell(0)
<< "</" << from_ascii(ms.namespacedTag("munderover"))<< ">";
}
@@ -153,20 +149,11 @@ void InsetMathXArrow::mathmlize(MathMLStream & ms) const
void InsetMathXArrow::htmlize(HtmlStream & os) const
{
- string arrow;
-
- auto mapping = latex_to_html_entities.find(to_ascii(name_));
- if (mapping != latex_to_html_entities.end()) {
- arrow = mapping->second;
- } else {
- lyxerr << "htmlize conversion for '" << name_ << "' not implemented" << endl;
- LASSERT(false, arrow = latex_to_html_entities["xrightarrow"]);
- }
-
+ docstring arrow = map_latex_to(name_);
os << MTag("span", "class='xarrow'")
- << MTag("span", "class='xatop'") << cell(0) << ETag("span")
- << MTag("span", "class='xabottom'") << from_ascii(arrow) << ETag("span")
- << ETag("span");
+ << MTag("span", "class='xatop'") << cell(0) << ETag("span")
+ << MTag("span", "class='xabottom'") << arrow << ETag("span")
+ << ETag("span");
}
@@ -176,6 +163,7 @@ void InsetMathXArrow::validate(LaTeXFeatures & features) const
features.require("amsmath");
else
features.require("mathtools");
+
if (features.runparams().math_flavor == OutputParams::MathAsHTML)
// CSS adapted from eLyXer
features.addCSSSnippet(
commit e5eef14414c97908fc88f3cb4d03bb47499c1322
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Wed Dec 8 01:53:56 2021 +0100
MathML: refactor the XArrow mappings as maps.
diff --git a/src/mathed/InsetMathXArrow.cpp b/src/mathed/InsetMathXArrow.cpp
index dceb794..cd97b7c 100644
--- a/src/mathed/InsetMathXArrow.cpp
+++ b/src/mathed/InsetMathXArrow.cpp
@@ -84,84 +84,68 @@ void InsetMathXArrow::normalize(NormalStream & os) const
}
+static std::map<string, string> latex_to_html_entities = {
+ {"xleftarrow", "←"},
+ {"xrightarrow", "→"},
+ {"xhookleftarrow", "↩"},
+ {"xhookrightarrow", "↪"},
+ {"xLeftarrow", "⇐"},
+ {"xRightarrow", "⇒"},
+ {"xleftrightarrow", "↔"},
+ {"xLeftrightarrow", "⇔"},
+ {"xleftharpoondown", "↽"},
+ {"xleftharpoonup", "↼"},
+ {"xleftrightharpoons", "⇋"},
+ {"xrightharpoondown", "⇁"},
+ {"xrightharpoonup", "⇀"},
+ {"xrightleftharpoons", "⇌"},
+ {"xmapsto", "↦"},
+};
+
+
+static std::map<string, string> latex_to_xml_entities = {
+ {"xleftarrow", "←"},
+ {"xrightarrow", "→"},
+ {"xhookleftarrow", "↩"},
+ {"xhookrightarrow", "↪"},
+ {"xLeftarrow", "⇐"},
+ {"xRightarrow", "⇒"},
+ {"xleftrightarrow", "↔"},
+ {"xLeftrightarrow", "⇔"},
+ {"xleftharpoondown", "↽"},
+ {"xleftharpoonup", "↼"},
+ {"xleftrightharpoons", "⇋"},
+ {"xrightharpoondown", "⇁"},
+ {"xrightharpoonup", "⇀"},
+ {"xrightleftharpoons", "⇌"},
+ {"xmapsto", "↦"},
+};
+
+
void InsetMathXArrow::mathmlize(MathMLStream & ms) const
{
- char const * arrow;
+ std::string arrow;
if (!ms.xmlMode()) { // Use HTML entities.
- if (name_ == "xleftarrow")
- arrow = "←";
- else if (name_ == "xrightarrow")
- arrow = "→";
- else if (name_ == "xhookleftarrow")
- arrow = "↩";
- else if (name_ == "xhookrightarrow")
- arrow = "↪";
- else if (name_ == "xLeftarrow")
- arrow = "⇐";
- else if (name_ == "xRightarrow")
- arrow = "⇒";
- else if (name_ == "xleftrightarrow")
- arrow = "↔";
- else if (name_ == "xLeftrightarrow")
- arrow = "⇔";
- else if (name_ == "xleftharpoondown")
- arrow = "↽";
- else if (name_ == "xleftharpoonup")
- arrow = "↼";
- else if (name_ == "xleftrightharpoons")
- arrow = "⇋";
- else if (name_ == "xrightharpoondown")
- arrow = "⇁";
- else if (name_ == "xrightharpoonup")
- arrow = "⇀";
- else if (name_ == "xrightleftharpoons")
- arrow = "⇌";
- else if (name_ == "xmapsto")
- arrow = "↦";
- else {
+ auto mapping = latex_to_html_entities.find(to_ascii(name_));
+ if (mapping != latex_to_html_entities.end()) {
+ arrow = mapping->second;
+ } else {
lyxerr << "mathmlize conversion for '" << name_ << "' not implemented" << endl;
- LASSERT(false, arrow = "→");
+ LASSERT(false, arrow = latex_to_html_entities["xrightarrow"]);
}
} else { // Use XML entities.
- if (name_ == "xleftarrow")
- arrow = "←";
- else if (name_ == "xrightarrow")
- arrow = "→";
- else if (name_ == "xhookleftarrow")
- arrow = "↩";
- else if (name_ == "xhookrightarrow")
- arrow = "↪";
- else if (name_ == "xLeftarrow")
- arrow = "⇐";
- else if (name_ == "xRightarrow")
- arrow = "⇒";
- else if (name_ == "xleftrightarrow")
- arrow = "↔";
- else if (name_ == "xLeftrightarrow")
- arrow = "⇔";
- else if (name_ == "xleftharpoondown")
- arrow = "↽";
- else if (name_ == "xleftharpoonup")
- arrow = "↼";
- else if (name_ == "xleftrightharpoons")
- arrow = "⇋";
- else if (name_ == "xrightharpoondown")
- arrow = "⇁";
- else if (name_ == "xrightharpoonup")
- arrow = "⇀";
- else if (name_ == "xrightleftharpoons")
- arrow = "⇌";
- else if (name_ == "xmapsto")
- arrow = "↦";
- else {
+ auto mapping = latex_to_xml_entities.find(to_ascii(name_));
+ if (mapping != latex_to_xml_entities.end()) {
+ arrow = mapping->second;
+ } else {
lyxerr << "mathmlize XML conversion for '" << name_ << "' not implemented" << endl;
- LASSERT(false, arrow = "→");
+ LASSERT(false, arrow = latex_to_xml_entities["xrightarrow"]);
}
}
ms << "<" << from_ascii(ms.namespacedTag("munderover")) << " accent='false' accentunder='false'>"
- << MTagInline("mo") << arrow << ETagInline("mo")
+ << MTagInline("mo") << from_ascii(arrow) << ETagInline("mo")
<< cell(1) << cell(0)
<< "</" << from_ascii(ms.namespacedTag("munderover"))<< ">";
}
@@ -169,45 +153,19 @@ void InsetMathXArrow::mathmlize(MathMLStream & ms) const
void InsetMathXArrow::htmlize(HtmlStream & os) const
{
- char const * arrow;
-
- if (name_ == "xleftarrow")
- arrow = "←";
- else if (name_ == "xrightarrow")
- arrow = "→";
- else if (name_ == "xhookleftarrow")
- arrow = "↩";
- else if (name_ == "xhookrightarrow")
- arrow = "↪";
- else if (name_ == "xLeftarrow")
- arrow = "⇐";
- else if (name_ == "xRightarrow")
- arrow = "⇒";
- else if (name_ == "xleftrightarrow")
- arrow = "↔";
- else if (name_ == "xLeftrightarrow")
- arrow = "⇔";
- else if (name_ == "xleftharpoondown")
- arrow = "↽";
- else if (name_ == "xleftharpoonup")
- arrow = "↼";
- else if (name_ == "xleftrightharpoons")
- arrow = "⇋";
- else if (name_ == "xrightharpoondown")
- arrow = "⇁";
- else if (name_ == "xrightharpoonup")
- arrow = "⇀";
- else if (name_ == "xrightleftharpoons")
- arrow = "⇌";
- else if (name_ == "xmapsto")
- arrow = "↦";
- else {
+ string arrow;
+
+ auto mapping = latex_to_html_entities.find(to_ascii(name_));
+ if (mapping != latex_to_html_entities.end()) {
+ arrow = mapping->second;
+ } else {
lyxerr << "htmlize conversion for '" << name_ << "' not implemented" << endl;
- LASSERT(false, arrow = "→");
+ LASSERT(false, arrow = latex_to_html_entities["xrightarrow"]);
}
+
os << MTag("span", "class='xarrow'")
<< MTag("span", "class='xatop'") << cell(0) << ETag("span")
- << MTag("span", "class='xabottom'") << arrow << ETag("span")
+ << MTag("span", "class='xabottom'") << from_ascii(arrow) << ETag("span")
<< ETag("span");
}
commit f0bf41f5746dd6edd1815b52cf7be72fee1b1d8e
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Wed Dec 8 01:36:24 2021 +0100
MathML: allow XArrow to stretch.
Based on https://www.lyx.org/trac/ticket/12221#comment:10
by lynx
diff --git a/src/mathed/InsetMathXArrow.cpp b/src/mathed/InsetMathXArrow.cpp
index a9ed6b0..dceb794 100644
--- a/src/mathed/InsetMathXArrow.cpp
+++ b/src/mathed/InsetMathXArrow.cpp
@@ -161,7 +161,8 @@ void InsetMathXArrow::mathmlize(MathMLStream & ms) const
}
ms << "<" << from_ascii(ms.namespacedTag("munderover")) << " accent='false' accentunder='false'>"
- << arrow << cell(1) << cell(0)
+ << MTagInline("mo") << arrow << ETagInline("mo")
+ << cell(1) << cell(0)
<< "</" << from_ascii(ms.namespacedTag("munderover"))<< ">";
}
commit 68ff3436c99b133da0e90bf10b13ca819558f78e
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Mon Dec 6 22:35:26 2021 +0100
symbols: update HTML entities and Unicode encodings for Greek letter variations.
diff --git a/lib/symbols b/lib/symbols
index af85929..8086d51 100644
--- a/lib/symbols
+++ b/lib/symbols
@@ -252,7 +252,7 @@ alpha cmm 174 97 mathord α α
beta cmm 175 98 mathord β β
gamma cmm 176 103 mathord γ γ
delta cmm 177 100 mathord δ δ
-epsilon cmm 178 0 mathord ε ε
+epsilon cmm 178 0 mathord ε ϵ
zeta cmm 179 122 mathord ζ ζ
eta cmm 180 104 mathord η η
theta cmm 181 113 mathord θ θ
@@ -267,16 +267,16 @@ rho cmm 189 114 mathord ρ ρ
sigma cmm 190 115 mathord σ σ
tau cmm 191 116 mathord τ τ
upsilon cmm 192 117 mathord υ υ
-phi cmm 193 102 mathord φ φ
+phi cmm 193 102 mathord ϕ ϕ
chi cmm 194 99 mathord χ χ
psi cmm 195 121 mathord ψ ψ
omega cmm 33 119 mathord ω ω
-varepsilon cmm 34 101 mathord ϵ ϵ
+varepsilon cmm 34 101 mathord ϵ ε
vartheta cmm 35 74 mathord ϑ ϑ
varpi cmm 36 118 mathord ϖ ϖ
varrho cmm 37 0 mathord ϱ ϱ
varsigma cmm 38 86 mathord ς ς
-varphi cmm 39 106 mathord ϕ ϕ
+varphi cmm 39 106 mathord φ φ
slash cmr 47 47 mathord / /
Gamma cmr 161 71 mathalpha Γ Γ
Delta cmr 162 68 mathalpha Δ Δ
commit 5b62d43835992b3790d235227b39aec9c4dfb1ed
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Mon Dec 6 22:19:36 2021 +0100
symbols: don't encode vertical bars as nonexistent HTML entities.
Excerpt from https://www.lyx.org/trac/ticket/12221#comment:11
Created by lynx
diff --git a/lib/symbols b/lib/symbols
index f56c038..af85929 100644
--- a/lib/symbols
+++ b/lib/symbols
@@ -374,8 +374,8 @@ sqsubseteq cmsy 118 0 mathrel ⊑ ⊑
sqsupseteq cmsy 119 0 mathrel ⊒ ⊒
parallel cmsy 107 0 mathrel ∥ ∥
mid cmsy 106 124 mathrel ∣ ∣
-lvert cmsy 106 124 mathrel &lvert; | amsmath
-rvert cmsy 106 124 mathrel &rvert; | amsmath
+lvert cmsy 106 124 mathrel | | amsmath
+rvert cmsy 106 124 mathrel | | amsmath
dashv cmsy 97 0 mathrel ⊣ ⊣
vdash cmsy 96 0 mathrel ⊢ ⊢
nearrow cmsy 37 0 mathrel ↗ ↗
commit 0e0b76a76e6a660a379ea9955a92c440a6401acd
Author: Stephan Witt <switt at lyx.org>
Date: Tue Dec 7 23:01:47 2021 +0100
Restore correct version check for AA_UseHighDpiPixmaps - amend change ae56fb6171
diff --git a/src/frontends/qt/GuiApplication.cpp b/src/frontends/qt/GuiApplication.cpp
index ed20130..9e6f18a 100644
--- a/src/frontends/qt/GuiApplication.cpp
+++ b/src/frontends/qt/GuiApplication.cpp
@@ -1109,7 +1109,7 @@ GuiApplication::GuiApplication(int & argc, char ** argv)
QCoreApplication::setOrganizationName(app_name);
QCoreApplication::setOrganizationDomain("lyx.org");
QCoreApplication::setApplicationName(lyx_package);
-#if QT_VERSION >= 0x050000 && QT_VERSION < 0x060000
+#if QT_VERSION >= 0x050100 && QT_VERSION < 0x060000
QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
#endif
commit fb4a485c1910c012fbf0b8710990524c6523b215
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Tue Dec 7 13:25:39 2021 -0500
ctests: uninvert Seminar tests
These exports now succeed on an updated TL21 installation.
diff --git a/development/autotests/invertedTests b/development/autotests/invertedTests
index f3566ae..2857677 100644
--- a/development/autotests/invertedTests
+++ b/development/autotests/invertedTests
@@ -304,12 +304,8 @@ export/templates/Articles/Hebrew_Article_%28KOMA-Script%29_(dvi3|pdf5)_systemF
# See comment in unreliableTests
export/export/latex/languages/uk-babel-date-missing-chars-with-ascii_pdf5_texF
-# These fail for perhaps a similar reason, but contrary to the unicodesymbols
-# case the maintainer of the seminar package is not planning to fix the core
-# issue since the package is old. Putting the following as the first line of
-# the LaTeX file is a workaround: \RequirePackage[2020-02-02]{latexrelease}
-export/examples/(fr/|)Presentations/Seminar.*(dvi|pdf|lyx22|lyx23).*
-# These fail for a similar reason and the same workaround works.
+# Putting the following as the first line of the LaTeX file is a workaround:
+# \RequirePackage[2020-02-02]{latexrelease}
export/templates/Articles/Journal_of_the_Acoustical_Society_of_America_%28JASA%29.*(dvi|pdf|lyx22|lyx23).*
# The new jss.cls (version 3.1) seems to not work with an updated TL20 (for
commit 2713ea5189fffd73bbd7d3ab59c5245ba7b86b53
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Tue Dec 7 13:03:39 2021 -0500
ctests: log fixed upstream polyglossia issues
Thanks to Jürgen for fixing these upstream Polyglossia regressions.
diff --git a/development/autotests/ctests-costs-benefits.txt b/development/autotests/ctests-costs-benefits.txt
index f502ddf..d8b6ab6 100644
--- a/development/autotests/ctests-costs-benefits.txt
+++ b/development/autotests/ctests-costs-benefits.txt
@@ -66,3 +66,8 @@ Examples where upstream (e.g., LaTeX packages) bugs were fixed (more quickly)
because of ctests:
Fix : https://github.com/nrnrnr/noweb/pull/12#event-4892099481
+
+Report : (private message to Jürgen: Message-ID:<20211205192054.zbxij5butj3wdyvf at poole>)
+Fix : some of the polyglossia commits in the range 1c36dcdc^...bf69288c
+Benefit: Not clear. The regressions were in the development version so they
+ could have easily been caught before release.
commit 2fd8b6fc2a402c00e78f71d7d6ad986270283a3e
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Tue Dec 7 18:15:01 2021 +0100
Fix the way the top and bottom selection are drawn
When a selection extends on more than a row, the space between the two
rows should always be painted in full. Otherwise, with layouts like
Chapter, the "Chapter" label may seem selected in part.
diff --git a/src/RowPainter.cpp b/src/RowPainter.cpp
index 400b7b6..b7b479b 100644
--- a/src/RowPainter.cpp
+++ b/src/RowPainter.cpp
@@ -585,12 +585,16 @@ void RowPainter::paintSelection() const
if (!row_.selection())
return;
- int const y1 = yo_ - (row_.begin_margin_sel ? row_.ascent()
- : row_.contents_dim().asc);
- int const y2 = yo_ + (row_.end_margin_sel ? row_.descent()
- : row_.contents_dim().des);
+ int const y1 = yo_ - row_.contents_dim().asc;
+ int const y2 = yo_ + row_.contents_dim().des;
- // draw the margins
+ // The top selection
+ if (row_.begin_margin_sel)
+ pi_.pain.fillRectangle(int(xo_), yo_ - row_.ascent(),
+ tm_.width(), row_.ascent() - row_.contents_dim().asc,
+ Color_selection);
+
+ // The left margin selection
if (row_.isRTL() ? row_.end_margin_sel : row_.begin_margin_sel)
pi_.pain.fillRectangle(int(xo_), y1, row_.left_margin, y2 - y1,
Color_selection);
@@ -629,10 +633,16 @@ void RowPainter::paintSelection() const
x += e.full_width();
}
+ // the right margin selection
if (row_.isRTL() ? row_.begin_margin_sel : row_.end_margin_sel)
pi_.pain.fillRectangle(int(x), y1,
int(xo_ + tm_.width()) - int(x), y2 - y1,
Color_selection);
+ // The bottom selection
+ if (row_.end_margin_sel)
+ pi_.pain.fillRectangle(int(xo_), yo_ + row_.contents_dim().des,
+ tm_.width(), row_.descent() - row_.contents_dim().des,
+ Color_selection);
}
commit bf9b4a0836f23082b68a6a42d048a54333721e8e
Merge: ae56fb6 2f8ea7b
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Tue Dec 7 17:06:21 2021 +0100
Merge branch 'breakrows'
With this merge, the way paragraphs are typeset changes. Paragraphs
are first tolenized as row elements, and these elements are then
broken into separate rows as needed to fit the margins. This allows to
reduce the amount of metrics computation and make LyX much faster in
the case of large insets.
Moreover, the code relies more on RofFlags enum, which desribes how an
inset or a row element should be typset. This aspect will be extended
in the future.
Some user for whom performance is very bad (which I cannot reproduce
unfortunately) have reported a 4-fold speedup. In general cases, the
speedup will be less impressive but still noticeable.
Related to bugs #12297 and #5861.
commit 2f8ea7ba0571bc48b51dcd1ce789f81583fe5f1e
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Tue Oct 12 11:33:23 2021 +0200
One less thing to do in PAINTING_ANALYSIS
diff --git a/development/PAINTING_ANALYSIS b/development/PAINTING_ANALYSIS
index a52a036..c4b396f 100644
--- a/development/PAINTING_ANALYSIS
+++ b/development/PAINTING_ANALYSIS
@@ -11,7 +11,7 @@ Please keep this file up to date as the code evolves!!!
Abbreviations:
bv: BufferView
pm: ParagraphMetrics
-tm::TextMetrics
+tm: TextMetrics
* Questions / Ideas
@@ -76,11 +76,6 @@ a lot the amount of stuff to redraw.
It should not be necessary to access the Paragraph object to draw.
Adding the static elements to Row is a lot of work, but worth it IMO.
-** Create a unique row by paragraph and break it afterwards
-
-This should be a performance gain (only if paragraph breaking still
-shows as expensive after the rest is done)
-
** do not add the vertical margin of main text to first/last row
Would make code cleaner. Probably no so difficult.
commit 572b06d64052f2ba75c6b4c473e19a2b9369de58
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Tue Oct 5 15:52:31 2021 +0200
Increase metrics cache maximal size
Increase the maximal size of the breakString cache (to compute where
to break lines) from 512kB to 10MB. This has a big impact of cache
hits on large file like the example in #12297, which is now 99%. On
this example the time taken by breakString decreases from 33.5us to
2.4us.
The string width cache has been increased fro 512kB to 1MB, but this
does not make such a big difference.
Additionally, comments and variable names have been improved.
Related to bug #12297.
diff --git a/src/frontends/qt/GuiFontMetrics.cpp b/src/frontends/qt/GuiFontMetrics.cpp
index 3feb33e..e51d40f 100644
--- a/src/frontends/qt/GuiFontMetrics.cpp
+++ b/src/frontends/qt/GuiFontMetrics.cpp
@@ -86,25 +86,27 @@ namespace lyx {
namespace frontend {
-/*
- * Limit (strwidth|breakstr)_cache_ size to 512kB of string data.
- * Limit qtextlayout_cache_ size to 500 elements (we do not know the
- * size of the QTextLayout objects anyway).
- * Note that all these numbers are arbitrary.
- * Also, setting size to 0 is tantamount to disabling the cache.
- */
-int cache_metrics_width_size = 1 << 19;
-int cache_metrics_breakstr_size = 1 << 19;
+namespace {
+// Maximal size/cost for various caches. See QCache documentation to
+// see what cost means.
+
+// Limit strwidth_cache_ total cost to 1MB of string data.
+int const strwidth_cache_max_cost = 1024 * 1024;
+// Limit breakat_cache_ total cost to 10MB of string data.
+// This is useful for documents with very large insets.
+int const breakstr_cache_max_cost = 10 * 1024 * 1024;
// Qt 5.x already has its own caching of QTextLayout objects
// but it does not seem to work well on MacOS X.
#if (QT_VERSION < 0x050000) || defined(Q_OS_MAC)
-int cache_metrics_qtextlayout_size = 500;
+// Limit qtextlayout_cache_ size to 500 elements (we do not know the
+// size of the QTextLayout objects anyway).
+int const qtextlayout_cache_max_size = 500;
#else
-int cache_metrics_qtextlayout_size = 0;
+// Disable the cache
+int const qtextlayout_cache_max_size = 0;
#endif
-namespace {
/**
* Convert a UCS4 character into a QChar.
* This is a hack (it does only make sense for the common part of the UCS4
@@ -128,9 +130,9 @@ inline QChar const ucs4_to_qchar(char_type const ucs4)
GuiFontMetrics::GuiFontMetrics(QFont const & font)
: font_(font), metrics_(font, 0),
- strwidth_cache_(cache_metrics_width_size),
- breakstr_cache_(cache_metrics_breakstr_size),
- qtextlayout_cache_(cache_metrics_qtextlayout_size)
+ strwidth_cache_(strwidth_cache_max_cost),
+ breakstr_cache_(breakstr_cache_max_cost),
+ qtextlayout_cache_(qtextlayout_cache_max_size)
{
// Determine italic slope
double const defaultSlope = tan(qDegreesToRadians(19.0));
commit 5966d4fb8df1ea09564c1c7cd4391c150440c644
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Wed Sep 22 15:09:26 2021 +0200
Improve row flushing
Add new row flags Flush and FlushBefore to let insets indicate whether
they cause flushing of current row (eg. newline) or of previous row
(e.g. display insets).
diff --git a/src/RowFlags.h b/src/RowFlags.h
index f94f0c6..01c4dd2 100644
--- a/src/RowFlags.h
+++ b/src/RowFlags.h
@@ -32,22 +32,26 @@ enum RowFlags {
BreakBefore = 1 << 0,
// Avoid breaking row before this element
NoBreakBefore = 1 << 1,
+ // flush the row before this element (useful with BreakBefore)
+ FlushBefore = 1 << 2,
// force new (maybe empty) row after this element
- AlwaysBreakAfter = 1 << 2,
+ AlwaysBreakAfter = 1 << 3,
// break row after this element if there are more elements
- BreakAfter = 1 << 3,
+ BreakAfter = 1 << 4,
// break row whenever needed after this element
- CanBreakAfter = 1 << 4,
+ CanBreakAfter = 1 << 5,
// Avoid breaking row after this element
- NoBreakAfter = 1 << 5,
+ NoBreakAfter = 1 << 6,
// The contents of the row may be broken in two (e.g. string)
- CanBreakInside = 1 << 6,
+ CanBreakInside = 1 << 7,
+ // Flush the row that ends with this element
+ Flush = 1 << 8,
// specify an alignment (left, right) for a display element
// (default is center)
- AlignLeft = 1 << 7,
- AlignRight = 1 << 8,
+ AlignLeft = 1 << 9,
+ AlignRight = 1 << 10,
// A display element breaks row at both ends
- Display = BreakBefore | BreakAfter,
+ Display = FlushBefore | BreakBefore | BreakAfter,
// Flags that concern breaking after element
AfterFlags = AlwaysBreakAfter | BreakAfter | CanBreakAfter | NoBreakAfter
};
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index 14dc705..2b1ee5a 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -1068,7 +1068,6 @@ void cleanupRow(Row & row, bool at_end)
}
row.endpos(row.back().endpos);
- row.flushed(at_end);
// remove trailing spaces on row break
if (!at_end)
row.back().rtrim();
@@ -1118,8 +1117,11 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
int const f2 = (fcit == end) ? (end_label ? Inline : NoBreakBefore)
: fcit->row_flags;
if (rows.empty() || needsRowBreak(f1, f2)) {
- if (!rows.empty())
+ if (!rows.empty()) {
cleanupRow(rows.back(), false);
+ // Flush row as requested by row flags
+ rows.back().flushed((f1 & Flush) || (f2 & FlushBefore));
+ }
pos_type pos = rows.empty() ? 0 : rows.back().endpos();
rows.push_back(newRow(*this, bigrow.pit(), pos, is_rtl));
// the width available for the row.
diff --git a/src/insets/InsetNewline.cpp b/src/insets/InsetNewline.cpp
index f5fcd42..ecfacf4 100644
--- a/src/insets/InsetNewline.cpp
+++ b/src/insets/InsetNewline.cpp
@@ -39,6 +39,15 @@ InsetNewline::InsetNewline() : Inset(nullptr)
{}
+int InsetNewline::rowFlags() const
+{
+ if (params_.kind == InsetNewlineParams::LINEBREAK)
+ return AlwaysBreakAfter;
+ else
+ return AlwaysBreakAfter | Flush;
+}
+
+
void InsetNewlineParams::write(ostream & os) const
{
switch (kind) {
diff --git a/src/insets/InsetNewline.h b/src/insets/InsetNewline.h
index 1ef0ae5..c85a97d 100644
--- a/src/insets/InsetNewline.h
+++ b/src/insets/InsetNewline.h
@@ -47,7 +47,7 @@ public:
explicit InsetNewline(InsetNewlineParams par) : Inset(0)
{ params_.kind = par.kind; }
///
- int rowFlags() const override { return AlwaysBreakAfter; }
+ int rowFlags() const override;
///
static void string2params(std::string const &, InsetNewlineParams &);
///
diff --git a/src/insets/InsetSeparator.h b/src/insets/InsetSeparator.h
index 9352bdf..0c12d95 100644
--- a/src/insets/InsetSeparator.h
+++ b/src/insets/InsetSeparator.h
@@ -65,7 +65,7 @@ public:
return docstring();
}
///
- int rowFlags() const override { return BreakAfter; }
+ int rowFlags() const override { return BreakAfter | Flush; }
private:
///
InsetCode lyxCode() const override { return SEPARATOR_CODE; }
commit a06f0e48ec579c7ff4e059f08fd0e3983f6d4dfe
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Wed Sep 22 13:17:46 2021 +0200
Simplify setting of RTL in rows
Set RTL status at row creation, which allows to remove a parameter from
cleanupRow.
diff --git a/src/Row.cpp b/src/Row.cpp
index 6b0faa3..4b9836e 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -624,7 +624,7 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width)
}
-void Row::reverseRTL(bool const rtl_par)
+void Row::reverseRTL()
{
pos_type i = 0;
pos_type const end = elements_.size();
@@ -636,14 +636,13 @@ void Row::reverseRTL(bool const rtl_par)
++j;
// if the direction is not the same as the paragraph
// direction, the sequence has to be reverted.
- if (rtl != rtl_par)
+ if (rtl != rtl_)
reverse(elements_.begin() + i, elements_.begin() + j);
i = j;
}
// If the paragraph itself is RTL, reverse everything
- if (rtl_par)
+ if (rtl_)
reverse(elements_.begin(), elements_.end());
- rtl_ = rtl_par;
}
Row::const_iterator const
diff --git a/src/Row.h b/src/Row.h
index bf49eb1..2c60638 100644
--- a/src/Row.h
+++ b/src/Row.h
@@ -301,10 +301,12 @@ public:
* Find sequences of right-to-left elements and reverse them.
* This should be called once the row is completely built.
*/
- void reverseRTL(bool rtl_par);
+ void reverseRTL();
///
bool isRTL() const { return rtl_; }
///
+ void setRTL(bool rtl) { rtl_ = rtl; }
+ ///
bool needsChangeBar() const { return changebar_; }
///
void needsChangeBar(bool ncb) { changebar_ = ncb; }
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index 76e2fb1..14dc705 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -1050,6 +1050,7 @@ Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl)
nrow.pos(pos);
nrow.left_margin = tm.leftMargin(pit, pos);
nrow.right_margin = tm.rightMargin(pit);
+ nrow.setRTL(is_rtl);
if (is_rtl)
swap(nrow.left_margin, nrow.right_margin);
// Remember that the row width takes into account the left_margin
@@ -1059,7 +1060,7 @@ Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl)
}
-void cleanupRow(Row & row, bool at_end, bool is_rtl)
+void cleanupRow(Row & row, bool at_end)
{
if (row.empty()) {
row.endpos(0);
@@ -1074,7 +1075,7 @@ void cleanupRow(Row & row, bool at_end, bool is_rtl)
// boundary exists when there was no space at the end of row
row.right_boundary(!at_end && row.back().endpos == row.endpos());
// make sure that the RTL elements are in reverse ordering
- row.reverseRTL(is_rtl);
+ row.reverseRTL();
}
@@ -1118,7 +1119,7 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
: fcit->row_flags;
if (rows.empty() || needsRowBreak(f1, f2)) {
if (!rows.empty())
- cleanupRow(rows.back(), false, is_rtl);
+ cleanupRow(rows.back(), false);
pos_type pos = rows.empty() ? 0 : rows.back().endpos();
rows.push_back(newRow(*this, bigrow.pit(), pos, is_rtl));
// the width available for the row.
@@ -1152,7 +1153,7 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
}
if (!rows.empty()) {
- cleanupRow(rows.back(), true, is_rtl);
+ cleanupRow(rows.back(), true);
// Last row in paragraph is flushed
rows.back().flushed(true);
}
commit d723b90344c0e56b26fc69aa00cb3001e074a723
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Mon Sep 6 14:52:42 2021 +0200
Break multi-row strings in one pass
Replace FontMetrics::breakAt, which returned the next break point,
with FontMetrics::breakString, which returns a vector of break points.
To this end, an additional parameter gives the available width for
next rows.
Rename various variables and methods accordingly. Factor the code in
breakString_helper to be more manageable.
Adapt Row::Element::splitAt to return a bool on sucess and provide
remaining row elements in a vector. The width noted above has been
added as parameters.
Rename the helper function splitFrom to moveElements and rewrite the
code to be more efficient.
Remove type of row element INVALID, which is not needed anymore.
The code in TextMetrics::breakParagraph is now much simpler.
In Row::finalize, remove the code that computed inconditionnally the
current element size, and make sure that this width will be computed
in all code paths of Row::Element::splitAt.
diff --git a/src/Row.cpp b/src/Row.cpp
index b7e4c07..6b0faa3 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -123,41 +123,81 @@ pos_type Row::Element::x2pos(int &x) const
x = 0;
i = isRTL();
}
- break;
- case INVALID:
- LYXERR0("x2pos: INVALID row element !");
}
//lyxerr << "=> p=" << pos + i << " x=" << x << endl;
return pos + i;
}
-Row::Element Row::Element::splitAt(int w, bool force)
+bool Row::Element::splitAt(int const width, int next_width, bool force,
+ Row::Elements & tail)
{
- if (type != STRING || !(row_flags & CanBreakInside))
- return Element();
+ // Not a string or already OK.
+ if (type != STRING || (dim.wid > 0 && dim.wid < width))
+ return false;
FontMetrics const & fm = theFontMetrics(font);
- dim.wid = w;
- int const i = fm.breakAt(str, dim.wid, isRTL(), force);
- if (i != -1) {
- //Create a second row element to return
- Element ret(STRING, pos + i, font, change);
- ret.str = str.substr(i);
- ret.endpos = ret.pos + ret.str.length();
- // Copy the after flags of the original element to the second one.
- ret.row_flags = row_flags & (CanBreakInside | AfterFlags);
-
- // Now update ourselves
- str.erase(i);
- endpos = pos + i;
- // Row should be broken after the original element
- row_flags = (row_flags & ~AfterFlags) | BreakAfter;
- //LYXERR0("breakAt(" << w << ") Row element Broken at " << w << "(w(str)=" << fm.width(str) << "): e=" << *this);
- return ret;
+
+ // A a string that is not breakable
+ if (!(row_flags & CanBreakInside)) {
+ // has width been computed yet?
+ if (dim.wid == 0)
+ dim.wid = fm.width(str);
+ return false;
+ }
+
+ bool const wrap_any = !font.language()->wordWrap();
+ FontMetrics::Breaks breaks = fm.breakString(str, width, next_width,
+ isRTL(), wrap_any | force);
+
+ // if breaking did not really work, give up
+ if (!force && breaks.front().wid > width) {
+ if (dim.wid == 0)
+ dim.wid = fm.width(str);
+ return false;
+ }
+
+ Element first_e(STRING, pos, font, change);
+ // should next element eventually replace *this?
+ bool first = true;
+ docstring::size_type i = 0;
+ for (FontMetrics::Break const & brk : breaks) {
+ Element e(STRING, pos + i, font, change);
+ e.str = str.substr(i, brk.len);
+ e.endpos = e.pos + brk.len;
+ e.dim.wid = brk.wid;
+ e.row_flags = CanBreakInside | BreakAfter;
+ if (first) {
+ // this element eventually goes to *this
+ e.row_flags |= row_flags & ~AfterFlags;
+ first_e = e;
+ first = false;
+ } else
+ tail.push_back(e);
+ i += brk.len;
}
- return Element();
+ if (!tail.empty()) {
+ // Avoid having a last empty element. This happens when
+ // breaking at the trailing space of string
+ if (tail.back().str.empty())
+ tail.pop_back();
+ else {
+ // Copy the after flags of the original element to the last one.
+ tail.back().row_flags &= ~BreakAfter;
+ tail.back().row_flags |= row_flags & AfterFlags;
+ }
+ // first_e row should be broken after the original element
+ first_e.row_flags |= BreakAfter;
+ } else {
+ // Restore the after flags of the original element.
+ first_e.row_flags &= ~BreakAfter;
+ first_e.row_flags |= row_flags & AfterFlags;
+ }
+
+ // update ourselves
+ swap(first_e, *this);
+ return true;
}
@@ -265,10 +305,6 @@ ostream & operator<<(ostream & os, Row::Element const & e)
break;
case Row::SPACE:
os << "SPACE: ";
- break;
- case Row::INVALID:
- os << "INVALID: ";
- break;
}
os << "width=" << e.full_width() << ", row_flags=" << e.row_flags;
return os;
@@ -393,11 +429,6 @@ void Row::finalizeLast()
elt.final = true;
if (elt.change.changed())
changebar_ = true;
-
- if (elt.type == STRING && elt.dim.wid == 0) {
- elt.dim.wid = theFontMetrics(elt.font).width(elt.str);
- dim_.wid += elt.dim.wid;
- }
}
@@ -474,19 +505,14 @@ void Row::pop_back()
namespace {
-// Remove stuff after \c it from \c elts, and return it.
-// if \c init is provided, it will prepended to the rest
-Row::Elements splitFrom(Row::Elements & elts, Row::Elements::iterator const & it,
- Row::Element const & init = Row::Element())
+// Move stuff after \c it from \c from and the end of \c to.
+void moveElements(Row::Elements & from, Row::Elements::iterator const & it,
+ Row::Elements & to)
{
- Row::Elements ret;
- if (init.isValid())
- ret.push_back(init);
- ret.insert(ret.end(), it, elts.end());
- elts.erase(it, elts.end());
- if (!elts.empty())
- elts.back().row_flags = (elts.back().row_flags & ~AfterFlags) | BreakAfter;
- return ret;
+ to.insert(to.end(), it, from.end());
+ from.erase(it, from.end());
+ if (!from.empty())
+ from.back().row_flags = (from.back().row_flags & ~AfterFlags) | BreakAfter;
}
}
@@ -522,6 +548,7 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width)
Elements::iterator cit_brk = cit;
int wid_brk = wid + cit_brk->dim.wid;
++cit_brk;
+ Elements tail;
while (cit_brk != beg) {
--cit_brk;
// make a copy of the element to work on it.
@@ -533,28 +560,18 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width)
if (wid_brk <= w && brk.row_flags & CanBreakAfter) {
end_ = brk.endpos;
dim_.wid = wid_brk;
- return splitFrom(elements_, cit_brk + 1);
+ moveElements(elements_, cit_brk + 1, tail);
+ return tail;
}
// assume now that the current element is not there
wid_brk -= brk.dim.wid;
- /*
- * Some Asian languages split lines anywhere (no notion of
- * word). It seems that QTextLayout is not aware of this fact.
- * See for reference:
- * https://en.wikipedia.org/wiki/Line_breaking_rules_in_East_Asian_languages
- *
- * FIXME: Something shall be done about characters which are
- * not allowed at the beginning or end of line.
- */
- bool const word_wrap = brk.font.language()->wordWrap();
/* We have found a suitable separable element. This is the common case.
- * Try to break it cleanly (at word boundary) at a length that is both
+ * Try to break it cleanly at a length that is both
* - less than the available space on the row
* - shorter than the natural width of the element, in order to enforce
* break-up.
*/
- Element remainder = brk.splitAt(min(w - wid_brk, brk.dim.wid - 2), !word_wrap);
- if (brk.row_flags & BreakAfter) {
+ if (brk.splitAt(min(w - wid_brk, brk.dim.wid - 2), next_width, false, tail)) {
/* if this element originally did not cause a row overflow
* in itself, and the remainder of the row would still be
* too large after breaking, then we will have issues in
@@ -568,12 +585,10 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width)
*cit_brk = brk;
dim_.wid = wid_brk + brk.dim.wid;
// If there are other elements, they should be removed.
- // remainder can be empty when splitting at trailing space
- if (remainder.str.empty())
- return splitFrom(elements_, next(cit_brk, 1));
- else
- return splitFrom(elements_, next(cit_brk, 1), remainder);
+ moveElements(elements_, cit_brk + 1, tail);
+ return tail;
}
+ LATTEST(tail.empty());
}
if (cit != beg && cit->row_flags & NoBreakBefore) {
@@ -588,20 +603,23 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width)
// been added. We can cut right here.
end_ = cit->pos;
dim_.wid = wid;
- return splitFrom(elements_, cit);
+ moveElements(elements_, cit, tail);
+ return tail;
}
/* If we are here, it means that we have not found a separator to
- * shorten the row. Let's try to break it again, but not at word
- * boundary this time.
+ * shorten the row. Let's try to break it again, but force
+ * splitting this time.
*/
- Element remainder = cit->splitAt(w - wid, true);
- if (cit->row_flags & BreakAfter) {
+ if (cit->splitAt(w - wid, next_width, true, tail)) {
+ LYXERR0(*cit);
end_ = cit->endpos;
dim_.wid = wid + cit->dim.wid;
// If there are other elements, they should be removed.
- return splitFrom(elements_, next(cit, 1), remainder);
+ moveElements(elements_, cit + 1, tail);
+ return tail;
}
+
return Elements();
}
diff --git a/src/Row.h b/src/Row.h
index 1272a0f..bf49eb1 100644
--- a/src/Row.h
+++ b/src/Row.h
@@ -50,9 +50,7 @@ public:
// An inset
INSET,
// Some spacing described by its width, not a string
- SPACE,
- // Something that should not happen (for error handling)
- INVALID
+ SPACE
};
/**
@@ -61,8 +59,6 @@ public:
*/
struct Element {
//
- Element() = default;
- //
Element(Type const t, pos_type p, Font const & f, Change const & ch)
: type(t), pos(p), endpos(p + 1), font(f), change(ch) {}
@@ -94,13 +90,16 @@ public:
pos_type x2pos(int &x) const;
/** Break the element in two if possible, so that its width is less
* than \param w.
- * \return an element containing the remainder of the text, or
- * an invalid element if nothing happened.
- * \param w: the desired maximum width
- * \param force: if true, the string is cut at any place, otherwise it
- * respects the row breaking rules of characters.
+ * \return a vector of elements containing the remainder of
+ * the text (empty if nothing happened).
+ * \param width maximum width of the row.
+ * \param next_width available width on next row.
+ * \param force: if true, cut string at any place, even for
+ * languages that wrap at word delimiters; if false, do not
+ * break at all if first element would larger than \c width.
*/
- Element splitAt(int w, bool force);
+ // FIXME: ideally last parameter should be Elements&, but it is not possible.
+ bool splitAt(int width, int next_width, bool force, std::vector<Element> & tail);
// remove trailing spaces (useful for end of row)
void rtrim();
@@ -108,8 +107,6 @@ public:
bool isRTL() const { return font.isVisibleRightToLeft(); }
// This is true for virtual elements.
bool isVirtual() const { return type == VIRTUAL; }
- // Invalid element, for error handling
- bool isValid() const { return type !=INVALID; }
// Returns the position on left side of the element.
pos_type left_pos() const { return isRTL() ? endpos : pos; };
@@ -117,11 +114,11 @@ public:
pos_type right_pos() const { return isRTL() ? pos : endpos; };
// The kind of row element
- Type type = INVALID;
+ Type type;
// position of the element in the paragraph
- pos_type pos = 0;
+ pos_type pos;
// first position after the element in the paragraph
- pos_type endpos = 0;
+ pos_type endpos;
// The dimension of the chunk (does not contains the
// separator correction)
Dimension dim;
@@ -289,8 +286,8 @@ public:
* separator and update endpos if necessary. If all that
* remains is a large word, cut it to \param width.
* \param width maximum width of the row.
- * \param available width on next row.
- * \return true if the row has been shortened.
+ * \param next_width available width on next row.
+ * \return list of elements remaining after breaking.
*/
Elements shortenIfNeeded(int const width, int const next_width);
diff --git a/src/RowPainter.cpp b/src/RowPainter.cpp
index 656f89a..400b7b6 100644
--- a/src/RowPainter.cpp
+++ b/src/RowPainter.cpp
@@ -565,10 +565,6 @@ void RowPainter::paintText()
case Row::SPACE:
paintTextDecoration(e);
- break;
-
- case Row::INVALID:
- LYXERR0("Trying to paint INVALID row element.");
}
// The markings of foreign languages
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index d681a63..76e2fb1 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -1059,7 +1059,7 @@ Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl)
}
-void cleanupRow(Row & row, pos_type real_endpos, bool is_rtl)
+void cleanupRow(Row & row, bool at_end, bool is_rtl)
{
if (row.empty()) {
row.endpos(0);
@@ -1067,11 +1067,12 @@ void cleanupRow(Row & row, pos_type real_endpos, bool is_rtl)
}
row.endpos(row.back().endpos);
+ row.flushed(at_end);
// remove trailing spaces on row break
- if (row.endpos() < real_endpos)
+ if (!at_end)
row.back().rtrim();
// boundary exists when there was no space at the end of row
- row.right_boundary(row.endpos() < real_endpos && row.back().endpos == row.endpos());
+ row.right_boundary(!at_end && row.back().endpos == row.endpos());
// make sure that the RTL elements are in reverse ordering
row.reverseRTL(is_rtl);
}
@@ -1098,6 +1099,8 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
RowList rows;
bool const is_rtl = text_->isRTL(bigrow.pit());
bool const end_label = text_->getEndLabel(bigrow.pit()) != END_LABEL_NO_LABEL;
+ int const next_width = max_width_ - leftMargin(bigrow.pit(), bigrow.endpos())
+ - rightMargin(bigrow.pit());
int width = 0;
flexible_const_iterator<Row> fcit = flexible_begin(bigrow);
@@ -1115,7 +1118,7 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
: fcit->row_flags;
if (rows.empty() || needsRowBreak(f1, f2)) {
if (!rows.empty())
- cleanupRow(rows.back(), bigrow.endpos(), is_rtl);
+ cleanupRow(rows.back(), false, is_rtl);
pos_type pos = rows.empty() ? 0 : rows.back().endpos();
rows.push_back(newRow(*this, bigrow.pit(), pos, is_rtl));
// the width available for the row.
@@ -1130,45 +1133,26 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
// Next element to consider is either the top of the temporary
// pile, or the place when we were in main row
Row::Element elt = *fcit;
- Row::Element next_elt = elt.splitAt(width - rows.back().width(),
- !elt.font.language()->wordWrap());
- if (elt.dim.wid > width - rows.back().width()) {
- Row & rb = rows.back();
- rb.push_back(*fcit);
- // if the row is too large, try to cut at last separator. In case
- // of success, reset indication that the row was broken abruptly.
- int const next_width = max_width_ - leftMargin(rb.pit(), rb.endpos())
- - rightMargin(rb.pit());
-
- Row::Elements next_elts = rb.shortenIfNeeded(width, next_width);
-
- // Go to next element
- ++fcit;
-
- // Handle later the elements returned by shortenIfNeeded.
- if (!next_elts.empty()) {
- rb.flushed(false);
- fcit.put(next_elts);
- }
- } else {
- // a new element in the row
- rows.back().push_back(elt);
- rows.back().finalizeLast();
-
- // Go to next element
- ++fcit;
-
- // Add a new next element on the pile
- if (next_elt.isValid()) {
- // do as if we inserted this element in the original row
- if (!next_elt.str.empty())
- fcit.put(next_elt);
- }
+ Row::Elements tail;
+ elt.splitAt(width - rows.back().width(), next_width, false, tail);
+ Row & rb = rows.back();
+ rb.push_back(elt);
+ rb.finalizeLast();
+ if (rb.width() > width) {
+ LATTEST(tail.empty());
+ // if the row is too large, try to cut at last separator.
+ tail = rb.shortenIfNeeded(width, next_width);
}
+
+ // Go to next element
+ ++fcit;
+
+ // Handle later the elements returned by splitAt or shortenIfNeeded.
+ fcit.put(tail);
}
if (!rows.empty()) {
- cleanupRow(rows.back(), bigrow.endpos(), is_rtl);
+ cleanupRow(rows.back(), true, is_rtl);
// Last row in paragraph is flushed
rows.back().flushed(true);
}
diff --git a/src/frontends/FontMetrics.h b/src/frontends/FontMetrics.h
index b562ebf..b78bc2d 100644
--- a/src/frontends/FontMetrics.h
+++ b/src/frontends/FontMetrics.h
@@ -16,6 +16,8 @@
#include "support/strfwd.h"
+#include <vector>
+
/**
* A class holding helper functions for determining
* the screen dimensions of fonts.
@@ -121,15 +123,27 @@ public:
* \param ws is the amount of extra inter-word space applied text justification.
*/
virtual int x2pos(docstring const & s, int & x, bool rtl, double ws) const = 0;
+
+ // The places where to break a string and the width of the resulting lines.
+ struct Break {
+ Break(int l, int w) : len(l), wid(w) {}
+ int len = 0;
+ int wid = 0;
+ };
+ typedef std::vector<Break> Breaks;
/**
- * Break string s at width at most x.
- * \return break position (-1 if not successful)
- * \param position x is updated to real width
- * \param rtl is true for right-to-left layout
+ * Break a string in multiple fragments according to width limits.
+ * \return a sequence of Break elements.
+ * \param s is the string to break.
+ * \param first_wid is the available width for first line.
+ * \param wid is the available width for the next lines.
+ * \param rtl is true for right-to-left layout.
* \param force is false for breaking at word separator, true for
* arbitrary position.
*/
- virtual int breakAt(docstring const & s, int & x, bool rtl, bool force) const = 0;
+ virtual Breaks
+ breakString(docstring const & s, int first_wid, int wid, bool rtl, bool force) const = 0;
+
/// return char dimension for the font.
virtual Dimension const dimension(char_type c) const = 0;
/**
diff --git a/src/frontends/qt/GuiFontMetrics.cpp b/src/frontends/qt/GuiFontMetrics.cpp
index 47537ae..3feb33e 100644
--- a/src/frontends/qt/GuiFontMetrics.cpp
+++ b/src/frontends/qt/GuiFontMetrics.cpp
@@ -19,6 +19,7 @@
#include "support/convert.h"
#include "support/lassert.h"
+#include "support/lstrings.h"
#include "support/lyxlib.h"
#include "support/debug.h"
@@ -86,14 +87,14 @@ namespace frontend {
/*
- * Limit (strwidth|breakat)_cache_ size to 512kB of string data.
+ * Limit (strwidth|breakstr)_cache_ size to 512kB of string data.
* Limit qtextlayout_cache_ size to 500 elements (we do not know the
* size of the QTextLayout objects anyway).
* Note that all these numbers are arbitrary.
* Also, setting size to 0 is tantamount to disabling the cache.
*/
int cache_metrics_width_size = 1 << 19;
-int cache_metrics_breakat_size = 1 << 19;
+int cache_metrics_breakstr_size = 1 << 19;
// Qt 5.x already has its own caching of QTextLayout objects
// but it does not seem to work well on MacOS X.
#if (QT_VERSION < 0x050000) || defined(Q_OS_MAC)
@@ -128,7 +129,7 @@ inline QChar const ucs4_to_qchar(char_type const ucs4)
GuiFontMetrics::GuiFontMetrics(QFont const & font)
: font_(font), metrics_(font, 0),
strwidth_cache_(cache_metrics_width_size),
- breakat_cache_(cache_metrics_breakat_size),
+ breakstr_cache_(cache_metrics_breakstr_size),
qtextlayout_cache_(cache_metrics_qtextlayout_size)
{
// Determine italic slope
@@ -485,11 +486,13 @@ int GuiFontMetrics::countExpanders(docstring const & str) const
}
-pair<int, int>
-GuiFontMetrics::breakAt_helper(docstring const & s, int const x,
- bool const rtl, bool const force) const
+namespace {
+
+const int brkStrOffset = 1 + BIDI_OFFSET;
+
+
+QString createBreakableString(docstring const & s, bool rtl, QTextLayout & tl)
{
- QTextLayout tl;
/* Qt will not break at a leading or trailing space, and we need
* that sometimes, see http://www.lyx.org/trac/ticket/9921.
*
@@ -518,34 +521,23 @@ GuiFontMetrics::breakAt_helper(docstring const & s, int const x,
// Left-to-right override: forces to draw text left-to-right
qs = QChar(0x202D) + qs;
#endif
- int const offset = 1 + BIDI_OFFSET;
+ return qs;
+}
- tl.setText(qs);
- tl.setFont(font_);
- QTextOption to;
- to.setWrapMode(force ? QTextOption::WrapAtWordBoundaryOrAnywhere
- : QTextOption::WordWrap);
- // Let QTextLine::naturalTextWidth() account for trailing spaces
- // (horizontalAdvance() still does not).
- to.setFlags(QTextOption::IncludeTrailingSpaces);
- tl.setTextOption(to);
- tl.beginLayout();
- QTextLine line = tl.createLine();
- line.setLineWidth(x);
- tl.createLine();
- tl.endLayout();
- int line_wid = iround(line.horizontalAdvance());
- if ((force && line.textLength() == offset) || line_wid > x)
- return {-1, line_wid};
+
+docstring::size_type brkstr2str_pos(QString brkstr, docstring const & str, int pos)
+{
/* Since QString is UTF-16 and docstring is UCS-4, the offsets may
* not be the same when there are high-plan unicode characters
* (bug #10443).
*/
- // The variable `offset' is here to account for the extra leading characters.
+ // The variable `brkStrOffset' is here to account for the extra leading characters.
// The ending character zerow_nbsp has to be ignored if the line is complete.
- int const qlen = line.textLength() - offset - (line.textLength() == qs.length());
+ int const qlen = pos - brkStrOffset - (pos == brkstr.length());
#if QT_VERSION < 0x040801 || QT_VERSION >= 0x050100
- int len = qstring_to_ucs4(qs.mid(offset, qlen)).length();
+ auto const len = qstring_to_ucs4(brkstr.mid(brkStrOffset, qlen)).length();
+ // Avoid warning
+ (void)str;
#else
/* Due to QTBUG-25536 in 4.8.1 <= Qt < 5.1.0, the string returned
* by QString::toUcs4 (used by qstring_to_ucs4) may have wrong
@@ -555,52 +547,108 @@ GuiFontMetrics::breakAt_helper(docstring const & s, int const x,
* worthwhile to implement a dichotomy search if this shows up
* under a profiler.
*/
- int len = min(qlen, static_cast<int>(s.length()));
- while (len >= 0 && toqstr(s.substr(0, len)).length() != qlen)
+ int len = min(qlen, static_cast<int>(str.length()));
+ while (len >= 0 && toqstr(str.substr(0, len)).length() != qlen)
--len;
LASSERT(len > 0 || qlen == 0, /**/);
#endif
- // Do not cut is the string is already short enough. We rely on
- // naturalTextWidth() to catch the case where we cut at the trailing
- // space.
- if (len == static_cast<int>(s.length())
- && line.naturalTextWidth() <= x) {
- len = -1;
-#if QT_VERSION < 0x050000
+ return len;
+}
+
+}
+
+FontMetrics::Breaks
+GuiFontMetrics::breakString_helper(docstring const & s, int first_wid, int wid,
+ bool rtl, bool force) const
+{
+ QTextLayout tl;
+ QString qs = createBreakableString(s, rtl, tl);
+ tl.setText(qs);
+ tl.setFont(font_);
+ QTextOption to;
+ /*
+ * Some Asian languages split lines anywhere (no notion of
+ * word). It seems that QTextLayout is not aware of this fact.
+ * See for reference:
+ * https://en.wikipedia.org/wiki/Line_breaking_rules_in_East_Asian_languages
+ *
+ * FIXME: Something shall be done about characters which are
+ * not allowed at the beginning or end of line.
+ */
+ to.setWrapMode(force ? QTextOption::WrapAtWordBoundaryOrAnywhere
+ : QTextOption::WordWrap);
+ // Let QTextLine::naturalTextWidth() account for trailing spaces
+ // (horizontalAdvance() still does not).
+ to.setFlags(QTextOption::IncludeTrailingSpaces);
+ tl.setTextOption(to);
+
+ bool first = true;
+ tl.beginLayout();
+ while(true) {
+ QTextLine line = tl.createLine();
+ if (!line.isValid())
+ break;
+ line.setLineWidth(first ? first_wid : wid);
+ tl.createLine();
+ first = false;
+ }
+ tl.endLayout();
+
+ Breaks breaks;
+ int pos = 0;
+ for (int i = 0 ; i < tl.lineCount() ; ++i) {
+ QTextLine const & line = tl.lineAt(i);
+ int const epos = brkstr2str_pos(qs, s, line.textStart() + line.textLength());
+#if QT_VERSION >= 0x050000
+ int const wid = i + 1 < tl.lineCount() ? iround(line.horizontalAdvance())
+ : iround(line.naturalTextWidth());
+#else
// With some monospace fonts, the value of horizontalAdvance()
// can be wrong with Qt4. One hypothesis is that the invisible
// characters that we use are given a non-null width.
- line_wid = width(s);
+ // FIXME: this is slower than it could be but we'll get rid of Qt4 anyway
+ int const wid = i + 1 < tl.lineCount() ? width(rtrim(s.substr(pos, epos - pos)))
+ : width(s.substr(pos, epos - pos));
+#endif
+ breaks.emplace_back(epos - pos, wid);
+ pos = epos;
+#if 0
+ // FIXME: should it be kept in some form?
+ if ((force && line.textLength() == brkStrOffset) || line_wid > x)
+ return {-1, line_wid};
#endif
+
}
- return {len, line_wid};
+
+ return breaks;
}
-uint qHash(BreakAtKey const & key)
+uint qHash(BreakStringKey const & key)
{
- int params = key.force + 2 * key.rtl + 4 * key.x;
+ // assume widths are less than 10000. This fits in 32 bits.
+ uint params = key.force + 2 * key.rtl + 4 * key.first_wid + 10000 * key.wid;
return std::qHash(key.s) ^ ::qHash(params);
}
-int GuiFontMetrics::breakAt(docstring const & s, int & x, bool const rtl, bool const force) const
+FontMetrics::Breaks GuiFontMetrics::breakString(docstring const & s, int first_wid, int wid,
+ bool rtl, bool force) const
{
- PROFILE_THIS_BLOCK(breakAt);
+ PROFILE_THIS_BLOCK(breakString);
if (s.empty())
- return false;
+ return Breaks();
- BreakAtKey key{s, x, rtl, force};
- pair<int, int> pp;
- if (auto * pp_ptr = breakat_cache_.object_ptr(key))
- pp = *pp_ptr;
+ BreakStringKey key{s, first_wid, wid, rtl, force};
+ Breaks brks;
+ if (auto * brks_ptr = breakstr_cache_.object_ptr(key))
+ brks = *brks_ptr;
else {
- PROFILE_CACHE_MISS(breakAt);
- pp = breakAt_helper(s, x, rtl, force);
- breakat_cache_.insert(key, pp, sizeof(key) + s.size() * sizeof(char_type));
+ PROFILE_CACHE_MISS(breakString);
+ brks = breakString_helper(s, first_wid, wid, rtl, force);
+ breakstr_cache_.insert(key, brks, sizeof(key) + s.size() * sizeof(char_type));
}
- x = pp.second;
- return pp.first;
+ return brks;
}
diff --git a/src/frontends/qt/GuiFontMetrics.h b/src/frontends/qt/GuiFontMetrics.h
index ef8588a..9501eb8 100644
--- a/src/frontends/qt/GuiFontMetrics.h
+++ b/src/frontends/qt/GuiFontMetrics.h
@@ -27,14 +27,16 @@
namespace lyx {
namespace frontend {
-struct BreakAtKey
+struct BreakStringKey
{
- bool operator==(BreakAtKey const & key) const {
- return key.s == s && key.x == x && key.rtl == rtl && key.force == force;
+ bool operator==(BreakStringKey const & key) const {
+ return key.s == s && key.first_wid == first_wid && key.wid == wid
+ && key.rtl == rtl && key.force == force;
}
docstring s;
- int x;
+ int first_wid;
+ int wid;
bool rtl;
bool force;
};
@@ -77,7 +79,7 @@ public:
int signedWidth(docstring const & s) const override;
int pos2x(docstring const & s, int pos, bool rtl, double ws) const override;
int x2pos(docstring const & s, int & x, bool rtl, double ws) const override;
- int breakAt(docstring const & s, int & x, bool rtl, bool force) const override;
+ Breaks breakString(docstring const & s, int first_wid, int wid, bool rtl, bool force) const override;
Dimension const dimension(char_type c) const override;
void rectText(docstring const & str,
@@ -101,8 +103,8 @@ public:
private:
- std::pair<int, int> breakAt_helper(docstring const & s, int const x,
- bool const rtl, bool const force) const;
+ Breaks breakString_helper(docstring const & s, int first_wid, int wid,
+ bool rtl, bool force) const;
/// The font
QFont font_;
@@ -117,8 +119,8 @@ private:
mutable QHash<char_type, int> width_cache_;
/// Cache of string widths
mutable Cache<docstring, int> strwidth_cache_;
- /// Cache for breakAt
- mutable Cache<BreakAtKey, std::pair<int, int>> breakat_cache_;
+ /// Cache for breakString
+ mutable Cache<BreakStringKey, Breaks> breakstr_cache_;
/// Cache for QTextLayout
mutable Cache<TextLayoutKey, std::shared_ptr<QTextLayout>> qtextlayout_cache_;
commit 71c2e2fda6f241a63c1a67569db5f7fbae6fe4a9
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Mon Sep 20 17:32:18 2021 +0200
Add operator<< for Row::Elements
This is useful for debugging.
diff --git a/src/Row.cpp b/src/Row.cpp
index 8233a96..b7e4c07 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -275,6 +275,17 @@ ostream & operator<<(ostream & os, Row::Element const & e)
}
+ostream & operator<<(ostream & os, Row::Elements const & elts)
+{
+ double x = 0;
+ for (Row::Element const & e : elts) {
+ os << "x=" << x << " => " << e << endl;
+ x += e.full_width();
+ }
+ return os;
+}
+
+
ostream & operator<<(ostream & os, Row const & row)
{
os << " pos: " << row.pos_ << " end: " << row.end_
@@ -286,11 +297,11 @@ ostream & operator<<(ostream & os, Row const & row)
<< " separator: " << row.separator
<< " label_hfill: " << row.label_hfill
<< " row_boundary: " << row.right_boundary() << "\n";
+ // We cannot use the operator above, unfortunately
double x = row.left_margin;
- Row::Elements::const_iterator it = row.elements_.begin();
- for ( ; it != row.elements_.end() ; ++it) {
- os << "x=" << x << " => " << *it << endl;
- x += it->full_width();
+ for (Row::Element const & e : row.elements_) {
+ os << "x=" << x << " => " << e << endl;
+ x += e.full_width();
}
return os;
}
diff --git a/src/Row.h b/src/Row.h
index 7466797..1272a0f 100644
--- a/src/Row.h
+++ b/src/Row.h
@@ -378,6 +378,8 @@ private:
bool changebar_ = false;
};
+std::ostream & operator<<(std::ostream & os, Row::Elements const & elts);
+
/**
* Each paragraph is broken up into a number of rows on the screen.
commit 4b69f5efa7825c3aa5464686f4ecaea212f73422
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Thu Sep 2 15:16:28 2021 +0200
Fix setting of row pos/endpos (overlapping rows)
In TextMetrics::breakParagraph, get rid of the fragile `pos' local
variable, which was not correctly updated. Rely on the endpos of the
last element in row instead.
Rewrite cleanupRow to rely on the endpos of last the row element to
set row endpos, instead of a `pos' parameter.
diff --git a/src/Row.cpp b/src/Row.cpp
index 7b74694..8233a96 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -463,8 +463,8 @@ void Row::pop_back()
namespace {
-// Remove stuff after it from elts, and return it.
-// if init is provided, it will be in front of the rest
+// Remove stuff after \c it from \c elts, and return it.
+// if \c init is provided, it will prepended to the rest
Row::Elements splitFrom(Row::Elements & elts, Row::Elements::iterator const & it,
Row::Element const & init = Row::Element())
{
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index 8812daf..d681a63 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -1059,15 +1059,19 @@ Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl)
}
-void cleanupRow(Row & row, pos_type pos, pos_type real_endpos, bool is_rtl)
+void cleanupRow(Row & row, pos_type real_endpos, bool is_rtl)
{
- row.endpos(pos);
+ if (row.empty()) {
+ row.endpos(0);
+ return;
+ }
+
+ row.endpos(row.back().endpos);
// remove trailing spaces on row break
- if (pos < real_endpos && !row.empty())
+ if (row.endpos() < real_endpos)
row.back().rtrim();
// boundary exists when there was no space at the end of row
- row.right_boundary(!row.empty() && pos < real_endpos
- && row.back().endpos == pos);
+ row.right_boundary(row.endpos() < real_endpos && row.back().endpos == row.endpos());
// make sure that the RTL elements are in reverse ordering
row.reverseRTL(is_rtl);
}
@@ -1095,7 +1099,6 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
bool const is_rtl = text_->isRTL(bigrow.pit());
bool const end_label = text_->getEndLabel(bigrow.pit()) != END_LABEL_NO_LABEL;
- pos_type pos = 0;
int width = 0;
flexible_const_iterator<Row> fcit = flexible_begin(bigrow);
flexible_const_iterator<Row> const end = flexible_end(bigrow);
@@ -1112,7 +1115,8 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
: fcit->row_flags;
if (rows.empty() || needsRowBreak(f1, f2)) {
if (!rows.empty())
- cleanupRow(rows.back(), pos, bigrow.endpos(), is_rtl);
+ cleanupRow(rows.back(), bigrow.endpos(), is_rtl);
+ pos_type pos = rows.empty() ? 0 : rows.back().endpos();
rows.push_back(newRow(*this, bigrow.pit(), pos, is_rtl));
// the width available for the row.
width = max_width_ - rows.back().right_margin;
@@ -1150,7 +1154,6 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
// a new element in the row
rows.back().push_back(elt);
rows.back().finalizeLast();
- pos = elt.endpos;
// Go to next element
++fcit;
@@ -1165,7 +1168,7 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
}
if (!rows.empty()) {
- cleanupRow(rows.back(), pos, bigrow.endpos(), is_rtl);
+ cleanupRow(rows.back(), bigrow.endpos(), is_rtl);
// Last row in paragraph is flushed
rows.back().flushed(true);
}
commit 41206351852757e82eeb98b0a22b586f8dbdd544
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Wed Sep 1 16:54:28 2021 +0200
Get rid of need_new_row boolean in breakParagraph
Instead of having breakParagraph decide when breaking a row is
necessary, let Row::shortenIfNeeded set the row_flag of the last
element to request a row break. This was already done in splitAt.
This is in preparation of splitAt splitting in more than two elements.
diff --git a/src/Row.cpp b/src/Row.cpp
index d3529a3..7b74694 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -473,6 +473,8 @@ Row::Elements splitFrom(Row::Elements & elts, Row::Elements::iterator const & it
ret.push_back(init);
ret.insert(ret.end(), it, elts.end());
elts.erase(it, elts.end());
+ if (!elts.empty())
+ elts.back().row_flags = (elts.back().row_flags & ~AfterFlags) | BreakAfter;
return ret;
}
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index a7dd300..8812daf 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -1042,6 +1042,7 @@ bool operator==(flexible_const_iterator<T> const & t1,
return t1.cit_ == t2.cit_ && t1.pile_.empty() && t2.pile_.empty();
}
+
Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl)
{
Row nrow;
@@ -1071,6 +1072,7 @@ void cleanupRow(Row & row, pos_type pos, pos_type real_endpos, bool is_rtl)
row.reverseRTL(is_rtl);
}
+
// Implement the priorities described in RowFlags.h.
bool needsRowBreak(int f1, int f2)
{
@@ -1093,14 +1095,12 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
bool const is_rtl = text_->isRTL(bigrow.pit());
bool const end_label = text_->getEndLabel(bigrow.pit()) != END_LABEL_NO_LABEL;
- bool need_new_row = true;
pos_type pos = 0;
int width = 0;
flexible_const_iterator<Row> fcit = flexible_begin(bigrow);
flexible_const_iterator<Row> const end = flexible_end(bigrow);
while (true) {
- bool const has_row = !rows.empty();
- bool const row_empty = !has_row || rows.back().empty();
+ bool const row_empty = rows.empty() || rows.back().empty();
// The row flags of previous element, if there is one.
// Otherwise we use NoBreakAfter to avoid an empty row before
// e.g. a displayed equation.
@@ -1110,14 +1110,12 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
// paragraph has an end label (for which an empty row is OK).
int const f2 = (fcit == end) ? (end_label ? Inline : NoBreakBefore)
: fcit->row_flags;
- need_new_row |= needsRowBreak(f1, f2);
- if (need_new_row) {
+ if (rows.empty() || needsRowBreak(f1, f2)) {
if (!rows.empty())
cleanupRow(rows.back(), pos, bigrow.endpos(), is_rtl);
rows.push_back(newRow(*this, bigrow.pit(), pos, is_rtl));
// the width available for the row.
width = max_width_ - rows.back().right_margin;
- need_new_row = false;
}
// The stopping condition is here because we may need a new
@@ -1147,7 +1145,6 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
if (!next_elts.empty()) {
rb.flushed(false);
fcit.put(next_elts);
- need_new_row = true;
}
} else {
// a new element in the row
@@ -1163,7 +1160,6 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
// do as if we inserted this element in the original row
if (!next_elt.str.empty())
fcit.put(next_elt);
- need_new_row = true;
}
}
}
commit ef6dfe18c2149c6b96a806badde9548d7fd9f912
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Tue Aug 31 19:23:55 2021 +0200
Centralize the code that removes trailing spaces from end row element.
Move to Row::Element::rtrim the code in Row::shortenIfNeeded that
removes trailing spaces from last element in row, so that it can be
called when actually breaking a row.
Fixes bug found by Kornel.
diff --git a/src/Row.cpp b/src/Row.cpp
index 38dbb85..d3529a3 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -35,7 +35,6 @@ using namespace std;
namespace lyx {
-using support::rtrim;
using frontend::FontMetrics;
@@ -162,6 +161,20 @@ Row::Element Row::Element::splitAt(int w, bool force)
}
+void Row::Element::rtrim()
+{
+ if (type != STRING)
+ return;
+ /* This is intended for strings that have been created by splitAt.
+ * They may have trailing spaces, but they are not counted in the
+ * string length (QTextLayout feature, actually). We remove them,
+ * and decrease endpos, since spaces at row break are invisible.
+ */
+ str = support::rtrim(str);
+ endpos = pos + str.length();
+}
+
+
bool Row::isMarginSelected(bool left, DocIterator const & beg,
DocIterator const & end) const
{
@@ -539,14 +552,6 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width)
break;
}
end_ = brk.endpos;
- /* after breakAt, there may be spaces at the end of the
- * string, but they are not counted in the string length
- * (QTextLayout feature, actually). We remove them, but do
- * not change the end of the row, since spaces at row
- * break are invisible.
- */
- brk.str = rtrim(brk.str);
- brk.endpos = brk.pos + brk.str.length();
*cit_brk = brk;
dim_.wid = wid_brk + brk.dim.wid;
// If there are other elements, they should be removed.
@@ -578,11 +583,8 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width)
* boundary this time.
*/
Element remainder = cit->splitAt(w - wid, true);
- if (remainder.isValid()) {
+ if (cit->row_flags & BreakAfter) {
end_ = cit->endpos;
- // See comment above.
- cit->str = rtrim(cit->str);
- cit->endpos = cit->pos + cit->str.length();
dim_.wid = wid + cit->dim.wid;
// If there are other elements, they should be removed.
return splitFrom(elements_, next(cit, 1), remainder);
diff --git a/src/Row.h b/src/Row.h
index b0b1755..7466797 100644
--- a/src/Row.h
+++ b/src/Row.h
@@ -101,6 +101,8 @@ public:
* respects the row breaking rules of characters.
*/
Element splitAt(int w, bool force);
+ // remove trailing spaces (useful for end of row)
+ void rtrim();
//
bool isRTL() const { return font.isVisibleRightToLeft(); }
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index 37894f6..a7dd300 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -1061,6 +1061,10 @@ Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl)
void cleanupRow(Row & row, pos_type pos, pos_type real_endpos, bool is_rtl)
{
row.endpos(pos);
+ // remove trailing spaces on row break
+ if (pos < real_endpos && !row.empty())
+ row.back().rtrim();
+ // boundary exists when there was no space at the end of row
row.right_boundary(!row.empty() && pos < real_endpos
&& row.back().endpos == pos);
// make sure that the RTL elements are in reverse ordering
commit 6e6976fbc5a61928c51c5193de985e26d94454bd
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Tue Aug 31 15:58:56 2021 +0200
Handle the case where breakAt cuts after trailing space
In this case, the extra element returned should empty but valid. The
row flag BreakAfter is set to indicate that we have a break there
(this principle will be used more generally in a forthcoming commit).
To detect that we cut at the trailing space, it is necessary to rely
on the difference between QTextLine::horizontalAdvance() and
QTextLine::naturalTextWidth() when the flag
QTextOption::IncludeTrailingSpaces is used: the trailing space is
taken into account in the later, but not in the former.
Somme comments have been added to make code intent clearer.
diff --git a/src/Row.cpp b/src/Row.cpp
index 6e975a5..38dbb85 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -142,13 +142,19 @@ Row::Element Row::Element::splitAt(int w, bool force)
dim.wid = w;
int const i = fm.breakAt(str, dim.wid, isRTL(), force);
if (i != -1) {
+ //Create a second row element to return
Element ret(STRING, pos + i, font, change);
ret.str = str.substr(i);
ret.endpos = ret.pos + ret.str.length();
+ // Copy the after flags of the original element to the second one.
ret.row_flags = row_flags & (CanBreakInside | AfterFlags);
+
+ // Now update ourselves
str.erase(i);
endpos = pos + i;
- //lyxerr << "breakAt(" << w << ") Row element Broken at " << x << "(w(str)=" << fm.width(str) << "): e=" << *this << endl;
+ // Row should be broken after the original element
+ row_flags = (row_flags & ~AfterFlags) | BreakAfter;
+ //LYXERR0("breakAt(" << w << ") Row element Broken at " << w << "(w(str)=" << fm.width(str) << "): e=" << *this);
return ret;
}
@@ -251,7 +257,7 @@ ostream & operator<<(ostream & os, Row::Element const & e)
os << "INVALID: ";
break;
}
- os << "width=" << e.full_width();
+ os << "width=" << e.full_width() << ", row_flags=" << e.row_flags;
return os;
}
@@ -522,7 +528,7 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width)
* break-up.
*/
Element remainder = brk.splitAt(min(w - wid_brk, brk.dim.wid - 2), !word_wrap);
- if (remainder.isValid()) {
+ if (brk.row_flags & BreakAfter) {
/* if this element originally did not cause a row overflow
* in itself, and the remainder of the row would still be
* too large after breaking, then we will have issues in
@@ -544,7 +550,11 @@ Row::Elements Row::shortenIfNeeded(int const w, int const next_width)
*cit_brk = brk;
dim_.wid = wid_brk + brk.dim.wid;
// If there are other elements, they should be removed.
- return splitFrom(elements_, next(cit_brk, 1), remainder);
+ // remainder can be empty when splitting at trailing space
+ if (remainder.str.empty())
+ return splitFrom(elements_, next(cit_brk, 1));
+ else
+ return splitFrom(elements_, next(cit_brk, 1), remainder);
}
}
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index c7e84f6..37894f6 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -1157,7 +1157,8 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
// Add a new next element on the pile
if (next_elt.isValid()) {
// do as if we inserted this element in the original row
- fcit.put(next_elt);
+ if (!next_elt.str.empty())
+ fcit.put(next_elt);
need_new_row = true;
}
}
diff --git a/src/frontends/qt/GuiFontMetrics.cpp b/src/frontends/qt/GuiFontMetrics.cpp
index 56ed676..47537ae 100644
--- a/src/frontends/qt/GuiFontMetrics.cpp
+++ b/src/frontends/qt/GuiFontMetrics.cpp
@@ -525,6 +525,9 @@ GuiFontMetrics::breakAt_helper(docstring const & s, int const x,
QTextOption to;
to.setWrapMode(force ? QTextOption::WrapAtWordBoundaryOrAnywhere
: QTextOption::WordWrap);
+ // Let QTextLine::naturalTextWidth() account for trailing spaces
+ // (horizontalAdvance() still does not).
+ to.setFlags(QTextOption::IncludeTrailingSpaces);
tl.setTextOption(to);
tl.beginLayout();
QTextLine line = tl.createLine();
@@ -557,8 +560,11 @@ GuiFontMetrics::breakAt_helper(docstring const & s, int const x,
--len;
LASSERT(len > 0 || qlen == 0, /**/);
#endif
- // Do not cut is the string is already short enough
- if (len == static_cast<int>(s.length())) {
+ // Do not cut is the string is already short enough. We rely on
+ // naturalTextWidth() to catch the case where we cut at the trailing
+ // space.
+ if (len == static_cast<int>(s.length())
+ && line.naturalTextWidth() <= x) {
len = -1;
#if QT_VERSION < 0x050000
// With some monospace fonts, the value of horizontalAdvance()
commit 6bc50fea3a071ea3560fdacf4f2bb2d20e68e9e2
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Mon Aug 30 15:48:44 2021 +0200
Workaround for Qt 4
At least with Qt 4.8.7 on Ubuntu 16.04, QTextLine::lineWidth() can
return a bogus value, at least with Courier font. One hypothesis is
that the invisible characters that we use in breakAt_helper are given
a non-null width.
Work around it, although the exact bug has not been pinpointed.
diff --git a/src/frontends/qt/GuiFontMetrics.cpp b/src/frontends/qt/GuiFontMetrics.cpp
index 25bf7a4..56ed676 100644
--- a/src/frontends/qt/GuiFontMetrics.cpp
+++ b/src/frontends/qt/GuiFontMetrics.cpp
@@ -531,7 +531,7 @@ GuiFontMetrics::breakAt_helper(docstring const & s, int const x,
line.setLineWidth(x);
tl.createLine();
tl.endLayout();
- int const line_wid = iround(line.horizontalAdvance());
+ int line_wid = iround(line.horizontalAdvance());
if ((force && line.textLength() == offset) || line_wid > x)
return {-1, line_wid};
/* Since QString is UTF-16 and docstring is UCS-4, the offsets may
@@ -557,9 +557,16 @@ GuiFontMetrics::breakAt_helper(docstring const & s, int const x,
--len;
LASSERT(len > 0 || qlen == 0, /**/);
#endif
- // si la chaîne est déjà trop courte, on ne coupe pas
- if (len == static_cast<int>(s.length()))
+ // Do not cut is the string is already short enough
+ if (len == static_cast<int>(s.length())) {
len = -1;
+#if QT_VERSION < 0x050000
+ // With some monospace fonts, the value of horizontalAdvance()
+ // can be wrong with Qt4. One hypothesis is that the invisible
+ // characters that we use are given a non-null width.
+ line_wid = width(s);
+#endif
+ }
return {len, line_wid};
}
commit d694701315c297d13bde6ff80897aa016767f1ea
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Tue Jul 20 00:07:13 2021 +0200
Last step of transition: use sortenIfNeeded again.
Change semantics of Row::shortenIfNeeded: instead of breaking the row
and returning a boolean, it returns the list of row elements that have
been removed (or broken) from the row. The logic of the method remains
the same.
Use shortenIfNeeded in breakParagraph. This was the last missing block.
Remove Row::breakAt and the old breakRow. Only bugs remain now :)
diff --git a/src/Row.cpp b/src/Row.cpp
index 3bc8ef0..6e975a5 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -156,12 +156,6 @@ Row::Element Row::Element::splitAt(int w, bool force)
}
-bool Row::Element::breakAt(int w, bool force)
-{
- return splitAt(w, force).isValid();
-}
-
-
bool Row::isMarginSelected(bool left, DocIterator const & beg,
DocIterator const & end) const
{
@@ -448,10 +442,31 @@ void Row::pop_back()
}
-bool Row::shortenIfNeeded(int const w, int const next_width)
+namespace {
+
+// Remove stuff after it from elts, and return it.
+// if init is provided, it will be in front of the rest
+Row::Elements splitFrom(Row::Elements & elts, Row::Elements::iterator const & it,
+ Row::Element const & init = Row::Element())
+{
+ Row::Elements ret;
+ if (init.isValid())
+ ret.push_back(init);
+ ret.insert(ret.end(), it, elts.end());
+ elts.erase(it, elts.end());
+ return ret;
+}
+
+}
+
+
+Row::Elements Row::shortenIfNeeded(int const w, int const next_width)
{
+ // FIXME: performance: if the last element is a string, we would
+ // like to avoid computing its length.
+ finalizeLast();
if (empty() || width() <= w)
- return false;
+ return Elements();
Elements::iterator const beg = elements_.begin();
Elements::iterator const end = elements_.end();
@@ -467,8 +482,8 @@ bool Row::shortenIfNeeded(int const w, int const next_width)
if (cit == end) {
// This should not happen since the row is too long.
- LYXERR0("Something is wrong cannot shorten row: " << *this);
- return false;
+ LYXERR0("Something is wrong, cannot shorten row: " << *this);
+ return Elements();
}
// Iterate backwards over breakable elements and try to break them
@@ -486,8 +501,7 @@ bool Row::shortenIfNeeded(int const w, int const next_width)
if (wid_brk <= w && brk.row_flags & CanBreakAfter) {
end_ = brk.endpos;
dim_.wid = wid_brk;
- elements_.erase(cit_brk + 1, end);
- return true;
+ return splitFrom(elements_, cit_brk + 1);
}
// assume now that the current element is not there
wid_brk -= brk.dim.wid;
@@ -507,7 +521,8 @@ bool Row::shortenIfNeeded(int const w, int const next_width)
* - shorter than the natural width of the element, in order to enforce
* break-up.
*/
- if (brk.breakAt(min(w - wid_brk, brk.dim.wid - 2), !word_wrap)) {
+ Element remainder = brk.splitAt(min(w - wid_brk, brk.dim.wid - 2), !word_wrap);
+ if (remainder.isValid()) {
/* if this element originally did not cause a row overflow
* in itself, and the remainder of the row would still be
* too large after breaking, then we will have issues in
@@ -529,14 +544,13 @@ bool Row::shortenIfNeeded(int const w, int const next_width)
*cit_brk = brk;
dim_.wid = wid_brk + brk.dim.wid;
// If there are other elements, they should be removed.
- elements_.erase(cit_brk + 1, end);
- return true;
+ return splitFrom(elements_, next(cit_brk, 1), remainder);
}
}
- if (cit != beg && cit->type == VIRTUAL) {
- // It is not possible to separate a virtual element from the
- // previous one.
+ if (cit != beg && cit->row_flags & NoBreakBefore) {
+ // It is not possible to separate this element from the
+ // previous one. (e.g. VIRTUAL)
--cit;
wid -= cit->dim.wid;
}
@@ -546,25 +560,24 @@ bool Row::shortenIfNeeded(int const w, int const next_width)
// been added. We can cut right here.
end_ = cit->pos;
dim_.wid = wid;
- elements_.erase(cit, end);
- return true;
+ return splitFrom(elements_, cit);
}
/* If we are here, it means that we have not found a separator to
* shorten the row. Let's try to break it again, but not at word
* boundary this time.
*/
- if (cit->breakAt(w - wid, true)) {
+ Element remainder = cit->splitAt(w - wid, true);
+ if (remainder.isValid()) {
end_ = cit->endpos;
// See comment above.
cit->str = rtrim(cit->str);
cit->endpos = cit->pos + cit->str.length();
dim_.wid = wid + cit->dim.wid;
// If there are other elements, they should be removed.
- elements_.erase(next(cit, 1), end);
- return true;
+ return splitFrom(elements_, next(cit, 1), remainder);
}
- return false;
+ return Elements();
}
diff --git a/src/Row.h b/src/Row.h
index 72d7a86..b0b1755 100644
--- a/src/Row.h
+++ b/src/Row.h
@@ -101,12 +101,6 @@ public:
* respects the row breaking rules of characters.
*/
Element splitAt(int w, bool force);
- /** Break the element if possible, so that its width is less
- * than \param w. Returns true on success. When \param force
- * is true, the string is cut at any place, otherwise it
- * respects the row breaking rules of characters.
- */
- bool breakAt(int w, bool force);
//
bool isRTL() const { return font.isVisibleRightToLeft(); }
@@ -296,7 +290,7 @@ public:
* \param available width on next row.
* \return true if the row has been shortened.
*/
- bool shortenIfNeeded(int const width, int const next_width);
+ Elements shortenIfNeeded(int const width, int const next_width);
/**
* If last element of the row is a string, compute its width
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index 1a6927a..c7e84f6 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -491,7 +491,7 @@ bool TextMetrics::redoParagraph(pit_type const pit, bool const align_rows)
// If there is an end of paragraph marker, its size should be
// substracted to the available width. The logic here is
- // almost the same as in breakRow, remember keep them in sync.
+ // almost the same as in tokenizeParagraph, remember keep them in sync.
int eop = 0;
if (e.pos + 1 == par.size()
&& (lyxrc.paragraph_markers || par.lookupChange(par.size()).changed())
@@ -1006,6 +1006,11 @@ public:
void put(value_type const & e) { pile_.push_back(e); }
+ // Put a sequence of elements on the pile (in reverse order!)
+ void put(vector<value_type> const & elts) {
+ pile_.insert(pile_.end(), elts.rbegin(), elts.rend());
+ }
+
// This should be private, but declaring the friend functions is too much work
//private:
typename T::const_iterator cit_;
@@ -1121,19 +1126,40 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
Row::Element elt = *fcit;
Row::Element next_elt = elt.splitAt(width - rows.back().width(),
!elt.font.language()->wordWrap());
- // a new element in the row
- rows.back().push_back(elt);
- rows.back().finalizeLast();
- pos = elt.endpos;
-
- // Go to next element
- ++fcit;
-
- // Add a new next element on the pile
- if (next_elt.isValid()) {
- // do as if we inserted this element in the original row
- fcit.put(next_elt);
- need_new_row = true;
+ if (elt.dim.wid > width - rows.back().width()) {
+ Row & rb = rows.back();
+ rb.push_back(*fcit);
+ // if the row is too large, try to cut at last separator. In case
+ // of success, reset indication that the row was broken abruptly.
+ int const next_width = max_width_ - leftMargin(rb.pit(), rb.endpos())
+ - rightMargin(rb.pit());
+
+ Row::Elements next_elts = rb.shortenIfNeeded(width, next_width);
+
+ // Go to next element
+ ++fcit;
+
+ // Handle later the elements returned by shortenIfNeeded.
+ if (!next_elts.empty()) {
+ rb.flushed(false);
+ fcit.put(next_elts);
+ need_new_row = true;
+ }
+ } else {
+ // a new element in the row
+ rows.back().push_back(elt);
+ rows.back().finalizeLast();
+ pos = elt.endpos;
+
+ // Go to next element
+ ++fcit;
+
+ // Add a new next element on the pile
+ if (next_elt.isValid()) {
+ // do as if we inserted this element in the original row
+ fcit.put(next_elt);
+ need_new_row = true;
+ }
}
}
@@ -1146,185 +1172,6 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
return rows;
}
-/** This is the function where the hard work is done. The code here is
- * very sensitive to small changes :) Note that part of the
- * intelligence is also in Row::shortenIfNeeded.
- */
-bool TextMetrics::breakRow(Row & row, int const right_margin) const
-{
- LATTEST(row.empty());//
- Paragraph const & par = text_->getPar(row.pit());//
- Buffer const & buf = text_->inset().buffer();//
- BookmarksSection::BookmarkPosList bpl =//
- theSession().bookmarks().bookmarksInPar(buf.fileName(), par.id());//
-
- pos_type const end = par.size();//
- pos_type const pos = row.pos();//
- pos_type const body_pos = par.beginOfBody();//
- bool const is_rtl = text_->isRTL(row.pit());//
- bool need_new_row = false;//
-
- row.left_margin = leftMargin(row.pit(), pos);//
- row.right_margin = right_margin;//
- if (is_rtl)//
- swap(row.left_margin, row.right_margin);//
- // Remember that the row width takes into account the left_margin
- // but not the right_margin.
- row.dim().wid = row.left_margin;//
- // the width available for the row.
- int const width = max_width_ - row.right_margin;//
-
- // check for possible inline completion
- DocIterator const & ic_it = bv_->inlineCompletionPos();//
- pos_type ic_pos = -1;//
- if (ic_it.inTexted() && ic_it.text() == text_ && ic_it.pit() == row.pit())//
- ic_pos = ic_it.pos();//
-
- // Now we iterate through until we reach the right margin
- // or the end of the par, then build a representation of the row.
- pos_type i = pos;//---------------------------------------------------vvv
- FontIterator fi = FontIterator(*this, par, row.pit(), pos);
- // The real stopping condition is a few lines below.
- while (true) {
- // Firstly, check whether there is a bookmark here.
- if (lyxrc.bookmarks_visibility == LyXRC::BMK_INLINE)
- for (auto const & bp_p : bpl)
- if (bp_p.second == i) {
- Font f = *fi;
- f.fontInfo().setColor(Color_bookmark);
- // â¶ U+2776 DINGBAT NEGATIVE CIRCLED DIGIT ONE
- char_type const ch = 0x2775 + bp_p.first;
- row.addVirtual(i, docstring(1, ch), f, Change());
- }
-
- // The stopping condition is here so that the display of a
- // bookmark can take place at paragraph start too.
- if (i >= end || (i != pos && row.width() > width))//^width
- break;
-
- char_type c = par.getChar(i);
- // The most special cases are handled first.
- if (par.isInset(i)) {
- Inset const * ins = par.getInset(i);
- Dimension dim = bv_->coordCache().insets().dim(ins);
- row.add(i, ins, dim, *fi, par.lookupChange(i));
- } else if (c == ' ' && i + 1 == body_pos) {
- // There is a space at i, but it should not be
- // added as a separator, because it is just
- // before body_pos. Instead, insert some spacing to
- // align text
- FontMetrics const & fm = theFontMetrics(text_->labelFont(par));
- // this is needed to make sure that the row width is correct
- row.finalizeLast();
- int const add = max(fm.width(par.layout().labelsep),
- labelEnd(row.pit()) - row.width());
- row.addSpace(i, add, *fi, par.lookupChange(i));
- } else if (c == '\t')
- row.addSpace(i, theFontMetrics(*fi).width(from_ascii(" ")),
- *fi, par.lookupChange(i));
- else if (c == 0x2028 || c == 0x2029) {
- /**
- * U+2028 LINE SEPARATOR
- * U+2029 PARAGRAPH SEPARATOR
-
- * These are special unicode characters that break
- * lines/pragraphs. Not handling them lead to trouble wrt
- * Qt QTextLayout formatting. We add a visible character
- * on screen so that the user can see that something is
- * happening.
- */
- row.finalizeLast();
- // ⤶ U+2936 ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
- // ¶ U+00B6 PILCROW SIGN
- char_type const screen_char = (c == 0x2028) ? 0x2936 : 0x00B6;
- row.add(i, screen_char, *fi, par.lookupChange(i), i >= body_pos);
- } else
- row.add(i, c, *fi, par.lookupChange(i), i >= body_pos);
-
- // add inline completion width
- // draw logically behind the previous character
- if (ic_pos == i + 1 && !bv_->inlineCompletion().empty()) {
- docstring const comp = bv_->inlineCompletion();
- size_t const uniqueTo =bv_->inlineCompletionUniqueChars();
- Font f = *fi;
-
- if (uniqueTo > 0) {
- f.fontInfo().setColor(Color_inlinecompletion);
- row.addVirtual(i + 1, comp.substr(0, uniqueTo), f, Change());
- }
- f.fontInfo().setColor(Color_nonunique_inlinecompletion);
- row.addVirtual(i + 1, comp.substr(uniqueTo), f, Change());
- }
-
- // Handle some situations that abruptly terminate the row
- // - Before an inset with BreakBefore
- // - After an inset with BreakAfter
- Inset const * prevInset = !row.empty() ? row.back().inset : 0;
- Inset const * nextInset = (i + 1 < end) ? par.getInset(i + 1) : 0;
- if ((nextInset && nextInset->rowFlags() & BreakBefore)
- || (prevInset && prevInset->rowFlags() & BreakAfter)) {
- row.flushed(true);
- // Force a row creation after this one if it is ended by
- // an inset that either
- // - has row flag RowAfter that enforces that;
- // - or (1) did force the row breaking, (2) is at end of
- // paragraph and (3) the said paragraph has an end label.
- need_new_row = prevInset &&
- (prevInset->rowFlags() & AlwaysBreakAfter
- || (prevInset->rowFlags() & BreakAfter && i + 1 == end
- && text_->getEndLabel(row.pit()) != END_LABEL_NO_LABEL));
- ++i;
- break;
- }
-
- ++i;
- ++fi;
- }
- row.finalizeLast();
- row.endpos(i);
-
- // End of paragraph marker. The logic here is almost the
- // same as in redoParagraph, remember keep them in sync.
- ParagraphList const & pars = text_->paragraphs();
- Change const & change = par.lookupChange(i);
- if ((lyxrc.paragraph_markers || change.changed())
- && !need_new_row // not this
- && i == end && size_type(row.pit() + 1) < pars.size()) {
- // add a virtual element for the end-of-paragraph
- // marker; it is shown on screen, but does not exist
- // in the paragraph.
- Font f(text_->layoutFont(row.pit()));
- f.fontInfo().setColor(Color_paragraphmarker);
- f.setLanguage(par.getParLanguage(buf.params()));
- // ¶ U+00B6 PILCROW SIGN
- row.addVirtual(end, docstring(1, char_type(0x00B6)), f, change);
- }
-
- // Is there a end-of-paragaph change?
- if (i == end && par.lookupChange(end).changed() && !need_new_row)
- row.needsChangeBar(true);
- //--------------------------------------------------------------------^^^
- // FIXME : nothing below this
-
- // if the row is too large, try to cut at last separator. In case
- // of success, reset indication that the row was broken abruptly.
- int const next_width = max_width_ - leftMargin(row.pit(), row.endpos())
- - rightMargin(row.pit());
-
- if (row.shortenIfNeeded(width, next_width))
- row.flushed(false);
- row.right_boundary(!row.empty() && row.endpos() < end//
- && row.back().endpos == row.endpos());//
- // Last row in paragraph is flushed
- if (row.endpos() == end)//
- row.flushed(true);//
-
- // make sure that the RTL elements are in reverse ordering
- row.reverseRTL(is_rtl);//
- //LYXERR0("breakrow: row is " << row);
-
- return need_new_row;
-}
int TextMetrics::parTopSpacing(pit_type const pit) const
{
diff --git a/src/TextMetrics.h b/src/TextMetrics.h
index 3ff1161..e38ba71 100644
--- a/src/TextMetrics.h
+++ b/src/TextMetrics.h
@@ -151,15 +151,12 @@ private:
/// FIXME??
int labelEnd(pit_type const pit) const;
+ // Turn paragraph oh index \c pit into a single row
Row tokenizeParagraph(pit_type pit) const;
+ // Break the row produced by tokenizeParagraph() into a list of rows.
RowList breakParagraph(Row const & row) const;
- /// sets row.end to the pos value *after* which a row should break.
- /// for example, the pos after which isNewLine(pos) == true
- /// \return true when another row is required (after a newline)
- bool breakRow(Row & row, int right_margin) const;
-
// Expands the alignment of row \param row in paragraph \param par
LyXAlignment getAlign(Paragraph const & par, Row const & row) const;
/// Aligns properly the row contents (computes spaces and fills)
commit 0ea1807a5260896bf7a6bcec1893fe7f22a41f57
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sun Jul 18 01:09:33 2021 +0200
Implement handling of row_flags for row breaking
To this end, add the helper function needsRowBreak which computes the
effect of two consecutive row flags. This function implements the
priorities described in RowFlags.h.
This function is called with the relevant flags, or NoBreak* when at
boundaries and updates need_new_row.
Some common code is factored in a new cleanupRow() helper.
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index fa855e4..1a6927a 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -980,22 +980,6 @@ Row TextMetrics::tokenizeParagraph(pit_type const pit) const
namespace {
-Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl)
-{
- Row nrow;
- nrow.pit(pit);
- nrow.pos(pos);
- nrow.left_margin = tm.leftMargin(pit, pos);
- nrow.right_margin = tm.rightMargin(pit);
- if (is_rtl)
- swap(nrow.left_margin, nrow.right_margin);
- // Remember that the row width takes into account the left_margin
- // but not the right_margin.
- nrow.dim().wid = nrow.left_margin;
- return nrow;
-}
-
-
/** Helper template flexible_const_iterator<T>
* A way to iterate over a const container, but insert fake elements in it.
* In the case of a row, we will have to break some elements, which
@@ -1018,6 +1002,8 @@ public:
value_type operator*() const { return pile_.empty() ? *cit_ : pile_.back(); }
+ value_type const * operator->() const { return pile_.empty() ? &*cit_ : &pile_.back(); }
+
void put(value_type const & e) { pile_.push_back(e); }
// This should be private, but declaring the friend functions is too much work
@@ -1051,6 +1037,44 @@ bool operator==(flexible_const_iterator<T> const & t1,
return t1.cit_ == t2.cit_ && t1.pile_.empty() && t2.pile_.empty();
}
+Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl)
+{
+ Row nrow;
+ nrow.pit(pit);
+ nrow.pos(pos);
+ nrow.left_margin = tm.leftMargin(pit, pos);
+ nrow.right_margin = tm.rightMargin(pit);
+ if (is_rtl)
+ swap(nrow.left_margin, nrow.right_margin);
+ // Remember that the row width takes into account the left_margin
+ // but not the right_margin.
+ nrow.dim().wid = nrow.left_margin;
+ return nrow;
+}
+
+
+void cleanupRow(Row & row, pos_type pos, pos_type real_endpos, bool is_rtl)
+{
+ row.endpos(pos);
+ row.right_boundary(!row.empty() && pos < real_endpos
+ && row.back().endpos == pos);
+ // make sure that the RTL elements are in reverse ordering
+ row.reverseRTL(is_rtl);
+}
+
+// Implement the priorities described in RowFlags.h.
+bool needsRowBreak(int f1, int f2)
+{
+ if (f1 & AlwaysBreakAfter /*|| f2 & AlwaysBreakBefore*/)
+ return true;
+ if (f1 & NoBreakAfter || f2 & NoBreakBefore)
+ return false;
+ if (f1 & BreakAfter || f2 & BreakBefore)
+ return true;
+ return false;
+}
+
+
}
@@ -1058,6 +1082,7 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
{
RowList rows;
bool const is_rtl = text_->isRTL(bigrow.pit());
+ bool const end_label = text_->getEndLabel(bigrow.pit()) != END_LABEL_NO_LABEL;
bool need_new_row = true;
pos_type pos = 0;
@@ -1065,15 +1090,21 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
flexible_const_iterator<Row> fcit = flexible_begin(bigrow);
flexible_const_iterator<Row> const end = flexible_end(bigrow);
while (true) {
+ bool const has_row = !rows.empty();
+ bool const row_empty = !has_row || rows.back().empty();
+ // The row flags of previous element, if there is one.
+ // Otherwise we use NoBreakAfter to avoid an empty row before
+ // e.g. a displayed equation.
+ int const f1 = row_empty ? NoBreakAfter : rows.back().back().row_flags;
+ // The row flags of next element, if there is one.
+ // Otherwise we use NoBreakBefore (see above), unless the
+ // paragraph has an end label (for which an empty row is OK).
+ int const f2 = (fcit == end) ? (end_label ? Inline : NoBreakBefore)
+ : fcit->row_flags;
+ need_new_row |= needsRowBreak(f1, f2);
if (need_new_row) {
- if (!rows.empty()) {
- Row & rb = rows.back();
- rb.endpos(pos);
- rb.right_boundary(!rb.empty() && rb.endpos() < bigrow.endpos()
- && rb.back().endpos == rb.endpos());
- // make sure that the RTL elements are in reverse ordering
- rb.reverseRTL(is_rtl);
- }
+ if (!rows.empty())
+ cleanupRow(rows.back(), pos, bigrow.endpos(), is_rtl);
rows.push_back(newRow(*this, bigrow.pit(), pos, is_rtl));
// the width available for the row.
width = max_width_ - rows.back().right_margin;
@@ -1107,13 +1138,9 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
}
if (!rows.empty()) {
- Row & rb = rows.back();
+ cleanupRow(rows.back(), pos, bigrow.endpos(), is_rtl);
// Last row in paragraph is flushed
- rb.flushed(true);
- rb.endpos(bigrow.endpos());
- rb.right_boundary(false);
- // make sure that the RTL elements are in reverse ordering
- rb.reverseRTL(is_rtl);
+ rows.back().flushed(true);
}
return rows;
@@ -1227,9 +1254,8 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const
}
f.fontInfo().setColor(Color_nonunique_inlinecompletion);
row.addVirtual(i + 1, comp.substr(uniqueTo), f, Change());
- }//---------------------------------------------------------------^^^
+ }
- // FIXME: Handle when breaking the rows
// Handle some situations that abruptly terminate the row
// - Before an inset with BreakBefore
// - After an inset with BreakAfter
@@ -1254,7 +1280,6 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const
++i;
++fi;
}
- //--------------------------------------------------------------------vvv
row.finalizeLast();
row.endpos(i);
commit 890fcc08729fea5b1b8e6dba7f0e27d1e266c3aa
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sat Jul 17 23:16:15 2021 +0200
Change the way the element's width is updated.
Remove the code that computed the width every 30 characters (yay!).
Make sure that finalizeLast() is called after inserting a row element in
a row in breakParagraph.
diff --git a/src/Row.cpp b/src/Row.cpp
index 705a147..3bc8ef0 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -370,8 +370,7 @@ void Row::finalizeLast()
if (elt.change.changed())
changebar_ = true;
- if (elt.type == STRING) {
- dim_.wid -= elt.dim.wid;
+ if (elt.type == STRING && elt.dim.wid == 0) {
elt.dim.wid = theFontMetrics(elt.font).width(elt.str);
dim_.wid += elt.dim.wid;
}
@@ -401,16 +400,8 @@ void Row::add(pos_type const pos, char_type const c,
e.row_flags = can_break ? CanBreakInside : Inline;
elements_.push_back(e);
}
- if (back().str.length() % 30 == 0) {
- dim_.wid -= back().dim.wid;
- back().str += c;
- back().endpos = pos + 1;
- back().dim.wid = theFontMetrics(back().font).width(back().str);
- dim_.wid += back().dim.wid;
- } else {
- back().str += c;
- back().endpos = pos + 1;
- }
+ back().str += c;
+ back().endpos = pos + 1;
}
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index b5ba974..fa855e4 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -1092,6 +1092,7 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
!elt.font.language()->wordWrap());
// a new element in the row
rows.back().push_back(elt);
+ rows.back().finalizeLast();
pos = elt.endpos;
// Go to next element
commit 49115315ea751332d3f8f8a0770cf8427a2c9640
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sat Jul 17 02:31:49 2021 +0200
Introduce helper template to simplify breakParagraph code
This is a semi-generic iterator for iterating over a container and
pretend that we add elements to it along the way.
diff --git a/src/Row.h b/src/Row.h
index 4fdcee4..72d7a86 100644
--- a/src/Row.h
+++ b/src/Row.h
@@ -150,6 +150,8 @@ public:
friend std::ostream & operator<<(std::ostream & os, Element const & row);
};
+ ///
+ typedef Element value_type;
///
Row() {}
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index 00d65da..b5ba974 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -995,6 +995,62 @@ Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl)
return nrow;
}
+
+/** Helper template flexible_const_iterator<T>
+ * A way to iterate over a const container, but insert fake elements in it.
+ * In the case of a row, we will have to break some elements, which
+ * create new ones. This class allows to abstract this.
+ * Only the required parts are implemented for now.
+ */
+template<class T>
+class flexible_const_iterator {
+ typedef typename T::value_type value_type;
+public:
+
+ //
+ flexible_const_iterator operator++() {
+ if (pile_.empty())
+ ++cit_;
+ else
+ pile_.pop_back();
+ return *this;
+ }
+
+ value_type operator*() const { return pile_.empty() ? *cit_ : pile_.back(); }
+
+ void put(value_type const & e) { pile_.push_back(e); }
+
+// This should be private, but declaring the friend functions is too much work
+//private:
+ typename T::const_iterator cit_;
+ // A vector that is used as like a pile to store the elements to
+ // consider before incrementing the underlying iterator.
+ vector<value_type> pile_;
+};
+
+
+template<class T>
+flexible_const_iterator<T> flexible_begin(T const & t)
+{
+ return { t.begin(), vector<typename T::value_type>() };
+}
+
+
+template<class T>
+flexible_const_iterator<T> flexible_end(T const & t)
+{
+ return { t.end(), vector<typename T::value_type>() };
+}
+
+
+// Equality is only possible if respective piles are empty
+template<class T>
+bool operator==(flexible_const_iterator<T> const & t1,
+ flexible_const_iterator<T> const & t2)
+{
+ return t1.cit_ == t2.cit_ && t1.pile_.empty() && t2.pile_.empty();
+}
+
}
@@ -1006,11 +1062,8 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
bool need_new_row = true;
pos_type pos = 0;
int width = 0;
- Row::const_iterator cit = bigrow.begin();
- Row::const_iterator const end = bigrow.end();
- // This is a vector, but we use it like a pile putting and taking
- // stuff at the back.
- Row::Elements pile;
+ flexible_const_iterator<Row> fcit = flexible_begin(bigrow);
+ flexible_const_iterator<Row> const end = flexible_end(bigrow);
while (true) {
if (need_new_row) {
if (!rows.empty()) {
@@ -1029,27 +1082,25 @@ RowList TextMetrics::breakParagraph(Row const & bigrow) const
// The stopping condition is here because we may need a new
// empty row at the end.
- if (cit == end && pile.empty())
+ if (fcit == end)
break;
// Next element to consider is either the top of the temporary
// pile, or the place when we were in main row
- Row::Element elt = pile.empty() ? *cit : pile.back();
- //LYXERR0("elt=" << elt);
+ Row::Element elt = *fcit;
Row::Element next_elt = elt.splitAt(width - rows.back().width(),
!elt.font.language()->wordWrap());
- //LYXERR0("next_elt=" << next_elt);
// a new element in the row
rows.back().push_back(elt);
pos = elt.endpos;
+
// Go to next element
- if (pile.empty())
- ++cit;
- else
- pile.pop_back();
+ ++fcit;
+
// Add a new next element on the pile
if (next_elt.isValid()) {
- pile.push_back(next_elt);
+ // do as if we inserted this element in the original row
+ fcit.put(next_elt);
need_new_row = true;
}
}
commit df688126cab48e9bb3d2f87e94368c3bdaaf9162
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Fri Jul 16 00:10:25 2021 +0200
A set of easy fixes and missing features
* show changebar when end of paragraph is changed.
* when row is finished, set endpos and right_boundary
* handle bidi.
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index 1d36d7a..00d65da 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -955,12 +955,15 @@ Row TextMetrics::tokenizeParagraph(pit_type const pit) const
row.finalizeLast();
row.endpos(end);
- // End of paragraph marker. The logic here is almost the
+ // End of paragraph marker, either if LyXRc requires it, or there
+ // is an end of paragraph change. The logic here is almost the
// same as in redoParagraph, remember keep them in sync.
ParagraphList const & pars = text_->paragraphs();
- Change const & change = par.lookupChange(i);
- if ((lyxrc.paragraph_markers || change.changed())
- && i == end && size_type(pit + 1) < pars.size()) {
+ Change const & endchange = par.lookupChange(end);
+ if (endchange.changed())
+ row.needsChangeBar(true);
+ if ((lyxrc.paragraph_markers || endchange.changed())
+ && size_type(pit + 1) < pars.size()) {
// add a virtual element for the end-of-paragraph
// marker; it is shown on screen, but does not exist
// in the paragraph.
@@ -968,7 +971,7 @@ Row TextMetrics::tokenizeParagraph(pit_type const pit) const
f.fontInfo().setColor(Color_paragraphmarker);
f.setLanguage(par.getParLanguage(buf.params()));
// ¶ U+00B6 PILCROW SIGN
- row.addVirtual(end, docstring(1, char_type(0x00B6)), f, change);
+ row.addVirtual(end, docstring(1, char_type(0x00B6)), f, endchange);
}
return row;
@@ -995,24 +998,30 @@ Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl)
}
-RowList TextMetrics::breakParagraph(Row const & row) const
+RowList TextMetrics::breakParagraph(Row const & bigrow) const
{
RowList rows;
- bool const is_rtl = text_->isRTL(row.pit());
+ bool const is_rtl = text_->isRTL(bigrow.pit());
bool need_new_row = true;
pos_type pos = 0;
int width = 0;
- Row::const_iterator cit = row.begin();
- Row::const_iterator const end = row.end();
+ Row::const_iterator cit = bigrow.begin();
+ Row::const_iterator const end = bigrow.end();
// This is a vector, but we use it like a pile putting and taking
// stuff at the back.
Row::Elements pile;
while (true) {
if (need_new_row) {
- if (!rows.empty())
- rows.back().endpos(pos);
- rows.push_back(newRow(*this, row.pit(), pos, is_rtl));
+ if (!rows.empty()) {
+ Row & rb = rows.back();
+ rb.endpos(pos);
+ rb.right_boundary(!rb.empty() && rb.endpos() < bigrow.endpos()
+ && rb.back().endpos == rb.endpos());
+ // make sure that the RTL elements are in reverse ordering
+ rb.reverseRTL(is_rtl);
+ }
+ rows.push_back(newRow(*this, bigrow.pit(), pos, is_rtl));
// the width available for the row.
width = max_width_ - rows.back().right_margin;
need_new_row = false;
@@ -1045,6 +1054,16 @@ RowList TextMetrics::breakParagraph(Row const & row) const
}
}
+ if (!rows.empty()) {
+ Row & rb = rows.back();
+ // Last row in paragraph is flushed
+ rb.flushed(true);
+ rb.endpos(bigrow.endpos());
+ rb.right_boundary(false);
+ // make sure that the RTL elements are in reverse ordering
+ rb.reverseRTL(is_rtl);
+ }
+
return rows;
}
@@ -1217,14 +1236,14 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const
if (row.shortenIfNeeded(width, next_width))
row.flushed(false);
- row.right_boundary(!row.empty() && row.endpos() < end
- && row.back().endpos == row.endpos());
+ row.right_boundary(!row.empty() && row.endpos() < end//
+ && row.back().endpos == row.endpos());//
// Last row in paragraph is flushed
- if (row.endpos() == end)
- row.flushed(true);
+ if (row.endpos() == end)//
+ row.flushed(true);//
// make sure that the RTL elements are in reverse ordering
- row.reverseRTL(is_rtl);
+ row.reverseRTL(is_rtl);//
//LYXERR0("breakrow: row is " << row);
return need_new_row;
commit 0a18a4e763f21c6ef1acef08ba9d4a3db2343c9e
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Wed Jul 14 00:48:03 2021 +0200
Use the new tokenizing and breaking code instead of breakRow.
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index fb6574d..1d36d7a 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -516,43 +516,28 @@ bool TextMetrics::redoParagraph(pit_type const pit, bool const align_rows)
}
}
- pos_type first = 0;
- size_t row_index = 0;
- bool need_new_row = false;
- // maximum pixel width of a row
- do {
- if (row_index == pm.rows().size())
- pm.rows().push_back(Row());
- else
- pm.rows()[row_index] = Row();
- Row & row = pm.rows()[row_index];
- row.pit(pit);
- row.pos(first);
- need_new_row = breakRow(row, right_margin);
+ // Transform the paragraph into a single row containing all the elements.
+ Row const bigrow = tokenizeParagraph(pit);
+ // Split the row in several rows fitting in available width
+ pm.rows() = breakParagraph(bigrow);
+
+ /* If there is more than one row, expand the text to the full
+ * allowable width. This setting here is needed for the
+ * setRowAlignment() below. We do nothing when tight insets are
+ * requested.
+ */
+ if (pm.rows().size() > 1 && !tight_ && dim_.wid < max_width_)
+ dim_.wid = max_width_;
+
+ // Compute height and alignment of the rows.
+ for (Row & row : pm.rows()) {
setRowHeight(row);
- row.changed(true);
- if ((row_index || row.endpos() < par.size() || row.right_boundary())
- && !tight_) {
- /* If there is more than one row or the row has been
- * broken by a display inset or a newline, expand the text
- * to the full allowable width. This setting here is
- * needed for the setRowAlignment() below.
- * We do nothing when tight insets are requested.
- */
- if (dim_.wid < max_width_)
- dim_.wid = max_width_;
- }
if (align_rows)
setRowAlignment(row, max(dim_.wid, row.width()));
- first = row.endpos();
- ++row_index;
pm.dim().wid = max(pm.dim().wid, row.width() + row.right_margin);
pm.dim().des += row.height();
- } while (first < par.size() || need_new_row);
-
- if (row_index < pm.rows().size())
- pm.rows().resize(row_index);
+ }
// This type of margin can only be handled at the global paragraph level
if (par.layout().margintype == MARGIN_RIGHT_ADDRESS_BOX) {
commit ef88e31a1fb00d16d6d56e63b671d128ef43ad12
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Wed Jul 14 00:47:42 2021 +0200
Break the paragraph's big row according to margins
Still many features missing:
- handle insets that break rows (display math, newline, ...)
- handle rows that are too long by replacing the single call to
breakAt with a call to a reworked Row::shortenIfNeeded.
- some easy things at the end of breakRow (bidi text, etc.).
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index cc380cc..fb6574d 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -990,6 +990,79 @@ Row TextMetrics::tokenizeParagraph(pit_type const pit) const
}
+namespace {
+
+Row newRow(TextMetrics const & tm, pit_type pit, pos_type pos, bool is_rtl)
+{
+ Row nrow;
+ nrow.pit(pit);
+ nrow.pos(pos);
+ nrow.left_margin = tm.leftMargin(pit, pos);
+ nrow.right_margin = tm.rightMargin(pit);
+ if (is_rtl)
+ swap(nrow.left_margin, nrow.right_margin);
+ // Remember that the row width takes into account the left_margin
+ // but not the right_margin.
+ nrow.dim().wid = nrow.left_margin;
+ return nrow;
+}
+
+}
+
+
+RowList TextMetrics::breakParagraph(Row const & row) const
+{
+ RowList rows;
+ bool const is_rtl = text_->isRTL(row.pit());
+
+ bool need_new_row = true;
+ pos_type pos = 0;
+ int width = 0;
+ Row::const_iterator cit = row.begin();
+ Row::const_iterator const end = row.end();
+ // This is a vector, but we use it like a pile putting and taking
+ // stuff at the back.
+ Row::Elements pile;
+ while (true) {
+ if (need_new_row) {
+ if (!rows.empty())
+ rows.back().endpos(pos);
+ rows.push_back(newRow(*this, row.pit(), pos, is_rtl));
+ // the width available for the row.
+ width = max_width_ - rows.back().right_margin;
+ need_new_row = false;
+ }
+
+ // The stopping condition is here because we may need a new
+ // empty row at the end.
+ if (cit == end && pile.empty())
+ break;
+
+ // Next element to consider is either the top of the temporary
+ // pile, or the place when we were in main row
+ Row::Element elt = pile.empty() ? *cit : pile.back();
+ //LYXERR0("elt=" << elt);
+ Row::Element next_elt = elt.splitAt(width - rows.back().width(),
+ !elt.font.language()->wordWrap());
+ //LYXERR0("next_elt=" << next_elt);
+ // a new element in the row
+ rows.back().push_back(elt);
+ pos = elt.endpos;
+ // Go to next element
+ if (pile.empty())
+ ++cit;
+ else
+ pile.pop_back();
+ // Add a new next element on the pile
+ if (next_elt.isValid()) {
+ pile.push_back(next_elt);
+ need_new_row = true;
+ }
+ }
+
+ return rows;
+}
+
/** This is the function where the hard work is done. The code here is
* very sensitive to small changes :) Note that part of the
* intelligence is also in Row::shortenIfNeeded.
@@ -1003,20 +1076,20 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const
theSession().bookmarks().bookmarksInPar(buf.fileName(), par.id());//
pos_type const end = par.size();//
- pos_type const pos = row.pos();
+ pos_type const pos = row.pos();//
pos_type const body_pos = par.beginOfBody();//
- bool const is_rtl = text_->isRTL(row.pit());
- bool need_new_row = false;
+ bool const is_rtl = text_->isRTL(row.pit());//
+ bool need_new_row = false;//
- row.left_margin = leftMargin(row.pit(), pos);
- row.right_margin = right_margin;
- if (is_rtl)
- swap(row.left_margin, row.right_margin);
+ row.left_margin = leftMargin(row.pit(), pos);//
+ row.right_margin = right_margin;//
+ if (is_rtl)//
+ swap(row.left_margin, row.right_margin);//
// Remember that the row width takes into account the left_margin
// but not the right_margin.
- row.dim().wid = row.left_margin;
+ row.dim().wid = row.left_margin;//
// the width available for the row.
- int const width = max_width_ - row.right_margin;
+ int const width = max_width_ - row.right_margin;//
// check for possible inline completion
DocIterator const & ic_it = bv_->inlineCompletionPos();//
diff --git a/src/TextMetrics.h b/src/TextMetrics.h
index 1666cd0..3ff1161 100644
--- a/src/TextMetrics.h
+++ b/src/TextMetrics.h
@@ -153,6 +153,8 @@ private:
Row tokenizeParagraph(pit_type pit) const;
+ RowList breakParagraph(Row const & row) const;
+
/// sets row.end to the pos value *after* which a row should break.
/// for example, the pos after which isNewLine(pos) == true
/// \return true when another row is required (after a newline)
commit 963a0aa466a98b0c11b0dd30034f7fbf6f78ee62
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Mon Jul 12 00:07:59 2021 +0200
Implement Row::Element::row_flags
Move the enum definition RowFlags in its own include file, to avoid
loading Inset.h. Document it more thoroughly.
Rename RowAfter to AlwaysBreakAfter.
Add CanBreakInside (rows that can be themselves broken). This allow to
differentiate elements before bodyPos() and allows to remove a
parameter to shortenIfNeeded().
Make the Inset::rowFlags() method return int instead of RowFlags, as
should be done for all the bitwise flags. Remove the hand-made bitwise
operators.
Set R::E::row_flags when creating elements.
* INSET elements use the inset's rowFLags();
* virtual element forbid breaking before them, and inherit the *After
flags from the previous element of the row;
* STRING elements usr CanBreakInside, except before bodyPos.
More stuff may be added later.
diff --git a/src/Makefile.am b/src/Makefile.am
index 31701f2..99a0f98 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -273,6 +273,7 @@ HEADERFILESCORE = \
ParIterator.h \
PDFOptions.h \
Row.h \
+ RowFlags.h \
RowPainter.h \
Server.h \
ServerSocket.h \
diff --git a/src/Row.cpp b/src/Row.cpp
index da2d885..705a147 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -135,7 +135,7 @@ pos_type Row::Element::x2pos(int &x) const
Row::Element Row::Element::splitAt(int w, bool force)
{
- if (type != STRING)
+ if (type != STRING || !(row_flags & CanBreakInside))
return Element();
FontMetrics const & fm = theFontMetrics(font);
@@ -145,6 +145,7 @@ Row::Element Row::Element::splitAt(int w, bool force)
Element ret(STRING, pos + i, font, change);
ret.str = str.substr(i);
ret.endpos = ret.pos + ret.str.length();
+ ret.row_flags = row_flags & (CanBreakInside | AfterFlags);
str.erase(i);
endpos = pos + i;
//lyxerr << "breakAt(" << w << ") Row element Broken at " << x << "(w(str)=" << fm.width(str) << "): e=" << *this << endl;
@@ -378,12 +379,13 @@ void Row::finalizeLast()
void Row::add(pos_type const pos, Inset const * ins, Dimension const & dim,
- Font const & f, Change const & ch)
+ Font const & f, Change const & ch)
{
finalizeLast();
Element e(INSET, pos, f, ch);
e.inset = ins;
e.dim = dim;
+ e.row_flags = ins->rowFlags();
elements_.push_back(e);
dim_.wid += dim.wid;
changebar_ |= ins->isChanged();
@@ -391,11 +393,12 @@ void Row::add(pos_type const pos, Inset const * ins, Dimension const & dim,
void Row::add(pos_type const pos, char_type const c,
- Font const & f, Change const & ch)
+ Font const & f, Change const & ch, bool can_break)
{
if (!sameString(f, ch)) {
finalizeLast();
Element e(STRING, pos, f, ch);
+ e.row_flags = can_break ? CanBreakInside : Inline;
elements_.push_back(e);
}
if (back().str.length() % 30 == 0) {
@@ -420,6 +423,10 @@ void Row::addVirtual(pos_type const pos, docstring const & s,
e.dim.wid = theFontMetrics(f).width(s);
dim_.wid += e.dim.wid;
e.endpos = pos;
+ // Copy after* flags from previous elements, forbid break before element
+ int const prev_row_flags = elements_.empty() ? Inline : elements_.back().row_flags;
+ int const can_inherit = AfterFlags & ~AlwaysBreakAfter;
+ e.row_flags = (prev_row_flags & can_inherit) | NoBreakBefore;
elements_.push_back(e);
finalizeLast();
}
@@ -450,7 +457,7 @@ void Row::pop_back()
}
-bool Row::shortenIfNeeded(pos_type const keep, int const w, int const next_width)
+bool Row::shortenIfNeeded(int const w, int const next_width)
{
if (empty() || width() <= w)
return false;
@@ -482,11 +489,10 @@ bool Row::shortenIfNeeded(pos_type const keep, int const w, int const next_width
// make a copy of the element to work on it.
Element brk = *cit_brk;
/* If the current element is an inset that allows breaking row
- * after itself, and it the row is already short enough after
+ * after itself, and if the row is already short enough after
* this inset, then cut right after this element.
*/
- if (wid_brk <= w && brk.type == INSET
- && brk.inset->rowFlags() & Inset::CanBreakAfter) {
+ if (wid_brk <= w && brk.row_flags & CanBreakAfter) {
end_ = brk.endpos;
dim_.wid = wid_brk;
elements_.erase(cit_brk + 1, end);
@@ -504,10 +510,6 @@ bool Row::shortenIfNeeded(pos_type const keep, int const w, int const next_width
* not allowed at the beginning or end of line.
*/
bool const word_wrap = brk.font.language()->wordWrap();
- // When there is text before the body part (think description
- // environment), do not try to break.
- if (brk.pos < keep)
- continue;
/* We have found a suitable separable element. This is the common case.
* Try to break it cleanly (at word boundary) at a length that is both
* - less than the available space on the row
diff --git a/src/Row.h b/src/Row.h
index 3048cf1..4fdcee4 100644
--- a/src/Row.h
+++ b/src/Row.h
@@ -18,6 +18,7 @@
#include "Changes.h"
#include "Dimension.h"
#include "Font.h"
+#include "RowFlags.h"
#include "support/docstring.h"
#include "support/types.h"
@@ -143,6 +144,8 @@ public:
Change change;
// is it possible to add contents to this element?
bool final = false;
+ // properties with respect to row breaking (made of RowFlag enums)
+ int row_flags = Inline;
friend std::ostream & operator<<(std::ostream & os, Element const & row);
};
@@ -247,7 +250,7 @@ public:
Font const & f, Change const & ch);
///
void add(pos_type pos, char_type const c,
- Font const & f, Change const & ch);
+ Font const & f, Change const & ch, bool can_break);
///
void addVirtual(pos_type pos, docstring const & s,
Font const & f, Change const & ch);
@@ -287,12 +290,11 @@ public:
* if row width is too large, remove all elements after last
* separator and update endpos if necessary. If all that
* remains is a large word, cut it to \param width.
- * \param body_pos minimum amount of text to keep.
* \param width maximum width of the row.
* \param available width on next row.
* \return true if the row has been shortened.
*/
- bool shortenIfNeeded(pos_type const body_pos, int const width, int const next_width);
+ bool shortenIfNeeded(int const width, int const next_width);
/**
* If last element of the row is a string, compute its width
diff --git a/src/RowFlags.h b/src/RowFlags.h
new file mode 100644
index 0000000..f94f0c6
--- /dev/null
+++ b/src/RowFlags.h
@@ -0,0 +1,57 @@
+// -*- C++ -*-
+/**
+ * \file RowFlags.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Jean-Marc Lasgouttes
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
+#ifndef ROWFLAGS_H
+#define ROWFLAGS_H
+
+// Do not include anything here
+
+namespace lyx {
+
+/* The list of possible flags, that can be combined.
+ * Some flags that should logically be here (e.g.,
+ * CanBreakBefore), do not exist. This is because the need has not
+ * been identitfied yet.
+ *
+ * Priorities when before/after disagree:
+ * AlwaysBreak* > NoBreak* > Break* or CanBreak*.
+ */
+enum RowFlags {
+ // Do not break before or after this element, except if really
+ // needed (between NoBreak* and CanBreak*).
+ Inline = 0,
+ // break row before this element if the row is not empty
+ BreakBefore = 1 << 0,
+ // Avoid breaking row before this element
+ NoBreakBefore = 1 << 1,
+ // force new (maybe empty) row after this element
+ AlwaysBreakAfter = 1 << 2,
+ // break row after this element if there are more elements
+ BreakAfter = 1 << 3,
+ // break row whenever needed after this element
+ CanBreakAfter = 1 << 4,
+ // Avoid breaking row after this element
+ NoBreakAfter = 1 << 5,
+ // The contents of the row may be broken in two (e.g. string)
+ CanBreakInside = 1 << 6,
+ // specify an alignment (left, right) for a display element
+ // (default is center)
+ AlignLeft = 1 << 7,
+ AlignRight = 1 << 8,
+ // A display element breaks row at both ends
+ Display = BreakBefore | BreakAfter,
+ // Flags that concern breaking after element
+ AfterFlags = AlwaysBreakAfter | BreakAfter | CanBreakAfter | NoBreakAfter
+};
+
+} // namespace lyx
+
+#endif
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index f14fe1f..cc380cc 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -634,10 +634,10 @@ LyXAlignment TextMetrics::getAlign(Paragraph const & par, Row const & row) const
// Display-style insets should always be on a centered row
if (Inset const * inset = par.getInset(row.pos())) {
- if (inset->rowFlags() & Inset::Display) {
- if (inset->rowFlags() & Inset::AlignLeft)
+ if (inset->rowFlags() & Display) {
+ if (inset->rowFlags() & AlignLeft)
align = LYX_ALIGN_BLOCK;
- else if (inset->rowFlags() & Inset::AlignRight)
+ else if (inset->rowFlags() & AlignRight)
align = LYX_ALIGN_RIGHT;
else
align = LYX_ALIGN_CENTER;
@@ -928,7 +928,7 @@ Row TextMetrics::tokenizeParagraph(pit_type const pit) const
row.addSpace(i, add, *fi, par.lookupChange(i));
} else if (c == '\t')
row.addSpace(i, theFontMetrics(*fi).width(from_ascii(" ")),
- *fi, par.lookupChange(i));
+ *fi, par.lookupChange(i));
else if (c == 0x2028 || c == 0x2029) {
/**
* U+2028 LINE SEPARATOR
@@ -944,9 +944,10 @@ Row TextMetrics::tokenizeParagraph(pit_type const pit) const
// ⤶ U+2936 ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
// ¶ U+00B6 PILCROW SIGN
char_type const screen_char = (c == 0x2028) ? 0x2936 : 0x00B6;
- row.add(i, screen_char, *fi, par.lookupChange(i));
+ row.add(i, screen_char, *fi, par.lookupChange(i), i >= body_pos);
} else
- row.add(i, c, *fi, par.lookupChange(i));
+ // row elements before body are unbreakable
+ row.add(i, c, *fi, par.lookupChange(i), i >= body_pos);
// add inline completion width
// draw logically behind the previous character
@@ -1080,9 +1081,9 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const
// ⤶ U+2936 ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
// ¶ U+00B6 PILCROW SIGN
char_type const screen_char = (c == 0x2028) ? 0x2936 : 0x00B6;
- row.add(i, screen_char, *fi, par.lookupChange(i));
+ row.add(i, screen_char, *fi, par.lookupChange(i), i >= body_pos);
} else
- row.add(i, c, *fi, par.lookupChange(i));
+ row.add(i, c, *fi, par.lookupChange(i), i >= body_pos);
// add inline completion width
// draw logically behind the previous character
@@ -1105,8 +1106,8 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const
// - After an inset with BreakAfter
Inset const * prevInset = !row.empty() ? row.back().inset : 0;
Inset const * nextInset = (i + 1 < end) ? par.getInset(i + 1) : 0;
- if ((nextInset && nextInset->rowFlags() & Inset::BreakBefore)
- || (prevInset && prevInset->rowFlags() & Inset::BreakAfter)) {
+ if ((nextInset && nextInset->rowFlags() & BreakBefore)
+ || (prevInset && prevInset->rowFlags() & BreakAfter)) {
row.flushed(true);
// Force a row creation after this one if it is ended by
// an inset that either
@@ -1114,8 +1115,8 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const
// - or (1) did force the row breaking, (2) is at end of
// paragraph and (3) the said paragraph has an end label.
need_new_row = prevInset &&
- (prevInset->rowFlags() & Inset::RowAfter
- || (prevInset->rowFlags() & Inset::BreakAfter && i + 1 == end
+ (prevInset->rowFlags() & AlwaysBreakAfter
+ || (prevInset->rowFlags() & BreakAfter && i + 1 == end
&& text_->getEndLabel(row.pit()) != END_LABEL_NO_LABEL));
++i;
break;
@@ -1156,7 +1157,7 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const
int const next_width = max_width_ - leftMargin(row.pit(), row.endpos())
- rightMargin(row.pit());
- if (row.shortenIfNeeded(body_pos, width, next_width))
+ if (row.shortenIfNeeded(width, next_width))
row.flushed(false);
row.right_boundary(!row.empty() && row.endpos() < end
&& row.back().endpos == row.endpos());
@@ -1900,7 +1901,7 @@ int TextMetrics::leftMargin(pit_type const pit, pos_type const pos) const
// display style insets do not need indentation
&& !(!par.empty()
&& par.isInset(0)
- && par.getInset(0)->rowFlags() & Inset::Display)
+ && par.getInset(0)->rowFlags() & Display)
&& (!(tclass.isDefaultLayout(par.layout())
|| tclass.isPlainLayout(par.layout()))
|| buffer.params().paragraph_separation
diff --git a/src/insets/Inset.h b/src/insets/Inset.h
index af24423..372b95a 100644
--- a/src/insets/Inset.h
+++ b/src/insets/Inset.h
@@ -20,6 +20,7 @@
#include "LayoutEnums.h"
#include "OutputEnums.h"
#include "OutputParams.h"
+#include "RowFlags.h"
#include "support/docstring.h"
#include "support/strfwd.h"
@@ -478,26 +479,8 @@ public:
virtual CtObject getCtObject(OutputParams const &) const;
- enum RowFlags {
- Inline = 0,
- // break row before this inset
- BreakBefore = 1 << 0,
- // break row after this inset
- BreakAfter = 1 << 1,
- // it is possible to break after this inset
- CanBreakAfter = 1 << 2,
- // force new (maybe empty) row after this inset
- RowAfter = 1 << 3,
- // specify an alignment (left, right) for a display inset
- // (default is center)
- AlignLeft = 1 << 4,
- AlignRight = 1 << 5,
- // A display inset breaks row at both ends
- Display = BreakBefore | BreakAfter
- };
-
- /// How should this inset be displayed in its row?
- virtual RowFlags rowFlags() const { return Inline; }
+ // properties with respect to row breaking (made of RowFLag enums)
+ virtual int rowFlags() const { return Inline; }
/// indentation before this inset (only needed for displayed hull insets with fleqn option)
virtual int indent(BufferView const &) const { return 0; }
///
@@ -655,20 +638,6 @@ protected:
};
-inline Inset::RowFlags operator|(Inset::RowFlags const d1,
- Inset::RowFlags const d2)
-{
- return static_cast<Inset::RowFlags>(int(d1) | int(d2));
-}
-
-
-inline Inset::RowFlags operator&(Inset::RowFlags const d1,
- Inset::RowFlags const d2)
-{
- return static_cast<Inset::RowFlags>(int(d1) & int(d2));
-}
-
-
} // namespace lyx
#endif
diff --git a/src/insets/InsetBibtex.h b/src/insets/InsetBibtex.h
index be7659f..55451f5 100644
--- a/src/insets/InsetBibtex.h
+++ b/src/insets/InsetBibtex.h
@@ -47,7 +47,7 @@ public:
///
InsetCode lyxCode() const override { return BIBTEX_CODE; }
///
- RowFlags rowFlags() const override { return Display; }
+ int rowFlags() const override { return Display; }
///
void latex(otexstream &, OutputParams const &) const override;
///
diff --git a/src/insets/InsetCaption.h b/src/insets/InsetCaption.h
index ed6dbbb..c1bcd17 100644
--- a/src/insets/InsetCaption.h
+++ b/src/insets/InsetCaption.h
@@ -40,7 +40,7 @@ private:
///
void write(std::ostream & os) const override;
///
- RowFlags rowFlags() const override { return Display; }
+ int rowFlags() const override { return Display; }
///
bool neverIndent() const override { return true; }
///
diff --git a/src/insets/InsetFloatList.h b/src/insets/InsetFloatList.h
index 489b0fe..ce6caa5 100644
--- a/src/insets/InsetFloatList.h
+++ b/src/insets/InsetFloatList.h
@@ -32,7 +32,7 @@ public:
///
InsetCode lyxCode() const override { return FLOAT_LIST_CODE; }
///
- RowFlags rowFlags() const override { return Display; }
+ int rowFlags() const override { return Display; }
///
void write(std::ostream &) const override;
///
diff --git a/src/insets/InsetInclude.cpp b/src/insets/InsetInclude.cpp
index aeae2fb..10ea52b 100644
--- a/src/insets/InsetInclude.cpp
+++ b/src/insets/InsetInclude.cpp
@@ -1251,7 +1251,7 @@ string InsetInclude::contextMenuName() const
}
-Inset::RowFlags InsetInclude::rowFlags() const
+int InsetInclude::rowFlags() const
{
return type(params()) == INPUT ? Inline : Display;
}
diff --git a/src/insets/InsetInclude.h b/src/insets/InsetInclude.h
index 8585222..d62c751 100644
--- a/src/insets/InsetInclude.h
+++ b/src/insets/InsetInclude.h
@@ -75,7 +75,7 @@ public:
///
void draw(PainterInfo & pi, int x, int y) const override;
///
- RowFlags rowFlags() const override;
+ int rowFlags() const override;
///
InsetCode lyxCode() const override { return INCLUDE_CODE; }
///
diff --git a/src/insets/InsetIndex.h b/src/insets/InsetIndex.h
index bddb8ba..b064cc7 100644
--- a/src/insets/InsetIndex.h
+++ b/src/insets/InsetIndex.h
@@ -119,7 +119,7 @@ public:
///
bool hasSettings() const override;
///
- RowFlags rowFlags() const override { return Display; }
+ int rowFlags() const override { return Display; }
//@}
/// \name Static public methods obligated for InsetCommand derived classes
diff --git a/src/insets/InsetListings.cpp b/src/insets/InsetListings.cpp
index e8fe8b1..57df06e 100644
--- a/src/insets/InsetListings.cpp
+++ b/src/insets/InsetListings.cpp
@@ -64,7 +64,7 @@ InsetListings::~InsetListings()
}
-Inset::RowFlags InsetListings::rowFlags() const
+int InsetListings::rowFlags() const
{
return params().isInline() || params().isFloat() ? Inline : Display | AlignLeft;
}
diff --git a/src/insets/InsetListings.h b/src/insets/InsetListings.h
index 41be439..9d4eeb1 100644
--- a/src/insets/InsetListings.h
+++ b/src/insets/InsetListings.h
@@ -46,7 +46,7 @@ private:
///
InsetCode lyxCode() const override { return LISTINGS_CODE; }
/// lstinline is inlined, normal listing is displayed
- RowFlags rowFlags() const override;
+ int rowFlags() const override;
///
docstring layoutName() const override;
///
diff --git a/src/insets/InsetNewline.h b/src/insets/InsetNewline.h
index 3d540a8..1ef0ae5 100644
--- a/src/insets/InsetNewline.h
+++ b/src/insets/InsetNewline.h
@@ -47,7 +47,7 @@ public:
explicit InsetNewline(InsetNewlineParams par) : Inset(0)
{ params_.kind = par.kind; }
///
- RowFlags rowFlags() const override { return BreakAfter | RowAfter; }
+ int rowFlags() const override { return AlwaysBreakAfter; }
///
static void string2params(std::string const &, InsetNewlineParams &);
///
diff --git a/src/insets/InsetNewpage.h b/src/insets/InsetNewpage.h
index f020488..d086276 100644
--- a/src/insets/InsetNewpage.h
+++ b/src/insets/InsetNewpage.h
@@ -76,7 +76,7 @@ private:
///
void write(std::ostream & os) const override;
///
- RowFlags rowFlags() const override { return (params_.kind == InsetNewpageParams::NOPAGEBREAK) ? Inline : Display; }
+ int rowFlags() const override { return (params_.kind == InsetNewpageParams::NOPAGEBREAK) ? Inline : Display; }
///
docstring insetLabel() const;
///
diff --git a/src/insets/InsetNomencl.h b/src/insets/InsetNomencl.h
index 1778e01..362cd46 100644
--- a/src/insets/InsetNomencl.h
+++ b/src/insets/InsetNomencl.h
@@ -94,7 +94,7 @@ public:
///
bool hasSettings() const override { return true; }
///
- RowFlags rowFlags() const override { return Display; }
+ int rowFlags() const override { return Display; }
///
void latex(otexstream &, OutputParams const &) const override;
///
diff --git a/src/insets/InsetSeparator.h b/src/insets/InsetSeparator.h
index f7e0ab9..9352bdf 100644
--- a/src/insets/InsetSeparator.h
+++ b/src/insets/InsetSeparator.h
@@ -65,7 +65,7 @@ public:
return docstring();
}
///
- RowFlags rowFlags() const override { return BreakAfter; }
+ int rowFlags() const override { return BreakAfter; }
private:
///
InsetCode lyxCode() const override { return SEPARATOR_CODE; }
diff --git a/src/insets/InsetSpace.cpp b/src/insets/InsetSpace.cpp
index 9585596..1a2eb09 100644
--- a/src/insets/InsetSpace.cpp
+++ b/src/insets/InsetSpace.cpp
@@ -192,7 +192,7 @@ bool InsetSpace::getStatus(Cursor & cur, FuncRequest const & cmd,
}
-Inset::RowFlags InsetSpace::rowFlags() const
+int InsetSpace::rowFlags() const
{
switch (params_.kind) {
case InsetSpaceParams::PROTECTED:
diff --git a/src/insets/InsetSpace.h b/src/insets/InsetSpace.h
index 5cf7aa7..e401d6d 100644
--- a/src/insets/InsetSpace.h
+++ b/src/insets/InsetSpace.h
@@ -115,7 +115,7 @@ public:
///
docstring toolTip(BufferView const & bv, int x, int y) const override;
/// unprotected spaces allow line breaking after them
- RowFlags rowFlags() const override;
+ int rowFlags() const override;
///
void metrics(MetricsInfo &, Dimension &) const override;
///
diff --git a/src/insets/InsetSpecialChar.cpp b/src/insets/InsetSpecialChar.cpp
index 3ecdaf1..88af653 100644
--- a/src/insets/InsetSpecialChar.cpp
+++ b/src/insets/InsetSpecialChar.cpp
@@ -83,7 +83,7 @@ docstring InsetSpecialChar::toolTip(BufferView const &, int, int) const
}
-Inset::RowFlags InsetSpecialChar::rowFlags() const
+int InsetSpecialChar::rowFlags() const
{
switch (kind_) {
case ALLOWBREAK:
diff --git a/src/insets/InsetSpecialChar.h b/src/insets/InsetSpecialChar.h
index 3056b10..0c8cc36 100644
--- a/src/insets/InsetSpecialChar.h
+++ b/src/insets/InsetSpecialChar.h
@@ -63,7 +63,7 @@ public:
///
docstring toolTip(BufferView const & bv, int x, int y) const override;
/// some special chars allow line breaking after them
- RowFlags rowFlags() const override;
+ int rowFlags() const override;
///
void metrics(MetricsInfo &, Dimension &) const override;
///
diff --git a/src/insets/InsetTOC.h b/src/insets/InsetTOC.h
index 045ae07..ca3f463 100644
--- a/src/insets/InsetTOC.h
+++ b/src/insets/InsetTOC.h
@@ -37,7 +37,7 @@ public:
///
docstring layoutName() const override;
///
- RowFlags rowFlags() const override { return Display; }
+ int rowFlags() const override { return Display; }
///
void validate(LaTeXFeatures &) const override;
///
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index fcf89e7..24bde65 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -6144,21 +6144,21 @@ bool InsetTabular::getStatus(Cursor & cur, FuncRequest const & cmd,
}
-Inset::RowFlags InsetTabular::rowFlags() const
-{
- if (tabular.is_long_tabular) {
- switch (tabular.longtabular_alignment) {
- case Tabular::LYX_LONGTABULAR_ALIGN_LEFT:
- return Display | AlignLeft;
- case Tabular::LYX_LONGTABULAR_ALIGN_CENTER:
- return Display;
- case Tabular::LYX_LONGTABULAR_ALIGN_RIGHT:
- return Display | AlignRight;
- default:
- return Display;
- }
- } else
- return Inline;
+int InsetTabular::rowFlags() const
+{
+ if (tabular.is_long_tabular) {
+ switch (tabular.longtabular_alignment) {
+ case Tabular::LYX_LONGTABULAR_ALIGN_LEFT:
+ return Display | AlignLeft;
+ case Tabular::LYX_LONGTABULAR_ALIGN_CENTER:
+ return Display;
+ case Tabular::LYX_LONGTABULAR_ALIGN_RIGHT:
+ return Display | AlignRight;
+ default:
+ return Display;
+ }
+ } else
+ return Inline;
}
diff --git a/src/insets/InsetTabular.h b/src/insets/InsetTabular.h
index 8d1be1b..0d4e7af 100644
--- a/src/insets/InsetTabular.h
+++ b/src/insets/InsetTabular.h
@@ -989,7 +989,7 @@ public:
//
bool isTable() const override { return true; }
///
- RowFlags rowFlags() const override;
+ int rowFlags() const override;
///
void latex(otexstream &, OutputParams const &) const override;
///
diff --git a/src/insets/InsetVSpace.h b/src/insets/InsetVSpace.h
index 9b95f00..51c2b5b 100644
--- a/src/insets/InsetVSpace.h
+++ b/src/insets/InsetVSpace.h
@@ -62,7 +62,7 @@ private:
///
void write(std::ostream & os) const override;
///
- RowFlags rowFlags() const override { return Display; }
+ int rowFlags() const override { return Display; }
///
void doDispatch(Cursor & cur, FuncRequest & cmd) override;
///
diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp
index b33813b..8fd2bdd 100644
--- a/src/mathed/InsetMathHull.cpp
+++ b/src/mathed/InsetMathHull.cpp
@@ -988,7 +988,7 @@ bool InsetMathHull::outerDisplay() const
}
-Inset::RowFlags InsetMathHull::rowFlags() const
+int InsetMathHull::rowFlags() const
{
switch (type_) {
case hullUnknown:
diff --git a/src/mathed/InsetMathHull.h b/src/mathed/InsetMathHull.h
index 0b865be..b019188 100644
--- a/src/mathed/InsetMathHull.h
+++ b/src/mathed/InsetMathHull.h
@@ -288,7 +288,7 @@ public:
///
Inset * editXY(Cursor & cur, int x, int y) override;
///
- RowFlags rowFlags() const override;
+ int rowFlags() const override;
/// helper function
bool display() const { return rowFlags() & Display; }
commit f4d3702d4d36569851065eed2e0ca88431bd24a2
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sun Jul 11 15:19:37 2021 +0200
Create new method TM::tokenizeParagraph
This contains large parts of breakRow, but creates a unique row for the paragraph.
The parts taken or not in redoParagraph are annotated.
The new method is not used yet.
diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp
index a2a3e4b..f14fe1f 100644
--- a/src/TextMetrics.cpp
+++ b/src/TextMetrics.cpp
@@ -868,21 +868,142 @@ private:
} // namespace
+
+Row TextMetrics::tokenizeParagraph(pit_type const pit) const
+{
+ Row row;
+ row.pit(pit);
+ Paragraph const & par = text_->getPar(pit);
+ Buffer const & buf = text_->inset().buffer();
+ BookmarksSection::BookmarkPosList bpl =
+ theSession().bookmarks().bookmarksInPar(buf.fileName(), par.id());
+
+ pos_type const end = par.size();
+ pos_type const body_pos = par.beginOfBody();
+
+ // check for possible inline completion
+ DocIterator const & ic_it = bv_->inlineCompletionPos();
+ pos_type ic_pos = -1;
+ if (ic_it.inTexted() && ic_it.text() == text_ && ic_it.pit() == pit)
+ ic_pos = ic_it.pos();
+
+ // Now we iterate through until we reach the right margin
+ // or the end of the par, then build a representation of the row.
+ pos_type i = 0;
+ FontIterator fi = FontIterator(*this, par, pit, 0);
+ // The real stopping condition is a few lines below.
+ while (true) {
+ // Firstly, check whether there is a bookmark here.
+ if (lyxrc.bookmarks_visibility == LyXRC::BMK_INLINE)
+ for (auto const & bp_p : bpl)
+ if (bp_p.second == i) {
+ Font f = *fi;
+ f.fontInfo().setColor(Color_bookmark);
+ // â¶ U+2776 DINGBAT NEGATIVE CIRCLED DIGIT ONE
+ char_type const ch = 0x2775 + bp_p.first;
+ row.addVirtual(i, docstring(1, ch), f, Change());
+ }
+
+ // The stopping condition is here so that the display of a
+ // bookmark can take place at paragraph start too.
+ if (i >= end)
+ break;
+
+ char_type c = par.getChar(i);
+ // The most special cases are handled first.
+ if (par.isInset(i)) {
+ Inset const * ins = par.getInset(i);
+ Dimension dim = bv_->coordCache().insets().dim(ins);
+ row.add(i, ins, dim, *fi, par.lookupChange(i));
+ } else if (c == ' ' && i + 1 == body_pos) {
+ // There is a space at i, but it should not be
+ // added as a separator, because it is just
+ // before body_pos. Instead, insert some spacing to
+ // align text
+ FontMetrics const & fm = theFontMetrics(text_->labelFont(par));
+ // this is needed to make sure that the row width is correct
+ row.finalizeLast();
+ int const add = max(fm.width(par.layout().labelsep),
+ labelEnd(pit) - row.width());
+ row.addSpace(i, add, *fi, par.lookupChange(i));
+ } else if (c == '\t')
+ row.addSpace(i, theFontMetrics(*fi).width(from_ascii(" ")),
+ *fi, par.lookupChange(i));
+ else if (c == 0x2028 || c == 0x2029) {
+ /**
+ * U+2028 LINE SEPARATOR
+ * U+2029 PARAGRAPH SEPARATOR
+
+ * These are special unicode characters that break
+ * lines/pragraphs. Not handling them lead to trouble wrt
+ * Qt QTextLayout formatting. We add a visible character
+ * on screen so that the user can see that something is
+ * happening.
+ */
+ row.finalizeLast();
+ // ⤶ U+2936 ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
+ // ¶ U+00B6 PILCROW SIGN
+ char_type const screen_char = (c == 0x2028) ? 0x2936 : 0x00B6;
+ row.add(i, screen_char, *fi, par.lookupChange(i));
+ } else
+ row.add(i, c, *fi, par.lookupChange(i));
+
+ // add inline completion width
+ // draw logically behind the previous character
+ if (ic_pos == i + 1 && !bv_->inlineCompletion().empty()) {
+ docstring const comp = bv_->inlineCompletion();
+ size_t const uniqueTo =bv_->inlineCompletionUniqueChars();
+ Font f = *fi;
+
+ if (uniqueTo > 0) {
+ f.fontInfo().setColor(Color_inlinecompletion);
+ row.addVirtual(i + 1, comp.substr(0, uniqueTo), f, Change());
+ }
+ f.fontInfo().setColor(Color_nonunique_inlinecompletion);
+ row.addVirtual(i + 1, comp.substr(uniqueTo), f, Change());
+ }
+
+ ++i;
+ ++fi;
+ }
+ row.finalizeLast();
+ row.endpos(end);
+
+ // End of paragraph marker. The logic here is almost the
+ // same as in redoParagraph, remember keep them in sync.
+ ParagraphList const & pars = text_->paragraphs();
+ Change const & change = par.lookupChange(i);
+ if ((lyxrc.paragraph_markers || change.changed())
+ && i == end && size_type(pit + 1) < pars.size()) {
+ // add a virtual element for the end-of-paragraph
+ // marker; it is shown on screen, but does not exist
+ // in the paragraph.
+ Font f(text_->layoutFont(pit));
+ f.fontInfo().setColor(Color_paragraphmarker);
+ f.setLanguage(par.getParLanguage(buf.params()));
+ // ¶ U+00B6 PILCROW SIGN
+ row.addVirtual(end, docstring(1, char_type(0x00B6)), f, change);
+ }
+
+ return row;
+}
+
+
/** This is the function where the hard work is done. The code here is
* very sensitive to small changes :) Note that part of the
* intelligence is also in Row::shortenIfNeeded.
*/
bool TextMetrics::breakRow(Row & row, int const right_margin) const
{
- LATTEST(row.empty());
- Paragraph const & par = text_->getPar(row.pit());
- Buffer const & buf = text_->inset().buffer();
- BookmarksSection::BookmarkPosList bpl =
- theSession().bookmarks().bookmarksInPar(buf.fileName(), par.id());
+ LATTEST(row.empty());//
+ Paragraph const & par = text_->getPar(row.pit());//
+ Buffer const & buf = text_->inset().buffer();//
+ BookmarksSection::BookmarkPosList bpl =//
+ theSession().bookmarks().bookmarksInPar(buf.fileName(), par.id());//
- pos_type const end = par.size();
+ pos_type const end = par.size();//
pos_type const pos = row.pos();
- pos_type const body_pos = par.beginOfBody();
+ pos_type const body_pos = par.beginOfBody();//
bool const is_rtl = text_->isRTL(row.pit());
bool need_new_row = false;
@@ -897,14 +1018,14 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const
int const width = max_width_ - row.right_margin;
// check for possible inline completion
- DocIterator const & ic_it = bv_->inlineCompletionPos();
- pos_type ic_pos = -1;
- if (ic_it.inTexted() && ic_it.text() == text_ && ic_it.pit() == row.pit())
- ic_pos = ic_it.pos();
+ DocIterator const & ic_it = bv_->inlineCompletionPos();//
+ pos_type ic_pos = -1;//
+ if (ic_it.inTexted() && ic_it.text() == text_ && ic_it.pit() == row.pit())//
+ ic_pos = ic_it.pos();//
// Now we iterate through until we reach the right margin
// or the end of the par, then build a representation of the row.
- pos_type i = pos;
+ pos_type i = pos;//---------------------------------------------------vvv
FontIterator fi = FontIterator(*this, par, row.pit(), pos);
// The real stopping condition is a few lines below.
while (true) {
@@ -921,7 +1042,7 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const
// The stopping condition is here so that the display of a
// bookmark can take place at paragraph start too.
- if (i >= end || (i != pos && row.width() > width))
+ if (i >= end || (i != pos && row.width() > width))//^width
break;
char_type c = par.getChar(i);
@@ -976,8 +1097,9 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const
}
f.fontInfo().setColor(Color_nonunique_inlinecompletion);
row.addVirtual(i + 1, comp.substr(uniqueTo), f, Change());
- }
+ }//---------------------------------------------------------------^^^
+ // FIXME: Handle when breaking the rows
// Handle some situations that abruptly terminate the row
// - Before an inset with BreakBefore
// - After an inset with BreakAfter
@@ -1002,6 +1124,7 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const
++i;
++fi;
}
+ //--------------------------------------------------------------------vvv
row.finalizeLast();
row.endpos(i);
@@ -1010,7 +1133,7 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const
ParagraphList const & pars = text_->paragraphs();
Change const & change = par.lookupChange(i);
if ((lyxrc.paragraph_markers || change.changed())
- && !need_new_row
+ && !need_new_row // not this
&& i == end && size_type(row.pit() + 1) < pars.size()) {
// add a virtual element for the end-of-paragraph
// marker; it is shown on screen, but does not exist
@@ -1025,6 +1148,8 @@ bool TextMetrics::breakRow(Row & row, int const right_margin) const
// Is there a end-of-paragaph change?
if (i == end && par.lookupChange(end).changed() && !need_new_row)
row.needsChangeBar(true);
+ //--------------------------------------------------------------------^^^
+ // FIXME : nothing below this
// if the row is too large, try to cut at last separator. In case
// of success, reset indication that the row was broken abruptly.
diff --git a/src/TextMetrics.h b/src/TextMetrics.h
index 1501250..1666cd0 100644
--- a/src/TextMetrics.h
+++ b/src/TextMetrics.h
@@ -151,6 +151,8 @@ private:
/// FIXME??
int labelEnd(pit_type const pit) const;
+ Row tokenizeParagraph(pit_type pit) const;
+
/// sets row.end to the pos value *after* which a row should break.
/// for example, the pos after which isNewLine(pos) == true
/// \return true when another row is required (after a newline)
commit a558f78aa547b3a1a052faafccfad4e9b5afc767
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sun Jul 11 15:33:33 2021 +0200
Small Row cleanups
Move declaration of RowList to Row.h
Move initialization of POD members of Row and Row::Element to declaration.
Make method isVirtual() depend on type.
Add new row element type INVALID and method isValid()
Make methods R::E::left/right_pos inline.
Add method R::E::splitAt() that returns an element containing the
remaining stuff, or an invalid element if nothing was split. breakAt
is now a simple wrapper around this function.
Add method R::push_back().
diff --git a/src/ParagraphMetrics.h b/src/ParagraphMetrics.h
index 9889473..1d690aa 100644
--- a/src/ParagraphMetrics.h
+++ b/src/ParagraphMetrics.h
@@ -20,17 +20,8 @@
#include "Dimension.h"
#include "Row.h"
-#include <vector>
-
namespace lyx {
-/**
- * Each paragraph is broken up into a number of rows on the screen.
- * This is a list of such on-screen rows, ordered from the top row
- * downwards.
- */
-typedef std::vector<Row> RowList;
-
class BufferView;
class Paragraph;
diff --git a/src/Row.cpp b/src/Row.cpp
index 2f6db3d..da2d885 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -124,53 +124,43 @@ pos_type Row::Element::x2pos(int &x) const
x = 0;
i = isRTL();
}
+ break;
+ case INVALID:
+ LYXERR0("x2pos: INVALID row element !");
}
//lyxerr << "=> p=" << pos + i << " x=" << x << endl;
return pos + i;
}
-bool Row::Element::breakAt(int w, bool force)
+Row::Element Row::Element::splitAt(int w, bool force)
{
if (type != STRING)
- return false;
+ return Element();
FontMetrics const & fm = theFontMetrics(font);
dim.wid = w;
int const i = fm.breakAt(str, dim.wid, isRTL(), force);
if (i != -1) {
+ Element ret(STRING, pos + i, font, change);
+ ret.str = str.substr(i);
+ ret.endpos = ret.pos + ret.str.length();
str.erase(i);
endpos = pos + i;
//lyxerr << "breakAt(" << w << ") Row element Broken at " << x << "(w(str)=" << fm.width(str) << "): e=" << *this << endl;
+ return ret;
}
- return i != - 1;
+ return Element();
}
-pos_type Row::Element::left_pos() const
-{
- return isRTL() ? endpos : pos;
-}
-
-
-pos_type Row::Element::right_pos() const
+bool Row::Element::breakAt(int w, bool force)
{
- return isRTL() ? pos : endpos;
+ return splitAt(w, force).isValid();
}
-Row::Row()
- : separator(0), label_hfill(0), left_margin(0), right_margin(0),
- sel_beg(-1), sel_end(-1),
- begin_margin_sel(false), end_margin_sel(false),
- changed_(true),
- pit_(0), pos_(0), end_(0),
- right_boundary_(false), flushed_(false), rtl_(false),
- changebar_(false)
-{}
-
-
bool Row::isMarginSelected(bool left, DocIterator const & beg,
DocIterator const & end) const
{
@@ -262,6 +252,9 @@ ostream & operator<<(ostream & os, Row::Element const & e)
case Row::SPACE:
os << "SPACE: ";
break;
+ case Row::INVALID:
+ os << "INVALID: ";
+ break;
}
os << "width=" << e.full_width();
return os;
@@ -443,6 +436,13 @@ void Row::addSpace(pos_type const pos, int const width,
}
+void Row::push_back(Row::Element const & e)
+{
+ dim_.wid += e.dim.wid;
+ elements_.push_back(e);
+}
+
+
void Row::pop_back()
{
dim_.wid -= elements_.back().dim.wid;
diff --git a/src/Row.h b/src/Row.h
index b54a233..3048cf1 100644
--- a/src/Row.h
+++ b/src/Row.h
@@ -49,7 +49,9 @@ public:
// An inset
INSET,
// Some spacing described by its width, not a string
- SPACE
+ SPACE,
+ // Something that should not happen (for error handling)
+ INVALID
};
/**
@@ -57,9 +59,12 @@ public:
* by other methods that need to parse the Row contents.
*/
struct Element {
+ //
+ Element() = default;
+ //
Element(Type const t, pos_type p, Font const & f, Change const & ch)
- : type(t), pos(p), endpos(p + 1), inset(0),
- extra(0), font(f), change(ch), final(false) {}
+ : type(t), pos(p), endpos(p + 1), font(f), change(ch) {}
+
// Return the number of separator in the element (only STRING type)
int countSeparators() const;
@@ -86,40 +91,49 @@ public:
* adjusted to the actual pixel position.
*/
pos_type x2pos(int &x) const;
+ /** Break the element in two if possible, so that its width is less
+ * than \param w.
+ * \return an element containing the remainder of the text, or
+ * an invalid element if nothing happened.
+ * \param w: the desired maximum width
+ * \param force: if true, the string is cut at any place, otherwise it
+ * respects the row breaking rules of characters.
+ */
+ Element splitAt(int w, bool force);
/** Break the element if possible, so that its width is less
* than \param w. Returns true on success. When \param force
- * is true, the string is cut at any place, other wise it
+ * is true, the string is cut at any place, otherwise it
* respects the row breaking rules of characters.
*/
bool breakAt(int w, bool force);
- // Returns the position on left side of the element.
- pos_type left_pos() const;
- // Returns the position on right side of the element.
- pos_type right_pos() const;
-
//
bool isRTL() const { return font.isVisibleRightToLeft(); }
// This is true for virtual elements.
- // Note that we do not use the type here. The two definitions
- // should be equivalent
- bool isVirtual() const { return pos == endpos; }
+ bool isVirtual() const { return type == VIRTUAL; }
+ // Invalid element, for error handling
+ bool isValid() const { return type !=INVALID; }
+
+ // Returns the position on left side of the element.
+ pos_type left_pos() const { return isRTL() ? endpos : pos; };
+ // Returns the position on right side of the element.
+ pos_type right_pos() const { return isRTL() ? pos : endpos; };
// The kind of row element
- Type type;
+ Type type = INVALID;
// position of the element in the paragraph
- pos_type pos;
+ pos_type pos = 0;
// first position after the element in the paragraph
- pos_type endpos;
+ pos_type endpos = 0;
// The dimension of the chunk (does not contains the
// separator correction)
Dimension dim;
// Non-zero only if element is an inset
- Inset const * inset;
+ Inset const * inset = nullptr;
// Only non-null for justified rows
- double extra;
+ double extra = 0;
// Non-empty if element is a string or is virtual
docstring str;
@@ -128,14 +142,15 @@ public:
//
Change change;
// is it possible to add contents to this element?
- bool final;
+ bool final = false;
friend std::ostream & operator<<(std::ostream & os, Element const & row);
};
///
- Row();
+ Row() {}
+
/**
* Helper function: set variable \c var to value \c val, and mark
* row as changed is the values were different. This is intended
@@ -264,7 +279,9 @@ public:
Element & back() { return elements_.back(); }
///
Element const & back() const { return elements_.back(); }
- /// remove last element
+ /// add element at the end and update width
+ void push_back(Element const &);
+ /// remove last element and update width
void pop_back();
/**
* if row width is too large, remove all elements after last
@@ -301,21 +318,21 @@ public:
friend std::ostream & operator<<(std::ostream & os, Row const & row);
/// additional width for separators in justified rows (i.e. space)
- double separator;
+ double separator = 0;
/// width of hfills in the label
- double label_hfill;
+ double label_hfill = 0;
/// the left margin position of the row
- int left_margin;
+ int left_margin = 0;
/// the right margin of the row
- int right_margin;
+ int right_margin = 0;
///
- mutable pos_type sel_beg;
+ mutable pos_type sel_beg = -1;
///
- mutable pos_type sel_end;
+ mutable pos_type sel_end = -1;
///
- mutable bool begin_margin_sel;
+ mutable bool begin_margin_sel = false;
///
- mutable bool end_margin_sel;
+ mutable bool end_margin_sel = false;
private:
/// Decides whether the margin is selected.
@@ -340,28 +357,35 @@ private:
Elements elements_;
/// has the Row appearance changed since last drawing?
- mutable bool changed_;
+ mutable bool changed_ = true;
/// Index of the paragraph that contains this row
- pit_type pit_;
+ pit_type pit_ = 0;
/// first pos covered by this row
- pos_type pos_;
+ pos_type pos_ = 0;
/// one behind last pos covered by this row
- pos_type end_;
+ pos_type end_ = 0;
// Is there a boundary at the end of the row (display inset...)
- bool right_boundary_;
+ bool right_boundary_ = false;
// Shall the row be flushed when it is supposed to be justified?
- bool flushed_;
+ bool flushed_ = false;
/// Row dimension.
Dimension dim_;
/// Row contents dimension. Does not contain the space above/below row.
Dimension contents_dim_;
/// true when this row lives in a right-to-left paragraph
- bool rtl_;
+ bool rtl_ = false;
/// true when a changebar should be drawn in the margin
- bool changebar_;
+ bool changebar_ = false;
};
+/**
+ * Each paragraph is broken up into a number of rows on the screen.
+ * This is a list of such on-screen rows, ordered from the top row
+ * downwards.
+ */
+typedef std::vector<Row> RowList;
+
} // namespace lyx
#endif
diff --git a/src/RowPainter.cpp b/src/RowPainter.cpp
index 400b7b6..656f89a 100644
--- a/src/RowPainter.cpp
+++ b/src/RowPainter.cpp
@@ -565,6 +565,10 @@ void RowPainter::paintText()
case Row::SPACE:
paintTextDecoration(e);
+ break;
+
+ case Row::INVALID:
+ LYXERR0("Trying to paint INVALID row element.");
}
// The markings of foreign languages
commit 1831f6caaccb7d75e23459fca3b1f7fe9df07766
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sat Jul 10 23:21:27 2021 +0200
Change FontMetrics::breakAt to return a position
Since we intend to break the row element in two, it is not good to
truncate the string too early.
Moreover, the row element width is now set at this point, even if no
breaking occurs.
diff --git a/src/Row.cpp b/src/Row.cpp
index 16ae9ae..2f6db3d 100644
--- a/src/Row.cpp
+++ b/src/Row.cpp
@@ -132,19 +132,19 @@ pos_type Row::Element::x2pos(int &x) const
bool Row::Element::breakAt(int w, bool force)
{
- if (type != STRING || dim.wid <= w)
+ if (type != STRING)
return false;
FontMetrics const & fm = theFontMetrics(font);
- int x = w;
- if(fm.breakAt(str, x, isRTL(), force)) {
- dim.wid = x;
- endpos = pos + str.length();
+ dim.wid = w;
+ int const i = fm.breakAt(str, dim.wid, isRTL(), force);
+ if (i != -1) {
+ str.erase(i);
+ endpos = pos + i;
//lyxerr << "breakAt(" << w << ") Row element Broken at " << x << "(w(str)=" << fm.width(str) << "): e=" << *this << endl;
- return true;
}
- return false;
+ return i != - 1;
}
diff --git a/src/frontends/FontMetrics.h b/src/frontends/FontMetrics.h
index 2a6ffea..b562ebf 100644
--- a/src/frontends/FontMetrics.h
+++ b/src/frontends/FontMetrics.h
@@ -122,13 +122,14 @@ public:
*/
virtual int x2pos(docstring const & s, int & x, bool rtl, double ws) const = 0;
/**
- * Break string at width at most x.
- * \return true if successful
+ * Break string s at width at most x.
+ * \return break position (-1 if not successful)
+ * \param position x is updated to real width
* \param rtl is true for right-to-left layout
* \param force is false for breaking at word separator, true for
* arbitrary position.
*/
- virtual bool breakAt(docstring & s, int & x, bool rtl, bool force) const = 0;
+ virtual int breakAt(docstring const & s, int & x, bool rtl, bool force) const = 0;
/// return char dimension for the font.
virtual Dimension const dimension(char_type c) const = 0;
/**
diff --git a/src/frontends/qt/GuiFontMetrics.cpp b/src/frontends/qt/GuiFontMetrics.cpp
index 5e8f535..25bf7a4 100644
--- a/src/frontends/qt/GuiFontMetrics.cpp
+++ b/src/frontends/qt/GuiFontMetrics.cpp
@@ -533,7 +533,7 @@ GuiFontMetrics::breakAt_helper(docstring const & s, int const x,
tl.endLayout();
int const line_wid = iround(line.horizontalAdvance());
if ((force && line.textLength() == offset) || line_wid > x)
- return {-1, -1};
+ return {-1, line_wid};
/* Since QString is UTF-16 and docstring is UCS-4, the offsets may
* not be the same when there are high-plan unicode characters
* (bug #10443).
@@ -557,6 +557,9 @@ GuiFontMetrics::breakAt_helper(docstring const & s, int const x,
--len;
LASSERT(len > 0 || qlen == 0, /**/);
#endif
+ // si la chaîne est déjà trop courte, on ne coupe pas
+ if (len == static_cast<int>(s.length()))
+ len = -1;
return {len, line_wid};
}
@@ -568,7 +571,7 @@ uint qHash(BreakAtKey const & key)
}
-bool GuiFontMetrics::breakAt(docstring & s, int & x, bool const rtl, bool const force) const
+int GuiFontMetrics::breakAt(docstring const & s, int & x, bool const rtl, bool const force) const
{
PROFILE_THIS_BLOCK(breakAt);
if (s.empty())
@@ -583,11 +586,8 @@ bool GuiFontMetrics::breakAt(docstring & s, int & x, bool const rtl, bool const
pp = breakAt_helper(s, x, rtl, force);
breakat_cache_.insert(key, pp, sizeof(key) + s.size() * sizeof(char_type));
}
- if (pp.first == -1)
- return false;
- s = s.substr(0, pp.first);
x = pp.second;
- return true;
+ return pp.first;
}
diff --git a/src/frontends/qt/GuiFontMetrics.h b/src/frontends/qt/GuiFontMetrics.h
index 9c7ce89..ef8588a 100644
--- a/src/frontends/qt/GuiFontMetrics.h
+++ b/src/frontends/qt/GuiFontMetrics.h
@@ -77,7 +77,7 @@ public:
int signedWidth(docstring const & s) const override;
int pos2x(docstring const & s, int pos, bool rtl, double ws) const override;
int x2pos(docstring const & s, int & x, bool rtl, double ws) const override;
- bool breakAt(docstring & s, int & x, bool rtl, bool force) const override;
+ int breakAt(docstring const & s, int & x, bool rtl, bool force) const override;
Dimension const dimension(char_type c) const override;
void rectText(docstring const & str,
commit ae56fb617184114329d1e5b9b5fbd6e2bc112231
Author: Stephan Witt <switt at lyx.org>
Date: Tue Dec 7 10:02:05 2021 +0100
Qt6 pixmaps are always HiDPI - avoid deprecate warning for setAttribute
diff --git a/src/frontends/qt/GuiApplication.cpp b/src/frontends/qt/GuiApplication.cpp
index 54c8910..ed20130 100644
--- a/src/frontends/qt/GuiApplication.cpp
+++ b/src/frontends/qt/GuiApplication.cpp
@@ -2788,7 +2788,7 @@ void GuiApplication::execBatchCommands()
#if QT_VERSION > 0x040600
setAttribute(Qt::AA_MacDontSwapCtrlAndMeta,lyxrc.mac_dontswap_ctrl_meta);
#endif
-#if QT_VERSION > 0x050100
+#if QT_VERSION >= 0x050000 && QT_VERSION < 0x060000
setAttribute(Qt::AA_UseHighDpiPixmaps,true);
#endif
// Create the global default menubar which is shown for the dialogs
commit 53ed3dc0627d925500db20594af301052b785378
Author: Stephan Witt <switt at lyx.org>
Date: Mon Dec 6 07:51:26 2021 +0100
Automate Qt major version detection in macOS build script
diff --git a/development/LyX-Mac-binary-release.sh b/development/LyX-Mac-binary-release.sh
index 04da1f3..25b1c7a 100644
--- a/development/LyX-Mac-binary-release.sh
+++ b/development/LyX-Mac-binary-release.sh
@@ -47,7 +47,7 @@ LyXConfigureOptions="${LyXConfigureOptions} --disable-stdlib-debug"
AspellConfigureOptions="--enable-warnings --enable-optimization=-O0 --enable-debug --disable-nls --enable-compile-in-filters --disable-pspell-compatibility"
HunspellConfigureOptions="--with-warnings --disable-nls --disable-static"
-QtMajorVersion=qt4
+QtMajorVersion=$(echo "${QtVersion}"|cut -d. -f1)
QtConfigureOptions="${QtConfigureOptions} -opensource -silent -shared -confirm-license"
# stupid special case...
case "${QtVersion}:${QtAPI}" in
@@ -63,7 +63,6 @@ case "${QtVersion}:${QtAPI}" in
QtConfigureOptions="${QtConfigureOptions} -fast -no-strip"
QtConfigureOptions="${QtConfigureOptions} -no-javascript-jit -no-pkg-config"
QtConfigureOptions="${QtConfigureOptions} -nomake examples -nomake demos -nomake docs -nomake tools"
- QtMajorVersion=qt5
;;
5.6*|5.7*)
QtConfigureOptions="${QtConfigureOptions} -no-strip"
@@ -73,7 +72,6 @@ case "${QtVersion}:${QtAPI}" in
QtConfigureOptions="${QtConfigureOptions} -skip qtquickcontrols"
QtConfigureOptions="${QtConfigureOptions} -skip qttools"
QtConfigureOptions="${QtConfigureOptions} -skip qtdeclarative"
- QtMajorVersion=qt5
;;
5.*)
QtConfigureOptions="${QtConfigureOptions} -no-strip"
@@ -82,7 +80,6 @@ case "${QtVersion}:${QtAPI}" in
for component in ${QtSkipComponents} ; do
QtConfigureOptions="${QtConfigureOptions} -skip ${component}"
done
- QtMajorVersion=qt5
;;
*)
QtConfigureOptions="${QtConfigureOptions} -fast -no-exceptions"
@@ -1055,7 +1052,7 @@ build_package() {
for arch in ${ARCH_LIST} ; do
DMGARCH="${DMGARCH}-${arch}"
done
- QtDmgArchSuffix=${QtMajorVersion}${DMGARCH}${QtAPI}.dmg
+ QtDmgArchSuffix="qt"${QtMajorVersion}${DMGARCH}${QtAPI}.dmg
test -n "${DMGLocation}" && (
make_dmg "${DMGLocation}"
commit b48620dff17f69e8fd8dd9344ef49007b6c28c32
Author: Stephan Witt <switt at lyx.org>
Date: Mon Dec 6 07:46:35 2021 +0100
Care for consistent compiler flag values of macosx-version-min with ObjC and C++
diff --git a/config/lyxinclude.m4 b/config/lyxinclude.m4
index 40f86ab..e6cab08 100644
--- a/config/lyxinclude.m4
+++ b/config/lyxinclude.m4
@@ -694,7 +694,7 @@ AC_DEFUN([LYX_CHECK_MACOS_DEPLOYMENT_TARGET],[
;;
esac
fi
- AM_CXXFLAGS="-mmacosx-version-min=$macos_deployment_target $AM_CXXFLAGS"
+ AM_CPPFLAGS="-mmacosx-version-min=$macos_deployment_target $AM_CPPFLAGS"
AM_LDFLAGS="-mmacosx-version-min=$macos_deployment_target $AM_LDFLAGS"
AC_SUBST(macos_deployment_target,"${macos_deployment_target}")
AC_MSG_CHECKING([the macos deployment target for LyX])
commit d4678a734acdf57fce243769a5245583554ccf59
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Sun Dec 5 22:07:06 2021 -0500
ctests: log a fixed issue
diff --git a/development/autotests/ctests-costs-benefits.txt b/development/autotests/ctests-costs-benefits.txt
index 3865ee1..f502ddf 100644
--- a/development/autotests/ctests-costs-benefits.txt
+++ b/development/autotests/ctests-costs-benefits.txt
@@ -58,6 +58,9 @@ Note1 : We are still not sure what to do regarding how to make it more user-fri
for users to realize that "-dALLOWPSTRANSPARENCY" is needed for the ps2pdf converter.
Benefit: 14 days (https://www.lyx.org/trac/ticket/12303)
+Report : https://www.mail-archive.com/search?l=mid&q=20211205190238.edrtqmg3fkdr7gbo%40poole
+Fix : 489bf46a, e3489d54
+
Examples where upstream (e.g., LaTeX packages) bugs were fixed (more quickly)
because of ctests:
commit e3489d54e3485ef186eb70b06d4372eaa400db98
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Dec 5 22:53:36 2021 +0100
DocBook: implement margin/sidenotes in Tufte.
diff --git a/autotests/export/docbook/Tufte_Book.xml b/autotests/export/docbook/Tufte_Book.xml
index 3289cfd..0c1cd57 100644
--- a/autotests/export/docbook/Tufte_Book.xml
+++ b/autotests/export/docbook/Tufte_Book.xml
@@ -1,6 +1,6 @@
<?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 -->
+ See https://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>
@@ -19,10 +19,15 @@ 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⇒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">
+</footnote> Alternatively, you can also use the <code>Sidenote</code> inset directly; you'll find it in the <emphasis role='sans'>Insert⇒Custom Insets</emphasis> menu.<footnote role='sidenote'>
+<para>This is a sidenote that was entered using a sidenote.</para>
+</footnote></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. <footnote role='marginnote'>
+<para>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.</para>
+</footnote> The normal margin note will work as well, but it will look rather odd.<sidebar role="margin">
<?dbfo float-type="margin.note"?>
-<para>This is a normal margin note. Don't use it.</para></sidebar></para>
+<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⇒TextStyle⇒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 <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⇒TextStyle⇒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⇒TextStyle⇒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>
diff --git a/lib/layouts/tufte-book.layout b/lib/layouts/tufte-book.layout
index f36f395..bc79f5d 100644
--- a/lib/layouts/tufte-book.layout
+++ b/lib/layouts/tufte-book.layout
@@ -170,6 +170,10 @@ InsetLayout Flex:Sidenote
Color marginlabel
Size Small
EndFont
+ DocBookTag footnote
+ DocBookAttr role='sidenote'
+ DocBookItemTag para
+ DocBookTagType inline
ResetsFont true
End
@@ -183,6 +187,7 @@ InsetLayout Flex:Marginnote
Shape Up
Series Medium
EndFont
+ DocBookAttr role='marginnote'
MultiPar true
End
@@ -201,6 +206,7 @@ InsetLayout Flex:NewThought
ResetsFont true
DocBookTag emphasis
DocBookAttr role='newthought'
+ DocBookTagType inline
End
InsetLayout Flex:AllCaps
commit 489bf46a0345216f1a281617ec2a1ae6019c189f
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Dec 5 22:44:17 2021 +0100
DocBook: recognise Tufte's float types (margin*).
diff --git a/src/Floating.cpp b/src/Floating.cpp
index 6a532aa..9a20d7c 100644
--- a/src/Floating.cpp
+++ b/src/Floating.cpp
@@ -57,11 +57,11 @@ Floating::Floating(string const & type, string const & placement,
// If some type is predetermined in the layout, use it.
if (!docbookFloatType.empty() && allowedFloatTypes.find(docbookFloatType) != allowedFloatTypes.end())
docbook_float_type_ = docbookFloatType;
- // Otherwise, try to guess the type.
- else if (floattype_ == "figure" || floattype_ == "graph" ||
- floattype_ == "chart" || floattype_ == "scheme") {
+ // Otherwise, try to guess the DocBook type based on the float type.
+ else if (floattype_ == "figure" || floattype_ == "graph" || floattype_ == "chart" || floattype_ == "scheme" ||
+ floattype_ == "marginfigure") {
docbook_float_type_ = "figure";
- } else if (floattype_ == "table" || floattype_ == "tableau") {
+ } else if (floattype_ == "table" || floattype_ == "tableau" || floattype_ == "margintable") {
docbook_float_type_ = "table";
} else if (floattype_ == "algorithm") {
docbook_float_type_ = "algorithm";
commit 495cde1aca42fb94050f9aea2186e165bb2ead06
Author: Stephan Witt <switt at lyx.org>
Date: Sun Dec 5 22:38:42 2021 +0100
Qt 5.12.x requires at least MacOS 10.12
diff --git a/config/lyxinclude.m4 b/config/lyxinclude.m4
index e4acd7b..40f86ab 100644
--- a/config/lyxinclude.m4
+++ b/config/lyxinclude.m4
@@ -686,6 +686,9 @@ AC_DEFUN([LYX_CHECK_MACOS_DEPLOYMENT_TARGET],[
if test "${macos_deployment_target}" = "auto" ; then
macos_deployment_target="10.10"
case "$QTLIB_VERSION" in
+ 5.12.*)
+ macos_deployment_target="10.12"
+ ;;
6.*)
macos_deployment_target="10.14"
;;
commit f700aa98d45f019d4cf875009dc684bbda32a5ec
Author: Stephan Witt <switt at lyx.org>
Date: Sun Dec 5 22:36:36 2021 +0100
Amend change d1d22a1433e503c3f36aa982c2a7ec9d1f79273d - configure Mac compiler flags on Mac only
diff --git a/configure.ac b/configure.ac
index 02a89a8..eabbcf8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -193,7 +193,9 @@ AC_CHECK_FUNCS(chmod close _close fork getpid _getpid lockf lstat mkfifo open _o
AC_FUNC_MKDIR
AC_FUNC_SELECT_ARGTYPES
-LYX_CHECK_MACOS_DEPLOYMENT_TARGET
+if test "$lyx_use_packaging" = "macosx" ; then
+ LYX_CHECK_MACOS_DEPLOYMENT_TARGET
+fi
LYX_CHECK_SPELL_ENGINES
LYX_USE_INCLUDED_MYTHES
commit bea2abf6ebe3138508a87787b5abb522cf93cbe4
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Dec 5 20:11:47 2021 +0100
InsetMathHull: fix column alignment for MathML.
https://www.lyx.org/trac/attachment/ticket/12221/0005-mathmlize-mathhull-checks-for-alignment.patch by lynx
diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp
index 97d95da..b33813b 100644
--- a/src/mathed/InsetMathHull.cpp
+++ b/src/mathed/InsetMathHull.cpp
@@ -2537,22 +2537,26 @@ void InsetMathHull::htmlize(HtmlStream & os) const
// and we simply do not have that in InsetMathGrid.
void InsetMathHull::mathmlize(MathMLStream & ms) const
{
- bool const havenumbers = haveNumbers();
- bool const havetable = havenumbers || nrows() > 1 || ncols() > 1;
+ bool const havetable = haveNumbers() || nrows() > 1 || ncols() > 1;
if (havetable) {
- if (getType() == hullSimple)
- ms << MTag("mtable");
- else if (getType() >= hullAlign && getType() <= hullXXAlignAt)
- ms << MTag("mtable", "displaystyle='true' columnalign='right left'");
- else
- ms << MTag("mtable", "displaystyle='true'");
+ if (getType() == hullSimple) {
+ ms << MTag("mtable");
+ } else if (getType() >= hullAlign && getType() <= hullXXAlignAt) {
+ string alignment;
+ for (col_type col = 0; col < ncols(); ++col) {
+ alignment += (col % 2) ? "left " : "right ";
+ }
+ ms << MTag("mtable", "displaystyle='true' columnalign='" + alignment + "'");
+ } else {
+ ms << MTag("mtable", "displaystyle='true'");
+ }
}
char const * const celltag = havetable ? "mtd" : "mrow";
// FIXME There does not seem to be wide support at the moment
// for mlabeledtr, so we have to use just mtr for now.
- // char const * const rowtag = havenumbers ? "mlabeledtr" : "mtr";
+ // char const * const rowtag = haveNumbers() ? "mlabeledtr" : "mtr";
char const * const rowtag = "mtr";
for (row_type row = 0; row < nrows(); ++row) {
if (havetable)
@@ -2563,12 +2567,12 @@ void InsetMathHull::mathmlize(MathMLStream & ms) const
<< ETag(celltag);
}
// fleqn?
- if (havenumbers) {
+ if (haveNumbers()) {
ms << MTag("mtd");
docstring const & num = numbers_[row];
if (!num.empty())
ms << MTagInline("mtext") << '(' << num << ')' << ETagInline("mtext");
- ms << ETag("mtd");
+ ms << ETag("mtd");
}
if (havetable)
ms << ETag(rowtag);
commit a81dd6518af8ab9b2fc9cf09f38dea5746c2375e
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Dec 5 19:15:06 2021 +0100
MathStream: better order for the calls to tab() and cr().
Part of https://www.lyx.org/trac/attachment/ticket/12221/0006-amends-to-a579128c-a68e9793-a68e9793.patch by lynx.
diff --git a/src/mathed/MathStream.cpp b/src/mathed/MathStream.cpp
index a6d160c..a05e54a 100644
--- a/src/mathed/MathStream.cpp
+++ b/src/mathed/MathStream.cpp
@@ -361,8 +361,8 @@ MathMLStream & operator<<(MathMLStream & ms, char_type c)
MathMLStream & operator<<(MathMLStream & ms, MTag const & t)
{
- ++ms.tab();
ms.cr();
+ ++ms.tab();
ms.os() << '<' << from_ascii(ms.namespacedTag(t.tag_));
if (!t.attr_.empty())
ms.os() << " " << from_ascii(t.attr_);
@@ -384,9 +384,9 @@ MathMLStream & operator<<(MathMLStream & ms, MTagInline const & t)
MathMLStream & operator<<(MathMLStream & ms, ETag const & t)
{
- ms.cr();
if (ms.tab() > 0)
--ms.tab();
+ ms.cr();
ms.os() << "</" << from_ascii(ms.namespacedTag(t.tag_)) << ">";
return ms;
}
commit 115ff2fa3c55ff18da3792b8129990c80dbdc1ed
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Dec 5 18:54:05 2021 +0100
Similar fixes as 946ba7781c179752e450e98a0c356372323100a6
diff --git a/src/mathed/InsetMathBig.cpp b/src/mathed/InsetMathBig.cpp
index 180af9b..0ddb6c8 100644
--- a/src/mathed/InsetMathBig.cpp
+++ b/src/mathed/InsetMathBig.cpp
@@ -137,7 +137,7 @@ void InsetMathBig::normalize(NormalStream & os) const
void InsetMathBig::mathmlize(MathMLStream & ms) const
{
- ms << MTagInline("mo", "fence='true' stretchy='true' symmetric='true'>")
+ ms << MTagInline("mo", "fence='true' stretchy='true' symmetric='true'")
<< convertDelimToXMLEscape(delim_, ms.xmlMode())
<< ETagInline("mo");
}
diff --git a/src/mathed/InsetMathBoldSymbol.cpp b/src/mathed/InsetMathBoldSymbol.cpp
index a0651ea..4dd1871 100644
--- a/src/mathed/InsetMathBoldSymbol.cpp
+++ b/src/mathed/InsetMathBoldSymbol.cpp
@@ -109,7 +109,7 @@ void InsetMathBoldSymbol::write(TeXMathStream & os) const
void InsetMathBoldSymbol::mathmlize(MathMLStream & ms) const
{
- ms << MTagInline("mstyle", "mathvariant='bold'>")
+ ms << MTagInline("mstyle", "mathvariant='bold'")
<< cell(0)
<< ETagInline("mstyle");
}
diff --git a/src/mathed/InsetMathDelim.cpp b/src/mathed/InsetMathDelim.cpp
index f5efc43..cd4f8aa 100644
--- a/src/mathed/InsetMathDelim.cpp
+++ b/src/mathed/InsetMathDelim.cpp
@@ -185,10 +185,8 @@ void InsetMathDelim::mathmlize(MathMLStream & ms) const
<< MTagInline("mo", "form='prefix' fence='true' stretchy='true' symmetric='true'")
<< convertDelimToXMLEscape(left_, ms.xmlMode())
<< ETagInline("mo")
- << "\n"
<< cell(0)
- << "\n"
- << MTagInline("mo", "form='postfix' fence='true' stretchy='true' symmetric='true'>")
+ << MTagInline("mo", "form='postfix' fence='true' stretchy='true' symmetric='true'")
<< convertDelimToXMLEscape(right_, ms.xmlMode())
<< ETagInline("mo")
<< ETag("mrow");
commit 946ba7781c179752e450e98a0c356372323100a6
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Dec 5 18:48:27 2021 +0100
Amend a68e9793: duplicate tag delimiter end.
diff --git a/src/mathed/InsetMathDelim.cpp b/src/mathed/InsetMathDelim.cpp
index e2bd5ac..f5efc43 100644
--- a/src/mathed/InsetMathDelim.cpp
+++ b/src/mathed/InsetMathDelim.cpp
@@ -182,7 +182,7 @@ void InsetMathDelim::mathematica(MathematicaStream & os) const
void InsetMathDelim::mathmlize(MathMLStream & ms) const
{
ms << MTag("mrow")
- << MTagInline("mo", "form='prefix' fence='true' stretchy='true' symmetric='true'>")
+ << MTagInline("mo", "form='prefix' fence='true' stretchy='true' symmetric='true'")
<< convertDelimToXMLEscape(left_, ms.xmlMode())
<< ETagInline("mo")
<< "\n"
commit d1d22a1433e503c3f36aa982c2a7ec9d1f79273d
Author: Stephan Witt <switt at lyx.org>
Date: Sun Dec 5 11:10:11 2021 +0100
introduce LSMinimumSystemVersion for Mac package with automatic Qt-version based detection plus configure option to choose it manually
diff --git a/config/lyxinclude.m4 b/config/lyxinclude.m4
index afad2bd..e4acd7b 100644
--- a/config/lyxinclude.m4
+++ b/config/lyxinclude.m4
@@ -674,6 +674,31 @@ AC_DEFUN([LYX_USE_INCLUDED_MYTHES],[
])
+dnl Usage: LYX_CHECK_MACOS_DEPLOYMENT_TARGET : select the macos deployment target
+dnl [default-auto-value])
+dnl Assign the macosx-version-min value for compiler, linker and Info.plist.
+dnl Default is dynamic - depends on used Qt library version.
+AC_DEFUN([LYX_CHECK_MACOS_DEPLOYMENT_TARGET],[
+ AC_ARG_WITH(macos-deployment-target,
+ [AS_HELP_STRING([--with-macos-deployment-target], [force the macos deployment target for LyX])],
+ [macos_deployment_target=$withval],
+ [macos_deployment_target=auto])
+ if test "${macos_deployment_target}" = "auto" ; then
+ macos_deployment_target="10.10"
+ case "$QTLIB_VERSION" in
+ 6.*)
+ macos_deployment_target="10.14"
+ ;;
+ esac
+ fi
+ AM_CXXFLAGS="-mmacosx-version-min=$macos_deployment_target $AM_CXXFLAGS"
+ AM_LDFLAGS="-mmacosx-version-min=$macos_deployment_target $AM_LDFLAGS"
+ AC_SUBST(macos_deployment_target,"${macos_deployment_target}")
+ AC_MSG_CHECKING([the macos deployment target for LyX])
+ AC_MSG_RESULT([$macos_deployment_target])
+])
+
+
dnl Usage: LYX_WITH_DIR(dir-name,desc,dir-var-name,default-value,
dnl [default-yes-value])
dnl Adds a --with-'dir-name' option (described by 'desc') and puts the
diff --git a/configure.ac b/configure.ac
index 785d5c9..02a89a8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -193,6 +193,8 @@ AC_CHECK_FUNCS(chmod close _close fork getpid _getpid lockf lstat mkfifo open _o
AC_FUNC_MKDIR
AC_FUNC_SELECT_ARGTYPES
+LYX_CHECK_MACOS_DEPLOYMENT_TARGET
+
LYX_CHECK_SPELL_ENGINES
LYX_USE_INCLUDED_MYTHES
diff --git a/development/LyX-Mac-binary-release.sh b/development/LyX-Mac-binary-release.sh
index 30233cc..04da1f3 100644
--- a/development/LyX-Mac-binary-release.sh
+++ b/development/LyX-Mac-binary-release.sh
@@ -146,7 +146,6 @@ usage() {
echo " --aspell-deployment=yes|no ." default yes
echo " --with-qt-frameworks=yes|no." default no
echo " --qt-deployment=yes|no ....." default yes
- echo " --with-macosx-target=TARGET " default 10.4 "(Tiger)"
echo " --with-sdkroot=SDKROOT ....." default 10.5 "(Leopard)"
echo " --with-arch=ARCH ..........." default ppc,i386
echo " --with-build-path=PATH ....." default \${lyx-src-dir}/../lyx-build
@@ -190,8 +189,9 @@ while [ $# -gt 0 ]; do
QTDIR=$(echo ${1}|cut -d= -f2)
shift
;;
- --with-macosx-target=*)
+ --with-macos-deployment-target=*)
MACOSX_DEPLOYMENT_TARGET=$(echo ${1}|cut -d= -f2)
+ LyXConfigureOptions="${LyXConfigureOptions} ${1}"
shift
;;
--with-sdkroot=*)
@@ -690,8 +690,8 @@ build_lyx() {
if [ -d "${LyxBuildDir}" ]; then rm -r "${LyxBuildDir}"; fi
mkdir -p "${LyxBuildDir}" && cd "${LyxBuildDir}"
- CPPFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYCFLAGS}"
- LDFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYLDFLAGS}"
+ CPPFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch}"
+ LDFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch}"
if [ "$configure_qt_frameworks" = "yes" ]; then
export QT_CORE_CFLAGS="-FQtCore"
diff --git a/development/MacOSX/Info.plist.in b/development/MacOSX/Info.plist.in
index 64f12ae..e8d3b09 100644
--- a/development/MacOSX/Info.plist.in
+++ b/development/MacOSX/Info.plist.in
@@ -41,6 +41,8 @@
<string>YES</string>
<key>OSAScriptingDefinition</key>
<string>LyX.sdef</string>
+ <key>LSMinimumSystemVersion</key>
+ <string>@macos_deployment_target@</string>
<key>NSHighResolutionCapable</key>
<true/>
<key>NSPrincipalClass</key>
commit c7b4cae84099f097fa227444b6c9bd1036151d70
Author: Scott Kostyshak <skostysh at lyx.org>
Date: Sat Dec 4 15:17:36 2021 -0500
Typo in doc: capitalize "t" in "EndLabeltype"
diff --git a/lib/attic/doc/eu_Customization.lyx b/lib/attic/doc/eu_Customization.lyx
index 0bf4c36..0790b19 100644
--- a/lib/attic/doc/eu_Customization.lyx
+++ b/lib/attic/doc/eu_Customization.lyx
@@ -6496,7 +6496,7 @@ Counter_xxx
\family typewriter
\series medium
-EndLabeltype
+EndLabelType
\family default
\series default
diff --git a/lib/doc/Customization.lyx b/lib/doc/Customization.lyx
index 079b7f7..cd5d71d 100644
--- a/lib/doc/Customization.lyx
+++ b/lib/doc/Customization.lyx
@@ -14252,7 +14252,7 @@ Note that, besides that functionality, there is no way to ensure any ordering
status collapsed
\begin_layout Plain Layout
-EndLabeltype
+EndLabelType
\end_layout
\end_inset
diff --git a/lib/doc/de/Customization.lyx b/lib/doc/de/Customization.lyx
index b7b39a2..a569eaa 100644
--- a/lib/doc/de/Customization.lyx
+++ b/lib/doc/de/Customization.lyx
@@ -11698,7 +11698,7 @@ Beachten Sie, dass es auÃer dieser Funktionalität keine andere Möglichkeit
status collapsed
\begin_layout Plain Layout
-EndLabeltype
+EndLabelType
\end_layout
\end_inset
diff --git a/lib/doc/es/Customization.lyx b/lib/doc/es/Customization.lyx
index b494280..e9f76c7 100644
--- a/lib/doc/es/Customization.lyx
+++ b/lib/doc/es/Customization.lyx
@@ -12110,7 +12110,7 @@ Anotar que, excepto esta funcionalidad, no hay forma de asegurar ningún
status collapsed
\begin_layout Plain Layout
-EndLabeltype
+EndLabelType
\end_layout
\end_inset
diff --git a/lib/doc/fr/Customization.lyx b/lib/doc/fr/Customization.lyx
index 52fbd15..75b0f37 100644
--- a/lib/doc/fr/Customization.lyx
+++ b/lib/doc/fr/Customization.lyx
@@ -12028,7 +12028,7 @@ Noter que, à part cette fonctionnalité, il n'y a aucun moyen de garantir
status collapsed
\begin_layout Plain Layout
-EndLabeltype
+EndLabelType
\end_layout
\end_inset
diff --git a/lib/doc/ja/Customization.lyx b/lib/doc/ja/Customization.lyx
index 80f9fb6..c3b395a 100644
--- a/lib/doc/ja/Customization.lyx
+++ b/lib/doc/ja/Customization.lyx
@@ -10831,7 +10831,7 @@ status collapsed
status collapsed
\begin_layout Plain Layout
-EndLabeltype
+EndLabelType
\end_layout
\end_inset
commit 31146ae8d3c058f33931ba40ad36b6ad9c588195
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Sat Dec 4 17:53:03 2021 +0100
Prevent Outliner crash due to emptied toc value
This might need a more profound fix in the long term, see
https://marc.info/?l=lyx-devel&m=163588729224679&w=2
diff --git a/src/frontends/qt/TocModel.cpp b/src/frontends/qt/TocModel.cpp
index 16990b8..c0c3dce 100644
--- a/src/frontends/qt/TocModel.cpp
+++ b/src/frontends/qt/TocModel.cpp
@@ -327,6 +327,11 @@ TocItem const TocModels::currentItem(QString const & type,
}
LASSERT(index.model() == it.value()->model(), return TocItem());
+ if (it.value()->empty()) {
+ LYXERR(Debug::GUI, "TocModels::currentItem(): requested toc is empty!");
+ return TocItem();
+ }
+
return it.value()->tocItem(index);
}
diff --git a/src/frontends/qt/TocModel.h b/src/frontends/qt/TocModel.h
index 55507a0..ee44761 100644
--- a/src/frontends/qt/TocModel.h
+++ b/src/frontends/qt/TocModel.h
@@ -47,6 +47,8 @@ public:
///
void clear();
///
+ bool empty() { return toc_->empty(); }
+ ///
QAbstractItemModel * model();
///
QAbstractItemModel const * model() const;
commit 5eecfa3e049f6b23bce364b989155ce3e38590d8
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Sun Nov 28 14:33:45 2021 +0100
When inserting text character in mathed, group in same \text when possible.
When inserting ⬠in a math cell, it is put in a text inset and the
cursor leaves the inset. However, inserting ¤ then leads to
\text{â¬}\text{¤}.
Therefore, try to see if there is a previous \text inset that can be
recycled and insert the new inset there in this case, leading to
\text{â¬Â¤}.
Fixes bug #11979.
diff --git a/src/mathed/InsetMathNest.cpp b/src/mathed/InsetMathNest.cpp
index b62505a..7241e0b 100644
--- a/src/mathed/InsetMathNest.cpp
+++ b/src/mathed/InsetMathNest.cpp
@@ -1903,10 +1903,16 @@ bool InsetMathNest::interpretChar(Cursor & cur, char_type const c)
return true;
}
if (currentMode() == InsetMath::MATH_MODE && Encodings::isUnicodeTextOnly(c)) {
- MathAtom at = createInsetMath("text", buf);
- at.nucleus()->cell(0).push_back(MathAtom(new InsetMathChar(c)));
- cur.insert(at);
- cur.posForward();
+ MathAtom const atom(new InsetMathChar(c));
+ if (cur.prevInset() && cur.prevInset()->asInsetMath()->name() == "text") {
+ // reuse existing \text inset
+ cur.prevInset()->asInsetMath()->cell(0).push_back(atom);
+ } else {
+ MathAtom at = createInsetMath("text", buf);
+ at.nucleus()->cell(0).push_back(atom);
+ cur.insert(at);
+ cur.posForward();
+ }
return true;
}
} else {
commit e522c5444e14e1cfb4c47659f2fcb1c91ae6b2c4
Author: Daniel Ramoeller <d.lyx at web.de>
Date: Mon Nov 22 10:15:38 2021 +0100
InsertTableWidget support for dark mode and improved resizing
Fix for bug #12438.
diff --git a/src/frontends/qt/InsertTableWidget.cpp b/src/frontends/qt/InsertTableWidget.cpp
index 3746bb1..07ae061 100644
--- a/src/frontends/qt/InsertTableWidget.cpp
+++ b/src/frontends/qt/InsertTableWidget.cpp
@@ -33,7 +33,7 @@ namespace lyx {
namespace frontend {
InsertTableWidget::InsertTableWidget(QWidget * parent)
- : QWidget(parent, Qt::Popup), colwidth_(20), rowheight_(12)
+ : QWidget(parent, Qt::Popup), colwidth_(15), rowheight_(15), minrows_(5), mincols_(5)
{
init();
setMouseTracking(true);
@@ -42,8 +42,8 @@ InsertTableWidget::InsertTableWidget(QWidget * parent)
void InsertTableWidget::init()
{
- rows_ = 5;
- cols_ = 5;
+ rows_ = minrows_;
+ cols_ = mincols_;
bottom_ = 0;
right_ = 0;
underMouse_ = false;
@@ -98,13 +98,15 @@ void InsertTableWidget::mouseMoveEvent(QMouseEvent * event)
bottom_ = event->y() / rowheight_ + 1;
#endif
- if (bottom_ == rows_) {
- ++rows_;
+ int const newrows = std::max(minrows_, bottom_ + 1);
+ if (rows_ != newrows) {
+ rows_ = newrows;
resetGeometry();
}
- if (right_ == cols_) {
- ++cols_;
+ int const newcols = std::max(mincols_, right_ + 1);
+ if (cols_ != newcols) {
+ cols_ = newcols;
resetGeometry();
}
@@ -140,17 +142,20 @@ void InsertTableWidget::mousePressEvent(QMouseEvent * /*event*/)
void InsertTableWidget::paintEvent(QPaintEvent * /*event*/)
{
- drawGrid(rows_, cols_, Qt::white);
+ QPalette const palette = this->palette();
+ drawGrid(rows_, cols_, palette.base(), palette.text().color());
if (underMouse_)
- drawGrid(bottom_, right_, Qt::darkBlue);
+ drawGrid(bottom_, right_, palette.highlight(),
+ palette.highlightedText().color());
}
-void InsertTableWidget::drawGrid(int const rows, int const cols, Qt::GlobalColor const color)
+void InsertTableWidget::drawGrid(int const rows, int const cols,
+ QBrush const fillBrush, QColor lineColor)
{
QPainter painter(this);
- painter.setPen(Qt::darkGray);
- painter.setBrush(color);
+ painter.setPen(lineColor);
+ painter.setBrush(fillBrush);
for (int r = 0 ; r < rows ; ++r ) {
for (int c = 0 ; c < cols ; ++c ) {
diff --git a/src/frontends/qt/InsertTableWidget.h b/src/frontends/qt/InsertTableWidget.h
index 78e2497..5e2e244 100644
--- a/src/frontends/qt/InsertTableWidget.h
+++ b/src/frontends/qt/InsertTableWidget.h
@@ -48,7 +48,7 @@ private:
//! initialize parameters to default values
void init();
//! draw the grid
- void drawGrid(int rows, int cols, Qt::GlobalColor color);
+ void drawGrid(int rows, int cols, QBrush fillBrush, QColor lineColor);
//! colwidth in pixels
int colwidth_;
@@ -56,8 +56,12 @@ private:
int rowheight_;
//! total rows
int rows_;
+ //! minimum number of rows
+ int minrows_;
//! total cols
int cols_;
+ //! minimum number of cols
+ int mincols_;
//! row of pointer
int bottom_;
//! column of pointer
commit a9eb3c9990b9a05c7d7e569db5d13ad294742cbb
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Thu Nov 25 18:47:23 2021 +0100
Whitespace
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index cf2f53a..7fb46ae 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -4858,7 +4858,7 @@ Language * Paragraph::Private::getSpellLanguage(pos_type const from) const
void Paragraph::requestSpellCheck(pos_type pos)
{
d->requestSpellCheck(pos);
- if (pos == -1 ) {
+ if (pos == -1) {
// Also request spellcheck within (text) insets
for (auto const & insets : insetList()) {
if (!insets.inset->asInsetText())
commit 5a6498c3d3bfe0cfa562b67eaf1f8dd303d8152e
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Thu Nov 25 17:04:58 2021 +0100
Let paragraph::requestSpellcheck() consider contained insets
if "check whole paragraph" has been requested.
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 6b1e118..cf2f53a 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -4858,6 +4858,19 @@ Language * Paragraph::Private::getSpellLanguage(pos_type const from) const
void Paragraph::requestSpellCheck(pos_type pos)
{
d->requestSpellCheck(pos);
+ if (pos == -1 ) {
+ // Also request spellcheck within (text) insets
+ for (auto const & insets : insetList()) {
+ if (!insets.inset->asInsetText())
+ continue;
+ ParagraphList & inset_pars =
+ insets.inset->asInsetText()->paragraphs();
+ ParagraphList::iterator pit = inset_pars.begin();
+ ParagraphList::iterator pend = inset_pars.end();
+ for (; pit != pend; ++pit)
+ pit->requestSpellCheck();
+ }
+ }
}
commit e366dba9bfb702a83f697e9eb75aa0a1ad5ef3ce
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Thu Nov 25 17:04:17 2021 +0100
Factor out Buffer::requestSpellcheck() function
diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index e78a443..7cb5ac2 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -5381,6 +5381,15 @@ int Buffer::spellCheck(DocIterator & from, DocIterator & to,
}
+void Buffer::requestSpellcheck()
+{
+ ParagraphList::iterator pit = paragraphs().begin();
+ ParagraphList::iterator pend = paragraphs().end();
+ for (; pit != pend; ++pit)
+ pit->requestSpellCheck();
+}
+
+
void Buffer::Impl::updateStatistics(DocIterator & from, DocIterator & to, bool skipNoOutput)
{
bool inword = false;
diff --git a/src/Buffer.h b/src/Buffer.h
index e342199..332ef86 100644
--- a/src/Buffer.h
+++ b/src/Buffer.h
@@ -748,6 +748,8 @@ public:
/// \return progress if a new word was found.
int spellCheck(DocIterator & from, DocIterator & to,
WordLangTuple & word_lang, docstring_list & suggestions) const;
+ /// Marks the whole buffer to be checked (again)
+ void requestSpellcheck();
///
void checkChildBuffers();
///
diff --git a/src/Text3.cpp b/src/Text3.cpp
index 8257452..1623996 100644
--- a/src/Text3.cpp
+++ b/src/Text3.cpp
@@ -2762,11 +2762,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
bv->buffer().params().spellignore().push_back(wl);
cur.recordUndo();
// trigger re-check of whole buffer
- ParagraphList & pars = bv->buffer().paragraphs();
- ParagraphList::iterator pit = pars.begin();
- ParagraphList::iterator pend = pars.end();
- for (; pit != pend; ++pit)
- pit->requestSpellCheck();
+ bv->buffer().requestSpellcheck();
}
break;
}
@@ -2800,11 +2796,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
bv->buffer().params().spellignore().erase(it);
cur.recordUndo();
// trigger re-check of whole buffer
- ParagraphList & pars = bv->buffer().paragraphs();
- ParagraphList::iterator pit = pars.begin();
- ParagraphList::iterator pend = pars.end();
- for (; pit != pend; ++pit)
- pit->requestSpellCheck();
+ bv->buffer().requestSpellcheck();
}
break;
}
commit 4dec64dba4c3a4abbd29128e5407741b80a0c865
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
Date: Wed Nov 24 11:44:53 2021 +0100
gzstream is able to read uncompressed files too
This allows to simplify the code in Lexer and to remove the dependency
on Formats class.
As a consequence, a pair of dummy definitions of isZippedFile can be removed.
diff --git a/src/Lexer.cpp b/src/Lexer.cpp
index 17cc161..c6402ae 100644
--- a/src/Lexer.cpp
+++ b/src/Lexer.cpp
@@ -14,7 +14,6 @@
#include <config.h>
#include "Lexer.h"
-#include "Format.h"
#include "support/convert.h"
#include "support/debug.h"
@@ -81,9 +80,6 @@ public:
bool inputAvailable();
///
void pushToken(string const &);
- /// fb_ is only used to open files, the stream is accessed through is.
- filebuf fb_;
-
/// gz_ is only used to open files, the stream is accessed through is.
gz::gzstreambuf gz_;
@@ -149,7 +145,7 @@ bool compareTags(LexerKeyword const & a, LexerKeyword const & b)
Lexer::Pimpl::Pimpl(LexerKeyword * tab, int num)
- : is(&fb_), table(tab), no_items(num),
+ : is(&gz_), table(tab), no_items(num),
status(0), lineno(0), commentChar('#')
{
verifyTable();
@@ -235,38 +231,14 @@ void Lexer::Pimpl::popTable()
bool Lexer::Pimpl::setFile(FileName const & filename)
{
- // Check the format of the file.
- if (theFormats().isZippedFile(filename)) {
- LYXERR(Debug::LYXLEX, "lyxlex: compressed");
- // The check only outputs a debug message, because it triggers
- // a bug in compaq cxx 6.2, where is_open() returns 'true' for
- // a fresh new filebuf. (JMarc)
if (gz_.is_open() || istream::off_type(is.tellg()) > -1)
- LYXERR(Debug::LYXLEX, "Error in LyXLex::setFile: "
- "file or stream already set.");
+ LYXERR0("Error in LyXLex::setFile: file or stream already set.");
gz_.open(filename.toFilesystemEncoding().c_str(), ios::in);
is.rdbuf(&gz_);
name = filename.absFileName();
lineno = 0;
if (!gz_.is_open() || !is.good())
return false;
- } else {
- LYXERR(Debug::LYXLEX, "lyxlex: UNcompressed");
-
- // The check only outputs a debug message, because it triggers
- // a bug in compaq cxx 6.2, where is_open() returns 'true' for
- // a fresh new filebuf. (JMarc)
- if (fb_.is_open() || istream::off_type(is.tellg()) > 0) {
- LYXERR(Debug::LYXLEX, "Error in Lexer::setFile: "
- "file or stream already set.");
- }
- fb_.open(filename.toSafeFilesystemEncoding().c_str(), ios::in);
- is.rdbuf(&fb_);
- name = filename.absFileName();
- lineno = 0;
- if (!fb_.is_open() || !is.good())
- return false;
- }
// Skip byte order mark.
if (is.peek() == 0xef) {
@@ -284,10 +256,8 @@ bool Lexer::Pimpl::setFile(FileName const & filename)
void Lexer::Pimpl::setStream(istream & i)
{
- if (fb_.is_open() || istream::off_type(is.tellg()) > 0) {
- LYXERR(Debug::LYXLEX, "Error in Lexer::setStream: "
- "file or stream already set.");
- }
+ if (gz_.is_open() || istream::off_type(is.tellg()) > 0)
+ LYXERR0("Error in Lexer::setStream: file or stream already set.");
is.rdbuf(i.rdbuf());
lineno = 0;
}
diff --git a/src/tests/check_layout.cpp b/src/tests/check_layout.cpp
index afdb667..f92daa2 100644
--- a/src/tests/check_layout.cpp
+++ b/src/tests/check_layout.cpp
@@ -3,7 +3,6 @@
#include "../support/debug.h"
#include "../support/FileName.h"
#include "../support/filetools.h"
-#include "../Format.h"
#include "../LayoutFile.h"
#include "../LaTeXFeatures.h"
#include "../Lexer.h"
@@ -34,11 +33,6 @@ bool LaTeXFeatures::isAvailable(std::string const &)
return false;
}
-Formats formats;
-bool Formats::isZippedFile(support::FileName const &) const
-{
- return false;
-}
} // namespace lyx
diff --git a/src/tex2lyx/dummy_impl.cpp b/src/tex2lyx/dummy_impl.cpp
index eb44567..62436af 100644
--- a/src/tex2lyx/dummy_impl.cpp
+++ b/src/tex2lyx/dummy_impl.cpp
@@ -18,7 +18,6 @@
#include <config.h>
-#include "Format.h"
#include "LaTeXFeatures.h"
#include "LyXRC.h"
#include "output_xhtml.h"
@@ -74,23 +73,6 @@ Messages const & getGuiMessages()
//
-// Dummy formats support (needed by Lexer)
-//
-
-
-Formats & theFormats()
-{
- static Formats dummy_formats;
- return dummy_formats;
-}
-
-bool Formats::isZippedFile(support::FileName const&) const
-{
- return false;
-}
-
-
-//
// Dummy features support (needed by ModuleList)
//
-----------------------------------------------------------------------
hooks/post-receive
--
Repository for new features
More information about the lyx-cvs
mailing list