summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/src/development/designer-manual.qdoc156
-rw-r--r--doc/src/platforms/emb-pointer.qdoc7
-rw-r--r--doc/src/snippets/code/doc_src_emb-pointer.qdoc4
-rw-r--r--doc/src/snippets/declarative/borderimage/borderimage-defaults.qml55
-rw-r--r--mkspecs/common/symbian/symbian.conf3
-rw-r--r--mkspecs/features/symbian/default_post.prf3
-rw-r--r--mkspecs/features/symbian/symbian_building.prf20
-rw-r--r--src/corelib/tools/qpoint.cpp6
-rw-r--r--src/corelib/tools/qsize.cpp6
-rw-r--r--src/dbus/qdbusconnection.cpp6
-rw-r--r--src/declarative/graphicsitems/qdeclarativeborderimage.cpp2
-rw-r--r--src/gui/dialogs/qinputdialog.cpp3
-rw-r--r--src/gui/image/qxbmhandler.cpp25
-rw-r--r--src/gui/styles/qs60style.cpp18
-rw-r--r--src/gui/styles/qs60style_p.h1
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp5
-rw-r--r--src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp5
-rw-r--r--src/plugins/bearer/icd/maemo_icd.cpp2
-rw-r--r--src/plugins/bearer/icd/qnetworksession_impl.cpp2
-rw-r--r--tests/auto/qnetworkreply/tst_qnetworkreply.cpp9
-rw-r--r--tools/qdoc3/test/qt-html-templates.qdocconf2
-rw-r--r--translations/assistant_ru.ts581
-rw-r--r--translations/designer_ru.ts172
-rw-r--r--translations/linguist_ru.ts955
-rw-r--r--translations/qt_ru.ts166
-rw-r--r--translations/qtconfig_ru.ts82
-rw-r--r--translations/qvfb_ru.ts139
27 files changed, 2178 insertions, 257 deletions
diff --git a/doc/src/development/designer-manual.qdoc b/doc/src/development/designer-manual.qdoc
index b30a700..df82fba 100644
--- a/doc/src/development/designer-manual.qdoc
+++ b/doc/src/development/designer-manual.qdoc
@@ -1769,37 +1769,54 @@ pixmap property in the property editor.
\title Using a Designer UI File in Your Application
- With Qt's integrated build tools, \l{qmake Manual}{qmake} and \l uic, the
- code for user interface components created with \QD is automatically
- generated when the rest of your application is built. Forms can be included
- and used directly from your application. Alternatively, you can use them to
- extend subclasses of standard widgets. These forms can be processed at
- compile time or at run time, depending on the approach used.
+ Qt Designer UI files represent the widget tree of the form in XML format. The
+ forms can be processed:
+ \list
+ \o \l{Compile Time Form Processing}{At compile time}, which means that forms
+ are converted to C++ code that can be compiled.
+ \o \l{Run Time Form Processing}{At runtime}, which means that forms are processed
+ by the QUiLoader class that dynamically constructs the widget tree while
+ parsing the XML file.
+ \endlist
\tableofcontents
\section1 Compile Time Form Processing
+ You create user interface components with \QD and use Qt's integrated build tools,
+ \l{qmake Manual}{qmake} and \l{User Interface Compiler (uic)}{uic}, to generate code
+ for them when the application is built. The generated code contains the form's user
+ interface object. It is a C++ struct that contains:
+
+ \list
+ \o Pointers to the form's widgets, layouts, layout items,
+ button groups, and actions.
+ \o A member function called \c setupUi() to build the widget tree
+ on the parent widget.
+ \o A member function called \c retranslateUi() that handles the
+ translation of the string properties of the form. For more information,
+ see \l{Reacting to Language Changes}.
+ \endlist
+
+ The generated code can be included in your application and used directly from
+ it. Alternatively, you can use it to extend subclasses of standard widgets.
+
A compile time processed form can be used in your application with one of
the following approaches:
\list
- \o The Direct Approach: you construct a widget to use as a placeholder
+ \o \l{The Direct Approach}: you construct a widget to use as a placeholder
for the component, and set up the user interface inside it.
- \o The Single Inheritance Approach: you subclass the form's base class
+ \o \l{The Single Inheritance Approach}: you subclass the form's base class
(QWidget or QDialog, for example), and include a private instance
of the form's user interface object.
- \o The MultipleInheritance Approach: you subclass both the form's base
+ \o \l{The Multiple Inheritance Approach}: you subclass both the form's base
class and the form's user interface object. This allows the widgets
defined in the form to be used directly from within the scope of
the subclass.
\endlist
-
- \section2 The Direct Approach
-
- To demonstrate how to use user interface (UI) files straight from
- \QD, we create a simple Calculator Form application. This is based on the
+ To demonstrate, we create a simple Calculator Form application. It is based on the
original \l{Calculator Form Example}{Calculator Form} example.
The application consists of one source file, \c main.cpp and a UI
@@ -1817,15 +1834,18 @@ pixmap property in the property editor.
The special feature of this file is the \c FORMS declaration that tells
\c qmake which files to process with \c uic. In this case, the
\c calculatorform.ui file is used to create a \c ui_calculatorform.h file
- that can be used by any file listed in the \c SOURCES declaration. To
- ensure that \c qmake generates the \c ui_calculatorform.h file, we need to
- include it in a file listed in \c SOURCES. Since we only have \c main.cpp,
- we include it there:
+ that can be used by any file listed in the \c SOURCES declaration.
- \snippet doc/src/snippets/uitools/calculatorform/main.cpp 0
+ \note You can use Qt Creator to create the Calculator Form project. It
+ automatically generates the main.cpp, UI, and .pro files, which you can
+ then modify.
+
+ \section2 The Direct Approach
- This include is an additional check to ensure that we do not generate code
- for UI files that are not used.
+ To use the direct approach, we include the \c ui_calculatorform.h file
+ directly in \c main.cpp:
+
+ \snippet doc/src/snippets/uitools/calculatorform/main.cpp 0
The \c main function creates the calculator widget by constructing a
standard QWidget that we use to host the user interface described by the
@@ -1837,23 +1857,33 @@ pixmap property in the property editor.
from the \c ui_calculatorform.h file that sets up all the dialog's widgets
and the connections between its signals and slots.
- This approach provides a quick and easy way to use simple, self-contained
- components in your applications, but many componens created with \QD will
+ The direct approach provides a quick and easy way to use simple, self-contained
+ components in your applications. However, componens created with \QD often
require close integration with the rest of the application code. For
instance, the \c CalculatorForm code provided above will compile and run,
but the QSpinBox objects will not interact with the QLabel as we need a
custom slot to carry out the add operation and display the result in the
- QLabel. To achieve this, we need to subclass a standard Qt widget (known as
- the single inheritance approach).
-
+ QLabel. To achieve this, we need to use the single inheritance approach.
\section2 The Single Inheritance Approach
+ To use the single inheritance approach, we subclass a standard Qt widget and
+ include a private instance of the form's user interface object. This can take
+ the form of:
+
+ \list
+ \o A member variable
+ \o A pointer member variable
+ \endlist
+
+ \section3 Using a Member Variable
+
In this approach, we subclass a Qt widget and set up the user interface
from within the constructor. Components used in this way expose the widgets
and layouts used in the form to the Qt widget subclass, and provide a
standard system for making signal and slot connections between the user
interface and other objects in your application.
+ The generated \c{Ui::CalculatorForm} structure is a member of the class.
This approach is used in the \l{Calculator Form Example}{Calculator Form}
example.
@@ -1893,6 +1923,52 @@ pixmap property in the property editor.
them. This approach can be used to create individual tabs from existing
forms, for example.
+ \section3 Using a Pointer Member Variable
+
+ Alternatively, the \c{Ui::CalculatorForm} structure can be made a pointer
+ member of the class. The header then looks as follows:
+
+ \code
+
+ namespace Ui {
+ class CalculatorForm;
+ }
+
+ class CalculatorForm : public QWidget
+ ...
+ virtual ~CalculatorForm();
+ ...
+ private:
+ Ui::CalculatorForm *ui;
+ ...
+
+ \endcode
+
+ The corresponding source file looks as follows:
+
+ \code
+ #include "ui_calculatorform.h"
+
+ CalculatorForm::CalculatorForm(QWidget *parent) :
+ QWidget(parent), ui(new Ui::CalculatorForm)
+ {
+ ui->setupUi(this);
+ }
+
+ CalculatorForm::~CalculatorForm()
+ {
+ delete ui;
+ }
+ \endcode
+
+ The advantage of this approach is that the user interface object can be
+ forward-declared, which means that we do not have to include the generated
+ \c ui_calculatorform.h file in the header. The form can then be changed without
+ recompiling the dependent source files. This is particularly important if the
+ class is subject to binary compatibility restrictions.
+
+ We generally recommend this approach for libraries and large applications.
+ For more information, see \l{Creating Shared Libraries}.
\section2 The Multiple Inheritance Approach
@@ -1906,13 +1982,14 @@ pixmap property in the property editor.
{Multiple Inheritance} example.
We need to include the header file that \c uic generates from the
- \c calculatorform.ui file:
+ \c calculatorform.ui file, as follows:
\snippet examples/uitools/multipleinheritance/calculatorform.h 0
The class is defined in a similar way to the one used in the
\l{The Single Inheritance Approach}{single inheritance approach}, except that
- this time we inherit from \e{both} QWidget and \c{Ui::CalculatorForm}:
+ this time we inherit from \e{both} QWidget and \c{Ui::CalculatorForm},
+ as follows:
\snippet examples/uitools/multipleinheritance/calculatorform.h 1
@@ -1931,11 +2008,26 @@ pixmap property in the property editor.
same say as a widget created in code by hand. We no longer require the
\c{ui} prefix to access them.
- Subclassing using multiple inheritance gives us more direct access to the
- contents of the form, is slightly cleaner than the single inheritance
- approach, but does not conveniently support composition of multiple user
- interfaces.
+ \section2 Reacting to Language Changes
+
+ Qt notifies applications if the user interface language changes by sending an
+ event of the type QEvent::LanguageChange. To call the member function
+ \c retranslateUi() of the user interface object, we reimplement
+ \c QWidget::changeEvent() in the form class, as follows:
+ \code
+ void CalculatorForm::changeEvent(QEvent *e)
+ {
+ QWidget::changeEvent(e);
+ switch (e->type()) {
+ case QEvent::LanguageChange:
+ ui->retranslateUi(this);
+ break;
+ default:
+ break;
+ }
+ }
+ \endcode
\section1 Run Time Form Processing
diff --git a/doc/src/platforms/emb-pointer.qdoc b/doc/src/platforms/emb-pointer.qdoc
index 22935b4..81e532f 100644
--- a/doc/src/platforms/emb-pointer.qdoc
+++ b/doc/src/platforms/emb-pointer.qdoc
@@ -186,8 +186,11 @@
device file. Some drivers also require write access to the device file.
For instance, if you have specified the mouse driver with
\snippet doc/src/snippets/code/doc_src_emb-pointer.qdoc 11
- then examine the permissions of the device file by entering the following
- command in a console:
+ then examine the permissions of the device file by entering the
+ following command in a console:
+ \snippet doc/src/snippets/code/doc_src_emb-pointer.qdoc show permissions
+ Change the permissions of the device file, if necessary, in the following
+ way:
\snippet doc/src/snippets/code/doc_src_emb-pointer.qdoc 12
If the device file is actually a symbolic link to another file, you must
diff --git a/doc/src/snippets/code/doc_src_emb-pointer.qdoc b/doc/src/snippets/code/doc_src_emb-pointer.qdoc
index d333c90..b051a98 100644
--- a/doc/src/snippets/code/doc_src_emb-pointer.qdoc
+++ b/doc/src/snippets/code/doc_src_emb-pointer.qdoc
@@ -104,6 +104,10 @@ QWS_MOUSE_PROTO=IntelliMouse:/dev/input/mouse0
//! [11]
+//! [show permissions]
+ls -l /dev/input/mouse0
+//! [show permissions]
+
//! [12]
chmod a+rw /dev/input/mouse0
//! [12]
diff --git a/doc/src/snippets/declarative/borderimage/borderimage-defaults.qml b/doc/src/snippets/declarative/borderimage/borderimage-defaults.qml
new file mode 100644
index 0000000..1888f4e
--- /dev/null
+++ b/doc/src/snippets/declarative/borderimage/borderimage-defaults.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Rectangle {
+ id: page
+ color: "white"
+ width: 180; height: 180
+
+//! [tiled border image]
+BorderImage {
+ width: 180; height: 180
+ border { left: 30; top: 30; right: 30; bottom: 30 }
+ source: "pics/borderframe.png"
+}
+//! [tiled border image]
+}
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index decec14..6d1f708 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -79,7 +79,6 @@ QMAKE_LIBS_OPENGL_ES2_QT = -llibglesv2 -lcone -lws32
QMAKE_LIBS_OPENVG = -llibOpenVG -lfbscli -lbitgdi -lgdi
QMAKE_LIBS_THREAD = -llibpthread
QMAKE_LIBS_COMPAT =
-QMAKE_LIBS_QT_ENTRY = -llibcrt0.lib
QMAKE_LIBS_S60 = -lavkon -leikcoctl
exists($${EPOCROOT}epoc32/include/platform/sgresource/sgimage.h) {
@@ -127,6 +126,8 @@ QT_ARCH = symbian
load(qt_config)
+QMAKE_LIBS_QT_ENTRY = -lqtmain$${QT_LIBINFIX}.lib
+
# These directories must match what configure uses for QT_INSTALL_PLUGINS and QT_INSTALL_IMPORTS
QT_PLUGINS_BASE_DIR = /resource/qt$${QT_LIBINFIX}/plugins
QT_IMPORTS_BASE_DIR = /resource/qt/imports
diff --git a/mkspecs/features/symbian/default_post.prf b/mkspecs/features/symbian/default_post.prf
index 0564e9b..348c366 100644
--- a/mkspecs/features/symbian/default_post.prf
+++ b/mkspecs/features/symbian/default_post.prf
@@ -3,9 +3,6 @@ load(default_post)
contains(TEMPLATE, ".*app") {
contains(CONFIG, stdbinary) {
QMAKE_LIBS +=
- } else:contains(QT, gui):contains(CONFIG,qt) {
- S60MAIN_LIBS = -leuser
- QMAKE_LIBS += -lqtmain$${QT_LIBINFIX}.lib $$S60MAIN_LIBS
} else {
QMAKE_LIBS += $$QMAKE_LIBS_QT_ENTRY
}
diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf
index 1a51cb2..20bc3a3 100644
--- a/mkspecs/features/symbian/symbian_building.prf
+++ b/mkspecs/features/symbian/symbian_building.prf
@@ -187,26 +187,16 @@ contains(TEMPLATE, app):!contains(QMAKE_LINK, "^@:.*") {
linux-armcc: {
QMAKE_LIBS += usrt2_2.lib dfpaeabi.dso dfprvct2_2.dso drtaeabi.dso scppnwdl.dso drtrvct2_2.dso h_t__uf.l\\(switch8.o\\)
QMAKE_LIBS += -leexe.lib\\(uc_exe_.o\\)
- contains(CONFIG, "qt"):contains(QT, "gui") { #if linking with QtCore
- QMAKE_LIBS -= -lqtmain$${QT_LIBINFIX}.lib
- QMAKE_LIBS += -lqtmain$${QT_LIBINFIX}.lib
- } else {
- QMAKE_LIBS -= -llibcrt0.lib
- QMAKE_LIBS += -llibcrt0.lib
- }
+ QMAKE_LIBS -= $$QMAKE_LIBS_QT_ENTRY
+ QMAKE_LIBS += $$QMAKE_LIBS_QT_ENTRY
} else :linux-gcce {
# notice that we can't merge these as ordering of arguments is important.
QMAKE_LIBS += \
-l:eexe.lib \
-l:usrt2_2.lib
- contains(CONFIG, "qt"):contains(QT, "gui") { #if linking with QtCore
- QMAKE_LIBS -= -l:qtmain$${QT_LIBINFIX}.lib
- QMAKE_LIBS += -l:qtmain$${QT_LIBINFIX}.lib
- } else {
- QMAKE_LIBS -= -l:libcrt0.lib
- QMAKE_LIBS -= -l:libcrt0_gcce.lib
- QMAKE_LIBS += -l:libcrt0_gcce.lib
- }
+ modified_entry = $$replace(QMAKE_LIBS_QT_ENTRY, "^-l", "-l:")
+ QMAKE_LIBS -= $$modified_entry
+ QMAKE_LIBS += $$modified_entry
QMAKE_LIBS += \
-l:dfpaeabi.dso \
-l:drtaeabi.dso \
diff --git a/src/corelib/tools/qpoint.cpp b/src/corelib/tools/qpoint.cpp
index 66f06e9..c297709 100644
--- a/src/corelib/tools/qpoint.cpp
+++ b/src/corelib/tools/qpoint.cpp
@@ -438,8 +438,12 @@ QDebug operator<<(QDebug d, const QPointF &p)
/*!
\fn bool QPointF::isNull() const
- Returns true if both the x and y coordinates are set to 0.0,
+ Returns true if both the x and y coordinates are set to +0.0;
otherwise returns false.
+
+ \note Since this function treats +0.0 and -0.0 differently, points
+ with zero-valued coordinates where either or both values have a
+ negative sign are not defined to be null points.
*/
diff --git a/src/corelib/tools/qsize.cpp b/src/corelib/tools/qsize.cpp
index 20ac344..12287ab 100644
--- a/src/corelib/tools/qsize.cpp
+++ b/src/corelib/tools/qsize.cpp
@@ -492,9 +492,13 @@ QDebug operator<<(QDebug dbg, const QSize &s) {
/*!
\fn bool QSizeF::isNull() const
- Returns true if both the width and height is 0; otherwise returns
+ Returns true if both the width and height are +0.0; otherwise returns
false.
+ \note Since this function treats +0.0 and -0.0 differently, sizes with
+ zero width and height where either or both values have a negative
+ sign are not defined to be null sizes.
+
\sa isValid(), isEmpty()
*/
diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp
index bf771a8..f68a8ca 100644
--- a/src/dbus/qdbusconnection.cpp
+++ b/src/dbus/qdbusconnection.cpp
@@ -140,9 +140,9 @@ void QDBusConnectionManager::setConnection(const QString &name, QDBusConnectionP
\fn QDBusConnection &QDBusConnection::sessionBus()
\relates QDBusConnection
- Returns a QDBusConnection object opened with the session bus. The object reference returned
- by this function is valid until the QCoreApplication's destructor is run, when the
- connection will be closed and the object, deleted.
+ Returns a QDBusConnection object opened with the session bus. The object
+ reference returned by this function is valid until the application terminates,
+ at which point the connection will be closed and the object deleted.
*/
/*!
\fn QDBusConnection &QDBusConnection::systemBus()
diff --git a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp
index c58a08d..649c8fb 100644
--- a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp
@@ -361,6 +361,8 @@ QDeclarativeScaleGrid *QDeclarativeBorderImage::border()
\o BorderImage.Repeat - Tile the image until there is no more space. May crop the last image.
\o BorderImage.Round - Like Repeat, but scales the images down to ensure that the last image is not cropped.
\endlist
+
+ The default tile mode for each property is BorderImage.Stretch.
*/
QDeclarativeBorderImage::TileMode QDeclarativeBorderImage::horizontalTileMode() const
{
diff --git a/src/gui/dialogs/qinputdialog.cpp b/src/gui/dialogs/qinputdialog.cpp
index abaaa49..ce27bd3 100644
--- a/src/gui/dialogs/qinputdialog.cpp
+++ b/src/gui/dialogs/qinputdialog.cpp
@@ -561,6 +561,9 @@ void QInputDialog::setLabelText(const QString &text)
} else {
d->label->setText(text);
}
+#ifdef Q_OS_SYMBIAN
+ d->label->setWordWrap(true);
+#endif
}
QString QInputDialog::labelText() const
diff --git a/src/gui/image/qxbmhandler.cpp b/src/gui/image/qxbmhandler.cpp
index 0dd4e99..f9c2e0c 100644
--- a/src/gui/image/qxbmhandler.cpp
+++ b/src/gui/image/qxbmhandler.cpp
@@ -66,27 +66,36 @@ static inline int hex2byte(register char *p)
static bool read_xbm_header(QIODevice *device, int& w, int& h)
{
const int buflen = 300;
+ const int maxlen = 4096;
char buf[buflen + 1];
QRegExp r1(QLatin1String("^#define[ \t]+[a-zA-Z0-9._]+[ \t]+"));
QRegExp r2(QLatin1String("[0-9]+"));
qint64 readBytes = 0;
+ qint64 totalReadBytes = 0;
- // "#define .._width <num>"
- readBytes = device->readLine(buf, buflen);
- if (readBytes <= 0)
- return false;
- buf[readBytes - 1] = '\0';
+ buf[0] = '\0';
// skip initial comment, if any
- while (buf[0] != '#' && (readBytes = device->readLine( buf, buflen )) > 0) {}
+ while (buf[0] != '#') {
+ readBytes = device->readLine(buf, buflen);
+
+ // if readBytes >= buflen, it's very probably not a C file
+ if (readBytes <= 0 || readBytes >= buflen -1)
+ return false;
+
+ // limit xbm headers to the first 4k in the file to prevent
+ // excessive reads on non-xbm files
+ totalReadBytes += readBytes;
+ if (totalReadBytes >= maxlen)
+ return false;
+ }
- if (readBytes <= 0)
- return false;
buf[readBytes - 1] = '\0';
QString sbuf;
sbuf = QString::fromLatin1(buf);
+ // "#define .._width <num>"
if (r1.indexIn(sbuf) == 0 &&
r2.indexIn(sbuf, r1.matchedLength()) == r1.matchedLength())
w = QByteArray(&buf[r1.matchedLength()]).trimmed().toInt();
diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp
index 53ca28c..f3fb2f5 100644
--- a/src/gui/styles/qs60style.cpp
+++ b/src/gui/styles/qs60style.cpp
@@ -112,8 +112,6 @@ const short QS60StylePrivate::data[][MAX_PIXELMETRICS] = {
// *** End of generated data ***
};
-QSet<const QWidget *> *QS60StylePrivate::m_autoFillDisabledWidgets = 0;
-
const short *QS60StylePrivate::m_pmPointer = QS60StylePrivate::data[0];
// theme background texture
@@ -154,8 +152,6 @@ const double KTabFontMul = 0.72;
QS60StylePrivate::~QS60StylePrivate()
{
- delete m_autoFillDisabledWidgets;
- m_autoFillDisabledWidgets = 0;
clearCaches(); //deletes also background image
deleteThemePalette();
#ifdef Q_WS_S60
@@ -3188,13 +3184,6 @@ void QS60Style::polish(QWidget *widget)
}
d->setThemePalette(widget);
d->setFont(widget);
-
- if (widget->autoFillBackground()) {
- if (!d->m_autoFillDisabledWidgets)
- d->m_autoFillDisabledWidgets = new QSet<const QWidget *>;
- widget->setAutoFillBackground(false);
- d->m_autoFillDisabledWidgets->insert(widget);
- }
}
/*!
@@ -3229,13 +3218,6 @@ void QS60Style::unpolish(QWidget *widget)
if (widget)
widget->setPalette(QPalette());
-
- if (d->m_autoFillDisabledWidgets &&
- !d->m_autoFillDisabledWidgets->isEmpty() &&
- d->m_autoFillDisabledWidgets->contains(widget)) {
- widget->setAutoFillBackground(true);
- d->m_autoFillDisabledWidgets->remove(widget);
- }
#if defined(Q_WS_S60) && !defined(QT_NO_PROGRESSBAR)
if (QProgressBar *bar = qobject_cast<QProgressBar *>(widget)) {
diff --git a/src/gui/styles/qs60style_p.h b/src/gui/styles/qs60style_p.h
index 3d66c40..b46f75e 100644
--- a/src/gui/styles/qs60style_p.h
+++ b/src/gui/styles/qs60style_p.h
@@ -625,7 +625,6 @@ private:
static qint64 m_webPaletteKey;
static QPointer<QWidget> m_pressedWidget;
- static QSet<const QWidget *> *m_autoFillDisabledWidgets;
#ifdef Q_WS_S60
//list of progress bars having animation running
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
index 4e5de53..02daa50 100644
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
@@ -412,7 +412,9 @@ void QHttpNetworkConnectionChannel::_q_receiveReply()
}
case QHttpNetworkReplyPrivate::ReadingDataState: {
QHttpNetworkReplyPrivate *replyPrivate = reply->d_func();
- if (replyPrivate->downstreamLimited && !replyPrivate->responseData.isEmpty() && replyPrivate->shouldEmitSignals()) {
+ if (socket->state() == QAbstractSocket::ConnectedState &&
+ replyPrivate->downstreamLimited && !replyPrivate->responseData.isEmpty() && replyPrivate->shouldEmitSignals()) {
+ // (only do the following when still connected, not when we have already been disconnected and there is still data)
// We already have some HTTP body data. We don't read more from the socket until
// this is fetched by QHttpNetworkAccessHttpBackend. If we would read more,
// we could not limit our read buffer usage.
@@ -421,7 +423,6 @@ void QHttpNetworkConnectionChannel::_q_receiveReply()
// to the read buffer maximum size, but we don't care since they should be small.
return;
}
-
if (!replyPrivate->isChunked() && !replyPrivate->autoDecompress
&& replyPrivate->bodyLength > 0) {
// bulk files like images should fulfill these properties and
diff --git a/src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp b/src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp
index 559a6fd..167a7d2 100644
--- a/src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp
+++ b/src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp
@@ -63,8 +63,9 @@ QGLRect QGL2PEXVertexArray::boundingRect() const
void QGL2PEXVertexArray::addClosingLine(int index)
{
- if (QPointF(vertexArray.at(index)) != QPointF(vertexArray.last()))
- vertexArray.add(vertexArray.at(index));
+ QPointF point(vertexArray.at(index));
+ if (point != QPointF(vertexArray.last()))
+ vertexArray.add(point);
}
void QGL2PEXVertexArray::addCentroid(const QVectorPath &path, int subPathIndex)
diff --git a/src/plugins/bearer/icd/maemo_icd.cpp b/src/plugins/bearer/icd/maemo_icd.cpp
index 4f879e3..57ab0a8 100644
--- a/src/plugins/bearer/icd/maemo_icd.cpp
+++ b/src/plugins/bearer/icd/maemo_icd.cpp
@@ -508,6 +508,7 @@ uint IcdPrivate::state(QList<IcdStateResult>& state_results)
mInterface.clear();
while ((time(0)<=(started+timeout_secs)) && mInterface.isEmpty()) {
mDBus->synchronousDispatch(1000);
+ QCoreApplication::sendPostedEvents(icd, QEvent::MetaCall);
}
if (time(0)>(started+timeout_secs)) {
@@ -685,6 +686,7 @@ uint IcdPrivate::addrinfo(QList<IcdAddressInfoResult>& addr_results)
mInterface.clear();
while ((time(0)<=(started+timeout_secs)) && mInterface.isEmpty()) {
mDBus->synchronousDispatch(1000);
+ QCoreApplication::sendPostedEvents(icd, QEvent::MetaCall);
}
if (time(0)>(started+timeout_secs)) {
diff --git a/src/plugins/bearer/icd/qnetworksession_impl.cpp b/src/plugins/bearer/icd/qnetworksession_impl.cpp
index 37434e3..8d0f587 100644
--- a/src/plugins/bearer/icd/qnetworksession_impl.cpp
+++ b/src/plugins/bearer/icd/qnetworksession_impl.cpp
@@ -679,7 +679,7 @@ void QNetworkSessionPrivateImpl::open()
if (serviceConfig.isValid()) {
lastError = QNetworkSession::OperationNotSupportedError;
emit QNetworkSessionPrivate::error(lastError);
- } else if (!isOpen) {
+ } else if (!opened) {
if (publicConfig.type() == QNetworkConfiguration::UserChoice) {
/* Caller is trying to connect to default IAP.
* At this time we will not know the IAP details so we just
diff --git a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
index 8850e6e..d21428b 100644
--- a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
+++ b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
@@ -3457,11 +3457,11 @@ void tst_QNetworkReply::ioGetFromBuiltinHttp_data()
{
QTest::addColumn<bool>("https");
QTest::addColumn<int>("bufferSize");
- QTest::newRow("http, no limit") << false << 0;
- QTest::newRow("http, limited") << false << 4096;
+ QTest::newRow("http+unlimited") << false << 0;
+ QTest::newRow("http+limited") << false << 4096;
#ifndef QT_NO_OPENSSL
- QTest::newRow("https, no limit") << true << 0;
- QTest::newRow("https, limited") << true << 4096;
+ QTest::newRow("https+unlimited") << true << 0;
+ QTest::newRow("https+limited") << true << 4096;
#endif
}
@@ -3534,6 +3534,7 @@ void tst_QNetworkReply::ioGetFromBuiltinHttp()
const int allowedDeviation = 16; // TODO find out why the send rate is 13% faster currently
const int minRate = rate * 1024 * (100-allowedDeviation) / 100;
const int maxRate = rate * 1024 * (100+allowedDeviation) / 100;
+ qDebug() << minRate << "<="<< server.transferRate << "<=" << maxRate << "?";
QVERIFY(server.transferRate >= minRate);
QVERIFY(server.transferRate <= maxRate);
}
diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf
index 30a63c8..698164d 100644
--- a/tools/qdoc3/test/qt-html-templates.qdocconf
+++ b/tools/qdoc3/test/qt-html-templates.qdocconf
@@ -9,7 +9,7 @@ HTML.postheader = " <div class=\"header\" id=\"qtdocheader\">\n" \
" <div id=\"nav-logo\">\n" \
" <a href=\"index.html\">Home</a></div>\n" \
" <a href=\"index.html\" class=\"qtref\"><span>Qt Reference Documentation</span></a>\n" \
- " <div id="narrowsearch"></div>\n" \
+ " <div id=\"narrowsearch\"></div>\n" \
" <div id=\"nav-topright\">\n" \
" <ul>\n" \
" <li class=\"nav-topright-home\"><a href=\"http://qt.nokia.com/\">Qt HOME</a></li>\n" \
diff --git a/translations/assistant_ru.ts b/translations/assistant_ru.ts
index f5ba461..61c8d6c 100644
--- a/translations/assistant_ru.ts
+++ b/translations/assistant_ru.ts
@@ -76,10 +76,6 @@ Reason:
<translation>Ошибка создания файла коллекции справки &apos;%1&apos;: %2.</translation>
</message>
<message>
- <source>Error reading collection file &apos;%1&apos;: %2</source>
- <translation>Ошибка чтения файла коллекции справки &apos;%1&apos;: %2</translation>
- </message>
- <message>
<source>Cannot load sqlite database driver!</source>
<translation>Не удалось загрузить драйвер баз данных sqlite!</translation>
</message>
@@ -112,6 +108,17 @@ Reason:
</message>
</context>
<context>
+ <name>BookmarkItem</name>
+ <message>
+ <source>New Folder</source>
+ <translation>Новая папка</translation>
+ </message>
+ <message>
+ <source>Untitled</source>
+ <translation>Безымянная</translation>
+ </message>
+</context>
+<context>
<name>BookmarkManager</name>
<message>
<source>Remove</source>
@@ -131,7 +138,7 @@ Reason:
</message>
<message>
<source>Untitled</source>
- <translation>Неозаглавлено</translation>
+ <translation>Безымянная</translation>
</message>
<message>
<source>Manage Bookmarks...</source>
@@ -329,6 +336,64 @@ Reason:
<translation>Файл коллекции справки &apos;%1&apos; не существует.</translation>
</message>
<message>
+ <source>Usage: assistant [Options]
+
+-collectionFile file Uses the specified collection
+ file instead of the default one
+-showUrl url Shows the document with the
+ url.
+-enableRemoteControl Enables Assistant to be
+ remotely controlled.
+-show widget Shows the specified dockwidget
+ which can be &quot;contents&quot;, &quot;index&quot;,
+ &quot;bookmarks&quot; or &quot;search&quot;.
+-activate widget Activates the specified dockwidget
+ which can be &quot;contents&quot;, &quot;index&quot;,
+ &quot;bookmarks&quot; or &quot;search&quot;.
+-hide widget Hides the specified dockwidget
+ which can be &quot;contents&quot;, &quot;index&quot;
+ &quot;bookmarks&quot; or &quot;search&quot;.
+-register helpFile Registers the specified help file
+ (.qch) in the given collection
+ file.
+-unregister helpFile Unregisters the specified help file
+ (.qch) from the give collection
+ file.
+-setCurrentFilter filter Set the filter as the active filter.
+-remove-search-index Removes the full text search index.
+-rebuild-search-index Re-builds the full text search index (potentially slow).
+-quiet Does not display any error or
+ status message.
+-help Displays this help.
+</source>
+ <translation>Использование: assistant [ОПЦИИ]
+
+-collectionFile файл Использовать указанный файл коллекции,
+ вместо стандартного
+-showUrl ссылка Отобразить документ по ссылке.
+-enableRemoteControl Включение удалённого управления Assistant.
+-show виджет Отображение указанного прикрепляемого виджета,
+ который может быть &quot;contents&quot;, &quot;index&quot;,
+ &quot;bookmarks&quot; или &quot;search&quot;.
+-activate виджет Включение указанного прикрепляемого виджета,
+ который может быть &quot;contents&quot;, &quot;index&quot;,
+ &quot;bookmarks&quot; или &quot;search&quot;.
+-hide виджет Скрытие указанного прикрепляемого виджета,
+ который может быть &quot;contents&quot;, &quot;index&quot;,
+ &quot;bookmarks&quot; или &quot;search&quot;.
+-register файлСправки Регистрация указанного файла справки (.qch)
+ в данном файле коллекции.
+-unregister файлСправки Отмена регистрации указанного файла
+ справки (.qch) в данном файле коллекции.
+-setCurrentFilter фильтр Активация указанного фильтра.
+-remove-search-index Удаление индекса полнотекстового поиска.
+-rebuild-search-index Пересоздание индекса полнотекстового поиска
+ (потенциально медленно).
+-quiet Не отображать сообщения об ошибках и состояниях.
+-help Показать эту справку.
+</translation>
+ </message>
+ <message>
<source>Missing collection file.</source>
<translation>Отсутствует файл коллекции справки.</translation>
</message>
@@ -377,6 +442,56 @@ Reason:
</message>
</context>
<context>
+ <name>ConversionWizard</name>
+ <message>
+ <source>Help Conversion Wizard</source>
+ <translation>Мастер преобразования справки</translation>
+ </message>
+ <message>
+ <source>Converting %1...</source>
+ <translation>Преобразование %1...</translation>
+ </message>
+ <message>
+ <source>Writing help collection file...</source>
+ <translation>Запись файла коллекции справки...</translation>
+ </message>
+ <message>
+ <source>Done.</source>
+ <translation>Готово.</translation>
+ </message>
+</context>
+<context>
+ <name>FilesPage</name>
+ <message>
+ <source>Form</source>
+ <translation>Форма</translation>
+ </message>
+ <message>
+ <source>Files:</source>
+ <translation>Файлы:</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Удалить</translation>
+ </message>
+ <message>
+ <source>Remove All</source>
+ <translation>Удалить всё</translation>
+ </message>
+ <message>
+ <source>Unreferenced Files</source>
+ <translation>Невостребованные файлы</translation>
+ </message>
+ <message>
+ <source>Remove files which are neither referenced by a keyword nor by the TOC.</source>
+ <translation>Удаление файлов, на которые нет ссылок ни по ключевым словам, ни в содержании.</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; When removing images or stylesheets, be aware that those files are not directly referenced by the .adp or .dcf file.&lt;/p&gt;</source>
+ <translation>&lt;p&gt;&lt;b&gt;Внимание:&lt;/b&gt; при удалении изображений или таблиц стилей следует убедиться, что на эти файлы напрямую не ссылается файл .adp или .dcf.&lt;/p&gt;</translation>
+ </message>
+</context>
+<context>
<name>FilterNameDialogClass</name>
<message>
<source>Add Filter Name</source>
@@ -388,6 +503,66 @@ Reason:
</message>
</context>
<context>
+ <name>FilterPage</name>
+ <message>
+ <source>Form</source>
+ <translation>Форма</translation>
+ </message>
+ <message>
+ <source>Filter attributes for current documentation (comma separated list):</source>
+ <translation>Атрибуты фильтра для текущей документации (список, разделённый запятыми):</translation>
+ </message>
+ <message>
+ <source>Custom Filters</source>
+ <translation>Пользовательские фильтры</translation>
+ </message>
+ <message>
+ <source>1</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>2</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>Add</source>
+ <translation>Добавить</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Удалить</translation>
+ </message>
+ <message>
+ <source>Filter Settings</source>
+ <translation>Настройки фильтра</translation>
+ </message>
+ <message>
+ <source>Specify the filter attributes for the documentation. If filter attributes are used, also define a custom filter for it. Both the filter attributes and the custom filters are optional.</source>
+ <translation>Укажите атрибуты фильтра для документации. Если атрибуты фильтра используются, также укажите пользовательский фильтр для них. Атрибуты и пользовательский фильтр необязательны.</translation>
+ </message>
+ <message>
+ <source>Filter Name</source>
+ <translation>Название фильтра</translation>
+ </message>
+ <message>
+ <source>Filter Attributes</source>
+ <translation>Атрибуты фильтра</translation>
+ </message>
+ <message>
+ <source>The custom filter &apos;%1&apos; is defined multiple times.</source>
+ <translation>Пользовательский фильтр &quot;%1&quot; определён несколько раз.</translation>
+ </message>
+ <message>
+ <source>The attributes for custom filter &apos;%1&apos; are defined multiple times.</source>
+ <translation>Атрибуты для пользовательского фильтра &quot;%1&quot; определены несколько раз.</translation>
+ </message>
+ <message>
+ <source>unfiltered</source>
+ <comment>list of available documentation</comment>
+ <translation>вся документация</translation>
+ </message>
+</context>
+<context>
<name>FindWidget</name>
<message>
<source>Previous</source>
@@ -407,6 +582,17 @@ Reason:
</message>
</context>
<context>
+ <name>FinishPage</name>
+ <message>
+ <source>Converting File</source>
+ <translation>Преобразование файла</translation>
+ </message>
+ <message>
+ <source>Creating the new Qt help files from the old ADP file.</source>
+ <translation>Создание файлов справки Qt из старых файлов ADP.</translation>
+ </message>
+</context>
+<context>
<name>FontPanel</name>
<message>
<source>Font</source>
@@ -430,6 +616,59 @@ Reason:
</message>
</context>
<context>
+ <name>GeneralPage</name>
+ <message>
+ <source>Form</source>
+ <translation>Форма</translation>
+ </message>
+ <message>
+ <source>Namespace:</source>
+ <translation>Пространство имён:</translation>
+ </message>
+ <message>
+ <source>Virtual Folder:</source>
+ <translation>Виртуальный каталог:</translation>
+ </message>
+ <message>
+ <source>General Settings</source>
+ <translation>Основные настройки</translation>
+ </message>
+ <message>
+ <source>Specify the namespace and the virtual folder for the documentation.</source>
+ <translation>Укажите пространство имён и виртуальный каталог для документации.</translation>
+ </message>
+ <message>
+ <source>Namespace Error</source>
+ <translation>Ошибка пространства имён</translation>
+ </message>
+ <message>
+ <source>The namespace contains some invalid characters.</source>
+ <translation>Пространство имён содержит недопустимые символы.</translation>
+ </message>
+ <message>
+ <source>Virtual Folder Error</source>
+ <translation>Ошибка виртуального каталога</translation>
+ </message>
+ <message>
+ <source>The virtual folder contains some invalid characters.</source>
+ <translation>Виртуальный каталог содержит недопустимые символы.</translation>
+ </message>
+</context>
+<context>
+ <name>HelpEngineWrapper</name>
+ <message>
+ <source>Unfiltered</source>
+ <translation>Вся документация</translation>
+ </message>
+</context>
+<context>
+ <name>HelpGenerator</name>
+ <message>
+ <source>Warning: %1</source>
+ <translation>Предупреждение: %1</translation>
+ </message>
+</context>
+<context>
<name>HelpViewer</name>
<message>
<source>&lt;title&gt;about:blank&lt;/title&gt;</source>
@@ -453,6 +692,40 @@ Reason:
</message>
</context>
<context>
+ <name>HelpWindow</name>
+ <message>
+ <source>&lt;center&gt;&lt;b&gt;Wizard Assistant&lt;/b&gt;&lt;/center&gt;</source>
+ <translation>&lt;center&gt;&lt;b&gt;Помощь по мастеру преобразования справки&lt;/b&gt;&lt;/center&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>IdentifierPage</name>
+ <message>
+ <source>Form</source>
+ <translation>Форма</translation>
+ </message>
+ <message>
+ <source>Create identifiers</source>
+ <translation>Создавать идентификаторы</translation>
+ </message>
+ <message>
+ <source>Global prefix:</source>
+ <translation>Глобальный префикс:</translation>
+ </message>
+ <message>
+ <source>Inherit prefix from file names</source>
+ <translation>Наследовать префикс из имён файлов</translation>
+ </message>
+ <message>
+ <source>Identifiers</source>
+ <translation>Идентификаторы</translation>
+ </message>
+ <message>
+ <source>This page allows you to create identifiers from the keywords found in the .adp or .dcf file.</source>
+ <translation>Данная страница позволяет создавать идентификаторы из ключевых слов найденных в файле .adp или .dcf.</translation>
+ </message>
+</context>
+<context>
<name>IndexWindow</name>
<message>
<source>&amp;Look for:</source>
@@ -468,6 +741,53 @@ Reason:
</message>
</context>
<context>
+ <name>InputPage</name>
+ <message>
+ <source>Form</source>
+ <translation>Форма</translation>
+ </message>
+ <message>
+ <source>File name:</source>
+ <translation>Имя файла:</translation>
+ </message>
+ <message>
+ <source>...</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>Input File</source>
+ <translation>Исходный файл</translation>
+ </message>
+ <message>
+ <source>Specify the .adp or .dcf file you want to convert to the new Qt help project format and/or collection format.</source>
+ <translation>Укажите файл .adp или .dcf, который необходимо преобразовать в формат нового проекта справки Qt или коллекции.</translation>
+ </message>
+ <message>
+ <source>Open file</source>
+ <translation>Открыть файл</translation>
+ </message>
+ <message>
+ <source>Qt Help Files (*.adp *.dcf)</source>
+ <translation>Файлы справки Qt (*.adp *.dcf)</translation>
+ </message>
+ <message>
+ <source>File Open Error</source>
+ <translation>Ошибка открытия файла</translation>
+ </message>
+ <message>
+ <source>The specified file could not be opened!</source>
+ <translation>Не удалось открыть указанный файл!</translation>
+ </message>
+ <message>
+ <source>File Parsing Error</source>
+ <translation>Ошибка обработки файла</translation>
+ </message>
+ <message>
+ <source>Parsing error in line %1!</source>
+ <translation>Возникла ошибка обработки на строке %1!</translation>
+ </message>
+</context>
+<context>
<name>InstallDialog</name>
<message>
<source>Install Documentation</source>
@@ -715,6 +1035,10 @@ Reason:
<translation>&amp;Закладки</translation>
</message>
<message>
+ <source>&lt;center&gt;&lt;h3&gt;%1&lt;/h3&gt;&lt;p&gt;Version %2&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;</source>
+ <translation>&lt;center&gt;&lt;h3&gt;%1&lt;/h3&gt;&lt;p&gt;Версия %2&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;</translation>
+ </message>
+ <message>
<source>Could not register file &apos;%1&apos;: %2</source>
<translation>Не удалось зарегистрировать файл &apos;%1&apos;: %2</translation>
</message>
@@ -776,7 +1100,93 @@ Reason:
</message>
<message>
<source>Updating search index</source>
- <translation>Обновление поискового индекса</translation>
+ <translation>Обновление индекса полнотекстового поиска</translation>
+ </message>
+</context>
+<context>
+ <name>OutputPage</name>
+ <message>
+ <source>Form</source>
+ <translation>Форма</translation>
+ </message>
+ <message>
+ <source>Project file name:</source>
+ <translation>Имя файла проекта:</translation>
+ </message>
+ <message>
+ <source>Collection file name:</source>
+ <translation>Имя файла коллекции:</translation>
+ </message>
+ <message>
+ <source>Output File Names</source>
+ <translation>Имена выходных файлов</translation>
+ </message>
+ <message>
+ <source>Specify the file names for the output files.</source>
+ <translation>Укажите имена выходных файлов.</translation>
+ </message>
+ <message>
+ <source>Convert...</source>
+ <translation>Преобразовать...</translation>
+ </message>
+ <message>
+ <source>Qt Help Project File</source>
+ <translation>Файл проекта справки Qt</translation>
+ </message>
+ <message>
+ <source>Qt Help Collection Project File</source>
+ <translation>Файл проекта коллекции справки Qt</translation>
+ </message>
+ <message>
+ <source>The specified file %1 already exist.
+
+Do you want to remove it?</source>
+ <translation>Файл %1 уже существует.
+
+Желаете удалить его?</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Удалить</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
+ </message>
+</context>
+<context>
+ <name>PathPage</name>
+ <message>
+ <source>Form</source>
+ <translation>Форма</translation>
+ </message>
+ <message>
+ <source>File filters:</source>
+ <translation>Фильтры файлов:</translation>
+ </message>
+ <message>
+ <source>Documentation source file paths:</source>
+ <translation>Пути к исходным файлам документации:</translation>
+ </message>
+ <message>
+ <source>Add</source>
+ <translation>Добавить</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Удалить</translation>
+ </message>
+ <message>
+ <source>Source File Paths</source>
+ <translation>Пути к исходным файлам</translation>
+ </message>
+ <message>
+ <source>Specify the paths where the sources files are located. By default, all files in those directories matched by the file filter will be included.</source>
+ <translation>Укажите пути, где расположены исходные файлы. По умолчанию, будут включены все файлы в каталогах, соответствующие фильтру файлов.</translation>
+ </message>
+ <message>
+ <source>Source File Path</source>
+ <translation>Путь к исходному файлу</translation>
</message>
</context>
<context>
@@ -914,6 +1324,165 @@ Reason:
</message>
</context>
<context>
+ <name>QCollectionGenerator</name>
+ <message>
+ <source>Unknown token at line %1.</source>
+ <translation>Неизвестный токен в строке %1.</translation>
+ </message>
+ <message>
+ <source>Unknown token at line %1. Expected &quot;QtHelpCollectionProject&quot;.</source>
+ <translation>Неизвестный токен в строке %1. Ожидался &quot;QtHelpCollectionProject&quot;.</translation>
+ </message>
+ <message>
+ <source>Missing end tags.</source>
+ <translation>Отсутствуют завершающие теги.</translation>
+ </message>
+ <message>
+ <source>Missing input or output file for help file generation.</source>
+ <translation>Отсутствует входной или выходной файл для создания файла справки.</translation>
+ </message>
+ <message>
+ <source>Missing output file name.</source>
+ <translation>Отсутствует имя выходного файла.</translation>
+ </message>
+ <message>
+ <source>Qt Collection Generator version 1.0 (Qt %1)
+</source>
+ <translation>Генератор коллекций Qt версии 1.0 (Qt %1)
+</translation>
+ </message>
+ <message>
+ <source>Missing collection config file.</source>
+ <translation>Отсутствует файл настроек коллекции.</translation>
+ </message>
+ <message>
+ <source>
+Usage:
+
+qcollectiongenerator &lt;collection-config-file&gt; [options]
+
+ -o &lt;collection-file&gt; Generates a collection file
+ called &lt;collection-file&gt;. If
+ this option is not specified
+ a default name will be used.
+ -v Displays the version of
+ qcollectiongenerator.
+
+</source>
+ <translation>
+Использование:
+
+qcollectiongenerator &lt;файл-конфигурации-коллекции&gt; [ОПЦИИ]
+
+ -o &lt;файл-коллекции&gt; Создание файла коллекции с именем
+ &lt;файл-коллекции&gt;. Если эта опция не указана,
+ будет использовано имя по умолчанию.
+ -v Показать версию qcollectiongenerator.
+
+</translation>
+ </message>
+ <message>
+ <source>Could not open %1.
+</source>
+ <translation>Не удалось открыть %1.</translation>
+ </message>
+ <message>
+ <source>Reading collection config file...
+</source>
+ <translation>Чтение файла конфигурации коллекции...
+</translation>
+ </message>
+ <message>
+ <source>Collection config file error: %1
+</source>
+ <translation>Ошибка файла конфигурации коллекции: %1
+</translation>
+ </message>
+ <message>
+ <source>Generating help for %1...
+</source>
+ <translation>Создание справки для %1...</translation>
+ </message>
+ <message>
+ <source>Creating collection file...
+</source>
+ <translation>Создание файла коллекции...</translation>
+ </message>
+ <message>
+ <source>The file %1 cannot be overwritten.
+</source>
+ <translation>Файл %1 не может быть перезаписан.</translation>
+ </message>
+ <message>
+ <source>Cannot open %1.
+</source>
+ <translation>Не удалось открыть %1.</translation>
+ </message>
+ <message>
+ <source>Cannot open referenced image file %1.
+</source>
+ <translation>Не удалось открыть необходимый файл изображения %1.
+</translation>
+ </message>
+</context>
+<context>
+ <name>QHelpGenerator</name>
+ <message>
+ <source>Missing output file name.</source>
+ <translation>Отсутствует имя выходного файла.</translation>
+ </message>
+ <message>
+ <source>Qt Help Generator version 1.0 (Qt %1)
+</source>
+ <translation>Генератор справки Qt, версия 1.0 (Qt %1)
+</translation>
+ </message>
+ <message>
+ <source>Missing Qt help project file.</source>
+ <translation>Отсутствует файл проекта справки Qt.</translation>
+ </message>
+ <message>
+ <source>
+Usage:
+
+qhelpgenerator &lt;help-project-file&gt; [options]
+
+ -o &lt;compressed-file&gt; Generates a Qt compressed help
+ file called &lt;compressed-file&gt;.
+ If this option is not specified
+ a default name will be used.
+ -c Checks whether all links in HTML files
+ point to files in this help project.
+ -v Displays the version of
+ qhelpgenerator.
+
+</source>
+ <translation>
+Использование:
+
+qhelpgenerator &lt;файл-проекта-справки&gt; [ОПЦИИ]
+
+ -o &lt;сжатый-файл&gt; Создание сжатого файла справки Qt под именем
+ &lt;сжатый-файл&gt;. Если эта опция не указана,
+ будет использоваться имя по умолчанию.
+ -c Проверка на то, чтобы все ссылки в файлах
+ HTML указывали на файлы в этом проекте.
+ -v Отображение версии qhelpgenerator.
+
+</translation>
+ </message>
+ <message>
+ <source>Could not open %1.
+</source>
+ <translation>Не удалось открыть %1.</translation>
+ </message>
+ <message>
+ <source>Could not create output directory: %1
+</source>
+ <translation>Не удалось создать каталог: %1</translation>
+ </message>
+</context>
+<context>
<name>RemoteControl</name>
<message>
<source>Debugging Remote Control</source>
diff --git a/translations/designer_ru.ts b/translations/designer_ru.ts
index 89977b1..d6ab18e 100644
--- a/translations/designer_ru.ts
+++ b/translations/designer_ru.ts
@@ -25,6 +25,49 @@
</message>
</context>
<context>
+ <name>AbstractItemEditor</name>
+ <message>
+ <source>Selectable</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>Editable</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>DragEnabled</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>DropEnabled</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>UserCheckable</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>Enabled</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>Tristate</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>Unchecked</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>PartiallyChecked</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>Checked</source>
+ <translation></translation>
+ </message>
+</context>
+<context>
<name>AddLinkDialog</name>
<message>
<source>Insert Link</source>
@@ -304,7 +347,7 @@
</message>
<message>
<source>Change Z-order of &apos;%1&apos;</source>
- <translation type="unfinished">Изменить порядок удалённости &apos;%1&apos;</translation>
+ <translation>Изменить порядок удалённости &apos;%1&apos;</translation>
</message>
<message>
<source>Raise &apos;%1&apos;</source>
@@ -324,11 +367,11 @@
</message>
<message>
<source>Promote to custom widget</source>
- <translation type="unfinished">Преобразовать в пользовательский виджет</translation>
+ <translation>Преобразовать в пользовательский виджет</translation>
</message>
<message>
<source>Demote from custom widget</source>
- <translation type="unfinished">Преобразовать из пользовательского виджета</translation>
+ <translation>Преобразовать из пользовательского виджета</translation>
</message>
<message>
<source>Lay out using grid</source>
@@ -348,7 +391,7 @@
</message>
<message>
<source>Simplify Grid Layout</source>
- <translation type="unfinished">Упрощённая компоновка по сетке</translation>
+ <translation>Упрощённая компоновка по сетке</translation>
</message>
<message>
<source>Move Page</source>
@@ -396,7 +439,7 @@
</message>
<message>
<source>Add Dock Window</source>
- <translation type="unfinished">Добавить прикрепляемое окно</translation>
+ <translation>Добавить прикрепляемое окно</translation>
</message>
<message>
<source>Adjust Size of &apos;%1&apos;</source>
@@ -404,11 +447,11 @@
</message>
<message>
<source>Change Form Layout Item Geometry</source>
- <translation type="unfinished">Изменить геометрию элементов компоновки столбцами</translation>
+ <translation>Изменить геометрию элемента компоновки столбцами</translation>
</message>
<message>
<source>Change Layout Item Geometry</source>
- <translation type="unfinished">Изменить геометрию элементов компоновки</translation>
+ <translation>Изменить геометрию элемента компоновки</translation>
</message>
<message>
<source>Delete Subwindow</source>
@@ -653,7 +696,7 @@
</message>
<message>
<source>Promoted Widgets</source>
- <translation type="unfinished">Преобразованные виджеты</translation>
+ <translation>Преобразованные виджеты</translation>
</message>
<message>
<source>Unable to launch %1.</source>
@@ -777,7 +820,7 @@
<message>
<source>Embedded Design</source>
<extracomment>Tab in preferences dialog</extracomment>
- <translation type="unfinished">Оформление портативных устройств</translation>
+ <translation>Оформление портативных устройств</translation>
</message>
<message>
<source>Device Profiles</source>
@@ -852,6 +895,7 @@ Parsing grid layout minimum size values</extracomment>
<name>FormEditorOptionsPage</name>
<message>
<source>%1 %</source>
+ <extracomment>Zoom percentage</extracomment>
<translation>%1 %</translation>
</message>
<message>
@@ -876,7 +920,7 @@ Parsing grid layout minimum size values</extracomment>
<name>FormLayoutRowDialog</name>
<message>
<source>Add Form Layout Row</source>
- <translation type="unfinished">Добавление строки компоновщика формы</translation>
+ <translation>Добавление строки компоновщика столбцами (QFormLayout)</translation>
</message>
<message>
<source>&amp;Label text:</source>
@@ -962,7 +1006,7 @@ Parsing grid layout minimum size values</extracomment>
</message>
<message>
<source>Embedded Design</source>
- <translation type="unfinished">Оформление портативных устройств</translation>
+ <translation>Оформление портативных устройств</translation>
</message>
</context>
<context>
@@ -1131,7 +1175,7 @@ Parsing grid layout minimum size values</extracomment>
<message>
<source>Not used</source>
<extracomment>Usage of promoted widgets</extracomment>
- <translation>Не используется</translation>
+ <translation>Не используются</translation>
</message>
</context>
<context>
@@ -1205,11 +1249,11 @@ This indicates an inconsistency in the ui-file.</source>
<name>QAxWidgetTaskMenu</name>
<message>
<source>Set Control</source>
- <translation>Установить элемент управления</translation>
+ <translation>Задать элемент управления</translation>
</message>
<message>
<source>Reset Control</source>
- <translation type="unfinished">Удалить элемент управления</translation>
+ <translation>Сбросить элемент управления</translation>
</message>
<message>
<source>Licensed Control</source>
@@ -1224,7 +1268,7 @@ This indicates an inconsistency in the ui-file.</source>
<name>QCoreApplication</name>
<message>
<source>%1 is not a promoted class.</source>
- <translation type="unfinished">%1 не является преобразованным классом.</translation>
+ <translation>%1 не является преобразованным классом.</translation>
</message>
<message>
<source>The base class %1 is invalid.</source>
@@ -1236,7 +1280,7 @@ This indicates an inconsistency in the ui-file.</source>
</message>
<message>
<source>Promoted Widgets</source>
- <translation type="unfinished">Преобразованные виджеты</translation>
+ <translation>Преобразованные виджеты</translation>
</message>
<message>
<source>The class %1 cannot be removed</source>
@@ -1567,11 +1611,11 @@ Would you like to retry?</source>
<name>QDesignerAxWidget</name>
<message>
<source>Reset control</source>
- <translation type="unfinished">Сбросить элемент управления</translation>
+ <translation>Сбросить элемент управления</translation>
</message>
<message>
<source>Set control</source>
- <translation>Установить элемент управления</translation>
+ <translation>Задать элемент управления</translation>
</message>
<message>
<source>Control loaded</source>
@@ -1579,7 +1623,7 @@ Would you like to retry?</source>
</message>
<message>
<source>A COM exception occurred when executing a meta call of type %1, index %2 of &quot;%3&quot;.</source>
- <translation type="unfinished">Возникло исключение COM при выполнении мета-вызова типа %1, индекс %2 &quot;%3&quot;.</translation>
+ <translation>Возникло исключение COM при выполнении мета-вызова типа %1, индекс %2 в &quot;%3&quot;.</translation>
</message>
</context>
<context>
@@ -1838,7 +1882,7 @@ Container pages should only be added by specifying them in XML returned by the d
</message>
<message>
<source>Backup Information</source>
- <translation type="unfinished">Информация о резервированых копиях</translation>
+ <translation>Информация о резервных копиях</translation>
</message>
<message>
<source>The last session of Designer was not terminated correctly. Backup files were left behind. Do you want to load them?</source>
@@ -2232,27 +2276,27 @@ Empty class name passed to widget factory method</extracomment>
</message>
<message>
<source>Linear</source>
- <translation type="unfinished">Линейный</translation>
+ <translation>Линейный</translation>
</message>
<message>
<source>Radial</source>
- <translation type="unfinished">Радиальный</translation>
+ <translation>Радиальный</translation>
</message>
<message>
<source>Conical</source>
- <translation type="unfinished">Конический</translation>
+ <translation>Конический</translation>
</message>
<message>
<source>Pad</source>
- <translation type="unfinished">Равномерная</translation>
+ <translation>Равномерная</translation>
</message>
<message>
<source>Repeat</source>
- <translation type="unfinished">Цикличная</translation>
+ <translation>Цикличная</translation>
</message>
<message>
<source>Reflect</source>
- <translation type="unfinished">Зеркальная</translation>
+ <translation>Зеркальная</translation>
</message>
<message>
<source>Form</source>
@@ -2514,6 +2558,10 @@ Empty class name passed to widget factory method</extracomment>
<context>
<name>QtLocalePropertyManager</name>
<message>
+ <source>&lt;Invalid&gt;</source>
+ <translation>&lt;Некорректное значение&gt;</translation>
+ </message>
+ <message>
<source>%1, %2</source>
<translation>%1, %2</translation>
</message>
@@ -2651,7 +2699,7 @@ Do you want to replace it?</source>
</message>
<message>
<source>newPrefix</source>
- <translation type="unfinished">newPrefix</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; The file&lt;/p&gt;&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;is outside of the current resource file&apos;s parent directory.&lt;/p&gt;</source>
@@ -2883,7 +2931,7 @@ to
<name>QtSizePolicyPropertyManager</name>
<message>
<source>&lt;Invalid&gt;</source>
- <translation>&lt;Неверный&gt;</translation>
+ <translation>&lt;Некорректное значение&gt;</translation>
</message>
<message>
<source>[%1, %2, %3, %4]</source>
@@ -3174,23 +3222,23 @@ Do you want overwrite the template?</source>
</message>
<message>
<source>Dock views</source>
- <translation type="unfinished">Прикрепляемые панели</translation>
+ <translation>Прикрепляемые панели</translation>
</message>
<message>
<source>File</source>
- <translation type="unfinished">Файл</translation>
+ <translation>Файл</translation>
</message>
<message>
<source>Edit</source>
- <translation type="unfinished">Правка</translation>
+ <translation>Правка</translation>
</message>
<message>
<source>Tools</source>
- <translation type="unfinished">Инструменты</translation>
+ <translation>Инструменты</translation>
</message>
<message>
<source>Form</source>
- <translation type="unfinished">Форма</translation>
+ <translation>Форма</translation>
</message>
<message>
<source>Toolbars</source>
@@ -3220,11 +3268,11 @@ Do you want overwrite the template?</source>
<name>VideoPlayerTaskMenu</name>
<message>
<source>Available Mime Types</source>
- <translation type="unfinished">Доступные типы данных</translation>
+ <translation>Доступные типы данных</translation>
</message>
<message>
<source>Display supported mime types...</source>
- <translation type="unfinished">Показывать поддерживаемые типы данных...</translation>
+ <translation>Показать поддерживаемые типы данных...</translation>
</message>
<message>
<source>Load...</source>
@@ -3306,11 +3354,11 @@ Do you want overwrite the template?</source>
</message>
<message>
<source>Icon View</source>
- <translation type="unfinished">Значки</translation>
+ <translation>Значки</translation>
</message>
<message>
<source>Detailed View</source>
- <translation type="unfinished">Подробно</translation>
+ <translation>Подробно</translation>
</message>
<message>
<source>New action</source>
@@ -3902,7 +3950,7 @@ Do you want overwrite the template?</source>
<name>qdesigner_internal::FormLayoutMenu</name>
<message>
<source>Add form layout row...</source>
- <translation>Добавить строку компоновщика формы...</translation>
+ <translation>Добавить строку компоновки в 2 столбца...</translation>
</message>
</context>
<context>
@@ -3953,7 +4001,7 @@ Do you want overwrite the template?</source>
</message>
<message>
<source>Cannot paste widgets. Designer could not find a container without a layout to paste into.</source>
- <translation type="unfinished">Не удалось вставить виджеты. Qt Designer не смог найти контейнер без компоновщика для вставки виджетов.</translation>
+ <translation>Не удалось вставить виджеты. Qt Designer не смог найти контейнер без компоновщика для вставки виджетов.</translation>
</message>
<message>
<source>Break the layout of the container you want to paste into, select this container and then paste again.</source>
@@ -4083,11 +4131,11 @@ Do you want overwrite the template?</source>
</message>
<message>
<source>Lay Out in a &amp;Form Layout</source>
- <translation>Скомпоновать в &amp;две колонки</translation>
+ <translation>Скомпоновать в &amp;два столбца</translation>
</message>
<message>
<source>Lays out the selected widgets in a form layout</source>
- <translation>Компонует выделенные виджеты в две колонки (QFormLayout)</translation>
+ <translation>Компонует выделенные виджеты в два столбца (QFormLayout)</translation>
</message>
<message>
<source>Lay Out in a &amp;Grid</source>
@@ -4548,7 +4596,7 @@ Please select another name.</source>
</message>
<message>
<source>Embedded Design</source>
- <translation type="unfinished">Оформление портативных устройств</translation>
+ <translation>Оформление портативных устройств</translation>
</message>
<message>
<source>Device:</source>
@@ -4567,7 +4615,7 @@ Please select another name.</source>
</message>
<message>
<source>New Promoted Class</source>
- <translation type="unfinished">Новый преобразованный класс</translation>
+ <translation>Новый преобразованный класс</translation>
</message>
<message>
<source>Base class name:</source>
@@ -4575,7 +4623,7 @@ Please select another name.</source>
</message>
<message>
<source>Promoted class name:</source>
- <translation type="unfinished">Имя преобразованного класса:</translation>
+ <translation>Имя преобразованного класса:</translation>
</message>
<message>
<source>Header file:</source>
@@ -4644,7 +4692,7 @@ Please select another name.</source>
</message>
<message>
<source>Compute Details</source>
- <translation type="unfinished">Расчитывать детали</translation>
+ <translation type="unfinished">Рассчитывать детали</translation>
</message>
<message>
<source>Quick</source>
@@ -4671,7 +4719,7 @@ Please select another name.</source>
<name>qdesigner_internal::PaletteEditorButton</name>
<message>
<source>Change Palette</source>
- <translation type="unfinished">Изменить палитру</translation>
+ <translation>Изменить палитру</translation>
</message>
</context>
<context>
@@ -4742,6 +4790,14 @@ Please select another name.</source>
<translation>Поиск вновь установленных модулей пользовательских виджетов.</translation>
</message>
<message>
+ <source>Loaded Plugins</source>
+ <translation>Загруженные модули</translation>
+ </message>
+ <message>
+ <source>Failed Plugins</source>
+ <translation>Незагруженные модули</translation>
+ </message>
+ <message>
<source>Qt Designer couldn&apos;t find any plugins</source>
<translation>Qt Designer не может найти ни одного модуля</translation>
</message>
@@ -4898,7 +4954,7 @@ ate the goose who was loose.</source>
</message>
<message>
<source>Global include</source>
- <translation>Глобальное включение</translation>
+ <translation type="unfinished">Глобальное включение</translation>
</message>
<message>
<source>Usage</source>
@@ -4909,11 +4965,11 @@ ate the goose who was loose.</source>
<name>qdesigner_internal::PromotionTaskMenu</name>
<message>
<source>Promoted widgets...</source>
- <translation type="unfinished">Преобразованные виджеты...</translation>
+ <translation>Преобразованные виджеты...</translation>
</message>
<message>
<source>Promote to ...</source>
- <translation type="unfinished">Преобразовать в ...</translation>
+ <translation>Преобразовать в ...</translation>
</message>
<message>
<source>Change signals/slots...</source>
@@ -4921,11 +4977,11 @@ ate the goose who was loose.</source>
</message>
<message>
<source>Promote to</source>
- <translation type="unfinished">Преобразовать в</translation>
+ <translation>Преобразовать в</translation>
</message>
<message>
<source>Demote to %1</source>
- <translation type="unfinished">Преобразовать в %1</translation>
+ <translation>Преобразовать в %1</translation>
</message>
</context>
<context>
@@ -4988,15 +5044,15 @@ Class: %2</source>
<name>qdesigner_internal::QDesignerPromotionDialog</name>
<message>
<source>Promoted Widgets</source>
- <translation type="unfinished">Преобразованные виджеты</translation>
+ <translation>Преобразованные виджеты</translation>
</message>
<message>
<source>Promoted Classes</source>
- <translation type="unfinished">Преобразованные классы</translation>
+ <translation>Преобразованные классы</translation>
</message>
<message>
<source>Promote</source>
- <translation type="unfinished">Преобразовать</translation>
+ <translation>Преобразовать</translation>
</message>
<message>
<source>Change signals/slots...</source>
@@ -5227,7 +5283,7 @@ Class: %2</source>
</message>
<message>
<source>Source</source>
- <translation type="unfinished">Исходник</translation>
+ <translation>Исходник</translation>
</message>
<message>
<source>&amp;OK</source>
@@ -5600,7 +5656,7 @@ Class: %2</source>
</message>
<message>
<source>Edit Tree Widget</source>
- <translation type="unfinished">Изменение виджета Дерево</translation>
+ <translation>Изменение виджета Дерево</translation>
</message>
<message>
<source>&amp;Items</source>
@@ -5681,7 +5737,7 @@ Class: %2</source>
<name>qdesigner_internal::WidgetBoxTreeWidget</name>
<message>
<source>Scratchpad</source>
- <translation type="unfinished">Блокнот</translation>
+ <translation>Блокнот</translation>
</message>
<message>
<source>Custom Widgets</source>
@@ -5742,7 +5798,7 @@ Class: %2</source>
</message>
<message>
<source>The current page of the container &apos;%1&apos; (%2) could not be determined while creating a layout.This indicates an inconsistency in the ui-file, probably a layout being constructed on a container widget.</source>
- <translation type="unfinished">При создании компоновщика не удалось определить текущую страницу контейнера &apos;%1&apos; (%2). Это указывает на некорректность файла ui - возможно, компоновщик был создан для контейнерного виджета.</translation>
+ <translation>При создании компоновщика не удалось определить текущую страницу контейнера &apos;%1&apos; (%2). Это указывает на некорректность файла ui - возможно, компоновщик был создан для виджета контейнерного типа.</translation>
</message>
<message>
<source>Attempt to add a layout to a widget &apos;%1&apos; (%2) which already has an unmanaged layout of type %3.
diff --git a/translations/linguist_ru.ts b/translations/linguist_ru.ts
index 2d06f25..3b448a0 100644
--- a/translations/linguist_ru.ts
+++ b/translations/linguist_ru.ts
@@ -258,6 +258,191 @@ Will assume a single universal form.</source>
</message>
</context>
<context>
+ <name>LConvert</name>
+ <message>
+ <source>
+Usage:
+ lconvert [options] &lt;infile&gt; [&lt;infile&gt;...]
+
+lconvert is part of Qt&apos;s Linguist tool chain. It can be used as a
+stand-alone tool to convert and filter translation data files.
+The following file formats are supported:
+
+%1
+If multiple input files are specified, they are merged with
+translations from later files taking precedence.
+
+Options:
+ -h
+ --help Display this information and exit.
+
+ -i &lt;infile&gt;
+ --input-file &lt;infile&gt;
+ Specify input file. Use if &lt;infile&gt; might start with a dash.
+ This option can be used several times to merge inputs.
+ May be &apos;-&apos; (standard input) for use in a pipe.
+
+ -o &lt;outfile&gt;
+ --output-file &lt;outfile&gt;
+ Specify output file. Default is &apos;-&apos; (standard output).
+
+ -if &lt;informat&gt;
+ --input-format &lt;format&gt;
+ Specify input format for subsequent &lt;infile&gt;s.
+ The format is auto-detected from the file name and defaults to &apos;ts&apos;.
+
+ -of &lt;outformat&gt;
+ --output-format &lt;outformat&gt;
+ Specify output format. See -if.
+
+ --input-codec &lt;codec&gt;
+ Specify encoding for QM and PO input files. Default is &apos;Latin1&apos;
+ for QM and &apos;UTF-8&apos; for PO files. UTF-8 is always tried as well for
+ QM, corresponding to the possible use of the trUtf8() function.
+
+ --output-codec &lt;codec&gt;
+ Specify encoding for PO output files. Default is &apos;UTF-8&apos;.
+
+ --drop-tags &lt;regexp&gt;
+ Drop named extra tags when writing TS or XLIFF files.
+ May be specified repeatedly.
+
+ --drop-translations
+ Drop existing translations and reset the status to &apos;unfinished&apos;.
+ Note: this implies --no-obsolete.
+
+ --source-language &lt;language&gt;[_&lt;region&gt;]
+ Specify/override the language of the source strings. Defaults to
+ POSIX if not specified and the file does not name it yet.
+
+ --target-language &lt;language&gt;[_&lt;region&gt;]
+ Specify/override the language of the translation.
+ The target language is guessed from the file name if this option
+ is not specified and the file contents name no language yet.
+
+ --no-obsolete
+ Drop obsolete messages.
+
+ --no-finished
+ Drop finished messages.
+
+ --sort-contexts
+ Sort contexts in output TS file alphabetically.
+
+ --locations {absolute|relative|none}
+ Override how source code references are saved in TS files.
+ Default is absolute.
+
+ --no-ui-lines
+ Drop line numbers from references to UI files.
+
+ --verbose
+ be a bit more verbose
+
+Long options can be specified with only one leading dash, too.
+
+Return value:
+ 0 on success
+ 1 on command line parse failures
+ 2 on read failures
+ 3 on write failures
+</source>
+ <translation>
+Использование:
+ lconvert [параметры] &lt;входной файл&gt; [&lt;входной файл&gt;...]
+
+lconvert - это один из инструментов Qt Linguist. Он может быть использован как
+для преобразования файлов переводов, так и для обработки файлов переводов.
+
+Поддерживаются файлы следующих форматов:
+
+%1
+Если задано несколько входных файлов, то они будут объединены, причем, каждый
+последующий файл имеет приоритет над предыдущим.
+
+Параметры:
+ -h
+ --help Отображение данной справки и выход.
+
+ -i &lt;файл&gt;
+ --input-file &lt;файл&gt;
+ Указание входного файл. Следует использовать, если &lt;входной файл&gt;
+ начинается с дефиса. Этот параметр может быть использован несколько
+ раз для объединения файлов.
+ Допустимо значение &quot;-&quot; (стандартный ввод) для использования каналов.
+
+ -o &lt;файл&gt;
+ --output-file &lt;файл&gt;
+ Указание выходного файла.
+ По умолчанию значение &quot;-&quot; (стандартный вывод).
+
+ -if &lt;формат&gt;
+ --input-format &lt;формат&gt;
+ Указание формата для последующих входных файлов.
+ Формат определяется автоматически из имени файла.
+ По умолчанию предполагается &quot;ts&quot;.
+
+ -of &lt;формат&gt;
+ --output-format &lt;формат&gt;
+ Указание формата выходного файла. См. -if.
+
+ --input-codec &lt;кодировка&gt;
+ Указание кодировки входных файлов QM и PO. По умолчанию,
+ используется &quot;Latin1&quot; для QM и &quot;UTF-8&quot; для PO файлов. Так же UTF-8
+ всегда применяется для QM, где возможно использование
+ функции trUtf8().
+
+ --output-codec &lt;кодировка&gt;
+ Указание кодировки выходных файлов формата PO. По умолчанию &quot;UTF-8&quot;.
+
+ --drop-tags &lt;regexp&gt;
+ Опустить дополнительные теги, соответствующие регулярному выражению
+ regexp, при записи файлов TS или XLIFF.
+ Можно указывать несколько раз.
+
+ --drop-translations
+ Опустить существующие переводы и сбросить их статус в &quot;незавершено&quot;.
+ Включает действие --no-obsolete.
+
+ --source-language &lt;язык&gt;[_&lt;регион&gt;]
+ Задание/изменение языка исходных строк. По умолчанию POSIX, если не
+ указано и файл не содержит язык исходных строк в своём имени.
+
+ --target-language &lt;язык&gt;[_&lt;регион&gt;]
+ Задание/изменение языка переводов.
+ Этот язык определяется из имени файла, если этот параметр не задан
+ или язык не указан внутри файла.
+
+ --no-obsolete
+ Опустить устаревшие переводы.
+
+ --no-finished
+ Опустить завершённые переводы.
+
+ --sort-contexts
+ Упорядочить по алфавиту контекст выходного TS файла.
+
+ --locations {absolute|relative|none}
+ Изменение метода сохранения ссылок на исходные тексты в TS файлах.
+ По умолчанию absolute.
+
+ --no-ui-lines
+ Опустить номера строк в ссылках на UI файлы.
+
+ --verbose
+ Выводить чуть больше информации.
+
+Длинные параметры также можно указывать и с одним дефисом.
+
+Возвращаемые результаты:
+ 0 в случае успеха
+ 1 в случае ошибки в командной строке
+ 2 при ошибке чтения
+ 3 при ошибки записи
+</translation>
+ </message>
+</context>
+<context>
<name>LRelease</name>
<message numerus="yes">
<source>Dropped %n message(s) which had no ID.</source>
@@ -291,6 +476,763 @@ Will assume a single universal form.</source>
<numerusform> Пропущено %n непереведённых исходных текстов</numerusform>
</translation>
</message>
+ <message>
+ <source>Usage:
+ lrelease [options] project-file
+ lrelease [options] ts-files [-qm qm-file]
+
+lrelease is part of Qt&apos;s Linguist tool chain. It can be used as a
+stand-alone tool to convert XML-based translations files in the TS
+format into the &apos;compiled&apos; QM format used by QTranslator objects.
+
+Options:
+ -help Display this information and exit
+ -idbased
+ Use IDs instead of source strings for message keying
+ -compress
+ Compress the QM files
+ -nounfinished
+ Do not include unfinished translations
+ -removeidentical
+ If the translated text is the same as
+ the source text, do not include the message
+ -markuntranslated &lt;prefix&gt;
+ If a message has no real translation, use the source text
+ prefixed with the given string instead
+ -silent
+ Do not explain what is being done
+ -version
+ Display the version of lrelease and exit
+</source>
+ <translation>Использование:
+ lrelease [параметры] &lt;файл-проекта&gt;
+ lrelease [параметры] &lt;ts-файлы&gt; [-qm &lt;qm-файлы&gt;]
+
+lrelease - это один из инструментов Qt Linguist. Он может быть использован для
+преобразования переводов, основанных на формате TS в &quot;скомпилированный&quot;
+формат QM, используемый объектами QTranslator.
+
+Параметры:
+ -help
+ Отобразить данную справку и выйти
+ -idbased
+ Использовать ID вместо исходных строк для индексирования сообщений
+ -compress
+ Сжать файл QM
+ -nounfinished
+ Не включать незавершённые переводы
+ -removeidentical
+ Не включать переводы, совпадающие с исходным текстом
+ -markuntranslated &lt;приставка&gt;
+ Если сообщение не имеет перевода, то использовать исходный текст
+ с указанной приставкой
+ -silent
+ Не отчитываться о производимых действиях
+ -version
+ Отобразить текущую версию lrelease и выйти
+</translation>
+ </message>
+ <message>
+ <source>lrelease error: %1</source>
+ <translation>lrelease ошибка: %1</translation>
+ </message>
+ <message>
+ <source>Updating &apos;%1&apos;...
+</source>
+ <translation>Обновление &apos;%1&apos;...
+</translation>
+ </message>
+ <message>
+ <source>Removing translations equal to source text in &apos;%1&apos;...
+</source>
+ <translation>Удаление переводов для &apos;%1&apos;...
+</translation>
+ </message>
+ <message>
+ <source>lrelease error: cannot create &apos;%1&apos;: %2
+</source>
+ <translation>lrelease ошибка: не удалось создать &apos;%1&apos;: %2</translation>
+ </message>
+ <message>
+ <source>lrelease error: cannot save &apos;%1&apos;: %2</source>
+ <translation>lrelease ошибка: не удалось сохранить &apos;%1&apos;: %2</translation>
+ </message>
+ <message>
+ <source>lrelease version %1
+</source>
+ <translation>lrelease версия %1
+</translation>
+ </message>
+ <message>
+ <source>lrelease error: cannot read project file &apos;%1&apos;.
+</source>
+ <translation>lrelease ошибка: не удалось прочитать файл проекта &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <source>lrelease error: cannot process project file &apos;%1&apos;.
+</source>
+ <translation>lrelease ошибка: не удалось обработать файл проекта &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <source>lrelease warning: Met no &apos;TRANSLATIONS&apos; entry in project file &apos;%1&apos;
+</source>
+ <translation>lrelease ошибка: в файле проекта &apos;%1&apos; отсутствует запись &apos;TRANSLATIONS&apos;</translation>
+ </message>
+</context>
+<context>
+ <name>LUpdate</name>
+ <message>
+ <source>Parenthesis/bracket/brace mismatch between #if and #else branches; using #if branch
+</source>
+ <translation>Несовпадение скобок (круглых, квадратных или фигурных) между ветками #if и #else; используется ветка #if
+</translation>
+ </message>
+ <message>
+ <source>Parenthesis/brace mismatch between #if and #else branches; using #if branch
+</source>
+ <translation>Несовпадение скобок (круглых или фигурных) между ветками #if и #else; используется ветка #if
+</translation>
+ </message>
+ <message>
+ <source>Unterminated C++ comment
+</source>
+ <translation>Незавершённый комментарий C++
+</translation>
+ </message>
+ <message>
+ <source>Unterminated C++ string
+</source>
+ <translation>Незавершённая строка C++
+</translation>
+ </message>
+ <message>
+ <source>Excess closing brace in C++ code (or abuse of the C++ preprocessor)
+</source>
+ <translation>Лишняя закрывающая фигурная скобка в C++ коде (или злоупотребление препроцессором C++)
+</translation>
+ </message>
+ <message>
+ <source>Excess closing parenthesis in C++ code (or abuse of the C++ preprocessor)
+</source>
+ <translation>Лишняя закрывающая круглая скобка в C++ коде (или злоупотребление препроцессором C++)
+</translation>
+ </message>
+ <message>
+ <source>Excess closing bracket in C++ code (or abuse of the C++ preprocessor)
+</source>
+ <translation>Лишняя закрывающая квадратная скобка в C++ коде (или злоупотребление препроцессором C++)
+</translation>
+ </message>
+ <message>
+ <source>circular inclusion of %1
+</source>
+ <translation>цикличное включение %1
+</translation>
+ </message>
+ <message>
+ <source>Cannot open %1: %2
+</source>
+ <translation>Невозможно открыть %1: %2
+</translation>
+ </message>
+ <message>
+ <source>//% cannot be used with tr() / QT_TR_NOOP(). Ignoring
+</source>
+ <translation>//% не может быть использовано совместно с tr() / QT_TR_NOOP(). Пропускается
+</translation>
+ </message>
+ <message>
+ <source>Qualifying with unknown namespace/class %1::%2
+</source>
+ <translation>Уточнение с неизвестным пространством имён/классом %1::%2
+</translation>
+ </message>
+ <message>
+ <source>tr() cannot be called without context
+</source>
+ <translation>tr() не может быть вызван без контекста
+</translation>
+ </message>
+ <message>
+ <source>Class &apos;%1&apos; lacks Q_OBJECT macro
+</source>
+ <translation>У класса &quot;%1&quot; отсутствует макрос Q_OBJECT
+</translation>
+ </message>
+ <message>
+ <source>It is not recommended to call tr() from within a constructor &apos;%1::%2&apos;
+</source>
+ <translation>Не рекомендуется вызывать tr() в теле конструктора &quot;%1::%2&quot;
+</translation>
+ </message>
+ <message>
+ <source>//% cannot be used with translate() / QT_TRANSLATE_NOOP(). Ignoring
+</source>
+ <translation>//% не может быть использовано совместно с translate() / QT_TRANSLATE_NOOP(). Пропускается
+</translation>
+ </message>
+ <message>
+ <source>//= cannot be used with qtTrId() / QT_TRID_NOOP(). Ignoring
+</source>
+ <translation>//= не может быть использовано совместно с qtTrId() / QT_TRID_NOOP(). Пропускается
+</translation>
+ </message>
+ <message>
+ <source>Unexpected character in meta string
+</source>
+ <translation>Неожиданный символ в мета-строке
+</translation>
+ </message>
+ <message>
+ <source>Unterminated meta string
+</source>
+ <translation>Незавершённая мета-строка
+</translation>
+ </message>
+ <message>
+ <source>Cannot invoke tr() like this
+</source>
+ <translation>Использование tr() в том виде, как здесь, не допускается
+</translation>
+ </message>
+ <message>
+ <source>Discarding unconsumed meta data
+</source>
+ <translation>Отбрасываются неиспользуемые мета-данные
+</translation>
+ </message>
+ <message>
+ <source>Unbalanced opening brace in C++ code (or abuse of the C++ preprocessor)
+</source>
+ <translation>Лишняя открывающая фигурная скобка в C++ коде (или злоупотребление препроцессором C++)
+</translation>
+ </message>
+ <message>
+ <source>Unbalanced opening parenthesis in C++ code (or abuse of the C++ preprocessor)
+</source>
+ <translation>Лишняя открывающая круглая скобка в C++ коде (или злоупотребление препроцессором C++)
+</translation>
+ </message>
+ <message>
+ <source>Unbalanced opening bracket in C++ code (or abuse of the C++ preprocessor)
+</source>
+ <translation>Лишняя открывающая квадратная скобка в C++ коде (или злоупотребление препроцессором C++)
+</translation>
+ </message>
+ <message>
+ <source>Cannot open %1: %2</source>
+ <translation>Невозможно открыть %1: %2</translation>
+ </message>
+ <message>
+ <source>Unterminated Java comment.
+</source>
+ <translation>Незавершённый комментарий Java.
+</translation>
+ </message>
+ <message>
+ <source>Invalid Unicode value.
+</source>
+ <translation>Неверное значение Unicode.
+</translation>
+ </message>
+ <message>
+ <source>Unterminated string.
+</source>
+ <translation>Незавершённая строка.
+</translation>
+ </message>
+ <message>
+ <source>String used in translation can contain only literals concatenated with other literals, not expressions or numbers.
+</source>
+ <translation>Строка, используемая в переводе, может содержать только строковые литералы (возможно, соединённые с другими литералами), но не выражения или числа.
+</translation>
+ </message>
+ <message>
+ <source>&apos;class&apos; must be followed by a class name.
+</source>
+ <translation>После слова &quot;class&quot; должно идти имя класса.
+</translation>
+ </message>
+ <message>
+ <source>Excess closing brace.
+</source>
+ <translation>Лишняя закрывающая фигурная скобка.
+</translation>
+ </message>
+ <message>
+ <source>&apos;package&apos; must be followed by package name.
+</source>
+ <translation>После слова &quot;package&quot; должно идти имя пакета.
+</translation>
+ </message>
+ <message>
+ <source>Unbalanced opening brace.
+</source>
+ <translation>Лишняя открывающая фигурная скобка.
+</translation>
+ </message>
+ <message>
+ <source>Unbalanced opening parenthesis.
+</source>
+ <translation>Лишняя открывающая круглая скобка.
+</translation>
+ </message>
+ <message>
+ <source>Usage:
+ lupdate [options] [project-file]...
+ lupdate [options] [source-file|path|@lst-file]... -ts ts-files|@lst-file
+
+lupdate is part of Qt&apos;s Linguist tool chain. It extracts translatable
+messages from Qt UI files, C++, Java and JavaScript/QtScript source code.
+Extracted messages are stored in textual translation source files (typically
+Qt TS XML). New and modified messages can be merged into existing TS files.
+
+Options:
+ -help Display this information and exit.
+ -no-obsolete
+ Drop all obsolete strings.
+ -extensions &lt;ext&gt;[,&lt;ext&gt;]...
+ Process files with the given extensions only.
+ The extension list must be separated with commas, not with whitespace.
+ Default: &apos;%1&apos;.
+ -pluralonly
+ Only include plural form messages.
+ -silent
+ Do not explain what is being done.
+ -no-sort
+ Do not sort contexts in TS files.
+ -no-recursive
+ Do not recursively scan the following directories.
+ -recursive
+ Recursively scan the following directories (default).
+ -I &lt;includepath&gt; or -I&lt;includepath&gt;
+ Additional location to look for include files.
+ May be specified multiple times.
+ -locations {absolute|relative|none}
+ Specify/override how source code references are saved in TS files.
+ Default is absolute.
+ -no-ui-lines
+ Do not record line numbers in references to UI files.
+ -disable-heuristic {sametext|similartext|number}
+ Disable the named merge heuristic. Can be specified multiple times.
+ -pro &lt;filename&gt;
+ Name of a .pro file. Useful for files with .pro file syntax but
+ different file suffix. Projects are recursed into and merged.
+ -source-language &lt;language&gt;[_&lt;region&gt;]
+ Specify the language of the source strings for new files.
+ Defaults to POSIX if not specified.
+ -target-language &lt;language&gt;[_&lt;region&gt;]
+ Specify the language of the translations for new files.
+ Guessed from the file name if not specified.
+ -ts &lt;ts-file&gt;...
+ Specify the output file(s). This will override the TRANSLATIONS
+ and nullify the CODECFORTR from possibly specified project files.
+ -codecfortr &lt;codec&gt;
+ Specify the codec assumed for tr() calls. Effective only with -ts.
+ -version
+ Display the version of lupdate and exit.
+ @lst-file
+ Read additional file names (one per line) from lst-file.
+</source>
+ <translation>Использование:
+ lupdate [параметры] [файл-проекта]...
+ lupdate [параметры] [исходный-файл|путь|@lst-файл]... -ts ts-файлы|@lst-файл
+
+lupdate - это один из инструментов Qt Linguist. Он извлекает переводимые строки
+из файлов Qt UI, исходных текстов C++, Java и JavaScript/QtScript. Эти строки
+сохраняются в текстовых исходных файлах перевода (обычно, Qt TS XML). Новые
+или изменённые сообщения могут быть добавлены в существующие TS файлы.
+
+Параметры:
+ -help Отобразить эту информацию и выйти.
+ -no-obsolete
+ Удалить все устаревшие строки.
+ -extensions &lt;ext&gt;[,&lt;ext&gt;]...
+ Обрабатывать файлы, имеющие только указанные расширения.
+ Список расширений должен быть разделён запятыми, а не пробелами.
+ По умолчанию:
+ &quot;%1&quot;.
+ -pluralonly
+ Включать только множественную форму сообщений.
+ -silent
+ Не показывать выполняемые действия.
+ -no-sort
+ Не упорядочивать контекст в TS файлах.
+ -no-recursive
+ Не сканировать каталоги рекурсивно.
+ -recursive
+ Сканировать каталоги рекурсивно (по умолчанию).
+ -I &lt;путь&gt; or -I&lt;путь&gt;
+ Дополнительное расположение подключаемых файлов.
+ Можно указать несколько раз.
+ -locations {absolute|relative|none}
+ Изменение метода сохранения ссылок на исходные тексты в TS файлах.
+ По умолчанию absolute.
+ -no-ui-lines
+ Не сохранять номера строк в ссылках на UI файлы.
+ -disable-heuristic {sametext|similartext|number}
+ Отключить указанный метод объединения:
+ sametext - тот же текст
+ similartext - похожий текст
+ number - числа
+ Может указываться несколько раз.
+ -pro &lt;имя файла&gt;
+ Название .pro файла. Используется для файлов в формате .pro, но
+ имеющих другое расширение. Проекты будут объединены и обработаны
+ рекурсивно.
+ --source-language &lt;язык&gt;[_&lt;регион&gt;]
+ Задание/замена языка исходных строк. По умолчанию, POSIX, если не
+ указано, и файл не содержит его в своём имени.
+ --target-language &lt;язык&gt;[_&lt;регион&gt;]
+ Задание/замена языка переводов.
+ Этот язык определяется из имени файла, если этот параметр не задан
+ или язык не указан внутри файла.
+ -ts &lt;ts-файл&gt;...
+ Указание выходного файла(ов). В этом случае будет заменена
+ переменная TRANSLATIONS и обнулена CODECFORTR в указанном файле
+ проекта.
+ -codecfortr &lt;кодировка&gt;
+ Указание кодировки, применимой к tr().
+ Используется только вместе с -ts.
+ -version
+ Отобразить версию lupdate и выйти.
+ @lst-файл
+ Прочитать дополнительные имена файлов (по одному на строке) из
+ файла lst-файл.
+</translation>
+ </message>
+ <message>
+ <source>lupdate warning: Codec for tr() &apos;%1&apos; disagrees with existing file&apos;s codec &apos;%2&apos;. Expect trouble.
+</source>
+ <translation>Предупреждение lupdate: Кодировка для tr() &quot;%1&quot; не совпадает с кодировкой существующего файла &quot;%2&quot;. Возможны проблемы.
+</translation>
+ </message>
+ <message>
+ <source>lupdate warning: Specified target language &apos;%1&apos; disagrees with existing file&apos;s language &apos;%2&apos;. Ignoring.
+</source>
+ <translation>Предупреждение lupdate: Указанный целевой язык &quot;%1&quot; не совпадает с языком существующего файла &quot;%2&quot;. Пропускается.
+</translation>
+ </message>
+ <message>
+ <source>lupdate warning: Specified source language &apos;%1&apos; disagrees with existing file&apos;s language &apos;%2&apos;. Ignoring.
+</source>
+ <translation>Предупреждение lupdate: Указанный исходный язык &quot;%1&quot; не совпадает с языком существующего файла &quot;%2&quot;. Пропускается.
+</translation>
+ </message>
+ <message>
+ <source>Updating &apos;%1&apos;...
+</source>
+ <translation>Обновление &quot;%1&quot;...
+</translation>
+ </message>
+ <message>
+ <source>Stripping non plural forms in &apos;%1&apos;...
+</source>
+ <translation>Удаление немножественных форм из &quot;%1&quot;...
+</translation>
+ </message>
+ <message>
+ <source>lupdate warning: Codec for source &apos;%1&apos; is invalid. Falling back to codec for tr().
+</source>
+ <translation>Предупреждение lupdate: Некорректная кодировка для исходника &quot;%1&quot;. Используется кодировка для tr().
+</translation>
+ </message>
+ <message>
+ <source>lupdate warning: TS files from command line will override TRANSLATIONS in %1.
+</source>
+ <translation>Предупреждение lupdate: TS файлы командной строки заменят TRANSLATIONS в %1.
+</translation>
+ </message>
+ <message>
+ <source>lupdate warning: TS files from command line prevent recursing into %1.
+</source>
+ <translation>Предупреждение lupdate: TS файлы командной строки отключают рекурсию в %1.
+</translation>
+ </message>
+ <message>
+ <source>lupdate warning: no TS files specified. Only diagnostics will be produced for &apos;%1&apos;.
+</source>
+ <translation>Предупреждение lupdate: TS файлы не указаны. Будет произведена только диагностика &quot;%1&quot;.
+</translation>
+ </message>
+ <message>
+ <source>The option -target-language requires a parameter.
+</source>
+ <translation>Параметр -target-language требует значение.
+</translation>
+ </message>
+ <message>
+ <source>The option -source-language requires a parameter.
+</source>
+ <translation>Параметр -source-language требует значение.
+</translation>
+ </message>
+ <message>
+ <source>The option -disable-heuristic requires a parameter.
+</source>
+ <translation>Параметр -disable-heuristic требует значение.
+</translation>
+ </message>
+ <message>
+ <source>Invalid heuristic name passed to -disable-heuristic.
+</source>
+ <translation>Неверное имя метода передано в -disable-heuristic.
+</translation>
+ </message>
+ <message>
+ <source>The option -locations requires a parameter.
+</source>
+ <translation>Параметр -locations требует значения.</translation>
+ </message>
+ <message>
+ <source>Invalid parameter passed to -locations.
+</source>
+ <translation>Неверное значение передано в -locations.
+</translation>
+ </message>
+ <message>
+ <source>The -codecfortr option should be followed by a codec name.
+</source>
+ <translation>Параметру -codecfortr требуется название кодировки.
+</translation>
+ </message>
+ <message>
+ <source>The -extensions option should be followed by an extension list.
+</source>
+ <translation>Параметру -extensions требуется список расширений.
+</translation>
+ </message>
+ <message>
+ <source>The -pro option should be followed by a filename of .pro file.
+</source>
+ <translation>Параметру -pro требуется имя .pro файла.
+</translation>
+ </message>
+ <message>
+ <source>The -I option should be followed by a path.
+</source>
+ <translation>Параметру -I требуется путь.
+</translation>
+ </message>
+ <message>
+ <source>Unrecognized option &apos;%1&apos;.
+</source>
+ <translation>Неопознанный параметр &quot;%1&quot;.
+</translation>
+ </message>
+ <message>
+ <source>lupdate error: List file &apos;%1&apos; is not readable.
+</source>
+ <translation>Ошибка lupdate: Не удалось прочитать файл списка &quot;%1&quot;.
+</translation>
+ </message>
+ <message>
+ <source>lupdate warning: For some reason, &apos;%1&apos; is not writable.
+</source>
+ <translation>Предупреждение lupdate: По какой-то причине не удалось записать в &quot;%1&quot;.
+</translation>
+ </message>
+ <message>
+ <source>lupdate error: File &apos;%1&apos; has no recognized extension.
+</source>
+ <translation>Ошибка lupdate: Расширение файла &quot;%1&quot; не опознано.
+</translation>
+ </message>
+ <message>
+ <source>lupdate error: File &apos;%1&apos; does not exist.
+</source>
+ <translation>Ошибка lupdate: Файл &quot;%1&quot; не существует.
+</translation>
+ </message>
+ <message>
+ <source>Scanning directory &apos;%1&apos;...
+</source>
+ <translation>Сканирование каталога &quot;%1&quot;...
+</translation>
+ </message>
+ <message>
+ <source>lupdate warning: -target-language usually only makes sense with exactly one TS file.
+</source>
+ <translation>Предупреждение lupdate: -target-language имеет смысл для одного TS файла.
+</translation>
+ </message>
+ <message>
+ <source>lupdate warning: -codecfortr has no effect without -ts.
+</source>
+ <translation>Предупреждение lupdate: -codecfortr не имеет смысла без -ts.
+</translation>
+ </message>
+ <message>
+ <source>lupdate warning: no TS files specified. Only diagnostics will be produced.
+</source>
+ <translation>Предупреждение lupdate: TS файлы не указаны. Будет произведена только диагностика.
+</translation>
+ </message>
+ <message>
+ <source>lupdate error: Both project and source files / include paths specified.
+</source>
+ <translation>Ошибка lupdate: Указаны и проект, и исходный файл / включаемые пути.
+</translation>
+ </message>
+ <message numerus="yes">
+ <source> Found %n source text(s) (%1 new and %2 already existing)
+</source>
+ <translation>
+ <numerusform> Обнаружен %n исходный текст (%1 новых и %2 уже имеющихся)
+</numerusform>
+ <numerusform> Обнаружено %n исходных текста (%1 новых и %2 уже имеющихся)
+</numerusform>
+ <numerusform> Обнаружено %n исходных текстов (%1 новых и %2 уже имеющихся)
+</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source> Removed %n obsolete entries
+</source>
+ <translation>
+ <numerusform>Удалена %n устаревшая запись
+</numerusform>
+ <numerusform>Удалены %n устаревших записи
+</numerusform>
+ <numerusform>Удалено %n устаревших записей
+</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source> Kept %n obsolete entries
+</source>
+ <translation>
+ <numerusform>Сохранена %n устаревшая запись
+</numerusform>
+ <numerusform>Сохранены %n устаревшие записи
+</numerusform>
+ <numerusform>Сохранено %n устаревших записей
+</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source> Number heuristic provided %n translation(s)
+</source>
+ <translation>
+ <numerusform> Эвристика number добавила %n перевод
+</numerusform>
+ <numerusform> Эвристика number добавила %n перевода
+</numerusform>
+ <numerusform> Эвристика number добавила %n переводов
+</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source> Same-text heuristic provided %n translation(s)
+</source>
+ <translation>
+ <numerusform> Эвристика same-text добавила %n перевод
+</numerusform>
+ <numerusform> Эвристика same-text добавила %n перевода
+</numerusform>
+ <numerusform> Эвристика same-text добавила %n переводов
+</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source> Similar-text heuristic provided %n translation(s)
+</source>
+ <translation>
+ <numerusform> Эвристика similar-text добавила %n перевод
+</numerusform>
+ <numerusform> Эвристика similar-text добавила %n перевода
+</numerusform>
+ <numerusform> Эвристика similar-text добавила %n переводов
+</numerusform>
+ </translation>
+ </message>
+ <message>
+ <source>Illegal character</source>
+ <translation>Недопустимый символ</translation>
+ </message>
+ <message>
+ <source>Unclosed string at end of line</source>
+ <translation>Незавершенный текст в конце строки</translation>
+ </message>
+ <message>
+ <source>Illegal escape squence</source>
+ <translation>Неверная esc-последовательность</translation>
+ </message>
+ <message>
+ <source>Illegal unicode escape sequence</source>
+ <translation>Неверная esc-последовательность unicode</translation>
+ </message>
+ <message>
+ <source>Unclosed comment at end of file</source>
+ <translation>Незакрытый комментарий в конце файла</translation>
+ </message>
+ <message>
+ <source>Illegal syntax for exponential number</source>
+ <translation>Неверный синтаксис для числа в экспоненциальной форме</translation>
+ </message>
+ <message>
+ <source>Identifier cannot start with numeric literal</source>
+ <translation>Идентификатор не может начинаться с цифры</translation>
+ </message>
+ <message>
+ <source>Unterminated regular expression literal</source>
+ <translation>Незавершённый литерал регулярного выражения</translation>
+ </message>
+ <message>
+ <source>//% cannot be used with %1(). Ignoring
+</source>
+ <translation>//% не может быть использовано совместно с %1(). Пропускается
+</translation>
+ </message>
+ <message>
+ <source>%1() requires at least two arguments.
+</source>
+ <translation>для %1() требуется как минимум два параметра.
+</translation>
+ </message>
+ <message>
+ <source>%1(): both arguments must be literal strings.
+</source>
+ <translation>%1(): оба параметра должны быть строковыми литералами.
+</translation>
+ </message>
+ <message>
+ <source>%1() requires at least one argument.
+</source>
+ <translation>для %1() требуется как минимум один параметр.
+</translation>
+ </message>
+ <message>
+ <source>%1(): text to translate must be a literal string.
+</source>
+ <translation>%1(): переводимый текст должен быть строковым литералом.
+</translation>
+ </message>
+ <message>
+ <source>//= cannot be used with %1(). Ignoring
+</source>
+ <translation>//= не может быть использовано совместно с %1(). Пропускается
+</translation>
+ </message>
+ <message>
+ <source>%1(): identifier must be a literal string.
+</source>
+ <translation>%1(): идентификатор должен быть строковым литералом.
+</translation>
+ </message>
+ <message>
+ <source>Expected </source>
+ <extracomment>Beginning of the string that contains comma-separated list of expected tokens</extracomment>
+ <translation>Ожидается </translation>
+ </message>
+ <message>
+ <source>XML error: Parse error at line %1, column %2 (%3).</source>
+ <translation>Ошибка XML: Ошибка разбора в строке %1, столбце %2 (%3).</translation>
+ </message>
+ <message>
+ <source>Parse error in UI file</source>
+ <translation>Ошибка разбора UI файла</translation>
+ </message>
</context>
<context>
<name>MainWindow</name>
@@ -1289,6 +2231,13 @@ Line: %2</source>
</message>
</context>
<context>
+ <name>PhraseBook</name>
+ <message>
+ <source>Parse error at line %1, column %2 (%3).</source>
+ <translation>Ошибка разбора в строке %1, столбце %2 (%3).</translation>
+ </message>
+</context>
+<context>
<name>PhraseBookBox</name>
<message>
<source></source>
@@ -1460,6 +2409,12 @@ Line: %2</source>
<source>XLIFF localization files</source>
<translation>Файлы локализации XLIFF</translation>
</message>
+ <message>
+ <source>lupdate version %1
+</source>
+ <translation>lupdate версия %1
+</translation>
+ </message>
</context>
<context>
<name>SourceCodeView</name>
diff --git a/translations/qt_ru.ts b/translations/qt_ru.ts
index 5fbd6e3..b445c5d 100644
--- a/translations/qt_ru.ts
+++ b/translations/qt_ru.ts
@@ -302,6 +302,14 @@ have libgstreamer-plugins-base installed.</source>
<translation>Ошибка открытия адреса URL</translation>
</message>
<message>
+ <source>Error opening resource</source>
+ <translation>Ошибка открытия ресурса</translation>
+ </message>
+ <message>
+ <source>Error opening source: resource not opened</source>
+ <translation>Ошибка открытия источника: ресурс не был открыт</translation>
+ </message>
+ <message>
<source>Setting volume failed</source>
<translation>Не удалось установить уровень громкости</translation>
</message>
@@ -313,6 +321,10 @@ have libgstreamer-plugins-base installed.</source>
<source>Playback complete</source>
<translation>Воспроизведение завершено</translation>
</message>
+ <message>
+ <source>Download error</source>
+ <translation>Ошибка загрузки</translation>
+ </message>
</context>
<context>
<name>Phonon::MMF::AbstractVideoPlayer</name>
@@ -421,6 +433,14 @@ have libgstreamer-plugins-base installed.</source>
<translation>Ошибка открытия источника: тип не поддерживается</translation>
</message>
<message>
+ <source>Error opening source: resource is compressed</source>
+ <translation>Ошибка открытия источника: сжатый ресурс</translation>
+ </message>
+ <message>
+ <source>Error opening source: resource not valid</source>
+ <translation>Ошибка открытия источника: некорректный ресурс</translation>
+ </message>
+ <message>
<source>Error opening source: media type could not be determined</source>
<translation>Ошибка открытия источника: не удалось определить тип медиа-данных</translation>
</message>
@@ -1360,7 +1380,7 @@ to
<name>QDeclarativeBinding</name>
<message>
<source>Binding loop detected for property &quot;%1&quot;</source>
- <translation type="unfinished">Обнаружена цикличная привязка для свойства &quot;%1&quot;</translation>
+ <translation type="unfinished">Обнаружено зацикливание привязки для свойства &quot;%1&quot;</translation>
</message>
</context>
<context>
@@ -1574,6 +1594,10 @@ to
<translation type="unfinished">Некорректное присваивание свойства: ожидается сценарий</translation>
</message>
<message>
+ <source>Cannot assign multiple values to a singular property</source>
+ <translation type="unfinished">Невозможно присвоить множество значений свойству, принимающему только одно</translation>
+ </message>
+ <message>
<source>Cannot assign object to property</source>
<translation type="unfinished">Невозможно назначить объектсвойству</translation>
</message>
@@ -1666,8 +1690,16 @@ to
<translation type="unfinished">Некорректное размещение псевдонима</translation>
</message>
<message>
+ <source>Invalid alias reference. An alias reference must be specified as &lt;id&gt;, &lt;id&gt;.&lt;property&gt; or &lt;id&gt;.&lt;value property&gt;.&lt;property&gt;</source>
+ <translation type="unfinished">Некорректная ссылка на псевдоним. Ссылка на псевдоним должна быть указана, как &lt;id&gt;, &lt;id&gt;.&lt;свойство&gt; или &lt;id&gt;.&lt;свойство значения&gt;.&lt;свойство&gt;</translation>
+ </message>
+ <message>
+ <source>Alias property exceeds alias bounds</source>
+ <translation type="unfinished">Свойство псевдонима выходит за границы</translation>
+ </message>
+ <message>
<source>Invalid alias reference. An alias reference must be specified as &lt;id&gt; or &lt;id&gt;.&lt;property&gt;</source>
- <translation type="unfinished">Некорректная ссылка на псевдоним. Ссылка на псевдоним должна быть указана, как &lt;id&gt; или &lt;id&gt;.&lt;property&gt;</translation>
+ <translation type="obsolete">Некорректная ссылка на псевдоним. Ссылка на псевдоним должна быть указана, как &lt;id&gt; или &lt;id&gt;.&lt;property&gt;</translation>
</message>
<message>
<source>Invalid alias reference. Unable to find id &quot;%1&quot;</source>
@@ -1682,29 +1714,10 @@ to
</message>
</context>
<context>
- <name>QDeclarativeCompositeTypeManager</name>
- <message>
- <source>Resource %1 unavailable</source>
- <translation>Ресурс &quot;%1&quot; недоступен</translation>
- </message>
- <message>
- <source>Namespace %1 cannot be used as a type</source>
- <translation>Пространство имён &quot;%1&quot; не может быть использовано в качестве типа</translation>
- </message>
- <message>
- <source>%1 %2</source>
- <translation>%1 %2</translation>
- </message>
- <message>
- <source>Type %1 unavailable</source>
- <translation>Тип &quot;%1&quot; недоступен</translation>
- </message>
-</context>
-<context>
<name>QDeclarativeConnections</name>
<message>
<source>Cannot assign to non-existent property &quot;%1&quot;</source>
- <translation type="unfinished">Невозможно назначить несуществующему свойству &quot;%1&quot;</translation>
+ <translation>Невозможно назначить несуществующему свойству &quot;%1&quot;</translation>
</message>
<message>
<source>Connections: nested objects not allowed</source>
@@ -1760,6 +1773,10 @@ to
<context>
<name>QDeclarativeImportDatabase</name>
<message>
+ <source>cannot load module &quot;%1&quot;: File name case mismatch for &quot;%2&quot;</source>
+ <translation type="unfinished">невозможно загрузить модуль &quot;%1&quot;: Регистр имени файла не соответствует &quot;%2&quot;</translation>
+ </message>
+ <message>
<source>module &quot;%1&quot; definition &quot;%2&quot; not readable</source>
<translation type="unfinished">невозможно прочитать определение &quot;%2&quot; модуля &quot;%1&quot;</translation>
</message>
@@ -1815,6 +1832,10 @@ to
<source>is not a type</source>
<translation>не является типом</translation>
</message>
+ <message>
+ <source>File name case mismatch for &quot;%2&quot;</source>
+ <translation type="unfinished">Регистр имени файла не соответствует &quot;%2&quot;</translation>
+ </message>
</context>
<context>
<name>QDeclarativeKeyNavigationAttached</name>
@@ -1918,7 +1939,7 @@ to
<name>QDeclarativeParser</name>
<message>
<source>Illegal unicode escape sequence</source>
- <translation type="unfinished">Неверная unicode esc-последовательность</translation>
+ <translation>Недопустимая unicode esc-последовательность</translation>
</message>
<message>
<source>Illegal character</source>
@@ -1930,7 +1951,7 @@ to
</message>
<message>
<source>Illegal escape squence</source>
- <translation type="unfinished">Неверная esc-последовательность</translation>
+ <translation>Недопустимая esc-последовательность</translation>
</message>
<message>
<source>Unclosed comment at end of file</source>
@@ -1938,7 +1959,7 @@ to
</message>
<message>
<source>Illegal syntax for exponential number</source>
- <translation type="unfinished">Недопустимый синтаксис для экспоненциального числа</translation>
+ <translation>Недопустимый синтаксис для экспоненциального числа</translation>
</message>
<message>
<source>Identifier cannot start with numeric literal</source>
@@ -1986,15 +2007,15 @@ to
</message>
<message>
<source>Reserved name &quot;Qt&quot; cannot be used as an qualifier</source>
- <translation type="unfinished">Зарезервированное имя &quot;Qt&quot; не может быть использовано в качестве спецификатора</translation>
+ <translation>Зарезервированное имя &quot;Qt&quot; не может быть использовано в качестве спецификатора</translation>
</message>
<message>
<source>Script import qualifiers must be unique.</source>
- <translation type="unfinished">Спецификаторы импорта сценария должны быть уникальными.</translation>
+ <translation>Спецификаторы импорта сценария должны быть уникальными.</translation>
</message>
<message>
<source>Script import requires a qualifier</source>
- <translation type="unfinished">Для импорта сценария требуется спецификатор</translation>
+ <translation>Для импорта сценария требуется спецификатор</translation>
</message>
<message>
<source>Library import requires a version</source>
@@ -2081,6 +2102,25 @@ to
</message>
</context>
<context>
+ <name>QDeclarativeTypeLoader</name>
+ <message>
+ <source>Script %1 unavailable</source>
+ <translation>Сценарий %1 недоступен</translation>
+ </message>
+ <message>
+ <source>Type %1 unavailable</source>
+ <translation>Тип &quot;%1&quot; недоступен</translation>
+ </message>
+ <message>
+ <source>Namespace %1 cannot be used as a type</source>
+ <translation>Пространство имён &quot;%1&quot; не может быть использовано в качестве типа</translation>
+ </message>
+ <message>
+ <source>%1 %2</source>
+ <translation>%1 %2</translation>
+ </message>
+</context>
+<context>
<name>QDeclarativeVME</name>
<message>
<source>Unable to create object of type %1</source>
@@ -3298,18 +3338,10 @@ Please verify the correct directory name was given.</source>
<context>
<name>QLibrary</name>
<message>
- <source>Could not mmap &apos;%1&apos;: %2</source>
- <translation>Не удалось выполнить mmap &quot;%1&quot;: %2</translation>
- </message>
- <message>
<source>Plugin verification data mismatch in &apos;%1&apos;</source>
<translation>Проверочная информация для модуля &quot;%1&quot; не совпадает</translation>
</message>
<message>
- <source>Could not unmap &apos;%1&apos;: %2</source>
- <translation>Не удалось выполнить unmap &quot;%1&quot;: %2</translation>
- </message>
- <message>
<source>The plugin &apos;%1&apos; uses incompatible Qt library. (%2.%3.%4) [%5]</source>
<translation>Модуль &quot;%1&quot; использует несоместимую библиотеку Qt. (%2.%3.%4) [%5]</translation>
</message>
@@ -6071,7 +6103,7 @@ Please choose a different file name.</source>
</message>
<message>
<source>Voice Dial</source>
- <extracomment>Button to trigger voice dialling</extracomment>
+ <extracomment>Button to trigger voice dialing</extracomment>
<translation type="unfinished">Голосовой вызов</translation>
</message>
<message>
@@ -8381,11 +8413,11 @@ Please choose a different file name.</source>
</message>
<message>
<source>W3C XML Schema identity constraint selector</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Переключатель ограничений типа шаблона W3C XML</translation>
</message>
<message>
<source>W3C XML Schema identity constraint field</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Поле ограничений типа шаблона W3C XML</translation>
</message>
<message>
<source>A construct was encountered which is disallowed in the current language(%1).</source>
@@ -9557,15 +9589,15 @@ Please choose a different file name.</source>
</message>
<message>
<source>Data of type %1 are not allowed to be empty.</source>
- <translation type="unfinished"></translation>
+ <translation>Данные типа %1 не могут быть пустыми.</translation>
</message>
<message>
<source>Element %1 is missing child element.</source>
- <translation type="unfinished"></translation>
+ <translation>У элемента %1 отсутствует дочерний элемент.</translation>
</message>
<message>
<source>There is one IDREF value with no corresponding ID: %1.</source>
- <translation type="unfinished"></translation>
+ <translation>Присутствует одно значение IDREF без соответствующего ID: %1.</translation>
</message>
<message>
<source>Loaded schema file is invalid.</source>
@@ -9593,7 +9625,7 @@ Please choose a different file name.</source>
</message>
<message>
<source>Specified type %1 is not known to the schema.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Указанный тип %1 шаблону не известен.</translation>
</message>
<message>
<source>Element %1 is not defined in this scope.</source>
@@ -9601,15 +9633,15 @@ Please choose a different file name.</source>
</message>
<message>
<source>Declaration for element %1 does not exist.</source>
- <translation type="unfinished"></translation>
+ <translation>Отсутствует объявление элемента %1.</translation>
</message>
<message>
<source>Element %1 contains invalid content.</source>
- <translation type="unfinished"></translation>
+ <translation>В элементе %1 находится неверное содержимое.</translation>
</message>
<message>
<source>Element %1 is declared as abstract.</source>
- <translation type="unfinished"></translation>
+ <translation>Элемент %1 объявлен абстрактным.</translation>
</message>
<message>
<source>Element %1 is not nillable.</source>
@@ -9617,7 +9649,7 @@ Please choose a different file name.</source>
</message>
<message>
<source>Attribute %1 contains invalid data: %2</source>
- <translation type="unfinished"></translation>
+ <translation>Атрибут %1 содержит неверные данные: %2</translation>
</message>
<message>
<source>Element contains content although it is nillable.</source>
@@ -9625,7 +9657,7 @@ Please choose a different file name.</source>
</message>
<message>
<source>Fixed value constraint not allowed if element is nillable.</source>
- <translation type="unfinished"></translation>
+ <translation>Для обнуляемых элементов недопустимо ограничение фиксированным значением.</translation>
</message>
<message>
<source>Element %1 cannot contain other elements, as it has a fixed content.</source>
@@ -9633,75 +9665,75 @@ Please choose a different file name.</source>
</message>
<message>
<source>Specified type %1 is not validly substitutable with element type %2.</source>
- <translation type="unfinished"></translation>
+ <translation>Указанный тип %1 не может быть корректно замещён элементом типа %2.</translation>
</message>
<message>
<source>Complex type %1 is not allowed to be abstract.</source>
- <translation type="unfinished"></translation>
+ <translation>Недопустимо, чтобы сложный тип %1 был абстрактным.</translation>
</message>
<message>
<source>Element %1 contains not allowed attributes.</source>
- <translation type="unfinished"></translation>
+ <translation>Элемент %1 содержит недопустимые атрибуты.</translation>
</message>
<message>
<source>Element %1 contains not allowed child element.</source>
- <translation type="unfinished"></translation>
+ <translation>Элемент %1 содержит недопустимый дочерний элемент.</translation>
</message>
<message>
<source>Content of element %1 does not match its type definition: %2.</source>
- <translation type="unfinished"></translation>
+ <translation>Содержимое элемента %1 не соответствует его определению типа: %2.</translation>
</message>
<message>
<source>Content of element %1 does not match defined value constraint.</source>
- <translation type="unfinished"></translation>
+ <translation>Содержимое элемента %1 не соответствует определённому ограничению значения.</translation>
</message>
<message>
<source>Element %1 contains not allowed child content.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Элемент %1 содержит недопустимое дочернее содержимое.</translation>
</message>
<message>
<source>Element %1 contains not allowed text content.</source>
- <translation type="unfinished"></translation>
+ <translation>Элемент %1 содержит недопустимое текстовое содержимое.</translation>
</message>
<message>
<source>Element %1 is missing required attribute %2.</source>
- <translation type="unfinished"></translation>
+ <translation>У элемента %1 отсутствует необходимый атрибут %2.</translation>
</message>
<message>
<source>Attribute %1 does not match the attribute wildcard.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Атрибут %1 не соответствует шаблону.</translation>
</message>
<message>
<source>Declaration for attribute %1 does not exist.</source>
- <translation type="unfinished"></translation>
+ <translation>Отсутствует объявление атрибута %1.</translation>
</message>
<message>
<source>Element %1 contains two attributes of type %2.</source>
- <translation type="unfinished"></translation>
+ <translation>Элемент %1 содержит два атрибута типа %2.</translation>
</message>
<message>
<source>Attribute %1 contains invalid content.</source>
- <translation type="unfinished"></translation>
+ <translation>Элемент %1 содержит неверное содержимое.</translation>
</message>
<message>
<source>Element %1 contains unknown attribute %2.</source>
- <translation type="unfinished"></translation>
+ <translation>Элемент %1 содержит неизвестный атрибут %2.</translation>
</message>
<message>
<source>Content of attribute %1 does not match its type definition: %2.</source>
- <translation type="unfinished"></translation>
+ <translation>Содержимое атрибута %1 не соответствует его определению типа: %2.</translation>
</message>
<message>
<source>Content of attribute %1 does not match defined value constraint.</source>
- <translation type="unfinished"></translation>
+ <translation>Содержимое атрибута %1 не соответствует определённому ограничению значения.</translation>
</message>
<message>
<source>Non-unique value found for constraint %1.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Обнаружено неуникальное значение для ограничения %1.</translation>
</message>
<message>
<source>Key constraint %1 contains absent fields.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Ограничение на ключ %1 содержит недостающие поля.</translation>
</message>
<message>
<source>Key constraint %1 contains references nillable element %2.</source>
@@ -9717,7 +9749,7 @@ Please choose a different file name.</source>
</message>
<message>
<source>Field %1 has no simple type.</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Поле %1 имеет не простой тип.</translation>
</message>
<message>
<source>ID value &apos;%1&apos; is not unique.</source>
diff --git a/translations/qtconfig_ru.ts b/translations/qtconfig_ru.ts
index 7137d21..ea1671f 100644
--- a/translations/qtconfig_ru.ts
+++ b/translations/qtconfig_ru.ts
@@ -4,6 +4,26 @@
<context>
<name>MainWindow</name>
<message>
+ <source>&lt;p&gt;&lt;b&gt;&lt;font size+=2&gt;Appearance&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;hr&gt;&lt;p&gt;Use this tab to customize the appearance of your Qt applications.&lt;/p&gt;&lt;p&gt;You can select the default GUI Style from the drop down list and customize the colors.&lt;/p&gt;&lt;p&gt;Any GUI Style plugins in your plugin path will automatically be added to the list of built-in Qt styles. (See the Library Paths tab for information on adding new plugin paths.)&lt;/p&gt;&lt;p&gt;When you choose 3-D Effects and Window Background colors, the Qt Configuration program will automatically generate a palette for you. To customize colors further, press the Tune Palette button to open the advanced palette editor.&lt;p&gt;The Preview Window shows what the selected Style and colors look like.</source>
+ <translation type="unfinished">&lt;p&gt;&lt;b&gt;&lt;font size+=2&gt;Внешний вид&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;hr&gt;&lt;p&gt;На этой вкладке можно настроить внешний вид приложений Qt.&lt;/p&gt;&lt;p&gt;Позволяет выбрать стиль интерфейса по умолчанию из выпадающего списка и настроить используемые стилем цвета.&lt;/p&gt;&lt;p&gt;Каждый стиль интерфейса, содержащийся в модулях, найденных в путях к модулям, автоматически добавляется в список встроенных стилей Qt (на вкладке Пути к библиотекам имеется более подробная информация о добавлении путей к модулям).&lt;/p&gt;&lt;p&gt;При выборе эффектов 3D и фоновых цветов окна программа настройки Qt автоматически создаст подходящую палитру. Для дальнейшей настройки цветов следует зайти в расширенный редактор палитры, нажав кнопку Настроить палитру.&lt;p&gt;В окне предпросмотра можно увидеть как будет выглядеть интерфейс с выбранными стилем и цветами.</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;&lt;b&gt;&lt;font size+=2&gt;Fonts&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;hr&gt;&lt;p&gt;Use this tab to select the default font for your Qt applications. The selected font is shown (initially as &apos;Sample Text&apos;) in the line edit below the Family, Style and Point Size drop down lists.&lt;/p&gt;&lt;p&gt;Qt has a powerful font substitution feature that allows you to specify a list of substitute fonts. Substitute fonts are used when a font cannot be loaded, or if the specified font doesn&apos;t have a particular character.&lt;p&gt;For example, if you select the font Lucida, which doesn&apos;t have Korean characters, but need to show some Korean text using the Mincho font family you can do so by adding Mincho to the list. Once Mincho is added, any Korean characters that are not found in the Lucida font will be taken from the Mincho font. Because the font substitutions are lists, you can also select multiple families, such as Song Ti (for use with Chinese text).</source>
+ <translation type="unfinished">&lt;p&gt;&lt;b&gt;&lt;font size+=2&gt;Шрифты&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;hr&gt;&lt;p&gt;На этой вкладке можно выбрать шрифт по умолчанию для приложений Qt. Выбранный шрифт отображается в строке редактирования ниже выпадающих списков &quot;Шрифт&quot;, &quot;Начертание&quot; и &quot;Размер&quot; (по умолчанию это текст &quot;Текст для примера (Sample Text)&quot;).&lt;/p&gt;&lt;p&gt;Qt обладает мощным механизмом подмены шрифтов, который позволяет задавать список подставляемых шрифтов. Подставляемые шрифты используются, когда шрифт не удаётся загрузить или в нём отсутствуют необходимые символы.&lt;p&gt;Например, если требуется, чтобы при выборе шрифта Lucida, в котором отсутствуют корейские иероглифы, для отображения корейского текста использовался шрифт Mincho,то можно добавить его в список. После этого все корейские символы, отсутствующие в шрифте Lucida, будут браться из шрифта Mincho. Так как для замены используется список, то можно добавлять несколько шрифтов, например, можно также добавить шрифт Song Ti для отображения китайского текста.</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;&lt;b&gt;&lt;font size+=2&gt;Interface&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;hr&gt;&lt;p&gt;Use this tab to customize the feel of your Qt applications.&lt;/p&gt;&lt;p&gt;If the Resolve Symlinks checkbox is checked Qt will follow symlinks when handling URLs. For example, in the file dialog, if this setting is turned on and /usr/tmp is a symlink to /var/tmp, entering the /usr/tmp directory will cause the file dialog to change to /var/tmp. With this setting turned off, symlinks are not resolved or followed.&lt;/p&gt;&lt;p&gt;The Global Strut setting is useful for people who require a minimum size for all widgets (e.g. when using a touch panel or for users who are visually impaired). Leaving the Global Strut width and height at 0 will disable the Global Strut feature&lt;/p&gt;&lt;p&gt;XIM (Extended Input Methods) are used for entering characters in languages that have large character sets, for example, Chinese and Japanese.</source>
+ <translation type="unfinished">&lt;p&gt;&lt;b&gt;&lt;font size+=2&gt;Интерфейс&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;hr&gt;&lt;p&gt;На этой вкладке можно настроить поведение приложений Qt.&lt;/p&gt;&lt;p&gt;Если включено &quot;Разрешать символьные ссылки&quot;, Qt будет следовать по символьным ссылкам при обработке путей URL. Например, если эта функция включена и /usr/tmp является символьной ссылкой на /var/tmp, то в диалоге выбора файла при вводе пути к каталогу /usr/tmp он будет изменён на /var/tmp.&lt;/p&gt;&lt;p&gt;Функция &quot;Минимальные размеры&quot; предназначены для тех, кому необходимо чтобы элементы интерфейса были не менее заданного размера (например, при использовании сенсорной панели или для людей с проблемами зрения). Если задать 0 в полях &quot;минимальная ширина&quot; и &quot;минимальная высота&quot;, то данная функция будет отключена.&lt;/p&gt;&lt;p&gt;Метод ввода XIM (расширенные методы ввода) используется для ввода символов на языках с большим набором символов (например, китайском или японском).</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;&lt;b&gt;&lt;font size+=2&gt;Printer&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;hr&gt;&lt;p&gt;Use this tab to configure the way Qt generates output for the printer.You can specify if Qt should try to embed fonts into its generated output.If you enable font embedding, the resulting postscript will be more portable and will more accurately reflect the visual output on the screen; however the resulting postscript file size will be bigger.&lt;p&gt;When using font embedding you can select additional directories where Qt should search for embeddable font files. By default, the X server font path is used.</source>
+ <translation type="unfinished">&lt;p&gt;&lt;b&gt;&lt;font size+=2&gt;Принтер&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;hr&gt;&lt;p&gt;На этой вкладке можно настроить способ, которым Qt будет подготавливать данные для печати. Можно указать следует ли встраивать шрифты - в этом случае напечатанные документы будут более похожи на те, что на экране, но при этом увеличится объём данных, передаваемых на печатающее устройство.&lt;p&gt;При использовании встраивания шрифтов можно указать дополнительные каталоги, в которых Qt будет искать файлы шрифтов для встраивания. По умолчанию используется путь к шрифтам X сервера.</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;&lt;b&gt;&lt;font size+=2&gt;Phonon&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;hr&gt;&lt;p&gt;Use this tab to configure the Phonon GStreamer multimedia backend. &lt;p&gt;It is reccommended to leave all settings on &quot;Auto&quot; to let Phonon determine your settings automatically.</source>
+ <translation type="unfinished">&lt;p&gt;&lt;b&gt;&lt;font size+=2&gt;Phonon&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;hr&gt;&lt;p&gt;На этой вкладке можно настроить мультимедийную подсистему Phonon GStreamer.&lt;p&gt;Рекомендуется оставить значение &quot;Автоматически&quot; для всех настроек, чтобы Phonon определил параметры самостоятельно.</translation>
+ </message>
+ <message>
<source>Desktop Settings (Default)</source>
<translation>Настройки рабочего стола (по умолчанию)</translation>
</message>
@@ -236,7 +256,7 @@
</message>
<message>
<source>Feel Settings</source>
- <translation type="unfinished">Настройка указателя</translation>
+ <translation type="unfinished">Настройки поведения</translation>
</message>
<message>
<source> ms</source>
@@ -260,7 +280,7 @@
</message>
<message>
<source>Wheel &amp;Scroll Lines:</source>
- <translation type="unfinished">&amp;Прокручивать строк при повороте колёсика:</translation>
+ <translation>&amp;Прокручивать строк при повороте колёсика:</translation>
</message>
<message>
<source>Resolve symlinks in URLs</source>
@@ -268,7 +288,7 @@
</message>
<message>
<source>GUI Effects</source>
- <translation type="unfinished">Эффекты пользовательского интерфейса</translation>
+ <translation>Эффекты интерфейса</translation>
</message>
<message>
<source>&amp;Enable</source>
@@ -284,15 +304,15 @@
</message>
<message>
<source>C&amp;omboBox Effect:</source>
- <translation type="unfinished">Эффект &amp;выпадающего списка:</translation>
+ <translation>Эффект &amp;выпадающего списка:</translation>
</message>
<message>
<source>&amp;ToolTip Effect:</source>
- <translation type="unfinished">Эффект &amp;подсказки:</translation>
+ <translation>Эффект &amp;подсказки:</translation>
</message>
<message>
<source>Tool&amp;Box Effect:</source>
- <translation type="unfinished">Эффект панели &amp;инструментов:</translation>
+ <translation>Эффект панели &amp;инструментов:</translation>
</message>
<message>
<source>Disable</source>
@@ -308,7 +328,7 @@
</message>
<message>
<source>Global Strut</source>
- <translation type="unfinished">Минимальные размеры</translation>
+ <translation>Минимальные размеры</translation>
</message>
<message>
<source>Minimum &amp;Width:</source>
@@ -519,59 +539,59 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>Build inactive palette from active</source>
- <translation type="unfinished">Создать неактивную палитру из активной</translation>
+ <translation>Создать неактивную палитру из активной</translation>
</message>
<message>
<source>Build disabled palette from active</source>
- <translation type="unfinished">Создать выключенную палитру из активной</translation>
+ <translation>Создать выключенную палитру из активной</translation>
</message>
<message>
<source>Central color &amp;roles</source>
- <translation type="unfinished">Роли &amp;цветов</translation>
+ <translation>Основные роли &amp;цветов</translation>
</message>
<message>
<source>Choose central color role</source>
- <translation type="unfinished">Выберите роль цвета</translation>
+ <translation>Выберите основную роль цвета</translation>
</message>
<message>
<source>&lt;b&gt;Select a color role.&lt;/b&gt;&lt;p&gt;Available central roles are: &lt;ul&gt; &lt;li&gt;Window - general background color.&lt;/li&gt; &lt;li&gt;WindowText - general foreground color. &lt;/li&gt; &lt;li&gt;Base - used as background color for e.g. text entry widgets, usually white or another light color. &lt;/li&gt; &lt;li&gt;Text - the foreground color used with Base. Usually this is the same as WindowText, in what case it must provide good contrast both with Window and Base. &lt;/li&gt; &lt;li&gt;Button - general button background color, where buttons need a background different from Window, as in the Macintosh style. &lt;/li&gt; &lt;li&gt;ButtonText - a foreground color used with the Button color. &lt;/li&gt; &lt;li&gt;Highlight - a color to indicate a selected or highlighted item. &lt;/li&gt; &lt;li&gt;HighlightedText - a text color that contrasts to Highlight. &lt;/li&gt; &lt;li&gt;BrightText - a text color that is very different from WindowText and contrasts well with e.g. black. &lt;/li&gt; &lt;/ul&gt; &lt;/p&gt;</source>
- <translation type="unfinished">&lt;b&gt;Выбор роли цвета.&lt;/b&gt;&lt;p&gt;Доступны следующие роли: &lt;ul&gt;&lt;li&gt;Window - основной цвет фона.&lt;/li&gt; &lt;li&gt;WindowText - основной цвет текста.&lt;/li&gt; &lt;li&gt;Base - используется в качестве фона для, например, виджетов с текстовыми полями, обычно, белый или другой светлый цвет.&lt;/li&gt; &lt;li&gt;Text - цвет текста используемый совместно с Base. Обычно, он совпадает с WindowText, так как в этом случае получается максимальный контраст и с Window, и с Base.&lt;/li&gt; &lt;li&gt;Button - основной цвет фона кнопки, которой требуется цвет отличный от Window, например, в стиле Macintosh.&lt;/li&gt; &lt;li&gt;ButtonText - цвет текста используемый совместно с Button.&lt;/li&gt; &lt;li&gt;Highlight - цвет для обозначения выбранного или выделенного элемента.&lt;/li&gt; &lt;li&gt;HighlightedText - цвет текста контрастирующий с Highlight.&lt;/li&gt; &lt;li&gt;BrightText - цвет текста, который отличается от WindowText и хорошо контрастирует с черным.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;</translation>
+ <translation>&lt;b&gt;Выбор роли цвета.&lt;/b&gt;&lt;p&gt;Доступны следующие роли: &lt;ul&gt;&lt;li&gt;&lt;b&gt;Окно&lt;/b&gt; - основной цвет фона.&lt;/li&gt; &lt;li&gt;&lt;b&gt;Текст окна&lt;/b&gt; - основной цвет текста.&lt;/li&gt; &lt;li&gt;&lt;b&gt;Фон&lt;/b&gt; - используется в качестве фона для, например, виджетов с текстовыми полями, обычно, белый или другой светлый цвет.&lt;/li&gt; &lt;li&gt;&lt;b&gt;Текст&lt;/b&gt; - цвет текста используемый совместно с &lt;b&gt;Фон&lt;/b&gt;. Обычно, он совпадает с &lt;b&gt;Текст окна&lt;/b&gt;, так как в этом случае получается максимальный контраст и с &lt;b&gt;Окно&lt;/b&gt;, и с &lt;b&gt;Фон&lt;/b&gt;.&lt;/li&gt; &lt;li&gt;&lt;b&gt;Кнопка&lt;/b&gt; - основной цвет фона кнопки, которой требуется цвет отличный от &lt;b&gt;Окно&lt;/b&gt;, например, в стиле Macintosh.&lt;/li&gt; &lt;li&gt;&lt;b&gt;Текст кнопки&lt;/b&gt; - цвет текста используемый совместно с &lt;b&gt;Кнопка&lt;/b&gt;.&lt;/li&gt; &lt;li&gt;&lt;b&gt;Выделение&lt;/b&gt; - цвет для обозначения выбранного или выделенного элемента.&lt;/li&gt; &lt;li&gt;&lt;b&gt;Выделенный текст&lt;/b&gt; - цвет текста контрастирующий с &lt;b&gt;Выделение&lt;/b&gt;.&lt;/li&gt; &lt;li&gt;&lt;b&gt;Яркий текст&lt;/b&gt; - цвет текста, который отличается от &lt;b&gt;Текст окна&lt;/b&gt; и хорошо контрастирует с черным.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;</translation>
</message>
<message>
<source>Window</source>
- <translation type="unfinished"></translation>
+ <translation>Окно</translation>
</message>
<message>
<source>WindowText</source>
- <translation type="unfinished"></translation>
+ <translation>Текст окна</translation>
</message>
<message>
<source>Button</source>
- <translation type="unfinished"></translation>
+ <translation>Кнопка</translation>
</message>
<message>
<source>Base</source>
- <translation type="unfinished"></translation>
+ <translation>Фон</translation>
</message>
<message>
<source>Text</source>
- <translation type="unfinished"></translation>
+ <translation>Текст</translation>
</message>
<message>
<source>BrightText</source>
- <translation type="unfinished"></translation>
+ <translation>Светлый текст</translation>
</message>
<message>
<source>ButtonText</source>
- <translation type="unfinished"></translation>
+ <translation>Текст на кнопке</translation>
</message>
<message>
<source>Highlight</source>
- <translation type="unfinished"></translation>
+ <translation>Выделение</translation>
</message>
<message>
<source>HighlightedText</source>
- <translation type="unfinished"></translation>
+ <translation>Выделенный текст</translation>
</message>
<message>
<source>&amp;Select Color:</source>
@@ -595,39 +615,39 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>Generate shadings</source>
- <translation type="unfinished">Создание полутонов</translation>
+ <translation>Создание полутонов</translation>
</message>
<message>
<source>Check to let 3D-effect colors be calculated from button-color.</source>
- <translation type="unfinished">Включите, чтобы цвета эффекта трёхмерности были получены из цвета кнопки.</translation>
+ <translation>Создать цвета эффекта трёхмерности из цвета кнопки.</translation>
</message>
<message>
<source>Choose 3D-effect color role</source>
- <translation type="unfinished">Выбор роли цвета дял эффекта трёхмерности</translation>
+ <translation>Выбор роли цвета дял эффекта трёхмерности</translation>
</message>
<message>
<source>&lt;b&gt;Select a color role.&lt;/b&gt;&lt;p&gt;Available effect roles are: &lt;ul&gt; &lt;li&gt;Light - lighter than Button color. &lt;/li&gt; &lt;li&gt;Midlight - between Button and Light. &lt;/li&gt; &lt;li&gt;Mid - between Button and Dark. &lt;/li&gt; &lt;li&gt;Dark - darker than Button. &lt;/li&gt; &lt;li&gt;Shadow - a very dark color. &lt;/li&gt; &lt;/ul&gt;</source>
- <translation>&lt;b&gt;Выбор роли цвета.&lt;/b&gt;&lt;p&gt;Доступны следующие роли: &lt;ul&gt; &lt;li&gt;Light - светлее цвета Button. &lt;/li&gt; &lt;li&gt;Midlight - среднее между Light и Button. &lt;/li&gt; &lt;li&gt;Mid - среднее между Button и Dark. &lt;/li&gt; &lt;li&gt;Dark - темнее цвета Button. &lt;/li&gt; &lt;li&gt;Shadow - очень темный цвет. &lt;/li&gt; &lt;/ul&gt;</translation>
+ <translation>&lt;b&gt;Выбор роли цвета.&lt;/b&gt;&lt;p&gt;Доступны следующие роли: &lt;ul&gt; &lt;li&gt;&lt;b&gt;Светлый&lt;/b&gt; - светлее цвета &lt;b&gt;Кнопка&lt;/b&gt;. &lt;/li&gt; &lt;li&gt;&lt;b&gt;Полусветлый&lt;/b&gt; - среднее между &lt;b&gt;Светлый&lt;/b&gt; и &lt;b&gt;Кнопка&lt;/b&gt;. &lt;/li&gt; &lt;li&gt;&lt;b&gt;Полутёмный&lt;/b&gt; - среднее между &lt;b&gt;Кнопка&lt;/b&gt; и &lt;b&gt;Тёмный&lt;/b&gt;. &lt;/li&gt; &lt;li&gt;&lt;b&gt;Тёмный&lt;/b&gt; - темнее цвета &lt;b&gt;Кнопка&lt;/b&gt;. &lt;/li&gt; &lt;li&gt;&lt;b&gt;Тень&lt;/b&gt; - очень темный цвет. &lt;/li&gt; &lt;/ul&gt;</translation>
</message>
<message>
<source>Light</source>
- <translation type="unfinished"></translation>
+ <translation>Светлый</translation>
</message>
<message>
<source>Midlight</source>
- <translation type="unfinished"></translation>
+ <translation>Полусветлый</translation>
</message>
<message>
<source>Mid</source>
- <translation type="unfinished"></translation>
+ <translation>Полутёмный</translation>
</message>
<message>
<source>Dark</source>
- <translation type="unfinished"></translation>
+ <translation>Тёмный</translation>
</message>
<message>
<source>Shadow</source>
- <translation type="unfinished"></translation>
+ <translation>Тень</translation>
</message>
<message>
<source>Select Co&amp;lor:</source>
@@ -635,7 +655,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>Choose a color for the selected effect color role.</source>
- <translation type="unfinished">Выбор цвета для указанной роли.</translation>
+ <translation>Выбор цвета для указанной роли.</translation>
</message>
<message>
<source>OK</source>
diff --git a/translations/qvfb_ru.ts b/translations/qvfb_ru.ts
index a1988de..db9ff2a 100644
--- a/translations/qvfb_ru.ts
+++ b/translations/qvfb_ru.ts
@@ -262,6 +262,126 @@
<context>
<name>QVFb</name>
<message>
+ <source>&amp;File</source>
+ <translation>&amp;Файл</translation>
+ </message>
+ <message>
+ <source>&amp;Configure...</source>
+ <translation>&amp;Настройки...</translation>
+ </message>
+ <message>
+ <source>&amp;Save image...</source>
+ <translation>&amp;Сохранить изображение...</translation>
+ </message>
+ <message>
+ <source>&amp;Animation...</source>
+ <translation>&amp;Анимация...</translation>
+ </message>
+ <message>
+ <source>&amp;Quit</source>
+ <translation>В&amp;ыход</translation>
+ </message>
+ <message>
+ <source>&amp;View</source>
+ <translation>&amp;Вид</translation>
+ </message>
+ <message>
+ <source>Show &amp;Cursor</source>
+ <translation>Отображать &amp;курсор</translation>
+ </message>
+ <message>
+ <source>&amp;Refresh Rate...</source>
+ <translation>&amp;Частота обновлений...</translation>
+ </message>
+ <message>
+ <source>&amp;No rotation</source>
+ <translation>&amp;Без поворота</translation>
+ </message>
+ <message>
+ <source>&amp;90° rotation</source>
+ <translation>Поворот на &amp;90°</translation>
+ </message>
+ <message>
+ <source>1&amp;80° rotation</source>
+ <translation>Поворот на 1&amp;80°</translation>
+ </message>
+ <message>
+ <source>2&amp;70° rotation</source>
+ <translation>Поворот на 2&amp;70°</translation>
+ </message>
+ <message>
+ <source>Zoom scale &amp;0.5</source>
+ <translation>Масштаб &amp;0.5</translation>
+ </message>
+ <message>
+ <source>Zoom scale 0.7&amp;5</source>
+ <translation>Масштаб 0.7&amp;5</translation>
+ </message>
+ <message>
+ <source>Zoom scale &amp;1</source>
+ <translation>Масштаб &amp;1</translation>
+ </message>
+ <message>
+ <source>Zoom scale &amp;2</source>
+ <translation>Масштаб &amp;2</translation>
+ </message>
+ <message>
+ <source>Zoom scale &amp;3</source>
+ <translation>Масштаб &amp;3</translation>
+ </message>
+ <message>
+ <source>Zoom scale &amp;4</source>
+ <translation>Масштаб &amp;4</translation>
+ </message>
+ <message>
+ <source>Zoom &amp;scale...</source>
+ <translation>&amp;Масштаб...</translation>
+ </message>
+ <message>
+ <source>&amp;Help</source>
+ <translation>&amp;Справка</translation>
+ </message>
+ <message>
+ <source>&amp;About...</source>
+ <translation>&amp;О программе...</translation>
+ </message>
+ <message>
+ <source>Save Main Screen image</source>
+ <translation>Сохранить снимок основного экрана</translation>
+ </message>
+ <message>
+ <source>snapshot.png</source>
+ <translation>снимок.png</translation>
+ </message>
+ <message>
+ <source>Portable Network Graphics (*.png)</source>
+ <translation>Portable Network Graphics (*.png)</translation>
+ </message>
+ <message>
+ <source>Save Main Screen Image</source>
+ <translation>Сохранить снимок основного экрана</translation>
+ </message>
+ <message>
+ <source>Save failed. Check that you have permission to write to the target directory.</source>
+ <translation>Не удалось сохранить. Убедитесь, что Вы имеете права на запись в целевой каталог.</translation>
+ </message>
+ <message>
+ <source>Save Second Screen image</source>
+ <translation>Сохранить снимок дополнительного экрана</translation>
+ </message>
+ <message>
+ <source>Save Second Screen Image</source>
+ <translation>Сохранить снимок дополнительного экрана</translation>
+ </message>
+ <message>
+ <source>About QVFB</source>
+ <translation>О QVFB</translation>
+ </message>
+ <message>
+ <source>&lt;h2&gt;The Qt for Embedded Linux Virtual X11 Framebuffer&lt;/h2&gt;&lt;p&gt;This application runs under Qt for X11, emulating a simple framebuffer, which the Qt for Embedded Linux server and clients can attach to just as if it was a hardware Linux framebuffer. &lt;p&gt;With the aid of this development tool, you can develop Qt for Embedded Linux applications under X11 without having to switch to a virtual console. This means you can comfortably use your other development tools such as GUI profilers and debuggers.</source>
+ <translation>&lt;h2&gt;Qt для Embedded Linux Virtual X11 Framebuffer&lt;/h2&gt;&lt;p&gt;Данное приложение работает под Qt для X11, эмулируя простой фрэймбуфер, к которому сервер и клиенты Qt для Embedded Linux могут соединяться как если бы это был аппаратный фрэймбуфер Linux. &lt;p&gt;С помощью данного инструмента Вы можете разрабатывать приложения Qt для Embedded Linux под X11 без необходимости переключаться в виртуальную консоль, что делает более удобным использование других инструментов с графическим интерфейсом - как то профайлеров и отладчиков.</translation>
+ </message>
+ <message>
<source>Browse...</source>
<translation>Обзор...</translation>
</message>
@@ -274,4 +394,23 @@
<translation>Все обложки QVFB (*.skin)</translation>
</message>
</context>
+<context>
+ <name>QVFbRateDialog</name>
+ <message>
+ <source>Target frame rate:</source>
+ <translation>Частота смены кадров:</translation>
+ </message>
+ <message>
+ <source>%1fps</source>
+ <translation>%1 к/с</translation>
+ </message>
+ <message>
+ <source>OK</source>
+ <translation>ОК</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
+ </message>
+</context>
</TS>