summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKatja Marttila <katja.marttila@qt.io>2017-05-24 09:02:32 +0300
committerKatja Marttila <katja.marttila@qt.io>2017-05-24 09:02:32 +0300
commit4d37184b10b69ef27048232377724533a4b5fac5 (patch)
tree3bd3909b986270b76ceb2da4ad211969b1317436
parent97498e486ac2d1d25206d4151613693dcf69e571 (diff)
parentd7d0974f9cdc2359b6b3ca0e359f2fe05ad437c4 (diff)
Merge remote-tracking branch 'origin/3.0' into master
Conflicts: dist/config/config.xml dist/packages/org.qtproject.ifw.binaries/meta/package.xml dist/packages/org.qtproject.ifw/meta/package.xml installerfw.pri Change-Id: Ifaac76cd06737167a908baba5e554bedddd0e5ae
-rw-r--r--.gitignore2
-rw-r--r--Changelog83
-rw-r--r--doc/installerfw.qdoc3
-rw-r--r--examples/doc/hidecheckbox.qdoc3
-rw-r--r--examples/hidecheckbox/README2
-rw-r--r--installerfw.pri1
-rw-r--r--installerfw.pro4
-rw-r--r--src/libs/installer/componentmodel.cpp8
-rw-r--r--src/libs/installer/metadatajob.cpp126
-rw-r--r--src/libs/installer/metadatajob.h2
-rw-r--r--src/libs/installer/metadatajob_p.h1
-rw-r--r--src/libs/installer/packagemanagercore.cpp41
-rw-r--r--src/libs/installer/packagemanagercore.h1
-rw-r--r--src/libs/installer/packagemanagercore_p.cpp29
-rw-r--r--src/libs/installer/packagemanagercore_p.h6
-rw-r--r--src/libs/installer/packagemanagergui.cpp42
-rw-r--r--src/libs/installer/packagemanagergui.h1
-rw-r--r--src/libs/installer/productkeycheck.cpp5
-rw-r--r--src/libs/installer/productkeycheck.h1
-rw-r--r--src/libs/kdtools/job.cpp4
-rw-r--r--src/libs/kdtools/job.h1
-rw-r--r--src/sdk/installerbase.cpp9
-rw-r--r--src/sdk/installerbase.qrc21
-rw-r--r--src/sdk/sdk.pro94
-rw-r--r--src/sdk/translations/README23
-rw-r--r--src/sdk/translations/da.ts2450
-rw-r--r--src/sdk/translations/de.ts198
-rw-r--r--src/sdk/translations/en.ts2653
-rw-r--r--src/sdk/translations/zh_CN.ts (renamed from src/sdk/translations/zh_cn.ts)0
-rw-r--r--src/src.pro10
-rw-r--r--tests/auto/installer/componentmodel/tst_componentmodel.cpp33
31 files changed, 2924 insertions, 2933 deletions
diff --git a/.gitignore b/.gitignore
index 2f83fcb16..cf1dfa3a5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -88,3 +88,5 @@ doc-build
.rcc
.pch
.metadata
+
+/src/sdk/translations/untranslated.ts
diff --git a/Changelog b/Changelog
index 53167f243..6d9908a2f 100644
--- a/Changelog
+++ b/Changelog
@@ -1,4 +1,85 @@
-2.1.0
+3.0.0
+- Change required Qt version, minimum version is now 5.6.2.
+- Clarify the add/remove components string to make it clearer
+- Fix crash at the very end of install if admin rights needed in Windows (QTIFW-943)
+- Make installer to check the dependency version (QTIFW-914)
+- Fix uninstallation on Windows when target path contains non-ascii characters
+- Fix installer crash when it contains replaced and replacement component (QTIFW-915)
+- Avoid warning messages when passing '--platform minimal'
+- New --silentUpdate command line option (QTIFW-906)
+- Allow installing compressed packages. (QTIFW-886)
+- Make support for modifying installations configurable. Introduces new setting 'SupportsModify' in the config.xml.
+- Allow the use of relative URLs to update repositories in Updates.xml.
+- Fix cancel button functionality in Settings->Repositories->Test. (QTIFW-832)
+- Introduced gui.setTextItems() method
+- Store lock files in temporary directory
+- Vertical layout for LicenseAgreement page. (QTIFW-815)
+- add NOMINMAX to fix compile with Qt5.7 in Windows (QTIFW-854)
+- Make usage of authorization fallback optional
+- Fix building with ICC on Windows. (QTIFW-851)
+- Add ApplicationsDirX86 and ApplicationsDirX64 predefined Variables.
+- Fixed (and greatly simplified) creating .dmg files
+- Add a logging category and debug print for http download
+- Make communication via installer.execute() Unicode safe - added two new optional arguments to installer.execute() to define the used codec.
+- Allow specifying the installer size in 'em' or 'ex' units
+- Fixed deleting files when uninstalling on OS X
+- Fix arguments in RegisterFileType
+- Add new '--sign' switch to binarycreator for signing OS X app bundles
+- Fix setValue saving in restart. (QTIFW-504)
+- Allow calling installer.setValue() with an empty string as the value.
+- Fixed writing log on Windows if target dir requires admin rights.
+- Fixed final 'Finish' message on OS X.
+- Resize banner image to fit default installer width.
+- Allow defining non-checkable items - introduces new element 'Checkable' for package. (QTIFW-773)
+- Added support for setting descriptions of Windows shortcuts.
+- Let mkdmg.sh script on OS X actually create random temporary file names. (QTIFW-780)
+- Fix timeout errors while building app bundles files on OS X.
+- Fix timezone issue in archive, simply keep the UTC time.
+- Optimized checking validity of target directory value on Windows. (QTIFW-673)
+- Remove implicit expanding vertical spacer from dynamic pages. (QTIFW-779)
+- Fixed compiling lib7z_facade.cpp with Visual Studio 2013.
+- Fixed several sudo problems eg. (QTIFW-771)
+- Fixed running binarycreator if the temporary directory name contains spaces. (QTIFW-787)
+- Fix violated assertion in error handling of binarycreator.
+- Automatically choose to perform uninstall if appropriate.
+- Implemented installer.readFile().
+- Implemented support for creating URL shortcuts on Windows.
+- Fixed occasional crash on Windows when terminating installer.
+- Fix broken daylight saving time check.
+- Fix crash when updating admin installation with user/temp repository. (QTIFW-740)
+- Read UrlQueryString from settings. (QTIFW-744)
+- Allow to use the stylesheet to customize UI.
+- Add Castilian Spanish translation.
+- Add possibility to run silently without a gui. (QTIFW-166)
+- Removed {kd} and {kdupdater} prefix.
+- Make the installation relocatable (with some limitations). (QTIFW-653)
+- Add factory auto test.
+- Fix canceling the download done by an external call.
+- Print Qt version in verbose output.
+- Fix missing filename conversion on UNIX systems. (QTIFW-643)
+- Remove superfluous clone() method from operations.
+- Implement generic factory using c++11 variadic template feature.
+- Follow description on MSDN to implement time utils. (QTIFW-445)
+- Fix compile for gcc 4.7.3.
+- Convert to Qt 5 connect syntax.
+- Remove signal finished() overload.
+- Use qmake .depends instead of CONFIG += ordered.
+- Update archivegen.
+ * Stop on file errors.
+ * Better verbose/ help output.
+ * Add support for compression level.
+ * Do not hide symbols in statically build lib7z to use e.g. CPercentPrinter symbol in dynamic IFW builds.
+- Update source tree with version 9.38.beta of LZMA SDK.
+- Store AutoDependOn inside components.xml.
+- Implemented xml:lang attribute support for DisplayName tag.
+- Added AllUsers constant.
+- Enable feature live preview of dependencies. Introduces new InstallActionColumnVisible property to config.xml.
+- Remove scRemoteVersion, it's the same as scVersion.
+- Introduce a new struct PackageInfo which replaces UpdateSourceInfo.
+- Use positional arguments instead of options in devtool.
+- Add a warning if component with data contains children.
+- Fix reading and checking arguments of CreateShortcutOperation
+- Introduc new isMaintainer() method
2.0.5
- Fix hang in Windows when admin rights needed. (QTIFW-902)
diff --git a/doc/installerfw.qdoc b/doc/installerfw.qdoc
index cf80de028..2edd4358c 100644
--- a/doc/installerfw.qdoc
+++ b/doc/installerfw.qdoc
@@ -691,8 +691,7 @@
\li Checkable
\li Set to \c false if you want to hide the checkbox for an item. This is useful
when only a few subcomponents should be selected instead of all. Optional.
- \note The content from the data directory is not installed if \c Checkable
- is \c false unless \c ForcedInstallation is set to \c true.
+
\endtable
\section2 Component Dependencies
diff --git a/examples/doc/hidecheckbox.qdoc b/examples/doc/hidecheckbox.qdoc
index cdcc506c1..81f5a5a10 100644
--- a/examples/doc/hidecheckbox.qdoc
+++ b/examples/doc/hidecheckbox.qdoc
@@ -51,8 +51,7 @@
component directory: componentF, componentF.subcomponent1, and
componentF.subcomponent1.subcomponent1. We also specify the component name and description
in each of them. The top level item, componentF, has \c <Checkable> set to \c false,
- so it cannot be selected. It also does not install the package, for that
- you will need to set \c <ForceInstallation> to \c true.
+ so it cannot be selected.
\quotefile hidecheckbox/packages/componentF/meta/package.xml
diff --git a/examples/hidecheckbox/README b/examples/hidecheckbox/README
index 22619bf9c..bf6259aa2 100644
--- a/examples/hidecheckbox/README
+++ b/examples/hidecheckbox/README
@@ -1,4 +1,4 @@
-Shows how to disable top level item, allowing the installation of child items.
+Shows how to hide top level item's checkbox.
Generate installer with
diff --git a/installerfw.pri b/installerfw.pri
index a289fbb44..4aed182c1 100644
--- a/installerfw.pri
+++ b/installerfw.pri
@@ -77,6 +77,7 @@ win32 {
QMAKE_BINARY = $${QMAKE_BINARY}.exe
}
win32-g++*:QMAKE_CXXFLAGS += -Wno-attributes
+macx:QMAKE_CXXFLAGS += -fvisibility=hidden -fvisibility-inlines-hidden
INCLUDEPATH += \
$$IFW_SOURCE_TREE/src/libs/7zip \
diff --git a/installerfw.pro b/installerfw.pro
index 64bfa3f83..1cec9c6a1 100644
--- a/installerfw.pro
+++ b/installerfw.pro
@@ -19,7 +19,7 @@ isEmpty(BUILD_EXAMPLES):BUILD_EXAMPLES=$${BUILDEXAMPLES}
examples.depends = src
}
-!minQtVersion(5, 5, 0) {
+!minQtVersion(5, 6, 2) {
message("Cannot build Qt Installer Framework with Qt version $${QT_VERSION}.")
- error("Use at least Qt 5.5.0.")
+ error("Use at least Qt 5.6.2.")
}
diff --git a/src/libs/installer/componentmodel.cpp b/src/libs/installer/componentmodel.cpp
index 88465b85b..e0cc3fcd8 100644
--- a/src/libs/installer/componentmodel.cpp
+++ b/src/libs/installer/componentmodel.cpp
@@ -575,7 +575,13 @@ QSet<QModelIndex> ComponentModel::updateCheckedState(const ComponentSet &compone
// 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() || !node->isEnabled() || !node->autoDependencies().isEmpty())
+
+ bool checkable = true;
+ if (node->value(scCheckable, scTrue).toLower() == scFalse) {
+ checkable = false;
+ }
+
+ if ((!node->isCheckable() && checkable) || !node->isEnabled() || !node->autoDependencies().isEmpty())
continue;
Qt::CheckState newState = state;
diff --git a/src/libs/installer/metadatajob.cpp b/src/libs/installer/metadatajob.cpp
index 83f252349..ecc66f493 100644
--- a/src/libs/installer/metadatajob.cpp
+++ b/src/libs/installer/metadatajob.cpp
@@ -34,6 +34,7 @@
#include "proxycredentialsdialog.h"
#include "serverauthenticationdialog.h"
#include "settings.h"
+#include "testrepository.h"
#include <QTemporaryDir>
@@ -60,6 +61,7 @@ MetadataJob::MetadataJob(QObject *parent)
MetadataJob::~MetadataJob()
{
+ resetCompressedFetch();
reset();
}
@@ -118,19 +120,34 @@ void MetadataJob::doStart()
emitFinished();
}
} else {
- m_packages.clear();
+ resetCompressedFetch();
+
bool repositoriesFound = false;
- foreach (const Repository &repo, m_core->settings().repositories()) {
+ foreach (const Repository &repo, m_core->settings().temporaryRepositories()) {
if (repo.isCompressed() && repo.isEnabled() &&
productKeyCheck->isValidRepository(repo)) {
repositoriesFound = true;
startUnzipRepositoryTask(repo);
+
+ //Set the repository disabled so we don't handle it many times
+ Repository replacement = repo;
+ replacement.setEnabled(false);
+ Settings &s = m_core->settings();
+ QSet<Repository> temporaries = s.temporaryRepositories();
+ if (temporaries.contains(repo)) {
+ temporaries.remove(repo);
+ temporaries.insert(replacement);
+ s.setTemporaryRepositories(temporaries, true);
+ }
}
}
- if (!repositoriesFound)
+ if (!repositoriesFound) {
emitFinished();
- else
- emit infoMessage(this, tr("Unpacking compressed repositories..."));
+ }
+ else {
+ setProgressTotalAmount(0);
+ emit infoMessage(this, tr("Unpacking compressed repositories. This may take a while..."));
+ }
}
}
@@ -170,8 +187,61 @@ void MetadataJob::startUnzipRepositoryTask(const Repository &repo)
void MetadataJob::unzipRepositoryTaskFinished()
{
QFutureWatcher<void> *watcher = static_cast<QFutureWatcher<void> *>(sender());
+ int error = Job::NoError;
+ QString errorString;
try {
watcher->waitForFinished(); // trigger possible exceptions
+
+ QHashIterator<QFutureWatcher<void> *, QObject*> i(m_unzipRepositoryTasks);
+ while (i.hasNext()) {
+
+ i.next();
+ if (i.key() == watcher) {
+ UnzipArchiveTask *task = qobject_cast<UnzipArchiveTask*> (i.value());
+ QString url = task->target();
+
+ QUrl targetUrl = targetUrl.fromLocalFile(url);
+ Repository repo(targetUrl, false, true);
+ url = repo.url().toString() + QLatin1String("/Updates.xml");
+ TestRepository testJob(m_core);
+ testJob.setRepository(repo);
+ testJob.start();
+ testJob.waitForFinished();
+ error = testJob.error();
+ errorString = testJob.errorString();
+ if (error == Job::NoError) {
+ FileTaskItem item(url);
+ item.insert(TaskRole::UserRole, QVariant::fromValue(repo));
+ m_unzipRepositoryitems.append(item);
+ } else {
+ //Repository is not valid, remove it
+ Repository repository;
+ repository.setUrl(QUrl(task->archive()));
+ Settings &s = m_core->settings();
+ QSet<Repository> temporaries = s.temporaryRepositories();
+ foreach (Repository repository, temporaries) {
+ if (repository.url().toLocalFile() == task->archive()) {
+ temporaries.remove(repository);
+ }
+ }
+ s.setTemporaryRepositories(temporaries, false);
+ }
+ }
+ }
+ delete m_unzipRepositoryTasks.value(watcher);
+ m_unzipRepositoryTasks.remove(watcher);
+ delete watcher;
+
+ //One can specify many zipped repository items at once. As the repositories are
+ //unzipped one by one, we collect here all items before parsing xml files from those.
+ if (m_unzipRepositoryitems.count() > 0 && m_unzipRepositoryTasks.isEmpty()) {
+ startXMLTask(m_unzipRepositoryitems);
+ } else {
+ if (error != Job::NoError) {
+ emitFinishedWithError(QInstaller::DownloadError, errorString);
+ }
+ }
+
} catch (const UnzipArchiveException &e) {
reset();
emitFinishedWithError(QInstaller::ExtractionError, e.message());
@@ -182,31 +252,6 @@ void MetadataJob::unzipRepositoryTaskFinished()
reset();
emitFinishedWithError(QInstaller::DownloadError, tr("Unknown exception during extracting."));
}
-
- QHashIterator<QFutureWatcher<void> *, QObject*> i(m_unzipRepositoryTasks);
- while (i.hasNext()) {
- i.next();
- if (i.key() == watcher) {
- UnzipArchiveTask *task = qobject_cast<UnzipArchiveTask*> (i.value());
- QString url = task->target();
-
- QUrl targetUrl = targetUrl.fromLocalFile(url);
- Repository repo(targetUrl, false, true);
- url = repo.url().toString() + QLatin1String("/Updates.xml");
- FileTaskItem item(url);
- item.insert(TaskRole::UserRole, QVariant::fromValue(repo));
- m_unzipRepositoryitems.append(item);
- }
- }
-
- //One can specify many zipped repository items at once. As the repositories are
- //unzipped one by one, we collect here all items before parsing xml files from those.
- delete m_unzipRepositoryTasks.value(watcher);
- m_unzipRepositoryTasks.remove(watcher);
- delete watcher;
-
- if (m_unzipRepositoryitems.count() > 0 && m_unzipRepositoryTasks.isEmpty())
- startXMLTask(m_unzipRepositoryitems);
}
void MetadataJob::xmlTaskFinished()
@@ -284,6 +329,7 @@ void MetadataJob::xmlTaskFinished()
DownloadFileTask *const metadataTask = new DownloadFileTask(m_packages);
metadataTask->setProxyFactory(m_core->proxyFactory());
m_metadataTask.setFuture(QtConcurrent::run(&DownloadFileTask::doTask, metadataTask));
+ setProgressTotalAmount(100);
emit infoMessage(this, tr("Retrieving meta information from remote repository..."));
} else if (status == XmlDownloadRetry) {
QMetaObject::invokeMethod(this, "doStart", Qt::QueuedConnection);
@@ -299,13 +345,10 @@ void MetadataJob::unzipTaskFinished()
try {
watcher->waitForFinished(); // trigger possible exceptions
} catch (const UnzipArchiveException &e) {
- reset();
emitFinishedWithError(QInstaller::ExtractionError, e.message());
} catch (const QUnhandledException &e) {
- reset();
emitFinishedWithError(QInstaller::DownloadError, QLatin1String(e.what()));
} catch (...) {
- reset();
emitFinishedWithError(QInstaller::DownloadError, tr("Unknown exception during extracting."));
}
@@ -327,6 +370,11 @@ void MetadataJob::progressChanged(int progress)
setProcessedAmount(progress);
}
+void MetadataJob::setProgressTotalAmount(int maximum)
+{
+ setTotalAmount(maximum);
+}
+
void MetadataJob::metadataTaskFinished()
{
try {
@@ -374,6 +422,17 @@ void MetadataJob::reset()
try {
m_xmlTask.cancel();
m_metadataTask.cancel();
+ } catch (...) {}
+ m_tempDirDeleter.releaseAndDeleteAll();
+}
+
+void MetadataJob::resetCompressedFetch()
+{
+ setError(Job::NoError);
+ setErrorString(QString());
+ m_unzipRepositoryitems.clear();
+
+ try {
foreach (QFutureWatcher<void> *const watcher, m_unzipTasks.keys()) {
watcher->cancel();
watcher->deleteLater();
@@ -390,7 +449,6 @@ void MetadataJob::reset()
object->deleteLater();
m_unzipRepositoryTasks.clear();
} catch (...) {}
- m_tempDirDeleter.releaseAndDeleteAll();
}
MetadataJob::Status MetadataJob::parseUpdatesXml(const QList<FileTaskResult> &results)
diff --git a/src/libs/installer/metadatajob.h b/src/libs/installer/metadatajob.h
index 261ae295f..c6d5ad353 100644
--- a/src/libs/installer/metadatajob.h
+++ b/src/libs/installer/metadatajob.h
@@ -74,12 +74,14 @@ private slots:
void unzipTaskFinished();
void metadataTaskFinished();
void progressChanged(int progress);
+ void setProgressTotalAmount(int maximum);
void unzipRepositoryTaskFinished();
void startXMLTask(const QList<FileTaskItem> items);
private:
void startUnzipRepositoryTask(const Repository &repo);
void reset();
+ void resetCompressedFetch();
Status parseUpdatesXml(const QList<FileTaskResult> &results);
private:
diff --git a/src/libs/installer/metadatajob_p.h b/src/libs/installer/metadatajob_p.h
index 65be0a174..9160f4cc9 100644
--- a/src/libs/installer/metadatajob_p.h
+++ b/src/libs/installer/metadatajob_p.h
@@ -65,6 +65,7 @@ public:
: m_archive(arcive), m_targetDir(target)
{}
QString target() { return m_targetDir; }
+ QString archive() { return m_archive; }
void doTask(QFutureInterface<void> &fi)
{
fi.reportStarted();
diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp
index edd2460a8..c4ba5ae4a 100644
--- a/src/libs/installer/packagemanagercore.cpp
+++ b/src/libs/installer/packagemanagercore.cpp
@@ -1799,23 +1799,42 @@ ComponentModel *PackageManagerCore::updaterComponentModel() const
void PackageManagerCore::updateComponentsSilently()
{
+ //Check if there are processes running in the install
+ QStringList excludeFiles;
+ excludeFiles.append(maintenanceToolName());
+
+ QStringList runningProcesses = d->runningInstallerProcesses(excludeFiles);
+ if (!runningProcesses.isEmpty()) {
+ qDebug() << "Unable to update components. Please stop these processes: "
+ << runningProcesses << " and try again.";
+ return;
+ }
+
autoAcceptMessageBoxes();
+
+ //Prevent infinite loop if installation for some reason fails.
+ setMessageBoxAutomaticAnswer(QLatin1String("installationErrorWithRetry"), QMessageBox::Cancel);
+
fetchRemotePackagesTree();
//Mark all components to be installed
const QList<QInstaller::Component*> componentList = components(
ComponentType::Root | ComponentType::Descendants);
- foreach (Component *comp, componentList) {
- comp->setCheckState(Qt::Checked);
- }
- QString htmlOutput;
- bool componentsOk = calculateComponents(&htmlOutput);
- if (componentsOk) {
- if (runPackageUpdater())
- qDebug() << "Components updated successfully.";
- }
- else {
- qDebug() << htmlOutput;
+ if (componentList.count() == 0) {
+ qDebug() << "No updates available.";
+ } else {
+ foreach (Component *comp, componentList) {
+ comp->setCheckState(Qt::Checked);
+ }
+ QString htmlOutput;
+ bool componentsOk = calculateComponents(&htmlOutput);
+ if (componentsOk) {
+ if (runPackageUpdater())
+ qDebug() << "Components updated successfully.";
+ }
+ else {
+ qDebug() << htmlOutput;
+ }
}
}
diff --git a/src/libs/installer/packagemanagercore.h b/src/libs/installer/packagemanagercore.h
index 59be3e9ee..2a235bd44 100644
--- a/src/libs/installer/packagemanagercore.h
+++ b/src/libs/installer/packagemanagercore.h
@@ -290,6 +290,7 @@ Q_SIGNALS:
void finishButtonClicked();
void metaJobProgress(int progress);
+ void metaJobTotalProgress(int progress);
void metaJobInfoMessage(const QString &message);
void startAllComponentsReset();
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp
index f29b65780..28d64d09c 100644
--- a/src/libs/installer/packagemanagercore_p.cpp
+++ b/src/libs/installer/packagemanagercore_p.cpp
@@ -581,6 +581,7 @@ void PackageManagerCorePrivate::initialize(const QHash<QString, QString> &params
m_metadataJob.setPackageManagerCore(m_core);
connect(&m_metadataJob, &Job::infoMessage, this, &PackageManagerCorePrivate::infoMessage);
connect(&m_metadataJob, &Job::progress, this, &PackageManagerCorePrivate::infoProgress);
+ connect(&m_metadataJob, &Job::totalProgress, this, &PackageManagerCorePrivate::totalProgress);
KDUpdater::FileDownloaderFactory::instance().setProxyFactory(m_core->proxyFactory());
}
@@ -2247,7 +2248,9 @@ bool PackageManagerCorePrivate::fetchMetaInformationFromCompressedRepositories()
case QInstaller::UserIgnoreError:
break; // we can simply ignore this error, the user knows about it
default:
- setStatus(PackageManagerCore::Failure, m_metadataJob.errorString());
+ //Do not change core status here, we can recover if there is invalid
+ //compressed repository
+ setStatus(m_core->status(), m_metadataJob.errorString());
return compressedRepoFetched;
}
}
@@ -2419,4 +2422,28 @@ void PackageManagerCorePrivate::processFilesForDelayedDeletion()
}
}
+void PackageManagerCorePrivate::findExecutablesRecursive(const QString &path, const QStringList &excludeFiles, QStringList *result)
+{
+ QString executable;
+ QDirIterator it(path, QDir::NoDotAndDotDot | QDir::Executable | QDir::Files | QDir::System, QDirIterator::Subdirectories );
+
+ while (it.hasNext()) {
+ executable = it.next();
+ foreach (QString exclude, excludeFiles) {
+ if (QDir::toNativeSeparators(executable.toLower())
+ != QDir::toNativeSeparators(exclude.toLower())) {
+ result->append(executable);
+ }
+ }
+ }
+}
+
+QStringList PackageManagerCorePrivate::runningInstallerProcesses(const QStringList &excludeFiles)
+{
+ QStringList resultFiles;
+ findExecutablesRecursive(QCoreApplication::applicationDirPath(), excludeFiles, &resultFiles);
+ return checkRunningProcessesFromList(resultFiles);
+}
+
+
} // namespace QInstaller
diff --git a/src/libs/installer/packagemanagercore_p.h b/src/libs/installer/packagemanagercore_p.h
index 7ba081539..21ab3fc40 100644
--- a/src/libs/installer/packagemanagercore_p.h
+++ b/src/libs/installer/packagemanagercore_p.h
@@ -209,6 +209,10 @@ private slots:
emit m_core->metaJobProgress(progress);
}
+ void totalProgress(quint64 total) {
+ emit m_core->metaJobTotalProgress(total);
+ }
+
void handleMethodInvocationRequest(const QString &invokableMethodName);
private:
@@ -230,6 +234,8 @@ private:
bool fetchMetaInformationFromCompressedRepositories();
bool addUpdateResourcesFromRepositories(bool parseChecksum, bool compressedRepository = false);
void processFilesForDelayedDeletion();
+ void findExecutablesRecursive(const QString &path, const QStringList &excludeFiles, QStringList *result);
+ QStringList runningInstallerProcesses(const QStringList &exludeFiles);
private:
PackageManagerCore *m_core;
diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp
index 513b9d0e0..d31eb6a94 100644
--- a/src/libs/installer/packagemanagergui.cpp
+++ b/src/libs/installer/packagemanagergui.cpp
@@ -1323,6 +1323,7 @@ IntroductionPage::IntroductionPage(PackageManagerCore *core)
core->setCompleteUninstallation(core->isUninstaller());
connect(core, &PackageManagerCore::metaJobProgress, this, &IntroductionPage::onProgressChanged);
+ connect(core, &PackageManagerCore::metaJobTotalProgress, this, &IntroductionPage::setTotalProgress);
connect(core, &PackageManagerCore::metaJobInfoMessage, this, &IntroductionPage::setMessage);
connect(core, &PackageManagerCore::coreNetworkSettingsChanged,
this, &IntroductionPage::onCoreNetworkSettingsChanged);
@@ -1512,11 +1513,19 @@ void IntroductionPage::setMessage(const QString &msg)
*/
void IntroductionPage::onProgressChanged(int progress)
{
- m_progressBar->setRange(0, 100);
m_progressBar->setValue(progress);
}
/*!
+ Sets total \a progress value to progress bar.
+*/
+void IntroductionPage::setTotalProgress(int totalProgress)
+{
+ if (m_progressBar)
+ m_progressBar->setRange(0, totalProgress);
+}
+
+/*!
Displays the error message \a error on the page.
*/
void IntroductionPage::setErrorMessage(const QString &error)
@@ -1946,19 +1955,17 @@ public:
m_vlayout->addSpacing(50);
m_vlayout->addWidget(m_bspLabel);
-
m_progressBar = new QProgressBar();
m_progressBar->setRange(0, 0);
m_progressBar->hide();
m_vlayout->addWidget(m_progressBar);
m_progressBar->setObjectName(QLatin1String("CompressedInstallProgressBar"));
-
m_installCompressButton = new QPushButton;
connect(m_installCompressButton, &QAbstractButton::clicked,
this, &ComponentSelectionPage::Private::selectCompressedPackage);
m_installCompressButton->setObjectName(QLatin1String("InstallCompressedPackageButton"));
- m_installCompressButton->setText(ComponentSelectionPage::tr("&Browse QBSP or 7z files..."));
+ m_installCompressButton->setText(ComponentSelectionPage::tr("&Browse QBSP files"));
m_vlayout->addWidget(m_installCompressButton);
m_compressedButtonVisible = true;
}
@@ -2057,21 +2064,26 @@ public slots:
QSet<Repository> set;
foreach (QString fileName, fileNames) {
Repository repository = Repository::fromUserInput(fileName, true);
+ repository.setEnabled(true);
set.insert(repository);
}
if (set.count() > 0) {
m_progressBar->show();
- m_installCompressButton->setEnabled(false);
+ m_installCompressButton->hide();
QPushButton *const b = qobject_cast<QPushButton *>(q->gui()->button(QWizard::NextButton));
b->setEnabled(false);
m_core->settings().addTemporaryRepositories(set, false);
- m_core->fetchCompressedPackagesTree();
- updateTreeView();
+ if (!m_core->fetchCompressedPackagesTree()) {
+ setMessage(m_core->error());
+ }
+ else {
+ updateTreeView();
+ setMessage(ComponentSelectionPage::tr("To install new "\
+ "compressed repository, browse the repositories from your computer"));
+ }
m_progressBar->hide();
- m_bspLabel->setText(ComponentSelectionPage::tr("To install new "\
- "compressed repository, browse the repositories from your computer"));
- m_installCompressButton->setEnabled(true);
+ m_installCompressButton->show();
b->setEnabled(true);
}
}
@@ -2089,13 +2101,9 @@ public slots:
*/
void setMessage(const QString &msg)
{
- if (m_progressBar->isVisible()) {
+ QWizardPage *page = q->gui()->currentPage();
+ if (m_bspLabel && page && page->objectName() == QLatin1String("ComponentSelectionPage"))
m_bspLabel->setText(msg);
- }
- else {
- m_bspLabel->setText(ComponentSelectionPage::tr("To install new "\
- "compressed repository, browse the repositories from your computer"));
- }
}
void selectDefault()
@@ -2183,7 +2191,7 @@ void ComponentSelectionPage::entering()
QT_TR_NOOP("Please select the components you want to update."),
QT_TR_NOOP("Please select the components you want to install."),
QT_TR_NOOP("Please select the components you want to uninstall."),
- QT_TR_NOOP("Select the components to install. Deselect installed components to uninstall them.")
+ QT_TR_NOOP("Select the components to install. Deselect installed components to uninstall them. Any components already installed will not be updated.")
};
int index = 0;
diff --git a/src/libs/installer/packagemanagergui.h b/src/libs/installer/packagemanagergui.h
index fc7440647..238e22a62 100644
--- a/src/libs/installer/packagemanagergui.h
+++ b/src/libs/installer/packagemanagergui.h
@@ -224,6 +224,7 @@ public Q_SLOTS:
void onCoreNetworkSettingsChanged();
void setMessage(const QString &msg);
void onProgressChanged(int progress);
+ void setTotalProgress(int totalProgress);
void setErrorMessage(const QString &error);
Q_SIGNALS:
diff --git a/src/libs/installer/productkeycheck.cpp b/src/libs/installer/productkeycheck.cpp
index 4a8ce4677..c1dfe83d6 100644
--- a/src/libs/installer/productkeycheck.cpp
+++ b/src/libs/installer/productkeycheck.cpp
@@ -101,3 +101,8 @@ QList<int> ProductKeyCheck::registeredPages() const
{
return QList<int>();
}
+
+bool ProductKeyCheck::hasValidLicense() const
+{
+ return true;
+}
diff --git a/src/libs/installer/productkeycheck.h b/src/libs/installer/productkeycheck.h
index 221fdc7ef..b7e8c6d52 100644
--- a/src/libs/installer/productkeycheck.h
+++ b/src/libs/installer/productkeycheck.h
@@ -66,6 +66,7 @@ public:
bool isValidPackage(const QString &packageName) const;
QList<int> registeredPages() const;
+ bool hasValidLicense() const;
private:
ProductKeyCheck();
diff --git a/src/libs/kdtools/job.cpp b/src/libs/kdtools/job.cpp
index 7e36c295c..426aa1198 100644
--- a/src/libs/kdtools/job.cpp
+++ b/src/libs/kdtools/job.cpp
@@ -199,10 +199,8 @@ quint64 Job::processedAmount() const
void Job::setTotalAmount(quint64 amount)
{
- if (d->totalAmount == amount)
- return;
d->totalAmount = amount;
- emit progress(this, d->processedAmount, d->totalAmount);
+ emit totalProgress(d->totalAmount);
}
/*!
diff --git a/src/libs/kdtools/job.h b/src/libs/kdtools/job.h
index 0fe496943..200650259 100644
--- a/src/libs/kdtools/job.h
+++ b/src/libs/kdtools/job.h
@@ -86,6 +86,7 @@ Q_SIGNALS:
void infoMessage(Job *job, const QString &message);
void progress(Job *job, quint64 processed, quint64 total);
+ void totalProgress(quint64 total);
protected:
virtual void doStart() = 0;
diff --git a/src/sdk/installerbase.cpp b/src/sdk/installerbase.cpp
index 637a20f45..043d7beca 100644
--- a/src/sdk/installerbase.cpp
+++ b/src/sdk/installerbase.cpp
@@ -217,6 +217,12 @@ int InstallerBase::run()
.value(QLatin1String(CommandLineOptions::InstallCompressedRepository)));
if (repoList.isEmpty())
throw QInstaller::Error(QLatin1String("Empty repository list for option 'installCompressedRepository'."));
+ foreach (QString repository, repoList) {
+ if (!QFileInfo::exists(repository)) {
+ qDebug() << "The file " << repository << "does not exist.";
+ return EXIT_FAILURE;
+ }
+ }
m_core->setTemporaryRepositories(repoList, false, true);
}
@@ -281,6 +287,9 @@ int InstallerBase::run()
if (parser.isSet(QLatin1String(CommandLineOptions::SilentUpdate))) {
if (m_core->isInstaller())
throw QInstaller::Error(QLatin1String("Cannot start installer binary as updater."));
+ const ProductKeyCheck *const productKeyCheck = ProductKeyCheck::instance();
+ if (!productKeyCheck->hasValidLicense())
+ throw QInstaller::Error(QLatin1String("Silent update not allowed."));
m_core->setUpdater();
m_core->updateComponentsSilently();
}
diff --git a/src/sdk/installerbase.qrc b/src/sdk/installerbase.qrc
deleted file mode 100644
index 5fabefc35..000000000
--- a/src/sdk/installerbase.qrc
+++ /dev/null
@@ -1,21 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>translations/de.qm</file>
- <file>translations/en.qm</file>
- <file>translations/es.qm</file>
- <file>translations/fr.qm</file>
- <file>translations/it.qm</file>
- <file>translations/ja.qm</file>
- <file>translations/ru.qm</file>
- <file>translations/pl.qm</file>
- <file alias="translations/zh_CN.qm">translations/zh_cn.qm</file>
- <file>translations/qt_fr.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>translations/qt_pl.qm</file>
- <file alias="translations/qt_ru.qm">translations/qtbase_ru.qm</file>
- <file>translations/qt_zh_CN.qm</file>
- <file alias="translations/qt_it.qm">translations/qtbase_it.qm</file>
- <file>translations/qt_es.qm</file>
- </qresource>
-</RCC>
diff --git a/src/sdk/sdk.pro b/src/sdk/sdk.pro
index 86973648e..6af36feb2 100644
--- a/src/sdk/sdk.pro
+++ b/src/sdk/sdk.pro
@@ -22,95 +22,93 @@ CONFIG(static, static|shared) {
DESTDIR = $$IFW_APP_PATH
exists($$LRELEASE) {
- QT_LANGUAGES = qtbase_de qt_es qt_fr qtbase_it qtbase_ja qt_pl qtbase_ru qt_zh_CN
- IB_LANGUAGES = de en es fr it ja pl ru zh_cn
- defineReplace(prependAll) {
- for(a,$$1):result += $$2$${a}$$3
- return($$result)
- }
-
- defineTest(testFiles) {
- for(file, $$1) {
- !exists($$file):return(false)
- }
- return(true)
- }
-
- SUCCESS = false
- IB_TRANSLATIONS = $$prependAll(IB_LANGUAGES, $$PWD/translations/,.ts)
- QT_TRANSLATIONS = $$prependAll(QT_LANGUAGES, $$[QT_INSTALL_TRANSLATIONS]/,.ts)
+ IB_TRANSLATIONS = $$files($$PWD/translations/??.ts) $$files($$PWD/translations/??_??.ts)
+ IB_TRANSLATIONS -= $$PWD/translations/en.ts
wd = $$toNativeSeparators($$IFW_SOURCE_TREE)
sources = src
lupdate_opts = -locations relative -no-ui-lines -no-sort
- for(file, IB_TRANSLATIONS) {
+ IB_ALL_TRANSLATIONS = $$IB_TRANSLATIONS $$PWD/translations/untranslated.ts
+ for(file, IB_ALL_TRANSLATIONS) {
lang = $$replace(file, .*/([^/]*)\\.ts, \\1)
v = ts-$${lang}.commands
$$v = cd $$wd && $$LUPDATE $$lupdate_opts $$sources -ts $$file
QMAKE_EXTRA_TARGETS += ts-$$lang
}
- ts-all.commands = cd $$wd && $$LUPDATE $$lupdate_opts $$sources -ts $$IB_TRANSLATIONS
+ ts-all.commands = cd $$wd && $$LUPDATE $$lupdate_opts $$sources -ts $$IB_ALL_TRANSLATIONS
QMAKE_EXTRA_TARGETS += ts-all
isEqual(QMAKE_DIR_SEP, /) {
commit-ts.commands = \
cd $$wd; \
- git add -N src/sdk/translations/*_??.ts && \
- for f in `git diff-files --name-only src/sdk/translations/*_??.ts`; do \
+ git add -N src/sdk/translations/??.ts src/sdk/translations/??_??.ts && \
+ for f in `git diff-files --name-only src/sdk/translations/??.ts src/sdk/translations/??_??.ts`; do \
$$LCONVERT -locations none -i \$\$f -o \$\$f; \
done; \
- git add src/sdk/translations/*_??.ts && git commit
+ git add src/sdk/translations/??.ts src/sdk/translations/??_??.ts && git commit
} else {
commit-ts.commands = \
cd $$wd && \
- git add -N src/sdk/translations/*_??.ts && \
- for /f usebackq %%f in (`git diff-files --name-only src/sdk/translations/*_??.ts`) do \
+ git add -N src/sdk/translations/??.ts src/sdk/translations/??_??.ts && \
+ for /f usebackq %%f in (`git diff-files --name-only src/sdk/translations/??.ts src/sdk/translations/??_??.ts`) do \
$$LCONVERT -locations none -i %%f -o %%f $$escape_expand(\\n\\t) \
- cd $$wd && git add src/sdk/translations/*_??.ts && git commit
+ cd $$wd && git add src/sdk/translations/??.ts src/sdk/translations/??_??.ts && git commit
}
QMAKE_EXTRA_TARGETS += commit-ts
- if (!testFiles(QT_TRANSLATIONS)) {
- QT_COMPILED_TRANSLATIONS = $$prependAll(QT_LANGUAGES, $$[QT_INSTALL_TRANSLATIONS]/,.qm)
- if (testFiles(QT_COMPILED_TRANSLATIONS)) {
- SUCCESS = true
- copyqm.input = QT_COMPILED_TRANSLATIONS
- copyqm.output = $$PWD/translations/${QMAKE_FILE_BASE}.qm
- unix:copyqm.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
- win32:copyqm.commands = $$QMAKE_COPY \"${QMAKE_FILE_IN}\" \"${QMAKE_FILE_OUT}\"
- copyqm.name = COPY ${QMAKE_FILE_IN}
- copyqm.CONFIG += no_link target_predeps
- QMAKE_EXTRA_COMPILERS += copyqm
+ empty_ts = "<TS></TS>"
+ write_file($$OUT_PWD/translations/en.ts, empty_ts)|error("Aborting.")
+ IB_TRANSLATIONS += $$OUT_PWD/translations/en.ts
+ QMAKE_DISTCLEAN += translations/en.ts
+
+ qrc_cont = \
+ "<RCC>" \
+ " <qresource prefix=\"/\">"
+ for (file, IB_TRANSLATIONS) {
+ lang = $$replace(file, .*/([^/]*)\\.ts, \\1)
+ qfile = $$[QT_INSTALL_TRANSLATIONS]/qtbase_$${lang}.qm
+ !exists($$qfile) {
+ qfile = $$[QT_INSTALL_TRANSLATIONS]/qt_$${lang}.qm
+ !exists($$qfile) {
+ warning("No Qt translation for '$$lang'; skipping.")
+ next()
+ }
}
- } else {
- SUCCESS = true
- IB_TRANSLATIONS += $$QT_TRANSLATIONS
+ qrc_cont += \
+ " <file>translations/$${lang}.qm</file>" \
+ " <file alias=\"translations/qt_$${lang}.qm\">$$qfile</file>"
+ ACTIVE_IB_TRANSLATIONS += $$file
+ RESOURCE_DEPS += $$qfile translations/$${lang}.qm
}
-
- if (contains(SUCCESS, true)) {
- updateqm.input = IB_TRANSLATIONS
- updateqm.output = $$PWD/translations/${QMAKE_FILE_BASE}.qm
+ qrc_cont += \
+ " </qresource>" \
+ "</RCC>"
+ RESOURCE = $$OUT_PWD/installerbase.qrc
+ write_file($$RESOURCE, qrc_cont)|error("Aborting.")
+ QMAKE_DISTCLEAN += $$RESOURCE
+
+ !isEmpty(ACTIVE_IB_TRANSLATIONS) {
+ updateqm.input = ACTIVE_IB_TRANSLATIONS
+ updateqm.output = translations/${QMAKE_FILE_BASE}.qm
updateqm.commands = $$LRELEASE ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_OUT}
updateqm.name = LRELEASE ${QMAKE_FILE_IN}
updateqm.CONFIG += no_link target_predeps
QMAKE_EXTRA_COMPILERS += updateqm
exists($$RCC) {
- RESOURCE_IB_TRANSLATIONS = $$prependAll(IB_LANGUAGES, $$PWD/translations/,.qm)
- RESOURCE_QT_TRANSLATIONS = $$prependAll(QT_LANGUAGES, $$PWD/translations/,.qm)
- RESOURCE = $$PWD/installerbase.qrc
runrcc.input = RESOURCE
- runrcc.output = $$PWD/qrc_installerbase.cpp
+ runrcc.output = qrc_${QMAKE_FILE_BASE}.cpp
runrcc.commands = $$RCC -name ${QMAKE_FILE_BASE} ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
runrcc.name = RCC ${QMAKE_FILE_IN}
runrcc.CONFIG += no_link explicit_dependencies
- runrcc.depends = $$RESOURCE_IB_TRANSLATIONS $$RESOURCE_QT_TRANSLATIONS
+ runrcc.depends = $$RESOURCE_DEPS
runrcc.variable_out = SOURCES
QMAKE_EXTRA_COMPILERS += runrcc
}
}
}
+
FORMS += settingsdialog.ui
HEADERS += \
diff --git a/src/sdk/translations/README b/src/sdk/translations/README
index 35da60d6a..2bade2c54 100644
--- a/src/sdk/translations/README
+++ b/src/sdk/translations/README
@@ -2,16 +2,17 @@ You need to have a Qt translation for your new language,
otherwise your language won't be loaded at runtime.
To add a new language:
-1) Inside src/sdk/sdk.pro:
- add your language into IB_LANGUAGES and QT_LANGUAGES.
- QT_LANGUAGES contains base name of the Qt translation file.
-2) Add Installer Framework translation filename into:
- src/src.pro
-3) Add Installer Framework and Qt messages (.qm) filenames into:
- src/sdk/installerbase.qrc
+1) Run 'cd src/sdk' (change to the parent directory of this file)
+2) Run 'make ts-untranslated'
+3) Rename translations/untranslated.ts to translations/<lang>.ts
+4) Run 'make qmake'
+5) Do your translation. Just run 'make' whenever you want to test it.
+6) Run 'make commit-ts'
+7) Submit the translation for review
-In order to provide an update to translations, according to changes done in sources, run:
+To update an existing translation, just run 'make ts-<lang>' instead
+of steps 2) to 4).
-lupdate installerfw.pro
-
-in a root directory.
+More information is available at https://wiki.qt.io/Qt_Localization -
+these instructions apply here equally, except for the different
+directory names.
diff --git a/src/sdk/translations/da.ts b/src/sdk/translations/da.ts
new file mode 100644
index 000000000..42a742217
--- /dev/null
+++ b/src/sdk/translations/da.ts
@@ -0,0 +1,2450 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="da">
+<context>
+ <name>AuthenticationRequiredException</name>
+ <message>
+ <source>%1 at %2</source>
+ <translation>%1 hos %2</translation>
+ </message>
+ <message>
+ <source>Proxy requires authentication.</source>
+ <translation>Proxyen kræver autentifikation.</translation>
+ </message>
+</context>
+<context>
+ <name>BinaryContent</name>
+ <message>
+ <source>Cannot seek to %1 to read the operation data.</source>
+ <translation>Kan ikke søge til %1 for at læse handlingsdataene.</translation>
+ </message>
+ <message>
+ <source>Cannot seek to %1 to read the resource collection block.</source>
+ <translation>Kan ikke søge til %1 for at læse ressourcesamlingsblokken.</translation>
+ </message>
+ <message>
+ <source>Cannot open meta resource %1.</source>
+ <translation>Kan ikke åbne meta-ressourcen %1.</translation>
+ </message>
+</context>
+<context>
+ <name>BinaryLayout</name>
+ <message>
+ <source>Cannot seek to %1 to read the embedded meta data count.</source>
+ <translation>Kan ikke søge til %1 for at læse antallet af indlejret meta-data.</translation>
+ </message>
+ <message>
+ <source>Cannot seek to %1 to read the resource collection segment.</source>
+ <translation>Kan ikke søge til %1 for at læse ressourcesamlingssegmentet.</translation>
+ </message>
+ <message>
+ <source>Unexpected mismatch of meta resources. Read %1, expected: %2.</source>
+ <translation>Uventet uoverensstemmelse af meta-ressourcer. Læste %1, ventede: %2.</translation>
+ </message>
+</context>
+<context>
+ <name>Dialog</name>
+ <message>
+ <source>Http authentication required</source>
+ <translation>Http-autentifikation krævet</translation>
+ </message>
+ <message>
+ <source>You need to supply a Username and Password to access this site.</source>
+ <translation>Du skal angive brugernavn og adgangskode for at tilgå dette sted.</translation>
+ </message>
+ <message>
+ <source>Username:</source>
+ <translation>Brugernavn:</translation>
+ </message>
+ <message>
+ <source>Password:</source>
+ <translation>Adgangskode:</translation>
+ </message>
+ <message>
+ <source>%1 at %2</source>
+ <translation>%1 hos %2</translation>
+ </message>
+</context>
+<context>
+ <name>DirectoryGuard</name>
+ <message>
+ <source>Path &quot;%1&quot; exists but is not a directory.</source>
+ <translation>Stien &quot;%1&quot; findes men er ikke en mappe.</translation>
+ </message>
+ <message>
+ <source>Cannot create directory &quot;%1&quot;.</source>
+ <translation>Kan ikke oprette mappen &quot;%1&quot;.</translation>
+ </message>
+</context>
+<context>
+ <name>ExtractCallbackImpl</name>
+ <message>
+ <source>Cannot retrieve path of archive item %1.</source>
+ <translation>Kan ikke hente stien af arkivposten %1.</translation>
+ </message>
+ <message>
+ <source>Cannot remove already existing symlink %1.</source>
+ <translation>Kan ikke fjerne allerede eksisterende symlink %1.</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til skrivning: %2</translation>
+ </message>
+ <message>
+ <source>Cannot create symlink at &quot;%1&quot;. Another one is already existing.</source>
+ <translation>Kan ikke oprette symlink ved &quot;%1&quot;. Et andet findes allerede.</translation>
+ </message>
+ <message>
+ <source>Cannot read symlink target from file &quot;%1&quot;.</source>
+ <translation>Kan ikke læse symlink-mål fra filen &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot create symlink at %1: %2</source>
+ <translation>Kan ikke oprette symlink ved %1: %2</translation>
+ </message>
+</context>
+<context>
+ <name>InstallerBase</name>
+ <message>
+ <source>Waiting for %1</source>
+ <translation>Venter på %1</translation>
+ </message>
+ <message>
+ <source>Another %1 instance is already running. Wait until it finishes, close it, or restart your system.</source>
+ <translation>En anden %1-instans kører allerede. Vent til den er færdig, luk den eller genstart dit system.</translation>
+ </message>
+</context>
+<context>
+ <name>InstallerCalculator</name>
+ <message>
+ <source>Components added as automatic dependencies:</source>
+ <translation>Komponenter tilføjet som automatiske afhængigheder:</translation>
+ </message>
+ <message>
+ <source>Components added as dependency for &quot;%1&quot;:</source>
+ <translation>Komponenter tilføjet som afhængighed til &quot;%1&quot;:</translation>
+ </message>
+ <message>
+ <source>Components that have resolved dependencies:</source>
+ <translation>Komponenter som har løste afhængigheder:</translation>
+ </message>
+ <message>
+ <source>Selected components without dependencies:</source>
+ <translation>Valgte komponenter uden afhængigheder:</translation>
+ </message>
+ <message>
+ <source>Recursion detected, component &quot;%1&quot; already added with reason: &quot;%2&quot;</source>
+ <translation>Rekursion registreret, komponenten &quot;%1&quot; allerede tilføjet med begrundelsen: &quot;%2&quot;</translation>
+ </message>
+ <message>
+ <source>Cannot find missing dependency &quot;%1&quot; for &quot;%2&quot;.</source>
+ <translation>Kan ikke finde manglende afhængighed &quot;%1&quot; til &quot;%2&quot;.</translation>
+ </message>
+</context>
+<context>
+ <name>Job</name>
+ <message>
+ <source>Canceled</source>
+ <translation>Annulleret</translation>
+ </message>
+</context>
+<context>
+ <name>KDUpdater::AppendFileOperation</name>
+ <message>
+ <source>Cannot backup file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke sikkerhedskopiere filen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til skrivning: %2</translation>
+ </message>
+ <message>
+ <source>Cannot find backup file for &quot;%1&quot;.</source>
+ <translation>Kan ikke finde sikkerhedskopieret fil for &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot restore backup file for &quot;%1&quot;.</source>
+ <translation>Kan ikke genskabe sikkerhedskopieret fil for &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot restore backup file for &quot;%1&quot;: %2</source>
+ <translation>Kan ikke genskabe sikkerhedskopieret fil for &quot;%1&quot;: %2</translation>
+ </message>
+</context>
+<context>
+ <name>KDUpdater::CopyOperation</name>
+ <message>
+ <source>Cannot backup file &quot;%1&quot;.</source>
+ <translation>Kan ikke sikkerhedskopiere filen &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot copy a non-existent file: %1</source>
+ <translation>Kan ikke kopiere en ikke-eksisterende fil: %1</translation>
+ </message>
+ <message>
+ <source>Cannot remove file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke fjerne filen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot copy file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Kan ikke kopiere filen &quot;%1&quot; til &quot;%2&quot;: %3</translation>
+ </message>
+ <message>
+ <source>Cannot delete file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke slette filen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot restore backup file into &quot;%1&quot;: %2</source>
+ <translation>Kan ikke genskabe sikkerhedskopieret fil ind i &quot;%1&quot;: %2</translation>
+ </message>
+</context>
+<context>
+ <name>KDUpdater::DeleteOperation</name>
+ <message>
+ <source>Cannot create backup of file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke oprette sikkerhedskopi af filen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot restore backup file for &quot;%1&quot;: %2</source>
+ <translation>Kan ikke genskabe sikkerhedskopieret fil for &quot;%1&quot;: %2</translation>
+ </message>
+</context>
+<context>
+ <name>KDUpdater::FileDownloader</name>
+ <message>
+ <source>Download finished.</source>
+ <translation>Download færdig.</translation>
+ </message>
+ <message>
+ <source>Cryptographic hashes do not match.</source>
+ <translation>Kryptografiske hashes matcher ikke.</translation>
+ </message>
+ <message>
+ <source>Download canceled.</source>
+ <translation>Download annulleret.</translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation>%1 af %2</translation>
+ </message>
+ <message>
+ <source>%1 downloaded.</source>
+ <translation>%1 downloadet.</translation>
+ </message>
+ <message>
+ <source>(%1/sec)</source>
+ <translation>(%1/sek.)</translation>
+ </message>
+ <message numerus="yes">
+ <source>%n day(s), </source>
+ <translation>
+ <numerusform>%n dag, </numerusform>
+ <numerusform>%n dage, </numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%n hour(s), </source>
+ <translation>
+ <numerusform>%n time, </numerusform>
+ <numerusform>%n timer, </numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%n minute(s)</source>
+ <translation>
+ <numerusform>%n minut</numerusform>
+ <numerusform>%n minutter</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%n second(s)</source>
+ <translation>
+ <numerusform>%n sekund</numerusform>
+ <numerusform>%n sekunder</numerusform>
+ </translation>
+ </message>
+ <message>
+ <source> - %1%2%3%4 remaining.</source>
+ <translation> - %1%2%3%4 tilbage.</translation>
+ </message>
+ <message>
+ <source> - unknown time remaining.</source>
+ <translation> - ukendt tid tilbage.</translation>
+ </message>
+</context>
+<context>
+ <name>KDUpdater::HttpDownloader</name>
+ <message>
+ <source>Cannot download %1. Writing to file &quot;%2&quot; failed: %3</source>
+ <translation>Kan ikke downloade %1. Skrivning til filen &quot;%2&quot; fejlede: %3</translation>
+ </message>
+ <message>
+ <source>Cannot download %1. Cannot create file &quot;%2&quot;: %3</source>
+ <translation>Kan ikke downloade %1. Kan ikke oprette filen &quot;%2&quot;: %3</translation>
+ </message>
+ <message>
+ <source>%1 at %2</source>
+ <translation>%1 hos %2</translation>
+ </message>
+ <message>
+ <source>Authentication request canceled.</source>
+ <translation>Autentifikationsanmodning annulleret.</translation>
+ </message>
+ <message>
+ <source>Secure Connection Failed</source>
+ <translation>Sikker forbindelse fejlede</translation>
+ </message>
+ <message>
+ <source>There was an error during connection to: %1.</source>
+ <translation>Der opstod en fejl under forbindelse til: %1.</translation>
+ </message>
+ <message>
+ <source>This could be a problem with the server&apos;s configuration, or it could be someone trying to impersonate the server.</source>
+ <translation>Der kan være et problem med serverens konfiguration eller det kan være nogen som prøve at udgive sig for at være serveren. </translation>
+ </message>
+ <message>
+ <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>Hvis du førhen har oprettet forbindelse til denne server eller har tillid til denne server, kan fejlen være midlertidig og du kan prøve igen.</translation>
+ </message>
+ <message>
+ <source>Try again</source>
+ <translation>Prøv igen</translation>
+ </message>
+</context>
+<context>
+ <name>KDUpdater::LocalFileDownloader</name>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til læsning: %2</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til skrivning: %2</translation>
+ </message>
+ <message>
+ <source>Writing to file &quot;%1&quot; failed: %2</source>
+ <translation>Skrivning til filen &quot;%1&quot; fejlede: %2</translation>
+ </message>
+</context>
+<context>
+ <name>KDUpdater::MkdirOperation</name>
+ <message>
+ <source>Cannot create directory &quot;%1&quot;: %2</source>
+ <translation>Kan ikke oprette mappen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Unknown error.</source>
+ <translation>Ukendt fejl.</translation>
+ </message>
+ <message>
+ <source>Cannot remove directory &quot;%1&quot;: %2</source>
+ <translation>Kan ikke fjerne mappen &quot;%1&quot;: %2</translation>
+ </message>
+</context>
+<context>
+ <name>KDUpdater::MoveOperation</name>
+ <message>
+ <source>Cannot backup file &quot;%1&quot;.</source>
+ <translation>Kan ikke sikkerhedskopiere filen &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot remove file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke fjerne filen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot copy file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Kan ikke kopiere filen &quot;%1&quot; til &quot;%2&quot;: %3</translation>
+ </message>
+ <message>
+ <source>Cannot remove file &quot;%1&quot;.</source>
+ <translation>Kan ikke fjerne filen &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot restore backup file for &quot;%1&quot;: %2</source>
+ <translation>Kan ikke genskabe sikkerhedskopieret fil for &quot;%1&quot;: %2</translation>
+ </message>
+</context>
+<context>
+ <name>KDUpdater::PrependFileOperation</name>
+ <message>
+ <source>Cannot backup file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke sikkerhedskopiere filen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til læsning: %2</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til skrivning: %2</translation>
+ </message>
+ <message>
+ <source>Cannot find backup file for &quot;%1&quot;.</source>
+ <translation>Kan ikke finde sikkerhedskopieret fil for &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot restore backup file for &quot;%1&quot;.</source>
+ <translation>Kan ikke genskabe sikkerhedskopieret fil for &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot restore backup file for &quot;%1&quot;: %2</source>
+ <translation>Kan ikke genskabe sikkerhedskopieret fil for &quot;%1&quot;: %2</translation>
+ </message>
+</context>
+<context>
+ <name>KDUpdater::ResourceFileDownloader</name>
+ <message>
+ <source>Cannot read resource file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke læse ressourcefilen &quot;%1&quot;: %2</translation>
+ </message>
+</context>
+<context>
+ <name>KDUpdater::RmdirOperation</name>
+ <message>
+ <source>Cannot remove directory &quot;%1&quot;: %2</source>
+ <translation>Kan ikke fjerne mappen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>The directory does not exist.</source>
+ <translation>Mappen findes ikke.</translation>
+ </message>
+ <message>
+ <source>Cannot recreate directory &quot;%1&quot;: %2</source>
+ <translation>Kan ikke genoprette mappen &quot;%1&quot;: %2</translation>
+ </message>
+</context>
+<context>
+ <name>KDUpdater::Task</name>
+ <message>
+ <source>%1 started</source>
+ <translation>%1 startet</translation>
+ </message>
+ <message>
+ <source>%1 cannot be stopped</source>
+ <translation>%1 kan ikke stoppes</translation>
+ </message>
+ <message>
+ <source>Cannot stop task %1</source>
+ <translation>Kan ikke stoppe opgaven %1</translation>
+ </message>
+ <message>
+ <source>%1 cannot be paused</source>
+ <translation>%1 kan ikke sættes på pause</translation>
+ </message>
+ <message>
+ <source>Cannot pause task %1</source>
+ <translation>Kan ikke sætte opgaven %1 på pause</translation>
+ </message>
+ <message>
+ <source>Cannot resume task %1</source>
+ <translation>Kan ikke genoptage opgaven %1</translation>
+ </message>
+ <message>
+ <source>%1 done</source>
+ <translation>%1 færdig</translation>
+ </message>
+</context>
+<context>
+ <name>KDUpdater::UpdateFinder</name>
+ <message>
+ <source>Cannot access the package information of this application.</source>
+ <translation>Kan ikke tilgå pakkeinformationen til dette program.</translation>
+ </message>
+ <message>
+ <source>No package sources set for this application.</source>
+ <translation>Ingen pakkekilder sat til dette program.</translation>
+ </message>
+ <message numerus="yes">
+ <source>%n update(s) found.</source>
+ <translation>
+ <numerusform>%n opdatering fundet.</numerusform>
+ <numerusform>%n opdateringer fundet.</numerusform>
+ </translation>
+ </message>
+ <message>
+ <source>Downloading Updates.xml from update sources.</source>
+ <translation>Downloader Updates.xml fra opdateringskilder.</translation>
+ </message>
+ <message>
+ <source>Cannot download package source %1 from &quot;%2&quot;.</source>
+ <translation>Kan ikke downloade pakkekilden %1 fra &quot;%2&quot;.</translation>
+ </message>
+ <message>
+ <source>Updates.xml file(s) downloaded from update sources.</source>
+ <translation>Updates.xml fil(er) downloadet fra opdateringskilder.</translation>
+ </message>
+ <message>
+ <source>Computing applicable updates.</source>
+ <translation>Udregner anvendelige opdateringer.</translation>
+ </message>
+ <message>
+ <source>Application updates computed.</source>
+ <translation>Programopdateringer udregnet.</translation>
+ </message>
+</context>
+<context>
+ <name>KDUpdater::UpdatesInfoData</name>
+ <message>
+ <source>Updates.xml contains invalid content: %1</source>
+ <translation>Updates.xml indeholder ugyldigt indhold: %1</translation>
+ </message>
+ <message>
+ <source>Cannot read &quot;%1&quot;</source>
+ <translation>Kan ikke læse &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <source>Parse error in %1 at %2, %3: %4</source>
+ <translation>Parse-fejl i %1 ved %2, %3: %4</translation>
+ </message>
+ <message>
+ <source>Root element %1 unexpected, should be &quot;Updates&quot;.</source>
+ <translation>Rod-elementet %1 uventet, skulle være &quot;Updates&quot;.</translation>
+ </message>
+ <message>
+ <source>ApplicationName element is missing.</source>
+ <translation>ApplicationName-element mangler.</translation>
+ </message>
+ <message>
+ <source>ApplicationVersion element is missing.</source>
+ <translation>ApplicationVersion-element mangler.</translation>
+ </message>
+ <message>
+ <source>PackageUpdate element without Name</source>
+ <translation>PackageUpdate-element uden Name</translation>
+ </message>
+ <message>
+ <source>PackageUpdate element without Version</source>
+ <translation>PackageUpdate-element uden Version</translation>
+ </message>
+ <message>
+ <source>PackageUpdate element without ReleaseDate</source>
+ <translation>PackageUpdate-element uden ReleaseDate</translation>
+ </message>
+</context>
+<context>
+ <name>Lib7z</name>
+ <message>
+ <source>internal code: %1</source>
+ <translation>intern kode: %1</translation>
+ </message>
+ <message>
+ <source>not enough memory</source>
+ <translation>ikke nok hukommelse</translation>
+ </message>
+ <message>
+ <source>Error: %1</source>
+ <translation>Fejl: %1</translation>
+ </message>
+ <message>
+ <source>Cannot retrieve property %1 for item %2.</source>
+ <translation>Kan ikke hente egenskaben %1 for posten %2.</translation>
+ </message>
+ <message>
+ <source>Property %1 for item %2 not of type VT_FILETIME but %3.</source>
+ <translation>Egenskaben %1 for posten %2 ikke af typen VT_FILETIME men %3.</translation>
+ </message>
+ <message>
+ <source>Cannot convert UTC file time to system time.</source>
+ <translation>Kan ikke konvertere UTC-filtid til systemets tid.</translation>
+ </message>
+ <message>
+ <source>Cannot load codecs.</source>
+ <translation>Kan ikke indlæse codecs.</translation>
+ </message>
+ <message>
+ <source>Cannot open archive &quot;%1&quot;.</source>
+ <translation>Kan ikke åbne arkivet &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot retrieve number of items in archive.</source>
+ <translation>Kan ikke hente antal poster i arkiv.</translation>
+ </message>
+ <message>
+ <source>Cannot retrieve path of archive item &quot;%1&quot;.</source>
+ <translation>Kan ikke hente stien af arkivposten &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Unknown exception caught (%1).</source>
+ <translation>Ukendt undtagelse fanget (%1).</translation>
+ </message>
+ <message>
+ <source>Cannot create temporary file: %1</source>
+ <translation>Kan ikke oprette midlertidig fil: %1</translation>
+ </message>
+ <message>
+ <source>Unsupported archive type.</source>
+ <translation>Ikke-understøttet arkivtype.</translation>
+ </message>
+ <message>
+ <source>Cannot create archive &quot;%1&quot;</source>
+ <translation>Kan ikke oprette arkivet &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <source>Cannot create archive &quot;%1&quot;: %2</source>
+ <translation>Kan ikke oprette arkivet &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot remove old archive &quot;%1&quot;: %2</source>
+ <translation>Kan ikke fjerne gamle arkiv &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot rename temporary archive &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Kan ikke omdøbe midlertidigt arkiv &quot;%1&quot; til &quot;%2&quot;: %3</translation>
+ </message>
+ <message>
+ <source>Unknown exception caught (%1)</source>
+ <translation>Ukendt undtagelse fanget (%1)</translation>
+ </message>
+</context>
+<context>
+ <name>LocalPackageHub</name>
+ <message>
+ <source>%1 contains invalid content: %2</source>
+ <translation>%1 indeholder ugyldigt indhold: %2</translation>
+ </message>
+ <message>
+ <source>The file %1 does not exist.</source>
+ <translation>Filen %1 findes ikke.</translation>
+ </message>
+ <message>
+ <source>Cannot open %1.</source>
+ <translation>Kan ikke åbne %1.</translation>
+ </message>
+ <message>
+ <source>Parse error in %1 at %2, %3: %4</source>
+ <translation>Parse-fejl i %1 ved %2, %3: %4</translation>
+ </message>
+ <message>
+ <source>Root element %1 unexpected, should be &apos;Packages&apos;.</source>
+ <translation>Rod-elementet %1 uventet, skulle være &apos;Packages&apos;.</translation>
+ </message>
+</context>
+<context>
+ <name>LockFile</name>
+ <message>
+ <source>Cannot create lock file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke oprette låsfilen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot write PID to lock file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke skrive PID til låsfilen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot obtain the lock for file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke få låsfilen for filen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot release the lock for file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke frigive låsfilen for filen &quot;%1&quot;: %2</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller</name>
+ <message>
+ <source>No marker found, stopped after %1.</source>
+ <translation>Ingen markør fundet, stoppet efter %1.</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til læsning: %2</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til skrivning: %2</translation>
+ </message>
+ <message>
+ <source>Read failed after %1 bytes: %2</source>
+ <translation>Læsning fejlede efter %1 byte: %2</translation>
+ </message>
+ <message>
+ <source>Copy failed: %1</source>
+ <translation>Kopiering fejlede: %1</translation>
+ </message>
+ <message>
+ <source>Write failed after %1 bytes: %2</source>
+ <translation>Skrivning fejlede efter %1 byte: %2</translation>
+ </message>
+ <message>
+ <source>bytes</source>
+ <translation>byte</translation>
+ </message>
+ <message>
+ <source>KiB</source>
+ <translation>KiB</translation>
+ </message>
+ <message>
+ <source>MiB</source>
+ <translation>MiB</translation>
+ </message>
+ <message>
+ <source>GiB</source>
+ <translation>GiB</translation>
+ </message>
+ <message>
+ <source>TiB</source>
+ <translation>TiB</translation>
+ </message>
+ <message>
+ <source>PiB</source>
+ <translation>PiB</translation>
+ </message>
+ <message>
+ <source>EiB</source>
+ <translation>EiB</translation>
+ </message>
+ <message>
+ <source>ZiB</source>
+ <translation>ZiB</translation>
+ </message>
+ <message>
+ <source>YiB</source>
+ <translation>YiB</translation>
+ </message>
+ <message>
+ <source>Cannot remove file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke fjerne filen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot remove directory &quot;%1&quot;: %2</source>
+ <translation>Kan ikke fjerne mappen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot create directory &quot;%1&quot;.</source>
+ <translation>Kan ikke oprette mappen &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot copy file from &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Kan ikke kopiere filen fra &quot;%1&quot; til &quot;%2&quot;: %3</translation>
+ </message>
+ <message>
+ <source>Cannot move file from &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Kan ikke flytte filen fra &quot;%1&quot; til &quot;%2&quot;: %3</translation>
+ </message>
+ <message>
+ <source>Cannot create directory &quot;%1&quot;: %2</source>
+ <translation>Kan ikke oprette mappen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot open temporary file: %1</source>
+ <translation>Kan ikke åbne midlertidig fil: %1</translation>
+ </message>
+ <message>
+ <source>Cannot open temporary file for template %1: %2</source>
+ <translation>Kan ikke åbne midlertidig fil til skabelonen %1: %2</translation>
+ </message>
+ <message>
+ <source>Corrupt installation</source>
+ <translation>Ødelagt installation</translation>
+ </message>
+ <message>
+ <source>Your installation seems to be corrupted. Please consider re-installing from scratch.</source>
+ <translation>Din installation ser ud til at være ødelagt. Overvej venligst at geninstallere from bunden.</translation>
+ </message>
+ <message>
+ <source>The specified module could not be found.</source>
+ <translation>Det specificerede modul blev ikke fundet.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::Component</name>
+ <message>
+ <source>Components cannot have children in updater mode.</source>
+ <translation>Komponenter må ikke have børn i opdateringstilstand.</translation>
+ </message>
+ <message>
+ <source>Cannot open the requested UI file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke åbne den anmodede UI-fil &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot load the requested UI file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke indlæse den anmodede UI-fil &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot open the requested license file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke åbne den anmodede licensfil &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Error</source>
+ <translation>Fejl</translation>
+ </message>
+ <message>
+ <source>Error: Operation %1 does not exist.</source>
+ <translation>Fejl: handlingen %1 findes ikke.</translation>
+ </message>
+ <message>
+ <source>Cannot resolve isDefault in %1</source>
+ <translation>Kan ikke løse isDefault i %1</translation>
+ </message>
+ <message>
+ <source>Update Info: </source>
+ <translation>Opdateringsinfo:</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::ComponentModel</name>
+ <message>
+ <source>Component is marked for installation.</source>
+ <translation>Komponenten er mærket til installation.</translation>
+ </message>
+ <message>
+ <source>Component is marked for uninstallation.</source>
+ <translation>Komponenten er mærket til afinstallation.</translation>
+ </message>
+ <message>
+ <source>Component is installed.</source>
+ <translation>Komponenten er installeret.</translation>
+ </message>
+ <message>
+ <source>Component is not installed.</source>
+ <translation>Komponenten er ikke installeret.</translation>
+ </message>
+ <message>
+ <source>Component Name</source>
+ <translation>Komponentnavn</translation>
+ </message>
+ <message>
+ <source>Action</source>
+ <translation>Handling</translation>
+ </message>
+ <message>
+ <source>Installed Version</source>
+ <translation>Installeret version</translation>
+ </message>
+ <message>
+ <source>New Version</source>
+ <translation>Ny version</translation>
+ </message>
+ <message>
+ <source>Release Date</source>
+ <translation>Udgivelsesdato</translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation>Størrelse</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::ComponentSelectionPage</name>
+ <message>
+ <source>Alt+A</source>
+ <comment>select default components</comment>
+ <translation>Alt+S</translation>
+ </message>
+ <message>
+ <source>Def&amp;ault</source>
+ <translation>&amp;Standard</translation>
+ </message>
+ <message>
+ <source>Alt+R</source>
+ <comment>reset to already installed components</comment>
+ <translation>Alt+N</translation>
+ </message>
+ <message>
+ <source>&amp;Reset</source>
+ <translation>&amp;Nulstil</translation>
+ </message>
+ <message>
+ <source>Alt+S</source>
+ <comment>select all components</comment>
+ <translation>Alt+V</translation>
+ </message>
+ <message>
+ <source>&amp;Select All</source>
+ <translation>&amp;Vælg alle</translation>
+ </message>
+ <message>
+ <source>Alt+D</source>
+ <comment>deselect all components</comment>
+ <translation>Alt+F</translation>
+ </message>
+ <message>
+ <source>&amp;Deselect All</source>
+ <translation>&amp;Fravælg alle</translation>
+ </message>
+ <message>
+ <source>To install new compressed repository, browse the repositories from your computer</source>
+ <translation>Gennemse repositorierne fra din computer, for at installere nyt komprimeret repository</translation>
+ </message>
+ <message>
+ <source>&amp;Browse QBSP files</source>
+ <translation>&amp;Gennemse QBSP-filer</translation>
+ </message>
+ <message>
+ <source>Select the components to install. Deselect installed components to uninstall them. Any components already installed will not be updated.</source>
+ <translation>Vælg de komponenter du vil installere. Fravælg installeret komponenter for at afinstallere dem. Komponenter som allerede er installeret vil ikke blive opdateret.</translation>
+ </message>
+ <message>
+ <source>This component will occupy approximately %1 on your hard disk drive.</source>
+ <translation>Denne komponent vil optage cirka %1 på dit harddisk-drev.</translation>
+ </message>
+ <message>
+ <source>Open File</source>
+ <translation>Ã…bn fil</translation>
+ </message>
+ <message>
+ <source>Select Components</source>
+ <translation>Vælg komponenter</translation>
+ </message>
+ <message>
+ <source>Please select the components you want to update.</source>
+ <translation>Vælg venligst de komponenter du vil opdatere.</translation>
+ </message>
+ <message>
+ <source>Please select the components you want to install.</source>
+ <translation>Vælg venligst de komponenter du vil installere.</translation>
+ </message>
+ <message>
+ <source>Please select the components you want to uninstall.</source>
+ <translation>Vælg venligst de komponenter du vil afinstallere.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::ConsumeOutputOperation</name>
+ <message>
+ <source>&lt;to be saved installer key name&gt; &lt;executable&gt; [argument1] [argument2] [...]</source>
+ <translation>&lt;installer-nøglenavn som skal gammes&gt; &lt;eksekverbar&gt; [argument1] [argument2] [...]</translation>
+ </message>
+ <message>
+ <source>Needed installer object in %1 operation is empty.</source>
+ <translation>Nødvendigt installer-objekt i %1-handling er tomt.</translation>
+ </message>
+ <message>
+ <source>Cannot save the output of &quot;%1&quot; to an empty installer key value.</source>
+ <translation>Kan ikke gemme outputtet fra &quot;%1&quot; til en tom installer-nøgleværdi.</translation>
+ </message>
+ <message>
+ <source>File &quot;%1&quot; does not exist or is not an executable binary.</source>
+ <translation>Filen &quot;%1&quot; findes ikke eller er ikke en eksekverbar binær.</translation>
+ </message>
+ <message>
+ <source>Running &quot;%1&quot; resulted in a crash.</source>
+ <translation>Kørsel af &quot;%1&quot; resulterede i at det holdt op med at virke.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::CopyDirectoryOperation</name>
+ <message>
+ <source>&lt;source&gt; &lt;target&gt; [&quot;forceOverwrite&quot;]</source>
+ <translation>&lt;kilde&gt; &lt;mål&gt; [&quot;forceOverwrite&quot;]</translation>
+ </message>
+ <message>
+ <source>Invalid argument in %1: Third argument needs to be forceOverwrite, if specified.</source>
+ <translation>Ugyldigt argument i %1: tredje argument skal være forceOverwrite, hvis specificeret.</translation>
+ </message>
+ <message>
+ <source>Invalid argument in %1: Directory &quot;%2&quot; is invalid.</source>
+ <translation>Ugyldigt argument i %1: mappen &quot;%2&quot; er ugyldig.</translation>
+ </message>
+ <message>
+ <source>Cannot create directory &quot;%1&quot;.</source>
+ <translation>Kan ikke oprette mappen &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Failed to overwrite &quot;%1&quot;.</source>
+ <translation>Kunne ikke overskrive &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot copy file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Kan ikke kopiere filen &quot;%1&quot; til &quot;%2&quot;: %3</translation>
+ </message>
+ <message>
+ <source>Cannot remove file &quot;%1&quot;.</source>
+ <translation>Kan ikke fjerne filen &quot;%1&quot;.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::CopyFileTask</name>
+ <message>
+ <source>Invalid task item count.</source>
+ <translation>Ugyldigt antal poster i opgave.</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til læsning: %2</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til skrivning: %2</translation>
+ </message>
+ <message>
+ <source>Writing to file &quot;%1&quot; failed: %2</source>
+ <translation>Skrivning til filen &quot;%1&quot; fejlede: %2</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::CreateDesktopEntryOperation</name>
+ <message>
+ <source>Cannot backup file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke sikkerhedskopiere filen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Failed to overwrite file &quot;%1&quot;.</source>
+ <translation>Kunne ikke overskrive filen &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot write desktop entry to &quot;%1&quot;.</source>
+ <translation>Kan ikke skrive skrivebordspost til &quot;%1&quot;.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::CreateLinkOperation</name>
+ <message>
+ <source>Cannot create link from &quot;%1&quot; to &quot;%2&quot;.</source>
+ <translation>Kan ikke oprette link fra &quot;%1&quot; til &quot;%2&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot remove link from &quot;%1&quot; to &quot;%2&quot;.</source>
+ <translation>Kan ikke fjerne link fra &quot;%1&quot; til &quot;%2&quot;.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::CreateLocalRepositoryOperation</name>
+ <message>
+ <source>Cannot set permissions for file &quot;%1&quot;.</source>
+ <translation>Kan ikke sætte tilladelser for filen &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot remove file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke fjerne filen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot move file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Kan ikke flytte filen &quot;%1&quot; til &quot;%2&quot;: %3</translation>
+ </message>
+ <message>
+ <source>Installer at &quot;%1&quot; needs to be an offline one.</source>
+ <translation>Installeren ved &quot;%1&quot; skal være af typen offline.</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for reading.</source>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til læsning.</translation>
+ </message>
+ <message>
+ <source>Cannot read file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke læse filen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til læsning: %2</translation>
+ </message>
+ <message>
+ <source>Cannot create target directory: &quot;%1&quot;.</source>
+ <translation>Kan ikke oprette mål-mappen: &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Unknown exception caught: %1.</source>
+ <translation>Ukendt undtagelse fanget: %1.</translation>
+ </message>
+ <message>
+ <source>Removing file &quot;%1&quot;.</source>
+ <translation>Fjerner filen &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot remove file &quot;%1&quot;.</source>
+ <translation>Kan ikke fjerne filen &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot remove directory &quot;%1&quot;: %2</source>
+ <translation>Kan ikke fjerne mappen &quot;%1&quot;: %2</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::CreateShortcutOperation</name>
+ <message>
+ <source>&lt;target&gt; &lt;link location&gt; [target arguments] [&quot;workingDirectory=...&quot;] [&quot;iconPath=...&quot;] [&quot;iconId=...&quot;] [&quot;description=...&quot;]</source>
+ <translation>&lt;mål&gt; &lt;linkplacering&gt; [mål-argumenter] [&quot;workingDirectory=...&quot;] [&quot;iconPath=...&quot;] [&quot;iconId=...&quot;] [&quot;description=...&quot;]</translation>
+ </message>
+ <message>
+ <source>Cannot create directory &quot;%1&quot;: %2</source>
+ <translation>Kan ikke oprette mappen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Failed to overwrite &quot;%1&quot;: %2</source>
+ <translation>Kunne ikke overskrive &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot create link &quot;%1&quot;: %2</source>
+ <translation>Kan ikke oprette linket &quot;%1&quot;: %2</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::DownloadArchivesJob</name>
+ <message>
+ <source>Canceled</source>
+ <translation>Annulleret</translation>
+ </message>
+ <message>
+ <source>Downloading hash signature failed.</source>
+ <translation>Download af hash-signatur fejlede.</translation>
+ </message>
+ <message>
+ <source>Download Error</source>
+ <translation>Download-fejl</translation>
+ </message>
+ <message>
+ <source>Hash verification while downloading failed. This is a temporary error, please retry.</source>
+ <translation>Hash-verifikation under download fejlede. Dette er en midlertidig fejl, prøv venligst igen.</translation>
+ </message>
+ <message>
+ <source>Cannot verify Hash</source>
+ <translation>Kan ikke verificere hash</translation>
+ </message>
+ <message>
+ <source>Cannot download archive %1: %2</source>
+ <translation>Kan ikke downloade arkivet %1: %2</translation>
+ </message>
+ <message>
+ <source>Cannot fetch archives: %1
+Error while loading %2</source>
+ <translation>Kan ikke hente arkiver: %1
+Fejl under indlæsning af %2</translation>
+ </message>
+ <message>
+ <source>Downloading archive &quot;%1&quot; for component %2.</source>
+ <translation>Downloader arkivet &quot;%1&quot; til komponenten %2.</translation>
+ </message>
+ <message>
+ <source>Scheme %1 not supported (URL: %2).</source>
+ <translation>Skemaet %1 understøttes ikke (URL: %2).</translation>
+ </message>
+ <message>
+ <source>Cannot find component for %1.</source>
+ <translation>Kan ikke finde komponent til %1.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::Downloader</name>
+ <message>
+ <source>Target file &quot;%1&quot; already exists but is not a file.</source>
+ <translation>MÃ¥l-filen &quot;%1&quot; findes allerede men er ikke en fil.</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <extracomment>%2 is a sentence describing the error</extracomment>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til skrivning: %2</translation>
+ </message>
+ <message>
+ <source>File &quot;%1&quot; not open for writing: %2</source>
+ <extracomment>%2 is a sentence describing the error.</extracomment>
+ <translation>Filen &quot;%1&quot; er ikke åben til skrivning: %2</translation>
+ </message>
+ <message>
+ <source>Writing to file &quot;%1&quot; failed: %2</source>
+ <extracomment>%2 is a sentence describing the error.</extracomment>
+ <translation>Skrivning til filen &quot;%1&quot; fejlede: %2</translation>
+ </message>
+ <message>
+ <source>Redirect loop detected for &quot;%1&quot;.</source>
+ <translation>Omdirigeringsløkke registreret for &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Checksum mismatch detected for &quot;%1&quot;.</source>
+ <translation>Tjeksum uoverensstemmelse registreret for &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Network error while downloading &apos;%1&apos;: %2.</source>
+ <translation>Netværksfejl under download af &apos;%1&apos;: %2.</translation>
+ </message>
+ <message>
+ <source>Unknown network error while downloading &quot;%1&quot;.</source>
+ <extracomment>%1 is a sentence describing the error</extracomment>
+ <translation>Ukendt netværksfejl under download af &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Network transfers canceled.</source>
+ <translation>Netværksoverførsler annulleret.</translation>
+ </message>
+ <message>
+ <source>Pause and resume not supported by network transfers.</source>
+ <translation>Pause og genoptag understøttes ikke af netværksoverførsler.</translation>
+ </message>
+ <message>
+ <source>Invalid source URL &quot;%1&quot;: %2</source>
+ <extracomment>%2 is a sentence describing the error</extracomment>
+ <translation>Ugyldig kilde-URL &quot;%1&quot;: %2</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::ElevatedExecuteOperation</name>
+ <message>
+ <source>Cannot start detached: &quot;%1&quot;</source>
+ <translation>Kan ikke starte afkoblet: &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <source>Cannot start: &quot;%1&quot;: %2</source>
+ <translation>Kan ikke starte: &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Program crashed: &quot;%1&quot;</source>
+ <translation>Programmet holdt op med at virke: &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <source>Execution failed (Unexpected exit code: %1): &quot;%2&quot;</source>
+ <translation>Eksekvering fejlede (uventet afslutningskode: %1): &quot;%2&quot;</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::ExtractArchiveOperation::Runnable</name>
+ <message>
+ <source>Cannot open archive &quot;%1&quot; for reading: %2</source>
+ <translation>Kan ikke åbne arkivet &quot;%1&quot; til læsning: %2</translation>
+ </message>
+ <message>
+ <source>Error while extracting archive &quot;%1&quot;: %2</source>
+ <translation>Fejl under udtrækning af arkivet &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Unknown exception caught while extracting &quot;%1&quot;.</source>
+ <translation>Ukendt undtagelse fanget under udtrækning af &quot;%1&quot;.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::FakeStopProcessForUpdateOperation</name>
+ <message>
+ <source>Cannot get package manager core.</source>
+ <translation>Kan ikke få pakkehåndterings-kerne.</translation>
+ </message>
+ <message>
+ <source>This process should be stopped before continuing: %1</source>
+ <translation>Denne proces bør stoppes inden der fortsættes: %1</translation>
+ </message>
+ <message>
+ <source>These processes should be stopped before continuing: %1</source>
+ <translation>Disse processer bør stoppes inden der fortsættes: %1</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::FileTaskObserver</name>
+ <message>
+ <source>%1 of %2</source>
+ <translation>%1 af %2</translation>
+ </message>
+ <message>
+ <source>%1 received.</source>
+ <translation>%1 modtaget.</translation>
+ </message>
+ <message>
+ <source>(%1/sec)</source>
+ <translation>(%1/sek.)</translation>
+ </message>
+ <message numerus="yes">
+ <source>%n day(s), </source>
+ <translation>
+ <numerusform>%n dag, </numerusform>
+ <numerusform>%n dage, </numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%n hour(s), </source>
+ <translation>
+ <numerusform>%n time, </numerusform>
+ <numerusform>%n timer, </numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%n minute(s)</source>
+ <translation>
+ <numerusform>%n minut</numerusform>
+ <numerusform>%n minutter</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%n second(s)</source>
+ <translation>
+ <numerusform>%n sekund</numerusform>
+ <numerusform>%n sekunder</numerusform>
+ </translation>
+ </message>
+ <message>
+ <source> - %1%2%3%4 remaining.</source>
+ <translation> - %1%2%3%4 tilbage.</translation>
+ </message>
+ <message>
+ <source> - unknown time remaining.</source>
+ <translation> - ukendt tid tilbage.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::FinishedPage</name>
+ <message>
+ <source>Completing the %1 Wizard</source>
+ <translation>Fuldfører %1 assistenten</translation>
+ </message>
+ <message>
+ <source>Click %1 to exit the %2 Wizard.</source>
+ <translation>Klik på %1 for at afslutte %2 assistenten.</translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation>Genstart</translation>
+ </message>
+ <message>
+ <source>Run %1 now.</source>
+ <translation>Kør %1 nu.</translation>
+ </message>
+ <message>
+ <source>The %1 Wizard failed.</source>
+ <translation>%1 assistenten fejlede.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::GlobalSettingsOperation</name>
+ <message>
+ <source>Settings are not writable.</source>
+ <translation>Indstillinger er ikke skrivbare.</translation>
+ </message>
+ <message>
+ <source>Failed to write settings.</source>
+ <translation>Kunne ikke skrive indstillinger.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::InstallIconsOperation</name>
+ <message>
+ <source>&lt;source path&gt; [vendor prefix]</source>
+ <translation>&lt;kildesti&gt; [producent præfiks]</translation>
+ </message>
+ <message>
+ <source>Invalid Argument: source directory must not be empty.</source>
+ <translation>Ugyldigt argument: kildemappen må ikke være tom.</translation>
+ </message>
+ <message>
+ <source>Cannot backup file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke sikkerhedskopiere filen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Failed to overwrite &quot;%1&quot;: %2</source>
+ <translation>Kunne ikke overskrive &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Failed to copy file &quot;%1&quot;: %2</source>
+ <translation>Kunne ikke kopiere filen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot create directory &quot;%1&quot;: %2</source>
+ <translation>Kan ikke oprette mappen &quot;%1&quot;: %2</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::IntroductionPage</name>
+ <message>
+ <source>Setup - %1</source>
+ <translation>Opsætning - %1</translation>
+ </message>
+ <message>
+ <source>Welcome to the %1 Setup Wizard.</source>
+ <translation>Velkommen til opsætningsassistenten for %1.</translation>
+ </message>
+ <message>
+ <source>Add or remove components</source>
+ <translation>Tilføj eller fjern komponenter</translation>
+ </message>
+ <message>
+ <source>Update components</source>
+ <translation>Opdater komponenter</translation>
+ </message>
+ <message>
+ <source>Remove all components</source>
+ <translation>Fjern alle komponenter</translation>
+ </message>
+ <message>
+ <source>Retrieving information from remote installation sources...</source>
+ <translation>Henter information fra fjern-installationskilder...</translation>
+ </message>
+ <message>
+ <source>At least one valid and enabled repository required for this action to succeed.</source>
+ <translation>Mindst ét gyldigt og aktiveret repository krævet for at denne handling skal lykkedes.</translation>
+ </message>
+ <message>
+ <source>No updates available.</source>
+ <translation>Ingen tilgængelige opdateringer.</translation>
+ </message>
+ <message>
+ <source> Only local package management available.</source>
+ <translation> Kun lokal pakkehåndtering tilgængeligt.</translation>
+ </message>
+ <message>
+ <source>Quit</source>
+ <translation>Afslut</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::LicenseAgreementPage</name>
+ <message>
+ <source>License Agreement</source>
+ <translation>Licensaftale</translation>
+ </message>
+ <message>
+ <source>Alt+A</source>
+ <comment>agree license</comment>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <source>Alt+D</source>
+ <comment>do not agree license</comment>
+ <translation>Alt+I</translation>
+ </message>
+ <message>
+ <source>Please read the following license agreement. You must accept the terms contained in this agreement before continuing with the installation.</source>
+ <translation>Læs venligst følgende licensaftale. Du skal acceptere vilkårene i denne aftale for at fortsætte installationen.</translation>
+ </message>
+ <message>
+ <source>I accept the license.</source>
+ <translation>Jeg accepterer licensen.</translation>
+ </message>
+ <message>
+ <source>I do not accept the license.</source>
+ <translation>Jeg accepterer ikke licensen.</translation>
+ </message>
+ <message>
+ <source>Please read the following license agreements. You must accept the terms contained in these agreements before continuing with the installation.</source>
+ <translation>Læs venligst følgende licensaftaler. Du skal acceptere vilkårene i disse aftaler for at fortsætte installationen.</translation>
+ </message>
+ <message>
+ <source>I accept the licenses.</source>
+ <translation>Jeg accepterer licenserne.</translation>
+ </message>
+ <message>
+ <source>I do not accept the licenses.</source>
+ <translation>Jeg accepterer ikke licenserne.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::LicenseOperation</name>
+ <message>
+ <source>No license files found to copy.</source>
+ <translation>Ingen licensfil fundet til kopiering.</translation>
+ </message>
+ <message>
+ <source>Needed installer object in %1 operation is empty.</source>
+ <translation>Nødvendigt installer-objekt i %1-handling er tomt.</translation>
+ </message>
+ <message>
+ <source>Can not write license file &quot;%1&quot;.</source>
+ <translation>Kan ikke skrive licensfilen &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>No license files found to delete.</source>
+ <translation>Ingen licensfil fundet til sletning.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::LineReplaceOperation</name>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til læsning: %2</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til skrivning: %2</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::MetadataJob</name>
+ <message>
+ <source>Missing package manager core engine.</source>
+ <translation>Manglende pakkehåndterings-kernemotor.</translation>
+ </message>
+ <message>
+ <source>Preparing meta information download...</source>
+ <translation>Forbedreder download af meta-information...</translation>
+ </message>
+ <message>
+ <source>Unpacking compressed repositories...</source>
+ <translation>Udpakker komprimerede repositories...</translation>
+ </message>
+ <message>
+ <source>Meta data download canceled.</source>
+ <translation>Download af meta-data annulleret.</translation>
+ </message>
+ <message>
+ <source>Unknown exception during extracting.</source>
+ <translation>Ukendt undtagelse under udtrækning.</translation>
+ </message>
+ <message>
+ <source>Missing proxy credentials.</source>
+ <translation>Manglende proxy-loginoplysninger.</translation>
+ </message>
+ <message>
+ <source>Authentication failed.</source>
+ <translation>Autentifikation fejlede.</translation>
+ </message>
+ <message>
+ <source>Unknown exception during download.</source>
+ <translation>Ukendt undtagelse under download.</translation>
+ </message>
+ <message>
+ <source>Retrieving meta information from remote repository...</source>
+ <translation>Henter meta-information fra fjern-repository...</translation>
+ </message>
+ <message>
+ <source>Failure to fetch repositories.</source>
+ <translation>Kunne ikke hente repositories.</translation>
+ </message>
+ <message>
+ <source>Extracting meta information...</source>
+ <translation>Udtrækker meta-information...</translation>
+ </message>
+ <message>
+ <source>Error while extracting archive &quot;%1&quot;: %2</source>
+ <translation>Fejl under udtrækning af arkivet &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Unknown exception caught while extracting archive &quot;%1&quot;.</source>
+ <translation>Ukendt undtagelse fanget under udtrækning af arkivet &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til læsning: %2</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::PackageManagerCore</name>
+ <message>
+ <source>Error writing Maintenance Tool</source>
+ <translation>Fejl ved skrivning af vedligeholdelsesværktøj</translation>
+ </message>
+ <message>
+ <source>
+Downloading packages...</source>
+ <translation>
+Downloader pakker...</translation>
+ </message>
+ <message>
+ <source>Installation canceled by user.</source>
+ <translation>Installation annulleret af bruger.</translation>
+ </message>
+ <message>
+ <source>All downloads finished.</source>
+ <translation>Alle downloads færdige.</translation>
+ </message>
+ <message>
+ <source>Cancelling the Installer</source>
+ <translation>Annullerer installeren</translation>
+ </message>
+ <message>
+ <source>Authentication Error</source>
+ <translation>Autentifikationsfejl</translation>
+ </message>
+ <message>
+ <source>Some components could not be removed completely because administrative rights could not be acquired: %1.</source>
+ <translation>Nogle komponenter kunne ikke fjernes fuldstændigt da administrative rettigheder ikke kunne anskaffes: %1.</translation>
+ </message>
+ <message>
+ <source>Unknown error.</source>
+ <translation>Ukendt fejl.</translation>
+ </message>
+ <message>
+ <source>Some components could not be removed completely because an unknown error happened.</source>
+ <translation>Nogle komponenter kunne ikke fjernes fuldstændigt da der opstod en ukendt fejl.</translation>
+ </message>
+ <message>
+ <source>Application not running in Package Manager mode.</source>
+ <translation>Program kører ikke i pakkehåndteringstilstand.</translation>
+ </message>
+ <message>
+ <source>No installed packages found.</source>
+ <translation>Ingen installeret pakker fundet.</translation>
+ </message>
+ <message>
+ <source>Application running in Uninstaller mode.</source>
+ <translation>Program kører i afinstallationstilstand.</translation>
+ </message>
+ <message>
+ <source>There is an important update available, please run the updater first.</source>
+ <translation>Der er en vigtig opdatering tilgængelig, kør venligst opdateringen først.</translation>
+ </message>
+ <message>
+ <source>Cannot resolve all dependencies.</source>
+ <translation>Kan ikke løse alle afhængigheder.</translation>
+ </message>
+ <message>
+ <source>Components about to be removed.</source>
+ <translation>Komponenter som er ved at blive fjernet.</translation>
+ </message>
+ <message>
+ <source>Error while elevating access rights.</source>
+ <translation>Fejl under ophøjelse af adgangsrettigheder.</translation>
+ </message>
+ <message>
+ <source>Error</source>
+ <translation>Fejl</translation>
+ </message>
+ <message>
+ <source>invalid</source>
+ <translation>ugyldig</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::PackageManagerCorePrivate</name>
+ <message>
+ <source>Unresolved dependencies</source>
+ <translation>Uløste afhængigheder</translation>
+ </message>
+ <message>
+ <source>Error</source>
+ <translation>Fejl</translation>
+ </message>
+ <message>
+ <source>Access error</source>
+ <translation>Adgangsfejl</translation>
+ </message>
+ <message>
+ <source>Format error</source>
+ <translation>Format-fejl</translation>
+ </message>
+ <message>
+ <source>Cannot write installer configuration to %1: %2</source>
+ <translation>Kan ikke skrive installerens konfiguration til %1: %2</translation>
+ </message>
+ <message>
+ <source>Stop Processes</source>
+ <translation>Stop processer</translation>
+ </message>
+ <message>
+ <source>These processes should be stopped to continue:
+
+%1</source>
+ <translation>Disse processer bør stoppes inden der fortsættes:
+
+%1</translation>
+ </message>
+ <message>
+ <source>Installation canceled by user</source>
+ <translation>Installation annulleret af bruger</translation>
+ </message>
+ <message>
+ <source>Writing maintenance tool.</source>
+ <translation>Skriver vedligeholdelsesværktøj.</translation>
+ </message>
+ <message>
+ <source>Failed to seek in file %1: %2</source>
+ <translation>Kunne ikke søge i filen %1: %2</translation>
+ </message>
+ <message>
+ <source>Maintenance tool is not a bundle</source>
+ <translation>Vedligeholdelsesværktøjet er ikke et bundt</translation>
+ </message>
+ <message>
+ <source>Cannot remove data file &quot;%1&quot;: %2</source>
+ <translation>Kan ikke fjerne data-filen &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot write maintenance tool data to %1: %2</source>
+ <translation>Kan ikke skrive vedligeholdelsesværktøjets data til %1: %2</translation>
+ </message>
+ <message>
+ <source>Cannot write maintenance tool to &quot;%1&quot;: %2</source>
+ <translation>Kan ikke skrive vedligeholdelsesværktøjet til &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot write maintenance tool binary data to %1: %2</source>
+ <translation>Kan ikke skrive vedligeholdelsesværktøjets binære data til %1: %2</translation>
+ </message>
+ <message>
+ <source>Variable &apos;TargetDir&apos; not set.</source>
+ <translation>Variablen &apos;TargetDir&apos; ikke sat.</translation>
+ </message>
+ <message>
+ <source>Preparing the installation...</source>
+ <translation>Klargør installationen...</translation>
+ </message>
+ <message>
+ <source>It is not possible to install from network location</source>
+ <translation>Det er ikke muligt at installere fra netværksplacering</translation>
+ </message>
+ <message>
+ <source>Creating local repository</source>
+ <translation>Opretter lokal repository</translation>
+ </message>
+ <message>
+ <source>Creating Maintenance Tool</source>
+ <translation>Opretter vedligeholdelsesværktøj</translation>
+ </message>
+ <message>
+ <source>
+Installation finished!</source>
+ <translation>
+Installation færdig!</translation>
+ </message>
+ <message>
+ <source>
+Installation aborted!</source>
+ <translation>
+Installation afbrudt!</translation>
+ </message>
+ <message>
+ <source>It is not possible to run that operation from a network location</source>
+ <translation>Det er ikke muligt at køre handlingen fra en netværksplacering</translation>
+ </message>
+ <message>
+ <source>Removing deselected components...</source>
+ <translation>Fjerner fravalgte komponenter...</translation>
+ </message>
+ <message>
+ <source>
+Update finished!</source>
+ <translation>
+Opdatering færdig!</translation>
+ </message>
+ <message>
+ <source>
+Update aborted!</source>
+ <translation>
+Opdatering afbrudt!</translation>
+ </message>
+ <message>
+ <source>Uninstallation completed successfully.</source>
+ <translation>Afinstallation fuldført med succes.</translation>
+ </message>
+ <message>
+ <source>Uninstallation aborted.</source>
+ <translation>Afinstallation afbrudt.</translation>
+ </message>
+ <message>
+ <source>
+Installing component %1</source>
+ <translation>
+Installerer komponenten %1</translation>
+ </message>
+ <message>
+ <source>Installer Error</source>
+ <translation>Installer-fejl</translation>
+ </message>
+ <message>
+ <source>Error during installation process (%1):
+%2</source>
+ <translation>Fejl under installationsprocessen (%1):
+%2</translation>
+ </message>
+ <message>
+ <source>Cannot prepare uninstall</source>
+ <translation>Kan ikke klargøre afinstallation</translation>
+ </message>
+ <message>
+ <source>Cannot start uninstall</source>
+ <translation>Kan ikke starte afinstallation</translation>
+ </message>
+ <message>
+ <source>Error during uninstallation process:
+%1</source>
+ <translation>Fejl under afinstallationsprocessen:
+%1</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Ukendt fejl</translation>
+ </message>
+ <message>
+ <source>Cannot retrieve remote tree %1.</source>
+ <translation>Kan ikke hente fjern-træet %1.</translation>
+ </message>
+ <message>
+ <source>Failure to read packages from %1.</source>
+ <translation>Kunne ikke læse pakker fra %1.</translation>
+ </message>
+ <message>
+ <source>Cannot retrieve meta information: %1</source>
+ <translation>Kan ikke hente meta-information: %1</translation>
+ </message>
+ <message>
+ <source>Cannot add temporary update source information.</source>
+ <translation>Kan ikke tilføje kildeinformation for midlertidig opdatering.</translation>
+ </message>
+ <message>
+ <source>Cannot find any update source information.</source>
+ <translation>Kan ikke finde nogen kildeinformation for opdatering.</translation>
+ </message>
+ <message>
+ <source>Dependency cycle between components &quot;%1&quot; and &quot;%2&quot; detected.</source>
+ <translation>Afhængighedscyklus registreret mellem komponenterne &quot;%1&quot; og &quot;%2&quot;.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::PackageManagerGui</name>
+ <message>
+ <source>%1 Setup</source>
+ <translation>%1 opsætning</translation>
+ </message>
+ <message>
+ <source>Maintain %1</source>
+ <translation>Vedligehold %1</translation>
+ </message>
+ <message>
+ <source>Do you want to cancel the installation process?</source>
+ <translation>Vil du annullere installationsprocessen?</translation>
+ </message>
+ <message>
+ <source>Do you want to cancel the uninstallation process?</source>
+ <translation>Vil du annullere afinstallationsprocessen?</translation>
+ </message>
+ <message>
+ <source>Do you want to quit the installer application?</source>
+ <translation>Vil du afslutte installationsprogrammet?</translation>
+ </message>
+ <message>
+ <source>Do you want to quit the uninstaller application?</source>
+ <translation>Vil du afslutte afinstallationsprogrammet?</translation>
+ </message>
+ <message>
+ <source>Do you want to quit the maintenance application?</source>
+ <translation>Vil du afslutte vedligeholdelsesprogrammet?</translation>
+ </message>
+ <message>
+ <source>%1 Question</source>
+ <translation>%1 spørgsmål</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>Indstillinger</translation>
+ </message>
+ <message>
+ <source>Error</source>
+ <translation>Fejl</translation>
+ </message>
+ <message>
+ <source>It is not possible to install from network location.
+Please copy the installer to a local drive</source>
+ <translation>Det er ikke muligt at installere fra netværksplacering.
+Kopiér venligst installeren til et lokalt drev</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::PerformInstallationForm</name>
+ <message>
+ <source>&amp;Show Details</source>
+ <translation>&amp;Vis detaljer</translation>
+ </message>
+ <message>
+ <source>&amp;Hide Details</source>
+ <translation>&amp;Skjul detaljer</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::PerformInstallationPage</name>
+ <message>
+ <source>U&amp;ninstall</source>
+ <translation>&amp;Afinstaller</translation>
+ </message>
+ <message>
+ <source>Uninstalling %1</source>
+ <translation>Afinstallerer %1</translation>
+ </message>
+ <message>
+ <source>&amp;Update</source>
+ <translation>&amp;Opdater</translation>
+ </message>
+ <message>
+ <source>Updating components of %1</source>
+ <translation>Opdaterer komponenter af %1</translation>
+ </message>
+ <message>
+ <source>&amp;Install</source>
+ <translation>&amp;Installer</translation>
+ </message>
+ <message>
+ <source>Installing %1</source>
+ <translation>Installerer %1</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::ProxyCredentialsDialog</name>
+ <message>
+ <source>Dialog</source>
+ <translation>Dialog</translation>
+ </message>
+ <message>
+ <source>The proxy %1 requires a username and password.</source>
+ <translation>Proxyen %1 kræver brugernavn og adgangskode.</translation>
+ </message>
+ <message>
+ <source>Username:</source>
+ <translation>Brugernavn:</translation>
+ </message>
+ <message>
+ <source>Username</source>
+ <translation>Brugernavn</translation>
+ </message>
+ <message>
+ <source>Password:</source>
+ <translation>Adgangskode:</translation>
+ </message>
+ <message>
+ <source>Password</source>
+ <translation>Adgangskode</translation>
+ </message>
+ <message>
+ <source>Proxy Credentials</source>
+ <translation>Proxy-loginoplysninger</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::ReadyForInstallationPage</name>
+ <message>
+ <source>U&amp;ninstall</source>
+ <translation>&amp;Afinstaller</translation>
+ </message>
+ <message>
+ <source>Ready to Uninstall</source>
+ <translation>Klar til afinstallation</translation>
+ </message>
+ <message>
+ <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>Opsætningen er nu klar til at begynde fjernelsen af %1 fra din computer.&lt;br&gt;&lt;font color=&quot;red&quot;&gt;Programmappen %2 slettes fuldstændigt&lt;/font&gt;, inklusiv alt indhold i mappen!</translation>
+ </message>
+ <message>
+ <source>U&amp;pdate</source>
+ <translation>&amp;Opdater</translation>
+ </message>
+ <message>
+ <source>Ready to Update Packages</source>
+ <translation>Klar til opdateringspakker</translation>
+ </message>
+ <message>
+ <source>Setup is now ready to begin updating your installation.</source>
+ <translation>Opsætningen er nu klar til at begynde opdateringen af din installation.</translation>
+ </message>
+ <message>
+ <source>&amp;Install</source>
+ <translation>&amp;Installer</translation>
+ </message>
+ <message>
+ <source>Ready to Install</source>
+ <translation>Klar til installation</translation>
+ </message>
+ <message>
+ <source>Setup is now ready to begin installing %1 on your computer.</source>
+ <translation>Opsætningen er nu klar til at begynde installationen af %1 på din computer.</translation>
+ </message>
+ <message>
+ <source>Not enough disk space to store temporary files and the installation. %1 are available, while %2 are at least required.</source>
+ <translation>Ikke nok displads til at lagre midlertidige filer og installationen. %1 er tilgængelige, mens mindst %2 kræves.</translation>
+ </message>
+ <message>
+ <source>Not enough disk space to store all selected components! %1 are available while %2 are at least required.</source>
+ <translation>Ikke nok displads til at lagre alle valgte komponenter! %1 er tilgængelige, mens mindst %2 kræves.</translation>
+ </message>
+ <message>
+ <source>Not enough disk space to store temporary files! %1 are available while %2 are at least required.</source>
+ <translation>Ikke nok displads til at lagre midlertidige filer! %1 er tilgængelige, mens mindst %2 kræves.</translation>
+ </message>
+ <message>
+ <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>Det bind du har valg til installation ser ud til at have tilstrækkelig plads til installationen, men der vil efterfølgende være mindre end 1% af bindets plads tilgængeligt. %1</translation>
+ </message>
+ <message>
+ <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>Det bind du har valg til installation ser ud til at have tilstrækkelig plads til installationen, men der vil efterfølgende være mindre end 100 MB tilgængeligt. %1</translation>
+ </message>
+ <message>
+ <source>Installation will use %1 of disk space.</source>
+ <translation>Installationen vil bruge %1 diskplads.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::RegisterFileTypeOperation</name>
+ <message>
+ <source>&lt;extension&gt; &lt;command&gt; [description [contentType [icon]]]</source>
+ <translation>&lt;udvidelse&gt; &lt;kommando&gt; [beskrivelse [indholdsType [ikon]]]</translation>
+ </message>
+ <message>
+ <source>Registering file types is only supported on Windows.</source>
+ <translation>Tilknytning af filtyper understøttes kun i Windows.</translation>
+ </message>
+ <message>
+ <source>Register File Type: Invalid arguments</source>
+ <translation>Tilknytning af filtype: ugyldige argumenter</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::RemoteObject</name>
+ <message>
+ <source>Cannot read all data after sending command: %1. Bytes expected: %2, Bytes received: %3. Error: %4</source>
+ <translation>Kan ikke læse alle data efter afsendelse af kommando: %1. Byte ventet: %2, byte modtaget: %3. Fejl: %4</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::ReplaceOperation</name>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til læsning: %2</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Kan ikke åbne filen &quot;%1&quot; til skrivning: %2</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::Resource</name>
+ <message>
+ <source>Cannot open resource %1 for reading.</source>
+ <translation>Kan ikke åbne ressourcen %1 til læsning.</translation>
+ </message>
+ <message>
+ <source>Read failed after %1 bytes: %2</source>
+ <translation>Læsning fejlede efter %1 byte: %2</translation>
+ </message>
+ <message>
+ <source>Write failed after %1 bytes: %2</source>
+ <translation>Skrivning fejlede efter %1 byte: %2</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::RestartPage</name>
+ <message>
+ <source>Completing the %1 Setup Wizard</source>
+ <translation>Fuldfører opsætningsassistenten for %1</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::ScriptEngine</name>
+ <message>
+ <source>Cannot open script file at %1: %2</source>
+ <translation>Kan ikke åbne script-filen ved %1: %2</translation>
+ </message>
+ <message>
+ <source>Exception while loading the component script &quot;%1&quot;: %2</source>
+ <translation>Undtagelse under indlæsning af komponent-scriptet &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Unknown error.</source>
+ <translation>Ukendt fejl.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::SelfRestartOperation</name>
+ <message>
+ <source>Installer object needed in operation %1 is empty.</source>
+ <translation>Nødvendigt installer-objekt i %1-handling er tomt.</translation>
+ </message>
+ <message>
+ <source>Self Restart: Only valid within updater or packagemanager mode.</source>
+ <translation>Selv-genstart: kun gyldigt i opdaterings- eller pakkehåndteringstilstand.</translation>
+ </message>
+ <message>
+ <source>Self Restart: Invalid arguments</source>
+ <translation>Selv-genstart: ugyldige argumenter</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::ServerAuthenticationDialog</name>
+ <message>
+ <source>Server Requires Authentication</source>
+ <translation>Serveren kræver autentifikation</translation>
+ </message>
+ <message>
+ <source>You need to supply a username and password to access this site.</source>
+ <translation>Du skal angive brugernavn og adgangskode for at tilgå dette sted.</translation>
+ </message>
+ <message>
+ <source>Username:</source>
+ <translation>Brugernavn:</translation>
+ </message>
+ <message>
+ <source>Password:</source>
+ <translation>Adgangskode:</translation>
+ </message>
+ <message>
+ <source>%1 at %2</source>
+ <translation>%1 hos %2</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::SettingsOperation</name>
+ <message>
+ <source>Missing argument(s) &quot;%1&quot; calling %2 with arguments &quot;%3&quot;.</source>
+ <translation>Manglende argument(er) &quot;%1&quot; kalder %2 med argumenterne &quot;%3&quot;.</translation>
+ </message>
+ <message>
+ <source>Current method argument calling &quot;%1&quot; with arguments &quot;%2&quot; is not supported. Please use set, remove, add_array_value or remove_array_value.</source>
+ <translation>Aktuelle metode-argument som kalder &quot;%1&quot; med argumenterne &quot;%2&quot; understøttes ikke. Brug venligst set, remove, add_array_value eller remove_array_value.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::SimpleMoveFileOperation</name>
+ <message>
+ <source>None of the arguments can be empty: source &quot;%1&quot;, target &quot;%2&quot;.</source>
+ <translation>Ingen af argumenterne må være tomme: kilde &quot;%1&quot;, mål &quot;%2&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot move file from &quot;%1&quot; to &quot;%2&quot;, because the target path exists and is not removable.</source>
+ <translation>Kan ikke flytte filen fra &quot;%1&quot; to &quot;%2&quot;, da mål-stien findes og ikke er flytbar.</translation>
+ </message>
+ <message>
+ <source>Cannot move file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Kan ikke flytte filen &quot;%1&quot; til &quot;%2&quot;: %3</translation>
+ </message>
+ <message>
+ <source>Moving file &quot;%1&quot; to &quot;%2&quot;.</source>
+ <translation>Flytter filen &quot;%1&quot; til &quot;%2&quot;.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::StartMenuDirectoryPage</name>
+ <message>
+ <source>Start Menu shortcuts</source>
+ <translation>Genveje i menuen Start</translation>
+ </message>
+ <message>
+ <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 directory.</source>
+ <translation>Vælg hvor i menuen Start du ønsker programmernes genveje oprettet. Du kan også indtaste et navn for at oprette en ny mappe.</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::TargetDirectoryPage</name>
+ <message>
+ <source>Installation Folder</source>
+ <translation>Installationsmappe</translation>
+ </message>
+ <message>
+ <source>Please specify the directory where %1 will be installed.</source>
+ <translation>Specificer venligst mappen hvor %1 skal installeres.</translation>
+ </message>
+ <message>
+ <source>Alt+R</source>
+ <comment>browse file system to choose a file</comment>
+ <translation>Alt+G</translation>
+ </message>
+ <message>
+ <source>B&amp;rowse...</source>
+ <translation>&amp;Gennemse...</translation>
+ </message>
+ <message>
+ <source>The directory you selected already exists and contains an installation. Choose a different target for installation.</source>
+ <translation>Mappen du har valgt findes allerede og indeholder en installation. Vælg et andet mål til installationen.</translation>
+ </message>
+ <message>
+ <source>You have selected an existing, non-empty directory for installation.
+Note that it will be completely wiped on uninstallation of this application.
+It is not advisable to install into this directory as installation might fail.
+Do you want to continue?</source>
+ <translation>Du har valgt en eksisterende, ikke-tom mappe til installation.
+Bemærk at den vil blive fuldstændigt ryddet ved afinstallation af dette program.
+Det anbefales ikke at installere i denne mappe eftersom installationen kan fejle.
+Vil du fortsætte?</translation>
+ </message>
+ <message>
+ <source>You have selected an existing file or symlink, please choose a different target for installation.</source>
+ <translation>Du har valgt en eksisterende fil eller symlink, vælg venligst et andet mål for installationen.</translation>
+ </message>
+ <message>
+ <source>Select Installation Folder</source>
+ <translation>Vælg installationsmappe</translation>
+ </message>
+ <message>
+ <source>The installation path cannot be empty, please specify a valid directory.</source>
+ <translation>Installationsstien må ikke være tom, specificer venligst en gyldig mappe.</translation>
+ </message>
+ <message>
+ <source>The installation path cannot be relative, please specify an absolute path.</source>
+ <translation>Installationsstien må ikke være relativ, specificer venligst en absolut sti.</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>Stien eller installationsmappen indeholder ikke-ASCII-tegn. Det understøttes ikke i øjeblikket! Vælg venligst en anden sti eller installationsmappe.</translation>
+ </message>
+ <message>
+ <source>As the install directory is completely deleted, installing in %1 is forbidden.</source>
+ <translation>Da installationsmappen er fuldstændigt slettet, er installation i %1 forbudt.</translation>
+ </message>
+ <message>
+ <source>The path you have entered is too long, please make sure to specify a valid path.</source>
+ <translation>Stien du har indtastet er for lang, sørg venligst for at specificere en gyldig sti.</translation>
+ </message>
+ <message>
+ <source>The path you have entered is not valid, please make sure to specify a valid target.</source>
+ <translation>Stien du har indtastet er ikke gyldig, sørg venligst for at specificere et gyldigt mål.</translation>
+ </message>
+ <message>
+ <source>The path you have entered is not valid, please make sure to specify a valid drive.</source>
+ <translation>Stien du har indtastet er ikke gyldig, sørg venligst for at specificere et gyldigt drev.</translation>
+ </message>
+ <message>
+ <source>The installation path must not end with &apos;.&apos;, please specify a valid directory.</source>
+ <translation>Installationsstien må ikke slutte med &apos;.&apos;, specificer venligst en gyldig mappe.</translation>
+ </message>
+ <message>
+ <source>The installation path must not contain &quot;%1&quot;, please specify a valid directory.</source>
+ <translation>Installationsstien må ikke indholde &quot;%1&quot;, specificer venligst en gyldig mappe.</translation>
+ </message>
+ <message>
+ <source>Warning</source>
+ <translation>Advarsel</translation>
+ </message>
+ <message>
+ <source>Error</source>
+ <translation>Fejl</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::TestRepository</name>
+ <message>
+ <source>Missing package manager core engine.</source>
+ <translation>Manglende pakkehåndterings-kernemotor.</translation>
+ </message>
+ <message>
+ <source>Empty repository URL.</source>
+ <translation>Tom repository-URL.</translation>
+ </message>
+ <message>
+ <source>Download canceled.</source>
+ <translation>Download annulleret.</translation>
+ </message>
+ <message>
+ <source>Timeout while testing repository &quot;%1&quot;.</source>
+ <translation>Timeout ved test af repository&apos;et &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot parse Updates.xml: %1</source>
+ <translation>Kan ikke parse Updates.xml: %1</translation>
+ </message>
+ <message>
+ <source>Cannot open Updates.xml for reading: %1</source>
+ <translation>Kan ikke åbne Updates.xml til læsning: %1</translation>
+ </message>
+ <message>
+ <source>Authentication failed.</source>
+ <translation>Autentifikation fejlede.</translation>
+ </message>
+ <message>
+ <source>Unknown error while testing repository &quot;%1&quot;.</source>
+ <translation>Ukendt fejl ved test af repository&apos;et &quot;%1&quot;.</translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <source>Authorization required</source>
+ <translation>Godkendelse kræves</translation>
+ </message>
+ <message>
+ <source>Enter your password to authorize for sudo:</source>
+ <translation>Indtast din adgangskode til godkendelse for sudo:</translation>
+ </message>
+ <message>
+ <source>Error acquiring admin rights</source>
+ <translation>Fejl ved anskaffelse af administrator rettigheder</translation>
+ </message>
+</context>
+<context>
+ <name>RemoteClient</name>
+ <message>
+ <source>Cannot get authorization.</source>
+ <translation>Kan ikke få godkendelse.</translation>
+ </message>
+ <message>
+ <source>Cannot get authorization that is needed for continuing the installation.
+
+Please start the setup program as a user with the appropriate rights.
+Or accept the elevation of access rights if being asked.</source>
+ <translation>Kan ikke få godkendelse som er nødvendigt for at fortsætte installationen.
+
+Start venligst opsætningsprogrammet som en bruger med de fornødne rettigheder.
+Eller acceptér ophøjelsen af adgangsrettigheder hvis du bliver spurgt.</translation>
+ </message>
+ <message>
+ <source>Cannot get authorization that is needed for continuing the installation.
+ Either abort the installation or use the fallback solution by running
+
+%1
+
+as a user with the appropriate rights and then clicking OK.</source>
+ <translation>Kan ikke få godkendelse som er nødvendigt for at fortsætte installationen.
+ Abryd enten installationen eller brug tilbagefaldsløsningen ved at køre
+
+%1
+
+som en bruger med de fornødne rettigheder og klik så på OK.</translation>
+ </message>
+</context>
+<context>
+ <name>ResourceCollectionManager</name>
+ <message>
+ <source>Cannot open resource %1: %2</source>
+ <translation>Kan ikke åbne ressourcen %1: %2</translation>
+ </message>
+</context>
+<context>
+ <name>Settings</name>
+ <message>
+ <source>Cannot open settings file %1 for reading: %2</source>
+ <translation>Kan ikke åbne indstillingsfilen %1 til læsning: %2</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <source>Settings</source>
+ <translation>Indstillinger</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation>Netværk</translation>
+ </message>
+ <message>
+ <source>No proxy</source>
+ <translation>Ingen proxy</translation>
+ </message>
+ <message>
+ <source>System proxy settings</source>
+ <translation>Systemets proxy-indstillinger</translation>
+ </message>
+ <message>
+ <source>Manual proxy configuration</source>
+ <translation>Manuel proxy-konfiguration</translation>
+ </message>
+ <message>
+ <source>HTTP proxy:</source>
+ <translation>HTTP-proxy:</translation>
+ </message>
+ <message>
+ <source>Port:</source>
+ <translation>Port:</translation>
+ </message>
+ <message>
+ <source>FTP proxy:</source>
+ <translation>FTP-proxy:</translation>
+ </message>
+ <message>
+ <source>Repositories</source>
+ <translation>Repositories</translation>
+ </message>
+ <message>
+ <source>Add Username and Password for authentication if needed.</source>
+ <translation>Tilføj brugernavn og adgangskode til autentifikation hvis det er nødvendigt.</translation>
+ </message>
+ <message>
+ <source>Use temporary repositories only</source>
+ <translation>Brug kun midlertidige repositories</translation>
+ </message>
+ <message>
+ <source>Add</source>
+ <translation>Tilføj</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Fjern</translation>
+ </message>
+ <message>
+ <source>Test</source>
+ <translation>Test</translation>
+ </message>
+ <message>
+ <source>Show Passwords</source>
+ <translation>Vis adgangskoder</translation>
+ </message>
+ <message>
+ <source>Check this to use repository during fetch.</source>
+ <translation>Tilvælg denne for at bruge repository under hentning.</translation>
+ </message>
+ <message>
+ <source>Add the username to authenticate on the server.</source>
+ <translation>Tilføj brugernavnet til at autentificere på serveren.</translation>
+ </message>
+ <message>
+ <source>Add the password to authenticate on the server.</source>
+ <translation>Tilføj adgangskoden til at autentificere på serveren.</translation>
+ </message>
+ <message>
+ <source>The servers URL that contains a valid repository.</source>
+ <translation>Serverens URL som indeholder et gyldigt repository.</translation>
+ </message>
+ <message>
+ <source>An error occurred while testing this repository.</source>
+ <translation>Der opstod en fejl under test af dette repository.</translation>
+ </message>
+ <message>
+ <source>The repository was tested successfully.</source>
+ <translation>Repository&apos;et blev testet med succes.</translation>
+ </message>
+ <message>
+ <source>Do you want to disable the repository?</source>
+ <translation>Vil du deaktivere repository&apos;et? </translation>
+ </message>
+ <message>
+ <source>Do you want to enable the repository?</source>
+ <translation>Vil du aktivere repository&apos;et?</translation>
+ </message>
+ <message>
+ <source>Hide Passwords</source>
+ <translation>Skjul adgangskoder</translation>
+ </message>
+ <message>
+ <source>Use</source>
+ <translation>Brug</translation>
+ </message>
+ <message>
+ <source>Username</source>
+ <translation>Brugernavn</translation>
+ </message>
+ <message>
+ <source>Password</source>
+ <translation>Adgangskode</translation>
+ </message>
+ <message>
+ <source>Repository</source>
+ <translation>Repository</translation>
+ </message>
+ <message>
+ <source>Default repositories</source>
+ <translation>Standard repositories</translation>
+ </message>
+ <message>
+ <source>Temporary repositories</source>
+ <translation>Midlertidige repositories</translation>
+ </message>
+ <message>
+ <source>User defined repositories</source>
+ <translation>Brugerdefinerede repositories</translation>
+ </message>
+</context>
+<context>
+ <name>UpdateOperation</name>
+ <message>
+ <source>Registry path %1 is not writable.</source>
+ <translation>Registreringsdatabasestien %1 er ikke skrivbar.</translation>
+ </message>
+ <message>
+ <source>Cannot write to registry path %1.</source>
+ <translation>Kan ikke skrive til registreringsdatabasestien %1.</translation>
+ </message>
+ <message>
+ <source>exactly %1</source>
+ <translation>præcist %1</translation>
+ </message>
+ <message>
+ <source>at least %1</source>
+ <translation>mindst %1</translation>
+ </message>
+ <message>
+ <source>not more than %1</source>
+ <translation>ikke flere end %1</translation>
+ </message>
+ <message>
+ <source>%1 or %2</source>
+ <translation>%1 eller %2</translation>
+ </message>
+ <message>
+ <source>%1 to %2</source>
+ <translation>%1 til %2</translation>
+ </message>
+ <message numerus="yes">
+ <source>Invalid arguments in %1: %n arguments given, %2 arguments expected.</source>
+ <translation>
+ <numerusform>Ugyldigt argument i %1: %n argument givet, %2 argument ventet.</numerusform>
+ <numerusform>Ugyldige argumenter i %1: %n argumenter givet, %2 argumenter ventet.</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>Invalid arguments in %1: %n arguments given, %2 arguments expected in the form: %3.</source>
+ <translation>
+ <numerusform>Ugyldigt argument i %1: %n argument givet, %2 argument ventet i udformningen: %3.</numerusform>
+ <numerusform>Ugyldige argumenter i %1: %n argumenter givet, %2 argumenter ventet i udformningen: %3.</numerusform>
+ </translation>
+ </message>
+ <message>
+ <source>Renaming file &quot;%1&quot; to &quot;%2&quot; failed: %3</source>
+ <translation>Omdøbning af filen &quot;%1&quot; til &quot;%2&quot; fejlede: %3</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/sdk/translations/de.ts b/src/sdk/translations/de.ts
index 7d203daaa..23aa045b1 100644
--- a/src/sdk/translations/de.ts
+++ b/src/sdk/translations/de.ts
@@ -46,11 +46,11 @@
<name>Dialog</name>
<message>
<source>Http authentication required</source>
- <translation>HTTP Authentifizierung erforderlich</translation>
+ <translation>HTTP-Authentifizierung erforderlich</translation>
</message>
<message>
<source>You need to supply a Username and Password to access this site.</source>
- <translation>Nutzername und Passwort für die Authentifizierung benötigt.</translation>
+ <translation>Benutzername und Passwort für die Authentifizierung benötigt.</translation>
</message>
<message>
<source>Username:</source>
@@ -100,18 +100,18 @@
</message>
<message>
<source>Cannot create symlink at %1. %2</source>
- <translation>Konnte keine Dateisystemverknüpfung (Symlink) %1 anlegen. Fehlermeldung: %2</translation>
+ <translation>Konnte Verknüpfung (Symlink) %1 nicht anlegen. Fehlermeldung: %2</translation>
</message>
</context>
<context>
<name>InstallerCalculator</name>
<message>
<source>Components added as automatic dependencies:</source>
- <translation>Komponenten, die als automatische Abhängigkeiten zugefügt wurden:</translation>
+ <translation>Komponenten, die als automatische Abhängigkeiten hinzugefügt wurden:</translation>
</message>
<message>
<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>
+ <translation>Komponenten, die als Abhängigkeiten für &apos;%1&apos; hinzugefügt wurden:</translation>
</message>
<message>
<source>Components that have resolved dependencies:</source>
@@ -123,7 +123,7 @@
</message>
<message>
<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>
+ <translation>Rekursion entdeckt, Komponente &apos;%1&apos; wurde bereits aufgrund von &apos;%2&apos; hinzugefügt</translation>
</message>
<message>
<source>Cannot find missing dependency &apos;%1&apos; for &apos;%2&apos;.</source>
@@ -526,7 +526,7 @@
</message>
<message>
<source>Downloading Updates.xml from update sources.</source>
- <translation>Lade Updates.xml von der Aktualisierungsquelle herunter.</translation>
+ <translation>Datei Updates.xml wird von der Aktualisierungsquelle heruntergeladen.</translation>
</message>
<message>
<source>Cannot download update source %1 from (&apos;%2&apos;)</source>
@@ -538,11 +538,11 @@
</message>
<message>
<source>Computing applicable updates.</source>
- <translation>Berechne anwendbare Aktualisierungen.</translation>
+ <translation>Anwendbare Aktualisierungen werden ermittelt.</translation>
</message>
<message>
<source>Application updates computed.</source>
- <translation>Anwendbare Aktualisierungen berechnet.</translation>
+ <translation>Anwendbare Aktualisierungen ermittelt.</translation>
</message>
</context>
<context>
@@ -806,7 +806,7 @@
</message>
<message>
<source>Copy failed. Error: %1</source>
- <translation>Kopieren schlug fehl. Fehlermeldung: %1</translation>
+ <translation>Kopieren ist fehlgeschlagen. Fehlermeldung: %1</translation>
</message>
<message>
<source>Write failed after %1 bytes: %2</source>
@@ -849,7 +849,7 @@
<name>QInstaller::Component</name>
<message>
<source>Components cannot have children in updater mode.</source>
- <translation>Komponenten können im Updater Modus keine Kinder haben.</translation>
+ <translation>Komponenten können im Updater-Modus keine Kinder haben.</translation>
</message>
<message>
<source>Cannot open the requested translation file &apos;%1&apos;.</source>
@@ -908,7 +908,7 @@
</message>
<message>
<source>Size</source>
- <translation>Grösse</translation>
+ <translation>Größe</translation>
</message>
<message>
<source>Component is marked for installation.</source>
@@ -1121,7 +1121,7 @@
<name>QInstaller::CreateLocalRepositoryOperation</name>
<message>
<source>Cannot set file permissions %1!</source>
- <translation>Konnte Dateirechte auf Datei %1 nicht setzen!</translation>
+ <translation>Konnte Dateiberechtigungen auf Datei %1 nicht setzen.</translation>
</message>
<message>
<source>Cannot remove file %1: %2</source>
@@ -1141,7 +1141,7 @@
</message>
<message>
<source>Installer needs to be an offline version: %1.</source>
- <translation>Installer muss eine offline Version sein: %1.</translation>
+ <translation>Installer muss eine Offline-Version sein: %1.</translation>
</message>
<message>
<source>Cannot open file: %1</source>
@@ -1165,11 +1165,11 @@
</message>
<message>
<source>Removing file: %0</source>
- <translation>Entferne Datei %0</translation>
+ <translation>Datei %0 wird entfernt</translation>
</message>
<message>
<source>Cannot remove %0.</source>
- <translation>Konnte Datei %0. nicht löschen.</translation>
+ <translation>Konnte Datei %0 nicht löschen.</translation>
</message>
<message>
<source>Cannot remove directory %1: %2</source>
@@ -1266,7 +1266,7 @@ Fehler beim Laden von %2</translation>
</message>
<message>
<source>Checksum mismatch detected &apos;%1&apos;.</source>
- <translation>Checksumme stimmt nicht überein &apos;%1&apos;.</translation>
+ <translation>Checksummen stimmen nicht überein &apos;%1&apos;.</translation>
</message>
<message>
<source>Network error while downloading &apos;%1&apos;: %2.</source>
@@ -1280,7 +1280,7 @@ Fehler beim Laden von %2</translation>
</message>
<message>
<source>Pause and resume not supported by network transfers.</source>
- <translation>Pause und Fortsetzen werden bei Netzwerkübertragungen nicht unterstützt.</translation>
+ <translation>Pausieren und Fortsetzen werden bei Netzwerkübertragungen nicht unterstützt.</translation>
</message>
<message>
<source>Invalid source &apos;%1&apos;. Error: %2.</source>
@@ -1309,7 +1309,7 @@ Fehler beim Laden von %2</translation>
</message>
<message>
<source>Execution failed: Cannot start detached: &quot;%1&quot;</source>
- <translation>Ausführung fehlgeschlagen: Konnte %1 nicht detached starten.</translation>
+ <translation>Ausführung fehlgeschlagen: Konnte %1 nicht losgelöst starten.</translation>
</message>
<message>
<source>Execution failed: Cannot start: &quot;%1&quot;(%2)</source>
@@ -1358,7 +1358,7 @@ Fehler beim Laden von %2</translation>
</message>
<message>
<source>Unknown exception caught while extracting %1.</source>
- <translation>Beim Auspacken von %1 trat eine unbekannte Ausnahmebedingung auf.</translation>
+ <translation>Beim Auspacken von %1 ist eine unbekannte Ausnahmebedingung aufgetreten.</translation>
</message>
</context>
<context>
@@ -1435,7 +1435,7 @@ Fehler beim Laden von %2</translation>
<name>QInstaller::FinishedPage</name>
<message>
<source>Completing the %1 Wizard</source>
- <translation>Beende den %1 Assistenten.</translation>
+ <translation>Den %1-Assistent abschließen.</translation>
</message>
<message>
<source>Click Done to exit the %1 Wizard.</source>
@@ -1455,7 +1455,7 @@ Fehler beim Laden von %2</translation>
</message>
<message>
<source>The %1 Wizard failed.</source>
- <translation>Der %1 Assistent ist fehlgeschlagen.</translation>
+ <translation>Der %1-Assistent ist fehlgeschlagen.</translation>
</message>
</context>
<context>
@@ -1520,7 +1520,7 @@ Fehler beim Laden von %2</translation>
</message>
<message>
<source>Welcome to the %1 Setup Wizard.</source>
- <translation>Willkommen zum %1 Einrichtungsassistenten.</translation>
+ <translation>Willkommen zum %1-Einrichtungsassistenten.</translation>
</message>
<message>
<source>Add or remove components</source>
@@ -1536,11 +1536,11 @@ Fehler beim Laden von %2</translation>
</message>
<message>
<source>Retrieving information from remote installation sources...</source>
- <translation>Empfange Daten vom Installationsserver...</translation>
+ <translation>Daten werden vom Installationsserver empfangen ...</translation>
</message>
<message>
<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>
+ <translation>Mindestens ein gültiges und aktiviertes Repository wird benötigt, um diese Aktion erfolgreich abzuschließen.</translation>
</message>
<message>
<source>No updates available.</source>
@@ -1606,7 +1606,7 @@ Fehler beim Laden von %2</translation>
</message>
<message>
<source>Needed installer object in %1 operation is empty.</source>
- <translation>Das für die Anweisung %1 benötigte Installerobjekt ist leer.</translation>
+ <translation>Das für die Anweisung %1 benötigte Installer-Objekt ist leer.</translation>
</message>
<message>
<source>Can not write license file: %1.</source>
@@ -1640,11 +1640,11 @@ Fehler beim Laden von %2</translation>
<name>QInstaller::MetadataJob</name>
<message>
<source>Missing package manager core engine.</source>
- <translation>Fehlende Paketmanager Kernkomponente.</translation>
+ <translation>Fehlende Paketmanager-Kernkomponente.</translation>
</message>
<message>
<source>Preparing meta information download...</source>
- <translation>Bereite Herunterladen der Metainformationen vor...</translation>
+ <translation>Herunterladen der Metainformationen wird vorbereitet ...</translation>
</message>
<message>
<source>Meta data download canceled.</source>
@@ -1652,7 +1652,7 @@ Fehler beim Laden von %2</translation>
</message>
<message>
<source>Missing proxy credentials.</source>
- <translation>Fehlende Proxy Zugangsdaten.</translation>
+ <translation>Fehlende Proxy-Zugangsdaten.</translation>
</message>
<message>
<source>Authentication failed.</source>
@@ -1660,11 +1660,11 @@ Fehler beim Laden von %2</translation>
</message>
<message>
<source>Unknown exception during download.</source>
- <translation>Beim Herunterladen trat eine unbekannte Ausnahmebedingung auf.</translation>
+ <translation>Beim Herunterladen ist eine unbekannte Ausnahmebedingung aufgetreten.</translation>
</message>
<message>
<source>Retrieving meta information from remote repository...</source>
- <translation>Empfange Metainformationen vom Installationsserver...</translation>
+ <translation>Metainformationen werden vom Installationsserver empfangen ...</translation>
</message>
<message>
<source>Failure to fetch repositories.</source>
@@ -1672,11 +1672,11 @@ Fehler beim Laden von %2</translation>
</message>
<message>
<source>Unknown exception during extracting.</source>
- <translation>Beim Auspacken trat eine unbekannte Ausnahmebedingung auf.</translation>
+ <translation>Beim Auspacken ist eine unbekannte Ausnahmebedingung aufgetreten.</translation>
</message>
<message>
<source>Extracting meta information...</source>
- <translation>Packe Metainformationen aus...</translation>
+ <translation>Metainformationen werden ausgepackt ...</translation>
</message>
<message>
<source>Error while extracting &apos;%1&apos;: %2</source>
@@ -1684,7 +1684,7 @@ Fehler beim Laden von %2</translation>
</message>
<message>
<source>Unknown exception caught while extracting %1.</source>
- <translation>Beim Auspacken von %1 trat eine unbekannte Ausnahmebedingung auf.</translation>
+ <translation>Beim Auspacken von %1 ist eine unbekannte Ausnahmebedingung aufgetreten.</translation>
</message>
<message>
<source>Cannot open %1 for reading. Error: %2</source>
@@ -1697,11 +1697,11 @@ Fehler beim Laden von %2</translation>
<source>
Downloading packages...</source>
<translation>
-Lade Pakete herunter...</translation>
+Pakete werden heruntergeladen ...</translation>
</message>
<message>
<source>Installation canceled by user</source>
- <translation>Installation durch den Nutzer abgebrochen</translation>
+ <translation>Installation durch den Benutzer abgebrochen</translation>
</message>
<message>
<source>All downloads finished.</source>
@@ -1713,7 +1713,7 @@ Lade Pakete herunter...</translation>
</message>
<message>
<source>Cancelling the Installer</source>
- <translation>Breche den Installationsvorgang ab</translation>
+ <translation>Der Installationsvorgang wird abgebrochen</translation>
</message>
<message>
<source>Error writing Maintenance Tool</source>
@@ -1725,7 +1725,7 @@ Lade Pakete herunter...</translation>
</message>
<message>
<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>
+ <translation>Einige Komponenten konnten nicht vollständig entfernt werden, weil die nötigen Administratorrechte nicht erlangt werden konnten. Fehlermeldung: %1</translation>
</message>
<message>
<source>Unknown error.</source>
@@ -1733,11 +1733,11 @@ Lade Pakete herunter...</translation>
</message>
<message>
<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>
+ <translation>Einige Komponenten konnten nicht vollständig entfernt werden, weil ein unbekannter Fehler aufgetreten ist.</translation>
</message>
<message>
<source>Application not running in Package Manager mode!</source>
- <translation>Die Anwendung ist nicht im Paketverwaltermodus!</translation>
+ <translation>Die Anwendung läuft nicht im Paketverwaltungsmodus.</translation>
</message>
<message>
<source>No installed packages found.</source>
@@ -1745,7 +1745,7 @@ Lade Pakete herunter...</translation>
</message>
<message>
<source>Application running in Uninstaller mode!</source>
- <translation>Die Anwendung befindet sich im Deinstallierermodus!</translation>
+ <translation>Die Anwendung läuft im Deinstallationsmodus.</translation>
</message>
<message>
<source>There is an important update available, please run the updater first.</source>
@@ -1792,7 +1792,7 @@ Lade Pakete herunter...</translation>
</message>
<message>
<source>Installation canceled by user</source>
- <translation>Installation durch den Nutzer abgebrochen</translation>
+ <translation>Installation durch den Benutzer abgebrochen</translation>
</message>
<message>
<source>Variable &apos;TargetDir&apos; not set.</source>
@@ -1800,15 +1800,15 @@ Lade Pakete herunter...</translation>
</message>
<message>
<source>Preparing the installation...</source>
- <translation>Bereite Installation vor...</translation>
+ <translation>Installation wird vorbereitet ...</translation>
</message>
<message>
<source>It is not possible to install from network location</source>
- <translation>Es ist nicht möglich, von einem Netzwerkort aus zu installieren</translation>
+ <translation>Es ist nicht möglich, von einem Netzwerk-Speicherort aus zu installieren</translation>
</message>
<message>
<source>Creating local repository</source>
- <translation>Erstelle lokale Quelle</translation>
+ <translation>Lokale Quelle wird erstellt</translation>
</message>
<message>
<source>
@@ -1824,11 +1824,11 @@ Installation abgebrochen!</translation>
</message>
<message>
<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>
+ <translation>Es ist nicht möglich, diese Oparation von einem Netzwerk-Speicherort aus zu starten</translation>
</message>
<message>
<source>Removing deselected components...</source>
- <translation>Entferne abgewählte Komponenten...</translation>
+ <translation>Abgewählte Komponenten werden entfernt ...</translation>
</message>
<message>
<source>
@@ -1872,11 +1872,11 @@ Aktualisierung abgebrochen!</translation>
</message>
<message>
<source>Cannot write maintenance tool binary data to %1: %2</source>
- <translation>Konnte Binäre Datei des Verwaltungswerkzeugs nicht nach %1 schreiben: %2</translation>
+ <translation>Konnte Binärdaten des Verwaltungswerkzeugs nicht nach %1 schreiben: %2</translation>
</message>
<message>
<source>Creating Maintenance Tool</source>
- <translation>Erstelle Verwaltungswerkzeug</translation>
+ <translation>Verwaltungswerkzeug wird erstellt</translation>
</message>
<message>
<source>Uninstallation completed successfully.</source>
@@ -1890,7 +1890,7 @@ Aktualisierung abgebrochen!</translation>
<source>
Installing component %1</source>
<translation>
-Installiere Komponente %1</translation>
+Komponente %1 wird installiert</translation>
</message>
<message>
<source>Installer Error</source>
@@ -1934,7 +1934,7 @@ Installiere Komponente %1</translation>
</message>
<message>
<source>Cannot add temporary update source information.</source>
- <translation>Konnte Informationen zu temporären Aktualisierungsquellen nicht hinzufügen.</translation>
+ <translation>Konnte Informationen nicht zu temporären Aktualisierungsquellen hinzufügen.</translation>
</message>
<message>
<source>Cannot find any update source information.</source>
@@ -1973,7 +1973,7 @@ Installiere Komponente %1</translation>
</message>
<message>
<source>Do you want to quit the maintenance application?</source>
- <translation>Möchten Sie die Wartungsanwendung beenden?</translation>
+ <translation>Möchten Sie das Verwaltungswerkzeug beenden?</translation>
</message>
<message>
<source>Question</source>
@@ -1990,7 +1990,7 @@ Installiere Komponente %1</translation>
<message>
<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.
+ <translation>Es ist nicht möglich, von einem Netzwerk-Speicherort aus zu installieren.
Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
</message>
</context>
@@ -1998,11 +1998,11 @@ Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
<name>QInstaller::PerformInstallationForm</name>
<message>
<source>&amp;Show Details</source>
- <translation>&amp;Zeige Details</translation>
+ <translation>Details &amp;anzeigen</translation>
</message>
<message>
<source>&amp;Hide Details</source>
- <translation>&amp;Verstecke Details</translation>
+ <translation>Details aus&amp;blenden</translation>
</message>
</context>
<context>
@@ -2013,7 +2013,7 @@ Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
</message>
<message>
<source>Uninstalling %1</source>
- <translation>Deinstalliere %1</translation>
+ <translation>%1 wird deinstalliert</translation>
</message>
<message>
<source>&amp;Update</source>
@@ -2021,7 +2021,7 @@ Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
</message>
<message>
<source>Updating components of %1</source>
- <translation>Aktualisiere Komponenten des %1</translation>
+ <translation>Komponenten von %1 werden aktualisiert</translation>
</message>
<message>
<source>&amp;Install</source>
@@ -2029,7 +2029,7 @@ Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
</message>
<message>
<source>Installing %1</source>
- <translation>Installiere %1</translation>
+ <translation>%1 wird installiert</translation>
</message>
</context>
<context>
@@ -2040,15 +2040,15 @@ Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
</message>
<message>
<source>The proxy %1 requires a username and password.</source>
- <translation>Der Proxy %1 benötigt einen Nutzernamen und Passwort.</translation>
+ <translation>Der Proxy %1 verlangt einen Benutzernamen und Passwort.</translation>
</message>
<message>
<source>Username:</source>
- <translation>Nutzername:</translation>
+ <translation>Benutzername:</translation>
</message>
<message>
<source>Username</source>
- <translation>Nutzername</translation>
+ <translation>Benutzername</translation>
</message>
<message>
<source>Password:</source>
@@ -2095,7 +2095,7 @@ Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
</message>
<message>
<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>
+ <translation>Das Einrichtungsprogramm ist jetzt bereit, %1 auf Ihrem Computer zu installieren.</translation>
</message>
<message>
<source>Not enough disk space to store temporary files and the installation! Available space: %1, at least required %2.</source>
@@ -2115,7 +2115,7 @@ Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
</message>
<message>
<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>
+ <translation>Die für die Installation ausgewählte Partition scheint genügend Platz zu bieten, aber es werden anschließend weniger als 100 MB verfügbar sein. %1</translation>
</message>
<message>
<source>Installation will use %1 of disk space.</source>
@@ -2146,21 +2146,21 @@ Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
</message>
<message>
<source>Register File Type: Invalid arguments</source>
- <translation>Register File Type: Ungültige Argumente</translation>
+ <translation>Dateitypenregistrierung: Ungültige Argumente</translation>
</message>
</context>
<context>
<name>QInstaller::RemoteObject</name>
<message>
<source>Cannot 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>
+ <translation>Konnte nicht alle Daten nach dem Senden des Befehls &apos;%1&apos; lesen. Bytes erwartet: %2, Bytes erhalten: %3. Fehler: %4</translation>
</message>
</context>
<context>
<name>QInstaller::RemoteServerConnection</name>
<message>
<source>Cannot 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>
+ <translation>Konnte nicht alle Daten nach dem Senden des Befehls &apos;%1&apos; lesen. Bytes erwartet: %2, Bytes erhalten: %3. Fehler: %4</translation>
</message>
</context>
<context>
@@ -2186,7 +2186,7 @@ Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
<name>QInstaller::Resource</name>
<message>
<source>Cannot open Resource &apos;%1&apos; read-only.</source>
- <translation>Konnte Ressourcendatei &apos;%1&apos; nicht zum Nur-Lesen öffnen.</translation>
+ <translation>Konnte Ressourcendatei &apos;%1&apos; nicht schreibgeschützt öffnen.</translation>
</message>
<message>
<source>Read failed after %1 bytes: %2</source>
@@ -2201,7 +2201,7 @@ Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
<name>QInstaller::RestartPage</name>
<message>
<source>Completing the %1 Setup Wizard</source>
- <translation>Vervollständige den %1 Assistenten</translation>
+ <translation>Der %1-Assistent wird abgeschlossen</translation>
</message>
</context>
<context>
@@ -2219,15 +2219,15 @@ Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
<name>QInstaller::SelfRestartOperation</name>
<message>
<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>
+ <translation>Das für die Anweisung &apos;%1&apos; benötigte Installer-Objekt ist leer.</translation>
</message>
<message>
<source>Self Restart: Only valid within updater or packagemanager mode.</source>
- <translation>Self Restart: Nur im updater oder packagemanager Modus erlaubt.</translation>
+ <translation>Automatischer Neustart: Nur im Aktualisierungs- und Pakatverwaltungs-Modus erlaubt.</translation>
</message>
<message>
<source>Self Restart: Invalid arguments</source>
- <translation>Self Restart: Ungültige Argumente</translation>
+ <translation>Automatischer Neustart: Ungültige Argumente</translation>
</message>
</context>
<context>
@@ -2238,11 +2238,11 @@ Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
</message>
<message>
<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>
+ <translation>Benutzername und Passwort für den Zugriff benötigt.</translation>
</message>
<message>
<source>Username:</source>
- <translation>Nutzername:</translation>
+ <translation>Benutzername:</translation>
</message>
<message>
<source>Password:</source>
@@ -2288,7 +2288,7 @@ Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
</message>
<message>
<source>Move &apos;%1&apos; to &apos;%2&apos;.</source>
- <translation>Verschiebe &apos;%1&apos; nach &apos;%2&apos;.</translation>
+ <translation>&apos;%1&apos; nach &apos;%2&apos; verschieben.</translation>
</message>
</context>
<context>
@@ -2306,7 +2306,7 @@ Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
<name>QInstaller::TargetDirectoryPage</name>
<message>
<source>Installation Folder</source>
- <translation>Installationsverzeichnis</translation>
+ <translation>Installationsordner</translation>
</message>
<message>
<source>Please specify the folder where %1 will be installed.</source>
@@ -2320,11 +2320,11 @@ Bitte kopieren Sie den Installer auf ein lokales Laufwerk</translation>
</message>
<message>
<source>B&amp;rowse...</source>
- <translation>&amp;Durchsuchen...</translation>
+ <translation>&amp;Durchsuchen ...</translation>
</message>
<message>
<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>
+ <translation>Der ausgewählte Ordner existiert bereits und enthält eine Installation. Bitte wählen Sie einen anderen Zielordner aus.</translation>
</message>
<message>
<source>You have selected an existing, non-empty folder for installation.
@@ -2350,27 +2350,27 @@ Möchten Sie trotzdem fortsetzen?</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>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>
+ <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 oder Installationsordner.</translation>
</message>
<message>
<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>
+ <translation>Der von Ihnen eingegebene Pfad ist zu lang, bitte geben Sie einen gültigen Pfad ein.</translation>
</message>
<message>
<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>
+ <translation>Der von Ihnen eingegebene Pfad ist ungültig, bitte geben Sie ein gültiges Ziel ein.</translation>
</message>
<message>
<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>
+ <translation>Der von Ihnen eingegebene Pfad ist ungültig, bitte geben Sie ein gültiges Laufwerk an.</translation>
</message>
<message>
<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>
+ <translation>Der Installationspfad darf nicht auf &apos;.&apos; enden, bitte geben Sie einen gültigen Ordner ein.</translation>
</message>
<message>
<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>
+ <translation>Der Installationspfad darf nicht %1 enthalten, bitte geben Sie einen gültigen Ordner ein.</translation>
</message>
<message>
<source>Error</source>
@@ -2382,11 +2382,11 @@ Möchten Sie trotzdem fortsetzen?</translation>
</message>
<message>
<source>Warning</source>
- <translation>Warnung</translation>
+ <translation>Achtung</translation>
</message>
<message>
<source>Select Installation Folder</source>
- <translation>Installationsverzeichnis auswählen.</translation>
+ <translation>Installationsordner auswählen.</translation>
</message>
</context>
<context>
@@ -2401,7 +2401,7 @@ Möchten Sie trotzdem fortsetzen?</translation>
</message>
<message>
<source>Got a timeout while testing: &apos;%1&apos;</source>
- <translation>Erhielt Timeout beim Testen von: &apos;%1&apos;</translation>
+ <translation>Zeitüberschreitung beim Testen von: &apos;%1&apos;</translation>
</message>
<message>
<source>Cannot parse Updates.xml! Error: %1.</source>
@@ -2445,7 +2445,7 @@ Möchten Sie trotzdem fortsetzen?</translation>
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
+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>
@@ -2488,7 +2488,7 @@ als root aufrufen und dann &quot;Ok&quot; auswählen. </translation>
</message>
<message>
<source>HTTP proxy:</source>
- <translation>HTTP Proxy:</translation>
+ <translation>HTTP-Proxy:</translation>
</message>
<message>
<source>Port:</source>
@@ -2496,7 +2496,7 @@ als root aufrufen und dann &quot;Ok&quot; auswählen. </translation>
</message>
<message>
<source>FTP proxy:</source>
- <translation>FTP Proxy:</translation>
+ <translation>FTP-Proxy:</translation>
</message>
<message>
<source>Repositories</source>
@@ -2504,11 +2504,11 @@ als root aufrufen und dann &quot;Ok&quot; auswählen. </translation>
</message>
<message>
<source>Add Username and Password for authentication if needed.</source>
- <translation>Nutzername und Passwort für die Autentifizierung hinzufügen, falls benötigt.</translation>
+ <translation>Benutzername und Passwort für die Autentifizierung hinzufügen, falls benötigt.</translation>
</message>
<message>
<source>Use temporary repositories only</source>
- <translation>Verwende ausschließlich temporäre Quellen</translation>
+ <translation>Ausschließlich temporäre Quellen verwenden</translation>
</message>
<message>
<source>Add</source>
@@ -2524,7 +2524,7 @@ als root aufrufen und dann &quot;Ok&quot; auswählen. </translation>
</message>
<message>
<source>Show Passwords</source>
- <translation>Zeige Passwörter</translation>
+ <translation>Passwörter anzeigen</translation>
</message>
<message>
<source>Check this to use repository during fetch.</source>
@@ -2532,7 +2532,7 @@ als root aufrufen und dann &quot;Ok&quot; auswählen. </translation>
</message>
<message>
<source>Add the username to authenticate on the server.</source>
- <translation>Nutzernamen eintragen, um sich gegenüber der Quelle zu authentifizieren.</translation>
+ <translation>Benutzernamen eintragen, um sich gegenüber der Quelle zu authentifizieren.</translation>
</message>
<message>
<source>Add the password to authenticate on the server.</source>
@@ -2544,23 +2544,23 @@ als root aufrufen und dann &quot;Ok&quot; auswählen. </translation>
</message>
<message>
<source>There was an error testing this repository.</source>
- <translation>Beim testen des Repositories ist ein Fehler aufgetreten.</translation>
+ <translation>Beim Testen der Quelle ist ein Fehler aufgetreten.</translation>
</message>
<message>
<source>Do you want to disable the tested repository?</source>
- <translation>Soll das getestete Repository ausgeschaltet werden?</translation>
+ <translation>Soll die getestete Quelle deaktiviert werden?</translation>
</message>
<message>
<source>Hide Passwords</source>
- <translation>Verstecke Passwörter</translation>
+ <translation>Passwörter ausblenden</translation>
</message>
<message>
<source>Use</source>
- <translation>Nutze</translation>
+ <translation>Verwende</translation>
</message>
<message>
<source>Username</source>
- <translation>Nutzername</translation>
+ <translation>Benutzername</translation>
</message>
<message>
<source>Password</source>
@@ -2595,7 +2595,7 @@ als root aufrufen und dann &quot;Ok&quot; auswählen. </translation>
</message>
<message>
<source>Renaming %1 into %2 failed with %3.</source>
- <translation>Umbenennung von %1 nach %2 schlug mit Meldung %3 fehl.</translation>
+ <translation>Umbenennung von %1 nach %2 ist mit Meldung %3 fehlgeschlagen.</translation>
</message>
</context>
</TS>
diff --git a/src/sdk/translations/en.ts b/src/sdk/translations/en.ts
deleted file mode 100644
index c559cb93e..000000000
--- a/src/sdk/translations/en.ts
+++ /dev/null
@@ -1,2653 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1" language="en_US">
-<context>
- <name>Component</name>
- <message>
- <source>Cannot open archive %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Dialog</name>
- <message>
- <source>Http authentication required</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>You need to supply a Username and Password to access this site.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Username:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Password:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>%1 at %2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>IntroductionPageImpl</name>
- <message>
- <source>Package manager</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Update components</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Remove all components</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Retrieving information from remote installation sources...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>At least one valid and enabled repository required for this action to succeed.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>No updates available.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> Only local package management available.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Quit</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Job</name>
- <message>
- <source>Canceled</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>KDSaveFile</name>
- <message>
- <source>Append mode not supported.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Read-only access not supported.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot backup existing file %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>TODO</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::AppendFileOperation</name>
- <message>
- <source>Cannot backup file %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid arguments: %1 arguments given, 2 expected.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open file %1 for writing: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot find backup file for %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot restore backup file for %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot restore backup file for %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::CopyOperation</name>
- <message>
- <source>Cannot backup file %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid arguments: %1 arguments given, 2 expected.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot remove destination file %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot copy %1 to %2: %3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot delete file %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot restore backup file into %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::DeleteOperation</name>
- <message>
- <source>Cannot create backup of %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid arguments: %1 arguments given, 1 expected.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot restore backup file for %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::FileDownloader</name>
- <message>
- <source>Download canceled.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cryptographic hashes do not match.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Download finished.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> of </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> downloaded.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>/sec</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> day</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> days</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> hour</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> hours</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> minute</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> minutes</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> second</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> seconds</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> - </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> remaining.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> - unknown time remaining.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::HttpDownloader</name>
- <message>
- <source>Cannot download %1: Writing to file &apos;%2&apos; failed: %3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot download %1: Cannot create %2: %3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>%1 at %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Authentication request canceled.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::LocalFileDownloader</name>
- <message>
- <source>Cannot open source file &apos;%1&apos; for reading.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open destination file &apos;%1&apos; for writing.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Writing to %1 failed: %2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::MkdirOperation</name>
- <message>
- <source>Invalid arguments: %1 arguments given, 1 expected.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create folder %1: Unknown error.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot remove directory %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::MoveOperation</name>
- <message>
- <source>Cannot backup file %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid arguments: %1 arguments given, 2 expected.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot remove destination file %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot copy %1 to %2: %3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot copy %1 to %2: %3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot remove file %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot restore backup file for %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::PackagesInfo</name>
- <message>
- <source>%1 contains invalid content: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>The file %1 does not exist.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Parse error in %1 at %2, %3: %4</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Root element %1 unexpected, should be &apos;Packages&apos;.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::PrependFileOperation</name>
- <message>
- <source>Cannot backup file %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid arguments: %1 arguments given, 2 expected.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open file %1 for reading: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open file %1 for writing: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot find backup file for %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot restore backup file for %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot restore backup file for %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::ResourceFileDownloader</name>
- <message>
- <source>Cannot read resource file &quot;%1&quot;. Reason:</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::RmdirOperation</name>
- <message>
- <source>Invalid arguments: %1 arguments given, 1 expected.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot remove folder %1: The folder does not exist.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot remove folder %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot recreate directory %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::Task</name>
- <message>
- <source>%1 started</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>%1 cannot be stopped</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot stop task %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>%1 cannot be paused</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot pause task %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot resume task %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>%1 done</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::UpdateFinder</name>
- <message>
- <source>Cannot access the package information of this application.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot access the update sources information of this application.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>%1 updates found.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Downloading Updates.xml from update sources.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot download updates from %1 (&apos;%2&apos;)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Updates.xml file(s) downloaded from update sources.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Computing applicable updates.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Application updates computed.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::UpdateSourcesInfo</name>
- <message>
- <source>%1 contains invalid content: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot read &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>XML Parse error in %1 at %2, %3: %4</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Root element %1 unexpected, should be &quot;UpdateSources&quot;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot save changes to &quot;%1&quot;: %2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::UpdatesInfoData</name>
- <message>
- <source>Cannot read &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Parse error in %1 at %2, %3: %4</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Updates.xml contains invalid content: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Root element %1 unexpected, should be &quot;Updates&quot;.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>ApplicationName element is missing.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>ApplicationVersion element is missing.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>PackageUpdate element without Name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>PackageUpdate element without Version</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>PackageUpdate element without ReleaseDate</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Lib7z::ExtractItemJob</name>
- <message>
- <source>Cannot list archive: QIODevice not set or already destroyed.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Lib7z::ListArchiveJob</name>
- <message>
- <source>Cannot list archive: QIODevice already destroyed.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::AddQtCreatorArrayValueOperation</name>
- <message>
- <source>exactly 4</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> (group, arrayname, key, value)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Needed installer object in %1 operation is empty.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>There is no value set for %1 on the installer object.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::Component</name>
- <message>
- <source>Cannot open the requested translation file &apos;%1&apos;.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open the requested UI file &apos;%1&apos;. Error: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot load the requested UI file &apos;%1&apos;. Error: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>An error has occurred while reading the UI file.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open the requested license file &apos;%1&apos;. Error: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Error: Operation %1 does not exist</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Can&apos;t resolve isAutoDependOn in %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Can&apos;t resolve isDefault in %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Update Info: </source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::ComponentModel</name>
- <message>
- <source>Component Name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Installed Version</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>New Version</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Size</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::ComponentSelectionPage</name>
- <message>
- <source>Alt+A</source>
- <comment>select default components</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Def&amp;ault</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Alt+R</source>
- <comment>reset to already installed components</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>&amp;Reset</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Alt+S</source>
- <comment>select all components</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>&amp;Select All</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Alt+D</source>
- <comment>deselect all components</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>&amp;Deselect All</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>This component will occupy approximately %1 on your hard disk drive.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Select Components</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Please select the components you want to update.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Please select the components you want to install.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Please select the components you want to uninstall.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Select the components to install. Deselect installed components to uninstall them.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::ConsumeOutputOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>at least 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Needed installer object in %1 operation is empty.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Can not save the output of %1 to an empty installer key value.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>File &apos;%1&apos; does not exist or is not an executable binary.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Running &apos;%1&apos; resulted in a crash.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::CopyDirectoryOperation</name>
- <message>
- <source>2 or 3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> (&lt;source&gt; &lt;target&gt; [forceOverwrite])</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid argument in %0: Third argument needs to be forceOverwrite, if specified</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid arguments in %0: Directories are invalid: %1 %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create %0</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Failed to overwrite %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot copy %0 to %1, error was: %3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot remove %0</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::CreateDesktopEntryOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Failed to overwrite %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot write Desktop Entry at %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::CreateLinkOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::CreateLocalRepositoryOperation</name>
- <message>
- <source>Cannot set file permissions %1!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot move file %1 to %2. Error: %3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Installer needs to be an offline version: %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open file: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot read: %1. Error: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open file: %1. Error: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create target dir: %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Unknown exception caught: %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Removing file: %0</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot remove %0.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot remove directory %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::CreateShortcutOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>2 or 3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> (optional: &apos;workingDirectory=...&apos;)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create folder %1: %2.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create link %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::DownloadArchivesJob</name>
- <message>
- <source>Canceled</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Downloading hash signature failed.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Download Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Hash verification while downloading failed. This is a temporary error, please retry.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot verify Hash</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot download archive: %1 : %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot fetch archives: %1
-Error while loading %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Downloading archive hash for component: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Downloading archive for component: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Scheme not supported: %1 (%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot find component for: %1.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::ElevatedExecuteOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>at least 1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Execution failed: Cannot start detached: &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Execution failed: Cannot start: &quot;%1&quot;(%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Execution failed(Crash): &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Execution failed(Unexpected exit code: %1): &quot;%2&quot;</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::EnvironmentVariableOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>2 or 3</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::ExtractArchiveOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::ExtractArchiveOperation::Runnable</name>
- <message>
- <source>Cannot open %1 for reading: %2.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Error while extracting &apos;%1&apos;: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Unknown exception caught while extracting %1.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::FinishedPage</name>
- <message>
- <source>Completing the %1 Wizard</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Click Done to exit the %1 Wizard.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Click Finish to exit the %1 Wizard.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Restart</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Run %1 now.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>The %1 Wizard failed.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::GetRepositoryMetaInfoJob</name>
- <message>
- <source>Empty repository URL.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Retrieving component meta information...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid repository URL: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>URL scheme not supported: %1 (%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot move Updates.xml to target location. Error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open Updates.xml for reading. Error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot fetch a valid version of Updates.xml from repository: %1. Error: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Download Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Parsing component meta information...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Repository updates received.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Finished updating component meta information.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot fetch Updates.xml from repository: %1. Error: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Retrieving component information from remote repository...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open meta info archive: %1. Error: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>The hash of one component does not match the expected one.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Bad hash.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot download meta information for component: %1. Error: %2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::GetRepositoryMetaInfoJob::ZipRunnable</name>
- <message>
- <source>Error while extracting &apos;%1&apos;: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Unknown exception caught while extracting %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open %1 for reading. Error: %2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::GlobalSettingsOperation</name>
- <message>
- <source>Settings are not writable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Failed to write settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>3 or 4</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::InstallIconsOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>1 or 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> (Sourcepath, [Vendorprefix])</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::IntroductionPage</name>
- <message>
- <source>Setup - %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Welcome to the %1 Setup Wizard.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::LicenseAgreementPage</name>
- <message>
- <source>License Agreement</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Alt+A</source>
- <comment>agree license</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Please read the following license agreement. You must accept the terms contained in this agreement before continuing with the installation.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>I accept the license.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>I do not accept the license.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Please read the following license agreements. You must accept the terms contained in these agreements before continuing with the installation.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>I accept the licenses.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>I do not accept the licenses.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Alt+D</source>
- <comment>do not agree license</comment>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::LicenseOperation</name>
- <message>
- <source>No license files found to copy.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Needed installer object in %1 operation is empty.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Can not write license file: %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>No license files found to delete.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::LineReplaceOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>exactly 3</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::MacReplaceInstallNamesOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>at least 3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>One of the given arguments is empty. Argument1=%1; Argument2=%2, Argument3=%3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Can&apos;t invoke otool. Is Xcode installed?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Can&apos;t start process %0.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::PackageManagerCore</name>
- <message>
- <source>Error writing Uninstaller</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>
-Downloading packages...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Installation canceled by user</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>All downloads finished.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cancelling the Installer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Authentication Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Some components could not be removed completely because admin rights could not be acquired: %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Unknown error.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Some components could not be removed completely because an unknown error happened.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Application not running in Package Manager mode!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>No installed packages found.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Application running in Uninstaller mode!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>invalid</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::PackageManagerCorePrivate</name>
- <message>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Component(s) added as automatic dependencies</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Added as dependency for %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Component(s) that have resolved Dependencies</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Selected Component(s) without Dependencies</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Access error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Format error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot write installer configuration to %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Stop Processes</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>These processes should be stopped to continue:
-
-%1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Installation canceled by user</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Writing uninstaller.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Uninstaller is not a bundle</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot write uninstaller data to %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot write uninstaller to %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <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 type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot write uninstaller binary data to %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>ProductName should be set</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Variable &apos;TargetDir&apos; not set.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Preparing the installation...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>It is not possible to install from network location</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Creating local repository</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Creating Uninstaller</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>
-Installation finished!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>
-Installation aborted!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>It is not possible to run that operation from a network location</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Removing deselected components...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>
-Update finished!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>
-Update aborted!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>
-Uninstallation completed successfully!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>
-Uninstallation aborted!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>
-Installing component %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Installer Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Error during installation process (%1):
-%2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot prepare uninstall</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot start uninstall</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Error during uninstallation process:
-%1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Unknown error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot retrieve remote tree: %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Failure to read packages from: %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot retrieve meta information: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot add temporary update source information.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot find any update source information.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::PackageManagerGui</name>
- <message>
- <source>%1 Setup</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Maintain %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Question</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Do you want to abort the %1 process?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>uninstallation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>installation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>installer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>uninstaller</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>maintenance</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Do you want to quit the %1 application?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>It is not possible to install from network location.
-Please copy the installer to a local drive</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::PerformInstallationForm</name>
- <message>
- <source>&amp;Show Details</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>&amp;Hide Details</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::PerformInstallationPage</name>
- <message>
- <source>U&amp;ninstall</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Uninstalling %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>&amp;Update</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Updating components of %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>&amp;Install</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Installing %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::QtPatchOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>exactly 3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Needed installer object in &quot;%1&quot; operation is empty.</source>
- <translation type="unfinished"></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 type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot find the needed QmakeOutputInstallerKey(%1) value on the installer object. The ConsumeOutput operation on the valid qmake needs to be called first.</source>
- <translation type="unfinished"></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 type="unfinished"></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 type="unfinished"></translation>
- </message>
- <message>
- <source>Qt patch error: new Qt dir(%1)
-needs to be less than 255 characters.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Qt patch error: Can not open %1.(%2)</source>
- <translation type="unfinished"></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 type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::ReadyForInstallationPage</name>
- <message>
- <source>&amp;Show Details</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>U&amp;ninstall</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Ready to Uninstall</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <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 type="unfinished"></translation>
- </message>
- <message>
- <source>U&amp;pdate</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Ready to Update Packages</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Setup is now ready to begin updating your installation.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>&amp;Install</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Ready to Install</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Setup is now ready to begin installing %1 on your computer.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Not enough disk space to store temporary files and the installation! Available space: %1, at least required %2.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Not enough disk space to store all selected components! Available space: %1, at least required: %2.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Not enough disk space to store temporary files! Available space: %1, at least required: %2.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <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 type="unfinished"></translation>
- </message>
- <message>
- <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 type="unfinished"></translation>
- </message>
- <message>
- <source>Can not resolve all dependencies!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Components about to be removed.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>&amp;Hide Details</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::RegisterDefaultDebuggerOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, 2 expected.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Needed installer object in &quot;%1&quot; operation is empty.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>There is no value set for %1 on the installer object.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Can&apos;t read from tool chains xml file(%1) correctly.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::RegisterFileTypeOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>2 to 5</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Register File Type: Invalid arguments</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::RegisterQtInCreatorQNXOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>at least 5</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Needed installer object in &quot;%1&quot; operation is empty.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>There is no value set for %1 on the installer object.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, minimum 4 expected.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::RegisterToolChainOperation</name>
- <message>
- <source>at least 4</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Needed installer object in &apos;%1&apos; operation is empty.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>There is no value set for &apos;%1&apos; on the installer object.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, minimum 4 expected.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Needed installer object in &quot;%1&quot; operation is empty.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Can&apos;t read from tool chains xml file(%1) correctly.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Some arguments are not right in %1 operation.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::ReplaceOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>exactly 3</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::RestartPage</name>
- <message>
- <source>Completing the %1 Setup Wizard</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::ScriptEngine</name>
- <message>
- <source>Cannot open the requested script file at %1: %2.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Exception while loading the component script: &apos;%1&apos;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot load the component script inside a script context: &apos;%1&apos;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Fatal error while evaluating a script.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::SelfRestartOperation</name>
- <message>
- <source>Installer object needed in &apos;%1&apos; operation is empty.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Self Restart: Only valid within updater or packagemanager mode.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Self Restart: Invalid arguments</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::SetDemosPathOnQtOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation type="unfinished"></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="unfinished"></translation>
- </message>
- <message>
- <source>Qt patch error: new Qt demo path &apos;%1&apos;
-needs to be less than 255 characters.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::SetExamplesPathOnQtOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation type="unfinished"></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="unfinished"></translation>
- </message>
- <message>
- <source>Qt patch error: new Qt example path &apos;%1&apos;
-needs to be less than 255 characters.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::SetImportsPathOnQtCoreOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Qt patch error: new Qt imports path &apos;%1&apos;
-needs to be less than 255 characters.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::SetPathOnQtCoreOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>exactly 3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>The second type/value needs to be one of: %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::SetPluginPathOnQtCoreOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Qt patch error: new Qt plugin path &apos;%1&apos;
-needs to be less than 255 characters.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::SetQtCreatorValueOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>exactly 4</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source> (rootInstallPath, group, key, value)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Needed installer object in &quot;%1&quot; operation is empty.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>There is no value set for &apos;%1&apos; on the installer object.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Needed installer object in &apos;%1&apos; operation is empty.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::SimpleMoveFileOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>None of the arguments can be empty: source &apos;%1&apos;, target &apos;%2&apos;.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Can not move source &apos;%1&apos; to target &apos;%2&apos;, because target exists and is not removable.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Can not move source &apos;%1&apos; to target &apos;%2&apos;: %3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Move &apos;%1&apos; to &apos;%2&apos;.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::StartMenuDirectoryPage</name>
- <message>
- <source>Start Menu shortcuts</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <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 type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstaller::TargetDirectoryPage</name>
- <message>
- <source>Installation Folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Please specify the folder where %1 will be installed.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Alt+R</source>
- <comment>browse file system to choose a file</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>B&amp;rowse...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>The install directory cannot be empty, please specify a valid folder.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>As the install directory is completely deleted on uninstall, installing in %1 is forbidden.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Warning</source>
- <translation type="unfinished"></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 type="unfinished"></translation>
- </message>
- <message>
- <source>Select Installation Folder</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QInstallerCreator::Archive</name>
- <message>
- <source>Cannot create %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open archive file %1 for reading.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create archive from %1: Not a file.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Error while packing directory at %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QObject</name>
- <message>
- <source>Searched whole file, no marker found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot seek to %1 in file %2: %3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>No marker found, stopped after %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>No marker found, unknown exception caught.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create zipped file for path %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot seek to in-binary resource. (offset: %1, length: %2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot register in-binary resource.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open binary %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot seek to binary layout section.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot seek to metadata index.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot seek to operation list.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot seek to component index information.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot seek to component index.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open file %1 for reading: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open file %1 for writing: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Write failed after %1 bytes: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Read failed after %1 bytes: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot remove file %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot remove folder %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create folder %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot copy file from %1 to %2: %3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot move file from %1 to %2: %3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create folder %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open temporary file: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open temporary file for template %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create temporary folder for template %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create lock file %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot write PID to lock file %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot lock lock file %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot unlock lock file %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Path exists but is not a folder: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create folder: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create temporary file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot retrieve property %1 for item %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Property %1 for item %2 not of type VT_FILETIME but %3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot convert file time to local time</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot convert local file time to system time</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>No device set for output stream</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot load codecs</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot retrieve default format</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open archive</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>No CArc found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot retrieve number of items in archive</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot retrieve path of archive item %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Unknown exception caught (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot remove already existing symlink. %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot open file: %1 (%2)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create symlink at &apos;%1&apos;. Another one is already existing.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot read symlink target from file &apos;%1&apos;.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create symlink at %1. %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>internal code: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>not enough memory</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Error: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create archive %1. %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Error while extracting &apos;%1&apos;: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>CArc index %1 out of bounds [0, %2]</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Item index %1 out of bounds [0, %2]</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create output file for writing: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Authorization required</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Enter your password to authorize for sudo:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Error acquiring admin rights</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot backup file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot delete file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot restore backup file into %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Failed to overwrite %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Registry path %1 is not writable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot write to registry path %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid Argument: source folder must not be empty.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot backup file %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Failed to copy file %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create folder at %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid arguments: %1 arguments given, %2 to %3 expected.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Invalid arguments: %1 arguments given, %2 expected.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Error while elevating access rights.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Failed to seek in file %1: %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Failed to open %1 for reading</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Failed to open %1 for writing</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Failed to seek in file %1. Reason: %2.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot create link from %1 to %2.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot remove link from %1 to %2.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Authorization Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Couldn&apos;t get authorization.</source>
- <translation type="unfinished"></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="unfinished"></translation>
- </message>
- <message>
- <source>Registering file types is only supported on Windows.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Failed to open &apos;%1&apos; for reading.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Failed to open &apos;%1&apos; for writing.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Number of arguments does not match: one is required</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot get package manager core.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>This process should be stopped before continuing: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>These processes should be stopped before continuing: %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>Settings</name>
- <message>
- <source>Cannot open settings file %1 for reading: %2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>SettingsDialog</name>
- <message>
- <source>Settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Network</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>No proxy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>System proxy settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Manual proxy configuration</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>HTTP proxy:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Port:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>HTTP proxy requires authentication</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Username:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Password:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>FTP proxy:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>FTP proxy requires authentication</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Repositories</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Add Username and Password for authentication if needed.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Use temporary repositories only</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Add</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Remove</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Test</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Show Passwords</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Check this to use repository during fetch.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Add the username to authenticate on the server.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Add the password to authenticate on the server.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>The servers URL that contains a valid repository.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>There was an error testing this repository.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Do you want to disable the tested repository?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Hide Passwords</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Use</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Username</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Password</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Repository</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Default repositories</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Temporary repositories</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>User defined repositories</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TargetDirectoryPageImpl</name>
- <message>
- <source>The installation path cannot be empty, please specify a valid folder.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>The installation path cannot be relative, please specify an absolute path.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Warning</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Error</source>
- <translation type="unfinished"></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 type="unfinished"></translation>
- </message>
- <message>
- <source>The path you have entered is too long, please make sure to specify a valid path.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>The path you have entered is not valid, please make sure to specify a valid drive.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>The installation path must not contain %1, please specify a valid folder.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>As the install directory is completely deleted installing in %1 is forbidden.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>The folder you selected exists already and contains an installation.
-Do you want to overwrite it?</source>
- <translation type="unfinished"></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 type="unfinished"></translation>
- </message>
- <message>
- <source>You have selected an existing file or symlink, please choose a different target for installation.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>TestRepository</name>
- <message>
- <source>Empty repository URL.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>URL scheme not supported: %1 (%2).</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Cannot parse Updates.xml! Error: %1.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Updates.xml could not be opened for reading!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Updates.xml could not be found on server!</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-</TS>
diff --git a/src/sdk/translations/zh_cn.ts b/src/sdk/translations/zh_CN.ts
index a826448d9..a826448d9 100644
--- a/src/sdk/translations/zh_cn.ts
+++ b/src/sdk/translations/zh_CN.ts
diff --git a/src/src.pro b/src/src.pro
index 98d9facc6..b963be275 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -1,13 +1,3 @@
TEMPLATE = subdirs
SUBDIRS += libs sdk
sdk.depends = libs
-
-TRANSLATIONS += sdk/translations/de.ts \
- sdk/translations/en.ts \
- sdk/translations/es.ts \
- sdk/translations/fr.ts \
- sdk/translations/ja.ts \
- sdk/translations/pl.ts \
- sdk/translations/ru.ts \
- sdk/translations/zh_cn.ts \
- sdk/translations/it.ts
diff --git a/tests/auto/installer/componentmodel/tst_componentmodel.cpp b/tests/auto/installer/componentmodel/tst_componentmodel.cpp
index 5d86103a9..d5cae916c 100644
--- a/tests/auto/installer/componentmodel/tst_componentmodel.cpp
+++ b/tests/auto/installer/componentmodel/tst_componentmodel.cpp
@@ -199,11 +199,12 @@ private slots:
model.setRootComponents(rootComponents);
testDefaultInheritedModelBehavior(&model, 1);
- // select all possible components. As one is uncheckable should result in partial check.
+ // select all possible components.
+ // Also uncheckable is checked as that is only 'visually' uncheckedable.
model.setCheckedState(ComponentModel::AllChecked);
- QCOMPARE(model.checkedState(), ComponentModel::PartiallyChecked);
- testModelState(&model, m_defaultChecked + m_defaultPartially + m_defaultUnchecked,
- QStringList(), m_uncheckable);
+ QCOMPARE(model.checkedState(), ComponentModel::AllChecked);
+ testModelState(&model, m_defaultChecked + m_defaultPartially + m_defaultUnchecked + m_uncheckable,
+ QStringList(), QStringList());
// deselect all possible components
// as the first root is a forced install, should result in partially checked state
@@ -234,12 +235,12 @@ private slots:
model.setRootComponents(rootComponents);
testDefaultInheritedModelBehavior(&model, 1);
- // select all possible components. As one is uncheckable should result to partially check
+ // select all possible components.
model.setCheckedState(ComponentModel::AllChecked);
- QCOMPARE(model.checkedState(), ComponentModel::PartiallyChecked);
- testModelState(&model, m_defaultChecked + m_defaultPartially + m_defaultUnchecked
+ QCOMPARE(model.checkedState(), ComponentModel::AllChecked);
+ testModelState(&model, m_defaultChecked + m_defaultPartially + m_defaultUnchecked + m_uncheckable
+ QStringList(vendorSecondProductVirtual) << vendorThirdProductVirtual, QStringList(),
- m_uncheckable);
+ QStringList());
// deselect all possible components
// as the first root is a forced install, should result in partially checked state
@@ -272,11 +273,11 @@ private slots:
model.setRootComponents(rootComponents);
testDefaultInheritedModelBehavior(&model, 1);
- // select all possible components. As one is uncheckable should result to partially check
+ // select all possible components.
model.setCheckedState(ComponentModel::AllChecked);
- QCOMPARE(model.checkedState(), ComponentModel::PartiallyChecked);
- testModelState(&model, m_defaultChecked + m_defaultPartially + m_defaultUnchecked,
- QStringList(), m_uncheckable);
+ QCOMPARE(model.checkedState(), ComponentModel::AllChecked);
+ testModelState(&model, m_defaultChecked + m_defaultPartially + m_defaultUnchecked+ m_uncheckable,
+ QStringList(), QStringList());
// deselect all possible components
model.setCheckedState(ComponentModel::AllUnchecked);
@@ -307,12 +308,12 @@ private slots:
model.setRootComponents(rootComponents);
testDefaultInheritedModelBehavior(&model, 1);
- // select all possible components. As one is uncheckable should result to partially check
+ // select all possible components.
model.setCheckedState(ComponentModel::AllChecked);
- QCOMPARE(model.checkedState(), ComponentModel::PartiallyChecked);
- testModelState(&model, m_defaultChecked + m_defaultPartially + m_defaultUnchecked
+ QCOMPARE(model.checkedState(), ComponentModel::AllChecked);
+ testModelState(&model, m_defaultChecked + m_defaultPartially + m_defaultUnchecked +m_uncheckable
+ QStringList(vendorSecondProductVirtual) << vendorThirdProductVirtual, QStringList(),
- m_uncheckable);
+ QStringList());
// deselect all possible components
model.setCheckedState(ComponentModel::AllUnchecked);