aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2020-04-14 09:47:38 +0200
committerEike Ziller <eike.ziller@qt.io>2020-04-14 09:47:38 +0200
commitdeb0eaf7950e4aa4067af730367e61cbd732d178 (patch)
tree4c393e8a00b4e4ef3e2cdba9a99b755f59a6b8ba
parente86a2bfdd2d3778456c828efbf1265804908815c (diff)
parentaf061c81b7ea9e4b8e75ac63a2e172b5653f9037 (diff)
Merge remote-tracking branch 'origin/4.12'
Conflicts: cmake/QtCreatorIDEBranding.cmake qbs/modules/qtc/qtc.qbs qtcreator_ide_branding.pri src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp Change-Id: I34c3d1fd5be90537e37d15e00b1a0d455d1bf81d
-rw-r--r--.github/workflows/build_cmake.yml6
-rw-r--r--cmake/QtCreatorAPI.cmake1
-rw-r--r--cmake/QtCreatorIDEBranding.cmake2
-rw-r--r--dist/installer/mac/entitlements.plist6
-rw-r--r--doc/qtcreator/examples/transitions/Page1Form.ui.qml47
-rw-r--r--doc/qtcreator/examples/transitions/Page2Form.ui.qml6
-rw-r--r--doc/qtcreator/examples/transitions/main.cpp20
-rw-r--r--doc/qtcreator/examples/transitions/main.qml15
-rw-r--r--doc/qtcreator/examples/transitions/transitions.pro14
-rw-r--r--doc/qtcreator/images/qmldesigner-tutorial-design-mode.pngbin27536 -> 17349 bytes
-rw-r--r--doc/qtcreator/images/qmldesigner-tutorial-quick-toolbar.pngbin12374 -> 16793 bytes
-rw-r--r--doc/qtcreator/images/qmldesigner-tutorial-topleftrect-layout.pngbin4540 -> 10152 bytes
-rw-r--r--doc/qtcreator/images/qmldesigner-tutorial-topleftrect.pngbin77853 -> 58573 bytes
-rw-r--r--doc/qtcreator/images/qmldesigner-tutorial-ui-ready.pngbin12223 -> 8284 bytes
-rw-r--r--doc/qtcreator/images/qmldesigner-tutorial-user-icon.pngbin51818 -> 46787 bytes
-rw-r--r--doc/qtcreator/images/qmldesigner-tutorial.pngbin5014 -> 7529 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-gs-build-example-kit-selector.pngbin4621 -> 5012 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-gs-build-example-open.pngbin17812 -> 58617 bytes
-rw-r--r--doc/qtcreator/images/qtcreator-qt-quick-editors.pngbin238249 -> 209728 bytes
-rw-r--r--doc/qtcreator/images/studio-curve-editor.pngbin10352 -> 13977 bytes
-rw-r--r--doc/qtcreator/src/projects/creator-only/creator-projects-build-run-tutorial.qdoc14
-rw-r--r--doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc40
-rw-r--r--doc/qtcreator/src/qtquick/qtquick-timeline.qdoc4
-rw-r--r--doc/qtdesignstudio/images/materials.pngbin56035 -> 0 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-qtquick-3d-default-material.pngbin0 -> 40047 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-qtquick-3d-material-texture.pngbin0 -> 25778 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-qtquick-3d-material.pngbin0 -> 85800 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-qtquick-3d-texture-properties.pngbin0 -> 25293 bytes
-rw-r--r--doc/qtdesignstudio/images/studio-qtquick-3d-texture.pngbin0 -> 80458 bytes
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-editor.qdoc10
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-materials-shaders.qdoc57
-rw-r--r--doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-texture.qdoc24
-rw-r--r--share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ComboBox.qml74
-rw-r--r--share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/GradientLine.qml8
-rw-r--r--share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/OriginControl.qml4
-rw-r--r--share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/AbstractButton.qml5
-rw-r--r--share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ActionIndicator.qml22
-rw-r--r--share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ButtonRow.qml9
-rw-r--r--share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/RealSpinBoxInput.qml1
-rw-r--r--share/qtcreator/translations/qtcreator_ru.ts6735
-rw-r--r--src/plugins/baremetal/debugservers/uvsc/stlinkuvscserverprovider.cpp2
-rw-r--r--src/plugins/boot2qt/Boot2Qt.json.in1
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp13
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp4
-rw-r--r--src/plugins/cmakeprojectmanager/fileapidataextractor.cpp12
-rw-r--r--src/plugins/coreplugin/outputpane.h3
-rw-r--r--src/plugins/coreplugin/outputpanemanager.cpp2
-rw-r--r--src/plugins/ctfvisualizer/CtfVisualizer.json.in1
-rw-r--r--src/plugins/mcusupport/mcusupportconstants.h1
-rw-r--r--src/plugins/mcusupport/mcusupportoptions.cpp12
-rw-r--r--src/plugins/mcusupport/mcusupportoptions.h3
-rw-r--r--src/plugins/perfprofiler/PerfProfiler.json.in1
-rw-r--r--src/plugins/projectexplorer/projectexplorer.cpp1
-rw-r--r--src/plugins/qbsprojectmanager/qbsnodes.cpp8
-rw-r--r--src/plugins/qbsprojectmanager/qbsnodes.h2
-rw-r--r--src/plugins/qbsprojectmanager/qbsproject.cpp10
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeproject.cpp21
-rw-r--r--src/plugins/qmldesigner/components/connectioneditor/connectionmodel.cpp30
-rw-r--r--src/plugins/qmldesigner/components/connectioneditor/connectionmodel.h1
-rw-r--r--src/plugins/qmldesigner/components/connectioneditor/delegates.cpp11
-rw-r--r--src/plugins/qmldesigner/components/formeditor/formeditorannotationicon.cpp104
-rw-r--r--src/plugins/qmldesigner/components/formeditor/formeditorannotationicon.h6
-rw-r--r--src/plugins/qmldesigner/components/importmanager/importmanagerview.cpp21
-rw-r--r--src/plugins/qmldesigner/components/importmanager/importmanagerview.h6
-rw-r--r--src/plugins/qmldesigner/components/importmanager/importswidget.cpp8
-rw-r--r--src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.cpp38
-rw-r--r--src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.h27
-rw-r--r--src/plugins/qmldesigner/components/propertyeditor/quick2propertyeditorview.cpp2
-rw-r--r--src/plugins/qmldesigner/designercore/include/abstractview.h2
-rw-r--r--src/plugins/qmldesigner/designercore/model/abstractview.cpp8
-rw-r--r--src/plugins/qmldesigner/designercore/model/model.cpp19
-rw-r--r--src/plugins/qmldesigner/designercore/model/model_p.h2
-rw-r--r--src/plugins/qmldesigner/designmodewidget.cpp19
-rw-r--r--src/plugins/qmldesigner/designmodewidget.h3
-rw-r--r--src/plugins/qmljseditor/qmljshighlighter.cpp4
-rw-r--r--src/plugins/qmlpreview/QmlPreview.json.in1
-rw-r--r--src/plugins/studiowelcome/StudioWelcome.json.in1
m---------src/shared/qbs0
78 files changed, 5152 insertions, 2382 deletions
diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml
index f409216afb..dc8a7ac4b7 100644
--- a/.github/workflows/build_cmake.yml
+++ b/.github/workflows/build_cmake.yml
@@ -3,10 +3,10 @@ name: CMake Build Matrix
on: [push, pull_request]
env:
- QT_VERSION: 5.14.1
+ QT_VERSION: 5.14.2
CLANG_VERSION: 80
- CMAKE_VERSION: 3.16.3
- NINJA_VERSION: 1.9.0
+ CMAKE_VERSION: 3.17.0
+ NINJA_VERSION: 1.10.0
BUILD_TYPE: Release
CCACHE_VERSION: 3.7.7
GOOGLETEST_VERSION: 1.10.0
diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake
index 7dd104caf0..82f7897b6d 100644
--- a/cmake/QtCreatorAPI.cmake
+++ b/cmake/QtCreatorAPI.cmake
@@ -719,6 +719,7 @@ function(add_qtc_plugin target_name)
string(REPLACE "$$QTCREATOR_VERSION" "\${IDE_VERSION}" plugin_json_in ${plugin_json_in})
string(REPLACE "$$QTCREATOR_COMPAT_VERSION" "\${IDE_VERSION_COMPAT}" plugin_json_in ${plugin_json_in})
string(REPLACE "$$QTCREATOR_COPYRIGHT_YEAR" "\${IDE_COPYRIGHT_YEAR}" plugin_json_in ${plugin_json_in})
+ string(REPLACE "$$QTC_PLUGIN_REVISION" "\${QTC_PLUGIN_REVISION}" plugin_json_in ${plugin_json_in})
string(REPLACE "$$dependencyList" "\${IDE_PLUGIN_DEPENDENCY_STRING}" plugin_json_in ${plugin_json_in})
if(_arg_PLUGIN_JSON_IN)
#e.g. UPDATEINFO_EXPERIMENTAL_STR=true
diff --git a/cmake/QtCreatorIDEBranding.cmake b/cmake/QtCreatorIDEBranding.cmake
index 4182c1c611..05f4a3fc77 100644
--- a/cmake/QtCreatorIDEBranding.cmake
+++ b/cmake/QtCreatorIDEBranding.cmake
@@ -3,7 +3,7 @@
set(IDE_VERSION "4.12.82") # The IDE version.
set(IDE_VERSION_COMPAT "4.12.82") # The IDE Compatibility version.
-set(IDE_VERSION_DISPLAY "4.13.0-beta1") # The IDE display version.
+set(IDE_VERSION_DISPLAY "4.13.0-beta1") # The IDE display version.
set(IDE_COPYRIGHT_YEAR "2020") # The IDE current copyright year.
set(IDE_SETTINGSVARIANT "QtProject") # The IDE settings variation.
diff --git a/dist/installer/mac/entitlements.plist b/dist/installer/mac/entitlements.plist
index 0aae7ab39d..4bf9fbeb0a 100644
--- a/dist/installer/mac/entitlements.plist
+++ b/dist/installer/mac/entitlements.plist
@@ -6,5 +6,11 @@
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
+ <key>com.apple.security.cs.allow-jit</key>
+ <true/>
+ <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
+ <true/>
+ <key>com.apple.security.automation.apple-events</key>
+ <true/>
</dict>
</plist>
diff --git a/doc/qtcreator/examples/transitions/Page1Form.ui.qml b/doc/qtcreator/examples/transitions/Page1Form.ui.qml
index 785433154d..5e47850424 100644
--- a/doc/qtcreator/examples/transitions/Page1Form.ui.qml
+++ b/doc/qtcreator/examples/transitions/Page1Form.ui.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2017 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator
@@ -47,13 +47,20 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 2.9
-import QtQuick.Controls 2.2
+import QtQuick 2.12
+import QtQuick.Controls 2.5
Page {
id: page
width: 600
height: 400
+ property alias mouseArea2: mouseArea2
+ property alias mouseArea1: mouseArea1
+ property alias mouseArea: mouseArea
+ property alias icon: icon
+ property alias bottomLeftRect: bottomLeftRect
+ property alias middleRightRect: middleRightRect
+ property alias topLeftRect: topLeftRect
header: Label {
text: qsTr("Page 1")
@@ -61,20 +68,12 @@ Page {
padding: 10
}
- property alias icon: icon
- property alias topLeftRect: topLeftRect
- property alias bottomLeftRect: bottomLeftRect
- property alias middleRightRect: middleRightRect
-
- property alias mouseArea2: mouseArea2
- property alias mouseArea1: mouseArea1
- property alias mouseArea: mouseArea
-
Image {
id: icon
x: 10
y: 20
source: "qt-logo.png"
+ fillMode: Image.PreserveAspectFit
}
Rectangle {
@@ -82,11 +81,11 @@ Page {
width: 55
height: 41
color: "#00000000"
+ border.color: "#808080"
anchors.left: parent.left
anchors.leftMargin: 10
anchors.top: parent.top
anchors.topMargin: 20
- border.color: "#808080"
MouseArea {
id: mouseArea
@@ -99,10 +98,10 @@ Page {
width: 55
height: 41
color: "#00000000"
+ border.color: "#808080"
+ anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.rightMargin: 10
- anchors.verticalCenter: parent.verticalCenter
- border.color: "#808080"
MouseArea {
id: mouseArea1
anchors.fill: parent
@@ -114,14 +113,26 @@ Page {
width: 55
height: 41
color: "#00000000"
+ border.color: "#808080"
anchors.bottom: parent.bottom
anchors.bottomMargin: 20
- border.color: "#808080"
+ anchors.left: parent.left
+ anchors.leftMargin: 10
MouseArea {
id: mouseArea2
anchors.fill: parent
}
- anchors.left: parent.left
- anchors.leftMargin: 10
}
+
+ NumberAnimation {
+ id: numberAnimation
+ }
+}
+
+/*##^##
+Designer {
+ D{i:0;formeditorZoom:0.75}D{i:4;anchors_height:100;anchors_width:100}D{i:6;anchors_height:100;anchors_width:100}
+D{i:8;anchors_height:100;anchors_width:100}
}
+##^##*/
+
diff --git a/doc/qtcreator/examples/transitions/Page2Form.ui.qml b/doc/qtcreator/examples/transitions/Page2Form.ui.qml
index 11a8abff4a..57178073ca 100644
--- a/doc/qtcreator/examples/transitions/Page2Form.ui.qml
+++ b/doc/qtcreator/examples/transitions/Page2Form.ui.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2017 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator
@@ -47,8 +47,8 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 2.9
-import QtQuick.Controls 2.2
+import QtQuick 2.12
+import QtQuick.Controls 2.5
Page {
width: 600
diff --git a/doc/qtcreator/examples/transitions/main.cpp b/doc/qtcreator/examples/transitions/main.cpp
index 4e002b280e..9fb8458284 100644
--- a/doc/qtcreator/examples/transitions/main.cpp
+++ b/doc/qtcreator/examples/transitions/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2017 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator
@@ -47,20 +47,28 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-
#include <QGuiApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
- QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
+ if (qEnvironmentVariableIsEmpty("QTGLESSTREAM_DISPLAY")) {
+ qputenv("QT_QPA_EGLFS_PHYSICAL_WIDTH", QByteArray("213"));
+ qputenv("QT_QPA_EGLFS_PHYSICAL_HEIGHT", QByteArray("120"));
+
+ QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
+ }
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
- engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
- if (engine.rootObjects().isEmpty())
- return -1;
+ const QUrl url(QStringLiteral("qrc:/main.qml"));
+ QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
+ &app, [url](QObject *obj, const QUrl &objUrl) {
+ if (!obj && url == objUrl)
+ QCoreApplication::exit(-1);
+ }, Qt::QueuedConnection);
+ engine.load(url);
return app.exec();
}
diff --git a/doc/qtcreator/examples/transitions/main.qml b/doc/qtcreator/examples/transitions/main.qml
index 464b48e545..f49672d803 100644
--- a/doc/qtcreator/examples/transitions/main.qml
+++ b/doc/qtcreator/examples/transitions/main.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2017 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator
@@ -47,9 +47,8 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-
-import QtQuick 2.9
-import QtQuick.Controls 2.2
+import QtQuick 2.12
+import QtQuick.Controls 2.5
ApplicationWindow {
visible: true
@@ -64,15 +63,14 @@ ApplicationWindow {
Page1Form {
id: page
-
mouseArea {
- onClicked: stateGroup.state = ' '
+ onClicked: stateGroup.state = ' '
}
mouseArea1 {
- onClicked: stateGroup.state = 'State1'
+ onClicked: stateGroup.state = 'State1'
}
mouseArea2 {
- onClicked: stateGroup.state = 'State2'
+ onClicked: stateGroup.state = 'State2'
}
}
@@ -102,6 +100,7 @@ ApplicationWindow {
}
}
]
+
transitions: [
Transition {
from: "*"; to: "State1"
diff --git a/doc/qtcreator/examples/transitions/transitions.pro b/doc/qtcreator/examples/transitions/transitions.pro
index e2173bcccb..70f8fe7f3b 100644
--- a/doc/qtcreator/examples/transitions/transitions.pro
+++ b/doc/qtcreator/examples/transitions/transitions.pro
@@ -1,18 +1,20 @@
QT += quick
+
CONFIG += c++11
# The following define makes your compiler emit warnings if you use
-# any feature of Qt which as been marked deprecated (the exact warnings
-# depend on your compiler). Please consult the documentation of the
-# deprecated API in order to know how to port your code away from it.
+# any Qt feature that has been marked deprecated (the exact warnings
+# depend on your compiler). Refer to the documentation for the
+# deprecated API to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
-# You can also make your code fail to compile if you use deprecated APIs.
+# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
-SOURCES += main.cpp
+SOURCES += \
+ main.cpp
RESOURCES += qml.qrc
@@ -26,3 +28,5 @@ QML_DESIGNER_IMPORT_PATH =
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
+
+DISTFILES +=
diff --git a/doc/qtcreator/images/qmldesigner-tutorial-design-mode.png b/doc/qtcreator/images/qmldesigner-tutorial-design-mode.png
index e8b2bd2301..4ee7dd0880 100644
--- a/doc/qtcreator/images/qmldesigner-tutorial-design-mode.png
+++ b/doc/qtcreator/images/qmldesigner-tutorial-design-mode.png
Binary files differ
diff --git a/doc/qtcreator/images/qmldesigner-tutorial-quick-toolbar.png b/doc/qtcreator/images/qmldesigner-tutorial-quick-toolbar.png
index 11745f8bd6..37b973f3a9 100644
--- a/doc/qtcreator/images/qmldesigner-tutorial-quick-toolbar.png
+++ b/doc/qtcreator/images/qmldesigner-tutorial-quick-toolbar.png
Binary files differ
diff --git a/doc/qtcreator/images/qmldesigner-tutorial-topleftrect-layout.png b/doc/qtcreator/images/qmldesigner-tutorial-topleftrect-layout.png
index 9b6bc9f887..95124cb58d 100644
--- a/doc/qtcreator/images/qmldesigner-tutorial-topleftrect-layout.png
+++ b/doc/qtcreator/images/qmldesigner-tutorial-topleftrect-layout.png
Binary files differ
diff --git a/doc/qtcreator/images/qmldesigner-tutorial-topleftrect.png b/doc/qtcreator/images/qmldesigner-tutorial-topleftrect.png
index c3b181965b..8b9da56106 100644
--- a/doc/qtcreator/images/qmldesigner-tutorial-topleftrect.png
+++ b/doc/qtcreator/images/qmldesigner-tutorial-topleftrect.png
Binary files differ
diff --git a/doc/qtcreator/images/qmldesigner-tutorial-ui-ready.png b/doc/qtcreator/images/qmldesigner-tutorial-ui-ready.png
index 1ed4037cd1..ad1abb2ce4 100644
--- a/doc/qtcreator/images/qmldesigner-tutorial-ui-ready.png
+++ b/doc/qtcreator/images/qmldesigner-tutorial-ui-ready.png
Binary files differ
diff --git a/doc/qtcreator/images/qmldesigner-tutorial-user-icon.png b/doc/qtcreator/images/qmldesigner-tutorial-user-icon.png
index 5422a42f34..d8f6efea1c 100644
--- a/doc/qtcreator/images/qmldesigner-tutorial-user-icon.png
+++ b/doc/qtcreator/images/qmldesigner-tutorial-user-icon.png
Binary files differ
diff --git a/doc/qtcreator/images/qmldesigner-tutorial.png b/doc/qtcreator/images/qmldesigner-tutorial.png
index 39cd385885..b04131330d 100644
--- a/doc/qtcreator/images/qmldesigner-tutorial.png
+++ b/doc/qtcreator/images/qmldesigner-tutorial.png
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-gs-build-example-kit-selector.png b/doc/qtcreator/images/qtcreator-gs-build-example-kit-selector.png
index ff3e2bf3f1..77c83b0c3e 100644
--- a/doc/qtcreator/images/qtcreator-gs-build-example-kit-selector.png
+++ b/doc/qtcreator/images/qtcreator-gs-build-example-kit-selector.png
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-gs-build-example-open.png b/doc/qtcreator/images/qtcreator-gs-build-example-open.png
index 49dde00d53..949dea5398 100644
--- a/doc/qtcreator/images/qtcreator-gs-build-example-open.png
+++ b/doc/qtcreator/images/qtcreator-gs-build-example-open.png
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-qt-quick-editors.png b/doc/qtcreator/images/qtcreator-qt-quick-editors.png
index d1d4f0649e..8ee1623597 100644
--- a/doc/qtcreator/images/qtcreator-qt-quick-editors.png
+++ b/doc/qtcreator/images/qtcreator-qt-quick-editors.png
Binary files differ
diff --git a/doc/qtcreator/images/studio-curve-editor.png b/doc/qtcreator/images/studio-curve-editor.png
index cdb675c881..000c2cd343 100644
--- a/doc/qtcreator/images/studio-curve-editor.png
+++ b/doc/qtcreator/images/studio-curve-editor.png
Binary files differ
diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-build-run-tutorial.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-build-run-tutorial.qdoc
index f2583b6552..80e58ac0e4 100644
--- a/doc/qtcreator/src/projects/creator-only/creator-projects-build-run-tutorial.qdoc
+++ b/doc/qtcreator/src/projects/creator-only/creator-projects-build-run-tutorial.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2018 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -59,15 +59,15 @@
\image qtcreator-gs-build-example-open.png "Selecting an example"
If no examples are listed, check that a \l{Adding Qt Versions}
- {Qt version} is installed and configured.
+ {Qt version} (2) is installed and configured. If you select a Qt
+ for Android or iOS, only the examples tested for Android or iOS
+ are listed.
\li Select an example in the list of examples.
- You can also search for examples. Enter the \uicontrol android or
- \uicontrol ios keyword in the search field (2) to list all the
- examples tested for Android or iOS. To list examples that you can
- run on embedded devices, enter the \uicontrol Boot2Qt keyword in the
- search field (commercial only).
+ You can also use tags (3) to filter examples. For instance, enter
+ the \uicontrol Boot2Qt tag (commercial only) in the search field
+ (4) to list examples that you can run on embedded devices.
\li To check that the application code can be compiled and linked for a
device, click the \uicontrol {Kit Selector} and select a
diff --git a/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc b/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc
index 5c6c8fe73d..f1574af001 100644
--- a/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc
+++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2019 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -72,14 +72,17 @@
\image qmldesigner-tutorial-design-mode.png "Transitions project in Design Mode"
+ \note If a view is hidden, you can show it by selecting
+ \uicontrol Window > \uicontrol Views.
+
\li In the \uicontrol Navigator, select \uicontrol Label and press
\key Delete to delete it.
- \li Select \uicontrol Page in the navigator, and enter \e page in the
- \uicontrol Id field.
+ \li Select \uicontrol Page in \uicontrol Navigator, and enter \e page in
+ the \uicontrol Id field in the \uicontrol Properties view.
\li In \uicontrol Library > \uicontrol Assets, select qt-logo.png and
- drag and drop it to the \e page in the navigator.
+ drag and drop it to the \e page in \uicontrol Navigator.
\image qmldesigner-tutorial-user-icon.png "Image properties"
@@ -92,12 +95,14 @@
\endlist
- \li Right-click the resource file, qml.qrc, in the \uicontrol Projects
- view, and select \uicontrol {Add Existing File} to add qt-logo.png
- to the resource file for deployment.
+ \li In the \uicontrol Projects view, right-click the resource file,
+ qml.qrc, and select \uicontrol {Add Existing File} to add
+ qt-logo.png to the resource file for deployment.
- \li Drag and drop a \uicontrol Rectangle to \e page in the navigator and
- edit its properties.
+ \li In \uicontrol Library > \uicontrol {QML Types} >
+ \uicontrol {Qt Quick - Basic}, select \uicontrol Rectangle,
+ drag and drop it to \e page in \uicontrol Navigator, and
+ edit its properties in the \uicontrol Properties view.
\image qmldesigner-tutorial-topleftrect.png "Rectangle properties"
@@ -131,7 +136,7 @@
\endlist
\li Drag and drop a \uicontrol {Mouse Area} type from the
- \uicontrol Library to \e topLeftRect in the navigator.
+ \uicontrol Library to \e topLeftRect in \uicontrol Navigator.
\li Click \uicontrol {Layout}, and then click the
\inlineimage anchor-fill.png
@@ -139,9 +144,9 @@
rectangle.
\li In the \uicontrol Navigator, copy topLeftRect (by pressing
- \key {Ctrl+C}) and paste it to the \e page in the navigator twice
- (by pressing \key {Ctrl+V}). \QC renames the new instances of the
- type topLeftRect1 and topLeftRect2.
+ \key {Ctrl+C}) and paste it to \e page in \uicontrol Navigator
+ twice (by pressing \key {Ctrl+V}). \QC renames the new instances
+ of the type topLeftRect1 and topLeftRect2.
\li Select topLeftRect1 and edit its properties:
@@ -213,16 +218,11 @@
\list 1
- \li Specify the window size and background color as properties of
- the ApplicationWindow type:
-
- \quotefromfile transitions/main.qml
- \skipto ApplicationWindow
- \printuntil title
-
\li Specify an id for the Page1 type to be able to use the properties
that you exported in \e Page1Form.ui.qml:
+ \quotefromfile transitions/main.qml
+ \skipto ApplicationWindow
\printuntil page
\li Add a pointer to the clicked expressions in \uicontrol mouseArea:
diff --git a/doc/qtcreator/src/qtquick/qtquick-timeline.qdoc b/doc/qtcreator/src/qtquick/qtquick-timeline.qdoc
index 049e0551e2..1f63e470bc 100644
--- a/doc/qtcreator/src/qtquick/qtquick-timeline.qdoc
+++ b/doc/qtcreator/src/qtquick/qtquick-timeline.qdoc
@@ -326,6 +326,10 @@
\uicontrol {Insert Keyframe} to add a keyframe.
\li Select keyframes to display the easing curves attached to them.
To select multiple keyframes, press and hold \key Ctrl.
+ \li To lock an easing curve, hover the mouse over the keyframe in the
+ list, and then select the lock icon.
+ \li To pin an easing curve, hover the mouse over the keyframe in the
+ list, and then select the pin icon.
\endlist
Your changes are automatically saved when you close the editor.
diff --git a/doc/qtdesignstudio/images/materials.png b/doc/qtdesignstudio/images/materials.png
deleted file mode 100644
index 12cbb22768..0000000000
--- a/doc/qtdesignstudio/images/materials.png
+++ /dev/null
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-default-material.png b/doc/qtdesignstudio/images/studio-qtquick-3d-default-material.png
new file mode 100644
index 0000000000..16d2ae2d39
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-qtquick-3d-default-material.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-material-texture.png b/doc/qtdesignstudio/images/studio-qtquick-3d-material-texture.png
new file mode 100644
index 0000000000..ae2c1ba00b
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-qtquick-3d-material-texture.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-material.png b/doc/qtdesignstudio/images/studio-qtquick-3d-material.png
new file mode 100644
index 0000000000..0b4524793b
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-qtquick-3d-material.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-texture-properties.png b/doc/qtdesignstudio/images/studio-qtquick-3d-texture-properties.png
new file mode 100644
index 0000000000..cc12bfd55f
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-qtquick-3d-texture-properties.png
Binary files differ
diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-texture.png b/doc/qtdesignstudio/images/studio-qtquick-3d-texture.png
new file mode 100644
index 0000000000..45bc14380e
--- /dev/null
+++ b/doc/qtdesignstudio/images/studio-qtquick-3d-texture.png
Binary files differ
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-editor.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-editor.qdoc
index 71eedd4dfb..3892672a1d 100644
--- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-editor.qdoc
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-editor.qdoc
@@ -109,9 +109,9 @@
them in the 3D editor.
\list
- \li In the \inlineimage item_selection_selected.png
+ \li In the \inlineimage select_item.png
(\uicontrol {Select Item}) mode, a single item is selected.
- \li In the \inlineimage group_selection_selected.png
+ \li In the \inlineimage select_group.png
(\uicontrol {Select Group}) mode, the top level parent of the item
is selected. This enables you to move, rotate, or scale a group of
items.
@@ -127,7 +127,7 @@
or z view axis or on the top, bottom, left, and right clip planes of the
render camera.
- To move items, select \inlineimage move_selected.png
+ To move items, select \inlineimage move_on.png
or press \key W.
To move items along an axis, click the axis and drag the item along the
@@ -145,7 +145,7 @@
\image studio-3d-editor-rotate.png "3D editor in rotate mode"
- To rotate items, select \inlineimage rotate_selected.png
+ To rotate items, select \inlineimage rotate_on.png
or press \key E.
To rotate an item around an axis, select the axis and drag in the direction
@@ -157,7 +157,7 @@
\image studio-3d-editor-scale.png "3D editor in scale mode"
- To scale items, select \inlineimage scale_selected.png
+ To scale items, select \inlineimage scale_on.png
or press \key R.
You can use the scale handles to adjust the local x, y, or z scale of an
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-materials-shaders.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-materials-shaders.qdoc
index ecbef398dc..48f853c97e 100644
--- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-materials-shaders.qdoc
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-materials-shaders.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2019 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Desing Studio.
@@ -33,7 +33,7 @@
\title Using Materials and Shaders
- \image materials.png
+ \image studio-qtquick-3d-material.png "Material attached to model in Design mode"
Materials and shaders define how object surfaces are rendered in \QDS and
live preview. As you change the properties of materials, new shaders are
@@ -49,27 +49,31 @@
\list
\li Default material
\li Principled material
+ \li Custom material
\li Texture
\endlist
Before a model can be rendered in a scene, it must have at least one
material to define how the mesh is shaded. The DefaultMaterial component
is the easiest way to define such a material. The PrincipledMaterial
- component specifies the minimum amount of properties.
+ component specifies the minimum amount of properties. The CustomMaterial
+ component enables you to access the Qt Quick 3D material library and
+ to implement your own materials.
You can use the \l Texture component to apply textures to materials. It
- defines an image and how the image is mapped to meshes in a 3D scene. To
- use image data from a file, set the \uicontrol Source property of the
- Texture component in the \uicontrol Properties view.
-
- To have the material use vertex colors from the mesh, select the
- \uicontrol {Enable vertex colors} check box. These are multiplied
- by any other colors specified for the material.
+ defines an image and how the image is mapped to meshes in a 3D scene. For
+ more information, see \l {Attaching Textures to Materials}.
You can modify material properties in the \uicontrol Properties view, as
instructed in the following sections. The availability of the properties
depends on the material type.
+ \image studio-qtquick-3d-default-material.png "DefaultMaterial properties"
+
+ To enable the material to use vertex colors from the mesh, select the
+ \uicontrol {Enable vertex colors} check box. These are multiplied
+ by any other colors specified for the material.
+
You can animate material properties in the \uicontrol Timeline view, as
instructed in \l {Creating Animations}.
@@ -216,14 +220,41 @@
is not rendered. Culling makes rendering objects quicker and more efficient
by reducing the number of polygons to draw.
+ \section1 Creating Custom Materials
+
+ The material uses a Shader component to specify shader source and shader
+ stage. These are used with the \uicontrol passes property to create the
+ resulting material. The passes can contain multiple rendering passes and
+ also other commands.
+
+ Normally, only the fragment shader needs to be specified as a value for
+ the \uicontrol passes property. The material library generates the vertex
+ shader for the material. The material can also create buffers to store
+ intermediate rendering results.
+
+ The \uicontrol shaderInfo property specifies settings for the shader.
+
+ To specify that the material state is always dirty, which indicates that
+ the material needs to be refreshed every time it is used, select the
+ \uicontrol alwaysDirty check box.
+
+ To specify that the material has refraction, select the
+ \uicontrol hasRefraction check box.
+
+ To specify that the material has transparency, select the
+ \uicontrol hasTransparency check box.
+
\section1 Applying Materials to Models
To apply materials to models:
\list 1
\li Drag and drop a material component from the \uicontrol Library to a
- Model component in the \uicontrol Navigator or 3D editor.
- \li Edit the properties of the material in the \uicontrol Properties
- view.
+ Model component in the \uicontrol Navigator.
+ \li Select the Model component.
+ \li In the \uicontrol Properties view, select the material for the model
+ in the \uicontrol Materials list.
+ \li Select the material component to edit the properties of the material
+ in the \uicontrol Properties view.
\endlist
*/
diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-texture.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-texture.qdoc
index 6e3ba22275..2ad8a24a81 100644
--- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-texture.qdoc
+++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-texture.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2019 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Design Studio.
@@ -36,6 +36,8 @@
You can use the Texture 3D QML type to attach textures to materials.
You specify an image and how it is mapped to meshes in a 3D scene.
+ \image studio-qtquick-3d-texture.png "Texture attached to a material in Design mode"
+
\section1 Selecting the Mapping Method
To specify the method of mapping to use when sampling a texture, select
@@ -108,4 +110,24 @@
For more information about rotating and pivoting components in the local
coordinate space, see \l {Setting Transform Properties}.
+
+ \section1 Applying Textures to Materials
+
+ You drag and drop an image from \uicontrol Library > \uicontrol Assets
+ on a material to create and set the texture automatically, or you can use
+ a Texture component.
+
+ To use Texture components to apply textures to materials:
+
+ \list 1
+ \li Drag and drop a Texture component from the \uicontrol Library to a
+ material component in the \uicontrol Navigator.
+ \li In the \uicontrol Properties view, specify the image to use in the
+ \uicontrol Source field.
+ \image studio-qtquick-3d-texture-properties.png "Texture properties"
+ \li Select the material component and specify the id of the texture to
+ use in the \uicontrol Properties view, \uicontrol {Diffuse map}
+ field.
+ \image studio-qtquick-3d-material-texture.png "Material properties"
+ \endlist
*/
diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ComboBox.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ComboBox.qml
index cdd4fc4a67..b3e8fda368 100644
--- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ComboBox.qml
+++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ComboBox.qml
@@ -35,8 +35,28 @@ StudioControls.ComboBox {
labelColor: edit && !colorLogic.errorState ? StudioTheme.Values.themeTextColor : colorLogic.textColor
property string scope: "Qt"
+ enum ValueType { String, Integer, Enum }
+ property int valueType: ComboBox.ValueType.Enum
+
+ onValueTypeChanged: {
+ if (comboBox.valueType === ComboBox.ValueType.Integer)
+ comboBox.useInteger = true
+ else
+ comboBox.useInteger = false
+ }
+
+ // This property shouldn't be used anymore, valueType has come to replace it.
property bool useInteger: false
+ onUseIntegerChanged: {
+ if (comboBox.useInteger) {
+ comboBox.valueType = ComboBox.ValueType.Integer
+ } else {
+ if (comboBox.valueType === ComboBox.ValueType.Integer)
+ comboBox.valueType = ComboBox.ValueType.Enum // set to default
+ }
+ }
+
property bool __isCompleted: false
property bool manualMapping: false
@@ -75,23 +95,31 @@ StudioControls.ComboBox {
if (comboBox.manualMapping) {
comboBox.valueFromBackendChanged()
- } else if (!comboBox.useInteger) {
- var enumString = comboBox.backendValue.enumeration
-
- if (enumString === "")
- enumString = comboBox.backendValue.value
-
- var index = comboBox.find(enumString)
-
- if (index < 0)
- index = 0
-
- if (index !== comboBox.currentIndex)
- comboBox.currentIndex = index
-
} else {
- if (comboBox.currentIndex !== comboBox.backendValue.value)
- comboBox.currentIndex = comboBox.backendValue.value
+ switch (comboBox.valueType) {
+ case ComboBox.ValueType.String:
+ if (comboBox.currentText !== comboBox.backendValue.value)
+ comboBox.currentText = comboBox.backendValue.value
+ break
+ case ComboBox.ValueType.Integer:
+ if (comboBox.currentIndex !== comboBox.backendValue.value)
+ comboBox.currentIndex = comboBox.backendValue.value
+ break
+ case ComboBox.ValueType.Enum:
+ default:
+ var enumString = comboBox.backendValue.enumeration
+
+ if (enumString === "")
+ enumString = comboBox.backendValue.value
+
+ var index = comboBox.find(enumString)
+
+ if (index < 0)
+ index = 0
+
+ if (index !== comboBox.currentIndex)
+ comboBox.currentIndex = index
+ }
}
comboBox.block = false
@@ -108,10 +136,16 @@ StudioControls.ComboBox {
if (comboBox.manualMapping)
return
- if (!comboBox.useInteger) {
- comboBox.backendValue.setEnumeration(comboBox.scope, comboBox.currentText)
- } else {
- comboBox.backendValue.value = comboBox.currentIndex
+ switch (comboBox.valueType) {
+ case ComboBox.ValueType.String:
+ comboBox.backendValue.value = comboBox.currentText
+ break
+ case ComboBox.ValueType.Integer:
+ comboBox.backendValue.value = comboBox.currentIndex
+ break
+ case ComboBox.ValueType.Enum:
+ default:
+ comboBox.backendValue.setEnumeration(comboBox.scope, comboBox.currentText)
}
}
diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/GradientLine.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/GradientLine.qml
index e032893f5b..27885c2b2f 100644
--- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/GradientLine.qml
+++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/GradientLine.qml
@@ -223,6 +223,10 @@ Item {
}
}
+ Tooltip {
+ id: myTooltip
+ }
+
Component {
id: component
Item {
@@ -241,9 +245,9 @@ Item {
if (showToolTip) {
var currentPoint = Qt.point(gradientStopHandleMouseArea.mouseX, gradientStopHandleMouseArea.mouseY);
var fixedGradiantStopPosition = currentGradiantStopPosition();
- Tooltip.showText(gradientStopHandleMouseArea, currentPoint, fixedGradiantStopPosition.toFixed(3));
+ myTooltip.showText(gradientStopHandleMouseArea, currentPoint, fixedGradiantStopPosition.toFixed(3));
} else {
- Tooltip.hideText()
+ myTooltip.hideText()
}
}
function currentGradiantStopPosition() {
diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/OriginControl.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/OriginControl.qml
index a6db34f4f1..e70f28ace4 100644
--- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/OriginControl.qml
+++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/OriginControl.qml
@@ -50,13 +50,14 @@ Item {
}
ActionIndicator {
- anchors.left: grid.right
+ anchors.right: grid.left
anchors.leftMargin: grid.spacing
visible: originControl.enabled
icon.color: extFuncLogic.color
icon.text: extFuncLogic.glyph
onClicked: extFuncLogic.show()
+ forceVisible: true
}
ColorLogic {
@@ -71,6 +72,7 @@ Item {
}
Grid {
+ x: StudioTheme.Values.squareComponentWidth
opacity: originControl.enabled ? 1 : 0.5
rows: 3
columns: 3
diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/AbstractButton.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/AbstractButton.qml
index 409f097822..4d95bb7083 100644
--- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/AbstractButton.qml
+++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/AbstractButton.qml
@@ -45,6 +45,11 @@ T.AbstractButton {
z: myButton.checked ? 10 : 3
activeFocusOnTab: false
+ onHoveredChanged: {
+ if (parent !== undefined && parent.hover !== undefined)
+ parent.hover = hovered
+ }
+
background: Rectangle {
id: buttonBackground
color: myButton.checked ? StudioTheme.Values.themeControlBackgroundChecked : StudioTheme.Values.themeControlBackground
diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ActionIndicator.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ActionIndicator.qml
index 74869c386c..908f2274e6 100644
--- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ActionIndicator.qml
+++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ActionIndicator.qml
@@ -46,12 +46,16 @@ Rectangle {
implicitHeight: StudioTheme.Values.height
signal clicked
+ z: 10
T.Label {
id: actionIndicatorIcon
anchors.fill: parent
text: StudioTheme.Constants.actionIcon
- visible: text != StudioTheme.Constants.actionIcon || actionIndicator.forceVisible
+ visible: text !== StudioTheme.Constants.actionIcon || actionIndicator.forceVisible
+ || (myControl !== undefined &&
+ ((myControl.edit !== undefined && myControl.edit)
+ || (myControl.hover !== undefined && myControl.hover)))
color: StudioTheme.Values.themeTextColor
font.family: StudioTheme.Constants.iconFont.family
font.pixelSize: StudioTheme.Values.myIconFontSize
@@ -92,7 +96,7 @@ Rectangle {
states: [
State {
name: "default"
- when: myControl.enabled && !actionIndicator.hover
+ when: myControl !== undefined && myControl.enabled && !actionIndicator.hover
&& !actionIndicator.pressed && !myControl.hover
&& !myControl.edit && !myControl.drag && actionIndicator.showBackground
PropertyChanges {
@@ -103,18 +107,21 @@ Rectangle {
},
State {
name: "globalHover"
- when: myControl.hover && !actionIndicator.hover
- && !actionIndicator.pressed && !myControl.edit
+ when: myControl !== undefined && myControl.hover !== undefined
+ && myControl.hover && !actionIndicator.hover && !actionIndicator.pressed
+ && myControl.edit !== undefined && !myControl.edit && myControl.drag !== undefined
&& !myControl.drag && actionIndicator.showBackground
PropertyChanges {
target: actionIndicator
color: StudioTheme.Values.themeHoverHighlight
border.color: StudioTheme.Values.themeControlOutline
}
+
},
State {
name: "edit"
- when: myControl.edit && actionIndicator.showBackground
+ when: myControl !== undefined && myControl.edit !== undefined
+ && myControl.edit && actionIndicator.showBackground
PropertyChanges {
target: actionIndicator
color: StudioTheme.Values.themeFocusEdit
@@ -123,7 +130,8 @@ Rectangle {
},
State {
name: "drag"
- when: myControl.drag && actionIndicator.showBackground
+ when: myControl !== undefined && myControl.drag !== undefined
+ && myControl.drag && actionIndicator.showBackground
PropertyChanges {
target: actionIndicator
color: StudioTheme.Values.themeFocusDrag
@@ -132,7 +140,7 @@ Rectangle {
},
State {
name: "disabled"
- when: !myControl.enabled && actionIndicator.showBackground
+ when: myControl !== undefined && !myControl.enabled && actionIndicator.showBackground
PropertyChanges {
target: actionIndicator
color: StudioTheme.Values.themeControlBackgroundDisabled
diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ButtonRow.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ButtonRow.qml
index 059c38ad2c..b889173e3c 100644
--- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ButtonRow.qml
+++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/ButtonRow.qml
@@ -29,8 +29,9 @@ import QtQuick.Templates 2.12 as T
import StudioTheme 1.0 as StudioTheme
Row {
- // TODO When using Item as root it won't react to outer layout
- id: myButtonGroup
+ id: myButtonRow
+
+ property bool hover: false
property alias actionIndicator: actionIndicator
@@ -40,12 +41,12 @@ Row {
ActionIndicator {
id: actionIndicator
- myControl: myButtonGroup // TODO global hover issue. Can be solved with extra property in ActionIndicator
+ myControl: myButtonRow
x: 0
y: 0
width: actionIndicator.visible ? __actionIndicatorWidth : 0
height: actionIndicator.visible ? __actionIndicatorHeight : 0
}
- spacing: -StudioTheme.Values.border // TODO Which one is better? Spacing vs. layout function. ALso depends on root item
+ spacing: -StudioTheme.Values.border
}
diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/RealSpinBoxInput.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/RealSpinBoxInput.qml
index 98c592f112..72a713c282 100644
--- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/RealSpinBoxInput.qml
+++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/StudioControls/RealSpinBoxInput.qml
@@ -193,7 +193,6 @@ TextInput {
PropertyChanges {
target: mouseArea
cursorShape: Qt.PointingHandCursor
- enabled: false
}
},
State {
diff --git a/share/qtcreator/translations/qtcreator_ru.ts b/share/qtcreator/translations/qtcreator_ru.ts
index f28b933339..fb7c6d36e0 100644
--- a/share/qtcreator/translations/qtcreator_ru.ts
+++ b/share/qtcreator/translations/qtcreator_ru.ts
@@ -2,6 +2,162 @@
<!DOCTYPE TS>
<TS version="2.1" language="ru">
<context>
+ <name>ADS::DockAreaTitleBar</name>
+ <message>
+ <source>Detach Area</source>
+ <translation>Отцепить область</translation>
+ </message>
+ <message>
+ <source>Close Area</source>
+ <translation>Закрыть область</translation>
+ </message>
+ <message>
+ <source>Close Other Areas</source>
+ <translation>Закрыть другие области</translation>
+ </message>
+</context>
+<context>
+ <name>ADS::DockManager</name>
+ <message>
+ <source>Cannot Save Workspace</source>
+ <translation>Не удалось сохранить сессию</translation>
+ </message>
+ <message>
+ <source>Could not save workspace to file %1</source>
+ <translation>Не удалось сохранить сессию %1</translation>
+ </message>
+ <message>
+ <source>Delete Workspace</source>
+ <translation>Удалить сессию</translation>
+ </message>
+ <message>
+ <source>Delete Workspaces</source>
+ <translation>Удалить сессии</translation>
+ </message>
+ <message>
+ <source>Delete workspace %1?</source>
+ <translation>Удалить сессию %1?</translation>
+ </message>
+ <message>
+ <source>Delete these workspaces?
+ %1</source>
+ <translation>Удалить следующие сессии?
+ %1</translation>
+ </message>
+ <message>
+ <source>Cannot Restore Workspace</source>
+ <translation>Не удалось восстановить сессию</translation>
+ </message>
+ <message>
+ <source>Could not restore workspace %1</source>
+ <translation>Не удалось восстановить сессию %1</translation>
+ </message>
+</context>
+<context>
+ <name>ADS::DockWidgetTab</name>
+ <message>
+ <source>Detach</source>
+ <translation>Отцепить</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Закрыть</translation>
+ </message>
+ <message>
+ <source>Close Others</source>
+ <translation>Закрыть другие</translation>
+ </message>
+</context>
+<context>
+ <name>ADS::WorkspaceDialog</name>
+ <message>
+ <source>Workspace Manager</source>
+ <translation>Управление сессиями</translation>
+ </message>
+ <message>
+ <source>&amp;New</source>
+ <translation>&amp;Создать</translation>
+ </message>
+ <message>
+ <source>&amp;Rename</source>
+ <translation>&amp;Переименовать</translation>
+ </message>
+ <message>
+ <source>C&amp;lone</source>
+ <translation>&amp;Копировать</translation>
+ </message>
+ <message>
+ <source>&amp;Delete</source>
+ <translation>&amp;Удалить</translation>
+ </message>
+ <message>
+ <source>Reset</source>
+ <translation>Сбросить</translation>
+ </message>
+ <message>
+ <source>&amp;Switch To</source>
+ <translation>&amp;Активировать</translation>
+ </message>
+ <message>
+ <source>Restore last workspace on startup</source>
+ <translation>Восстанавливать при запуске</translation>
+ </message>
+ <message>
+ <source>&lt;a href=&quot;qthelp://org.qt-project.qtcreator/doc/creator-project-managing-workspaces.html&quot;&gt;What is a Workspace?&lt;/a&gt;</source>
+ <translation>&lt;a href=&quot;qthelp://org.qt-project.qtcreator/doc/creator-project-managing-workspaces.html&quot;&gt;Что такое сессия?&lt;/a&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>ADS::WorkspaceModel</name>
+ <message>
+ <source>Workspace</source>
+ <translation>Сессия</translation>
+ </message>
+ <message>
+ <source>Last Modified</source>
+ <translation>Изменена</translation>
+ </message>
+ <message>
+ <source>New Workspace Name</source>
+ <translation>Название новой сессии</translation>
+ </message>
+ <message>
+ <source>&amp;Create</source>
+ <translation>&amp;Создать</translation>
+ </message>
+ <message>
+ <source>Create and &amp;Open</source>
+ <translation>Создать и &amp;открыть</translation>
+ </message>
+ <message>
+ <source>&amp;Clone</source>
+ <translation>С&amp;копировать</translation>
+ </message>
+ <message>
+ <source>Clone and &amp;Open</source>
+ <translation>Скопировать и откр&amp;ыть</translation>
+ </message>
+ <message>
+ <source>Rename Workspace</source>
+ <translation>Переименование сессии</translation>
+ </message>
+ <message>
+ <source>&amp;Rename</source>
+ <translation>&amp;Переименовать</translation>
+ </message>
+ <message>
+ <source>Rename and &amp;Open</source>
+ <translation>П&amp;ереименовать и открыть</translation>
+ </message>
+</context>
+<context>
+ <name>ADS::WorkspaceNameInputDialog</name>
+ <message>
+ <source>Enter the name of the workspace:</source>
+ <translation>Введите название сессии:</translation>
+ </message>
+</context>
+<context>
<name>AccountImage</name>
<message>
<source>Account</source>
@@ -257,8 +413,12 @@ The minimum API level required by the kit is %1.</source>
<context>
<name>Android::AndroidConfigurations</name>
<message>
- <source>Android Debugger for %1</source>
- <translation>Отладчик Android для %1</translation>
+ <source>Custom Android Debugger (%1, NDK %2)</source>
+ <translation>Особый отладчик Android (%1, NDK %2)</translation>
+ </message>
+ <message>
+ <source>Android Debugger (%1, NDK %2)</source>
+ <translation>Отладчик Android (%1, NDK %2)</translation>
</message>
<message>
<source>Android for %1 (Clang %2)</source>
@@ -327,10 +487,6 @@ The minimum API level required by the kit is %1.</source>
<source>Clean Environment</source>
<translation>Чистая среда</translation>
</message>
- <message>
- <source>Android run settings</source>
- <translation>Настройки запуска под Android</translation>
- </message>
</context>
<context>
<name>Android::ChooseDirectoryPage</name>
@@ -364,7 +520,7 @@ The files in the Android package source directory are copied to the build direct
</message>
</context>
<context>
- <name>Android::ChooseProFilePage</name>
+ <name>Android::ChooseProfilePage</name>
<message>
<source>Select the .pro file for which you want to create the Android template files.</source>
<translation>Выберите файл .pro, для которого следует создать шаблоны для Android.</translation>
@@ -439,8 +595,16 @@ The files in the Android package source directory are copied to the build direct
<translation> МБ</translation>
</message>
<message>
- <source>ABI:</source>
- <translation>ABI:</translation>
+ <source>Architecture (ABI):</source>
+ <translation>Архитектура (ABI):</translation>
+ </message>
+ <message>
+ <source>Device definition:</source>
+ <translation>Устройство:</translation>
+ </message>
+ <message>
+ <source>Overwrite existing AVD name</source>
+ <translation>Перезаписать существующее имя AVD</translation>
</message>
</context>
<context>
@@ -569,6 +733,14 @@ The files in the Android package source directory are copied to the build direct
<translation>Библиотеки (*.so)</translation>
</message>
<message>
+ <source>Include prebuilt OpenSSL libraries</source>
+ <translation>Подключать собранные библиотеки OpenSSL</translation>
+ </message>
+ <message>
+ <source>This is useful for apps that use SSL operations. The path can be defined in Tools &gt; Options &gt; Devices &gt; Android.</source>
+ <translation>Полезно для приложений, использующих операции SSL. Путь можно задать в Инструменты &gt; Настройки &gt; Устройства &gt; Android.</translation>
+ </message>
+ <message>
<source>Build Android APK</source>
<translation>Сборка Android APK</translation>
</message>
@@ -730,6 +902,10 @@ Do you want to uninstall the existing package?</source>
<source>Android</source>
<translation>Android</translation>
</message>
+ <message>
+ <source>Android Device</source>
+ <translation>Устройство Android</translation>
+ </message>
</context>
<context>
<name>Android::Internal::AndroidDeviceDialog</name>
@@ -811,13 +987,6 @@ Do you want to uninstall the existing package?</source>
</message>
</context>
<context>
- <name>Android::Internal::AndroidDeviceFactory</name>
- <message>
- <source>Android Device</source>
- <translation>Устройство Android</translation>
- </message>
-</context>
-<context>
<name>Android::Internal::AndroidDeviceModelDelegate</name>
<message>
<source>OpenGL enabled</source>
@@ -883,13 +1052,6 @@ Do you want to uninstall the existing package?</source>
</message>
</context>
<context>
- <name>Android::Internal::AndroidManifestEditorFactory</name>
- <message>
- <source>Android Manifest editor</source>
- <translation>Редактор Android Manifest</translation>
- </message>
-</context>
-<context>
<name>Android::Internal::AndroidManifestEditorWidget</name>
<message>
<source>Package</source>
@@ -928,18 +1090,42 @@ Do you want to uninstall the existing package?</source>
<translation>Минимальный требуемый SDK:</translation>
</message>
<message>
+ <source>Style extraction:</source>
+ <translation>Извлечение стиля:</translation>
+ </message>
+ <message>
+ <source>Master icon</source>
+ <translation>Основной значок</translation>
+ </message>
+ <message>
+ <source>Select master icon.</source>
+ <translation>Выбрать основной значок.</translation>
+ </message>
+ <message>
<source>Select low DPI icon.</source>
<translation>Выбрать значок низкого разрешения.</translation>
</message>
<message>
+ <source>Low DPI icon</source>
+ <translation>Значок низкого разрешения</translation>
+ </message>
+ <message>
<source>Select medium DPI icon.</source>
<translation>Выбрать значок среднего разрешения.</translation>
</message>
<message>
+ <source>Medium DPI icon</source>
+ <translation>Значок среднего разрешения</translation>
+ </message>
+ <message>
<source>Select high DPI icon.</source>
<translation>Выбрать значок высокого разрешения.</translation>
</message>
<message>
+ <source>High DPI icon</source>
+ <translation>Значок высокого разрешения</translation>
+ </message>
+ <message>
<source>The structure of the Android manifest file is corrupted. Expected a top level &apos;manifest&apos; node.</source>
<translation>Структура файла манифеста Android повреждена. Ожидается элемент верхнего уровня «manifest».</translation>
</message>
@@ -948,6 +1134,14 @@ Do you want to uninstall the existing package?</source>
<translation>Структура файла манифеста Android повреждена. Ожидаются дочерние элементы «application» и «activity».</translation>
</message>
<message>
+ <source>Icon scaled up</source>
+ <translation>Значок увеличен</translation>
+ </message>
+ <message>
+ <source>Click to select</source>
+ <translation>Щёлкните для выбора</translation>
+ </message>
+ <message>
<source>Target SDK:</source>
<translation>Целевой SDK:</translation>
</message>
@@ -1012,12 +1206,12 @@ Do you want to uninstall the existing package?</source>
<translation>Перейти к ошибке</translation>
</message>
<message>
- <source>Choose Low DPI Icon</source>
- <translation>Выбор значка низкого разрешения</translation>
+ <source>Choose Master Icon</source>
+ <translation>Выбор основного значка</translation>
</message>
<message>
- <source>PNG images (*.png)</source>
- <translation>Изображения PNG (*.png)</translation>
+ <source>Choose Low DPI Icon</source>
+ <translation>Выбор значка низкого разрешения</translation>
</message>
<message>
<source>Choose Medium DPI Icon</source>
@@ -1027,6 +1221,10 @@ Do you want to uninstall the existing package?</source>
<source>Choose High DPI Icon</source>
<translation>Выбор значка высокого разрешения</translation>
</message>
+ <message>
+ <source>Android Manifest editor</source>
+ <translation>Редактор Android Manifest</translation>
+ </message>
</context>
<context>
<name>Android::Internal::AndroidPackageInstallationStepWidget</name>
@@ -1036,6 +1234,17 @@ Do you want to uninstall the existing package?</source>
</message>
</context>
<context>
+ <name>Android::Internal::AndroidPlugin</name>
+ <message>
+ <source>Would you like to configure Android options? This will ensure Android kits can be usable and all essential packages are installed. To do it later, select Options &gt; Devices &gt; Android.</source>
+ <translation>Настроить Android? Предполагается, что комплекты Android доступны, а необходимые пакеты установлены. Чтобы сделать это позже перейдите в Настройки &gt; Устройства &gt; Android.</translation>
+ </message>
+ <message>
+ <source>Configure Android</source>
+ <translation>Настроить Android</translation>
+ </message>
+</context>
+<context>
<name>Android::Internal::AndroidPotentialKit</name>
<message>
<source>Configure Android...</source>
@@ -1124,6 +1333,49 @@ Do you want to uninstall the existing package?</source>
</message>
</context>
<context>
+ <name>Android::Internal::AndroidSdkDownloader</name>
+ <message>
+ <source>Encountered SSL errors, download is aborted.</source>
+ <translation>Возникла ошибка SSL, загрузка прервана.</translation>
+ </message>
+ <message>
+ <source>The SDK Tools download URL is empty.</source>
+ <translation>URL для загрузки SDK Tools пуст.</translation>
+ </message>
+ <message>
+ <source>Downloading SDK Tools package...</source>
+ <translation>Загрузка пакета SDK Tools...</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
+ </message>
+ <message>
+ <source>Could not create the SDK folder %1.</source>
+ <translation>Не удалось создать каталог SDK %1.</translation>
+ </message>
+ <message>
+ <source>Download SDK Tools</source>
+ <translation>Загрузка SDK Tools</translation>
+ </message>
+ <message>
+ <source>Could not open %1 for writing: %2.</source>
+ <translation>Не удалось открыть %1 для записи: %2.</translation>
+ </message>
+ <message>
+ <source>Downloading Android SDK Tools from URL %1 has failed: %2.</source>
+ <translation>Не удалось загрузить Android SDK Tools из %1: %2.</translation>
+ </message>
+ <message>
+ <source>Download from %1 was redirected.</source>
+ <translation>Загрузка из %1 была перенаправлена.</translation>
+ </message>
+ <message>
+ <source>Writing and verifying the integrity of the downloaded file has failed.</source>
+ <translation>Не удалось записать и проверить целостность загруженных файлов.</translation>
+ </message>
+</context>
+<context>
<name>Android::Internal::AndroidSdkManager</name>
<message>
<source>The operation requires user interaction. Use the &quot;sdkmanager&quot; command-line tool.</source>
@@ -1149,10 +1401,6 @@ Do you want to uninstall the existing package?</source>
<translation>Развернуть всё</translation>
</message>
<message>
- <source>SDK manger is not available with the current version of SDK tools. Use native SDK manager.</source>
- <translation>SDK Manager недоступен в текущей версии инструментов SDK. Используйте штатный SDK Manager.</translation>
- </message>
- <message>
<source>Update Installed</source>
<translation>Обновление установлено</translation>
</message>
@@ -1298,6 +1546,10 @@ Cancelling pending operations...
Отмена ожидающих операций...
</translation>
</message>
+ <message>
+ <source>SDK manager is not available with the current version of SDK tools. Use native SDK manager.</source>
+ <translation>SDK Manager недоступен в текущей версии инструментов SDK. Используйте штатный SDK Manager.</translation>
+ </message>
</context>
<context>
<name>Android::Internal::AndroidSdkModel</name>
@@ -1339,19 +1591,52 @@ Cancelling pending operations...
</message>
</context>
<context>
- <name>Android::Internal::AndroidSettingsPage</name>
- <message>
- <source>Android</source>
- <translation>Android</translation>
- </message>
-</context>
-<context>
<name>Android::Internal::AndroidSettingsWidget</name>
<message>
<source>Select JDK Path</source>
<translation>Выбор размещения JDK</translation>
</message>
<message>
+ <source>Select OpenSSL Include Project File</source>
+ <translation>Выбор файла проекта подключаемого OpenSSL</translation>
+ </message>
+ <message>
+ <source>Automatically download Android SDK Tools to selected location.
+
+If the selected path contains no valid SDK Tools, the SDK Tools package is downloaded from %1, and extracted to the selected path.
+After the SDK Tools are properly set up, you are prompted to install any essential packages required for Qt to build for Android.
+</source>
+ <translation>Автоматически загружать инструменты Android SDK в выбранное место.
+
+Если выбранный путь не содержит подходящих инструментов SDK, то пакет с ними будет загружен из %1 и извлечён в указанное место.
+После правильной установки инструментов SDK будет предложено установить пакеты, необходимые Qt для сборки под Android.
+</translation>
+ </message>
+ <message>
+ <source>OpenSSL Cloning</source>
+ <translation>Клонирование OpenSSL</translation>
+ </message>
+ <message>
+ <source>OpenSSL prebuilt libraries repository is already configured.</source>
+ <translation>Хранилище собранных библиотек OpenSSL уже настроено.</translation>
+ </message>
+ <message>
+ <source>The selected download path (%1) for OpenSSL already exists. Remove and overwrite its content?</source>
+ <translation>Выбранный путь для загрузки (%1) OpenSSL уже существует. Удалить или перезаписать его содержимое?</translation>
+ </message>
+ <message>
+ <source>Cloning OpenSSL prebuilt libraries...</source>
+ <translation>Клонирование собранных библиотек OpenSSL...</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
+ </message>
+ <message>
+ <source>OpenSSL prebuilt libraries cloning failed. Opening OpenSSL URL for manual download.</source>
+ <translation>Не удалось клонировать собранные библиотеки OpenSSL. Открывается URL для загрузки вручную.</translation>
+ </message>
+ <message>
<source>Remove Android Virtual Device</source>
<translation>Удаление виртуального устройства Android</translation>
</message>
@@ -1360,12 +1645,12 @@ Cancelling pending operations...
<translation>Удалить устройство «%1»? Отменить операцию будет нельзя.</translation>
</message>
<message>
- <source>AVD Manager Not Available</source>
- <translation>Недоступен AVD Manager</translation>
+ <source>(SDK Version: %1, NDK Bundle Version: %2)</source>
+ <translation>(Версия SDK: %1; версия пакета NDK: %2)</translation>
</message>
<message>
- <source>AVD manager UI tool is not available in the installed SDK tools(version %1). Use the command line tool &quot;avdmanager&quot; for advanced AVD management.</source>
- <translation>AVD Manager недоступен в установленном SDK (версии %1). Используйте утилиту командной строки «avdmanager» для расширенного управления AVD.</translation>
+ <source>AVD Manager Not Available</source>
+ <translation>Недоступен AVD Manager</translation>
</message>
<message>
<source>Select Android SDK folder</source>
@@ -1376,6 +1661,18 @@ Cancelling pending operations...
<translation>Путь к JDK существует.</translation>
</message>
<message>
+ <source>Select an NDK</source>
+ <translation>Выбор NDK</translation>
+ </message>
+ <message>
+ <source>Add Custom NDK</source>
+ <translation>Добавить особый NDK</translation>
+ </message>
+ <message>
+ <source>The selected path has an invalid NDK. This might mean that the path contains space characters, or that it does not have a &quot;toolchains&quot; sub-directory, or that the NDK version could not be retrieved because of a missing &quot;source.properties&quot; or &quot;RELEASE.TXT&quot; file</source>
+ <translation>В выбранном каталоге находится неверный NDK. Возможно, это из-за наличия пробельных символов в пути, или он не содержит подкаталог «toolchains», или невозможно получить версию NDK из-за отсутствия файлов «source.properties» или «RELEASE.TXT»</translation>
+ </message>
+ <message>
<source>JDK path is a valid JDK root folder.</source>
<translation>Путь к JDK является корректным каталогом корня JDK.</translation>
</message>
@@ -1408,6 +1705,10 @@ Cancelling pending operations...
<translation>Управление SDK работает (требуется Java только версии 1.8).</translation>
</message>
<message>
+ <source>All essential packages installed for all installed Qt versions.</source>
+ <translation>Установлены все необходимые пакеты для всех установленных профилей Qt.</translation>
+ </message>
+ <message>
<source>Build tools installed.</source>
<translation>Инструменты сборки установлены.</translation>
</message>
@@ -1416,16 +1717,52 @@ Cancelling pending operations...
<translation>SDK платформы установлен.</translation>
</message>
<message>
- <source>Android NDK path exists.</source>
- <translation>Путь к Android NDK существует.</translation>
+ <source>Default Android NDK path exists.</source>
+ <translation>Существует умолчальный путь к Android NDK.</translation>
+ </message>
+ <message>
+ <source>Default Android NDK directory structure is correct.</source>
+ <translation>Корректна умолчальная структура каталога Android NDK.</translation>
+ </message>
+ <message>
+ <source>Default Android NDK installed into a path without spaces.</source>
+ <translation>Android NDK по умолчанию имеет путь установки без пробелов.</translation>
+ </message>
+ <message>
+ <source>OpenSSL path exists.</source>
+ <translation>Путь к OpenSSL существует.</translation>
+ </message>
+ <message>
+ <source>QMake include project (openssl.pri) exists.</source>
+ <translation>Существует включаемый проект QMake (openssl.pri).</translation>
+ </message>
+ <message>
+ <source>CMake include project (CMakeLists.txt) exists.</source>
+ <translation>Существует включаемый проект CMake (CMakeLists.txt).</translation>
+ </message>
+ <message>
+ <source>OpenSSL Settings are OK.</source>
+ <translation>Настройки OpenSSL в порядке.</translation>
+ </message>
+ <message>
+ <source>OpenSSL settings have errors.</source>
+ <translation>В настройках OpenSSL есть ошибки.</translation>
</message>
<message>
- <source>Android NDK directory structure is correct.</source>
- <translation>Структура каталога Android NDK корректна.</translation>
+ <source>AVD manager UI tool is not available in the installed SDK tools (version %1). Use the command line tool &quot;avdmanager&quot; for advanced AVD management.</source>
+ <translation>Графический инструмент управления AVD недоступен в установленном SDK (версии %1). Используйте инструмент командной строки «avdmanager» для управления AVD.</translation>
</message>
<message>
- <source>Android NDK installed into a path without spaces.</source>
- <translation>Android NDK установлен в каталог, путь к которому не содержит пробелов.</translation>
+ <source>The selected path already has a valid SDK Tools package.</source>
+ <translation>Выбранный путь уже содержит корректный пакет инструментов SDK.</translation>
+ </message>
+ <message>
+ <source>Download and install Android SDK Tools to: %1?</source>
+ <translation>Загрузить и установить инструменты Android SDK в %1?</translation>
+ </message>
+ <message>
+ <source>Android</source>
+ <translation>Android</translation>
</message>
<message>
<source>Android settings are OK.</source>
@@ -1436,21 +1773,13 @@ Cancelling pending operations...
<translation>Настройки Android содержат ошибки.</translation>
</message>
<message>
- <source>Select Android NDK folder</source>
- <translation>Выбор каталога Android NDK</translation>
- </message>
- <message>
<source>Android SDK installation is missing necessary packages. Do you want to install the missing packages?</source>
- <translation>В установленом Android SDK отсутствует ряд необходимых пакетов. Доустановить их?</translation>
+ <translation>В установленном Android SDK отсутствует ряд необходимых пакетов. Доустановить их?</translation>
</message>
<message>
<source>Missing Android SDK packages</source>
<translation>В Android SDK недостаёт пакетов</translation>
</message>
- <message>
- <source>(SDK Version: %1, NDK Version: %2)</source>
- <translation>(Версия SDK: %1, Версия NDK: %2)</translation>
- </message>
</context>
<context>
<name>Android::Internal::AndroidToolChainFactory</name>
@@ -1484,19 +1813,24 @@ Install an SDK of at least API version %1.</source>
<translation>Название AVD</translation>
</message>
<message>
- <source>AVD Target</source>
- <translation>Цель AVD</translation>
+ <source>API</source>
+ <translation>API</translation>
</message>
<message>
- <source>CPU/ABI</source>
- <translation>Процессор/ABI</translation>
+ <source>Device type</source>
+ <translation>Тип устройства</translation>
</message>
-</context>
-<context>
- <name>Android::Internal::JavaEditorFactory</name>
<message>
- <source>Java Editor</source>
- <translation>Редактор Java</translation>
+ <source>Target</source>
+ <translation>Цель</translation>
+ </message>
+ <message>
+ <source>SD-card size</source>
+ <translation>Размер SD-карты</translation>
+ </message>
+ <message>
+ <source>CPU/ABI</source>
+ <translation>Процессор/ABI</translation>
</message>
</context>
<context>
@@ -1559,10 +1893,6 @@ Install an SDK of at least API version %1.</source>
<translation>Не удалось создать AVD. Неверный ввод.</translation>
</message>
<message>
- <source>Cannot create AVD. Cannot find system image for the ABI %1(%2).</source>
- <translation>Не удалось создать AVD. Не найден образ системы для ABI %1(%2).</translation>
- </message>
- <message>
<source>Could not start process &quot;%1 %2&quot;</source>
<translation>Невозможно запустить процесс «%1 %2»</translation>
</message>
@@ -1702,10 +2032,6 @@ Install an SDK of at least API version %1.</source>
<translation>Размещение SDK для Android:</translation>
</message>
<message>
- <source>Android NDK location:</source>
- <translation>Размещение NDK для Android:</translation>
- </message>
- <message>
<source>AVD Manager</source>
<translation>AVD Manager</translation>
</message>
@@ -1730,18 +2056,6 @@ Install an SDK of at least API version %1.</source>
<translation>Размещение JDK:</translation>
</message>
<message>
- <source>Download Android SDK</source>
- <translation>Загрузить Android SDK</translation>
- </message>
- <message>
- <source>Download Android NDK</source>
- <translation>Загрузить Android NDK</translation>
- </message>
- <message>
- <source>Download JDK</source>
- <translation>Загрузить JDK</translation>
- </message>
- <message>
<source>Start...</source>
<translation>Запустить...</translation>
</message>
@@ -1765,6 +2079,54 @@ Install an SDK of at least API version %1.</source>
<source>SDK Manager</source>
<translation>SDK Manager</translation>
</message>
+ <message>
+ <source>Open JDK download URL in the system&apos;s browser.</source>
+ <translation>Открыть путь загрузки JDK в системном браузере.</translation>
+ </message>
+ <message>
+ <source>Automatically download Android SDK Tools to selected location.</source>
+ <translation>Автоматически загружать инструменты Android SDK в выбранный каталог.</translation>
+ </message>
+ <message>
+ <source>Open Android SDK download URL in the system&apos;s browser.</source>
+ <translation>Открыть URL загрузки Android SDK в системном браузере.</translation>
+ </message>
+ <message>
+ <source>Open Android NDK download URL in the system&apos;s browser.</source>
+ <translation>Открыть URL загрузки Android NDK в системном браузере.</translation>
+ </message>
+ <message>
+ <source>Android NDK list:</source>
+ <translation>Список Android NDK:</translation>
+ </message>
+ <message>
+ <source>Add the selected custom NDK. The toolchains and debuggers will be created automatically.</source>
+ <translation>Добавить выбранный особый NDK. Инструментарии и отладчики будут созданы автоматически.</translation>
+ </message>
+ <message>
+ <source>Remove the selected NDK if it has been added manually.</source>
+ <translation>Удалить выбранный NDK, если был добавлен вручную.</translation>
+ </message>
+ <message>
+ <source>Android OpenSSL settings</source>
+ <translation>Настройки Android OpenSSL</translation>
+ </message>
+ <message>
+ <source>OpenSSL .pri location:</source>
+ <translation>Размещение OpenSSL .pri:</translation>
+ </message>
+ <message>
+ <source>Select the path of the prebuilt OpenSSL binaries.</source>
+ <translation>Укажите путь к собранным библиотеками OpenSSL.</translation>
+ </message>
+ <message>
+ <source>Automatically download OpenSSL prebuilt libraries. If the automatic download fails, the download URL will be opened in the system&apos;s browser for manual download.</source>
+ <translation>Автоматически загружать собранные библиотеки OpenSSL. Если автоматически загрузить не выйдет, то URL загрузки откроется в системном браузере для ручной загрузки.</translation>
+ </message>
+ <message>
+ <source>Refresh List</source>
+ <translation>Обновить список</translation>
+ </message>
</context>
<context>
<name>AndroidToolManager</name>
@@ -1774,6 +2136,91 @@ Install an SDK of at least API version %1.</source>
</message>
</context>
<context>
+ <name>AnimationSection</name>
+ <message>
+ <source>Animation</source>
+ <translation>Анимация</translation>
+ </message>
+ <message>
+ <source>Running</source>
+ <translation>Запущена</translation>
+ </message>
+ <message>
+ <source>Sets whether the animation should run to completion when it is stopped.</source>
+ <translation>Определяет, должна ли анимация доигрываться до конца при остановке.</translation>
+ </message>
+ <message>
+ <source>Paused</source>
+ <translation>Приостановлена</translation>
+ </message>
+ <message>
+ <source>Sets whether the animation is currently running.</source>
+ <translation>Определяет, запущена ли анимация.</translation>
+ </message>
+ <message>
+ <source>Sets whether the animation is currently paused.</source>
+ <translation>Определяет, приостановлена ли анимация.</translation>
+ </message>
+ <message>
+ <source>Loops</source>
+ <translation>Повторы</translation>
+ </message>
+ <message>
+ <source>Sets the number of times the animation should play.</source>
+ <translation>Задаёт количество проигрываний анимации.</translation>
+ </message>
+ <message>
+ <source>Duration</source>
+ <translation>Длительность</translation>
+ </message>
+ <message>
+ <source>Sets the duration of the animation, in milliseconds.</source>
+ <translation>Определяет длительность анимации в мс.</translation>
+ </message>
+ <message>
+ <source>Always Run To End</source>
+ <translation>Доигрывать всегда</translation>
+ </message>
+</context>
+<context>
+ <name>AnimationTargetSection</name>
+ <message>
+ <source>Animation Targets</source>
+ <translation>Цели анимации</translation>
+ </message>
+ <message>
+ <source>Target</source>
+ <translation>Цель</translation>
+ </message>
+ <message>
+ <source>Sets the target to animate the properties of.</source>
+ <translation>Цель, свойства которой будут анимированы.</translation>
+ </message>
+ <message>
+ <source>Property</source>
+ <translation>Свойство</translation>
+ </message>
+ <message>
+ <source>Sets the property to animate.</source>
+ <translation>Анимируемое свойство.</translation>
+ </message>
+ <message>
+ <source>Properties</source>
+ <translation>Свойства</translation>
+ </message>
+ <message>
+ <source>Sets the properties to animate.</source>
+ <translation>Анимируемые свойства.</translation>
+ </message>
+</context>
+<context>
+ <name>AnnotationToolAction</name>
+ <message>
+ <source>Edit Annotation</source>
+ <translation>Изменить аннотацию</translation>
+ </message>
+</context>
+<context>
<name>Application</name>
<message>
<source>Failed to load core: %1</source>
@@ -2607,12 +3054,6 @@ This might cause trouble during execution.
<translation>Не удалось получить конфигурацию запуска.</translation>
</message>
<message>
- <source>Failed to create run configuration.
-%1</source>
- <translation>Не удалось создать конфигурацию запуска.
-%1</translation>
- </message>
- <message>
<source>Unable to display test results when using CDB.</source>
<translation>Невозможно отобразить результаты тестов при использовании CDB.</translation>
</message>
@@ -2836,18 +3277,6 @@ Warning: this is an experimental feature and might lead to failing to execute th
</message>
</context>
<context>
- <name>AutotoolsProjectManager::Internal::AutotoolsBuildConfigurationFactory</name>
- <message>
- <source>Default</source>
- <extracomment>The name of the build configuration created by default for a autotools project.</extracomment>
- <translation>По умолчанию</translation>
- </message>
- <message>
- <source>Build</source>
- <translation>Сборка</translation>
- </message>
-</context>
-<context>
<name>AutotoolsProjectManager::Internal::AutotoolsOpenProjectWizard</name>
<message>
<source>Autotools Wizard</source>
@@ -2912,13 +3341,6 @@ Warning: this is an experimental feature and might lead to failing to execute th
</message>
</context>
<context>
- <name>BareMetal::GdbServerProvider</name>
- <message>
- <source>Clone of %1</source>
- <translation>Копия %1</translation>
- </message>
-</context>
-<context>
<name>BareMetal::Internal::BareMetalCustomRunConfiguration</name>
<message>
<source>Unknown</source>
@@ -2940,8 +3362,8 @@ Warning: this is an experimental feature and might lead to failing to execute th
<translation>Отладка невозможна: отсутствует устройство в комплекте.</translation>
</message>
<message>
- <source>No GDB server provider found for %1</source>
- <translation>Провайдер GDB сервера для %1 не найден</translation>
+ <source>No debug server provider found for %1</source>
+ <translation>Не определён тип сервера отладки для %1</translation>
</message>
<message>
<source>Cannot debug: Local executable is not set.</source>
@@ -2951,6 +3373,14 @@ Warning: this is an experimental feature and might lead to failing to execute th
<source>Cannot debug: Could not find executable for &quot;%1&quot;.</source>
<translation>Отладка невозможна: не удалось найти программу для «%1».</translation>
</message>
+ <message>
+ <source>Unable to create a uVision project options template.</source>
+ <translation>Не удалось создать шаблон проекта настроек uVision.</translation>
+ </message>
+ <message>
+ <source>Unable to create a uVision project template.</source>
+ <translation>Не удалось создать шаблон проекта uVision.</translation>
+ </message>
</context>
<context>
<name>BareMetal::Internal::BareMetalDevice</name>
@@ -2966,20 +3396,8 @@ Warning: this is an experimental feature and might lead to failing to execute th
<context>
<name>BareMetal::Internal::BareMetalDeviceConfigurationWidget</name>
<message>
- <source>GDB server provider:</source>
- <translation>Тип сервера GDB:</translation>
- </message>
- <message>
- <source>Peripheral description files (*.svd)</source>
- <translation>Файлы описания устройств (*.svd)</translation>
- </message>
- <message>
- <source>Select Peripheral Description File</source>
- <translation>Выбор файла описания внешнего устройства</translation>
- </message>
- <message>
- <source>Peripheral description file:</source>
- <translation>Файл описания устройства:</translation>
+ <source>Debug server provider:</source>
+ <translation>Тип сервера отладки:</translation>
</message>
</context>
<context>
@@ -2992,23 +3410,16 @@ Warning: this is an experimental feature and might lead to failing to execute th
<context>
<name>BareMetal::Internal::BareMetalDeviceConfigurationWizardSetupPage</name>
<message>
- <source>Set up GDB Server or Hardware Debugger</source>
- <translation>Настройка сервера GDB или аппаратного отладчика</translation>
+ <source>Set up Debug Server or Hardware Debugger</source>
+ <translation>Настройка сервера отладки или аппаратного отладчика</translation>
</message>
<message>
<source>Name:</source>
<translation>Название:</translation>
</message>
<message>
- <source>GDB server provider:</source>
- <translation>Тип сервера GDB:</translation>
- </message>
-</context>
-<context>
- <name>BareMetal::Internal::BareMetalDeviceFactory</name>
- <message>
- <source>Bare Metal Device</source>
- <translation>Устройство на голом железе</translation>
+ <source>Debug server provider:</source>
+ <translation>Тип сервера отладки:</translation>
</message>
</context>
<context>
@@ -3033,124 +3444,239 @@ Warning: this is an experimental feature and might lead to failing to execute th
</message>
</context>
<context>
- <name>BareMetal::Internal::DefaultGdbServerProviderConfigWidget</name>
+ <name>BareMetal::Internal::DebugServerProviderChooser</name>
<message>
- <source>Host:</source>
- <translation>Хост:</translation>
+ <source>Manage...</source>
+ <translation>Управление...</translation>
</message>
<message>
- <source>Extended mode:</source>
- <translation>Расширенный режим:</translation>
+ <source>None</source>
+ <translation>Нет</translation>
</message>
+</context>
+<context>
+ <name>BareMetal::Internal::DebugServerProviderModel</name>
<message>
- <source>Init commands:</source>
- <translation>Команды инициализации:</translation>
+ <source>Not recognized</source>
+ <translation>Не определён</translation>
</message>
<message>
- <source>Reset commands:</source>
- <translation>Команды сброса:</translation>
+ <source>GDB</source>
+ <translation>GDB</translation>
</message>
-</context>
-<context>
- <name>BareMetal::Internal::DefaultGdbServerProviderFactory</name>
<message>
- <source>Default</source>
- <translation>По умолчанию</translation>
+ <source>UVSC</source>
+ <translation>UVSC</translation>
+ </message>
+ <message>
+ <source>GDB compatible provider engine
+(used together with the GDB debuggers).</source>
+ <translation>GDB-совместимый провайдер отладчика
+(используется совместно с отладчиками GDB).</translation>
+ </message>
+ <message>
+ <source>UVSC compatible provider engine
+(used together with the KEIL uVision).</source>
+ <translation>UVSC-совместимый провайдер отладчика
+(используется совместно с KEIL uVision).</translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>Имя</translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <translation>Тип</translation>
+ </message>
+ <message>
+ <source>Engine</source>
+ <translation>Движок</translation>
+ </message>
+ <message>
+ <source>Duplicate Providers Detected</source>
+ <translation>Обнаружены дублирующиеся провайдеры</translation>
+ </message>
+ <message>
+ <source>The following providers were already configured:&lt;br&gt;&amp;nbsp;%1&lt;br&gt;They were not configured again.</source>
+ <translation>Следующие провайдеры уже настроены:&lt;br&gt;&amp;nbsp;%1&lt;br&gt;Повторно настраиваться не будут.</translation>
</message>
</context>
<context>
- <name>BareMetal::Internal::GdbServerProviderChooser</name>
+ <name>BareMetal::Internal::DebugServerProvidersSettingsPage</name>
<message>
- <source>Manage...</source>
- <translation>Управление...</translation>
+ <source>Add</source>
+ <translation>Добавить</translation>
</message>
<message>
- <source>None</source>
- <translation>Нет</translation>
+ <source>Clone</source>
+ <translation>Скопировать</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Удалить</translation>
+ </message>
+ <message>
+ <source>Debug Server Providers</source>
+ <translation>Провайдеры серверов отладки</translation>
+ </message>
+ <message>
+ <source>Clone of %1</source>
+ <translation>Копия %1</translation>
+ </message>
+ <message>
+ <source>Bare Metal</source>
+ <translation>Bare Metal</translation>
</message>
</context>
<context>
- <name>BareMetal::Internal::GdbServerProviderConfigWidget</name>
+ <name>BareMetal::Internal::EBlinkGdbServerProviderConfigWidget</name>
<message>
- <source>Enter the name of the GDB server provider.</source>
- <translation>Введите имя сервера GDB.</translation>
+ <source>Host:</source>
+ <translation>Хост:</translation>
</message>
<message>
- <source>Name:</source>
- <translation>Имя:</translation>
+ <source>Executable file:</source>
+ <translation>Исполняемый файл:</translation>
</message>
<message>
- <source>Choose the desired startup mode of the GDB server provider.</source>
- <translation>Выберите желаемый метод запуска сервера GDB.</translation>
+ <source>Script file:</source>
+ <translation>Файл сценария:</translation>
</message>
<message>
- <source>Startup mode:</source>
- <translation>Режим запуска:</translation>
+ <source>Specify the verbosity level (0 to 7).</source>
+ <translation>Укажите уровень информативности (0 до 7).</translation>
</message>
<message>
- <source>No Startup</source>
- <translation>Не запускать</translation>
+ <source>Verbosity level:</source>
+ <translation>Уровень информативности:</translation>
</message>
<message>
- <source>Startup in TCP/IP Mode</source>
- <translation>Запуск в режиме TCP/IP</translation>
+ <source>Connect under reset (hotplug).</source>
+ <translation>Подключение при сбросе (горячее подключение).</translation>
</message>
<message>
- <source>Startup in Pipe Mode</source>
- <translation>Запуск в локальном режиме (pipe)</translation>
+ <source>Connect under reset:</source>
+ <translation>Подключать при сбросе:</translation>
+ </message>
+ <message>
+ <source>Interface type.</source>
+ <translation>Тип интерфейса.</translation>
+ </message>
+ <message>
+ <source>Type:</source>
+ <translation>Тип:</translation>
+ </message>
+ <message>
+ <source>Specify the speed of the interface (120 to 8000) in kilohertz (kHz).</source>
+ <translation>Укажите скорость интерфейса (от 120 до 8000) в килогерцах (кГц).</translation>
+ </message>
+ <message>
+ <source>Speed:</source>
+ <translation>Скорость:</translation>
+ </message>
+ <message>
+ <source>Do not use EBlink flash cache.</source>
+ <translation>Не использовать кэш EBlink flash.</translation>
+ </message>
+ <message>
+ <source>Disable cache:</source>
+ <translation>Без кэша:</translation>
+ </message>
+ <message>
+ <source>Shut down EBlink server after disconnect.</source>
+ <translation>Выгружать сервер EBlink после отключения.</translation>
+ </message>
+ <message>
+ <source>Auto shutdown:</source>
+ <translation>Автоотключение:</translation>
+ </message>
+ <message>
+ <source>Init commands:</source>
+ <translation>Команды инициализации:</translation>
+ </message>
+ <message>
+ <source>Reset commands:</source>
+ <translation>Команды сброса:</translation>
+ </message>
+ <message>
+ <source>SWD</source>
+ <translation>SWD</translation>
+ </message>
+ <message>
+ <source>JTAG</source>
+ <translation>JTAG</translation>
</message>
</context>
<context>
- <name>BareMetal::Internal::GdbServerProviderModel</name>
+ <name>BareMetal::Internal::GdbServerProvider</name>
<message>
- <source>Name</source>
- <translation>Имя</translation>
+ <source>EBlink</source>
+ <translation>EBlink</translation>
</message>
<message>
- <source>Type</source>
- <translation>Тип</translation>
+ <source>JLink</source>
+ <translation>JLink</translation>
</message>
<message>
- <source>Duplicate Providers Detected</source>
- <translation>Обнаружены дублирующиеся серверы</translation>
+ <source>OpenOCD</source>
+ <translation>OpenOCD</translation>
</message>
<message>
- <source>The following providers were already configured:&lt;br&gt;&amp;nbsp;%1&lt;br&gt;They were not configured again.</source>
- <translation>Следующие серверы уже настроены:&lt;br&gt;&amp;nbsp;%1&lt;br&gt;Повторно настраиваться не будут.</translation>
+ <source>ST-LINK Utility</source>
+ <translation>Утилита ST-LINK</translation>
</message>
</context>
<context>
- <name>BareMetal::Internal::GdbServerProvidersSettingsPage</name>
+ <name>BareMetal::Internal::GdbServerProviderConfigWidget</name>
<message>
- <source>GDB Server Providers</source>
- <translation>Серверы GDB</translation>
+ <source>Choose the desired startup mode of the GDB server provider.</source>
+ <translation>Выберите желаемый метод запуска сервера GDB.</translation>
</message>
<message>
- <source>Add</source>
- <translation>Добавить</translation>
+ <source>Startup mode:</source>
+ <translation>Режим запуска:</translation>
</message>
<message>
- <source>Clone</source>
- <translation>Копировать</translation>
+ <source>Peripheral description files (*.svd)</source>
+ <translation>Файлы описания устройств (*.svd)</translation>
</message>
<message>
- <source>Remove</source>
- <translation>Удалить</translation>
+ <source>Select Peripheral Description File</source>
+ <translation>Выбор файла описания внешнего устройства</translation>
</message>
<message>
- <source>Bare Metal</source>
- <translation>Голое железо</translation>
+ <source>Peripheral description file:</source>
+ <translation>Файл описания устройства:</translation>
+ </message>
+ <message>
+ <source>Startup in TCP/IP Mode</source>
+ <translation>Запуск в режиме TCP/IP</translation>
+ </message>
+ <message>
+ <source>Startup in Pipe Mode</source>
+ <translation>Запуск в локальном режиме (pipe)</translation>
</message>
</context>
<context>
<name>BareMetal::Internal::HostWidget</name>
<message>
- <source>Enter TCP/IP hostname of the GDB server provider, like &quot;localhost&quot; or &quot;192.0.2.1&quot;.</source>
- <translation>Введите TCP/IP имя сервера GDB, например: «localhost» или «192.0.2.1».</translation>
+ <source>Enter TCP/IP hostname of the debug server, like &quot;localhost&quot; or &quot;192.0.2.1&quot;.</source>
+ <translation>Введите TCP/IP имя сервера отладки, например: «localhost» или «192.0.2.1».</translation>
</message>
<message>
- <source>Enter TCP/IP port which will be listened by the GDB server provider.</source>
- <translation>Введите порт TCP/IP, который будет прослушиваться сервером GDB.</translation>
+ <source>Enter TCP/IP port which will be listened by the debug server.</source>
+ <translation>Введите порт TCP/IP, который будет прослушиваться сервером отладки.</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::IDebugServerProviderConfigWidget</name>
+ <message>
+ <source>Enter the name of the debugger server provider.</source>
+ <translation>Введите имя провайдера сервера отладки.</translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation>Имя:</translation>
</message>
</context>
<context>
@@ -3172,6 +3698,65 @@ Warning: this is an experimental feature and might lead to failing to execute th
</message>
</context>
<context>
+ <name>BareMetal::Internal::JLinkGdbServerProviderConfigWidget</name>
+ <message>
+ <source>Host:</source>
+ <translation>Хост:</translation>
+ </message>
+ <message>
+ <source>JLink GDB Server (JLinkGDBServerCL.exe)</source>
+ <translation>JLink сервер GDB (JLinkGDBServerCL.exe)</translation>
+ </message>
+ <message>
+ <source>JLink GDB Server (JLinkGDBServer)</source>
+ <translation>JLink сервер GDB (JLinkGDBServer)</translation>
+ </message>
+ <message>
+ <source>Executable file:</source>
+ <translation>Исполняемый файл:</translation>
+ </message>
+ <message>
+ <source>Default</source>
+ <translation>По умолчанию</translation>
+ </message>
+ <message>
+ <source>IP Address</source>
+ <translation>Адрес IP</translation>
+ </message>
+ <message>
+ <source>Host interface:</source>
+ <translation>Интерфейс хоста:</translation>
+ </message>
+ <message>
+ <source>Speed</source>
+ <translation>Скорость</translation>
+ </message>
+ <message>
+ <source>kHz</source>
+ <translation> кГц</translation>
+ </message>
+ <message>
+ <source>Target interface:</source>
+ <translation>Интерфейс цели:</translation>
+ </message>
+ <message>
+ <source>Device:</source>
+ <translation>Устройство:</translation>
+ </message>
+ <message>
+ <source>Additional arguments:</source>
+ <translation>Дополнительные параметры:</translation>
+ </message>
+ <message>
+ <source>Init commands:</source>
+ <translation>Команды инициализации:</translation>
+ </message>
+ <message>
+ <source>Reset commands:</source>
+ <translation>Команды сброса:</translation>
+ </message>
+</context>
+<context>
<name>BareMetal::Internal::KeilToolchainConfigWidget</name>
<message>
<source>&amp;Compiler path:</source>
@@ -3221,13 +3806,6 @@ Warning: this is an experimental feature and might lead to failing to execute th
</message>
</context>
<context>
- <name>BareMetal::Internal::OpenOcdGdbServerProviderFactory</name>
- <message>
- <source>OpenOCD</source>
- <translation>OpenOCD</translation>
- </message>
-</context>
-<context>
<name>BareMetal::Internal::SdccToolChainConfigWidget</name>
<message>
<source>&amp;Compiler path:</source>
@@ -3246,6 +3824,17 @@ Warning: this is an experimental feature and might lead to failing to execute th
</message>
</context>
<context>
+ <name>BareMetal::Internal::SimulatorUvscServerProviderConfigWidget</name>
+ <message>
+ <source>Limit speed to real-time.</source>
+ <translation>Ограничить скорость реальным временем.</translation>
+ </message>
+ <message>
+ <source>Limit speed to real-time:</source>
+ <translation>Ограничить скорость:</translation>
+ </message>
+</context>
+<context>
<name>BareMetal::Internal::StLinkUtilGdbServerProviderConfigWidget</name>
<message>
<source>Host:</source>
@@ -3305,10 +3894,296 @@ Warning: this is an experimental feature and might lead to failing to execute th
</message>
</context>
<context>
- <name>BareMetal::Internal::StLinkUtilGdbServerProviderFactory</name>
+ <name>BareMetal::Internal::StLinkUvscAdapterOptionsWidget</name>
<message>
- <source>ST-LINK Utility</source>
- <translation>Утилита ST-LINK</translation>
+ <source>Port:</source>
+ <translation>Порт:</translation>
+ </message>
+ <message>
+ <source>Speed:</source>
+ <translation>Скорость:</translation>
+ </message>
+ <message>
+ <source>JTAG</source>
+ <translation>JTAG</translation>
+ </message>
+ <message>
+ <source>SWD</source>
+ <translation>SWD</translation>
+ </message>
+ <message>
+ <source>9MHz</source>
+ <translation>9 МГц</translation>
+ </message>
+ <message>
+ <source>4.5MHz</source>
+ <translation>4,5 МГц</translation>
+ </message>
+ <message>
+ <source>2.25MHz</source>
+ <translation>2,25 МГц</translation>
+ </message>
+ <message>
+ <source>1.12MHz</source>
+ <translation>1,12 МГц</translation>
+ </message>
+ <message>
+ <source>560kHz</source>
+ <translation>560 кГц</translation>
+ </message>
+ <message>
+ <source>280kHz</source>
+ <translation>280 кГц</translation>
+ </message>
+ <message>
+ <source>140kHz</source>
+ <translation>140 кГц</translation>
+ </message>
+ <message>
+ <source>4MHz</source>
+ <translation>4 МГц</translation>
+ </message>
+ <message>
+ <source>1.8MHz</source>
+ <translation>1,8 МГц</translation>
+ </message>
+ <message>
+ <source>950kHz</source>
+ <translation>950 кГц</translation>
+ </message>
+ <message>
+ <source>480kHz</source>
+ <translation>480 кГц</translation>
+ </message>
+ <message>
+ <source>240kHz</source>
+ <translation>240 кГц</translation>
+ </message>
+ <message>
+ <source>125kHz</source>
+ <translation>125 кГц</translation>
+ </message>
+ <message>
+ <source>100kHz</source>
+ <translation>100 кГц</translation>
+ </message>
+ <message>
+ <source>50kHz</source>
+ <translation>50 кГц</translation>
+ </message>
+ <message>
+ <source>25kHz</source>
+ <translation>25 кГц</translation>
+ </message>
+ <message>
+ <source>15kHz</source>
+ <translation>15 кГц</translation>
+ </message>
+ <message>
+ <source>5kHz</source>
+ <translation>5 кГц</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::StLinkUvscServerProviderConfigWidget</name>
+ <message>
+ <source>Adapter options:</source>
+ <translation>Параметры адаптера:</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::Uv::DeviceSelectionAlgorithmModel</name>
+ <message>
+ <source>Name</source>
+ <translation>Название</translation>
+ </message>
+ <message>
+ <source>Start</source>
+ <translation>Начало</translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation>Размер</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::Uv::DeviceSelectionAlgorithmView</name>
+ <message>
+ <source>Algorithm path.</source>
+ <translation>Путь к алгоритму.</translation>
+ </message>
+ <message>
+ <source>Start address.</source>
+ <translation>Начальный адрес.</translation>
+ </message>
+ <message>
+ <source>Size.</source>
+ <translation>Размер.</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::Uv::DeviceSelectionDialog</name>
+ <message>
+ <source>Available Target Devices</source>
+ <translation>Доступные устройства</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::Uv::DeviceSelectionMemoryModel</name>
+ <message>
+ <source>ID</source>
+ <translation>ID</translation>
+ </message>
+ <message>
+ <source>Start</source>
+ <translation>Начало</translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation>Размер</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::Uv::DeviceSelectionModel</name>
+ <message>
+ <source>Name</source>
+ <translation>Название</translation>
+ </message>
+ <message>
+ <source>Version</source>
+ <translation>Версия</translation>
+ </message>
+ <message>
+ <source>Vendor</source>
+ <translation>Поставщик</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::Uv::DeviceSelector</name>
+ <message>
+ <source>Target device not selected.</source>
+ <translation>Устройство не выбрано.</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::Uv::DeviceSelectorDetailsPanel</name>
+ <message>
+ <source>Vendor:</source>
+ <translation>Поставщик:</translation>
+ </message>
+ <message>
+ <source>Family:</source>
+ <translation>Семейство:</translation>
+ </message>
+ <message>
+ <source>Description:</source>
+ <translation>Описание:</translation>
+ </message>
+ <message>
+ <source>Memory:</source>
+ <translation>Память:</translation>
+ </message>
+ <message>
+ <source>Flash algorithm</source>
+ <translation>Алгоритм прошивки</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::Uv::DeviceSelectorToolPanel</name>
+ <message>
+ <source>Manage...</source>
+ <translation>Управление...</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::Uv::DriverSelectionCpuDllModel</name>
+ <message>
+ <source>Name</source>
+ <translation>Название</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::Uv::DriverSelectionCpuDllView</name>
+ <message>
+ <source>Debugger CPU library (depends on a CPU core).</source>
+ <translation>Библиотека поддержки процессора для отладчика (зависит от ядра процессора).</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::Uv::DriverSelectionDialog</name>
+ <message>
+ <source>Available Target Drivers</source>
+ <translation>Доступные драйвера</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::Uv::DriverSelectionModel</name>
+ <message>
+ <source>Path</source>
+ <translation>Путь</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::Uv::DriverSelector</name>
+ <message>
+ <source>Target driver not selected.</source>
+ <translation>Драйвер не выбран.</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::Uv::DriverSelectorDetailsPanel</name>
+ <message>
+ <source>Debugger driver library.</source>
+ <translation>Библиотека драйвера отладчика.</translation>
+ </message>
+ <message>
+ <source>Driver library:</source>
+ <translation>Библиотека драйвера:</translation>
+ </message>
+ <message>
+ <source>CPU library:</source>
+ <translation>Библиотека процессора:</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::Uv::DriverSelectorToolPanel</name>
+ <message>
+ <source>Manage...</source>
+ <translation>Управление...</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::UvscServerProvider</name>
+ <message>
+ <source>uVision Simulator</source>
+ <translation>Симулятор uVision</translation>
+ </message>
+ <message>
+ <source>uVision St-Link</source>
+ <translation>uVision St-Link</translation>
+ </message>
+</context>
+<context>
+ <name>BareMetal::Internal::UvscServerProviderConfigWidget</name>
+ <message>
+ <source>Host:</source>
+ <translation>Хост:</translation>
+ </message>
+ <message>
+ <source>Choose Keil Toolset Configuration File</source>
+ <translation>Выбор файла конфигурации инструментария Keil</translation>
+ </message>
+ <message>
+ <source>Tools file path:</source>
+ <translation>Путь к инструментарию:</translation>
+ </message>
+ <message>
+ <source>Target device:</source>
+ <translation>Устройство:</translation>
+ </message>
+ <message>
+ <source>Target driver:</source>
+ <translation>Драйвер:</translation>
</message>
</context>
<context>
@@ -3339,22 +4214,6 @@ Warning: this is an experimental feature and might lead to failing to execute th
<context>
<name>BaseQtVersion</name>
<message>
- <source>Device type is not supported by Qt version.</source>
- <translation>Устройства этого типа не поддерживается профилем Qt.</translation>
- </message>
- <message>
- <source>The compiler &quot;%1&quot; (%2) cannot produce code for the Qt version &quot;%3&quot; (%4).</source>
- <translation>Компилятор «%1» (%2) не может создавать код для профиля Qt «%3» (%4).</translation>
- </message>
- <message>
- <source>The compiler &quot;%1&quot; (%2) may not produce code compatible with the Qt version &quot;%3&quot; (%4).</source>
- <translation>Компилятор «%1» (%2) может не создавать код совместимый с профилем Qt «%3» (%4).</translation>
- </message>
- <message>
- <source>The kit has a Qt version, but no C++ compiler.</source>
- <translation>У комплекта задан профиль Qt, но нет компилятора C++.</translation>
- </message>
- <message>
<source>Name:</source>
<translation>Название:</translation>
</message>
@@ -3445,13 +4304,6 @@ Local commits are not pushed to the master branch until a normal commit is perfo
</message>
</context>
<context>
- <name>Bazaar::Internal::BazaarControl</name>
- <message>
- <source>Bazaar</source>
- <translation></translation>
- </message>
-</context>
-<context>
<name>Bazaar::Internal::BazaarDiffConfig</name>
<message>
<source>Ignore Whitespace</source>
@@ -3515,6 +4367,10 @@ Local commits are not pushed to the master branch until a normal commit is perfo
<source>GNU Change Log</source>
<translation>Журнал изменений GNU</translation>
</message>
+ <message>
+ <source>Format</source>
+ <translation>Формат</translation>
+ </message>
</context>
<context>
<name>Bazaar::Internal::BazaarPlugin</name>
@@ -3725,10 +4581,6 @@ Local commits are not pushed to the master branch until a normal commit is perfo
<translation> сек</translation>
</message>
<message>
- <source>Bazaar</source>
- <translation></translation>
- </message>
- <message>
<source>The number of recent commit logs to show. Choose 0 to see all entries.</source>
<translation>Количество отображаемых последних сообщений о фиксации,
выберите 0, чтобы видеть все.</translation>
@@ -3740,6 +4592,10 @@ Local commits are not pushed to the master branch until a normal commit is perfo
<source>Bazaar Command</source>
<translation>Команда Bazaar</translation>
</message>
+ <message>
+ <source>Bazaar</source>
+ <translation>Bazaar</translation>
+ </message>
</context>
<context>
<name>Bazaar::Internal::PullOrPushDialog</name>
@@ -3922,6 +4778,17 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
</message>
</context>
<context>
+ <name>Beautifier::Internal::ArtisticStyle</name>
+ <message>
+ <source>AStyle (*.astylerc)</source>
+ <translation>AStyle (*.astylerc)</translation>
+ </message>
+ <message>
+ <source>Artistic Style</source>
+ <translation>Artistic Style</translation>
+ </message>
+</context>
+<context>
<name>Beautifier::Internal::ArtisticStyle::ArtisticStyle</name>
<message>
<source>Artistic Style</source>
@@ -3951,10 +4818,6 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
<translation>Использовать файл *.astylerc, заданный в проекте</translation>
</message>
<message>
- <source>Artistic Style</source>
- <translation>Artistic Style</translation>
- </message>
- <message>
<source>Use file .astylerc or astylerc in HOME</source>
<extracomment>HOME is replaced by the user&apos;s home directory</extracomment>
<translation>Использовать файлы .astylerc или astylerc из HOME</translation>
@@ -3973,13 +4836,6 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
</message>
</context>
<context>
- <name>Beautifier::Internal::ArtisticStyle::ArtisticStyleOptionsPageWidget</name>
- <message>
- <source>AStyle (*.astylerc)</source>
- <translation>AStyle (*.astylerc)</translation>
- </message>
-</context>
-<context>
<name>Beautifier::Internal::BeautifierPlugin</name>
<message>
<source>Error in Beautifier: %1</source>
@@ -4016,6 +4872,21 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
</message>
</context>
<context>
+ <name>Beautifier::Internal::ClangFormat</name>
+ <message>
+ <source>Clang Format</source>
+ <translation>Clang Format</translation>
+ </message>
+ <message>
+ <source>Uncrustify file (*.cfg)</source>
+ <translation>Файл Uncrustify (*.cfg)</translation>
+ </message>
+ <message>
+ <source>Uncrustify</source>
+ <translation>Uncrustify</translation>
+ </message>
+</context>
+<context>
<name>Beautifier::Internal::ClangFormat::ClangFormat</name>
<message>
<source>ClangFormat</source>
@@ -4041,10 +4912,6 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
<translation>Команда Clang Format:</translation>
</message>
<message>
- <source>Clang Format</source>
- <translation>Clang Format</translation>
- </message>
- <message>
<source>Use predefined style:</source>
<translation>Использовать стандартный стиль:</translation>
</message>
@@ -4132,6 +4999,9 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
<source>Restrict to files contained in the current project</source>
<translation>Только для файлов текущего проекта</translation>
</message>
+</context>
+<context>
+ <name>Beautifier::Internal::GeneralOptionsPageWidget</name>
<message>
<source>General</source>
<translation>Основное</translation>
@@ -4167,10 +5037,6 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
<translation>Использовать файл uncrustify.cfg заданный в проекте</translation>
</message>
<message>
- <source>Uncrustify</source>
- <translation>Uncrustify</translation>
- </message>
- <message>
<source>Use file uncrustify.cfg in HOME</source>
<extracomment>HOME is replaced by the user&apos;s home directory</extracomment>
<translation>Использовать uncrustify.cfg из HOME</translation>
@@ -4197,13 +5063,6 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
</message>
</context>
<context>
- <name>Beautifier::Internal::Uncrustify::UncrustifyOptionsPageWidget</name>
- <message>
- <source>Uncrustify file (*.cfg)</source>
- <translation>Файл Uncrustify (*.cfg)</translation>
- </message>
-</context>
-<context>
<name>BinEditor::Internal::BinEditorDocument</name>
<message>
<source>The Binary Editor cannot open empty files.</source>
@@ -4813,20 +5672,6 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
</message>
</context>
<context>
- <name>CMakeProjectManager::CMakeBuildStep</name>
- <message>
- <source>The build configuration is currently disabled.</source>
- <translation>Конфигурация сборки сейчас отключена.</translation>
- </message>
-</context>
-<context>
- <name>CMakeProjectManager::CMakeBuildSystem</name>
- <message>
- <source>Scan &quot;%1&quot; project tree</source>
- <translation>Сканирование дерева проекта «%1»</translation>
- </message>
-</context>
-<context>
<name>CMakeProjectManager::CMakeConfigItem</name>
<message>
<source>Failed to open %1 for reading.</source>
@@ -5008,6 +5853,10 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
<translation>Особые</translation>
</message>
<message>
+ <source>CMake .qch File</source>
+ <translation>Файл CMake .qch</translation>
+ </message>
+ <message>
<source>Autorun CMake</source>
<translation>Автозапуск CMake</translation>
</message>
@@ -5031,6 +5880,10 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
<source>Path:</source>
<translation>Путь:</translation>
</message>
+ <message>
+ <source>Help file:</source>
+ <translation>Файл справки:</translation>
+ </message>
</context>
<context>
<name>CMakeProjectManager::CMakeToolManager</name>
@@ -5080,7 +5933,7 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
<context>
<name>CMakeProjectManager::Internal</name>
<message>
- <source>Failed to set up CMake file API support. Qt Creator can not extract project information.</source>
+ <source>Failed to set up CMake file API support. Qt Creator cannot extract project information.</source>
<translation>Не удалось настроить поддержку API файла CMake. Qt Creator не может извлечь информацию о проекте.</translation>
</message>
<message>
@@ -5170,6 +6023,10 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
<translation>Не удалось создать временный каталог «%1».</translation>
</message>
<message>
+ <source>Parsing has been canceled.</source>
+ <translation>Разбор был отменён.</translation>
+ </message>
+ <message>
<source>The kit needs to define a CMake tool to parse this project.</source>
<translation>В комплекте должна быть задана программа CMake для разбора этого проекта.</translation>
</message>
@@ -5190,24 +6047,24 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
<translation>Ключ</translation>
</message>
<message>
- <source>Overwrite Changes in CMakeCache.txt</source>
- <translation>Переписать изменения в CMakeCache.txt</translation>
+ <source>%1 Project</source>
+ <translation>Проект %1</translation>
</message>
<message>
- <source>Project</source>
- <translation>Проект</translation>
+ <source>Changed value</source>
+ <translation>Изменённое значение</translation>
</message>
<message>
- <source>CMakeCache.txt</source>
- <translation>CMakeCache.txt</translation>
+ <source>The project has been changed outside of %1.</source>
+ <translation>Проект изменился из-вне %1.</translation>
</message>
<message>
- <source>CMake configuration has changed on disk.</source>
- <translation>Конфигурация CMake изменилась на диске.</translation>
+ <source>Discard External Changes</source>
+ <translation>Отменить внешние изменения</translation>
</message>
<message>
- <source>Apply Changes to Project</source>
- <translation>Применить изменения к проекту</translation>
+ <source>Adapt %1 Project to Changes</source>
+ <translation>Применить изменения к проекту %1</translation>
</message>
</context>
<context>
@@ -5216,21 +6073,6 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
<source>CMake configuration set by the kit was overridden in the project.</source>
<translation>Конфигурация CMake, заданная комплектом, изменена в проекте.</translation>
</message>
-</context>
-<context>
- <name>CMakeProjectManager::Internal::CMakeBuildConfigurationFactory</name>
- <message>
- <source>Build</source>
- <translation>Сборка</translation>
- </message>
- <message>
- <source>Debug</source>
- <translation>Отладка</translation>
- </message>
- <message>
- <source>Release</source>
- <translation>Выпуск</translation>
- </message>
<message>
<source>Minimum Size Release</source>
<translation>Выпуск минимального размера</translation>
@@ -5348,6 +6190,10 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
<translation>Сборка CMake</translation>
</message>
<message>
+ <source>The build configuration is currently disabled.</source>
+ <translation>Конфигурация сборки сейчас отключена.</translation>
+ </message>
+ <message>
<source>A CMake tool must be set up for building. Configure a CMake tool in the kit options.</source>
<translation>Для сборки необходимо, чтобы была задана программа CMake. Задайте её в настройках комплекта.</translation>
</message>
@@ -5394,6 +6240,13 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
</message>
</context>
<context>
+ <name>CMakeProjectManager::Internal::CMakeBuildSystem</name>
+ <message>
+ <source>Scan &quot;%1&quot; project tree</source>
+ <translation>Сканирование дерева проекта «%1»</translation>
+ </message>
+</context>
+<context>
<name>CMakeProjectManager::Internal::CMakeConfigurationKitAspect</name>
<message>
<source>Change...</source>
@@ -5409,13 +6262,6 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
</message>
</context>
<context>
- <name>CMakeProjectManager::Internal::CMakeEditorFactory</name>
- <message>
- <source>CMake Editor</source>
- <translation>Редактор CMake</translation>
- </message>
-</context>
-<context>
<name>CMakeProjectManager::Internal::CMakeGeneratorKitAspect</name>
<message>
<source>Change...</source>
@@ -5532,13 +6378,6 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
</message>
</context>
<context>
- <name>CMakeProjectManager::Internal::CMakeSettingsPage</name>
- <message>
- <source>CMake</source>
- <translation>CMake</translation>
- </message>
-</context>
-<context>
<name>CMakeProjectManager::Internal::CMakeSpecificSettingForm</name>
<message>
<source>Determines whether file paths are copied to the clipboard for pasting to the CMakeLists.txt file when you add new files to CMake projects.</source>
@@ -5562,7 +6401,7 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
</message>
</context>
<context>
- <name>CMakeProjectManager::Internal::CMakeSpecificSettingsPage</name>
+ <name>CMakeProjectManager::Internal::CMakeSpecificSettingWidget</name>
<message>
<source>CMake</source>
<translation>CMake</translation>
@@ -5598,6 +6437,10 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
<source>New CMake</source>
<translation>Новый CMake</translation>
</message>
+ <message>
+ <source>CMake</source>
+ <translation>CMake</translation>
+ </message>
</context>
<context>
<name>CMakeProjectManager::Internal::CMakeToolTreeItem</name>
@@ -5823,6 +6666,13 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
</message>
</context>
<context>
+ <name>CameraToggleAction</name>
+ <message>
+ <source>Toggle Perspective/Orthographic Edit Camera</source>
+ <translation>Перспективная/ортогональная камера редактора</translation>
+ </message>
+</context>
+<context>
<name>CategoryLabel</name>
<message>
<source>Collapse category</source>
@@ -5931,11 +6781,11 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
</message>
<message>
<source>Generate Compilation Database</source>
- <translation>Создавать базу данных компиляции</translation>
+ <translation>Создать базу данных компиляции</translation>
</message>
<message>
<source>Generate Compilation Database for &quot;%1&quot;</source>
- <translation>Создавать базу данных компиляции для «%1»</translation>
+ <translation>Создать базу данных компиляции для «%1»</translation>
</message>
<message>
<source>Clang compilation database generated at &quot;%1&quot;.</source>
@@ -5968,14 +6818,6 @@ For example, &quot;Revision: 15&quot; will leave the branch at revision 15.</sou
<translation>Модель кода Clang</translation>
</message>
<message>
- <source>Global</source>
- <translation>Глобальные</translation>
- </message>
- <message>
- <source>Custom</source>
- <translation>Особые</translation>
- </message>
- <message>
<source>Parse templates in a MSVC-compliant way. This helps to parse headers for example from Active Template Library (ATL) or Windows Runtime Library (WRL).
However, using the relaxed and extended rules means also that no highlighting/completion can be provided within template functions.</source>
<translation>Разбирать шаблоны как MSVC. Это поможет разобрать заголовки, например из Active Template Library (ATL) и Windows Runtime Library (WRL).
@@ -5985,6 +6827,18 @@ However, using the relaxed and extended rules means also that no highlighting/co
<source>Enable MSVC-compliant template parsing</source>
<translation>Включить разбор, совместимый с MSVC</translation>
</message>
+ <message>
+ <source>Use Global Settings</source>
+ <translation>Используются глобальные настройки</translation>
+ </message>
+ <message>
+ <source>Use Customized Settings</source>
+ <translation>Используются особые настройки</translation>
+ </message>
+ <message>
+ <source>&lt;a href=&quot;target&quot;&gt;Open Global Settings&lt;/a&gt;</source>
+ <translation>&lt;a href=&quot;target&quot;&gt;Открыть глобальные настройки&lt;/a&gt;</translation>
+ </message>
</context>
<context>
<name>ClangCodeModel::Internal::ModelManagerSupport</name>
@@ -6008,22 +6862,6 @@ However, using the relaxed and extended rules means also that no highlighting/co
<context>
<name>ClangDiagnosticConfigsModel</name>
<message>
- <source>Clang-Tidy thorough checks</source>
- <translation>Тщательные проверки Clang-Tidy</translation>
- </message>
- <message>
- <source>Clang-Tidy static analyzer checks</source>
- <translation>Проверки статическим анализатором Clang-Tidy</translation>
- </message>
- <message>
- <source>Clazy level0 checks</source>
- <translation>Проверки Clazy level0</translation>
- </message>
- <message>
- <source>Clang-Tidy and Clazy preselected checks</source>
- <translation>Выбранные проверки Clang-Tidy и Clazy</translation>
- </message>
- <message>
<source>Checks for questionable constructs</source>
<translation>Проверки на сомнительные конструкции</translation>
</message>
@@ -6032,10 +6870,6 @@ However, using the relaxed and extended rules means also that no highlighting/co
<translation>Предупреждения системы сборки</translation>
</message>
<message>
- <source>%1 [built-in]</source>
- <translation>%1 [встроенный]</translation>
- </message>
- <message>
<source>Pedantic checks</source>
<translation>Педантичные проверки</translation>
</message>
@@ -6043,6 +6877,10 @@ However, using the relaxed and extended rules means also that no highlighting/co
<source>Checks for almost everything</source>
<translation>Проверки всего</translation>
</message>
+ <message>
+ <source>Default Clang-Tidy and Clazy checks</source>
+ <translation>Умолчальные проверки Clang-Tidy и Clazy</translation>
+ </message>
</context>
<context>
<name>ClangDiagnosticWidget</name>
@@ -6222,6 +7060,13 @@ However, using the relaxed and extended rules means also that no highlighting/co
</message>
</context>
<context>
+ <name>ClangTools::Internal::BaseChecksTreeModel</name>
+ <message>
+ <source>Web Page</source>
+ <translation>Веб-страница</translation>
+ </message>
+</context>
+<context>
<name>ClangTools::Internal::ClangTidyRunner</name>
<message>
<source>Clang-Tidy</source>
@@ -6247,10 +7092,6 @@ However, using the relaxed and extended rules means also that no highlighting/co
<translation>Проанализировать текущий файл</translation>
</message>
<message>
- <source>Clang-Tidy and Clazy Diagnostics</source>
- <translation>Проблемы по Clang-Tidy и Clazy</translation>
- </message>
- <message>
<source>Go to previous diagnostic.</source>
<translation>Перейти к предыдущей проблеме.</translation>
</message>
@@ -6295,6 +7136,22 @@ However, using the relaxed and extended rules means also that no highlighting/co
<translation>Clang-Tidy и Clazy</translation>
</message>
<message>
+ <source>Release</source>
+ <translation>Выпуск</translation>
+ </message>
+ <message>
+ <source>Run %1 in %2 Mode?</source>
+ <translation>Выполнить %1 в режиме %2?</translation>
+ </message>
+ <message>
+ <source>You are trying to run the tool &quot;%1&quot; on an application in %2 mode. The tool is designed to be used in Debug mode since enabled assertions can reduce the number of false positives.</source>
+ <translation>Попытка запустить «%1» для приложения в режиме %2. Этот инструмент разработан для отладочного режима, так как включённые утверждения могут уменьшить число ложных срабатываний.</translation>
+ </message>
+ <message>
+ <source>Do you want to continue and run the tool in %1 mode?</source>
+ <translation>Продолжить запуск в режиме %1?</translation>
+ </message>
+ <message>
<source>Clang-Tidy and Clazy tool stopped by user.</source>
<translation>Утилиты Clang-Tidy и Clazy остановлены пользователем.</translation>
</message>
@@ -6311,6 +7168,30 @@ However, using the relaxed and extended rules means also that no highlighting/co
<translation>Ошибка загрузки проблем</translation>
</message>
<message>
+ <source>Set a valid Clang-Tidy executable.</source>
+ <translation>Задание корректной программы Clang-Tidy.</translation>
+ </message>
+ <message>
+ <source>Set a valid Clazy-Standalone executable.</source>
+ <translation>Задание корректной программы Clazy-Standalone.</translation>
+ </message>
+ <message>
+ <source>Project &quot;%1&quot; is not a C/C++ project.</source>
+ <translation>Проект «%1» не является проектом C/C++.</translation>
+ </message>
+ <message>
+ <source>Open a C/C++ project to start analyzing.</source>
+ <translation>Откройте проект C/C++ для начала анализа.</translation>
+ </message>
+ <message>
+ <source>Failed to build the project.</source>
+ <translation>Не удалось собрать проект.</translation>
+ </message>
+ <message>
+ <source>Failed to start the analyzer.</source>
+ <translation>Не удалось запустить анализатор.</translation>
+ </message>
+ <message>
<source>All Files</source>
<translation>Все файлы</translation>
</message>
@@ -6323,56 +7204,40 @@ However, using the relaxed and extended rules means also that no highlighting/co
<translation>Изменённые файлы</translation>
</message>
<message>
- <source>Clang-Tidy and Clazy are still running.</source>
- <translation>Clang-Tidy и Clazy ещё работают.</translation>
+ <source>Failed to analyze %1 files.</source>
+ <translation>Не удалось проанализировать %1 файл(ов).</translation>
</message>
<message>
- <source>This is not a C/C++ project.</source>
- <translation>Это не проект на C/C++.</translation>
- </message>
- <message numerus="yes">
- <source>Running - %n diagnostics</source>
- <translation>
- <numerusform>Исполнение — %n проблема</numerusform>
- <numerusform>Исполнение — %n проблемы</numerusform>
- <numerusform>Исполнение — %n проблем</numerusform>
- </translation>
+ <source>Analyzing...</source>
+ <translation>Анализ...</translation>
</message>
<message>
- <source>Running - No diagnostics</source>
- <translation>Исполнение — проблем нет</translation>
- </message>
- <message numerus="yes">
- <source>Finished - %n diagnostics</source>
- <translation>
- <numerusform>Завершено — %n проблема</numerusform>
- <numerusform>Завершено — %n проблемы</numerusform>
- <numerusform>Завершено — %n проблем</numerusform>
- </translation>
+ <source>Analyzing... %1 of %2 files processed.</source>
+ <translation>Анализ... Обработано %1 из %2 файла(ов).</translation>
</message>
<message>
- <source>Finished - No diagnostics</source>
- <translation>Завершено — проблем нет</translation>
+ <source>Analysis stopped by user.</source>
+ <translation>Анализ остановлен пользователем.</translation>
</message>
-</context>
-<context>
- <name>ClangTools::Internal::ClangToolRunWorker</name>
<message>
- <source>Release</source>
- <translation>Выпуск</translation>
+ <source>Finished processing %1 files.</source>
+ <translation>Завершена обработка %1 файла(ов).</translation>
</message>
<message>
- <source>Run %1 in %2 Mode?</source>
- <translation>Выполнить %1 в режиме %2?</translation>
+ <source>Diagnostics imported.</source>
+ <translation>Диагностики импортированы.</translation>
</message>
<message>
- <source>You are trying to run the tool &quot;%1&quot; on an application in %2 mode. The tool is designed to be used in Debug mode since enabled assertions can reduce the number of false positives.</source>
- <translation>Попытка запустить «%1» для приложения в режиме %2. Этот инструмент разработан для отладочного режима, так как включённые утверждения могут уменьшить число ложных срабатываний.</translation>
+ <source>%1 diagnostics. %2 fixits, %4 selected.</source>
+ <translation>%1 диагностик. %2 требований на исправление, %4 выбрано.</translation>
</message>
<message>
- <source>Do you want to continue and run the tool in %1 mode?</source>
- <translation>Продолжить запуск в режиме %1?</translation>
+ <source>No diagnostics.</source>
+ <translation>Нет диагностик.</translation>
</message>
+</context>
+<context>
+ <name>ClangTools::Internal::ClangToolRunWorker</name>
<message>
<source>The project configuration changed since the start of the %1. Please re-run with current configuration.</source>
<translation>Настройки проекта изменились с момента запуска %1. Перезапустите с текущей конфигурацией.</translation>
@@ -6382,36 +7247,40 @@ However, using the relaxed and extended rules means also that no highlighting/co
<translation>Выполнение %1 на %2 в конфигурации «%3».</translation>
</message>
<message>
- <source>%1: Failed to create temporary directory. Stopped.</source>
- <translation>%1: не удалось создать временный каталог. Остановлено.</translation>
- </message>
- <message>
<source>Analyzing</source>
<translation>Анализ</translation>
</message>
<message>
- <source>%1: Invalid executable &quot;%2&quot;. Stopped.</source>
- <translation>%1: неверная программа «%2». Остановлено.</translation>
+ <source>Failed to build the project.</source>
+ <translation>Не удалось собрать проект.</translation>
+ </message>
+ <message>
+ <source>Failed to create temporary directory: %1.</source>
+ <translation>Не удалось создать временный каталог: %1.</translation>
</message>
<message>
<source>Analyzing &quot;%1&quot; [%2].</source>
<translation>Анализ «%1» [%2].</translation>
</message>
<message>
+ <source>Failed to start runner &quot;%1&quot;.</source>
+ <translation>Не удалось запустить запускатель «%1».</translation>
+ </message>
+ <message>
<source>Failed to analyze &quot;%1&quot;: %2</source>
<translation>Не удалось проанализировать «%1»: %2</translation>
</message>
<message>
- <source>%1 finished: Processed %2 files successfully, %3 failed.</source>
- <translation>%1 завершено: успешно обработано %2 файл(ов) и %3 обработать не удалось.</translation>
+ <source>Error: Failed to analyze %1 files.</source>
+ <translation>Ошибка: не удалось проанализировать %1 файлов.</translation>
</message>
<message>
- <source>%1: Not all files could be analyzed.</source>
- <translation>%1: не все файлы возможно проанализировать.</translation>
+ <source>Note: You might need to build the project to generate or update source files. To build automatically, enable &quot;Build the project before analysis&quot;.</source>
+ <translation>Возможно требуется сборка проекта для создания или обновления исходных файлов. Для автоматической сборки включите «Собирать проект перед анализом».</translation>
</message>
<message>
- <source>%1: You might need to build the project to generate or update source files. To build automatically, enable &quot;Build the project before starting analysis&quot;.</source>
- <translation>%1: возможно требуется пересобрать проект для создания или обновления исходных файлов. Включите «Собирать проект перед запуском анализа», чтобы он собирался автоматически.</translation>
+ <source>%1 finished: Processed %2 files successfully, %3 failed.</source>
+ <translation>%1 завершено: успешно обработано %2 файл(ов) и %3 обработать не удалось.</translation>
</message>
</context>
<context>
@@ -6442,10 +7311,6 @@ Output:
<context>
<name>ClangTools::Internal::ClangToolsDiagnosticModel</name>
<message>
- <source>Diagnostic</source>
- <translation>Проблема</translation>
- </message>
- <message>
<source>No Fixits</source>
<translation>Нет исправлений</translation>
</message>
@@ -6485,6 +7350,66 @@ Output:
</message>
</context>
<context>
+ <name>ClangTools::Internal::ClazyChecks</name>
+ <message>
+ <source>See &lt;a href=&quot;https://github.com/KDE/clazy&quot;&gt;Clazy&apos;s homepage&lt;/a&gt; for more information.</source>
+ <translation>Подробнее на &lt;a href=&quot;https://github.com/KDE/clazy&quot;&gt;домашней странице Clazy&lt;/a&gt;.</translation>
+ </message>
+ <message>
+ <source>Topic Filter</source>
+ <translation>Разделы</translation>
+ </message>
+ <message>
+ <source>Reset to All</source>
+ <translation>Включить все</translation>
+ </message>
+ <message>
+ <source>Checks</source>
+ <translation>Проверки</translation>
+ </message>
+ <message>
+ <source>When enabling a level explicitly, also enable lower levels (Clazy semantic).</source>
+ <translation>При явном включении уровня также включать нижние уровни (семантика Clazy).</translation>
+ </message>
+ <message>
+ <source>Enable lower levels automatically</source>
+ <translation>Автоматически включать нижние уровни</translation>
+ </message>
+ <message>
+ <source>Could not query the supported checks from the clazy-standalone executable.
+Set a valid executable first.</source>
+ <translation>Не удалось получить поддерживаемые проверки от программы clazy-standalone.
+Сначала необходимо задать её в настройках.</translation>
+ </message>
+</context>
+<context>
+ <name>ClangTools::Internal::ClazyChecksTreeModel</name>
+ <message>
+ <source>Manual Level: Very few false positives</source>
+ <translation>Ручной уровень: немного ложных срабатываний</translation>
+ </message>
+ <message>
+ <source>Level 0: No false positives</source>
+ <translation>Уровень 0: без ложных срабатываний</translation>
+ </message>
+ <message>
+ <source>Level 1: Very few false positives</source>
+ <translation>Уровень 1: немного ложных срабатываний</translation>
+ </message>
+ <message>
+ <source>Level 2: More false positives</source>
+ <translation>Уровень 2: больше ложных срабатываний</translation>
+ </message>
+ <message>
+ <source>Level 3: Experimental checks</source>
+ <translation>Уровень 3: экспериментальные проверки</translation>
+ </message>
+ <message>
+ <source>Level %1</source>
+ <translation>Уровень %1</translation>
+ </message>
+</context>
+<context>
<name>ClangTools::Internal::ClazyPluginRunner</name>
<message>
<source>Clazy</source>
@@ -6499,13 +7424,102 @@ Output:
</message>
</context>
<context>
+ <name>ClangTools::Internal::DiagnosticConfigsWidget</name>
+ <message>
+ <source>Checks</source>
+ <translation>Проверки</translation>
+ </message>
+ <message>
+ <source>Clang-Tidy Checks</source>
+ <translation>Проверки Clang-Tidy</translation>
+ </message>
+ <message>
+ <source>Clazy Checks</source>
+ <translation>Проверки Clazy</translation>
+ </message>
+ <message>
+ <source>Edit Checks as String...</source>
+ <translation>Изменить проверки...</translation>
+ </message>
+ <message>
+ <source>View Checks as String...</source>
+ <translation>Посмотреть проверки...</translation>
+ </message>
+ <message numerus="yes">
+ <source>Checks (%n enabled, some are filtered out)</source>
+ <translation>
+ <numerusform>Проверки (%n включённая, есть отфильтрованные)</numerusform>
+ <numerusform>Проверки (%n включённых, есть отфильтрованные)</numerusform>
+ <numerusform>Проверки (%n включённых, есть отфильтрованные)</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>Checks (%n enabled)</source>
+ <translation>
+ <numerusform>Проверки (%n включённая)</numerusform>
+ <numerusform>Проверки (%n включённых)</numerusform>
+ <numerusform>Проверки (%n включённых)</numerusform>
+ </translation>
+ </message>
+</context>
+<context>
<name>ClangTools::Internal::DiagnosticView</name>
<message>
+ <source>Filter...</source>
+ <translation>Фильтр...</translation>
+ </message>
+ <message>
+ <source>Clear Filter</source>
+ <translation>Очистить фильтр</translation>
+ </message>
+ <message>
+ <source>Filter for This Diagnostic Kind</source>
+ <translation>Фильтр для этого типа проблем</translation>
+ </message>
+ <message>
+ <source>Filter out This Diagnostic Kind</source>
+ <translation>Скрыть этот тип проблем</translation>
+ </message>
+ <message>
+ <source>Web Page</source>
+ <translation>Веб-страница</translation>
+ </message>
+ <message>
<source>Suppress This Diagnostic</source>
<translation>Игнорировать эту проблему</translation>
</message>
</context>
<context>
+ <name>ClangTools::Internal::FilterChecksModel</name>
+ <message>
+ <source>Check</source>
+ <translation>Проверка</translation>
+ </message>
+</context>
+<context>
+ <name>ClangTools::Internal::FilterDialog</name>
+ <message>
+ <source>Filter Diagnostics</source>
+ <translation>Фильтр проблем</translation>
+ </message>
+ <message>
+ <source>Select the diagnostics to display.</source>
+ <translation>Укажите проблемы для отображения.</translation>
+ </message>
+ <message>
+ <source>Select All</source>
+ <translation>Все</translation>
+ </message>
+ <message>
+ <source>Select All with Fixits</source>
+ <translation>Все с Fixit</translation>
+ </message>
+ <message>
+ <source>Clear Selection</source>
+ <translation>Снять выделение</translation>
+ </message>
+</context>
+<context>
<name>ClangTools::Internal::ProjectSettingsWidget</name>
<message>
<source>Remove Selected</source>
@@ -6528,10 +7542,6 @@ Output:
<translation>Восстановить настройки</translation>
</message>
<message>
- <source>&lt;a href=&quot;target&quot;&gt;Show Global Settings&lt;/a&gt;</source>
- <translation>&lt;a href=&quot;target&quot;&gt;Показать глобальные&lt;/a&gt;</translation>
- </message>
- <message>
<source>&lt;a href=&quot;target&quot;&gt;Go to Analyzer&lt;/a&gt;</source>
<translation>&lt;a href=&quot;target&quot;&gt;Перейти к анализу&lt;/a&gt;</translation>
</message>
@@ -6539,6 +7549,10 @@ Output:
<source>Suppressed diagnostics</source>
<translation>Игнорируемые проблемы</translation>
</message>
+ <message>
+ <source>&lt;a href=&quot;target&quot;&gt;Open Global Settings&lt;/a&gt;</source>
+ <translation>&lt;a href=&quot;target&quot;&gt;Открыть глобальные настройки&lt;/a&gt;</translation>
+ </message>
</context>
<context>
<name>ClangTools::Internal::RunSettingsWidget</name>
@@ -6609,6 +7623,27 @@ Output:
</message>
</context>
<context>
+ <name>ClangTools::Internal::TidyChecks</name>
+ <message>
+ <source>Select Checks</source>
+ <translation>Выберите проверки</translation>
+ </message>
+ <message>
+ <source>Use .clang-tidy config file</source>
+ <translation>Использовать файл .clang-tidy</translation>
+ </message>
+ <message>
+ <source>Edit Checks as String...</source>
+ <translation>Изменить проверки...</translation>
+ </message>
+ <message>
+ <source>Could not query the supported checks from the clang-tidy executable.
+Set a valid executable first.</source>
+ <translation>Не удалось получить поддерживаемые проверки от программы clazy-tidy.
+Необходимо сначала задать её в настройках.</translation>
+ </message>
+</context>
+<context>
<name>ClangUtils</name>
<message>
<source>Could not retrieve build directory.</source>
@@ -6677,17 +7712,6 @@ Output:
</message>
</context>
<context>
- <name>ClearCase::Internal::ClearCaseControl</name>
- <message>
- <source>Check &amp;Out</source>
- <translation>&amp;Извлечь</translation>
- </message>
- <message>
- <source>&amp;Hijack</source>
- <translation>&amp;Исправить</translation>
- </message>
-</context>
-<context>
<name>ClearCase::Internal::ClearCaseEditorWidget</name>
<message>
<source>Annotate version &quot;%1&quot;</source>
@@ -6695,7 +7719,11 @@ Output:
</message>
</context>
<context>
- <name>ClearCase::Internal::ClearCasePlugin</name>
+ <name>ClearCase::Internal::ClearCasePluginPrivate</name>
+ <message>
+ <source>Editing Derived Object: %1</source>
+ <translation>Изменение производного объекта: %1</translation>
+ </message>
<message>
<source>C&amp;learCase</source>
<translation>C&amp;learCase</translation>
@@ -6873,14 +7901,18 @@ Output:
<translation>Фиксировать</translation>
</message>
<message>
- <source>Updating ClearCase Index</source>
- <translation>Обновление индекса ClearCase</translation>
+ <source>Do you want to undo the check out of &quot;%1&quot;?</source>
+ <translation>Желаете отменить извлечение «%1»?</translation>
</message>
<message>
<source>Undo Hijack File</source>
<translation>Отменить исправление файла</translation>
</message>
<message>
+ <source>Do you want to undo hijack of &quot;%1&quot;?</source>
+ <translation>Желаете отменить исправление «%1»?</translation>
+ </message>
+ <message>
<source>External diff is required to compare multiple files.</source>
<translation>Необходима внешняя программа сравнения для работы с несколькими файлами.</translation>
</message>
@@ -6933,6 +7965,10 @@ Output:
<translation>ClearCase: удалить элемент %1</translation>
</message>
<message>
+ <source>This operation is irreversible. Are you sure?</source>
+ <translation>Эта операция необратима, продолжить?</translation>
+ </message>
+ <message>
<source>ClearCase Remove File %1</source>
<translation>ClearCase: удалить файл %1</translation>
</message>
@@ -6941,28 +7977,24 @@ Output:
<translation>ClearCase: переименовать файл %1 -&gt; %2</translation>
</message>
<message>
- <source>This operation is irreversible. Are you sure?</source>
- <translation>Эта операция необратима, продолжить?</translation>
- </message>
- <message>
- <source>Editing Derived Object: %1</source>
- <translation>Изменение производного объекта: %1</translation>
+ <source>Activity Headline</source>
+ <translation>Заголовок активности</translation>
</message>
<message>
- <source>Do you want to undo the check out of &quot;%1&quot;?</source>
- <translation>Желаете отменить извлечение «%1»?</translation>
+ <source>Enter activity headline</source>
+ <translation>Введите заголовок активности</translation>
</message>
<message>
- <source>Do you want to undo hijack of &quot;%1&quot;?</source>
- <translation>Желаете отменить исправление «%1»?</translation>
+ <source>Updating ClearCase Index</source>
+ <translation>Обновление индекса ClearCase</translation>
</message>
<message>
- <source>Activity Headline</source>
- <translation>Заголовок активности</translation>
+ <source>Check &amp;Out</source>
+ <translation>&amp;Извлечь</translation>
</message>
<message>
- <source>Enter activity headline</source>
- <translation>Введите заголовок активности</translation>
+ <source>&amp;Hijack</source>
+ <translation>&amp;Исправить</translation>
</message>
</context>
<context>
@@ -7047,10 +8079,6 @@ Output:
<translation>&amp;Индексировать только VOB&apos;ы:</translation>
</message>
<message>
- <source>ClearCase</source>
- <translation>ClearCase</translation>
- </message>
- <message>
<source>Check this if you have a trigger that renames the activity automatically. You will not be prompted for activity name.</source>
<translation>Включите, если у вас есть функция автоматического переименования активностей.
Вопросы по поводу имён активностей задаваться не будут.</translation>
@@ -7087,6 +8115,10 @@ Output:
<source>DiffUtils is available for free download at http://gnuwin32.sourceforge.net/packages/diffutils.htm. Extract it to a directory in your PATH.</source>
<translation>DiffUtils доступна для свободной загрузки отсюда: http://gnuwin32.sourceforge.net/packages/diffutils.htm. Распакуйте архив в любой каталог, прописанный в переменной среды PATH.</translation>
</message>
+ <message>
+ <source>ClearCase</source>
+ <translation>ClearCase</translation>
+ </message>
</context>
<context>
<name>ClearCase::Internal::UndoCheckOut</name>
@@ -7414,10 +8446,21 @@ p, li { white-space: pre-wrap; }
</message>
</context>
<context>
+ <name>ColorAnimationSpecifics</name>
+ <message>
+ <source>To Color</source>
+ <translation>К цвету</translation>
+ </message>
+ <message>
+ <source>From Color</source>
+ <translation>От цвета</translation>
+ </message>
+</context>
+<context>
<name>ColorCheckButton</name>
<message>
- <source>Toggle color picker view</source>
- <translation>Включение/выключения диалога выбора цвета</translation>
+ <source>Toggle color picker view.</source>
+ <translation>Переключить вид цветовой пипетки</translation>
</message>
</context>
<context>
@@ -7521,13 +8564,6 @@ p, li { white-space: pre-wrap; }
</message>
</context>
<context>
- <name>CompilationDatabaseProjectManager::Internal::CompilationDatabaseBuildConfigurationFactory</name>
- <message>
- <source>Release</source>
- <translation>Выпуск</translation>
- </message>
-</context>
-<context>
<name>CompilationDatabaseProjectManager::Internal::CompilationDatabaseProjectManagerPlugin</name>
<message>
<source>Change Root Directory</source>
@@ -7877,11 +8913,15 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>Go Back</source>
- <translation>Перейти назад</translation>
+ <translation>Назад</translation>
</message>
<message>
<source>Go Forward</source>
- <translation>Перейти вперёд</translation>
+ <translation>Вперёд</translation>
+ </message>
+ <message>
+ <source>Go to Last Edit</source>
+ <translation>Последнее изменение</translation>
</message>
<message>
<source>&amp;Save</source>
@@ -7996,6 +9036,58 @@ Continue?</source>
</message>
</context>
<context>
+ <name>Core::ExternalToolConfig</name>
+ <message>
+ <source>Uncategorized</source>
+ <translation>Другие</translation>
+ </message>
+ <message>
+ <source>Tools that will appear directly under the External Tools menu.</source>
+ <translation>Утилиты, отображаемые непосредственно в меню внешних утилит.</translation>
+ </message>
+ <message>
+ <source>New Category</source>
+ <translation>Новая категория</translation>
+ </message>
+ <message>
+ <source>New Tool</source>
+ <translation>Новая утилита</translation>
+ </message>
+ <message>
+ <source>This tool prints a line of useful text</source>
+ <translation>Эта утилита выводит строку полезного текста</translation>
+ </message>
+ <message>
+ <source>Useful text</source>
+ <extracomment>Sample external tool text</extracomment>
+ <translation>Полезный текст</translation>
+ </message>
+ <message>
+ <source>Add Tool</source>
+ <translation>Добавить утилиту</translation>
+ </message>
+ <message>
+ <source>Add Category</source>
+ <translation>Добавить категорию</translation>
+ </message>
+ <message>
+ <source>PATH=C:\dev\bin;${PATH}</source>
+ <translation>PATH=C:\dev\bin;${PATH}</translation>
+ </message>
+ <message>
+ <source>PATH=/opt/bin:${PATH}</source>
+ <translation>PATH=/opt/bin:${PATH}</translation>
+ </message>
+ <message>
+ <source>No changes to apply.</source>
+ <translation>Без изменений.</translation>
+ </message>
+ <message>
+ <source>External Tools</source>
+ <translation>Внешние утилиты</translation>
+ </message>
+</context>
+<context>
<name>Core::ExternalToolManager</name>
<message>
<source>&amp;External</source>
@@ -8120,6 +9212,10 @@ Continue?</source>
<translation>Учитывать регистр</translation>
</message>
<message>
+ <source>Show Non-matching Lines</source>
+ <translation>Показывать несоответствующие строки</translation>
+ </message>
+ <message>
<source>Filter output...</source>
<translation>Фильтр вывода...</translation>
</message>
@@ -8221,11 +9317,12 @@ Continue?</source>
</message>
<message>
<source>Open Command Prompt With</source>
- <translatorcomment>Это подменю содержит пункты: &quot;Среда сборки&quot; и &quot;Среда исполнения&quot;.</translatorcomment>
+ <comment>Opens a submenu for choosing an environment, such as &quot;Run Environment&quot;</comment>
<translation>Открыть консоль в среде</translation>
</message>
<message>
<source>Open Terminal With</source>
+ <comment>Opens a submenu for choosing an environment, such as &quot;Run Environment&quot;</comment>
<translation>Открыть терминал в среде</translation>
</message>
<message>
@@ -8846,22 +9943,6 @@ Do you want to kill it?</source>
<translation>Изменяет текущий документ</translation>
</message>
<message>
- <source>Add Tool</source>
- <translation>Добавить утилиту</translation>
- </message>
- <message>
- <source>Add Category</source>
- <translation>Добавить категорию</translation>
- </message>
- <message>
- <source>PATH=C:\dev\bin;${PATH}</source>
- <translation>PATH=C:\dev\bin;${PATH}</translation>
- </message>
- <message>
- <source>PATH=/opt/bin:${PATH}</source>
- <translation>PATH=/opt/bin:${PATH}</translation>
- </message>
- <message>
<source>Show in Pane</source>
<translation>Показать в консоли</translation>
</message>
@@ -8919,34 +10000,6 @@ Do you want to kill it?</source>
</message>
</context>
<context>
- <name>Core::Internal::ExternalToolModel</name>
- <message>
- <source>Uncategorized</source>
- <translation>Другие</translation>
- </message>
- <message>
- <source>Tools that will appear directly under the External Tools menu.</source>
- <translation>Утилиты, отображаемые непосредственно в меню внешних утилит.</translation>
- </message>
- <message>
- <source>New Category</source>
- <translation>Новая категория</translation>
- </message>
- <message>
- <source>New Tool</source>
- <translation>Новая утилита</translation>
- </message>
- <message>
- <source>This tool prints a line of useful text</source>
- <translation>Эта утилита выводит строку полезного текста</translation>
- </message>
- <message>
- <source>Useful text</source>
- <extracomment>Sample external tool text</extracomment>
- <translation>Полезный текст</translation>
- </message>
-</context>
-<context>
<name>Core::Internal::ExternalToolRunner</name>
<message>
<source>Could not find executable for &quot;%1&quot; (expanded &quot;%2&quot;)</source>
@@ -9177,6 +10230,14 @@ Do you want to kill it?</source>
<translation>Показывать сочетания клавиш в контекстном меню (по умолчанию: %1)</translation>
</message>
<message>
+ <source>on</source>
+ <translation>вкл.</translation>
+ </message>
+ <message>
+ <source>off</source>
+ <translation>выкл.</translation>
+ </message>
+ <message>
<source>Restart Required</source>
<translation>Требуется перезапуск</translation>
</message>
@@ -9285,29 +10346,6 @@ Do you want to kill it?</source>
</message>
</context>
<context>
- <name>Core::Internal::LocatorSettingsPage</name>
- <message>
- <source>Name</source>
- <translation>Имя</translation>
- </message>
- <message>
- <source>Prefix</source>
- <translation>Префикс</translation>
- </message>
- <message>
- <source>Default</source>
- <translation>По умолчанию</translation>
- </message>
- <message>
- <source>Built-in</source>
- <translation>Встроенный</translation>
- </message>
- <message>
- <source>Custom</source>
- <translation>Особый</translation>
- </message>
-</context>
-<context>
<name>Core::Internal::LocatorSettingsWidget</name>
<message>
<source>Configure Filters</source>
@@ -9337,6 +10375,34 @@ Do you want to kill it?</source>
<source>Edit...</source>
<translation>Изменить...</translation>
</message>
+ <message>
+ <source>Files in Directories</source>
+ <translation>Файлы в каталогах</translation>
+ </message>
+ <message>
+ <source>URL Template</source>
+ <translation>Шаблон URL</translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>Имя</translation>
+ </message>
+ <message>
+ <source>Prefix</source>
+ <translation>Префикс</translation>
+ </message>
+ <message>
+ <source>Default</source>
+ <translation>По умолчанию</translation>
+ </message>
+ <message>
+ <source>Built-in</source>
+ <translation>Встроенный</translation>
+ </message>
+ <message>
+ <source>Custom</source>
+ <translation>Особый</translation>
+ </message>
</context>
<context>
<name>Core::Internal::LocatorWidget</name>
@@ -9832,24 +10898,6 @@ Do you want to kill it?</source>
</message>
</context>
<context>
- <name>Core::Internal::OpenEditorsViewFactory</name>
- <message>
- <source>Meta+O</source>
- <translation>Meta+O</translation>
- </message>
- <message>
- <source>Alt+O</source>
- <translation>Alt+O</translation>
- </message>
-</context>
-<context>
- <name>Core::Internal::OpenEditorsWidget</name>
- <message>
- <source>Open Documents</source>
- <translation>Открытые документы</translation>
- </message>
-</context>
-<context>
<name>Core::Internal::OpenEditorsWindow</name>
<message>
<source>*</source>
@@ -9950,6 +10998,10 @@ Do you want to kill it?</source>
<translation>Установленные модули</translation>
</message>
<message>
+ <source>Plugin changes will take effect after restart.</source>
+ <translation>Изменения модулей срабатывают после перезапуска.</translation>
+ </message>
+ <message>
<source>Plugin Details of %1</source>
<translation>Подробнее о модуле %1</translation>
</message>
@@ -10154,19 +11206,12 @@ Do you want to kill it?</source>
<context>
<name>Core::Internal::ShortcutSettings</name>
<message>
- <source>Keyboard</source>
- <translation>Клавиатура</translation>
- </message>
-</context>
-<context>
- <name>Core::Internal::ShortcutSettingsWidget</name>
- <message>
<source>Keyboard Shortcuts</source>
<translation>Горячие клавиши</translation>
</message>
<message>
<source>Shortcut</source>
- <translation>Комбинация</translation>
+ <translation>Горячая клавиша</translation>
</message>
<message>
<source>Enter key sequence as text</source>
@@ -10193,10 +11238,18 @@ Do you want to kill it?</source>
<translation>Сбросить в исходное состояние.</translation>
</message>
<message>
+ <source>Keyboard</source>
+ <translation>Клавиатура</translation>
+ </message>
+ <message>
<source>Key sequence has potential conflicts. &lt;a href=&quot;#conflicts&quot;&gt;Show.&lt;/a&gt;</source>
<translation>Комбинация потенциально конфликтует. &lt;a href=&quot;#conflicts&quot;&gt;Показать&lt;/a&gt;.</translation>
</message>
<message>
+ <source>Key sequence will not work in editor.</source>
+ <translation>Комбинация не будет работать в редакторе.</translation>
+ </message>
+ <message>
<source>Invalid key sequence.</source>
<translation>Неверная комбинация клавиш.</translation>
</message>
@@ -10321,6 +11374,37 @@ Do you want to kill it?</source>
<translation>При сравнении имён файлов:</translation>
</message>
<message>
+ <source>Influences how file names are matched to decide if they are the same.</source>
+ <translation>Определяет способ сравнения имён файлов.</translation>
+ </message>
+ <message>
+ <source>Automatically free resources of old documents that are not visible and not modified. They stay visible in the list of open documents.</source>
+ <translation>Автоматически освобождать ресурсы старых документов, которые не видны и не изменены. Они продолжат отображаться в списке открытых документов.</translation>
+ </message>
+ <message>
+ <source>Auto-suspend unmodified files</source>
+ <translation>Выгружать неизменённые файлы</translation>
+ </message>
+ <message>
+ <source>Files to keep open:</source>
+ <translation>Держать открытыми:</translation>
+ </message>
+ <message>
+ <source>Minimum number of open documents that should be kept in memory. Increasing this number will lead to greater resource usage when not manually closing documents.</source>
+ <translation>Минимальное число открытых документов, которые необходимо хранить в памяти. При увеличении этого числа будет расти и потребление ресурсов, если не закрывать документы вручную.</translation>
+ </message>
+ <message>
+ <source>Command line arguments used for &quot;Run in terminal&quot;.</source>
+ <translation>Параметры командной строки для «Запустить в терминале».</translation>
+ </message>
+ <message>
+ <source>Maximum number of entries in &quot;Recent Files&quot;:</source>
+ <translation>Максимальное число записей в меню «Недавние файлы»:</translation>
+ </message>
+</context>
+<context>
+ <name>Core::Internal::SystemSettingsWidget</name>
+ <message>
<source>Command line arguments used for &quot;%1&quot;.</source>
<translation>Параметры командной строки для «%1».</translation>
</message>
@@ -10353,54 +11437,52 @@ Do you want to kill it?</source>
<translation>Переменные</translation>
</message>
<message>
- <source>Influences how file names are matched to decide if they are the same.</source>
- <translation>Определяет способ сравнения имён файлов.</translation>
- </message>
- <message>
- <source>Automatically free resources of old documents that are not visible and not modified. They stay visible in the list of open documents.</source>
- <translation>Автоматически освобождать ресурсы старых документов, которые не видны и не изменены. Они продолжат отображаться в списке открытых документов.</translation>
+ <source>System</source>
+ <translation>Система</translation>
</message>
+</context>
+<context>
+ <name>Core::Internal::ThemeChooser</name>
<message>
- <source>Auto-suspend unmodified files</source>
- <translation>Выгружать неизменённые файлы</translation>
+ <source>Current theme: %1</source>
+ <translation>Текущая тема: %1</translation>
</message>
<message>
- <source>Files to keep open:</source>
- <translation>Держать открытыми:</translation>
+ <source>The theme change will take effect after restart.</source>
+ <translation>Изменение темы вступит в силу после перезапуска.</translation>
</message>
+</context>
+<context>
+ <name>Core::Internal::UrlFilterOptions</name>
<message>
- <source>Minimum number of open documents that should be kept in memory. Increasing this number will lead to greater resource usage when not manually closing documents.</source>
- <translation>Минимальное число открытых документов, которые необходимо хранить в памяти. При увеличении этого числа будет расти и потребление ресурсов, если не закрывать документы вручную.</translation>
+ <source>Name:</source>
+ <translation>Название:</translation>
</message>
<message>
- <source>Command line arguments used for &quot;Run in terminal&quot;.</source>
- <translation>Параметры командной строки для «Запустить в терминале».</translation>
+ <source>URLs:</source>
+ <translation>Ссылки:</translation>
</message>
<message>
- <source>Maximum number of entries in &quot;Recent Files&quot;:</source>
- <translation>Максимальное число записей в меню «Недавние файлы»:</translation>
+ <source>Add</source>
+ <translation>Добавить</translation>
</message>
-</context>
-<context>
- <name>Core::Internal::ThemeChooser</name>
<message>
- <source>Current theme: %1</source>
- <translation>Текущая тема: %1</translation>
+ <source>Remove</source>
+ <translation>Удалить</translation>
</message>
<message>
- <source>Restart Required</source>
- <translation>Требуется перезапуск</translation>
+ <source>Move Up</source>
+ <translation>Поднять</translation>
</message>
<message>
- <source>The theme change will take effect after restart.</source>
- <translation>Изменение темы вступит в силу после перезапуска.</translation>
+ <source>Move Down</source>
+ <translation>Опустить</translation>
</message>
-</context>
-<context>
- <name>Core::Internal::ToolSettings</name>
<message>
- <source>External Tools</source>
- <translation>Внешние утилиты</translation>
+ <source>Add &quot;%1&quot; placeholder for the query string.
+Double-click to edit item.</source>
+ <translation>Добавить заполнитель «%1» для строки запроса.
+Двойной щелчок для изменения.</translation>
</message>
</context>
<context>
@@ -10411,7 +11493,6 @@ Do you want to kill it?</source>
</message>
<message>
<source>&lt;br/&gt;From revision %1&lt;br/&gt;</source>
- <extracomment>This gets conditionally inserted as argument %8 into the description string.</extracomment>
<translation>&lt;br/&gt;Ревизия %1&lt;br/&gt;</translation>
</message>
<message>
@@ -10450,6 +11531,13 @@ Do you want to kill it?</source>
</message>
</context>
<context>
+ <name>Core::ListItemDelegate</name>
+ <message>
+ <source>Tags:</source>
+ <translation>Теги:</translation>
+ </message>
+</context>
+<context>
<name>Core::LocatorManager</name>
<message>
<source>&lt;type here&gt;</source>
@@ -10599,6 +11687,21 @@ Do you want to check them out now?</source>
</message>
</context>
<context>
+ <name>Core::RestartDialog</name>
+ <message>
+ <source>Restart Required</source>
+ <translation>Требуется перезапуск</translation>
+ </message>
+ <message>
+ <source>Later</source>
+ <translation>Позже</translation>
+ </message>
+ <message>
+ <source>Restart Now</source>
+ <translation>Перезапустить</translation>
+ </message>
+</context>
+<context>
<name>Core::SearchResultWindow</name>
<message>
<source>History:</source>
@@ -10626,6 +11729,21 @@ Do you want to check them out now?</source>
</message>
</context>
<context>
+ <name>Core::UrlLocatorFilter</name>
+ <message>
+ <source>Web Search</source>
+ <translation>Поиск в сети</translation>
+ </message>
+ <message>
+ <source>Qt Project Bugs</source>
+ <translation>Qt Project Bugs</translation>
+ </message>
+ <message>
+ <source>URL Template</source>
+ <translation>Шаблон URL</translation>
+ </message>
+</context>
+<context>
<name>Core::VariableChooser</name>
<message>
<source>Insert &quot;%1&quot;</source>
@@ -11133,10 +12251,6 @@ to version control (%2)
<translation>Именование файлов</translation>
</message>
<message>
- <source>Code Model</source>
- <translation>Модель кода</translation>
- </message>
- <message>
<source>Diagnostic Configurations</source>
<translation>Конфигурации диагностирования</translation>
</message>
@@ -11168,6 +12282,14 @@ to version control (%2)
<source>C++</source>
<translation>C++</translation>
</message>
+ <message>
+ <source>The project contains C source files, but the currently active kit has no C compiler. The code model will not be fully functional.</source>
+ <translation>Проект содержит исходные файлы C, но выбранный комплект не имеет компилятора C. Модель кода не будет полностью функциональной.</translation>
+ </message>
+ <message>
+ <source>The project contains C++ source files, but the currently active kit has no C++ compiler. The code model will not be fully functional.</source>
+ <translation>Проект содержит исходные файлы C++, но выбранный комплект не имеет компилятора C++. Модель кода не будет полностью функциональной.</translation>
+ </message>
</context>
<context>
<name>CppTools::AbstractEditorSupport</name>
@@ -11181,13 +12303,6 @@ to version control (%2)
</message>
</context>
<context>
- <name>CppTools::BaseChecksTreeModel</name>
- <message>
- <source>Web Page</source>
- <translation>Веб-страница</translation>
- </message>
-</context>
-<context>
<name>CppTools::ClangBaseChecks</name>
<message>
<source>For appropriate options, consult the GCC or Clang manual pages or the &lt;a href=&quot;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html&quot;&gt;GCC online documentation&lt;/a&gt;.</source>
@@ -11204,10 +12319,6 @@ to version control (%2)
<source>Diagnostic Configuration:</source>
<translation>Конфигурация диагностирования:</translation>
</message>
- <message>
- <source>Manage...</source>
- <translation>Управление...</translation>
- </message>
</context>
<context>
<name>CppTools::ClangDiagnosticConfigsWidget</name>
@@ -11220,6 +12331,10 @@ to version control (%2)
<translation>Удалить</translation>
</message>
<message>
+ <source>Clang Warnings</source>
+ <translation>Предупреждения Clang</translation>
+ </message>
+ <message>
<source>Copy Diagnostic Configuration</source>
<translation>Копирование конфигурации диагностирования</translation>
</message>
@@ -11232,36 +12347,20 @@ to version control (%2)
<translation>%1 (копия)</translation>
</message>
<message>
- <source>Option &quot;%1&quot; is invalid.</source>
- <translation>Параметр «%1» неверен.</translation>
+ <source>Rename Diagnostic Configuration</source>
+ <translation>Переименование конфигурации диагностирования</translation>
</message>
<message>
- <source>Copy this configuration to customize it.</source>
- <translation>Изменить можно только копию этой конфигурации.</translation>
+ <source>New name:</source>
+ <translation>Новое имя:</translation>
</message>
<message>
- <source>Edit Checks as String...</source>
- <translation>Изменить проверки...</translation>
+ <source>Option &quot;%1&quot; is invalid.</source>
+ <translation>Параметр «%1» неверен.</translation>
</message>
<message>
- <source>View Checks as String...</source>
- <translation>Посмотреть проверки...</translation>
- </message>
- <message numerus="yes">
- <source>Checks (%n enabled, some are filtered out)</source>
- <translation>
- <numerusform>Проверки (%n включённая, есть отфильтрованные)</numerusform>
- <numerusform>Проверки (%n включённых, есть отфильтрованные)</numerusform>
- <numerusform>Проверки (%n включённых, есть отфильтрованные)</numerusform>
- </translation>
- </message>
- <message numerus="yes">
- <source>Checks (%n enabled)</source>
- <translation>
- <numerusform>Проверки (%n включённая)</numerusform>
- <numerusform>Проверки (%n включённых)</numerusform>
- <numerusform>Проверки (%n включённых)</numerusform>
- </translation>
+ <source>Copy this configuration to customize it.</source>
+ <translation>Изменить можно только копию этой конфигурации.</translation>
</message>
<message>
<source>Configuration passes sanity checks.</source>
@@ -11272,26 +12371,6 @@ to version control (%2)
<translation>%1</translation>
</message>
<message>
- <source>Checks</source>
- <translation>Проверки</translation>
- </message>
- <message>
- <source>Clang</source>
- <translation>Clang</translation>
- </message>
- <message>
- <source>Clang-Tidy</source>
- <translation>Clang-Tidy</translation>
- </message>
- <message>
- <source>Clazy</source>
- <translation>Clazy</translation>
- </message>
- <message>
- <source>InfoIcon</source>
- <translation></translation>
- </message>
- <message>
<source>InfoText</source>
<translation></translation>
</message>
@@ -11299,59 +12378,20 @@ to version control (%2)
<source>Diagnostic Configurations</source>
<translation>Конфигурации диагностирования</translation>
</message>
-</context>
-<context>
- <name>CppTools::ClazyChecks</name>
<message>
- <source>See &lt;a href=&quot;https://github.com/KDE/clazy&quot;&gt;Clazy&apos;s homepage&lt;/a&gt; for more information.</source>
- <translation>С более подробной информацией можно ознакомиться на &lt;a href=&quot;https://github.com/KDE/clazy&quot;&gt;домашней странице Clazy&lt;/a&gt;.</translation>
- </message>
- <message>
- <source>Topic Filter</source>
- <translation>Разделы</translation>
- </message>
- <message>
- <source>Reset to All</source>
- <translation>Включить все</translation>
- </message>
- <message>
- <source>Checks</source>
- <translation>Проверки</translation>
- </message>
- <message>
- <source>When enabling a level explicitly, also enable lower levels (Clazy semantic).</source>
- <translation>При явном включении уровня также включать нижние уровни (семантика Clazy).</translation>
- </message>
- <message>
- <source>Enable lower levels automatically</source>
- <translation>Автоматически включать нижние уровни</translation>
+ <source>Rename...</source>
+ <translation>Переименовать...</translation>
</message>
</context>
<context>
- <name>CppTools::ClazyChecksTreeModel</name>
+ <name>CppTools::ConfigsModel</name>
<message>
- <source>Manual Level: Very few false positives</source>
- <translation>Ручной уровень: немного ложных срабатываний</translation>
- </message>
- <message>
- <source>Level 0: No false positives</source>
- <translation>Уровень 0: без ложных срабатываний</translation>
- </message>
- <message>
- <source>Level 1: Very few false positives</source>
- <translation>Уровень 1: немного ложных срабатываний</translation>
- </message>
- <message>
- <source>Level 2: More false positives</source>
- <translation>Уровень 2: больше ложных срабатываний</translation>
- </message>
- <message>
- <source>Level 3: Experimental checks</source>
- <translation>Уровень 3: экспериментальные проверки</translation>
+ <source>Built-in</source>
+ <translation>Встроенный</translation>
</message>
<message>
- <source>Level %1</source>
- <translation>Уровень %1</translation>
+ <source>Custom</source>
+ <translation>Особый</translation>
</message>
</context>
<context>
@@ -11428,6 +12468,13 @@ to version control (%2)
</message>
</context>
<context>
+ <name>CppTools::Internal::CppCodeModelSettingsWidget</name>
+ <message>
+ <source>Code Model</source>
+ <translation>Модель кода</translation>
+ </message>
+</context>
+<context>
<name>CppTools::Internal::CppCodeStyleSettingsPage</name>
<message>
<source>General</source>
@@ -12061,29 +13108,33 @@ Flags: %3</source>
</message>
</context>
<context>
- <name>CppTools::TidyChecks</name>
+ <name>Cppcheck::Internal::CppcheckOptionsPage</name>
<message>
- <source>Disable</source>
- <translation>Отключено</translation>
+ <source>Cppcheck</source>
+ <translation>Cppcheck</translation>
</message>
+</context>
+<context>
+ <name>Cppcheck::Internal::CppcheckPlugin</name>
<message>
- <source>Select Checks</source>
- <translation>Выбранные проверки</translation>
+ <source>Cppcheck</source>
+ <translation>Cppcheck</translation>
</message>
<message>
- <source>Use .clang-tidy config file</source>
- <translation>Использовать файл .clang-tidy</translation>
+ <source>Go to previous diagnostic.</source>
+ <translation>Перейти к предыдущей проблеме.</translation>
</message>
<message>
- <source>Edit Checks as String...</source>
- <translation>Изменить проверки...</translation>
+ <source>Go to next diagnostic.</source>
+ <translation>Перейти к следующей проблеме.</translation>
</message>
-</context>
-<context>
- <name>Cppcheck::Internal::CppcheckOptionsPage</name>
<message>
- <source>Cppcheck</source>
- <translation>Cppcheck</translation>
+ <source>Clear</source>
+ <translation>Очистить</translation>
+ </message>
+ <message>
+ <source>Cppcheck...</source>
+ <translation>Cppcheck...</translation>
</message>
</context>
<context>
@@ -12105,6 +13156,31 @@ Flags: %3</source>
</message>
</context>
<context>
+ <name>Cppcheck::Internal::DiagnosticView</name>
+ <message>
+ <source>Cppcheck Diagnostics</source>
+ <translation>Проблемы Cppcheck</translation>
+ </message>
+</context>
+<context>
+ <name>Cppcheck::Internal::DiagnosticsModel</name>
+ <message>
+ <source>Diagnostic</source>
+ <translation>Проблема</translation>
+ </message>
+</context>
+<context>
+ <name>Cppcheck::Internal::ManualRunDialog</name>
+ <message>
+ <source>Cppcheck Run Configuration</source>
+ <translation>Конфигурация запуска Cppcheck</translation>
+ </message>
+ <message>
+ <source>Analyze</source>
+ <translation>Анализировать</translation>
+ </message>
+</context>
+<context>
<name>CppcheckOptionsPage</name>
<message>
<source>Warnings</source>
@@ -12202,6 +13278,10 @@ Flags: %3</source>
<translation>Общее время</translation>
</message>
<message>
+ <source>Percentage</source>
+ <translation>Процент</translation>
+ </message>
+ <message>
<source>Minimum Time</source>
<translation>Минимальное время</translation>
</message>
@@ -12221,12 +13301,24 @@ Flags: %3</source>
<translation>Уровень %1 стека</translation>
</message>
<message>
+ <source>Value</source>
+ <translation>Значение</translation>
+ </message>
+ <message>
+ <source>Min</source>
+ <translation>Мин.</translation>
+ </message>
+ <message>
+ <source>Max</source>
+ <translation>Макс.</translation>
+ </message>
+ <message>
<source>Start</source>
<translation>Начало</translation>
</message>
<message>
<source>Wall Duration</source>
- <translation type="unfinished">Продолжительность</translation>
+ <translation>Продолжительность</translation>
</message>
<message>
<source>Unfinished</source>
@@ -12237,8 +13329,8 @@ Flags: %3</source>
<translation>true</translation>
</message>
<message>
- <source>&gt; Thread %1</source>
- <translation>&gt; Поток %1</translation>
+ <source>Thread %1</source>
+ <translation>Поток %1</translation>
</message>
<message>
<source>Categories</source>
@@ -12301,6 +13393,10 @@ Do you want to display them anyway?</source>
<translation>Загрузить файл JSON</translation>
</message>
<message>
+ <source>Restrict to Threads</source>
+ <translation>Ограничить потоками</translation>
+ </message>
+ <message>
<source>Timeline</source>
<translation>Временная шкала</translation>
</message>
@@ -12338,17 +13434,6 @@ Do you want to display them anyway?</source>
</message>
</context>
<context>
- <name>CustomExecutableDialog</name>
- <message>
- <source>Could not find the executable, please specify one.</source>
- <translation>Не удалось найти программу, пожалуйста, укажите путь к ней.</translation>
- </message>
- <message>
- <source>Executable:</source>
- <translation>Программа:</translation>
- </message>
-</context>
-<context>
<name>CustomToolChain</name>
<message>
<source>GCC</source>
@@ -12372,28 +13457,6 @@ Do you want to display them anyway?</source>
</message>
</context>
<context>
- <name>Cvs::Internal::CvsControl</name>
- <message>
- <source>&amp;Edit</source>
- <translation>&amp;Изменить</translation>
- </message>
- <message>
- <source>CVS Checkout</source>
- <translation>Извлечь из CVS</translation>
- </message>
-</context>
-<context>
- <name>Cvs::Internal::CvsDiffConfig</name>
- <message>
- <source>Ignore Whitespace</source>
- <translation>Игнорировать пробелы</translation>
- </message>
- <message>
- <source>Ignore Blank Lines</source>
- <translation>Игнорировать пустые строки</translation>
- </message>
-</context>
-<context>
<name>Cvs::Internal::CvsEditorWidget</name>
<message>
<source>Annotate revision &quot;%1&quot;</source>
@@ -12463,6 +13526,22 @@ Do you want to display them anyway?</source>
<translation>История текущего файла</translation>
</message>
<message>
+ <source>Ignore Whitespace</source>
+ <translation>Игнорировать пробелы</translation>
+ </message>
+ <message>
+ <source>Ignore Blank Lines</source>
+ <translation>Игнорировать пустые строки</translation>
+ </message>
+ <message>
+ <source>&amp;Edit</source>
+ <translation>&amp;Изменить</translation>
+ </message>
+ <message>
+ <source>CVS Checkout</source>
+ <translation>Извлечь из CVS</translation>
+ </message>
+ <message>
<source>Meta+C,Meta+D</source>
<translation>Meta+C,Meta+D</translation>
</message>
@@ -12665,10 +13744,6 @@ Do you want to display them anyway?</source>
<context>
<name>Cvs::Internal::SettingsPage</name>
<message>
- <source>CVS</source>
- <translation>CVS</translation>
- </message>
- <message>
<source>Configuration</source>
<translation>Настройка</translation>
</message>
@@ -12715,6 +13790,10 @@ Do you want to display them anyway?</source>
<source>CVS Command</source>
<translation>Команда CVS</translation>
</message>
+ <message>
+ <source>CVS</source>
+ <translation>CVS</translation>
+ </message>
</context>
<context>
<name>DebugMessagesModel</name>
@@ -12830,6 +13909,10 @@ Do you want to display them anyway?</source>
<extracomment>%1: Debugger engine type (GDB, LLDB, CDB...), %2: Path</extracomment>
<translation>Система %1 в %2</translation>
</message>
+ <message>
+ <source>Auto-detected uVision at %1</source>
+ <translation>Обнаруженный uVision в %1</translation>
+ </message>
</context>
<context>
<name>Debugger::DebuggerKitAspect</name>
@@ -13795,13 +14878,6 @@ If you build %2 from sources and want to use a CDB executable with another bitne
</message>
</context>
<context>
- <name>Debugger::Internal::CdbOptionsPage</name>
- <message>
- <source>CDB</source>
- <translation></translation>
- </message>
-</context>
-<context>
<name>Debugger::Internal::CdbOptionsPageWidget</name>
<message>
<source>Break on:</source>
@@ -13829,6 +14905,10 @@ If you build %2 from sources and want to use a CDB executable with another bitne
<translation>Полезно для отлова сообщений об ошибках создаваемых, например, assert().</translation>
</message>
<message>
+ <source>CDB</source>
+ <translation>CDB</translation>
+ </message>
+ <message>
<source>Various</source>
<translation>Разное</translation>
</message>
@@ -13862,13 +14942,6 @@ If you build %2 from sources and want to use a CDB executable with another bitne
</message>
</context>
<context>
- <name>Debugger::Internal::CdbPathsPage</name>
- <message>
- <source>CDB Paths</source>
- <translation>Пути CDB</translation>
- </message>
-</context>
-<context>
<name>Debugger::Internal::CdbPathsPageWidget</name>
<message>
<source>Symbol Paths</source>
@@ -13878,6 +14951,10 @@ If you build %2 from sources and want to use a CDB executable with another bitne
<source>Source Paths</source>
<translation>Пути к исходникам</translation>
</message>
+ <message>
+ <source>CDB Paths</source>
+ <translation>Пути CDB</translation>
+ </message>
</context>
<context>
<name>Debugger::Internal::CdbSymbolPathListEditor</name>
@@ -13907,7 +14984,7 @@ If you build %2 from sources and want to use a CDB executable with another bitne
</message>
</context>
<context>
- <name>Debugger::Internal::CommonOptionsPage</name>
+ <name>Debugger::Internal::CommonOptionsPageWidget</name>
<message>
<source>Behavior</source>
<translation>Поведение</translation>
@@ -13937,26 +15014,14 @@ If you build %2 from sources and want to use a CDB executable with another bitne
<translation>Закрывать временные обзоры кода при завершении отладки</translation>
</message>
<message>
- <source>Close temporary memory views on debugger exit</source>
- <translation>Закрывать временные обзоры памяти при завершении отладки</translation>
- </message>
- <message>
- <source>Bring %1 to foreground when application interrupts</source>
- <translation>Переходить в окно %1 при прерывании приложения</translation>
- </message>
- <message>
- <source>Registers %1 for debugging crashed applications.</source>
- <translation>Зарегистрировать %1 для отладки приложений, завершённых аварийно.</translation>
- </message>
- <message>
- <source>Use %1 for post-mortem debugging</source>
- <translation>Зарегистрировать %1 системным отладчиком</translation>
- </message>
- <message>
<source>Closes automatically opened source views when the debugger exits.</source>
<translation>Закрывает автоматически открытые обзоры исходников при завершении отладки.</translation>
</message>
<message>
+ <source>Close temporary memory views on debugger exit</source>
+ <translation>Закрывать временные обзоры памяти при завершении отладки</translation>
+ </message>
+ <message>
<source>Closes automatically opened memory views when the debugger exits.</source>
<translation>Закрывает автоматически открытые обзоры памяти при завершении отладки.</translation>
</message>
@@ -13965,6 +15030,10 @@ If you build %2 from sources and want to use a CDB executable with another bitne
<translation>Переключаться в предыдущий режим при завершении отладчика</translation>
</message>
<message>
+ <source>Bring %1 to foreground when application interrupts</source>
+ <translation>Переходить в окно %1 при прерывании приложения</translation>
+ </message>
+ <message>
<source>Shows QML object tree in Locals and Expressions when connected and not stepping.</source>
<translation>Показывать дерево объектов QML в окне «Переменные и выражения» при подключении, но не при пошаговой отладке.</translation>
</message>
@@ -13981,6 +15050,14 @@ If you build %2 from sources and want to use a CDB executable with another bitne
<translation>Задавать полный путь к точкам останова</translation>
</message>
<message>
+ <source>Registers %1 for debugging crashed applications.</source>
+ <translation>Зарегистрировать %1 для отладки приложений, завершённых аварийно.</translation>
+ </message>
+ <message>
+ <source>Use %1 for post-mortem debugging</source>
+ <translation>Зарегистрировать %1 системным отладчиком</translation>
+ </message>
+ <message>
<source>Warn when debugging &quot;Release&quot; builds</source>
<translation>Предупреждать при отладке «выпускаемых» сборок</translation>
</message>
@@ -14083,7 +15160,7 @@ If you build %2 from sources and want to use a CDB executable with another bitne
</message>
<message>
<source>Attempting to interrupt.</source>
- <translation>Попытка прервать.</translation>
+ <translation>Попытка приостановить.</translation>
</message>
<message>
<source>Stopped: &quot;%1&quot;.</source>
@@ -14160,7 +15237,7 @@ If you build %2 from sources and want to use a CDB executable with another bitne
</message>
<message>
<source>Interrupted.</source>
- <translation>Прервано.</translation>
+ <translation>Приостановлено.</translation>
</message>
<message>
<source>&lt;Unknown&gt;</source>
@@ -14303,7 +15380,7 @@ Setting breakpoints by file name and line number may fail.</source>
</message>
<message>
<source>Interrupt %1</source>
- <translation>Прервать %1</translation>
+ <translation>Приостановить %1</translation>
</message>
<message>
<source>Debugger finished.</source>
@@ -14315,11 +15392,11 @@ Setting breakpoints by file name and line number may fail.</source>
</message>
<message>
<source>Stop Debugger</source>
- <translation>Остановить отладчик</translation>
+ <translation>Завершить отладку</translation>
</message>
<message>
<source>Interrupt</source>
- <translation>Прервать</translation>
+ <translation>Приостановить</translation>
</message>
<message>
<source>Abort Debugging</source>
@@ -14468,6 +15545,10 @@ Setting breakpoints by file name and line number may fail.</source>
<context>
<name>Debugger::Internal::DebuggerPlugin</name>
<message>
+ <source>Show %1 Column</source>
+ <translation>Показать столбец %1</translation>
+ </message>
+ <message>
<source>Debug</source>
<translation>Отладка</translation>
</message>
@@ -14559,14 +15640,6 @@ Affected are breakpoints %1</source>
<source>Not enough free ports for QML debugging.</source>
<translation>Недостаточно свободных портов для отладки QML.</translation>
</message>
- <message>
- <source>Install &amp;Debug Information</source>
- <translation>Установить &amp;отладочную информацию</translation>
- </message>
- <message>
- <source>Tries to install missing debug information.</source>
- <translation>Попытка установить отсутствующую отладочную информацию.</translation>
- </message>
</context>
<context>
<name>Debugger::Internal::DebuggerPluginPrivate</name>
@@ -14576,7 +15649,7 @@ Affected are breakpoints %1</source>
</message>
<message>
<source>Interrupt</source>
- <translation>Прервать</translation>
+ <translation>Приостановить</translation>
</message>
<message>
<source>Abort Debugging</source>
@@ -14644,11 +15717,11 @@ Affected are breakpoints %1</source>
</message>
<message>
<source>Remove Breakpoint</source>
- <translation>Убрать точку останова</translation>
+ <translation>Удалить точку останова</translation>
</message>
<message>
<source>Disable Breakpoint</source>
- <translation>Выключить точку останова</translation>
+ <translation>Отключить точку останова</translation>
</message>
<message>
<source>Enable Breakpoint</source>
@@ -14708,7 +15781,8 @@ Affected are breakpoints %1</source>
</message>
<message>
<source>Interrupt Debugger</source>
- <translation>Прервать отладку</translation>
+ <translatorcomment>Это то, что выполняется при нажатии на кнопочку &quot;пауза&quot; в режиме отладки. Я не знаю, почему исходное сообщение Interrupt Debugger. При срабатывании будет послан сигнал SIGINT отладчику (обычная реакция на Ctrl-C или BREAK), что для него является командой остановить выполнение программы (фактически, он пересылает BREAK программе и перехватывает обработчик этого сигнала). Таким образом, только знакомый с внутренним устройством отладчиков может интуитивно понять значение этой операции.</translatorcomment>
+ <translation>Приостановить программу</translation>
</message>
<message>
<source>Reset Debugger</source>
@@ -14716,7 +15790,7 @@ Affected are breakpoints %1</source>
</message>
<message>
<source>Warning</source>
- <translation>Внимание</translation>
+ <translation>Предупреждение</translation>
</message>
<message>
<source>Process %1</source>
@@ -15033,14 +16107,6 @@ Affected are breakpoints %1</source>
<translation>&lt;p&gt;Включает на время отладки всплывающие подсказки в обзоре стека.</translation>
</message>
<message>
- <source>&lt;p&gt;Checking this will show a column with address information in the breakpoint view during debugging.</source>
- <translation>&lt;p&gt;Включает на время отладки отображение столбца с информацией об адресе в обзоре точек останова.</translation>
- </message>
- <message>
- <source>&lt;p&gt;Checking this will show a column with address information in the stack view during debugging.</source>
- <translation>&lt;p&gt;Включает на время отладки столбец с информацией об адресе в обзоре стека.</translation>
- </message>
- <message>
<source>&lt;p&gt;The maximum length of string entries in the Locals and Expressions pane. Longer than that are cut off and displayed with an ellipsis attached.</source>
<translation>&lt;p&gt;Максимальная длина строковых значений в обзоре переменных и выражений. Более длинные строки обрезаются и завершаются многоточием.</translation>
</message>
@@ -15144,14 +16210,6 @@ Affected are breakpoints %1</source>
<source>Use Tooltips in Breakpoints View when Debugging</source>
<translation>Подсказки в обзоре точек останова при отладке</translation>
</message>
- <message>
- <source>Show Address Data in Breakpoints View when Debugging</source>
- <translation>Показывать адрес в обзоре точек останова при отладке</translation>
- </message>
- <message>
- <source>Show Address Data in Stack View when Debugging</source>
- <translation>Показывать адрес в обзоре стека при отладке</translation>
- </message>
</context>
<context>
<name>Debugger::Internal::DebuggerSourcePathMappingWidget</name>
@@ -15286,12 +16344,6 @@ Affected are breakpoints %1</source>
<translation>Чтение %1...</translation>
</message>
<message>
- <source>Missing debug information for %1
-Try: %2</source>
- <translation>У %1 отсутствует отладочная информация
-Попробуйте: %2</translation>
- </message>
- <message>
<source>The gdb process failed to start.</source>
<translation>Не удалось запустить процесс gdb.</translation>
</message>
@@ -15511,7 +16563,7 @@ You can choose between waiting longer or aborting debugging.</source>
</message>
<message>
<source>Interrupting not possible.</source>
- <translation>Прерывание невозможно.</translation>
+ <translation>Приостанов невозможен.</translation>
</message>
<message>
<source>Symbols found.</source>
@@ -15735,12 +16787,8 @@ markers in the source code editor.</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;По умолчанию GDB дизассемблирует в стиле AT&amp;&amp;T.&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
- <source>Create tasks from missing packages</source>
- <translation>Создавать задачи из отсутствующих пакетов</translation>
- </message>
- <message>
- <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Attempts to identify missing debug info packages and lists them in the Issues output pane.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This feature needs special support from the Linux distribution and GDB build and is not available everywhere.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Qt Creator пытается определить пакеты с отсутствующей отладочной информацией и отобразить в окне проблем.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Внимание:&lt;/b&gt;Эта особенность требует специальной поддержки со стороны дистрибутива Linux и сборки GDB, поэтому она не везде доступна.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ <source>GDB Extended</source>
+ <translation>Расширенные настройки GDB</translation>
</message>
<message>
<source>&lt;p&gt;To execute simple Python commands, prefix them with &quot;python&quot;.&lt;/p&gt;&lt;p&gt;To execute sequences of Python commands spanning multiple lines prepend the block with &quot;python&quot; on a separate line, and append &quot;end&quot; on a separate line.&lt;/p&gt;&lt;p&gt;To execute arbitrary Python scripts, use &lt;i&gt;python execfile(&apos;/path/to/script.py&apos;)&lt;/i&gt;.&lt;/p&gt;</source>
@@ -15821,13 +16869,6 @@ In this case, the value should be increased.</source>
</message>
</context>
<context>
- <name>Debugger::Internal::GdbOptionsPage2</name>
- <message>
- <source>GDB Extended</source>
- <translation>GDB, расширенные</translation>
- </message>
-</context>
-<context>
<name>Debugger::Internal::GlobalLogWindow</name>
<message>
<source>Global Debugger &amp;Log</source>
@@ -15857,7 +16898,7 @@ In this case, the value should be increased.</source>
</message>
<message>
<source>Interrupt requested...</source>
- <translation>Потребовано прерывание...</translation>
+ <translation>Затребован приостанов...</translation>
</message>
<message>
<source>LLDB I/O Error</source>
@@ -16546,6 +17587,22 @@ Do you want to retry?</source>
<translation>Сценарий &amp;запуска сервера:</translation>
</message>
<message>
+ <source>This option can be used to send the target init commands.</source>
+ <translation>Эта настройка используется для отправки цели команд инициализации.</translation>
+ </message>
+ <message>
+ <source>&amp;Init commands:</source>
+ <translation>Команды &amp;инициализации:</translation>
+ </message>
+ <message>
+ <source>This option can be used to send the target reset commands.</source>
+ <translation>Эта настройка используется для отправки цели команд сброса.</translation>
+ </message>
+ <message>
+ <source>&amp;Reset commands:</source>
+ <translation>Команды с&amp;броса:</translation>
+ </message>
+ <message>
<source>Base path for external debug information and debug sources. If empty, $SYSROOT/usr/lib/debug will be chosen.</source>
<translation>Путь к внешней отладочной информации и исходникам. Если оставить пустым, то будет использоваться $SYSROOT/usr/lib/debug.</translation>
</message>
@@ -16578,6 +17635,10 @@ Do you want to retry?</source>
<translation>Отладочная &amp;информация:</translation>
</message>
<message>
+ <source>Attach to %1</source>
+ <translation>Подключение к %1</translation>
+ </message>
+ <message>
<source>Normally, the running server is identified by the IP of the device in the kit and the server port selected above.
You can choose another communication channel here, such as a serial line or custom ip:port.</source>
<translation>Обычно работающий сервер определяется по IP устройства в комплекте и порту сервера, выбранному выше.
@@ -16834,6 +17895,168 @@ You can choose another communication channel here, such as a serial line or cust
</message>
</context>
<context>
+ <name>Debugger::Internal::UvscClient</name>
+ <message>
+ <source>%1.%2</source>
+ <translation>%1,%2</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Неизвестная ошибка</translation>
+ </message>
+ <message>
+ <source>Connection is not open</source>
+ <translation>Подключение не открыто</translation>
+ </message>
+</context>
+<context>
+ <name>Debugger::Internal::UvscEngine</name>
+ <message>
+ <source>Internal error: Invalid TCP/IP port specified %1.</source>
+ <translation>Внутренняя ошибка: указан недопустимый порт TCP/IP %1.</translation>
+ </message>
+ <message>
+ <source>Internal error: No uVision executable specified.</source>
+ <translation>Внутренняя ошибка: программа uVision не указана.</translation>
+ </message>
+ <message>
+ <source>Internal error: The specified uVision executable does not exist.</source>
+ <translation>Внутренняя ошибка: указанная программа uVision отсутствует.</translation>
+ </message>
+ <message>
+ <source>Internal error: Cannot resolve the library: %1.</source>
+ <translation>Внутренняя ошибка: не удалось разрешить библиотеку: %1.</translation>
+ </message>
+ <message>
+ <source>UVSC Version: %1, UVSOCK Version: %2.</source>
+ <translation>Версия UVSC: %1, версия UVSOCK: %2.</translation>
+ </message>
+ <message>
+ <source>Internal error: Cannot open the session: %1.</source>
+ <translation>Внутренняя ошибка: не удалось открыть сессию: %1.</translation>
+ </message>
+ <message>
+ <source>Internal error: Failed to start the debugger: %1</source>
+ <translation>Внутренняя ошибка: не удалось запустить отладчик: %1</translation>
+ </message>
+ <message>
+ <source>Application started.</source>
+ <translation>Приложение запущено.</translation>
+ </message>
+ <message>
+ <source>Setting breakpoints...</source>
+ <translation>Установка точек останова...</translation>
+ </message>
+ <message>
+ <source>Failed to Shut Down Application</source>
+ <translation>Не удалось закрыть приложение</translation>
+ </message>
+ <message>
+ <source>Running requested...</source>
+ <translation>Затребован запуск...</translation>
+ </message>
+ <message>
+ <source>UVSC: Starting execution failed.</source>
+ <translation>UVSC: не удалось запустить.</translation>
+ </message>
+ <message>
+ <source>UVSC: Stopping execution failed.</source>
+ <translation>UVSC: не удалось остановить.</translation>
+ </message>
+ <message>
+ <source>UVSC: Setting local value failed.</source>
+ <translation>UVSC: не удалось задать локальное значение.</translation>
+ </message>
+ <message>
+ <source>UVSC: Setting watcher value failed.</source>
+ <translation>UVSC: не удалось задать значение наблюдаемой переменной.</translation>
+ </message>
+ <message>
+ <source>UVSC: Disassembling by address failed.</source>
+ <translation>UVSC: не удалось дизассемблировать с адреса.</translation>
+ </message>
+ <message>
+ <source>Internal error: The specified uVision project options file does not exist.</source>
+ <translation>Внутренняя ошибка: отсутствует указанный файл настроек проекта uVision.</translation>
+ </message>
+ <message>
+ <source>Internal error: The specified uVision project file does not exist.</source>
+ <translation>Внутренняя ошибка: отсутствует указанный файл проекта uVision.</translation>
+ </message>
+ <message>
+ <source>Internal error: Unable to open the uVision project %1: %2.</source>
+ <translation>Внутренняя ошибка: не удалось открыть проект uVision %1: %2.</translation>
+ </message>
+ <message>
+ <source>Internal error: Unable to set the uVision debug target: %1.</source>
+ <translation>Внутренняя ошибка: не удалось задать цель отладки uVision: %1.</translation>
+ </message>
+ <message>
+ <source>Internal error: The specified output file does not exist.</source>
+ <translation>Внутренняя ошибка: отсутствует указанная выходной файл.</translation>
+ </message>
+ <message>
+ <source>Internal error: Unable to set the uVision output file %1: %2.</source>
+ <translation>Внутренняя ошибка: не удалось задать выходной файл uVision %1: %2.</translation>
+ </message>
+ <message>
+ <source>UVSC: Reading registers failed.</source>
+ <translation>UVSC: не удалось прочитать регистры.</translation>
+ </message>
+ <message>
+ <source>UVSC: Locals enumeration failed.</source>
+ <translation>UVSC: не удалось получить список локальных переменных.</translation>
+ </message>
+ <message>
+ <source>UVSC: Watchers enumeration failed.</source>
+ <translation>UVSC: не удалось получить список наблюдаемых переменных.</translation>
+ </message>
+ <message>
+ <source>UVSC: Inserting breakpoint failed.</source>
+ <translation>UVSC: не удалось установить точку останова.</translation>
+ </message>
+ <message>
+ <source>UVSC: Removing breakpoint failed.</source>
+ <translation>UVSC: не удалось удалить точку останова.</translation>
+ </message>
+ <message>
+ <source>UVSC: Enabling breakpoint failed.</source>
+ <translation>UVSC: не удалось включить точку останова.</translation>
+ </message>
+ <message>
+ <source>UVSC: Disabling breakpoint failed.</source>
+ <translation>UVSC: не удалось выключить точку останова.</translation>
+ </message>
+ <message>
+ <source>Failed to initialize the UVSC.</source>
+ <translation>Не удалось инициализировать UVSC.</translation>
+ </message>
+ <message>
+ <source>Failed to de-initialize the UVSC.</source>
+ <translation>Не удалось деинициализировать UVSC.</translation>
+ </message>
+ <message>
+ <source>Failed to run the UVSC.</source>
+ <translation>Не удалось запустить UVSC.</translation>
+ </message>
+ <message>
+ <source>Execution Error</source>
+ <translation>Ошибка выполнения</translation>
+ </message>
+ <message>
+ <source>Cannot continue debugged process:
+</source>
+ <translation>Не удалось продолжить отлаживаемый процесс:
+</translation>
+ </message>
+ <message>
+ <source>Cannot stop debugged process:
+</source>
+ <translation>Не удалось остановить отлаживаемый процесс:
+</translation>
+ </message>
+</context>
+<context>
<name>Debugger::Internal::WatchHandler</name>
<message>
<source>Expression</source>
@@ -17270,6 +18493,14 @@ You can choose another communication channel here, such as a serial line or cust
<translation>Сменить отображение для типа «%1»:</translation>
</message>
<message>
+ <source>Change Display Format for Selected Values</source>
+ <translation>Формат отображения выбранных значений</translation>
+ </message>
+ <message>
+ <source>Change Display for Objects</source>
+ <translation>Форма отображения объектов</translation>
+ </message>
+ <message>
<source>Normal</source>
<translation>Обычный</translation>
</message>
@@ -17517,12 +18748,12 @@ Stepping into the module or setting breakpoints by file and line is expected to
<context>
<name>DesignTools::CurveEditor</name>
<message>
- <source>Value</source>
- <translation>Значение</translation>
+ <source>Start Frame</source>
+ <translation>Начальный кадр</translation>
</message>
<message>
- <source>Duration</source>
- <translation>Продолжительность</translation>
+ <source>End Frame</source>
+ <translation>Конечный кадр</translation>
</message>
<message>
<source>Current Frame</source>
@@ -17539,6 +18770,10 @@ Stepping into the module or setting breakpoints by file and line is expected to
<source>Insert Keyframe</source>
<translation>Вставить ключевой кадр</translation>
</message>
+ <message>
+ <source>Delete Selected Keyframes</source>
+ <translation>Удалить выбранные ключевые кадры</translation>
+ </message>
</context>
<context>
<name>Designer</name>
@@ -17628,6 +18863,73 @@ Rebuilding the project might help.</source>
</message>
</context>
<context>
+ <name>Designer::Internal::NewClassWidget</name>
+ <message>
+ <source>&amp;Class name:</source>
+ <translation>&amp;Имя класса:</translation>
+ </message>
+ <message>
+ <source>&amp;Base class:</source>
+ <translation>&amp;Базовый класс:</translation>
+ </message>
+ <message>
+ <source>&amp;Type information:</source>
+ <translation>Информация о &amp;типе:</translation>
+ </message>
+ <message>
+ <source>None</source>
+ <translation>Нет</translation>
+ </message>
+ <message>
+ <source>Inherits QObject</source>
+ <translation>Производный от QObject</translation>
+ </message>
+ <message>
+ <source>Inherits QWidget</source>
+ <translation>Производный от QWidget</translation>
+ </message>
+ <message>
+ <source>Inherits QDeclarativeItem - Qt Quick 1</source>
+ <translation>Производный от QDeclarativeItem - Qt Quick 1</translation>
+ </message>
+ <message>
+ <source>Inherits QQuickItem - Qt Quick 2</source>
+ <translation>Производный от QQuickItem - Qt Quick 2</translation>
+ </message>
+ <message>
+ <source>Based on QSharedData</source>
+ <translation>Основан на QSharedData</translation>
+ </message>
+ <message>
+ <source>&amp;Header file:</source>
+ <translation>&amp;Заголовочный файл:</translation>
+ </message>
+ <message>
+ <source>&amp;Source file:</source>
+ <translation>&amp;Файл исходников:</translation>
+ </message>
+ <message>
+ <source>&amp;Form file:</source>
+ <translation>Ф&amp;айл формы:</translation>
+ </message>
+ <message>
+ <source>&amp;Path:</source>
+ <translation>&amp;Путь:</translation>
+ </message>
+ <message>
+ <source>Invalid header file name: &quot;%1&quot;</source>
+ <translation>Недопустимое имя заголовочного файла: «%1»</translation>
+ </message>
+ <message>
+ <source>Invalid source file name: &quot;%1&quot;</source>
+ <translation>Недопустимое имя файла исходников: «%1»</translation>
+ </message>
+ <message>
+ <source>Invalid form file name: &quot;%1&quot;</source>
+ <translation>Недопустимое имя файла формы: «%1»</translation>
+ </message>
+</context>
+<context>
<name>Designer::Internal::QtCreatorIntegration</name>
<message>
<source>The class containing &quot;%1&quot; could not be found in %2.
@@ -18045,6 +19347,13 @@ Rebuilding the project might help.</source>
</message>
</context>
<context>
+ <name>EditLightToggleAction</name>
+ <message>
+ <source>Toggle Edit Light On/Off</source>
+ <translation>Включение/отключение света в редакторе</translation>
+ </message>
+</context>
+<context>
<name>EditorSettingsPanelFactory</name>
<message>
<source>Editor</source>
@@ -18146,6 +19455,13 @@ Rebuilding the project might help.</source>
</message>
</context>
<context>
+ <name>EnvironmentPanelFactory</name>
+ <message>
+ <source>Environment</source>
+ <translation>Среда</translation>
+ </message>
+</context>
+<context>
<name>ExtendedFunctionButton</name>
<message>
<source>Reset</source>
@@ -18266,6 +19582,41 @@ Rebuilding the project might help.</source>
</message>
</context>
<context>
+ <name>ExtensionSystem::Internal::PluginManagerPrivate</name>
+ <message>
+ <source>%1 &gt; About Plugins</source>
+ <translation>%1 &gt; О модулях</translation>
+ </message>
+ <message>
+ <source>Help &gt; About Plugins</source>
+ <translation>Справка &gt; О модулях</translation>
+ </message>
+ <message>
+ <source>The following plugins depend on %1 and are also disabled: %2.
+
+</source>
+ <translation>Следующие модули, зависящие от %1, также отключены: %2.
+
+</translation>
+ </message>
+ <message>
+ <source>Disable plugins permanently in %1.</source>
+ <translation>Отключите модули в %1.</translation>
+ </message>
+ <message>
+ <source>It looks like %1 closed because of a problem with the &quot;%2&quot; plugin. Temporarily disable the plugin?</source>
+ <translation>Похоже, %1 закрылся из-за проблемы с модулем «%2». Отключить его временно?</translation>
+ </message>
+ <message>
+ <source>Disable Plugin</source>
+ <translation>Отключить модуль</translation>
+ </message>
+ <message>
+ <source>Continue</source>
+ <translation>Продолжить</translation>
+ </message>
+</context>
+<context>
<name>ExtensionSystem::Internal::PluginSpecPrivate</name>
<message>
<source>Plugin meta data not found</source>
@@ -18961,7 +20312,7 @@ will also disable the following plugins:
</message>
<message>
<source>Default editor:</source>
- <translation>Редактор по-умолчанию:</translation>
+ <translation>Редактор по умолчанию:</translation>
</message>
<message>
<source>Undefined</source>
@@ -18987,6 +20338,13 @@ will also disable the following plugins:
</message>
</context>
<context>
+ <name>FitToViewAction</name>
+ <message>
+ <source>Fit Selected Object to View</source>
+ <translation>Растянуть выбранный объект на вид</translation>
+ </message>
+</context>
+<context>
<name>FlameGraphView</name>
<message>
<source>others</source>
@@ -19346,21 +20704,6 @@ See also Google Test settings.</source>
</message>
</context>
<context>
- <name>GenerateResource</name>
- <message>
- <source>Generate Resource File</source>
- <translation>Создать файл ресурсов</translation>
- </message>
- <message>
- <source>Save Project As Resource</source>
- <translation>Сохранить проект как ресурс</translation>
- </message>
- <message>
- <source>QML Resource File (*.qmlrc)</source>
- <translation>Файл ресурсов QML (*.qmlrc)</translation>
- </message>
-</context>
-<context>
<name>GenericProjectManager::Internal::FilesSelectionWizardPage</name>
<message>
<source>Files</source>
@@ -19375,15 +20718,10 @@ See also Google Test settings.</source>
</message>
</context>
<context>
- <name>GenericProjectManager::Internal::GenericBuildConfigurationFactory</name>
- <message>
- <source>Default</source>
- <extracomment>The name of the build configuration created by default for a generic project.</extracomment>
- <translation>По умолчанию</translation>
- </message>
+ <name>GenericProjectManager::Internal::GenericProject</name>
<message>
- <source>Build</source>
- <translation>Сборка</translation>
+ <source>Project files list update failed.</source>
+ <translation>Не удалось обновить список файлов проекта.</translation>
</message>
</context>
<context>
@@ -19396,10 +20734,6 @@ See also Google Test settings.</source>
<source>Remove Directory</source>
<translation>Внешний каталог</translation>
</message>
- <message>
- <source>Project files list update failed.</source>
- <translation>Не удалось обновить список файлов проекта.</translation>
- </message>
</context>
<context>
<name>GenericProjectManager::Internal::GenericProjectWizard</name>
@@ -19880,6 +21214,25 @@ Would you like to terminate it?</source>
</message>
</context>
<context>
+ <name>Git::Internal::BaseGitLogArgumentsWidget</name>
+ <message>
+ <source>Diff</source>
+ <translation>Сравнить</translation>
+ </message>
+ <message>
+ <source>Show difference.</source>
+ <translation>Показать изменения.</translation>
+ </message>
+ <message>
+ <source>Filter</source>
+ <translation>Фильтровать</translation>
+ </message>
+ <message>
+ <source>Filter commits by message or content.</source>
+ <translation>Отбирать фиксации по сообщению или содержимому.</translation>
+ </message>
+</context>
+<context>
<name>Git::Internal::BranchAddDialog</name>
<message>
<source>Branch Name:</source>
@@ -20019,6 +21372,10 @@ Would you like to terminate it?</source>
<translation>&amp;Получить (fetch)</translation>
</message>
<message>
+ <source>Remove &amp;Stale Branches</source>
+ <translation>Удалить стар&amp;ые ветки</translation>
+ </message>
+ <message>
<source>Manage &amp;Remotes...</source>
<translation>Управление &amp;хранилищами...</translation>
</message>
@@ -20043,6 +21400,10 @@ Would you like to terminate it?</source>
<translation>Истори&amp;я</translation>
</message>
<message>
+ <source>Reflo&amp;g</source>
+ <translation>История сс&amp;ылок (reflog)</translation>
+ </message>
+ <message>
<source>Re&amp;set</source>
<translation>С&amp;бросить</translation>
</message>
@@ -20275,8 +21636,8 @@ Would you like to terminate it?</source>
<translation>Определять перемещения и копирования между файлами</translation>
</message>
<message>
- <source>Reload</source>
- <translation>Перезагрузить</translation>
+ <source>Move detection</source>
+ <translation>Определение перемещений</translation>
</message>
<message>
<source>Ignore Whitespace</source>
@@ -20603,6 +21964,22 @@ Commit now?</source>
<source>Cannot retrieve last commit data of repository &quot;%1&quot;.</source>
<translation>Не удалось получить данные последней фиксации хранилища «%1».</translation>
</message>
+ <message numerus="yes">
+ <source>Stage Selection (%n Lines)</source>
+ <translation>
+ <numerusform>Добавить выбранное в индекс (%n строка)</numerusform>
+ <numerusform>Добавить выбранное в индекс (%n строки)</numerusform>
+ <numerusform>Добавить выбранное в индекс (%n строк)</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>Unstage Selection (%n Lines)</source>
+ <translation>
+ <numerusform>Убрать выбранное из индекса (%n строка)</numerusform>
+ <numerusform>Убрать выбранное из индекса (%n строки)</numerusform>
+ <numerusform>Убрать выбранное из индекса (%n строк)</numerusform>
+ </translation>
+ </message>
<message>
<source>Tarball (*.tar.gz)</source>
<translation>Тарбол (*.tar.gz)</translation>
@@ -20672,6 +22049,18 @@ Commit now?</source>
<translation>Не удалось передать. Попробовать принудительную отправку &lt;span style=&quot;color:#%1&quot;&gt;(перезапишет историю внешнего хранилища)&lt;/span&gt;?</translation>
</message>
<message>
+ <source>No Upstream Branch</source>
+ <translation>Нет внешней ветки</translation>
+ </message>
+ <message>
+ <source>Push failed because the local branch &quot;%1&quot; does not have an upstream branch on the remote.
+
+Would you like to create the branch &quot;%1&quot; on the remote and set it as upstream?</source>
+ <translation>Не удалось отправить, локальная ветка «%1» не имеет соответствующей внешней ветки.
+
+Создать ветку «%1» во внешнем хранилище и сделать её соответствующей локальной?</translation>
+ </message>
+ <message>
<source>Rebase, merge or am is in progress. Finish or abort it and then try again.</source>
<translation>Уже выполняется перебазирование или объединение. Завершите или отмените эту операцию и попробуйте снова.</translation>
</message>
@@ -20711,36 +22100,6 @@ Commit now?</source>
<source>Discard</source>
<translation>Отменить</translation>
</message>
-</context>
-<context>
- <name>Git::Internal::GitDiffEditorController</name>
- <message>
- <source>&lt;None&gt;</source>
- <translation>&lt;Нет&gt;</translation>
- </message>
-</context>
-<context>
- <name>Git::Internal::GitEditorWidget</name>
- <message>
- <source>&amp;Blame %1</source>
- <translation>&amp;Аннотация %1</translation>
- </message>
- <message>
- <source>Blame &amp;Parent Revision %1</source>
- <translation>Аннотация &amp;родительской ревизии %1</translation>
- </message>
- <message>
- <source>Chunk successfully staged</source>
- <translation>Фрагмент успешно применён</translation>
- </message>
- <message>
- <source>Stage Chunk...</source>
- <translation>Применить фрагмент...</translation>
- </message>
- <message>
- <source>Unstage Chunk...</source>
- <translation>Отменить фрагмент...</translation>
- </message>
<message>
<source>Cherr&amp;y-Pick Change %1</source>
<translation>&amp;Внести изменение %1</translation>
@@ -20754,6 +22113,10 @@ Commit now?</source>
<translation>&amp;Перейти к изменению %1</translation>
</message>
<message>
+ <source>&amp;Interactive Rebase from Change %1...</source>
+ <translation>&amp;Интерактивное перебазирование с изменения %1...</translation>
+ </message>
+ <message>
<source>&amp;Log for Change %1</source>
<translation>&amp;Журнал изменения %1</translation>
</message>
@@ -20767,7 +22130,7 @@ Commit now?</source>
</message>
<message>
<source>&amp;Hard</source>
- <translation>Жё&amp;стко (--hard)</translation>
+ <translation>Жё&amp;стко</translation>
</message>
<message>
<source>&amp;Mixed</source>
@@ -20775,20 +22138,42 @@ Commit now?</source>
</message>
<message>
<source>&amp;Soft</source>
- <translation>М&amp;ягко (--soft)</translation>
+ <translation>&amp;Мягко</translation>
</message>
</context>
<context>
- <name>Git::Internal::GitLogArgumentsWidget</name>
+ <name>Git::Internal::GitDiffEditorController</name>
<message>
- <source>Show Diff</source>
- <translation>Показать изменения</translation>
+ <source>&lt;None&gt;</source>
+ <translation>&lt;Нет&gt;</translation>
</message>
+</context>
+<context>
+ <name>Git::Internal::GitEditorWidget</name>
<message>
- <source>Show difference.</source>
- <translation>Показать изменения.</translation>
+ <source>&amp;Blame %1</source>
+ <translation>&amp;Аннотация %1</translation>
+ </message>
+ <message>
+ <source>Blame &amp;Parent Revision %1</source>
+ <translation>Аннотация &amp;родительской ревизии %1</translation>
</message>
<message>
+ <source>Chunk successfully staged</source>
+ <translation>Фрагмент успешно применён</translation>
+ </message>
+ <message>
+ <source>Stage Chunk...</source>
+ <translation>Применить фрагмент...</translation>
+ </message>
+ <message>
+ <source>Unstage Chunk...</source>
+ <translation>Отменить фрагмент...</translation>
+ </message>
+</context>
+<context>
+ <name>Git::Internal::GitLogArgumentsWidget</name>
+ <message>
<source>First Parent</source>
<translation>Первый родитель</translation>
</message>
@@ -20812,144 +22197,182 @@ Commit now?</source>
<source>Show log also for previous names of the file.</source>
<translation>Показывать историю до переименования файла.</translation>
</message>
- <message>
- <source>Reload</source>
- <translation>Перезагрузить</translation>
- </message>
</context>
<context>
- <name>Git::Internal::GitPlugin</name>
+ <name>Git::Internal::GitLogFilterWidget</name>
<message>
- <source>&amp;Git</source>
- <translation>&amp;Git</translation>
+ <source>Filter by message</source>
+ <translation>Отбор по сообщению</translation>
</message>
<message>
- <source>Diff Current File</source>
- <translation>Сравнить текущий файл</translation>
+ <source>Filter log entries by text in the commit message.</source>
+ <translation>Отбор записей журнала по сообщению фиксации.</translation>
</message>
<message>
- <source>Alt+G,Alt+D</source>
- <translation></translation>
+ <source>Filter by content</source>
+ <translation>Отбор по содержимому</translation>
</message>
<message>
- <source>Log of &quot;%1&quot;</source>
- <translation>История «%1»</translation>
+ <source>Filter log entries by added or removed string.</source>
+ <translation>Отбор записей журнала по добавленной/удалённой строке.</translation>
</message>
<message>
- <source>Alt+G,Alt+L</source>
- <translation></translation>
+ <source>Filter:</source>
+ <translation>Фильтр:</translation>
</message>
<message>
- <source>Blame for &quot;%1&quot;</source>
- <translation>Аннотация для «%1» (Blame)</translation>
+ <source>Case Sensitive</source>
+ <translation>Учитывать регистр</translation>
</message>
+</context>
+<context>
+ <name>Git::Internal::GitPlugin</name>
<message>
- <source>Alt+G,Alt+B</source>
- <translation></translation>
+ <source>&lt;No repository&gt;</source>
+ <translation>&lt;Нет хранилища&gt;</translation>
</message>
<message>
- <source>Alt+G,Alt+U</source>
- <translation></translation>
+ <source>Repository: %1</source>
+ <translation>Хранилище: %1</translation>
</message>
+</context>
+<context>
+ <name>Git::Internal::GitPluginPrivate</name>
<message>
- <source>Stage File for Commit</source>
- <translation>Подготовить файл к фиксации (stage)</translation>
+ <source>&amp;Copy &quot;%1&quot;</source>
+ <translation>&amp;Копировать «%1»</translation>
</message>
<message>
- <source>Blame Current File</source>
- <translation>Аннотация текущего файла (blame)</translation>
+ <source>&amp;Describe Change %1</source>
+ <translation>&amp;Описать изменение %1</translation>
</message>
<message>
- <source>Meta+G,Meta+B</source>
- <translation>Meta+G,Meta+B</translation>
+ <source>Git Settings</source>
+ <translation>Настройки Git</translation>
</message>
<message>
- <source>Diff of &quot;%1&quot;</source>
- <translation>Изменения «%1»</translation>
+ <source>&amp;Git</source>
+ <translation>&amp;Git</translation>
</message>
<message>
<source>Current &amp;File</source>
<translation>Тек&amp;ущий файл</translation>
</message>
<message>
+ <source>Diff Current File</source>
+ <translation>Сравнить текущий файл</translation>
+ </message>
+ <message>
+ <source>Diff of &quot;%1&quot;</source>
+ <translation>Изменения «%1»</translation>
+ </message>
+ <message>
<source>Meta+G,Meta+D</source>
<translation>Meta+G,Meta+D</translation>
</message>
<message>
+ <source>Alt+G,Alt+D</source>
+ <translation>Alt+G,Alt+D</translation>
+ </message>
+ <message>
<source>Log Current File</source>
<translation>История текущего файла</translation>
</message>
<message>
+ <source>Log of &quot;%1&quot;</source>
+ <translation>История «%1»</translation>
+ </message>
+ <message>
<source>Meta+G,Meta+L</source>
<translation>Meta+G,Meta+L</translation>
</message>
<message>
- <source>Stage &quot;%1&quot; for Commit</source>
- <translation>Подготовить «%1» к фиксации (stage)</translation>
+ <source>Alt+G,Alt+L</source>
+ <translation>Alt+G,Alt+L</translation>
</message>
<message>
- <source>Alt+G,Alt+A</source>
- <translation></translation>
+ <source>Blame Current File</source>
+ <translation>Аннотация текущего файла (blame)</translation>
+ </message>
+ <message>
+ <source>Blame for &quot;%1&quot;</source>
+ <translation>Аннотация для «%1» (Blame)</translation>
+ </message>
+ <message>
+ <source>Meta+G,Meta+B</source>
+ <translation>Meta+G,Meta+B</translation>
+ </message>
+ <message>
+ <source>Alt+G,Alt+B</source>
+ <translation>Alt+G,Alt+B</translation>
+ </message>
+ <message>
+ <source>Stage File for Commit</source>
+ <translation>Добавить файл в индекс (stage)</translation>
+ </message>
+ <message>
+ <source>Stage &quot;%1&quot; for Commit</source>
+ <translation>Добавить «%1» в индекс (stage)</translation>
</message>
<message>
<source>Meta+G,Meta+A</source>
<translation>Meta+G,Meta+A</translation>
</message>
<message>
- <source>Unstage File from Commit</source>
- <translation>Не фиксировать файл (unstage)</translation>
+ <source>Alt+G,Alt+A</source>
+ <translation>Alt+G,Alt+A</translation>
</message>
<message>
- <source>Unstage &quot;%1&quot; from Commit</source>
- <translation>Не фиксировать «%1» (unstage)</translation>
+ <source>Unstage File from Commit</source>
+ <translation>Убрать файл из индекса (unstage)</translation>
</message>
<message>
- <source>Meta+G,Meta+U</source>
- <translation>Meta+G,Meta+U</translation>
+ <source>Unstage &quot;%1&quot; from Commit</source>
+ <translation>Убрать «%1» из индекса (unstage)</translation>
</message>
<message>
- <source>Current &amp;Project</source>
- <translation>Текущий про&amp;ект</translation>
+ <source>Undo Unstaged Changes</source>
+ <translation>Отменить неиндексированные изменения</translation>
</message>
<message>
- <source>Diff Current Project</source>
- <translation>Сравнить текущий проект</translation>
+ <source>Undo Unstaged Changes for &quot;%1&quot;</source>
+ <translation>Отменить неиндексированные изменения «%1»</translation>
</message>
<message>
- <source>Diff Project &quot;%1&quot;</source>
- <translation>Сравнить проект «%1»</translation>
+ <source>Undo Uncommitted Changes</source>
+ <translation>Отменить незафиксированные изменения</translation>
</message>
<message>
- <source>Alt+G,Alt+Shift+D</source>
- <translation>Alt+G,Alt+Shift+D</translation>
+ <source>Undo Uncommitted Changes for &quot;%1&quot;</source>
+ <translation>Отменить незафиксированные изменения «%1»</translation>
</message>
<message>
- <source>Meta+G,Meta+Shift+D</source>
- <translation>Meta+G,Meta+Shift+D</translation>
+ <source>Meta+G,Meta+U</source>
+ <translation>Meta+G,Meta+U</translation>
</message>
<message>
- <source>Meta+G,Meta+K</source>
- <translation>Meta+G,Meta+K</translation>
+ <source>Alt+G,Alt+U</source>
+ <translation>Alt+G,Alt+U</translation>
</message>
<message>
- <source>&amp;Local Repository</source>
- <translation>&amp;Локальное хранилище</translation>
+ <source>Current &amp;Project</source>
+ <translation>Текущий про&amp;ект</translation>
</message>
<message>
- <source>Fixup Previous Commit...</source>
- <translation>Исправить предыдущую фиксацию...</translation>
+ <source>Diff Current Project</source>
+ <translation>Сравнить текущий проект</translation>
</message>
<message>
- <source>Reset...</source>
- <translation>Откатить (reset)...</translation>
+ <source>Diff Project &quot;%1&quot;</source>
+ <translation>Сравнить проект «%1»</translation>
</message>
<message>
- <source>Stashes...</source>
- <translation>Спрятанное (stashes)...</translation>
+ <source>Meta+G,Meta+Shift+D</source>
+ <translation>Meta+G,Meta+Shift+D</translation>
</message>
<message>
- <source>Meta+G,Meta+C</source>
- <translation>Meta+G,Meta+C</translation>
+ <source>Alt+G,Alt+Shift+D</source>
+ <translation>Alt+G,Alt+Shift+D</translation>
</message>
<message>
<source>Log Project</source>
@@ -20960,64 +22383,72 @@ Commit now?</source>
<translation>История проекта «%1»</translation>
</message>
<message>
+ <source>Meta+G,Meta+K</source>
+ <translation>Meta+G,Meta+K</translation>
+ </message>
+ <message>
<source>Alt+G,Alt+K</source>
- <translation></translation>
+ <translation>Alt+G,Alt+K</translation>
</message>
<message>
- <source>Diff</source>
- <translation>Сравнить (diff)</translation>
+ <source>Clean Project...</source>
+ <translation>Очистить проект...</translation>
</message>
<message>
- <source>Status</source>
- <translation>Состояние (status)</translation>
+ <source>Clean Project &quot;%1&quot;...</source>
+ <translation>Очистить проект «%1»...</translation>
</message>
<message>
- <source>Clean...</source>
- <translation>Очистить (clean)...</translation>
+ <source>&amp;Local Repository</source>
+ <translation>&amp;Локальное хранилище</translation>
</message>
<message>
- <source>Apply from Editor</source>
- <translation>Наложить из редактора</translation>
+ <source>Diff</source>
+ <translation>Сравнить</translation>
</message>
<message>
- <source>Apply from File...</source>
- <translation>Наложить из файла...</translation>
+ <source>Log</source>
+ <translation>История</translation>
</message>
<message>
- <source>Stash</source>
- <translation>Спрятать (stash)</translation>
+ <source>Reflog</source>
+ <translation>История ссылок</translation>
</message>
<message>
- <source>Take Snapshot...</source>
- <translation>Сделать снимок...</translation>
+ <source>Clean...</source>
+ <translation>Очистить...</translation>
</message>
<message>
- <source>Saves the current state of your work.</source>
- <translation>Сохраняет текущее состояние вашей работы.</translation>
+ <source>Status</source>
+ <translation>Состояние</translation>
</message>
<message>
- <source>Undo Unstaged Changes</source>
- <translation>Отменить неподготовленные к фиксации изменения</translation>
+ <source>Commit...</source>
+ <translation>Фиксировать...</translation>
</message>
<message>
- <source>Undo Unstaged Changes for &quot;%1&quot;</source>
- <translation>Отменить неподготовленные к фиксации изменения «%1»</translation>
+ <source>Meta+G,Meta+C</source>
+ <translation>Meta+G,Meta+C</translation>
</message>
<message>
- <source>Undo Uncommitted Changes</source>
- <translation>Отменить незафиксированные изменения</translation>
+ <source>Alt+G,Alt+C</source>
+ <translation>Alt+G,Alt+C</translation>
</message>
<message>
- <source>Undo Uncommitted Changes for &quot;%1&quot;</source>
- <translation>Отменить незафиксированные изменения «%1»</translation>
+ <source>Amend Last Commit...</source>
+ <translation>Исправить последнюю фиксацию (amend)...</translation>
</message>
<message>
- <source>Clean Project...</source>
- <translation>Очистить проект...</translation>
+ <source>Fixup Previous Commit...</source>
+ <translation>Исправить предыдущую фиксацию (fixup)...</translation>
</message>
<message>
- <source>Clean Project &quot;%1&quot;...</source>
- <translation>Очистить проект «%1»...</translation>
+ <source>Reset...</source>
+ <translation>Сбросить (reset)...</translation>
+ </message>
+ <message>
+ <source>Recover Deleted Files</source>
+ <translation>Восстановить удалённые файлы</translation>
</message>
<message>
<source>Interactive Rebase...</source>
@@ -21048,6 +22479,10 @@ Commit now?</source>
<translation>Продолжение перебазирования</translation>
</message>
<message>
+ <source>Skip Rebase</source>
+ <translation>Пропустить перебазирование</translation>
+ </message>
+ <message>
<source>Continue Cherry Pick</source>
<translation>Продолжение перенос изменений</translation>
</message>
@@ -21080,80 +22515,60 @@ Commit now?</source>
<translation>Восстановить изменения сохранённые в список спрятанного командой «Спрятать».</translation>
</message>
<message>
- <source>Commit...</source>
- <translation>Фиксировать (commit)...</translation>
- </message>
- <message>
- <source>Alt+G,Alt+C</source>
- <translation></translation>
- </message>
- <message>
- <source>Amend Last Commit...</source>
- <translation>Исправить последнюю фиксацию (amend)...</translation>
- </message>
- <message>
- <source>Push</source>
- <translation>Отправить (push)</translation>
- </message>
- <message>
<source>Branches...</source>
<translation>Ветки...</translation>
</message>
<message>
- <source>Log</source>
- <translation>История (log)</translation>
- </message>
- <message>
- <source>Repository Clean</source>
- <translation>Очистка хранилища</translation>
+ <source>&amp;Patch</source>
+ <translation>&amp;Исправление</translation>
</message>
<message>
- <source>Choose Patch</source>
- <translation>Выбор патча</translation>
+ <source>Apply from Editor</source>
+ <translation>Наложить из редактора</translation>
</message>
<message>
- <source>Fetch</source>
- <translation>Загрузить (fetch)</translation>
+ <source>Apply from File...</source>
+ <translation>Наложить из файла...</translation>
</message>
<message>
- <source>&lt;No repository&gt;</source>
- <translation>&lt;Нет хранилища&gt;</translation>
+ <source>&amp;Stash</source>
+ <translation>Спр&amp;ятанное</translation>
</message>
<message>
- <source>Repository: %1</source>
- <translation>Хранилище: %1</translation>
+ <source>Stashes...</source>
+ <translation>Спрятанное (stashes)...</translation>
</message>
<message>
- <source>Reflog</source>
- <translation>Reflog</translation>
+ <source>Stash</source>
+ <translation>Спрятать</translation>
</message>
<message>
- <source>Recover Deleted Files</source>
- <translation>Восстановить удалённые файлы</translation>
+ <source>Stash Unstaged Files</source>
+ <translation>Скрыть неиндексированные файлы</translation>
</message>
<message>
- <source>Skip Rebase</source>
- <translation>Пропустить перебазирование</translation>
+ <source>Saves the current state of your unstaged files and resets the repository to its staged state.</source>
+ <translation>Сохранение текущего состояния неиндексированных файлов и сброс хранилища в индексированное состояние.</translation>
</message>
<message>
- <source>&amp;Patch</source>
- <translation>&amp;Изменение</translation>
+ <source>Take Snapshot...</source>
+ <translation>Сделать снимок...</translation>
</message>
<message>
- <source>&amp;Stash</source>
- <translation>Спр&amp;ятанное</translation>
+ <source>Saves the current state of your work.</source>
+ <translation>Сохраняет текущее состояние вашей работы.</translation>
</message>
<message>
- <source>Stash Unstaged Files</source>
- <translation>Скрыть неподготовленные файлы</translation>
+ <source>&amp;Remote Repository</source>
+ <translation>&amp;Внешнее хранилище</translation>
</message>
<message>
- <source>Saves the current state of your unstaged files and resets the repository to its staged state.</source>
- <translation>Сохранение текущего состояния неподготовленных файлов и сброс хранилища в подготовленное состояние.</translation>
+ <source>Fetch</source>
+ <translation>Загрузить (fetch)</translation>
</message>
<message>
- <source>&amp;Remote Repository</source>
- <translation>&amp;Внешнее хранилище</translation>
+ <source>Push</source>
+ <translation>Отправить (push)</translation>
</message>
<message>
<source>&amp;Subversion</source>
@@ -21177,11 +22592,11 @@ Commit now?</source>
</message>
<message>
<source>Cherry Pick...</source>
- <translation>Перенести изменения...</translation>
+ <translation>Перенести изменения (cherry-pick)...</translation>
</message>
<message>
<source>Checkout...</source>
- <translation>Перейти...</translation>
+ <translation>Перейти (checkout)...</translation>
</message>
<message>
<source>Archive...</source>
@@ -21257,27 +22672,46 @@ Commit now?</source>
</message>
<message>
<source>Git Fixup Commit</source>
- <translation>Фиксация исправления Git</translation>
+ <translation>Git: фиксация исправления</translation>
</message>
<message>
<source>Git Commit</source>
- <translation>Фиксация Git</translation>
+ <translation>Git: фиксация</translation>
</message>
<message>
- <source>Unable to retrieve file list</source>
+ <source>Unable to Retrieve File List</source>
<translation>Не удалось получить список файлов</translation>
</message>
<message>
+ <source>Repository Clean</source>
+ <translation>Очистка хранилища</translation>
+ </message>
+ <message>
<source>The repository is clean.</source>
<translation>Хранилище чисто.</translation>
</message>
<message>
<source>Patches (*.patch *.diff)</source>
- <translation>Патчи (*.patch *.diff)</translation>
+ <translation>Исправления (*.patch *.diff)</translation>
+ </message>
+ <message>
+ <source>Choose Patch</source>
+ <translation>Выбор исправления</translation>
</message>
<message>
<source>Patch %1 successfully applied to %2</source>
- <translation>Патч %1 успешно наложен на %2</translation>
+ <translation>Исправление %1 успешно наложено на %2</translation>
+ </message>
+</context>
+<context>
+ <name>Git::Internal::GitRefLogArgumentsWidget</name>
+ <message>
+ <source>Show Date</source>
+ <translation>Показывать дату</translation>
+ </message>
+ <message>
+ <source>Show date instead of sequence.</source>
+ <translation>Показывать дату вместо последовательности.</translation>
</message>
</context>
<context>
@@ -21601,14 +23035,6 @@ Remote: %4</source>
<context>
<name>Git::Internal::SettingsPage</name>
<message>
- <source>Git</source>
- <translation>Git</translation>
- </message>
- <message>
- <source>Git Settings</source>
- <translation>Настройки Git</translation>
- </message>
- <message>
<source>&lt;b&gt;Note:&lt;/b&gt;</source>
<translation>&lt;b&gt;Внимание:&lt;/b&gt;</translation>
</message>
@@ -21694,6 +23120,10 @@ instead of its installation directory when run outside git bash.</source>
<source>Git Repository Browser Command</source>
<translation>Команда обозревателя хранилища Git</translation>
</message>
+ <message>
+ <source>Git</source>
+ <translation>Git</translation>
+ </message>
</context>
<context>
<name>Git::Internal::StashDialog</name>
@@ -21849,6 +23279,10 @@ Leave empty to search through the file system.</source>
<context>
<name>GradientPresetList</name>
<message>
+ <source>Gradient Picker</source>
+ <translation>Пипетка градиента</translation>
+ </message>
+ <message>
<source>System Presets</source>
<translation>Системные заготовки</translation>
</message>
@@ -22054,10 +23488,10 @@ Leave empty to search through the file system.</source>
</message>
</context>
<context>
- <name>Help::Internal::DocSettingsPage</name>
+ <name>Help::DocSettingsPageWidget</name>
<message>
- <source>Documentation</source>
- <translation>Документация</translation>
+ <source>%1 (auto-detected)</source>
+ <translation>%1 (автоопределённое)</translation>
</message>
<message>
<source>Add Documentation</source>
@@ -22076,7 +23510,7 @@ Leave empty to search through the file system.</source>
<translation>Пространство имён уже существует:</translation>
</message>
<message>
- <source>Registration failed</source>
+ <source>Registration Failed</source>
<translation>Не удалось зарегистрировать</translation>
</message>
<message>
@@ -22084,9 +23518,12 @@ Leave empty to search through the file system.</source>
<translation>Не удалось зарегистрировать документацию.</translation>
</message>
<message>
- <source>%1 (auto-detected)</source>
- <translation>%1 (автоопределённое)</translation>
+ <source>Documentation</source>
+ <translation>Документация</translation>
</message>
+</context>
+<context>
+ <name>Help::Internal::DocSettingsPage</name>
<message>
<source>Add and remove compressed help files, .qch.</source>
<translation>Добавление и удаление сжатых файлов справки, .qch.</translation>
@@ -22388,6 +23825,22 @@ Add, modify, and remove document filters, which determine the documentation set
<translation>(Без имени)</translation>
</message>
<message>
+ <source>Show Context Help Side-by-Side if Possible</source>
+ <translation>Показывать контекстную справку сбоку, если возможно</translation>
+ </message>
+ <message>
+ <source>Always Show Context Help Side-by-Side</source>
+ <translation>Всегда показывать контекстную справку сбоку</translation>
+ </message>
+ <message>
+ <source>Always Show Context Help in Help Mode</source>
+ <translation>Показывать контекстную справку в режиме справки</translation>
+ </message>
+ <message>
+ <source>Always Show Context Help in External Window</source>
+ <translation>Всегда показывать контекстную справку во внешнем окне</translation>
+ </message>
+ <message>
<source>Open in Help Mode</source>
<translation>Открыть в режиме справки</translation>
</message>
@@ -22576,36 +24029,6 @@ Add, modify, and remove document filters, which determine the documentation set
</message>
</context>
<context>
- <name>Help::Internal::RemoteFilterOptions</name>
- <message>
- <source>Add</source>
- <translation>Добавить</translation>
- </message>
- <message>
- <source>Remove</source>
- <translation>Удалить</translation>
- </message>
- <message>
- <source>Double-click to edit item.</source>
- <translation>Двойной щелчок для изменения.</translation>
- </message>
- <message>
- <source>Move Up</source>
- <translation>Поднять</translation>
- </message>
- <message>
- <source>Move Down</source>
- <translation>Опустить</translation>
- </message>
-</context>
-<context>
- <name>Help::Internal::RemoteHelpFilter</name>
- <message>
- <source>Web Search</source>
- <translation>Поиск в сети</translation>
- </message>
-</context>
-<context>
<name>Help::Internal::SearchSideBarItem</name>
<message>
<source>Regenerate Index</source>
@@ -22749,6 +24172,14 @@ Add, modify, and remove document filters, which determine the documentation set
<context>
<name>HeobDialog</name>
<message>
+ <source>New</source>
+ <translation>Создать</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Удалить</translation>
+ </message>
+ <message>
<source>XML output file:</source>
<translation>Выходной файл XML:</translation>
</message>
@@ -22857,9 +24288,33 @@ Add, modify, and remove document filters, which determine the documentation set
<translation>OK</translation>
</message>
<message>
+ <source>Default</source>
+ <translation>По умолчанию</translation>
+ </message>
+ <message>
<source>Heob</source>
<translation>Heob</translation>
</message>
+ <message>
+ <source>New Heob Profile</source>
+ <translation>Новый профиль Heob</translation>
+ </message>
+ <message>
+ <source>Heob profile name:</source>
+ <translation>Имя профиля Heob:</translation>
+ </message>
+ <message>
+ <source>%1 (copy)</source>
+ <translation>%1 (копия)</translation>
+ </message>
+ <message>
+ <source>Delete Heob Profile</source>
+ <translation>Удалить профиль Heob</translation>
+ </message>
+ <message>
+ <source>Are you sure you want to delete this profile permanently?</source>
+ <translation>Удалить профиль навсегда?</translation>
+ </message>
</context>
<context>
<name>HoverHandler</name>
@@ -22989,45 +24444,6 @@ Would you like to overwrite it?</source>
</message>
</context>
<context>
- <name>ImageViewer::Internal::ImageViewerPlugin</name>
- <message>
- <source>Fit to Screen</source>
- <translation>На весь экран</translation>
- </message>
- <message>
- <source>Ctrl+=</source>
- <translation>Ctrl+=</translation>
- </message>
- <message>
- <source>Switch Background</source>
- <translation>Включить/отключить фон</translation>
- </message>
- <message>
- <source>Ctrl+[</source>
- <translation>Ctrl+[</translation>
- </message>
- <message>
- <source>Switch Outline</source>
- <translation>Включить/отключить обзор</translation>
- </message>
- <message>
- <source>Ctrl+]</source>
- <translation>Ctrl+]</translation>
- </message>
- <message>
- <source>Toggle Animation</source>
- <translation>Воспроизвести/приостановить анимацию</translation>
- </message>
- <message>
- <source>Export Image</source>
- <translation>Экспортировать изображение</translation>
- </message>
- <message>
- <source>Export Multiple Images</source>
- <translation>Экспортировать несколько изображений</translation>
- </message>
-</context>
-<context>
<name>ImageViewer::Internal::ImageViewerToolbar</name>
<message>
<source>Zoom In</source>
@@ -23118,6 +24534,45 @@ Would you like to overwrite them?</source>
</message>
</context>
<context>
+ <name>Imageviewer::Internal::ImageViewerPlugin</name>
+ <message>
+ <source>Fit to Screen</source>
+ <translation>Во весь экран</translation>
+ </message>
+ <message>
+ <source>Ctrl+=</source>
+ <translation>Ctrl+=</translation>
+ </message>
+ <message>
+ <source>Switch Background</source>
+ <translation>Включить/отключить фон</translation>
+ </message>
+ <message>
+ <source>Ctrl+[</source>
+ <translation>Ctrl+[</translation>
+ </message>
+ <message>
+ <source>Switch Outline</source>
+ <translation>Включить/отключить обзор</translation>
+ </message>
+ <message>
+ <source>Ctrl+]</source>
+ <translation>Ctrl+]</translation>
+ </message>
+ <message>
+ <source>Toggle Animation</source>
+ <translation>Воспроизвести/приостановить анимацию</translation>
+ </message>
+ <message>
+ <source>Export Image</source>
+ <translation>Экспортировать изображение</translation>
+ </message>
+ <message>
+ <source>Export Multiple Images</source>
+ <translation>Экспортировать несколько изображений</translation>
+ </message>
+</context>
+<context>
<name>ImportManagerComboBox</name>
<message>
<source>Add new import</source>
@@ -23504,13 +24959,6 @@ Ids must begin with a lowercase letter.</source>
</message>
</context>
<context>
- <name>Ios::Internal::IosSettingsPage</name>
- <message>
- <source>iOS</source>
- <translation>iOS</translation>
- </message>
-</context>
-<context>
<name>Ios::Internal::IosSettingsWidget</name>
<message>
<source>iOS Configuration</source>
@@ -23688,16 +25136,13 @@ Error: %2</source>
<source>simulator screenshot</source>
<translation>снимок экрана эмулятора</translation>
</message>
-</context>
-<context>
- <name>Ios::Internal::IosSimulator</name>
<message>
- <source>iOS Simulator</source>
- <translation>Эмулятор iOS</translation>
+ <source>iOS</source>
+ <translation>iOS</translation>
</message>
</context>
<context>
- <name>Ios::Internal::IosSimulatorFactory</name>
+ <name>Ios::Internal::IosSimulator</name>
<message>
<source>iOS Simulator</source>
<translation>Эмулятор iOS</translation>
@@ -23793,6 +25238,13 @@ Error: %5</translation>
</message>
</context>
<context>
+ <name>ItemFilterComboBox</name>
+ <message>
+ <source>[None]</source>
+ <translation>[нет]</translation>
+ </message>
+</context>
+<context>
<name>ItemPane</name>
<message>
<source>Type</source>
@@ -23811,6 +25263,18 @@ Error: %5</translation>
<translation>Переключает режим экспорта элемента, как псевдонима свойства корневого элемента.</translation>
</message>
<message>
+ <source>Custom id</source>
+ <translation>Особый id</translation>
+ </message>
+ <message>
+ <source>customId</source>
+ <translation>customId</translation>
+ </message>
+ <message>
+ <source>Add Annotation</source>
+ <translation>Добавить аннотацию</translation>
+ </message>
+ <message>
<source>Visibility</source>
<translation>Видимость</translation>
</message>
@@ -23839,68 +25303,68 @@ Error: %5</translation>
<translation>Выравнивание объектов</translation>
</message>
<message>
- <source>Align objects to left edge</source>
- <translation>Выравнивание объектов по левому краю</translation>
+ <source>Align left edges.</source>
+ <translation>Выравнивание по левому краю.</translation>
</message>
<message>
- <source>Align objects horizontal center</source>
- <translation>Горизонтальное выравнивание объектов по центру</translation>
+ <source>Align horizontal centers.</source>
+ <translation>Выравнивание по горизонтальному центру.</translation>
</message>
<message>
- <source>Align objects to right edge</source>
- <translation>Выравнивание объектов по правому краю</translation>
+ <source>Align right edges.</source>
+ <translation>Выравнивание по правому краю.</translation>
</message>
<message>
- <source>Align objects to top edge</source>
- <translation>Выравнивание объектов по верхнему краю</translation>
+ <source>Align top edges.</source>
+ <translation>Выравнивание по верхнему краю.</translation>
</message>
<message>
- <source>Align objects vertical center</source>
- <translation>Вертикальное выравнивание объектов по центру</translation>
+ <source>Align vertical centers.</source>
+ <translation>Выравнивание по вертикальному центру.</translation>
</message>
<message>
- <source>Align objects to bottom edge</source>
- <translation>Выравнивание объектов по нижнему краю</translation>
+ <source>Align bottom edges.</source>
+ <translation>Выравнивание по нижнему краю.</translation>
</message>
<message>
- <source>Distribute objects</source>
- <translation>Распределение объектов</translation>
+ <source>Distribute left edges.</source>
+ <translation>Растягивание по левому краю.</translation>
</message>
<message>
- <source>Distribute objects left edge</source>
- <translation>Распределение объектов по левому краю</translation>
+ <source>Distribute horizontal centers.</source>
+ <translation>Растягивание по горизонтальному центру.</translation>
</message>
<message>
- <source>Distribute objects horizontal center</source>
- <translation>Горизонтальное распределение объектов по центру</translation>
+ <source>Distribute right edges.</source>
+ <translation>Растягивание по правому краю.</translation>
</message>
<message>
- <source>Distribute objects right edge</source>
- <translation>Распределение объектов по правому краю</translation>
+ <source>Distribute top edges.</source>
+ <translation>Растягивание по верхнему краю.</translation>
</message>
<message>
- <source>Distribute objects top edge</source>
- <translation>Распределение объектов по верхнему краю</translation>
+ <source>Distribute vertical centers.</source>
+ <translation>Растягивание по вертикальному центру.</translation>
</message>
<message>
- <source>Distribute objects vertical center</source>
- <translation>Вертикальное распределение объектов по центру</translation>
+ <source>Distribute bottom edges.</source>
+ <translation>Растягивание по нижнему краю.</translation>
</message>
<message>
- <source>Distribute objects bottom edge</source>
- <translation>Распределение объектов по нижнему краю</translation>
+ <source>Distribute spacing horizontally.</source>
+ <translation>Растягивать интервалы горизонтально.</translation>
</message>
<message>
- <source>Distribute spacing</source>
- <translation>Распределение пространства</translation>
+ <source>Distribute spacing vertically.</source>
+ <translation>Растягивать интервалы вертикально.</translation>
</message>
<message>
- <source>Distribute spacing horizontal</source>
- <translation>Горизонтальное распределение пространства</translation>
+ <source>Distribute objects</source>
+ <translation>Растягивание объектов</translation>
</message>
<message>
- <source>Distribute spacing vertical</source>
- <translation>Вертикальное распределение пространства</translation>
+ <source>Distribute spacing</source>
+ <translation>Растягивание интервалов</translation>
</message>
<message>
<source>Align to</source>
@@ -23989,6 +25453,13 @@ Error: %5</translation>
</message>
</context>
<context>
+ <name>Label</name>
+ <message>
+ <source>This property is not available in this configuration.</source>
+ <translation>Это свойство недоступно в этой конфигурации.</translation>
+ </message>
+</context>
+<context>
<name>Language</name>
<message>
<source>None</source>
@@ -24007,15 +25478,15 @@ Error: %5</translation>
</message>
<message>
<source>Symbols in Workspace</source>
- <translation>Символов в рабочей области</translation>
+ <translation>Символы сессии</translation>
</message>
<message>
<source>Classes and Structs in Workspace</source>
- <translation>Классов и структур в рабочей области</translation>
+ <translation>Классы и структуры сессии</translation>
</message>
<message>
<source>Functions and Methods in Workspace</source>
- <translation>Функций и методов в рабочей области</translation>
+ <translation>Функции и методы сессии</translation>
</message>
</context>
<context>
@@ -24175,6 +25646,10 @@ Error: %5</translation>
<source>Expected type %1 but value contained %2</source>
<translation>Ожидается тип %1, но значение содержит %2</translation>
</message>
+ <message>
+ <source>None of the following variants could be correctly parsed:</source>
+ <translation>Ни один из следующих вариантов невозможно корректно разобрать:</translation>
+ </message>
</context>
<context>
<name>LanguageServerProtocol::MarkedString</name>
@@ -24205,6 +25680,93 @@ Error: %5</translation>
</message>
</context>
<context>
+ <name>LayerSection</name>
+ <message>
+ <source>Layer</source>
+ <translation>Слой</translation>
+ </message>
+ <message>
+ <source>Effect</source>
+ <translation>Эффект</translation>
+ </message>
+ <message>
+ <source>Sets the effect that is applied to this layer.</source>
+ <translation>Эффект применяемый к этому слою.</translation>
+ </message>
+ <message>
+ <source>Enabled</source>
+ <translation>Включено</translation>
+ </message>
+ <message>
+ <source>Sets whether the item is layered or not.</source>
+ <translation>Определяет, разбит элемент на слои или нет.</translation>
+ </message>
+ <message>
+ <source>Format</source>
+ <translation>Формат</translation>
+ </message>
+ <message>
+ <source>Defines the internal OpenGL format of the texture.</source>
+ <translation>Внутренний формат текстуры OpenGL.</translation>
+ </message>
+ <message>
+ <source>Mipmap</source>
+ <translation>Mipmap</translation>
+ </message>
+ <message>
+ <source>Enables the generation of mipmaps for the texture.</source>
+ <translation>Создание MIP-пирамиды для текстуры.</translation>
+ </message>
+ <message>
+ <source>Sampler name</source>
+ <translation type="unfinished">Имя семплера</translation>
+ </message>
+ <message>
+ <source>Sets the name of the effect&apos;s source texture property.</source>
+ <translation>Имя свойства исходной текстуры эффекта.</translation>
+ </message>
+ <message>
+ <source>Samples</source>
+ <translation>Семплы</translation>
+ </message>
+ <message>
+ <source>Allows requesting multisampled rendering in the layer.</source>
+ <translation>Позволяет запрашивать мультисэмплированную отрисовку в слое.</translation>
+ </message>
+ <message>
+ <source>Smooth</source>
+ <translation>Сглаживание</translation>
+ </message>
+ <message>
+ <source>Sets whether the layer is smoothly transformed.</source>
+ <translation>Плавное изменение слоя.</translation>
+ </message>
+ <message>
+ <source>Texture mirroring</source>
+ <translation>Отражение текстуры</translation>
+ </message>
+ <message>
+ <source>Defines how the generated OpenGL texture should be mirrored.</source>
+ <translation>Способ отражения созданной OpenGL текстуры.</translation>
+ </message>
+ <message>
+ <source>Texture size</source>
+ <translation>Размер текстуры</translation>
+ </message>
+ <message>
+ <source>Sets the requested pixel size of the layers texture.</source>
+ <translation>Требуемый пиксельный размер текстуры слоя.</translation>
+ </message>
+ <message>
+ <source>Wrap mode</source>
+ <translation>Режим переноса</translation>
+ </message>
+ <message>
+ <source>Defines the OpenGL wrap modes associated with the texture.</source>
+ <translation>Режимы переноса OpenGL, связанные с текстурой.</translation>
+ </message>
+</context>
+<context>
<name>LayoutPoperties</name>
<message>
<source>Alignment</source>
@@ -24412,6 +25974,29 @@ Error: %5</translation>
</message>
</context>
<context>
+ <name>LspLoggerWidget</name>
+ <message>
+ <source>Language Client Log</source>
+ <translation>Журнал языкового клиента</translation>
+ </message>
+ <message>
+ <source>Client Message</source>
+ <translation>Сообщение клиента</translation>
+ </message>
+ <message>
+ <source>Server Message</source>
+ <translation>Сообщение сервера</translation>
+ </message>
+ <message>
+ <source>Messages</source>
+ <translation>Сообщения</translation>
+ </message>
+ <message>
+ <source>Log File</source>
+ <translation>Файл истории</translation>
+ </message>
+</context>
+<context>
<name>Macros</name>
<message>
<source>Macros</source>
@@ -24474,6 +26059,10 @@ Error: %5</translation>
<source>Remove</source>
<translation>Удалить</translation>
</message>
+ <message>
+ <source>Macros</source>
+ <translation>Сценарии</translation>
+ </message>
</context>
<context>
<name>Macros::Internal::MacrosPlugin</name>
@@ -24819,58 +26408,36 @@ Error: %5</translation>
</message>
</context>
<context>
- <name>McuSupport::Internal::FlashAndRunConfiguration</name>
+ <name>Marketplace::Internal::QtMarketplaceWelcomePage</name>
<message>
- <source>Effective flash and run call:</source>
- <translation>Команда прошивки и запуска:</translation>
+ <source>Marketplace</source>
+ <translation>Магазин</translation>
</message>
<message>
- <source>Flash and run</source>
- <translation>Прошивка и запуск</translation>
+ <source>Search in Marketplace...</source>
+ <translation>Искать в магазине...</translation>
</message>
-</context>
-<context>
- <name>McuSupport::Internal::McuSupportDevice</name>
<message>
- <source>MCU Device</source>
- <translation>Микроконтроллер</translation>
- </message>
-</context>
-<context>
- <name>McuSupport::Internal::McuSupportDeviceFactory</name>
- <message>
- <source>MCU Device</source>
- <translation>Микроконтроллер</translation>
+ <source>&lt;p&gt;Could not fetch data from Qt Marketplace.&lt;/p&gt;&lt;p&gt;Try with your browser instead: &lt;a href=&apos;https://marketplace.qt.io&apos;&gt;https://marketplace.qt.io&lt;/a&gt;&lt;/p&gt;&lt;br/&gt;&lt;p&gt;&lt;small&gt;&lt;i&gt;Error: %1&lt;/i&gt;&lt;/small&gt;&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Не удалось получить данные от Qt Marketplace.&lt;/p&gt;&lt;p&gt;Попробуйте открыть в браузере: &lt;a href=&apos;https://marketplace.qt.io&apos;&gt;https://marketplace.qt.io&lt;/a&gt;&lt;/p&gt;&lt;br/&gt;&lt;p&gt;&lt;small&gt;&lt;i&gt;Ошибка: %1&lt;/i&gt;&lt;/small&gt;&lt;/p&gt;</translation>
</message>
</context>
<context>
- <name>McuSupport::Internal::McuSupportOptionsPage</name>
- <message>
- <source>Target:</source>
- <translation>Цель:</translation>
- </message>
- <message>
- <source>Packages</source>
- <translation>Пакеты</translation>
- </message>
- <message>
- <source>No kits can currently be generated. Select a target and provide the package paths. Afterwards, press Apply to generate a kit for your board.</source>
- <translation>Невозможно сейчас создать комплект. Выберите цель и укажите пути к пакету. Затем создайте комплект для вашей платы нажав Применить.</translation>
- </message>
+ <name>McuSupport::Internal::FlashAndRunConfiguration</name>
<message>
- <source>Kits for the following targets can be generated: %1 Press Apply to generate a kit for your target.</source>
- <translation>Могут быть созданы комплекты для следующих целей: %1. Создайте комплект для вашей цели нажав Применить.</translation>
+ <source>Flash and run CMake parameters:</source>
+ <translation>Параметры CMake для прошивки и запуска:</translation>
</message>
<message>
- <source>MCU</source>
- <translation>Микроконтроллер</translation>
+ <source>Flash and run</source>
+ <translation>Прошивка и запуск</translation>
</message>
</context>
<context>
- <name>McuSupport::Internal::PackageOptions</name>
+ <name>McuSupport::Internal::McuPackage</name>
<message>
<source>Download from &quot;%1&quot;</source>
- <translation>Загрузить по «%1»</translation>
+ <translation>Загрузить «%1»</translation>
</message>
<message>
<source>Path is valid, &quot;%1&quot; was found.</source>
@@ -24885,8 +26452,12 @@ Error: %5</translation>
<translation>Путь не существует.</translation>
</message>
<message>
- <source>Qt MCU SDK</source>
- <translation>Qt SDK для микроконтроллеров</translation>
+ <source>Arm GDB at %1</source>
+ <translation>Arm GDB в %1</translation>
+ </message>
+ <message>
+ <source>Qt for MCUs SDK</source>
+ <translation>SDK Qt для микроконтроллеров</translation>
</message>
<message>
<source>GNU Arm Embedded Toolchain</source>
@@ -24908,9 +26479,31 @@ Error: %5</translation>
<source>SEGGER JLink</source>
<translation>SEGGER JLink</translation>
</message>
+</context>
+<context>
+ <name>McuSupport::Internal::McuSupportDevice</name>
<message>
- <source>Arm GDB at %1</source>
- <translation>Arm GDB в %1</translation>
+ <source>MCU Device</source>
+ <translation>Микроконтроллер</translation>
+ </message>
+</context>
+<context>
+ <name>McuSupport::Internal::McuSupportOptionsWidget</name>
+ <message>
+ <source>Targets supported by the %1</source>
+ <translation>Поддерживаемые %1 цели</translation>
+ </message>
+ <message>
+ <source>Requirements</source>
+ <translation>Требования</translation>
+ </message>
+ <message>
+ <source>Create a Kit</source>
+ <translation>Создание комплекта</translation>
+ </message>
+ <message>
+ <source>MCU</source>
+ <translation>Микроконтроллер</translation>
</message>
</context>
<context>
@@ -24998,13 +26591,6 @@ Error: %5</translation>
</message>
</context>
<context>
- <name>Mercurial::Internal::MercurialControl</name>
- <message>
- <source>Mercurial</source>
- <translation>Mercurial</translation>
- </message>
-</context>
-<context>
<name>Mercurial::Internal::MercurialEditorWidget</name>
<message>
<source>&amp;Annotate %1</source>
@@ -25185,6 +26771,10 @@ Error: %5</translation>
<source>Commit changes for &quot;%1&quot;.</source>
<translation>Фиксация изменений «%1».</translation>
</message>
+ <message>
+ <source>Mercurial</source>
+ <translation>Mercurial</translation>
+ </message>
</context>
<context>
<name>Mercurial::Internal::OptionsPage</name>
@@ -25225,10 +26815,6 @@ Error: %5</translation>
<translation> сек</translation>
</message>
<message>
- <source>Mercurial</source>
- <translation>Mercurial</translation>
- </message>
- <message>
<source>Log count:</source>
<translation>Количество отображаемых записей истории фиксаций:</translation>
</message>
@@ -25248,6 +26834,10 @@ Error: %5</translation>
<source>Mercurial Command</source>
<translation>Команда Mercurial</translation>
</message>
+ <message>
+ <source>Mercurial</source>
+ <translation>Mercurial</translation>
+ </message>
</context>
<context>
<name>Mercurial::Internal::RevertDialog</name>
@@ -25604,6 +27194,13 @@ Error: %5</translation>
</message>
</context>
<context>
+ <name>MoveToolAction</name>
+ <message>
+ <source>Activate Move Tool</source>
+ <translation>Включить инструмент перемещения</translation>
+ </message>
+</context>
+<context>
<name>MyMain</name>
<message>
<source>N/A</source>
@@ -25622,32 +27219,17 @@ Error: %5</translation>
</message>
</context>
<context>
- <name>Nim::NimBuildConfiguration</name>
+ <name>Nim::CodeStyleSettings</name>
<message>
- <source>General</source>
- <translation>Основное</translation>
- </message>
-</context>
-<context>
- <name>Nim::NimBuildConfigurationFactory</name>
- <message>
- <source>Debug</source>
- <translation>Отладка</translation>
- </message>
- <message>
- <source>Profile</source>
- <translation>Профилирование</translation>
- </message>
- <message>
- <source>Release</source>
- <translation>Выпуск</translation>
+ <source>Nim</source>
+ <translation>Nim</translation>
</message>
</context>
<context>
- <name>Nim::NimCodeStyleSettingsPage</name>
+ <name>Nim::NimBuildConfiguration</name>
<message>
- <source>Nim</source>
- <translation>Nim</translation>
+ <source>General</source>
+ <translation>Основное</translation>
</message>
</context>
<context>
@@ -25776,13 +27358,6 @@ Error: %5</translation>
</message>
</context>
<context>
- <name>Nim::NimToolsSettingsPage</name>
- <message>
- <source>Nim</source>
- <translation>Nim</translation>
- </message>
-</context>
-<context>
<name>Nim::NimToolsSettingsWidget</name>
<message>
<source>Nimsuggest</source>
@@ -25794,6 +27369,75 @@ Error: %5</translation>
</message>
</context>
<context>
+ <name>Nim::NimbleBuildConfiguration</name>
+ <message>
+ <source>General</source>
+ <translation>Основное</translation>
+ </message>
+</context>
+<context>
+ <name>Nim::NimbleBuildStep</name>
+ <message>
+ <source>Nimble Build</source>
+ <translation>Сборка Nimble</translation>
+ </message>
+</context>
+<context>
+ <name>Nim::NimbleBuildStepWidget</name>
+ <message>
+ <source>Form</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>Arguments:</source>
+ <translation>Параметры:</translation>
+ </message>
+ <message>
+ <source>Reset to Default</source>
+ <translation>Сбросить на умолчальные</translation>
+ </message>
+</context>
+<context>
+ <name>Nim::NimbleTaskStep</name>
+ <message>
+ <source>Nimble task %1 not found.</source>
+ <translation>Не удалось найти задачу Nimble %1.</translation>
+ </message>
+ <message>
+ <source>Nimble Task</source>
+ <translation>Задача Nimble</translation>
+ </message>
+</context>
+<context>
+ <name>Nim::NimbleTaskStepWidget</name>
+ <message>
+ <source>Form</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>Task arguments:</source>
+ <translation>Параметры задачи:</translation>
+ </message>
+ <message>
+ <source>Tasks:</source>
+ <translation>Задачи:</translation>
+ </message>
+</context>
+<context>
+ <name>Nim::NimbleTestConfiguration</name>
+ <message>
+ <source>Nimble Test</source>
+ <translation>Тест Nimble</translation>
+ </message>
+</context>
+<context>
+ <name>Nim::ToolSettingsPage</name>
+ <message>
+ <source>Nim</source>
+ <translation>Nim</translation>
+ </message>
+</context>
+<context>
<name>NimCodeStylePreferencesFactory</name>
<message>
<source>Nim</source>
@@ -25837,6 +27481,20 @@ Error: %5</translation>
</message>
</context>
<context>
+ <name>NimbleBuildStep</name>
+ <message>
+ <source>Nimble Build</source>
+ <translation>Сборка Nimble</translation>
+ </message>
+</context>
+<context>
+ <name>NimbleTaskStep</name>
+ <message>
+ <source>Nimble Task</source>
+ <translation>Задача Nimble</translation>
+ </message>
+</context>
+<context>
<name>NoShowCheckbox</name>
<message>
<source>Don&apos;t show this again</source>
@@ -25844,6 +27502,44 @@ Error: %5</translation>
</message>
</context>
<context>
+ <name>NumberAnimationSpecifics</name>
+ <message>
+ <source>Number Animation</source>
+ <translation>Анимация числа</translation>
+ </message>
+ <message>
+ <source>From</source>
+ <translation>От</translation>
+ </message>
+ <message>
+ <source>Sets the starting value for the animation.</source>
+ <translation>Начальное значение анимации.</translation>
+ </message>
+ <message>
+ <source>To</source>
+ <translation>До</translation>
+ </message>
+ <message>
+ <source>Sets the end value for the animation.</source>
+ <translation>Конечное значение анимации.</translation>
+ </message>
+</context>
+<context>
+ <name>OpenEditorsWidget</name>
+ <message>
+ <source>Open Documents</source>
+ <translation>Открытые документы</translation>
+ </message>
+ <message>
+ <source>Meta+O</source>
+ <translation>Meta+O</translation>
+ </message>
+ <message>
+ <source>Alt+O</source>
+ <translation>Alt+O</translation>
+ </message>
+</context>
+<context>
<name>OpenWith::Editors</name>
<message>
<source>Plain Text Editor</source>
@@ -25909,6 +27605,25 @@ Error: %5</translation>
<source>Qt Quick Designer</source>
<translation>Дизайнер Qt Quick</translation>
</message>
+ <message>
+ <source>Java Editor</source>
+ <translation>Редактор Java</translation>
+ </message>
+ <message>
+ <source>CMake Editor</source>
+ <translation>Редактор CMake</translation>
+ </message>
+ <message>
+ <source>Compilation Database</source>
+ <translation>БД компиляции</translation>
+ </message>
+</context>
+<context>
+ <name>OrientationToggleAction</name>
+ <message>
+ <source>Toggle Global/Local Orientation</source>
+ <translation>Глобальная/локальная ориентация</translation>
+ </message>
</context>
<context>
<name>PaddingSection</name>
@@ -26993,6 +28708,14 @@ Error: %5</translation>
<translation>История хранилища</translation>
</message>
<message>
+ <source>&amp;Edit</source>
+ <translation>&amp;Изменить</translation>
+ </message>
+ <message>
+ <source>&amp;Hijack</source>
+ <translation>&amp;Исправить</translation>
+ </message>
+ <message>
<source>Submit</source>
<translation>Фиксировать</translation>
</message>
@@ -27115,17 +28838,6 @@ Error: %5</translation>
</message>
</context>
<context>
- <name>Perforce::Internal::PerforceVersionControl</name>
- <message>
- <source>&amp;Edit</source>
- <translation>&amp;Изменить</translation>
- </message>
- <message>
- <source>&amp;Hijack</source>
- <translation>&amp;Исправить</translation>
- </message>
-</context>
-<context>
<name>Perforce::Internal::PromptDialog</name>
<message>
<source>Perforce Prompt</source>
@@ -27143,6 +28855,18 @@ Error: %5</translation>
<translation>Проверить</translation>
</message>
<message>
+ <source>Perforce Command</source>
+ <translation>Команда Perforce</translation>
+ </message>
+ <message>
+ <source>Testing...</source>
+ <translation>Проверка...</translation>
+ </message>
+ <message>
+ <source>Test succeeded (%1).</source>
+ <translation>Проверка успешно завершена (%1).</translation>
+ </message>
+ <message>
<source>Perforce</source>
<translation>Perforce</translation>
</message>
@@ -27196,21 +28920,6 @@ Error: %5</translation>
</message>
</context>
<context>
- <name>Perforce::Internal::SettingsPageWidget</name>
- <message>
- <source>Perforce Command</source>
- <translation>Команда Perforce</translation>
- </message>
- <message>
- <source>Testing...</source>
- <translation>Проверка...</translation>
- </message>
- <message>
- <source>Test succeeded (%1).</source>
- <translation>Проверка успешно завершена (%1).</translation>
- </message>
-</context>
-<context>
<name>Perforce::Internal::SubmitPanel</name>
<message>
<source>Submit</source>
@@ -27383,6 +29092,14 @@ Error: %5</translation>
</message>
</context>
<context>
+ <name>ProMessageHandler</name>
+ <message>
+ <source>[Inexact] </source>
+ <extracomment>Prefix used for output from the cumulative evaluation of project files.</extracomment>
+ <translation>[Примерно] </translation>
+ </message>
+</context>
+<context>
<name>ProcessCreator</name>
<message>
<source>Executable does not exist: %1</source>
@@ -27414,6 +29131,13 @@ Error: %5</translation>
</message>
</context>
<context>
+ <name>ProjectEnvironmentWidget</name>
+ <message>
+ <source>Project Environment</source>
+ <translation>Среда проекта</translation>
+ </message>
+</context>
+<context>
<name>ProjectExplorer</name>
<message>
<source>Build &amp; Run</source>
@@ -27467,6 +29191,10 @@ Error: %5</translation>
<source>SSH</source>
<translation>SSH</translation>
</message>
+ <message>
+ <source>Kit is not valid.</source>
+ <translation>Комплект неверен.</translation>
+ </message>
</context>
<context>
<name>ProjectExplorer::AbiWidget</name>
@@ -27560,8 +29288,8 @@ Error: %5</translation>
<translation>Параметры</translation>
</message>
<message>
- <source>Toggle multi-line mode</source>
- <translation>Переключение многострочного режима</translation>
+ <source>Toggle multi-line mode.</source>
+ <translation>Переключение многострочного режима.</translation>
</message>
<message>
<source>Command line arguments:</source>
@@ -27577,6 +29305,21 @@ Error: %5</translation>
</message>
</context>
<context>
+ <name>ProjectExplorer::BaseTriStateAspect</name>
+ <message>
+ <source>Enable</source>
+ <translation>Включить</translation>
+ </message>
+ <message>
+ <source>Disable</source>
+ <translation>Отключить</translation>
+ </message>
+ <message>
+ <source>Leave at Default</source>
+ <translation>Оставить по умолчанию</translation>
+ </message>
+</context>
+<context>
<name>ProjectExplorer::BuildConfiguration</name>
<message>
<source>Build Settings</source>
@@ -27595,10 +29338,6 @@ Error: %5</translation>
<translation>Переменные текущей среды сборки</translation>
</message>
<message>
- <source>Build directory:</source>
- <translation>Каталог сборки:</translation>
- </message>
- <message>
<source>System Environment</source>
<translation>Системная среда</translation>
</message>
@@ -27614,6 +29353,47 @@ Error: %5</translation>
<source>The project was not parsed successfully.</source>
<translation>Не удалось разобрать проект.</translation>
</message>
+ <message>
+ <source>Build</source>
+ <translation>Сборка</translation>
+ </message>
+ <message>
+ <source>Default</source>
+ <extracomment>The name of the build configuration created by default for a autotools project.
+----------
+The name of the build configuration created by default for a generic project.</extracomment>
+ <translation>По умолчанию</translation>
+ </message>
+ <message>
+ <source>Debug</source>
+ <extracomment>The name of the debug build configuration created by default for a qbs project.
+----------
+The name of the debug build configuration created by default for a qmake project.</extracomment>
+ <translation>Отладка</translation>
+ </message>
+ <message>
+ <source>Release</source>
+ <extracomment>The name of the release build configuration created by default for a qbs project.
+----------
+The name of the release build configuration created by default for a qmake project.</extracomment>
+ <translation>Выпуск</translation>
+ </message>
+ <message>
+ <source>Profile</source>
+ <extracomment>The name of the profile build configuration created by default for a qmake project.</extracomment>
+ <translation>Профилирование</translation>
+ </message>
+</context>
+<context>
+ <name>ProjectExplorer::BuildDirectoryAspect</name>
+ <message>
+ <source>Build directory:</source>
+ <translation>Каталог сборки:</translation>
+ </message>
+ <message>
+ <source>Shadow build:</source>
+ <translation>Теневая сборка:</translation>
+ </message>
</context>
<context>
<name>ProjectExplorer::BuildEnvironmentWidget</name>
@@ -27637,6 +29417,18 @@ Error: %5</translation>
</translation>
</message>
<message>
+ <source>Stop Applications</source>
+ <translation>Остановка приложений</translation>
+ </message>
+ <message>
+ <source>Stop these applications before building?</source>
+ <translation>Остановить эти приложения перед сборкой?</translation>
+ </message>
+ <message>
+ <source>The project %1 is not configured, skipping it.</source>
+ <translation>Проект %1 не настроен, пропущен.</translation>
+ </message>
+ <message>
<source>Compile</source>
<comment>Category for compiler issues listed under &apos;Issues&apos;</comment>
<translation>Компиляция</translation>
@@ -27655,10 +29447,6 @@ Error: %5</translation>
<translation>Во время выполнения этапа «%1»</translation>
</message>
<message>
- <source>Elapsed time: %1.</source>
- <translation>Прошло времени: %1.</translation>
- </message>
- <message>
<source>Deployment</source>
<comment>Category for deployment issues listed under &apos;Issues&apos;</comment>
<translation>Развёртывание</translation>
@@ -27715,6 +29503,21 @@ Error: %5</translation>
</message>
</context>
<context>
+ <name>ProjectExplorer::BuildSystem</name>
+ <message>
+ <source>The project is currently being parsed.</source>
+ <translation>Проект ещё разбирается.</translation>
+ </message>
+ <message>
+ <source>The project could not be fully parsed.</source>
+ <translation>Не удалось полностью разобрать проект.</translation>
+ </message>
+ <message>
+ <source>The project file &quot;%1&quot; does not exist.</source>
+ <translation>Файл проекта «%1» отсутствует.</translation>
+ </message>
+</context>
+<context>
<name>ProjectExplorer::BuildableHelperLibrary</name>
<message>
<source>Cannot start process: %1</source>
@@ -27780,26 +29583,18 @@ Error: %5</translation>
<source>Run %1</source>
<translation>Запуск %1</translation>
</message>
+ <message>
+ <source>You need to set an executable in the custom run configuration.</source>
+ <translation>Необходимо выбрать исполняемый файл в особой конфигурации запуска.</translation>
+ </message>
</context>
<context>
<name>ProjectExplorer::CustomWizard</name>
<message>
- <source>Creates a custom Qt Creator plugin.</source>
- <translation>Создание особого подключаемого модуля для Qt Creator.</translation>
- </message>
- <message>
<source>Other Project</source>
<translation>Другой проект</translation>
</message>
<message>
- <source>URL:</source>
- <translation>URL:</translation>
- </message>
- <message>
- <source>Qt Creator Plugin</source>
- <translation>Модуль Qt Creator</translation>
- </message>
- <message>
<source>Creates a qmake-based test project for which a code snippet can be entered.</source>
<translation>Создание тестового проекта на базе qmake с возможностью вставки фрагмента кода.</translation>
</message>
@@ -27835,54 +29630,6 @@ Error: %5</translation>
<source>Gui application (QtCore, QtGui, QtWidgets)</source>
<translation>Приложение с GUI (QtCore, QtGui, QtWidgets)</translation>
</message>
- <message>
- <source>Library</source>
- <translation>Библиотека</translation>
- </message>
- <message>
- <source>Plugin Information</source>
- <translation>Информация о модуле</translation>
- </message>
- <message>
- <source>Plugin name:</source>
- <translation>Название модуля:</translation>
- </message>
- <message>
- <source>Vendor name:</source>
- <translation>Разработчик:</translation>
- </message>
- <message>
- <source>Copyright:</source>
- <translation>Авторское право:</translation>
- </message>
- <message>
- <source>License:</source>
- <translation>Лицензия:</translation>
- </message>
- <message>
- <source>Description:</source>
- <translation>Описание:</translation>
- </message>
- <message>
- <source>Qt Creator sources:</source>
- <translation>Исходники Qt Creator:</translation>
- </message>
- <message>
- <source>Qt Creator build:</source>
- <translation>Сборка Qt Creator:</translation>
- </message>
- <message>
- <source>Deploy into:</source>
- <translation>Развернуть на:</translation>
- </message>
- <message>
- <source>Qt Creator build</source>
- <translation>Сборка Qt Creator</translation>
- </message>
- <message>
- <source>Local user settings</source>
- <translation>Локальные настройки пользователя</translation>
- </message>
</context>
<context>
<name>ProjectExplorer::DebuggingHelperLibrary</name>
@@ -27961,7 +29708,7 @@ Error: %5</translation>
</message>
<message>
<source>Cannot interrupt process with pid %1: %2</source>
- <translation>Не удалось прервать процесс с PID %1: %2</translation>
+ <translation>Не удалось приостановить процесс с PID %1: %2</translation>
</message>
<message>
<source>%1 does not exist. If you built %2 yourself, check out https://code.qt.io/cgit/qt-creator/binary-artifacts.git/.</source>
@@ -28133,8 +29880,8 @@ Error: %5</translation>
<context>
<name>ProjectExplorer::EnvironmentAspect</name>
<message>
- <source>Run Environment</source>
- <translation>Среда выполнения</translation>
+ <source>Environment</source>
+ <translation>Среда</translation>
</message>
</context>
<context>
@@ -28239,6 +29986,10 @@ Error: %5</translation>
<translation>Используется &lt;b&gt;%1&lt;/b&gt;</translation>
</message>
<message>
+ <source>&lt;b&gt;No environment changes&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Среда без изменений&lt;/b&gt;</translation>
+ </message>
+ <message>
<source>Use &lt;b&gt;%1&lt;/b&gt; and</source>
<extracomment>Yup, word puzzle. The Set/Unset phrases above are appended to this. %1 is &quot;System Environment&quot; or some such.</extracomment>
<translation>Используется &lt;b&gt;%1&lt;/b&gt; и</translation>
@@ -28349,10 +30100,6 @@ Excluding: %2
<translation>Остановить</translation>
</message>
<message>
- <source>Re-run this run-configuration</source>
- <translation>Перезапустить эту конфигурацию запуска</translation>
- </message>
- <message>
<source>Attach debugger to this process</source>
<translation>Подключить отладчик к этому процессу</translation>
</message>
@@ -28373,8 +30120,12 @@ Excluding: %2
<translation>Закрыть другие вкладки</translation>
</message>
<message>
- <source>Stop Running Program</source>
- <translation>Остановка работающей программы</translation>
+ <source>Re-run this run-configuration.</source>
+ <translation>Перезапустить эту конфигурацию запуска.</translation>
+ </message>
+ <message>
+ <source>Stop running program.</source>
+ <translation>Остановка работающей программы.</translation>
</message>
<message>
<source>Open Settings Page</source>
@@ -28412,7 +30163,7 @@ Excluding: %2
<translation>Никогда</translation>
</message>
<message>
- <source>On first output only</source>
+ <source>On First Output Only</source>
<translation>Только при первом выводе</translation>
</message>
<message>
@@ -28433,6 +30184,45 @@ Excluding: %2
</message>
</context>
<context>
+ <name>ProjectExplorer::Internal::BuildPropertiesSettingsPage</name>
+ <message>
+ <source>Enable</source>
+ <translation>Включить</translation>
+ </message>
+ <message>
+ <source>Disable</source>
+ <translation>Отключить</translation>
+ </message>
+ <message>
+ <source>Use Project Default</source>
+ <translation>По умолчанию для проекта</translation>
+ </message>
+ <message>
+ <source>Reset</source>
+ <translation>Сбросить</translation>
+ </message>
+ <message>
+ <source>Default build directory:</source>
+ <translation>Каталог сборки по умолчанию:</translation>
+ </message>
+ <message>
+ <source>Separate debug info:</source>
+ <translation>Отделять отладочную информацию:</translation>
+ </message>
+ <message>
+ <source>QML debugging:</source>
+ <translation>Отладка QML:</translation>
+ </message>
+ <message>
+ <source>Use Qt Quick Compiler:</source>
+ <translation>Использовать компилятор Qt Quick:</translation>
+ </message>
+ <message>
+ <source>Default Build Properties</source>
+ <translation>Умолчальные свойства сборки</translation>
+ </message>
+</context>
+<context>
<name>ProjectExplorer::Internal::BuildSettingsWidget</name>
<message>
<source>No build settings available</source>
@@ -28853,15 +30643,20 @@ Excluding: %2
<translation>Внешний каталог</translation>
</message>
<message>
+ <source>Add</source>
+ <translation>Добавить</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Удалить</translation>
+ </message>
+ <message>
<source>Files to deploy:</source>
<translation>Развёртываемые файлы:</translation>
</message>
-</context>
-<context>
- <name>ProjectExplorer::Internal::DesktopDeviceFactory</name>
<message>
- <source>Desktop</source>
- <translation>Desktop</translation>
+ <source>Override deployment data from build system</source>
+ <translation>Заменять данные развёртывания системы сборки</translation>
</message>
</context>
<context>
@@ -28870,10 +30665,6 @@ Excluding: %2
<source>Qt Run Configuration</source>
<translation>Конфигурация выполнения Qt</translation>
</message>
- <message>
- <source>The project no longer builds the target associated with this run configuration.</source>
- <translation>Проект больше не собирает цель, ассоциированную с ним в конфигурации запуска.</translation>
- </message>
</context>
<context>
<name>ProjectExplorer::Internal::DeviceFactorySelectionDialog</name>
@@ -28898,13 +30689,6 @@ Excluding: %2
</message>
</context>
<context>
- <name>ProjectExplorer::Internal::DeviceSettingsPage</name>
- <message>
- <source>Devices</source>
- <translation>Устройства</translation>
- </message>
-</context>
-<context>
<name>ProjectExplorer::Internal::DeviceSettingsWidget</name>
<message>
<source>Linux Device Configurations</source>
@@ -28966,6 +30750,10 @@ Excluding: %2
<source>Show Running Processes...</source>
<translation>Запущенные процессы...</translation>
</message>
+ <message>
+ <source>Devices</source>
+ <translation>Устройства</translation>
+ </message>
</context>
<context>
<name>ProjectExplorer::Internal::DeviceTestDialog</name>
@@ -29014,6 +30802,13 @@ Excluding: %2
</message>
</context>
<context>
+ <name>ProjectExplorer::Internal::FilesSelectionWizardPage</name>
+ <message>
+ <source>Files</source>
+ <translation>Файлы</translation>
+ </message>
+</context>
+<context>
<name>ProjectExplorer::Internal::FilterKitAspectsDialog</name>
<message>
<source>Setting</source>
@@ -29550,13 +31345,6 @@ What should Qt Creator do now?</source>
</message>
</context>
<context>
- <name>ProjectExplorer::Internal::ProjectExplorerSettingsPage</name>
- <message>
- <source>General</source>
- <translation>Основное</translation>
- </message>
-</context>
-<context>
<name>ProjectExplorer::Internal::ProjectExplorerSettingsPageUi</name>
<message>
<source>Build and Run</source>
@@ -29583,10 +31371,6 @@ What should Qt Creator do now?</source>
<translation>Сохранять все файлы перед сборкой</translation>
</message>
<message>
- <source>Always build project before deploying it</source>
- <translation>Всегда собирать проект перед развёртыванием</translation>
- </message>
- <message>
<source>Always deploy project before running it</source>
<translation>Всегда развёртывать проект перед запуском</translation>
</message>
@@ -29595,14 +31379,6 @@ What should Qt Creator do now?</source>
<translation>Всегда спрашивать перед остановкой приложений</translation>
</message>
<message>
- <source>Reset</source>
- <translation>Сбросить</translation>
- </message>
- <message>
- <source>Default build directory:</source>
- <translation>Каталог сборки по умолчанию:</translation>
- </message>
- <message>
<source>Asks before terminating the running application in response to clicking the stop button in Application Output.</source>
<translation>Спрашивать перед остановкой запущенного приложения при нажатии на кнопку остановки консоли вывода приложения.</translation>
</message>
@@ -29615,22 +31391,6 @@ What should Qt Creator do now?</source>
<translation>Останавливать приложение перед сборкой:</translation>
</message>
<message>
- <source>None</source>
- <translation>Никогда</translation>
- </message>
- <message>
- <source>Same Project</source>
- <translation>Тот же проект</translation>
- </message>
- <message>
- <source>All</source>
- <translation>Всегда</translation>
- </message>
- <message>
- <source>Same Build Directory</source>
- <translation>В том же каталоге сборки</translation>
- </message>
- <message>
<source>Add linker library search paths to run environment</source>
<translation>Добавлять каталог библиотек компоновщика в среду исполнения</translation>
</message>
@@ -29667,10 +31427,6 @@ What should Qt Creator do now?</source>
<translation>Отключено</translation>
</message>
<message>
- <source>Deduced From Project</source>
- <translation>Согласно проекту</translation>
- </message>
- <message>
<source>Abort on error when building all projects</source>
<translation>Прерываться по ошибке при сборке всех проектов</translation>
</message>
@@ -29682,6 +31438,14 @@ What should Qt Creator do now?</source>
<source>Start build processes with low priority</source>
<translation>Запускать процессы сборки с низким приоритетом</translation>
</message>
+ <message>
+ <source>Build before deploying:</source>
+ <translation>Собирать перед развёртыванием:</translation>
+ </message>
+ <message>
+ <source>Deduced from Project</source>
+ <translation>Согласно проекту</translation>
+ </message>
</context>
<context>
<name>ProjectExplorer::Internal::ProjectFileWizardExtension</name>
@@ -29707,13 +31471,6 @@ to project &quot;%2&quot;.</source>
</message>
</context>
<context>
- <name>ProjectExplorer::Internal::ProjectListWidget</name>
- <message>
- <source>%1 (%2)</source>
- <translation>%1 (%2)</translation>
- </message>
-</context>
-<context>
<name>ProjectExplorer::Internal::ProjectTreeWidget</name>
<message>
<source>Simplify Tree</source>
@@ -29724,6 +31481,10 @@ to project &quot;%2&quot;.</source>
<translation>Скрыть сгенерированные файлы</translation>
</message>
<message>
+ <source>Hide Disabled Files</source>
+ <translation>Скрывать отключённые файлы</translation>
+ </message>
+ <message>
<source>Focus Document in Project Tree</source>
<translation>Перейти к документу в дереве проекта</translation>
</message>
@@ -29828,6 +31589,14 @@ to project &quot;%2&quot;.</source>
<translation>проект</translation>
</message>
<message>
+ <source>Remove Project from Recent Projects</source>
+ <translation>Удалить проект из Недавних проектов</translation>
+ </message>
+ <message>
+ <source>Clear Recent Project List</source>
+ <translation>Очистить список недавних проектов</translation>
+ </message>
+ <message>
<source>Manage</source>
<translation>Настроить</translation>
</message>
@@ -30045,10 +31814,6 @@ to project &quot;%2&quot;.</source>
<translation>&amp;Удалить</translation>
</message>
<message>
- <source>&amp;Switch to</source>
- <translation>&amp;Активировать</translation>
- </message>
- <message>
<source>&lt;a href=&quot;qthelp://org.qt-project.qtcreator/doc/creator-project-managing-sessions.html&quot;&gt;What is a Session?&lt;/a&gt;</source>
<translation>&lt;a href=&quot;qthelp://org.qt-project.qtcreator/doc/creator-project-managing-sessions.html&quot;&gt;Что такое сессия?&lt;/a&gt;</translation>
</message>
@@ -30056,6 +31821,10 @@ to project &quot;%2&quot;.</source>
<source>Restore last session on startup</source>
<translation>Восстанавливать последнюю сессию</translation>
</message>
+ <message>
+ <source>&amp;Switch To</source>
+ <translation>&amp;Активировать</translation>
+ </message>
</context>
<context>
<name>ProjectExplorer::Internal::SessionModel</name>
@@ -30134,15 +31903,50 @@ to project &quot;%2&quot;.</source>
</message>
</context>
<context>
- <name>ProjectExplorer::Internal::SshSettingsPage</name>
+ <name>ProjectExplorer::Internal::SimpleProjectWizard</name>
<message>
- <source>SSH</source>
- <translation>SSH</translation>
+ <source>Import as qmake or cmake Project (Limited Functionality)</source>
+ <translation>Импортировать как проект qmake или cmake (ограниченная функциональность)</translation>
+ </message>
+ <message>
+ <source>Imports existing projects that do not use qmake, CMake or Autotools.&lt;p&gt;This creates a project file that allows you to use %1 as a code editor and as a launcher for debugging and analyzing tools. If you want to build the project, you might need to edit the generated project file.</source>
+ <translation>Импорт существующего проекта, не использующего qmake, CMake или Autotools.&lt;p&gt;Будет создан файл проекта, позволяющий использовать %1 в качестве редактора кода и для запуска инструментов отладки и анализа. Для сборки проекта необходимо внести изменения в файл проекта.</translation>
+ </message>
+ <message>
+ <source>Unknown build system &quot;%1&quot;</source>
+ <translation>Неизвестная система сборки «%1»</translation>
+ </message>
+</context>
+<context>
+ <name>ProjectExplorer::Internal::SimpleProjectWizardDialog</name>
+ <message>
+ <source>Import Existing Project</source>
+ <translation>Импорт существующего проекта</translation>
+ </message>
+ <message>
+ <source>Project Name and Location</source>
+ <translation>Название и размещение проекта</translation>
+ </message>
+ <message>
+ <source>Project name:</source>
+ <translation>Название проекта:</translation>
+ </message>
+ <message>
+ <source>Location:</source>
+ <translation>Размещение:</translation>
+ </message>
+ <message>
+ <source>File Selection</source>
+ <translation>Выбор файла</translation>
</message>
</context>
<context>
<name>ProjectExplorer::Internal::SshSettingsWidget</name>
<message>
+ <source>SSH</source>
+ <translation>SSH</translation>
+ </message>
+ <message>
<source>Enable connection sharing:</source>
<translation>Включить общий доступ к соединению:</translation>
</message>
@@ -30174,10 +31978,6 @@ to project &quot;%2&quot;.</source>
<context>
<name>ProjectExplorer::Internal::TargetSetupWidget</name>
<message>
- <source>You cannot use this kit, because it does not fulfill the project&apos;s prerequisites.</source>
- <translation>Невозможно использовать этот комплект, так как он не соответствует требованиям проекта.</translation>
- </message>
- <message>
<source>&lt;b&gt;Error:&lt;/b&gt; </source>
<comment>Severity is Task::Error</comment>
<translation>&lt;b&gt;Ошибка:&lt;/b&gt; </translation>
@@ -30479,6 +32279,18 @@ Enable this if you plan to create 32-bit x86 binaries without using a dedicated
<context>
<name>ProjectExplorer::JsonKitsPage</name>
<message>
+ <source>At least one required feature is not present.</source>
+ <translation>Минимум одна необходимая особенность отсутствует.</translation>
+ </message>
+ <message>
+ <source>Platform is not supported.</source>
+ <translation>Платформа не поддерживается.</translation>
+ </message>
+ <message>
+ <source>At least one preferred feature is not present.</source>
+ <translation>Минимум одна желательная особенность отсутствует.</translation>
+ </message>
+ <message>
<source>Feature list is set and not of type list.</source>
<translation>Список особенностей задан, но не является типом list.</translation>
</message>
@@ -31043,10 +32855,6 @@ Preselects a desktop Qt for building the application if available.</source>
При наличии выбирает профиль Desktop Qt для сборки приложения.</translation>
</message>
<message>
- <source>Application</source>
- <translation>Приложение</translation>
- </message>
- <message>
<source>Qt Console Application</source>
<translation>Консольное приложение Qt</translation>
</message>
@@ -31354,10 +33162,202 @@ Use this only if you are prototyping. You cannot create a full application with
<translation>Библиотека</translation>
</message>
<message>
+ <source>This wizard creates a custom Qt Creator plugin.</source>
+ <translation>Этот мастер создаст новый модуль Qt Creator.</translation>
+ </message>
+ <message>
+ <source>Specify details about your custom Qt Creator plugin.</source>
+ <translation>Заполните форму нового модуля Qt Creator.</translation>
+ </message>
+ <message>
+ <source>%{JS: value(&apos;ProjectName&apos;).charAt(0).toUpperCase() + value(&apos;ProjectName&apos;).slice(1)}</source>
+ <translation>%{JS: value(&apos;ProjectName&apos;).charAt(0).toUpperCase() + value(&apos;ProjectName&apos;).slice(1)}</translation>
+ </message>
+ <message>
+ <source>Plugin name:</source>
+ <translation>Название модуля:</translation>
+ </message>
+ <message>
+ <source>MyCompany</source>
+ <translation>МояКомпания</translation>
+ </message>
+ <message>
+ <source>Vendor name:</source>
+ <translation>Разработчик:</translation>
+ </message>
+ <message>
+ <source>(C) %{VendorName}</source>
+ <translation>(C) %{VendorName}</translation>
+ </message>
+ <message>
+ <source>Copyright:</source>
+ <translation>Авторское право:</translation>
+ </message>
+ <message>
+ <source>Put short license information here</source>
+ <translation>Краткая информация о лицензии</translation>
+ </message>
+ <message>
+ <source>License:</source>
+ <translation>Лицензия:</translation>
+ </message>
+ <message>
+ <source>Put a short description of your plugin here</source>
+ <translation>Краткое описание модуля</translation>
+ </message>
+ <message>
+ <source>Description:</source>
+ <translation>Описание:</translation>
+ </message>
+ <message>
+ <source>https://www.%{JS: encodeURIComponent(value(&apos;VendorName&apos;).toLowerCase())}.com</source>
+ <translation>https://www.%{JS: encodeURIComponent(value(&apos;VendorName&apos;).toLowerCase())}.com</translation>
+ </message>
+ <message>
+ <source>URL:</source>
+ <translation>URL:</translation>
+ </message>
+ <message>
+ <source>Qt Creator sources:</source>
+ <translation>Исходники Qt Creator:</translation>
+ </message>
+ <message>
+ <source>Qt Creator build:</source>
+ <translation>Сборка Qt Creator:</translation>
+ </message>
+ <message>
+ <source>Qt Creator Build</source>
+ <translation>Сборка Qt Creator</translation>
+ </message>
+ <message>
+ <source>Local User Settings</source>
+ <translation>Локальные настройки пользователя</translation>
+ </message>
+ <message>
+ <source>Deploy into:</source>
+ <translation>Развернуть в:</translation>
+ </message>
+ <message>
+ <source>Creates a custom Qt Creator plugin.</source>
+ <translation>Создание особого подключаемого модуля для Qt Creator.</translation>
+ </message>
+ <message>
+ <source>Qt Creator Plugin</source>
+ <translation>Модуль Qt Creator</translation>
+ </message>
+ <message>
+ <source>Application (Qt)</source>
+ <translation>Приложение (Qt)</translation>
+ </message>
+ <message>
<source>C++ Library</source>
<translation>Библиотека C++</translation>
</message>
<message>
+ <source>Binary</source>
+ <translation>Программа</translation>
+ </message>
+ <message>
+ <source>Hybrid</source>
+ <translation>Гибрид</translation>
+ </message>
+ <message>
+ <source>Author:</source>
+ <translation>Автор:</translation>
+ </message>
+ <message>
+ <source>0.1.0</source>
+ <translation>0.1.0</translation>
+ </message>
+ <message>
+ <source>Version:</source>
+ <translation>Версия:</translation>
+ </message>
+ <message>
+ <source>MIT</source>
+ <translation>MIT</translation>
+ </message>
+ <message>
+ <source>GPL-2.0</source>
+ <translation>GPL-2.0</translation>
+ </message>
+ <message>
+ <source>Apache-2.0</source>
+ <translation>Apache-2.0</translation>
+ </message>
+ <message>
+ <source>ISC</source>
+ <translation>ISC</translation>
+ </message>
+ <message>
+ <source>GPL-3.0</source>
+ <translation>GPL-3.0</translation>
+ </message>
+ <message>
+ <source>BSD-3-Clause</source>
+ <translation>BSD-3-Clause</translation>
+ </message>
+ <message>
+ <source>LGPL-2.1</source>
+ <translation>LGPL-2.1</translation>
+ </message>
+ <message>
+ <source>LGPL-3.0</source>
+ <translation>LGPL-3.0</translation>
+ </message>
+ <message>
+ <source>EPL-2.0</source>
+ <translation>EPL-2.0</translation>
+ </message>
+ <message>
+ <source>Proprietary</source>
+ <translation>Проприетарная</translation>
+ </message>
+ <message>
+ <source>Other</source>
+ <translation>Другая</translation>
+ </message>
+ <message>
+ <source>C</source>
+ <translation>C</translation>
+ </message>
+ <message>
+ <source>Cpp</source>
+ <translation>Cpp</translation>
+ </message>
+ <message>
+ <source>Objective C</source>
+ <translation>Objective C</translation>
+ </message>
+ <message>
+ <source>Javascript</source>
+ <translation>Javascript</translation>
+ </message>
+ <message>
+ <source>Backend:</source>
+ <translation>Бэкенд:</translation>
+ </message>
+ <message>
+ <source>1.0.0</source>
+ <translation>1.0.0</translation>
+ </message>
+ <message>
+ <source>Min Nim Version:</source>
+ <translation>Nim версии от:</translation>
+ </message>
+ <message>
+ <source>Define Project Configuration</source>
+ <translation>Задание конфигурации проекта</translation>
+ </message>
+ <message>
+ <source>Creates a Nim application with Nimble.</source>
+ <translation>Создание приложения Nim с Nimble.</translation>
+ </message>
+ <message>
+ <source>Nimble Application</source>
+ <translation>Приложение Nimble</translation>
+ </message>
+ <message>
<source>MyItem</source>
<translation>MyItem</translation>
</message>
@@ -31386,6 +33386,10 @@ Use this only if you are prototyping. You cannot create a full application with
<translation>Модуль расширения Qt Quick 2</translation>
</message>
<message>
+ <source>Qt 5.15</source>
+ <translation>Qt 5.15</translation>
+ </message>
+ <message>
<source>Qt 5.14</source>
<translation>Qt 5.14</translation>
</message>
@@ -31450,6 +33454,10 @@ Preselects a desktop Qt for building the application if available.</source>
<translation>Создание приложения на основе Qt for Python, содержащее только основной код QApplication.</translation>
</message>
<message>
+ <source>Application (Qt for Python)</source>
+ <translation>Приложение (Qt для Python)</translation>
+ </message>
+ <message>
<source>Qt for Python - Empty</source>
<translation>Qt for Python - Пустой</translation>
</message>
@@ -31474,10 +33482,46 @@ Preselects a desktop Qt for building the application if available.</source>
<translation>Qt for Python - Окно</translation>
</message>
<message>
+ <source>PySide 5.15</source>
+ <translation>PySide 5.15</translation>
+ </message>
+ <message>
+ <source>PySide 5.14</source>
+ <translation>PySide 5.14</translation>
+ </message>
+ <message>
+ <source>PySide 5.13</source>
+ <translation>PySide 5.13</translation>
+ </message>
+ <message>
+ <source>PySide 5.12</source>
+ <translation>PySide 5.12</translation>
+ </message>
+ <message>
+ <source>PySide version:</source>
+ <translation>Версия PySide:</translation>
+ </message>
+ <message>
<source>Creates a Qt Quick application that contains an empty window.</source>
<translation>Создание приложения Qt Quick, содержащее пустое окно.</translation>
</message>
<message>
+ <source>Qt for Python - Qt Quick Application - Empty</source>
+ <translation>Qt для Python - Приложение Qt Quick - Пустое</translation>
+ </message>
+ <message>
+ <source>Creates a Qt for Python application that includes a Qt Designer-based widget (ui file)</source>
+ <translation>Создание приложения на Qt для Python, включающее виджет Qt Designer (файл ui)</translation>
+ </message>
+ <message>
+ <source>Qt for Python - Window (UI file)</source>
+ <translation>Qt для Python - Окно (файл UI)</translation>
+ </message>
+ <message>
+ <source>Application (Qt Quick)</source>
+ <translation>Приложение (Qt Quick)</translation>
+ </message>
+ <message>
<source>Qt Quick Application - Empty</source>
<translation>Приложение Qt Quick - Пустое</translation>
</message>
@@ -31971,45 +34015,6 @@ Preselects a desktop Qt for building the application if available.</source>
</message>
</context>
<context>
- <name>ProjectExplorer::KitOptionsPage</name>
- <message>
- <source>Kits</source>
- <translation>Комплекты</translation>
- </message>
- <message>
- <source>Add</source>
- <translation>Добавить</translation>
- </message>
- <message>
- <source>Clone</source>
- <translation>Копировать</translation>
- </message>
- <message>
- <source>Remove</source>
- <translation>Удалить</translation>
- </message>
- <message>
- <source>Make Default</source>
- <translation>Сделать по умолчанию</translation>
- </message>
- <message>
- <source>Settings Filter...</source>
- <translation>Фильтр настроек...</translation>
- </message>
- <message>
- <source>Choose which settings to display for this kit.</source>
- <translation>Выбор настроек, отображаемых для этого комплекта.</translation>
- </message>
- <message>
- <source>Default Settings Filter...</source>
- <translation>Фильтр настроек по умолчанию...</translation>
- </message>
- <message>
- <source>Choose which kit settings to display by default.</source>
- <translation>Выбор настроек комплекта, отображаемых по умолчанию.</translation>
- </message>
-</context>
-<context>
<name>ProjectExplorer::LocalEnvironmentAspect</name>
<message>
<source>Build Environment</source>
@@ -32209,26 +34214,10 @@ Please close all running instances of your application before starting a build.<
<translation>Закрыть проект «%1»</translation>
</message>
<message>
- <source>Build All</source>
- <translation>Собрать всё</translation>
- </message>
- <message>
<source>Ctrl+Shift+B</source>
<translation>Ctrl+Shift+B</translation>
</message>
<message>
- <source>Rebuild All</source>
- <translation>Пересобрать всё</translation>
- </message>
- <message>
- <source>Deploy All</source>
- <translation>Развернуть всё</translation>
- </message>
- <message>
- <source>Clean All</source>
- <translation>Очистить всё</translation>
- </message>
- <message>
<source>Build Project</source>
<translation>Собрать проект</translation>
</message>
@@ -32410,18 +34399,6 @@ Please close all running instances of your application before starting a build.<
<translation>Предполагаемая для запуска конфигурация больше не доступна.</translation>
</message>
<message>
- <source>Stop Applications</source>
- <translation>Остановка приложений</translation>
- </message>
- <message>
- <source>Stop these applications before building?</source>
- <translation>Остановить эти приложения перед сборкой?</translation>
- </message>
- <message>
- <source>The project %1 is not configured, skipping it.</source>
- <translation>Проект %1 не настроен, пропущен.</translation>
- </message>
- <message>
<source>No project loaded.</source>
<translation>Проект не загружен.</translation>
</message>
@@ -32438,14 +34415,6 @@ Please close all running instances of your application before starting a build.<
<translation>Проект не имеет настроек сборки.</translation>
</message>
<message>
- <source>Building &quot;%1&quot; is disabled: %2&lt;br&gt;</source>
- <translation>Сборка «%1» отключена: %2&lt;br&gt;</translation>
- </message>
- <message>
- <source>Building &quot;%1&quot; is disabled: %2</source>
- <translation>Сборка «%1» отключена: %2</translation>
- </message>
- <message>
<source>Do Not Close</source>
<translation>Не закрывать</translation>
</message>
@@ -32612,6 +34581,42 @@ Do you want to ignore them?</source>
<translation>Закрыть все документы и проекты</translation>
</message>
<message>
+ <source>Build All Projects</source>
+ <translation>Собрать все проекты</translation>
+ </message>
+ <message>
+ <source>Build All Projects for All Configurations</source>
+ <translation>Собрать все проекты во всех конфигурациях</translation>
+ </message>
+ <message>
+ <source>Deploy All Projects</source>
+ <translation>Развернуть все проекты</translation>
+ </message>
+ <message>
+ <source>Rebuild All Projects</source>
+ <translation>Пересобрать все проекты</translation>
+ </message>
+ <message>
+ <source>Rebuild All Projects for All Configurations</source>
+ <translation>Пересобрать все проекты во всех конфигурациях</translation>
+ </message>
+ <message>
+ <source>Clean All Projects</source>
+ <translation>Очистить все проекты</translation>
+ </message>
+ <message>
+ <source>Clean All Projects for All Configurations</source>
+ <translation>Очистить все проекты во всех конфигурациях</translation>
+ </message>
+ <message>
+ <source>Build Project for All Configurations</source>
+ <translation>Собрать проект во всех конфигурациях</translation>
+ </message>
+ <message>
+ <source>Build Project &quot;%1&quot; for All Configurations</source>
+ <translation>Собрать проект «%1» во всех конфигурациях</translation>
+ </message>
+ <message>
<source>Build for Run Configuration</source>
<translation>Сборка для конфигурации запуска</translation>
</message>
@@ -32620,6 +34625,22 @@ Do you want to ignore them?</source>
<translation>Собрать для конфигурации запуска «%1»</translation>
</message>
<message>
+ <source>Rebuild Project for All Configurations</source>
+ <translation>Пересобрать проект во всех конфигурациях</translation>
+ </message>
+ <message>
+ <source>Rebuild Project &quot;%1&quot; for All Configurations</source>
+ <translation>Пересобрать проект «%1» во всех конфигурациях</translation>
+ </message>
+ <message>
+ <source>Clean Project for All Configurations</source>
+ <translation>Очистить проект во всех конфигурациях</translation>
+ </message>
+ <message>
+ <source>Clean Project &quot;%1&quot; for All Configurations</source>
+ <translation>Очистить проект «%1» во всех конфигурациях</translation>
+ </message>
+ <message>
<source>Build</source>
<translation>Собрать</translation>
</message>
@@ -32720,14 +34741,6 @@ Do you want to ignore them?</source>
<translation>Не удалось открыть проект «%1»: проект не является файлом.</translation>
</message>
<message>
- <source>Unknown error</source>
- <translation>Неизвестная ошибка</translation>
- </message>
- <message>
- <source>Could Not Run</source>
- <translation>Невозможно запустить</translation>
- </message>
- <message>
<source>Build</source>
<comment>Build step</comment>
<translation>Сборка</translation>
@@ -32858,20 +34871,8 @@ Do you want to ignore them?</source>
<translation>Рабочий каталог текущей активной конфигурации запуска</translation>
</message>
<message>
- <source>The project is currently being parsed.</source>
- <translation>Проект ещё разбирается.</translation>
- </message>
- <message>
- <source>The project could not be fully parsed.</source>
- <translation>Не удалось полностью разобрать проект.</translation>
- </message>
- <message>
- <source>The project file &quot;%1&quot; does not exist.</source>
- <translation>Файл проекта «%1» отсутствует.</translation>
- </message>
- <message>
- <source>Unknown error.</source>
- <translation>Неизвестная ошибка.</translation>
+ <source>No build system active</source>
+ <translation>Система сборки не включена</translation>
</message>
<message>
<source>Run on %1</source>
@@ -32899,6 +34900,14 @@ Do you want to ignore them?</source>
<translation>&amp;Продолжить выполнение</translation>
</message>
<message>
+ <source>%1 crashed.</source>
+ <translation>%1 аварийно завершился.</translation>
+ </message>
+ <message>
+ <source>%2 exited with code %1</source>
+ <translation>%2 завершился с кодом %1</translation>
+ </message>
+ <message>
<source>Starting %1 %2...</source>
<translation>Запускается %1 %2...</translation>
</message>
@@ -33016,6 +35025,13 @@ These files are preserved.</source>
</message>
</context>
<context>
+ <name>ProjectExplorer::SeparateDebugInfoAspect</name>
+ <message>
+ <source>Separate Debug Info:</source>
+ <translation>Отделять отладочную информацию:</translation>
+ </message>
+</context>
+<context>
<name>ProjectExplorer::SessionManager</name>
<message>
<source>Error while restoring session</source>
@@ -33030,6 +35046,10 @@ These files are preserved.</source>
<translation>Не удалось восстановить файлы проекта</translation>
</message>
<message>
+ <source>Could not save session %1</source>
+ <translation>Не удалось сохранить сессию %1</translation>
+ </message>
+ <message>
<source>Delete Session</source>
<translation>Удаление сессии</translation>
</message>
@@ -33338,6 +35358,13 @@ These files are preserved.</source>
</message>
</context>
<context>
+ <name>ProjectExplorerPluginPrivate</name>
+ <message>
+ <source>Building &quot;%1&quot; is disabled: %2&lt;br&gt;</source>
+ <translation>Сборка «%1» отключена: %2&lt;br&gt;</translation>
+ </message>
+</context>
+<context>
<name>ProjectWizard</name>
<message>
<source>The files are implicitly added to the projects:</source>
@@ -33353,6 +35380,99 @@ These files are preserved.</source>
</message>
</context>
<context>
+ <name>ProjextExplorer::Internal::KitOptionsPageWidget</name>
+ <message>
+ <source>Add</source>
+ <translation>Добавить</translation>
+ </message>
+ <message>
+ <source>Clone</source>
+ <translation>Скопировать</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Удалить</translation>
+ </message>
+ <message>
+ <source>Make Default</source>
+ <translation>Сделать по умолчанию</translation>
+ </message>
+ <message>
+ <source>Settings Filter...</source>
+ <translation>Фильтр настроек...</translation>
+ </message>
+ <message>
+ <source>Choose which settings to display for this kit.</source>
+ <translation>Выбор настроек, отображаемых для этого комплекта.</translation>
+ </message>
+ <message>
+ <source>Default Settings Filter...</source>
+ <translation>Фильтр настроек по умолчанию...</translation>
+ </message>
+ <message>
+ <source>Choose which kit settings to display by default.</source>
+ <translation>Выбор настроек комплекта, отображаемых по умолчанию.</translation>
+ </message>
+ <message>
+ <source>Kits</source>
+ <translation>Комплекты</translation>
+ </message>
+</context>
+<context>
+ <name>ProjextExplorer::Internal::ProjectExplorerSettings</name>
+ <message>
+ <source>None</source>
+ <translation>Нет</translation>
+ </message>
+ <message>
+ <source>All</source>
+ <translation>Все</translation>
+ </message>
+ <message>
+ <source>Same Project</source>
+ <translation>Тот же проект</translation>
+ </message>
+ <message>
+ <source>Same Build Directory</source>
+ <translation>Тот же каталог сборки</translation>
+ </message>
+ <message>
+ <source>Same Application</source>
+ <translation>То же приложение</translation>
+ </message>
+ <message>
+ <source>Do Not Build Anything</source>
+ <translation>Ничего не собирать</translation>
+ </message>
+ <message>
+ <source>Build the Whole Project</source>
+ <translation>Собрать весь проект</translation>
+ </message>
+ <message>
+ <source>Build Only the Application to Be Run</source>
+ <translation>Собрать только запускаемое приложение</translation>
+ </message>
+ <message>
+ <source>General</source>
+ <translation>Основное</translation>
+ </message>
+</context>
+<context>
+ <name>PropertyActionSpecifics</name>
+ <message>
+ <source>Property Action</source>
+ <translation>Действие над свойством</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation>Значение</translation>
+ </message>
+ <message>
+ <source>Sets the value of the property.</source>
+ <translation>Значение свойства.</translation>
+ </message>
+</context>
+<context>
<name>ProvisioningProfile</name>
<message>
<source>Team: %1
@@ -33481,6 +35601,14 @@ App ID: %2
<context>
<name>Python::Internal::PythonRunConfiguration</name>
<message>
+ <source>Buffered output</source>
+ <translation>Буферизованный вывод</translation>
+ </message>
+ <message>
+ <source>Enabling improves output performance, but results in delayed output.</source>
+ <translation>Включение увеличит скорость вывода, но создаст задержку.</translation>
+ </message>
+ <message>
<source>Script:</source>
<translation>Сценарий:</translation>
</message>
@@ -33601,20 +35729,25 @@ Copy the path to the source files to the clipboard?</source>
<source>Updating syntax definition for &apos;%1&apos; to version %2...</source>
<translation>Обновление определений синтаксиса для «%1» до версии «%2»...</translation>
</message>
-</context>
-<context>
- <name>QQmlParser</name>
<message>
- <source>Syntax error</source>
- <translation>Синтаксическая ошибка</translation>
+ <source>List All Tabs</source>
+ <translation>Отображение всех вкладок</translation>
</message>
<message>
- <source>Unexpected token `%1&apos;</source>
- <translation>Неожиданная лексема «%1»</translation>
+ <source>Detach Group</source>
+ <translation>Отцепить группу</translation>
</message>
<message>
- <source>Expected token `%1&apos;</source>
- <translation>Ожидается лексема «%1»</translation>
+ <source>Close Active Tab</source>
+ <translation>Закрыть текущую вкладку</translation>
+ </message>
+ <message>
+ <source>Close Group</source>
+ <translation>Закрыть группу</translation>
+ </message>
+ <message>
+ <source>Close Tab</source>
+ <translation>Закрыть вкладку</translation>
</message>
</context>
<context>
@@ -33780,10 +35913,10 @@ Copy the path to the source files to the clipboard?</source>
</message>
</context>
<context>
- <name>QbsInstallStep</name>
+ <name>QWidget</name>
<message>
- <source>&lt;b&gt;Qbs:&lt;/b&gt; %1</source>
- <translation type="unfinished">&lt;b&gt;Qbs:&lt;/b&gt; %1</translation>
+ <source>Images (*.png *.jpg *.webp *.svg)</source>
+ <translation>Изображения (*.png *.jpg *.webp *.svg)</translation>
</message>
</context>
<context>
@@ -33799,6 +35932,10 @@ Copy the path to the source files to the clipboard?</source>
<source>Qbs</source>
<translation>Qbs</translation>
</message>
+ <message>
+ <source>Profiles</source>
+ <translation>Профили</translation>
+ </message>
</context>
<context>
<name>QbsProjectManager::Internal::AspectWidget</name>
@@ -33838,22 +35975,32 @@ Copy the path to the source files to the clipboard?</source>
</message>
</context>
<context>
- <name>QbsProjectManager::Internal::QbsBuildConfiguration</name>
+ <name>QbsProjectManager::Internal::PacketReader</name>
<message>
- <source>Configuration name:</source>
- <translation>Название конфигурации:</translation>
+ <source>Received invalid input.</source>
+ <translation>Получен неверный ввод.</translation>
</message>
</context>
<context>
- <name>QbsProjectManager::Internal::QbsBuildConfigurationFactory</name>
+ <name>QbsProjectManager::Internal::ProfileModel</name>
<message>
- <source>Build</source>
- <translation>Сборка</translation>
+ <source>Key</source>
+ <translation>Ключ</translation>
</message>
<message>
- <source>Debug</source>
- <extracomment>The name of the debug build configuration created by default for a qbs project.</extracomment>
- <translation>Отладка</translation>
+ <source>Value</source>
+ <translation>Значение</translation>
+ </message>
+</context>
+<context>
+ <name>QbsProjectManager::Internal::QbsBuildConfiguration</name>
+ <message>
+ <source>Configuration name:</source>
+ <translation>Название конфигурации:</translation>
+ </message>
+ <message>
+ <source>The qbs project build root</source>
+ <translation>Корень сборки проекта QBS</translation>
</message>
<message>
<source>Debug</source>
@@ -33863,11 +36010,6 @@ Copy the path to the source files to the clipboard?</source>
</message>
<message>
<source>Release</source>
- <extracomment>The name of the release build configuration created by default for a qbs project.</extracomment>
- <translation>Выпуск</translation>
- </message>
- <message>
- <source>Release</source>
<comment>Shadow build directory suffix</comment>
<extracomment>Non-ASCII characters in directory suffix may cause build issues.</extracomment>
<translation>Release</translation>
@@ -33879,6 +36021,14 @@ Copy the path to the source files to the clipboard?</source>
<source>Qbs Build</source>
<translation>Qbs (сборка)</translation>
</message>
+ <message>
+ <source>No qbs session exists for this target.</source>
+ <translation>Отсутствует сессия Qbs этого проекта.</translation>
+ </message>
+ <message>
+ <source>Build canceled: Qbs session failed.</source>
+ <translation>Сборка отменена: сбой сессии Qbs.</translation>
+ </message>
</context>
<context>
<name>QbsProjectManager::Internal::QbsBuildStepConfigWidget</name>
@@ -33899,10 +36049,6 @@ Copy the path to the source files to the clipboard?</source>
<translation>&lt;b&gt;Qbs:&lt;/b&gt; %1</translation>
</message>
<message>
- <source>Might make your application vulnerable. Only use in a safe environment.</source>
- <translation>Может сделать приложение уязвимым. Используйте только в безопасном окружении.</translation>
- </message>
- <message>
<source>Could not split properties.</source>
<translation>Невозможно разделить свойства.</translation>
</message>
@@ -33923,10 +36069,6 @@ Copy the path to the source files to the clipboard?</source>
<translation>Свойства:</translation>
</message>
<message>
- <source>Enable QML debugging:</source>
- <translation>Включить отладку QML:</translation>
- </message>
- <message>
<source>Flags:</source>
<translation>Флаги:</translation>
</message>
@@ -33981,18 +36123,41 @@ Copy the path to the source files to the clipboard?</source>
</message>
</context>
<context>
+ <name>QbsProjectManager::Internal::QbsBuildSystem</name>
+ <message>
+ <source>Fatal qbs error: %1</source>
+ <translation>Фатальная ошибка qbs: %1</translation>
+ </message>
+ <message>
+ <source>Failed</source>
+ <translation>Ошибка</translation>
+ </message>
+ <message>
+ <source>Could not write project file %1.</source>
+ <translation>Не удалось записать в файл проекта %1.</translation>
+ </message>
+ <message>
+ <source>Reading Project &quot;%1&quot;</source>
+ <translation>Чтение проекта «%1»</translation>
+ </message>
+ <message>
+ <source>Error retrieving run environment: %1</source>
+ <translation>Не удалось получить среду запуска: %1</translation>
+ </message>
+</context>
+<context>
<name>QbsProjectManager::Internal::QbsCleanStep</name>
<message>
<source>Qbs Clean</source>
<translation>Qbs (очистка)</translation>
</message>
<message>
- <source>Dry run</source>
- <translation>Тестовое выполнение</translation>
+ <source>Dry run:</source>
+ <translation>Тестовое выполнение:</translation>
</message>
<message>
- <source>Keep going</source>
- <translation>Пропускать ошибки</translation>
+ <source>Keep going:</source>
+ <translation>Пропускать ошибки:</translation>
</message>
<message>
<source>Equivalent command line:</source>
@@ -34002,6 +36167,14 @@ Copy the path to the source files to the clipboard?</source>
<source>&lt;b&gt;Qbs:&lt;/b&gt; %1</source>
<translation>&lt;b&gt;Qbs:&lt;/b&gt; %1</translation>
</message>
+ <message>
+ <source>No qbs session exists for this target.</source>
+ <translation>Отсутствует сессия Qbs этого проекта.</translation>
+ </message>
+ <message>
+ <source>Cleaning canceled: Qbs session failed.</source>
+ <translation>Очистка отменена: сбой сессии Qbs.</translation>
+ </message>
</context>
<context>
<name>QbsProjectManager::Internal::QbsCleanStepConfigWidget</name>
@@ -34029,6 +36202,10 @@ Copy the path to the source files to the clipboard?</source>
<translation>Установка с Qbs</translation>
</message>
<message>
+ <source>Installing canceled: Qbs session failed.</source>
+ <translation>Установка отменена: сбой сессии Qbs.</translation>
+ </message>
+ <message>
<source>Install root:</source>
<translation>Корень установки:</translation>
</message>
@@ -34052,6 +36229,10 @@ Copy the path to the source files to the clipboard?</source>
<source>Equivalent command line:</source>
<translation>Итоговая командная строка:</translation>
</message>
+ <message>
+ <source>&lt;b&gt;Qbs:&lt;/b&gt; %1</source>
+ <translation>&lt;b&gt;Qbs:&lt;/b&gt; %1</translation>
+ </message>
</context>
<context>
<name>QbsProjectManager::Internal::QbsKitAspect</name>
@@ -34061,6 +36242,17 @@ Copy the path to the source files to the clipboard?</source>
</message>
</context>
<context>
+ <name>QbsProjectManager::Internal::QbsProfileManager</name>
+ <message>
+ <source>Failed run qbs config: %1</source>
+ <translation>Не удалось запустить конфигурацию qbs: %1</translation>
+ </message>
+ <message>
+ <source>Failed to run qbs config: %1</source>
+ <translation>Не удалось запустить конфигурацию qbs: %1</translation>
+ </message>
+</context>
+<context>
<name>QbsProjectManager::Internal::QbsProfilesSettingsWidget</name>
<message>
<source>Kit:</source>
@@ -34082,53 +36274,6 @@ Copy the path to the source files to the clipboard?</source>
<source>&amp;Collapse All</source>
<translation>&amp;Свернуть все</translation>
</message>
- <message>
- <source>Store profiles in Qt Creator settings directory</source>
- <translation>Хранить профили в каталоге настроек Qt Creator</translation>
- </message>
- <message>
- <source>Qbs version:</source>
- <translation>Версия Qbs:</translation>
- </message>
- <message>
- <source>TextLabel</source>
- <translation></translation>
- </message>
- <message>
- <source>Store profiles in %1 settings directory</source>
- <translation>Хранить профили в каталоге настроек %1</translation>
- </message>
-</context>
-<context>
- <name>QbsProjectManager::Internal::QbsProject</name>
- <message>
- <source>Failed</source>
- <translation>Сбой</translation>
- </message>
- <message>
- <source>Could not write project file %1.</source>
- <translation>Не удалось записать в файл проекта %1.</translation>
- </message>
- <message>
- <source>%1: Selected products do not exist anymore.</source>
- <translation>%1: выбранный продукт больше не существует.</translation>
- </message>
- <message>
- <source>Cannot clean</source>
- <translation>Очистка невозможна</translation>
- </message>
- <message>
- <source>Cannot build</source>
- <translation>Сборка невозможна</translation>
- </message>
- <message>
- <source>Reading Project &quot;%1&quot;</source>
- <translation>Чтение проекта «%1»</translation>
- </message>
- <message>
- <source>Error retrieving run environment: %1</source>
- <translation>Не удалось получить среду запуска: %1</translation>
- </message>
</context>
<context>
<name>QbsProjectManager::Internal::QbsProjectManagerPlugin</name>
@@ -34190,7 +36335,73 @@ Copy the path to the source files to the clipboard?</source>
</message>
</context>
<context>
- <name>QbsRootProjectNode</name>
+ <name>QbsProjectManager::Internal::QbsSession</name>
+ <message>
+ <source>The qbs process quit unexpectedly.</source>
+ <translation>Процесс qbs неожиданно завершился.</translation>
+ </message>
+ <message>
+ <source>The qbs process failed to start.</source>
+ <translation>Не удалось запустить процесс qbs.</translation>
+ </message>
+ <message>
+ <source>The qbs process sent invalid data.</source>
+ <translation>Процесс qbs отправил неверные данные.</translation>
+ </message>
+ <message>
+ <source>The qbs API level is not compatible with what Qt Creator expects.</source>
+ <translation>Уровень API qbs несовместим с ожидаемым Qt Creator.</translation>
+ </message>
+ <message>
+ <source>Request timed out.</source>
+ <translation>Истекло время запроса.</translation>
+ </message>
+ <message>
+ <source>Failed to load qbs build graph.</source>
+ <translation>Не удалось загрузить граф сборки qbs.</translation>
+ </message>
+ <message>
+ <source>The qbs session is not in a valid state.</source>
+ <translation>Сессия qbs в неверном состоянии.</translation>
+ </message>
+ <message>
+ <source>Failed to update files in Qbs project: %1.
+The affected files are:
+ %2</source>
+ <translation>Не удалось обновить файлы Qbs проекта: %1
+Проблемные файлы:
+ %2</translation>
+ </message>
+</context>
+<context>
+ <name>QbsProjectManager::Internal::QbsSettingsPage</name>
+ <message>
+ <source>Use %1 settings directory for Qbs</source>
+ <translation>Использовать каталог настроек %1 для Qbs</translation>
+ </message>
+ <message>
+ <source>Path to qbs executable:</source>
+ <translation>Путь к программе qbs:</translation>
+ </message>
+ <message>
+ <source>Default installation directory:</source>
+ <translation>Каталог установки по умолчанию:</translation>
+ </message>
+ <message>
+ <source>Qbs version:</source>
+ <translation>Версия Qbs:</translation>
+ </message>
+ <message>
+ <source>Failed to retrieve version.</source>
+ <translation>Не удалось получить версию.</translation>
+ </message>
+ <message>
+ <source>General</source>
+ <translation>Основное</translation>
+ </message>
+</context>
+<context>
+ <name>QbsProjectNode</name>
<message>
<source>Qbs files</source>
<translation>Файлы Qbs</translation>
@@ -34308,13 +36519,6 @@ Copy the path to the source files to the clipboard?</source>
</message>
</context>
<context>
- <name>Qdb::Internal::QdbLinuxDeviceFactory</name>
- <message>
- <source>Boot2Qt Device</source>
- <translation>Устройство Boot2Qt</translation>
- </message>
-</context>
-<context>
<name>Qdb::Internal::QdbMakeDefaultAppService</name>
<message>
<source>Remote process failed: %1</source>
@@ -34474,6 +36678,21 @@ Please update your kit (%3) or choose a mkspec for qmake that matches your targe
</message>
</context>
<context>
+ <name>QmakeProjectManager::Internal::BaseQmakeProjectWizardDialog</name>
+ <message>
+ <source>Required Qt features not present.</source>
+ <translation>Отсутствуют необходимые особенности Qt.</translation>
+ </message>
+ <message>
+ <source>Qt version does not target the expected platform.</source>
+ <translation>Профиль Qt не предназначен для платформы.</translation>
+ </message>
+ <message>
+ <source>Qt version does not provide all features.</source>
+ <translation>Профиль Qt не имеет всех особенностей.</translation>
+ </message>
+</context>
+<context>
<name>QmakeProjectManager::Internal::ClassDefinition</name>
<message>
<source>The header file</source>
@@ -34741,28 +36960,6 @@ Please update your kit (%3) or choose a mkspec for qmake that matches your targe
</message>
</context>
<context>
- <name>QmakeProjectManager::Internal::FilesPage</name>
- <message>
- <source>Class Information</source>
- <translation>Информация о классе</translation>
- </message>
- <message>
- <source>Specify basic information about the classes for which you want to generate skeleton source code files.</source>
- <translation>Укажите базовую информацию о классах, для которых желаете создать шаблоны файлов исходных текстов.</translation>
- </message>
- <message>
- <source>Details</source>
- <translation>Подробнее</translation>
- </message>
-</context>
-<context>
- <name>QmakeProjectManager::Internal::FilesSelectionWizardPage</name>
- <message>
- <source>Files</source>
- <translation>Файлы</translation>
- </message>
-</context>
-<context>
<name>QmakeProjectManager::Internal::LibraryDetailsController</name>
<message>
<source>Linkage:</source>
@@ -34929,45 +37126,6 @@ Neither the path to the library nor the path to its includes is added to the .pr
</message>
</context>
<context>
- <name>QmakeProjectManager::Internal::QMakeStep</name>
- <message>
- <source>qmake build configuration:</source>
- <translation>Конфигурация сборки qmake:</translation>
- </message>
- <message>
- <source>Debug</source>
- <translation>Отладка</translation>
- </message>
- <message>
- <source>Release</source>
- <translation>Выпуск</translation>
- </message>
- <message>
- <source>Additional arguments:</source>
- <translation>Дополнительные параметры:</translation>
- </message>
- <message>
- <source>Link QML debugging library:</source>
- <translation>Подключить библиотеку отладки QML:</translation>
- </message>
- <message>
- <source>Effective qmake call:</source>
- <translation>Команда запуска qmake:</translation>
- </message>
- <message>
- <source>Use QML compiler:</source>
- <translation>Использовать компилятор QML:</translation>
- </message>
- <message>
- <source>Generate separate debug info:</source>
- <translation>Отделять отладочную информацию:</translation>
- </message>
- <message>
- <source>ABIs:</source>
- <translation>ABI:</translation>
- </message>
-</context>
-<context>
<name>QmakeProjectManager::Internal::QmakeKitAspect</name>
<message>
<source>Qt mkspec</source>
@@ -34995,55 +37153,6 @@ Neither the path to the library nor the path to its includes is added to the .pr
</message>
</context>
<context>
- <name>QmakeProjectManager::Internal::QmakeProjectConfigWidget</name>
- <message>
- <source>Shadow build:</source>
- <translation>Теневая сборка:</translation>
- </message>
- <message>
- <source>Build directory:</source>
- <translation>Каталог сборки:</translation>
- </message>
- <message>
- <source>problemLabel</source>
- <translation></translation>
- </message>
- <message>
- <source>Shadow Build Directory</source>
- <translation>Каталог теневой сборки</translation>
- </message>
- <message>
- <source>General</source>
- <translation>Основное</translation>
- </message>
- <message>
- <source>building in &lt;b&gt;%1&lt;/b&gt;</source>
- <translation>сборка в &lt;b&gt;%1&lt;/b&gt;</translation>
- </message>
- <message>
- <source>This kit cannot build this project since it does not define a Qt version.</source>
- <translation>Невозможно собрать проект данным комплектом, так как для него не задан профиль Qt.</translation>
- </message>
- <message>
- <source>Error:</source>
- <translation>Ошибка:</translation>
- </message>
- <message>
- <source>Warning:</source>
- <translation>Предупреждение: </translation>
- </message>
- <message>
- <source>A build for a different project exists in %1, which will be overwritten.</source>
- <comment>%1 build directory</comment>
- <translation>%1 уже является каталогом сборки другого проекта. Содержимое будет перезаписано.</translation>
- </message>
- <message>
- <source>%1 The build in %2 will be overwritten.</source>
- <comment>%1 error message, %2 build directory</comment>
- <translation>%1 Файлы сборки в %2 будут заменены.</translation>
- </message>
-</context>
-<context>
<name>QmakeProjectManager::Internal::QmakeProjectImporter</name>
<message>
<source>Debug</source>
@@ -35077,12 +37186,12 @@ Neither the path to the library nor the path to its includes is added to the .pr
<translation>Очистить</translation>
</message>
<message>
- <source>Build Subproject</source>
- <translation>Собрать подпроект</translation>
+ <source>Build &amp;Subproject</source>
+ <translation>Собрать &amp;подпроект</translation>
</message>
<message>
- <source>Build Subproject &quot;%1&quot;</source>
- <translation>Собрать подпроект «%1»</translation>
+ <source>Build &amp;Subproject &quot;%1&quot;</source>
+ <translation>Собрать &amp;подпроект «%1»</translation>
</message>
<message>
<source>Rebuild Subproject</source>
@@ -35141,40 +37250,6 @@ Neither the path to the library nor the path to its includes is added to the .pr
</message>
</context>
<context>
- <name>QmakeProjectManager::Internal::SimpleProjectWizard</name>
- <message>
- <source>Import as qmake Project (Limited Functionality)</source>
- <translation>Импортировать как проект qmake (ограниченная функциональность)</translation>
- </message>
- <message>
- <source>Imports existing projects that do not use qmake, CMake or Autotools.&lt;p&gt;This creates a qmake .pro file that allows you to use %1 as a code editor and as a launcher for debugging and analyzing tools. If you want to build the project, you might need to edit the generated .pro file.</source>
- <translation>Импорт существующего проекта, не использующего qmake, CMake или Autotools.&lt;p&gt;Создание файла .pro, который позволит использовать %1 в качестве редактора кода, а также для запуска отладчика и утилит анализа. Если возникнет необходимость собрать проект, то необходимо отредактировать файл .pro.</translation>
- </message>
-</context>
-<context>
- <name>QmakeProjectManager::Internal::SimpleProjectWizardDialog</name>
- <message>
- <source>Import Existing Project</source>
- <translation>Импорт существующего проекта</translation>
- </message>
- <message>
- <source>Project Name and Location</source>
- <translation>Название и размещение проекта</translation>
- </message>
- <message>
- <source>Project name:</source>
- <translation>Название проекта:</translation>
- </message>
- <message>
- <source>Location:</source>
- <translation>Размещение:</translation>
- </message>
- <message>
- <source>File Selection</source>
- <translation>Выбор файла</translation>
- </message>
-</context>
-<context>
<name>QmakeProjectManager::Internal::SubdirsProjectWizard</name>
<message>
<source>Subdirs Project</source>
@@ -35251,8 +37326,36 @@ Neither the path to the library nor the path to its includes is added to the .pr
<translation>Отладка QML</translation>
</message>
<message>
- <source>QMake Configuration</source>
- <translation>Конфигурация QMake</translation>
+ <source>qmake build configuration:</source>
+ <translation>Конфигурация сборки qmake:</translation>
+ </message>
+ <message>
+ <source>Debug</source>
+ <translation>Отладка</translation>
+ </message>
+ <message>
+ <source>Release</source>
+ <translation>Выпуск</translation>
+ </message>
+ <message>
+ <source>Additional arguments:</source>
+ <translation>Дополнительные параметры:</translation>
+ </message>
+ <message>
+ <source>Effective qmake call:</source>
+ <translation>Команда запуска qmake:</translation>
+ </message>
+ <message>
+ <source>ABIs:</source>
+ <translation>ABI:</translation>
+ </message>
+ <message>
+ <source>Qt Quick Compiler</source>
+ <translation>Компилятор Qt Quick</translation>
+ </message>
+ <message>
+ <source>Separate Debug Information</source>
+ <translation>Отделение отладочной информации</translation>
</message>
<message>
<source>The option will only take effect if the project is recompiled. Do you want to recompile now?</source>
@@ -35266,25 +37369,34 @@ Neither the path to the library nor the path to its includes is added to the .pr
<source>&lt;b&gt;qmake:&lt;/b&gt; %1 %2</source>
<translation>&lt;b&gt;qmake:&lt;/b&gt; %1 %2</translation>
</message>
+</context>
+<context>
+ <name>QmakeProjectManager::QmakeBuildConfiguration</name>
<message>
- <source>Enable QML debugging and profiling:</source>
- <translation>Включить отладку и профилирование QML:</translation>
+ <source>General</source>
+ <translation>Основное</translation>
</message>
<message>
- <source>Might make your application vulnerable. Only use in a safe environment.</source>
- <translation>Может сделать приложение уязвимым. Используйте только в безопасном окружении.</translation>
+ <source>This kit cannot build this project since it does not define a Qt version.</source>
+ <translation>Невозможно собрать проект данным комплектом, так как для него не задан профиль Qt.</translation>
</message>
<message>
- <source>Enable Qt Quick Compiler:</source>
- <translation>Включить компилятор Qt Quick:</translation>
+ <source>Error:</source>
+ <translation>Ошибка:</translation>
</message>
<message>
- <source>Disables QML debugging. QML profiling will still work.</source>
- <translation>Выключает отладку QML. Профилирование QML продолжит работать.</translation>
+ <source>Warning:</source>
+ <translation>Предупреждение:</translation>
+ </message>
+ <message>
+ <source>The build directory contains a build for a different project, which will be overwritten.</source>
+ <translation>Каталог сборки содержит сборку другого проекта, она будет перезаписана.</translation>
+ </message>
+ <message>
+ <source>%1 The build will be overwritten.</source>
+ <comment>%1 error message</comment>
+ <translation>%1 Сборка будет перезаписана.</translation>
</message>
-</context>
-<context>
- <name>QmakeProjectManager::QmakeBuildConfiguration</name>
<message>
<source>The build directory should be at the same level as the source directory.</source>
<translation>Каталог сборки должен быть на том же уровне, что и каталог исходников.</translation>
@@ -35309,14 +37421,6 @@ Neither the path to the library nor the path to its includes is added to the .pr
<source>The mkspec has changed.</source>
<translation>Изменился mkspec.</translation>
</message>
-</context>
-<context>
- <name>QmakeProjectManager::QmakeBuildConfigurationFactory</name>
- <message>
- <source>Release</source>
- <extracomment>The name of the release build configuration created by default for a qmake project.</extracomment>
- <translation>Выпуск</translation>
- </message>
<message>
<source>Release</source>
<comment>Shadow build directory suffix</comment>
@@ -35325,28 +37429,33 @@ Neither the path to the library nor the path to its includes is added to the .pr
</message>
<message>
<source>Debug</source>
- <extracomment>The name of the debug build configuration created by default for a qmake project.</extracomment>
- <translation>Отладка</translation>
- </message>
- <message>
- <source>Debug</source>
<comment>Shadow build directory suffix</comment>
<extracomment>Non-ASCII characters in directory suffix may cause build issues.</extracomment>
<translation>Debug</translation>
</message>
<message>
<source>Profile</source>
- <extracomment>The name of the profile build configuration created by default for a qmake project.</extracomment>
- <translation>Профилирование</translation>
- </message>
- <message>
- <source>Profile</source>
<comment>Shadow build directory suffix</comment>
<extracomment>Non-ASCII characters in directory suffix may cause build issues.</extracomment>
<translation>Profile</translation>
</message>
</context>
<context>
+ <name>QmakeProjectManager::QmakeBuildSystem</name>
+ <message>
+ <source>Reading Project &quot;%1&quot;</source>
+ <translation>Чтение проекта «%1»</translation>
+ </message>
+ <message>
+ <source>Cannot parse project &quot;%1&quot;: The currently selected kit &quot;%2&quot; does not have a valid Qt.</source>
+ <translation>Не удалось разобрать проект «%1»: для выбранного комплекта «%2» отсутствует подходящий Qt.</translation>
+ </message>
+ <message>
+ <source>Cannot parse project &quot;%1&quot;: No kit selected.</source>
+ <translation>Не удалось разобрать проект «%1»: комплект не выбран.</translation>
+ </message>
+</context>
+<context>
<name>QmakeProjectManager::QmakeMakeStep</name>
<message>
<source>Cannot find Makefile. Check your build settings.</source>
@@ -35402,18 +37511,6 @@ Neither the path to the library nor the path to its includes is added to the .pr
<context>
<name>QmakeProjectManager::QmakeProject</name>
<message>
- <source>Reading Project &quot;%1&quot;</source>
- <translation>Чтение проекта «%1»</translation>
- </message>
- <message>
- <source>Cannot parse project &quot;%1&quot;: The currently selected kit &quot;%2&quot; does not have a valid Qt.</source>
- <translation>Не удалось разобрать проект «%1»: для выбранного комплекта «%2» отсутствует подходящий Qt.</translation>
- </message>
- <message>
- <source>Cannot parse project &quot;%1&quot;: No kit selected.</source>
- <translation>Не удалось разобрать проект «%1»: комплект не выбран.</translation>
- </message>
- <message>
<source>No Qt version set in kit.</source>
<translation>Для комплекта не задан профиль Qt.</translation>
</message>
@@ -35425,6 +37522,10 @@ Neither the path to the library nor the path to its includes is added to the .pr
<source>No C++ compiler set in kit.</source>
<translation>У комплекта не задан компилятор C++.</translation>
</message>
+ <message>
+ <source>Project is part of Qt sources that do not match the Qt defined in the kit.</source>
+ <translation>Проект является частью исходников Qt, которые не соответствуют профилю Qt комплекта.</translation>
+ </message>
</context>
<context>
<name>QmakeProjectManager::QtVersion</name>
@@ -35486,6 +37587,13 @@ Neither the path to the library nor the path to its includes is added to the .pr
</message>
</context>
<context>
+ <name>QmlDesigner::ActionEditor</name>
+ <message>
+ <source>Connection Editor</source>
+ <translation>Редактор подключений</translation>
+ </message>
+</context>
+<context>
<name>QmlDesigner::AddNewBackendDialog</name>
<message>
<source>Add New C++ Backend</source>
@@ -35533,8 +37641,8 @@ Neither the path to the library nor the path to its includes is added to the .pr
<context>
<name>QmlDesigner::AlignDistribute</name>
<message>
- <source>Cannot distribute perfectly</source>
- <translation>Полное распределение невозможно</translation>
+ <source>Cannot Distribute Perfectly</source>
+ <translation>Невозможно качественно распределить</translation>
</message>
<message>
<source>These objects cannot be distributed to equal pixel values. Do you want to distribute to the nearest possible values?</source>
@@ -35542,6 +37650,78 @@ Neither the path to the library nor the path to its includes is added to the .pr
</message>
</context>
<context>
+ <name>QmlDesigner::AnnotationCommentTab</name>
+ <message>
+ <source>Title</source>
+ <translation>Заголовок</translation>
+ </message>
+ <message>
+ <source>Text</source>
+ <translation>Текст</translation>
+ </message>
+ <message>
+ <source>Author</source>
+ <translation>Автор</translation>
+ </message>
+</context>
+<context>
+ <name>QmlDesigner::AnnotationEditor</name>
+ <message>
+ <source>Annotation</source>
+ <translation>Аннотация</translation>
+ </message>
+ <message>
+ <source>Delete this annotation?</source>
+ <translation>Удалить эту аннотацию?</translation>
+ </message>
+</context>
+<context>
+ <name>QmlDesigner::AnnotationEditorDialog</name>
+ <message>
+ <source>Selected Item</source>
+ <translation>Выбранный элемент</translation>
+ </message>
+ <message>
+ <source>Custom ID</source>
+ <translation>Особый ID</translation>
+ </message>
+ <message>
+ <source>Tab 1</source>
+ <translation>Вкладка 1</translation>
+ </message>
+ <message>
+ <source>Tab 2</source>
+ <translation>Вкладка 2</translation>
+ </message>
+ <message>
+ <source>Add Comment</source>
+ <translation>Добавить комментарий</translation>
+ </message>
+ <message>
+ <source>Remove Comment</source>
+ <translation>Удалить комментарий</translation>
+ </message>
+ <message>
+ <source>Delete this comment?</source>
+ <translation>Удалить этот комментарий?</translation>
+ </message>
+ <message>
+ <source>Annotation Editor</source>
+ <translation>Редактор аннотаций</translation>
+ </message>
+ <message>
+ <source>Annotation</source>
+ <translation>Аннотация</translation>
+ </message>
+</context>
+<context>
+ <name>QmlDesigner::AnnotationTool</name>
+ <message>
+ <source>Annotation Tool</source>
+ <translation>Аннотация</translation>
+ </message>
+</context>
+<context>
<name>QmlDesigner::BackgroundAction</name>
<message>
<source>Set the color of the canvas.</source>
@@ -35688,6 +37868,48 @@ Neither the path to the library nor the path to its includes is added to the .pr
</message>
</context>
<context>
+ <name>QmlDesigner::Edit3DView</name>
+ <message>
+ <source>3D Editor</source>
+ <translation>3D редактор</translation>
+ </message>
+ <message>
+ <source>Failed to Add Import</source>
+ <translation>Не удалось добавить импорт</translation>
+ </message>
+ <message>
+ <source>Could not add QtQuick3D import to project.</source>
+ <translation>Не удалось добавить в проект импорт QtQuick3D.</translation>
+ </message>
+</context>
+<context>
+ <name>QmlDesigner::FormEditorAnnotationIcon</name>
+ <message>
+ <source>Annotation</source>
+ <translation>Аннотация</translation>
+ </message>
+ <message>
+ <source>Edit Annotation</source>
+ <translation>Изменить аннотацию</translation>
+ </message>
+ <message>
+ <source>Remove Annotation</source>
+ <translation>Удалить аннотацию</translation>
+ </message>
+ <message>
+ <source>By: </source>
+ <translation>Автор: </translation>
+ </message>
+ <message>
+ <source>Edited: </source>
+ <translation>Изменил: </translation>
+ </message>
+ <message>
+ <source>Delete this annotation?</source>
+ <translation>Удалить эту аннотацию?</translation>
+ </message>
+</context>
+<context>
<name>QmlDesigner::FormEditorView</name>
<message>
<source>Form Editor</source>
@@ -35697,20 +37919,20 @@ Neither the path to the library nor the path to its includes is added to the .pr
<context>
<name>QmlDesigner::FormEditorWidget</name>
<message>
- <source>No snapping (T).</source>
- <translation>Не выравнивать (T).</translation>
+ <source>No snapping.</source>
+ <translation>Не выравнивать.</translation>
</message>
<message>
- <source>Snap to parent or sibling items and generate anchors (W).</source>
- <translation>Притягиваться к родительским или соседним элементам и создавать привязки (W).</translation>
+ <source>Snap to parent or sibling items and generate anchors.</source>
+ <translation>Притягиваться к родительским или соседним элементам и создавать привязки.</translation>
</message>
<message>
- <source>Snap to parent or sibling items but do not generate anchors (E).</source>
- <translation>Притягиваться к родительским или соседним элементам, но не создавать привязки (E).</translation>
+ <source>Snap to parent or sibling items but do not generate anchors.</source>
+ <translation>Притягиваться к родительским или соседним элементам, но не создавать привязки.</translation>
</message>
<message>
- <source>Show bounding rectangles and stripes for empty items (A).</source>
- <translation>Показывать границы и контуры пустых объектов (A).</translation>
+ <source>Show bounding rectangles and stripes for empty items.</source>
+ <translation>Показывать границы и контуры пустых объектов.</translation>
</message>
<message>
<source>Override Width</source>
@@ -35729,8 +37951,8 @@ Neither the path to the library nor the path to its includes is added to the .pr
<translation>Переопределение высоты корневого элемента.</translation>
</message>
<message>
- <source>Reset view (R).</source>
- <translation>Сбросить вид (R).</translation>
+ <source>Reset View</source>
+ <translation>Сбросить вид</translation>
</message>
<message>
<source>Export Current QML File as Image</source>
@@ -35742,6 +37964,41 @@ Neither the path to the library nor the path to its includes is added to the .pr
</message>
</context>
<context>
+ <name>QmlDesigner::GenerateResource</name>
+ <message>
+ <source>Generate Resource File</source>
+ <translation>Создать файл ресурсов</translation>
+ </message>
+ <message>
+ <source>Save Project as Resource</source>
+ <translation>Сохранить проект как ресурс</translation>
+ </message>
+ <message>
+ <source>QML Resource File (*.qmlrc)</source>
+ <translation>Файл ресурсов QML (*.qmlrc)</translation>
+ </message>
+ <message>
+ <source>Generate a resource file out of project %1 to %2</source>
+ <translation>Создать файл ресурсов проекта %1 в %2</translation>
+ </message>
+ <message>
+ <source>Unable to generate resource file: %1</source>
+ <translation>Не удалось создать файл ресурсов: %1</translation>
+ </message>
+ <message>
+ <source>A timeout occurred running &quot;%1&quot;</source>
+ <translation>Истекло время работы «%1»</translation>
+ </message>
+ <message>
+ <source>&quot;%1&quot; crashed.</source>
+ <translation>«%1» аварийно завершился.</translation>
+ </message>
+ <message>
+ <source>&quot;%1&quot; failed (exit code %2).</source>
+ <translation>Ошибка команды «%1» (код завершения %2).</translation>
+ </message>
+</context>
+<context>
<name>QmlDesigner::ImportLabel</name>
<message>
<source>Remove Import</source>
@@ -35749,6 +38006,13 @@ Neither the path to the library nor the path to its includes is added to the .pr
</message>
</context>
<context>
+ <name>QmlDesigner::ImportManagerView</name>
+ <message>
+ <source>Import Manager</source>
+ <translation>Управление импортом</translation>
+ </message>
+</context>
+<context>
<name>QmlDesigner::ImportsWidget</name>
<message>
<source>Import Manager</source>
@@ -35807,6 +38071,10 @@ Neither the path to the library nor the path to its includes is added to the .pr
<source>Change state to %1</source>
<translation>Перевести в состояние %1</translation>
</message>
+ <message>
+ <source>Activate FlowAction %1</source>
+ <translation>Активировать FlowAction %1</translation>
+ </message>
</context>
<context>
<name>QmlDesigner::Internal::ConnectionModel</name>
@@ -35857,6 +38125,10 @@ Neither the path to the library nor the path to its includes is added to the .pr
<translation>Бэкенды</translation>
</message>
<message>
+ <source>Open Connection Editor</source>
+ <translation>Открыть редактор подключений</translation>
+ </message>
+ <message>
<source>Add binding or connection.</source>
<translation>Добавление привязки или соединения.</translation>
</message>
@@ -35887,16 +38159,12 @@ Neither the path to the library nor the path to its includes is added to the .pr
<context>
<name>QmlDesigner::Internal::DesignModeWidget</name>
<message>
- <source>Projects</source>
- <translation>Проекты</translation>
+ <source>&amp;Workspaces</source>
+ <translation>&amp;Сессии</translation>
</message>
<message>
- <source>File System</source>
- <translation>Файловая система</translation>
- </message>
- <message>
- <source>Open Documents</source>
- <translation>Открытые документы</translation>
+ <source>Switch the active workspace.</source>
+ <translation>Переключение активной сессии.</translation>
</message>
</context>
<context>
@@ -35976,6 +38244,13 @@ Neither the path to the library nor the path to its includes is added to the .pr
</message>
</context>
<context>
+ <name>QmlDesigner::Internal::QmlJsEditingSettingsPage</name>
+ <message>
+ <source>QML/JS Editing</source>
+ <translation>Редактирование QML/JS</translation>
+ </message>
+</context>
+<context>
<name>QmlDesigner::Internal::SettingsPage</name>
<message>
<source>Snapping</source>
@@ -36249,6 +38524,10 @@ Neither the path to the library nor the path to its includes is added to the .pr
<translation>Для импорта ресурсов 3D необходима сборка с модулем Qt Quick 3D.</translation>
</message>
<message>
+ <source>Generating icons.</source>
+ <translation>Создание значков.</translation>
+ </message>
+ <message>
<source>Parsing files.</source>
<translation>Разбор файлов.</translation>
</message>
@@ -36257,6 +38536,10 @@ Neither the path to the library nor the path to its includes is added to the .pr
<translation>Разбор трёхмерной модели</translation>
</message>
<message>
+ <source>Skipped import of duplicate asset: &quot;%1&quot;</source>
+ <translation>Пропущен импорт существующего ресурса «%1»</translation>
+ </message>
+ <message>
<source>Skipped import of existing asset: &quot;%1&quot;</source>
<translation>Пропущен импорт существующего ресурса «%1»</translation>
</message>
@@ -36315,6 +38598,13 @@ Neither the path to the library nor the path to its includes is added to the .pr
</message>
</context>
<context>
+ <name>QmlDesigner::ItemLibraryView</name>
+ <message>
+ <source>Library</source>
+ <translation>Библиотека</translation>
+ </message>
+</context>
+<context>
<name>QmlDesigner::ItemLibraryWidget</name>
<message>
<source>Library</source>
@@ -36327,27 +38617,27 @@ Neither the path to the library nor the path to its includes is added to the .pr
<translation>Типы QML</translation>
</message>
<message>
- <source>Resources</source>
- <comment>Title of library resources view</comment>
- <translation>Ресурсы</translation>
+ <source>&lt;Filter&gt;</source>
+ <comment>Library search input hint text</comment>
+ <translation>&lt;Фильтр&gt;</translation>
</message>
<message>
- <source>Imports</source>
- <comment>Title of library imports view</comment>
- <translation>Зависимости</translation>
+ <source>Assets</source>
+ <comment>Title of library assets view</comment>
+ <translation>Ресурсы</translation>
</message>
<message>
- <source>&lt;Filter&gt;</source>
- <comment>Library search input hint text</comment>
- <translation>&lt;Фильтр&gt;</translation>
+ <source>QML Imports</source>
+ <comment>Title of QML imports view</comment>
+ <translation>Импорты QML</translation>
</message>
<message>
- <source>Add New Resources...</source>
- <translation>Добавить новые ресурсы...</translation>
+ <source>Add New Assets...</source>
+ <translation>Добавить новый ресурс...</translation>
</message>
<message>
- <source>Add new resources to project.</source>
- <translation>Добавление новых ресурсов в проект.</translation>
+ <source>Add new assets to project.</source>
+ <translation>Добавление ресурсов в проект.</translation>
</message>
<message>
<source>3D Assets</source>
@@ -36362,7 +38652,7 @@ Neither the path to the library nor the path to its includes is added to the .pr
<translation>Все файлы (%1)</translation>
</message>
<message>
- <source>Add Resources</source>
+ <source>Add Assets</source>
<translation>Добавление ресурсов</translation>
</message>
<message>
@@ -36415,15 +38705,14 @@ This is independent of the visibility property in QML.</source>
</message>
</context>
<context>
- <name>QmlDesigner::NavigatorWidget</name>
+ <name>QmlDesigner::NavigatorView</name>
<message>
<source>Navigator</source>
<translation>Навигатор</translation>
</message>
- <message>
- <source>Project</source>
- <translation>Проект</translation>
- </message>
+</context>
+<context>
+ <name>QmlDesigner::NavigatorWidget</name>
<message>
<source>Navigator</source>
<comment>Title of navigator view</comment>
@@ -36500,21 +38789,6 @@ This is independent of the visibility property in QML.</source>
</message>
</context>
<context>
- <name>QmlDesigner::Option3DAction</name>
- <message>
- <source>2D</source>
- <translation>2D</translation>
- </message>
- <message>
- <source>2D/3D</source>
- <translation>2D/3D</translation>
- </message>
- <message>
- <source>Enable/Disable 3D edit mode.</source>
- <translation>Включение/выключение редактирования в трёхмерном режиме.</translation>
- </message>
-</context>
-<context>
<name>QmlDesigner::PathItem</name>
<message>
<source>Closed Path</source>
@@ -36702,26 +38976,10 @@ This is independent of the visibility property in QML.</source>
<translation>Вы&amp;делить всё</translation>
</message>
<message>
- <source>Switch Text/Design</source>
- <translation>Переключить текст/дизайн</translation>
- </message>
- <message>
- <source>&amp;Restore Default View</source>
- <translation>&amp;Восстановить исходный вид</translation>
- </message>
- <message>
<source>Toggle States</source>
<translation>Показать/скрыть состояния</translation>
</message>
<message>
- <source>Toggle &amp;Left Sidebar</source>
- <translation>Показать/скрыть &amp;левую панель</translation>
- </message>
- <message>
- <source>Toggle &amp;Right Sidebar</source>
- <translation>Показать/скрыть &amp;правую панель</translation>
- </message>
- <message>
<source>Save %1 As...</source>
<translation>Сохранить %1 как...</translation>
</message>
@@ -36957,10 +39215,6 @@ This is independent of the visibility property in QML.</source>
<context>
<name>QmlDesigner::TimelineForm</name>
<message>
- <source>Duration</source>
- <translation>Длительность</translation>
- </message>
- <message>
<source>Expression binding:</source>
<translation>Привязка выражения:</translation>
</message>
@@ -37219,6 +39473,10 @@ This is independent of the visibility property in QML.</source>
<translation>Выделить: %1</translation>
</message>
<message>
+ <source>Connect: %1</source>
+ <translation>Подключение: %1</translation>
+ </message>
+ <message>
<source>Cut</source>
<translation>Вырезать</translation>
</message>
@@ -37235,6 +39493,14 @@ This is independent of the visibility property in QML.</source>
<translation>Положение</translation>
</message>
<message>
+ <source>Connect</source>
+ <translation>Подключить</translation>
+ </message>
+ <message>
+ <source>Flow</source>
+ <translation type="unfinished">Перетекание</translation>
+ </message>
+ <message>
<source>Stacked Container</source>
<translation>Стековый контейнер</translation>
</message>
@@ -37287,6 +39553,10 @@ This is independent of the visibility property in QML.</source>
<translation>Добавить новый обработчик сигналов</translation>
</message>
<message>
+ <source>Create Flow Action</source>
+ <translation type="unfinished">Создать перетекание</translation>
+ </message>
+ <message>
<source>Add Item</source>
<translation>Добавить элемент</translation>
</message>
@@ -37363,6 +39633,10 @@ This is independent of the visibility property in QML.</source>
<translation>Добавление элемента в стековый контейнер.</translation>
</message>
<message>
+ <source>Add flow action.</source>
+ <translation type="unfinished">Добавление перетекания.</translation>
+ </message>
+ <message>
<source>Reset z Property</source>
<translation>Сбросить свойство z</translation>
</message>
@@ -37513,8 +39787,8 @@ This is independent of the visibility property in QML.</source>
<context>
<name>QmlJS::Bind</name>
<message>
- <source>expected two numbers separated by a dot</source>
- <translation>ожидаются два числа разделённые точкой</translation>
+ <source>Hit maximal recursion depth in AST visit</source>
+ <translation>Достигнута максимальная глубина рекурсии обработки AST</translation>
</message>
<message>
<source>package import requires a version number</source>
@@ -37896,6 +40170,14 @@ For more information, see the &quot;Checking Code Syntax&quot; documentation.</s
<translation>Состояние не может иметь дочерних элементов (%1).</translation>
</message>
<message>
+ <source>Duplicate import (%1).</source>
+ <translation>Повторный импорт (%1).</translation>
+ </message>
+ <message>
+ <source>Hit maximum recursion limit when visiting AST.</source>
+ <translation>Достигнута максимальная глубина рекурсии обработки AST.</translation>
+ </message>
+ <message>
<source>Invalid property name &quot;%1&quot;.</source>
<translation>Неверное название свойства «%1».</translation>
</message>
@@ -38356,8 +40638,12 @@ For more information, see the &quot;Checking Code Syntax&quot; documentation.</s
<translation>Только для файлов текущего проекта</translation>
</message>
<message>
- <source>QML/JS Editing</source>
- <translation>Редактирование QML/JS</translation>
+ <source>Features</source>
+ <translation>Особенности</translation>
+ </message>
+ <message>
+ <source>Auto-fold auxiliary data</source>
+ <translation>Сворачивать вспомогательные данные</translation>
</message>
</context>
<context>
@@ -38589,6 +40875,14 @@ the QML editor know about a likely URI.</source>
<source>Invalid import qualifier</source>
<translation>Неверный спецификатор импорта</translation>
</message>
+ <message>
+ <source>Unexpected token `%1&apos;</source>
+ <translation>Неожиданная лексема «%1»</translation>
+ </message>
+ <message>
+ <source>Expected token `%1&apos;</source>
+ <translation>Ожидается лексема «%1»</translation>
+ </message>
</context>
<context>
<name>QmlPreview::Internal::QmlPreviewPlugin</name>
@@ -39181,9 +41475,6 @@ itself takes time.</source>
задержку при загрузке данных и объём используемой приложением памяти,
но портит профилирование, так как сброс данных занимает время.</translation>
</message>
-</context>
-<context>
- <name>QmlProfiler::Internal::QmlProfilerOptionsPage</name>
<message>
<source>QML Profiler</source>
<translation>Профайлер QML</translation>
@@ -39684,7 +41975,7 @@ Saving failed.</source>
</message>
</context>
<context>
- <name>QmlProjectManager::QmlProject</name>
+ <name>QmlProjectManager::QmlBuildSystem</name>
<message>
<source>Error while loading project file %1.</source>
<translation>Ошибка при загрузке файла проекта %1.</translation>
@@ -39693,6 +41984,16 @@ Saving failed.</source>
<source>Warning while loading project file %1.</source>
<translation>Предупреждение при загрузке файла проекта %1.</translation>
</message>
+</context>
+<context>
+ <name>QmlProjectManager::QmlMainFileAspect</name>
+ <message>
+ <source>Main QML file:</source>
+ <translation>Основной файл QML:</translation>
+ </message>
+</context>
+<context>
+ <name>QmlProjectManager::QmlProject</name>
<message>
<source>Kit has no device.</source>
<translation>У комплекта не задано устройство.</translation>
@@ -39724,10 +42025,6 @@ Saving failed.</source>
<context>
<name>QmlProjectManager::QmlProjectRunConfiguration</name>
<message>
- <source>Main QML file:</source>
- <translation>Основной файл QML:</translation>
- </message>
- <message>
<source>System Environment</source>
<translation>Системная среда</translation>
</message>
@@ -39888,13 +42185,6 @@ Are you sure you want to continue?</source>
</message>
</context>
<context>
- <name>Qnx::Internal::QnxDeviceFactory</name>
- <message>
- <source>QNX Device</source>
- <translation>Устройство QNX</translation>
- </message>
-</context>
-<context>
<name>Qnx::Internal::QnxDeviceTester</name>
<message>
<source>Checking that files can be created in /var/run...</source>
@@ -39986,13 +42276,6 @@ Are you sure you want to continue?</source>
</message>
</context>
<context>
- <name>Qnx::Internal::QnxSettingsPage</name>
- <message>
- <source>QNX</source>
- <translation>QNX</translation>
- </message>
-</context>
-<context>
<name>Qnx::Internal::QnxSettingsWidget</name>
<message>
<source>Generate kits</source>
@@ -40045,6 +42328,10 @@ Are you sure you want to continue?</source>
%1?</translation>
</message>
<message>
+ <source>QNX</source>
+ <translation>QNX</translation>
+ </message>
+ <message>
<source>Add...</source>
<translation>Добавить...</translation>
</message>
@@ -40191,6 +42478,25 @@ For more details, see /etc/sysctl.d/10-ptrace.conf
</message>
</context>
<context>
+ <name>QtSupport::BaseQtVersion</name>
+ <message>
+ <source>Device type is not supported by Qt version.</source>
+ <translation>Устройства этого типа не поддерживается профилем Qt.</translation>
+ </message>
+ <message>
+ <source>The compiler &quot;%1&quot; (%2) cannot produce code for the Qt version &quot;%3&quot; (%4).</source>
+ <translation>Компилятор «%1» (%2) не может создавать код для профиля Qt «%3» (%4).</translation>
+ </message>
+ <message>
+ <source>The compiler &quot;%1&quot; (%2) may not produce code compatible with the Qt version &quot;%3&quot; (%4).</source>
+ <translation>Компилятор «%1» (%2) может не создавать код совместимый с профилем Qt «%3» (%4).</translation>
+ </message>
+ <message>
+ <source>The kit has a Qt version, but no C++ compiler.</source>
+ <translation>У комплекта задан профиль Qt, но нет компилятора C++.</translation>
+ </message>
+</context>
+<context>
<name>QtSupport::Internal::CodeGenSettingsPageWidget</name>
<message>
<source>Embedding of the UI Class</source>
@@ -40268,10 +42574,6 @@ For more details, see /etc/sysctl.d/10-ptrace.conf
<translation>Не удалось скопировать проект</translation>
</message>
<message>
- <source>Tags:</source>
- <translation>Теги:</translation>
- </message>
- <message>
<source>Search in Examples...</source>
<translation>Поиск по примерам...</translation>
</message>
@@ -40310,6 +42612,18 @@ For more details, see /etc/sysctl.d/10-ptrace.conf
<translation>Размещение qmake</translation>
</message>
<message>
+ <source>Highest Version Only</source>
+ <translation>Только старшая версия</translation>
+ </message>
+ <message>
+ <source>All</source>
+ <translation>Все</translation>
+ </message>
+ <message>
+ <source>None</source>
+ <translation>Ничего</translation>
+ </message>
+ <message>
<source>Do you want to remove all invalid Qt Versions?&lt;br&gt;&lt;ul&gt;&lt;li&gt;%1&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;will be removed.</source>
<translation>Обнаружены неверные профили Qt:&lt;br&gt;&lt;ul&gt;&lt;li&gt;%1&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;Удалить?</translation>
</message>
@@ -40342,6 +42656,54 @@ For more details, see /etc/sysctl.d/10-ptrace.conf
<translation>Выбранный профиль Qt должен соответствовать типу устройства.</translation>
</message>
<message>
+ <source>Linking with a Qt installation automatically registers Qt versions and kits.</source>
+ <translation>Связь с Qt автоматически регистрирует профили Qt и комплекты.</translation>
+ </message>
+ <message>
+ <source>%1&apos;s resource directory is not writable.</source>
+ <translation>Каталог ресурса %1 недоступен для записи.</translation>
+ </message>
+ <message>
+ <source>%1 is part of a Qt installation.</source>
+ <translation>%1 часть Qt.</translation>
+ </message>
+ <message>
+ <source>%1 is currently linked to &quot;%2&quot;.</source>
+ <translation>%1 скомпонован с «%2».</translation>
+ </message>
+ <message>
+ <source>&lt;html&gt;&lt;body&gt;Qt installation information was not found in &quot;%1&quot;. Choose a directory that contains one of the files &lt;pre&gt;%2&lt;/pre&gt;</source>
+ <translation>&lt;html&gt;&lt;body&gt;Не найдена информация о Qt в «%1». Укажите каталог, содержащий один из файлов &lt;pre&gt;%2&lt;/pre&gt;</translation>
+ </message>
+ <message>
+ <source>Choose Qt Installation</source>
+ <translation>Выбор Qt</translation>
+ </message>
+ <message>
+ <source>The change will take effect after restart.</source>
+ <translation>Изменение вступит в силу после перезапуска.</translation>
+ </message>
+ <message>
+ <source>Qt installation path:</source>
+ <translation>Пусть установки Qt:</translation>
+ </message>
+ <message>
+ <source>Choose the Qt installation directory, or a directory that contains &quot;%1&quot;.</source>
+ <translation>Укажите каталог с установленной Qt или содержащий «%1».</translation>
+ </message>
+ <message>
+ <source>Link with Qt</source>
+ <translation>Связать с Qt</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
+ </message>
+ <message>
+ <source>Remove Link</source>
+ <translation>Удалить связь</translation>
+ </message>
+ <message>
<source>This Qt version was already registered as &quot;%1&quot;.</source>
<translation>Этот профиль Qt уже зарегистрирован как «%1».</translation>
</message>
@@ -40373,6 +42735,14 @@ For more details, see /etc/sysctl.d/10-ptrace.conf
<context>
<name>QtSupport::Internal::QtSupportPlugin</name>
<message>
+ <source>Link with a Qt installation to automatically register Qt versions and kits? To do this later, select Options &gt; Kits &gt; Qt Versions &gt; Link with Qt.</source>
+ <translation>Связать с Qt для автоматической регистрации профилей Qt и комплектов? Это можно сделать позже в меню Настройки &gt; Комплекты &gt; Профили Qt &gt; Связать с Qt.</translation>
+ </message>
+ <message>
+ <source>Link with Qt</source>
+ <translation>Связать с Qt</translation>
+ </message>
+ <message>
<source>Full path to the host bin directory of the current project&apos;s Qt version.</source>
<translation>Полный путь на хосте к каталогу bin профиля Qt, используемого в текущем проекте.</translation>
</message>
@@ -40410,6 +42780,14 @@ For more details, see /etc/sysctl.d/10-ptrace.conf
<source>Clean Up</source>
<translation>Очистить</translation>
</message>
+ <message>
+ <source>Register documentation:</source>
+ <translation>Регистрация документации:</translation>
+ </message>
+ <message>
+ <source>Link with Qt...</source>
+ <translation>Связать с Qt...</translation>
+ </message>
</context>
<context>
<name>QtSupport::Internal::ShowBuildLog</name>
@@ -40438,11 +42816,14 @@ For more details, see /etc/sysctl.d/10-ptrace.conf
</message>
</context>
<context>
- <name>QtSupport::ProMessageHandler</name>
+ <name>QtSupport::QmlDebuggingAspect</name>
<message>
- <source>[Inexact] </source>
- <extracomment>Prefix used for output from the cumulative evaluation of project files.</extracomment>
- <translation>[Примерно] </translation>
+ <source>QML debugging and profiling:</source>
+ <translation>Отладка и профилирование QML:</translation>
+ </message>
+ <message>
+ <source>Might make your application vulnerable.&lt;br/&gt;Only use in a safe environment.</source>
+ <translation>Может сделать приложение уязвимым.&lt;br/&gt;Используйте только в безопасной среде.</translation>
</message>
</context>
<context>
@@ -40556,6 +42937,28 @@ For more details, see /etc/sysctl.d/10-ptrace.conf
</message>
</context>
<context>
+ <name>QtSupport::QtQuickCompilerAspect</name>
+ <message>
+ <source>Qt Quick Compiler:</source>
+ <translation>Компилятор Qt Quick:</translation>
+ </message>
+ <message>
+ <source>Disables QML debugging. QML profiling will still work.</source>
+ <translation>Отключает отладку QML. Профилирование QML продолжит работать.</translation>
+ </message>
+</context>
+<context>
+ <name>QtSupport::QtVersion</name>
+ <message>
+ <source>Qt Version</source>
+ <translation>Профиль Qt</translation>
+ </message>
+ <message>
+ <source>Location of qmake)</source>
+ <translation>Размещение qmake</translation>
+ </message>
+</context>
+<context>
<name>QtSupport::QtVersionFactory</name>
<message>
<source>No factory found for qmake: &quot;%1&quot;</source>
@@ -41185,13 +43588,6 @@ If you do not have a private key yet, you can also create one here.</source>
</message>
</context>
<context>
- <name>RemoteLinux::Internal::LinuxDeviceFactory</name>
- <message>
- <source>Generic Linux Device</source>
- <translation>Обычное Linux-устройство</translation>
- </message>
-</context>
-<context>
<name>RemoteLinux::Internal::PackageUploader</name>
<message>
<source>Preparing SFTP connection...</source>
@@ -41309,14 +43705,22 @@ If you do not have a private key yet, you can also create one here.</source>
<translation>Корень установки:</translation>
</message>
<message>
- <source>Clean install root first</source>
- <translation>Сначала очищать корень установки</translation>
+ <source>Clean install root first:</source>
+ <translation>Сначала очищать корень установки:</translation>
</message>
<message>
<source>Full command line:</source>
<translation>Полная командная строка:</translation>
</message>
<message>
+ <source>Custom command line:</source>
+ <translation>Особая командная строка:</translation>
+ </message>
+ <message>
+ <source>Use custom command line instead:</source>
+ <translation>Использовать особую командную строку:</translation>
+ </message>
+ <message>
<source>Install into temporary host directory</source>
<translation>Установить во временный каталог хоста</translation>
</message>
@@ -41466,7 +43870,7 @@ If you do not have a private key yet, you can also create one here.</source>
<translation>Загрузить среду устройства</translation>
</message>
<message>
- <source>Cannot open terminal</source>
+ <source>Cannot Open Terminal</source>
<translation>Не удалось открыть терминал</translation>
</message>
<message>
@@ -41522,8 +43926,8 @@ If you do not have a private key yet, you can also create one here.</source>
<translation>Флаги:</translation>
</message>
<message>
- <source>Ignore missing files</source>
- <translation>Игнорировать отсутствующие файлы</translation>
+ <source>Ignore missing files:</source>
+ <translation>Игнорировать отсутствующие файлы:</translation>
</message>
<message>
<source>Deploy files via rsync</source>
@@ -41635,6 +44039,13 @@ If you do not have a private key yet, you can also create one here.</source>
</message>
</context>
<context>
+ <name>ResetView</name>
+ <message>
+ <source>Reset View</source>
+ <translation>Сбросить вид</translation>
+ </message>
+</context>
+<context>
<name>ResourceEditor::Internal::PrefixLangDialog</name>
<message>
<source>Prefix:</source>
@@ -41828,6 +44239,13 @@ If you do not have a private key yet, you can also create one here.</source>
</message>
</context>
<context>
+ <name>RotateToolAction</name>
+ <message>
+ <source>Activate Rotate Tool</source>
+ <translation>Включить инструмент вращения</translation>
+ </message>
+</context>
+<context>
<name>RowLabel</name>
<message>
<source>[unknown]</source>
@@ -41850,6 +44268,13 @@ If you do not have a private key yet, you can also create one here.</source>
</message>
</context>
<context>
+ <name>RunConfigSelector</name>
+ <message>
+ <source>Run Without Deployment</source>
+ <translation>Запустить без развёртывания</translation>
+ </message>
+</context>
+<context>
<name>SXCMLTag::UnknownAttributeName</name>
<message>
<source>Unknown</source>
@@ -41864,6 +44289,13 @@ If you do not have a private key yet, you can also create one here.</source>
</message>
</context>
<context>
+ <name>ScaleToolAction</name>
+ <message>
+ <source>Activate Scale Tool</source>
+ <translation>Включить инструмент масштабирования</translation>
+ </message>
+</context>
+<context>
<name>ScxmlEditor::Common::ColorPicker</name>
<message>
<source>Frame</source>
@@ -42777,6 +45209,13 @@ Row: %4, Column: %5
</message>
</context>
<context>
+ <name>SelectionModeToggleAction</name>
+ <message>
+ <source>Toggle Group/Single Selection Mode</source>
+ <translation>Групповое/одиночное выделение</translation>
+ </message>
+</context>
+<context>
<name>SelectionRangeDetails</name>
<message>
<source>Selection</source>
@@ -42877,6 +45316,13 @@ Row: %4, Column: %5
</message>
</context>
<context>
+ <name>ShowGridAction</name>
+ <message>
+ <source>Toggle grid visibility</source>
+ <translation>Показать/скрыть сетку</translation>
+ </message>
+</context>
+<context>
<name>SilverSearcher::FindInFilesSilverSearcher</name>
<message>
<source>Search Options (optional)</source>
@@ -43052,6 +45498,14 @@ Row: %4, Column: %5
<source>Reset when Condition</source>
<translation>Сбросить условие when</translation>
</message>
+ <message>
+ <source>Set as Default</source>
+ <translation>Использовать всегда</translation>
+ </message>
+ <message>
+ <source>Reset Default</source>
+ <translation>Сбросить умолчание</translation>
+ </message>
</context>
<context>
<name>StatesList</name>
@@ -43069,6 +45523,13 @@ Row: %4, Column: %5
</message>
</context>
<context>
+ <name>StringUtils</name>
+ <message>
+ <source>Elapsed time: %1.</source>
+ <translation>Прошло времени: %1.</translation>
+ </message>
+</context>
+<context>
<name>StudioWelcome::Internal::WelcomeMode</name>
<message>
<source>Studio</source>
@@ -43093,10 +45554,6 @@ Row: %4, Column: %5
<translation>Пароль:</translation>
</message>
<message>
- <source>Subversion</source>
- <translation>Subversion</translation>
- </message>
- <message>
<source>Configuration</source>
<translation>Настройка</translation>
</message>
@@ -43139,6 +45596,10 @@ Row: %4, Column: %5
<source>Subversion Command</source>
<translation>Команда Subversion</translation>
</message>
+ <message>
+ <source>Subversion</source>
+ <translation>Subversion</translation>
+ </message>
</context>
<context>
<name>Subversion::Internal::SubversionEditorWidget</name>
@@ -43489,14 +45950,18 @@ Row: %4, Column: %5
<translation>Комплект не подходит проекту</translation>
</message>
<message>
- <source>Click to activate:</source>
- <translation>Щёлкните для активации:</translation>
+ <source>Click to activate</source>
+ <translation>Щёлкните для активации</translation>
</message>
<message>
<source>Enable Kit &quot;%1&quot; for Project &quot;%2&quot;</source>
<translation>Включить комплект «%1» для проекта «%2»</translation>
</message>
<message>
+ <source>Enable Kit &quot;%1&quot; for All Projects</source>
+ <translation>Включить комплект «%1» для всех проектов</translation>
+ </message>
+ <message>
<source>Disable Kit &quot;%1&quot; for Project &quot;%2&quot;</source>
<translation>Отключить комплект «%1» для проекта «%2»</translation>
</message>
@@ -43521,6 +45986,10 @@ Row: %4, Column: %5
<translation>Остановить процесс сборки и удалить комплект?</translation>
</message>
<message>
+ <source>Disable Kit &quot;%1&quot; for All Projects</source>
+ <translation>Отключить комплект «%1» для всех проектов</translation>
+ </message>
+ <message>
<source>Copy Steps From Another Kit...</source>
<translation>Скопировать шаги из другого комплекта...</translation>
</message>
@@ -43675,6 +46144,10 @@ Row: %4, Column: %5
<source>Selection Color</source>
<translation>Цвет выделения</translation>
</message>
+ <message>
+ <source>Selected Text Color</source>
+ <translation>Цвет выбранного текста</translation>
+ </message>
</context>
<context>
<name>TextEditor</name>
@@ -43772,6 +46245,10 @@ Row: %4, Column: %5
<comment>Settings</comment>
<translation>Общие</translation>
</message>
+ <message>
+ <source>Behavior</source>
+ <translation>Поведение</translation>
+ </message>
</context>
<context>
<name>TextEditor::BehaviorSettingsWidget</name>
@@ -43851,6 +46328,13 @@ Row: %4, Column: %5
</message>
</context>
<context>
+ <name>TextEditor::DisplaySettingsPage</name>
+ <message>
+ <source>Display</source>
+ <translation>Отображение</translation>
+ </message>
+</context>
+<context>
<name>TextEditor::FindInFiles</name>
<message>
<source>Files in File System</source>
@@ -43885,11 +46369,7 @@ Excluding: %3
</message>
</context>
<context>
- <name>TextEditor::FontSettingsPage</name>
- <message>
- <source>Font &amp;&amp; Colors</source>
- <translation>Шрифт и цвета</translation>
- </message>
+ <name>TextEditor::FontSettingsPageWidget</name>
<message>
<source>Color Scheme for Theme &quot;%1&quot;</source>
<translation>Цветовая схема темы «%1»</translation>
@@ -43928,7 +46408,11 @@ Excluding: %3
</message>
<message>
<source>Discard</source>
- <translation>Отмена</translation>
+ <translation>Отказаться</translation>
+ </message>
+ <message>
+ <source>Font &amp;&amp; Colors</source>
+ <translation>Шрифт и цвета</translation>
</message>
</context>
<context>
@@ -43950,17 +46434,6 @@ Excluding: %3
</message>
</context>
<context>
- <name>TextEditor::HighlighterSettingsPage</name>
- <message>
- <source>Generic Highlighter</source>
- <translation>Общая подсветка</translation>
- </message>
- <message>
- <source>Download finished</source>
- <translation>Загрузка завершена</translation>
- </message>
-</context>
-<context>
<name>TextEditor::Internal::BehaviorSettingsWidget</name>
<message>
<source>Typing</source>
@@ -44163,6 +46636,10 @@ Specifies how backspace interacts with indentation.
&lt;p&gt;Эта настройка &lt;b&gt;не влияет&lt;/b&gt; на использование маркеров кодировок &lt;b&gt;UTF-16&lt;/b&gt; и &lt;b&gt;UTF-32&lt;/b&gt;.&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;</translation>
</message>
+ <message>
+ <source>Default line endings:</source>
+ <translation>Конец строки по умолчанию:</translation>
+ </message>
</context>
<context>
<name>TextEditor::Internal::CodeStyleDialog</name>
@@ -44714,6 +47191,14 @@ In addition, Shift+Enter inserts an escape character at the cursor position and
<source>Reload Definitions</source>
<translation>Перезагрузить</translation>
</message>
+ <message>
+ <source>Generic Highlighter</source>
+ <translation>Общая подсветка</translation>
+ </message>
+ <message>
+ <source>Download finished</source>
+ <translation>Загрузка завершена</translation>
+ </message>
</context>
<context>
<name>TextEditor::Internal::LineNumberFilter</name>
@@ -44872,13 +47357,6 @@ In addition, Shift+Enter inserts an escape character at the cursor position and
<source>Reset All</source>
<translation>Сбросить всё</translation>
</message>
-</context>
-<context>
- <name>TextEditor::Internal::SnippetsSettingsPagePrivate</name>
- <message>
- <source>Snippets</source>
- <translation>Фрагменты</translation>
- </message>
<message>
<source>Error While Saving Snippet Collection</source>
<translation>Ошибка сохранения набора фрагментов</translation>
@@ -44891,6 +47369,10 @@ In addition, Shift+Enter inserts an escape character at the cursor position and
<source>No snippet selected.</source>
<translation>Фрагмент не выбран.</translation>
</message>
+ <message>
+ <source>Snippets</source>
+ <translation>Фрагменты</translation>
+ </message>
</context>
<context>
<name>TextEditor::Internal::SnippetsTableModel</name>
@@ -45033,6 +47515,10 @@ Influences the indentation of continuation lines.
<translation>&amp;Повторить</translation>
</message>
<message>
+ <source>&lt;line&gt;:&lt;column&gt;</source>
+ <translation>&lt;строка&gt;:&lt;столбец&gt;</translation>
+ </message>
+ <message>
<source>Delete &amp;Line</source>
<translation>Удалить строк&amp;у</translation>
</message>
@@ -45229,6 +47715,14 @@ Influences the indentation of continuation lines.
<translation>Ctrl+I</translation>
</message>
<message>
+ <source>Auto-&amp;format Selection</source>
+ <translation>От&amp;форматировать выделенное</translation>
+ </message>
+ <message>
+ <source>Ctrl+;</source>
+ <translation>Ctrl+;</translation>
+ </message>
+ <message>
<source>&amp;Rewrap Paragraph</source>
<translation>П&amp;еределать переносы</translation>
</message>
@@ -45298,7 +47792,7 @@ Influences the indentation of continuation lines.
</message>
<message>
<source>&amp;Duplicate Selection and Comment</source>
- <translation>Дублироват&amp;ь выбранное и комментарий</translation>
+ <translation>Дублироват&amp;ь выбранное и закомментировать</translation>
</message>
<message>
<source>Uppercase Selection</source>
@@ -45584,13 +48078,6 @@ Influences the indentation of continuation lines.
</message>
</context>
<context>
- <name>TextEditor::TextEditorActionHandler</name>
- <message>
- <source>&lt;line&gt;:&lt;column&gt;</source>
- <translation>&lt;строка&gt;:&lt;столбец&gt;</translation>
- </message>
-</context>
-<context>
<name>TextEditor::TextEditorSettings</name>
<message>
<source>Text</source>
@@ -46112,14 +48599,6 @@ Will not be applied to whitespace in comments and strings.</source>
<source>Writable arguments of a function call.</source>
<translation>Записываемые аргументы вызова функции.</translation>
</message>
- <message>
- <source>Behavior</source>
- <translation>Поведение</translation>
- </message>
- <message>
- <source>Display</source>
- <translation>Отображение</translation>
- </message>
</context>
<context>
<name>TextEditor::TextEditorWidget</name>
@@ -46222,6 +48701,10 @@ Will not be applied to whitespace in comments and strings.</source>
<translation>Текстовый ввод</translation>
</message>
<message>
+ <source>Mouse selection mode</source>
+ <translation>Режим выделения мышью</translation>
+ </message>
+ <message>
<source>Input mask</source>
<translation>Маска ввода</translation>
</message>
@@ -46238,6 +48721,22 @@ Will not be applied to whitespace in comments and strings.</source>
<translation>Символ отображаемый при вводе пользователем паролей.</translation>
</message>
<message>
+ <source>Tab stop distance</source>
+ <translation>Шаг табуляции</translation>
+ </message>
+ <message>
+ <source>Sets the default distance, in device units, between tab stops.</source>
+ <translation>Задаёт умолчальное расстояние между позициями табуляции в единицах устройства.</translation>
+ </message>
+ <message>
+ <source>Text margin</source>
+ <translation>Отступ текста</translation>
+ </message>
+ <message>
+ <source>Sets the margin, in pixels, around the text in the Text Edit.</source>
+ <translation>Задаёт отступ в пикселях вокруг текста в текстовом редакторе.</translation>
+ </message>
+ <message>
<source>Flags</source>
<translation>Флаги</translation>
</message>
@@ -46257,6 +48756,22 @@ Will not be applied to whitespace in comments and strings.</source>
<source>Auto scroll</source>
<translation>Прокручивать автоматически</translation>
</message>
+ <message>
+ <source>Overwrite mode</source>
+ <translation>Режим перезаписи</translation>
+ </message>
+ <message>
+ <source>Persistent selection</source>
+ <translation>Постоянное выделение</translation>
+ </message>
+ <message>
+ <source>Select by mouse</source>
+ <translation>Выделение мышью</translation>
+ </message>
+ <message>
+ <source>Select by keyboard</source>
+ <translation>Выделение клавиатурой</translation>
+ </message>
</context>
<context>
<name>TextInputSpecifics</name>
@@ -46268,6 +48783,10 @@ Will not be applied to whitespace in comments and strings.</source>
<source>Selection Color</source>
<translation>Цвет выделения</translation>
</message>
+ <message>
+ <source>Selected Text Color</source>
+ <translation>Цвет выбранного текста</translation>
+ </message>
</context>
<context>
<name>TextSpecifics</name>
@@ -46408,13 +48927,6 @@ The trace data is lost.</source>
</message>
</context>
<context>
- <name>Todo::Internal::OptionsPage</name>
- <message>
- <source>To-Do</source>
- <translation>To-Do</translation>
- </message>
-</context>
-<context>
<name>Todo::Internal::TodoItemsModel</name>
<message>
<source>Description</source>
@@ -46430,6 +48942,13 @@ The trace data is lost.</source>
</message>
</context>
<context>
+ <name>Todo::Internal::TodoOptionsPage</name>
+ <message>
+ <source>To-Do</source>
+ <translation>To-Do</translation>
+ </message>
+</context>
+<context>
<name>Todo::Internal::TodoOutputPane</name>
<message>
<source>To-Do Entries</source>
@@ -46511,44 +49030,6 @@ The trace data is lost.</source>
</message>
</context>
<context>
- <name>Update</name>
- <message>
- <source>Update</source>
- <translation>Обновление</translation>
- </message>
-</context>
-<context>
- <name>UpdateInfo::Internal::SettingsPage</name>
- <message>
- <source>Daily</source>
- <translation>Ежедневно</translation>
- </message>
- <message>
- <source>Weekly</source>
- <translation>Еженедельно</translation>
- </message>
- <message>
- <source>Monthly</source>
- <translation>Ежемесячно</translation>
- </message>
- <message>
- <source>New updates are available.</source>
- <translation>Доступны новые обновления.</translation>
- </message>
- <message>
- <source>No new updates are available.</source>
- <translation>Обновлений нет.</translation>
- </message>
- <message>
- <source>Checking for updates...</source>
- <translation>Проверка обновлений...</translation>
- </message>
- <message>
- <source>Not checked yet</source>
- <translation>не выполнялась</translation>
- </message>
-</context>
-<context>
<name>UpdateInfo::Internal::SettingsWidget</name>
<message>
<source>Configure Filters</source>
@@ -46619,6 +49100,42 @@ The trace data is lost.</source>
</message>
</context>
<context>
+ <name>UpdateInfo::Internal::UpdateInfoSettingsPage</name>
+ <message>
+ <source>Daily</source>
+ <translation>Ежедневно</translation>
+ </message>
+ <message>
+ <source>Weekly</source>
+ <translation>Еженедельно</translation>
+ </message>
+ <message>
+ <source>Monthly</source>
+ <translation>Ежемесячно</translation>
+ </message>
+ <message>
+ <source>New updates are available.</source>
+ <translation>Доступны новые обновления.</translation>
+ </message>
+ <message>
+ <source>No new updates are available.</source>
+ <translation>Обновлений нет.</translation>
+ </message>
+ <message>
+ <source>Checking for updates...</source>
+ <translation>Проверка обновлений...</translation>
+ </message>
+ <message>
+ <source>Not checked yet</source>
+ <translation>не выполнялась</translation>
+ </message>
+ <message>
+ <source>Update</source>
+ <comment>Update</comment>
+ <translation>Обновление</translation>
+ </message>
+</context>
+<context>
<name>Utils::CheckableMessageBox</name>
<message>
<source>Do not ask again</source>
@@ -46882,8 +49399,8 @@ To disable a variable, prefix the line with &quot;#&quot;</source>
<translation>Неверный символ «%1».</translation>
</message>
<message>
- <source>Name matches MS Windows device. (%1).</source>
- <translation>Имя совпадает с названием устройства MS Windows (%1).</translation>
+ <source>Name matches MS Windows device (CON, AUX, PRN, NUL, COM1, COM2, ..., COM9, LPT1, LPT2, ..., LPT9)</source>
+ <translation>Имя совпадает с названием устройства MS Windows (CON, AUX, PRN, NUL, COM1, COM2, ..., COM9, LPT1, LPT2, ..., LPT9)</translation>
</message>
<message>
<source>File extension %1 is required:</source>
@@ -47081,81 +49598,6 @@ To disable a variable, prefix the line with &quot;#&quot;</source>
</message>
</context>
<context>
- <name>Utils::NewClassWidget</name>
- <message>
- <source>Invalid base class name</source>
- <translation>Некорректное имя базового класса</translation>
- </message>
- <message>
- <source>Invalid header file name: &quot;%1&quot;</source>
- <translation>Некорректное имя заголовочного файла: «%1»</translation>
- </message>
- <message>
- <source>Invalid source file name: &quot;%1&quot;</source>
- <translation>Некорректное имя файла исходников: «%1»</translation>
- </message>
- <message>
- <source>Invalid form file name: &quot;%1&quot;</source>
- <translation>Некорректное имя файла формы: «%1»</translation>
- </message>
- <message>
- <source>Inherits QObject</source>
- <translation>Производный от QObject</translation>
- </message>
- <message>
- <source>None</source>
- <translation>Не задан</translation>
- </message>
- <message>
- <source>Inherits QWidget</source>
- <translation>Производный от QWidget</translation>
- </message>
- <message>
- <source>Based on QSharedData</source>
- <translation>Основан на QSharedData</translation>
- </message>
- <message>
- <source>&amp;Class name:</source>
- <translation>&amp;Имя класса:</translation>
- </message>
- <message>
- <source>&amp;Base class:</source>
- <translation>&amp;Базовый класс:</translation>
- </message>
- <message>
- <source>&amp;Type information:</source>
- <translation>&amp;Тип класса:</translation>
- </message>
- <message>
- <source>&amp;Header file:</source>
- <translation>&amp;Заголовочный файл:</translation>
- </message>
- <message>
- <source>&amp;Source file:</source>
- <translation>&amp;Файл исходников:</translation>
- </message>
- <message>
- <source>&amp;Generate form:</source>
- <translation>&amp;Создать форму:</translation>
- </message>
- <message>
- <source>&amp;Form file:</source>
- <translation>Ф&amp;айл формы:</translation>
- </message>
- <message>
- <source>&amp;Path:</source>
- <translation>&amp;Путь:</translation>
- </message>
- <message>
- <source>Inherits QDeclarativeItem - Qt Quick 1</source>
- <translation>Производный от QDeclarativeItem - Qt Quick 1</translation>
- </message>
- <message>
- <source>Inherits QQuickItem - Qt Quick 2</source>
- <translation>Производный от QQuickItem - Qt Quick 2</translation>
- </message>
-</context>
-<context>
<name>Utils::PathChooser</name>
<message>
<source>Choose...</source>
@@ -47321,6 +49763,10 @@ To disable a variable, prefix the line with &quot;#&quot;</source>
<source>Error in command line.</source>
<translation>Ошибка в командной строке.</translation>
</message>
+ <message>
+ <source>Invalid command</source>
+ <translation>Неверная команда</translation>
+ </message>
</context>
<context>
<name>Utils::RemoveFileDialog</name>
@@ -47598,12 +50044,16 @@ To disable a variable, prefix the line with &quot;#&quot;</source>
<translation>Редактор изменений CVS</translation>
</message>
<message>
- <source>Git Command Log Editor</source>
- <translation>Редактор журнала команд Git</translation>
+ <source>Git SVN Log Editor</source>
+ <translation>Редактор истории Git SVN</translation>
+ </message>
+ <message>
+ <source>Git Log Editor</source>
+ <translation>Редактор истории Git</translation>
</message>
<message>
- <source>Git File Log Editor</source>
- <translation>Редактор журнала файлов Git</translation>
+ <source>Git Reflog Editor</source>
+ <translation>Редактор истории ссылок Git</translation>
</message>
<message>
<source>Git Annotation Editor</source>
@@ -48312,6 +50762,10 @@ When a problem is detected, the application is interrupted and can be debugged.<
<translation>Файл исключений Valgrind (*.supp);;Все файлы (*)</translation>
</message>
<message>
+ <source>Valgrind</source>
+ <translation>Valgrind</translation>
+ </message>
+ <message>
<source>Memory Analysis Options</source>
<translation>Параметры анализа памяти</translation>
</message>
@@ -48462,13 +50916,6 @@ With cache simulation, further event counters are enabled:
</message>
</context>
<context>
- <name>Valgrind::Internal::ValgrindOptionsPage</name>
- <message>
- <source>Valgrind</source>
- <translation>Valgrind</translation>
- </message>
-</context>
-<context>
<name>Valgrind::Internal::ValgrindRunConfigurationAspect</name>
<message>
<source>Valgrind Settings</source>
@@ -48588,7 +51035,7 @@ With cache simulation, further event counters are enabled:
</message>
<message>
<source>XmlProtocol version %1 not supported (supported version: 4)</source>
- <translation>XmlProtocol версии %1 не поддерживается (поддерживается вресия 4)</translation>
+ <translation>XmlProtocol версии %1 не поддерживается (поддерживается версия 4)</translation>
</message>
<message>
<source>Valgrind tool &quot;%1&quot; not supported</source>
@@ -48952,6 +51399,13 @@ should a repository require SSH-authentication (see documentation on SSH and the
</message>
</context>
<context>
+ <name>VcsBase::VcsBaseEditorConfig</name>
+ <message>
+ <source>Reload</source>
+ <translation>Перезагрузить</translation>
+ </message>
+</context>
+<context>
<name>VcsBase::VcsBaseEditorWidget</name>
<message>
<source>Annotate &quot;%1&quot;</source>
@@ -48999,22 +51453,27 @@ should a repository require SSH-authentication (see documentation on SSH and the
</message>
</context>
<context>
- <name>VcsBase::VcsBasePlugin</name>
+ <name>VcsBase::VcsBasePluginPrivate</name>
<message>
- <source>Version Control</source>
- <translation>Контроль версий</translation>
+ <source>Commit</source>
+ <comment>name of &quot;commit&quot; action of the VCS.</comment>
+ <translation>Фиксировать</translation>
</message>
<message>
- <source>Choose Repository Directory</source>
- <translation>Выберите каталог хранилища</translation>
+ <source>Save before %1?</source>
+ <translation>Сохранить перед тем, как %1?</translation>
+ </message>
+ <message>
+ <source>Version Control</source>
+ <translation>Контроль версий</translation>
</message>
<message>
<source>The file &quot;%1&quot; could not be deleted.</source>
<translation>Не удалось удалить файл «%1».</translation>
</message>
<message>
- <source>Save before %1?</source>
- <translation>Сохранить перед тем, как %1?</translation>
+ <source>Choose Repository Directory</source>
+ <translation>Выберите каталог хранилища</translation>
</message>
<message>
<source>The directory &quot;%1&quot; is already managed by a version control system (%2). Would you like to specify another directory?</source>
@@ -49029,17 +51488,12 @@ should a repository require SSH-authentication (see documentation on SSH and the
<translation>Хранилище создано</translation>
</message>
<message>
- <source>Repository Creation Failed</source>
- <translation>Не удалось создать хранилище</translation>
- </message>
- <message>
<source>A version control repository has been created in %1.</source>
<translation>Хранилище контроля версиями создано в %1.</translation>
</message>
<message>
- <source>Commit</source>
- <comment>name of &quot;commit&quot; action of the VCS.</comment>
- <translation>Фиксировать</translation>
+ <source>Repository Creation Failed</source>
+ <translation>Не удалось создать хранилище</translation>
</message>
<message>
<source>A version control repository could not be created in %1.</source>
@@ -49162,6 +51616,13 @@ What do you want to do?</source>
</message>
</context>
<context>
+ <name>VcsBase::VcsOutputFormatter</name>
+ <message>
+ <source>&amp;Open &quot;%1&quot;</source>
+ <translation>&amp;Открыть «%1»</translation>
+ </message>
+</context>
+<context>
<name>VcsBase::VcsOutputWindow</name>
<message>
<source>Open &quot;%1&quot;</source>
@@ -49223,9 +51684,6 @@ What do you want to do?</source>
<source>Web Browser</source>
<translation>Браузер</translation>
</message>
-</context>
-<context>
- <name>WebAssembly::Internal::WebAssemblyDeviceFactory</name>
<message>
<source>WebAssembly Runtime</source>
<translation>Среда WebAssembly</translation>
@@ -49468,6 +51926,17 @@ What do you want to do?</source>
</message>
</context>
<context>
+ <name>WinRt::Internal::WinRtArgumentsAspect</name>
+ <message>
+ <source>Arguments:</source>
+ <translation>Параметры:</translation>
+ </message>
+ <message>
+ <source>Restore Default Arguments</source>
+ <translation>Стандартные параметры</translation>
+ </message>
+</context>
+<context>
<name>WinRt::Internal::WinRtDebugSupport</name>
<message>
<source>Not enough free ports for QML debugging.</source>
@@ -49534,14 +52003,6 @@ What do you want to do?</source>
<context>
<name>WinRt::Internal::WinRtDeviceFactory</name>
<message>
- <source>Running Windows Runtime device detection.</source>
- <translation>Выполняется поиск устройств WinRT.</translation>
- </message>
- <message>
- <source>No winrtrunner.exe found.</source>
- <translation>winrtrunner.exe не найден.</translation>
- </message>
- <message>
<source>Error while executing winrtrunner: %1</source>
<translation>Ошибка запуска winrtrunner: %1</translation>
</message>
@@ -49577,10 +52038,6 @@ What do you want to do?</source>
<translation>Запуск windeployqt</translation>
</message>
<message>
- <source>Arguments:</source>
- <translation>Параметры:</translation>
- </message>
- <message>
<source>No executable to deploy found in %1.</source>
<translation>В %1 не обнаружен исполняемый файл для развёртывания.</translation>
</message>
@@ -49600,10 +52057,6 @@ What do you want to do?</source>
<source>Cannot open mapping file %1 for writing.</source>
<translation>Не удалось открыть для записи файл соответствий %1.</translation>
</message>
- <message>
- <source>Restore Default Arguments</source>
- <translation>Восстановить стандартные</translation>
- </message>
</context>
<context>
<name>WinRt::Internal::WinRtQtVersion</name>
@@ -50295,6 +52748,14 @@ What do you want to do?</source>
<translation>Фигура:</translation>
</message>
<message>
+ <source>Intermediate points:</source>
+ <translation>Промежуточные точки:</translation>
+ </message>
+ <message>
+ <source>none</source>
+ <translation>нет</translation>
+ </message>
+ <message>
<source>Auto width</source>
<translation>Автоширина</translation>
</message>
diff --git a/src/plugins/baremetal/debugservers/uvsc/stlinkuvscserverprovider.cpp b/src/plugins/baremetal/debugservers/uvsc/stlinkuvscserverprovider.cpp
index 619560642e..074bce6164 100644
--- a/src/plugins/baremetal/debugservers/uvsc/stlinkuvscserverprovider.cpp
+++ b/src/plugins/baremetal/debugservers/uvsc/stlinkuvscserverprovider.cpp
@@ -179,7 +179,7 @@ FilePath StLinkUvscServerProvider::optionsFilePath(DebuggerRunTool *runTool,
const StLinkUvProjectOptions projectOptions(this);
if (!writer.write(&projectOptions)) {
errorMessage = BareMetalDebugSupport::tr(
- "Unable to create an uVision project options template");
+ "Unable to create a uVision project options template.");
return {};
}
return optionsPath;
diff --git a/src/plugins/boot2qt/Boot2Qt.json.in b/src/plugins/boot2qt/Boot2Qt.json.in
index a459d6b298..13b22578e2 100644
--- a/src/plugins/boot2qt/Boot2Qt.json.in
+++ b/src/plugins/boot2qt/Boot2Qt.json.in
@@ -2,7 +2,6 @@
\"Name\" : \"Boot2Qt\",
\"Version\" : \"$$QTCREATOR_VERSION\",
\"CompatVersion\" : \"$$QTCREATOR_COMPAT_VERSION\",
- \"Revision\" : \"$$QTC_PLUGIN_REVISION\",
\"DisabledByDefault\" : true,
\"Vendor\" : \"The Qt Company Ltd\",
\"Copyright\" : \"(C) $$QTCREATOR_COPYRIGHT_YEAR The Qt Company Ltd\",
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
index 5b83dee63a..f7a0461608 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
@@ -70,7 +70,6 @@ const char CONFIGURATION_KEY[] = "CMake.Configuration";
CMakeBuildConfiguration::CMakeBuildConfiguration(Target *target, Core::Id id)
: BuildConfiguration(target, id)
{
- m_buildSystem = new CMakeBuildSystem(this);
setBuildDirectory(shadowBuildDirectory(project()->projectFilePath(),
target->kit(),
displayName(),
@@ -155,6 +154,9 @@ CMakeBuildConfiguration::CMakeBuildConfiguration(Target *target, Core::Id id)
}
setConfigurationForCMake(config);
+
+ // Only do this after everything has been set up!
+ m_buildSystem = new CMakeBuildSystem(this);
});
const auto qmlDebuggingAspect = addAspect<QtSupport::QmlDebuggingAspect>();
@@ -162,6 +164,11 @@ CMakeBuildConfiguration::CMakeBuildConfiguration(Target *target, Core::Id id)
connect(qmlDebuggingAspect, &QtSupport::QmlDebuggingAspect::changed,
this, &CMakeBuildConfiguration::configurationForCMakeChanged);
+ // m_buildSystem is still nullptr here since it the build directory to be available
+ // before it can get created.
+ //
+ // This means this needs to be done in the lambda for the setInitializer(...) call
+ // defined above as well as in fromMap!
}
CMakeBuildConfiguration::~CMakeBuildConfiguration()
@@ -180,6 +187,8 @@ QVariantMap CMakeBuildConfiguration::toMap() const
bool CMakeBuildConfiguration::fromMap(const QVariantMap &map)
{
+ QTC_CHECK(!m_buildSystem);
+
if (!BuildConfiguration::fromMap(map))
return false;
@@ -190,6 +199,8 @@ bool CMakeBuildConfiguration::fromMap(const QVariantMap &map)
setConfigurationForCMake(conf);
+ m_buildSystem = new CMakeBuildSystem(this);
+
return true;
}
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp
index 3c25382756..b83d19a4b6 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp
@@ -213,10 +213,6 @@ CMakeBuildSystem::CMakeBuildSystem(CMakeBuildConfiguration *bc)
}
}
});
-
- qCDebug(cmakeBuildSystemLog) << "Requesting parse due to initial CMake BuildSystem setup";
- m_buildDirManager.setParametersAndRequestParse(BuildDirParameters(cmakeBuildConfiguration()),
- BuildDirManager::REPARSE_CHECK_CONFIGURATION);
}
CMakeBuildSystem::~CMakeBuildSystem()
diff --git a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp
index e389ca4765..79891a8b5b 100644
--- a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp
+++ b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp
@@ -309,15 +309,13 @@ static QStringList splitFragments(const QStringList &fragments)
}
RawProjectParts generateRawProjectParts(const PreprocessedData &input,
- const FilePath &sourceDirectory,
- const FilePath &buildDirectory)
+ const FilePath &sourceDirectory)
{
RawProjectParts rpps;
int counter = 0;
for (const TargetDetails &t : input.targetDetails) {
QDir sourceDir(sourceDirectory.toString());
- QDir buildDir(buildDirectory.toString());
bool needPostfix = t.compileGroups.size() > 1;
int count = 1;
@@ -371,11 +369,7 @@ RawProjectParts generateRawProjectParts(const PreprocessedData &input,
}));
if (!precompiled_header.isEmpty()) {
if (precompiled_header.toFileInfo().isRelative()) {
- const FilePath parentDir = FilePath::fromString(buildDir.absolutePath());
- const QString dirName = buildDir.dirName();
- if (precompiled_header.startsWith(dirName))
- precompiled_header = FilePath::fromString(
- precompiled_header.toString().mid(dirName.length() + 1));
+ const FilePath parentDir = FilePath::fromString(sourceDir.absolutePath());
precompiled_header = parentDir.pathAppended(precompiled_header.toString());
}
rpp.setPreCompiledHeaders({precompiled_header.toString()});
@@ -674,7 +668,7 @@ FileApiQtcData extractData(FileApiData &input,
result.buildTargets = generateBuildTargets(data, sourceDirectory, buildDirectory);
result.cmakeFiles = std::move(data.cmakeFiles);
- result.projectParts = generateRawProjectParts(data, sourceDirectory, buildDirectory);
+ result.projectParts = generateRawProjectParts(data, sourceDirectory);
auto pair = generateRootProjectNode(data, sourceDirectory, buildDirectory);
result.rootProjectNode = std::move(pair.first);
diff --git a/src/plugins/coreplugin/outputpane.h b/src/plugins/coreplugin/outputpane.h
index db67c0e659..7bc25d7a31 100644
--- a/src/plugins/coreplugin/outputpane.h
+++ b/src/plugins/coreplugin/outputpane.h
@@ -53,6 +53,9 @@ public:
void ensureSizeHintAsMinimum();
int nonMaximizedSize() const;
+signals:
+ void visibilityChangeRequested(bool visible);
+
protected:
void resizeEvent(QResizeEvent *event) override;
void showEvent(QShowEvent *) override;
diff --git a/src/plugins/coreplugin/outputpanemanager.cpp b/src/plugins/coreplugin/outputpanemanager.cpp
index fccdd67e47..c0d96ef961 100644
--- a/src/plugins/coreplugin/outputpanemanager.cpp
+++ b/src/plugins/coreplugin/outputpanemanager.cpp
@@ -612,6 +612,7 @@ void OutputPaneManager::slotHide()
{
OutputPanePlaceHolder *ph = OutputPanePlaceHolder::getCurrent();
if (ph) {
+ emit ph->visibilityChangeRequested(false);
ph->setVisible(false);
int idx = currentIndex();
QTC_ASSERT(idx >= 0, return);
@@ -654,6 +655,7 @@ void OutputPaneManager::showPage(int idx, int flags)
if (onlyFlash) {
g_outputPanes.at(idx).button->flash();
} else {
+ emit ph->visibilityChangeRequested(true);
// make the page visible
ph->setVisible(true);
diff --git a/src/plugins/ctfvisualizer/CtfVisualizer.json.in b/src/plugins/ctfvisualizer/CtfVisualizer.json.in
index 78b6e093f0..e581d22733 100644
--- a/src/plugins/ctfvisualizer/CtfVisualizer.json.in
+++ b/src/plugins/ctfvisualizer/CtfVisualizer.json.in
@@ -2,7 +2,6 @@
\"Name\" : \"CtfVisualizer\",
\"Version\" : \"$$QTCREATOR_VERSION\",
\"CompatVersion\" : \"$$QTCREATOR_COMPAT_VERSION\",
- \"Revision\" : \"$$QTC_PLUGIN_REVISION\",
\"Vendor\" : \"KDAB Group, www.kdab.com\",
\"Copyright\" : \"(C) $$QTCREATOR_COPYRIGHT_YEAR Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com\",
\"License\" : [ \"Commercial Usage\",
diff --git a/src/plugins/mcusupport/mcusupportconstants.h b/src/plugins/mcusupport/mcusupportconstants.h
index bc0b7b21d3..88489b1196 100644
--- a/src/plugins/mcusupport/mcusupportconstants.h
+++ b/src/plugins/mcusupport/mcusupportconstants.h
@@ -34,6 +34,7 @@ const char RUNCONFIGURATION[] = "McuSupport.RunConfiguration";
const char SETTINGS_ID[] = "CC.McuSupport.Configuration";
const char KIT_MCUTARGET_VENDOR_KEY[] = "McuSupport.McuTargetVendor";
const char KIT_MCUTARGET_MODEL_KEY[] = "McuSupport.McuTargetModel";
+const char KIT_MCUTARGET_SDKVERSION_KEY[] = "McuSupport.McuTargetSdkVersion";
const char SETTINGS_GROUP[] = "McuSupport";
const char SETTINGS_KEY_PACKAGE_PREFIX[] = "Package_";
diff --git a/src/plugins/mcusupport/mcusupportoptions.cpp b/src/plugins/mcusupport/mcusupportoptions.cpp
index c8361f7d18..9b0b8f576f 100644
--- a/src/plugins/mcusupport/mcusupportoptions.cpp
+++ b/src/plugins/mcusupport/mcusupportoptions.cpp
@@ -404,6 +404,12 @@ void McuSupportOptions::deletePackagesAndTargets()
mcuTargets.clear();
}
+const QVersionNumber &McuSupportOptions::supportedQulVersion()
+{
+ static const QVersionNumber v({1, 1, 0});
+ return v;
+}
+
void McuSupportOptions::setQulDir(const Utils::FilePath &dir)
{
deletePackagesAndTargets();
@@ -443,6 +449,8 @@ static void setKitProperties(const QString &kitName, ProjectExplorer::Kit *k,
k->setUnexpandedDisplayName(kitName);
k->setValue(Constants::KIT_MCUTARGET_VENDOR_KEY, mcuTarget->vendor());
k->setValue(Constants::KIT_MCUTARGET_MODEL_KEY, mcuTarget->qulPlatform());
+ k->setValue(Constants::KIT_MCUTARGET_SDKVERSION_KEY,
+ McuSupportOptions::supportedQulVersion().toString());
k->setAutoDetected(true);
k->makeSticky();
if (mcuTargetIsDesktop(mcuTarget)) {
@@ -539,8 +547,8 @@ QString McuSupportOptions::kitName(const McuTarget *mcuTarget) const
const QString colorDepth = mcuTarget->colorDepth() > 0
? QString::fromLatin1(" %1bpp").arg(mcuTarget->colorDepth())
: "";
- return QString::fromLatin1("Qt for MCUs - %1%2")
- .arg(mcuTarget->qulPlatform(), colorDepth);
+ return QString::fromLatin1("Qt for MCUs %1 - %2%3")
+ .arg(supportedQulVersion().toString(), mcuTarget->qulPlatform(), colorDepth);
}
QList<ProjectExplorer::Kit *> McuSupportOptions::existingKits(const McuTarget *mcuTargt)
diff --git a/src/plugins/mcusupport/mcusupportoptions.h b/src/plugins/mcusupport/mcusupportoptions.h
index 92790bac13..afc26c5003 100644
--- a/src/plugins/mcusupport/mcusupportoptions.h
+++ b/src/plugins/mcusupport/mcusupportoptions.h
@@ -27,6 +27,7 @@
#include <QObject>
#include <QVector>
+#include <QVersionNumber>
QT_FORWARD_DECLARE_CLASS(QWidget)
@@ -170,6 +171,8 @@ public:
static void registerQchFiles();
static void registerExamples();
+ static const QVersionNumber &supportedQulVersion();
+
private:
void deletePackagesAndTargets();
diff --git a/src/plugins/perfprofiler/PerfProfiler.json.in b/src/plugins/perfprofiler/PerfProfiler.json.in
index af54edf549..7af2536d01 100644
--- a/src/plugins/perfprofiler/PerfProfiler.json.in
+++ b/src/plugins/perfprofiler/PerfProfiler.json.in
@@ -2,7 +2,6 @@
\"Name\" : \"PerfProfiler\",
\"Version\" : \"$$QTCREATOR_VERSION\",
\"CompatVersion\" : \"$$QTCREATOR_COMPAT_VERSION\",
- \"Revision\" : \"$$QTC_PLUGIN_REVISION\",
\"Vendor\" : \"The Qt Company Ltd\",
\"Copyright\" : \"(C) $$QTCREATOR_COPYRIGHT_YEAR The Qt Company Ltd\",
\"License\" : [ \"Commercial Usage\",
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index bc2ee5e055..6528b1de70 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -1579,6 +1579,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
const RunConfiguration * const runConfig = target->activeRunConfiguration();
QTC_ASSERT(runConfig, return);
ProjectNode * const productNode = runConfig->productNode();
+ QTC_ASSERT(productNode, return);
QTC_ASSERT(productNode->isProduct(), return);
productNode->build();
});
diff --git a/src/plugins/qbsprojectmanager/qbsnodes.cpp b/src/plugins/qbsprojectmanager/qbsnodes.cpp
index fc632447e7..01bfa6e976 100644
--- a/src/plugins/qbsprojectmanager/qbsnodes.cpp
+++ b/src/plugins/qbsprojectmanager/qbsnodes.cpp
@@ -142,7 +142,13 @@ QString QbsProductNode::fullDisplayName() const
QString QbsProductNode::buildKey() const
{
- return fullDisplayName();
+ return getBuildKey(productData());
+}
+
+QString QbsProductNode::getBuildKey(const QJsonObject &product)
+{
+ return product.value("name").toString() + '.'
+ + product.value("multiplex-configuration-id").toString();
}
QVariant QbsProductNode::data(Core::Id role) const
diff --git a/src/plugins/qbsprojectmanager/qbsnodes.h b/src/plugins/qbsprojectmanager/qbsnodes.h
index 51c6a76094..f5a752ad3c 100644
--- a/src/plugins/qbsprojectmanager/qbsnodes.h
+++ b/src/plugins/qbsprojectmanager/qbsnodes.h
@@ -63,6 +63,8 @@ public:
QString fullDisplayName() const;
QString buildKey() const override;
+ static QString getBuildKey(const QJsonObject &product);
+
const QJsonObject productData() const { return m_productData; }
QJsonObject mainGroup() const;
QVariant data(Core::Id role) const override;
diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp
index 2be3ca1d90..c3a6c5d0fe 100644
--- a/src/plugins/qbsprojectmanager/qbsproject.cpp
+++ b/src/plugins/qbsprojectmanager/qbsproject.cpp
@@ -169,12 +169,6 @@ static bool supportsNodeAction(ProjectAction action, const Node *node)
return false;
}
-static QString buildKeyValue(const QJsonObject &product)
-{
- return product.value("name").toString() + '.'
- + product.value("multiplex-configuration-id").toString();
-}
-
QbsBuildSystem::QbsBuildSystem(QbsBuildConfiguration *bc)
: BuildSystem(bc->target()),
m_session(new QbsSession(this)),
@@ -921,7 +915,7 @@ static RawProjectParts generateProjectParts(
rpp.setProjectFileLocation(location.value("file-path").toString(),
location.value("line").toInt(),
location.value("column").toInt());
- rpp.setBuildSystemTarget(buildKeyValue(prd));
+ rpp.setBuildSystemTarget(QbsProductNode::getBuildKey(prd));
rpp.setBuildTargetType(prd.value("is-runnable").toBool()
? BuildTargetType::Executable
: BuildTargetType::Library);
@@ -1084,7 +1078,7 @@ void QbsBuildSystem::updateApplicationTargets()
}
}
BuildTargetInfo bti;
- bti.buildKey = buildKeyValue(productData);
+ bti.buildKey = QbsProductNode::getBuildKey(productData);
bti.targetFilePath = FilePath::fromString(targetFile);
bti.projectFilePath = FilePath::fromString(projectFile);
bti.isQtcRunnable = isQtcRunnable; // Fixed up below.
diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp
index be48fe2752..1925547253 100644
--- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp
@@ -123,15 +123,6 @@ private:
QmakeProject manages information about an individual qmake project file (.pro).
*/
-static QtSupport::BaseQtVersion *projectIsPartOfQt(const Project *p)
-{
- FilePath filePath = p->projectFilePath();
-
- return QtSupport::QtVersionManager::version([&filePath](const QtSupport::BaseQtVersion *v) {
- return v->isValid() && v->isSubProject(filePath);
- });
-}
-
QmakeProject::QmakeProject(const FilePath &fileName) :
Project(QmakeProjectManager::Constants::PROFILE_MIMETYPE, fileName)
{
@@ -625,8 +616,16 @@ Tasks QmakeProject::projectIssues(const Kit *k) const
if (!ToolChainKitAspect::cxxToolChain(k))
result.append(createProjectTask(Task::TaskType::Error, tr("No C++ compiler set in kit.")));
- const QtSupport::BaseQtVersion *const qtThatContainsProject = projectIsPartOfQt(this);
- if (qtThatContainsProject && qtThatContainsProject != qtFromKit) {
+ // A project can be considered part of more than one Qt version, for instance if it is an
+ // example shipped via the installer.
+ // Report a problem if and only if the project is considered to be part of *only* a Qt
+ // that is not the one from the current kit.
+ const QList<BaseQtVersion *> qtsContainingThisProject
+ = QtVersionManager::versions([filePath = projectFilePath()](const BaseQtVersion *qt) {
+ return qt->isValid() && qt->isSubProject(filePath);
+ });
+ if (!qtsContainingThisProject.isEmpty()
+ && !qtsContainingThisProject.contains(const_cast<BaseQtVersion *>(qtFromKit))) {
result.append(CompileTask(Task::Warning,
tr("Project is part of Qt sources that do not match "
"the Qt defined in the kit.")));
diff --git a/src/plugins/qmldesigner/components/connectioneditor/connectionmodel.cpp b/src/plugins/qmldesigner/components/connectioneditor/connectionmodel.cpp
index 560be7c4f6..f4fa65e52d 100644
--- a/src/plugins/qmldesigner/components/connectioneditor/connectionmodel.cpp
+++ b/src/plugins/qmldesigner/components/connectioneditor/connectionmodel.cpp
@@ -259,16 +259,18 @@ void ConnectionModel::addConnection()
ModelNode newNode = connectionView()->createModelNode("QtQuick.Connections",
nodeMetaInfo.majorVersion(),
nodeMetaInfo.minorVersion());
-
- newNode.signalHandlerProperty("onClicked").setSource(QLatin1String("print(\"clicked\")"));
+ QString source = "print(\"clicked\")";
if (connectionView()->selectedModelNodes().count() == 1) {
- const ModelNode selectedNode = connectionView()->selectedModelNodes().constFirst();
+ ModelNode selectedNode = connectionView()->selectedModelNodes().constFirst();
if (QmlItemNode::isValidQmlItemNode(selectedNode))
selectedNode.nodeAbstractProperty("data").reparentHere(newNode);
else
rootModelNode.nodeAbstractProperty(rootModelNode.metaInfo().defaultPropertyName()).reparentHere(newNode);
+ if (QmlItemNode(selectedNode).isFlowActionArea())
+ source = selectedNode.validId() + ".trigger()";
+
if (!connectionView()->selectedModelNodes().constFirst().id().isEmpty())
newNode.bindingProperty("target").setExpression(selectedNode.id());
else
@@ -277,6 +279,8 @@ void ConnectionModel::addConnection()
rootModelNode.nodeAbstractProperty(rootModelNode.metaInfo().defaultPropertyName()).reparentHere(newNode);
newNode.bindingProperty("target").setExpression(QLatin1String("parent"));
}
+
+ newNode.signalHandlerProperty("onClicked").setSource(source);
});
}
}
@@ -378,6 +382,26 @@ QStringList ConnectionModel::getSignalsForRow(int row) const
return stringList;
}
+QStringList ConnectionModel::getflowActionTriggerForRow(int row) const
+{
+ QStringList stringList;
+ SignalHandlerProperty signalHandlerProperty = signalHandlerPropertyForRow(row);
+
+ if (signalHandlerProperty.isValid()) {
+ const ModelNode parentModelNode = signalHandlerProperty.parentModelNode();
+ ModelNode targetNode = getTargetNodeForConnection(parentModelNode);
+ if (!targetNode.isValid() && !parentModelNode.isRootNode())
+ targetNode = parentModelNode.parentProperty().parentModelNode();
+ if (targetNode.isValid()) {
+ for (auto &node : targetNode.allSubModelNodesAndThisNode()) {
+ if (QmlItemNode(node).isFlowActionArea() && node.hasId())
+ stringList.append(node.id() + ".trigger()");
+ }
+ }
+ }
+ return stringList;
+}
+
QStringList ConnectionModel::getPossibleSignalsForConnection(const ModelNode &connection) const
{
QStringList stringList;
diff --git a/src/plugins/qmldesigner/components/connectioneditor/connectionmodel.h b/src/plugins/qmldesigner/components/connectioneditor/connectionmodel.h
index b60275f6da..b7d24db719 100644
--- a/src/plugins/qmldesigner/components/connectioneditor/connectionmodel.h
+++ b/src/plugins/qmldesigner/components/connectioneditor/connectionmodel.h
@@ -54,6 +54,7 @@ public:
ConnectionView *connectionView() const;
QStringList getSignalsForRow(int row) const;
+ QStringList getflowActionTriggerForRow(int row) const;
ModelNode getTargetNodeForConnection(const ModelNode &connection) const;
void addConnection();
diff --git a/src/plugins/qmldesigner/components/connectioneditor/delegates.cpp b/src/plugins/qmldesigner/components/connectioneditor/delegates.cpp
index 555f448858..7a308b0899 100644
--- a/src/plugins/qmldesigner/components/connectioneditor/delegates.cpp
+++ b/src/plugins/qmldesigner/components/connectioneditor/delegates.cpp
@@ -252,6 +252,12 @@ ConnectionDelegate::ConnectionDelegate(QWidget *parent) : ConnectionEditorDelega
setItemEditorFactory(factory);
}
+static QString nameForAction(const QString &input)
+{
+ QStringList list = input.split('.');
+ return list.first();
+}
+
QWidget *ConnectionDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
@@ -301,6 +307,11 @@ QWidget *ConnectionDelegate::createEditor(QWidget *parent, const QStyleOptionVie
QString source = QString::fromLatin1("{ %1.state = \"%2\" }").arg(rootModelNode.id()).arg(state.name());
connectionComboBox->addItem(itemText, source);
}
+
+ QStringList trigger = connectionModel->getflowActionTriggerForRow(index.row());
+ for (const QString action : trigger) {
+ connectionComboBox->addItem(tr("Activate FlowAction %1").arg(nameForAction(action)), action);
+ }
}
connectionComboBox->disableValidator();
} break;
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorannotationicon.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorannotationicon.cpp
index 4ad03468bb..d069eaeaf8 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorannotationicon.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorannotationicon.cpp
@@ -31,6 +31,7 @@
#include <QAction>
#include <QMenu>
#include <QMessageBox>
+#include <QTextDocument>
#include <coreplugin/icore.h>
#include <utils/theme/theme.h>
@@ -41,6 +42,8 @@
namespace QmlDesigner {
+const int penWidth = 2;
+
FormEditorAnnotationIcon::FormEditorAnnotationIcon(const ModelNode &modelNode, QGraphicsItem *parent)
: QGraphicsObject(parent)
, m_modelNode(modelNode)
@@ -64,7 +67,7 @@ FormEditorAnnotationIcon::FormEditorAnnotationIcon(const ModelNode &modelNode, Q
if (scene) {
m_readerIsActive = scene->annotationVisibility();
if (m_readerIsActive) {
- drawReader();
+ createReader();
}
}
@@ -106,10 +109,12 @@ void FormEditorAnnotationIcon::paint(QPainter *painter, const QStyleOptionGraphi
m_annotation = m_modelNode.annotation();
if (m_readerIsActive)
- resetReader();
+ drawReader();
+ else
+ hideReader();
}
else {
- hideReader();
+ removeReader();
}
setEnabled(hasAuxData);
@@ -145,7 +150,7 @@ void FormEditorAnnotationIcon::setActive(bool readerStatus)
if (m_readerIsActive)
resetReader();
else
- hideReader();
+ removeReader();
update();
}
@@ -176,10 +181,10 @@ void FormEditorAnnotationIcon::mousePressEvent(QGraphicsSceneMouseEvent * event)
if (button == Qt::LeftButton) {
if (m_readerIsActive) {
- hideReader();
+ removeReader();
m_readerIsActive = false;
} else {
- drawReader();
+ resetReader();
m_readerIsActive = true;
}
}
@@ -211,13 +216,40 @@ void FormEditorAnnotationIcon::contextMenuEvent(QGraphicsSceneContextMenuEvent *
event->accept();
}
-void FormEditorAnnotationIcon::resetReader()
+void FormEditorAnnotationIcon::drawReader()
+{
+ if (!childItems().isEmpty()) {
+ for (QGraphicsItem *item : childItems()) {
+ item->show();
+ }
+ }
+ else {
+ createReader();
+ }
+}
+
+void FormEditorAnnotationIcon::hideReader()
+{
+ if (!childItems().isEmpty()) {
+ for (QGraphicsItem *item : childItems()) {
+ item->hide();
+ }
+ }
+}
+
+void FormEditorAnnotationIcon::quickResetReader()
{
hideReader();
drawReader();
}
-void FormEditorAnnotationIcon::drawReader()
+void FormEditorAnnotationIcon::resetReader()
+{
+ removeReader();
+ createReader();
+}
+
+void FormEditorAnnotationIcon::createReader()
{
const qreal width = 290;
const qreal height = 200;
@@ -239,48 +271,48 @@ void FormEditorAnnotationIcon::drawReader()
QGraphicsItem *commentBubble = createCommentBubble(commentRect, comment.title(),
comment.author(), comment.text(),
comment.timestampStr(), this);
- commentBubble->setPos(commentPosition);
-
- commentPosition += QPointF(width + offset, 0);
comments.push_back(commentBubble);
}
- int currentColumn = 0;
- qreal columnHeight = 0;
const qreal maxHeight = 650;
const QPointF commentsStartPosition(cornerPosition.x(), cornerPosition.y() + titleRect.height() + (offset*2));
QPointF newPos(commentsStartPosition);
+ qreal columnHeight = commentsStartPosition.y();
for (QGraphicsItem *comment : comments) {
- qreal itemHeight = comment->boundingRect().height();
- if ((columnHeight + offset + itemHeight) > maxHeight) {
- // have no extra space
- columnHeight = 0;
- ++currentColumn;
+ comment->setPos(newPos); //first place comment in its new position, then calculate position for next comment
- newPos = commentsStartPosition + QPointF(currentColumn * (offset + width), 0);
- } else {
- //few normal comments, lets stack them
- }
+ const qreal itemHeight = comment->boundingRect().height();
+ const qreal itemWidth = comment->boundingRect().width();
- columnHeight += itemHeight + offset;
+ const qreal possibleHeight = columnHeight + offset + itemHeight;
+ qreal newX = 0;
- comment->setPos(newPos);
+ if ((itemWidth > (width + penWidth)) || (possibleHeight > maxHeight)) {
+ //move coords to the new column
+ columnHeight = commentsStartPosition.y();
+ newX = newPos.x() + offset + itemWidth;
+ }
+ else {
+ //move coords lower in the same column
+ columnHeight += itemHeight + offset;
+ newX = newPos.x();
+ }
- newPos += QPointF(0, itemHeight + offset);
+ newPos = { newX, columnHeight };
}
}
}
-void FormEditorAnnotationIcon::hideReader()
+void FormEditorAnnotationIcon::removeReader()
{
if (!childItems().isEmpty())
qDeleteAll(childItems());
}
-QGraphicsItem *FormEditorAnnotationIcon::createCommentBubble(const QRectF &rect, const QString &title,
+QGraphicsItem *FormEditorAnnotationIcon::createCommentBubble(QRectF rect, const QString &title,
const QString &author, const QString &text,
const QString &date, QGraphicsItem *parent)
{
@@ -313,13 +345,21 @@ QGraphicsItem *FormEditorAnnotationIcon::createCommentBubble(const QRectF &rect,
textItem->setPos(authorItem->x(), authorItem->boundingRect().height() + authorItem->y() + 5);
textItem->update();
- qreal contentRect = titleItem->boundingRect().height()
+ if (textItem->boundingRect().width() > textItem->textWidth()) {
+ textItem->setTextWidth(textItem->boundingRect().width());
+ textItem->update();
+
+ rect.setWidth(textItem->boundingRect().width());
+ }
+
+ const qreal contentRect = titleItem->boundingRect().height()
+ authorItem->boundingRect().height()
+ textItem->boundingRect().height();
- if ((contentRect + 60) > rect.height()) {
- frameItem->setRect(rect.x(), rect.y(), rect.width(), contentRect+60);
- }
+ if ((contentRect + 60) > rect.height())
+ rect.setHeight(contentRect+60);
+
+ frameItem->setRect(rect);
QGraphicsTextItem *dateItem = new QGraphicsTextItem(frameItem);
dateItem->setPlainText(tr("Edited: ") + date);
@@ -330,7 +370,7 @@ QGraphicsItem *FormEditorAnnotationIcon::createCommentBubble(const QRectF &rect,
QPen pen;
pen.setCosmetic(true);
- pen.setWidth(2);
+ pen.setWidth(penWidth);
pen.setCapStyle(Qt::RoundCap);
pen.setJoinStyle(Qt::BevelJoin);
pen.setColor(frameColor);
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorannotationicon.h b/src/plugins/qmldesigner/components/formeditor/formeditorannotationicon.h
index 4b8c804b2a..dfc3c20389 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorannotationicon.h
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorannotationicon.h
@@ -54,6 +54,7 @@ public:
bool isReaderActive();
void setActive(bool readerStatus);
+ void quickResetReader();
void resetReader();
protected:
@@ -68,7 +69,10 @@ protected:
private:
void drawReader();
void hideReader();
- QGraphicsItem *createCommentBubble(const QRectF &rect, const QString &title,
+
+ void createReader();
+ void removeReader();
+ QGraphicsItem *createCommentBubble(QRectF rect, const QString &title,
const QString &author, const QString &text,
const QString &date, QGraphicsItem *parent);
QGraphicsItem *createTitleBubble(const QRectF &rect, const QString &text, QGraphicsItem *parent);
diff --git a/src/plugins/qmldesigner/components/importmanager/importmanagerview.cpp b/src/plugins/qmldesigner/components/importmanager/importmanagerview.cpp
index 3a13f52411..f26178c456 100644
--- a/src/plugins/qmldesigner/components/importmanager/importmanagerview.cpp
+++ b/src/plugins/qmldesigner/components/importmanager/importmanagerview.cpp
@@ -31,10 +31,8 @@
namespace QmlDesigner {
-ImportManagerView::ImportManagerView(QObject *parent) :
- AbstractView(parent),
- m_importsWidget(nullptr)
-
+ImportManagerView::ImportManagerView(QObject *parent)
+ : AbstractView(parent)
{
}
@@ -81,25 +79,22 @@ void ImportManagerView::modelAboutToBeDetached(Model *model)
AbstractView::modelAboutToBeDetached(model);
}
-void ImportManagerView::nodeCreated(const ModelNode &/*createdNode*/)
+void ImportManagerView::importsChanged(const QList<Import> &/*addedImports*/, const QList<Import> &/*removedImports*/)
{
if (m_importsWidget)
- m_importsWidget->setUsedImports(model()->usedImports());
+ m_importsWidget->setImports(model()->imports());
}
-void ImportManagerView::nodeAboutToBeRemoved(const ModelNode &/*removedNode*/)
+void ImportManagerView::possibleImportsChanged(const QList<Import> &/*possibleImports*/)
{
if (m_importsWidget)
- m_importsWidget->setUsedImports(model()->usedImports());
+ m_importsWidget->setPossibleImports(model()->possibleImports());
}
-void ImportManagerView::importsChanged(const QList<Import> &/*addedImports*/, const QList<Import> &/*removedImports*/)
+void ImportManagerView::usedImportsChanged(const QList<Import> &/*usedImports*/)
{
- if (m_importsWidget) {
- m_importsWidget->setImports(model()->imports());
- m_importsWidget->setPossibleImports(model()->possibleImports());
+ if (m_importsWidget)
m_importsWidget->setUsedImports(model()->usedImports());
- }
}
void ImportManagerView::removeImport(const Import &import)
diff --git a/src/plugins/qmldesigner/components/importmanager/importmanagerview.h b/src/plugins/qmldesigner/components/importmanager/importmanagerview.h
index e2bba4d0b3..a79b53e5ad 100644
--- a/src/plugins/qmldesigner/components/importmanager/importmanagerview.h
+++ b/src/plugins/qmldesigner/components/importmanager/importmanagerview.h
@@ -35,6 +35,7 @@ class ImportsWidget;
class ImportManagerView : public AbstractView
{
Q_OBJECT
+
public:
explicit ImportManagerView(QObject *parent = nullptr);
~ImportManagerView() override;
@@ -45,10 +46,9 @@ public:
void modelAttached(Model *model) override;
void modelAboutToBeDetached(Model *model) override;
- void nodeCreated(const ModelNode &createdNode) override;
- void nodeAboutToBeRemoved(const ModelNode &removedNode) override;
-
void importsChanged(const QList<Import> &addedImports, const QList<Import> &removedImports) override;
+ void possibleImportsChanged(const QList<Import> &possibleImports) override;
+ void usedImportsChanged(const QList<Import> &usedImports) override;
private:
void removeImport(const Import &import);
diff --git a/src/plugins/qmldesigner/components/importmanager/importswidget.cpp b/src/plugins/qmldesigner/components/importmanager/importswidget.cpp
index 5f10c36bc9..d3aaf3c9b1 100644
--- a/src/plugins/qmldesigner/components/importmanager/importswidget.cpp
+++ b/src/plugins/qmldesigner/components/importmanager/importswidget.cpp
@@ -53,7 +53,7 @@ void ImportsWidget::removeImports()
updateLayout();
}
-static bool isImportAlreadyUsed(const Import &import, QList<ImportLabel*> importLabels)
+static bool isImportAlreadyUsed(const Import &import, QList<ImportLabel *> importLabels)
{
foreach (ImportLabel *importLabel, importLabels) {
if (importLabel->import() == import)
@@ -101,12 +101,13 @@ void ImportsWidget::setPossibleImports(QList<Import> possibleImports)
const QStringList mcuWhiteList = {"QtQuick", "QtQuick.Controls"};
- if (isQtForMCUs)
+ if (isQtForMCUs) {
filteredImports = Utils::filtered(possibleImports, [mcuWhiteList](const Import &import) {
return mcuWhiteList.contains(import.url()) || !import.url().startsWith("Qt");
});
- else
+ } else {
filteredImports = possibleImports;
+ }
for (const Import &possibleImport : filteredImports) {
if (!isImportAlreadyUsed(possibleImport, m_importLabels))
@@ -123,7 +124,6 @@ void ImportsWidget::setUsedImports(const QList<Import> &usedImports)
{
foreach (ImportLabel *importLabel, m_importLabels)
importLabel->setReadOnly(usedImports.contains(importLabel->import()));
-
}
void ImportsWidget::removeUsedImports()
diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.cpp
index f9eb7465e2..9cf92f1440 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.cpp
+++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.cpp
@@ -24,11 +24,13 @@
****************************************************************************/
#include "propertyeditorcontextobject.h"
+#include "timelineeditor/easingcurvedialog.h"
#include <abstractview.h>
#include <nodemetainfo.h>
#include <qmldesignerplugin.h>
#include <qmlobjectnode.h>
+#include <qmlmodelnodeproxy.h>
#include <rewritingexception.h>
#include <coreplugin/messagebox.h>
@@ -39,6 +41,8 @@
#include <QCursor>
#include <QQmlContext>
+#include <coreplugin/icore.h>
+
static uchar fromHex(const uchar c, const uchar c2)
{
uchar rv = 0;
@@ -406,4 +410,38 @@ void PropertyEditorContextObject::restoreCursor()
QApplication::restoreOverrideCursor();
}
+void EasingCurveEditor::registerDeclarativeType()
+{
+ qmlRegisterType<EasingCurveEditor>("HelperWidgets", 2, 0, "EasingCurveEditor");
+}
+
+void EasingCurveEditor::runDialog()
+{
+ if (m_modelNode.isValid())
+ EasingCurveDialog::runDialog({ m_modelNode }, Core::ICore::dialogParent());
+}
+
+void EasingCurveEditor::setModelNodeBackend(const QVariant &modelNodeBackend)
+{
+ if (!modelNodeBackend.isNull() && modelNodeBackend.isValid()) {
+ m_modelNodeBackend = modelNodeBackend;
+
+ const auto modelNodeBackendObject = m_modelNodeBackend.value<QObject*>();
+
+ const auto backendObjectCasted =
+ qobject_cast<const QmlDesigner::QmlModelNodeProxy *>(modelNodeBackendObject);
+
+ if (backendObjectCasted) {
+ m_modelNode = backendObjectCasted->qmlObjectNode().modelNode();
+ }
+
+ emit modelNodeBackendChanged();
+ }
+}
+
+QVariant EasingCurveEditor::modelNodeBackend() const
+{
+ return m_modelNodeBackend;
+}
+
} //QmlDesigner
diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.h b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.h
index 150800feba..c38531ce8b 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.h
+++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorcontextobject.h
@@ -26,6 +26,7 @@
#pragma once
#include <model.h>
+#include <modelnode.h>
#include <QObject>
#include <QUrl>
@@ -170,4 +171,30 @@ private:
bool m_setHasActiveTimeline = false;
};
+class EasingCurveEditor : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(QVariant modelNodeBackendProperty READ modelNodeBackend WRITE setModelNodeBackend NOTIFY modelNodeBackendChanged)
+
+public:
+ EasingCurveEditor(QObject *parent = nullptr) : QObject(parent)
+ {}
+
+ static void registerDeclarativeType();
+ Q_INVOKABLE void runDialog();
+ void setModelNodeBackend(const QVariant &modelNodeBackend);
+
+signals:
+ void modelNodeBackendChanged();
+
+private:
+ QVariant modelNodeBackend() const;
+
+private:
+ QVariant m_modelNodeBackend;
+ QmlDesigner::ModelNode m_modelNode;
+};
+
+
} //QmlDesigner {
diff --git a/src/plugins/qmldesigner/components/propertyeditor/quick2propertyeditorview.cpp b/src/plugins/qmldesigner/components/propertyeditor/quick2propertyeditorview.cpp
index 7f705e43c6..e8c85bc1b6 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/quick2propertyeditorview.cpp
+++ b/src/plugins/qmldesigner/components/propertyeditor/quick2propertyeditorview.cpp
@@ -38,6 +38,7 @@
#include "qmlanchorbindingproxy.h"
#include "theme.h"
#include "aligndistribute.h"
+#include "propertyeditorcontextobject.h"
#include "tooltip.h"
namespace QmlDesigner {
@@ -67,6 +68,7 @@ void Quick2PropertyEditorView::registerQmlTypes()
AnnotationEditor::registerDeclarativeType();
AlignDistribute::registerDeclarativeType();
Tooltip::registerDeclarativeType();
+ EasingCurveEditor::registerDeclarativeType();
}
}
diff --git a/src/plugins/qmldesigner/designercore/include/abstractview.h b/src/plugins/qmldesigner/designercore/include/abstractview.h
index 08e5d95474..d0dcddb2ee 100644
--- a/src/plugins/qmldesigner/designercore/include/abstractview.h
+++ b/src/plugins/qmldesigner/designercore/include/abstractview.h
@@ -229,6 +229,8 @@ public:
virtual void nodeOrderChanged(const NodeListProperty &listProperty, const ModelNode &movedNode, int oldIndex);
virtual void importsChanged(const QList<Import> &addedImports, const QList<Import> &removedImports);
+ virtual void possibleImportsChanged(const QList<Import> &possibleImports);
+ virtual void usedImportsChanged(const QList<Import> &usedImports);
virtual void auxiliaryDataChanged(const ModelNode &node, const PropertyName &name, const QVariant &data);
diff --git a/src/plugins/qmldesigner/designercore/model/abstractview.cpp b/src/plugins/qmldesigner/designercore/model/abstractview.cpp
index de0c8882a1..652c23c6e6 100644
--- a/src/plugins/qmldesigner/designercore/model/abstractview.cpp
+++ b/src/plugins/qmldesigner/designercore/model/abstractview.cpp
@@ -345,6 +345,14 @@ void AbstractView::importsChanged(const QList<Import> &/*addedImports*/, const Q
{
}
+void AbstractView::possibleImportsChanged(const QList<Import> &/*possibleImports*/)
+{
+}
+
+void AbstractView::usedImportsChanged(const QList<Import> &/*usedImports*/)
+{
+}
+
void AbstractView::auxiliaryDataChanged(const ModelNode &/*node*/, const PropertyName &/*name*/, const QVariant &/*data*/)
{
}
diff --git a/src/plugins/qmldesigner/designercore/model/model.cpp b/src/plugins/qmldesigner/designercore/model/model.cpp
index 4c35d6a315..8ff23b5248 100644
--- a/src/plugins/qmldesigner/designercore/model/model.cpp
+++ b/src/plugins/qmldesigner/designercore/model/model.cpp
@@ -170,6 +170,22 @@ void ModelPrivate::notifyImportsChanged(const QList<Import> &addedImports, const
resetModelByRewriter(description);
}
+void ModelPrivate::notifyPossibleImportsChanged(const QList<Import> &possibleImports)
+{
+ for (const QPointer<AbstractView> &view : qAsConst(m_viewList)) {
+ Q_ASSERT(view != nullptr);
+ view->possibleImportsChanged(possibleImports);
+ }
+}
+
+void ModelPrivate::notifyUsedImportsChanged(const QList<Import> &usedImports)
+{
+ for (const QPointer<AbstractView> &view : qAsConst(m_viewList)) {
+ Q_ASSERT(view != nullptr);
+ view->usedImportsChanged(usedImports);
+ }
+}
+
QUrl ModelPrivate::fileUrl() const
{
return m_fileUrl;
@@ -1879,14 +1895,15 @@ void Model::changeImports(const QList<Import> &importsToBeAdded, const QList<Imp
void Model::setPossibleImports(const QList<Import> &possibleImports)
{
d->m_possibleImportList = possibleImports;
+ d->notifyPossibleImportsChanged(possibleImports);
}
void Model::setUsedImports(const QList<Import> &usedImports)
{
d->m_usedImportList = usedImports;
+ d->notifyUsedImportsChanged(usedImports);
}
-
static bool compareVersions(const QString &version1, const QString &version2, bool allowHigherVersion)
{
if (version2.isEmpty())
diff --git a/src/plugins/qmldesigner/designercore/model/model_p.h b/src/plugins/qmldesigner/designercore/model/model_p.h
index 6990610b37..dc74ca5a06 100644
--- a/src/plugins/qmldesigner/designercore/model/model_p.h
+++ b/src/plugins/qmldesigner/designercore/model/model_p.h
@@ -185,6 +185,8 @@ public:
void removeImport(const Import &import);
void changeImports(const QList<Import> &importsToBeAdded, const QList<Import> &importToBeRemoved);
void notifyImportsChanged(const QList<Import> &addedImports, const QList<Import> &removedImports);
+ void notifyPossibleImportsChanged(const QList<Import> &possibleImports);
+ void notifyUsedImportsChanged(const QList<Import> &usedImportsChanged);
//node state property manipulation
diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp
index ea88dfcc04..5a1aa97fa6 100644
--- a/src/plugins/qmldesigner/designmodewidget.cpp
+++ b/src/plugins/qmldesigner/designmodewidget.cpp
@@ -210,22 +210,6 @@ void DesignModeWidget::disableWidgets()
m_isDisabled = true;
}
-bool DesignModeWidget::eventFilter(QObject *obj, QEvent *event) // TODO
-{
- if (event->type() == QEvent::Hide) {
- qDebug() << ">>> HIDE";
- m_outputPaneDockWidget->toggleView(false);
- return true;
- } else if (event->type() == QEvent::Show) {
- qDebug() << ">>> SHOW";
- m_outputPaneDockWidget->toggleView(true);
- return true;
- } else {
- // standard event processing
- return QObject::eventFilter(obj, event);
- }
-}
-
void DesignModeWidget::setup()
{
auto &actionManager = viewManager().designerActionManager();
@@ -354,7 +338,8 @@ void DesignModeWidget::setup()
command->setAttribute(Core::Command::CA_Hide);
mviews->addAction(command);
- //outputPanePlaceholder->installEventFilter(this);
+ connect(outputPanePlaceholder, &Core::OutputPanePlaceHolder::visibilityChangeRequested,
+ m_outputPaneDockWidget, &ADS::DockWidget::toggleView);
}
// Create toolbars
diff --git a/src/plugins/qmldesigner/designmodewidget.h b/src/plugins/qmldesigner/designmodewidget.h
index f538c1aff0..8e44ce8c49 100644
--- a/src/plugins/qmldesigner/designmodewidget.h
+++ b/src/plugins/qmldesigner/designmodewidget.h
@@ -86,9 +86,6 @@ public:
static QWidget *createProjectExplorerWidget(QWidget *parent);
-protected:
- bool eventFilter(QObject *obj, QEvent *event) override;
-
private: // functions
enum InitializeStatus { NotInitialized, Initializing, Initialized };
diff --git a/src/plugins/qmljseditor/qmljshighlighter.cpp b/src/plugins/qmljseditor/qmljshighlighter.cpp
index afab8ab3c7..6608a93a69 100644
--- a/src/plugins/qmljseditor/qmljshighlighter.cpp
+++ b/src/plugins/qmljseditor/qmljshighlighter.cpp
@@ -210,9 +210,11 @@ bool QmlJSHighlighter::maybeQmlKeyword(const QStringRef &text) const
return true;
else if (ch == QLatin1Char('a') && text == QLatin1String("alias"))
return true;
+ else if (ch == QLatin1Char('c') && text == QLatin1String("component"))
+ return true;
else if (ch == QLatin1Char('s') && text == QLatin1String("signal"))
return true;
- else if (ch == QLatin1Char('r') && text == QLatin1String("readonly"))
+ else if (ch == QLatin1Char('r') && (text == QLatin1String("readonly") || text == QLatin1String("required")))
return true;
else if (ch == QLatin1Char('i') && text == QLatin1String("import"))
return true;
diff --git a/src/plugins/qmlpreview/QmlPreview.json.in b/src/plugins/qmlpreview/QmlPreview.json.in
index 37fcbd69b5..8a9ce6f6ec 100644
--- a/src/plugins/qmlpreview/QmlPreview.json.in
+++ b/src/plugins/qmlpreview/QmlPreview.json.in
@@ -2,7 +2,6 @@
\"Name\" : \"QmlPreview\",
\"Version\" : \"$$QTCREATOR_VERSION\",
\"CompatVersion\" : \"$$QTCREATOR_COMPAT_VERSION\",
- \"Revision\" : \"$$QTC_PLUGIN_REVISION\",
\"Vendor\" : \"The Qt Company Ltd\",
\"Copyright\" : \"(C) $$QTCREATOR_COPYRIGHT_YEAR The Qt Company Ltd\",
\"License\" : [ \"Commercial Usage\",
diff --git a/src/plugins/studiowelcome/StudioWelcome.json.in b/src/plugins/studiowelcome/StudioWelcome.json.in
index 5a4173de12..6f02991033 100644
--- a/src/plugins/studiowelcome/StudioWelcome.json.in
+++ b/src/plugins/studiowelcome/StudioWelcome.json.in
@@ -2,7 +2,6 @@
\"Name\" : \"StudioWelcome\",
\"Version\" : \"$$QTCREATOR_VERSION\",
\"CompatVersion\" : \"$$QTCREATOR_COMPAT_VERSION\",
- \"Revision\" : \"$$QTC_PLUGIN_REVISION\",
\"DisabledByDefault\" : true,
\"Vendor\" : \"The Qt Company Ltd\",
\"Copyright\" : \"(C) $$QTCREATOR_COPYRIGHT_YEAR The Qt Company Ltd\",
diff --git a/src/shared/qbs b/src/shared/qbs
-Subproject ee44dae4f53d3c3fd16025c8d717f2508431307
+Subproject 77541d68c135039a7ad3431ec1b2f00753e1028