summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libs/7zip/7zip.pri1
-rw-r--r--src/libs/installer/component.cpp12
-rw-r--r--src/libs/installer/component_p.cpp10
-rw-r--r--src/libs/installer/component_p.h19
-rw-r--r--src/libs/installer/componentchecker.cpp73
-rw-r--r--src/libs/installer/componentmodel.cpp79
-rw-r--r--src/libs/installer/createlocalrepositoryoperation.cpp2
-rw-r--r--src/libs/installer/installercalculator.cpp3
-rw-r--r--src/libs/installer/messageboxhandler.cpp2
-rw-r--r--src/libs/installer/observer.cpp19
-rw-r--r--src/libs/installer/packagemanagercore.cpp95
-rw-r--r--src/libs/installer/packagemanagercore.h1
-rw-r--r--src/libs/installer/packagemanagercore_p.cpp27
-rw-r--r--src/libs/installer/packagemanagercoredata.cpp2
-rw-r--r--src/libs/installer/packagemanagergui.cpp118
-rw-r--r--src/libs/installer/packagemanagergui.h33
-rw-r--r--src/libs/installer/remoteobject.h2
-rw-r--r--src/libs/installer/remoteserverconnection.cpp6
-rw-r--r--src/libs/installer/scriptengine.cpp261
-rw-r--r--src/libs/installer/scriptengine.h6
-rw-r--r--src/libs/installer/scriptengine_p.h45
-rw-r--r--src/libs/installer/settings.cpp13
-rw-r--r--src/libs/installer/settings.h4
-rw-r--r--src/libs/installer/uninstallercalculator.cpp6
-rw-r--r--src/libs/installer/utils.cpp2
-rw-r--r--src/sdk/commandlineparser.cpp2
-rw-r--r--src/sdk/constants.h2
-rw-r--r--src/sdk/installerbase.cpp5
-rw-r--r--src/sdk/installerbase.qrc16
-rw-r--r--src/sdk/installerbasecommons.cpp10
-rw-r--r--src/sdk/sdk.pro4
-rw-r--r--src/sdk/translations/de.ts (renamed from src/sdk/translations/de_de.ts)3142
-rw-r--r--src/sdk/translations/en.ts (renamed from src/sdk/translations/en_us.ts)0
-rw-r--r--src/sdk/translations/fr.ts (renamed from src/sdk/translations/fr_fr.ts)0
-rw-r--r--src/sdk/translations/ja.ts (renamed from src/sdk/translations/ja_jp.ts)945
-rw-r--r--src/sdk/translations/ru.ts (renamed from src/sdk/translations/ru_ru.ts)0
-rw-r--r--src/sdk/translations/sv.ts (renamed from src/sdk/translations/sv_se.ts)0
37 files changed, 2774 insertions, 2193 deletions
diff --git a/src/libs/7zip/7zip.pri b/src/libs/7zip/7zip.pri
index c128d0397..823e3ab1d 100644
--- a/src/libs/7zip/7zip.pri
+++ b/src/libs/7zip/7zip.pri
@@ -3,6 +3,7 @@ win32 {
INCLUDEPATH += $$7ZIP_BASE/C $$7ZIP_BASE/CPP
DEFINES += WIN_LONG_PATH _UNICODE _NO_CRYPTO
QMAKE_CXXFLAGS_RELEASE -= -Zc:strictStrings
+ QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO -= -Zc:strictStrings
}
unix {
diff --git a/src/libs/installer/component.cpp b/src/libs/installer/component.cpp
index 2d6836ed0..86388cc2e 100644
--- a/src/libs/installer/component.cpp
+++ b/src/libs/installer/component.cpp
@@ -72,7 +72,7 @@ static const QLatin1String scForcedInstallation("ForcedInstallation");
\qmltype component
\inqmlmodule scripting
- \brief The component type represents the current component that the Qt Script belongs to.
+ \brief Represents the current component that the Qt Script belongs to.
A minimal valid script needs to contain a constructor, which can look like this:
@@ -156,7 +156,7 @@ static const QLatin1String scForcedInstallation("ForcedInstallation");
/*!
\qmlproperty stringlist component::autoDependencies
- Returns the value of the \c <AutoDependsOn> tag in the package information file.
+ Returns the value of the \c <AutoDependOn> tag in the package information file.
*/
/*!
@@ -342,8 +342,10 @@ quint64 Component::updateUncompressedSize()
{
quint64 size = 0;
- if (installationRequested() || updateRequested())
+ if (installAction() == ComponentModelHelper::Install
+ || installAction() == ComponentModelHelper::KeepInstalled) {
size = d->m_vars.value(scUncompressedSize).toLongLong();
+ }
foreach (Component* comp, d->m_allChildComponents)
size += comp->updateUncompressedSize();
@@ -534,8 +536,7 @@ void Component::loadTranslations(const QDir &directory, const QStringList &qms)
{
QDirIterator it(directory.path(), qms, QDir::Files);
const QStringList translations = d->m_core->settings().translations();
- const QString uiLanguage = QLocale().uiLanguages().value(0, QLatin1String("en_us"))
- .replace(QLatin1Char('-'), QLatin1Char('_'));
+ const QString uiLanguage = QLocale().uiLanguages().value(0, QLatin1String("en"));
while (it.hasNext()) {
const QString filename = it.next();
const QString basename = QFileInfo(filename).baseName();
@@ -583,6 +584,7 @@ void Component::loadUserInterfaces(const QDir &directory, const QStringList &uis
throw Error(tr("Could not load the requested UI file '%1'. Error: %2").arg(it.fileName(),
loader.errorString()));
}
+ d->scriptEngine()->newQObject(widget);
d->m_userInterfaces.insert(widget->objectName(), widget);
}
}
diff --git a/src/libs/installer/component_p.cpp b/src/libs/installer/component_p.cpp
index 4bcfbf5dc..18ba4b7b5 100644
--- a/src/libs/installer/component_p.cpp
+++ b/src/libs/installer/component_p.cpp
@@ -204,6 +204,16 @@ void ComponentModelHelper::setSelectable(bool selectable)
changeFlags(selectable, Qt::ItemIsSelectable);
}
+ComponentModelHelper::InstallAction ComponentModelHelper::installAction() const
+{
+ return data(ComponentModelHelper::Action).value<ComponentModelHelper::InstallAction>();
+}
+
+void ComponentModelHelper::setInstallAction(ComponentModelHelper::InstallAction action)
+{
+ setData(QVariant::fromValue<ComponentModelHelper::InstallAction>(action), ComponentModelHelper::Action);
+}
+
/*!
Returns the item flags for the component. The item flags determine how the user can interact with the
component.
diff --git a/src/libs/installer/component_p.h b/src/libs/installer/component_p.h
index 15834d1f2..87e067ba4 100644
--- a/src/libs/installer/component_p.h
+++ b/src/libs/installer/component_p.h
@@ -93,18 +93,28 @@ class INSTALLER_EXPORT ComponentModelHelper
{
public:
enum Roles {
- LocalDisplayVersion = Qt::UserRole + 1,
+ Action = Qt::UserRole + 1,
+ LocalDisplayVersion,
RemoteDisplayVersion,
ReleaseDate,
UncompressedSize
};
+ enum InstallAction {
+ Install,
+ Uninstall,
+ KeepInstalled,
+ KeepUninstalled
+ };
+
enum Column {
NameColumn = 0,
+ ActionColumn,
InstalledVersionColumn,
NewVersionColumn,
ReleaseDateColumn,
- UncompressedSizeColumn
+ UncompressedSizeColumn,
+ LastColumn
};
explicit ComponentModelHelper();
@@ -125,6 +135,9 @@ public:
bool isSelectable() const;
void setSelectable(bool selectable);
+ InstallAction installAction() const;
+ void setInstallAction(InstallAction action);
+
Qt::ItemFlags flags() const;
void setFlags(Qt::ItemFlags flags);
@@ -148,4 +161,6 @@ private:
} // namespace QInstaller
+Q_DECLARE_METATYPE(QInstaller::ComponentModelHelper::InstallAction)
+
#endif // COMPONENT_P_H
diff --git a/src/libs/installer/componentchecker.cpp b/src/libs/installer/componentchecker.cpp
index 5f07c74fd..64ce851a0 100644
--- a/src/libs/installer/componentchecker.cpp
+++ b/src/libs/installer/componentchecker.cpp
@@ -48,51 +48,68 @@ QStringList ComponentChecker::checkComponent(Component *component)
const bool defaultPropertyValue = component->variables().value(scDefault).compare(scTrue, Qt::CaseInsensitive) == 0;
if (!component->autoDependencies().isEmpty()) {
if (component->forcedInstallation()) {
- checkResult << tr("Component %1 specifies \"ForcedInstallation\" property "
- "together with \"AutoDependOn\" list. This combination of states "
- "may not work properly."
- ).arg(component->name());
+ checkResult << QString::fromLatin1("Component %1 specifies \"ForcedInstallation\" property "
+ "together with \"AutoDependOn\" list. This combination of states may not work properly.")
+ .arg(component->name());
}
if (defaultPropertyScriptValue) {
- checkResult << tr("Component %1 specifies script value for \"Default\" property "
- "together with \"AutoDependOn\" list. This combination of states "
- "may not work properly."
- ).arg(component->name());
+ checkResult << QString::fromLatin1("Component %1 specifies script value for \"Default\" "
+ "property together with \"AutoDependOn\" list. This combination of states may not "
+ "work properly.").arg(component->name());
}
if (defaultPropertyValue) {
- checkResult << tr("Component %1 specifies \"Default\" property "
- "together with \"AutoDependOn\" list. This combination of states "
- "may not work properly."
- ).arg(component->name());
+ checkResult << QString::fromLatin1("Component %1 specifies \"Default\" property together "
+ "with \"AutoDependOn\" list. This combination of states may not work properly.")
+ .arg(component->name());
}
}
if (component->packageManagerCore()->isInstaller()) {
if (component->isTristate()) {
if (defaultPropertyScriptValue) {
- checkResult << tr("Component %1 specifies script value for \"Default\" property "
- "while not being a leaf node. The \"Default\" property "
- "will get a \"false\" value."
- ).arg(component->name());
+ checkResult << QString::fromLatin1("Component %1 specifies script value for \"Default\" "
+ "property while not being a leaf node. The \"Default\" property will get a "
+ "\"false\" value.").arg(component->name());
}
if (defaultPropertyValue) {
- checkResult << tr("Component %1 specifies \"Default\" property "
- "while not being a leaf node. The \"Default\" property "
- "will get a \"false\" value."
- ).arg(component->name());
+ checkResult << QString::fromLatin1("Component %1 specifies \"Default\" property "
+ "while not being a leaf node. The \"Default\" property will get a \"false\" value.")
+ .arg(component->name());
}
}
if (!component->isCheckable()) {
if (defaultPropertyScriptValue) {
- checkResult << tr("Component %1 specifies script value for \"Default\" property "
- "while being not checkable. The \"Default\" property "
- "will get a \"false\" value."
- ).arg(component->name());
+ checkResult << QString::fromLatin1("Component %1 specifies script value for \"Default\" "
+ "property while being not checkable. The \"Default\" property will get a \"false\" "
+ "value.").arg(component->name());
}
if (defaultPropertyValue) {
- checkResult << tr("Component %1 specifies \"Default\" property "
- "while being not checkable. The \"Default\" property "
- "will get a \"false\" value."
- ).arg(component->name());
+ checkResult << QString::fromLatin1("Component %1 specifies \"Default\" property "
+ "while being not checkable. The \"Default\" property will get a \"false\" value.")
+ .arg(component->name());
+ }
+ }
+ if (component->childCount()) {
+ const QStringList autoDependencies = component->autoDependencies();
+ if (!autoDependencies.isEmpty()) {
+ checkResult << QString::fromLatin1("Component %1 auto depends on other components "
+ "while having children components. This will not work properly.")
+ .arg(component->name());
+ }
+
+ // TODO: search also for components which autodepend on "component"
+ // (something like core->autodependees(component))
+
+ if (!component->dependencies().isEmpty()) {
+ checkResult << QString::fromLatin1("Component %1 depends on other components "
+ "while having children components. This will not work properly.")
+ .arg(component->name());
+ }
+
+ PackageManagerCore *core = component->packageManagerCore();
+ if (!core->dependees(component).isEmpty()) {
+ checkResult << QString::fromLatin1("Other components depend on component %1 "
+ "which has children components. This will not work properly.")
+ .arg(component->name());
}
}
}
diff --git a/src/libs/installer/componentmodel.cpp b/src/libs/installer/componentmodel.cpp
index 4c4bda080..d2537dea0 100644
--- a/src/libs/installer/componentmodel.cpp
+++ b/src/libs/installer/componentmodel.cpp
@@ -36,6 +36,7 @@
#include "component.h"
#include "packagemanagercore.h"
+#include <QIcon>
namespace QInstaller {
@@ -71,6 +72,20 @@ namespace QInstaller {
or unchecked, or some individual component's checked state has changed.
*/
+class IconCache
+{
+public:
+ IconCache() {
+ }
+
+ QIcon icon(ComponentModelHelper::InstallAction action) const {
+ return m_icons.value(action);
+ }
+private:
+ QMap<ComponentModelHelper::InstallAction, QIcon> m_icons;
+};
+
+Q_GLOBAL_STATIC(IconCache, iconCache)
/*!
Constructs an component model with the given number of \a columns and \a core as parent.
@@ -179,6 +194,25 @@ QVariant ComponentModel::data(const QModelIndex &index, int role) const
if (index.column() > 0) {
if (role == Qt::CheckStateRole)
return QVariant();
+ if (index.column() == ComponentModelHelper::ActionColumn) {
+ if (role == Qt::DecorationRole)
+ return iconCache->icon(component->installAction());
+ if (role == Qt::ToolTipRole) {
+ switch (component->installAction()) {
+ case ComponentModelHelper::Install:
+ return tr("Component is marked for installation.");
+ case ComponentModelHelper::Uninstall:
+ return tr("Component is marked for uninstallation.");
+ case ComponentModelHelper::KeepInstalled:
+ return tr("Component is installed.");
+ case ComponentModelHelper::KeepUninstalled:
+ return tr("Component is not installed.");
+ default:
+ return QString();
+ }
+ }
+ return QVariant();
+ }
if (role == Qt::EditRole || role == Qt::DisplayRole || role == Qt::ToolTipRole)
return component->data(Qt::UserRole + index.column());
}
@@ -202,6 +236,8 @@ bool ComponentModel::setData(const QModelIndex &index, const QVariant &value, in
return false;
if (role == Qt::CheckStateRole) {
+ if (index.column() != 0)
+ return false;
ComponentSet nodes = component->childItems().toSet();
Qt::CheckState newValue = Qt::CheckState(value.toInt());
if (newValue == Qt::PartiallyChecked) {
@@ -459,6 +495,15 @@ void ComponentModel::updateAndEmitModelState()
}
emit checkStateChanged(m_modelState);
+
+ foreach (const Component *component, m_rootComponentList) {
+ emit dataChanged(indexFromComponentName(component->name()),
+ indexFromComponentName(component->name()));
+ QList<Component *> children = component->childItems();
+ foreach (const Component *child, children)
+ emit dataChanged(indexFromComponentName(child->name()),
+ indexFromComponentName(child->name()));
+ }
}
void ComponentModel::collectComponents(Component *const component, const QModelIndex &parent) const
@@ -470,15 +515,6 @@ void ComponentModel::collectComponents(Component *const component, const QModelI
namespace ComponentModelPrivate {
-struct NameGreaterThan
-{
- bool operator() (const Component *lhs, const Component *rhs) const
- {
- return lhs->name() > rhs->name();
- }
-};
-
-// call it only for items with childern
static Qt::CheckState verifyPartiallyChecked(Component *component)
{
bool anyChecked = false;
@@ -514,22 +550,19 @@ static Qt::CheckState verifyPartiallyChecked(Component *component)
QSet<QModelIndex> ComponentModel::updateCheckedState(const ComponentSet &components, Qt::CheckState state)
{
// get all parent nodes for the components we're going to update
- ComponentSet nodes = components;
- foreach (Component *const component, components) {
- if (Component *parent = component->parentComponent()) {
- nodes.insert(parent);
- while (parent->parentComponent() != 0) {
- parent = parent->parentComponent();
- nodes.insert(parent);
- }
+ QMap<QString, Component *> sortedNodesMap;
+ foreach (Component *component, components) {
+ while (component && !sortedNodesMap.values(component->name()).contains(component)) {
+ sortedNodesMap.insertMulti(component->name(), component);
+ component = component->parentComponent();
}
}
QSet<QModelIndex> changed;
- // sort the nodes, so we can start in descending order to check node and tri-state nodes properly
- ComponentList sortedNodes = nodes.toList();
- std::sort(sortedNodes.begin(), sortedNodes.end(), ComponentModelPrivate::NameGreaterThan());
- foreach (Component *const node, sortedNodes) {
+ const ComponentList sortedNodes = sortedNodesMap.values();
+ // we can start in descending order to check node and tri-state nodes properly
+ for (int i = sortedNodes.count(); i > 0; i--) {
+ Component * const node = sortedNodes.at(i - 1);
if (!node->isCheckable())
continue;
@@ -559,10 +592,6 @@ QSet<QModelIndex> ComponentModel::updateCheckedState(const ComponentSet &compone
break;
}
}
-
- // update all nodes uncompressed size
- foreach (Component *const node, m_rootComponentList)
- node->updateUncompressedSize(); // this is a recursive call
return changed;
}
diff --git a/src/libs/installer/createlocalrepositoryoperation.cpp b/src/libs/installer/createlocalrepositoryoperation.cpp
index b2f7232d8..c53cebee6 100644
--- a/src/libs/installer/createlocalrepositoryoperation.cpp
+++ b/src/libs/installer/createlocalrepositoryoperation.cpp
@@ -291,7 +291,7 @@ bool CreateLocalRepositoryOperation::performOperation()
if (!isOpen) // If we reach that point, either the resource was opened already.
resource->close(); // or we did open it and have to close it again.
}
- emit progressChanged(.65f + ((double(i) / double(name.count())) * .25f));
+ emit progressChanged(.65f + ((double(i) / double(names.count())) * .25f));
}
}
diff --git a/src/libs/installer/installercalculator.cpp b/src/libs/installer/installercalculator.cpp
index e4773460d..10f7327db 100644
--- a/src/libs/installer/installercalculator.cpp
+++ b/src/libs/installer/installercalculator.cpp
@@ -101,9 +101,6 @@ QString InstallerCalculator::componentsToInstallError() const
void InstallerCalculator::realAppendToInstallComponents(Component *component)
{
if (!component->isInstalled() || component->updateRequested()) {
- // remove the checkState method if we don't use selected in scripts
- component->setCheckState(Qt::Checked);
-
m_orderedComponentsToInstall.append(component);
m_toInstallComponentIds.insert(component->name());
}
diff --git a/src/libs/installer/messageboxhandler.cpp b/src/libs/installer/messageboxhandler.cpp
index 266558d93..86e28eb39 100644
--- a/src/libs/installer/messageboxhandler.cpp
+++ b/src/libs/installer/messageboxhandler.cpp
@@ -44,7 +44,7 @@
\qmltype QMessageBox
\inqmlmodule scripting
- \brief The QMessageBox type provides a modal dialog for informing the user or asking the user
+ \brief Provides a modal dialog for informing the user or asking the user
a question and receiving an answer.
diff --git a/src/libs/installer/observer.cpp b/src/libs/installer/observer.cpp
index cfb3d3c31..4bc6d6721 100644
--- a/src/libs/installer/observer.cpp
+++ b/src/libs/installer/observer.cpp
@@ -68,14 +68,15 @@ QString FileTaskObserver::progressText() const
if (bytesReceived.endsWith(tmp))
bytesReceived.chop(tmp.length());
- progressText = bytesReceived + tr(" of ") + bytesToReceive;
+ progressText = tr("%1 of %2").arg(bytesReceived).arg(bytesToReceive);
} else {
if (m_bytesTransfered > 0)
- progressText = QInstaller::humanReadableSize(m_bytesTransfered) + tr(" received.");
+ progressText = tr("%1 received.").arg(QInstaller::humanReadableSize(m_bytesTransfered));
}
- progressText += QLatin1String(" (") + QInstaller::humanReadableSize(m_bytesPerSecond) + tr("/sec")
- + QLatin1Char(')');
+ if (!progressText.isEmpty())
+ progressText += QLatin1Char(' ');
+ progressText += tr("(%1/sec)").arg(QInstaller::humanReadableSize(m_bytesPerSecond));
if (m_bytesToTransfer > 0 && m_bytesPerSecond > 0) {
const qint64 time = (m_bytesToTransfer - m_bytesTransfered) / m_bytesPerSecond;
@@ -86,22 +87,22 @@ QString FileTaskObserver::progressText() const
QString days;
if (d > 0)
- days = QString::number(d) + (d < 2 ? tr(" day") : tr(" days")) + QLatin1String(", ");
+ days = tr("%n day(s), ", "", d);
QString hours;
if (h > 0)
- hours = QString::number(h) + (h < 2 ? tr(" hour") : tr(" hours")) + QLatin1String(", ");
+ hours = tr("%n hour(s), ", "", h);
QString minutes;
if (m > 0)
- minutes = QString::number(m) + (m < 2 ? tr(" minute") : tr(" minutes"));
+ minutes = tr("%n minute(s)", "", m);
QString seconds;
if (s >= 0 && minutes.isEmpty()) {
s = (s <= 0 ? 1 : s);
- seconds = QString::number(s) + (s < 2 ? tr(" second") : tr(" seconds"));
+ seconds = tr("%n second(s)", "", s);
}
- progressText += tr(" - ") + days + hours + minutes + seconds + tr(" remaining.");
+ progressText += tr(" - %1%2%3%4 remaining.").arg(days).arg(hours).arg(minutes).arg(seconds);
} else {
progressText += tr(" - unknown time remaining.");
}
diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp
index 960c2da93..8600dc114 100644
--- a/src/libs/installer/packagemanagercore.cpp
+++ b/src/libs/installer/packagemanagercore.cpp
@@ -83,7 +83,7 @@
\qmltype installer
\inqmlmodule scripting
- \brief The installer type provides access to core functionality of the Qt Installer Framework.
+ \brief Provides access to core functionality of the Qt Installer Framework.
*/
/*!
@@ -424,7 +424,37 @@ void PackageManagerCore::cancelMetaInfoJob()
*/
void PackageManagerCore::componentsToInstallNeedsRecalculation()
{
- d->m_componentsToInstallCalculated = false;
+ d->clearInstallerCalculator();
+ d->clearUninstallerCalculator();
+ QList<Component*> selectedComponentsToInstall = componentsMarkedForInstallation();
+
+ d->m_componentsToInstallCalculated =
+ d->installerCalculator()->appendComponentsToInstall(selectedComponentsToInstall);
+
+ QList<Component *> componentsToInstall = d->installerCalculator()->orderedComponentsToInstall();
+
+ QList<Component *> selectedComponentsToUninstall;
+ foreach (Component *component, components(ComponentType::All)) {
+ if (component->uninstallationRequested() && !selectedComponentsToInstall.contains(component))
+ selectedComponentsToUninstall.append(component);
+ }
+
+ d->uninstallerCalculator()->appendComponentsToUninstall(selectedComponentsToUninstall);
+
+ QSet<Component *> componentsToUninstall = d->uninstallerCalculator()->componentsToUninstall();
+
+ foreach (Component *component, components(ComponentType::Root | ComponentType::Descendants))
+ component->setInstallAction(component->isInstalled()
+ ? ComponentModelHelper::KeepInstalled
+ : ComponentModelHelper::KeepUninstalled);
+ foreach (Component *component, componentsToUninstall)
+ component->setInstallAction(ComponentModelHelper::Uninstall);
+ foreach (Component *component, componentsToInstall)
+ component->setInstallAction(ComponentModelHelper::Install);
+
+ // update all nodes uncompressed size
+ foreach (Component *const component, components(ComponentType::Root))
+ component->updateUncompressedSize(); // this is a recursive call
}
/*!
@@ -468,15 +498,15 @@ void PackageManagerCore::setMessageBoxAutomaticAnswer(const QString &identifier,
quint64 size(QInstaller::Component *component, const QString &value)
{
- if (!component->isSelected() || component->isInstalled())
- return quint64(0);
- return component->value(value).toLongLong();
+ if (component->installAction() == ComponentModelHelper::Install)
+ return component->value(value).toLongLong();
+ return quint64(0);
}
/*!
\qmlmethod float installer::requiredDiskSpace()
- Returns the estimated amount of disk space in bytes required after installation.
+ Returns the additional estimated amount of disk space in bytes required after installation.
\sa requiredTemporaryDiskSpace
*/
@@ -966,7 +996,7 @@ bool PackageManagerCore::fetchRemotePackagesTree()
Adds the widget with objectName() \a name registered by \a component as a new page
into the installer's GUI wizard. The widget is added before \a page.
- See \l{Wizard Pages} for the possible values of \a page.
+ See \l{Controller Scripting} for the possible values of \a page.
Returns \c true if the operation succeeded.
@@ -1035,7 +1065,7 @@ void PackageManagerCore::setValidatorForCustomPage(Component *component, const Q
Adds the widget with objectName() \a name registered by \a component as an GUI element
into the installer's GUI wizard. The widget is added on \a page.
- See \l{Wizard Pages} for the possible values of \a page.
+ See \l{Controller Scripting} for the possible values of \a page.
\sa removeWizardPageItem, wizardWidgetInsertionRequested
*/
@@ -1235,6 +1265,30 @@ Component *PackageManagerCore::componentByName(const QString &name, const QList<
return 0;
}
+QList<Component *> PackageManagerCore::componentsMarkedForInstallation() const
+{
+ QList<Component*> markedForInstallation;
+ const QList<Component*> relevant = components(ComponentType::Root | ComponentType::Descendants);
+ if (isUpdater()) {
+ foreach (Component *component, relevant) {
+ if (component->updateRequested())
+ markedForInstallation.append(component);
+ }
+ } else {
+ // relevant means all components which are not replaced
+ foreach (Component *component, relevant) {
+ // ask for all components which will be installed to get all dependencies
+ // even dependencies which are changed without an increased version
+ if (component->installationRequested()
+ || (component->isInstalled()
+ && !component->uninstallationRequested())) {
+ markedForInstallation.append(component);
+ }
+ }
+ }
+ return markedForInstallation;
+}
+
/*!
\qmlmethod boolean installer::calculateComponentsToInstall()
@@ -1248,28 +1302,11 @@ bool PackageManagerCore::calculateComponentsToInstall() const
emit aboutCalculateComponentsToInstall();
if (!d->m_componentsToInstallCalculated) {
d->clearInstallerCalculator();
- QList<Component*> componentsToInstall;
- const QList<Component*> relevant = components(ComponentType::Root | ComponentType::Descendants);
- if (isUpdater()) {
- foreach (Component *component, relevant) {
- if (component->updateRequested())
- componentsToInstall.append(component);
- }
- } else if (!isUpdater()) {
- // relevant means all components which are not replaced
- foreach (Component *component, relevant) {
- // ask for all components which will be installed to get all dependencies
- // even dependencies which are changed without an increased version
- if (component->installationRequested() || (component->isInstalled()
- && !component->uninstallationRequested())) {
- componentsToInstall.append(component);
- }
- }
- }
+ QList<Component*> selectedComponentsToInstall = componentsMarkedForInstallation();
d->storeCheckState();
d->m_componentsToInstallCalculated =
- d->installerCalculator()->appendComponentsToInstall(componentsToInstall);
+ d->installerCalculator()->appendComponentsToInstall(selectedComponentsToInstall);
}
emit finishedCalculateComponentsToInstall();
return d->m_componentsToInstallCalculated;
@@ -2441,11 +2478,13 @@ QString PackageManagerCore::findDisplayVersion(const QString &componentName,
ComponentModel *PackageManagerCore::componentModel(PackageManagerCore *core, const QString &objectName) const
{
- ComponentModel *model = new ComponentModel(5, core);
+ ComponentModel *model = new ComponentModel(ComponentModelHelper::LastColumn, core);
model->setObjectName(objectName);
model->setHeaderData(ComponentModelHelper::NameColumn, Qt::Horizontal,
ComponentModel::tr("Component Name"));
+ model->setHeaderData(ComponentModelHelper::ActionColumn, Qt::Horizontal,
+ ComponentModel::tr("Action"));
model->setHeaderData(ComponentModelHelper::InstalledVersionColumn, Qt::Horizontal,
ComponentModel::tr("Installed Version"));
model->setHeaderData(ComponentModelHelper::NewVersionColumn, Qt::Horizontal,
diff --git a/src/libs/installer/packagemanagercore.h b/src/libs/installer/packagemanagercore.h
index df7ac5557..fb16cc29c 100644
--- a/src/libs/installer/packagemanagercore.h
+++ b/src/libs/installer/packagemanagercore.h
@@ -329,6 +329,7 @@ private:
QString findDisplayVersion(const QString &componentName, const QHash<QString, QInstaller::Component*> &components,
const QString& versionKey, QHash<QString, bool> &visited);
ComponentModel *componentModel(PackageManagerCore *core, const QString &objectName) const;
+ QList<Component *> componentsMarkedForInstallation() const;
private:
PackageManagerCorePrivate *const d;
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp
index ba28c6871..7735f280c 100644
--- a/src/libs/installer/packagemanagercore_p.cpp
+++ b/src/libs/installer/packagemanagercore_p.cpp
@@ -78,6 +78,9 @@
#include <qt_windows.h>
#endif
+#define QUOTE_(x) #x
+#define QUOTE(x) QUOTE_(x)
+
namespace QInstaller {
class OperationTracer
@@ -433,17 +436,20 @@ ScriptEngine *PackageManagerCorePrivate::controlScriptEngine() const
void PackageManagerCorePrivate::clearAllComponentLists()
{
- qDeleteAll(m_rootComponents);
+ QList<QInstaller::Component*> toDelete;
+
+ toDelete << m_rootComponents;
m_rootComponents.clear();
m_rootDependencyReplacements.clear();
const QList<QPair<Component*, Component*> > list = m_componentsToReplaceAllMode.values();
for (int i = 0; i < list.count(); ++i)
- delete list.at(i).second;
+ toDelete << list.at(i).second;
m_componentsToReplaceAllMode.clear();
m_componentsToInstallCalculated = false;
+ qDeleteAll(toDelete);
cleanUpComponentEnvironment();
}
@@ -460,8 +466,6 @@ void PackageManagerCorePrivate::clearUpdaterComponentLists()
usedComponents.insert(list.at(i).second);
}
- qDeleteAll(usedComponents);
-
m_updaterComponents.clear();
m_updaterComponentsDeps.clear();
@@ -470,6 +474,7 @@ void PackageManagerCorePrivate::clearUpdaterComponentLists()
m_componentsToReplaceUpdaterMode.clear();
m_componentsToInstallCalculated = false;
+ qDeleteAll(usedComponents);
cleanUpComponentEnvironment();
}
@@ -563,8 +568,7 @@ void PackageManagerCorePrivate::initialize(const QHash<QString, QString> &params
}
if (isInstaller() || packagesInfo.applicationVersion().isEmpty()) {
- // TODO: this seems to be wrong, we should ask for ProductVersion defaulting to applicationVersion...
- packagesInfo.setApplicationVersion(m_data.settings().applicationVersion());
+ packagesInfo.setApplicationVersion(QLatin1String(QUOTE(IFW_REPOSITORY_FORMAT_VERSION)));
}
if (isInstaller()) {
@@ -1475,11 +1479,10 @@ bool PackageManagerCorePrivate::runInstaller()
info.setFileName(componentsXmlPath());
// Clear the packages as we might install into an already existing installation folder.
info.clearPackageInfoList();
- // also update the application name and version, might be set from a script as well
+ // also update the application name, might be set from a script as well
info.setApplicationName(m_data.value(QLatin1String("ProductName"),
m_data.settings().applicationName()).toString());
- info.setApplicationVersion(m_data.value(QLatin1String("ProductVersion"),
- m_data.settings().applicationVersion()).toString());
+ info.setApplicationVersion(QLatin1String(QUOTE(IFW_REPOSITORY_FORMAT_VERSION)));
const int progressOperationCount = countProgressOperations(componentsToInstall)
// add one more operation as we support progress
@@ -1638,7 +1641,9 @@ bool PackageManagerCorePrivate::runPackageUpdater()
} else if (isPackageManager()) {
// We found the component, the component is still checked and the dependency solver did not
// add the component as install dependency, keep it.
- if (component && component->isSelected() && !componentsToInstall.contains(component)) {
+ if (component
+ && component->installAction() == ComponentModelHelper::KeepInstalled
+ && !componentsToInstall.contains(component)) {
nonRevertedOperations.append(operation);
continue;
}
@@ -2088,7 +2093,7 @@ LocalPackagesHash PackageManagerCorePrivate::localInstalledPackages()
if (packagesInfo.applicationName().isEmpty())
packagesInfo.setApplicationName(m_data.settings().applicationName());
if (packagesInfo.applicationVersion().isEmpty())
- packagesInfo.setApplicationVersion(m_data.settings().applicationVersion());
+ packagesInfo.setApplicationVersion(QLatin1String(QUOTE(IFW_REPOSITORY_FORMAT_VERSION)));
}
if (packagesInfo.error() != KDUpdater::PackagesInfo::NoError)
diff --git a/src/libs/installer/packagemanagercoredata.cpp b/src/libs/installer/packagemanagercoredata.cpp
index d8b6d3a28..3acc24a76 100644
--- a/src/libs/installer/packagemanagercoredata.cpp
+++ b/src/libs/installer/packagemanagercoredata.cpp
@@ -108,7 +108,7 @@ PackageManagerCoreData::PackageManagerCoreData(const QHash<QString, QString> &va
// fill the variables defined in the settings
m_variables.insert(QLatin1String("ProductName"), m_settings.applicationName());
- m_variables.insert(QLatin1String("ProductVersion"), m_settings.applicationVersion());
+ m_variables.insert(QLatin1String("ProductVersion"), m_settings.version());
m_variables.insert(scTitle, m_settings.title());
m_variables.insert(scPublisher, m_settings.publisher());
m_variables.insert(QLatin1String("Url"), m_settings.url());
diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp
index 5b9e7493a..46ba310ba 100644
--- a/src/libs/installer/packagemanagergui.cpp
+++ b/src/libs/installer/packagemanagergui.cpp
@@ -177,7 +177,8 @@ protected:
void addPageAndProperties(ScriptEngine *engine)
{
- engine->addQObjectChildren(this);
+ engine->addToGlobalObject(this);
+ engine->addToGlobalObject(widget());
static const QStringList properties = QStringList() << QStringLiteral("final")
<< QStringLiteral("commit") << QStringLiteral("complete");
@@ -203,7 +204,8 @@ class PackageManagerGui::Private
{
public:
Private()
- : m_modified(false)
+ : m_currentId(-1)
+ , m_modified(false)
, m_autoSwitchPage(true)
, m_showSettingsButton(false)
{
@@ -225,7 +227,7 @@ public:
QLatin1String("unknown button"));
}
-
+ int m_currentId;
bool m_modified;
bool m_autoSwitchPage;
bool m_showSettingsButton;
@@ -281,7 +283,7 @@ PackageManagerGui::PackageManagerGui(PackageManagerCore *core, QWidget *parent)
connect(m_core, SIGNAL(uninstallationFinished()), this, SLOT(showFinishedPage()),
Qt::QueuedConnection);
- connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(executeControlScript(int)));
+ connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(currentPageChanged(int)));
connect(this, SIGNAL(currentIdChanged(int)), m_core, SIGNAL(currentPageChanged(int)));
connect(button(QWizard::FinishButton), SIGNAL(clicked()), this, SIGNAL(finishButtonClicked()));
connect(button(QWizard::FinishButton), SIGNAL(clicked()), m_core, SIGNAL(finishButtonClicked()));
@@ -511,8 +513,8 @@ void PackageManagerGui::wizardPageRemovalRequested(QWidget *widget)
continue;
removePage(pageId);
d->m_defaultPages.remove(pageId);
- packageManagerCore()->controlScriptEngine()->removeQObjectChildren(dynamicPage);
- packageManagerCore()->componentScriptEngine()->removeQObjectChildren(dynamicPage);
+ packageManagerCore()->controlScriptEngine()->removeFromGlobalObject(dynamicPage);
+ packageManagerCore()->componentScriptEngine()->removeFromGlobalObject(dynamicPage);
}
}
@@ -522,8 +524,8 @@ void PackageManagerGui::wizardWidgetInsertionRequested(QWidget *widget,
Q_ASSERT(widget);
if (QWizardPage *const p = QWizard::page(page)) {
p->layout()->addWidget(widget);
- packageManagerCore()->controlScriptEngine()->addQObjectChildren(p);
- packageManagerCore()->componentScriptEngine()->addQObjectChildren(p);
+ packageManagerCore()->controlScriptEngine()->addToGlobalObject(p);
+ packageManagerCore()->componentScriptEngine()->addToGlobalObject(p);
}
}
@@ -531,8 +533,8 @@ void PackageManagerGui::wizardWidgetRemovalRequested(QWidget *widget)
{
Q_ASSERT(widget);
widget->setParent(0);
- packageManagerCore()->controlScriptEngine()->removeQObjectChildren(widget);
- packageManagerCore()->componentScriptEngine()->removeQObjectChildren(widget);
+ packageManagerCore()->controlScriptEngine()->removeFromGlobalObject(widget);
+ packageManagerCore()->componentScriptEngine()->removeFromGlobalObject(widget);
}
void PackageManagerGui::wizardPageVisibilityChangeRequested(bool visible, int p)
@@ -698,26 +700,6 @@ void PackageManagerGui::setSettingsButtonEnabled(bool enabled)
btn->setEnabled(enabled);
}
-/**
- Returns the first descendant of \a parent that has \a objectName as name.
-
- This method is meant to be invoked from script.
- */
-QObject *PackageManagerGui::findChild(QObject *parent, const QString &objectName)
-{
- return parent->findChild<QObject*>(objectName);
-}
-
-/**
- Returns all descendants of \a parent that have \a objectName as name.
-
- This method is meant to be invoked from script.
- */
-QList<QObject *> PackageManagerGui::findChildren(QObject *parent, const QString &objectName)
-{
- return parent->findChildren<QObject*>(objectName);
-}
-
void PackageManagerGui::customButtonClicked(int which)
{
if (QWizard::WizardButton(which) == QWizard::CustomButton1 && d->m_showSettingsButton)
@@ -735,12 +717,29 @@ void PackageManagerGui::dependsOnLocalInstallerBinary()
}
}
+void PackageManagerGui::currentPageChanged(int newId)
+{
+ executeControlScript(newId);
+
+ PackageManagerPage *oldPage = qobject_cast<PackageManagerPage *>(page(d->m_currentId));
+ if (oldPage) {
+ oldPage->leaving();
+ emit oldPage->left();
+ }
+
+ d->m_currentId = newId;
+
+ PackageManagerPage *newPage = qobject_cast<PackageManagerPage *>(page(d->m_currentId));
+ if (newPage) {
+ newPage->entering();
+ emit newPage->entered();
+ }
+}
// -- PackageManagerPage
PackageManagerPage::PackageManagerPage(PackageManagerCore *core)
- : m_fresh(true)
- , m_complete(true)
+ : m_complete(true)
, m_needsSettingsButton(false)
, m_core(core)
, validatorComponent(0)
@@ -840,31 +839,6 @@ QWidget *PackageManagerPage::findWidget(const QString &objectName) const
return findChild<QWidget*> (objectName);
}
-/*!
- \internal
-
- Used to support some kind of initializePage() in the case the wizard has been set
- to QWizard::IndependentPages. If that option has been set, initializePage() would be only
- called once. So we provide entering() and leaving() based on this reimplemented function.
-*/
-void PackageManagerPage::setVisible(bool visible)
-{
- QWizardPage::setVisible(visible);
- if (m_fresh && !visible) {
- // this is only hit once when the page gets added to the wizard
- m_fresh = false;
- return;
- }
-
- if (visible) {
- entering();
- emit entered();
- } else {
- leaving();
- emit left();
- }
-}
-
int PackageManagerPage::nextId() const
{
const int next = QWizardPage::nextId(); // the page to show next
@@ -1488,12 +1462,30 @@ public:
m_treeView->setModel(m_currentModel);
m_treeView->setExpanded(m_currentModel->index(0, 0), true);
+ const bool installActionColumnVisible = false;
+ if (!installActionColumnVisible)
+ m_treeView->hideColumn(ComponentModelHelper::ActionColumn);
+
if (m_core->isInstaller()) {
m_treeView->setHeaderHidden(true);
- for (int i = 1; i < m_currentModel->columnCount(); ++i)
+ for (int i = ComponentModelHelper::InstalledVersionColumn; i < m_currentModel->columnCount(); ++i)
m_treeView->hideColumn(i);
+
+ if (installActionColumnVisible) {
+ m_treeView->header()->setStretchLastSection(false);
+ m_treeView->header()->setSectionResizeMode(
+ ComponentModelHelper::NameColumn, QHeaderView::Stretch);
+ m_treeView->header()->setSectionResizeMode(
+ ComponentModelHelper::ActionColumn, QHeaderView::ResizeToContents);
+ }
} else {
m_treeView->header()->setStretchLastSection(true);
+ if (installActionColumnVisible) {
+ m_treeView->header()->setSectionResizeMode(
+ ComponentModelHelper::NameColumn, QHeaderView::Interactive);
+ m_treeView->header()->setSectionResizeMode(
+ ComponentModelHelper::ActionColumn, QHeaderView::Interactive);
+ }
for (int i = 0; i < m_currentModel->columnCount(); ++i)
m_treeView->resizeColumnToContents(i);
}
@@ -1797,10 +1789,8 @@ bool TargetDirectoryPage::validatePage()
void TargetDirectoryPage::entering()
{
- if (QPushButton *const b = qobject_cast<QPushButton *>(gui()->button(QWizard::NextButton))) {
+ if (QPushButton *const b = qobject_cast<QPushButton *>(gui()->button(QWizard::NextButton)))
b->setDefault(true);
- b->setFocus();
- }
}
void TargetDirectoryPage::leaving()
@@ -2103,7 +2093,7 @@ void ReadyForInstallationPage::entering()
quint64 repositorySize = 0;
const bool createLocalRepository = packageManagerCore()->createLocalRepositoryFromBinary();
- if (createLocalRepository) {
+ if (createLocalRepository && packageManagerCore()->isInstaller()) {
repositorySize = QFile(QCoreApplication::applicationFilePath()).size();
// if we create a local repository, take that space into account as well
required += repositorySize;
@@ -2394,10 +2384,8 @@ void FinishedPage::entering()
} else {
if (packageManagerCore()->isInstaller()) {
m_commitButton = wizard()->button(QWizard::FinishButton);
- if (QPushButton *const b = qobject_cast<QPushButton *>(m_commitButton)) {
+ if (QPushButton *const b = qobject_cast<QPushButton *>(m_commitButton))
b->setDefault(true);
- b->setFocus();
- }
}
gui()->setOption(QWizard::NoCancelButton, true);
diff --git a/src/libs/installer/packagemanagergui.h b/src/libs/installer/packagemanagergui.h
index f99d65593..11848b806 100644
--- a/src/libs/installer/packagemanagergui.h
+++ b/src/libs/installer/packagemanagergui.h
@@ -77,21 +77,18 @@ public:
void loadControlScript(const QString& scriptPath);
void callControlScriptMethod(const QString& methodName);
- Q_INVOKABLE QWidget *pageById(int id) const;
- Q_INVOKABLE QWidget *pageByObjectName(const QString &name) const;
+ QWidget *pageById(int id) const;
+ QWidget *pageByObjectName(const QString &name) const;
- Q_INVOKABLE QWidget* currentPageWidget() const;
- Q_INVOKABLE QWidget* pageWidgetByObjectName(const QString &name) const;
+ QWidget *currentPageWidget() const;
+ QWidget *pageWidgetByObjectName(const QString &name) const;
- Q_INVOKABLE QString defaultButtonText(int wizardButton) const;
- Q_INVOKABLE void clickButton(int wizardButton, int delayInMs = 0);
- Q_INVOKABLE bool isButtonEnabled(int wizardButton);
+ QString defaultButtonText(int wizardButton) const;
+ void clickButton(int wizardButton, int delayInMs = 0);
+ bool isButtonEnabled(int wizardButton);
- Q_INVOKABLE void showSettingsButton(bool show);
- Q_INVOKABLE void setSettingsButtonEnabled(bool enable);
-
- Q_INVOKABLE QObject *findChild(QObject *parent, const QString &objectName);
- Q_INVOKABLE QList<QObject*> findChildren(QObject *parent, const QString &objectName);
+ void showSettingsButton(bool show);
+ void setSettingsButtonEnabled(bool enable);
void updateButtonLayout();
static QWizard::WizardStyle getStyle(const QString &name);
@@ -116,7 +113,6 @@ protected Q_SLOTS:
void wizardWidgetInsertionRequested(QWidget *widget, QInstaller::PackageManagerCore::WizardPage page);
void wizardWidgetRemovalRequested(QWidget *widget);
void wizardPageVisibilityChangeRequested(bool visible, int page);
- void executeControlScript(int pageId);
void setValidatorForCustomPageRequested(QInstaller::Component *component, const QString &name,
const QString &callbackName);
@@ -126,11 +122,13 @@ private Q_SLOTS:
void onLanguageChanged();
void customButtonClicked(int which);
void dependsOnLocalInstallerBinary();
+ void currentPageChanged(int newId);
protected:
bool event(QEvent *event);
void showEvent(QShowEvent *event);
PackageManagerCore *packageManagerCore() const { return m_core; }
+ void executeControlScript(int pageId);
private:
class Private;
@@ -182,22 +180,23 @@ protected:
virtual void insertWidget(QWidget *widget, const QString &siblingName, int offset = 1);
virtual QWidget *findWidget(const QString &objectName) const;
- virtual void setVisible(bool visible); // reimp
virtual int nextId() const; // reimp
+ // Used to support some kind of initializePage() in the case the wizard has been set
+ // to QWizard::IndependentPages. If that option has been set, initializePage() would be only
+ // called once. So we provide entering() and leaving() based on currentPageChanged() signal.
virtual void entering() {} // called on entering
virtual void leaving() {} // called on leaving
- bool isConstructing() const { return m_fresh; }
-
private:
- bool m_fresh;
bool m_complete;
QString m_titleColor;
bool m_needsSettingsButton;
PackageManagerCore *m_core;
QInstaller::Component *validatorComponent;
+
+ friend class PackageManagerGui;
};
diff --git a/src/libs/installer/remoteobject.h b/src/libs/installer/remoteobject.h
index 2b6a3ab71..f47cd1367 100644
--- a/src/libs/installer/remoteobject.h
+++ b/src/libs/installer/remoteobject.h
@@ -97,7 +97,7 @@ public:
while (m_socket->bytesAvailable() < size) {
if (!m_socket->waitForReadyRead(30000)) {
throw Error(tr("Could not read all data after sending command: %1. "
- "Bytes expected: %2, Bytes received: %3. Error: %3").arg(name).arg(size)
+ "Bytes expected: %2, Bytes received: %3. Error: %4").arg(name).arg(size)
.arg(m_socket->bytesAvailable()).arg(m_socket->errorString()));
}
}
diff --git a/src/libs/installer/remoteserverconnection.cpp b/src/libs/installer/remoteserverconnection.cpp
index 0a142c4be..591ca621e 100644
--- a/src/libs/installer/remoteserverconnection.cpp
+++ b/src/libs/installer/remoteserverconnection.cpp
@@ -187,7 +187,7 @@ void RemoteServerConnection::handleQProcess(const QString &command, QDataStream
while (stream.device()->bytesAvailable() < size) {
if (!stream.device()->waitForReadyRead(30000)) {
throw Error(tr("Could not read all data after sending command: %1. "
- "Bytes expected: %2, Bytes received: %3. Error: %3").arg(command).arg(size)
+ "Bytes expected: %2, Bytes received: %3. Error: %4").arg(command).arg(size)
.arg(stream.device()->bytesAvailable()).arg(stream.device()->errorString()));
}
}
@@ -297,7 +297,7 @@ void RemoteServerConnection::handleQSettings(const QString &command, QDataStream
while (stream.device()->bytesAvailable() < size) {
if (!stream.device()->waitForReadyRead(30000)) {
throw Error(tr("Could not read all data after sending command: %1. "
- "Bytes expected: %2, Bytes received: %3. Error: %3").arg(command).arg(size)
+ "Bytes expected: %2, Bytes received: %3. Error: %4").arg(command).arg(size)
.arg(stream.device()->bytesAvailable()).arg(stream.device()->errorString()));
}
}
@@ -388,7 +388,7 @@ void RemoteServerConnection::handleQFSFileEngine(const QString &command, QDataSt
while (stream.device()->bytesAvailable() < size) {
if (!stream.device()->waitForReadyRead(30000)) {
throw Error(tr("Could not read all data after sending command: %1. "
- "Bytes expected: %2, Bytes received: %3. Error: %3").arg(command).arg(size)
+ "Bytes expected: %2, Bytes received: %3. Error: %4").arg(command).arg(size)
.arg(stream.device()->bytesAvailable()).arg(stream.device()->errorString()));
}
}
diff --git a/src/libs/installer/scriptengine.cpp b/src/libs/installer/scriptengine.cpp
index d15357e0d..fb67a1788 100644
--- a/src/libs/installer/scriptengine.cpp
+++ b/src/libs/installer/scriptengine.cpp
@@ -54,7 +54,7 @@ namespace QInstaller {
/*!
\qmltype console
\inqmlmodule scripting
- \brief The console type provides methods for logging and debugging.
+ \brief Provides methods for logging and debugging.
*/
/*!
@@ -82,22 +82,37 @@ namespace QInstaller {
/*!
\qmltype buttons
\inqmlmodule scripting
+
+ \brief Provides buttons that can be used on installer pages.
+
+ You can use a set of standard buttons and some custom buttons on the
+ installer pages. For more information about the buttons used by default on
+ each installer page, see \l {Controller Scripting}.
*/
/*!
\qmlproperty enumeration buttons::QWizard
- \list
- \li buttons.BackButton
- \li buttons.NextButton
- \li buttons.CommitButton
- \li buttons.FinishButton
- \li buttons.CancelButton
- \li buttons.HelpButton
- \li buttons.CustomButton1
- \li buttons.CustomButton2
- \li buttons.CustomButton3
- \endlist
+ Specifies the buttons on an installer page.
+
+ \value buttons.BackButton
+ The \uicontrol Back button (\uicontrol {Go Back} on OS X.)
+ \value buttons.NextButton
+ The \uicontrol Next button (\uicontrol Continue on OS X.)
+ \value buttons.CommitButton
+ The \uicontrol Commit button.
+ \value buttons.FinishButton
+ The \uicontrol Finish button (\uicontrol Done on OS X.)
+ \value buttons.CancelButton
+ The \uicontrol Cancel button.
+ \value buttons.HelpButton
+ The \uicontrol Help button.
+ \value buttons.CustomButton1
+ A custom button.
+ \value buttons.CustomButton2
+ A custom button.
+ \value buttons.CustomButton3
+ A custom button.
*/
/*!
@@ -145,7 +160,7 @@ namespace QInstaller {
\qmltype QInstaller
\inqmlmodule scripting
- \brief The QInstaller type provides access to the installer status and pages from Qt Script.
+ \brief Provides access to the installer status and pages from Qt Script.
*/
/*!
@@ -189,40 +204,139 @@ namespace QInstaller {
*/
/*!
+ \qmlsignal gui::interrupted()
+*/
+
+/*!
+ \qmlsignal gui::languageChanged()
+*/
+
+/*!
+ \qmlsignal gui::finishButtonClicked()
+*/
+
+/*!
+ \qmlsignal gui::gotRestarted()
+*/
+
+/*!
+ \qmlsignal gui::settingsButtonClicked();
+*/
+
+GuiProxy::GuiProxy(ScriptEngine *engine, QObject *parent) :
+ QObject(parent),
+ m_engine(engine),
+ m_gui(0)
+{
+}
+
+void GuiProxy::setPackageManagerGui(PackageManagerGui *gui)
+{
+ if (m_gui) {
+ disconnect(m_gui, &PackageManagerGui::interrupted, this, &GuiProxy::interrupted);
+ disconnect(m_gui, &PackageManagerGui::languageChanged, this, &GuiProxy::languageChanged);
+ disconnect(m_gui, &PackageManagerGui::finishButtonClicked, this, &GuiProxy::finishButtonClicked);
+ disconnect(m_gui, &PackageManagerGui::gotRestarted, this, &GuiProxy::gotRestarted);
+ disconnect(m_gui, &PackageManagerGui::settingsButtonClicked, this, &GuiProxy::settingsButtonClicked);
+ }
+
+ m_gui = gui;
+
+ if (m_gui) {
+ connect(m_gui, &PackageManagerGui::interrupted, this, &GuiProxy::interrupted);
+ connect(m_gui, &PackageManagerGui::languageChanged, this, &GuiProxy::languageChanged);
+ connect(m_gui, &PackageManagerGui::finishButtonClicked, this, &GuiProxy::finishButtonClicked);
+ connect(m_gui, &PackageManagerGui::gotRestarted, this, &GuiProxy::gotRestarted);
+ connect(m_gui, &PackageManagerGui::settingsButtonClicked, this, &GuiProxy::settingsButtonClicked);
+ }
+}
+
+/*!
\qmlmethod object gui::pageById(int id)
*/
+QJSValue GuiProxy::pageById(int id) const
+{
+ if (!m_gui)
+ return QJSValue();
+ return m_engine->newQObject(m_gui->pageById(id));
+}
/*!
\qmlmethod object gui::pageByObjectName(string name)
*/
+QJSValue GuiProxy::pageByObjectName(const QString &name) const
+{
+ if (!m_gui)
+ return QJSValue();
+ return m_engine->newQObject(m_gui->pageByObjectName(name));
+}
/*!
\qmlmethod object gui::currentPageWidget()
*/
+QJSValue GuiProxy::currentPageWidget() const
+{
+ if (!m_gui)
+ return QJSValue();
+ return m_engine->newQObject(m_gui->currentPageWidget());
+}
/*!
\qmlmethod object gui::pageWidgetByObjectName(string name)
*/
+QJSValue GuiProxy::pageWidgetByObjectName(const QString &name) const
+{
+ if (!m_gui)
+ return QJSValue();
+ return m_engine->newQObject(m_gui->pageWidgetByObjectName(name));
+}
/*!
\qmlmethod string gui::defaultButtonText(int wizardButton)
*/
+QString GuiProxy::defaultButtonText(int wizardButton) const
+{
+ if (!m_gui)
+ return QString();
+ return m_gui->defaultButtonText(wizardButton);
+}
/*!
\qmlmethod void gui::clickButton(int wizardButton, int delayInMs)
*/
+void GuiProxy::clickButton(int wizardButton, int delayInMs)
+{
+ if (m_gui)
+ m_gui->clickButton(wizardButton, delayInMs);
+}
/*!
\qmlmethod boolean gui::isButtonEnabled(int wizardButton)
*/
+bool GuiProxy::isButtonEnabled(int wizardButton)
+{
+ if (!m_gui)
+ return false;
+ return m_gui->isButtonEnabled(wizardButton);
+}
/*!
\qmlmethod void gui::showSettingsButton(boolean show)
*/
+void GuiProxy::showSettingsButton(bool show)
+{
+ if (m_gui)
+ m_gui->showSettingsButton(show);
+}
/*!
\qmlmethod void gui::setSettingsButtonEnabled(boolean enable)
*/
+void GuiProxy::setSettingsButtonEnabled(bool enable)
+{
+ if (m_gui)
+ m_gui->setSettingsButtonEnabled(enable);
+}
/*!
\qmlmethod object gui::findChild(object parent, string objectName)
@@ -231,6 +345,10 @@ namespace QInstaller {
\sa QObject::findChild
*/
+QJSValue GuiProxy::findChild(QObject *parent, const QString &objectName)
+{
+ return m_engine->newQObject(parent->findChild<QObject*>(objectName));
+}
/*!
\qmlmethod object[] gui::findChildren(object parent, string objectName)
@@ -239,32 +357,66 @@ namespace QInstaller {
\sa QObject::findChildren
*/
+QList<QJSValue> GuiProxy::findChildren(QObject *parent, const QString &objectName)
+{
+ QList<QJSValue> children;
+ foreach (QObject *child, parent->findChildren<QObject*>(objectName))
+ children.append(m_engine->newQObject(child));
+ return children;
+}
/*!
- \qmlsignal gui::interrupted()
+ \qmlmethod void gui::cancelButtonClicked()
*/
+void GuiProxy::cancelButtonClicked()
+{
+ if (m_gui)
+ m_gui->cancelButtonClicked();
+}
/*!
- \qmlsignal gui::languageChanged()
+ \qmlmethod void gui::reject()
*/
+void GuiProxy::reject()
+{
+ if (m_gui)
+ m_gui->reject();
+}
/*!
- \qmlsignal gui::finishButtonClicked()
+ \qmlmethod void gui::rejectWithoutPrompt()
*/
+void GuiProxy::rejectWithoutPrompt()
+{
+ if (m_gui)
+ m_gui->rejectWithoutPrompt();
+}
/*!
- \qmlsignal gui::gotRestarted()
+ \qmlmethod void gui::showFinishedPage()
*/
+void GuiProxy::showFinishedPage()
+{
+ if (m_gui)
+ m_gui->showFinishedPage();
+}
/*!
- \qmlsignal gui::settingsButtonClicked();
+ \qmlmethod void gui::setModified(boolean value)
*/
+void GuiProxy::setModified(bool value)
+{
+ if (m_gui)
+ m_gui->setModified(value);
+}
+
/*!
Constructs a script engine with \a core as parent.
*/
-ScriptEngine::ScriptEngine(PackageManagerCore *core)
- : QObject(core)
+ScriptEngine::ScriptEngine(PackageManagerCore *core) :
+ QObject(core),
+ m_guiProxy(new GuiProxy(this, this))
{
QJSValue global = m_engine.globalObject();
global.setProperty(QLatin1String("console"), m_engine.newQObject(new ConsoleProxy));
@@ -304,24 +456,45 @@ ScriptEngine::ScriptEngine(PackageManagerCore *core)
} else {
global.setProperty(QLatin1String("installer"), m_engine.newQObject(new QObject));
}
+ global.setProperty(QLatin1String("gui"), m_engine.newQObject(m_guiProxy));
global.property(QLatin1String("installer")).setProperty(QLatin1String("componentByName"),
proxy.property(QLatin1String("componentByName")));
}
+/*!
+ Creates a JavaScript object that wraps the given QObject \a object.
+
+ Signals and slots, properties and children of \a object are
+ available as properties of the created QJSValue. In addition some helper methods and properties
+ are added:
+
+ findChild(), findChildren() recursively search for child objects with the given object name.
+
+ Direct child objects are made accessible as properties under their respective object names.
+ */
QJSValue ScriptEngine::newQObject(QObject *object)
{
- QJSValue obj = m_engine.newQObject(object);
+ QJSValue jsValue = m_engine.newQObject(object);
+ QQmlEngine::setObjectOwnership(object, QQmlEngine::CppOwnership);
// add findChild(), findChildren() methods known from QtScript
QJSValue findChild = m_engine.evaluate(
QLatin1String("(function() { return gui.findChild(this, arguments[0]); })"));
QJSValue findChildren = m_engine.evaluate(
QLatin1String("(function() { return gui.findChildren(this, arguments[0]); })"));
- obj.setProperty(QLatin1String("findChild"), findChild);
- obj.setProperty(QLatin1String("findChildren"), findChildren);
+ jsValue.setProperty(QLatin1String("findChild"), findChild);
+ jsValue.setProperty(QLatin1String("findChildren"), findChildren);
+
+ // add all named children as properties
+ foreach (QObject *const child, object->children()) {
+ if (child->objectName().isEmpty())
+ continue;
+ jsValue.setProperty(child->objectName(), m_engine.newQObject(child));
+ newQObject(child);
+ }
- return obj;
+ return jsValue;
}
QJSValue ScriptEngine::evaluate(const QString &program, const QString &fileName, int lineNumber)
@@ -329,37 +502,24 @@ QJSValue ScriptEngine::evaluate(const QString &program, const QString &fileName,
return m_engine.evaluate(program, fileName, lineNumber);
}
-void ScriptEngine::addQObjectChildren(QObject *root)
+/*!
+ Registers QObject \a object in the engine, and makes it globally accessible under its object name.
+ */
+void ScriptEngine::addToGlobalObject(QObject *object)
{
- if ((!root) || root->objectName().isEmpty())
+ if (!object || object->objectName().isEmpty())
return;
- const QObjectList children = root->children();
- QJSValue jsParent = newQObject(root);
- QQmlEngine::setObjectOwnership(root, QQmlEngine::CppOwnership);
- m_engine.globalObject().setProperty(root->objectName(), jsParent);
-
- foreach (QObject *const child, children) {
- if (child->objectName().isEmpty())
- continue;
- QQmlEngine::setObjectOwnership(child, QQmlEngine::CppOwnership);
- jsParent.setProperty(child->objectName(), m_engine.newQObject(child));
- addQObjectChildren(child);
- }
+ QJSValue value = newQObject(object);
+ globalObject().setProperty(object->objectName(), value);
}
-void ScriptEngine::removeQObjectChildren(QObject *root)
+/*!
+ Removes the \a object name from the global object.
+ */
+void ScriptEngine::removeFromGlobalObject(QObject *object)
{
- if ((!root) || root->objectName().isEmpty())
- return;
-
- const QObjectList children = root->children();
- m_engine.globalObject().deleteProperty(root->objectName());
- foreach (QObject *const child, children) {
- if (child->objectName().isEmpty())
- continue;
- m_engine.globalObject().deleteProperty(child->objectName());
- }
+ globalObject().deleteProperty(object->objectName());
}
/*!
@@ -445,8 +605,7 @@ QJSValue ScriptEngine::callScriptMethod(const QJSValue &scriptContext, const QSt
void ScriptEngine::setGuiQObject(QObject *guiQObject)
{
- QQmlEngine::setObjectOwnership(guiQObject, QQmlEngine::CppOwnership);
- m_engine.globalObject().setProperty(QLatin1String("gui"), m_engine.newQObject(guiQObject));
+ m_guiProxy->setPackageManagerGui(qobject_cast<PackageManagerGui*>(guiQObject));
}
diff --git a/src/libs/installer/scriptengine.h b/src/libs/installer/scriptengine.h
index c4352d4ca..5b8a3a3ec 100644
--- a/src/libs/installer/scriptengine.h
+++ b/src/libs/installer/scriptengine.h
@@ -43,6 +43,7 @@
namespace QInstaller {
class PackageManagerCore;
+class GuiProxy;
class INSTALLER_EXPORT ScriptEngine : public QObject
{
@@ -57,8 +58,8 @@ public:
QJSValue evaluate(const QString &program, const QString &fileName = QString(),
int lineNumber = 1);
- void addQObjectChildren(QObject *root);
- void removeQObjectChildren(QObject *root);
+ void addToGlobalObject(QObject *object);
+ void removeFromGlobalObject(QObject *object);
QJSValue loadInContext(const QString &context, const QString &fileName,
const QString &scriptInjection = QString());
@@ -77,6 +78,7 @@ private:
private:
QJSEngine m_engine;
QHash<QString, QStringList> m_callstack;
+ GuiProxy *m_guiProxy;
};
}
diff --git a/src/libs/installer/scriptengine_p.h b/src/libs/installer/scriptengine_p.h
index d207130d7..696073703 100644
--- a/src/libs/installer/scriptengine_p.h
+++ b/src/libs/installer/scriptengine_p.h
@@ -37,6 +37,7 @@
#include "component.h"
#include "packagemanagercore.h"
+#include "packagemanagergui.h"
#include <QDebug>
#include <QDesktopServices>
@@ -137,6 +138,50 @@ public slots:
};
#endif
+class GuiProxy : public QObject
+{
+ Q_OBJECT
+ Q_DISABLE_COPY(GuiProxy)
+
+public:
+ GuiProxy(ScriptEngine *engine, QObject *parent);
+ void setPackageManagerGui(PackageManagerGui *gui);
+
+ Q_INVOKABLE QJSValue pageById(int id) const;
+ Q_INVOKABLE QJSValue pageByObjectName(const QString &name) const;
+
+ Q_INVOKABLE QJSValue currentPageWidget() const;
+ Q_INVOKABLE QJSValue pageWidgetByObjectName(const QString &name) const;
+
+ Q_INVOKABLE QString defaultButtonText(int wizardButton) const;
+ Q_INVOKABLE void clickButton(int wizardButton, int delayInMs = 0);
+ Q_INVOKABLE bool isButtonEnabled(int wizardButton);
+
+ Q_INVOKABLE void showSettingsButton(bool show);
+ Q_INVOKABLE void setSettingsButtonEnabled(bool enable);
+
+ Q_INVOKABLE QJSValue findChild(QObject *parent, const QString &objectName);
+ Q_INVOKABLE QList<QJSValue> findChildren(QObject *parent, const QString &objectName);
+
+signals:
+ void interrupted();
+ void languageChanged();
+ void finishButtonClicked();
+ void gotRestarted();
+ void settingsButtonClicked();
+
+public slots:
+ void cancelButtonClicked();
+ void reject();
+ void rejectWithoutPrompt();
+ void showFinishedPage();
+ void setModified(bool value);
+
+private:
+ ScriptEngine *m_engine;
+ PackageManagerGui *m_gui;
+};
+
} // namespace QInstaller
Q_DECLARE_METATYPE(QInstaller::ConsoleProxy*)
diff --git a/src/libs/installer/settings.cpp b/src/libs/installer/settings.cpp
index a225d4262..b591eed90 100644
--- a/src/libs/installer/settings.cpp
+++ b/src/libs/installer/settings.cpp
@@ -61,6 +61,7 @@ static const QLatin1String scMaintenanceToolIniFile("MaintenanceToolIniFile");
static const QLatin1String scRemoteRepositories("RemoteRepositories");
static const QLatin1String scDependsOnLocalInstallerBinary("DependsOnLocalInstallerBinary");
static const QLatin1String scTranslations("Translations");
+static const QLatin1String scCreateLocalRepository("CreateLocalRepository");
static const QLatin1String scFtpProxy("FtpProxy");
static const QLatin1String scHttpProxy("HttpProxy");
@@ -255,7 +256,8 @@ Settings Settings::fromFileAndPrefix(const QString &path, const QString &prefix,
<< scAllowSpaceInPath << scAllowNonAsciiCharacters << scWizardStyle << scTitleColor
<< scWizardDefaultWidth << scWizardDefaultHeight
<< scRepositorySettingsPageVisible << scTargetConfigurationFile
- << scRemoteRepositories << scTranslations << QLatin1String(scControlScript);
+ << scRemoteRepositories << scTranslations << QLatin1String(scControlScript)
+ << scCreateLocalRepository;
Settings s;
s.d->m_data.insert(scPrefix, prefix);
@@ -314,6 +316,8 @@ Settings Settings::fromFileAndPrefix(const QString &path, const QString &prefix,
s.d->m_data.insert(scDependsOnLocalInstallerBinary, false);
if (!s.d->m_data.contains(scRepositorySettingsPageVisible))
s.d->m_data.insert(scRepositorySettingsPageVisible, true);
+ if (!s.d->m_data.contains(scCreateLocalRepository))
+ s.d->m_data.insert(scCreateLocalRepository, false);
return s;
}
@@ -333,7 +337,7 @@ QString Settings::applicationName() const
return d->m_data.value(scName).toString();
}
-QString Settings::applicationVersion() const
+QString Settings::version() const
{
return d->m_data.value(scVersion).toString();
}
@@ -463,6 +467,11 @@ QString Settings::configurationFileName() const
return d->m_data.value(scTargetConfigurationFile).toString();
}
+bool Settings::createLocalRepository() const
+{
+ return d->m_data.value(scCreateLocalRepository).toBool();
+}
+
bool Settings::allowSpaceInPath() const
{
return d->m_data.value(scAllowSpaceInPath, false).toBool();
diff --git a/src/libs/installer/settings.h b/src/libs/installer/settings.h
index a9cf08d85..ed60219b1 100644
--- a/src/libs/installer/settings.h
+++ b/src/libs/installer/settings.h
@@ -94,7 +94,7 @@ public:
int wizardDefaultHeight() const;
QString applicationName() const;
- QString applicationVersion() const;
+ QString version() const;
QString runProgram() const;
QStringList runProgramArguments() const;
@@ -111,6 +111,8 @@ public:
QString configurationFileName() const;
+ bool createLocalRepository() const;
+
bool dependsOnLocalInstallerBinary() const;
bool hasReplacementRepos() const;
QSet<Repository> repositories() const;
diff --git a/src/libs/installer/uninstallercalculator.cpp b/src/libs/installer/uninstallercalculator.cpp
index 1b59fd42f..726ee735b 100644
--- a/src/libs/installer/uninstallercalculator.cpp
+++ b/src/libs/installer/uninstallercalculator.cpp
@@ -68,17 +68,11 @@ void UninstallerCalculator::appendComponentToUninstall(Component *component)
foreach (Component *dependee, dependees)
appendComponentToUninstall(dependee);
- component->setCheckState(Qt::Unchecked);
m_componentsToUninstall.insert(component);
}
void UninstallerCalculator::appendComponentsToUninstall(const QList<Component*> &components)
{
- if (components.isEmpty()) {
- qDebug() << "components list is empty in" << Q_FUNC_INFO;
- return;
- }
-
foreach (Component *component, components)
appendComponentToUninstall(component);
diff --git a/src/libs/installer/utils.cpp b/src/libs/installer/utils.cpp
index b8aa46324..2b1eab55c 100644
--- a/src/libs/installer/utils.cpp
+++ b/src/libs/installer/utils.cpp
@@ -390,7 +390,7 @@ QString QInstaller::windowsErrorString(int errorCode)
LocalFree((HLOCAL) string);
if (ret.isEmpty() && errorCode == ERROR_MOD_NOT_FOUND)
- ret = QCoreApplication::tr("QInstaller", "The specified module could not be found.");
+ ret = QCoreApplication::translate("QInstaller", "The specified module could not be found.");
ret.append(QLatin1String(" (0x"));
ret.append(QString::number(uint(errorCode), 16).rightJustified(8, QLatin1Char('0')));
diff --git a/src/sdk/commandlineparser.cpp b/src/sdk/commandlineparser.cpp
index 9c4200b3e..bb7ccd679 100644
--- a/src/sdk/commandlineparser.cpp
+++ b/src/sdk/commandlineparser.cpp
@@ -76,7 +76,7 @@ CommandLineParser::CommandLineParser()
m_parser.addOption(QCommandLineOption(QLatin1String(CommandLineOptions::ShowVirtualComponents),
QLatin1String("Show virtual components in installer and package manager.")));
- m_parser.addOption(QCommandLineOption(QLatin1String(CommandLineOptions::CreateOfflineRepository),
+ m_parser.addOption(QCommandLineOption(QLatin1String(CommandLineOptions::CreateLocalRepository),
QLatin1String("Create a local repository inside the installation directory. This option "
"has no effect on online installers.")));
diff --git a/src/sdk/constants.h b/src/sdk/constants.h
index 44fe1f598..924d4783a 100644
--- a/src/sdk/constants.h
+++ b/src/sdk/constants.h
@@ -50,7 +50,7 @@ const char Updater[] = "updater";
const char ManagePackages[] = "manage-packages";
const char NoForceInstallation[] = "no-force-installations";
const char ShowVirtualComponents[] = "show-virtual-components";
-const char CreateOfflineRepository[] = "create-offline-repository";
+const char CreateLocalRepository[] = "create-local-repository";
const char AddRepository[] = "addRepository";
const char AddTmpRepository[] = "addTempRepository";
const char SetTmpRepository[] = "setTempRepository";
diff --git a/src/sdk/installerbase.cpp b/src/sdk/installerbase.cpp
index 7eb816a1a..9387b3b81 100644
--- a/src/sdk/installerbase.cpp
+++ b/src/sdk/installerbase.cpp
@@ -197,7 +197,8 @@ int InstallerBase::run()
QInstaller::PackageManagerCore::setNoForceInstallation(parser
.isSet(QLatin1String(CommandLineOptions::NoForceInstallation)));
QInstaller::PackageManagerCore::setCreateLocalRepositoryFromBinary(parser
- .isSet(QLatin1String(CommandLineOptions::CreateOfflineRepository)));
+ .isSet(QLatin1String(CommandLineOptions::CreateLocalRepository))
+ || m_core->settings().createLocalRepository());
QHash<QString, QString> params;
const QStringList positionalArguments = parser.positionalArguments();
@@ -228,7 +229,7 @@ int InstallerBase::run()
translator.reset(new QTranslator(QCoreApplication::instance()));
// install English translation as fallback so that correct license button text is used
- if (translator->load(QLatin1String("en_us"), directory))
+ if (translator->load(QLatin1String("en"), directory))
QCoreApplication::instance()->installTranslator(translator.take());
if (translations.isEmpty()) {
diff --git a/src/sdk/installerbase.qrc b/src/sdk/installerbase.qrc
index 55715a1fa..cc281e565 100644
--- a/src/sdk/installerbase.qrc
+++ b/src/sdk/installerbase.qrc
@@ -1,15 +1,15 @@
<RCC>
<qresource prefix="/">
- <file alias="translations/de_DE.qm">translations/de_de.qm</file>
- <file alias="translations/en_US.qm">translations/en_us.qm</file>
- <file alias="translations/fr_FR.qm">translations/fr_fr.qm</file>
- <file alias="translations/ja_JP.qm">translations/ja_jp.qm</file>
- <file alias="translations/ru_RU.qm">translations/ru_ru.qm</file>
+ <file>translations/de.qm</file>
+ <file>translations/en.qm</file>
+ <file>translations/fr.qm</file>
+ <file>translations/ja.qm</file>
+ <file>translations/ru.qm</file>
<file alias="translations/zh_CN.qm">translations/zh_cn.qm</file>
<file>translations/qt_fr.qm</file>
- <file>translations/qt_de.qm</file>
- <file>translations/qt_ja.qm</file>
- <file>translations/qt_ru.qm</file>
+ <file alias="translations/qt_de.qm">translations/qtbase_de.qm</file>
+ <file alias="translations/qt_ja.qm">translations/qtbase_ja.qm</file>
+ <file alias="translations/qt_ru.qm">translations/qtbase_ru.qm</file>
<file>translations/qt_zh_CN.qm</file>
</qresource>
</RCC>
diff --git a/src/sdk/installerbasecommons.cpp b/src/sdk/installerbasecommons.cpp
index 8b7953eda..eb8c3a562 100644
--- a/src/sdk/installerbasecommons.cpp
+++ b/src/sdk/installerbasecommons.cpp
@@ -66,8 +66,9 @@ InstallerGui::InstallerGui(PackageManagerCore *core)
setPage(PackageManagerCore::InstallationFinished, new FinishedPage(core));
foreach (const int id, pageIds()) {
- packageManagerCore()->controlScriptEngine()->addQObjectChildren(page(id));
- packageManagerCore()->componentScriptEngine()->addQObjectChildren(page(id));
+ QWizardPage *wizardPage = page(id);
+ packageManagerCore()->controlScriptEngine()->addToGlobalObject(wizardPage);
+ packageManagerCore()->componentScriptEngine()->addToGlobalObject(wizardPage);
}
}
@@ -103,8 +104,9 @@ MaintenanceGui::MaintenanceGui(PackageManagerCore *core)
wizardPageVisibilityChangeRequested(false, PackageManagerCore::InstallationFinished + 1);
foreach (const int id, pageIds()) {
- packageManagerCore()->controlScriptEngine()->addQObjectChildren(page(id));
- packageManagerCore()->componentScriptEngine()->addQObjectChildren(page(id));
+ QWizardPage *wizardPage = page(id);
+ packageManagerCore()->controlScriptEngine()->addToGlobalObject(wizardPage);
+ packageManagerCore()->componentScriptEngine()->addToGlobalObject(wizardPage);
}
}
diff --git a/src/sdk/sdk.pro b/src/sdk/sdk.pro
index 1227ed1c8..bec0b259d 100644
--- a/src/sdk/sdk.pro
+++ b/src/sdk/sdk.pro
@@ -15,8 +15,8 @@ QT += network qml xml widgets
DESTDIR = $$IFW_APP_PATH
exists($$LRELEASE) {
- QT_LANGUAGES = qt_de qt_fr qt_ja qt_ru qt_zh_CN
- IB_LANGUAGES = de_de en_us fr_fr ja_jp ru_ru zh_cn
+ QT_LANGUAGES = qtbase_de qt_fr qtbase_ja qtbase_ru qt_zh_CN
+ IB_LANGUAGES = de en fr ja ru zh_cn
defineReplace(prependAll) {
for(a,$$1):result += $$2$${a}$$3
return($$result)
diff --git a/src/sdk/translations/de_de.ts b/src/sdk/translations/de.ts
index aebaf4ec4..19055cfd5 100644
--- a/src/sdk/translations/de_de.ts
+++ b/src/sdk/translations/de.ts
@@ -2,11 +2,52 @@
<!DOCTYPE TS>
<TS version="2.1" language="de_DE">
<context>
- <name>Component</name>
+ <name>AuthenticationRequiredException</name>
<message>
- <location filename="../../libs/installer/binaryformat.cpp" line="511"/>
- <source>Could not open archive %1: %2</source>
- <translation>Konnte Archiv %1 nicht öffnen. Fehlermeldung: %2</translation>
+ <location filename="../../libs/installer/downloadfiletask.cpp" line="283"/>
+ <source>%1 at %2</source>
+ <translation>%1 auf %2</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/downloadfiletask.cpp" line="300"/>
+ <source>Proxy requires authentication.</source>
+ <translation>Proxy verlangt Autentifizierung.</translation>
+ </message>
+</context>
+<context>
+ <name>BinaryContent</name>
+ <message>
+ <location filename="../../libs/installer/binarycontent.cpp" line="207"/>
+ <source>Could not seek to %1 to read the operation data.</source>
+ <translation>Konnte nicht bis zur Anweisungsliste an Position %1 springen.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/binarycontent.cpp" line="225"/>
+ <source>Could not seek to %1 to read the resource collection block.</source>
+ <translation>Konnte nicht bis zur Resourcensammlung an Position %1 suchen.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/binarycontent.cpp" line="263"/>
+ <source>Could not open meta resource. Error: %1</source>
+ <translation>Konnte Metainformationen nicht öffnen. Fehlermeldung: %1</translation>
+ </message>
+</context>
+<context>
+ <name>BinaryLayout</name>
+ <message>
+ <location filename="../../libs/installer/binarycontent.cpp" line="121"/>
+ <source>Could not seek to %1 to read the embedded meta data count.</source>
+ <translation>Konnte nicht bis %1 suchen, um die eingebettete Metadatenanzahl zu lesen.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/binarycontent.cpp" line="132"/>
+ <source>Could not seek to %1 to read the resource collection segment.</source>
+ <translation>Konnte nicht bis %1 suchen, um die Resourcensammlung zu lesen.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/binarycontent.cpp" line="145"/>
+ <source>Unexpected mismatch of meta resources. Read %1, expected: %2.</source>
+ <translation>Unerwarteter Unterschied zwischen Metadaten. %1 gelesen, %2 erwartet.</translation>
</message>
</context>
<context>
@@ -38,123 +79,154 @@
</message>
</context>
<context>
- <name>IntroductionPageImpl</name>
+ <name>DirectoryGuard</name>
<message>
- <location filename="../installerbasecommons.cpp" line="78"/>
- <source>Package manager</source>
- <translation>Paketverwaltung</translation>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="163"/>
+ <source>Path exists but is not a folder: %1</source>
+ <translation>Pfad %1 existiert, aber ist kein Ordner.</translation>
</message>
<message>
- <location filename="../installerbasecommons.cpp" line="84"/>
- <source>Update components</source>
- <translation>Komponenten aktualisieren</translation>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="180"/>
+ <source>Could not create folder: %1</source>
+ <translation>Konnte Ordner %1 nicht anlegen.</translation>
</message>
+</context>
+<context>
+ <name>ExtractCallbackImpl</name>
<message>
- <location filename="../installerbasecommons.cpp" line="90"/>
- <source>Remove all components</source>
- <translation>Alle Komponenten entfernen</translation>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="815"/>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="884"/>
+ <source>Could not retrieve path of archive item %1</source>
+ <translation>Konnte Pfad des Archivs %1 nicht feststellen.</translation>
</message>
<message>
- <location filename="../installerbasecommons.cpp" line="101"/>
- <source>Retrieving information from remote installation sources...</source>
- <translation>Empfange Daten vom Installationsserver...</translation>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="844"/>
+ <source>Could not remove already existing symlink. %1</source>
+ <translation>Konnte existierende Verknüpfung (Symlink) %1 nicht entfernen.</translation>
</message>
<message>
- <location filename="../installerbasecommons.cpp" line="145"/>
- <source>At least one valid and enabled repository required for this action to succeed.</source>
- <translation>Mindestens ein gültiges und aktiviertes Repository wird benötigt, um diese Aktion erfolgreich abzuschliessen. </translation>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="852"/>
+ <source>Could not open file: %1 (%2)</source>
+ <translation>Konnte Datei %1 nicht öffnen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../installerbasecommons.cpp" line="171"/>
- <source>No updates available.</source>
- <translation>Keine Aktualisierungen verfügbar.</translation>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="907"/>
+ <source>Could not create symlink at &apos;%1&apos;. Another one is already existing.</source>
+ <translation>Konnte Verknüpfung (Symlink) &apos;%1&apos; nicht erstellen. Es existiert bereits eine an dieser Stelle.</translation>
</message>
<message>
- <location filename="../installerbasecommons.cpp" line="343"/>
- <source>Quit</source>
- <translation>Beenden</translation>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="914"/>
+ <source>Could not read symlink target from file &apos;%1&apos;.</source>
+ <translation>Konnte Ziel der Verknüpfung (Symlink) &apos;%1&apos; nicht lesen.</translation>
</message>
<message>
- <location filename="../installerbasecommons.cpp" line="190"/>
- <source> Only local package management available.</source>
- <translation>Nur lokale Paketverwaltung verfügbar.</translation>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="924"/>
+ <source>Could not create symlink at %1. %2</source>
+ <translation>Konnte keine Dateisystemverknüpfung (Symlink) %1 anlegen. Fehlermeldung: %2</translation>
+ </message>
+</context>
+<context>
+ <name>InstallerCalculator</name>
+ <message>
+ <location filename="../../libs/installer/installercalculator.cpp" line="76"/>
+ <source>Components added as automatic dependencies:</source>
+ <translation>Komponenten, die als automatische Abhängigkeiten zugefügt wurden:</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/installercalculator.cpp" line="79"/>
+ <source>Components added as dependency for &apos;%1&apos;:</source>
+ <translation>Komponenten, die als Abhängigkeiten für &apos;%1&apos; zugefügt wurden:</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/installercalculator.cpp" line="82"/>
+ <source>Components that have resolved dependencies:</source>
+ <translation>Komponenten, die aufgelöste Abhängigkeiten besitzen:</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/installercalculator.cpp" line="85"/>
+ <source>Selected components without dependencies:</source>
+ <translation>Ausgewählte Komponenten ohne Abhängigkeiten:</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/installercalculator.cpp" line="114"/>
+ <source>Recursion detected, component &apos;%1&apos; already added with reason: &apos;%2&apos;</source>
+ <translation>Rekursion entdeckt, Komponente &apos;%1&apos; wurde bereits zugefügt aufgrund von: &apos;%2&apos;</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/installercalculator.cpp" line="176"/>
+ <source>Cannot find missing dependency &apos;%1&apos; for &apos;%2&apos;.</source>
+ <translation>Konnte fehlende Abhängigkeit &apos;%1&apos; für &apos;%2&apos; nicht finden.</translation>
</message>
</context>
<context>
<name>KDJob</name>
<message>
- <location filename="../../libs/kdtools/kdjob.cpp" line="195"/>
+ <location filename="../../libs/kdtools/kdjob.cpp" line="188"/>
<source>Canceled</source>
<translation>Abgebrochen</translation>
</message>
</context>
<context>
- <name>KDSaveFile</name>
+ <name>KDLockFile</name>
<message>
- <location filename="../../libs/kdtools/kdsavefile.cpp" line="279"/>
- <source>Append mode not supported.</source>
- <translation>Anhängen nicht unterstützt.</translation>
+ <location filename="../../libs/kdtools/kdlockfile_unix.cpp" line="53"/>
+ <location filename="../../libs/kdtools/kdlockfile_win.cpp" line="55"/>
+ <source>Could not create lock file &apos;%1&apos;: %2</source>
+ <translation>Konnte keine Sperrdatei %1 anlegen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdsavefile.cpp" line="284"/>
- <source>Read-only access not supported.</source>
- <translation>Nur-Lese-Modus nicht unterstützt.</translation>
+ <location filename="../../libs/kdtools/kdlockfile_unix.cpp" line="64"/>
+ <location filename="../../libs/kdtools/kdlockfile_win.cpp" line="63"/>
+ <source>Could not write PID to lock file &apos;%1&apos;: %2</source>
+ <translation>Konnte PID nicht in die Sperrdatei %1 schreiben. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdsavefile.cpp" line="372"/>
- <source>Could not backup existing file %1: %2</source>
- <translation>Konnte existierende Datei %1 nicht sichern. Fehlermeldung: %2</translation>
+ <location filename="../../libs/kdtools/kdlockfile_unix.cpp" line="73"/>
+ <location filename="../../libs/kdtools/kdlockfile_win.cpp" line="70"/>
+ <source>Could not obtain the lock for file &apos;%1&apos;: %2</source>
+ <translation>Konnte Sperre für Datei &apos;%1&apos; nicht anlegen: &apos;%2&apos;</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdsavefile.cpp" line="413"/>
- <location filename="../../libs/kdtools/kdsavefile.cpp" line="424"/>
- <location filename="../../libs/kdtools/kdsavefile.cpp" line="435"/>
- <source>TODO</source>
- <translation>!!TODO</translation>
+ <location filename="../../libs/kdtools/kdlockfile_unix.cpp" line="88"/>
+ <location filename="../../libs/kdtools/kdlockfile_win.cpp" line="85"/>
+ <source>Could not release the lock for file &apos;%1&apos;: %2</source>
+ <translation>Konnte Sperre für Datei &apos;%1&apos; nicht aufheben: &apos;%2&apos;</translation>
</message>
</context>
<context>
<name>KDUpdater::AppendFileOperation</name>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="617"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="610"/>
<source>Cannot backup file %1: %2</source>
<translation>Konnte Datei %1 nicht sichern. Fehlermeldung: %2</translation>
</message>
<message>
- <source>Invalid arguments: %1 arguments given, 2 expected.</source>
- <translation type="obsolete">Ungültige Argumente: %1 Argumente erhalten, 2 erwartet.</translation>
- </message>
- <message>
- <source>Could not open file %1 for writing: %2</source>
- <translation type="obsolete">Konnte Datei %1 nicht zum Schreiben öffnen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="629"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="622"/>
<source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
<translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="630"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="623"/>
<source>exactly 2</source>
<translation>genau 2</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="656"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="649"/>
<source>Could not open file &apos;%1&apos; for writing: %2</source>
<translation>Konnte Datei &apos;%1&apos; nicht zum Schreiben öffnen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="675"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="668"/>
<source>Cannot find backup file for %1.</source>
<translation>Konnte Sicherungsdatei für %1 nicht finden.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="681"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="674"/>
<source>Could not restore backup file for %1.</source>
<translation>Konnte Datei %1 nicht wiederherstellen.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="692"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="685"/>
<source>Could not restore backup file for %1: %2</source>
<translation>Konnte Datei %1 nicht wiederherstellen. Fehlermeldung: %2</translation>
</message>
@@ -162,37 +234,37 @@
<context>
<name>KDUpdater::CopyOperation</name>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="158"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="151"/>
<source>Invalid arguments: %1 arguments given, 2 expected.</source>
<translation>Ungültige Argumente: %1 Argumente erhalten, 2 erwartet.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="149"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="142"/>
<source>Could not backup file %1.</source>
<translation>Konnte Datei %1 nicht sichern.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="168"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="161"/>
<source>Could not copy a non-existent file: %1</source>
<translation>Konnte nicht existierende Datei nicht kopieren: %1</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="177"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="170"/>
<source>Could not remove destination file %1: %2</source>
<translation>Konnte Zieldatei %1 nicht entfernen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="185"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="178"/>
<source>Could not copy %1 to %2: %3</source>
<translation>Konnte Datei %1 nicht nach %2 kopieren. Fehlermeldung: %3</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="202"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="195"/>
<source>Could not delete file %1: %2</source>
<translation>Konnte Datei %1 nicht löschen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="215"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="208"/>
<source>Could not restore backup file into %1: %2</source>
<translation>Konnte Datei %1 nicht wiederherstellen. Fehlermeldung: %2</translation>
</message>
@@ -200,66 +272,55 @@
<context>
<name>KDUpdater::DeleteOperation</name>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="376"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="369"/>
<source>Cannot create backup of %1: %2</source>
<translation>Konnte Datei %1 nicht sichern. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="385"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="378"/>
<source>Invalid arguments: %1 arguments given, 1 expected.</source>
<translation>Ungültige Argumente: %1 Argumente erhalten, 1 erwartet.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="400"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="393"/>
<source>Cannot restore backup file for %1: %2</source>
<translation>Konnte Datei %1 nicht wiederherstellen. Fehlermeldung: %2</translation>
</message>
</context>
<context>
- <name>KDUpdater::ExecuteOperation</name>
- <message>
- <source>Invalid arguments: %1 arguments given, 2 expected.</source>
- <translation type="obsolete">Ungültige Argumente: %1 Argumente erhalten, 2 erwartet.</translation>
- </message>
- <message>
- <source>Execution failed: %1</source>
- <translation type="obsolete">Ausführung fehlgeschlagen: %1</translation>
- </message>
-</context>
-<context>
<name>KDUpdater::FileDownloader</name>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="216"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="198"/>
<source>Download canceled.</source>
<translation>Herunterladen abgebrochen.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="209"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="191"/>
<source>Cryptographic hashes do not match.</source>
<translation>Prüfsummen stimmen nicht überein.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="206"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="188"/>
<source>Download finished.</source>
<translation>Heruntergeladen abgeschlossen.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="323"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="305"/>
<source>%1 of %2</source>
<translation>%1 von %2</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="326"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="308"/>
<source>%1 downloaded.</source>
<translation>%1 heruntergeladen.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="329"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="311"/>
<source>(%1/sec)</source>
<translation>(%1/s)</translation>
</message>
<message numerus="yes">
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="340"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="322"/>
<source>%n day(s), </source>
<translation>
<numerusform>%n Tag, </numerusform>
@@ -267,7 +328,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="344"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="326"/>
<source>%n hour(s), </source>
<translation>
<numerusform>%n Stunde, </numerusform>
@@ -275,7 +336,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="348"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="330"/>
<source>%n minute(s)</source>
<translation>
<numerusform>%n Minute</numerusform>
@@ -283,7 +344,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="353"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="335"/>
<source>%n second(s)</source>
<translation>
<numerusform>%n Sekunde</numerusform>
@@ -291,64 +352,12 @@
</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="355"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="337"/>
<source> - %1%2%3%4 remaining.</source>
<translation> - %1%2%3%4 verbleibend.</translation>
</message>
<message>
- <source> of </source>
- <translation type="obsolete"> von </translation>
- </message>
- <message>
- <source> downloaded.</source>
- <translation type="obsolete"> heruntergeladen.</translation>
- </message>
- <message>
- <source>/sec</source>
- <translation type="obsolete">/s</translation>
- </message>
- <message>
- <source> day</source>
- <translation type="obsolete"> Tag</translation>
- </message>
- <message>
- <source> days</source>
- <translation type="obsolete"> Tage</translation>
- </message>
- <message>
- <source> hour</source>
- <translation type="obsolete"> Stunde</translation>
- </message>
- <message>
- <source> hours</source>
- <translation type="obsolete"> Stunden</translation>
- </message>
- <message>
- <source> minute</source>
- <translation type="obsolete"> Minute</translation>
- </message>
- <message>
- <source> minutes</source>
- <translation type="obsolete"> Minuten</translation>
- </message>
- <message>
- <source> second</source>
- <translation type="obsolete"> Sekunde</translation>
- </message>
- <message>
- <source> seconds</source>
- <translation type="obsolete"> Sekunden</translation>
- </message>
- <message>
- <source> - </source>
- <translation type="obsolete"> - </translation>
- </message>
- <message>
- <source> remaining.</source>
- <translation type="obsolete"> verbleibend.</translation>
- </message>
- <message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="357"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="339"/>
<source> - unknown time remaining.</source>
<translation> - verbleibende Zeit unbekannt.</translation>
</message>
@@ -356,55 +365,47 @@
<context>
<name>KDUpdater::HttpDownloader</name>
<message>
- <source>Cannot download %1: Writing to temporary file failed: %2</source>
- <translation type="obsolete">Konnte URL %1 nicht herunterladen. Schreiben in temporäre Datei fehlgeschlagen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <source>Cannot download %1: Could not create temporary file: %2</source>
- <translation type="obsolete">Konnte URL %1 nicht herunterladen. Schreiben in temporäre Datei fehlgeschlagen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="892"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="870"/>
<source>Cannot download %1: Writing to file &apos;%2&apos; failed: %3</source>
<translation>Konnte %1 nicht herunterladen. Schreiben in Datei &apos;%2&apos; fehlgeschlagen. Fehlermeldung: %3</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="1028"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="1006"/>
<source>Cannot download %1: Could not create %2: %3</source>
<translation>Konnte %1 nicht herunterladen. Erstellen der Datei %2 fehlgeschlagen. Fehlermeldung: %3</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="1047"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="1025"/>
<source>%1 at %2</source>
<translation>%1 auf %2</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="1063"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="1041"/>
<source>Authentication request canceled.</source>
<translation>Authentifizierung abgebrochen.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="1099"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="1076"/>
<source>Secure Connection Failed</source>
<translation>Sichere Verbindung fehlgeschlagen</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="1100"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="1077"/>
<source>There was an error during connection to: %1.</source>
<translation>Beim Aufbau der Verbindung zu &apos;%1&apos; ist ein Fehler aufgetreten.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="1101"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="1078"/>
<source>This could be a problem with the server&apos;s configuration, or it could be someone trying to impersonate the server.</source>
<translation>Dies kann ein Fehler in der Konfiguration sein oder es versucht jemand, diesen Server vorzutäuschen.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="1103"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="1080"/>
<source>If you have connected to this server successfully in the past or trust this server, the error may be temporary and you can try again.</source>
<translation>Wenn frühere Verbindungen zu diesem Server erfolgreich waren, kann dieser Fehler temporär sein und bei einem erneuten Versuch verschwinden.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="1107"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="1084"/>
<source>Try again</source>
<translation>Erneut versuchen</translation>
</message>
@@ -412,17 +413,17 @@
<context>
<name>KDUpdater::LocalFileDownloader</name>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="521"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="503"/>
<source>Cannot open source file &apos;%1&apos; for reading.</source>
<translation>Konnte Ausgangsdatei &apos;%1&apos; nicht zum Lesen öffnen.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="537"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="519"/>
<source>Cannot open destination file &apos;%1&apos; for writing.</source>
<translation>Konnte Zieldatei &apos;%1&apos; nicht zum Schreiben öffnen.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="594"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="576"/>
<source>Writing to %1 failed: %2</source>
<translation>Konnte Datei %1 nicht zum Schreiben öffnen. Fehlermeldung: %2</translation>
</message>
@@ -430,18 +431,18 @@
<context>
<name>KDUpdater::MkdirOperation</name>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="472"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="465"/>
<source>Invalid arguments: %1 arguments given, 1 expected.</source>
<translation>Ungültige Argumente: %1 Argumente erhalten, 1 erwartet.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="480"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="473"/>
<source>Could not create folder %1: Unknown error.</source>
<translation>Konnte Ordner %1 nicht anlegen. Unbekannter Fehler.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="512"/>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="514"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="505"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="507"/>
<source>Cannot remove directory %1: %2</source>
<translation>Konnte Ordner %1 nicht löschen. Fehlermeldung: %2</translation>
</message>
@@ -449,37 +450,37 @@
<context>
<name>KDUpdater::MoveOperation</name>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="276"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="269"/>
<source>Could not backup file %1.</source>
<translation>Konnte Datei %1 nicht sichern.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="286"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="279"/>
<source>Invalid arguments: %1 arguments given, 2 expected.</source>
<translation>Ungültige Argumente: %1 Argumente erhalten, 2 erwartet.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="297"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="290"/>
<source>Could not remove destination file %1: %2</source>
<translation>Konnte Zieldatei %1 nicht entfernen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="306"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="299"/>
<source>Could not copy %1 to %2: %3</source>
<translation>Konnte Datei %1 nicht nach %2 kopieren. Fehlermeldung: %3</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="325"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="318"/>
<source>Cannot remove file %1.</source>
<translation>Konnte Datei %1 nicht löschen.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="319"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="312"/>
<source>Cannot copy %1 to %2: %3</source>
<translation>Konnte Datei %1 nicht nach %2 kopieren. Fehlermeldung: %3</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="338"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="331"/>
<source>Cannot restore backup file for %1: %2</source>
<translation>Konnte Datei %1 nicht wiederherstellen. Fehlermeldung: %2</translation>
</message>
@@ -487,27 +488,27 @@
<context>
<name>KDUpdater::PackagesInfo</name>
<message>
- <location filename="../../libs/kdtools/kdupdaterpackagesinfo.cpp" line="117"/>
+ <location filename="../../libs/kdtools/kdupdaterpackagesinfo.cpp" line="103"/>
<source>%1 contains invalid content: %2</source>
<translation>Inhalt von Datei %1 ungültig: %2</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterpackagesinfo.cpp" line="281"/>
+ <location filename="../../libs/kdtools/kdupdaterpackagesinfo.cpp" line="269"/>
<source>The file %1 does not exist.</source>
<translation>Datei %1 existiert nicht.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterpackagesinfo.cpp" line="289"/>
+ <location filename="../../libs/kdtools/kdupdaterpackagesinfo.cpp" line="277"/>
<source>Could not open %1.</source>
<translation>Konnte Datei %1 nicht öffnen.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterpackagesinfo.cpp" line="314"/>
+ <location filename="../../libs/kdtools/kdupdaterpackagesinfo.cpp" line="302"/>
<source>Root element %1 unexpected, should be &apos;Packages&apos;.</source>
<translation>Unerwartetes Wurzelelement %1, erwartet wird &apos;Packages&apos;.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterpackagesinfo.cpp" line="301"/>
+ <location filename="../../libs/kdtools/kdupdaterpackagesinfo.cpp" line="289"/>
<source>Parse error in %1 at %2, %3: %4</source>
<translation>Ungültiges XML in Datei %1, Zeile %2, Spalte %3. Fehlermeldung: %4</translation>
</message>
@@ -515,37 +516,37 @@
<context>
<name>KDUpdater::PrependFileOperation</name>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="727"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="720"/>
<source>Cannot backup file %1: %2</source>
<translation>Konnte Datei %1 nicht sichern. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="740"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="733"/>
<source>Invalid arguments: %1 arguments given, 2 expected.</source>
<translation>Ungültige Argumente: %1 Argumente erhalten, 2 erwartet.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="749"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="742"/>
<source>Could not open file %1 for reading: %2</source>
<translation>Konnte Datei %1 nicht zum Lesen öffnen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="767"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="760"/>
<source>Could not open file %1 for writing: %2</source>
<translation>Konnte Datei %1 nicht zum Schreiben öffnen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="785"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="778"/>
<source>Cannot find backup file for %1.</source>
<translation>Konnte Sicherungsdatei für %1 nicht finden.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="790"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="783"/>
<source>Cannot restore backup file for %1.</source>
<translation>Konnte Datei %1 nicht wiederherstellen.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="801"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="794"/>
<source>Cannot restore backup file for %1: %2</source>
<translation>Konnte Datei %1 nicht wiederherstellen. Fehlermeldung: %2</translation>
</message>
@@ -553,7 +554,7 @@
<context>
<name>KDUpdater::ResourceFileDownloader</name>
<message>
- <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="743"/>
+ <location filename="../../libs/kdtools/kdupdaterfiledownloader.cpp" line="722"/>
<source>Could not read resource file &quot;%1&quot;. Reason:</source>
<translation>Konnte Ressourcendatei %1 nicht zum Lesen öffnen. Grund:</translation>
</message>
@@ -561,22 +562,22 @@
<context>
<name>KDUpdater::RmdirOperation</name>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="551"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="544"/>
<source>Invalid arguments: %1 arguments given, 1 expected.</source>
<translation>Ungültige Argumente: %1 Argumente erhalten, 1 erwartet.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="558"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="551"/>
<source>Could not remove folder %1: The folder does not exist.</source>
<translation>Konnte Ordner %1 nicht entfernen. Der Ordner existiert nicht.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="567"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="560"/>
<source>Could not remove folder %1: %2</source>
<translation>Konnte Ordner %1 nicht löschen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="581"/>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperations.cpp" line="574"/>
<source>Cannot recreate directory %1: %2</source>
<translation>Konnte Ordner %1 nicht wiederherstellen. Fehlermeldung: %2</translation>
</message>
@@ -584,82 +585,55 @@
<context>
<name>KDUpdater::Task</name>
<message>
- <location filename="../../libs/kdtools/kdupdatertask.cpp" line="198"/>
+ <location filename="../../libs/kdtools/kdupdatertask.cpp" line="192"/>
<source>%1 started</source>
<translation>%1 gestartet</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdatertask.cpp" line="211"/>
+ <location filename="../../libs/kdtools/kdupdatertask.cpp" line="205"/>
<source>%1 cannot be stopped</source>
<translation>%1 kann nicht angehalten werden</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdatertask.cpp" line="229"/>
+ <location filename="../../libs/kdtools/kdupdatertask.cpp" line="223"/>
<source>Cannot stop task %1</source>
<translation>%1 kann nicht angehalten werden</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdatertask.cpp" line="248"/>
+ <location filename="../../libs/kdtools/kdupdatertask.cpp" line="242"/>
<source>%1 cannot be paused</source>
<translation>%1 kann nicht pausiert werden</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdatertask.cpp" line="266"/>
+ <location filename="../../libs/kdtools/kdupdatertask.cpp" line="260"/>
<source>Cannot pause task %1</source>
<translation>%1 kann nicht pausiert werden</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdatertask.cpp" line="294"/>
+ <location filename="../../libs/kdtools/kdupdatertask.cpp" line="288"/>
<source>Cannot resume task %1</source>
<translation>%1 kann nicht wiederaufgenommen werden</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdatertask.cpp" line="350"/>
+ <location filename="../../libs/kdtools/kdupdatertask.cpp" line="344"/>
<source>%1 done</source>
<translation>%1 abgeschlossen</translation>
</message>
</context>
<context>
- <name>KDUpdater::Update</name>
- <message>
- <source>Downloading update...</source>
- <translation type="obsolete">Lade Aktualisierung herunter...</translation>
- </message>
- <message>
- <source>Update downloaded</source>
- <translation type="obsolete">Aktualisierung heruntergeladen.</translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::UpdateCompatOperation</name>
- <message>
- <source>Invalid arguments: %1 arguments given, 1 expected.</source>
- <translation type="obsolete">Ungültige Argumente: %1 Argumente erhalten, 1 erwartet.</translation>
- </message>
- <message>
- <source>Cannot restore previous compat-level</source>
- <translation type="obsolete">Kann ursprüngliches compat-level nicht wiederherstellen.</translation>
- </message>
-</context>
-<context>
<name>KDUpdater::UpdateFinder</name>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="322"/>
- <source>Could not download updates from %1 (&apos;%2&apos;)</source>
- <translation>Konnte Aktualisierungen nicht von %1 (&apos;%2&apos;) herunterladen.</translation>
- </message>
- <message>
- <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="196"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="182"/>
<source>Could not access the package information of this application.</source>
<translation>Konnte nicht auf die Paketinformationen dieser Anwendung zugreifen.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="207"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="193"/>
<source>Could not access the update sources information of this application.</source>
<translation>Konnte nicht auf die Aktualisierungsinformationen dieser Anwendung zugreifen.</translation>
</message>
<message numerus="yes">
- <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="230"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="216"/>
<source>%n update(s) found.</source>
<translation>
<numerusform>%n Aktualisierung gefunden.</numerusform>
@@ -667,91 +641,57 @@
</translation>
</message>
<message>
- <source>%1 updates found.</source>
- <translation type="obsolete">%1 Aktualisierungen gefunden.</translation>
- </message>
- <message>
- <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="307"/>
- <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="529"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="301"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="545"/>
<source>Downloading Updates.xml from update sources.</source>
<translation>Lade Updates.xml von der Aktualisierungsquelle herunter.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="330"/>
- <source>Updates.xml file(s) downloaded from update sources.</source>
- <translation>Datei Updates.xml von der Aktualisierungsquelle heruntergeladen.</translation>
- </message>
- <message>
- <source>Looking for compatibility update...</source>
- <translation type="obsolete">Suche nach einer Kompatibilitätsaktualisierung...</translation>
- </message>
- <message>
- <source>Found compatibility update.</source>
- <translation type="obsolete">Kompatibilitätsaktualisierung gefunden.</translation>
- </message>
- <message>
- <source>Update not found.</source>
- <translation type="obsolete">Aktualisierung nicht gefunden.</translation>
- </message>
- <message>
- <source>Compatibility update found.</source>
- <translation type="obsolete">Kompatibilitätsaktualisierung gefunden.</translation>
+ <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="309"/>
+ <source>Could not download update source %1 from (&apos;%2&apos;)</source>
+ <translation>Konnte Aktualisierungen nicht von %1 (&apos;%2&apos;) herunterladen.</translation>
</message>
<message>
- <source>No compatibility updates found.</source>
- <translation type="obsolete">Kompatibilitätsaktualisierung nicht gefunden.</translation>
+ <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="332"/>
+ <source>Updates.xml file(s) downloaded from update sources.</source>
+ <translation>Datei Updates.xml von der Aktualisierungsquelle heruntergeladen.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="362"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="365"/>
<source>Computing applicable updates.</source>
<translation>Berechne anwendbare Aktualisierungen.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="365"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatefinder.cpp" line="369"/>
<source>Application updates computed.</source>
<translation>Anwendbare Aktualisierungen berechnet.</translation>
</message>
</context>
<context>
- <name>KDUpdater::UpdatePackageOperation</name>
- <message>
- <source>Invalid arguments: %1 arguments given, 3 expected.</source>
- <translation type="obsolete">Ungültige Argumente: %1 Argumente erhalten, 3 erwartet.</translation>
- </message>
- <message>
- <source>Cannot update %1-%2</source>
- <translation type="obsolete">Aktualisierung von %1-%2 nicht möglich.</translation>
- </message>
- <message>
- <source>Cannot restore %1-%2</source>
- <translation type="obsolete">Wiederherstelung von %1-%2 nicht möglich.</translation>
- </message>
-</context>
-<context>
<name>KDUpdater::UpdateSourcesInfo</name>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatesourcesinfo.cpp" line="141"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatesourcesinfo.cpp" line="143"/>
<source>%1 contains invalid content: %2</source>
<translation>Datei %1 enthält ungültige Inhalte: %2</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatesourcesinfo.cpp" line="290"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatesourcesinfo.cpp" line="302"/>
<source>Could not read &quot;%1&quot;</source>
<translation>Konnte Datei &quot;%1&quot; nicht lesen.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatesourcesinfo.cpp" line="301"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatesourcesinfo.cpp" line="313"/>
<source>XML Parse error in %1 at %2, %3: %4</source>
<translation>Ungültiges XML in Datei %1, Zeile %2, Spalte %3. Fehlermeldung: %4</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatesourcesinfo.cpp" line="310"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatesourcesinfo.cpp" line="322"/>
<source>Root element %1 unexpected, should be &quot;UpdateSources&quot;</source>
<translation>Unerwartetes Wurzelelement %1, erwartet wird &quot;UpdateSources&quot;.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatesourcesinfo.cpp" line="350"/>
- <location filename="../../libs/kdtools/kdupdaterupdatesourcesinfo.cpp" line="361"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatesourcesinfo.cpp" line="362"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatesourcesinfo.cpp" line="373"/>
<source>Could not save changes to &quot;%1&quot;: %2</source>
<translation>Konnte Änderungen nicht in Datei %1 speichern. Fehlermeldung: %2</translation>
</message>
@@ -759,237 +699,398 @@
<context>
<name>KDUpdater::UpdatesInfoData</name>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="70"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="63"/>
<source>Could not read &quot;%1&quot;</source>
<translation>Konnte Datei &quot;%1&quot; nicht lesen.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="79"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="72"/>
<source>Parse error in %1 at %2, %3: %4</source>
<translation>Ungültiges XML in Datei %1, Zeile %2, Spalte %3. Fehlermeldung: %4</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="62"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="55"/>
<source>Updates.xml contains invalid content: %1</source>
<translation>Inhalt von Updates.xml ungültig: %1</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="86"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="79"/>
<source>Root element %1 unexpected, should be &quot;Updates&quot;.</source>
<translation>Unerwartetes Wurzelelement %1, erwartet wird &quot;Updates&quot;.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="107"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="100"/>
<source>ApplicationName element is missing.</source>
<translation>Element ApplicationName fehlt.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="112"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="105"/>
<source>ApplicationVersion element is missing.</source>
<translation>Element ApplicationVersion fehlt.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="167"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="160"/>
<source>PackageUpdate element without Name</source>
<translation>Element &quot;PackageUpdate&quot; braucht ein Feld &quot;Name&quot;.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="171"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="164"/>
<source>PackageUpdate element without Version</source>
<translation>Element &quot;PackageUpdate&quot; braucht ein Feld &quot;Version&quot;.</translation>
</message>
<message>
- <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="175"/>
+ <location filename="../../libs/kdtools/kdupdaterupdatesinfo.cpp" line="168"/>
<source>PackageUpdate element without ReleaseDate</source>
<translation>Element &quot;PackageUpdate&quot; braucht ein Feld &quot;ReleaseDate&quot;.</translation>
</message>
+</context>
+<context>
+ <name>Lib7z</name>
<message>
- <source>PackageUpdate element without UpdateFile</source>
- <translation type="obsolete">Element &quot;PackageUpdate&quot; braucht ein Feld &quot;UpdateFile&quot;.</translation>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="717"/>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1438"/>
+ <source>Could not retrieve number of items in archive</source>
+ <translation>Konnte Anzahl Dateien im Archiv nicht feststellen.</translation>
</message>
<message>
- <source>CompatUpdate element without CompatLevel</source>
- <translation type="obsolete">Element &quot;CompatUpdate&quot; braucht ein Feld &quot;CompatLevel&quot;.</translation>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="724"/>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1449"/>
+ <source>Could not retrieve path of archive item %1</source>
+ <translation>Konnte Pfad des Archivs %1 nicht feststellen.</translation>
</message>
<message>
- <source>CompatUpdate element without ReleaseDate</source>
- <translation type="obsolete">Element &quot;CompatUpdate&quot; braucht ein Feld &quot;ReleaseDate&quot;.</translation>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="746"/>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1409"/>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1465"/>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1567"/>
+ <source>Unknown exception caught (%1)</source>
+ <translation>Unbekannte Ausnahmebedingung (%1).</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1289"/>
+ <source>internal code: %1</source>
+ <translation>Interner Fehlercode: %1</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1310"/>
+ <source>not enough memory</source>
+ <translation>nicht genug Speicher</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1316"/>
+ <source>Error: %1</source>
+ <translation>Fehler: %1</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1336"/>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1542"/>
+ <source>Could not load codecs</source>
+ <translation>Konnte Codecs nicht laden.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1341"/>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1547"/>
+ <source>Could not retrieve default format</source>
+ <translation>Konnte Standardformat nicht finden.</translation>
</message>
<message>
- <source>CompatUpdate element without UpdateFile</source>
- <translation type="obsolete">Element &quot;CompatUpdate&quot; braucht ein Feld &quot;UpdateFile&quot;.</translation>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1387"/>
+ <source>Could not create archive %1. %2</source>
+ <translation>Konnte kein Archiv %1 anlegen. Fehlermeldung: %2</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1429"/>
+ <source>CArc index %1 out of bounds [0, %2]</source>
+ <translation>CArc Index %1 ausserhalb der Grenzen [0, %2].</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1443"/>
+ <source>Item index %1 out of bounds [0, %2]</source>
+ <translation>Itemindex %1 ausserhalb der Grenzen [0, %2].</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1484"/>
+ <source>Could not create output file for writing: %1</source>
+ <translation>Konnte Ausgabedatei nicht zum Schreiben öffnen. Fehlermeldung: %1</translation>
</message>
</context>
<context>
<name>Lib7z::ExtractItemJob</name>
<message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1562"/>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1577"/>
<source>Could not list archive: QIODevice not set or already destroyed.</source>
<translation>Kann Archiv nicht anzeigen: QIODevice ist nicht gesetzt oder bereits zerstört.</translation>
</message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1586"/>
+ <source>Error while extracting &apos;%1&apos;: %2</source>
+ <translation>Fehler beim Auspacken von &apos;%1&apos;. Fehlermeldung: %2</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1589"/>
+ <source>Unknown exception caught (%1)</source>
+ <translation>Unbekannte Ausnahmebedingung (%1).</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="1589"/>
+ <source>Failed</source>
+ <translation>Fehlgeschlagen</translation>
+ </message>
</context>
<context>
<name>Lib7z::ListArchiveJob</name>
<message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="750"/>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="756"/>
<source>Could not list archive: QIODevice already destroyed.</source>
<translation>Kann Archiv nicht anzeigen: QIODevice ist bereits zerstört.</translation>
</message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="763"/>
+ <source>Unknown exception caught (%1)</source>
+ <translation>Unbekannte Ausnahmebedingung (%1).</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="763"/>
+ <source>Failed</source>
+ <translation>Fehlgeschlagen</translation>
+ </message>
+</context>
+<context>
+ <name>OpenArchiveInfo</name>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="639"/>
+ <source>Could not load codecs</source>
+ <translation>Konnte Codecs nicht laden.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="643"/>
+ <source>Could not retrieve default format</source>
+ <translation>Konnte Standardformat nicht finden.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="648"/>
+ <source>Could not open archive</source>
+ <translation>Konnte Archiv nicht öffnen.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="652"/>
+ <source>No CArc found</source>
+ <translation>Keine CArc gefunden.</translation>
+ </message>
+</context>
+<context>
+ <name>QIODeviceSequentialOutStream</name>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="386"/>
+ <source>No device set for output stream</source>
+ <translation>Kein Gerät für den Ausgabestrom gesetzt</translation>
+ </message>
</context>
<context>
<name>QInstaller</name>
<message>
- <location filename="../../libs/installer/fileutils.cpp" line="145"/>
+ <location filename="../../libs/installer/fileutils.cpp" line="138"/>
<source>bytes</source>
<translation>Bytes</translation>
</message>
<message>
- <location filename="../../libs/installer/fileutils.cpp" line="146"/>
+ <location filename="../../libs/installer/fileutils.cpp" line="139"/>
<source>KiB</source>
<translation>KiB</translation>
</message>
<message>
- <location filename="../../libs/installer/fileutils.cpp" line="147"/>
+ <location filename="../../libs/installer/fileutils.cpp" line="140"/>
<source>MiB</source>
<translation>MiB</translation>
</message>
<message>
- <location filename="../../libs/installer/fileutils.cpp" line="148"/>
+ <location filename="../../libs/installer/fileutils.cpp" line="141"/>
<source>GiB</source>
<translation>GiB</translation>
</message>
<message>
- <location filename="../../libs/installer/fileutils.cpp" line="149"/>
+ <location filename="../../libs/installer/fileutils.cpp" line="142"/>
<source>TiB</source>
<translation>TiB</translation>
</message>
<message>
- <location filename="../../libs/installer/fileutils.cpp" line="150"/>
+ <location filename="../../libs/installer/fileutils.cpp" line="143"/>
<source>PiB</source>
<translation>PiB</translation>
</message>
<message>
- <location filename="../../libs/installer/fileutils.cpp" line="151"/>
+ <location filename="../../libs/installer/fileutils.cpp" line="144"/>
<source>EiB</source>
<translation>EiB</translation>
</message>
<message>
- <location filename="../../libs/installer/fileutils.cpp" line="152"/>
+ <location filename="../../libs/installer/fileutils.cpp" line="145"/>
<source>ZiB</source>
<translation>ZiB</translation>
</message>
<message>
- <location filename="../../libs/installer/fileutils.cpp" line="153"/>
+ <location filename="../../libs/installer/fileutils.cpp" line="146"/>
<source>YiB</source>
<translation>YiB</translation>
</message>
-</context>
-<context>
- <name>QInstaller::AddQtCreatorArrayValueOperation</name>
<message>
- <location filename="../../libs/installer/addqtcreatorarrayvalueoperation.cpp" line="73"/>
- <source>exactly 4</source>
- <translation>genau 4</translation>
+ <location filename="../../libs/installer/fileutils.cpp" line="184"/>
+ <source>Could not remove file %1: %2</source>
+ <translation>Konnte Datei %1 nicht löschen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/installer/addqtcreatorarrayvalueoperation.cpp" line="72"/>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
+ <location filename="../../libs/installer/fileutils.cpp" line="225"/>
+ <source>Could not remove folder %1: %2</source>
+ <translation>Konnte Ordner %1 nicht löschen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/installer/addqtcreatorarrayvalueoperation.cpp" line="73"/>
- <source> (group, arrayname, key, value)</source>
- <translation> (Gruppe, Array, Schlüssel, Wert)</translation>
+ <location filename="../../libs/installer/fileutils.cpp" line="295"/>
+ <location filename="../../libs/installer/fileutils.cpp" line="321"/>
+ <source>Could not create folder %1</source>
+ <translation>Konnte Ordner %1 nicht anlegen.</translation>
</message>
<message>
- <location filename="../../libs/installer/addqtcreatorarrayvalueoperation.cpp" line="80"/>
- <location filename="../../libs/installer/addqtcreatorarrayvalueoperation.cpp" line="138"/>
- <source>Needed installer object in %1 operation is empty.</source>
- <translation>Das für die Anweisung %1 benötigte Installerobjekt ist leer.</translation>
+ <location filename="../../libs/installer/fileutils.cpp" line="308"/>
+ <source>Could not copy file from %1 to %2: %3</source>
+ <translation>Konnte Datei %1 nicht nach %2 kopieren. Fehlermeldung: %3</translation>
</message>
<message>
- <location filename="../../libs/installer/addqtcreatorarrayvalueoperation.cpp" line="87"/>
- <source>There is no value set for %1 on the installer object.</source>
- <translation>Es wurde kein Wert %1 auf dem Installer Objekt gesetzt.</translation>
+ <location filename="../../libs/installer/fileutils.cpp" line="337"/>
+ <source>Could not move file from %1 to %2: %3</source>
+ <translation>Konnte Datei %1 nicht nach %2 verschieben. Fehlermeldung: %3</translation>
</message>
-</context>
-<context>
- <name>QInstaller::Component</name>
<message>
- <source>Could not open the requested script file at %1: %2.</source>
- <translation type="obsolete">Konnte angeforderte Skriptdatei %1 nicht öffnen. Fehlermeldung: %2</translation>
+ <location filename="../../libs/installer/fileutils.cpp" line="349"/>
+ <location filename="../../libs/installer/fileutils.cpp" line="358"/>
+ <source>Could not create folder %1: %2</source>
+ <translation>Konnte Ordner %1 nicht anlegen. Fehlermeldung: %2</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/fileutils.cpp" line="368"/>
+ <source>Could not open temporary file: %1</source>
+ <translation>Konnte temporäre Datei nicht öffnen. Fehlermeldung: %1</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/fileutils.cpp" line="387"/>
+ <source>Could not open temporary file for template %1: %2</source>
+ <translation>Konnte keine temporäre Datei für die Vorlage %1 öffnen. Fehlermeldung: %2</translation>
</message>
<message>
- <source>Exception while loading the component script: %1</source>
- <translation type="obsolete">Ausnahme beim Laden des Komponentenskripts: %1</translation>
+ <location filename="../../libs/installer/binarycontent.cpp" line="103"/>
+ <source>No marker found, stopped after %1.</source>
+ <translation>Keine Markierung gefunden, abgebrochen nach %1.</translation>
</message>
<message>
- <source>Could not open the requested translation file at %1</source>
- <translation type="obsolete">Konnte angeforderte Übersetzungsdatei %1 nicht öffnen. Fehlermeldung: %2</translation>
+ <location filename="../../libs/installer/fileio.cpp" line="110"/>
+ <source>Cannot open file %1 for reading: %2</source>
+ <translation>Konnte Datei %1 nicht zum Lesen öffnen. Fehlermeldung: %2</translation>
</message>
<message>
- <source>Could not open the requested UI file at %1: %2</source>
- <translation type="obsolete">Konnte angeforderte UI-Datei %1 nicht öffnen. Fehlermeldung: %2</translation>
+ <location filename="../../libs/installer/fileio.cpp" line="119"/>
+ <location filename="../../libs/installer/fileio.cpp" line="128"/>
+ <source>Cannot open file %1 for writing: %2</source>
+ <translation>Konnte Datei %1 nicht zum Schreiben öffnen. Fehlermeldung: %2</translation>
</message>
<message>
- <source>Could not open the requested license file at %1: %2</source>
- <translation type="obsolete">Konnte angeforderte Lizenzdatei %1 nicht öffnen. Fehlermeldung: %2</translation>
+ <location filename="../../libs/installer/fileio.cpp" line="141"/>
+ <source>Read failed after %1 bytes: %2</source>
+ <translation>Das Lesen ist nach %1 Bytes fehlgeschlagen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/installer/component.cpp" line="538"/>
+ <location filename="../../libs/installer/fileio.cpp" line="163"/>
+ <source>Copy failed. Error: %1</source>
+ <translation>Kopieren schlug fehl. Fehlermeldung: %1</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/fileio.cpp" line="181"/>
+ <source>Write failed after %1 bytes: %2</source>
+ <translation>Das Schreiben ist nach %1 Bytes fehlgeschlagen. Fehlermeldung: %2</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="210"/>
+ <source>Could not create temporary file</source>
+ <translation>Konnte temporäre Datei nicht anlegen.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="230"/>
+ <source>Could not retrieve property %1 for item %2</source>
+ <translation>Konnte Eigenschaft %1 von %2 nicht erhalten.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="259"/>
+ <source>Property %1 for item %2 not of type VT_FILETIME but %3</source>
+ <translation>Eigenschaft %1 von %2 ist nicht vom Typ VT_FILETIME, sondern vom Typ %3.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="279"/>
+ <source>Could not convert file time to local time</source>
+ <translation>Konnte die Dateizeit nicht in die lokale Zeit umwandeln.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/lib7z_facade.cpp" line="284"/>
+ <source>Could not convert local file time to system time</source>
+ <translation>Konnte die lokale Dateizeit nicht in die Systemzeit umwandeln.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="725"/>
+ <source>Corrupt installation</source>
+ <translation>Installation beschädigt</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="726"/>
+ <source>Your installation seems to be corrupted. Please consider re-installing from scratch.</source>
+ <translation>Ihre Installation scheint beschädigt zu sein. Komplette Neuinstallation empfohlen.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/utils.cpp" line="393"/>
+ <source>The specified module could not be found.</source>
+ <translation>Das angegebene Modul konnte nicht gefunden werden.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::Component</name>
+ <message>
+ <location filename="../../libs/installer/component.cpp" line="428"/>
+ <source>Components cannot have children in updater mode.</source>
+ <translation>Komponenten können im Updater Modus keine Kinder haben.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/component.cpp" line="555"/>
<source>Could not open the requested translation file &apos;%1&apos;.</source>
<translation>Konnte angeforderte Übersetzungsdatei %1 nicht öffnen.</translation>
</message>
<message>
- <location filename="../../libs/installer/component.cpp" line="562"/>
+ <location filename="../../libs/installer/component.cpp" line="574"/>
<source>Could not open the requested UI file &apos;%1&apos;. Error: %2</source>
<translation>Konnte angeforderte UI-Datei &apos;%1&apos; nicht öffnen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/installer/component.cpp" line="571"/>
+ <location filename="../../libs/installer/component.cpp" line="583"/>
<source>Could not load the requested UI file &apos;%1&apos;. Error: %2</source>
<translation>Konnte angeforderte UI-Datei &apos;%1&apos; nicht laden. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/installer/component.cpp" line="573"/>
- <source>An error has occurred while reading the UI file.</source>
- <translation>Es trat ein Fehler beim Lesen der UI Datei auf.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/component.cpp" line="603"/>
+ <location filename="../../libs/installer/component.cpp" line="611"/>
<source>Could not open the requested license file &apos;%1&apos;. Error: %2</source>
<translation>Konnte angeforderte Lizenzdatei &apos;%1&apos; nicht öffnen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/installer/component.cpp" line="988"/>
+ <location filename="../../libs/installer/component.cpp" line="991"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../../libs/installer/component.cpp" line="988"/>
+ <location filename="../../libs/installer/component.cpp" line="991"/>
<source>Error: Operation %1 does not exist</source>
<translation>Fehler: Anweisung %1 existiert nicht.</translation>
</message>
<message>
- <location filename="../../libs/installer/component.cpp" line="1207"/>
- <source>Cannot resolve isAutoDependOn in %1</source>
- <translation>Kann isAutoDependOn in %1 nicht auflösen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/component.cpp" line="1257"/>
+ <location filename="../../libs/installer/component.cpp" line="1237"/>
<source>Cannot resolve isDefault in %1</source>
<translation>Kann isDefault in %1 nicht auflösen.</translation>
</message>
<message>
- <source>Can&apos;t resolve isAutoDependOn in %1</source>
- <translation type="obsolete">Kann isAutoDependOn in %1 nicht auflösen.</translation>
- </message>
- <message>
- <source>Can&apos;t resolve isDefault in %1</source>
- <translation type="obsolete">Kann isDefault in %1 nicht auflösen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/component.cpp" line="1422"/>
+ <location filename="../../libs/installer/component.cpp" line="1411"/>
<source>Update Info: </source>
<translation>Aktualisierungsinformation: </translation>
</message>
@@ -997,27 +1098,27 @@
<context>
<name>QInstaller::ComponentModel</name>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="2467"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="2448"/>
<source>Component Name</source>
<translation>Komponentenname</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="2469"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="2450"/>
<source>Installed Version</source>
<translation>Installierte Version</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="2471"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="2452"/>
<source>New Version</source>
<translation>Neue Version</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="2473"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="2454"/>
<source>Release Date</source>
<translation>Veröffentlichungsdatum</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="2475"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="2456"/>
<source>Size</source>
<translation>Grösse</translation>
</message>
@@ -1025,76 +1126,76 @@
<context>
<name>QInstaller::ComponentSelectionPage</name>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1070"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1445"/>
<source>Alt+A</source>
<comment>select default components</comment>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1072"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1447"/>
<source>Def&amp;ault</source>
<translation>St&amp;andard</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1076"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1451"/>
<source>Alt+R</source>
<comment>reset to already installed components</comment>
<translation>Alt+Z</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1078"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1453"/>
<source>&amp;Reset</source>
<translation>&amp;Zurücksetzen</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1087"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1462"/>
<source>Alt+S</source>
<comment>select all components</comment>
<translation>Alt+S</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1089"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1464"/>
<source>&amp;Select All</source>
<translation>Alle au&amp;swählen</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1095"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1470"/>
<source>Alt+D</source>
<comment>deselect all components</comment>
<translation>Alt+B</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1097"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1472"/>
<source>&amp;Deselect All</source>
<translation>Alle a&amp;bwählen</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1153"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1528"/>
<source>This component will occupy approximately %1 on your hard disk drive.</source>
<translation>Diese Komponente wird ungefähr %1 auf Ihrer Festplatte belegen.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1221"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1597"/>
<source>Select Components</source>
<translation>Komponenten auswählen</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1232"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1608"/>
<source>Please select the components you want to update.</source>
<translation>Bitte wählen Sie die Komponenten aus, die Sie aktualisieren möchten.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1233"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1609"/>
<source>Please select the components you want to install.</source>
<translation>Bitte wählen Sie die Komponenten aus, die Sie installieren möchten.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1234"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1610"/>
<source>Please select the components you want to uninstall.</source>
<translation>Bitte wählen Sie die Komponenten aus, die Sie entfernen möchten.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1235"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1611"/>
<source>Select the components to install. Deselect installed components to uninstall them.</source>
<translation>Bitte wählen Sie die Komponenten aus, die Sie installieren möchten. Wählen Sie die Komponenten ab, die Sie entfernen möchten.</translation>
</message>
@@ -1102,32 +1203,32 @@
<context>
<name>QInstaller::ConsumeOutputOperation</name>
<message>
- <location filename="../../libs/installer/consumeoutputoperation.cpp" line="71"/>
+ <location filename="../../libs/installer/consumeoutputoperation.cpp" line="64"/>
<source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
<translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
</message>
<message>
- <location filename="../../libs/installer/consumeoutputoperation.cpp" line="72"/>
+ <location filename="../../libs/installer/consumeoutputoperation.cpp" line="65"/>
<source>at least 2</source>
<translation>mindestens 2</translation>
</message>
<message>
- <location filename="../../libs/installer/consumeoutputoperation.cpp" line="80"/>
+ <location filename="../../libs/installer/consumeoutputoperation.cpp" line="73"/>
<source>Needed installer object in %1 operation is empty.</source>
<translation>Das für die Anweisung %1 benötigte Installerobjekt ist leer.</translation>
</message>
<message>
- <location filename="../../libs/installer/consumeoutputoperation.cpp" line="87"/>
+ <location filename="../../libs/installer/consumeoutputoperation.cpp" line="80"/>
<source>Can not save the output of %1 to an empty installer key value.</source>
<translation>Konnte die Ausgabe von %1 nicht in einen leeren Schlüsselwert des Installers speichern.</translation>
</message>
<message>
- <location filename="../../libs/installer/consumeoutputoperation.cpp" line="101"/>
+ <location filename="../../libs/installer/consumeoutputoperation.cpp" line="94"/>
<source>File &apos;%1&apos; does not exist or is not an executable binary.</source>
<translation>Datei &apos;%1&apos; existiert nicht oder ist keine ausführbare Binärdatei.</translation>
</message>
<message>
- <location filename="../../libs/installer/consumeoutputoperation.cpp" line="122"/>
+ <location filename="../../libs/installer/consumeoutputoperation.cpp" line="115"/>
<source>Running &apos;%1&apos; resulted in a crash.</source>
<translation>Ausführen von &apos;%1&apos; führte zu einem Absturz.</translation>
</message>
@@ -1135,70 +1236,98 @@
<context>
<name>QInstaller::CopyDirectoryOperation</name>
<message>
- <location filename="../../libs/installer/copydirectoryoperation.cpp" line="80"/>
+ <location filename="../../libs/installer/copydirectoryoperation.cpp" line="70"/>
<source>2 or 3</source>
<translation>2 oder 3</translation>
</message>
<message>
- <location filename="../../libs/installer/copydirectoryoperation.cpp" line="79"/>
+ <location filename="../../libs/installer/copydirectoryoperation.cpp" line="69"/>
<source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
<translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
</message>
<message>
- <location filename="../../libs/installer/copydirectoryoperation.cpp" line="80"/>
+ <location filename="../../libs/installer/copydirectoryoperation.cpp" line="70"/>
<source> (&lt;source&gt; &lt;target&gt; [forceOverwrite])</source>
<translation> (&lt;Quelle&gt; &lt;Ziel&gt; [forceOverwrite])</translation>
</message>
<message>
- <location filename="../../libs/installer/copydirectoryoperation.cpp" line="93"/>
+ <location filename="../../libs/installer/copydirectoryoperation.cpp" line="83"/>
<source>Invalid argument in %0: Third argument needs to be forceOverwrite, if specified</source>
<translation>Ungültiges Argument in %0: Drittes Argument muss forceOverwrite sein, wenn es angegeben wird</translation>
</message>
<message>
- <location filename="../../libs/installer/copydirectoryoperation.cpp" line="103"/>
+ <location filename="../../libs/installer/copydirectoryoperation.cpp" line="93"/>
<source>Invalid arguments in %0: Directories are invalid: %1 %2</source>
<translation>Ungültige Argumentein %0: Ordner %1 und %2 ungültig.</translation>
</message>
<message>
- <location filename="../../libs/installer/copydirectoryoperation.cpp" line="136"/>
+ <location filename="../../libs/installer/copydirectoryoperation.cpp" line="126"/>
<source>Could not create %0</source>
<translation>Konnte Ordner &quot;%1&quot; nicht anlegen.</translation>
</message>
<message>
- <location filename="../../libs/installer/copydirectoryoperation.cpp" line="143"/>
+ <location filename="../../libs/installer/copydirectoryoperation.cpp" line="133"/>
<source>Failed to overwrite %1</source>
<translation>Konnte Datei %1 nicht überschreiben</translation>
</message>
<message>
- <location filename="../../libs/installer/copydirectoryoperation.cpp" line="149"/>
+ <location filename="../../libs/installer/copydirectoryoperation.cpp" line="139"/>
<source>Could not copy %0 to %1, error was: %3</source>
<translation>Konnte %0 nicht nach %1 kopieren. Fehlermeldung: %3</translation>
</message>
<message>
- <location filename="../../libs/installer/copydirectoryoperation.cpp" line="170"/>
+ <location filename="../../libs/installer/copydirectoryoperation.cpp" line="160"/>
<source>Could not remove %0</source>
<translation>Konnte Datei %0 nicht löschen.</translation>
</message>
</context>
<context>
+ <name>QInstaller::CopyFileTask</name>
+ <message>
+ <location filename="../../libs/installer/copyfiletask.cpp" line="63"/>
+ <source>Invalid task item count.</source>
+ <translation>Ungültige Anzahl task items.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/copyfiletask.cpp" line="72"/>
+ <source>Could not open source &apos;%1&apos; for read. Error: %2.</source>
+ <translation>Konnte Quelle &apos;%1&apos; nicht zum Lesen öffnen. Fehlermeldung: %2.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/copyfiletask.cpp" line="88"/>
+ <source>Could not open target &apos;%1&apos; for write. Error: %2.</source>
+ <translation>Konnte Ziel &apos;%1&apos; nicht zum Schreiben öffnen. Fehlermeldung: %2.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/copyfiletask.cpp" line="105"/>
+ <source>Writing to target &apos;%1&apos; failed. Error: %2.</source>
+ <translation>Konnte Datei &apos;%1&apos; nicht zum Schreiben öffnen. Fehlermeldung: %2</translation>
+ </message>
+</context>
+<context>
<name>QInstaller::CreateDesktopEntryOperation</name>
<message>
- <location filename="../../libs/installer/createdesktopentryoperation.cpp" line="145"/>
+ <location filename="../../libs/installer/createdesktopentryoperation.cpp" line="125"/>
+ <source>Could not backup file %1: %2</source>
+ <translation>Konnte Datei %1 nicht sichern. Fehlermeldung: %2</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/createdesktopentryoperation.cpp" line="133"/>
<source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
<translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
</message>
<message>
- <location filename="../../libs/installer/createdesktopentryoperation.cpp" line="146"/>
+ <location filename="../../libs/installer/createdesktopentryoperation.cpp" line="134"/>
<source>exactly 2</source>
<translation>genau 2</translation>
</message>
<message>
- <location filename="../../libs/installer/createdesktopentryoperation.cpp" line="155"/>
+ <location filename="../../libs/installer/createdesktopentryoperation.cpp" line="144"/>
<source>Failed to overwrite %1</source>
<translation>Konnte Datei %1 nicht überschreiben.</translation>
</message>
<message>
- <location filename="../../libs/installer/createdesktopentryoperation.cpp" line="162"/>
+ <location filename="../../libs/installer/createdesktopentryoperation.cpp" line="150"/>
<source>Could not write Desktop Entry at %1</source>
<translation>Konnte keinen Eintrag %1 auf dem Arbeitsplatz anlegen.</translation>
</message>
@@ -1206,50 +1335,65 @@
<context>
<name>QInstaller::CreateLinkOperation</name>
<message>
- <location filename="../../libs/installer/createlinkoperation.cpp" line="68"/>
+ <location filename="../../libs/installer/createlinkoperation.cpp" line="57"/>
<source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
<translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
</message>
<message>
- <location filename="../../libs/installer/createlinkoperation.cpp" line="69"/>
+ <location filename="../../libs/installer/createlinkoperation.cpp" line="58"/>
<source>exactly 2</source>
<translation>genau 2</translation>
</message>
+ <message>
+ <location filename="../../libs/installer/createlinkoperation.cpp" line="68"/>
+ <source>Could not create link from %1 to %2.</source>
+ <translation>Konnte keinen Link von %1 nach %2 erstellen.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/createlinkoperation.cpp" line="88"/>
+ <source>Could not remove link from %1 to %2.</source>
+ <translation>Konnte Link von %1 nach %2 nicht entfernen.</translation>
+ </message>
</context>
<context>
<name>QInstaller::CreateLocalRepositoryOperation</name>
<message>
- <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="94"/>
+ <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="91"/>
<source>Could not set file permissions %1!</source>
<translation>Konnte Dateirechte auf Datei %1 nicht setzen!</translation>
</message>
<message>
- <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="131"/>
+ <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="112"/>
+ <source>Could not remove file %1: %2</source>
+ <translation>Konnte Datei %1 nicht löschen. Fehlermeldung: %2</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="130"/>
<source>Could not move file %1 to %2. Error: %3</source>
<translation>Konnte Datei %1 nicht nach %2 verschieben. Fehlermeldung: %3</translation>
</message>
<message>
- <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="160"/>
+ <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="159"/>
<source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
<translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
</message>
<message>
- <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="161"/>
+ <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="160"/>
<source>exactly 2</source>
<translation>genau 2</translation>
</message>
<message>
- <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="173"/>
+ <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="172"/>
<source>Installer needs to be an offline version: %1.</source>
<translation>Installer muss eine offline Version sein: %1.</translation>
</message>
<message>
- <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="216"/>
+ <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="215"/>
<source>Could not open file: %1</source>
<translation>Konnte Datei %1 nicht öffnen.</translation>
</message>
<message>
- <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="222"/>
+ <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="221"/>
<source>Could not read: %1. Error: %2</source>
<translation>Konnte Datei %1 nicht lesen. Fehlermeldung: %2</translation>
</message>
@@ -1259,28 +1403,28 @@
<translation>Konnte Datei %1 nicht öffnen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="309"/>
+ <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="269"/>
<source>Could not create target dir: %1.</source>
<translation>Konnte Zielordner %1. nicht anlegen.</translation>
</message>
<message>
- <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="338"/>
+ <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="322"/>
<source>Unknown exception caught: %1.</source>
<translation>Unbekannte Ausnahmebedingung: %1</translation>
</message>
<message>
- <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="354"/>
+ <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="338"/>
<source>Removing file: %0</source>
<translation>Entferne Datei %0</translation>
</message>
<message>
- <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="357"/>
+ <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="341"/>
<source>Could not remove %0.</source>
<translation>Konnte Datei %0. nicht löschen.</translation>
</message>
<message>
- <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="376"/>
- <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="380"/>
+ <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="360"/>
+ <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="364"/>
<source>Cannot remove directory %1: %2</source>
<translation>Konnte Ordner %1 nicht löschen. Fehlermeldung: %2</translation>
</message>
@@ -1288,32 +1432,33 @@
<context>
<name>QInstaller::CreateShortcutOperation</name>
<message>
- <location filename="../../libs/installer/createshortcutoperation.cpp" line="197"/>
+ <location filename="../../libs/installer/createshortcutoperation.cpp" line="190"/>
<source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
<translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
</message>
<message>
- <location filename="../../libs/installer/createshortcutoperation.cpp" line="198"/>
+ <location filename="../../libs/installer/createshortcutoperation.cpp" line="191"/>
<source>2 or 3</source>
<translation>2 oder 3</translation>
</message>
<message>
- <location filename="../../libs/installer/createshortcutoperation.cpp" line="199"/>
+ <location filename="../../libs/installer/createshortcutoperation.cpp" line="192"/>
<source> (optional: &apos;workingDirectory=...&apos;, &apos;iconPath=...&apos;, &apos;iconId=...&apos;)</source>
<translation> (optional: &apos;workingDirectory=...&apos;, &apos;iconPath=...&apos;, &apos;iconId=...&apos;)</translation>
</message>
<message>
- <source> (optional: &apos;workingDirectory=...&apos;)</source>
- <translation type="obsolete"> (optional: &apos;workingDirectory=...&apos;)</translation>
- </message>
- <message>
- <location filename="../../libs/installer/createshortcutoperation.cpp" line="215"/>
- <location filename="../../libs/installer/createshortcutoperation.cpp" line="219"/>
+ <location filename="../../libs/installer/createshortcutoperation.cpp" line="208"/>
+ <location filename="../../libs/installer/createshortcutoperation.cpp" line="212"/>
<source>Could not create folder %1: %2.</source>
<translation>Konnte Ordner %1 nicht anlegen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/installer/createshortcutoperation.cpp" line="237"/>
+ <location filename="../../libs/installer/createshortcutoperation.cpp" line="222"/>
+ <source>Failed to overwrite %1: %2</source>
+ <translation>Konnte Datei %1 nicht überschreiben. Fehlermeldung: %2</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/createshortcutoperation.cpp" line="230"/>
<source>Could not create link %1: %2</source>
<translation>Konnte Verweis %1 nicht anlegen. Fehlermeldung: %2</translation>
</message>
@@ -1321,101 +1466,148 @@
<context>
<name>QInstaller::DownloadArchivesJob</name>
<message>
- <location filename="../../libs/installer/downloadarchivesjob.cpp" line="117"/>
- <location filename="../../libs/installer/downloadarchivesjob.cpp" line="164"/>
+ <location filename="../../libs/installer/downloadarchivesjob.cpp" line="110"/>
+ <location filename="../../libs/installer/downloadarchivesjob.cpp" line="156"/>
<source>Canceled</source>
<translation>Abgebrochen</translation>
</message>
<message>
- <location filename="../../libs/installer/downloadarchivesjob.cpp" line="153"/>
+ <location filename="../../libs/installer/downloadarchivesjob.cpp" line="146"/>
<source>Downloading hash signature failed.</source>
<translation>Herunterladen der Prüfsumme fehlgeschlagen.</translation>
</message>
<message>
- <location filename="../../libs/installer/downloadarchivesjob.cpp" line="227"/>
- <location filename="../../libs/installer/downloadarchivesjob.cpp" line="266"/>
+ <location filename="../../libs/installer/downloadarchivesjob.cpp" line="219"/>
+ <location filename="../../libs/installer/downloadarchivesjob.cpp" line="254"/>
<source>Download Error</source>
<translation>Fehler beim Herunterladen</translation>
</message>
<message>
- <location filename="../../libs/installer/downloadarchivesjob.cpp" line="227"/>
+ <location filename="../../libs/installer/downloadarchivesjob.cpp" line="219"/>
<source>Hash verification while downloading failed. This is a temporary error, please retry.</source>
<translation>Prüfsumme ungültig beim Herunterladen. Dies ist ein kurzzeitiger Fehler, bitte erneut versuchen.</translation>
</message>
<message>
- <location filename="../../libs/installer/downloadarchivesjob.cpp" line="232"/>
+ <location filename="../../libs/installer/downloadarchivesjob.cpp" line="224"/>
<source>Could not verify Hash</source>
<translation>Prüfsumme konnte nicht geprüft werden.</translation>
</message>
<message>
- <location filename="../../libs/installer/downloadarchivesjob.cpp" line="266"/>
+ <location filename="../../libs/installer/downloadarchivesjob.cpp" line="254"/>
<source>Could not download archive: %1 : %2</source>
<translation>Konnte Archiv %1 nicht herunterladen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/installer/downloadarchivesjob.cpp" line="278"/>
+ <location filename="../../libs/installer/downloadarchivesjob.cpp" line="266"/>
<source>Could not fetch archives: %1
Error while loading %2</source>
<translation>Konnte Archiv nicht laden. Fehler: %1
Fehler beim Laden von %2</translation>
</message>
<message>
- <location filename="../../libs/installer/downloadarchivesjob.cpp" line="317"/>
+ <location filename="../../libs/installer/downloadarchivesjob.cpp" line="305"/>
<source>Downloading archive &apos;%1&apos; for component: %2</source>
<translation>Archiv &apos;%1&apos; für Komponente %2 wird heruntergeladen.</translation>
</message>
<message>
- <source>Downloading archive hash for component: %1</source>
- <translation type="vanished">Prüfsumme für Komponente %1 wird heruntergeladen.</translation>
- </message>
- <message>
- <source>Downloading archive for component: %1</source>
- <translation type="vanished">Archiv für Komponente %1 wird heruntergeladen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/downloadarchivesjob.cpp" line="320"/>
+ <location filename="../../libs/installer/downloadarchivesjob.cpp" line="308"/>
<source>Scheme not supported: %1 (%2)</source>
<translation>Schema &quot;%1&quot; nicht unterstützt in &quot;%2&quot;.</translation>
</message>
<message>
- <location filename="../../libs/installer/downloadarchivesjob.cpp" line="323"/>
+ <location filename="../../libs/installer/downloadarchivesjob.cpp" line="311"/>
<source>Could not find component for: %1.</source>
<translation>Konnte keine Komponente für Datei %1 finden.</translation>
</message>
</context>
<context>
+ <name>QInstaller::Downloader</name>
+ <message>
+ <location filename="../../libs/installer/downloadfiletask.cpp" line="126"/>
+ <source>Target &apos;%1&apos; not open for write. Error: %2.</source>
+ <extracomment>%2 is a sentence describing the error.</extracomment>
+ <translation>Ziel &apos;%1&apos; nicht zum Schreiben geöffnet. Fehlermeldung: %2.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/downloadfiletask.cpp" line="145"/>
+ <source>Writing to target &apos;%1&apos; failed. Error: %2.</source>
+ <extracomment>%2 is a sentence describing the error.</extracomment>
+ <translation>Schreiben in Datei &apos;%1&apos; fehlgeschlagen. Fehlermeldung: %2.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/downloadfiletask.cpp" line="194"/>
+ <source>Redirect loop detected &apos;%1&apos;.</source>
+ <translation>Schleife in Umleitung erkannt &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/downloadfiletask.cpp" line="211"/>
+ <source>Checksum mismatch detected &apos;%1&apos;.</source>
+ <translation>Checksumme stimmt nicht überein &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/downloadfiletask.cpp" line="245"/>
+ <source>Network error while downloading &apos;%1&apos;: %2.</source>
+ <extracomment>%2 is a sentence describing the error</extracomment>
+ <translation>Netzwerkfehler beim Herunterladen von &apos;%1&apos;: %2.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/downloadfiletask.cpp" line="250"/>
+ <source>Unknown network error while downloading: %1.</source>
+ <extracomment>%1 is a sentence describing the error</extracomment>
+ <translation>Unbekannter Netzwerkfehler beim Herunterladen: &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/downloadfiletask.cpp" line="315"/>
+ <source>Pause and resume not supported by network transfers.</source>
+ <translation>Pause und Fortsetzen werden bei Netzwerkübertragungen nicht unterstützt.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/downloadfiletask.cpp" line="325"/>
+ <source>Invalid source &apos;%1&apos;. Error: %2.</source>
+ <extracomment>%2 is a sentence describing the error</extracomment>
+ <translation>Ungültige Quelle &apos;%1&apos;. Fehler: %2.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/downloadfiletask.cpp" line="342"/>
+ <source>Target file &apos;%1&apos; already exists but is not a file.</source>
+ <translation>Zieldatei &apos;%1&apos; existiert bereits aber ist keine Datei.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/downloadfiletask.cpp" line="350"/>
+ <source>Could not open target &apos;%1&apos; for write. Error: %2.</source>
+ <extracomment>%2 is a sentence describing the error</extracomment>
+ <translation>Konnte Ziel &apos;%1&apos; nicht zum Schreiben öffnen. Fehler: %2.</translation>
+ </message>
+</context>
+<context>
<name>QInstaller::ElevatedExecuteOperation</name>
<message>
- <location filename="../../libs/installer/elevatedexecuteoperation.cpp" line="92"/>
+ <location filename="../../libs/installer/elevatedexecuteoperation.cpp" line="85"/>
<source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
<translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
</message>
<message>
- <location filename="../../libs/installer/elevatedexecuteoperation.cpp" line="93"/>
+ <location filename="../../libs/installer/elevatedexecuteoperation.cpp" line="86"/>
<source>at least 1</source>
<translation>mindestens 1</translation>
</message>
<message>
- <location filename="../../libs/installer/elevatedexecuteoperation.cpp" line="155"/>
+ <location filename="../../libs/installer/elevatedexecuteoperation.cpp" line="148"/>
<source>Execution failed: Could not start detached: &quot;%1&quot;</source>
<translation>Ausführung fehlgeschlagen: Konnte %1 nicht detached starten.</translation>
</message>
<message>
- <location filename="../../libs/installer/elevatedexecuteoperation.cpp" line="207"/>
+ <location filename="../../libs/installer/elevatedexecuteoperation.cpp" line="200"/>
<source>Execution failed: Could not start: &quot;%1&quot;(%2)</source>
<translation>Ausführung fehlgeschlagen: Konnte &apos;%1&apos; nicht starten. Fehlermeldung: %2</translation>
</message>
<message>
- <source>Execution failed: Could not start: &quot;%1&quot;</source>
- <translation type="obsolete">Ausführung fehlgeschlagen: Konnte %1 nicht starten.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/elevatedexecuteoperation.cpp" line="223"/>
+ <location filename="../../libs/installer/elevatedexecuteoperation.cpp" line="216"/>
<source>Execution failed(Crash): &quot;%1&quot;</source>
<translation>Ausführung fehlgeschlagen (Absturz): &quot;%1&quot;</translation>
</message>
<message>
- <location filename="../../libs/installer/elevatedexecuteoperation.cpp" line="230"/>
+ <location filename="../../libs/installer/elevatedexecuteoperation.cpp" line="223"/>
<source>Execution failed(Unexpected exit code: %1): &quot;%2&quot;</source>
<translation>Ausführung fehlgeschlagen (Unerwarteter Fehlercode %1): &quot;%2&quot;</translation>
</message>
@@ -1423,29 +1615,25 @@ Fehler beim Laden von %2</translation>
<context>
<name>QInstaller::EnvironmentVariableOperation</name>
<message>
- <location filename="../../libs/installer/environmentvariablesoperation.cpp" line="138"/>
+ <location filename="../../libs/installer/environmentvariablesoperation.cpp" line="127"/>
<source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
<translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
</message>
<message>
- <location filename="../../libs/installer/environmentvariablesoperation.cpp" line="139"/>
+ <location filename="../../libs/installer/environmentvariablesoperation.cpp" line="128"/>
<source>2 to 4</source>
<translation>2 bis 4</translation>
</message>
- <message>
- <source>2 or 3</source>
- <translation type="obsolete">2 oder 3</translation>
- </message>
</context>
<context>
<name>QInstaller::ExtractArchiveOperation</name>
<message>
- <location filename="../../libs/installer/extractarchiveoperation.cpp" line="67"/>
+ <location filename="../../libs/installer/extractarchiveoperation.cpp" line="60"/>
<source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
<translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
</message>
<message>
- <location filename="../../libs/installer/extractarchiveoperation.cpp" line="68"/>
+ <location filename="../../libs/installer/extractarchiveoperation.cpp" line="61"/>
<source>exactly 2</source>
<translation>genau 2</translation>
</message>
@@ -1453,25 +1641,17 @@ Fehler beim Laden von %2</translation>
<context>
<name>QInstaller::ExtractArchiveOperation::Runnable</name>
<message>
- <location filename="../../libs/installer/extractarchiveoperation_p.h" line="193"/>
+ <location filename="../../libs/installer/extractarchiveoperation_p.h" line="186"/>
<source>Could not open %1 for reading: %2.</source>
<translation>Konnte Datei %1 nicht zum Lesen öffnen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/installer/extractarchiveoperation_p.h" line="201"/>
+ <location filename="../../libs/installer/extractarchiveoperation_p.h" line="194"/>
<source>Error while extracting &apos;%1&apos;: %2</source>
<translation>Fehler beim Auspacken von &apos;%1&apos;. Fehlermeldung: %2</translation>
</message>
<message>
- <source>Error while extracting %1: %2. (Maybe the target dir(%3) is blocked by another process.)</source>
- <translation type="obsolete">Fehler beim Auspacken von %1. Fehlermeldung: %2 (Eventuell ist das Zielverzeichnis &quot;%3&quot; durch einen anderen Prozess blockiert.)</translation>
- </message>
- <message>
- <source>Error while extracting %1: %2.</source>
- <translation type="obsolete">Fehler beim Auspacken von %1. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/extractarchiveoperation_p.h" line="203"/>
+ <location filename="../../libs/installer/extractarchiveoperation_p.h" line="196"/>
<source>Unknown exception caught while extracting %1.</source>
<translation>Beim Auspacken von %1 trat eine unbekannte Ausnahmebedingung auf.</translation>
</message>
@@ -1479,83 +1659,82 @@ Fehler beim Laden von %2</translation>
<context>
<name>QInstaller::FakeStopProcessForUpdateOperation</name>
<message>
- <source>These processes should be stopped to continue:
-
-%1</source>
- <translation type="obsolete">Diese Prozesse sollten beendet werden, um fortsetzen zu können:
-
-%1</translation>
- </message>
-</context>
-<context>
- <name>QInstaller::FileTaskObserver</name>
- <message>
- <location filename="../../libs/installer/observer.cpp" line="78"/>
- <source> of </source>
- <translation> von </translation>
- </message>
- <message>
- <location filename="../../libs/installer/observer.cpp" line="81"/>
- <source> received.</source>
- <translation> empfangen.</translation>
+ <location filename="../../libs/installer/fakestopprocessforupdateoperation.cpp" line="61"/>
+ <source>Number of arguments does not match: one is required</source>
+ <translation>Unpassende Anzahl Argumente: Genau eins wird verlangt</translation>
</message>
<message>
- <location filename="../../libs/installer/observer.cpp" line="84"/>
- <source>/sec</source>
- <translation>/s</translation>
+ <location filename="../../libs/installer/fakestopprocessforupdateoperation.cpp" line="68"/>
+ <source>Could not get package manager core.</source>
+ <translation>Konnte PackageManagerCore nicht erhalten.</translation>
</message>
<message>
- <location filename="../../libs/installer/observer.cpp" line="96"/>
- <source> day</source>
- <translation> Tag</translation>
+ <location filename="../../libs/installer/fakestopprocessforupdateoperation.cpp" line="83"/>
+ <source>This process should be stopped before continuing: %1</source>
+ <translation>Dieser Prozess sollte beendet werden, um fortsetzen zu können: %1</translation>
</message>
<message>
- <location filename="../../libs/installer/observer.cpp" line="96"/>
- <source> days</source>
- <translation> Tage</translation>
+ <location filename="../../libs/installer/fakestopprocessforupdateoperation.cpp" line="87"/>
+ <source>These processes should be stopped before continuing: %1</source>
+ <translation>Diese Prozesse sollten beendet werden, um fortsetzen zu können: %1</translation>
</message>
+</context>
+<context>
+ <name>QInstaller::FileTaskObserver</name>
<message>
- <location filename="../../libs/installer/observer.cpp" line="100"/>
- <source> hour</source>
- <translation> Stunde</translation>
+ <location filename="../../libs/installer/observer.cpp" line="71"/>
+ <source>%1 of %2</source>
+ <translation>%1 von %2</translation>
</message>
<message>
- <location filename="../../libs/installer/observer.cpp" line="100"/>
- <source> hours</source>
- <translation> Stunden</translation>
+ <location filename="../../libs/installer/observer.cpp" line="74"/>
+ <source>%1 received.</source>
+ <translation>%1 empfangen.</translation>
</message>
<message>
- <location filename="../../libs/installer/observer.cpp" line="104"/>
- <source> minute</source>
- <translation> Minute</translation>
+ <location filename="../../libs/installer/observer.cpp" line="79"/>
+ <source>(%1/sec)</source>
+ <translation>(%1/s)</translation>
</message>
- <message>
- <location filename="../../libs/installer/observer.cpp" line="104"/>
- <source> minutes</source>
- <translation> Minuten</translation>
+ <message numerus="yes">
+ <location filename="../../libs/installer/observer.cpp" line="90"/>
+ <source>%n day(s), </source>
+ <translation>
+ <numerusform>%n Tag, </numerusform>
+ <numerusform>%n Tage, </numerusform>
+ </translation>
</message>
- <message>
- <location filename="../../libs/installer/observer.cpp" line="109"/>
- <source> second</source>
- <translation> Sekunde</translation>
+ <message numerus="yes">
+ <location filename="../../libs/installer/observer.cpp" line="94"/>
+ <source>%n hour(s), </source>
+ <translation>
+ <numerusform>%n Stunde, </numerusform>
+ <numerusform>%n Stunden, </numerusform>
+ </translation>
</message>
- <message>
- <location filename="../../libs/installer/observer.cpp" line="109"/>
- <source> seconds</source>
- <translation> Sekunden</translation>
+ <message numerus="yes">
+ <location filename="../../libs/installer/observer.cpp" line="98"/>
+ <source>%n minute(s)</source>
+ <translation>
+ <numerusform>%n Minute</numerusform>
+ <numerusform>%n Minuten</numerusform>
+ </translation>
</message>
- <message>
- <location filename="../../libs/installer/observer.cpp" line="111"/>
- <source> - </source>
- <translation> - </translation>
+ <message numerus="yes">
+ <location filename="../../libs/installer/observer.cpp" line="103"/>
+ <source>%n second(s)</source>
+ <translation>
+ <numerusform>%n Sekunde</numerusform>
+ <numerusform>%n Sekunden</numerusform>
+ </translation>
</message>
<message>
- <location filename="../../libs/installer/observer.cpp" line="111"/>
- <source> remaining.</source>
- <translation> verbleibend.</translation>
+ <location filename="../../libs/installer/observer.cpp" line="105"/>
+ <source> - %1%2%3%4 remaining.</source>
+ <translation> - %1%2%3%4 verbleibend.</translation>
</message>
<message>
- <location filename="../../libs/installer/observer.cpp" line="113"/>
+ <location filename="../../libs/installer/observer.cpp" line="107"/>
<source> - unknown time remaining.</source>
<translation> - verbleibende Zeit unbekannt.</translation>
</message>
@@ -1563,226 +1742,201 @@ Fehler beim Laden von %2</translation>
<context>
<name>QInstaller::FinishedPage</name>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1880"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2344"/>
<source>Completing the %1 Wizard</source>
<translation>Beende den %1 Assistenten.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1887"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2351"/>
<source>Click Done to exit the %1 Wizard.</source>
<translation>Klicken Sie &quot;Abschließen&quot;, um den %1 Assistenten zu beenden.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1889"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2353"/>
<source>Click Finish to exit the %1 Wizard.</source>
<translation>Klicken Sie &quot;Abschließen&quot;, um den %1 Assistenten zu beenden.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1927"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2392"/>
<source>Restart</source>
<translation>Neu starten</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1954"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2424"/>
<source>Run %1 now.</source>
<translation>Starte jetzt %1.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1959"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2429"/>
<source>The %1 Wizard failed.</source>
<translation>Der %1 Assistent ist fehlgeschlagen.</translation>
</message>
</context>
<context>
- <name>QInstaller::GetRepositoryMetaInfoJob</name>
- <message>
- <source>Empty repository URL.</source>
- <translation type="vanished">Leere Quelladresse.</translation>
- </message>
- <message>
- <source>Retrieving component meta information...</source>
- <translation type="vanished">Empfange Komponentenmetainformationen...</translation>
- </message>
- <message>
- <source>Invalid repository URL: %1</source>
- <translation type="vanished">Ungültige Quelladresse: %1</translation>
- </message>
- <message>
- <source>URL scheme not supported: %1 (%2)</source>
- <translation type="vanished">Adressschema &quot;%1&quot; nicht unterstützt in Adresse &quot;%2&quot;.</translation>
- </message>
- <message>
- <source>Could not move Updates.xml to target location. Error: %1</source>
- <translation type="vanished">Konnte Updates.xml nicht an die Zieladresse verschieben. Fehlermeldung: %1</translation>
- </message>
+ <name>QInstaller::GlobalSettingsOperation</name>
<message>
- <source>Could not open Updates.xml for reading. Error: %1</source>
- <translation type="vanished">Konnte Updates.xml nicht zum Lesen öffnen. Fehlermeldung: %1</translation>
+ <location filename="../../libs/installer/globalsettingsoperation.cpp" line="58"/>
+ <source>Settings are not writable</source>
+ <translation>Einstellungen konnten nicht geschrieben werden.</translation>
</message>
<message>
- <source>Could not fetch a valid version of Updates.xml from repository: %1. Error: %2</source>
- <translation type="vanished">Konnte keine gültige Version der Updates.xml aus der Quelle %1 herunterladen. Fehlermeldung: %2</translation>
+ <location filename="../../libs/installer/globalsettingsoperation.cpp" line="68"/>
+ <source>Failed to write settings</source>
+ <translation>Einstellungen konnten nicht geschrieben werden.</translation>
</message>
<message>
- <source>Download Error</source>
- <translation type="vanished">Fehler beim Herunterladen</translation>
+ <location filename="../../libs/installer/globalsettingsoperation.cpp" line="110"/>
+ <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
+ <translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
</message>
<message>
- <source>Parsing component meta information...</source>
- <translation type="vanished">Einlesen der Metainformationen...</translation>
+ <location filename="../../libs/installer/globalsettingsoperation.cpp" line="111"/>
+ <source>3, 4 or 5</source>
+ <translation>3, 4 oder 5</translation>
</message>
+</context>
+<context>
+ <name>QInstaller::InstallIconsOperation</name>
<message>
- <source>Repository updates received.</source>
- <translation type="vanished">Quellenaktualisierung erhalten.</translation>
+ <location filename="../../libs/installer/installiconsoperation.cpp" line="115"/>
+ <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
+ <translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
</message>
<message>
- <source>Finished updating component meta information.</source>
- <translation type="vanished">Das Aktualisieren der Komponentenmetainformationen ist beendet.</translation>
+ <location filename="../../libs/installer/installiconsoperation.cpp" line="116"/>
+ <source>1 or 2</source>
+ <translation>1 oder 2</translation>
</message>
<message>
- <source>Could not fetch Updates.xml from repository: %1. Error: %2</source>
- <translation type="vanished">Konnte keine Updates.xml aus der Quelle %1 herunterladen. Fehlermeldung: %2</translation>
+ <location filename="../../libs/installer/installiconsoperation.cpp" line="116"/>
+ <source> (Sourcepath, [Vendorprefix])</source>
+ <translation> (Quellpfad, [Vendorprefix])</translation>
</message>
<message>
- <source>Could not open meta info archive: %1. Error: %2</source>
- <translation type="vanished">Konnte Archiv mit Metainformationen %1 nicht öffnen. Fehlermeldung: %2</translation>
+ <location filename="../../libs/installer/installiconsoperation.cpp" line="125"/>
+ <source>Invalid Argument: source folder must not be empty.</source>
+ <translation>Ungültiges Argument: Quellordner darf nicht leer sein.</translation>
</message>
<message>
- <source>Could not download meta information for component: %1. Error: %2</source>
- <translation type="vanished">Konnte Metainformationen der Komponente %1 nicht herunterladen. Fehlermeldung: %2</translation>
+ <location filename="../../libs/installer/installiconsoperation.cpp" line="174"/>
+ <source>Could not backup file %1: %2</source>
+ <translation>Konnte Datei %1 nicht sichern. Fehlermeldung: %2</translation>
</message>
<message>
- <source>Retrieving component information from remote repository...</source>
- <translation type="vanished">Empfange Komponenten Informationen aus der Quelle...</translation>
+ <location filename="../../libs/installer/installiconsoperation.cpp" line="187"/>
+ <source>Failed to overwrite %1: %2</source>
+ <translation>Konnte Datei %1 nicht überschreiben. Fehlermeldung: %2</translation>
</message>
<message>
- <source>Bad hash.</source>
- <translation type="vanished">Ungültige Prüfsumme.</translation>
+ <location filename="../../libs/installer/installiconsoperation.cpp" line="198"/>
+ <source>Failed to copy file %1: %2</source>
+ <translation>Konnte Datei nicht nach %1 kopieren. Fehlermeldung: %2</translation>
</message>
<message>
- <source>The hash of one component does not match the expected one.</source>
- <translation type="vanished">Die Prüfsumme einer Komponente entsprach nicht der erwateten.</translation>
+ <location filename="../../libs/installer/installiconsoperation.cpp" line="208"/>
+ <source>Could not create folder at %1: %2</source>
+ <translation>Konnte Ordner %1 nicht anlegen. Fehlermeldung: %2</translation>
</message>
</context>
<context>
- <name>QInstaller::GetRepositoryMetaInfoJob::ZipRunnable</name>
- <message>
- <source>Error while extracting %1. Error: %2</source>
- <translation type="obsolete">Fehler beim Auspacken von %1. Fehlermeldung: %2</translation>
- </message>
- <message>
- <source>Error while extracting &apos;%1&apos;: %2</source>
- <translation type="vanished">Fehler beim Auspacken von &apos;%1&apos;. Fehlermeldung: %2</translation>
- </message>
- <message>
- <source>Unknown exception caught while extracting %1.</source>
- <translation type="vanished">Beim Auspacken von %1 trat eine unbekannte Ausnahmebedingung auf.</translation>
- </message>
+ <name>QInstaller::IntroductionPage</name>
<message>
- <source>Could not open %1 for reading. Error: %2</source>
- <translation type="vanished">Konnte Datei %1 nicht zum Lesen öffnen. Fehlermeldung: %2</translation>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="908"/>
+ <source>Setup - %1</source>
+ <translation>Einrichten - %1</translation>
</message>
-</context>
-<context>
- <name>QInstaller::GlobalSettingsOperation</name>
<message>
- <location filename="../../libs/installer/globalsettingsoperation.cpp" line="65"/>
- <source>Settings are not writable</source>
- <translation>Einstellungen konnten nicht geschrieben werden.</translation>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="916"/>
+ <source>Welcome to the %1 Setup Wizard.</source>
+ <translation>Willkommen zum %1 Einrichtungsassistenten.</translation>
</message>
<message>
- <location filename="../../libs/installer/globalsettingsoperation.cpp" line="75"/>
- <source>Failed to write settings</source>
- <translation>Einstellungen konnten nicht geschrieben werden.</translation>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="921"/>
+ <source>Add or remove components</source>
+ <translation>Komponenten hinzufügen oder entfernen</translation>
</message>
<message>
- <location filename="../../libs/installer/globalsettingsoperation.cpp" line="117"/>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="927"/>
+ <source>Update components</source>
+ <translation>Komponenten aktualisieren</translation>
</message>
<message>
- <location filename="../../libs/installer/globalsettingsoperation.cpp" line="118"/>
- <source>3 or 4</source>
- <translation>3 oder 4</translation>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="933"/>
+ <source>Remove all components</source>
+ <translation>Alle Komponenten entfernen</translation>
</message>
-</context>
-<context>
- <name>QInstaller::InstallIconsOperation</name>
<message>
- <location filename="../../libs/installer/installiconsoperation.cpp" line="137"/>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="945"/>
+ <source>Retrieving information from remote installation sources...</source>
+ <translation>Empfange Daten vom Installationsserver...</translation>
</message>
<message>
- <location filename="../../libs/installer/installiconsoperation.cpp" line="138"/>
- <source>1 or 2</source>
- <translation>1 oder 2</translation>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="997"/>
+ <source>At least one valid and enabled repository required for this action to succeed.</source>
+ <translation>Mindestens ein gültiges und aktiviertes Repository wird benötigt, um diese Aktion erfolgreich abzuschliessen.</translation>
</message>
<message>
- <location filename="../../libs/installer/installiconsoperation.cpp" line="138"/>
- <source> (Sourcepath, [Vendorprefix])</source>
- <translation> (Quellpfad, [Vendorprefix])</translation>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1032"/>
+ <source>No updates available.</source>
+ <translation>Keine Aktualisierungen verfügbar.</translation>
</message>
-</context>
-<context>
- <name>QInstaller::IntroductionPage</name>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="831"/>
- <source>Setup - %1</source>
- <translation>Einrichten - %1</translation>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1051"/>
+ <source> Only local package management available.</source>
+ <translation> Nur lokale Paketverwaltung verfügbar.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="836"/>
- <source>Welcome to the %1 Setup Wizard.</source>
- <translation>Willkommen zum %1 Einrichtungsassistenten.</translation>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1202"/>
+ <source>Quit</source>
+ <translation>Beenden</translation>
</message>
</context>
<context>
<name>QInstaller::LicenseAgreementPage</name>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="894"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1269"/>
<source>License Agreement</source>
<translation>Lizenzabkommen</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="918"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1293"/>
<source>Alt+A</source>
<comment>agree license</comment>
<translatorcomment>Lizenz akzeptieren</translatorcomment>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1003"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1378"/>
<source>Please read the following license agreement. You must accept the terms contained in this agreement before continuing with the installation.</source>
<translation>Bitte lesen Sie das folgende Lizenzabkommen. Sie müssen die Bedingungen in diesem Abkommen akzeptieren, um die Installation fortsetzen zu können.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1005"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1380"/>
<source>I accept the license.</source>
<translation>Ich akzeptiere die Lizenzvereinbarung.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1006"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1381"/>
<source>I do not accept the license.</source>
<translation>Ich akzeptiere die Lizenzvereinbarung nicht.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1008"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1383"/>
<source>Please read the following license agreements. You must accept the terms contained in these agreements before continuing with the installation.</source>
<translation>Bitte lesen Sie die folgenden Lizenzabkommen. Sie müssen die Bedingungen in diesen Abkommen akzeptieren, um die Installation fortsetzen zu können.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1011"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1386"/>
<source>I do not accept the licenses.</source>
<translation>Ich akzeptiere die Lizenzvereinbarungen nicht.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1010"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1385"/>
<source>I accept the licenses.</source>
<translation>Ich akzeptiere die Lizenzvereinbarungen.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="931"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1306"/>
<source>Alt+D</source>
<comment>do not agree license</comment>
<translatorcomment>Der Lizenz nicht zustimmen</translatorcomment>
@@ -1792,22 +1946,22 @@ Fehler beim Laden von %2</translation>
<context>
<name>QInstaller::LicenseOperation</name>
<message>
- <location filename="../../libs/installer/licenseoperation.cpp" line="67"/>
+ <location filename="../../libs/installer/licenseoperation.cpp" line="60"/>
<source>No license files found to copy.</source>
<translation>Keine Lizenzdateien zum Kopieren gefunden.</translation>
</message>
<message>
- <location filename="../../libs/installer/licenseoperation.cpp" line="74"/>
+ <location filename="../../libs/installer/licenseoperation.cpp" line="67"/>
<source>Needed installer object in %1 operation is empty.</source>
<translation>Das für die Anweisung %1 benötigte Installerobjekt ist leer.</translation>
</message>
<message>
- <location filename="../../libs/installer/licenseoperation.cpp" line="89"/>
+ <location filename="../../libs/installer/licenseoperation.cpp" line="82"/>
<source>Can not write license file: %1.</source>
<translation>Konnte Lizenzdatei %1 nicht schreiben.</translation>
</message>
<message>
- <location filename="../../libs/installer/licenseoperation.cpp" line="106"/>
+ <location filename="../../libs/installer/licenseoperation.cpp" line="99"/>
<source>No license files found to delete.</source>
<translation>Keine Lizenzdateien zum Löschen gefunden.</translation>
</message>
@@ -1815,111 +1969,91 @@ Fehler beim Laden von %2</translation>
<context>
<name>QInstaller::LineReplaceOperation</name>
<message>
- <location filename="../../libs/installer/linereplaceoperation.cpp" line="69"/>
+ <location filename="../../libs/installer/linereplaceoperation.cpp" line="62"/>
<source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
<translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
</message>
<message>
- <location filename="../../libs/installer/linereplaceoperation.cpp" line="70"/>
+ <location filename="../../libs/installer/linereplaceoperation.cpp" line="63"/>
<source>exactly 3</source>
<translation>genau 3</translation>
</message>
-</context>
-<context>
- <name>QInstaller::MacReplaceInstallNamesOperation</name>
<message>
- <location filename="../../libs/installer/macreplaceinstallnamesoperation.cpp" line="73"/>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/macreplaceinstallnamesoperation.cpp" line="74"/>
- <source>at least 3</source>
- <translation>mindestens 3</translation>
- </message>
- <message>
- <location filename="../../libs/installer/macreplaceinstallnamesoperation.cpp" line="83"/>
- <source>One of the given arguments is empty. Argument1=%1; Argument2=%2, Argument3=%3</source>
- <translation>Eines der Argumente ist leer. Argument1=%1, Argument2=%2, Argument3=%3</translation>
- </message>
- <message>
- <location filename="../../libs/installer/macreplaceinstallnamesoperation.cpp" line="151"/>
- <source>Cannot run otool. Is Xcode installed?</source>
- <translation>Konnte otool nicht aufrufen. Ist Xcode installiert?</translation>
- </message>
- <message>
- <source>Cannot invoke otool. Is Xcode installed?</source>
- <translation type="vanished">Konnte otool nicht aufrufen. Ist Xcode installiert?</translation>
- </message>
- <message>
- <location filename="../../libs/installer/macreplaceinstallnamesoperation.cpp" line="233"/>
- <source>Cannot start process %0.</source>
- <translation>Konnte Prozess %0 nicht starten.</translation>
- </message>
- <message>
- <source>Can&apos;t invoke otool. Is Xcode installed?</source>
- <translation type="obsolete">Konnte otool nicht aufrufen. Ist Xcode installiert?</translation>
+ <location filename="../../libs/installer/linereplaceoperation.cpp" line="73"/>
+ <source>Failed to open &apos;%1&apos; for reading.</source>
+ <translation>Konnte Datei &apos;%1&apos; nicht zum Lesen öffnen.</translation>
</message>
<message>
- <source>Can&apos;t start process %0.</source>
- <translation type="obsolete">Konnte Prozess %0 nicht starten.</translation>
+ <location filename="../../libs/installer/linereplaceoperation.cpp" line="90"/>
+ <source>Failed to open &apos;%1&apos; for writing.</source>
+ <translation>Konnte Datei &apos;%1&apos; nicht zum Schreiben öffnen.</translation>
</message>
</context>
<context>
<name>QInstaller::MetadataJob</name>
<message>
- <location filename="../../libs/installer/metadatajob.cpp" line="79"/>
+ <location filename="../../libs/installer/metadatajob.cpp" line="75"/>
<source>Missing package manager core engine.</source>
<translation>Fehlende Paketmanager Kernkomponente.</translation>
</message>
<message>
- <location filename="../../libs/installer/metadatajob.cpp" line="83"/>
+ <location filename="../../libs/installer/metadatajob.cpp" line="79"/>
<source>Preparing meta information download...</source>
<translation>Bereite Herunterladen der Metainformationen vor...</translation>
</message>
<message>
- <location filename="../../libs/installer/metadatajob.cpp" line="113"/>
+ <location filename="../../libs/installer/metadatajob.cpp" line="112"/>
<source>Meta data download canceled.</source>
<translation>Herunterladen der Metainformationen abgebrochen.</translation>
</message>
<message>
- <location filename="../../libs/installer/metadatajob.cpp" line="130"/>
- <location filename="../../libs/installer/metadatajob.cpp" line="210"/>
+ <location filename="../../libs/installer/metadatajob.cpp" line="137"/>
+ <source>Missing proxy credentials.</source>
+ <translation>Fehlende Proxy Zugangsdaten.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/metadatajob.cpp" line="168"/>
+ <source>Authentication failed.</source>
+ <translation>Authentifizierung fehlgeschlagen.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/metadatajob.cpp" line="179"/>
+ <location filename="../../libs/installer/metadatajob.cpp" line="261"/>
<source>Unknown exception during download.</source>
<translation>Beim Herunterladen trat eine unbekannte Ausnahmebedingung auf.</translation>
</message>
<message>
- <location filename="../../libs/installer/metadatajob.cpp" line="141"/>
+ <location filename="../../libs/installer/metadatajob.cpp" line="190"/>
<source>Retrieving meta information from remote repository...</source>
<translation>Empfange Metainformationen vom Installationsserver...</translation>
</message>
<message>
- <location filename="../../libs/installer/metadatajob.cpp" line="146"/>
+ <location filename="../../libs/installer/metadatajob.cpp" line="195"/>
<source>Failure to fetch repositories.</source>
<translation>Herunterladen von Paketquellen fehlgeschlagen.</translation>
</message>
<message>
- <location filename="../../libs/installer/metadatajob.cpp" line="163"/>
+ <location filename="../../libs/installer/metadatajob.cpp" line="212"/>
<source>Unknown exception during extracting.</source>
<translation>Beim Auspacken trat eine unbekannte Ausnahmebedingung auf.</translation>
</message>
<message>
- <location filename="../../libs/installer/metadatajob.cpp" line="188"/>
+ <location filename="../../libs/installer/metadatajob.cpp" line="239"/>
<source>Extracting meta information...</source>
<translation>Packe Metainformationen aus...</translation>
</message>
<message>
- <location filename="../../libs/installer/metadatajob_p.h" line="99"/>
+ <location filename="../../libs/installer/metadatajob_p.h" line="85"/>
<source>Error while extracting &apos;%1&apos;: %2</source>
<translation>Fehler beim Auspacken von &apos;%1&apos;. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/installer/metadatajob_p.h" line="102"/>
+ <location filename="../../libs/installer/metadatajob_p.h" line="88"/>
<source>Unknown exception caught while extracting %1.</source>
<translation>Beim Auspacken von %1 trat eine unbekannte Ausnahmebedingung auf.</translation>
</message>
<message>
- <location filename="../../libs/installer/metadatajob_p.h" line="106"/>
+ <location filename="../../libs/installer/metadatajob_p.h" line="92"/>
<source>Could not open %1 for reading. Error: %2</source>
<translation>Konnte Datei %1 nicht zum Lesen öffnen. Fehlermeldung: %2</translation>
</message>
@@ -1927,79 +2061,84 @@ Fehler beim Laden von %2</translation>
<context>
<name>QInstaller::PackageManagerCore</name>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="433"/>
- <source>Error writing Uninstaller</source>
- <translation>Fehler beim Schreiben des Deinstallers</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="601"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="533"/>
<source>
Downloading packages...</source>
<translation>
Lade Pakete herunter...</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="624"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="556"/>
<source>Installation canceled by user</source>
<translation>Installation durch den Nutzer abgebrochen</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="626"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="558"/>
<source>All downloads finished.</source>
<translation>Alle Herunterladeprozesse abgeschlossen.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="2406"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="2387"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="648"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="580"/>
<source>Cancelling the Installer</source>
<translation>Breche den Installationsvorgang ab</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="704"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="365"/>
+ <source>Error writing Maintenance Tool</source>
+ <translation>Fehler beim Schreiben des Verwaltungswerkzeugs</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="642"/>
<source>Authentication Error</source>
<translation>Autentifizierungsfehler</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="704"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="642"/>
<source>Some components could not be removed completely because admin rights could not be acquired: %1.</source>
<translation>Einige Komponenten konnten nicht vollständig entfernt werden, weil die nötigen Systemverwalterrechte nicht erlangt werden konnten. Fehlermeldung: %1</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="709"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="647"/>
<source>Unknown error.</source>
<translation>Unbekannter Fehler.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="709"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="647"/>
<source>Some components could not be removed completely because an unknown error happened.</source>
<translation>Einige Komponenten konnten nicht vollständig entfernt werden, weil ein unbekannter Fehler auftrat.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="837"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="812"/>
<source>Application not running in Package Manager mode!</source>
<translation>Die Anwendung ist nicht im Paketverwaltermodus!</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="844"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="819"/>
<source>No installed packages found.</source>
<translation>Keine installierten Pakete gefunden.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="921"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="896"/>
<source>Application running in Uninstaller mode!</source>
<translation>Die Anwendung befindet sich im Deinstallierermodus!</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="972"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="947"/>
<source>There is an important update available, please run the updater first.</source>
<translation>Es gibt eine wichtige Aktualisierung, bitte zuerst den Updater starten.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="2437"/>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="1409"/>
+ <source>Error while elevating access rights.</source>
+ <translation>Fehler beim Erlangen von Administratorrechten.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagercore.cpp" line="2418"/>
<source>invalid</source>
<translation>ungültig</translation>
</message>
@@ -2007,56 +2146,36 @@ Lade Pakete herunter...</translation>
<context>
<name>QInstaller::PackageManagerCorePrivate</name>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="397"/>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1582"/>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1608"/>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1781"/>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1858"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="402"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1524"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1550"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1723"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1792"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="539"/>
- <source>Component(s) added as automatic dependencies</source>
- <translation>Komponenten, die als automatische Abhängigkeiten zugefügt wurden</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="581"/>
- <source>Added as dependency for %1.</source>
- <translation>Als Abhängigkeit für %1 zugefügt.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="590"/>
- <source>Component(s) that have resolved Dependencies</source>
- <translation>Komponenten, die aufgelöste Abhängigkeiten besitzen</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="599"/>
- <source>Selected Component(s) without Dependencies</source>
- <translation>Ausgewählte Komponenten ohne Abhängigkeiten</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="838"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="749"/>
<source>Access error</source>
<translation>Zugriffsfehler</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="839"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="750"/>
<source>Format error</source>
<translation>Formatfehler</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="840"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="751"/>
<source>Could not write installer configuration to %1: %2</source>
<translation>Konnte Einstellungen des Installers nicht nach %1 schreiben. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="959"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="867"/>
<source>Stop Processes</source>
<translation>Prozesse anhalten</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="959"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="867"/>
<source>These processes should be stopped to continue:
%1</source>
@@ -2065,278 +2184,262 @@ Lade Pakete herunter...</translation>
%1</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="967"/>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1886"/>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2063"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="875"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1823"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2001"/>
<source>Installation canceled by user</source>
<translation>Installation durch den Nutzer abgebrochen</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1067"/>
- <source>Writing uninstaller.</source>
- <translation>Schreibe Deinstallierer.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1080"/>
- <source>Uninstaller is not a bundle</source>
- <translation>Deinstallierer ist kein Bundle</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1096"/>
- <source>Could not write uninstaller data to %1: %2</source>
- <translation>Konnte Deinstaller-Daten nicht nach %1 schreiben. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1110"/>
- <source>Could not write uninstaller to %1: %2</source>
- <translation>Konnte Deinstaller nicht nach %1 schreiben. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1343"/>
- <source>Found a binary data file, but we are the installer and we should read the binary resource from our very own binary!</source>
- <translation>Binäre Quelldatei gefunden, aber als Installer sollten wir die binären Quellen aus unserer eigenen Binärdatei lesen!</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1390"/>
- <source>Could not write uninstaller binary data to %1: %2</source>
- <translation>Konnte Binäre Datei des Deinstallers nicht nach %1 schreiben. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1438"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1379"/>
<source>ProductName should be set</source>
<translation>ProductName muss gesetzt sein</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1462"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1403"/>
<source>Variable &apos;TargetDir&apos; not set.</source>
<translation>TargetDir muss gesetzt sein.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1500"/>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1744"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1441"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1686"/>
<source>Preparing the installation...</source>
<translation>Bereite Installation vor...</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1509"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1451"/>
<source>It is not possible to install from network location</source>
<translation>Es ist nicht möglich, von einem Netzwerkort aus zu installieren</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1551"/>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1553"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1493"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1495"/>
<source>Creating local repository</source>
<translation>Erstelle lokale Quelle</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1588"/>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1761"/>
- <source>Creating Uninstaller</source>
- <translation>Erstelle Deinstallierer</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1598"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1540"/>
<source>
Installation finished!</source>
<translation>
Installation abgeschlossen!</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1614"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1556"/>
<source>
Installation aborted!</source>
<translation>
Installation abgebrochen!</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1648"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1590"/>
<source>It is not possible to run that operation from a network location</source>
<translation>Es ist nicht möglich, diese Oparation von einem Netzwerkort aus zu starten</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1750"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1692"/>
<source>Removing deselected components...</source>
<translation>Entferne abgewählte Komponenten...</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1771"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1713"/>
<source>
Update finished!</source>
<translation>
Aktualisierung beendet!</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1787"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1729"/>
<source>
Update aborted!</source>
<translation>
Aktualisierung abgebrochen!</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1850"/>
- <source>
-Uninstallation completed successfully!</source>
- <translation>
-Deinstallation erfolgreich abgeschlossen!</translation>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="389"/>
+ <source>Unresolved dependencies</source>
+ <translation>Nicht aufgelöste Abhängigkeiten</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1861"/>
- <source>
-Uninstallation aborted!</source>
- <translation>
-Deinstallation abgebrochen!</translation>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="975"/>
+ <source>Writing maintenance tool.</source>
+ <translation>Schreiben des Verwaltungswerkzeugs.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1880"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="981"/>
+ <source>Failed to seek in file %1: %2</source>
+ <translation>Suchen in Datei %1 fehlgeschlagen. Fehlermeldung: %2</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="988"/>
+ <source>Maintenance tool is not a bundle</source>
+ <translation>Verwaltungswerkzeug ist kein Bundle</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1002"/>
+ <source>Could not write maintenance tool data to %1: %2</source>
+ <translation>Konnte Daten des Verwaltungswerkzeugs nicht nach %1 schreiben. Fehlermeldung: %2</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1021"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1322"/>
+ <source>Could not remove data file &apos;%1&apos;: %2</source>
+ <translation>Konnte Datei %1 nicht löschen. Fehlermeldung: %2</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1027"/>
+ <source>Could not write maintenance tool to %1: %2</source>
+ <translation>Konnte Verwaltungswerkzeug nicht nach %1 schreiben: %2</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1327"/>
+ <source>Could not write maintenance tool binary data to %1: %2</source>
+ <translation>Konnte Binäre Datei des Verwaltungswerkzeugs nicht nach %1 schreiben: %2</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1530"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1703"/>
+ <source>Creating Maintenance Tool</source>
+ <translation>Erstelle Verwaltungswerkzeug</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1801"/>
+ <source>Uninstallation completed successfully.</source>
+ <translation>Deinstallation erfolgreich abgeschlossen.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1801"/>
+ <source>Uninstallation aborted.</source>
+ <translation>Deinstallation abgebrochen.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1817"/>
<source>
Installing component %1</source>
<translation>
Installiere Komponente %1</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1909"/>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2081"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1846"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2019"/>
<source>Installer Error</source>
<translation>Installationsfehler</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1910"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1847"/>
<source>Error during installation process (%1):
%2</source>
<translation>Fehler beim Installieren von Komponente %1:
%2</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1975"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1912"/>
<source>Cannot prepare uninstall</source>
<translation>Kann Deinstallation nicht vorbereiten</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2006"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1943"/>
<source>Cannot start uninstall</source>
<translation>Kann Deinstallation nicht starten</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2082"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2020"/>
<source>Error during uninstallation process:
%1</source>
<translation>Fehler bei der Deinstallation:
%1</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2110"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2048"/>
<source>Unknown error</source>
<translation>Unbekannter Fehler</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2128"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2066"/>
<source>Could not retrieve remote tree: %1.</source>
<translation>Kann entfernten Baum nicht empfangen: %1</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2157"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2095"/>
<source>Failure to read packages from: %1.</source>
<translation>Fehler beim Lesen der Pakete von %1</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2182"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2120"/>
<source>Could not retrieve meta information: %1</source>
<translation>Konnte die Metainformationen nicht empfangen: %1</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2239"/>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2250"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2177"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2188"/>
<source>Could not add temporary update source information.</source>
<translation>Konnte Informationen zu temporären Aktualisierungsquellen nicht hinzufügen.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2264"/>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2203"/>
<source>Could not find any update source information.</source>
<translation>Konnte keine Informationen zu Aktualisierungsquellen finden.</translation>
</message>
+ <message>
+ <location filename="../../libs/installer/packagemanagercore_p.cpp" line="2273"/>
+ <source>Dependency cycle between components detected: &apos;%1&apos; and &apos;%2&apos;.</source>
+ <translation>Zyklische Abhängigkeit zwischen Komponenten entdeckt: &apos;%1&apos; und &apos;%2&apos;.</translation>
+ </message>
</context>
<context>
<name>QInstaller::PackageManagerGui</name>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="226"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="254"/>
<source>%1 Setup</source>
<translation>%1 Einrichtung</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="228"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="256"/>
<source>Maintain %1</source>
<translation>%1 verwalten</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="551"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="599"/>
<source>Do you want to cancel the installation process?</source>
<translation>Möchten Sie den Installationsprozess abbrechen?</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="553"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="601"/>
<source>Do you want to cancel the uninstallation process?</source>
<translation>Möchten Sie den Deinstallationsprozess abbrechen?</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="555"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="603"/>
<source>Do you want to quit the installer application?</source>
<translation>Möchten Sie die Installationsanwendung beenden?</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="557"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="605"/>
<source>Do you want to quit the uninstaller application?</source>
<translation>Möchten Sie die Deinstallationsanwendung beenden?</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="559"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="607"/>
<source>Do you want to quit the maintenance application?</source>
<translation>Möchten Sie die Wartungsanwendung beenden?</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="564"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="612"/>
<source>Question</source>
<translation>Frage</translation>
</message>
<message>
- <source>Do you want to abort the %1 process?</source>
- <translation type="vanished">Möchten Sie den %1 Vorgang abbrechen?</translation>
- </message>
- <message>
- <source>uninstallation</source>
- <translation type="vanished">Deinstallation</translation>
- </message>
- <message>
- <source>installation</source>
- <translation type="vanished">Installation</translation>
- </message>
- <message>
- <source>installer</source>
- <translation type="vanished">Installer</translation>
- </message>
- <message>
- <source>uninstaller</source>
- <translation type="vanished">Deinstaller</translation>
- </message>
- <message>
- <source>maintenance</source>
- <translation type="vanished">Wartung</translation>
- </message>
- <message>
- <source>Do you want to quit the %1 application?</source>
- <translation type="vanished">Möchten Sie die %1 Anwendung beenden?</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="606"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="654"/>
<source>Settings</source>
<translation>Einstellungen</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="663"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="731"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="664"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="732"/>
<source>It is not possible to install from network location.
Please copy the installer to a local drive</source>
<translation>Es ist nicht möglich, von einem Netzwerkort aus zu installieren.
@@ -2346,14 +2449,14 @@ Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
<context>
<name>QInstaller::PerformInstallationForm</name>
<message>
- <location filename="../../libs/installer/performinstallationform.cpp" line="95"/>
- <location filename="../../libs/installer/performinstallationform.cpp" line="151"/>
- <location filename="../../libs/installer/performinstallationform.cpp" line="168"/>
+ <location filename="../../libs/installer/performinstallationform.cpp" line="97"/>
+ <location filename="../../libs/installer/performinstallationform.cpp" line="158"/>
+ <location filename="../../libs/installer/performinstallationform.cpp" line="171"/>
<source>&amp;Show Details</source>
<translation>&amp;Zeige Details</translation>
</message>
<message>
- <location filename="../../libs/installer/performinstallationform.cpp" line="151"/>
+ <location filename="../../libs/installer/performinstallationform.cpp" line="158"/>
<source>&amp;Hide Details</source>
<translation>&amp;Verstecke Details</translation>
</message>
@@ -2361,326 +2464,244 @@ Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
<context>
<name>QInstaller::PerformInstallationPage</name>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1802"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2263"/>
<source>U&amp;ninstall</source>
<translation>&amp;Deinstallieren</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1803"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2264"/>
<source>Uninstalling %1</source>
<translation>Deinstalliere %1</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1807"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2268"/>
<source>&amp;Update</source>
<translation>&amp;Aktualisieren</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1808"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2269"/>
<source>Updating components of %1</source>
<translation>Aktualisiere Komponenten des %1</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1812"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2273"/>
<source>&amp;Install</source>
<translation>&amp;Installieren</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1813"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2274"/>
<source>Installing %1</source>
<translation>Installiere %1</translation>
</message>
</context>
<context>
- <name>QInstaller::QtPatchOperation</name>
- <message>
- <location filename="../../libs/installer/qtpatchoperation.cpp" line="175"/>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
- </message>
- <message>
- <source>exactly 3</source>
- <translation type="obsolete">genau 3</translation>
- </message>
- <message>
- <location filename="../../libs/installer/qtpatchoperation.cpp" line="176"/>
- <source>3 or 4</source>
- <translation>3 oder 4</translation>
- </message>
- <message>
- <location filename="../../libs/installer/qtpatchoperation.cpp" line="188"/>
- <source>Needed installer object in &quot;%1&quot; operation is empty.</source>
- <translation>Das für die Anweisung &apos;%1&apos; benötigte Installerobjekt ist leer.</translation>
- </message>
+ <name>QInstaller::ProxyCredentialsDialog</name>
<message>
- <location filename="../../libs/installer/qtpatchoperation.cpp" line="203"/>
- <source>First argument should be &apos;linux&apos;, &apos;mac&apos; or &apos;windows&apos;. No other type is supported at this time.</source>
- <translation>Das erste Argument muss entweder &apos;linux&apos;, &apos;mac&apos; oder &apos;windows&apos; lauten. Keine anderen Typen werden zur Zeit unterstützt.</translation>
+ <location filename="../../libs/installer/proxycredentialsdialog.ui" line="14"/>
+ <source>Dialog</source>
+ <translation>Dialog</translation>
</message>
<message>
- <location filename="../../libs/installer/qtpatchoperation.cpp" line="210"/>
- <source>Could not find the needed QmakeOutputInstallerKey(%1) value on the installer object. The ConsumeOutput operation on the valid qmake needs to be called first.</source>
- <translation>Konnte den benötigten Wert für den QmakeOutputInstallerKey &apos;%1&apos; nicht finden. Die ConsumeOutput Oparation muss zuerst auf dem gültigen qmake augeführt werden.</translation>
+ <location filename="../../libs/installer/proxycredentialsdialog.ui" line="20"/>
+ <source>The proxy %1 requires a username and password.</source>
+ <translation>Der Proxy %1 benötigt einen Nutzernamen und Passwort.</translation>
</message>
<message>
- <location filename="../../libs/installer/qtpatchoperation.cpp" line="229"/>
- <source>QMake from the current Qt version
-(%1)is not existing. Please file a bugreport with this dialog at https://bugreports.qt-project.org.</source>
- <translation>Das QMake der aktuell verwendeten Qt Version
-(%1) kann nicht gefunden werden. Bitte erstellen Sie einen Bugreport unter https://bugreports.qt-project.org.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/qtpatchoperation.cpp" line="237"/>
- <source>The output of
-%1 -query
-is not parseable. Please file a bugreport with this dialog https://bugreports.qt-project.org.
-output: &quot;%2&quot;</source>
- <translation>Die Ausgabe von
-%1 -query
-ist ungültig. Bitte erstellen Sie einen Bugreport unter https://bugreports.qt-project.org.
-Ausgabe: &quot;%2&quot;</translation>
+ <location filename="../../libs/installer/proxycredentialsdialog.ui" line="29"/>
+ <source>Username:</source>
+ <translation>Nutzername:</translation>
</message>
<message>
- <location filename="../../libs/installer/qtpatchoperation.cpp" line="251"/>
- <source>Qt patch error: new Qt dir(%1)
-needs to be less than 255 characters.</source>
- <translation>Qt patch Fehler: neuer Qt Ordnername (%1)
-darf nicht mehr als 255 Zeichen lang sein.</translation>
+ <location filename="../../libs/installer/proxycredentialsdialog.ui" line="36"/>
+ <source>Username</source>
+ <translation>Nutzername</translation>
</message>
<message>
- <location filename="../../libs/installer/qtpatchoperation.cpp" line="366"/>
- <location filename="../../libs/installer/qtpatchoperation.cpp" line="421"/>
- <source>Qt patch error: Can not open %1.(%2)</source>
- <translation>Qt patch Fehler: Kann %1 nicht öffnen. Fehlermeldung: %2</translation>
+ <location filename="../../libs/installer/proxycredentialsdialog.ui" line="43"/>
+ <source>Password:</source>
+ <translation>Passwort:</translation>
</message>
<message>
- <location filename="../../libs/installer/qtpatchoperation.cpp" line="490"/>
- <source>The installer was not able to get the unpatched path from
-%1.(maybe it is broken or removed)
-It tried to patch the Qt binaries, but all other files in Qt are unpatched.
-This could result in a broken Qt version.
-Sometimes it helps to restart the installer with a switched off antivirus software.</source>
- <translation>Der Installer konnte den ursprünglichen Pfad aus %1
-nicht lesen (möglicherweise ist es beschädigt oder entfernt).
-Er hat versucht, die Qt Binärdateien trotzdem zu patchen, aber alle anderen
-Dateien im Qt sind ungepatcht. Das kann zu einer beschädigten Qt Version führen.
-Eventuell hilft es, einen laufenden Virenscanner auszuschalten und den Installer erneut zu starten.</translation>
+ <location filename="../../libs/installer/proxycredentialsdialog.ui" line="53"/>
+ <source>Password</source>
+ <translation>Passwort</translation>
</message>
</context>
<context>
<name>QInstaller::ReadyForInstallationPage</name>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1538"/>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1732"/>
- <source>&amp;Show Details</source>
- <translation>&amp;Zeige Details</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1571"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2038"/>
<source>U&amp;ninstall</source>
<translation>&amp;Deinstallieren</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1572"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2039"/>
<source>Ready to Uninstall</source>
<translation>Bereit zum Deinstallieren</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1573"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2040"/>
<source>Setup is now ready to begin removing %1 from your computer.&lt;br&gt;&lt;font color=&quot;red&quot;&gt;The program directory %2 will be deleted completely&lt;/font&gt;, including all content in that directory!</source>
<translation>Das Einrichtungsprogramm ist jetzt bereit, %1 von Ihrem Computer zu entfernen. &lt;br&gt;&lt;font color=&quot;red&quot;&gt;Das Programmverzeichnis %2 wird vollständig gelöscht&lt;/font&gt;, inklusive allen Inhalten in diesem Ordner!</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1582"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2049"/>
<source>U&amp;pdate</source>
<translation>&amp;Aktualisieren</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1583"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2050"/>
<source>Ready to Update Packages</source>
<translation>Bereit zum Aktualisieren der Pakete</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1584"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2051"/>
<source>Setup is now ready to begin updating your installation.</source>
<translation>Das Einrichtungsprogramm ist jetzt bereit, Ihre Installation zu aktualisieren.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1587"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2054"/>
<source>&amp;Install</source>
<translation>&amp;Installieren</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1588"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2055"/>
<source>Ready to Install</source>
<translation>Bereit zum Installieren</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1589"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2056"/>
<source>Setup is now ready to begin installing %1 on your computer.</source>
<translation>Das Einrichtungsprogramm ist jetzt bereit, %1 auf Ihrem Computer einzurichten.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1647"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2117"/>
<source>Not enough disk space to store temporary files and the installation! Available space: %1, at least required %2.</source>
<translation>Nicht genügend Plattenplatz für temporäre Dateien und die Installation! Verfügbarer Platz: %1, mindestens benötigt: %2.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1655"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2126"/>
<source>Not enough disk space to store all selected components! Available space: %1, at least required: %2.</source>
<translation>Nicht genügend Plattenplatz für alle ausgewählten Komponenten! Verfügbarer Platz: %1, mindestens benötigt: %2.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1662"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2134"/>
<source>Not enough disk space to store temporary files! Available space: %1, at least required: %2.</source>
<translation>Nicht genügend Plattenplatz für temporäre Dateien! Verfügbarer Platz: %1, mindestens benötigt: %2.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1670"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2143"/>
<source>The volume you selected for installation seems to have sufficient space for installation, but there will be less than 1% of the volume&apos;s space available afterwards. %1</source>
<translation>Die für die Installation ausgewählte Partition scheint genügend Platz zu bieten, aber es werden anschließend weniger als 1% der Partitionsgröße verfügbar sein. %1</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1675"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2148"/>
<source>The volume you selected for installation seems to have sufficient space for installation, but there will be less than 100 MB available afterwards. %1</source>
<translation>Die für die Installation ausgewählte Partition scheint genügend Platz zu bieten, aber es werden anschließend weniger als 100 MiB verfügbar sein. %1</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1689"/>
- <source>Can not resolve all dependencies!</source>
- <translation>Konnte nicht alle Abhängigkeiten auflösen!</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1707"/>
- <source>Components about to be removed.</source>
- <translation>Komponenten, die entfernt werden.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1732"/>
- <source>&amp;Hide Details</source>
- <translation>&amp;Verstecke Details</translation>
- </message>
-</context>
-<context>
- <name>QInstaller::RegisterDefaultDebuggerOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, 2 expected.</source>
- <translation type="obsolete">Ungültige Argumentein %0: %1 Argumente erhalten, 2 erwartet.</translation>
- </message>
- <message>
- <source>Needed installer object in &quot;%1&quot; operation is empty.</source>
- <translation type="obsolete">Das für die Anweisung &quot;%1&quot; benötigte Installerobjekt ist leer.</translation>
- </message>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="obsolete">Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation type="obsolete">genau 2</translation>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2154"/>
+ <source>Installation will use %1 of disk space.</source>
+ <translation>Installation wird %1 Plattenplatz verwenden.</translation>
</message>
<message>
- <source>There is no value set for %1 on the installer object.</source>
- <translation type="obsolete">Es wurde kein Wert %1 auf dem Installer Objekt gesetzt.</translation>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2164"/>
+ <source>Cannot resolve all dependencies.</source>
+ <translation>Konnte nicht alle Abhängigkeiten auflösen.</translation>
</message>
<message>
- <source>Can&apos;t read from tool chains xml file(%1) correctly.</source>
- <translation type="obsolete">Kann nicht aus der Toolchains XML Datei (%1) lesen.</translation>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2180"/>
+ <source>Components about to be removed.</source>
+ <translation>Komponenten, die entfernt werden.</translation>
</message>
</context>
<context>
<name>QInstaller::RegisterFileTypeOperation</name>
<message>
- <location filename="../../libs/installer/registerfiletypeoperation.cpp" line="106"/>
+ <location filename="../../libs/installer/registerfiletypeoperation.cpp" line="99"/>
<source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
<translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
</message>
<message>
- <location filename="../../libs/installer/registerfiletypeoperation.cpp" line="107"/>
+ <location filename="../../libs/installer/registerfiletypeoperation.cpp" line="100"/>
<source>2 to 5</source>
<translation>2 bis 5</translation>
</message>
<message>
- <location filename="../../libs/installer/registerfiletypeoperation.cpp" line="171"/>
+ <location filename="../../libs/installer/registerfiletypeoperation.cpp" line="152"/>
+ <location filename="../../libs/installer/registerfiletypeoperation.cpp" line="215"/>
+ <source>Registering file types is only supported on Windows.</source>
+ <translation>Dateitypenregistrierung wird nur unter Windows unterstützt.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/registerfiletypeoperation.cpp" line="164"/>
<source>Register File Type: Invalid arguments</source>
<translation>Register File Type: Ungültige Argumente</translation>
</message>
</context>
<context>
- <name>QInstaller::RegisterQtInCreatorQNXOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="obsolete">Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
- </message>
- <message>
- <source>at least 5</source>
- <translation type="obsolete">mindestens 5</translation>
- </message>
- <message>
- <source>Needed installer object in &quot;%1&quot; operation is empty.</source>
- <translation type="obsolete">Das für die Anweisung &quot;%1&quot; benötigte Installerobjekt ist leer.</translation>
- </message>
+ <name>QInstaller::RemoteObject</name>
<message>
- <source>There is no value set for %1 on the installer object.</source>
- <translation type="obsolete">Es wurde kein Wert %1 auf dem Installer Objekt gesetzt.</translation>
- </message>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, minimum 4 expected.</source>
- <translation type="obsolete">Ungültige Argumente in %0: %1 Argumente erhalten, mindestens 4 erwartet.</translation>
+ <location filename="../../libs/installer/remoteobject.h" line="99"/>
+ <source>Could not read all data after sending command: %1. Bytes expected: %2, Bytes received: %3. Error: %4</source>
+ <translation>Konnte nicht alle Daten nach dem Senden des Kommandos &apos;%1&apos; lesen. Bytes erwartet: %2, Bytes erhalten: %3. Fehler: %4</translation>
</message>
</context>
<context>
- <name>QInstaller::RegisterToolChainOperation</name>
- <message>
- <source>at least 4</source>
- <translation type="obsolete">mindestens 4</translation>
- </message>
- <message>
- <source>Needed installer object in &apos;%1&apos; operation is empty.</source>
- <translation type="obsolete">Das für die Anweisung &apos;%1&apos; benötigte Installerobjekt ist leer.</translation>
- </message>
- <message>
- <source>There is no value set for &apos;%1&apos; on the installer object.</source>
- <translation type="obsolete">Es wurde kein Wert &apos;%1&apos; auf dem Installer Objekt gesetzt.</translation>
- </message>
+ <name>QInstaller::RemoteServerConnection</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, minimum 4 expected.</source>
- <translation type="obsolete">Ungültige Argumente in %0: %1 Argumente erhalten, mindestens 4 erwartet.</translation>
+ <location filename="../../libs/installer/remoteserverconnection.cpp" line="189"/>
+ <location filename="../../libs/installer/remoteserverconnection.cpp" line="299"/>
+ <location filename="../../libs/installer/remoteserverconnection.cpp" line="390"/>
+ <source>Could not read all data after sending command: %1. Bytes expected: %2, Bytes received: %3. Error: %4</source>
+ <translation>Konnte nicht alle Daten nach dem Senden des Kommandos &apos;%1&apos; lesen. Bytes erwartet: %2, Bytes erhalten: %3. Fehler: %4</translation>
</message>
+</context>
+<context>
+ <name>QInstaller::ReplaceOperation</name>
<message>
- <source>Needed installer object in &quot;%1&quot; operation is empty.</source>
- <translation type="obsolete">Das für die Anweisung &quot;%1&quot; benötigte Installerobjekt ist leer.</translation>
+ <location filename="../../libs/installer/replaceoperation.cpp" line="62"/>
+ <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
+ <translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
</message>
<message>
- <source>Can&apos;t read from tool chains xml file(%1) correctly.</source>
- <translation type="obsolete">Kann nicht aus der Toolchains XML Datei (%1) lesen.</translation>
+ <location filename="../../libs/installer/replaceoperation.cpp" line="63"/>
+ <source>exactly 3</source>
+ <translation>genau 3</translation>
</message>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="obsolete">Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
+ <location filename="../../libs/installer/replaceoperation.cpp" line="73"/>
+ <source>Failed to open %1 for reading</source>
+ <translation>Konnte Datei %1 nicht zum Lesen öffnen</translation>
</message>
<message>
- <source>Some arguments are not right in %1 operation.</source>
- <translation type="obsolete">Einige Argumente sind in der %1 Anweisung nicht erlaubt.</translation>
+ <location filename="../../libs/installer/replaceoperation.cpp" line="83"/>
+ <source>Failed to open %1 for writing</source>
+ <translation>Konnte Datei %1 nicht zum Schreiben öffnen</translation>
</message>
</context>
<context>
- <name>QInstaller::ReplaceOperation</name>
+ <name>QInstaller::Resource</name>
<message>
- <location filename="../../libs/installer/replaceoperation.cpp" line="69"/>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
+ <location filename="../../libs/installer/binaryformat.cpp" line="173"/>
+ <source>Could not open Resource &apos;%1&apos; read-only.</source>
+ <translation>Konnte Ressourcendatei &apos;%1&apos; nicht zum Nur-Lesen öffnen.</translation>
</message>
<message>
- <location filename="../../libs/installer/replaceoperation.cpp" line="70"/>
- <source>exactly 3</source>
- <translation>genau 3</translation>
+ <location filename="../../libs/installer/binaryformat.cpp" line="242"/>
+ <source>Read failed after %1 bytes: %2</source>
+ <translation>Das Lesen ist nach %1 Bytes fehlgeschlagen: %2</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/binaryformat.cpp" line="247"/>
+ <source>Write failed after %1 bytes: %2</source>
+ <translation>Das Schreiben ist nach %1 Bytes fehlgeschlagen: %2</translation>
</message>
</context>
<context>
<name>QInstaller::RestartPage</name>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="2013"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="2483"/>
<source>Completing the %1 Setup Wizard</source>
<translation>Vervollständige den %1 Assistenten</translation>
</message>
@@ -2688,189 +2709,71 @@ Eventuell hilft es, einen laufenden Virenscanner auszuschalten und den Installer
<context>
<name>QInstaller::ScriptEngine</name>
<message>
- <location filename="../../libs/installer/scriptengine.cpp" line="247"/>
+ <location filename="../../libs/installer/scriptengine.cpp" line="378"/>
<source>Could not open the requested script file at %1: %2.</source>
<translation>Konnte angeforderte Skriptdatei &apos;%1&apos; nicht öffnen. Fehlermeldung: %2</translation>
</message>
<message>
- <location filename="../../libs/installer/scriptengine.cpp" line="264"/>
- <source>Exception while loading the component script: &apos;%1&apos;</source>
- <translation>Ausnahme beim Laden des Komponentenskripts: &apos;%1&apos;</translation>
- </message>
- <message>
- <location filename="../../libs/installer/scriptengine.cpp" line="268"/>
- <source>Could not load the component script inside a script context: &apos;%1&apos;</source>
- <translation>Konnte das Komponentenskript &apos;%1&apos; nicht in einem Skriptkontext laden</translation>
- </message>
- <message>
- <location filename="../../libs/installer/scriptengine.cpp" line="278"/>
- <source>Fatal error while evaluating a script.</source>
- <translation>Schwerwiegender Fehler beim Auswerten eines Skripts.</translation>
+ <location filename="../../libs/installer/scriptengine.cpp" line="396"/>
+ <source>Exception while loading the component script &apos;%1&apos;. (%2)</source>
+ <translation>Ausnahme beim Laden des Komponentenskripts &apos;%1&apos;. (%2)</translation>
</message>
</context>
<context>
<name>QInstaller::SelfRestartOperation</name>
<message>
- <location filename="../../libs/installer/selfrestartoperation.cpp" line="64"/>
+ <location filename="../../libs/installer/selfrestartoperation.cpp" line="57"/>
<source>Installer object needed in &apos;%1&apos; operation is empty.</source>
<translation>Das für die Anweisung &apos;%1&apos; benötigte Installerobjekt ist leer.</translation>
</message>
<message>
- <location filename="../../libs/installer/selfrestartoperation.cpp" line="70"/>
+ <location filename="../../libs/installer/selfrestartoperation.cpp" line="63"/>
<source>Self Restart: Only valid within updater or packagemanager mode.</source>
<translation>Self Restart: Nur im updater oder packagemanager Modus erlaubt.</translation>
</message>
<message>
- <location filename="../../libs/installer/selfrestartoperation.cpp" line="76"/>
+ <location filename="../../libs/installer/selfrestartoperation.cpp" line="69"/>
<source>Self Restart: Invalid arguments</source>
<translation>Self Restart: Ungültige Argumente</translation>
</message>
</context>
<context>
- <name>QInstaller::SetDemosPathOnQtOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="obsolete">Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation type="obsolete">genau 2</translation>
- </message>
- <message>
- <source>The output of
-&apos;%1 -query&apos;
-is not parseable. Please file a bugreport with this dialog at https://bugreports.qt-project.org.
-output: %2</source>
- <translation type="obsolete">Die Ausgabe von
-&apos;%1 -query&apos;
-ist ungültig. Bitte erstellen Sie einen Bugreport unter https://bugreports.qt-project.org.
-Ausgabe: %2</translation>
- </message>
- <message>
- <source>Qt patch error: new Qt demo path &apos;%1&apos;
-needs to be less than 255 characters.</source>
- <translation type="obsolete">Qt patch Fehler: neuer Qt Ordnername &apos;%1&apos;
-darf nicht mehr als 255 Zeichen lang sein.</translation>
- </message>
-</context>
-<context>
- <name>QInstaller::SetExamplesPathOnQtOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="obsolete">Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation type="obsolete">genau 2</translation>
- </message>
- <message>
- <source>The output of
-&apos;%1 -query&apos;
-is not parseable. Please file a bugreport with this dialog at https://bugreports.qt-project.org.
-output: %2</source>
- <translation type="obsolete">Die Ausgabe von
-&apos;%1 -query&apos;
-ist ungültig. Bitte erstellen Sie einen Bugreport unter https://bugreports.qt-project.org.
-Ausgabe: %2</translation>
- </message>
- <message>
- <source>Qt patch error: new Qt example path &apos;%1&apos;
-needs to be less than 255 characters.</source>
- <translation type="obsolete">Qt patch Fehler: Neuer Qt Beispielpfad &apos;%1&apos;
-darf nicht mehr als 255 Zeichen lang sein.</translation>
- </message>
-</context>
-<context>
- <name>QInstaller::SetImportsPathOnQtCoreOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="obsolete">Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation type="obsolete">genau 2</translation>
- </message>
- <message>
- <source>Qt patch error: new Qt imports path &apos;%1&apos;
-needs to be less than 255 characters.</source>
- <translation type="obsolete">Qt patch Fehler: Neuer Qt Importpfad &apos;%1&apos;
-darf nicht mehr als 255 Zeichen lang sein.</translation>
- </message>
-</context>
-<context>
- <name>QInstaller::SetPathOnQtCoreOperation</name>
+ <name>QInstaller::ServerAuthenticationDialog</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="obsolete">Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
- </message>
- <message>
- <source>exactly 3</source>
- <translation type="obsolete">genau 3</translation>
- </message>
- <message>
- <source>The second type/value needs to be one of: %1</source>
- <translation type="obsolete">Der zweite Typ muss einen der folgenden Werte haben: %1</translation>
- </message>
-</context>
-<context>
- <name>QInstaller::SetPluginPathOnQtCoreOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="obsolete">Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation type="obsolete">genau 2</translation>
- </message>
- <message>
- <source>Qt patch error: new Qt plugin path &apos;%1&apos;
-needs to be less than 255 characters.</source>
- <translation type="obsolete">Qt patch Fehler: Neuer Qt Pluginpfad &apos;%1&apos;
-darf nicht mehr als 255 Zeichen lang sein.</translation>
+ <location filename="../../libs/installer/serverauthenticationdialog.ui" line="14"/>
+ <source>Server Requires Authentication</source>
+ <translation>Server verlangt Authentifizierung</translation>
</message>
-</context>
-<context>
- <name>QInstaller::SetQtCreatorValueOperation</name>
<message>
- <location filename="../../libs/installer/setqtcreatorvalueoperation.cpp" line="72"/>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
+ <location filename="../../libs/installer/serverauthenticationdialog.ui" line="20"/>
+ <source>You need to supply a username and password to access this site.</source>
+ <translation>Nutzername und Passwort für den Zugriff benötigt.</translation>
</message>
<message>
- <location filename="../../libs/installer/setqtcreatorvalueoperation.cpp" line="73"/>
- <source>exactly 4</source>
- <translation>genau 4</translation>
- </message>
- <message>
- <location filename="../../libs/installer/setqtcreatorvalueoperation.cpp" line="73"/>
- <source> (rootInstallPath, group, key, value)</source>
- <translation> (rootInstallPfad, Gruppe, Schlüssel, Wert)</translation>
- </message>
- <message>
- <location filename="../../libs/installer/setqtcreatorvalueoperation.cpp" line="80"/>
- <source>Needed installer object in &quot;%1&quot; operation is empty.</source>
- <translation>Das für die Anweisung &quot;%1&quot; benötigte Installerobjekt ist leer.</translation>
+ <location filename="../../libs/installer/serverauthenticationdialog.ui" line="30"/>
+ <source>Username:</source>
+ <translation>Nutzername:</translation>
</message>
<message>
- <location filename="../../libs/installer/setqtcreatorvalueoperation.cpp" line="97"/>
- <source>There is no value set for &apos;%1&apos; on the installer object.</source>
- <translation>Es wurde kein Wert &apos;%1&apos; auf dem Installer Objekt gesetzt.</translation>
+ <location filename="../../libs/installer/serverauthenticationdialog.ui" line="40"/>
+ <source>Password:</source>
+ <translation>Passwort:</translation>
</message>
<message>
- <location filename="../../libs/installer/setqtcreatorvalueoperation.cpp" line="134"/>
- <source>Needed installer object in &apos;%1&apos; operation is empty.</source>
- <translation>Das für die Anweisung &apos;%1&apos; benötigte Installerobjekt ist leer.</translation>
+ <location filename="../../libs/installer/serverauthenticationdialog.ui" line="77"/>
+ <source>%1 at %2</source>
+ <translation>%1 auf %2</translation>
</message>
</context>
<context>
<name>QInstaller::SettingsOperation</name>
<message>
- <location filename="../../libs/installer/settingsoperation.cpp" line="79"/>
+ <location filename="../../libs/installer/settingsoperation.cpp" line="72"/>
<source>Missing argument(s) &apos;%1&apos; calling &apos;%2&apos; with arguments &apos;%3&apos;.</source>
<translation>Fehlende Argumente &apos;%1&apos; beim Aufruf von &apos;%2&apos; mit den Argumenten &apos;%3&apos;.</translation>
</message>
<message>
- <location filename="../../libs/installer/settingsoperation.cpp" line="89"/>
+ <location filename="../../libs/installer/settingsoperation.cpp" line="82"/>
<source>Current method argument calling &apos;%1&apos; with arguments &apos;%2&apos; is not supported. Please use set, remove, add_array_value or remove_array_value.</source>
<translation>Aufruf von &apos;%1&apos; mit den Argumenten &apos;%2&apos; nicht unterstützt. Bitte &apos;set&apos;, &apos;remove&apos;, &apos;add_array_value&apos; oder &apos;remove_array_value&apos; verwenden.</translation>
</message>
@@ -2878,33 +2781,33 @@ darf nicht mehr als 255 Zeichen lang sein.</translation>
<context>
<name>QInstaller::SimpleMoveFileOperation</name>
<message>
- <location filename="../../libs/installer/simplemovefileoperation.cpp" line="62"/>
+ <location filename="../../libs/installer/simplemovefileoperation.cpp" line="55"/>
<source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
<translation>Ungültige Argumente in %0: %1 Argumente erhalten, %2 erwartet%3.</translation>
</message>
<message>
- <location filename="../../libs/installer/simplemovefileoperation.cpp" line="63"/>
+ <location filename="../../libs/installer/simplemovefileoperation.cpp" line="56"/>
<source>exactly 2</source>
<translation>genau 2</translation>
</message>
<message>
- <location filename="../../libs/installer/simplemovefileoperation.cpp" line="72"/>
+ <location filename="../../libs/installer/simplemovefileoperation.cpp" line="65"/>
<source>None of the arguments can be empty: source &apos;%1&apos;, target &apos;%2&apos;.</source>
<translation>Keines der Argumente darf leer sein: Quelle &apos;%1&apos;, Ziel &apos;%2&apos;.</translation>
</message>
<message>
- <location filename="../../libs/installer/simplemovefileoperation.cpp" line="83"/>
- <source>Can not move source &apos;%1&apos; to target &apos;%2&apos;, because target exists and is not removable.</source>
+ <location filename="../../libs/installer/simplemovefileoperation.cpp" line="76"/>
+ <source>Cannot move source &apos;%1&apos; to target &apos;%2&apos;, because target exists and is not removable.</source>
<translation>Konnte Quelle &apos;%1&apos; nicht nach Ziel &apos;%2&apos; verschieben, weil das Ziel bereits existiert und nicht entfernt werden kann.</translation>
</message>
<message>
- <location filename="../../libs/installer/simplemovefileoperation.cpp" line="92"/>
- <source>Can not move source &apos;%1&apos; to target &apos;%2&apos;: %3</source>
- <translation>Konnte Datei &apos;%1&apos; nicht nach &apos;%2&apos; verschieben. Fehlermeldung: %3</translation>
+ <location filename="../../libs/installer/simplemovefileoperation.cpp" line="85"/>
+ <source>Cannot move source &apos;%1&apos; to target &apos;%2&apos;: %3</source>
+ <translation>Konnte Datei &apos;%1&apos; nicht nach &apos;%2&apos; verschieben: %3</translation>
</message>
<message>
- <location filename="../../libs/installer/simplemovefileoperation.cpp" line="97"/>
- <location filename="../../libs/installer/simplemovefileoperation.cpp" line="107"/>
+ <location filename="../../libs/installer/simplemovefileoperation.cpp" line="90"/>
+ <location filename="../../libs/installer/simplemovefileoperation.cpp" line="100"/>
<source>Move &apos;%1&apos; to &apos;%2&apos;.</source>
<translation>Verschiebe &apos;%1&apos; nach &apos;%2&apos;.</translation>
</message>
@@ -2912,12 +2815,12 @@ darf nicht mehr als 255 Zeichen lang sein.</translation>
<context>
<name>QInstaller::StartMenuDirectoryPage</name>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1434"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1937"/>
<source>Start Menu shortcuts</source>
<translation>Verknüpfungen im Startmenü</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1435"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1938"/>
<source>Select the Start Menu in which you would like to create the program&apos;s shortcuts. You can also enter a name to create a new folder.</source>
<translation>Wählen Sie den Ordner im Startmenü, in dem die Verknüpfungen zur Anwendung erstellt werden sollen. Sie können einen Namen angeben, um einen neuen Ordner anzulegen.</translation>
</message>
@@ -2925,59 +2828,105 @@ darf nicht mehr als 255 Zeichen lang sein.</translation>
<context>
<name>QInstaller::TargetDirectoryPage</name>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1313"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1689"/>
<source>Installation Folder</source>
<translation>Installationsverzeichnis</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1320"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1696"/>
<source>Please specify the folder where %1 will be installed.</source>
<translation>Bitte geben Sie den Ordner an, in dem %1 installiert werden soll.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1333"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1709"/>
<source>Alt+R</source>
<comment>browse file system to choose a file</comment>
<translatorcomment>Dateisystem durchsuchen, um eine Datei auszuwählen</translatorcomment>
<translation>Alt+D</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1334"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1710"/>
<source>B&amp;rowse...</source>
<translation>&amp;Durchsuchen...</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1370"/>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1384"/>
- <source>Error</source>
- <translation>Fehler</translation>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1783"/>
+ <source>The folder you selected already exists and contains an installation. Choose a different target for installation.</source>
+ <translation>Der ausgewählte Ordner existiert bereits und enthält eine Installation. Bitte ein anderes Zielverzeichnis auswählen.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1788"/>
+ <source>You have selected an existing, non-empty folder for installation.
+Note that it will be completely wiped on uninstallation of this application.
+It is not advisable to install into this folder as installation might fail.
+Do you want to continue?</source>
+ <translation>Sie haben einen existierenden, nicht leeren Ordner für die Installation ausgewählt.
+Dieser wird bei der Deinstallation dieser Anwendung komplett gelöscht werden.
+Es wird nicht empfohlen, in diesen Ordner zu installieren.
+Möchten Sie trotzdem fortsetzen?</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1792"/>
+ <source>You have selected an existing file or symlink, please choose a different target for installation.</source>
+ <translation>Existierende Datei oder Symlink ausgewählt, bitte ein anderes Installationsziel auswählen.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1829"/>
+ <source>The installation path cannot be empty, please specify a valid folder.</source>
+ <translation>Der Installationspfad darf nicht leer sein. Bitte einen gültigen Ordner angeben.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1833"/>
+ <source>The installation path cannot be relative, please specify an absolute path.</source>
+ <translation>Der Installationspfad darf nicht relativ sein. Bitte einen absoluten Pfad angeben.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1839"/>
+ <source>The path or installation directory contains non ASCII characters. This is currently not supported! Please choose a different path or installation directory.</source>
+ <translation>Der Pfad zum Installationsverzeichnis enthält Zeichen ausserhalb des ASCII Zeichensatzes. Dies ist zur Zeit nicht unterstützt. Bitte wählen Sie einen anderen Pfad für das Installationsverzeichnis.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1856"/>
+ <source>The path you have entered is too long, please make sure to specify a valid path.</source>
+ <translation>Der von ihnen eingegebene Pfad ist zu lang, bitte geben sie einen gültigen Pfad ein.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1871"/>
+ <source>The path you have entered is not valid, please make sure to specify a valid target.</source>
+ <translation>Der eingegebene Pfad ist ungültig, bitte ein gültiges Ziel angeben.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1885"/>
+ <source>The path you have entered is not valid, please make sure to specify a valid drive.</source>
+ <translation>Der von ihnen eingegebene Pfad ist ungültig, bitte geben sie ein gültiges Laufwerk an.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1370"/>
- <source>The install directory cannot be empty, please specify a valid folder.</source>
- <translation>Der Name des Installationsverzeichnisses darf nicht leer sein, bitte einen gültigen Ordner angeben.</translation>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1892"/>
+ <source>The installation path must not end with &apos;.&apos;, please specify a valid folder.</source>
+ <translation>Der Installationspfad darf nicht auf &apos;.&apos; enden, bitte einen gültigen Ordner angeben.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1384"/>
- <source>As the install directory is completely deleted on uninstall, installing in %1 is forbidden.</source>
- <translation>Da das Installationsverzeichnis bei der Deinstallation komplett gelöscht wird, ist eine Installation nach %1 nicht zulässig.</translation>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1907"/>
+ <source>The installation path must not contain &apos;%1&apos;, please specify a valid folder.</source>
+ <translation>Der Installationspfad darf nicht %1 enthalten, bitte einen gültigen Ordner angeben.</translation>
+ </message>
+ <message>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1925"/>
+ <source>Error</source>
+ <translation>Fehler</translation>
</message>
<message>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1848"/>
<source>As the install directory is completely deleted, installing in %1 is forbidden.</source>
- <translation type="obsolete">Da das Installationsverzeichnis komplett gelöscht wird, ist eine Installation nach %1 nicht zulässig.</translation>
+ <translation>Da das Installationsverzeichnis komplett gelöscht wird, ist eine Installation nach %1 nicht zulässig.</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1395"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1918"/>
<source>Warning</source>
<translation>Warnung</translation>
</message>
<message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1395"/>
- <source>You have selected an existing, non-empty folder for installation. Note that it will be completely wiped on uninstallation of this application. It is not advisable to install into this folder as installation might fail. Do you want to continue?</source>
- <translation>Sie haben einen existierenden, nicht leeren Ordner für die Installation ausgewählt. Dieser wird bei der Deinstallation dieser Anwendung komplett gelöscht werden. Es wird nicht empfohlen, in diesen Ordner zu installieren. Möchten Sie trotzdem fortsetzen?</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagergui.cpp" line="1420"/>
+ <location filename="../../libs/installer/packagemanagergui.cpp" line="1814"/>
<source>Select Installation Folder</source>
<translation>Installationsverzeichnis auswählen.</translation>
</message>
@@ -2985,601 +2934,89 @@ darf nicht mehr als 255 Zeichen lang sein.</translation>
<context>
<name>QInstaller::TestRepository</name>
<message>
- <location filename="../../libs/installer/testrepository.cpp" line="86"/>
+ <location filename="../../libs/installer/testrepository.cpp" line="79"/>
<source>Empty repository URL.</source>
<translation>Leere Quelladresse.</translation>
</message>
<message>
- <location filename="../../libs/installer/testrepository.cpp" line="92"/>
+ <location filename="../../libs/installer/testrepository.cpp" line="85"/>
<source>URL scheme not supported: %1 (%2).</source>
<translation>Adressschema &apos;%1&apos; nicht unterstützt in Adresse &apos;%2&apos;.</translation>
</message>
<message>
- <location filename="../../libs/installer/testrepository.cpp" line="119"/>
+ <location filename="../../libs/installer/testrepository.cpp" line="112"/>
<source>Got a timeout while testing: &apos;%1&apos;</source>
<translation>Erhielt Timeout beim Testen von: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../../libs/installer/testrepository.cpp" line="139"/>
+ <location filename="../../libs/installer/testrepository.cpp" line="132"/>
<source>Could not parse Updates.xml! Error: %1.</source>
<translation>Ungültiges Format der Updates.xml. Fehlermeldung: %1.</translation>
</message>
<message>
- <location filename="../../libs/installer/testrepository.cpp" line="144"/>
+ <location filename="../../libs/installer/testrepository.cpp" line="137"/>
<source>Updates.xml could not be opened for reading!</source>
<translation>Konnte Updates.xml nicht zum Lesen öffnen.</translation>
</message>
<message>
- <location filename="../../libs/installer/testrepository.cpp" line="147"/>
+ <location filename="../../libs/installer/testrepository.cpp" line="140"/>
<source>Updates.xml could not be found on server!</source>
<translation>Updates.xml konnte auf dem Server nicht gefunden werden.</translation>
</message>
</context>
<context>
- <name>QInstallerCreator::Archive</name>
- <message>
- <source>Could not create %1: %2</source>
- <translation type="vanished">Konnte Ordner %1 nicht anlegen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/binaryformat.cpp" line="345"/>
- <source>Could not open archive file %1 for reading.</source>
- <translation>Konnte Archivdatei %1 nicht zum Lesen öffnen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/binaryformat.cpp" line="364"/>
- <source>Could not create archive from %1: Not a file.</source>
- <translation>Kann kein Archib aus %1 erstellen: Es ist keine Datei.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/binaryformat.cpp" line="388"/>
- <source>Error while packing directory at %1</source>
- <translation>Fehler beim Einpacken des Ordners %1.</translation>
- </message>
-</context>
-<context>
<name>QObject</name>
<message>
- <source>Searched whole file, no marker found</source>
- <translation type="obsolete">Gesamte Datei durchsucht, kein Zauberkeks gefunden.</translation>
- </message>
- <message>
- <source>Could not seek to %1 in file %2: %3</source>
- <translation type="obsolete">Konnte nicht bis zur Position %1 in Datei %2 suchen. Fehlermeldung: %3</translation>
- </message>
- <message>
- <location filename="../../libs/installer/binaryformat.cpp" line="244"/>
- <source>No marker found, stopped after %1.</source>
- <translation>Kein Zauberkeks gefunden, abgebrochen nach %1.</translation>
- </message>
- <message>
- <source>No marker found, unknown exception caught.</source>
- <translation type="obsolete">Keinen Zauberkeks gefunden, unbekannte Ausnahmebedingung.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/binaryformat.cpp" line="412"/>
- <source>Cannot create zipped file for path %1: %2</source>
- <translation>Konnte keine gepackte Datei aus Pfad %1 erstellen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/binaryformat.cpp" line="673"/>
- <source>Could not seek to in-binary resource. (offset: %1, length: %2)</source>
- <translation>Konnte nicht bis zur in der Binärdatei enthaltene Ressource suchen. (Offset: %1, Länge: %2)</translation>
- </message>
- <message>
- <location filename="../../libs/installer/binaryformat.cpp" line="679"/>
- <source>Could not register in-binary resource.</source>
- <translation>Konnte in der Binärdatei enthaltene Ressource nicht registrieren.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/binaryformat.cpp" line="859"/>
- <location filename="../../libs/installer/binaryformat.cpp" line="1048"/>
- <source>Could not open binary %1: %2</source>
- <translation>Konnte Binärdatei %1 nicht öffnen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/binaryformat.cpp" line="904"/>
- <source>Could not seek to binary layout section.</source>
- <translation>Konnte nicht bis zum Abschnitt mit dem Layout der Binärdatei suchen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/binaryformat.cpp" line="929"/>
- <source>Could not seek to metadata index.</source>
- <translation>Konnte nicht bis zum Index der Metadaten suchen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/binaryformat.cpp" line="950"/>
- <source>Could not seek to operation list.</source>
- <translation>Konnte nicht bis zur Anweisungsliste suchen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/binaryformat.cpp" line="965"/>
- <source>Could not seek to component index information.</source>
- <translation>Konnte nicht bis zur Komponentenindexinformation suchen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/binaryformat.cpp" line="969"/>
- <source>Could not seek to component index.</source>
- <translation>Konnte nicht bis zum Komponentenindex suchen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fileutils.cpp" line="188"/>
- <source>Cannot open file %1 for reading: %2</source>
- <translation>Konnte Datei %1 nicht zum Lesen öffnen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fileutils.cpp" line="195"/>
- <location filename="../../libs/installer/fileutils.cpp" line="202"/>
- <source>Cannot open file %1 for writing: %2</source>
- <translation>Konnte Datei %1 nicht zum Schreiben öffnen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fileutils.cpp" line="211"/>
- <source>Write failed after %1 bytes: %2</source>
- <translation>Das Schreiben ist nach %1 Bytes fehlgeschlagen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fileutils.cpp" line="232"/>
- <source>Read failed after %1 bytes: %2</source>
- <translation>Das Lesen ist nach %1 Bytes fehlgeschlagen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/createlocalrepositoryoperation.cpp" line="115"/>
- <location filename="../../libs/installer/fileutils.cpp" line="261"/>
- <source>Could not remove file %1: %2</source>
- <translation>Konnte Datei %1 nicht löschen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fileutils.cpp" line="302"/>
- <source>Could not remove folder %1: %2</source>
- <translation>Konnte Ordner %1 nicht löschen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fileutils.cpp" line="376"/>
- <location filename="../../libs/installer/fileutils.cpp" line="400"/>
- <source>Could not create folder %1</source>
- <translation>Konnte Ordner %1 nicht anlegen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fileutils.cpp" line="388"/>
- <source>Could not copy file from %1 to %2: %3</source>
- <translation>Konnte Datei %1 nicht nach %2 kopieren. Fehlermeldung: %3</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fileutils.cpp" line="415"/>
- <source>Could not move file from %1 to %2: %3</source>
- <translation>Konnte Datei %1 nicht nach %2 verschieben. Fehlermeldung: %3</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fileutils.cpp" line="426"/>
- <location filename="../../libs/installer/fileutils.cpp" line="433"/>
- <source>Could not create folder %1: %2</source>
- <translation>Konnte Ordner %1 nicht anlegen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fileutils.cpp" line="441"/>
- <source>Could not open temporary file: %1</source>
- <translation>Konnte temporäre Datei nicht öffnen. Fehlermeldung: %1</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fileutils.cpp" line="458"/>
- <source>Could not open temporary file for template %1: %2</source>
- <translation>Konnte keine temporäre Datei für die Vorlage %1 öffnen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fileutils.cpp" line="511"/>
- <source>Could not create temporary directory at %1: %2</source>
- <translation>Konnte kein temporäres Verzeichnis %1 anlegen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fileutils.cpp" line="514"/>
- <source>Could not create temporary directory at %1: unknown error</source>
- <translation>Konnte temporäres Verzeichnis %1 nicht anlegen: Unbekannter Fehler</translation>
- </message>
- <message>
- <source>Could not create temporary directory %1: %2</source>
- <translation type="obsolete">Konnte kein temporäres Verzeichnis %1 anlegen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <source>Could not create temporary folder for template %1: %2</source>
- <translation type="obsolete">Konnte keine temporäre Datei für die Vorlage %1 anlegen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/kdtools/kdlockfile_unix.cpp" line="66"/>
- <source>Could not create lock file %1: %2</source>
- <translation>Konnte keine Sperrdatei %1 anlegen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/kdtools/kdlockfile_unix.cpp" line="76"/>
- <source>Could not write PID to lock file %1: %2</source>
- <translation>Konnte PID nicht in die Sperrdatei %1 schreiben. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/kdtools/kdlockfile_unix.cpp" line="84"/>
- <source>Could not lock lock file %1: %2</source>
- <translation>Konnte keinen Exklusivzugriff auf Sperrdatei %1 erhalten. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/kdtools/kdlockfile_unix.cpp" line="96"/>
- <source>Could not unlock lock file %1: %2</source>
- <translation>Konnte Exklusivzugriff auf Sperrdatei %1 nicht abgeben. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="171"/>
- <source>Path exists but is not a folder: %1</source>
- <translation>Pfad %1 exisitiert, aber ist kein Ordner.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="187"/>
- <source>Could not create folder: %1</source>
- <translation>Konnte Ordner %1 nicht anlegen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="216"/>
- <source>Could not create temporary file</source>
- <translation>Konnte temporäre Datei nicht anlegen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="234"/>
- <source>Could not retrieve property %1 for item %2</source>
- <translation>Konnte Eigenschaft %1 von %2 nicht erhalten.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="262"/>
- <source>Property %1 for item %2 not of type VT_FILETIME but %3</source>
- <translation>Eigenschaft %1 von %2 ist nicht vom Typ VT_FILETIME, sondern vom Typ %3.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="281"/>
- <source>Could not convert file time to local time</source>
- <translation>Konnte die Dateizeit nicht in die lokale Zeit umwandeln.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="285"/>
- <source>Could not convert local file time to system time</source>
- <translation>Konnte die lokale Dateizeit nicht in die Systemzeit umwandeln.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="386"/>
- <source>No device set for output stream</source>
- <translation>Kein Gerät für den Ausgabestrom gesetzt</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="638"/>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1329"/>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1528"/>
- <source>Could not load codecs</source>
- <translation>Konnte Codecs nicht laden.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="641"/>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1334"/>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1533"/>
- <source>Could not retrieve default format</source>
- <translation>Konnte Standardformat nicht finden.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="645"/>
- <source>Could not open archive</source>
- <translation>Konnte Archiv nicht öffnen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="647"/>
- <source>No CArc found</source>
- <translation>Keine CArc gefunden.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="712"/>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1428"/>
- <source>Could not retrieve number of items in archive</source>
- <translation>Konnte Anzahl Dateien im Archiv nicht feststellen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="718"/>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="809"/>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="876"/>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1437"/>
- <source>Could not retrieve path of archive item %1</source>
- <translation>Konnte Pfad des Archivs %1 nicht feststellen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="740"/>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="757"/>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1399"/>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1452"/>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1552"/>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1575"/>
- <source>Unknown exception caught (%1)</source>
- <translation>Unbekannte Ausnahmebedingung (%1).</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="757"/>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1575"/>
- <source>Failed</source>
- <translation>Fehlgeschlagen</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="837"/>
- <source>Could not remove already existing symlink. %1</source>
- <translation>Konnte existierende Verknüpfung (Softlink) %1 nicht entfernen</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="845"/>
- <source>Could not open file: %1 (%2)</source>
- <translation>Konnte Datei %1 nicht öffnen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="899"/>
- <source>Could not create symlink at &apos;%1&apos;. Another one is already existing.</source>
- <translation>Konnte Verknüpfung (Softlink) &apos;%1&apos; nicht erstellen. Es existiert bereits eine an dieser Stelle.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="905"/>
- <source>Could not read symlink target from file &apos;%1&apos;.</source>
- <translation>Konnte Ziel der Verknüpfung (Softlink) &apos;%1&apos; nicht lesen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="915"/>
- <source>Could not create symlink at %1. %2</source>
- <translation>Konnte keine Dateisystemverknüpfung (Softlink) %1 anlegen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1282"/>
- <source>internal code: %1</source>
- <translation>Interner Fehlercode: %1</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1303"/>
- <source>not enough memory</source>
- <translation>Nicht genug Speicher</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1309"/>
- <source>Error: %1</source>
- <translation>Fehler: %1</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1378"/>
- <source>Could not create archive %1. %2</source>
- <translation>Konnte kein Archiv %1 anlegen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1571"/>
- <source>Error while extracting &apos;%1&apos;: %2</source>
- <translation>Fehler beim Auspacken von &apos;%1&apos;. Fehlermeldung: %2</translation>
- </message>
- <message>
- <source>Could not create file system link at %1</source>
- <translation type="obsolete">Konnte keine Dateisystemverknüpfung (Hardlink) %1 anlegen.</translation>
- </message>
- <message>
- <source>Could not create softlink at %1</source>
- <translation type="obsolete">Konnte keine Dateisystemverknüpfung (Softlink) %1 anlegen.</translation>
- </message>
- <message>
- <source>Could not create archive %1</source>
- <translation type="obsolete">Konnte kein Archiv %1 anlegen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1419"/>
- <source>CArc index %1 out of bounds [0, %2]</source>
- <translation>CArc Index %1 ausserhalb der Grenzen [0, %2].</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1431"/>
- <source>Item index %1 out of bounds [0, %2]</source>
- <translation>Itemindex %1 ausserhalb der Grenzen [0, %2].</translation>
- </message>
- <message>
- <source>Extracting %1 failed.</source>
- <translation type="obsolete">Entpacken von %1 fehlgeschlagen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/lib7z_facade.cpp" line="1471"/>
- <source>Could not create output file for writing: %1</source>
- <translation>Konnte Ausgabedatei nicht zum Schreiben öffnen. Fehlermeldung: %1</translation>
- </message>
- <message>
- <source>Extraction failed.</source>
- <translation type="obsolete">Entpacken fehlgeschlagen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/adminauthorization_x11.cpp" line="90"/>
- <location filename="../../libs/installer/adminauthorization_x11.cpp" line="95"/>
+ <location filename="../../libs/installer/adminauthorization_x11.cpp" line="71"/>
+ <location filename="../../libs/installer/adminauthorization_x11.cpp" line="76"/>
<source>Authorization required</source>
<translation>Autorisierung benötigt.</translation>
</message>
<message>
- <location filename="../../libs/installer/adminauthorization_x11.cpp" line="91"/>
- <location filename="../../libs/installer/adminauthorization_x11.cpp" line="96"/>
+ <location filename="../../libs/installer/adminauthorization_x11.cpp" line="72"/>
+ <location filename="../../libs/installer/adminauthorization_x11.cpp" line="77"/>
<source>Enter your password to authorize for sudo:</source>
<translation>Geben Sie Ihr Passwort ein, um sich für sudo zu authentifizieren:</translation>
</message>
<message>
- <location filename="../../libs/installer/adminauthorization_x11.cpp" line="111"/>
+ <location filename="../../libs/installer/adminauthorization_x11.cpp" line="88"/>
<source>Error acquiring admin rights</source>
<translation>Fehler beim Erlangen von Administratorrechten.</translation>
</message>
+</context>
+<context>
+ <name>RemoteClient</name>
<message>
- <location filename="../../libs/installer/createdesktopentryoperation.cpp" line="137"/>
- <source>Could not backup file %1</source>
- <translation>Konnte Datei %1 nicht sichern.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/createdesktopentryoperation.cpp" line="187"/>
- <source>Could not delete file %1</source>
- <translation>Konnte Datei %1 nicht löschen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/createdesktopentryoperation.cpp" line="198"/>
- <source>Could not restore backup file into %1</source>
- <translation>Konnte Datei %1 nicht wiederherstellen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/createshortcutoperation.cpp" line="229"/>
- <location filename="../../libs/installer/installiconsoperation.cpp" line="209"/>
- <source>Failed to overwrite %1: %2</source>
- <translation>Konnte Datei %1 nicht überschreiben. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/environmentvariablesoperation.cpp" line="94"/>
- <source>Registry path %1 is not writable</source>
- <translation>Registrierungspfad %1 ist nicht beschreibbar.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/environmentvariablesoperation.cpp" line="106"/>
- <source>Could not write to registry path %1</source>
- <translation>Registrierungspfad %1 ist nicht beschreibbar.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/installiconsoperation.cpp" line="147"/>
- <source>Invalid Argument: source folder must not be empty.</source>
- <translation>Ungültiges Argument: Quellordner darf nicht leer sein.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/installiconsoperation.cpp" line="196"/>
- <source>Could not backup file %1: %2</source>
- <translation>Konnte Datei %1 nicht sichern. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/installiconsoperation.cpp" line="220"/>
- <source>Failed to copy file %1: %2</source>
- <translation>Konnte Datei nicht nach %1 kopieren. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/installiconsoperation.cpp" line="230"/>
- <source>Could not create folder at %1: %2</source>
- <translation>Konnte Ordner %1 nicht anlegen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/replaceoperation.cpp" line="80"/>
- <source>Failed to open %1 for reading</source>
- <translation>Konnte Datei nicht zum Lesen öffnen. Fehlermeldung: %1</translation>
- </message>
- <message>
- <location filename="../../libs/installer/replaceoperation.cpp" line="90"/>
- <source>Failed to open %1 for writing</source>
- <translation>Konnte Datei %1 nicht zum Schreiben öffnen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/scriptengine.cpp" line="89"/>
- <source>Invalid arguments: %1 arguments given, %2 to %3 expected.</source>
- <translation>Ungültige Argumente: %1 Argumente erhalten, %2 bis %3 erwartet.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/scriptengine.cpp" line="93"/>
- <source>Invalid arguments: %1 arguments given, %2 expected.</source>
- <translation>Ungültige Argumente: %1 Argumente erhalten, %2 erwartet.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagercore.cpp" line="1453"/>
- <source>Error while elevating access rights.</source>
- <translation>Fehler beim Erlangen von Administratorrechten.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/packagemanagercore_p.cpp" line="1073"/>
- <source>Failed to seek in file %1: %2</source>
- <translation>Suchen in Datei %1 fehlgeschlagen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <source>Could not open the requested script file at %1: %2</source>
- <translation type="obsolete">Konnte angeforderte Skriptdatei %1 nicht öffnen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <source>Exception while loading the control script %1</source>
- <translation type="obsolete">Ausnahme beim Laden des Kontrollskripts: %1</translation>
- </message>
- <message>
- <location filename="../installerbase_p.cpp" line="310"/>
- <source>Failed to seek in file %1. Reason: %2.</source>
- <translation>Suchen in Datei %1 fehlgeschlagen. Fehlermeldung: %2</translation>
- </message>
- <message>
- <location filename="../../libs/installer/createlinkoperation.cpp" line="79"/>
- <source>Could not create link from %1 to %2.</source>
- <translation>Konnte keinen Link von %1 nach %2 erstellen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/createlinkoperation.cpp" line="99"/>
- <source>Could not remove link from %1 to %2.</source>
- <translation>Konnte Link von %1 nach %2 nicht entfernen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fsengineclient.cpp" line="800"/>
- <source>Authorization Error</source>
- <translation>Autorisierungsfehler</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fsengineclient.cpp" line="800"/>
+ <location filename="../../libs/installer/remoteclient_p.h" line="145"/>
<source>Could not get authorization.</source>
<translation>Konnte Autorisierung nicht erhalten.</translation>
</message>
<message>
- <location filename="../../libs/installer/fsengineclient.cpp" line="801"/>
+ <location filename="../../libs/installer/remoteclient_p.h" line="146"/>
<source>Could not get authorization that is needed for continuing the installation.
-Either abort the installation or use the fallback solution by running
+ Either abort the installation or use the fallback solution by running
+
%1
-as root and then clicking ok.</source>
+
+as root and then clicking OK.</source>
<translation>Konnte die Autorisierung, die zum Fortsetzen der Installation nötig ist, nicht erhalten.
Brechen sie entweder die Installation ab, oder verwenden sie die Fallback Lösung, indem sie
%1
als root aufrufen und dann &quot;Ok&quot; auswählen. </translation>
</message>
+</context>
+<context>
+ <name>ResourceCollectionManager</name>
<message>
- <source>Couldn&apos;t get authorization.</source>
- <translation type="obsolete">Konnte Autorisierung nicht erhalten.</translation>
- </message>
- <message>
- <source>Couldn&apos;t get authorization that is needed for continuing the installation.
-Either abort the installation or use the fallback solution by running
-%1
-as root and then clicking ok.</source>
- <translation type="obsolete">Konnte die Autorisierung, die zum Fortsetzen der Installation nötig ist, nicht erhalten.
-Brechen sie entweder die Installation ab, oder verwenden sie die Fallback Lösung, indem sie
-%1
-als root aufrufen und dann &quot;Ok&quot; auswählen. </translation>
- </message>
- <message>
- <location filename="../../libs/installer/registerfiletypeoperation.cpp" line="159"/>
- <location filename="../../libs/installer/registerfiletypeoperation.cpp" line="222"/>
- <source>Registering file types is only supported on Windows.</source>
- <translation>Dateitypenregistrierung wird nur unter Windows unterstützt.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/linereplaceoperation.cpp" line="80"/>
- <source>Failed to open &apos;%1&apos; for reading.</source>
- <translation>Konnte Datei &apos;%1&apos; nicht zum Lesen öffnen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/linereplaceoperation.cpp" line="97"/>
- <source>Failed to open &apos;%1&apos; for writing.</source>
- <translation>Konnte Datei &apos;%1&apos; nicht zum Schreiben öffnen.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fakestopprocessforupdateoperation.cpp" line="68"/>
- <source>Number of arguments does not match: one is required</source>
- <translation>Unpassende Anzahl Argumente: Genau eins wird verlangt</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fakestopprocessforupdateoperation.cpp" line="75"/>
- <source>Could not get package manager core.</source>
- <translation>Konnte PackageManagerCore nicht erhalten.</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fakestopprocessforupdateoperation.cpp" line="90"/>
- <source>This process should be stopped before continuing: %1</source>
- <translation>Dieser Prozess sollten beendet werden, um fortsetzen zu können: %1</translation>
- </message>
- <message>
- <location filename="../../libs/installer/fakestopprocessforupdateoperation.cpp" line="94"/>
- <source>These processes should be stopped before continuing: %1</source>
- <translation>Diese Prozesse sollten beendet werden, um fortsetzen zu können: %1</translation>
+ <location filename="../../libs/installer/binaryformat.cpp" line="401"/>
+ <source>Could not open resource %1: %2</source>
+ <translation>Konnte Ressource %1 nicht öffnen: %2</translation>
</message>
</context>
<context>
<name>Settings</name>
<message>
- <location filename="../../libs/installer/settings.cpp" line="216"/>
+ <location filename="../../libs/installer/settings.cpp" line="239"/>
<source>Could not open settings file %1 for reading: %2</source>
<translation>Konnte Einstellungsdatei %1 nicht zum Lesen öffnen. Fehlermeldung: %2</translation>
</message>
@@ -3612,255 +3049,144 @@ als root aufrufen und dann &quot;Ok&quot; auswählen. </translation>
<translation>Manuelle Konfiguration des Proxy</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="79"/>
+ <location filename="../settingsdialog.ui" line="66"/>
<source>HTTP proxy:</source>
<translation>HTTP Proxy:</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="96"/>
- <location filename="../settingsdialog.ui" line="222"/>
+ <location filename="../settingsdialog.ui" line="83"/>
+ <location filename="../settingsdialog.ui" line="138"/>
<source>Port:</source>
<translation>Port:</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="118"/>
- <source>HTTP proxy requires authentication</source>
- <translation>HTTP Proxy verlangt Autentifizierung</translation>
- </message>
- <message>
- <location filename="../settingsdialog.ui" line="143"/>
- <location filename="../settingsdialog.ui" line="269"/>
- <source>Username:</source>
- <translation>Nutzername:</translation>
- </message>
- <message>
- <location filename="../settingsdialog.ui" line="160"/>
- <location filename="../settingsdialog.ui" line="286"/>
- <source>Password:</source>
- <translation>Passwort:</translation>
- </message>
- <message>
- <location filename="../settingsdialog.ui" line="205"/>
+ <location filename="../settingsdialog.ui" line="121"/>
<source>FTP proxy:</source>
<translation>FTP Proxy:</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="244"/>
- <source>FTP proxy requires authentication</source>
- <translation>FTP Proxy verlangt Autentifizierung</translation>
- </message>
- <message>
- <location filename="../settingsdialog.ui" line="325"/>
+ <location filename="../settingsdialog.ui" line="190"/>
<source>Repositories</source>
<translation>Quellen</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="331"/>
+ <location filename="../settingsdialog.ui" line="196"/>
<source>Add Username and Password for authentication if needed.</source>
<translation>Nutzername und Passwort für die Autentifizierung hinzufügen, falls benötigt.</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="347"/>
+ <location filename="../settingsdialog.ui" line="212"/>
<source>Use temporary repositories only</source>
<translation>Verwende ausschließlich temporäre Quellen</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="356"/>
+ <location filename="../settingsdialog.ui" line="221"/>
<source>Add</source>
<translation>Hinzufügen</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="363"/>
+ <location filename="../settingsdialog.ui" line="228"/>
<source>Remove</source>
<translation>Entfernen</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="370"/>
+ <location filename="../settingsdialog.ui" line="235"/>
<source>Test</source>
<translation>Testen</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="390"/>
- <location filename="../settingsdialog.cpp" line="370"/>
+ <location filename="../settingsdialog.ui" line="255"/>
+ <location filename="../settingsdialog.cpp" line="357"/>
<source>Show Passwords</source>
<translation>Zeige Passwörter</translation>
</message>
<message>
- <location filename="../settingsdialog.cpp" line="141"/>
+ <location filename="../settingsdialog.cpp" line="134"/>
<source>Check this to use repository during fetch.</source>
<translation>Auswählen, um die Quelle zu verwenden.</translation>
</message>
<message>
- <location filename="../settingsdialog.cpp" line="143"/>
+ <location filename="../settingsdialog.cpp" line="136"/>
<source>Add the username to authenticate on the server.</source>
<translation>Nutzernamen eintragen, um sich gegenüber der Quelle zu authentifizieren.</translation>
</message>
<message>
- <location filename="../settingsdialog.cpp" line="145"/>
+ <location filename="../settingsdialog.cpp" line="138"/>
<source>Add the password to authenticate on the server.</source>
<translation>Passwort eintragen, um sich gegenüber der Quelle zu authentifizieren.</translation>
</message>
<message>
- <location filename="../settingsdialog.cpp" line="147"/>
+ <location filename="../settingsdialog.cpp" line="140"/>
<source>The servers URL that contains a valid repository.</source>
<translation>Adresse angeben, die auf eine gültige Quelle zeigt.</translation>
</message>
<message>
- <location filename="../settingsdialog.cpp" line="351"/>
+ <location filename="../settingsdialog.cpp" line="338"/>
<source>There was an error testing this repository.</source>
<translation>Beim testen des Repositories ist ein Fehler aufgetreten.</translation>
</message>
<message>
- <location filename="../settingsdialog.cpp" line="352"/>
+ <location filename="../settingsdialog.cpp" line="339"/>
<source>Do you want to disable the tested repository?</source>
<translation>Soll das getestete Repository ausgeschaltet werden?</translation>
</message>
<message>
- <location filename="../settingsdialog.cpp" line="370"/>
+ <location filename="../settingsdialog.cpp" line="357"/>
<source>Hide Passwords</source>
<translation>Verstecke Passwörter</translation>
</message>
<message>
- <location filename="../settingsdialog.cpp" line="415"/>
+ <location filename="../settingsdialog.cpp" line="402"/>
<source>Use</source>
<translation>Nutze</translation>
</message>
<message>
- <location filename="../settingsdialog.cpp" line="415"/>
+ <location filename="../settingsdialog.cpp" line="402"/>
<source>Username</source>
<translation>Nutzername</translation>
</message>
<message>
- <location filename="../settingsdialog.cpp" line="415"/>
+ <location filename="../settingsdialog.cpp" line="402"/>
<source>Password</source>
<translation>Passwort</translation>
</message>
<message>
- <location filename="../settingsdialog.cpp" line="416"/>
+ <location filename="../settingsdialog.cpp" line="403"/>
<source>Repository</source>
<translation>Quelle</translation>
</message>
<message>
- <location filename="../settingsdialog.cpp" line="417"/>
+ <location filename="../settingsdialog.cpp" line="404"/>
<source>Default repositories</source>
<translation>Standardquellen</translation>
</message>
<message>
- <location filename="../settingsdialog.cpp" line="418"/>
+ <location filename="../settingsdialog.cpp" line="405"/>
<source>Temporary repositories</source>
<translation>Temporäre Quellen</translation>
</message>
<message>
- <location filename="../settingsdialog.cpp" line="419"/>
+ <location filename="../settingsdialog.cpp" line="406"/>
<source>User defined repositories</source>
<translation>Benutzerdefinierte Quellen</translation>
</message>
</context>
<context>
- <name>TargetDirectoryPageImpl</name>
- <message>
- <location filename="../installerbasecommons.cpp" line="393"/>
- <source>The installation path cannot be empty, please specify a valid folder.</source>
- <translation>Der Installationspfad darf nicht leer sein. Bitte einen gültigen Ordner angeben.</translation>
- </message>
- <message>
- <location filename="../installerbasecommons.cpp" line="398"/>
- <source>The installation path cannot be relative, please specify an absolute path.</source>
- <translation>Der Installationspfad darf nicht relativ sein. Bitte einen absoluten Pfad angeben.</translation>
- </message>
- <message>
- <location filename="../installerbasecommons.cpp" line="406"/>
- <location filename="../installerbasecommons.cpp" line="411"/>
- <source>As the install directory is completely deleted, installing in %1 is forbidden.</source>
- <translation>Da das Installationsverzeichnis komplett gelöscht wird, ist eine Installation nach %1 nicht zulässig.</translation>
- </message>
- <message>
- <location filename="../installerbasecommons.cpp" line="467"/>
- <source>Warning</source>
- <translation>Warnung</translation>
- </message>
- <message>
- <location filename="../installerbasecommons.cpp" line="474"/>
- <source>Error</source>
- <translation>Fehler</translation>
- </message>
- <message>
- <location filename="../installerbasecommons.cpp" line="447"/>
- <source>The path or installation directory contains non ASCII characters. This is currently not supported! Please choose a different path or installation directory.</source>
- <translation>Der Pfad zum Installationsverzeichnis enthält Zeichen ausserhalb des ASCII Zeichensatzes. Dies ist zur Zeit nicht unterstützt. Bitte wählen Sie einen anderen Pfad für das Installationsverzeichnis.</translation>
- </message>
- <message>
- <location filename="../installerbasecommons.cpp" line="419"/>
- <source>The path you have entered is too long, please make sure to specify a valid path.</source>
- <translation>Der von ihnen eingegebene Pfad ist zu lang, bitte geben sie einen gültigen Pfad ein.</translation>
- </message>
+ <name>UpdateOperation</name>
<message>
- <location filename="../installerbasecommons.cpp" line="425"/>
- <source>The path you have entered is not valid, please make sure to specify a valid drive.</source>
- <translation>Der von ihnen eingegebene Pfad ist ungültig, bitte geben sie ein gültiges Laufwerk an.</translation>
- </message>
- <message>
- <location filename="../installerbasecommons.cpp" line="439"/>
- <source>The installation path must not contain %1, please specify a valid folder.</source>
- <translation>Der Installationspfad darf nicht %1 enthalten, bitte einen gültigen Ordner angeben.</translation>
- </message>
- <message>
- <source>As the install directory is completely deleted installing in %1 is forbidden.</source>
- <translation type="vanished">Da das Installationsverzeichnis komplett gelöscht wird, ist eine Installation nach %1 nicht zulässig.</translation>
- </message>
- <message>
- <location filename="../installerbasecommons.cpp" line="505"/>
- <source>The folder you selected already exists and contains an installation. Choose a different target for installation.</source>
- <translation>Der ausgewählte Ordner existiert bereits und enthält eine Installation. Bitte ein anderes Zielverzeichnis auswählen.</translation>
- </message>
- <message>
- <source>The folder you selected exists already and contains an installation.
-Do you want to overwrite it?</source>
- <translation type="obsolete">Der ausgewählte Ordner existiert bereits und enthält eine Installation.
-Möchten Sie diese überschreiben?</translation>
- </message>
- <message>
- <location filename="../installerbasecommons.cpp" line="510"/>
- <source>You have selected an existing, non-empty folder for installation.
-Note that it will be completely wiped on uninstallation of this application.
-It is not advisable to install into this folder as installation might fail.
-Do you want to continue?</source>
- <translation>Sie haben einen existierenden, nicht leeren Ordner für die Installation ausgewählt.
-Dieser wird bei der Deinstallation dieser Anwendung komplett gelöscht werden.
-Es wird nicht empfohlen, in diesen Ordner zu installieren.
-Möchten Sie trotzdem fortsetzen?</translation>
- </message>
- <message>
- <location filename="../installerbasecommons.cpp" line="514"/>
- <source>You have selected an existing file or symlink, please choose a different target for installation.</source>
- <translation></translation>
- </message>
-</context>
-<context>
- <name>TestRepository</name>
- <message>
- <source>Empty repository URL.</source>
- <translation type="obsolete">Leere Quelladresse.</translation>
- </message>
- <message>
- <source>URL scheme not supported: %1 (%2).</source>
- <translation type="obsolete">Adressschema &quot;%1&quot; nicht unterstützt in Adresse &quot;%2&quot;.</translation>
- </message>
- <message>
- <source>Got a timeout while testing: &apos;%1&apos;</source>
- <translation type="obsolete">Erhielt Timeout beim Testen von: &apos;%1&apos;</translation>
- </message>
- <message>
- <source>Could not parse Updates.xml! Error: %1.</source>
- <translation type="obsolete">Ungültiges Format der Updates.xml. Fehlermeldung: %1</translation>
+ <location filename="../../libs/installer/environmentvariablesoperation.cpp" line="83"/>
+ <source>Registry path %1 is not writable</source>
+ <translation>Registrierungspfad %1 ist nicht beschreibbar</translation>
</message>
<message>
- <source>Updates.xml could not be opened for reading!</source>
- <translation type="obsolete">Konnte Updates.xml nicht zum Lesen öffnen.</translation>
+ <location filename="../../libs/installer/environmentvariablesoperation.cpp" line="95"/>
+ <source>Could not write to registry path %1</source>
+ <translation>Konnte nicht in Registrierungspfad %1 schreiben</translation>
</message>
<message>
- <source>Updates.xml could not be found on server!</source>
- <translation type="obsolete">Updates.xml konnte auf dem Server nicht gefunden werden.</translation>
+ <location filename="../../libs/kdtools/kdupdaterupdateoperation.cpp" line="294"/>
+ <source>Renaming %1 into %2 failed with %3.</source>
+ <translation>Umbenennung von %1 nach %2 schlug mit Meldung %3 fehl.</translation>
</message>
</context>
</TS>
diff --git a/src/sdk/translations/en_us.ts b/src/sdk/translations/en.ts
index a5d636a2c..a5d636a2c 100644
--- a/src/sdk/translations/en_us.ts
+++ b/src/sdk/translations/en.ts
diff --git a/src/sdk/translations/fr_fr.ts b/src/sdk/translations/fr.ts
index ba99993af..ba99993af 100644
--- a/src/sdk/translations/fr_fr.ts
+++ b/src/sdk/translations/fr.ts
diff --git a/src/sdk/translations/ja_jp.ts b/src/sdk/translations/ja.ts
index 0222d7c14..1b89e069c 100644
--- a/src/sdk/translations/ja_jp.ts
+++ b/src/sdk/translations/ja.ts
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.0" language="ja_JP">
+<TS version="2.1" language="ja_JP">
<context>
<name>Component</name>
<message>
@@ -440,6 +440,10 @@
<numerusform>%n個の更新が見つかりました。</numerusform>
</translation>
</message>
+ <message>
+ <source>Could not download update source %1 from (&apos;%2&apos;)</source>
+ <translation>(&apos;%2&apos;) から更新元 %1 をダウンロードできませんでした</translation>
+ </message>
</context>
<context>
<name>KDUpdater::UpdateSourcesInfo</name>
@@ -509,6 +513,18 @@
<source>Could not list archive: QIODevice not set or already destroyed.</source>
<translation>アーカイブからリストを取得できませんでした: QIODevice が設定されていないか、既に破棄されています。</translation>
</message>
+ <message>
+ <source>Error while extracting &apos;%1&apos;: %2</source>
+ <translation>&apos;%1&apos; の展開中にエラーが発生しました: %2</translation>
+ </message>
+ <message>
+ <source>Unknown exception caught (%1)</source>
+ <translation>未知の例外が発生しました (%1)</translation>
+ </message>
+ <message>
+ <source>Failed</source>
+ <translation>失敗</translation>
+ </message>
</context>
<context>
<name>Lib7z::ListArchiveJob</name>
@@ -516,6 +532,14 @@
<source>Could not list archive: QIODevice already destroyed.</source>
<translation>アーカイブからリストを取得できませんでした: QIODevice が既に破棄されています。</translation>
</message>
+ <message>
+ <source>Unknown exception caught (%1)</source>
+ <translation>未知の例外が発生しました (%1)</translation>
+ </message>
+ <message>
+ <source>Failed</source>
+ <translation>失敗</translation>
+ </message>
</context>
<context>
<name>QInstaller</name>
@@ -555,6 +579,94 @@
<source>YiB</source>
<translation>YB</translation>
</message>
+ <message>
+ <source>No marker found, stopped after %1.</source>
+ <translation>マーカーが見つからなかったため、%1 で停止しました。</translation>
+ </message>
+ <message>
+ <source>Cannot open file %1 for reading: %2</source>
+ <translation>読み込み用にファイル %1 を開けませんでした: %2</translation>
+ </message>
+ <message>
+ <source>Cannot open file %1 for writing: %2</source>
+ <translation>書き込み用にファイル %1 を開けませんでした: %2</translation>
+ </message>
+ <message>
+ <source>Read failed after %1 bytes: %2</source>
+ <translation>%1 バイトの読み込み後にエラーが発生しました: %2</translation>
+ </message>
+ <message>
+ <source>Copy failed. Error: %1</source>
+ <translation>コピーに失敗しました。エラー: %1</translation>
+ </message>
+ <message>
+ <source>Write failed after %1 bytes: %2</source>
+ <translation>%1 バイトの書き込み後にエラーが発生しました: %2</translation>
+ </message>
+ <message>
+ <source>Could not remove file %1: %2</source>
+ <translation>ファイル %1 を削除できませんでした: %2</translation>
+ </message>
+ <message>
+ <source>Could not remove folder %1: %2</source>
+ <translation>フォルダ %1 を削除できませんでした: %2</translation>
+ </message>
+ <message>
+ <source>Could not create folder %1</source>
+ <translation>フォルダ %1 を作成できませんでした</translation>
+ </message>
+ <message>
+ <source>Could not copy file from %1 to %2: %3</source>
+ <translation>ファイル %1 を %2 にコピーできませんでした: %3</translation>
+ </message>
+ <message>
+ <source>Could not move file from %1 to %2: %3</source>
+ <translation>ファイル %1 を %2 へ移動できませんでした: %3</translation>
+ </message>
+ <message>
+ <source>Could not create folder %1: %2</source>
+ <translation>フォルダ %1 を作成できませんでした: %2</translation>
+ </message>
+ <message>
+ <source>Could not open temporary file: %1</source>
+ <translation>一時ファイルを開けませんでした: %1</translation>
+ </message>
+ <message>
+ <source>Could not open temporary file for template %1: %2</source>
+ <translation>テンプレート %1 用の一時ファイルを開けませんでした: %2</translation>
+ </message>
+ <message>
+ <source>Could not create temporary file</source>
+ <translation>一時ファイルを作成できませんでした</translation>
+ </message>
+ <message>
+ <source>Could not retrieve property %1 for item %2</source>
+ <translation>アイテム %2 からプロパティ %1 を取得できませんでした</translation>
+ </message>
+ <message>
+ <source>Property %1 for item %2 not of type VT_FILETIME but %3</source>
+ <translation>アイテム %2 のプロパティ %1 の型が VT_FILETIME ではなく %3 になっています</translation>
+ </message>
+ <message>
+ <source>Could not convert file time to local time</source>
+ <translation>ファイルの時刻をローカルタイムに変換できませんでした</translation>
+ </message>
+ <message>
+ <source>Could not convert local file time to system time</source>
+ <translation>ローカルファイルの時刻をシステムの時刻へ変換できませんでした</translation>
+ </message>
+ <message>
+ <source>Corrupt installation</source>
+ <translation>破損したアプリケーション環境</translation>
+ </message>
+ <message>
+ <source>Your installation seems to be corrupted. Please consider re-installing from scratch.</source>
+ <translation>あなたのインストールしたアプリケーション環境は破損しているようです。再インストールを検討してください。</translation>
+ </message>
+ <message>
+ <source>The specified module could not be found.</source>
+ <translation>指定されたモジュールが見つかりませんでした。</translation>
+ </message>
</context>
<context>
<name>QInstaller::AddQtCreatorArrayValueOperation</name>
@@ -621,6 +733,10 @@
<source>Cannot resolve isDefault in %1</source>
<translation>%1 の isDefault を解決できません</translation>
</message>
+ <message>
+ <source>Components cannot have children in updater mode.</source>
+ <translation>コンポーネントはアップデートモードで子要素を持てません。</translation>
+ </message>
</context>
<context>
<name>QInstaller::ComponentModel</name>
@@ -763,7 +879,7 @@
</message>
<message>
<source>Failed to overwrite %1</source>
- <translation>%1 に上書きできません</translation>
+ <translation>%1 を上書きできません</translation>
</message>
<message>
<source>Could not copy %0 to %1, error was: %3</source>
@@ -792,6 +908,10 @@
<source>Could not write Desktop Entry at %1</source>
<translation>%1 へデスクトップエントリーを書き込むことができませんでした</translation>
</message>
+ <message>
+ <source>Could not backup file %1: %2</source>
+ <translation>ファイル %1 をバックアップできませんでした: %2</translation>
+ </message>
</context>
<context>
<name>QInstaller::CreateLinkOperation</name>
@@ -803,6 +923,14 @@
<source>exactly 2</source>
<translation>2個</translation>
</message>
+ <message>
+ <source>Could not create link from %1 to %2.</source>
+ <translation>%1 から %2 へのリンクを作成できませんでした。</translation>
+ </message>
+ <message>
+ <source>Could not remove link from %1 to %2.</source>
+ <translation>%1 から %2 へのリンクを削除できませんでした。</translation>
+ </message>
</context>
<context>
<name>QInstaller::CreateLocalRepositoryOperation</name>
@@ -858,6 +986,10 @@
<source>Cannot remove directory %1: %2</source>
<translation>ディレクトリ %1 を削除できません: %2</translation>
</message>
+ <message>
+ <source>Could not remove file %1: %2</source>
+ <translation>ファイル %1 を削除できませんでした: %2</translation>
+ </message>
</context>
<context>
<name>QInstaller::CreateShortcutOperation</name>
@@ -881,6 +1013,10 @@
<source>Could not create link %1: %2</source>
<translation>リンク %1 を作成できませんでした: %2</translation>
</message>
+ <message>
+ <source>Failed to overwrite %1: %2</source>
+ <translation>%1 に上書きできません: %2</translation>
+ </message>
</context>
<context>
<name>QInstaller::DownloadArchivesJob</name>
@@ -930,6 +1066,10 @@ Error while loading %2</source>
<source>Could not find component for: %1.</source>
<translation>コンポーネント %1 を見つけることができませんでした。</translation>
</message>
+ <message>
+ <source>Downloading archive &apos;%1&apos; for component: %2</source>
+ <translation>コンポーネントのアーカイブ &apos;%1&apos; のダウンロード中: %2</translation>
+ </message>
</context>
<context>
<name>QInstaller::ElevatedExecuteOperation</name>
@@ -1126,6 +1266,10 @@ Error while loading %2</source>
<source>3 or 4</source>
<translation>3あるいは4個</translation>
</message>
+ <message>
+ <source>3, 4 or 5</source>
+ <translation>3、4あるいは5個</translation>
+ </message>
</context>
<context>
<name>QInstaller::InstallIconsOperation</name>
@@ -1141,6 +1285,26 @@ Error while loading %2</source>
<source> (Sourcepath, [Vendorprefix])</source>
<translation> (ソースパス, [ベンダープレフィックス])</translation>
</message>
+ <message>
+ <source>Invalid Argument: source folder must not be empty.</source>
+ <translation>無効な引数: 空のフォルダをソースに指定できません。</translation>
+ </message>
+ <message>
+ <source>Could not backup file %1: %2</source>
+ <translation>ファイル %1 をバックアップできませんでした: %2</translation>
+ </message>
+ <message>
+ <source>Failed to overwrite %1: %2</source>
+ <translation>%1 に上書きできません: %2</translation>
+ </message>
+ <message>
+ <source>Failed to copy file %1: %2</source>
+ <translation>ファイル %1 へのコピーに失敗しました: %2</translation>
+ </message>
+ <message>
+ <source>Could not create folder at %1: %2</source>
+ <translation>%1 にフォルダを作成できませんでした: %2</translation>
+ </message>
</context>
<context>
<name>QInstaller::IntroductionPage</name>
@@ -1152,6 +1316,38 @@ Error while loading %2</source>
<source>Welcome to the %1 Setup Wizard.</source>
<translation>%1 のセットアップウィザードへようこそ。</translation>
</message>
+ <message>
+ <source>Add or remove components</source>
+ <translation>コンポーネントの追加または削除</translation>
+ </message>
+ <message>
+ <source>Update components</source>
+ <translation>コンポーネントの更新</translation>
+ </message>
+ <message>
+ <source>Remove all components</source>
+ <translation>すべてのコンポーネントの削除</translation>
+ </message>
+ <message>
+ <source>Retrieving information from remote installation sources...</source>
+ <translation>リモートのインストール元から情報を取得しています...</translation>
+ </message>
+ <message>
+ <source>At least one valid and enabled repository required for this action to succeed.</source>
+ <translation>このアクションの実行にはひとつ以上の有効なリポジトリが必要です。</translation>
+ </message>
+ <message>
+ <source>No updates available.</source>
+ <translation>新しい更新はありません。</translation>
+ </message>
+ <message>
+ <source> Only local package management available.</source>
+ <translation> ローカルのパッケージ管理のみ利用できます。</translation>
+ </message>
+ <message>
+ <source>Quit</source>
+ <translation>終了</translation>
+ </message>
</context>
<context>
<name>QInstaller::LicenseAgreementPage</name>
@@ -1223,6 +1419,14 @@ Error while loading %2</source>
<source>exactly 3</source>
<translation>3個</translation>
</message>
+ <message>
+ <source>Failed to open &apos;%1&apos; for reading.</source>
+ <translation>読み込み用に &apos;%1&apos; を開くのに失敗しました。</translation>
+ </message>
+ <message>
+ <source>Failed to open &apos;%1&apos; for writing.</source>
+ <translation>書き込み用に &apos;%1&apos; を開くのに失敗しました。</translation>
+ </message>
</context>
<context>
<name>QInstaller::MacReplaceInstallNamesOperation</name>
@@ -1311,6 +1515,14 @@ Downloading packages...</source>
<source>There is an important update available, please run the updater first.</source>
<translation>重要な更新が利用可能です。先にアップデータを実行してください。</translation>
</message>
+ <message>
+ <source>Error writing Maintenance Tool</source>
+ <translation>メンテナンスツール書き込み中のエラー</translation>
+ </message>
+ <message>
+ <source>Error while elevating access rights.</source>
+ <translation>アクセス権限の昇格中にエラーが発生しました。</translation>
+ </message>
</context>
<context>
<name>QInstaller::PackageManagerCorePrivate</name>
@@ -1506,6 +1718,54 @@ Installing component %1</source>
<source>Could not find any update source information.</source>
<translation>更新元情報が見つかりませんでした。</translation>
</message>
+ <message>
+ <source>Unresolved dependencies</source>
+ <translation>未解決の依存関係</translation>
+ </message>
+ <message>
+ <source>Writing maintenance tool.</source>
+ <translation>メンテナンスツールの書き込み中。</translation>
+ </message>
+ <message>
+ <source>Failed to seek in file %1: %2</source>
+ <translation>ファイル %1 でのシークに失敗しました: %2</translation>
+ </message>
+ <message>
+ <source>Maintenance tool is not a bundle</source>
+ <translation>メンテナンスツールはバンドルされていません</translation>
+ </message>
+ <message>
+ <source>Could not write maintenance tool data to %1: %2</source>
+ <translation>メンテナンスツールのデータを %1 に書き込めませんでした: %2</translation>
+ </message>
+ <message>
+ <source>Could not remove data file &apos;%1&apos;: %2</source>
+ <translation>データファイル &apos;%1&apos; を削除できませんでした: %2</translation>
+ </message>
+ <message>
+ <source>Could not write maintenance tool to %1: %2</source>
+ <translation>メンテナンスツールを %1 に書き込めませんでした: %2</translation>
+ </message>
+ <message>
+ <source>Could not write maintenance tool binary data to %1: %2</source>
+ <translation>メンテナンスツールのバイナリデータを %1 に書き込めませんでした: %2</translation>
+ </message>
+ <message>
+ <source>Creating Maintenance Tool</source>
+ <translation>メンテナンスツールを作成しています</translation>
+ </message>
+ <message>
+ <source>Uninstallation completed successfully.</source>
+ <translation>アンインストールに成功しました。</translation>
+ </message>
+ <message>
+ <source>Uninstallation aborted.</source>
+ <translation>アンインストールが中断されました。</translation>
+ </message>
+ <message>
+ <source>Dependency cycle between components detected: &apos;%1&apos; and &apos;%2&apos;.</source>
+ <translation>検出されたコンポーネント: &apos;%1&apos; と &apos;%2&apos; の間に依存関係の循環があります。</translation>
+ </message>
</context>
<context>
<name>QInstaller::PackageManagerGui</name>
@@ -1563,6 +1823,26 @@ Please copy the installer to a local drive</source>
<translation>ネットワーク上からのインストールができません。
インストーラをローカルドライブにコピーしてください</translation>
</message>
+ <message>
+ <source>Do you want to cancel the installation process?</source>
+ <translation>インストールプロセスをキャンセルしますか?</translation>
+ </message>
+ <message>
+ <source>Do you want to cancel the uninstallation process?</source>
+ <translation>アンインストールプロセスをキャンセルしますか?</translation>
+ </message>
+ <message>
+ <source>Do you want to quit the installer application?</source>
+ <translation>インストーラを終了しますか?</translation>
+ </message>
+ <message>
+ <source>Do you want to quit the uninstaller application?</source>
+ <translation>アンインストーラを終了しますか?</translation>
+ </message>
+ <message>
+ <source>Do you want to quit the maintenance application?</source>
+ <translation>メンテナンスツールを終了しますか?</translation>
+ </message>
</context>
<context>
<name>QInstaller::PerformInstallationForm</name>
@@ -1726,7 +2006,7 @@ Qt のバイナリにパッチを適用しようとしましたが、Qt の他
</message>
<message>
<source>Can not resolve all dependencies!</source>
- <translation>すべての依存関係を解決できません!</translation>
+ <translation>すべての依存関係を解決できません!</translation>
</message>
<message>
<source>Components about to be removed.</source>
@@ -1736,6 +2016,14 @@ Qt のバイナリにパッチを適用しようとしましたが、Qt の他
<source>&amp;Hide Details</source>
<translation>詳細を隠す(&amp;H)</translation>
</message>
+ <message>
+ <source>Installation will use %1 of disk space.</source>
+ <translation>%1 のディスク容量を使用します。</translation>
+ </message>
+ <message>
+ <source>Cannot resolve all dependencies.</source>
+ <translation>すべての依存関係を解決できません。</translation>
+ </message>
</context>
<context>
<name>QInstaller::RegisterFileTypeOperation</name>
@@ -1751,6 +2039,10 @@ Qt のバイナリにパッチを適用しようとしましたが、Qt の他
<source>Register File Type: Invalid arguments</source>
<translation>ファイル形式の登録: 無効な引数</translation>
</message>
+ <message>
+ <source>Registering file types is only supported on Windows.</source>
+ <translation>ファイル形式の登録は Windows でのみサポートしています。</translation>
+ </message>
</context>
<context>
<name>QInstaller::ReplaceOperation</name>
@@ -1762,6 +2054,14 @@ Qt のバイナリにパッチを適用しようとしましたが、Qt の他
<source>exactly 3</source>
<translation>3個</translation>
</message>
+ <message>
+ <source>Failed to open %1 for reading</source>
+ <translation>読み込み用に %1 を開くのに失敗しました</translation>
+ </message>
+ <message>
+ <source>Failed to open %1 for writing</source>
+ <translation>書き込み用に %1 を開くのに失敗しました</translation>
+ </message>
</context>
<context>
<name>QInstaller::RestartPage</name>
@@ -1788,6 +2088,10 @@ Qt のバイナリにパッチを適用しようとしましたが、Qt の他
<source>Fatal error while evaluating a script.</source>
<translation>スクリプトの評価中に致命的なエラーが発生しました。</translation>
</message>
+ <message>
+ <source>Exception while loading the component script &apos;%1&apos;. (%2)</source>
+ <translation>コンポーネントスクリプト &apos;%1&apos; のロード中に例外が発生しました。(%2)</translation>
+ </message>
</context>
<context>
<name>QInstaller::SelfRestartOperation</name>
@@ -1868,6 +2172,14 @@ Qt のバイナリにパッチを適用しようとしましたが、Qt の他
<source>Move &apos;%1&apos; to &apos;%2&apos;.</source>
<translation>&apos;%1&apos; を &apos;%2&apos; へ移動。</translation>
</message>
+ <message>
+ <source>Cannot move source &apos;%1&apos; to target &apos;%2&apos;, because target exists and is not removable.</source>
+ <translation>ソース &apos;%1&apos; をターゲット &apos;%2&apos; に移動できません。ターゲットが存在しており、かつ削除できません。</translation>
+ </message>
+ <message>
+ <source>Cannot move source &apos;%1&apos; to target &apos;%2&apos;: %3</source>
+ <translation>ソース &apos;%1&apos; をターゲット &apos;%2&apos; に移動できません: %3</translation>
+ </message>
</context>
<context>
<name>QInstaller::StartMenuDirectoryPage</name>
@@ -1923,6 +2235,60 @@ Qt のバイナリにパッチを適用しようとしましたが、Qt の他
<source>Select Installation Folder</source>
<translation>インストール先フォルダの選択</translation>
</message>
+ <message>
+ <source>The folder you selected already exists and contains an installation. Choose a different target for installation.</source>
+ <translation>選択されたフォルダは既に存在し、インストール済みです。他のインストール先を選択してください。</translation>
+ </message>
+ <message>
+ <source>You have selected an existing, non-empty folder for installation.
+Note that it will be completely wiped on uninstallation of this application.
+It is not advisable to install into this folder as installation might fail.
+Do you want to continue?</source>
+ <translation>既存の空ではないフォルダをインストール先に選択しました。
+このアプリケーションをアンインストールする時にはこのフォルダすべてが消去されることに注意してください。
+このフォルダへのインストールは失敗する可能性もあり推奨されません。
+インストールを継続しますか?</translation>
+ </message>
+ <message>
+ <source>You have selected an existing file or symlink, please choose a different target for installation.</source>
+ <translation>既存のファイルあるいはシンボリックリンクを選択しました。他のインストール先を選択してください。</translation>
+ </message>
+ <message>
+ <source>The installation path cannot be empty, please specify a valid folder.</source>
+ <translation>インストール先のパスは省略できません。有効なフォルダを指定してください。</translation>
+ </message>
+ <message>
+ <source>The installation path cannot be relative, please specify an absolute path.</source>
+ <translation>インストール先のパスに相対パスは使用できません。絶対パスで指定してください。</translation>
+ </message>
+ <message>
+ <source>The path or installation directory contains non ASCII characters. This is currently not supported! Please choose a different path or installation directory.</source>
+ <translation>インストール先のパスに非ASCII文字が含まれています。そのようなパスへのインストールはサポートされていません。別のパスを選択してください。</translation>
+ </message>
+ <message>
+ <source>As the install directory is completely deleted, installing in %1 is forbidden.</source>
+ <translation>インストールしたディレクトリはアンインストール時に完全に削除されるため、%1 へのインストールは禁止されています。</translation>
+ </message>
+ <message>
+ <source>The path you have entered is too long, please make sure to specify a valid path.</source>
+ <translation>入力したパスが長すぎます。有効なパスを指定してください。</translation>
+ </message>
+ <message>
+ <source>The path you have entered is not valid, please make sure to specify a valid target.</source>
+ <translation>入力したパスは無効です。有効なターゲットを指定してください。</translation>
+ </message>
+ <message>
+ <source>The path you have entered is not valid, please make sure to specify a valid drive.</source>
+ <translation>入力したパスは無効です。有効なドライブを指定してください。</translation>
+ </message>
+ <message>
+ <source>The installation path must not end with &apos;.&apos;, please specify a valid folder.</source>
+ <translation>インストール先のパスの最後に &apos;.&apos; は使用できません。有効なフォルダを指定してください。</translation>
+ </message>
+ <message>
+ <source>The installation path must not contain &apos;%1&apos;, please specify a valid folder.</source>
+ <translation>インストール先のパスに %1 は使用できません。有効なフォルダを指定してください。</translation>
+ </message>
</context>
<context>
<name>QInstaller::TestRepository</name>
@@ -2226,7 +2592,7 @@ Qt のバイナリにパッチを適用しようとしましたが、Qt の他
</message>
<message>
<source>Could not write to registry path %1</source>
- <translation>レジストリパス %1 へ書き込めませんでした</translation>
+ <translation>レジストリのパス %1 へ書き込めませんでした</translation>
</message>
<message>
<source>Invalid Argument: source folder must not be empty.</source>
@@ -2569,4 +2935,575 @@ Do you want to continue?</source>
<translation>既存のファイルあるいはシンボリックリンクを選択しました。他のインストール先を選択してください。</translation>
</message>
</context>
+<context>
+ <name>QInstaller::ProxyCredentialsDialog</name>
+ <message>
+ <source>Dialog</source>
+ <translation>ダイアログ</translation>
+ </message>
+ <message>
+ <source>The proxy %1 requires a username and password.</source>
+ <translation>プロキシ %1 は、ユーザー名とパスワードが必要です。</translation>
+ </message>
+ <message>
+ <source>Username:</source>
+ <translation>ユーザ名:</translation>
+ </message>
+ <message>
+ <source>Username</source>
+ <translation>ユーザ名</translation>
+ </message>
+ <message>
+ <source>Password:</source>
+ <translation>パスワード:</translation>
+ </message>
+ <message>
+ <source>Password</source>
+ <translation>パスワード</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::ServerAuthenticationDialog</name>
+ <message>
+ <source>Server Requires Authentication</source>
+ <translation>サーバーには認証が必要です</translation>
+ </message>
+ <message>
+ <source>You need to supply a username and password to access this site.</source>
+ <translation>このサイトにアクセスするにはユーザ名とパスワードが必要です。</translation>
+ </message>
+ <message>
+ <source>Username:</source>
+ <translation>ユーザ名:</translation>
+ </message>
+ <message>
+ <source>Password:</source>
+ <translation>パスワード:</translation>
+ </message>
+ <message>
+ <source>%1 at %2</source>
+ <translation>%2 の %1</translation>
+ </message>
+</context>
+<context>
+ <name>BinaryLayout</name>
+ <message>
+ <source>Could not seek to %1 to read the embedded meta data count.</source>
+ <translation>埋め込まれたメタデータ数を読み込むために %1 にシーク出来ませんでした。</translation>
+ </message>
+ <message>
+ <source>Could not seek to %1 to read the resource collection segment.</source>
+ <translation>リソースコレクションセグメントを読み込むために %1 にシーク出来ませんでした。</translation>
+ </message>
+ <message>
+ <source>Unexpected mismatch of meta resources. Read %1, expected: %2.</source>
+ <translation>メタリソースの予期しない不一致。取得値 %1、想定値: %2。</translation>
+ </message>
+</context>
+<context>
+ <name>BinaryContent</name>
+ <message>
+ <source>Could not seek to %1 to read the operation data.</source>
+ <translation>操作データを読み込むために %1 にシーク出来ませんでした。</translation>
+ </message>
+ <message>
+ <source>Could not seek to %1 to read the resource collection block.</source>
+ <translation>リソースコレクションブロックを読み込むために %1 にシーク出来ませんでした。</translation>
+ </message>
+ <message>
+ <source>Could not open meta resource. Error: %1</source>
+ <translation>メタリソースを開けませんでした。エラー: %1</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::Resource</name>
+ <message>
+ <source>Could not open Resource &apos;%1&apos; read-only.</source>
+ <translation>読み込み専用でリソース %1 を開けませんでした。</translation>
+ </message>
+ <message>
+ <source>Read failed after %1 bytes: %2</source>
+ <translation>%1 バイトの読み込み後にエラーが発生しました: %2</translation>
+ </message>
+ <message>
+ <source>Write failed after %1 bytes: %2</source>
+ <translation>%1 バイトの書き込み後にエラーが発生しました: %2</translation>
+ </message>
+</context>
+<context>
+ <name>ResourceCollectionManager</name>
+ <message>
+ <source>Could not open resource %1: %2</source>
+ <translation>リソース %1 を開けませんでした: %2</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::CopyFileTask</name>
+ <message>
+ <source>Invalid task item count.</source>
+ <translation>タスクアイテム数が無効です。</translation>
+ </message>
+ <message>
+ <source>Could not open source &apos;%1&apos; for read. Error: %2.</source>
+ <translation>読み込み用にソース &apos;%1&apos; を開けませんでした。エラー: %2。</translation>
+ </message>
+ <message>
+ <source>Could not open target &apos;%1&apos; for write. Error: %2.</source>
+ <translation>書き込み用に対象 &apos;%1&apos; を開けませんでした。エラー: %2</translation>
+ </message>
+ <message>
+ <source>Writing to target &apos;%1&apos; failed. Error: %2.</source>
+ <translation>対象 &apos;%1&apos; への書き込み中に失敗しました。エラー: %2</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::Downloader</name>
+ <message>
+ <source>Target &apos;%1&apos; not open for write. Error: %2.</source>
+ <extracomment>%2 is a sentence describing the error.</extracomment>
+ <translation>書き込みのために対象 &apos;%1&apos; を開けませんでした。エラー: %2 。</translation>
+ </message>
+ <message>
+ <source>Writing to target &apos;%1&apos; failed. Error: %2.</source>
+ <extracomment>%2 is a sentence describing the error.</extracomment>
+ <translation>対象 &apos;%1&apos; への書き込み中に失敗しました。エラー: %2。</translation>
+ </message>
+ <message>
+ <source>Redirect loop detected &apos;%1&apos;.</source>
+ <translation>&apos;%1&apos; でリダイレクトループを検出しました。</translation>
+ </message>
+ <message>
+ <source>Checksum mismatch detected &apos;%1&apos;.</source>
+ <translation>&apos;%1&apos; でチェックサムの不一致を検出しました。</translation>
+ </message>
+ <message>
+ <source>Network error while downloading &apos;%1&apos;: %2.</source>
+ <extracomment>%2 is a sentence describing the error</extracomment>
+ <translation>&apos;%1&apos; をダウンロード中に通信エラーが発生しました: %2 。</translation>
+ </message>
+ <message>
+ <source>Unknown network error while downloading: %1.</source>
+ <extracomment>%1 is a sentence describing the error</extracomment>
+ <translation>ダウンロード中に不明な通信エラーが発生しました: %1。</translation>
+ </message>
+ <message>
+ <source>Pause and resume not supported by network transfers.</source>
+ <translation>ネットワーク通信の一時停止と再開は現在サポートされていません。</translation>
+ </message>
+ <message>
+ <source>Invalid source &apos;%1&apos;. Error: %2.</source>
+ <extracomment>%2 is a sentence describing the error</extracomment>
+ <translation>無効なソース &apos;%1&apos;。エラー: %2。</translation>
+ </message>
+ <message>
+ <source>Target file &apos;%1&apos; already exists but is not a file.</source>
+ <translation>対象ファイル &apos;%1&apos; は既に存在しますが、ファイルではありません。</translation>
+ </message>
+ <message>
+ <source>Could not open target &apos;%1&apos; for write. Error: %2.</source>
+ <extracomment>%2 is a sentence describing the error</extracomment>
+ <translation>対象 &apos;%1&apos; は書き込み用に開けませんでした。エラー: %2。</translation>
+ </message>
+</context>
+<context>
+ <name>AuthenticationRequiredException</name>
+ <message>
+ <source>%1 at %2</source>
+ <translation>%2 の %1</translation>
+ </message>
+ <message>
+ <source>Proxy requires authentication.</source>
+ <translation>プロキシは認証が必要です。</translation>
+ </message>
+</context>
+<context>
+ <name>UpdateOperation</name>
+ <message>
+ <source>Registry path %1 is not writable</source>
+ <translation>レジストリのパス %1 に書き込みできません</translation>
+ </message>
+ <message>
+ <source>Could not write to registry path %1</source>
+ <translation>レジストリのパス %1 へ書き込めませんでした</translation>
+ </message>
+ <message>
+ <source>Renaming %1 into %2 failed with %3.</source>
+ <translation>%1 から %2 への名前の変更が %3 で失敗しました。</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::FakeStopProcessForUpdateOperation</name>
+ <message>
+ <source>Number of arguments does not match: one is required</source>
+ <translation>引数の数が一致しません: 一つのみ指定してください</translation>
+ </message>
+ <message>
+ <source>Could not get package manager core.</source>
+ <translation>パッケージマネージャのコアを取得できません。</translation>
+ </message>
+ <message>
+ <source>This process should be stopped before continuing: %1</source>
+ <translation>続行するにはこのプロセスを終了してください: %1</translation>
+ </message>
+ <message>
+ <source>These processes should be stopped before continuing: %1</source>
+ <translation>続行するにはこれらのプロセスを終了してください: %1</translation>
+ </message>
+</context>
+<context>
+ <name>InstallerCalculator</name>
+ <message>
+ <source>Components added as automatic dependencies:</source>
+ <translation>自動的な依存関係の解決により追加されたコンポーネント:</translation>
+ </message>
+ <message>
+ <source>Components added as dependency for &apos;%1&apos;:</source>
+ <translation>&apos;%1&apos; が依存しているために追加されたコンポーネント:</translation>
+ </message>
+ <message>
+ <source>Components that have resolved dependencies:</source>
+ <translation>依存関係を解決したコンポーネント:</translation>
+ </message>
+ <message>
+ <source>Selected components without dependencies:</source>
+ <translation>選択されたコンポーネントは依存関係がありません:</translation>
+ </message>
+ <message>
+ <source>Recursion detected, component &apos;%1&apos; already added with reason: &apos;%2&apos;</source>
+ <translation>再帰を検出しました、コンポーネント &apos;%1&apos; は、&apos;%2&apos; の理由によって既に追加されています</translation>
+ </message>
+ <message>
+ <source>Cannot find missing dependency &apos;%1&apos; for &apos;%2&apos;.</source>
+ <translation>&apos;%2&apos; のために不足している依存関係 &apos;%1&apos; を見つけることができません。</translation>
+ </message>
+</context>
+<context>
+ <name>DirectoryGuard</name>
+ <message>
+ <source>Path exists but is not a folder: %1</source>
+ <translation>パスが存在していますが、フォルダではありません: %1</translation>
+ </message>
+ <message>
+ <source>Could not create folder: %1</source>
+ <translation>フォルダを作成できませんでした: %1</translation>
+ </message>
+</context>
+<context>
+ <name>QIODeviceSequentialOutStream</name>
+ <message>
+ <source>No device set for output stream</source>
+ <translation>ストリームを出力するデバイスが指定されていません</translation>
+ </message>
+</context>
+<context>
+ <name>OpenArchiveInfo</name>
+ <message>
+ <source>Could not load codecs</source>
+ <translation>コーデックをロードできませんでした</translation>
+ </message>
+ <message>
+ <source>Could not retrieve default format</source>
+ <translation>デフォルトフォーマットを取得できませんでした</translation>
+ </message>
+ <message>
+ <source>Could not open archive</source>
+ <translation>アーカイブを開けませんでした</translation>
+ </message>
+ <message>
+ <source>No CArc found</source>
+ <translation>CArc が見つかりません</translation>
+ </message>
+</context>
+<context>
+ <name>Lib7z</name>
+ <message>
+ <source>Could not retrieve number of items in archive</source>
+ <translation>アーカイブ内のアイテム数が取得できませんでした</translation>
+ </message>
+ <message>
+ <source>Could not retrieve path of archive item %1</source>
+ <translation>アーカイブアイテム %1 のパスが取得できませんでした</translation>
+ </message>
+ <message>
+ <source>Unknown exception caught (%1)</source>
+ <translation>未知の例外が発生しました (%1)</translation>
+ </message>
+ <message>
+ <source>internal code: %1</source>
+ <translation>内部コード: %1</translation>
+ </message>
+ <message>
+ <source>not enough memory</source>
+ <translation>メモリが不足しています</translation>
+ </message>
+ <message>
+ <source>Error: %1</source>
+ <translation>エラー: %1</translation>
+ </message>
+ <message>
+ <source>Could not load codecs</source>
+ <translation>コーデックをロードできませんでした</translation>
+ </message>
+ <message>
+ <source>Could not retrieve default format</source>
+ <translation>デフォルトフォーマットを取得できませんでした</translation>
+ </message>
+ <message>
+ <source>Could not create archive %1. %2</source>
+ <translation>アーカイブ %1 が作成できませんでした: %2</translation>
+ </message>
+ <message>
+ <source>CArc index %1 out of bounds [0, %2]</source>
+ <translation>CArc のインデックス %1 が範囲外です [0, %2]</translation>
+ </message>
+ <message>
+ <source>Item index %1 out of bounds [0, %2]</source>
+ <translation>アイテムのインデックス %1 が範囲外です [0, %2]</translation>
+ </message>
+ <message>
+ <source>Could not create output file for writing: %1</source>
+ <translation>書き込み用に出力ファイルを作成できませんでした: %1</translation>
+ </message>
+</context>
+<context>
+ <name>ExtractCallbackImpl</name>
+ <message>
+ <source>Could not retrieve path of archive item %1</source>
+ <translation>アーカイブアイテム %1 のパスが取得できませんでした</translation>
+ </message>
+ <message>
+ <source>Could not remove already existing symlink. %1</source>
+ <translation>すでに存在するシンボリックリンクは削除できません: %1</translation>
+ </message>
+ <message>
+ <source>Could not open file: %1 (%2)</source>
+ <translation>ファイルが開けません: %1 (%2)</translation>
+ </message>
+ <message>
+ <source>Could not create symlink at &apos;%1&apos;. Another one is already existing.</source>
+ <translation>&apos;%1&apos; にシンボリックリンクを作成できませんでした。他のリンクがすでに存在します。</translation>
+ </message>
+ <message>
+ <source>Could not read symlink target from file &apos;%1&apos;.</source>
+ <translation>シンボリックリンクの参照先のファイル &apos;%1&apos; を読み込み用に開けませんでした。</translation>
+ </message>
+ <message>
+ <source>Could not create symlink at %1. %2</source>
+ <translation>%1 にシンボリックリンクを作成できませんでした。 %2</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::MetadataJob</name>
+ <message>
+ <source>Missing package manager core engine.</source>
+ <translation>パッケージマネージャのコアエンジンが見つかりません。</translation>
+ </message>
+ <message>
+ <source>Preparing meta information download...</source>
+ <translation>メタ情報のダウンロードの準備...</translation>
+ </message>
+ <message>
+ <source>Meta data download canceled.</source>
+ <translation>メタデータのダウンロードをキャンセルしました。</translation>
+ </message>
+ <message>
+ <source>Missing proxy credentials.</source>
+ <translation>プロキシの認証情報がありません。</translation>
+ </message>
+ <message>
+ <source>Authentication failed.</source>
+ <translation>認証失敗。</translation>
+ </message>
+ <message>
+ <source>Unknown exception during download.</source>
+ <translation>ダウンロード中に未知の例外が発生しました。</translation>
+ </message>
+ <message>
+ <source>Retrieving meta information from remote repository...</source>
+ <translation>リモートリポジトリからメタ情報を取得中...</translation>
+ </message>
+ <message>
+ <source>Failure to fetch repositories.</source>
+ <translation>リポジトリの取得に失敗しました。</translation>
+ </message>
+ <message>
+ <source>Unknown exception during extracting.</source>
+ <translation>展開中に未知の例外が発生しました。</translation>
+ </message>
+ <message>
+ <source>Extracting meta information...</source>
+ <translation>メタ情報を展開中...</translation>
+ </message>
+ <message>
+ <source>Error while extracting &apos;%1&apos;: %2</source>
+ <translation>&apos;%1&apos; の展開中にエラーが発生しました: %2</translation>
+ </message>
+ <message>
+ <source>Unknown exception caught while extracting %1.</source>
+ <translation>%1 の展開中に未知の例外が発生しました。</translation>
+ </message>
+ <message>
+ <source>Could not open %1 for reading. Error: %2</source>
+ <translation>読み込み用に %1 を開けませんでした。エラー: %2</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::FileTaskObserver</name>
+ <message>
+ <source>%1 of %2</source>
+ <translation>%1 / %2</translation>
+ </message>
+ <message>
+ <source>%1 received.</source>
+ <translation>%1 受信済み</translation>
+ </message>
+ <message>
+ <source>(%1/sec)</source>
+ <translation>(%1/秒)</translation>
+ </message>
+ <message numerus="yes">
+ <source>%n day(s), </source>
+ <translation>
+ <numerusform>%n 日, </numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%n hour(s), </source>
+ <translation>
+ <numerusform>%n 時間, </numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%n minute(s)</source>
+ <translation>
+ <numerusform>%n 分</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%n second(s)</source>
+ <translation>
+ <numerusform>%n 秒</numerusform>
+ </translation>
+ </message>
+ <message>
+ <source> - %1%2%3%4 remaining.</source>
+ <translation>- 残り時間 %1%2%3%4。</translation>
+ </message>
+ <message>
+ <source> - unknown time remaining.</source>
+ <translation> - 残り時間: 不明。</translation>
+ </message>
+</context>
+<context>
+ <name>QtPatchOperation</name>
+ <message>
+ <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
+ <translation>%0 に無効な引数: %1個の引数が渡されましたが、必要なのは%2です%3。</translation>
+ </message>
+ <message>
+ <source>3 or 4</source>
+ <translation>3あるいは4個</translation>
+ </message>
+ <message>
+ <source>Needed installer object in &quot;%1&quot; operation is empty.</source>
+ <translation>&quot;%1&quot; のインストーラ作成に必要な操作が見つかりません。</translation>
+ </message>
+ <message>
+ <source>First argument should be &apos;linux&apos;, &apos;mac&apos; or &apos;windows&apos;. No other type is supported at this time.</source>
+ <translation>最初の引数は &apos;linux&apos;, &apos;mac&apos;, &apos;windows&apos; のいずれかを指定してください。それ以外はサポートしていません。</translation>
+ </message>
+ <message>
+ <source>Could not find the needed QmakeOutputInstallerKey(%1) value on the installer object. The ConsumeOutput operation on the valid qmake needs to be called first.</source>
+ <translation>インストーラに必要な QmakeOutputInstallerKey(%1) の値を見つけることができませんでした。適切な qmake で ConsumeOutput 操作を最初に実行する必要があります。</translation>
+ </message>
+ <message>
+ <source>QMake from the current Qt version
+(%1)is not existing. Please file a bugreport with this dialog at https://bugreports.qt-project.org.</source>
+ <translation>現在の Qt のバージョン(%1)の QMake が見つかりません。このダイアログから https://bugreports.qt-project.org へバグ報告をしてください。</translation>
+ </message>
+ <message>
+ <source>The output of
+%1 -query
+is not parseable. Please file a bugreport with this dialog https://bugreports.qt-project.org.
+output: &quot;%2&quot;</source>
+ <translation>以下の出力がパースできません。
+%1 -query
+このダイアログから https://bugreports.qt-project.org へバグ報告をしてください。
+出力: &quot;%2&quot;</translation>
+ </message>
+ <message>
+ <source>Qt patch error: new Qt dir(%1)
+needs to be less than 255 characters.</source>
+ <translation>Qt パッチエラー: 新しい Qt のパス(%1)
+は255文字以下である必要があります。</translation>
+ </message>
+ <message>
+ <source>Qt patch error: Can not open %1.(%2)</source>
+ <translation>Qt パッチエラー: %1 を開けません。(%2)</translation>
+ </message>
+ <message>
+ <source>The installer was not able to get the unpatched path from
+%1.(maybe it is broken or removed)
+It tried to patch the Qt binaries, but all other files in Qt are unpatched.
+This could result in a broken Qt version.
+Sometimes it helps to restart the installer with a switched off antivirus software.</source>
+ <translation>インストーラはパッチ未適用時のパスを %1 から取得できませんでした。
+(おそらくファイルが壊れているか削除されています)
+Qt のバイナリにパッチを適用しようとしましたが、Qt の他のすべてのファイルに対してパッチは適用されていません。
+このため、この Qt は正常な状態に無い可能性があります。
+アンチウィルスソフトウェアをオフにしてインストーラを再起動することによって改善されるかもしれません。</translation>
+ </message>
+</context>
+<context>
+ <name>RemoteClient</name>
+ <message>
+ <source>Could not get authorization.</source>
+ <translation>認証できませんでした。</translation>
+ </message>
+ <message>
+ <source>Could not get authorization that is needed for continuing the installation.
+ Either abort the installation or use the fallback solution by running
+
+%1
+
+as root and then clicking OK.</source>
+ <translation>インストールの継続に必要な認証ができませんでした。
+インストールを「中止」するか、別の手段として root で
+%1
+を実行した後に「OK」をクリックしてください。</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::RemoteObject</name>
+ <message>
+ <source>Could not read all data after sending command: %1. Bytes expected: %2, Bytes received: %3. Error: %3</source>
+ <translation>コマンドを送信した後、すべてのデータを読み込めませんでした: %1。想定バイト数: %2 、受信バイト数: %3。エラー: %3</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::RemoteServerConnection</name>
+ <message>
+ <source>Could not read all data after sending command: %1. Bytes expected: %2, Bytes received: %3. Error: %3</source>
+ <translation>コマンドを送信した後、すべてのデータを読み込めませんでした: %1。想定バイト数: %2 、受信バイト数: %3。エラー: %3</translation>
+ </message>
+</context>
+<context>
+ <name>KDLockFile</name>
+ <message>
+ <source>Could not create lock file &apos;%1&apos;: %2</source>
+ <translation>ロックファイル &apos;%1&apos; を作成できませんでした: %2</translation>
+ </message>
+ <message>
+ <source>Could not write PID to lock file &apos;%1&apos;: %2</source>
+ <translation>ロックファイル &apos;%1&apos; に PID を書き込めませんでした: %2</translation>
+ </message>
+ <message>
+ <source>Could not obtain the lock for file &apos;%1&apos;: %2</source>
+ <translation>ファイル &apos;%1&apos; をロックできませんでした: %2</translation>
+ </message>
+ <message>
+ <source>Could not release the lock for file &apos;%1&apos;: %2</source>
+ <translation>ファイル &apos;%1&apos; のロックを解除できませんでした: %2</translation>
+ </message>
+</context>
</TS>
diff --git a/src/sdk/translations/ru_ru.ts b/src/sdk/translations/ru.ts
index 9673906c6..9673906c6 100644
--- a/src/sdk/translations/ru_ru.ts
+++ b/src/sdk/translations/ru.ts
diff --git a/src/sdk/translations/sv_se.ts b/src/sdk/translations/sv.ts
index c6557cdab..c6557cdab 100644
--- a/src/sdk/translations/sv_se.ts
+++ b/src/sdk/translations/sv.ts