r(m_parser.parse(&file));
if (!r)
{
@@ -179,23 +181,23 @@ void MIDebugger::processLine(const QByteArray& line)
// it's still possible for the user to issue a MI command,
// emit correct signal
- if (currentCmd_ && currentCmd_->isUserCommand()) {
+ if (m_currentCmd && m_currentCmd->isUserCommand()) {
emit userCommandOutput(QString::fromUtf8(line) + '\n');
} else {
emit internalCommandOutput(QString::fromUtf8(line) + '\n');
}
// protect against wild replies that sometimes returned from gdb without a pending command
- if (!currentCmd_)
+ if (!m_currentCmd)
{
qCWarning(DEBUGGERCOMMON) << "Received a result without a pending command";
throw std::runtime_error("Received a result without a pending command");
}
- else if (currentCmd_->token() != result.token)
+ else if (m_currentCmd->token() != result.token)
{
std::stringstream ss;
ss << "Received a result with token not matching pending command. "
- << "Pending: " << currentCmd_->token() << "Received: " << result.token;
+ << "Pending: " << m_currentCmd->token() << "Received: " << result.token;
qCWarning(DEBUGGERCOMMON) << ss.str().c_str();
throw std::runtime_error(ss.str());
}
@@ -204,24 +206,24 @@ void MIDebugger::processLine(const QByteArray& line)
if (result.reason == QLatin1String("done") || result.reason == QLatin1String("running") || result.reason == QLatin1String("exit"))
{
qCDebug(DEBUGGERCOMMON) << "Result token is" << result.token;
- currentCmd_->markAsCompleted();
+ m_currentCmd->markAsCompleted();
qCDebug(DEBUGGERCOMMON) << "Command successful, times "
- << currentCmd_->totalProcessingTime()
- << currentCmd_->queueTime()
- << currentCmd_->gdbProcessingTime();
- currentCmd_->invokeHandler(result);
+ << m_currentCmd->totalProcessingTime()
+ << m_currentCmd->queueTime()
+ << m_currentCmd->gdbProcessingTime();
+ m_currentCmd->invokeHandler(result);
}
else if (result.reason == QLatin1String("error"))
{
qCDebug(DEBUGGERCOMMON) << "Handling error";
- currentCmd_->markAsCompleted();
+ m_currentCmd->markAsCompleted();
qCDebug(DEBUGGERCOMMON) << "Command error, times"
- << currentCmd_->totalProcessingTime()
- << currentCmd_->queueTime()
- << currentCmd_->gdbProcessingTime();
+ << m_currentCmd->totalProcessingTime()
+ << m_currentCmd->queueTime()
+ << m_currentCmd->gdbProcessingTime();
// Some commands want to handle errors themself.
- if (currentCmd_->handlesError() &&
- currentCmd_->invokeHandler(result))
+ if (m_currentCmd->handlesError() &&
+ m_currentCmd->invokeHandler(result))
{
qCDebug(DEBUGGERCOMMON) << "Invoked custom handler\n";
// Done, nothing more needed
@@ -234,8 +236,8 @@ void MIDebugger::processLine(const QByteArray& line)
qCDebug(DEBUGGERCOMMON) << "Unhandled result code: " << result.reason;
}
- delete currentCmd_;
- currentCmd_ = nullptr;
+ delete m_currentCmd;
+ m_currentCmd = nullptr;
emit ready();
break;
}
@@ -286,13 +288,13 @@ void MIDebugger::processLine(const QByteArray& line)
if (s.subkind == MI::StreamRecord::Target) {
emit applicationOutput(s.message);
} else if (s.subkind == MI::StreamRecord::Console) {
- if (currentCmd_ && currentCmd_->isUserCommand())
+ if (m_currentCmd && m_currentCmd->isUserCommand())
emit userCommandOutput(s.message);
else
emit internalCommandOutput(s.message);
- if (currentCmd_)
- currentCmd_->newOutput(s.message);
+ if (m_currentCmd)
+ m_currentCmd->newOutput(s.message);
} else {
emit debuggerInternalOutput(s.message);
}
@@ -343,7 +345,7 @@ void MIDebugger::processErrored(QProcess::ProcessError error)
i18n("Could not start debugger."
"Could not run '%1'. "
"Make sure that the path name is specified correctly.",
- debuggerExecutable_),
+ m_debuggerExecutable),
i18n("Could not start debugger"));
emit userCommandOutput(QStringLiteral("Process failed to start\n"));
@@ -356,7 +358,7 @@ void MIDebugger::processErrored(QProcess::ProcessError error)
"
The debugger process '%1' crashed.
"
"Because of that the debug session has to be ended.
"
"Try to reproduce the crash without KDevelop and report a bug.
",
- debuggerExecutable_),
+ m_debuggerExecutable),
i18n("Debugger crashed"));
emit userCommandOutput(QStringLiteral("Process crashed\n"));
diff --git a/plugins/debuggercommon/midebugger.h b/plugins/debuggercommon/midebugger.h
index ae9dd7f44a..f934c029cf 100644
--- a/plugins/debuggercommon/midebugger.h
+++ b/plugins/debuggercommon/midebugger.h
@@ -135,16 +135,15 @@ protected Q_SLOTS:
void processLine(const QByteArray& line);
protected:
- QString debuggerExecutable_;
- KProcess* process_;
+ QString m_debuggerExecutable;
+ KProcess* m_process;
- MI::MICommand* currentCmd_;
-
- MI::MIParser mi_parser_;
+ MI::MICommand* m_currentCmd;
+ MI::MIParser m_parser;
/** The unprocessed output from debugger. Output is
processed as soon as we see newline. */
- QByteArray buffer_;
+ QByteArray m_buffer;
};
}
diff --git a/plugins/debuggercommon/midebugsession.cpp b/plugins/debuggercommon/midebugsession.cpp
index 58d9bb7794..f7539d216e 100644
--- a/plugins/debuggercommon/midebugsession.cpp
+++ b/plugins/debuggercommon/midebugsession.cpp
@@ -442,7 +442,6 @@ void MIDebugSession::debuggerStateChange(DBGStateFlags oldState, DBGStateFlags n
out += QString::number(i);
}
}
- qCDebug(DEBUGGERCOMMON) << "Debugger state change:" << out;
}
}
@@ -488,7 +487,7 @@ void MIDebugSession::handleDebuggerStateChange(DBGStateFlags oldState, DBGStateF
}
// And now? :-)
- qCDebug(DEBUGGERCOMMON) << "Debugger state changed to: " << newState << message;
+ qCDebug(DEBUGGERCOMMON) << "Debugger state changed to:" << newState << message << "- changes:" << changedState;
if (!message.isEmpty())
emit showMessage(message, 3000);
diff --git a/plugins/debuggercommon/miframestackmodel.cpp b/plugins/debuggercommon/miframestackmodel.cpp
index 643ef28076..5abbe2bb39 100644
--- a/plugins/debuggercommon/miframestackmodel.cpp
+++ b/plugins/debuggercommon/miframestackmodel.cpp
@@ -80,7 +80,7 @@ void MIFrameStackModel::handleThreadInfo(const ResultRecord& r)
if (threadMI[QStringLiteral("state")].literal() == QLatin1String("stopped")) {
threadItem.name = getFunctionOrAddress(threadMI[QStringLiteral("frame")]);
} else {
- i18n("(running)");
+ threadItem.name = i18n("(running)");
}
threadsList << threadItem;
}
diff --git a/plugins/debuggercommon/mivariable.cpp b/plugins/debuggercommon/mivariable.cpp
index 62bbcc88eb..59f39332ed 100644
--- a/plugins/debuggercommon/mivariable.cpp
+++ b/plugins/debuggercommon/mivariable.cpp
@@ -35,26 +35,26 @@ using namespace KDevMI::MI;
bool MIVariable::sessionIsAlive() const
{
- if (!debugSession)
+ if (!m_debugSession)
return false;
- IDebugSession::DebuggerState s = debugSession->state();
+ IDebugSession::DebuggerState s = m_debugSession->state();
return s != IDebugSession::NotStartedState
&& s != IDebugSession::EndedState
- && !debugSession->debuggerStateIsOn(s_shuttingDown);
+ && !m_debugSession->debuggerStateIsOn(s_shuttingDown);
}
MIVariable::MIVariable(MIDebugSession *session, TreeModel* model, TreeItem* parent,
const QString& expression, const QString& display)
: Variable(model, parent, expression, display)
- , debugSession(session)
+ , m_debugSession(session)
{
}
MIVariable *MIVariable::createChild(const Value& child)
{
- if (!debugSession) return nullptr;
- auto var = static_cast(debugSession->variableController()->createVariable(model(), this, child[QStringLiteral("exp")].literal()));
+ if (!m_debugSession) return nullptr;
+ auto var = static_cast(m_debugSession->variableController()->createVariable(model(), this, child[QStringLiteral("exp")].literal()));
var->setTopLevel(false);
var->setVarobj(child[QStringLiteral("name")].literal());
bool hasMore = child[QStringLiteral("numchild")].toInt() != 0 || ( child.hasField(QStringLiteral("dynamic")) && child[QStringLiteral("dynamic")].toInt()!=0 );
@@ -71,33 +71,33 @@ MIVariable *MIVariable::createChild(const Value& child)
MIVariable::~MIVariable()
{
- if (!varobj_.isEmpty())
+ if (!m_varobj.isEmpty())
{
// Delete only top-level variable objects.
if (topLevel()) {
if (sessionIsAlive()) {
- debugSession->addCommand(VarDelete, QStringLiteral("\"%1\"").arg(varobj_));
+ m_debugSession->addCommand(VarDelete, QStringLiteral("\"%1\"").arg(m_varobj));
}
}
- if (debugSession)
- debugSession->variableMapping().remove(varobj_);
+ if (m_debugSession)
+ m_debugSession->variableMapping().remove(m_varobj);
}
}
void MIVariable::setVarobj(const QString& v)
{
- if (!debugSession) {
+ if (!m_debugSession) {
qCWarning(DEBUGGERCOMMON) << "MIVariable::setVarobj called when its session died";
return;
}
- if (!varobj_.isEmpty()) {
+ if (!m_varobj.isEmpty()) {
// this should not happen
// but apperently it does when attachMaybe is called a second time before
// the first -var-create call returned
- debugSession->variableMapping().remove(varobj_);
+ m_debugSession->variableMapping().remove(m_varobj);
}
- varobj_ = v;
- debugSession->variableMapping()[varobj_] = this;
+ m_varobj = v;
+ m_debugSession->variableMapping()[m_varobj] = this;
}
@@ -163,15 +163,15 @@ class CreateVarobjHandler : public MICommandHandler
void MIVariable::attachMaybe(QObject *callback, const char *callbackMethod)
{
- if (!varobj_.isEmpty())
+ if (!m_varobj.isEmpty())
return;
// Try find a current session and attach to it
if (!ICore::self()->debugController()) return; //happens on shutdown
- debugSession = static_cast(ICore::self()->debugController()->currentSession());
+ m_debugSession = static_cast(ICore::self()->debugController()->currentSession());
if (sessionIsAlive()) {
- debugSession->addCommand(VarCreate,
+ m_debugSession->addCommand(VarCreate,
QStringLiteral("var%1 @ %2").arg(nextId++).arg(enquotedExpression()),
new CreateVarobjHandler(this, callback, callbackMethod));
}
@@ -179,7 +179,7 @@ void MIVariable::attachMaybe(QObject *callback, const char *callbackMethod)
void MIVariable::markAsDead()
{
- varobj_.clear();
+ m_varobj.clear();
}
class FetchMoreChildrenHandler : public MICommandHandler
@@ -249,11 +249,11 @@ void MIVariable::fetchMoreChildren()
// FIXME: should not even try this if app is not started.
// Probably need to disable open, or something
if (sessionIsAlive()) {
- debugSession->addCommand(VarListChildren,
+ m_debugSession->addCommand(VarListChildren,
QStringLiteral("--all-values \"%1\" %2 %3")
// fetch from .. to ..
- .arg(varobj_).arg(c).arg(c + fetchStep),
- new FetchMoreChildrenHandler(this, debugSession));
+ .arg(m_varobj).arg(c).arg(c + s_fetchStep),
+ new FetchMoreChildrenHandler(this, m_debugSession));
}
}
@@ -290,7 +290,7 @@ void MIVariable::handleUpdate(const Value& var)
if (var.hasField(QStringLiteral("new_children")))
{
const Value& children = var[QStringLiteral("new_children")];
- if (debugSession) {
+ if (m_debugSession) {
for (int i = 0; i < children.size(); ++i) {
createChild(children[i]);
// it's automatically appended to this's children list
@@ -309,7 +309,7 @@ void MIVariable::handleUpdate(const Value& var)
const QString& MIVariable::varobj() const
{
- return varobj_;
+ return m_varobj;
}
QString MIVariable::enquotedExpression() const
@@ -347,8 +347,8 @@ void MIVariable::formatChanged()
else
{
if (sessionIsAlive()) {
- debugSession->addCommand(VarSetFormat,
- QStringLiteral(" %1 %2 ").arg(varobj_).arg(format2str(format())),
+ m_debugSession->addCommand(VarSetFormat,
+ QStringLiteral(" %1 %2 ").arg(m_varobj).arg(format2str(format())),
new SetFormatHandler(this));
}
}
diff --git a/plugins/debuggercommon/mivariable.h b/plugins/debuggercommon/mivariable.h
index 8af24096dc..f31f7c0606 100644
--- a/plugins/debuggercommon/mivariable.h
+++ b/plugins/debuggercommon/mivariable.h
@@ -77,13 +77,16 @@ class MIVariable : public KDevelop::Variable
bool sessionIsAlive() const;
void setVarobj(const QString& v);
- QString varobj_;
- QPointer debugSession;
+protected:
+ QPointer m_debugSession;
+
+private:
+ QString m_varobj;
// How many children should be fetched in one
// increment.
- static const int fetchStep = 5;
+ static const int s_fetchStep = 5;
};
} // end of KDevMI
diff --git a/plugins/debuggercommon/tests/CMakeLists.txt b/plugins/debuggercommon/tests/CMakeLists.txt
index 810d0f135f..18b292ce99 100644
--- a/plugins/debuggercommon/tests/CMakeLists.txt
+++ b/plugins/debuggercommon/tests/CMakeLists.txt
@@ -1,9 +1,3 @@
-if (CMAKE_VERSION VERSION_GREATER "2.9" OR NOT CMAKE_GENERATOR MATCHES "Ninja")
- set(HAVE_PATH_WITH_SPACES_TEST TRUE)
-else()
- message(WARNING "Disabling 'path with spaces' test, this CMake version would create a faulty build.ninja file. Upgrade to at least CMake v3.0")
-endif()
-
get_filename_component(GDB_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../gdb ABSOLUTE)
get_filename_component(LLDB_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../lldb ABSOLUTE)
configure_file(debuggers-tests-config.h.in debuggers-tests-config.h)
diff --git a/plugins/debuggercommon/tests/debuggees/CMakeLists.txt b/plugins/debuggercommon/tests/debuggees/CMakeLists.txt
index 9d346f2e3b..26cc428c3b 100644
--- a/plugins/debuggercommon/tests/debuggees/CMakeLists.txt
+++ b/plugins/debuggercommon/tests/debuggees/CMakeLists.txt
@@ -4,11 +4,13 @@ function(add_debuggable_executable target)
ecm_mark_nongui_executable(${target})
# force debug symbols for our debuggees, disable optimizations
if (WIN32)
- set(_flags "/0d")
+ # Avoid "cl : Command line warning D9025 : overriding '/O2' with '/Od'" warnings
+ # Thus set COMPILE_FLAGS_RELEASE instead of COMPILE_FLAGS
+ # COMPILE_FLAGS_DEBUG should already have the desired flags
+ set_target_properties(${target} PROPERTIES COMPILE_FLAGS_RELEASE "/DEBUG /Od")
else()
- set(_flags "-O0")
+ set_target_properties(${target} PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS_DEBUG} -O0")
endif()
- set_target_properties(${target} PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS_DEBUG} ${_flags}")
endfunction()
add_debuggable_executable(debuggee_debugee SRCS debugee.cpp)
@@ -30,9 +32,7 @@ target_link_libraries(debuggee_debugeeqt Qt5::Core)
add_debuggable_executable(debuggee_debugeeexception SRCS debugeeexception.cpp)
kde_target_enable_exceptions(debuggee_debugeeexception PRIVATE)
-if (HAVE_PATH_WITH_SPACES_TEST)
- add_subdirectory("path with space")
-endif()
+add_subdirectory("path with space")
add_debuggable_executable(debuggee_qstring SRCS qstring.cpp)
target_link_libraries(debuggee_qstring Qt5::Core)
diff --git a/plugins/debuggercommon/tests/debuggees/qurl.cpp b/plugins/debuggercommon/tests/debuggees/qurl.cpp
index e840d2385d..218a683161 100644
--- a/plugins/debuggercommon/tests/debuggees/qurl.cpp
+++ b/plugins/debuggercommon/tests/debuggees/qurl.cpp
@@ -1,6 +1,6 @@
#include
int main()
{
- QUrl u(QStringLiteral("http://www.kdevelop.org/foo"));
+ QUrl u(QStringLiteral("http://user@www.kdevelop.org:12345/foo?xyz=bar#asdf"));
return 0;
}
diff --git a/plugins/debuggercommon/tests/debuggers-tests-config.h.in b/plugins/debuggercommon/tests/debuggers-tests-config.h.in
index 8f61090a2b..4a8e67ca15 100644
--- a/plugins/debuggercommon/tests/debuggers-tests-config.h.in
+++ b/plugins/debuggercommon/tests/debuggers-tests-config.h.in
@@ -4,4 +4,3 @@
#define DEBUGGEE_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/debuggees"
#cmakedefine GDB_SRC_DIR "${GDB_SRC_DIR}"
#cmakedefine LLDB_SRC_DIR "${LLDB_SRC_DIR}"
-#cmakedefine01 HAVE_PATH_WITH_SPACES_TEST
diff --git a/plugins/docker/dockerfile-template/dockerfile-template.desktop b/plugins/docker/dockerfile-template/dockerfile-template.desktop
index 20cc512c11..432de41b97 100644
--- a/plugins/docker/dockerfile-template/dockerfile-template.desktop
+++ b/plugins/docker/dockerfile-template/dockerfile-template.desktop
@@ -3,7 +3,10 @@ Name=Dockerfile
Name[ca]=Dockerfile
Name[ca@valencia]=Dockerfile
Name[cs]=Dockerfile
+Name[de]=Dockerfile
+Name[en_GB]=Dockerfile
Name[es]=Dockerfile
+Name[fr]=Fichier Docker
Name[it]=Dockerfile
Name[nl]=Dockerfile
Name[pl]=Dockerfile
@@ -17,7 +20,9 @@ Name[zh_CN]=Dockerfile
Comment=A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image
Comment[ca]=Un Dockerfile és un document de text que conté totes les ordres que un usuari hauria de cridar per a muntar una imatge
Comment[ca@valencia]=Un Dockerfile és un document de text que conté totes les ordes que un usuari hauria de cridar per a muntar una imatge
+Comment[en_GB]=A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image
Comment[es]=Un «Dockerfile» es un documento de texto que contiene todas las órdenes que puede invocar el usuario en la línea de órdenes para ensamblar una imagen
+Comment[fr]=Un fichier Docker est un document texte qui contient toutes les commandes qu'un utilisateur pourrait saisir en ligne de commande pour assembler une image
Comment[it]=Un file Dockerfile è un documento di testo che contiene tutti i comandi che un utente può chiamare da riga di comando per assemblare un'immagine
Comment[nl]=Een Dockerbestand is een tekstdocument dat alle opdrachten bevat die een gebruiker zou kunnen aanroepen op de opdrachtregel om een image samen te stellen
Comment[pl]=Plik dokowany jest plikiem tekstowym, który zawiera wszystkie polecenia, które użytkownik może wydać w wierszu poleceń, aby złożyć obraz
@@ -33,6 +38,8 @@ Language=JSON
Language[ca]=JSON
Language[ca@valencia]=JSON
Language[cs]=JSON
+Language[de]=JSON
+Language[en_GB]=JSON
Language[es]=JSON
Language[fr]=JSON
Language[it]=JSON
diff --git a/plugins/docker/kdevdocker.json b/plugins/docker/kdevdocker.json
index a438a59e9e..af0b869359 100644
--- a/plugins/docker/kdevdocker.json
+++ b/plugins/docker/kdevdocker.json
@@ -13,6 +13,7 @@
"Description[ca@valencia]": "Exposa el temps d'execució del Docker",
"Description[ca]": "Exposa el temps d'execució del Docker",
"Description[es]": "Expone bibliotecas en tiempo de ejecución de Docker",
+ "Description[fr]": "Expose les exécutifs Docker",
"Description[it]": "Espone i runtime di Docker",
"Description[nl]": "Toont Docker runtimes",
"Description[pl]": "Udostępnia biblioteki uruchomieniowe Dockera",
@@ -23,14 +24,17 @@
"Description[uk]": "Надає доступ до середовищ виконання Docker",
"Description[x-test]": "xxExposes Docker runtimesxx",
"Description[zh_CN]": "暴露 Docker 运行时",
- "Icon": "docker",
+ "Icon": "kdevelop",
"Id": "kdevdocker",
"License": "GPL",
"Name": "Docker Support",
"Name[ca@valencia]": "Implementació del Docker",
"Name[ca]": "Implementació del Docker",
+ "Name[cs]": "Podpora Dockeru",
"Name[de]": "Docker-Unterstützung",
"Name[es]": "Implementación de Docker",
+ "Name[fr]": "Prise en charge de Docker",
+ "Name[gl]": "Integración de Docker",
"Name[it]": "Supporto per Docker",
"Name[nl]": "Ondersteuning van Docker",
"Name[pl]": "Obsługa Docker",
diff --git a/plugins/docker/tests/test_docker.cpp b/plugins/docker/tests/test_docker.cpp
index e13947a8d0..8064b1ce60 100644
--- a/plugins/docker/tests/test_docker.cpp
+++ b/plugins/docker/tests/test_docker.cpp
@@ -56,17 +56,15 @@ class DockerTest: public QObject
m_initialRuntime = ICore::self()->runtimeController()->currentRuntime();
auto plugin = ICore::self()->pluginController()->loadPlugin("kdevdocker");
- Q_ASSERT(plugin);
+ QVERIFY(plugin);
QSignalSpy spy(plugin, SIGNAL(imagesListed()));
- Q_ASSERT(spy.wait());
-
+ QVERIFY(spy.wait());
auto projectPath = QUrl::fromLocalFile(QFINDTESTDATA("testproject/test.kdev4"));
- qDebug() << "wuuu" << projectPath;
TestCore::self()->projectController()->openProject(projectPath);
QSignalSpy spy2(TestCore::self()->projectController(), &IProjectController::projectOpened);
- Q_ASSERT(spy2.wait());
+ QVERIFY(spy2.wait());
}
IRuntime* m_initialRuntime;
diff --git a/plugins/documentswitcher/documentswitchertreeview.cpp b/plugins/documentswitcher/documentswitchertreeview.cpp
index a690e1a8ca..8d55767ac3 100644
--- a/plugins/documentswitcher/documentswitchertreeview.cpp
+++ b/plugins/documentswitcher/documentswitchertreeview.cpp
@@ -38,7 +38,12 @@ DocumentSwitcherTreeView::DocumentSwitcherTreeView(DocumentSwitcherPlugin* plugi
void DocumentSwitcherTreeView::keyPressEvent(QKeyEvent* event)
{
- QTreeView::keyPressEvent(event);
+ if (event->key() == Qt::Key_Escape) {
+ event->accept();
+ hide();
+ } else {
+ QTreeView::keyPressEvent(event);
+ }
}
void DocumentSwitcherTreeView::keyReleaseEvent(QKeyEvent* event)
diff --git a/plugins/documentswitcher/kdevdocumentswitcher.json b/plugins/documentswitcher/kdevdocumentswitcher.json
index 77f8cfd940..9b4d660d2b 100644
--- a/plugins/documentswitcher/kdevdocumentswitcher.json
+++ b/plugins/documentswitcher/kdevdocumentswitcher.json
@@ -10,13 +10,19 @@
"Description": "A most-recently-used document switcher for KDevPlatform.",
"Description[ca@valencia]": "Un commutador del document usat més recentment per KDevPlatform.",
"Description[ca]": "Un commutador del document usat més recentment per KDevPlatform.",
+ "Description[cs]": "Přepínač nedávno použitých dokumentů pro KDevPlatform",
+ "Description[de]": "Ein Umschalter zwischen zuletzt geöffneten Dokumenten für KDevPlatform.",
"Description[es]": "Un cambiador de documentos recientemente usados para KDevPlatform.",
+ "Description[et]": "KDevPlatformi viimati kasutatud dokumentide vahetaja",
"Description[fr]": "Un changeur de document dernièrement utilisé pour KDevPlatform.",
+ "Description[gl]": "Un selector entre documentos empregados recentemente para KDevPlatform.",
"Description[it]": "Uno scambia documento utilizzato più di recente per KDevPlatform.",
"Description[nl]": "De meest-recent-gebruikte documentwisselaar voor KDevPlatform.",
"Description[pl]": "Przełączanie między ostatnio używanymi dokumentacji w KDevPlatform.",
"Description[pt]": "Um selector dos documentos usados mais recentemente para o KDevPlatform.",
+ "Description[pt_BR]": "Um seletor dos documentos mais recentes para o KDevPlatform.",
"Description[sk]": "Prepínač posledných použitých dokumentov pre KDevPlatform.",
+ "Description[sl]": "Vstavek za preklapljanje med nazadnje uporabljenimi dokumenti.",
"Description[sv]": "Byte till senast använda dokument för KDevelop-plattformen.",
"Description[tr]": "KDevPlatform için en-son-kullanılan belge seçici bir eklenti.",
"Description[uk]": "Перемикач останніх використаних документів для KDevPlatform.",
@@ -28,14 +34,21 @@
"Name": "Most-Recently-Used Document Switcher",
"Name[ca@valencia]": "Commutador del document usat més recentment",
"Name[ca]": "Commutador del document usat més recentment",
+ "Name[cs]": "Přepínač nedávno používaných dokumentů ",
+ "Name[de]": "Zuletzt-Verwendet-Dokumentumschalter",
"Name[es]": "Selector de documentos usados recientemente",
+ "Name[et]": "Viimati kasutatud dokumentide vahetaja",
"Name[fr]": "Commutateur de documents parmi les plus récemment utilisés",
+ "Name[gl]": "Selector entre documentos empregados recentemente",
"Name[it]": "Scambia documento utilizzato più di recente",
"Name[nb]": "Sist-brukte dokumentbytter",
"Name[nl]": "Meest-recent-gebruikte documentwisselaar",
"Name[pl]": "Przełączanie między ostatnio używanymi dokumentami",
"Name[pt]": "Selector dos Documentos Usados Mais Recentemente",
+ "Name[pt_BR]": "Seletor dos documentos usados mais recentemente",
+ "Name[ru]": "Переключатель недавних документов",
"Name[sk]": "Prepínač posledných použitých dokumentov",
+ "Name[sl]": "Preklapljanje med nazadnje uporabljenimi dokumenti",
"Name[sv]": "Byte till senast använda dokument",
"Name[tr]": "Yakın Zamanda En Çok Kullanılan Belgeleri Seçici",
"Name[uk]": "Перемикач нещодавно використаних документів",
diff --git a/plugins/documentview/kdevdocumentview.json b/plugins/documentview/kdevdocumentview.json
index c5cfe56e0c..726e71e8e9 100644
--- a/plugins/documentview/kdevdocumentview.json
+++ b/plugins/documentview/kdevdocumentview.json
@@ -10,13 +10,19 @@
"Description": "This plugin displays a graphical view of all documents currently loaded and separates them by mimetype.",
"Description[ca@valencia]": "Este connector mostra una visualització gràfica de tots els documents carregats actualment, separats per tipus MIME.",
"Description[ca]": "Aquest connector mostra una visualització gràfica de tots els documents carregats actualment, separats per tipus MIME.",
+ "Description[cs]": "Tento zásuvný modul zobrazuje grafický pohled všech aktuálně načtených dokumentů a odděluje je podle typu MIME.",
+ "Description[de]": "Dieses Modul zeigt alle aktuell geladenen Dokumente getrennt nach ihren MIME-Typen an.",
"Description[es]": "Este complemento muestra una vista gráfica de todos los documentos actualmente cargados y los separa por su tipo MIME.",
+ "Description[et]": "See plugin näitab graafiliselt kõiki laaditud dokumente ja eraldab need MIME tüübi alusel.",
"Description[fr]": "Ce module affiche une vue graphique de tous les documents actuellement chargés et les sépare par type MIME.",
+ "Description[gl]": "Este complemento mostra unha vista gráfica de todos os documentos que están cargados e sepáraos segundo o seu tipo mime.",
"Description[it]": "Questa estensione mostra una vista grafica di tutti i documenti attualmente caricati e li separa per il tipo MIME.",
"Description[nl]": "Deze plugin toont een grafische voorstelling van alle nu geladen documenten en scheidt deze door het mimetype.",
"Description[pl]": "Ta wtyczka udostępnia graficzny widok wszystkich obecnie wczytanych dokumentów i dzieli je według typu MIME.",
"Description[pt]": "Este 'plugin' mostra uma vista gráfica sobre todos os documentos abertos de momento e separa-os pelo seu tipo MIME.",
+ "Description[pt_BR]": "Este plugin mostra uma vista gráfica sobre todos os documentos carregados no momento e separa-os por tipo MIME.",
"Description[sk]": "Tento plugin zobrazí grafický pohľad všetkých dokumentov aktuálne načítaných a rozdelí ich podľa mimetype.",
+ "Description[sl]": "Ta vstavek prikazuje vse trenutno naložene dokumente in jih ločuje glede na vrsto MIME.",
"Description[sv]": "Insticksprogrammet visar en grafisk vy av alla dokument som för närvarande har laddats och delar upp dem enligt Mime-typ.",
"Description[tr]": "Bu eklenti o anda yüklenmiş olan tüm belgeleri grafiksel bir görünümde gösterir ve mime türlerine göre ayırır.",
"Description[uk]": "Цей додаток відображає у графічному вигляді всі відкриті документи і впорядковує їх за типом MIME.",
@@ -32,11 +38,13 @@
"Name[de]": "Dokumentansicht",
"Name[es]": "Vista de documento",
"Name[fr]": "Vue Document",
+ "Name[gl]": "Vista do documento",
"Name[it]": "Vista documento",
"Name[nb]": "Dokumentvisning",
"Name[nl]": "Documentweergave",
"Name[pl]": "Widok dokumentu",
"Name[pt]": "Área de Documentos",
+ "Name[ru]": "Панель документов",
"Name[sk]": "Pohľad na dokumenty",
"Name[sv]": "Dokumentvisning",
"Name[tr]": "Belge Görünümü",
diff --git a/plugins/documentview/settings/kcm_documentview_settings.desktop b/plugins/documentview/settings/kcm_documentview_settings.desktop
index 11c537174c..14cea6282a 100644
--- a/plugins/documentview/settings/kcm_documentview_settings.desktop
+++ b/plugins/documentview/settings/kcm_documentview_settings.desktop
@@ -11,32 +11,43 @@ X-KDE-ParentComponents=kdevelop
X-KDE-CfgDlgHierarchy=CORE
Name=Document View
+Name[bg]=Изглед за документи
+Name[bs]=Pregled Dokumenta
Name[ca]=Visor de document
Name[ca@valencia]=Visor de document
Name[cs]=Pohled na dokumenty
Name[de]=Dokumentansicht
+Name[en_GB]=Document View
Name[es]=Vista de documento
Name[fr]=Vue Document
Name[ga]=Amharc Cáipéise
+Name[gl]=Vista do documento
Name[it]=Vista documento
+Name[kk]=Құжат көрінісі
Name[nb]=Dokumentvisning
Name[nds]=Dokmenten-Ansicht
Name[nl]=Documentweergave
Name[pl]=Widok dokumentu
Name[pt]=Área de Documentos
+Name[pt_BR]=Área de documentos
+Name[ru]=Панель документов
Name[sk]=Pohľad na dokumenty
+Name[sl]=Prikaz dokumentov
Name[sv]=Dokumentvisning
Name[tr]=Belge Görünümü
+Name[ug]=پۈتۈك كۆرۈنۈشى
Name[uk]=Перегляд документів
Name[x-test]=xxDocument Viewxx
Name[zh_CN]=文档视图
Name[zh_TW]=文件檢視
Comment=Configure Document View settings
+Comment[bg]=Настройки на изгледа за документи
Comment[ca]=Configura els arranjaments del visor de document
Comment[ca@valencia]=Configura els arranjaments del visor de document
Comment[cs]=Upravit nastavení zobrazení dokumentu
Comment[de]=Einstellungen für Dokumentansicht
Comment[el]=Ρύθμιση επιλογών προβολής εγγράφου
+Comment[en_GB]=Configure Document View settings
Comment[es]=Configurar las preferencias de la vista de documento
Comment[et]=Dokumendivaate valikute seadistamine
Comment[fr]=Configurer les paramètres de la vue Document
@@ -52,6 +63,7 @@ Comment[ne]=कागजात दृश्य सेटिङ कन्फि
Comment[nl]=Documentweergave-instellingen configureren
Comment[pl]=Przeglądarka dokumentacji: konfiguracja
Comment[pt]=Configurar as opções da Área de Documentos
+Comment[pt_BR]=Configurar as opções da área de documentos
Comment[sk]=Nastaviť možnosti zobrazenia dokumentov
Comment[sv]=Anpassa inställningar av dokumentvisning
Comment[tr]=Belge Görünümü Ayarlarını Yapılandır
diff --git a/plugins/execute/kdevexecute.json b/plugins/execute/kdevexecute.json
index 9ec1a2a4ea..7ceeca998c 100644
--- a/plugins/execute/kdevexecute.json
+++ b/plugins/execute/kdevexecute.json
@@ -10,13 +10,19 @@
"Description": "This plugin allows running of programs with no instrumentor, ie. natively by the current host.",
"Description[ca@valencia]": "Este connector permet executar programes sense «instrumentor», és a dir, nativament per a la màquina actual.",
"Description[ca]": "Aquest connector permet executar programes sense «instrumentor», és a dir, nativament per a la màquina actual.",
+ "Description[cs]": "Tento zásuvný modul umožňuje běh programů bez jakéhokoliv prostředníka, takže běží přirozeně na současném hostiteli.",
+ "Description[de]": "Dieses Modul erlaubt das Ausführen von Programmen im Kontext des Betriebssystems.",
"Description[es]": "Este complemento permite ejecutar programas sin instrumentador (es decir, de forma nativa) en la máquina actual.",
+ "Description[et]": "See plugin võimaldab panna programme aktiivses masinas tööle ilma instrumentaatorita, s.t loomulikult.",
"Description[fr]": "Ce module permet d'exécuter des programmes sans instrumentation, c'est-à-dire de manière native sur l'hôte courant.",
+ "Description[gl]": "Este complemento permite executar programas sen instrumentador, i.e. de xeito nativo na máquina actual.",
"Description[it]": "Questa estensione permette l'esecuzione dei programmi senza instrumentor, vale a dire nativamente da parte dell'host attuale.",
"Description[nl]": "Deze plugin staat het uitvoeren van programma's toe zonder hulpprogramma, dwz. van nature op de huidige host.",
"Description[pl]": "Wtyczka ta pozwala na uruchamianie programów bez instrumentora, np. natywnie przez obecnego hosta.",
"Description[pt]": "Este 'plugin' permite a execução de programas sem instrumentação, i.e. nativamente na máquina-anfitriã actual.",
+ "Description[pt_BR]": "Este plugin permite executar programas sem orquestrador, ou seja, nativamente pelo computador hospedeiro.",
"Description[sk]": "Tento plugin umožňuje spustenie programov bez inštrumentora, teda natívne aktuálnym hostiteľom.",
+ "Description[sl]": "Vstavek omogoča zaganjanje programov, za katere v KDevelop ni posebnega grafičnega vmesnika.",
"Description[sv]": "Insticksprogrammet tillåter att program utan instrumentering körs, dvs. direkt av nuvarande värddator.",
"Description[tr]": "Bu eklenti programların ek araç olmadan çalıştırılabilmesini sağlar, örn. mevcut istemci ile doğal olarak.",
"Description[uk]": "За допомогою цього додатка можна запускати програми безпосередньо на поточному вузлі.",
@@ -29,14 +35,20 @@
"Name[ca@valencia]": "Executa programes",
"Name[ca]": "Executa programes",
"Name[cs]": "Spustit programy",
+ "Name[de]": "Programme ausführen",
"Name[es]": "Ejecutar programas",
+ "Name[et]": "Programmide täitmine",
"Name[fr]": "Exécuter des programmes",
+ "Name[gl]": "Executar programas",
"Name[it]": "Esegui i programmi",
"Name[nb]": "Kjør programmer",
"Name[nl]": "Programma's uitvoeren",
"Name[pl]": "Wykonaj programy",
"Name[pt]": "Execução de Programas",
+ "Name[pt_BR]": "Executar programas",
+ "Name[ru]": "Запуск программ",
"Name[sk]": "Spustiť programy",
+ "Name[sl]": "Izvedi programe",
"Name[sv]": "Kör program",
"Name[tr]": "Uygulamaları Çalıştır",
"Name[uk]": "Виконання програм",
diff --git a/plugins/executescript/kdevexecutescript.json b/plugins/executescript/kdevexecutescript.json
index 065baee0ab..35f8eeac99 100644
--- a/plugins/executescript/kdevexecutescript.json
+++ b/plugins/executescript/kdevexecutescript.json
@@ -9,13 +9,19 @@
"Description": "This plugin allows running of scripts.",
"Description[ca@valencia]": "Este connector permet executar scripts.",
"Description[ca]": "Aquest connector permet executar scripts.",
+ "Description[cs]": "Tento modul umožňuje spouštění skriptů.",
+ "Description[de]": "Dieses Modul ermöglicht das Ausführen von Skripten.",
"Description[es]": "Este complemento permite la ejecución de scripts.",
+ "Description[et]": "See plugin võimaldab käivitada skripte.",
"Description[fr]": "Ce module permet d'exécuter des scripts.",
+ "Description[gl]": "Este complemento permite a execución de scripts.",
"Description[it]": "Questa estensione permette l'esecuzione degli script.",
"Description[nl]": "Deze plugin staat het uitvoeren van scripts toe.",
"Description[pl]": "Wtyczka ta pozwala na uruchamianie skryptów.",
"Description[pt]": "Este 'plugin' permite a execução de programas.",
+ "Description[pt_BR]": "Este plugin permite a execução de scripts.",
"Description[sk]": "Tento plugin povoľuje spúšťanie skriptov.",
+ "Description[sl]": "Ta vstavek omogoča zaganjanje skript.",
"Description[sv]": "Insticksprogrammet gör det möjligt att köra skript.",
"Description[tr]": "Bu eklenti betiklerin çalıştırılmasını sağlar.",
"Description[uk]": "За допомогою цього додатка можна запускати скрипти.",
@@ -28,14 +34,20 @@
"Name[ca@valencia]": "Executa scripts",
"Name[ca]": "Executa scripts",
"Name[cs]": "Spustit skripty",
+ "Name[de]": "Skripte ausführen",
"Name[es]": "Ejecutar scripts",
+ "Name[et]": "Skriptide käivitamine",
"Name[fr]": "Exécution de scripts",
+ "Name[gl]": "Executar scripts",
"Name[it]": "Esegui script",
"Name[nb]": "Kjør skripter",
"Name[nl]": "Scripts uitvoeren",
"Name[pl]": "Wykonaj skrypty",
"Name[pt]": "Executar Programas",
+ "Name[pt_BR]": "Executar scripts",
+ "Name[ru]": "Запуск сценариев",
"Name[sk]": "Spustiť skripty",
+ "Name[sl]": "Izvedi skripte",
"Name[sv]": "Kör skript",
"Name[tr]": "Betikleri Çalıştır",
"Name[uk]": "Виконання скриптів",
diff --git a/plugins/externalscript/kdevexternalscript.json b/plugins/externalscript/kdevexternalscript.json
index 271c5996de..0402b09066 100644
--- a/plugins/externalscript/kdevexternalscript.json
+++ b/plugins/externalscript/kdevexternalscript.json
@@ -10,13 +10,19 @@
"Description": "Run external scripts or applications to manipulate the editor contents or do other arbitrary actions.",
"Description[ca@valencia]": "Executa scripts externs o aplicacions per a manipular el contingut de l'editor o altres accions arbitràries.",
"Description[ca]": "Executa scripts externs o aplicacions per a manipular el contingut de l'editor o altres accions arbitràries.",
+ "Description[cs]": "Spouštějte externí skripty nebo aplikace a pracujte s obsahem editoru nebo dělejte jiné libovolné akce.",
+ "Description[de]": "Führen Sie externe Skripte oder Programme zum Verändern des Editorinhalts oder für beliebige andere Aktionen aus.",
"Description[es]": "Ejecutar scripts externos o aplicaciones para manipular el contenido del editor o realizar otras acciones.",
+ "Description[et]": "Välised skriptid või rakendused, mis võimaldavad muuta redaktori sisu või ette võtta mingeid muid toiminguid.",
"Description[fr]": "Exécuter des scripts externes ou des applications pour manipuler les contenus de l'éditeur ou autres actions arbitraires.",
+ "Description[gl]": "Executa scripts externos ou aplicativos para manipular os contidos do editor ou levar a cabo outras accións.",
"Description[it]": "Avvia script o applicazioni esterne per manipolare il contenuto dell'editor o per eseguire altre azioni.",
"Description[nl]": "Externe scripts of programma's uitvoeren om de inhoud van de bewerker te manipuleren of andere acties uit te voeren.",
"Description[pl]": "Uruchamiaj zewnętrzne skrypty lub programy, aby manipulować zawartością edytora lub innymi dowolnymi działaniami.",
"Description[pt]": "Executa programas ou aplicações externas para manipular o conteúdo do editor ou para efectuar outras acções arbitrárias.",
+ "Description[pt_BR]": "Execute scripts externos ou aplicativos para manipular os conteúdos do editor ou para fazer outras ações ordinárias.",
"Description[sk]": "Spustí externé skripty alebo aplikácie na manipuláciu s obsahom editora alebo robí iné ľubovoľné akcie.",
+ "Description[sl]": "Zaganjajte zunanje skripte ali programe, ki upravljajo z vsebino urejevalnika ali pa opravljajo druga poljubna dejanja.",
"Description[sv]": "Kör externa skript eller program för att behandla editorns innehåll eller utför andra godtyckliga åtgärder.",
"Description[tr]": "Düzenleyici içeriğini değiştirmek veya diğer keyfi eylemler için dış betikler veya uygulamalar çalıştır.",
"Description[uk]": "Запускає зовнішні скрипти або програми для обробки текстових даних редактора або виконання інших потрібних дій.",
@@ -29,14 +35,20 @@
"Name[ca@valencia]": "Scripts externs",
"Name[ca]": "Scripts externs",
"Name[cs]": "Externí skripty",
+ "Name[de]": "Externe Skripte",
"Name[es]": "Scripts externos",
+ "Name[et]": "Välised skriptid",
"Name[fr]": "Scripts externes",
+ "Name[gl]": "Scripts externos",
"Name[it]": "Script esterni",
"Name[nb]": "Eksterne skripter",
"Name[nl]": "Externe scripts",
"Name[pl]": "Zewnętrzne skrypty",
"Name[pt]": "Programas Externos",
+ "Name[pt_BR]": "Scripts externos",
+ "Name[ru]": "Внешние сценарии",
"Name[sk]": "Externé skripty",
+ "Name[sl]": "Zunanji skripti",
"Name[sv]": "Externa skript",
"Name[tr]": "Dış Betikler",
"Name[uk]": "Зовнішні скрипти",
diff --git a/plugins/filemanager/kdevfilemanager.json b/plugins/filemanager/kdevfilemanager.json
index 951be516aa..953b98c7e5 100644
--- a/plugins/filemanager/kdevfilemanager.json
+++ b/plugins/filemanager/kdevfilemanager.json
@@ -12,12 +12,16 @@
"Description[ca@valencia]": "Este connector proporciona un gestor de fitxers al KDevelop.",
"Description[ca]": "Aquest connector proporciona un gestor de fitxers al KDevelop.",
"Description[cs]": "Tento modul do KDevelop přináší správce souborů.",
+ "Description[de]": "Diese Modul fügt eine Dateiverwaltung zu KDevelop hinzu.",
"Description[es]": "Este complemento proporciona un gestor de archivos a KDevelop.",
+ "Description[et]": "See plugin võimaldab kasutada KDevelopis failihaldurit.",
"Description[fr]": "Ce module apporte un gestionnaire de fichiers à KDevelop",
+ "Description[gl]": "Este complemento incorpora un xestor de ficheiros no KDevelop.",
"Description[it]": "Questa estensione porta un gestore di file in KDevelop.",
"Description[nl]": "Deze plugin brengt een bestandsbeheerder in KDevelop.",
"Description[pl]": "Ta wtyczka udostępnia zarządzanie plikami w KDevelopie.",
"Description[pt]": "Este 'plugin' traz um gestor de ficheiros para o KDevelop.",
+ "Description[pt_BR]": "Este plugin provê um gerenciador de arquivos ao KDevelop.",
"Description[sk]": "Tento plugin prináša správcu súborov do KDevelop.",
"Description[sv]": "Insticksprogrammet integrerar en filhanterare i KDevelop.",
"Description[tr]": "Bu eklenti KDevelop için bir dosya yöneticisi sağlar.",
@@ -30,14 +34,17 @@
"Name": "KDE File Manager Integration",
"Name[ca@valencia]": "Integració del gestor de fitxers del KDE",
"Name[ca]": "Integració del gestor de fitxers del KDE",
+ "Name[cs]": "Integrace správce souborů pro KDE",
"Name[de]": "Integration der KDE-Dateiverwaltung",
"Name[es]": "Integración del gestor de archivos de KDE",
"Name[fr]": "Intégration du gestionnaire de fichiers de KDE",
+ "Name[gl]": "Integración co xestor de ficheiros de KDE",
"Name[it]": "Integrazione gestore di file di KDE",
"Name[nb]": "Integrasjon med KDE filbehandler",
"Name[nl]": "KDE Bestandsbeheerder-integratie",
"Name[pl]": "Integracja zarządzania plikami KDE",
"Name[pt]": "Integração com o Gestor de Ficheiros do KDE",
+ "Name[ru]": "Интеграция файлового менеджера KDE",
"Name[sk]": "Integrácia správcu súborov KDE",
"Name[sv]": "Integrering av KDE:s filhanterare",
"Name[tr]": "KDE Dosya Yöneticisi Bütünleşmesi",
diff --git a/plugins/filetemplates/kdevfiletemplates.json b/plugins/filetemplates/kdevfiletemplates.json
index c87e4b1f63..fc3b485f3b 100644
--- a/plugins/filetemplates/kdevfiletemplates.json
+++ b/plugins/filetemplates/kdevfiletemplates.json
@@ -11,13 +11,19 @@
"Description": "Manages templates for source files",
"Description[ca@valencia]": "Gestiona les plantilles dels fitxers de codi font",
"Description[ca]": "Gestiona les plantilles dels fitxers de codi font",
+ "Description[cs]": "Spravuje šablony pro zdrojové soubory",
+ "Description[de]": "Verwaltung von Vorlagen für Quelltextdateien",
"Description[es]": "Gestiona plantillas para archivos de código fuente",
+ "Description[et]": "Lähtekoodi failide mallide haldamine",
"Description[fr]": "Gère les modèles de fichiers sources",
+ "Description[gl]": "Xestiona modelos para os ficheiros de fonte",
"Description[it]": "Gestisce i modelli per i file sorgente",
"Description[nl]": "Beheert sjablonen voor broncodebestanden",
"Description[pl]": "Zarządza szablonami dla plików źródłowych",
"Description[pt]": "Gere os modelos de ficheiros de código",
+ "Description[pt_BR]": "Gerencia os modelos dos arquivos de código",
"Description[sk]": "Spravuje šablóny pre zdrojové súbory",
+ "Description[sl]": "Upravlja predloge za datoteke z izvorno kodo",
"Description[sv]": "Hanterar mallar för källkodsfiler",
"Description[tr]": "Kaynak dosyaları için şablonları yönetir",
"Description[uk]": "Керування шаблонами для початкових файлів коду",
@@ -29,14 +35,21 @@
"Name": "File Templates Configuration",
"Name[ca@valencia]": "Configuració de les plantilles de fitxer",
"Name[ca]": "Configuració de les plantilles de fitxer",
+ "Name[cs]": "Nastavení šablon souborů",
+ "Name[de]": "Einrichtung der Dateivorlagen",
"Name[es]": "Configuración de plantillas de archivos",
+ "Name[et]": "Failimallide seadistamine",
"Name[fr]": "Configuration des modèles de fichiers",
+ "Name[gl]": "Configuración dos modelos de ficheiros",
"Name[it]": "Configurazione dei file dei modelli",
"Name[nb]": "Oppsett av fil-maler",
"Name[nl]": "Configuratie van sjabloonbestanden",
"Name[pl]": "Ustawienia szablonów plików",
"Name[pt]": "Configuração dos Modelos de Ficheiros",
+ "Name[pt_BR]": "Configuração dos modelos de arquivos",
+ "Name[ru]": "Настройка шаблонов файлов",
"Name[sk]": "Nastavenie šablón súborov",
+ "Name[sl]": "Nastavitev predlog dokumentov",
"Name[sv]": "Inställning av filmallar",
"Name[tr]": "Dosya Şablon Yapılandırması",
"Name[uk]": "Налаштовування шаблонів файлів",
diff --git a/plugins/filetemplates/kdevfiletemplates.knsrc b/plugins/filetemplates/kdevfiletemplates.knsrc
index c213265aca..1a8249e4bb 100644
--- a/plugins/filetemplates/kdevfiletemplates.knsrc
+++ b/plugins/filetemplates/kdevfiletemplates.knsrc
@@ -3,12 +3,16 @@ Name=File Templates (SDK)
Name[ca]=Plantilles de fitxer (SDK)
Name[ca@valencia]=Plantilles de fitxer (SDK)
Name[cs]=Šablony souborů (SDK)
+Name[de]=Dateivorlagen (SDK)
+Name[en_GB]=File Templates (SDK)
Name[es]=Plantillas de archivos (SDK)
+Name[fr]=Modèles de fichiers (SDK)
Name[it]=Modelli di file (SDK)
Name[nl]=Bestandssjablonen (SDK)
Name[pl]=Szablony plików (SDK)
Name[pt]=Modelos de Ficheiros (SDK)
Name[sk]=Súborové šablóny (SDK)
+Name[sl]=Predloge datotek (SDK)
Name[sv]=Filmallar (SDK)
Name[tr]=Dosya Şablonları (SDK)
Name[uk]=Шаблони файлів (SDK)
diff --git a/plugins/flatpak/flatpak-template/flatpak-builder-manifest.desktop b/plugins/flatpak/flatpak-template/flatpak-builder-manifest.desktop
index be89b6ac02..a05b489537 100644
--- a/plugins/flatpak/flatpak-template/flatpak-builder-manifest.desktop
+++ b/plugins/flatpak/flatpak-template/flatpak-builder-manifest.desktop
@@ -2,7 +2,9 @@
Name=Flatpak Builder Manifest
Name[ca]=Manifest del constructor Flatpak
Name[ca@valencia]=Manifest del constructor Flatpak
+Name[en_GB]=Flatpak Builder Manifest
Name[es]=Manifiesto de construcción de Flatpak
+Name[fr]=Manifest de construction Flatpak
Name[it]=Manifesto di Flatpak Builder
Name[nl]=Flatpak Builder Manifest
Name[pl]=Manifest budowniczego Flatpak
@@ -16,7 +18,9 @@ Name[zh_CN]=Flatpak 构建器清单文件
Comment=A file to configure how a project is built by flatpak
Comment[ca]=Un fitxer per a configurar com serà construït un projecte per Flatpak
Comment[ca@valencia]=Un fitxer per a configurar com serà construït un projecte per Flatpak
+Comment[en_GB]=A file to configure how a project is built by flatpak
Comment[es]=Un archivo para configurar cómo construye flatpak un proyecto
+Comment[fr]=Un fichier pour configurer comment un projet est construit par Flatpak
Comment[it]=Un file per configurare come il progetto viene generato da flatpak
Comment[nl]=Een bestand om te configureren hoe een project wordt gebouwd door flatpak
Comment[pl]=Plik do ustawienia sposobu budowania przez flatpak
@@ -32,6 +36,8 @@ Language=JSON
Language[ca]=JSON
Language[ca@valencia]=JSON
Language[cs]=JSON
+Language[de]=JSON
+Language[en_GB]=JSON
Language[es]=JSON
Language[fr]=JSON
Language[it]=JSON
diff --git a/plugins/flatpak/flatpakplugin.cpp b/plugins/flatpak/flatpakplugin.cpp
index 4a1ebf1e81..32d2fed368 100644
--- a/plugins/flatpak/flatpakplugin.cpp
+++ b/plugins/flatpak/flatpakplugin.cpp
@@ -164,7 +164,7 @@ KDevelop::ContextMenuExtension FlatpakPlugin::contextMenuExtension(KDevelop::Con
}
}
- const QRegularExpression nameRx(".*\\..*\\.*.json$");
+ const QRegularExpression nameRx(".*\\..*\\..*\\.json$");
for(auto it = urls.begin(); it != urls.end(); ) {
if (it->isLocalFile() && it->path().contains(nameRx)) {
++it;
diff --git a/plugins/flatpak/kdevflatpak.json b/plugins/flatpak/kdevflatpak.json
index 0574ecae18..092c818744 100644
--- a/plugins/flatpak/kdevflatpak.json
+++ b/plugins/flatpak/kdevflatpak.json
@@ -13,6 +13,7 @@
"Description[ca@valencia]": "Exposa el temps d'execució del Flatpak",
"Description[ca]": "Exposa el temps d'execució del Flatpak",
"Description[es]": "Expone bibliotecas en tiempo de ejecución de Flatpak",
+ "Description[fr]": "Expose les exécutifs Flatpak",
"Description[it]": "Espone i runtime di Flatpak",
"Description[nl]": "Toont Flatpak runtimes",
"Description[pl]": "Udostępnia biblioteki uruchomieniowe Flatpak",
@@ -23,13 +24,16 @@
"Description[uk]": "Надає доступ до середовищ виконання Flatpak",
"Description[x-test]": "xxExposes Flatpak runtimesxx",
"Description[zh_CN]": "暴露 Flatpak 运行时",
- "Icon": "flatpak",
+ "Icon": "kdevelop",
"Id": "kdevflatpak",
"License": "GPL",
"Name": "Flatpak Support",
"Name[ca@valencia]": "Implementació del Flatpak",
"Name[ca]": "Implementació del Flatpak",
+ "Name[cs]": "Podpora pro Flatpak",
+ "Name[de]": "Flatpak-Unterstützung",
"Name[es]": "Implementación de Flatpak",
+ "Name[fr]": "Prise en charge de Flatpak",
"Name[it]": "Supporto per Flatpak",
"Name[nl]": "Ondersteuning van Flatpak",
"Name[pl]": "Obsługa Flatpak",
diff --git a/plugins/gdb/gdb.cpp b/plugins/gdb/gdb.cpp
index 2d86d3b831..993e657167 100644
--- a/plugins/gdb/gdb.cpp
+++ b/plugins/gdb/gdb.cpp
@@ -52,10 +52,10 @@ bool GdbDebugger::start(KConfigGroup& config, const QStringList& extraArguments)
// FIXME: verify that default value leads to something sensible
QUrl gdbUrl = config.readEntry(Config::GdbPathEntry, QUrl());
if (gdbUrl.isEmpty()) {
- debuggerExecutable_ = QStringLiteral("gdb");
+ m_debuggerExecutable = QStringLiteral("gdb");
} else {
// FIXME: verify its' a local path.
- debuggerExecutable_ = gdbUrl.url(QUrl::PreferLocalFile | QUrl::StripTrailingSlash);
+ m_debuggerExecutable = gdbUrl.url(QUrl::PreferLocalFile | QUrl::StripTrailingSlash);
}
QStringList arguments = extraArguments;
@@ -80,19 +80,19 @@ bool GdbDebugger::start(KConfigGroup& config, const QStringList& extraArguments)
return false;
}
- arguments.insert(0, debuggerExecutable_);
+ arguments.insert(0, m_debuggerExecutable);
arguments.insert(0, shell.toLocalFile());
- process_->setShellCommand(KShell::joinArgs(arguments));
+ m_process->setShellCommand(KShell::joinArgs(arguments));
} else {
- process_->setProgram(debuggerExecutable_, arguments);
+ m_process->setProgram(m_debuggerExecutable, arguments);
}
- process_->start();
+ m_process->start();
- qCDebug(DEBUGGERGDB) << "Starting GDB with command" << shell.toLocalFile() + QLatin1Char(' ') + debuggerExecutable_
+ qCDebug(DEBUGGERGDB) << "Starting GDB with command" << shell.toLocalFile() + QLatin1Char(' ') + m_debuggerExecutable
+ QLatin1Char(' ') + arguments.join(QLatin1Char(' '));
- qCDebug(DEBUGGERGDB) << "GDB process pid:" << process_->pid();
- emit userCommandOutput(shell.toLocalFile() + QLatin1Char(' ') + debuggerExecutable_
+ qCDebug(DEBUGGERGDB) << "GDB process pid:" << m_process->pid();
+ emit userCommandOutput(shell.toLocalFile() + QLatin1Char(' ') + m_debuggerExecutable
+ QLatin1Char(' ') + arguments.join(QLatin1Char(' ')) + QLatin1Char('\n'));
return true;
}
diff --git a/plugins/gdb/kdevgdb.json b/plugins/gdb/kdevgdb.json
index b5c4253dd7..29f9575b6e 100644
--- a/plugins/gdb/kdevgdb.json
+++ b/plugins/gdb/kdevgdb.json
@@ -22,7 +22,7 @@
"Description[uk]": "Цей додаток надає можливість користуватися клієнтським інтерфейсом GDB, зневадника вихідного коду на C, C++ тощо.",
"Description[x-test]": "xxThis plugin provides a frontend for GDB, a source-level debugger for C, C++ and more.xx",
"Description[zh_CN]": "此插件提供了 GDB 前端,GDB 是一个源码级的 C、C++ 等多语言的调试器。",
- "Icon": "debugger",
+ "Icon": "kdevelop",
"Id": "kdevgdb",
"License": "GPL",
"Name": "GDB Support",
@@ -37,6 +37,7 @@
"Name[gl]": "Compatibilidade con GDB",
"Name[it]": "Supporto per GDB",
"Name[nl]": "Ondersteuning voor GDB",
+ "Name[nn]": "GDB-støtte",
"Name[pl]": "Obsługa GDB",
"Name[pt]": "Suporte para o GDB",
"Name[pt_BR]": "Suporte ao GDB",
diff --git a/plugins/gdb/unittests/test_gdb.cpp b/plugins/gdb/unittests/test_gdb.cpp
index fe9872dd3c..c8a7ddfc1b 100644
--- a/plugins/gdb/unittests/test_gdb.cpp
+++ b/plugins/gdb/unittests/test_gdb.cpp
@@ -1041,14 +1041,14 @@ void GdbTest::testCoreFile()
+ findExecutable(QStringLiteral("debuggee_crash")).toLocalFile();
debugeeProcess.start();
debugeeProcess.waitForFinished();
- qDebug() << debugeeProcess.readAll();
+ qDebug() << "Debuggee output:\n" << debugeeProcess.readAll();
bool coreFileFound = f.exists();
if (!coreFileFound) {
// Try to use coredumpctl
auto coredumpctl = QStandardPaths::findExecutable(QStringLiteral("coredumpctl"));
if (!coredumpctl.isEmpty()) {
- KProcess::execute(coredumpctl, {"-1", "-o", f.absoluteFilePath(), "dump", "debuggee_crash"});
+ KProcess::execute(coredumpctl, {"-1", "-o", f.absoluteFilePath(), "dump", "debuggee_crash"}, 5000);
coreFileFound = f.exists();
}
}
@@ -2044,7 +2044,6 @@ void GdbTest::testDebugInExternalTerminal()
// see: https://bugs.kde.org/show_bug.cgi?id=339231
void GdbTest::testPathWithSpace()
{
-#ifdef HAVE_PATH_WITH_SPACES_TEST
TestDebugSession* session = new TestDebugSession;
auto debugee = findExecutable(QStringLiteral("path with space/debuggee_spacedebugee"));
@@ -2057,7 +2056,6 @@ void GdbTest::testPathWithSpace()
QCOMPARE(b->state(), KDevelop::Breakpoint::CleanState);
session->run();
WAIT_FOR_STATE(session, DebugSession::EndedState);
-#endif
}
bool GdbTest::waitForState(DebugSession *session, DebugSession::DebuggerState state,
diff --git a/plugins/gdb/unittests/test_gdbprinters.cpp b/plugins/gdb/unittests/test_gdbprinters.cpp
index 8f760d665b..bae2fa1998 100644
--- a/plugins/gdb/unittests/test_gdbprinters.cpp
+++ b/plugins/gdb/unittests/test_gdbprinters.cpp
@@ -102,9 +102,9 @@ void QtPrintersTest::testQString()
GdbProcess gdb(QStringLiteral("debuggee_qstring"));
gdb.execute("break qstring.cpp:5");
gdb.execute("run");
- QVERIFY(gdb.execute("print s").contains("\"test string\""));
+ QVERIFY(gdb.execute("print s").contains("\"test最后一个不是特殊字符'\\\"\\\\u6211\""));
gdb.execute("next");
- QVERIFY(gdb.execute("print s").contains("\"test stringx\""));
+ QVERIFY(gdb.execute("print s").contains("\"test最后一个不是特殊字符'\\\"\\\\u6211x\""));
}
void QtPrintersTest::testQByteArray()
@@ -113,11 +113,14 @@ void QtPrintersTest::testQByteArray()
gdb.execute("break qbytearray.cpp:5");
gdb.execute("run");
QByteArray out = gdb.execute("print ba");
- QVERIFY(out.contains("\"test byte array\""));
- QVERIFY(out.contains("[0] = 116 't'"));
- QVERIFY(out.contains("[4] = 32 ' '"));
+ qDebug() << out;
+ QVERIFY(out.contains("\"\xE6\x98\xAF'\\\"\\\\u6211\""));
+ QVERIFY(out.contains("[0] = -26 '\\346'"));
+ QVERIFY(out.contains("[3] = 39 '\\''"));
+ QVERIFY(out.contains("[4] = 34 '\"'"));
gdb.execute("next");
- QVERIFY(gdb.execute("print ba").contains("\"test byte arrayx\""));
+ out = gdb.execute("print ba");
+ QVERIFY(out.contains("\"\xE6\x98\xAF'\\\"\\\\u6211x\""));
}
void QtPrintersTest::testQListContainer_data()
diff --git a/plugins/genericprojectmanager/kdevgenericmanager.json b/plugins/genericprojectmanager/kdevgenericmanager.json
index 6732e4fb45..497f13669a 100644
--- a/plugins/genericprojectmanager/kdevgenericmanager.json
+++ b/plugins/genericprojectmanager/kdevgenericmanager.json
@@ -10,9 +10,11 @@
"Description": "Allow KDevelop to manage generic projects",
"Description[ca@valencia]": "Permet al KDevelop gestionar projectes genèrics",
"Description[ca]": "Permet al KDevelop gestionar projectes genèrics",
+ "Description[cs]": "Umožní KDevelopu spravovat obecné projekty",
"Description[de]": "Zum Verwalten allgemeiner Projekte in KDevelop",
"Description[es]": "Permite que KDevelop gestione proyectos genéricos",
"Description[fr]": "Permet à KDevelop de gérer des projets génériques",
+ "Description[gl]": "Permítelle a KDevelop xestionar proxectos xenéricos",
"Description[it]": "Permette a KDevelop di gestire progetti generici",
"Description[nl]": "Sta toe dat KDevelop generieke projecten beheert",
"Description[pl]": "Zezwól KDevelopowi na zarządzanie zwykłymi projektami",
@@ -32,11 +34,13 @@
"Name[de]": "Allgemeine Projektverwaltung",
"Name[es]": "Gestor de proyectos genérico",
"Name[fr]": "Gestionnaire de projets générique",
+ "Name[gl]": "Xestor de proxectos xenérico",
"Name[it]": "Gestore progetto generico",
"Name[nb]": "Generisk prosjektbehandler",
"Name[nl]": "Generieke projectenbeheerder",
"Name[pl]": "Zwykłe zarządzanie projektami",
"Name[pt]": "Gestor de Projectos Genérico",
+ "Name[ru]": "Управление произвольными проектами",
"Name[sk]": "Všeobecný správca projektov",
"Name[sv]": "Generell projekthantering",
"Name[tr]": "Genel Proje Yöneticisi",
diff --git a/plugins/ghprovider/kdevghprovider.json b/plugins/ghprovider/kdevghprovider.json
index b250aeb5c0..dbc0af6d2d 100644
--- a/plugins/ghprovider/kdevghprovider.json
+++ b/plugins/ghprovider/kdevghprovider.json
@@ -35,6 +35,7 @@
"Name[fr]": "Fournisseur GitHub",
"Name[it]": "Fornitore GitHub",
"Name[nl]": "Github-leverancier",
+ "Name[nn]": "GitHub-tilbydar",
"Name[pl]": "Dostawca GitHub",
"Name[pt]": "Fornecedor do GitHub",
"Name[sk]": "Poskytovateľ GitHub",
diff --git a/plugins/git/kdevgit.json b/plugins/git/kdevgit.json
index cf28b3aa28..e6bd61fb98 100644
--- a/plugins/git/kdevgit.json
+++ b/plugins/git/kdevgit.json
@@ -12,12 +12,16 @@
"Description[ca@valencia]": "Este connector integra el Git al KDevelop",
"Description[ca]": "Aquest connector integra el Git al KDevelop",
"Description[cs]": "Tento modul integruje podporu pro Git v KDevelop",
+ "Description[de]": "Dieses Modul integriert Git in KDevelop.",
"Description[es]": "Este complemento integra Git en KDevelop",
+ "Description[et]": "See plugin lõimib Giti KDevelopiga",
"Description[fr]": "Ce module externe intègre la gestion de Git dans KDevelop",
+ "Description[gl]": "Este complemento integra Git en KDevelop",
"Description[it]": "Questa estensione integra Git in KDevelop",
"Description[nl]": "Deze plug-in integreert Git in KDevelop",
"Description[pl]": "Wtyczka ta integruje Git z KDevelop",
"Description[pt]": "Este 'plugin' integra o Git no KDevelop",
+ "Description[pt_BR]": "Este plugin integra o Git ao KDevelop",
"Description[sk]": "Tento plugin integruje GIT do KDevelop.",
"Description[sv]": "Insticksprogrammet integrerar Git i KDevelop",
"Description[tr]": "Bu eklenti Git uygulamasını KDevelop ile bütünleştirir",
@@ -34,6 +38,7 @@
"Name[de]": "Git-Unterstützung",
"Name[es]": "Implementación de Git",
"Name[fr]": "Prise en charge de Git",
+ "Name[gl]": "Compatibilidade con Git",
"Name[it]": "Supporto per Git",
"Name[nl]": "Git-ondersteuning",
"Name[pl]": "Obsługa Git",
diff --git a/plugins/grepview/kdevgrepview.json b/plugins/grepview/kdevgrepview.json
index 1ff19c223e..49fd49b056 100644
--- a/plugins/grepview/kdevgrepview.json
+++ b/plugins/grepview/kdevgrepview.json
@@ -4,13 +4,19 @@
"Description": "Allows fast searching of multiple files using patterns or regular expressions. And allow to replace it too.",
"Description[ca@valencia]": "Permet la busca ràpida de múltiples fitxers usant patrons o expressions regulars. I també permet substitucions.",
"Description[ca]": "Permet la cerca ràpida de múltiples fitxers usant patrons o expressions regulars. I també permet substitucions.",
+ "Description[cs]": "Umožní rychlé vyhledávání více souborů za použití řetězců nebo regulárních výrazů. Umožní také jejich nahrazování.",
+ "Description[de]": "Ermöglicht es, Dateien mit Hilfe von Mustern und regulären Ausdrücken zu durchsuchen bzw. Ersetzungen vorzunehmen.",
"Description[es]": "Permite la búsqueda rápida en múltiples archivos usando patrones o expresiones regulares. También permite realizar sustituciones.",
+ "Description[et]": "Lubab mustreid või regulaaravaldisi kasutades kiiresti paljudes failides teksti otsida, samuti asendada.",
"Description[fr]": "Permet de rechercher rapidement dans plusieurs fichiers en utilisant des motifs ou des expressions rationnelles. Et permet de le remplacer aussi.",
+ "Description[gl]": "Permite facer unha busca rápida en varios ficheiros empregando padróns ou expresións regulares, e tamén realizar substitucións.",
"Description[it]": "Consente la ricerca veloce di file multipli usando espressioni regolari o modelli. E consente anche di sostituirli.",
"Description[nl]": "Staat toe snel te zoeken naar meerdere bestanden met gebruik van patronen of reguliere expressies. Staat ook vervanging toe.",
"Description[pl]": "Pozwala na szybkie znajdowanie wielu plików wykorzystując wzorce lub regularne wyrażenia. Pozwala także na ich zastępowanie.",
"Description[pt]": "Permite a pesquisa rápida em vários ficheiros, usando padrões ou expressões regulares. Permite também a sua substituição.",
+ "Description[pt_BR]": "Permite pesquisar rapidamente em vários arquivos, usando padrões ou expressões regulares e também realizar substituições.",
"Description[sk]": "Umožní rýchle hľadanie viacerých súborov pomocou vzorov alebo regulárnych výrazov a umožní ich nahradiť.",
+ "Description[sl]": "Omogoča hitro iskanje po več datotekah z uporabo vzorcev ali regularnih izrazov. Omogoča tudi zamenjave.",
"Description[sv]": "Tillåter snabb sökning i flera filer med mönster eller reguljära uttryck, och tillåter dessutom ersättning.",
"Description[tr]": "Kalıplar veya düzenli ifadeler kullanarak birden çok dosyada hızlı aramaya izin verir. Yer değiştirmeye de izin verir.",
"Description[uk]": "Надає можливості швидкого пошуку та заміни у декількох файлів на основі шаблонів або формальних виразів.",
@@ -22,14 +28,20 @@
"Name[ca@valencia]": "Busca i substitució en fitxers",
"Name[ca]": "Cerca i substitució en fitxers",
"Name[cs]": "Hledat-nahradit v souborech",
+ "Name[de]": "In Dateien suchen/ersetzen",
"Name[es]": "Buscar/sustituir en archivos",
+ "Name[et]": "Failides otsimine ja asendamine",
"Name[fr]": "Chercher / Remplacer dans les fichiers",
+ "Name[gl]": "Buscar/Substituír nos ficheiros",
"Name[it]": "Cerca/Sostituisci nei file",
"Name[nb]": "Finn/erstatt i filer",
"Name[nl]": "Zoeken/vervangen in bestanden",
"Name[pl]": "Znajdź/zastąp w plikach",
"Name[pt]": "Procurar/Substituir nos Ficheiros",
+ "Name[pt_BR]": "Procurar/substituir nos arquivos",
+ "Name[ru]": "Поиск/замена в файлах",
"Name[sk]": "Hľadať/nahradiť v súboroch",
+ "Name[sl]": "Najdi/zamenjaj v datotekah",
"Name[sv]": "Sök eller ersätt i filer",
"Name[tr]": "Bu Dosyalarda Bul ve Değiştir",
"Name[uk]": "Пошук або заміна у файлах",
diff --git a/plugins/heaptrack/kdevheaptrack.json b/plugins/heaptrack/kdevheaptrack.json
index 149dd479aa..be7110e073 100644
--- a/plugins/heaptrack/kdevheaptrack.json
+++ b/plugins/heaptrack/kdevheaptrack.json
@@ -1,6 +1,4 @@
{
- "GenericName": "Heaptrack Support",
- "GenericName[x-test]": "xxHeaptrack Supportxx",
"KPlugin": {
"Authors": [
{
@@ -13,6 +11,7 @@
"Description[ca@valencia]": "Este connector integra el Heaptrack al KDevelop",
"Description[ca]": "Aquest connector integra el Heaptrack al KDevelop",
"Description[cs]": "Tento modul integruje Heaptrack do KDevelop",
+ "Description[de]": "Dieses Modul integriert Heaptrack in KDevelop",
"Description[es]": "Este complemento integra Heaptrack en KDevelop",
"Description[fr]": "Ce module externe intègre Heaptrack à KDevelop",
"Description[it]": "Questa estensione integra Heaptrack in KDevelop",
@@ -33,6 +32,7 @@
"Name[ca@valencia]": "Implementació del Heaptrack",
"Name[ca]": "Implementació del Heaptrack",
"Name[cs]": "Podpora Heaptracku",
+ "Name[de]": "Heaptrack-Unterstützung",
"Name[es]": "Implementación de Heaptrack",
"Name[fr]": "Prise en charge Heaptrack",
"Name[it]": "Supporto per Heaptrack",
diff --git a/plugins/konsole/kdevkonsoleview.json b/plugins/konsole/kdevkonsoleview.json
index c9b31f05de..a76eec5638 100644
--- a/plugins/konsole/kdevkonsoleview.json
+++ b/plugins/konsole/kdevkonsoleview.json
@@ -4,13 +4,19 @@
"Description": "This plugin provides KDevelop with an embedded konsole for quick and easy command line access.",
"Description[ca@valencia]": "Este connector proporciona al KDevelop un Konsole incrustat per accedir de manera ràpida i fàcil a la línia d'ordes.",
"Description[ca]": "Aquest connector proporciona al KDevelop un Konsole incrustat per accedir de manera ràpida i fàcil a la línia d'ordres.",
+ "Description[cs]": "Tento zásuvný modul poskytuje vestavěnou konzoli KDevelopu pro rychlý a jednoduchý přístup do příkazové řádky.",
+ "Description[de]": "Dieses Modul stattet KDevelop mit einer eingebetteten Konsole zum einfachen Zugriff auf die Befehlszeile aus.",
"Description[es]": "Este complemento proporciona una consola integrada a KDevelop para acceder a la línea de órdenes de forma rápida y fácil.",
+ "Description[et]": "See plugin pakub KDevelopile põimitud konsooli käsurea kiireks ja lihtsaks kasutamiseks.",
"Description[fr]": "Ce module apporte à KDevelop une konsole intégrée pour un accès à la ligne de commande rapide et facile.",
+ "Description[gl]": "Este complemento fornécelle a KDevelop un konsole integrado para dispor de acceso rápido e sinxelo á liña de ordes.",
"Description[it]": "Questa estensione dota KDevelop di una console integrata per un rapido e semplice accesso alla riga di comando.",
"Description[nl]": "Deze plugin biedt KDevelop een ingebed konsole voor snelle en gemakkelijke toegang tot commandoregels.",
"Description[pl]": "Ta wtyczka dodaje do KDevelopa wbudowaną konsolę umożliwiając szybki i łatwy dostęp do wiersza poleceń.",
"Description[pt]": "Este 'plugin' oferece ao KDevelop um Konsole incorporado para aceder rápida e facilmente à linha de comandos.",
+ "Description[pt_BR]": "Este plugin fornece ao KDevelop um terminal embutido para acesso rápido e fácil à linha de comando.",
"Description[sk]": "Tento plugin poskytuje KDevelop so zabudovanou konzolou na rýchly a ľahký prístup k príkazovému riadku.",
+ "Description[sl]": "Vstavek v KDevelop vgradi program Konsole za hiter in preprost dostop do ukazne vrstice.",
"Description[sv]": "Insticksprogrammet ger KDevelop en inbyggd terminal för snabb och enkel åtkomst av kommandoraden.",
"Description[tr]": "Bu eklenti hızlı ve kolay komut satırı erişimi için KDevelop'a gömülü bir uçbirim sağlar.",
"Description[uk]": "За допомогою цього додатка у KDevelop можна буде скористатися вбудованою konsole, яка пришвидшить і полегшить доступ до командного рядка.",
@@ -21,14 +27,17 @@
"Name": "Konsole Integration",
"Name[ca@valencia]": "Integració del Konsole",
"Name[ca]": "Integració del Konsole",
+ "Name[cs]": "Integrace Konsole",
"Name[de]": "Konsole-Integration",
"Name[es]": "Integración de Konsole",
"Name[fr]": "Intégration de Konsole",
+ "Name[gl]": "Integración con Konsole",
"Name[it]": "Integrazione di Konsole",
"Name[nb]": "Konsole-integrering",
"Name[nl]": "Console-integratie",
"Name[pl]": "Integracja Konsoli",
"Name[pt]": "Integração com o Konsole",
+ "Name[ru]": "Интеграция Konsole",
"Name[sk]": "Integrácia Konsole",
"Name[sv]": "Integrering av Konsole",
"Name[tr]": "Konsole Bütünleşmesi",
diff --git a/plugins/lldb/controllers/variable.cpp b/plugins/lldb/controllers/variable.cpp
index 8a7a741d13..82c967d4af 100644
--- a/plugins/lldb/controllers/variable.cpp
+++ b/plugins/lldb/controllers/variable.cpp
@@ -41,7 +41,7 @@ LldbVariable::LldbVariable(DebugSession *session, TreeModel *model, TreeItem *pa
void LldbVariable::refetch()
{
- if (!topLevel() || varobj_.isEmpty()) {
+ if (!topLevel() || varobj().isEmpty()) {
return;
}
@@ -51,7 +51,7 @@ void LldbVariable::refetch()
// update the value itself
QPointer guarded_this(this);
- debugSession->addCommand(VarEvaluateExpression, varobj_, [guarded_this](const ResultRecord &r){
+ m_debugSession->addCommand(VarEvaluateExpression, varobj(), [guarded_this](const ResultRecord &r){
if (guarded_this && r.reason == QLatin1String("done") && r.hasField(QStringLiteral("value"))) {
guarded_this->setValue(guarded_this->formatValue(r[QStringLiteral("value")].literal()));
}
@@ -90,9 +90,9 @@ void LldbVariable::formatChanged()
{
if (sessionIsAlive()) {
QPointer guarded_this(this);
- debugSession->addCommand(
+ m_debugSession->addCommand(
VarSetFormat,
- QStringLiteral(" %1 %2 ").arg(varobj_).arg(format2str(format())),
+ QStringLiteral(" %1 %2 ").arg(varobj()).arg(format2str(format())),
[guarded_this](const ResultRecord &r){
if(guarded_this && r.hasField(QStringLiteral("changelist"))) {
if (r[QStringLiteral("changelist")].size() > 0) {
diff --git a/plugins/lldb/kdevlldb.json b/plugins/lldb/kdevlldb.json
index ad5a555fc2..6580abdb1c 100644
--- a/plugins/lldb/kdevlldb.json
+++ b/plugins/lldb/kdevlldb.json
@@ -19,7 +19,7 @@
"Description[uk]": "Цей додаток є обгорткою до LLDB, високошвидкісного засобу діагностики коду мовами C/Obj-C/C++.",
"Description[x-test]": "xxThis plugin provides a frontend for LLDB, a next generation, high-performance C/Obj-C/C++ debugger.xx",
"Description[zh_CN]": "此插件提供了 GDB 前端,GDB 是一个源码级的 C、C++ 等多语言的调试器。",
- "Icon": "debugger",
+ "Icon": "kdevelop",
"Id": "kdevlldb",
"License": "GPL",
"Name": "LLDB Support",
diff --git a/plugins/lldb/lldbdebugger.cpp b/plugins/lldb/lldbdebugger.cpp
index 30910e04a5..f621e3b869 100644
--- a/plugins/lldb/lldbdebugger.cpp
+++ b/plugins/lldb/lldbdebugger.cpp
@@ -51,9 +51,9 @@ bool LldbDebugger::start(KConfigGroup& config, const QStringList& extraArguments
// Get path to executable
QUrl lldbUrl = config.readEntry(Config::LldbExecutableEntry, QUrl());
if (!lldbUrl.isValid() || !lldbUrl.isLocalFile()) {
- debuggerExecutable_ = QStringLiteral("lldb-mi");
+ m_debuggerExecutable = QStringLiteral("lldb-mi");
} else {
- debuggerExecutable_ = lldbUrl.toLocalFile();
+ m_debuggerExecutable = lldbUrl.toLocalFile();
}
// Get arguments
@@ -73,13 +73,13 @@ bool LldbDebugger::start(KConfigGroup& config, const QStringList& extraArguments
}
// Start!
- process_->setProcessEnvironment(processEnv);
- process_->setProgram(debuggerExecutable_, arguments);
- process_->start();
+ m_process->setProcessEnvironment(processEnv);
+ m_process->setProgram(m_debuggerExecutable, arguments);
+ m_process->start();
- qCDebug(DEBUGGERLLDB) << "Starting LLDB with command" << debuggerExecutable_ + QLatin1Char(' ') + arguments.join(QLatin1Char(' '));
- qCDebug(DEBUGGERLLDB) << "LLDB process pid:" << process_->pid();
- emit userCommandOutput(debuggerExecutable_ + QLatin1Char(' ') + arguments.join(QLatin1Char(' ')) + QLatin1Char('\n'));
+ qCDebug(DEBUGGERLLDB) << "Starting LLDB with command" << m_debuggerExecutable + QLatin1Char(' ') + arguments.join(QLatin1Char(' '));
+ qCDebug(DEBUGGERLLDB) << "LLDB process pid:" << m_process->pid();
+ emit userCommandOutput(m_debuggerExecutable + QLatin1Char(' ') + arguments.join(QLatin1Char(' ')) + QLatin1Char('\n'));
return true;
}
diff --git a/plugins/lldb/unittests/test_lldb.cpp b/plugins/lldb/unittests/test_lldb.cpp
index 61d1ecc659..a6dcd25332 100644
--- a/plugins/lldb/unittests/test_lldb.cpp
+++ b/plugins/lldb/unittests/test_lldb.cpp
@@ -207,6 +207,11 @@ void LldbTest::initTestCase()
Q_ASSERT(m_iface);
m_debugeeFileName = findSourceFile("debugee.cpp");
+
+ const QString lldbMiExecutable = QStandardPaths::findExecutable(QStringLiteral("lldb-mi"));
+ if (lldbMiExecutable.isEmpty()) {
+ QSKIP("Skipping, lldb-mi not available");
+ }
}
// Called after the last testfunction was executed
@@ -1851,10 +1856,6 @@ void LldbTest::testDebugInExternalTerminal()
void LldbTest::testSpecialPath()
{
-#ifndef HAVE_PATH_WITH_SPACES_TEST
- QSKIP("Skipping... special path test,"
- " this CMake version would create a faulty build.ninja file. Upgrade to at least CMake v3.0");
-#endif
QSKIP("Skipping... lldb-mi itself can't handle path with space in application dir");
TestDebugSession* session = new TestDebugSession;
diff --git a/plugins/lldb/unittests/test_lldbformatters.cpp b/plugins/lldb/unittests/test_lldbformatters.cpp
index 72db3b4a0f..af29d9a92d 100644
--- a/plugins/lldb/unittests/test_lldbformatters.cpp
+++ b/plugins/lldb/unittests/test_lldbformatters.cpp
@@ -159,13 +159,18 @@ KDevelop::Breakpoint* LldbFormattersTest::addCodeBreakpoint(const QUrl& location
// Called before the first testfunction is executed
void LldbFormattersTest::initTestCase()
{
- AutoTestShell::init();
+ AutoTestShell::init({QStringLiteral("kdevlldb"), QStringLiteral("kdevexecute")});
m_core = TestCore::initialize(Core::NoUi);
m_iface = m_core->pluginController()
->pluginForExtension(QStringLiteral("org.kdevelop.IExecutePlugin"), QStringLiteral("kdevexecute"))
->extension();
Q_ASSERT(m_iface);
+
+ const QString lldbMiExecutable = QStandardPaths::findExecutable(QStringLiteral("lldb-mi"));
+ if (lldbMiExecutable.isEmpty()) {
+ QSKIP("Skipping, lldb-mi not available");
+ }
}
// Called after the last testfunction was executed
@@ -936,15 +941,15 @@ void LldbFormattersTest::testQUrl()
WAIT_FOR_A_WHILE_AND_IDLE(m_session, 50);
QList> children;
- children.append({QStringLiteral("(port)"), QStringLiteral("-1")});
+ children.append({QStringLiteral("(port)"), QStringLiteral("12345")});
children.append({QStringLiteral("(scheme)"), QStringLiteral("\"http\"")});
- children.append({QStringLiteral("(userName)"), QStringLiteral("")});
+ children.append({QStringLiteral("(userName)"), QStringLiteral("\"user\"")});
children.append({QStringLiteral("(password)"), QStringLiteral("")});
children.append({QStringLiteral("(host)"), QStringLiteral("\"www.kdevelop.org\"")});
children.append({QStringLiteral("(path)"), QStringLiteral("\"/foo\"")});
- children.append({QStringLiteral("(query)"), QStringLiteral("")});
- children.append({QStringLiteral("(fragment)"), QStringLiteral("")});
- VERIFY_LOCAL(0, "u", "\"http://www.kdevelop.org/foo\"", children);
+ children.append({QStringLiteral("(query)"), QStringLiteral("\"xyz=bar\"")});
+ children.append({QStringLiteral("(fragment)"), QStringLiteral("\"asdf\"")});
+ VERIFY_LOCAL(0, "u", "\"http://user@www.kdevelop.org:12345/foo?xyz=bar#asdf\"", children);
}
void LldbFormattersTest::testQUuid()
diff --git a/plugins/manpage/kdevmanpage.json b/plugins/manpage/kdevmanpage.json
index 8b43540225..e585e4fb4e 100644
--- a/plugins/manpage/kdevmanpage.json
+++ b/plugins/manpage/kdevmanpage.json
@@ -27,8 +27,8 @@
"Id": "KDevManPage",
"License": "GPL",
"Name": "Man Pages",
- "Name[ca@valencia]": "Pàgines man",
- "Name[ca]": "Pàgines man",
+ "Name[ca@valencia]": "Pàgines «man»",
+ "Name[ca]": "Pàgines «man»",
"Name[cs]": "Manuálové stránky",
"Name[de]": "Handbuch-Seiten",
"Name[es]": "Páginas de manual",
diff --git a/plugins/okteta/kdevokteta.json b/plugins/okteta/kdevokteta.json
index 4e7a4e453f..78b30bdba3 100644
--- a/plugins/okteta/kdevokteta.json
+++ b/plugins/okteta/kdevokteta.json
@@ -4,6 +4,7 @@
{
"Email": "kossebau@kde.org",
"Name": "Friedrich W. H. Kossebau",
+ "Name[nn]": "Friedrich W.H. Kossebau",
"Name[x-test]": "xxFriedrich W. H. Kossebauxx"
}
],
@@ -13,7 +14,7 @@
"Description[ca]": "Permet la visualització i edició de les dades sense processar dels fitxers (basat en l'Okteta)",
"Description[de]": "Ermöglicht das Betrachten und Bearbeiten der Rohdaten von Dateien (basiert auf Okteta)",
"Description[es]": "Activa la visualización y la edición de datos de archivos en bruto (basado en Okteta)",
- "Description[fr]": "Permet de visualiser et éditer les données brutes de fichiers (basé sur Okteta)",
+ "Description[fr]": "Permet l'aperçu et l'édition des données brutes de fichiers (repose sur Okteta)",
"Description[it]": "Abilita la visualizzazione e la modifica dei dati grezzi dei file (basato su Okteta)",
"Description[nl]": "Schakelt het bekijken en bewerken van de ruwe gegevens van bestanden in (gebaseerd op Okteta)",
"Description[pl]": "Umożliwia oglądanie i edytowanie nieprzetworzonych danych pliku (w oparciu o Oktetę)",
@@ -44,6 +45,7 @@
"Name[tr]": "Hex Düzenleyici",
"Name[uk]": "Шістнадцятковий редактор",
"Name[x-test]": "xxHex Editorxx",
+ "Name[zh_CN]": "十六进制编辑器",
"ServiceTypes": [
"KDevelop/Plugin"
],
diff --git a/plugins/openwith/kdevopenwith.json b/plugins/openwith/kdevopenwith.json
index 92e5836bda..241074b9c3 100644
--- a/plugins/openwith/kdevopenwith.json
+++ b/plugins/openwith/kdevopenwith.json
@@ -10,13 +10,19 @@
"Description": "This plugin allows one to open files with associated external applications.",
"Description[ca@valencia]": "Este connector permet obrir fitxers amb les aplicacions externes associades.",
"Description[ca]": "Aquest connector permet obrir fitxers amb les aplicacions externes associades.",
+ "Description[cs]": "Tento modul umožňuje otevření souborů přiřazenými externími aplikacemi.",
+ "Description[de]": "Mit diesem Modul können Dateien mit ihnen zugewiesenen externen Anwendungen gestartet werden.",
"Description[es]": "Este complemento permite abrir archivos con las aplicaciones externas asociadas.",
+ "Description[et]": "See plugin võimaldab avada väliste rakendustega seostatud faile.",
"Description[fr]": "Ce module permet d'ouvrir des fichiers en association avec des applications externes.",
+ "Description[gl]": "Este complemento permítelle abrir ficheiros cos aplicativos externos asociados.",
"Description[it]": "Questa estensione permette di aprire i file con le relative applicazioni esterne.",
"Description[nl]": "Deze plugin biedt u het openen van bestanden met geassocieerde externe toepassingen.",
"Description[pl]": "Ta wtyczka umożliwia otwieranie plików, z którymi są powiązane zewnętrzne programy.",
"Description[pt]": "Este 'plugin' permite abrir os ficheiros com as aplicações externas associadas.",
+ "Description[pt_BR]": "Este plugin permite abrir os arquivos com os aplicativos externos associados.",
"Description[sk]": "Tento plugin umožňuje otvoriť súbory s asociovanými externými aplikáciami.",
+ "Description[sl]": "Vstavek omogoča odpiranje datotek v povezanih zunanjih programih.",
"Description[sv]": "Insticksprogrammet tillåter att öppna filer med tillhörande externa program.",
"Description[tr]": "Bu eklenti ilişkilendirilmiş dış uygulamalar ile dosyalar açmayı sağlar.",
"Description[uk]": "За допомогою цього додатка ви зможете відкривати файли у пов’язаній з ними зовнішній програмі.",
@@ -29,14 +35,20 @@
"Name[ca@valencia]": "Obri amb",
"Name[ca]": "Obre amb",
"Name[cs]": "Otevřít pomocí",
+ "Name[de]": "Öffnen mit",
"Name[es]": "Abrir con",
+ "Name[et]": "Avamine rakendusega",
"Name[fr]": "Ouvrir avec",
+ "Name[gl]": "Abrir con",
"Name[it]": "Apri con",
"Name[nb]": "Åpne med",
"Name[nl]": "Openen met",
"Name[pl]": "Otwórz za pomocą",
"Name[pt]": "Abrir Com",
+ "Name[pt_BR]": "Abrir com",
+ "Name[ru]": "Открыть с помощью",
"Name[sk]": "Otvoriť s",
+ "Name[sl]": "Odpri z",
"Name[sv]": "Öppna med",
"Name[tr]": "Birlikte Aç",
"Name[uk]": "Відкриття у зовнішніх програмах",
diff --git a/plugins/outlineview/kdevoutlineview.json b/plugins/outlineview/kdevoutlineview.json
index 705448fb88..e5e9cda7d8 100644
--- a/plugins/outlineview/kdevoutlineview.json
+++ b/plugins/outlineview/kdevoutlineview.json
@@ -11,13 +11,18 @@
"Description": "This plugin provides a view to show the outline of the currently open document.",
"Description[ca@valencia]": "Este connector proporciona una visualització que mostra una visió general del document obert actualment.",
"Description[ca]": "Aquest connector proporciona una visualització que mostra una visió general del document obert actualment.",
+ "Description[de]": "Dieses Modul zeigt eine Ansicht der Funktions-Kurzinfos im aktuell geöffneten Dokument.",
"Description[es]": "Este complemento proporciona una vista para mostrar el boceto del documento actualmente abierto.",
+ "Description[et]": "See plugin pakub parajasti avatud dokumendi struktuuri vaadet.",
"Description[fr]": "Ce module fournit une vue pour afficher le plan du document ouvert",
+ "Description[gl]": "Este complemento fornece unha vista para mostrar o esquema do documento actual.",
"Description[it]": "Questa estensione fornisce una vista che mostra uno schema di massima del documento attualmente aperto.",
"Description[nl]": "Deze plugin biedt zicht op de outline van het nu geopende document.",
"Description[pl]": "Ta wtyczka dostarcza zarys obecnie otwartego dokumentu.",
"Description[pt]": "Este 'plugin' oferece uma visão geral sobre o documento aberto de momento.",
+ "Description[pt_BR]": "Este plugin fornece uma visão geral do documento que estiver aberto.",
"Description[sk]": "Tento plugin poskytuje pohľad na zobrazenie obrysu aktuálne otvoreného dokumentu.",
+ "Description[sl]": "Ta vstavek ponuja prikaz za oris trenutno odprtega dokumenta.",
"Description[sv]": "Insticksprogrammet tillhandahåller en vy för att visa dispositionen av dokumentet som för närvarande är öppet.",
"Description[tr]": "Bu eklenti mevcut açık dosyanın çerçevesini görüntülemeyi sağlar.",
"Description[uk]": "За допомогою цього додатка можна переглянути схему поточного відкритого документа.",
@@ -30,12 +35,17 @@
"Name[ca@valencia]": "Visió general",
"Name[ca]": "Visió general",
"Name[cs]": "Obrys",
+ "Name[de]": "Funktions-Kurzinfo",
"Name[es]": "Boceto",
+ "Name[et]": "Struktuur",
"Name[fr]": "Plan",
+ "Name[gl]": "Esquema",
"Name[it]": "Schema di massima",
"Name[pl]": "Zarys",
"Name[pt]": "Visão Geral",
+ "Name[pt_BR]": "Contorno",
"Name[sk]": "Obrys",
+ "Name[sl]": "Oris",
"Name[sv]": "Disposition",
"Name[tr]": "Çerçeve",
"Name[uk]": "Схема",
diff --git a/plugins/outlineview/outlinewidget.cpp b/plugins/outlineview/outlinewidget.cpp
index 6358b4a254..40f09d9526 100644
--- a/plugins/outlineview/outlinewidget.cpp
+++ b/plugins/outlineview/outlinewidget.cpp
@@ -57,6 +57,8 @@ OutlineWidget::OutlineWidget(QWidget* parent, OutlineViewPlugin* plugin)
// sort action
m_sortAlphabeticallyAction = new QAction(QIcon::fromTheme(QStringLiteral("view-sort-ascending")), QString(), this);
m_sortAlphabeticallyAction->setToolTip(i18n("Sort alphabetically"));
+ // reuse the tooltip so the action will show up in the context menu:
+ m_sortAlphabeticallyAction->setText(m_sortAlphabeticallyAction->toolTip());
m_sortAlphabeticallyAction->setCheckable(true);
connect(m_sortAlphabeticallyAction, &QAction::triggered, this, [this](bool sort) {
// calling sort with -1 will restore the original order
diff --git a/plugins/patchreview/CMakeLists.txt b/plugins/patchreview/CMakeLists.txt
index 2649487bac..9449d7cb0f 100644
--- a/plugins/patchreview/CMakeLists.txt
+++ b/plugins/patchreview/CMakeLists.txt
@@ -4,13 +4,17 @@ set_package_properties(LibKompareDiff2 PROPERTIES
TYPE REQUIRED
)
-find_package(KDEExperimentalPurpose QUIET)
-set_package_properties(KDEExperimentalPurpose PROPERTIES DESCRIPTION "EXPERIMENTAL. Support for patch sharing"
- URL "https://projects.kde.org/projects/playground/libs/purpose"
+find_package(KF5Purpose CONFIG QUIET)
+set_package_properties(KF5Purpose PROPERTIES DESCRIPTION "Support for patch sharing"
TYPE OPTIONAL
)
-
-
+if (NOT KF5Purpose_FOUND)
+ find_package(KDEExperimentalPurpose QUIET)
+ set_package_properties(KDEExperimentalPurpose PROPERTIES DESCRIPTION "EXPERIMENTAL. Support for patch sharing"
+ URL "https://projects.kde.org/projects/playground/libs/purpose"
+ TYPE OPTIONAL
+ )
+endif()
add_definitions(-DTRANSLATION_DOMAIN=\"kdevpatchreview\")
kde_enable_exceptions()
@@ -49,7 +53,10 @@ target_link_libraries(kdevpatchreview
KF5::TextEditor
KF5::Parts
)
-if (KDEExperimentalPurpose_FOUND)
+if (KF5Purpose_FOUND)
+ target_compile_definitions(kdevpatchreview PRIVATE WITH_PURPOSE)
+ target_link_libraries(kdevpatchreview KF5::PurposeWidgets)
+elseif (KDEExperimentalPurpose_FOUND)
target_compile_definitions(kdevpatchreview PRIVATE WITH_PURPOSE)
target_link_libraries(kdevpatchreview KDEExperimental::PurposeWidgets)
endif()
diff --git a/plugins/patchreview/kdevpatchreview.json b/plugins/patchreview/kdevpatchreview.json
index 660caca0d6..7100f4c16f 100644
--- a/plugins/patchreview/kdevpatchreview.json
+++ b/plugins/patchreview/kdevpatchreview.json
@@ -10,13 +10,19 @@
"Description": "This plugin allows reviewing patches directly in the editor.",
"Description[ca@valencia]": "Este connector permet revisar pedaços directament en l'editor.",
"Description[ca]": "Aquest connector permet revisar pedaços directament en l'editor.",
+ "Description[cs]": "Tento zásuvný modul umožňuje prohlížení záplat přímo v editoru.",
+ "Description[de]": "Dieses Modul ermöglicht es, Patches direkt im Editor durchzusehen.",
"Description[es]": "Este complemento permite la revisión de parches directamente en el editor.",
+ "Description[et]": "See plugin võimaldab paiku üle vaadata otse redaktoris.",
"Description[fr]": "Ce module permet de passer en revue des correctifs directement dans l'éditeur.",
+ "Description[gl]": "Este complemento permite revisar parches directamente no editor.",
"Description[it]": "Questa estensione permette di rivedere le patch direttamente nell'editor.",
"Description[nl]": "Deze plugin laat patches herzien direct in de editor.",
"Description[pl]": "Ta wtyczka pozwala na przeglądanie poprawek bezpośrednio w edytorze.",
"Description[pt]": "Este 'plugin' permite a revisão das modificações directamente no editor.",
+ "Description[pt_BR]": "Este plugin permite obter as modificações diretamente no editor.",
"Description[sk]": "Tento plugin umožňuje zhodnotenie záplat priamo v editore.",
+ "Description[sl]": "Vstavek omogoča pregled popravkov neposredno v urejevalniku.",
"Description[sv]": "Insticksprogrammet gör det möjligt att direkt granska programfixar i editorn.",
"Description[tr]": "Bu eklenti yamaların doğrudan düzenleyici içerisinde gözden geçirilmesini sağlar.",
"Description[uk]": "За допомогою цього додатка ви зможете рецензувати латки безпосередньо у редакторі.",
@@ -28,14 +34,21 @@
"Name": "Patch Review",
"Name[ca@valencia]": "Revisió del pedaç",
"Name[ca]": "Revisió del pedaç",
+ "Name[cs]": "Kontrola záplat",
+ "Name[de]": "Patch-Durchsicht",
"Name[es]": "Revisión de parches",
+ "Name[et]": "Paikade läbivaatus",
"Name[fr]": "Révision de correctifs",
+ "Name[gl]": "Revisor de parches",
"Name[it]": "Revisione patch",
"Name[nb]": "Lappegjennomgang",
"Name[nl]": "Patchoverzicht",
"Name[pl]": "Ocena łatki",
"Name[pt]": "Revisão da Modificação",
+ "Name[pt_BR]": "Revisão da modificação",
+ "Name[ru]": "Рецензирование патчей",
"Name[sk]": "Zhodnotenie záplaty",
+ "Name[sl]": "Pregled popravkov",
"Name[sv]": "Granska programfixar",
"Name[tr]": "Yama Gözden Geçirmesi",
"Name[uk]": "Рецензування латки",
diff --git a/plugins/perforce/kdevperforce.json b/plugins/perforce/kdevperforce.json
index 15c4384e85..eadccb496f 100644
--- a/plugins/perforce/kdevperforce.json
+++ b/plugins/perforce/kdevperforce.json
@@ -11,6 +11,7 @@
"Description[ca@valencia]": "Proporciona integració amb el sistema de control de versions Perforce",
"Description[ca]": "Proporciona integració amb el sistema de control de versions Perforce",
"Description[cs]": "Poskytuje integraci Perforce Version Control System",
+ "Description[de]": "Bietet Integration mit der Perforce-Versionsverwaltung",
"Description[es]": "Proporciona integración con el sistema de control de versiones Perforce",
"Description[fr]": "Fournit une intégration avec le système de contrôle de version Perforce",
"Description[it]": "Fornisce l'integrazione con il sistema di controllo versione Perforce",
@@ -18,6 +19,7 @@
"Description[pl]": "Dostarcza integrację z systemem kontroli wersji Perforce",
"Description[pt]": "Oferece a Integração com o Sistema de Controlo de Versões Perforce",
"Description[sk]": "Poskytuje integráciu s verzionovacím systémom Perforce",
+ "Description[sl]": "Ponuja vgradnjo sistema za nadzor različic Perforce",
"Description[sv]": "Tillhandahåller integrering med Perforce versionskontrollsystem",
"Description[tr]": "Perforce Sürüm Denetim Sistemi ile Bütünleşme Sağlar",
"Description[uk]": "Забезпечує інтеграцію з системою керування версіями Perforce",
@@ -29,6 +31,7 @@
"Name[ca@valencia]": "Implementació del Perforce",
"Name[ca]": "Implementació del Perforce",
"Name[cs]": "Podpora Perforce",
+ "Name[de]": "Perforce-Unterstützung",
"Name[es]": "Implementación de Perforce",
"Name[fr]": "Prise en charge de Perforce",
"Name[it]": "Supporto per Perforce",
diff --git a/plugins/problemreporter/kdevproblemreporter.json b/plugins/problemreporter/kdevproblemreporter.json
index aa43c5e83d..f72237615a 100644
--- a/plugins/problemreporter/kdevproblemreporter.json
+++ b/plugins/problemreporter/kdevproblemreporter.json
@@ -10,13 +10,19 @@
"Description": "This plugin shows errors in source code.",
"Description[ca@valencia]": "Este connector permet mostrar errors en el codi font.",
"Description[ca]": "Aquest connector permet mostrar errors en el codi font.",
+ "Description[cs]": "Tento zásuvný modul ukazuje chyby ve zdrojovém kódu.",
+ "Description[de]": "Dieses Modul zeigt Fehler im Quelltext an.",
"Description[es]": "Este complemento muestra errores en el código fuente.",
+ "Description[et]": "See plugin näitab vigu lähtekoodis.",
"Description[fr]": "Ce module affiche les erreurs dans le code source.",
+ "Description[gl]": "Esta extensión mostra erros no código fonte.",
"Description[it]": "Questa estensione mostra gli errori nel codice sorgente.",
"Description[nl]": "Deze plugin toont fouten in broncode",
"Description[pl]": "Ta wtyczka pokazuje błędy w kodzie źródłowym.",
"Description[pt]": "Este 'plugin' mostra os erros no código-fonte.",
+ "Description[pt_BR]": "Este plugin apresenta os erros no código-fonte.",
"Description[sk]": "Tento plugin ukáže chyby v zdrojovom kóde.",
+ "Description[sl]": "Vstavek prikazuje napake v izvorni kodi.",
"Description[sv]": "Insticksprogrammet visar fel i källkod.",
"Description[tr]": "Bu eklenti kaynak koddaki hataları gösterir.",
"Description[uk]": "За допомогою цього додатка можна переглянути повідомлення про помилки у коді.",
@@ -28,14 +34,21 @@
"Name": "Problem Reporter View",
"Name[ca@valencia]": "Vista del notificador de problemes",
"Name[ca]": "Vista del notificador de problemes",
+ "Name[cs]": "Pohled oznamovatele problému",
+ "Name[de]": "Ansicht für Fehlerberichte",
"Name[es]": "Vista del notificador de problemas",
+ "Name[et]": "Probleemide teavitaja vaade",
"Name[fr]": "Vue du rapporteur de problèmes",
+ "Name[gl]": "Vista do relator de problemas",
"Name[it]": "Vista segnalazione problemi",
"Name[nb]": "Problemmeldervisning",
"Name[nl]": "Probleemrapporteuroverzicht",
"Name[pl]": "Widok raportów o problemach",
"Name[pt]": "Área de Relatórios de Erros",
+ "Name[pt_BR]": "Área do relatórios de erros",
+ "Name[ru]": "Панель диагностики проблем",
"Name[sk]": "Pohľad na zadávač problémov",
+ "Name[sl]": "Prikaz poročevalca o težavah",
"Name[sv]": "Problemrapporteringsvisning",
"Name[tr]": "Sorun Bildirici Görünümü",
"Name[uk]": "Перегляд інструмента звітування про проблеми",
diff --git a/plugins/projectfilter/kdevprojectfilter.json b/plugins/projectfilter/kdevprojectfilter.json
index fd2e377b63..24b8b19922 100644
--- a/plugins/projectfilter/kdevprojectfilter.json
+++ b/plugins/projectfilter/kdevprojectfilter.json
@@ -10,13 +10,18 @@
"Description": "Configure which files and folders inside the project folder should be included or excluded.",
"Description[ca@valencia]": "Configura quins fitxers i carpetes dins de la carpeta del projecte s'han d'incloure o excloure.",
"Description[ca]": "Configura quins fitxers i carpetes dins de la carpeta del projecte s'han d'incloure o excloure.",
+ "Description[de]": "Legt fest, welche Dateien und Ordner innerhalb des Projektordners ein- oder ausgeschlossen werden sollen.",
"Description[es]": "Configurar los archivos y carpetas que pertenecen a la carpeta del proyecto y que deben ser incluidos o excluidos.",
+ "Description[et]": "Määramine, millised projektikataloogi failid ja kataloogid kaasata või välja jätta.",
"Description[fr]": "Configurer quels fichiers et dossiers à l'intérieur du dossier projet doivent être inclus ou exclus.",
+ "Description[gl]": "Configurar cales ficheiros e cartafoles dentro do cartafol do proxecto deben incluírse ou excluírse.",
"Description[it]": "Configura quali file e cartelle nella cartella del progetto devono essere incluse o escluse.",
"Description[nl]": "Stel in welke bestanden en mappen in de projectmap meegenomen of uitgesloten moeten worden.",
"Description[pl]": "Ustaw jakie pliki i katalogi wewnątrz katalogu projektu mają być uwzględniane albo wykluczane.",
"Description[pt]": "Configurar os ficheiros ou pastas, dentro da pasta do projecto, que deverão ser incluídos ou excluídos.",
+ "Description[pt_BR]": "Configura os arquivos e pastas, dentro da pasta do projeto, que devem ser incluídos ou excluídos.",
"Description[sk]": "Nastaviť, ktoré súbory a priečinky v priečinku projektu majú byť zahrnuté alebo vylúčené.",
+ "Description[sl]": "Nastavi katere datoteke in mape znotraj mape projekta naj bodo vključene ali izključene.",
"Description[sv]": "Anpassa vilka filer och kataloger inne i projektkatalogen som ska inkluderas eller exkluderas.",
"Description[tr]": "Proje klasörü içerisindeki hangi dosya ve klasörlerin dahil edilip edilmeyeceğini yapılandır.",
"Description[uk]": "За допомогою цього модуля можна визначити, які файли і теки у теці проекту має бути включено або виключено з його складу.",
@@ -31,17 +36,19 @@
"Name[de]": "Projektfilter",
"Name[es]": "Filtro de proyectos",
"Name[fr]": "Filtre de projet",
+ "Name[gl]": "Filtro do proxecto",
"Name[it]": "Filtro progetto",
"Name[nb]": "Prosjektfilter",
"Name[nl]": "Projectfilter",
"Name[pl]": "Filtr projektu",
"Name[pt]": "Filtro de Projectos",
+ "Name[ru]": "Фильтр проекта",
"Name[sk]": "Filter projektu",
"Name[sv]": "Projektfilter",
"Name[tr]": "Proje Süzgeci",
"Name[uk]": "Фільтр проекту",
"Name[x-test]": "xxProject Filterxx",
- "Name[zh_CN]": "项目过滤器",
+ "Name[zh_CN]": "工程过滤器",
"ServiceTypes": [
"KDevelop/Plugin"
]
diff --git a/plugins/projectmanagerview/cutcopypastehelpers.cpp b/plugins/projectmanagerview/cutcopypastehelpers.cpp
index 51cdd6982f..24311e1669 100644
--- a/plugins/projectmanagerview/cutcopypastehelpers.cpp
+++ b/plugins/projectmanagerview/cutcopypastehelpers.cpp
@@ -170,9 +170,9 @@ SourceToDestinationMap mapSourceToDestination(const Path::List& sourcePaths, con
SourceToDestinationMap result;
for (const Path& path : sortedPaths) {
- if (!result.filteredPaths.isEmpty() && std::reverse_iterator(result.filteredPaths.constBegin())->isParentOf(path)) {
+ if (!result.filteredPaths.isEmpty() && result.filteredPaths.back().isParentOf(path)) {
// think: "/tests"
- const Path& previousPath = *std::reverse_iterator(result.filteredPaths.constBegin());
+ const Path& previousPath = result.filteredPaths.back();
// think: "/dest" + "/".relativePath("/tests/abc.cpp") = /dest/tests/abc.cpp
result.finalPaths[previousPath].append(Path(destinationPath, previousPath.parent().relativePath(path)));
} else {
diff --git a/plugins/projectmanagerview/kdevprojectmanagerview.json b/plugins/projectmanagerview/kdevprojectmanagerview.json
index 6c2f4c20b8..cce1a7b864 100644
--- a/plugins/projectmanagerview/kdevprojectmanagerview.json
+++ b/plugins/projectmanagerview/kdevprojectmanagerview.json
@@ -10,13 +10,19 @@
"Description": "Lets you manage the project contents.",
"Description[ca@valencia]": "Vos permet gestionar els continguts del projecte.",
"Description[ca]": "Us permet gestionar els continguts del projecte.",
+ "Description[cs]": "Umožňuje spravovat obsah projektu.",
+ "Description[de]": "Lässt Sie den Inhalt Ihres Projekts verwalten.",
"Description[es]": "Le permite gestionar el contenido del proyecto.",
+ "Description[et]": "Projektide sisu haldamine.",
"Description[fr]": "Vous laisse gérer le contenu du projet.",
+ "Description[gl]": "Permítelle xestionar os contidos do proxecto.",
"Description[it]": "Consente di gestire i contenuti del progetto.",
"Description[nl]": "Laat u de projectinhoud beheren.",
"Description[pl]": "Pozwala tobie na zarządzanie zawartością projektu.",
"Description[pt]": "Permite-lhe gerir o conteúdo do projecto.",
+ "Description[pt_BR]": "Permite-lhe gerenciar o conteúdo do projeto.",
"Description[sk]": "Umožní vám spravovať obsah projektu.",
+ "Description[sl]": "Pomaga vam upravljati z vsebino projekta.",
"Description[sv]": "Låter dig hantera projektets innehåll.",
"Description[tr]": "Proje içeriğini yönetmenizi sağlar.",
"Description[uk]": "Надає вам змогу керувати вмістом проектів.",
@@ -28,14 +34,17 @@
"Name": "Project Manager View",
"Name[ca@valencia]": "Vista del gestor de projectes",
"Name[ca]": "Vista del gestor de projectes",
+ "Name[cs]": "Pohled správce projektů",
"Name[de]": "Ansicht für Projektverwaltung",
"Name[es]": "Vista del gestor de proyectos",
"Name[fr]": "Vue du gestionnaire de projets",
+ "Name[gl]": "Vista do xestor de proxectos",
"Name[it]": "Vista gestore progetto",
"Name[nb]": "Prosjektbehandlervisning",
"Name[nl]": "Projectbeheerder-overzicht",
"Name[pl]": "Widok zarządzania projektem",
"Name[pt]": "Área do Gestor de Projectos",
+ "Name[ru]": "Панель управления проектами",
"Name[sk]": "Pohľad na správcu projektu",
"Name[sv]": "Projekthanteringsvisning",
"Name[tr]": "Proje Yöneticisi Görünümü",
diff --git a/plugins/projectmanagerview/projectmanagerview.cpp b/plugins/projectmanagerview/projectmanagerview.cpp
index 63dbef6103..2ecd4fdb1f 100644
--- a/plugins/projectmanagerview/projectmanagerview.cpp
+++ b/plugins/projectmanagerview/projectmanagerview.cpp
@@ -91,6 +91,9 @@ ProjectManagerView::ProjectManagerView( ProjectManagerViewPlugin* plugin, QWidge
m_ui->splitter->setStretchFactor(1, projectBuildSetStrechFactor);
}
+ // keep the project tree view from collapsing (would confuse users)
+ m_ui->splitter->setCollapsible(0, false);
+
m_syncAction = plugin->actionCollection()->action(QStringLiteral("locate_document"));
Q_ASSERT(m_syncAction);
m_syncAction->setShortcutContext(Qt::WidgetWithChildrenShortcut);
@@ -170,11 +173,18 @@ void ProjectManagerView::selectionChanged()
{
m_ui->buildSetView->selectionChanged();
QList selected;
+ bool updated = false;
foreach( const QModelIndex& idx, m_ui->projectTreeView->selectionModel()->selectedRows() )
{
- selected << ICore::self()->projectController()->projectModel()->itemFromIndex(indexFromView( idx ));
+ auto item = ICore::self()->projectController()->projectModel()->itemFromIndex(indexFromView( idx ));
+ if (item) {
+ selected << item;
+ if (!updated) {
+ ICore::self()->documentController()->updateDirectoryHint(item->directory());
+ updated = true;
+ }
+ }
}
- selected.removeAll(nullptr);
KDevelop::ICore::self()->selectionController()->updateSelection( new ProjectManagerViewItemContext( selected, this ) );
}
diff --git a/plugins/qmakemanager/qmakeconfig.cpp b/plugins/qmakemanager/qmakeconfig.cpp
index 955200a117..5370c653d3 100644
--- a/plugins/qmakemanager/qmakeconfig.cpp
+++ b/plugins/qmakemanager/qmakeconfig.cpp
@@ -18,6 +18,8 @@
#include "qmakeconfig.h"
+#include "qtcompat_p.h"
+
#include
#include
#include
@@ -39,19 +41,6 @@ const char QMakeConfig::EXTRA_ARGUMENTS[] = "Extra_Arguments";
const char QMakeConfig::BUILD_TYPE[] = "Build_Type";
const char QMakeConfig::ALL_BUILDS[] = "All_Builds";
-namespace {
-
-// TODO: Just use QDir::listSeparator once we depend on Qt 5.6
-Q_DECL_CONSTEXPR inline QChar listSeparator() Q_DECL_NOTHROW
-{
-#ifdef Q_OS_WIN
- return QLatin1Char(';');
-#else
- return QLatin1Char(':');
-#endif
-}
-}
-
using namespace KDevelop;
/// NOTE: KConfig is not thread safe
@@ -141,7 +130,7 @@ QString QMakeConfig::findBasicMkSpec(const QHash& qmakeVars)
QStringList paths;
if (qmakeVars.contains(QStringLiteral("QMAKE_MKSPECS"))) {
// qt4
- foreach (const QString& dir, qmakeVars["QMAKE_MKSPECS"].split(listSeparator())) {
+ foreach (const QString& dir, qmakeVars["QMAKE_MKSPECS"].split(QtCompat::listSeparator())) {
paths << dir + "/default/qmake.conf";
}
} else if (!qmakeVars.contains(QStringLiteral("QMAKE_MKSPECS")) && qmakeVars.contains(QStringLiteral("QMAKE_SPEC"))) {
diff --git a/plugins/quickopen/kdevquickopen.json b/plugins/quickopen/kdevquickopen.json
index 5bb8556a93..cb3a4edb58 100644
--- a/plugins/quickopen/kdevquickopen.json
+++ b/plugins/quickopen/kdevquickopen.json
@@ -10,13 +10,19 @@
"Description": "This plugin allows quick access to project files and language-items like classes/functions.",
"Description[ca@valencia]": "Este connector permet un ràpid accés als fitxers del projecte i a elements del llenguatge com classes/funcions.",
"Description[ca]": "Aquest connector permet un ràpid accés als fitxers del projecte i a elements del llenguatge com classes/funcions.",
+ "Description[cs]": "Tento zásuvný modul umožňuje rychlý přístup k souborům projektu a položkám jazyka jako jsou třídy a funkce.",
+ "Description[de]": "Dieses Modul bietet schnellen Zugriff auf Projektdateien und Sprachelemente wie Klassen und Funktionen.",
"Description[es]": "Este complemento permite acceder rápidamente a los archivos del proyecto y a elementos del lenguaje, como clases y funciones.",
+ "Description[et]": "See plugin pakub kiiret ligipääsu projekti failidele ja keele elementidele, näiteks klassidele ja funktsioonidele.",
"Description[fr]": "Ce module permet un accès rapide aux fichiers du projet et aux éléments de langage comme les classes / fonctions.",
+ "Description[gl]": "Este complemento permite acceder rapidamente a ficheiros de proxecto e elementos da linguaxe como clases e funcións.",
"Description[it]": "Questa estensione permette di accedere rapidamente ai file di progetto e agli elementi del linguaggio come le classi/funzioni.",
"Description[nl]": "Deze plugin biedt snel toegamg tot projectbestanden en taal-items zoals classes/functies.",
"Description[pl]": "Ta wtyczka pozwala na szybki dostęp do plików projektu i elementów języka takich jak klasy i funkcje.",
"Description[pt]": "Este 'plugin' permite o acesso rápido aos ficheiros dos projectos e aos itens das linguagens, como as classes ou funções.",
+ "Description[pt_BR]": "Este plugin permite o rápido acesso a arquivos de projeto e itens da linguagem como classes/funções.",
"Description[sk]": "Tento plugin umožňuje rýchly prístup k súborom projektu a položiek jazyka ako triedy/funkcie.",
+ "Description[sl]": "Vstavek omogoča hiter dostop do projektnih datotek in predmetov kot so razredi in funkcije.",
"Description[sv]": "Insticksprogrammet ger snabb åtkomst av projektfiler och språkobjekt som klasser och funktioner.",
"Description[tr]": "Bu eklenti proje dosyalarına ve sınıflar/fonksiyonlar gibi dil öğelerine hızlı erişim sağlar.",
"Description[uk]": "За допомогою цього додатка можна пришвидшити доступ до файлів проектів і елементів мови на зразок класів або функцій.",
@@ -29,18 +35,25 @@
"Name[ca@valencia]": "Obertura ràpida",
"Name[ca]": "Obertura ràpida",
"Name[cs]": "Rychle otevřít",
+ "Name[de]": "Schnellöffner",
"Name[es]": "Apertura rápida",
+ "Name[et]": "Kiiravamine",
"Name[fr]": "Ouverture rapide",
+ "Name[gl]": "Apertura rápida",
"Name[it]": "Apertura veloce",
"Name[nb]": "Hurtigåpne",
"Name[nl]": "Snel openen",
"Name[pl]": "Szybkie otwarcie",
"Name[pt]": "Abertura Rápida",
+ "Name[pt_BR]": "Abertura rápida",
+ "Name[ru]": "Быстрый переход",
"Name[sk]": "Rýchlo otvoriť",
+ "Name[sl]": "Hitro odpiranje",
"Name[sv]": "Snabböppna",
"Name[tr]": "Hızlı Aç",
"Name[uk]": "Швидке відкриття",
"Name[x-test]": "xxQuick Openxx",
+ "Name[zh_CN]": "快速打开",
"ServiceTypes": [
"KDevelop/Plugin"
]
diff --git a/plugins/quickopen/quickopenplugin.cpp b/plugins/quickopen/quickopenplugin.cpp
index a414228355..7d451c2339 100644
--- a/plugins/quickopen/quickopenplugin.cpp
+++ b/plugins/quickopen/quickopenplugin.cpp
@@ -930,6 +930,7 @@ QuickOpenLineEdit::QuickOpenLineEdit(QuickOpenWidgetCreator* creator) : m_widget
, m_forceUpdate(false)
, m_widgetCreator(creator)
{
+ setFont(qApp->font("QToolButton"));
setMinimumWidth(200);
setMaximumWidth(400);
diff --git a/plugins/sourceformatter/kdevsourceformatter.json b/plugins/sourceformatter/kdevsourceformatter.json
index bab94ef332..5ffa7e0939 100644
--- a/plugins/sourceformatter/kdevsourceformatter.json
+++ b/plugins/sourceformatter/kdevsourceformatter.json
@@ -5,6 +5,7 @@
"Description[ca@valencia]": "Configura quin estil s'ha d'usar per a formatar el codi font d'un projecte.",
"Description[ca]": "Configura quin estil s'ha d'usar per a formatar el codi font d'un projecte.",
"Description[es]": "Configurar el estilo que se debe usar para formatear el código fuente de un proyecto.",
+ "Description[fr]": "Configurer le style de formatage du code source dans les projets.",
"Description[it]": "Configura lo stile che sarà usato per formattare il codice sorgente in un progetto.",
"Description[nl]": "Configureer welke stijl gebruikt moet worden voor formattering van de broncode in een project.",
"Description[pl]": "Określ zapis kodu źródłowego w projekcie.",
@@ -24,16 +25,19 @@
"Name[de]": "Quelltextformatierer",
"Name[es]": "Formateador de código fuente",
"Name[fr]": "Formateur de sources",
+ "Name[gl]": "Formatador de código",
"Name[it]": "Formattatore sorgenti",
"Name[nb]": "Kildeformattering",
"Name[nl]": "Broncode-formatteerprogramma",
"Name[pl]": "Formatowanie źródeł",
"Name[pt]": "Formatação de Código",
+ "Name[ru]": "Форматирование кода",
"Name[sk]": "Formátovač zdroja",
"Name[sv]": "Källkodsformatering",
"Name[tr]": "Kaynak Biçimlendirici",
"Name[uk]": "Форматування коду",
"Name[x-test]": "xxSource Formatterxx",
+ "Name[zh_CN]": "源代码格式化器",
"ServiceTypes": [
"KDevelop/Plugin"
]
diff --git a/plugins/standardoutputview/kdevstandardoutputview.json b/plugins/standardoutputview/kdevstandardoutputview.json
index c4952c6bef..d6694ddba6 100644
--- a/plugins/standardoutputview/kdevstandardoutputview.json
+++ b/plugins/standardoutputview/kdevstandardoutputview.json
@@ -4,14 +4,21 @@
"Description": "Provides a text output toolview for other plugins to use, to show things like compiler messages.",
"Description[ca@valencia]": "Proporciona una vista d'eina d'eixida de text per a utilitzar en altres connectors, per a visualitzar missatges del compilador, per exemple.",
"Description[ca]": "Proporciona una vista d'eina de sortida de text per a utilitzar en altres connectors, per a visualitzar missatges del compilador, per exemple.",
+ "Description[cs]": "Umožňuje používat jiným zásuvným modulům nástrojový pohled textového výstupu, aby ukázal různé věci, jako třeba zprávy kompilátoru.",
+ "Description[de]": "Stellt eine Textausgabe für andere Module zur Verfügung, um Dinge wie Compiler-Nachrichten anzuzeigen.",
"Description[es]": "Proporciona un visor de salida de texto para que otros complementos muestren cosas como mensajes del compilador, por ejemplo.",
+ "Description[et]": "Teistele pluginatele kättesaadav tekstiväljundi tööriistavaade, mis näitab kompilaatori teateid ja muud.",
"Description[fr]": "Fournit un outil d'affichage de la sortie texte pour utilisation par d'autres modules, pour afficher des choses comme des messages de compilateur.",
+ "Description[gl]": "Fornece unha ferramenta de saída de texto a outros complementos, para mostrar cousas como mensaxes do compilador.",
"Description[it]": "Fornisce una vista strumenti testuale che può essere usata dalla estensioni per mostrare cose come i messaggi del compilatore.",
"Description[nl]": "Levert tekstuitvoer van hulpmiddelen voor andere te gebruiken plugins, om zaken te tonen zoals berichten van compilers.",
"Description[pl]": "Zapewnia widok narzędzia wyjścia tekstu dla wykorzystania w innych wtyczkach, aby pokazać rzeczy takie jak komunikaty kompilatora.",
"Description[pt]": "Oferece uma área de texto para os outros 'plugins' usarem, para apresentar algumas coisas, como as mensagens do compilador.",
+ "Description[pt_BR]": "Oferece uma área de resultados de texto para os outros plugins usarem, de modo a mostrar coisas como as mensagens do compilador.",
"Description[sk]": "Poskytuje textový výstup pohľadu nástrojov pre iné pluginy na použitie, na zobrazenie napríklad správy prekladača.",
+ "Description[sl]": "Drugim vstavkom ponuja okno za prikaz besedilnega izhoda, na primer za sporočila izgrajevalnika.",
"Description[sv]": "Tillhandahåller en verktygsvy för textutmatning som andra insticksprogram kan använda för att visa saker som kompilatormeddelanden.",
+ "Description[tr]": "Diğer eklentilerin derleyici iletileri gibi şeyleri göstermesi için metin çıktı araç görünümü sağlar.",
"Description[uk]": "Забезпечує роботу панелі показу текстових даних інших додатків, зокрема попереджень компілятора.",
"Description[x-test]": "xxProvides a text output toolview for other plugins to use, to show things like compiler messages.xx",
"Description[zh_CN]": "提供让其它插件使用的文本输出工具视图,以便显示诸如编译器消息的信息。",
@@ -21,14 +28,20 @@
"Name[ca@valencia]": "Vista de l'eixida",
"Name[ca]": "Vista de la sortida",
"Name[cs]": "Pohled na výstup",
+ "Name[de]": "Ansicht für Ausgaben",
"Name[es]": "Vista de la salida",
+ "Name[et]": "Väljundivaade",
"Name[fr]": "Vue de la sortie",
+ "Name[gl]": "Vista da saída",
"Name[it]": "Vista output",
"Name[nb]": "Utdata-visning",
"Name[nl]": "Uitvoerweergave",
"Name[pl]": "Widok wyjścia",
"Name[pt]": "Área de Resultados",
+ "Name[pt_BR]": "Área de resultados",
+ "Name[ru]": "Панель вывода",
"Name[sk]": "Pohľad na výstup",
+ "Name[sl]": "Prikaz izhoda",
"Name[sv]": "Utmatningsvisning",
"Name[tr]": "Çıktı Görünümü",
"Name[uk]": "Перегляд виводу",
diff --git a/plugins/subversion/kdevsubversion.json b/plugins/subversion/kdevsubversion.json
index cc2c675467..259a333ffa 100644
--- a/plugins/subversion/kdevsubversion.json
+++ b/plugins/subversion/kdevsubversion.json
@@ -11,6 +11,7 @@
"Description[ca@valencia]": "Este connector integra el Subversion en el KDevelop.",
"Description[ca]": "Aquest connector integra el Subversion en el KDevelop.",
"Description[cs]": "Tento modul integruje podporu pro subversion v KDevelop",
+ "Description[de]": "Dieses Modul integriert Subversion in KDevelop.",
"Description[es]": "Este complemento integra Subversion en KDevelop.",
"Description[fr]": "Ce module intègre Subversion dans KDevelop.",
"Description[it]": "Questa estensione integra Subversion in KDevelop.",
@@ -29,14 +30,21 @@
"Name[ca@valencia]": "Implementació del Subversion",
"Name[ca]": "Implementació del Subversion",
"Name[cs]": "Podpora subversion",
+ "Name[de]": "Subversion-Unterstützung",
"Name[es]": "Implementación de Subversion",
+ "Name[et]": "Subversioni toetus",
"Name[fr]": "Prise en charge de Subversion",
+ "Name[gl]": "Soporte de Subversion",
"Name[it]": "Supporto per Subversion",
"Name[nb]": "Støtte for subversion",
"Name[nl]": "Ondersteuning van subversion",
+ "Name[nn]": "Subversion-støtte",
"Name[pl]": "Obsługa Subversion",
"Name[pt]": "Suporte para o Subversion",
+ "Name[pt_BR]": "Suporte a Subversion",
+ "Name[ru]": "Поддержка Subversion",
"Name[sk]": "Podpora subversion",
+ "Name[sl]": "Podpora za Subversion",
"Name[sv]": "Subversion-stöd",
"Name[tr]": "Suversion Desteği",
"Name[uk]": "Підтримка Subversion",
diff --git a/plugins/switchtobuddy/kdevswitchtobuddy.json b/plugins/switchtobuddy/kdevswitchtobuddy.json
index acdc591e6e..dce39c47ba 100644
--- a/plugins/switchtobuddy/kdevswitchtobuddy.json
+++ b/plugins/switchtobuddy/kdevswitchtobuddy.json
@@ -4,13 +4,18 @@
"Description": "Allows switching between buddy documents like implementation and header file.",
"Description[ca@valencia]": "Permet commutar entre documents associats com fitxers d'implementacions i de capçaleres.",
"Description[ca]": "Permet commutar entre documents associats com fitxers d'implementacions i de capçaleres.",
+ "Description[de]": "Ermöglicht das Umschalten zwischen verwandten Dokumenten wie Implementations- und Header-Dateien.",
"Description[es]": "Permite cambiar entre documentos asociados, como la implementación y el archivo de cabecera.",
+ "Description[et]": "Võimaldab lülituda sõltlasdokumentide, näiteks teostus- ja päisefaili vahel.",
"Description[fr]": "Permet de basculer entre des documents amis comme l'implémentation et le fichier d'en-tête.",
+ "Description[gl]": "Permite trocar entre documentos tipo buddy como implementación e ficheiro de cabeceira.",
"Description[it]": "Consente il passaggio tra i documenti associati come implementazioni e file header.",
"Description[nl]": "Biedt omschakelen tussen buddy-documenten zoals implementatie en header-bestand.",
"Description[pl]": "Pozwala na przełączanie pomiędzy stowarzyszonymi dokumentami takimi jak pliki implementacji i nagłówków.",
"Description[pt]": "Permite a alternância entre os documentos associados, como o ficheiro de implementação ou o de inclusão.",
+ "Description[pt_BR]": "Permite a mudança de documentos associados, como os arquivos de implementação e de inclusão.",
"Description[sk]": "Umožňuje prepínanie medzi dokumentmi priateľov ako súbor implementácie a hlavičky.",
+ "Description[sl]": "Omogoča preklapljanje med prijateljskimi dokumenti kot na primer izvedbo in datoteko glave.",
"Description[sv]": "Tillåter byte mellan samhörande dokument som implementerings- och deklarationsfiler.",
"Description[tr]": "Uygulama ve başlık dosyası gibi ilişkili belgeler arasında geçişe izin verir.",
"Description[uk]": "Надає змогу перемикатися на споріднені документи, зокрема файли з реалізацією та файли заголовків.",
@@ -21,14 +26,20 @@
"Name": "Switch to Buddy",
"Name[ca@valencia]": "Commuta a associat",
"Name[ca]": "Commuta a associat",
+ "Name[de]": "Zu verwandtem Element wechseln",
"Name[es]": "Cambiar al asociado",
+ "Name[et]": "Lülitumine sõltlasele",
"Name[fr]": "Passage à Buddy",
+ "Name[gl]": "Pasar a Buddy",
"Name[it]": "Passa al file associato",
"Name[nb]": "Bytt til kamerat",
"Name[nl]": "Naar Buddy omschakelen",
"Name[pl]": "Przełącz do stowarzyszonego",
"Name[pt]": "Mudar para o Ficheiro Associado",
+ "Name[pt_BR]": "Mudar para o arquivo associado",
+ "Name[ru]": "Переход к связанному",
"Name[sk]": "Prepnúť na Buddy",
+ "Name[sl]": "Preklopi na prijatelja",
"Name[sv]": "Byt till samhörande",
"Name[tr]": "Dosta Geçiş Yap",
"Name[uk]": "Перемикання на споріднений",
diff --git a/plugins/testview/kdevtestview.json b/plugins/testview/kdevtestview.json
index da55569649..cd0f8e83f3 100644
--- a/plugins/testview/kdevtestview.json
+++ b/plugins/testview/kdevtestview.json
@@ -10,13 +10,19 @@
"Description": "Lets you see and run unit tests.",
"Description[ca@valencia]": "Vos permet veure i executar proves unitàries.",
"Description[ca]": "Us permet veure i executar proves unitàries.",
+ "Description[cs]": "Umožňuje vám zobrazit a spouštět unit testy.",
+ "Description[de]": "Unit-Tests anzeigen und ausführen.",
"Description[es]": "Le permite ver y ejecutar pruebas unitarias.",
+ "Description[et]": "Ühiktestide näitamine ja käivitamine.",
"Description[fr]": "Vous permet de voir et exécuter des tests unitaires.",
+ "Description[gl]": "Permite ver e executar probas unitarias.",
"Description[it]": "Consente di vedere ed eseguire i test d'unità.",
"Description[nl]": "Laat u testen van eenheden zien en uitvoeren.",
"Description[pl]": "Pozwala tobie na obejrzenie i uruchomienie testów jednostkowych.",
"Description[pt]": "Permite-lhe ver e executar testes unitários.",
+ "Description[pt_BR]": "Permite-lhe ver e executar testes unitários.",
"Description[sk]": "Umožní vám vidieť a spustiť unit testy.",
+ "Description[sl]": "Omogoča ogled in zagon preizkusov enot.",
"Description[sv]": "Låter dig titta på och köra enhetstester.",
"Description[tr]": "Birim testlerini görmenizi ve çalıştırmanızı sağlar.",
"Description[uk]": "Надає вам змогу переглядати і виконувати перевірки модулів.",
@@ -28,14 +34,21 @@
"Name": "Unit Test View",
"Name[ca@valencia]": "Vista de proves unitàries",
"Name[ca]": "Vista de proves unitàries",
+ "Name[cs]": "Pohled na Unit testy",
+ "Name[de]": "Unittest-Ansicht",
"Name[es]": "Vista de la prueba unitaria",
+ "Name[et]": "Ühiktestide vaade",
"Name[fr]": "Affichage des tests unitaires",
+ "Name[gl]": "Vista de probas unitarias",
"Name[it]": "Vista test d'unità",
"Name[nb]": "Enhetstest-visning",
"Name[nl]": "Weergave van test van eenheid",
"Name[pl]": "Widok jednostkowego testu",
"Name[pt]": "Área de Testes Unitários",
+ "Name[pt_BR]": "Exibição de testes unitários",
+ "Name[ru]": "Панель модульных тестов",
"Name[sk]": "Pohľad unit testov",
+ "Name[sl]": "Prikaz preizkusov enot",
"Name[sv]": "Visning av enhetstester",
"Name[tr]": "Birim Test Görünümü",
"Name[uk]": "Перегляд перевірок модулів",
diff --git a/plugins/vcschangesview/kdevvcschangesview.json b/plugins/vcschangesview/kdevvcschangesview.json
index 717a24a9f7..40a9955484 100644
--- a/plugins/vcschangesview/kdevvcschangesview.json
+++ b/plugins/vcschangesview/kdevvcschangesview.json
@@ -12,32 +12,40 @@
"Description": "This plugin provides integration between the projects and their VCS infrastructure",
"Description[ca@valencia]": "Este connector proporciona la integració entre els projectes i la seua infraestructura de VCS",
"Description[ca]": "Aquest connector proporciona la integració entre els projectes i la seva infraestructura de VCS",
+ "Description[de]": "Dieses Modul stellt eine Integration zwischen Projekten und ihrer VCS-Infrastruktur her.",
"Description[es]": "Este complemento proporciona integración entre los proyectos y su infraestructura VCS",
+ "Description[et]": "See plugin võimaldab lõimida projektid ja nende versioonihalduse infrastruktuuri",
"Description[fr]": "Ce module fournit une intégration entre les projets et leur infrastructure de contrôle de version",
+ "Description[gl]": "Este complemento fornece integración entre os proxectos e a súa infraestrutura VCS",
"Description[it]": "Questa estensione fornisce integrazione tra i progetti e la loro infrastruttura VCS",
"Description[nl]": "Deze plugin geeft integratie tussen de projecten en hun VCS-infrastructuur",
"Description[pl]": "Wtyczka ta zapewnia integracje pomiędzy projektami i ich infrastrukturą systemu kontroli wersji (VCS)",
"Description[pt]": "Este 'plugin' oferece a integração entre os projectos e a sua infra-estrutura de controlo de versões",
+ "Description[pt_BR]": "Este plugin fornece a integração entre os projetos e sua infraestrutura de VCS",
"Description[sk]": "Tento plugin poskytuje integráciu medzi projektami a ich VCS infraštruktúrou",
+ "Description[sl]": "Ta vstavek ponuja most med projekti in njihovo infrastrukturo nadzora različic",
"Description[sv]": "Det här insticksprogrammet tillhandahåller integrering mellan projekten och deras VCS infrastruktur",
"Description[tr]": "Bu eklenti projeler ile VCS altyapıları arasında bütünleşme sağlar",
"Description[uk]": "За допомогою цього додатка забезпечується інтеграція між проектами та інфраструктурою системи керування версіями (VCS)",
"Description[x-test]": "xxThis plugin provides integration between the projects and their VCS infrastructurexx",
"Description[zh_CN]": "此插件提供工程和它们的代码管理系统的集成",
- "Icon": "git",
+ "Icon": "kdevelop",
"Id": "kdevvcschangesviewplugin",
"License": "GPL",
"Name": "VCS Integration",
"Name[ca@valencia]": "Integració de VCS",
"Name[ca]": "Integració de VCS",
+ "Name[cs]": "Integrace VCS",
"Name[de]": "VCS-Integration",
"Name[es]": "Integración de VCS",
"Name[fr]": "Intégration de VCS",
+ "Name[gl]": "Integración con VCS",
"Name[it]": "Integrazione VCS",
"Name[nb]": "VCS-integrering",
"Name[nl]": "VCS-integratie",
"Name[pl]": "Integracja VCS",
"Name[pt]": "Integração com o SCV",
+ "Name[ru]": "Интеграция VCS",
"Name[sk]": "Integrácia VCS",
"Name[sv]": "Integrering av VCS",
"Name[tr]": "Sürüm Kontrol Sistemi Bütünleşmesi",
diff --git a/plugins/welcomepage/kdevwelcomepage.json b/plugins/welcomepage/kdevwelcomepage.json
index 1dd4575640..f59086ce11 100644
--- a/plugins/welcomepage/kdevwelcomepage.json
+++ b/plugins/welcomepage/kdevwelcomepage.json
@@ -3,12 +3,15 @@
"Description": "Provides the welcome page visible in an empty session",
"Description[ca@valencia]": "Proporciona la visibilitat de la pàgina de benvinguda en una sessió buida",
"Description[ca]": "Proporciona la visibilitat de la pàgina de benvinguda en una sessió buida",
+ "Description[cs]": "Poskytuje uvítací obrazovku viditelnou v prázdném sezení",
"Description[es]": "Proporciona la página de bienvenida visible en una sesión vacía",
+ "Description[fr]": "Fournit la page d'accueil visible dans une session vide",
"Description[it]": "Fornisce la pagina di benvenuto visibile in una sessione vuota",
"Description[nl]": "Biedt de welkomst pagina zichtbaar in een lege sessie",
"Description[pl]": "Dostarcza stronę powitania widoczną przy pustych sesjach",
"Description[pt]": "Oferece a página de boas-vindas que fica visível numa sessão vazia",
"Description[sk]": "Poskytuje uvítaciu stránku viditeľnú v prázdnom sedení",
+ "Description[sl]": "Ponuja pozdravni zaslon, ki je viden v prazni seji",
"Description[sv]": "Tillhandahåller välkomstsidan synlig i en tom session",
"Description[tr]": "Boş oturumda görünen hoşgeldin sayfasını sağlar",
"Description[uk]": "Забезпечує роботу сторінки вітання, яку програма показує, якщо сеанс порожній",
@@ -19,13 +22,18 @@
"Name[ca@valencia]": "Pàgina de benvinguda del KDevelop",
"Name[ca]": "Pàgina de benvinguda del KDevelop",
"Name[cs]": "Uvítací stránka KDevelop",
+ "Name[de]": "KDevelop-Startseite",
"Name[es]": "Página de bienvenida de KDevelop",
+ "Name[et]": "KDevelopi tervituslehekülg",
"Name[fr]": "Page d'accueil de KDevelop",
+ "Name[gl]": "Páxina de benvida de KDevelop",
"Name[it]": "Pagina di benvenuto di KDevelop",
"Name[nl]": "Welkomstpagina van KDevelop",
"Name[pl]": "Strona powitalna KDevelop",
"Name[pt]": "Página de Boas-Vindas do KDevelop",
+ "Name[pt_BR]": "Página de boas-vindas do KDevelop",
"Name[sk]": "Uvítacia stránka KDevelop",
+ "Name[sl]": "Pozdravna stran za KDevelop",
"Name[sv]": "KDevelop välkomstsida",
"Name[tr]": "KDevelop Karşılama Sayfası",
"Name[uk]": "Сторінка вітання KDevelop",
diff --git a/shortcuts/QtCreator b/shortcuts/QtCreator
index 45136e0012..bd1334742e 100644
--- a/shortcuts/QtCreator
+++ b/shortcuts/QtCreator
@@ -49,8 +49,10 @@
-
-
+
+
+
+