summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKatja Marttila <katja.marttila@qt.io>2019-03-19 11:55:02 +0200
committerKatja Marttila <katja.marttila@qt.io>2019-03-19 11:55:02 +0200
commit8c448f77a00d01e24e4d083d9684c275b3efdd04 (patch)
treec75af0ceed6555249c6a2413dc5c0ff0aec928bb
parent2beb45ea0317d0bed9d6085bd927f5a55dff25d5 (diff)
parent407b19ff904244e287d62c7d02ca2a0779fc7b09 (diff)
Merge branch '3.1' into masterHEADmaster
-rw-r--r--Changelog19
-rw-r--r--dist/config/config.xml6
-rw-r--r--dist/packages/org.qtproject.ifw.binaries/meta/package.xml4
-rw-r--r--dist/packages/org.qtproject.ifw/meta/package.xml4
-rw-r--r--doc/installerfw.qdoc21
-rw-r--r--doc/operations.qdoc9
-rw-r--r--examples/repositorycategories/config/config.xml3
-rw-r--r--installerfw.pri4
-rw-r--r--src/libs/installer/binaryformat.cpp2
-rw-r--r--src/libs/installer/binaryformatengine.cpp2
-rw-r--r--src/libs/installer/binaryformatenginehandler.cpp2
-rw-r--r--src/libs/installer/component_p.cpp12
-rw-r--r--src/libs/installer/componentmodel.cpp4
-rw-r--r--src/libs/installer/componentselectionpage_p.cpp39
-rw-r--r--src/libs/installer/componentselectionpage_p.h3
-rw-r--r--src/libs/installer/copyfiletask.cpp2
-rw-r--r--src/libs/installer/createdesktopentryoperation.cpp6
-rw-r--r--src/libs/installer/createlocalrepositoryoperation.cpp2
-rw-r--r--src/libs/installer/createshortcutoperation.cpp8
-rw-r--r--src/libs/installer/downloadarchivesjob.cpp14
-rw-r--r--src/libs/installer/elevatedexecuteoperation.cpp4
-rw-r--r--src/libs/installer/environmentvariablesoperation.cpp4
-rw-r--r--src/libs/installer/fileutils.cpp22
-rw-r--r--src/libs/installer/globalsettingsoperation.cpp4
-rw-r--r--src/libs/installer/init.cpp2
-rw-r--r--src/libs/installer/installiconsoperation.cpp10
-rw-r--r--src/libs/installer/keepaliveobject.cpp4
-rw-r--r--src/libs/installer/lib7z_facade.cpp16
-rw-r--r--src/libs/installer/link.cpp14
-rw-r--r--src/libs/installer/messageboxhandler.cpp12
-rw-r--r--src/libs/installer/metadatajob.cpp13
-rw-r--r--src/libs/installer/packagemanagercore.cpp16
-rw-r--r--src/libs/installer/packagemanagercore_p.cpp72
-rw-r--r--src/libs/installer/packagemanagercore_p.h2
-rw-r--r--src/libs/installer/packagemanagercoredata.cpp2
-rw-r--r--src/libs/installer/packagemanagergui.cpp49
-rw-r--r--src/libs/installer/performinstallationform.cpp12
-rw-r--r--src/libs/installer/progresscoordinator.cpp4
-rw-r--r--src/libs/installer/qprocesswrapper.cpp2
-rw-r--r--src/libs/installer/registerfiletypeoperation.cpp4
-rw-r--r--src/libs/installer/remoteclient.cpp4
-rw-r--r--src/libs/installer/remoteobject.cpp6
-rw-r--r--src/libs/installer/remoteserverconnection.cpp10
-rw-r--r--src/libs/installer/repository.cpp3
-rw-r--r--src/libs/installer/repositorycategory.cpp13
-rw-r--r--src/libs/installer/repositorycategory.h4
-rw-r--r--src/libs/installer/scriptengine.cpp2
-rw-r--r--src/libs/installer/settings.cpp28
-rw-r--r--src/libs/installer/settings.h1
-rw-r--r--src/libs/installer/sysinfo_win.cpp6
-rw-r--r--src/libs/installer/unziptask.cpp6
-rw-r--r--src/libs/installer/utils.cpp20
-rw-r--r--src/libs/kdtools/filedownloader.cpp14
-rw-r--r--src/libs/kdtools/filedownloader.h1
-rw-r--r--src/sdk/console_win.cpp8
-rw-r--r--src/sdk/installerbase.cpp6
-rw-r--r--src/sdk/installerbasecommons.cpp4
-rw-r--r--src/sdk/settingsdialog.cpp2
-rw-r--r--src/sdk/tabcontroller.cpp4
-rw-r--r--src/sdk/translations/ifw_da.ts32
-rw-r--r--src/sdk/translations/ifw_de.ts32
-rw-r--r--src/sdk/translations/ifw_es.ts2507
-rw-r--r--src/sdk/translations/ifw_fr.ts1890
-rw-r--r--src/sdk/translations/ifw_it.ts1858
-rw-r--r--src/sdk/translations/ifw_ja.ts2986
-rw-r--r--src/sdk/translations/ifw_pl.ts1738
-rw-r--r--src/sdk/translations/ifw_ru.ts16
-rw-r--r--src/sdk/translations/ifw_zh_CN.ts1804
-rw-r--r--tests/auto/installer/binaryformat/tst_binaryformat.cpp2
-rw-r--r--tests/auto/installer/consumeoutputoperationtest/tst_consumeoutputoperationtest.cpp2
-rw-r--r--tests/auto/installer/extractarchiveoperationtest/tst_extractarchiveoperationtest.cpp6
-rw-r--r--tests/auto/installer/fakestopprocessforupdateoperation/tst_fakestopprocessforupdateoperation.cpp2
-rw-r--r--tests/auto/installer/settingsoperation/tst_settingsoperation.cpp24
-rw-r--r--tests/environmentvariable/environmentvariabletest.cpp4
-rw-r--r--tools/binarycreator/binarycreator.cpp2
-rw-r--r--tools/binarycreator/rcc/rcc.cpp12
-rw-r--r--tools/devtool/binarydump.cpp2
-rw-r--r--tools/devtool/main.cpp16
-rw-r--r--tools/repocompare/repositorymanager.cpp6
79 files changed, 5823 insertions, 7694 deletions
diff --git a/Changelog b/Changelog
index 1f3600c11..83b683f39 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,22 @@
+3.1.0
+- Fix wizard's maximum size not to exceed screen maximum size (QTIFW-1227)
+- Allow maintenancetool signing in Windows (QTIFW-667)
+- Enable usage of categorized repositories (QTIFW-1147)
+- Add possibility to check/uncheck repositories with one button click (QTIFW-1132)
+- Update danish (da) translation for Qt installer-framework
+- Add attribute to mark parts of install tree unstable (QTIFW-930)
+ -> Setting AllowUnstablecomponents to true in config.xml will
+ * allow installing other components when there are errors in scripts
+ * allow installing other components when there are missing dependencies
+ * allow installing other components when there are sha mismatches in metadata
+ * will mark the 'broken' components uninstallable in treeview
+- Add findFiles method (QTIFW-1094)
+- Enable expanding items by default
+- Add support dash (-) symbol in component name (QTIFW-948)
+- Allow comparing non-numeric versions (QTIFW-948)
+- Add Component::addAutoDependOn method
+- Teach 'binarycreator' and 'repogen' to repack packages from repository (QTIFW-925)
+
3.0.6
- Remove 'Your install seems to be corrupted' messagebox (QTIFW-1003)
- Register virtual component for uninstall (QTIFW-1102)
diff --git a/dist/config/config.xml b/dist/config/config.xml
index a0e049792..5985b88d7 100644
--- a/dist/config/config.xml
+++ b/dist/config/config.xml
@@ -1,13 +1,13 @@
<?xml version="1.0"?>
<Installer>
<Name>Qt Installer Framework</Name>
- <Title>Qt Installer Framework 3.1.81</Title>
- <Version>3.1.81</Version>
+ <Title>Qt Installer Framework 3.1.0</Title>
+ <Version>3.1.0</Version>
<Publisher>Qt Project</Publisher>
<ProductUrl>http://qt-project.org</ProductUrl>
<Watermark>watermark.png</Watermark>
<MaintenanceToolName>Uninstaller</MaintenanceToolName>
<!-- Tweaked for windows in installscript.qs -->
- <TargetDir>@HomeDir@/Qt/QtIFW-3.1.81</TargetDir>
+ <TargetDir>@HomeDir@/Qt/QtIFW-3.1.0</TargetDir>
</Installer>
diff --git a/dist/packages/org.qtproject.ifw.binaries/meta/package.xml b/dist/packages/org.qtproject.ifw.binaries/meta/package.xml
index 0d6a8ac22..08b324aab 100644
--- a/dist/packages/org.qtproject.ifw.binaries/meta/package.xml
+++ b/dist/packages/org.qtproject.ifw.binaries/meta/package.xml
@@ -2,7 +2,7 @@
<Package>
<DisplayName>Qt Installer Framework Binaries</DisplayName>
<Description>Installs the binaries, examples and help files.</Description>
- <Version>3.1.81</Version>
- <ReleaseDate>2017-04-06</ReleaseDate>
+ <Version>3.1.0</Version>
+ <ReleaseDate>2019-01-06</ReleaseDate>
<Default>True</Default>
</Package>
diff --git a/dist/packages/org.qtproject.ifw/meta/package.xml b/dist/packages/org.qtproject.ifw/meta/package.xml
index 4f5628391..40ea01b25 100644
--- a/dist/packages/org.qtproject.ifw/meta/package.xml
+++ b/dist/packages/org.qtproject.ifw/meta/package.xml
@@ -2,8 +2,8 @@
<Package>
<DisplayName>Qt Installer Framework</DisplayName>
<Description>Installs the Qt Installer Framework.</Description>
- <Version>3.1.81</Version>
- <ReleaseDate>2017-04-06</ReleaseDate>
+ <Version>3.1.0</Version>
+ <ReleaseDate>2019-01-06</ReleaseDate>
<Licenses>
<License name="The Qt Company GPL Exception 1.0" file="LICENSE.GPL3-EXCEPT" />
<License name="Third Party Code Licenses" file="3RDPARTY" />
diff --git a/doc/installerfw.qdoc b/doc/installerfw.qdoc
index bdd99c089..0589c8c14 100644
--- a/doc/installerfw.qdoc
+++ b/doc/installerfw.qdoc
@@ -333,6 +333,14 @@
\li Set to \c false if default repositories \c <RemoteRepositories> should not be saved to \e {MaintenanceToolName}.ini.
By default default repositories are saved. Not saving the repositories means than when you run \e maintenancetool
there are no default repositories in use.
+ \row
+ \li AllowUnstableComponents
+ \li Set to \c true if other components are allowed to be installed
+ although there are unstable components. A component is \e unstable
+ if it is missing a dependency, has errors in scripts, and so on.
+ Unstable components are grayed in the component tree, and therefore
+ cannot be selected. By default, the value is \c false which means
+ that the installation will be aborted if unstable components are found.
\endtable
@@ -1122,15 +1130,20 @@
The \c <RepositoryCategory> element in the installer configuration file
(config.xml) can contain a list of several \c <RemoteRepositories> elements. Each \c <RemoteRepositories>
- element within the \c <RepositoryCagetory> element is considered a category, which has a \c <DisplayName> and can
- contain several \c <Repository> elements. Repository categories are shown in the component selection page,
+ element within the \c <RepositoryCagetory> element is considered a category. Each catecory can have
+ a \c <DisplayName>, a \c <Tooltip>, a \c <Preselected> element and several \c <Repository> elements.
+ Repository categories are shown in the component selection page,
on the left side of the component selection widget:
\image ifw-repository-categories.png "Component selection Page"
By default, only repositories with no category are shown in the component selection widget. Checking one or
several repositories and pressing \uicontrol Fetch will update the widget to show content also
- from the selected categorized repositories.
+ from the selected categorized repositories. Components in the repository
+ categories are marked as \e unstable meaning that you can install other
+ components although some components have missing dependencies, script
+ errors and so on. For more information about \e unstable components, see
+ \l {Summary of Configuration File Elements}.
Example of creating a repository category:
@@ -1138,6 +1151,8 @@
<RepositoryCategories>
<RemoteRepositories>
<Displayname>Category 1</Displayname>
+ <Preselected>true</Preselected>
+ <Tooltip>Tooltip for category 1</Tooltip>
<Repository>
<Url>http://www.example.com/packages</Url>
<Enabled>1</Enabled>
diff --git a/doc/operations.qdoc b/doc/operations.qdoc
index 697502145..9cba0d618 100644
--- a/doc/operations.qdoc
+++ b/doc/operations.qdoc
@@ -133,9 +133,8 @@
If \c filename is absolute, the desktop entry is stored there.
Otherwise, it is stored in the location specified in
- \c{$XDG_DATA_DIRS/applications} or
- \c{$XDG_DATA_HOME/applications}, including the default paths for
- both, as defined by freedesktop.org.
+ \c{$XDG_DATA_HOME/applications}, including the default path,
+ as defined by freedesktop.org.
The key-value pairs are written to the file.
@@ -145,8 +144,8 @@
\li "InstallIcons" \c directory \c [Vendorprefix]
\li Installs the contents of \c directory into a location, as
specified by freedesktop.org. That is, into
- \c {$XDG_DATA_DIRS/icons}, \c {/usr/share/icons}, or
- \c {$HOME/.icons}. The files are removed from their initial
+ \c {$XDG_DATA_HOME/icons} or
+ \c {$HOME/.local/share/icons}. The files are removed from their initial
location. Make sure to add this operation after the operation
that extracts the files from the archive.
If you provide a \c Vendorprefix it replaces all characters up to the
diff --git a/examples/repositorycategories/config/config.xml b/examples/repositorycategories/config/config.xml
index c61e4893d..8c5a0a67d 100644
--- a/examples/repositorycategories/config/config.xml
+++ b/examples/repositorycategories/config/config.xml
@@ -16,6 +16,7 @@
<RepositoryCategoryDisplayname>Releases</RepositoryCategoryDisplayname>
<RemoteRepositories>
<DisplayName>Category 1</DisplayName>
+ <Tooltip>Contains repository1 and repository2</Tooltip>
<Repository>
<Url>http://localhost/repository1</Url>
</Repository>
@@ -24,7 +25,9 @@
</Repository>
</RemoteRepositories>
<RemoteRepositories>
+ <Preselected>true</Preselected>
<DisplayName>Category 2</DisplayName>
+ <Tooltip>Contains repository3</Tooltip>
<Repository>
<Url>http://localhost/repository3</Url>
</Repository>
diff --git a/installerfw.pri b/installerfw.pri
index 2810e5144..308268690 100644
--- a/installerfw.pri
+++ b/installerfw.pri
@@ -3,8 +3,8 @@
}
IFW_PRI_INCLUDED = 1
-IFW_VERSION_STR = 3.1.81
-IFW_VERSION = 0x030181
+IFW_VERSION_STR = 3.1.0
+IFW_VERSION = 0x030100
IFW_REPOSITORY_FORMAT_VERSION = 1.0.0
IFW_NEWLINE = $$escape_expand(\\n\\t)
diff --git a/src/libs/installer/binaryformat.cpp b/src/libs/installer/binaryformat.cpp
index 42c94ab1d..9a46095ce 100644
--- a/src/libs/installer/binaryformat.cpp
+++ b/src/libs/installer/binaryformat.cpp
@@ -293,7 +293,7 @@ void ResourceCollection::setName(const QByteArray &name)
void ResourceCollection::appendResource(const QSharedPointer<Resource>& resource)
{
Q_ASSERT(resource);
- resource->setParent(0);
+ resource->setParent(nullptr);
m_resources.append(resource);
}
diff --git a/src/libs/installer/binaryformatengine.cpp b/src/libs/installer/binaryformatengine.cpp
index 1100bcf08..ec6926031 100644
--- a/src/libs/installer/binaryformatengine.cpp
+++ b/src/libs/installer/binaryformatengine.cpp
@@ -81,7 +81,7 @@ namespace QInstaller {
*/
BinaryFormatEngine::BinaryFormatEngine(const QHash<QByteArray, ResourceCollection> &collections,
const QString &fileName)
- : m_resource(0)
+ : m_resource(nullptr)
, m_collections(collections)
{
setFileName(fileName);
diff --git a/src/libs/installer/binaryformatenginehandler.cpp b/src/libs/installer/binaryformatenginehandler.cpp
index fffb248b9..885888912 100644
--- a/src/libs/installer/binaryformatenginehandler.cpp
+++ b/src/libs/installer/binaryformatenginehandler.cpp
@@ -48,7 +48,7 @@ namespace QInstaller {
QAbstractFileEngine *BinaryFormatEngineHandler::create(const QString &fileName) const
{
return fileName.startsWith(QLatin1String("installer://"), Qt::CaseInsensitive )
- ? new BinaryFormatEngine(m_resources, fileName) : 0;
+ ? new BinaryFormatEngine(m_resources, fileName) : nullptr;
}
/*!
diff --git a/src/libs/installer/component_p.cpp b/src/libs/installer/component_p.cpp
index 5f44f83a4..5a5284a4b 100644
--- a/src/libs/installer/component_p.cpp
+++ b/src/libs/installer/component_p.cpp
@@ -41,9 +41,9 @@ namespace QInstaller {
ComponentPrivate::ComponentPrivate(PackageManagerCore *core, Component *qq)
: q(qq)
, m_core(core)
- , m_parentComponent(0)
- , m_licenseOperation(0)
- , m_minimumProgressOperation(0)
+ , m_parentComponent(nullptr)
+ , m_licenseOperation(nullptr)
+ , m_minimumProgressOperation(nullptr)
, m_newlyInstalled (false)
, m_operationsCreated(false)
, m_autoCreateOperations(true)
@@ -98,11 +98,11 @@ int ComponentModelHelper::childCount() const
Component *ComponentModelHelper::childAt(int index) const
{
if (index < 0 && index >= childCount())
- return 0;
+ return nullptr;
if (m_componentPrivate->m_core->virtualComponentsVisible())
- return m_componentPrivate->m_allChildComponents.value(index, 0);
- return m_componentPrivate->m_childComponents.value(index, 0);
+ return m_componentPrivate->m_allChildComponents.value(index, nullptr);
+ return m_componentPrivate->m_childComponents.value(index, nullptr);
}
/*!
diff --git a/src/libs/installer/componentmodel.cpp b/src/libs/installer/componentmodel.cpp
index e729f3088..69c709060 100644
--- a/src/libs/installer/componentmodel.cpp
+++ b/src/libs/installer/componentmodel.cpp
@@ -378,7 +378,7 @@ Component *ComponentModel::componentFromIndex(const QModelIndex &index) const
{
if (index.isValid())
return static_cast<Component*>(index.internalPointer());
- return 0;
+ return nullptr;
}
@@ -585,7 +585,7 @@ QSet<QModelIndex> ComponentModel::updateCheckedState(const ComponentSet &compone
checkable = false;
}
- if ((!node->isCheckable() && checkable) || !node->isEnabled() || !node->autoDependencies().isEmpty())
+ if ((!node->isCheckable() && checkable) || !node->isEnabled() || !node->autoDependencies().isEmpty() || node->isUnstable())
continue;
Qt::CheckState newState = state;
diff --git a/src/libs/installer/componentselectionpage_p.cpp b/src/libs/installer/componentselectionpage_p.cpp
index 22c478beb..4e7acc837 100644
--- a/src/libs/installer/componentselectionpage_p.cpp
+++ b/src/libs/installer/componentselectionpage_p.cpp
@@ -193,17 +193,19 @@ void ComponentSelectionPagePrivate::setupCategoryLayout()
m_categoryGroupBox->setTitle(m_core->settings().repositoryCategoryDisplayName());
m_categoryGroupBox->setObjectName(QLatin1String("CategoryGroupBox"));
QVBoxLayout *categoryLayout = new QVBoxLayout(m_categoryGroupBox);
- QPushButton *fetchCategoryButton = new QPushButton(tr("Fetch"));
+ QPushButton *fetchCategoryButton = new QPushButton(tr("Refresh"));
fetchCategoryButton->setObjectName(QLatin1String("FetchCategoryButton"));
connect(fetchCategoryButton, &QPushButton::clicked, this,
&ComponentSelectionPagePrivate::fetchRepositoryCategories);
- foreach (RepositoryCategory repository, m_core->settings().repositoryCategories()) {
+ foreach (RepositoryCategory repository, m_core->settings().organizedRepositoryCategories()) {
QCheckBox *checkBox = new QCheckBox;
checkBox->setObjectName(repository.displayname());
+ checkBox->setChecked(repository.isEnabled());
connect(checkBox, &QCheckBox::stateChanged, this,
&ComponentSelectionPagePrivate::checkboxStateChanged);
checkBox->setText(repository.displayname());
+ checkBox->setToolTip(repository.tooltip());
categoryLayout->addWidget(checkBox);
}
@@ -213,6 +215,15 @@ void ComponentSelectionPagePrivate::setupCategoryLayout()
m_mainHLayout->insertWidget(0, m_categoryWidget);
}
+void ComponentSelectionPagePrivate::showCategoryLayout(bool show)
+{
+ if (show) {
+ setupCategoryLayout();
+ }
+ if (m_categoryWidget)
+ m_categoryWidget->setVisible(show);
+}
+
void ComponentSelectionPagePrivate::updateTreeView()
{
m_checkDefault->setVisible(m_core->isInstaller() || m_core->isPackageManager());
@@ -315,8 +326,17 @@ void ComponentSelectionPagePrivate::checkboxStateChanged()
}
}
-void ComponentSelectionPagePrivate::enableRepositoryCategory(int index, bool enable) {
- RepositoryCategory repoCategory = m_core->settings().repositoryCategories().toList().at(index);
+void ComponentSelectionPagePrivate::enableRepositoryCategory(const QString &repositoryName, bool enable)
+{
+ QMap<QString, RepositoryCategory> organizedRepositoryCategories = m_core->settings().organizedRepositoryCategories();
+
+ QMap<QString, RepositoryCategory>::iterator i = organizedRepositoryCategories.find(repositoryName);
+ RepositoryCategory repoCategory;
+ while (i != organizedRepositoryCategories.end() && i.key() == repositoryName) {
+ repoCategory = i.value();
+ i++;
+ }
+
RepositoryCategory replacement = repoCategory;
replacement.setEnabled(enable);
QSet<RepositoryCategory> tmpRepoCategories = m_core->settings().repositoryCategories();
@@ -334,10 +354,15 @@ void ComponentSelectionPagePrivate::updateWidgetVisibility(bool show)
QSizePolicy::Expanding);
m_treeViewVLayout->addSpacerItem(verticalSpacer2);
m_mainHLayout->removeItem(m_descriptionVLayout);
+ //Hide next button during category fetch
+ QPushButton *const b = qobject_cast<QPushButton *>(q->gui()->button(QWizard::NextButton));
+ b->setEnabled(!show);
} else {
QSpacerItem *item = m_treeViewVLayout->spacerItem();
m_treeViewVLayout->removeItem(item);
m_mainHLayout->addLayout(m_descriptionVLayout, 2);
+ //Call completeChanged() to determine if NextButton should be shown or not after category fetch.
+ q->completeChanged();
}
if (m_categoryWidget)
m_categoryWidget->setDisabled(show);
@@ -350,8 +375,6 @@ void ComponentSelectionPagePrivate::updateWidgetVisibility(bool show)
m_uncheckAll->setVisible(!show);
m_descriptionLabel->setVisible(!show);
m_sizeLabel->setVisible(!show);
- QPushButton *const b = qobject_cast<QPushButton *>(q->gui()->button(QWizard::NextButton));
- b->setEnabled(!show);
if (QAbstractButton *bspButton = q->gui()->button(QWizard::CustomButton2))
bspButton->setEnabled(!show);
@@ -365,7 +388,7 @@ void ComponentSelectionPagePrivate::fetchRepositoryCategories()
QList<QCheckBox*> checkboxes = m_categoryGroupBox->findChildren<QCheckBox *>();
for (int i = 0; i < checkboxes.count(); i++) {
checkbox = checkboxes.at(i);
- enableRepositoryCategory(i, checkbox->isChecked());
+ enableRepositoryCategory(checkbox->objectName(), checkbox->isChecked());
}
if (!m_core->fetchRemotePackagesTree()) {
@@ -380,7 +403,7 @@ void ComponentSelectionPagePrivate::customButtonClicked(int which)
if (QWizard::WizardButton(which) == QWizard::CustomButton2) {
QString defaultDownloadDirectory =
QStandardPaths::writableLocation(QStandardPaths::DownloadLocation);
- QStringList fileNames = QFileDialog::getOpenFileNames(NULL,
+ QStringList fileNames = QFileDialog::getOpenFileNames(nullptr,
ComponentSelectionPage::tr("Open File"),defaultDownloadDirectory,
QLatin1String("QBSP or 7z Files (*.qbsp *.7z)"));
diff --git a/src/libs/installer/componentselectionpage_p.h b/src/libs/installer/componentselectionpage_p.h
index bc1e6ed7a..9ebec834a 100644
--- a/src/libs/installer/componentselectionpage_p.h
+++ b/src/libs/installer/componentselectionpage_p.h
@@ -64,6 +64,7 @@ public:
void showCompressedRepositoryButton();
void hideCompressedRepositoryButton();
void setupCategoryLayout();
+ void showCategoryLayout(bool show);
void updateTreeView();
public slots:
@@ -71,7 +72,7 @@ public slots:
void selectAll();
void deselectAll();
void checkboxStateChanged();
- void enableRepositoryCategory(int index, bool enable);
+ void enableRepositoryCategory(const QString &repositoryName, bool enable);
void updateWidgetVisibility(bool show);
void fetchRepositoryCategories();
void customButtonClicked(int which);
diff --git a/src/libs/installer/copyfiletask.cpp b/src/libs/installer/copyfiletask.cpp
index fdde9b15d..50626b682 100644
--- a/src/libs/installer/copyfiletask.cpp
+++ b/src/libs/installer/copyfiletask.cpp
@@ -104,7 +104,7 @@ void CopyFileTask::doTask(QFutureInterface<FileTaskResult> &fi)
}
observer.addSample(read);
- observer.timerEvent(NULL);
+ observer.timerEvent(nullptr);
observer.addBytesTransfered(read);
observer.addCheckSumData(buffer.data(), read);
diff --git a/src/libs/installer/createdesktopentryoperation.cpp b/src/libs/installer/createdesktopentryoperation.cpp
index d2e71b14f..17e165777 100644
--- a/src/libs/installer/createdesktopentryoperation.cpp
+++ b/src/libs/installer/createdesktopentryoperation.cpp
@@ -49,17 +49,13 @@ QString CreateDesktopEntryOperation::absoluteFileName()
if (hasValue(QLatin1String("directory")))
return QDir(value(QLatin1String("directory")).toString()).absoluteFilePath(filename);
- QStringList XDG_DATA_DIRS = QString::fromLocal8Bit(qgetenv("XDG_DATA_DIRS"))
- .split(QLatin1Char(':'),
- QString::SkipEmptyParts);
QStringList XDG_DATA_HOME = QString::fromLocal8Bit(qgetenv("XDG_DATA_HOME"))
.split(QLatin1Char(':'),
QString::SkipEmptyParts);
- XDG_DATA_DIRS.push_back(QLatin1String("/usr/share")); // default path
XDG_DATA_HOME.push_back(QDir::home().absoluteFilePath(QLatin1String(".local/share"))); // default path
- const QStringList directories = XDG_DATA_DIRS + XDG_DATA_HOME;
+ const QStringList directories = XDG_DATA_HOME;
QString directory;
for (QStringList::const_iterator it = directories.begin(); it != directories.end(); ++it) {
if (it->isEmpty())
diff --git a/src/libs/installer/createlocalrepositoryoperation.cpp b/src/libs/installer/createlocalrepositoryoperation.cpp
index 8f6ab2eaa..a2f7806a3 100644
--- a/src/libs/installer/createlocalrepositoryoperation.cpp
+++ b/src/libs/installer/createlocalrepositoryoperation.cpp
@@ -251,7 +251,7 @@ bool CreateLocalRepositoryOperation::performOperation()
// start to read the binary layout
ResourceCollectionManager manager;
- BinaryContent::readBinaryContent(&file, 0, &manager, 0, BinaryContent::MagicCookie);
+ BinaryContent::readBinaryContent(&file, nullptr, &manager, 0, BinaryContent::MagicCookie);
emit progressChanged(0.65);
diff --git a/src/libs/installer/createshortcutoperation.cpp b/src/libs/installer/createshortcutoperation.cpp
index 2c2e96eff..bbe3feba1 100644
--- a/src/libs/installer/createshortcutoperation.cpp
+++ b/src/libs/installer/createshortcutoperation.cpp
@@ -50,7 +50,7 @@ typedef ITEMIDLIST *PIDLIST_ABSOLUTE;
struct DeCoInitializer
{
DeCoInitializer()
- : neededCoInit(CoInitialize(NULL) == S_OK)
+ : neededCoInit(CoInitialize(nullptr) == S_OK)
{
}
~DeCoInitializer()
@@ -100,12 +100,12 @@ static bool createLink(const QString &fileName, const QString &linkName, QString
// CoInitialize cleanup object
DeCoInitializer _;
- IUnknown *iunkn = NULL;
+ IUnknown *iunkn = nullptr;
if (fileName.toLower().startsWith(QLatin1String("http:"))
|| fileName.toLower().startsWith(QLatin1String("ftp:"))) {
- IUniformResourceLocator *iurl = NULL;
- if (FAILED(CoCreateInstance(CLSID_InternetShortcut, NULL, CLSCTX_INPROC_SERVER,
+ IUniformResourceLocator *iurl = nullptr;
+ if (FAILED(CoCreateInstance(CLSID_InternetShortcut, nullptr, CLSCTX_INPROC_SERVER,
IID_IUniformResourceLocator, (LPVOID*)&iurl))) {
return false;
}
diff --git a/src/libs/installer/downloadarchivesjob.cpp b/src/libs/installer/downloadarchivesjob.cpp
index 80c094ae0..102783133 100644
--- a/src/libs/installer/downloadarchivesjob.cpp
+++ b/src/libs/installer/downloadarchivesjob.cpp
@@ -49,7 +49,7 @@ using namespace KDUpdater;
DownloadArchivesJob::DownloadArchivesJob(PackageManagerCore *core)
: Job(core)
, m_core(core)
- , m_downloader(0)
+ , m_downloader(nullptr)
, m_archivesDownloaded(0)
, m_archivesToDownloadCount(0)
, m_canceled(false)
@@ -93,7 +93,7 @@ void DownloadArchivesJob::doStart()
void DownloadArchivesJob::doCancel()
{
m_canceled = true;
- if (m_downloader != 0)
+ if (m_downloader != nullptr)
m_downloader->cancelDownload();
}
@@ -130,7 +130,7 @@ void DownloadArchivesJob::fetchNextArchiveHash()
void DownloadArchivesJob::finishedHashDownload()
{
- Q_ASSERT(m_downloader != 0);
+ Q_ASSERT(m_downloader != nullptr);
QFile sha1HashFile(m_downloader->downloadedFileName());
if (sha1HashFile.open(QFile::ReadOnly)) {
@@ -156,7 +156,7 @@ void DownloadArchivesJob::fetchNextArchive()
return;
}
- if (m_downloader != 0)
+ if (m_downloader != nullptr)
m_downloader->deleteLater();
m_downloader = setupDownloader(QString(), m_core->value(scUrlQueryString));
@@ -202,7 +202,7 @@ void DownloadArchivesJob::timerEvent(QTimerEvent *event)
*/
void DownloadArchivesJob::registerFile()
{
- Q_ASSERT(m_downloader != 0);
+ Q_ASSERT(m_downloader != nullptr);
if (m_canceled)
return;
@@ -259,7 +259,7 @@ void DownloadArchivesJob::finishWithError(const QString &error)
{
const FileDownloader *const dl = qobject_cast<const FileDownloader*> (sender());
const QString msg = tr("Cannot fetch archives: %1\nError while loading %2");
- if (dl != 0)
+ if (dl != nullptr)
emitFinishedWithError(QInstaller::DownloadError, msg.arg(error, dl->url().toString()));
else
emitFinishedWithError(QInstaller::DownloadError, msg.arg(error, m_downloader->url().toString()));
@@ -267,7 +267,7 @@ void DownloadArchivesJob::finishWithError(const QString &error)
KDUpdater::FileDownloader *DownloadArchivesJob::setupDownloader(const QString &suffix, const QString &queryString)
{
- KDUpdater::FileDownloader *downloader = 0;
+ KDUpdater::FileDownloader *downloader = nullptr;
const QFileInfo fi = QFileInfo(m_archivesToDownload.first().first);
const Component *const component = m_core->componentByName(PackageManagerCore::checkableName(QFileInfo(fi.path()).fileName()));
if (component) {
diff --git a/src/libs/installer/elevatedexecuteoperation.cpp b/src/libs/installer/elevatedexecuteoperation.cpp
index 2cc988a4d..aa88f0398 100644
--- a/src/libs/installer/elevatedexecuteoperation.cpp
+++ b/src/libs/installer/elevatedexecuteoperation.cpp
@@ -43,7 +43,7 @@ class ElevatedExecuteOperation::Private
public:
explicit Private(ElevatedExecuteOperation *qq)
: q(qq)
- , process(0)
+ , process(nullptr)
, showStandardError(false)
{
}
@@ -221,7 +221,7 @@ bool ElevatedExecuteOperation::Private::run(const QStringList &arguments)
Q_ASSERT(process);
Q_ASSERT(process->state() == QProcessWrapper::NotRunning);
delete process;
- process = 0;
+ process = nullptr;
return returnValue;
}
diff --git a/src/libs/installer/environmentvariablesoperation.cpp b/src/libs/installer/environmentvariablesoperation.cpp
index 7a8dbfb5a..006ea3762 100644
--- a/src/libs/installer/environmentvariablesoperation.cpp
+++ b/src/libs/installer/environmentvariablesoperation.cpp
@@ -83,8 +83,8 @@ bool handleRegExpandSz(const QString &regPath, const QString &name,
if (res == ERROR_SUCCESS) {
DWORD dataType;
DWORD dataSize;
- res = RegQueryValueEx(handle, reinterpret_cast<const wchar_t *>(name.utf16()), 0,
- &dataType, 0, &dataSize);
+ res = RegQueryValueEx(handle, reinterpret_cast<const wchar_t *>(name.utf16()), nullptr,
+ &dataType, nullptr, &dataSize);
setAsExpandSZ = (res == ERROR_SUCCESS) && (dataType == REG_EXPAND_SZ);
if (setAsExpandSZ) {
RegCloseKey(handle);
diff --git a/src/libs/installer/fileutils.cpp b/src/libs/installer/fileutils.cpp
index c142b55f1..4347c67da 100644
--- a/src/libs/installer/fileutils.cpp
+++ b/src/libs/installer/fileutils.cpp
@@ -130,14 +130,14 @@ QString QInstaller::humanReadableSize(const qint64 &size, int precision)
static QStringList measures;
if (measures.isEmpty())
measures << QCoreApplication::translate("QInstaller", "bytes")
- << QCoreApplication::translate("QInstaller", "KiB")
- << QCoreApplication::translate("QInstaller", "MiB")
- << QCoreApplication::translate("QInstaller", "GiB")
- << QCoreApplication::translate("QInstaller", "TiB")
- << QCoreApplication::translate("QInstaller", "PiB")
- << QCoreApplication::translate("QInstaller", "EiB")
- << QCoreApplication::translate("QInstaller", "ZiB")
- << QCoreApplication::translate("QInstaller", "YiB");
+ << QCoreApplication::translate("QInstaller", "KB")
+ << QCoreApplication::translate("QInstaller", "MB")
+ << QCoreApplication::translate("QInstaller", "GB")
+ << QCoreApplication::translate("QInstaller", "TB")
+ << QCoreApplication::translate("QInstaller", "PB")
+ << QCoreApplication::translate("QInstaller", "EB")
+ << QCoreApplication::translate("QInstaller", "ZB")
+ << QCoreApplication::translate("QInstaller", "YB");
QStringListIterator it(measures);
QString measure(it.next());
@@ -239,7 +239,7 @@ void QInstaller::removeDirectory(const QString &path, bool ignoreErrors)
class RemoveDirectoryThread : public QThread
{
public:
- explicit RemoveDirectoryThread(const QString &path, bool ignoreErrors = false, QObject *parent = 0)
+ explicit RemoveDirectoryThread(const QString &path, bool ignoreErrors = false, QObject *parent = nullptr)
: QThread(parent)
, p(path)
, ignore(ignoreErrors)
@@ -411,7 +411,7 @@ QString QInstaller::getShortPathName(const QString &name)
// Determine length, then convert.
const LPCTSTR nameC = reinterpret_cast<LPCTSTR>(name.utf16()); // MinGW
- const DWORD length = GetShortPathName(nameC, NULL, 0);
+ const DWORD length = GetShortPathName(nameC, nullptr, 0);
if (length == 0)
return name;
QScopedArrayPointer<TCHAR> buffer(new TCHAR[length]);
@@ -427,7 +427,7 @@ QString QInstaller::getLongPathName(const QString &name)
// Determine length, then convert.
const LPCTSTR nameC = reinterpret_cast<LPCTSTR>(name.utf16()); // MinGW
- const DWORD length = GetLongPathName(nameC, NULL, 0);
+ const DWORD length = GetLongPathName(nameC, nullptr, 0);
if (length == 0)
return name;
QScopedArrayPointer<TCHAR> buffer(new TCHAR[length]);
diff --git a/src/libs/installer/globalsettingsoperation.cpp b/src/libs/installer/globalsettingsoperation.cpp
index f8f7c112d..0840cecf2 100644
--- a/src/libs/installer/globalsettingsoperation.cpp
+++ b/src/libs/installer/globalsettingsoperation.cpp
@@ -96,7 +96,7 @@ bool GlobalSettingsOperation::testOperation()
QSettingsWrapper *GlobalSettingsOperation::setup(QString *key, QString *value, const QStringList &arguments)
{
if (!checkArgumentCount(3, 5))
- return 0;
+ return nullptr;
if (arguments.count() == 5) {
QSettingsWrapper::Scope scope = QSettingsWrapper::UserScope;
@@ -120,5 +120,5 @@ QSettingsWrapper *GlobalSettingsOperation::setup(QString *key, QString *value, c
return new QSettingsWrapper(filename, QSettingsWrapper::NativeFormat);
}
- return 0;
+ return nullptr;
}
diff --git a/src/libs/installer/init.cpp b/src/libs/installer/init.cpp
index 285c7ebc9..8a13119b0 100644
--- a/src/libs/installer/init.cpp
+++ b/src/libs/installer/init.cpp
@@ -130,7 +130,7 @@ void messageHandler(QtMsgType type, const QMessageLogContext &context, const QSt
std::cout << qPrintable(ba) << std::endl;
if (type == QtFatalMsg) {
- QtMessageHandler oldMsgHandler = qInstallMessageHandler(0);
+ QtMessageHandler oldMsgHandler = qInstallMessageHandler(nullptr);
qt_message_output(type, context, msg);
qInstallMessageHandler(oldMsgHandler);
}
diff --git a/src/libs/installer/installiconsoperation.cpp b/src/libs/installer/installiconsoperation.cpp
index 4b8346e18..15d47c72a 100644
--- a/src/libs/installer/installiconsoperation.cpp
+++ b/src/libs/installer/installiconsoperation.cpp
@@ -42,20 +42,18 @@ QString InstallIconsOperation::targetDirectory()
if (hasValue(QLatin1String("targetdirectory")))
return value(QLatin1String("targetdirectory")).toString();
- QStringList XDG_DATA_DIRS = QString::fromLocal8Bit(qgetenv("XDG_DATA_DIRS"))
+ QStringList XDG_DATA_HOME = QString::fromLocal8Bit(qgetenv("XDG_DATA_HOME"))
.split(QLatin1Char(':'),
QString::SkipEmptyParts);
- XDG_DATA_DIRS.push_back(QLatin1String("/usr/share/pixmaps")); // default path
- XDG_DATA_DIRS.push_back(QDir::home().absoluteFilePath(QLatin1String(".local/share/icons"))); // default path
- XDG_DATA_DIRS.push_back(QDir::home().absoluteFilePath(QLatin1String(".icons"))); // default path
+ XDG_DATA_HOME.push_back(QDir::home().absoluteFilePath(QLatin1String(".local/share/icons"))); // default path
QString directory;
- const QStringList& directories = XDG_DATA_DIRS;
+ const QStringList& directories = XDG_DATA_HOME;
for (QStringList::const_iterator it = directories.begin(); it != directories.end(); ++it) {
if (it->isEmpty())
continue;
- // our default dirs are correct, XDG_DATA_DIRS set via env need "icon" at the end
+ // our default dirs are correct, XDG_DATA_HOME set via env needs "icon" at the end
if ((it + 1 == directories.end()) || (it + 2 == directories.end()) || (it + 3 == directories.end()))
directory = QDir(*it).absolutePath();
else
diff --git a/src/libs/installer/keepaliveobject.cpp b/src/libs/installer/keepaliveobject.cpp
index 6f56d7823..f3b4e7779 100644
--- a/src/libs/installer/keepaliveobject.cpp
+++ b/src/libs/installer/keepaliveobject.cpp
@@ -35,8 +35,8 @@
namespace QInstaller {
KeepAliveObject::KeepAliveObject()
- : m_timer(0)
- , m_socket(0)
+ : m_timer(nullptr)
+ , m_socket(nullptr)
{
}
diff --git a/src/libs/installer/lib7z_facade.cpp b/src/libs/installer/lib7z_facade.cpp
index f5561af2f..b3b3319e8 100644
--- a/src/libs/installer/lib7z_facade.cpp
+++ b/src/libs/installer/lib7z_facade.cpp
@@ -64,7 +64,7 @@
#include <memory>
#ifdef Q_OS_WIN
-HINSTANCE g_hInstance = 0;
+HINSTANCE g_hInstance = nullptr;
# define S_IFMT 00170000
# define S_IFLNK 0120000
@@ -353,16 +353,16 @@ static quint32 getUInt32Property(IInArchive *archive, int index, int propId, qui
static QFile::Permissions getPermissions(IInArchive *archive, int index, bool *hasPermissions)
{
quint32 attributes = getUInt32Property(archive, index, kpidAttrib, 0);
- QFile::Permissions permissions = 0;
+ QFile::Permissions permissions = nullptr;
if (attributes & FILE_ATTRIBUTE_UNIX_EXTENSION) {
- if (hasPermissions != 0)
+ if (hasPermissions != nullptr)
*hasPermissions = true;
// filter the Unix permissions
attributes = (attributes >> 16) & 0777;
permissions |= static_cast<QFile::Permissions>((attributes & 0700) << 2); // owner rights
permissions |= static_cast<QFile::Permissions>((attributes & 0070) << 1); // group
permissions |= static_cast<QFile::Permissions>((attributes & 0007) << 0); // and world rights
- } else if (hasPermissions != 0) {
+ } else if (hasPermissions != nullptr) {
*hasPermissions = false;
}
return permissions;
@@ -536,7 +536,7 @@ QVector<File> listArchive(QFileDevice *archive)
f.archiveIndex.setY(item);
f.path = UString2QString(s).replace(QLatin1Char('\\'), QLatin1Char('/'));
Archive_IsItem_Folder(arch, item, f.isDirectory);
- f.permissions = getPermissions(arch, item, 0);
+ f.permissions = getPermissions(arch, item, nullptr);
getDateTimeProperty(arch, item, kpidMTime, &(f.utcTime));
f.uncompressedSize = getUInt64Property(arch, item, kpidSize, 0);
f.compressedSize = getUInt64Property(arch, item, kpidPackSize, 0);
@@ -579,7 +579,7 @@ STDMETHODIMP ExtractCallback::SetCompleted(const UInt64 *c)
// CDecoder::CodeSpec extracted content to an output stream.
STDMETHODIMP ExtractCallback::GetStream(UInt32 index, ISequentialOutStream **outStream, Int32 /*askExtractMode*/)
{
- *outStream = 0;
+ *outStream = nullptr;
if (targetDir.isEmpty())
return E_FAIL;
@@ -790,14 +790,14 @@ HRESULT UpdateCallback::OpenFileError(const wchar_t*, DWORD)
HRESULT UpdateCallback::CryptoGetTextPassword2(Int32 *passwordIsDefined, BSTR *password)
{
- *password = 0;
+ *password = nullptr;
*passwordIsDefined = false;
return S_OK;
}
HRESULT UpdateCallback::CryptoGetTextPassword(BSTR *password)
{
- *password = 0;
+ *password = nullptr;
return E_NOTIMPL;
}
diff --git a/src/libs/installer/link.cpp b/src/libs/installer/link.cpp
index ef91828ce..62ba06cb2 100644
--- a/src/libs/installer/link.cpp
+++ b/src/libs/installer/link.cpp
@@ -84,8 +84,8 @@ public:
: m_dirHandle(INVALID_HANDLE_VALUE)
{
QString normalizedPath = QString(path).replace(QLatin1Char('/'), QLatin1Char('\\'));
- m_dirHandle = CreateFile((wchar_t*)normalizedPath.utf16(), GENERIC_READ | GENERIC_WRITE, 0, 0,
- OPEN_EXISTING, FILE_FLAG_OPEN_REPARSE_POINT | FILE_FLAG_BACKUP_SEMANTICS, 0);
+ m_dirHandle = CreateFile((wchar_t*)normalizedPath.utf16(), GENERIC_READ | GENERIC_WRITE, 0, nullptr,
+ OPEN_EXISTING, FILE_FLAG_OPEN_REPARSE_POINT | FILE_FLAG_BACKUP_SEMANTICS, nullptr);
if (m_dirHandle == INVALID_HANDLE_VALUE) {
qWarning() << "Cannot open" << path << ":" << QInstaller::windowsErrorString(GetLastError());
@@ -112,7 +112,7 @@ QString readWindowsSymLink(const QString &path)
if (dirHandle.handle() != INVALID_HANDLE_VALUE) {
REPARSE_DATA_BUFFER* reparseStructData = (REPARSE_DATA_BUFFER*)calloc(1, MAXIMUM_REPARSE_DATA_BUFFER_SIZE);
DWORD bytesReturned = 0;
- if (::DeviceIoControl(dirHandle.handle(), FSCTL_GET_REPARSE_POINT, 0, 0, reparseStructData,
+ if (::DeviceIoControl(dirHandle.handle(), FSCTL_GET_REPARSE_POINT, nullptr, 0, reparseStructData,
MAXIMUM_REPARSE_DATA_BUFFER_SIZE, &bytesReturned, 0)) {
if (reparseStructData->ReparseTag == IO_REPARSE_TAG_MOUNT_POINT) {
int length = reparseStructData->MountPointReparseBuffer.SubstituteNameLength / sizeof(wchar_t);
@@ -170,8 +170,8 @@ Link createJunction(const QString &linkPath, const QString &targetPath)
DWORD bytesReturned;
if (!::DeviceIoControl(dirHandle.handle(), FSCTL_SET_REPARSE_POINT, reparseStructData,
- reparseStructData->ReparseDataLength + REPARSE_DATA_BUFFER_HEADER_SIZE, 0, 0,
- &bytesReturned, 0)) {
+ reparseStructData->ReparseDataLength + REPARSE_DATA_BUFFER_HEADER_SIZE, nullptr, 0,
+ &bytesReturned, nullptr)) {
qWarning() << "Cannot set the reparse point for" << linkPath << "to" << targetPath
<< ":" << QInstaller::windowsErrorString(GetLastError());
}
@@ -191,8 +191,8 @@ bool removeJunction(const QString &path)
DWORD bytesReturned;
if (!::DeviceIoControl(dirHandle.handle(), FSCTL_DELETE_REPARSE_POINT, reparseStructData,
- REPARSE_GUID_DATA_BUFFER_HEADER_SIZE, 0, 0,
- &bytesReturned, 0)) {
+ REPARSE_GUID_DATA_BUFFER_HEADER_SIZE, nullptr, 0,
+ &bytesReturned, nullptr)) {
qWarning() << "Cannot remove the reparse point" << path << ":" << QInstaller::windowsErrorString(GetLastError());
return false;
diff --git a/src/libs/installer/messageboxhandler.cpp b/src/libs/installer/messageboxhandler.cpp
index fcdee4a5f..286009e21 100644
--- a/src/libs/installer/messageboxhandler.cpp
+++ b/src/libs/installer/messageboxhandler.cpp
@@ -107,7 +107,7 @@ using namespace QInstaller;
Reports non-critical errors.
*/
-MessageBoxHandler *MessageBoxHandler::m_instance = 0;
+MessageBoxHandler *MessageBoxHandler::m_instance = nullptr;
MessageBoxHandler::MessageBoxHandler(QObject *parent)
: QObject(parent)
@@ -120,7 +120,7 @@ MessageBoxHandler::MessageBoxHandler(QObject *parent)
*/
MessageBoxHandler *MessageBoxHandler::instance()
{
- if (m_instance == 0)
+ if (m_instance == nullptr)
m_instance = new MessageBoxHandler(qApp);
return m_instance;
}
@@ -131,8 +131,8 @@ MessageBoxHandler *MessageBoxHandler::instance()
*/
QWidget *MessageBoxHandler::currentBestSuitParent()
{
- if (qobject_cast<QApplication*> (qApp) == 0)
- return 0;
+ if (qobject_cast<QApplication*> (qApp) == nullptr)
+ return nullptr;
if (qApp->activeModalWidget())
return qApp->activeModalWidget();
@@ -363,7 +363,7 @@ static QMessageBox::StandardButton showNewMessageBox(QWidget *parent, QMessageBo
{
QMessageBox msgBox(icon, title, text, QMessageBox::NoButton, parent);
QDialogButtonBox *buttonBox = msgBox.findChild<QDialogButtonBox *>();
- Q_ASSERT(buttonBox != 0);
+ Q_ASSERT(buttonBox != nullptr);
uint mask = QMessageBox::FirstButton;
while (mask <= QMessageBox::LastButton) {
@@ -404,7 +404,7 @@ QMessageBox::StandardButton MessageBoxHandler::showMessageBox(MessageType messag
qDebug().nospace() << "Created " << messageTypeHash.value(messageType).toUtf8().constData()
<< " message box " << identifier << ": " << title << ", " << text;
- if (qobject_cast<QApplication*> (qApp) == 0)
+ if (qobject_cast<QApplication*> (qApp) == nullptr)
return defaultButton;
if (m_automaticAnswers.contains(identifier))
diff --git a/src/libs/installer/metadatajob.cpp b/src/libs/installer/metadatajob.cpp
index cb1579756..3beda7ef2 100644
--- a/src/libs/installer/metadatajob.cpp
+++ b/src/libs/installer/metadatajob.cpp
@@ -53,7 +53,7 @@ static QUrl resolveUrl(const FileTaskResult &result, const QString &url)
MetadataJob::MetadataJob(QObject *parent)
: Job(parent)
- , m_core(0)
+ , m_core(nullptr)
, m_addCompressedPackages(false)
, m_downloadableChunkSize(1000)
, m_taskNumber(0)
@@ -102,6 +102,8 @@ Repository MetadataJob::repositoryForDirectory(const QString &directory) const
void MetadataJob::doStart()
{
+ setError(Job::NoError);
+ setErrorString(QString());
if (!m_core) {
emitFinishedWithError(Job::Canceled, tr("Missing package manager core engine."));
return; // We can't do anything here without core, so avoid tons of !m_core checks.
@@ -606,7 +608,14 @@ MetadataJob::Status MetadataJob::parseUpdatesXml(const QList<FileTaskResult> &re
item.insert(TaskRole::Checksum, packageHash.toLatin1());
item.insert(TaskRole::Authenticator, QVariant::fromValue(authenticator));
item.insert(TaskRole::Name, packageName);
+
m_packages.append(item);
+ } else {
+ QString fileName = metadata.directory + QLatin1Char('/') + packageName;
+ QDir directory(fileName);
+ if (!directory.exists()) {
+ directory.mkdir(fileName);
+ }
}
}
}
@@ -691,11 +700,13 @@ MetadataJob::Status MetadataJob::parseUpdatesXml(const QList<FileTaskResult> &re
if (tmpRepositories.count() > 0) {
s.addTemporaryRepositories(tmpRepositories, true);
QFile::remove(result.target());
+ m_metaFromDefaultRepositories.clear();
return XmlDownloadRetry;
}
} else if (s.updateDefaultRepositories(repositoryUpdates) == Settings::UpdatesApplied) {
if (m_core->isMaintainer())
m_core->writeMaintenanceConfigFiles();
+ m_metaFromDefaultRepositories.clear();
QFile::remove(result.target());
return XmlDownloadRetry;
}
diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp
index 0c814288e..78198156e 100644
--- a/src/libs/installer/packagemanagercore.cpp
+++ b/src/libs/installer/packagemanagercore.cpp
@@ -392,7 +392,7 @@ using namespace QInstaller;
Q_GLOBAL_STATIC(QMutex, globalModelMutex);
-static QFont *sVirtualComponentsFont = 0;
+static QFont *sVirtualComponentsFont = nullptr;
Q_GLOBAL_STATIC(QMutex, globalVirtualComponentsFontMutex);
static bool sNoForceInstallation = false;
@@ -697,7 +697,7 @@ void PackageManagerCore::rollBackInstallation()
// reregister all the undo operations with the new size to the ProgressCoordinator
foreach (Operation *const operation, d->m_performedOperationsCurrentSession) {
QObject *const operationObject = dynamic_cast<QObject*> (operation);
- if (operationObject != 0) {
+ if (operationObject != nullptr) {
const QMetaObject* const mo = operationObject->metaObject();
if (mo->indexOfSignal(QMetaObject::normalizedSignature("progressChanged(double)")) > -1) {
ProgressCoordinator::instance()->registerPartProgress(operationObject,
@@ -939,7 +939,7 @@ PackageManagerCore::~PackageManagerCore()
QMutexLocker _(globalVirtualComponentsFontMutex());
delete sVirtualComponentsFont;
- sVirtualComponentsFont = 0;
+ sVirtualComponentsFont = nullptr;
}
/* static */
@@ -1220,17 +1220,17 @@ bool PackageManagerCore::fetchPackagesTree(const PackagesList &packages, const L
const QString name = update->data(scName).toString();
if (!installedPackages.contains(name)) {
success = false;
- break; // unusual, the maintenance tool should always be available
+ continue; // unusual, the maintenance tool should always be available
}
const LocalPackage localPackage = installedPackages.value(name);
const QString updateVersion = update->data(scVersion).toString();
if (KDUpdater::compareVersion(updateVersion, localPackage.version) <= 0)
- break; // remote version equals or is less than the installed maintenance tool
+ continue; // remote version equals or is less than the installed maintenance tool
const QDate updateDate = update->data(scReleaseDate).toDate();
if (localPackage.lastUpdateDate >= updateDate)
- break; // remote release date equals or is less than the installed maintenance tool
+ continue; // remote release date equals or is less than the installed maintenance tool
success = false;
break; // we found a newer version of the maintenance tool
@@ -1549,7 +1549,7 @@ Component *PackageManagerCore::componentByName(const QString &name) const
Component *PackageManagerCore::componentByName(const QString &name, const QList<Component *> &components)
{
if (name.isEmpty())
- return 0;
+ return nullptr;
QString fixedVersion;
QString fixedName;
@@ -1561,7 +1561,7 @@ Component *PackageManagerCore::componentByName(const QString &name, const QList<
return component;
}
- return 0;
+ return nullptr;
}
/*!
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp
index ccb80306e..c67480737 100644
--- a/src/libs/installer/packagemanagercore_p.cpp
+++ b/src/libs/installer/packagemanagercore_p.cpp
@@ -36,6 +36,7 @@
#include "componentmodel.h"
#include "errors.h"
#include "fileio.h"
+#include "remotefileengine.h"
#include "graph.h"
#include "messageboxhandler.h"
#include "packagemanagercore.h"
@@ -81,7 +82,7 @@ namespace QInstaller {
class OperationTracer
{
public:
- OperationTracer(Operation *operation) : m_operation(0)
+ OperationTracer(Operation *operation) : m_operation(nullptr)
{
// don't create output for that hacky pseudo operation
if (operation->name() != QLatin1String("MinimumProgress"))
@@ -197,29 +198,30 @@ static void deferredRename(const QString &oldName, const QString &newName, bool
// -- PackageManagerCorePrivate
PackageManagerCorePrivate::PackageManagerCorePrivate(PackageManagerCore *core)
- : m_updateFinder(0)
- , m_compressedFinder(0)
+ : m_updateFinder(nullptr)
+ , m_compressedFinder(nullptr)
, m_localPackageHub(std::make_shared<LocalPackageHub>())
, m_core(core)
, m_updates(false)
, m_repoFetched(false)
, m_updateSourcesAdded(false)
, m_componentsToInstallCalculated(false)
- , m_componentScriptEngine(0)
- , m_controlScriptEngine(0)
- , m_installerCalculator(0)
- , m_uninstallerCalculator(0)
- , m_proxyFactory(0)
- , m_defaultModel(0)
- , m_updaterModel(0)
- , m_guiObject(0)
+ , m_componentScriptEngine(nullptr)
+ , m_controlScriptEngine(nullptr)
+ , m_installerCalculator(nullptr)
+ , m_uninstallerCalculator(nullptr)
+ , m_proxyFactory(nullptr)
+ , m_defaultModel(nullptr)
+ , m_updaterModel(nullptr)
+ , m_guiObject(nullptr)
+ , m_remoteFileEngineHandler(nullptr)
{
}
PackageManagerCorePrivate::PackageManagerCorePrivate(PackageManagerCore *core, qint64 magicInstallerMaker,
const QList<OperationBlob> &performedOperations)
- : m_updateFinder(0)
- , m_compressedFinder(0)
+ : m_updateFinder(nullptr)
+ , m_compressedFinder(nullptr)
, m_localPackageHub(std::make_shared<LocalPackageHub>())
, m_status(PackageManagerCore::Unfinished)
, m_needsHardRestart(false)
@@ -234,14 +236,15 @@ PackageManagerCorePrivate::PackageManagerCorePrivate(PackageManagerCore *core, q
, m_updateSourcesAdded(false)
, m_magicBinaryMarker(magicInstallerMaker)
, m_componentsToInstallCalculated(false)
- , m_componentScriptEngine(0)
- , m_controlScriptEngine(0)
- , m_installerCalculator(0)
- , m_uninstallerCalculator(0)
- , m_proxyFactory(0)
- , m_defaultModel(0)
- , m_updaterModel(0)
- , m_guiObject(0)
+ , m_componentScriptEngine(nullptr)
+ , m_controlScriptEngine(nullptr)
+ , m_installerCalculator(nullptr)
+ , m_uninstallerCalculator(nullptr)
+ , m_proxyFactory(nullptr)
+ , m_defaultModel(nullptr)
+ , m_updaterModel(nullptr)
+ , m_guiObject(nullptr)
+ , m_remoteFileEngineHandler(new RemoteFileEngineHandler)
{
foreach (const OperationBlob &operation, performedOperations) {
QScopedPointer<QInstaller::Operation> op(KDUpdater::UpdateOperationFactory::instance()
@@ -363,7 +366,7 @@ bool PackageManagerCorePrivate::buildComponentTree(QHash<QString, Component*> &c
for (it = components.constBegin(); it != components.constEnd(); ++it) {
QString id = it.key();
QInstaller::Component *component = it.value();
- while (!id.isEmpty() && component->parentComponent() == 0) {
+ while (!id.isEmpty() && component->parentComponent() == nullptr) {
id = id.section(QLatin1Char('.'), 0, -2);
if (components.contains(id))
components[id]->appendComponent(component);
@@ -372,7 +375,7 @@ bool PackageManagerCorePrivate::buildComponentTree(QHash<QString, Component*> &c
// append all components w/o parent to the direct list
foreach (QInstaller::Component *component, components) {
- if (component->parentComponent() == 0)
+ if (component->parentComponent() == nullptr)
m_core->appendRootComponent(component);
}
@@ -443,7 +446,7 @@ void PackageManagerCorePrivate::cleanUpComponentEnvironment()
// there could be still some references to already deleted components,
// so we need to remove the current component script engine
delete m_componentScriptEngine;
- m_componentScriptEngine = 0;
+ m_componentScriptEngine = nullptr;
}
ScriptEngine *PackageManagerCorePrivate::componentScriptEngine() const
@@ -517,7 +520,7 @@ QHash<QString, QPair<Component*, Component*> > &PackageManagerCorePrivate::compo
void PackageManagerCorePrivate::clearInstallerCalculator()
{
delete m_installerCalculator;
- m_installerCalculator = 0;
+ m_installerCalculator = nullptr;
}
InstallerCalculator *PackageManagerCorePrivate::installerCalculator() const
@@ -533,7 +536,7 @@ InstallerCalculator *PackageManagerCorePrivate::installerCalculator() const
void PackageManagerCorePrivate::clearUninstallerCalculator()
{
delete m_uninstallerCalculator;
- m_uninstallerCalculator = 0;
+ m_uninstallerCalculator = nullptr;
}
UninstallerCalculator *PackageManagerCorePrivate::uninstallerCalculator() const
@@ -685,7 +688,7 @@ Operation *PackageManagerCorePrivate::createOwnedOperation(const QString &type)
Operation *PackageManagerCorePrivate::takeOwnedOperation(Operation *operation)
{
if (!m_ownedOperations.contains(operation))
- return 0;
+ return nullptr;
m_ownedOperations.removeAll(operation);
return operation;
@@ -939,7 +942,7 @@ void PackageManagerCorePrivate::connectOperationToInstaller(Operation *const ope
{
Q_ASSERT(operationPartSize);
QObject *const operationObject = dynamic_cast< QObject*> (operation);
- if (operationObject != 0) {
+ if (operationObject != nullptr) {
const QMetaObject *const mo = operationObject->metaObject();
if (mo->indexOfSignal(QMetaObject::normalizedSignature("outputTextChanged(QString)")) > -1) {
connect(operationObject, SIGNAL(outputTextChanged(QString)), ProgressCoordinator::instance(),
@@ -1653,7 +1656,7 @@ bool PackageManagerCorePrivate::runPackageUpdater()
// build a list of undo operations based on the checked state of the component
foreach (Operation *operation, performedOperationsOld) {
const QString &name = operation->value(QLatin1String("component")).toString();
- Component *component = componentsByName.value(name, 0);
+ Component *component = componentsByName.value(name, nullptr);
if (!component)
component = m_core->componentByName(PackageManagerCore::checkableName(name));
if (component)
@@ -2354,8 +2357,13 @@ void PackageManagerCorePrivate::restoreCheckState()
if (m_coreCheckedHash.isEmpty())
return;
- foreach (Component *component, m_coreCheckedHash.keys())
+ foreach (Component *component, m_coreCheckedHash.keys()) {
component->setCheckState(m_coreCheckedHash.value(component));
+ // Never allow component to be checked when it is unstable
+ // and not installed
+ if (component->isUnstable() && !component->isInstalled())
+ component->setCheckState(Qt::Unchecked);
+ }
m_coreCheckedHash.clear();
m_componentsToInstallCalculated = false;
@@ -2374,7 +2382,7 @@ void PackageManagerCorePrivate::storeCheckState()
void PackageManagerCorePrivate::connectOperationCallMethodRequest(Operation *const operation)
{
QObject *const operationObject = dynamic_cast<QObject *> (operation);
- if (operationObject != 0) {
+ if (operationObject != nullptr) {
const QMetaObject *const mo = operationObject->metaObject();
if (mo->indexOfSignal(QMetaObject::normalizedSignature("requestBlockingExecution(QString)")) > -1) {
connect(operationObject, SIGNAL(requestBlockingExecution(QString)),
@@ -2417,7 +2425,7 @@ OperationList PackageManagerCorePrivate::sortOperationsBasedOnComponentDependenc
void PackageManagerCorePrivate::handleMethodInvocationRequest(const QString &invokableMethodName)
{
QObject *obj = QObject::sender();
- if (obj != 0)
+ if (obj != nullptr)
QMetaObject::invokeMethod(obj, qPrintable(invokableMethodName));
}
diff --git a/src/libs/installer/packagemanagercore_p.h b/src/libs/installer/packagemanagercore_p.h
index 6f43caf3b..21ab3fc40 100644
--- a/src/libs/installer/packagemanagercore_p.h
+++ b/src/libs/installer/packagemanagercore_p.h
@@ -58,6 +58,7 @@ class ComponentModel;
class TempDirDeleter;
class InstallerCalculator;
class UninstallerCalculator;
+class RemoteFileEngineHandler;
class PackageManagerCorePrivate : public QObject
{
@@ -262,6 +263,7 @@ private:
ComponentModel *m_updaterModel;
QObject *m_guiObject;
+ QScopedPointer<RemoteFileEngineHandler> m_remoteFileEngineHandler;
private:
// remove once we deprecate isSelected, setSelected etc...
diff --git a/src/libs/installer/packagemanagercoredata.cpp b/src/libs/installer/packagemanagercoredata.cpp
index 3b35794cf..ebacbf938 100644
--- a/src/libs/installer/packagemanagercoredata.cpp
+++ b/src/libs/installer/packagemanagercoredata.cpp
@@ -108,7 +108,7 @@ void PackageManagerCoreData::setDynamicPredefinedVariables()
QString dir = QLatin1String("/opt");
#ifdef Q_OS_WIN
TCHAR buffer[MAX_PATH + 1] = { 0 };
- SHGetFolderPath(0, CSIDL_PROGRAM_FILES, 0, 0, buffer);
+ SHGetFolderPath(nullptr, CSIDL_PROGRAM_FILES, nullptr, 0, buffer);
dir = QString::fromWCharArray(buffer);
#elif defined (Q_OS_OSX)
dir = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation).value(0);
diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp
index 0e2577850..a053e9bff 100644
--- a/src/libs/installer/packagemanagergui.cpp
+++ b/src/libs/installer/packagemanagergui.cpp
@@ -95,7 +95,7 @@ class DynamicInstallerPage : public PackageManagerPage
Q_PROPERTY(bool complete READ isComplete WRITE setComplete)
public:
- explicit DynamicInstallerPage(QWidget *widget, PackageManagerCore *core = 0)
+ explicit DynamicInstallerPage(QWidget *widget, PackageManagerCore *core = nullptr)
: PackageManagerPage(core)
, m_widget(widget)
{
@@ -398,7 +398,7 @@ void PackageManagerGui::setMaxSize()
*/
PackageManagerGui::~PackageManagerGui()
{
- m_core->setGuiObject(0);
+ m_core->setGuiObject(nullptr);
delete d;
}
@@ -665,7 +665,7 @@ void PackageManagerGui::wizardPageInsertionRequested(QWidget *widget,
wizardPageRemovalRequested(widget);
int pageId = static_cast<int>(page) - 1;
- while (QWizard::page(pageId) != 0)
+ while (QWizard::page(pageId) != nullptr)
--pageId;
// add it
@@ -679,7 +679,7 @@ void PackageManagerGui::wizardPageRemovalRequested(QWidget *widget)
{
foreach (int pageId, pageIds()) {
DynamicInstallerPage *const dynamicPage = qobject_cast<DynamicInstallerPage*>(page(pageId));
- if (dynamicPage == 0)
+ if (dynamicPage == nullptr)
continue;
if (dynamicPage->widget() != widget)
continue;
@@ -710,7 +710,7 @@ void PackageManagerGui::wizardWidgetInsertionRequested(QWidget *widget,
void PackageManagerGui::wizardWidgetRemovalRequested(QWidget *widget)
{
Q_ASSERT(widget);
- widget->setParent(0);
+ widget->setParent(nullptr);
packageManagerCore()->controlScriptEngine()->removeFromGlobalObject(widget);
packageManagerCore()->componentScriptEngine()->removeFromGlobalObject(widget);
}
@@ -721,9 +721,9 @@ void PackageManagerGui::wizardWidgetRemovalRequested(QWidget *widget)
*/
void PackageManagerGui::wizardPageVisibilityChangeRequested(bool visible, int p)
{
- if (visible && page(p) == 0) {
+ if (visible && page(p) == nullptr) {
setPage(p, d->m_defaultPages[p]);
- } else if (!visible && page(p) != 0) {
+ } else if (!visible && page(p) != nullptr) {
d->m_defaultPages[p] = page(p);
removePage(p);
}
@@ -753,7 +753,7 @@ QWidget *PackageManagerGui::pageByObjectName(const QString &name) const
return p;
}
qWarning() << "No page found for object name" << name;
- return 0;
+ return nullptr;
}
/*!
@@ -781,7 +781,7 @@ QWidget *PackageManagerGui::pageWidgetByObjectName(const QString &name) const
return p;
}
qWarning() << "No page found for object name" << name;
- return 0;
+ return nullptr;
}
/*!
@@ -1057,7 +1057,7 @@ PackageManagerPage::PackageManagerPage(PackageManagerCore *core)
: m_complete(true)
, m_needsSettingsButton(false)
, m_core(core)
- , validatorComponent(0)
+ , validatorComponent(nullptr)
{
if (!m_core->settings().titleColor().isEmpty()) {
m_titleColor = m_core->settings().titleColor();
@@ -1192,8 +1192,8 @@ bool PackageManagerPage::validatePage()
void PackageManagerPage::insertWidget(QWidget *widget, const QString &siblingName, int offset)
{
QWidget *sibling = findChild<QWidget *>(siblingName);
- QWidget *parent = sibling ? sibling->parentWidget() : 0;
- QLayout *layout = parent ? parent->layout() : 0;
+ QWidget *parent = sibling ? sibling->parentWidget() : nullptr;
+ QLayout *layout = parent ? parent->layout() : nullptr;
QBoxLayout *blayout = qobject_cast<QBoxLayout *>(layout);
if (blayout) {
@@ -1264,13 +1264,13 @@ IntroductionPage::IntroductionPage(PackageManagerCore *core)
: PackageManagerPage(core)
, m_updatesFetched(false)
, m_allPackagesFetched(false)
- , m_label(0)
- , m_msgLabel(0)
- , m_errorLabel(0)
- , m_progressBar(0)
- , m_packageManager(0)
- , m_updateComponents(0)
- , m_removeAllComponents(0)
+ , m_label(nullptr)
+ , m_msgLabel(nullptr)
+ , m_errorLabel(nullptr)
+ , m_progressBar(nullptr)
+ , m_packageManager(nullptr)
+ , m_updateComponents(nullptr)
+ , m_removeAllComponents(nullptr)
{
setObjectName(QLatin1String("IntroductionPage"));
setColoredTitle(tr("Setup - %1").arg(productName()));
@@ -1347,7 +1347,7 @@ IntroductionPage::IntroductionPage(PackageManagerCore *core)
connect(core, &PackageManagerCore::metaJobProgress,
m_taskButton->progress(), &QWinTaskbarProgress::setValue);
} else {
- m_taskButton = 0;
+ m_taskButton = nullptr;
}
#endif
}
@@ -1912,7 +1912,10 @@ void ComponentSelectionPage::entering()
setModified(isComplete());
if (core->settings().repositoryCategories().count() > 0 && !core->isOfflineOnly()
&& !core->isUpdater()) {
- d->setupCategoryLayout();
+ d->showCategoryLayout(true);
+ core->settings().setAllowUnstableComponents(true);
+ } else {
+ d->showCategoryLayout(false);
}
d->showCompressedRepositoryButton();
}
@@ -2802,7 +2805,7 @@ void PerformInstallationPage::toggleDetailsWereChanged()
*/
FinishedPage::FinishedPage(PackageManagerCore *core)
: PackageManagerPage(core)
- , m_commitButton(0)
+ , m_commitButton(nullptr)
{
setObjectName(QLatin1String("FinishedPage"));
setColoredTitle(tr("Completing the %1 Wizard").arg(productName()));
@@ -2835,7 +2838,7 @@ void FinishedPage::entering()
if (m_commitButton) {
disconnect(m_commitButton, &QAbstractButton::clicked, this, &FinishedPage::handleFinishClicked);
- m_commitButton = 0;
+ m_commitButton = nullptr;
}
if (packageManagerCore()->isMaintainer()) {
diff --git a/src/libs/installer/performinstallationform.cpp b/src/libs/installer/performinstallationform.cpp
index b66cbb5bd..28506bcde 100644
--- a/src/libs/installer/performinstallationform.cpp
+++ b/src/libs/installer/performinstallationform.cpp
@@ -76,18 +76,18 @@ using namespace QInstaller;
*/
PerformInstallationForm::PerformInstallationForm(QObject *parent)
: QObject(parent)
- , m_progressBar(0)
- , m_progressLabel(0)
- , m_detailsButton(0)
- , m_detailsBrowser(0)
- , m_updateTimer(0)
+ , m_progressBar(nullptr)
+ , m_progressLabel(nullptr)
+ , m_detailsButton(nullptr)
+ , m_detailsBrowser(nullptr)
+ , m_updateTimer(nullptr)
{
#ifdef Q_OS_WIN
if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) {
m_taskButton = new QWinTaskbarButton(this);
m_taskButton->progress()->setVisible(true);
} else {
- m_taskButton = 0;
+ m_taskButton = nullptr;
}
#endif
}
diff --git a/src/libs/installer/progresscoordinator.cpp b/src/libs/installer/progresscoordinator.cpp
index 1a3f4e33f..d3fbd764f 100644
--- a/src/libs/installer/progresscoordinator.cpp
+++ b/src/libs/installer/progresscoordinator.cpp
@@ -59,8 +59,8 @@ ProgressCoordinator::~ProgressCoordinator()
ProgressCoordinator *ProgressCoordinator::instance()
{
- static ProgressCoordinator *instance = 0;
- if (instance == 0)
+ static ProgressCoordinator *instance =nullptr;
+ if (instance == nullptr)
instance = new ProgressCoordinator(qApp);
return instance;
}
diff --git a/src/libs/installer/qprocesswrapper.cpp b/src/libs/installer/qprocesswrapper.cpp
index 1bf60ead2..7cd5ad7d1 100644
--- a/src/libs/installer/qprocesswrapper.cpp
+++ b/src/libs/installer/qprocesswrapper.cpp
@@ -109,7 +109,7 @@ bool QProcessWrapper::startDetached(const QString &program, const QStringList &a
const QPair<bool, qint64> result =
w.callRemoteMethod<QPair<bool, qint64> >(QLatin1String(Protocol::QProcessStartDetached),
program, arguments, workingDirectory);
- if (pid != 0)
+ if (pid != nullptr)
*pid = result.second;
w.processSignals();
return result.first;
diff --git a/src/libs/installer/registerfiletypeoperation.cpp b/src/libs/installer/registerfiletypeoperation.cpp
index bcae422d7..27794652f 100644
--- a/src/libs/installer/registerfiletypeoperation.cpp
+++ b/src/libs/installer/registerfiletypeoperation.cpp
@@ -133,7 +133,7 @@ bool RegisterFileTypeOperation::performOperation()
setValue(QLatin1String("newType"), readHive(&settings, classesFileType));
// force the shell to invalidate its cache
- SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
+ SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nullptr, nullptr);
return true;
#else
@@ -192,7 +192,7 @@ bool RegisterFileTypeOperation::undoOperation()
settings.remove(classesApplications);
// force the shell to invalidate its cache
- SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
+ SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nullptr, nullptr);
return true;
#else
diff --git a/src/libs/installer/remoteclient.cpp b/src/libs/installer/remoteclient.cpp
index c6f5e535f..e208620cb 100644
--- a/src/libs/installer/remoteclient.cpp
+++ b/src/libs/installer/remoteclient.cpp
@@ -31,7 +31,7 @@
namespace QInstaller {
-RemoteClient *RemoteClient::s_instance = 0;
+RemoteClient *RemoteClient::s_instance = nullptr;
RemoteClient::RemoteClient()
: d_ptr(new RemoteClientPrivate(this))
@@ -88,7 +88,7 @@ void RemoteClient::shutdown()
void RemoteClient::destroy()
{
delete s_instance;
- s_instance = 0;
+ s_instance = nullptr;
}
bool RemoteClient::isActive() const
diff --git a/src/libs/installer/remoteobject.cpp b/src/libs/installer/remoteobject.cpp
index 49c111610..c9c822299 100644
--- a/src/libs/installer/remoteobject.cpp
+++ b/src/libs/installer/remoteobject.cpp
@@ -39,9 +39,9 @@ namespace QInstaller {
RemoteObject::RemoteObject(const QString &wrappedType, QObject *parent)
: QObject(parent)
- , dummy(0)
+ , dummy(nullptr)
, m_type(wrappedType)
- , m_socket(0)
+ , m_socket(nullptr)
{
Q_ASSERT_X(!m_type.isEmpty(), Q_FUNC_INFO, "The wrapped Qt type needs to be passed as "
"argument and cannot be empty.");
@@ -78,7 +78,7 @@ bool RemoteObject::authorize()
return true;
}
delete m_socket;
- m_socket = 0;
+ m_socket = nullptr;
return false;
}
diff --git a/src/libs/installer/remoteserverconnection.cpp b/src/libs/installer/remoteserverconnection.cpp
index 61bacc0c5..5a47bc472 100644
--- a/src/libs/installer/remoteserverconnection.cpp
+++ b/src/libs/installer/remoteserverconnection.cpp
@@ -44,10 +44,10 @@ RemoteServerConnection::RemoteServerConnection(qintptr socketDescriptor, const Q
QObject *parent)
: QThread(parent)
, m_socketDescriptor(socketDescriptor)
- , m_process(0)
- , m_engine(0)
+ , m_process(nullptr)
+ , m_engine(nullptr)
, m_authorizationKey(key)
- , m_signalReceiver(0)
+ , m_signalReceiver(nullptr)
{
setObjectName(QString::fromLatin1("RemoteServerConnection(%1)").arg(socketDescriptor));
}
@@ -146,10 +146,10 @@ void RemoteServerConnection::run()
} else if (type == QLatin1String(Protocol::QProcess)) {
m_signalReceiver->m_receivedSignals.clear();
m_process->deleteLater();
- m_process = 0;
+ m_process = nullptr;
} else if (type == QLatin1String(Protocol::QAbstractFileEngine)) {
delete m_engine;
- m_engine = 0;
+ m_engine = nullptr;
}
return;
}
diff --git a/src/libs/installer/repository.cpp b/src/libs/installer/repository.cpp
index 249012786..5e31d81e2 100644
--- a/src/libs/installer/repository.cpp
+++ b/src/libs/installer/repository.cpp
@@ -279,7 +279,8 @@ void Repository::registerMetaType()
QDataStream &operator>>(QDataStream &istream, Repository &repository)
{
QByteArray url, username, password, displayname, compressed;
- istream >> url >> repository.m_default >> repository.m_enabled >> username >> password >> displayname;
+ istream >> url >> repository.m_default >> repository.m_enabled >> username >> password
+ >> displayname >> repository.m_archivename;
repository.setUrl(QUrl::fromEncoded(QByteArray::fromBase64(url)));
repository.setUsername(QString::fromUtf8(QByteArray::fromBase64(username)));
repository.setPassword(QString::fromUtf8(QByteArray::fromBase64(password)));
diff --git a/src/libs/installer/repositorycategory.cpp b/src/libs/installer/repositorycategory.cpp
index af7f6e818..42fb41c99 100644
--- a/src/libs/installer/repositorycategory.cpp
+++ b/src/libs/installer/repositorycategory.cpp
@@ -58,7 +58,8 @@ RepositoryCategory::RepositoryCategory()
Constructs a new category by using all fields of the given category \a other.
*/
RepositoryCategory::RepositoryCategory(const RepositoryCategory &other)
- : m_displayname(other.m_displayname), m_data(other.m_data), m_enabled(other.m_enabled)
+ : m_displayname(other.m_displayname), m_data(other.m_data), m_enabled(other.m_enabled),
+ m_tooltip(other.m_tooltip)
{
registerMetaType();
}
@@ -86,6 +87,16 @@ void RepositoryCategory::setDisplayName(const QString &displayname)
m_displayname = displayname;
}
+QString RepositoryCategory::tooltip() const
+{
+ return m_tooltip;
+}
+
+void RepositoryCategory::setTooltip(const QString &tooltip)
+{
+ m_tooltip = tooltip;
+}
+
/*!
Returns the list of repositories the category has.
*/
diff --git a/src/libs/installer/repositorycategory.h b/src/libs/installer/repositorycategory.h
index 315af761b..98d5df7bd 100644
--- a/src/libs/installer/repositorycategory.h
+++ b/src/libs/installer/repositorycategory.h
@@ -50,6 +50,9 @@ public:
QString displayname() const;
void setDisplayName(const QString &displayname);
+ QString tooltip() const;
+ void setTooltip(const QString &tooltip);
+
QSet<Repository> repositories() const;
void setRepositories(const QSet<Repository> repositories);
void addRepository(const Repository repository);
@@ -68,6 +71,7 @@ public:
private:
QVariantHash m_data;
QString m_displayname;
+ QString m_tooltip;
bool m_enabled;
};
diff --git a/src/libs/installer/scriptengine.cpp b/src/libs/installer/scriptengine.cpp
index bea1e8e75..994fa1406 100644
--- a/src/libs/installer/scriptengine.cpp
+++ b/src/libs/installer/scriptengine.cpp
@@ -97,7 +97,7 @@ void QDesktopServicesProxy::findRecursion(const QString &path, const QString &pa
GuiProxy::GuiProxy(ScriptEngine *engine, QObject *parent) :
QObject(parent),
m_engine(engine),
- m_gui(0)
+ m_gui(nullptr)
{
}
diff --git a/src/libs/installer/settings.cpp b/src/libs/installer/settings.cpp
index 21bbe8b4c..13eb2ce40 100644
--- a/src/libs/installer/settings.cpp
+++ b/src/libs/installer/settings.cpp
@@ -135,9 +135,10 @@ static QStringList readArgumentAttributes(QXmlStreamReader &reader, Settings::Pa
return arguments;
}
-static QSet<Repository> readRepositories(QXmlStreamReader &reader, bool isDefault, Settings::ParseMode parseMode, QString *displayName = 0)
+static QSet<Repository> readRepositories(QXmlStreamReader &reader, bool isDefault, Settings::ParseMode parseMode,
+ QString *displayName = nullptr, bool *preselected = nullptr,
+ QString *tooltip = nullptr)
{
- qDebug()<<__FUNCTION__;
QSet<Repository> set;
while (reader.readNextStartElement()) {
if (reader.name() == QLatin1String("DisplayName")) {
@@ -169,6 +170,10 @@ static QSet<Repository> readRepositories(QXmlStreamReader &reader, bool isDefaul
if (displayName && !displayName->isEmpty())
repo.setArchiveName(*displayName);
set.insert(repo);
+ } else if (reader.name() == QLatin1String("Tooltip")) {
+ *tooltip = reader.readElementText();
+ } else if (reader.name() == QLatin1String("Preselected")) {
+ *preselected = (reader.readElementText() == QLatin1String("true") ? true : false);
} else {
raiseError(reader, QString::fromLatin1("Unexpected element \"%1\".").arg(reader.name().toString()),
parseMode);
@@ -190,8 +195,13 @@ static QSet<RepositoryCategory> readRepositoryCategories(QXmlStreamReader &reade
if (reader.name() == QLatin1String("RemoteRepositories")) {
RepositoryCategory archiveRepo;
QString displayName;
- archiveRepo.setRepositories(readRepositories(reader, isDefault, parseMode, &displayName));
+ QString tooltip;
+ bool preselected = false;
+ archiveRepo.setRepositories(readRepositories(reader, isDefault, parseMode,
+ &displayName, &preselected, &tooltip));
archiveRepo.setDisplayName(displayName);
+ archiveRepo.setTooltip(tooltip);
+ archiveRepo.setEnabled(preselected);
archiveSet.insert(archiveRepo);
} else if (reader.name() == QLatin1String("RepositoryCategoryDisplayname")) {
*repositoryCategoryName = reader.readElementText();
@@ -584,6 +594,16 @@ QSet<RepositoryCategory> Settings::repositoryCategories() const
return variantListToSet<RepositoryCategory>(d->m_data.values(scRepositoryCategories));
}
+QMap<QString, RepositoryCategory> Settings::organizedRepositoryCategories() const
+{
+ QSet<RepositoryCategory> categories = repositoryCategories();
+ QMap<QString, RepositoryCategory> map;
+ foreach (const RepositoryCategory &category, categories) {
+ map.insert(category.displayname(), category);
+ }
+ return map;
+}
+
void Settings::setDefaultRepositories(const QSet<Repository> &repositories)
{
d->m_data.remove(scRepositories);
@@ -812,7 +832,7 @@ void Settings::setSaveDefaultRepositories(bool save)
QString Settings::repositoryCategoryDisplayName() const
{
QString displayName = d->m_data.value(QLatin1String(scRepositoryCategoryDisplayName)).toString();
- return displayName.isEmpty() ? tr("Package categories") : displayName;
+ return displayName.isEmpty() ? tr("Show package categories") : displayName;
}
void Settings::setRepositoryCategoryDisplayName(const QString& name)
diff --git a/src/libs/installer/settings.h b/src/libs/installer/settings.h
index 0ee58639d..55b94d745 100644
--- a/src/libs/installer/settings.h
+++ b/src/libs/installer/settings.h
@@ -116,6 +116,7 @@ public:
QSet<Repository> defaultRepositories() const;
QSet<RepositoryCategory> repositoryCategories() const;
+ QMap<QString, RepositoryCategory> organizedRepositoryCategories() const;
void setDefaultRepositories(const QSet<Repository> &repositories);
void addDefaultRepositories(const QSet<Repository> &repositories);
void addRepositoryCategories(const QSet<RepositoryCategory> &repositories);
diff --git a/src/libs/installer/sysinfo_win.cpp b/src/libs/installer/sysinfo_win.cpp
index 69c1744ca..508ce7a6e 100644
--- a/src/libs/installer/sysinfo_win.cpp
+++ b/src/libs/installer/sysinfo_win.cpp
@@ -57,7 +57,7 @@ VolumeInfo updateVolumeSizeInformation(const VolumeInfo &info)
ULARGE_INTEGER freeBytesPerUser;
VolumeInfo update = info;
- if (GetDiskFreeSpaceExA(qPrintable(info.volumeDescriptor()), &freeBytesPerUser, &bytesTotal, NULL)) {
+ if (GetDiskFreeSpaceExA(qPrintable(info.volumeDescriptor()), &freeBytesPerUser, &bytesTotal, nullptr)) {
update.setSize(bytesTotal.QuadPart);
update.setAvailableSize(freeBytesPerUser.QuadPart);
}
@@ -197,7 +197,7 @@ bool killProcess(const ProcessInfo &process, int msecs)
// If we can't open the process with PROCESS_TERMINATE rights, then we give up immediately.
HANDLE hProc = OpenProcess(SYNCHRONIZE | PROCESS_TERMINATE, false, process.id);
- if (hProc == 0)
+ if (hProc == nullptr)
return false;
// TerminateAppEnum() posts WM_CLOSE to all windows whose PID matches your process's.
@@ -212,4 +212,4 @@ bool killProcess(const ProcessInfo &process, int msecs)
return returnValue;
}
-} \ No newline at end of file
+}
diff --git a/src/libs/installer/unziptask.cpp b/src/libs/installer/unziptask.cpp
index f1f0dd0a1..e0fb5449a 100644
--- a/src/libs/installer/unziptask.cpp
+++ b/src/libs/installer/unziptask.cpp
@@ -89,7 +89,7 @@ public:
m_futureInterface->waitForResume();
COM_TRY_BEGIN
- *outStream = 0;
+ *outStream = nullptr;
m_currentIndex = index;
if (askExtractMode != NArchive::NExtract::NAskMode::kExtract)
return E_FAIL;
@@ -160,8 +160,8 @@ public:
const bool writeCreationTime = GetTime(kpidCTime, &creationTime);
const bool writeModificationTime = GetTime(kpidMTime, &modificationTime);
- m_outFileStream->SetTime((writeCreationTime ? &creationTime : NULL),
- (writeAccessTime ? &accessTime : NULL), (writeModificationTime ? &modificationTime : NULL));
+ m_outFileStream->SetTime((writeCreationTime ? &creationTime : nullptr),
+ (writeAccessTime ? &accessTime : nullptr), (writeModificationTime ? &modificationTime : nullptr));
m_totalUnpacked += m_outFileStream->ProcessedSize;
m_outFileStream->Close();
diff --git a/src/libs/installer/utils.cpp b/src/libs/installer/utils.cpp
index a11ac774e..e4e3212ac 100644
--- a/src/libs/installer/utils.cpp
+++ b/src/libs/installer/utils.cpp
@@ -85,16 +85,16 @@ bool QInstaller::startDetached(const QString &program, const QStringList &argume
bool success = false;
#ifdef Q_OS_WIN
PROCESS_INFORMATION pinfo;
- STARTUPINFOW startupInfo = { sizeof(STARTUPINFO), 0, 0, 0,
+ STARTUPINFOW startupInfo = { sizeof(STARTUPINFO), nullptr, nullptr, nullptr,
static_cast<ulong>(CW_USEDEFAULT), static_cast<ulong>(CW_USEDEFAULT),
static_cast<ulong>(CW_USEDEFAULT), static_cast<ulong>(CW_USEDEFAULT),
- 0, 0, 0, STARTF_USESHOWWINDOW, SW_HIDE, 0, 0, 0, 0, 0
+ 0, 0, 0, STARTF_USESHOWWINDOW, SW_HIDE, 0, nullptr, nullptr, nullptr, nullptr
}; // That's the difference over QProcess::startDetached(): STARTF_USESHOWWINDOW, SW_HIDE.
const QString commandline = QInstaller::createCommandline(program, arguments);
- if (CreateProcessW(0, (wchar_t*) commandline.utf16(),
- 0, 0, false, CREATE_UNICODE_ENVIRONMENT | CREATE_NEW_CONSOLE,
- 0, workingDirectory.isEmpty() ? 0 : (wchar_t*) workingDirectory.utf16(),
+ if (CreateProcessW(nullptr, (wchar_t*) commandline.utf16(),
+ nullptr, nullptr, false, CREATE_UNICODE_ENVIRONMENT | CREATE_NEW_CONSOLE,
+ nullptr, workingDirectory.isEmpty() ? nullptr : (wchar_t*) workingDirectory.utf16(),
&startupInfo, &pinfo)) {
success = true;
CloseHandle(pinfo.hThread);
@@ -244,7 +244,7 @@ bool QInstaller::VerboseWriter::flush(VerboseWriterOutput *output)
if (output->write(logFileName, QIODevice::ReadWrite | QIODevice::Append | QIODevice::Text, buffer.data())) {
preFileBuffer.close();
- stream.setDevice(0);
+ stream.setDevice(nullptr);
return true;
}
return false;
@@ -341,7 +341,7 @@ static QVector<Char*> qWinCmdLine(Char *cmdParam, int length, int &argc)
argv[argc++] = start;
}
}
- argv[argc] = 0;
+ argv[argc] = nullptr;
return argv;
}
@@ -419,14 +419,14 @@ QString QInstaller::createCommandline(const QString &program, const QStringList
QString QInstaller::windowsErrorString(int errorCode)
{
QString ret;
- wchar_t *string = 0;
+ wchar_t *string = nullptr;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
- NULL,
+ nullptr,
errorCode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPWSTR) &string,
0,
- NULL);
+ nullptr);
ret = QString::fromWCharArray(string);
LocalFree((HLOCAL) string);
diff --git a/src/libs/kdtools/filedownloader.cpp b/src/libs/kdtools/filedownloader.cpp
index 5574a3af6..fce1a6208 100644
--- a/src/libs/kdtools/filedownloader.cpp
+++ b/src/libs/kdtools/filedownloader.cpp
@@ -661,18 +661,6 @@ void KDUpdater::FileDownloader::resetCheckSumData()
}
/*!
- Creates a directory structure for \a fileName if it does not exist.
-*/
-void KDUpdater::FileDownloader::createDirectoryForFile(const QString fileName)
-{
- QFileInfo fileInfo(fileName);
- if (!fileInfo.absoluteDir().exists()) {
- QDir filePath = fileInfo.absoluteDir();
- filePath.mkdir(filePath.absolutePath());
- }
-}
-
-/*!
Returns a copy of the proxy factory that this FileDownloader object is using to determine the
proxies to be used for requests.
*/
@@ -825,7 +813,6 @@ void KDUpdater::LocalFileDownloader::doDownload()
file->open();
d->destination = file;
} else {
- createDirectoryForFile(d->destFileName);
d->destination = new QFile(d->destFileName, this);
d->destination->open(QIODevice::ReadWrite | QIODevice::Truncate);
}
@@ -1478,7 +1465,6 @@ void KDUpdater::HttpDownloader::startDownload(const QUrl &url)
file->open();
d->destination = file;
} else {
- createDirectoryForFile(d->destFileName);
d->destination = new QFile(d->destFileName, this);
d->destination->open(QIODevice::ReadWrite | QIODevice::Truncate);
}
diff --git a/src/libs/kdtools/filedownloader.h b/src/libs/kdtools/filedownloader.h
index 10a041fba..ede20dcfa 100644
--- a/src/libs/kdtools/filedownloader.h
+++ b/src/libs/kdtools/filedownloader.h
@@ -140,7 +140,6 @@ protected:
void addCheckSumData(const QByteArray &data);
void addCheckSumData(const char *data, int length);
void resetCheckSumData();
- void createDirectoryForFile(const QString fileName);
private Q_SLOTS:
virtual void doDownload() = 0;
diff --git a/src/sdk/console_win.cpp b/src/sdk/console_win.cpp
index baca7edaa..f3226bc60 100644
--- a/src/sdk/console_win.cpp
+++ b/src/sdk/console_win.cpp
@@ -46,7 +46,7 @@
static bool isRedirected(HANDLE stdHandle)
{
- if (stdHandle == NULL) // launched from GUI
+ if (stdHandle == nullptr) // launched from GUI
return false;
DWORD fileType = GetFileType(stdHandle);
if (fileType == FILE_TYPE_UNKNOWN) {
@@ -73,8 +73,8 @@ static bool isRedirected(HANDLE stdHandle)
* (e.g. into a file), Console does not interfere.
*/
Console::Console() :
- m_oldCout(0),
- m_oldCerr(0)
+ m_oldCout(nullptr),
+ m_oldCerr(nullptr)
{
bool isCoutRedirected = isRedirected(GetStdHandle(STD_OUTPUT_HANDLE));
bool isCerrRedirected = isRedirected(GetStdHandle(STD_ERROR_HANDLE));
@@ -97,7 +97,7 @@ Console::Console() :
| ENABLE_EXTENDED_FLAGS);
# ifndef Q_CC_MINGW
HMENU systemMenu = GetSystemMenu(GetConsoleWindow(), FALSE);
- if (systemMenu != NULL)
+ if (systemMenu != nullptr)
RemoveMenu(systemMenu, SC_CLOSE, MF_BYCOMMAND);
DrawMenuBar(GetConsoleWindow());
# endif
diff --git a/src/sdk/installerbase.cpp b/src/sdk/installerbase.cpp
index 872600f19..8ec142950 100644
--- a/src/sdk/installerbase.cpp
+++ b/src/sdk/installerbase.cpp
@@ -64,7 +64,7 @@
InstallerBase::InstallerBase(int &argc, char *argv[])
: SDKApp<QApplication>(argc, argv)
- , m_core(0)
+ , m_core(nullptr)
{
QInstaller::init(); // register custom operations
}
@@ -87,7 +87,7 @@ int InstallerBase::run()
// just silently ignore the fact that we could not create the lock file
// and check the running processes.
if (runCheck.isRunning(RunOnceChecker::ConditionFlag::ProcessList)) {
- QInstaller::MessageBoxHandler::information(0, QLatin1String("AlreadyRunning"),
+ QInstaller::MessageBoxHandler::information(nullptr, QLatin1String("AlreadyRunning"),
tr("Waiting for %1").arg(qAppName()),
tr("Another %1 instance is already running. Wait "
"until it finishes, close it, or restart your system.").arg(qAppName()));
@@ -304,7 +304,7 @@ int InstallerBase::run()
}
else {
//create the wizard GUI
- TabController controller(0);
+ TabController controller(nullptr);
controller.setManager(m_core);
controller.setControlScript(controlScript);
if (m_core->isInstaller())
diff --git a/src/sdk/installerbasecommons.cpp b/src/sdk/installerbasecommons.cpp
index 1a335f660..bd1c4cdf5 100644
--- a/src/sdk/installerbasecommons.cpp
+++ b/src/sdk/installerbasecommons.cpp
@@ -39,7 +39,7 @@ using namespace QInstaller;
// -- InstallerGui
InstallerGui::InstallerGui(PackageManagerCore *core)
- : PackageManagerGui(core, 0)
+ : PackageManagerGui(core, nullptr)
{
ProductKeyCheck *checker = ProductKeyCheck::instance();
foreach (const int id, checker->registeredPages()) {
@@ -71,7 +71,7 @@ InstallerGui::InstallerGui(PackageManagerCore *core)
// -- MaintenanceGui
MaintenanceGui::MaintenanceGui(PackageManagerCore *core)
- : PackageManagerGui(core, 0)
+ : PackageManagerGui(core, nullptr)
{
ProductKeyCheck *checker = ProductKeyCheck::instance();
foreach (const int id, checker->registeredPages()) {
diff --git a/src/sdk/settingsdialog.cpp b/src/sdk/settingsdialog.cpp
index 7e2ba31b9..7b05f71c9 100644
--- a/src/sdk/settingsdialog.cpp
+++ b/src/sdk/settingsdialog.cpp
@@ -67,7 +67,7 @@ QWidget *PasswordDelegate::createEditor(QWidget *parent, const QStyleOptionViewI
const
{
if (m_disabledEditor)
- return 0;
+ return nullptr;
QLineEdit *lineEdit = new QLineEdit(parent);
lineEdit->setEchoMode(m_showPasswords ? QLineEdit::Normal : QLineEdit::Password);
diff --git a/src/sdk/tabcontroller.cpp b/src/sdk/tabcontroller.cpp
index dc4549d50..75eb081ce 100644
--- a/src/sdk/tabcontroller.cpp
+++ b/src/sdk/tabcontroller.cpp
@@ -61,8 +61,8 @@ public:
TabController::Private::Private()
: m_init(false)
, m_networkSettingsChanged(false)
- , m_gui(0)
- , m_core(0)
+ , m_gui(nullptr)
+ , m_core(nullptr)
{
}
diff --git a/src/sdk/translations/ifw_da.ts b/src/sdk/translations/ifw_da.ts
index 57540b788..ecad1e112 100644
--- a/src/sdk/translations/ifw_da.ts
+++ b/src/sdk/translations/ifw_da.ts
@@ -669,36 +669,36 @@
<translation>byte</translation>
</message>
<message>
- <source>KiB</source>
- <translation>KiB</translation>
+ <source>KB</source>
+ <translation>KB</translation>
</message>
<message>
- <source>MiB</source>
- <translation>MiB</translation>
+ <source>MB</source>
+ <translation>MB</translation>
</message>
<message>
- <source>GiB</source>
- <translation>GiB</translation>
+ <source>GB</source>
+ <translation>GB</translation>
</message>
<message>
- <source>TiB</source>
- <translation>TiB</translation>
+ <source>TB</source>
+ <translation>TB</translation>
</message>
<message>
- <source>PiB</source>
- <translation>PiB</translation>
+ <source>PB</source>
+ <translation>PB</translation>
</message>
<message>
- <source>EiB</source>
- <translation>EiB</translation>
+ <source>EB</source>
+ <translation>EB</translation>
</message>
<message>
- <source>ZiB</source>
- <translation>ZiB</translation>
+ <source>ZB</source>
+ <translation>ZB</translation>
</message>
<message>
- <source>YiB</source>
- <translation>YiB</translation>
+ <source>YB</source>
+ <translation>YB</translation>
</message>
<message>
<source>Cannot remove file &quot;%1&quot;: %2</source>
diff --git a/src/sdk/translations/ifw_de.ts b/src/sdk/translations/ifw_de.ts
index 347b17cec..4d684b804 100644
--- a/src/sdk/translations/ifw_de.ts
+++ b/src/sdk/translations/ifw_de.ts
@@ -669,36 +669,36 @@
<translation>Bytes</translation>
</message>
<message>
- <source>KiB</source>
- <translation>KiB</translation>
+ <source>KB</source>
+ <translation>KB</translation>
</message>
<message>
- <source>MiB</source>
- <translation>MiB</translation>
+ <source>MB</source>
+ <translation>MB</translation>
</message>
<message>
- <source>GiB</source>
- <translation>GiB</translation>
+ <source>GB</source>
+ <translation>GB</translation>
</message>
<message>
- <source>TiB</source>
- <translation>TiB</translation>
+ <source>TB</source>
+ <translation>TB</translation>
</message>
<message>
- <source>PiB</source>
- <translation>PiB</translation>
+ <source>PB</source>
+ <translation>PB</translation>
</message>
<message>
- <source>EiB</source>
- <translation>EiB</translation>
+ <source>EB</source>
+ <translation>EB</translation>
</message>
<message>
- <source>ZiB</source>
- <translation>ZiB</translation>
+ <source>ZB</source>
+ <translation>ZB</translation>
</message>
<message>
- <source>YiB</source>
- <translation>YiB</translation>
+ <source>YB</source>
+ <translation>YB</translation>
</message>
<message>
<source>Cannot remove file &quot;%1&quot;: %2</source>
diff --git a/src/sdk/translations/ifw_es.ts b/src/sdk/translations/ifw_es.ts
index 5ad785ade..c08595b34 100644
--- a/src/sdk/translations/ifw_es.ts
+++ b/src/sdk/translations/ifw_es.ts
@@ -1,22 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.1" language="es_ES">
+<TS version="2.1">
<context>
- <name>Component</name>
+ <name>AuthenticationRequiredException</name>
<message>
- <source>Cannot open archive %1: %2</source>
- <translation>No se puede abrir el archivo %1: %2</translation>
+ <source>%1 at %2</source>
+ <translation>%1 en %2</translation>
+ </message>
+ <message>
+ <source>Proxy requires authentication.</source>
+ <translation>El proxy requiere autenticación.</translation>
+ </message>
+</context>
+<context>
+ <name>BinaryContent</name>
+ <message>
+ <source>Cannot seek to %1 to read the operation data.</source>
+ <translation>No se puede buscar %1 para leer los datos de operaciones.</translation>
+ </message>
+ <message>
+ <source>Cannot seek to %1 to read the resource collection block.</source>
+ <translation>No se puede buscar %1 para leer el bloque de captura de recursos.</translation>
+ </message>
+ <message>
+ <source>Cannot open meta resource %1.</source>
+ <translation>No se puede abrir el recurso de metadatos %1.</translation>
+ </message>
+</context>
+<context>
+ <name>BinaryLayout</name>
+ <message>
+ <source>Cannot seek to %1 to read the embedded meta data count.</source>
+ <translation>No se puede buscar %1 para leer el recuento de metadatos integrados.</translation>
+ </message>
+ <message>
+ <source>Cannot seek to %1 to read the resource collection segment.</source>
+ <translation>No se puede buscar %1 para leer el segmento de captura de recursos.</translation>
+ </message>
+ <message>
+ <source>Unexpected mismatch of meta resources. Read %1, expected: %2.</source>
+ <translation>Discrepancia inesperada de recursos de metadatos. Leídos %1, esperados: %2.</translation>
</message>
</context>
<context>
<name>Dialog</name>
<message>
<source>Http authentication required</source>
- <translation>Autenticación Http requerida</translation>
+ <translation>Se requiere autenticación http</translation>
</message>
<message>
<source>You need to supply a Username and Password to access this site.</source>
- <translation>Tienes que suministrar un nombre de usuario y contraseña para poder acceder a este sitio.</translation>
+ <translation>Debe proporcionar un nombre de usuario y una contraseña para acceder a este sitio.</translation>
</message>
<message>
<source>Username:</source>
@@ -32,200 +66,202 @@
</message>
</context>
<context>
- <name>IntroductionPageImpl</name>
+ <name>DirectoryGuard</name>
<message>
- <source>Package manager</source>
- <translation>Gestor de paquetes</translation>
+ <source>Path &quot;%1&quot; exists but is not a directory.</source>
+ <translation>La ruta &quot;%1&quot; existe, pero no es un directorio.</translation>
</message>
<message>
- <source>Update components</source>
- <translation>Actualizar componentes</translation>
+ <source>Cannot create directory &quot;%1&quot;.</source>
+ <translation>No se puede crear el directorio &quot;%1&quot;.</translation>
</message>
+</context>
+<context>
+ <name>ExtractCallbackImpl</name>
<message>
- <source>Remove all components</source>
- <translation>Quitar todos los componentes</translation>
+ <source>Cannot retrieve path of archive item %1.</source>
+ <translation>No se puede recuperar la ruta del elemento del archivo %1.</translation>
</message>
<message>
- <source>Retrieving information from remote installation sources...</source>
- <translation>Recuperando información de fuentes de instalación remotas...</translation>
+ <source>Cannot remove already existing symlink %1.</source>
+ <translation>No se puede quitar el symlink existente %1.</translation>
</message>
<message>
- <source>At least one valid and enabled repository required for this action to succeed.</source>
- <translation>Necesitas tener al menos un repositorio habilitado para que esta acción se realice con éxito.</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>No se puede abrir el archivo &apos;%1&apos; para la escritura: %2</translation>
</message>
<message>
- <source>No updates available.</source>
- <translation>No hay actualizaciones disponibles.</translation>
+ <source>Cannot create symlink at &quot;%1&quot;. Another one is already existing.</source>
+ <translation>No se puede crear el symlink en &quot;%1&quot;. Ya existe otro.</translation>
</message>
<message>
- <source> Only local package management available.</source>
- <translation>Sólo está disponible la gestión de paquetes de forma local.</translation>
+ <source>Cannot read symlink target from file &quot;%1&quot;.</source>
+ <translation>No se puede leer el destino del symlink en el archivo &quot;%1&quot;.</translation>
</message>
<message>
- <source>Quit</source>
- <translation>Salir</translation>
+ <source>Cannot create symlink at %1: %2</source>
+ <translation>No se puede crear el symlink en %1: %2</translation>
</message>
</context>
<context>
- <name>Job</name>
+ <name>InstallerBase</name>
<message>
- <source>Canceled</source>
- <translation>Cancelado</translation>
+ <source>Waiting for %1</source>
+ <translation>Esperando a %1</translation>
+ </message>
+ <message>
+ <source>Another %1 instance is already running. Wait until it finishes, close it, or restart your system.</source>
+ <translation>Ya se está ejecutando otra instancia de %1. Espere a que finalice, ciérrela o reinicie el sistema.</translation>
</message>
</context>
<context>
- <name>KDSaveFile</name>
+ <name>InstallerCalculator</name>
+ <message>
+ <source>Components added as automatic dependencies:</source>
+ <translation>Componentes agregados como dependencias automáticas:</translation>
+ </message>
<message>
- <source>Append mode not supported.</source>
- <translation>Modo añadir no admitido.</translation>
+ <source>Components added as dependency for &quot;%1&quot;:</source>
+ <translation>Componentes agregados como dependencia para &quot;%1&quot;:</translation>
</message>
<message>
- <source>Read-only access not supported.</source>
- <translation>Acceso de sólo lectura no admitido.</translation>
+ <source>Components that have resolved dependencies:</source>
+ <translation>Componentes que tienen dependencias resueltas:</translation>
</message>
<message>
- <source>Cannot backup existing file %1: %2</source>
- <translation>No se puede hacer una copia de seguridad del archivo existente %1: %2</translation>
+ <source>Selected components without dependencies:</source>
+ <translation>Componentes seleccionados sin dependencias:</translation>
</message>
<message>
- <source>TODO</source>
- <translation>Tareas</translation>
+ <source>Recursion detected, component &quot;%1&quot; already added with reason: &quot;%2&quot;</source>
+ <translation>Recurrencia detectada, el componente &quot;%1&quot; ya se ha agregado con la razón: &quot;%2&quot;</translation>
+ </message>
+ <message>
+ <source>Cannot find missing dependency &quot;%1&quot; for &quot;%2&quot;.</source>
+ <translation>No se puede encontrar la dependencia &quot;%1&quot; que falta para &quot;%2&quot;.</translation>
</message>
</context>
<context>
- <name>KDUpdater::AppendFileOperation</name>
+ <name>Job</name>
<message>
- <source>Cannot backup file %1: %2</source>
- <translation>No se puede hacer una copia de seguridad del archivo %1: %2</translation>
+ <source>Canceled</source>
+ <translation>Cancelado</translation>
</message>
+</context>
+<context>
+ <name>KDUpdater::AppendFileOperation</name>
<message>
- <source>Invalid arguments: %1 arguments given, 2 expected.</source>
- <translation>Argumentos no válidos: %1 argumentos dados, 2 esperados.</translation>
+ <source>Cannot backup file &quot;%1&quot;: %2</source>
+ <translation>No se puede crear una copia de seguridad del archivo &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot open file %1 for writing: %2</source>
- <translation>No se puede abrir el archivo %1 en modo escritura: %2</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>No se puede abrir el archivo &apos;%1&apos; para la escritura: %2</translation>
</message>
<message>
- <source>Cannot find backup file for %1.</source>
- <translation>No se puede localizar la copia de seguridad de %1.</translation>
+ <source>Cannot find backup file for &quot;%1&quot;.</source>
+ <translation>No se puede encontrar el archivo de copia de seguridad para &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot restore backup file for %1.</source>
- <translation>No se puede restaurar la copia de seguridad de %1.</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;.</source>
+ <translation>No se puede restaurar el archivo de copia de seguridad para &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot restore backup file for %1: %2</source>
- <translation>No se puede restaurar la copia de seguridad del archivo %1: %2</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;: %2</source>
+ <translation>No se puede restaurar el archivo de copia de seguridad para &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>KDUpdater::CopyOperation</name>
<message>
- <source>Cannot backup file %1.</source>
- <translation>No se puede hacer una copia de seguridad del archivo %1.</translation>
+ <source>Cannot backup file &quot;%1&quot;.</source>
+ <translation>No se puede crear una copia de seguridad del archivo &quot;%1&quot;.</translation>
</message>
<message>
- <source>Invalid arguments: %1 arguments given, 2 expected.</source>
- <translation>Argumentos no válidos: %1 argumentos dados, 2 esperados.</translation>
+ <source>Cannot copy a non-existent file: %1</source>
+ <translation>No se puede copiar un archivo que no existe: %1</translation>
</message>
<message>
- <source>Cannot remove destination file %1: %2</source>
- <translation>No se puede eliminar el archivo de destino %1: %2</translation>
+ <source>Cannot remove file &quot;%1&quot;: %2</source>
+ <translation>No se puede eliminar el archivo &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot copy %1 to %2: %3</source>
- <translation>No se puede copiar %1 a %2: %3</translation>
+ <source>Cannot copy file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>No se puede copiar el archivo &quot;%1&quot; a &quot;%2&quot;: %3</translation>
</message>
<message>
- <source>Cannot delete file %1: %2</source>
- <translation>No se puede eliminar el archivo %1: %2</translation>
+ <source>Cannot delete file &quot;%1&quot;: %2</source>
+ <translation>No se puede eliminar el archivo &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot restore backup file into %1: %2</source>
- <translation>No se puede restaurar la copia de seguridad del archivo como %1: %2</translation>
+ <source>Cannot restore backup file into &quot;%1&quot;: %2</source>
+ <translation>No se puede restaurar el archivo de copia de seguridad en &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>KDUpdater::DeleteOperation</name>
<message>
- <source>Cannot create backup of %1: %2</source>
- <translation>No se puede hacer una copia de seguridad de %1: %2</translation>
+ <source>Cannot create backup of file &quot;%1&quot;: %2</source>
+ <translation>No se puede crear una copia de seguridad del archivo &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Invalid arguments: %1 arguments given, 1 expected.</source>
- <translation>Argumentos no válidos: %1 argumentos dados, 2 esperados.</translation>
- </message>
- <message>
- <source>Cannot restore backup file for %1: %2</source>
- <translation>No se puede restaurar la copia de seguridad del archivo %1: %2</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;: %2</source>
+ <translation>No se puede restaurar el archivo de copia de seguridad para &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>KDUpdater::FileDownloader</name>
<message>
- <source>Download canceled.</source>
- <translation>Descarga cancelada.</translation>
+ <source>Download finished.</source>
+ <translation>Descarga completada.</translation>
</message>
<message>
<source>Cryptographic hashes do not match.</source>
<translation>Los hashes criptográficos no coinciden.</translation>
</message>
<message>
- <source>Download finished.</source>
- <translation>Descarga.finalizada.</translation>
- </message>
- <message>
- <source> of </source>
- <translation> de </translation>
- </message>
- <message>
- <source> downloaded.</source>
- <translation> descargado.</translation>
- </message>
- <message>
- <source>/sec</source>
- <translation>/seg</translation>
- </message>
- <message>
- <source> day</source>
- <translation> día</translation>
- </message>
- <message>
- <source> days</source>
- <translation> días</translation>
+ <source>Download canceled.</source>
+ <translation>Descarga cancelada.</translation>
</message>
<message>
- <source> hour</source>
- <translation> hora</translation>
+ <source>%1 of %2</source>
+ <translation>%1 de %2</translation>
</message>
<message>
- <source> hours</source>
- <translation> horas</translation>
+ <source>%1 downloaded.</source>
+ <translation>%1 descargado.</translation>
</message>
<message>
- <source> minute</source>
- <translation> minuto</translation>
+ <source>(%1/sec)</source>
+ <translation>(%1/seg)</translation>
</message>
- <message>
- <source> minutes</source>
- <translation> minutos</translation>
+ <message numerus="yes">
+ <source>%n day(s), </source>
+ <translation>
+ <numerusform>%n día(s), </numerusform>
+ </translation>
</message>
- <message>
- <source> second</source>
- <translation> segundo</translation>
+ <message numerus="yes">
+ <source>%n hour(s), </source>
+ <translation>
+ <numerusform>%n hora(s), </numerusform>
+ </translation>
</message>
- <message>
- <source> seconds</source>
- <translation> segundos</translation>
+ <message numerus="yes">
+ <source>%n minute(s)</source>
+ <translation>
+ <numerusform>%n minuto(s)</numerusform>
+ </translation>
</message>
- <message>
- <source> - </source>
- <translation> - </translation>
+ <message numerus="yes">
+ <source>%n second(s)</source>
+ <translation>
+ <numerusform>%n segundo(s)</numerusform>
+ </translation>
</message>
<message>
- <source> remaining.</source>
- <translation> resstante.</translation>
+ <source> - %1%2%3%4 remaining.</source>
+ <translation> - %1%2%3%4 restante.</translation>
</message>
<message>
<source> - unknown time remaining.</source>
@@ -235,12 +271,12 @@
<context>
<name>KDUpdater::HttpDownloader</name>
<message>
- <source>Cannot download %1: Writing to file &apos;%2&apos; failed: %3</source>
- <translation>No se puede descargar %1: ha fallado la escritura del archivo &apos;%2&apos;: %3</translation>
+ <source>Cannot download %1. Writing to file &quot;%2&quot; failed: %3</source>
+ <translation>No se puede descargar %1. Error al escribir en el archivo &quot;%2&quot;: %3</translation>
</message>
<message>
- <source>Cannot download %1: Cannot create %2: %3</source>
- <translation>No se puede descargar %1: No se puede crear %2: %3</translation>
+ <source>Cannot download %1. Cannot create file &quot;%2&quot;: %3</source>
+ <translation>No se puede descargar %1. No se puede crear el archivo &quot;%2&quot;: %3</translation>
</message>
<message>
<source>%1 at %2</source>
@@ -248,163 +284,148 @@
</message>
<message>
<source>Authentication request canceled.</source>
- <translation>Petición de autenticación cancelada.</translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::LocalFileDownloader</name>
- <message>
- <source>Cannot open source file &apos;%1&apos; for reading.</source>
- <translation>No se puede abrir el archivo de origen &apos;%1&apos; en modo lectura.</translation>
+ <translation>La solicitud de autenticación se ha cancelado.</translation>
</message>
<message>
- <source>Cannot open destination file &apos;%1&apos; for writing.</source>
- <translation>No se puede abrir el archivo de destino &apos;%1&apos; en modo escritura.</translation>
+ <source>Secure Connection Failed</source>
+ <translation>Error de la conexión segura</translation>
</message>
<message>
- <source>Writing to %1 failed: %2</source>
- <translation>La escritura en %1 ha fallado: %2</translation>
+ <source>There was an error during connection to: %1.</source>
+ <translation>Se ha producido un error durante la conexión a: %1.</translation>
</message>
-</context>
-<context>
- <name>KDUpdater::MkdirOperation</name>
<message>
- <source>Invalid arguments: %1 arguments given, 1 expected.</source>
- <translation>Argumentos no válidos: %1 argumentos dados, 2 esperados.</translation>
+ <source>This could be a problem with the server&apos;s configuration, or it could be someone trying to impersonate the server.</source>
+ <translation>Podría tratarse de un problema con la configuración del servidor o alguien que está intentando suplantar al servidor.</translation>
</message>
<message>
- <source>Cannot create folder %1: Unknown error.</source>
- <translation>No se puede crear la carpeta %1: error desconocido.</translation>
+ <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>Si en el pasado ya se ha conectado correctamente a este servidor o bien confía en el servidor, puede intentarlo de nuevo porque es posible que se trate de un error temporal.</translation>
</message>
<message>
- <source>Cannot remove directory %1: %2</source>
- <translation>No se puede eliminar el directorio %1: %2</translation>
+ <source>Try again</source>
+ <translation>Volver a intentar</translation>
</message>
</context>
<context>
- <name>KDUpdater::MoveOperation</name>
+ <name>KDUpdater::LocalFileDownloader</name>
<message>
- <source>Cannot backup file %1.</source>
- <translation>No se puede hacer una copia de seguridad del archivo %1.</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>No se puede abrir el archivo &quot;%1&quot; para la lectura: %2</translation>
</message>
<message>
- <source>Invalid arguments: %1 arguments given, 2 expected.</source>
- <translation>Argumentos no válidos: %1 argumentos dados, 2 esperados.</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>No se puede abrir el archivo &apos;%1&apos; para la escritura: %2</translation>
</message>
<message>
- <source>Cannot remove destination file %1: %2</source>
- <translation>No se puede eliminar el archivo de destino %1: %2</translation>
+ <source>Writing to file &quot;%1&quot; failed: %2</source>
+ <translation>Error al escribir en el archivo &quot;%1&quot;: %2</translation>
</message>
+</context>
+<context>
+ <name>KDUpdater::MkdirOperation</name>
<message>
- <source>Cannot copy %1 to %2: %3</source>
- <translation>No se puede copiar %1 a %2: %3</translation>
+ <source>Cannot create directory &quot;%1&quot;: %2</source>
+ <translation>No se puede crear el directorio &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot remove file %1.</source>
- <translation>No se puede eliminar el archivo %1.</translation>
+ <source>Unknown error.</source>
+ <translation>Error desconocido.</translation>
</message>
<message>
- <source>Cannot restore backup file for %1: %2</source>
- <translation>No se puede restaurar la copia de seguridad del archivo %1: %2</translation>
+ <source>Cannot remove directory &quot;%1&quot;: %2</source>
+ <translation>No se puede eliminar el directorio &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
- <name>KDUpdater::PackagesInfo</name>
+ <name>KDUpdater::MoveOperation</name>
<message>
- <source>%1 contains invalid content: %2</source>
- <translation>%1 tiene contenido no válido: %2</translation>
+ <source>Cannot backup file &quot;%1&quot;.</source>
+ <translation>No se puede crear una copia de seguridad del archivo &quot;%1&quot;.</translation>
</message>
<message>
- <source>The file %1 does not exist.</source>
- <translation>El archivo %1 no existe.</translation>
+ <source>Cannot remove file &quot;%1&quot;: %2</source>
+ <translation>No se puede eliminar el archivo &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot open %1.</source>
- <translation>No se puede abrir el archivo %1.</translation>
+ <source>Cannot copy file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>No se puede copiar el archivo &quot;%1&quot; a &quot;%2&quot;: %3</translation>
</message>
<message>
- <source>Parse error in %1 at %2, %3: %4</source>
- <translation>Error al analizar en %1 en %2, %3: %4</translation>
+ <source>Cannot remove file &quot;%1&quot;.</source>
+ <translation>No se puede eliminar el archivo &quot;%1&quot;.</translation>
</message>
<message>
- <source>Root element %1 unexpected, should be &apos;Packages&apos;.</source>
- <translation>Elemento raíz %1 no esperado, debería ser &apos;Packages&apos;.</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;: %2</source>
+ <translation>No se puede restaurar el archivo de copia de seguridad para &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>KDUpdater::PrependFileOperation</name>
<message>
- <source>Cannot backup file %1: %2</source>
- <translation>No se puede hacer una copia de seguridad del archivo %1: %2</translation>
+ <source>Cannot backup file &quot;%1&quot;: %2</source>
+ <translation>No se puede crear una copia de seguridad del archivo &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Invalid arguments: %1 arguments given, 2 expected.</source>
- <translation>Argumentos no válidos: %1 argumentos dados, 2 esperados.</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>No se puede abrir el archivo &quot;%1&quot; para la lectura: %2</translation>
</message>
<message>
- <source>Cannot open file %1 for reading: %2</source>
- <translation>No se puede abrir el archivo %1 en modo lectura: %2</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>No se puede abrir el archivo &apos;%1&apos; para la escritura: %2</translation>
</message>
<message>
- <source>Cannot open file %1 for writing: %2</source>
- <translation>No se puede abrir el archivo %1 en modo escritura: %2</translation>
+ <source>Cannot find backup file for &quot;%1&quot;.</source>
+ <translation>No se puede encontrar el archivo de copia de seguridad para &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot find backup file for %1.</source>
- <translation>No se puede localizar la copia de seguridad de %1.</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;.</source>
+ <translation>No se puede restaurar el archivo de copia de seguridad para &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot restore backup file for %1.</source>
- <translation>No se puede restaurar la copia de seguridad de %1.</translation>
- </message>
- <message>
- <source>Cannot restore backup file for %1: %2</source>
- <translation>No se puede restaurar la copia de seguridad del archivo %1: %2</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;: %2</source>
+ <translation>No se puede restaurar el archivo de copia de seguridad para &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>KDUpdater::ResourceFileDownloader</name>
<message>
- <source>Cannot read resource file &quot;%1&quot;. Reason:</source>
- <translation>No se puede leer el archivo de recursos &quot;%1&quot;. Motivo:</translation>
+ <source>Cannot read resource file &quot;%1&quot;: %2</source>
+ <translation>No se puede leer el archivo de recursos &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>KDUpdater::RmdirOperation</name>
<message>
- <source>Invalid arguments: %1 arguments given, 1 expected.</source>
- <translation>Argumentos no válidos: %1 argumentos dados, 1 esperado.</translation>
- </message>
- <message>
- <source>Cannot remove folder %1: The folder does not exist.</source>
- <translation>No se puede eliminar la carpeta %1: la carpeta no existe.</translation>
+ <source>Cannot remove directory &quot;%1&quot;: %2</source>
+ <translation>No se puede eliminar el directorio &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot remove folder %1: %2</source>
- <translation>No se puede eliminar la carpeta %1: %2</translation>
+ <source>The directory does not exist.</source>
+ <translation>El directorio no existe.</translation>
</message>
<message>
- <source>Cannot recreate directory %1: %2</source>
- <translation>No se puede recrear el directorio %1: %2</translation>
+ <source>Cannot recreate directory &quot;%1&quot;: %2</source>
+ <translation>No se puede volver a crear el directorio &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>KDUpdater::Task</name>
<message>
<source>%1 started</source>
- <translation>%1 empezada</translation>
+ <translation>%1 se ha iniciado</translation>
</message>
<message>
<source>%1 cannot be stopped</source>
- <translation>No se puede parar %1</translation>
+ <translation>%1 no se puede detener</translation>
</message>
<message>
<source>Cannot stop task %1</source>
- <translation>No se puede parar la tarea %1</translation>
+ <translation>No se puede detener la tarea %1</translation>
</message>
<message>
<source>%1 cannot be paused</source>
- <translation>No se puede pausar %1</translation>
+ <translation>%1 no se puede pausar</translation>
</message>
<message>
<source>Cannot pause task %1</source>
@@ -416,193 +437,371 @@
</message>
<message>
<source>%1 done</source>
- <translation>%1 hecha</translation>
+ <translation>%1 se ha completado</translation>
</message>
</context>
<context>
<name>KDUpdater::UpdateFinder</name>
<message>
<source>Cannot access the package information of this application.</source>
- <translation>No se puede acceder a la información del paquete de esta aplicación.</translation>
+ <translation>No se puede acceder a la información de paquete de esta aplicación.</translation>
</message>
<message>
- <source>Cannot access the update sources information of this application.</source>
- <translation>No se puede acceder a la información de las fuentes de actualizaciones.</translation>
+ <source>No package sources set for this application.</source>
+ <translation>No hay definida ninguna fuente de paquete para esta aplicación.</translation>
</message>
- <message>
- <source>%1 updates found.</source>
- <translation>Hay %1 actualizaciones.</translation>
+ <message numerus="yes">
+ <source>%n update(s) found.</source>
+ <translation>
+ <numerusform>%n actualizaciones encontradas.</numerusform>
+ </translation>
</message>
<message>
<source>Downloading Updates.xml from update sources.</source>
- <translation>Descargando Updates.xml de las fuentes de actualizaciones.</translation>
+ <translation>Descargando Updates.xml de las fuentes de actualización.</translation>
</message>
<message>
- <source>Cannot download updates from %1 (&apos;%2&apos;)</source>
- <translation>No se pueden descargar las actualizaciones de %1 (&apos;%2&apos;)</translation>
+ <source>Cannot download package source %1 from &quot;%2&quot;.</source>
+ <translation>No se puede descargar la fuente del paquete %1 desde &quot;%2&quot;.</translation>
</message>
<message>
<source>Updates.xml file(s) downloaded from update sources.</source>
- <translation>Archivo(s) Updates.xml descargados de las fuentes de actualizaciones.</translation>
+ <translation>Archivo(s) Updates.xml descargado(s) desde las fuentes de actualización.</translation>
</message>
<message>
<source>Computing applicable updates.</source>
- <translation>Comprobando qué actualizaciones son necesarias.</translation>
+ <translation>Calculando actualizaciones válidas.</translation>
</message>
<message>
<source>Application updates computed.</source>
- <translation>Actualizaciones de la aplicación comprobadas.</translation>
+ <translation>Actualizaciones de aplicación calculadas.</translation>
</message>
</context>
<context>
- <name>KDUpdater::UpdateSourcesInfo</name>
+ <name>KDUpdater::UpdatesInfoData</name>
<message>
- <source>%1 contains invalid content: %2</source>
- <translation>%1 tiene contenido no válido: %2</translation>
+ <source>Updates.xml contains invalid content: %1</source>
+ <translation>Updates.xml tiene contenido no válido: %1</translation>
</message>
<message>
<source>Cannot read &quot;%1&quot;</source>
<translation>No se puede leer &quot;%1&quot;</translation>
</message>
<message>
- <source>XML Parse error in %1 at %2, %3: %4</source>
- <translation>Error al analizar XML en %1 en %2, %3: %4</translation>
+ <source>Parse error in %1 at %2, %3: %4</source>
+ <translation>Error de análisis en %1 en %2, %3: %4</translation>
</message>
<message>
- <source>Root element %1 unexpected, should be &quot;UpdateSources&quot;</source>
- <translation>Elemento raíz %1 no esperado, debería ser &apos;UpdateSources&apos;</translation>
+ <source>Root element %1 unexpected, should be &quot;Updates&quot;.</source>
+ <translation>Elemento raíz %1 inesperado, debería ser &quot;Updates&quot;.</translation>
</message>
<message>
- <source>Cannot save changes to &quot;%1&quot;: %2</source>
- <translation>No se pueden guardar los cambios en &quot;%1&quot;: %2</translation>
+ <source>ApplicationName element is missing.</source>
+ <translation>Falta el elemento ApplicationName.</translation>
+ </message>
+ <message>
+ <source>ApplicationVersion element is missing.</source>
+ <translation>Falta el elemento ApplicationVersion.</translation>
+ </message>
+ <message>
+ <source>PackageUpdate element without Name</source>
+ <translation>Elemento PackageUpdate sin nombre</translation>
+ </message>
+ <message>
+ <source>PackageUpdate element without Version</source>
+ <translation>Elemento PackageUpdate sin versión</translation>
+ </message>
+ <message>
+ <source>PackageUpdate element without ReleaseDate</source>
+ <translation>Elemento PackageUpdate sin fecha de publicación</translation>
</message>
</context>
<context>
- <name>KDUpdater::UpdatesInfoData</name>
+ <name>Lib7z</name>
<message>
- <source>Cannot read &quot;%1&quot;</source>
- <translation>No se puede leer &quot;%1&quot;</translation>
+ <source>internal code: %1</source>
+ <translation>código interno: %1</translation>
</message>
<message>
- <source>Parse error in %1 at %2, %3: %4</source>
- <translation>Error al analizar en %1 en %2, %3: %4</translation>
+ <source>not enough memory</source>
+ <translation>no hay suficiente memoria</translation>
</message>
<message>
- <source>Updates.xml contains invalid content: %1</source>
- <translation>Updates.xml tiene contenido no válido: %1</translation>
+ <source>Error: %1</source>
+ <translation>Error: %1</translation>
</message>
<message>
- <source>Root element %1 unexpected, should be &quot;Updates&quot;.</source>
- <translation>Elemento raíz %1 no esperado, debería ser &quot;Updates&quot;.</translation>
+ <source>Cannot retrieve property %1 for item %2.</source>
+ <translation>No se puede recuperar la propiedad %1 del elemento %2.</translation>
</message>
<message>
- <source>ApplicationName element is missing.</source>
- <translation>Falta el elemento ApplicationName.</translation>
+ <source>Property %1 for item %2 not of type VT_FILETIME but %3.</source>
+ <translation>La propiedad %1 del elemento %2 no es del tipo VT_FILETIME sino %3.</translation>
</message>
<message>
- <source>ApplicationVersion element is missing.</source>
- <translation>Falta el elemento ApplicationVersion.</translation>
+ <source>Cannot convert UTC file time to system time.</source>
+ <translation>No se puede convertir la hora UTC del archivo a la hora del sistema.</translation>
</message>
<message>
- <source>PackageUpdate element without Name</source>
- <translation>Elemento PackageUpdate sin &quot;Name&quot;</translation>
+ <source>Cannot load codecs.</source>
+ <translation>No se pueden cargar los códecs.</translation>
</message>
<message>
- <source>PackageUpdate element without Version</source>
- <translation>Elemento PackageUpdate sin &quot;Version&quot;</translation>
+ <source>Cannot open archive &quot;%1&quot;.</source>
+ <translation>No se puede abrir el archivo &quot;%1&quot;.</translation>
</message>
<message>
- <source>PackageUpdate element without ReleaseDate</source>
- <translation>Elemento PackageUpdate sin &quot;ReleaseDate&quot;</translation>
+ <source>Cannot retrieve number of items in archive.</source>
+ <translation>No se puede recuperar el número de elementos del archivo.</translation>
+ </message>
+ <message>
+ <source>Cannot retrieve path of archive item &quot;%1&quot;.</source>
+ <translation>No se puede recuperar la ruta del elemento del archivo &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Unknown exception caught (%1).</source>
+ <translation>Se ha producido una excepción desconocida (%1).</translation>
+ </message>
+ <message>
+ <source>Cannot create temporary file: %1</source>
+ <translation>No se puede crear el archivo temporal: %1</translation>
+ </message>
+ <message>
+ <source>Unsupported archive type.</source>
+ <translation>Tipo de archivo no admitido.</translation>
+ </message>
+ <message>
+ <source>Cannot create archive &quot;%1&quot;</source>
+ <translation>No se puede crear el archivo &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <source>Cannot create archive &quot;%1&quot;: %2</source>
+ <translation>No se puede crear el archivo &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot remove old archive &quot;%1&quot;: %2</source>
+ <translation>No se puede quitar el archivo antiguo &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot rename temporary archive &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>No se puede cambiar el nombre del archivo temporal de &quot;%1&quot; a &quot;%2&quot;: %3</translation>
+ </message>
+ <message>
+ <source>Unknown exception caught (%1)</source>
+ <translation>Se ha producido una excepción desconocida (%1)</translation>
</message>
</context>
<context>
- <name>Lib7z::ExtractItemJob</name>
+ <name>LocalPackageHub</name>
+ <message>
+ <source>%1 contains invalid content: %2</source>
+ <translation>%1 tiene contenido no válido: %2</translation>
+ </message>
<message>
- <source>Cannot list archive: QIODevice not set or already destroyed.</source>
- <translation>No se puede listar el archivo: QIODevice no está establecido o ya está destruido.</translation>
+ <source>The file %1 does not exist.</source>
+ <translation>El archivo %1 no existe.</translation>
+ </message>
+ <message>
+ <source>Cannot open %1.</source>
+ <translation>No se puede abrir %1.</translation>
+ </message>
+ <message>
+ <source>Parse error in %1 at %2, %3: %4</source>
+ <translation>Error de análisis en %1 en %2, %3: %4</translation>
+ </message>
+ <message>
+ <source>Root element %1 unexpected, should be &apos;Packages&apos;.</source>
+ <translation>No se esperaba el elemento raíz %1, debería ser &apos;Packages&apos;.</translation>
</message>
</context>
<context>
- <name>Lib7z::ListArchiveJob</name>
+ <name>LockFile</name>
+ <message>
+ <source>Cannot create lock file &quot;%1&quot;: %2</source>
+ <translation>No se puede crear el archivo de bloqueo &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot write PID to lock file &quot;%1&quot;: %2</source>
+ <translation>No se puede escribir el PID en el archivo de bloqueo &quot;%1&quot;: %2</translation>
+ </message>
<message>
- <source>Cannot list archive: QIODevice already destroyed.</source>
- <translation>No se puede listar el archivo: QIODevice ya está destruido.</translation>
+ <source>Cannot obtain the lock for file &quot;%1&quot;: %2</source>
+ <translation>No se puede obtener el bloqueo para el archivo &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot release the lock for file &quot;%1&quot;: %2</source>
+ <translation>No se puede liberar el bloqueo para el archivo &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
- <name>QInstaller::AddQtCreatorArrayValueOperation</name>
+ <name>QInstaller</name>
<message>
- <source>exactly 4</source>
- <translation>exactamente 4</translation>
+ <source>No marker found, stopped after %1.</source>
+ <translation>No se ha encontrado ningún marcador, se ha detenido después de %1.</translation>
</message>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>No se puede abrir el archivo &quot;%1&quot; para la lectura: %2</translation>
</message>
<message>
- <source> (group, arrayname, key, value)</source>
- <translation> (group, arrayname, key, value)</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>No se puede abrir el archivo &apos;%1&apos; para la escritura: %2</translation>
</message>
<message>
- <source>Needed installer object in %1 operation is empty.</source>
- <translation>Se necesita el objeto del instalador en %1 la operación está vacía.</translation>
+ <source>Read failed after %1 bytes: %2</source>
+ <translation>Error de lectura después de %1 bytes: %2</translation>
+ </message>
+ <message>
+ <source>Copy failed: %1</source>
+ <translation>Error al copiar: %1</translation>
+ </message>
+ <message>
+ <source>Write failed after %1 bytes: %2</source>
+ <translation>Error de escritura después de %1 bytes: %2</translation>
+ </message>
+ <message>
+ <source>bytes</source>
+ <translation>bytes</translation>
</message>
<message>
- <source>There is no value set for %1 on the installer object.</source>
- <translation>No se ha asignado un valor a %1 en el objeto del instalador.</translation>
+ <source>KB</source>
+ <translation>KB</translation>
+ </message>
+ <message>
+ <source>MB</source>
+ <translation>MB</translation>
+ </message>
+ <message>
+ <source>GB</source>
+ <translation>GB</translation>
+ </message>
+ <message>
+ <source>TB</source>
+ <translation>TB</translation>
+ </message>
+ <message>
+ <source>PB</source>
+ <translation>PB</translation>
+ </message>
+ <message>
+ <source>EB</source>
+ <translation>EB</translation>
+ </message>
+ <message>
+ <source>ZB</source>
+ <translation>ZB</translation>
+ </message>
+ <message>
+ <source>YB</source>
+ <translation>YB</translation>
+ </message>
+ <message>
+ <source>Cannot remove file &quot;%1&quot;: %2</source>
+ <translation>No se puede eliminar el archivo &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot remove directory &quot;%1&quot;: %2</source>
+ <translation>No se puede eliminar el directorio &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot create directory &quot;%1&quot;.</source>
+ <translation>No se puede crear el directorio &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot copy file from &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>No se puede copiar el archivo de &quot;%1&quot; a &quot;%2&quot;: %3</translation>
+ </message>
+ <message>
+ <source>Cannot move file from &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>No se puede mover el archivo de &quot;%1&quot; a &quot;%2&quot;: %3</translation>
+ </message>
+ <message>
+ <source>Cannot create directory &quot;%1&quot;: %2</source>
+ <translation>No se puede crear el directorio &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot open temporary file: %1</source>
+ <translation>No se puede abrir el archivo temporal: %1</translation>
+ </message>
+ <message>
+ <source>Cannot open temporary file for template %1: %2</source>
+ <translation>No se puede abrir el archivo temporal para la plantilla %1: %2</translation>
+ </message>
+ <message>
+ <source>Corrupt installation</source>
+ <translation>Instalación dañada</translation>
+ </message>
+ <message>
+ <source>Your installation seems to be corrupted. Please consider re-installing from scratch.</source>
+ <translation>Parece que su instalación está dañada. Vuelva a realizar la instalación desde el principio.</translation>
+ </message>
+ <message>
+ <source>The specified module could not be found.</source>
+ <translation>No se encontró el módulo especificado.</translation>
</message>
</context>
<context>
<name>QInstaller::Component</name>
<message>
- <source>Cannot open the requested translation file &apos;%1&apos;.</source>
- <translation>No se puede abrir el archivo de traducción %1&apos; solicitado.</translation>
+ <source>Components cannot have children in updater mode.</source>
+ <translation>Los componentes no pueden tener elementos secundarios en el modo actualizador.</translation>
</message>
<message>
- <source>Cannot open the requested UI file &apos;%1&apos;. Error: %2</source>
- <translation>No se puede abrir el archivo de UI &apos;%1&apos; solicitado. Error: %2</translation>
+ <source>Cannot open the requested UI file &quot;%1&quot;: %2</source>
+ <translation>No se puede abrir el archivo de UI &quot;%1&quot; solicitado: %2</translation>
</message>
<message>
- <source>Cannot load the requested UI file &apos;%1&apos;. Error: %2</source>
- <translation>No se puede cargar el archivo de UI &apos;%1&apos; solicitado. Error: %2</translation>
+ <source>Cannot load the requested UI file &quot;%1&quot;: %2</source>
+ <translation>No se puede cargar el archivo de UI &quot;%1&quot; solicitado: %2</translation>
</message>
<message>
- <source>An error has occurred while reading the UI file.</source>
- <translation>Se ha producido un error al leer el archivo del UI.</translation>
- </message>
- <message>
- <source>Cannot open the requested license file &apos;%1&apos;. Error: %2</source>
- <translation>No se puede abrir el archivo de licencia %1&apos; solicitado. Error: %2</translation>
+ <source>Cannot open the requested license file &quot;%1&quot;: %2</source>
+ <translation>No se puede abrir el archivo de licencia &quot;%1&quot; solicitado: %2</translation>
</message>
<message>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
- <source>Error: Operation %1 does not exist</source>
- <translation>Error: la operación %1 no existe</translation>
- </message>
- <message>
- <source>Can&apos;t resolve isAutoDependOn in %1</source>
- <translation>No se puede resolver isAutoDependOn en %1</translation>
+ <source>Error: Operation %1 does not exist.</source>
+ <translation>Error: la operación %1 no existe.</translation>
</message>
<message>
- <source>Can&apos;t resolve isDefault in %1</source>
+ <source>Cannot resolve isDefault in %1</source>
<translation>No se puede resolver isDefault en %1</translation>
</message>
<message>
<source>Update Info: </source>
- <translation>Información de actualización:</translation>
+ <translation>Información de actualización: </translation>
</message>
</context>
<context>
<name>QInstaller::ComponentModel</name>
<message>
+ <source>Component is marked for installation.</source>
+ <translation>El componente está marcado para la instalación.</translation>
+ </message>
+ <message>
+ <source>Component is marked for uninstallation.</source>
+ <translation>El componente está marcado para la desinstalación.</translation>
+ </message>
+ <message>
+ <source>Component is installed.</source>
+ <translation>El componente está instalado.</translation>
+ </message>
+ <message>
+ <source>Component is not installed.</source>
+ <translation>El componente no está instalado.</translation>
+ </message>
+ <message>
<source>Component Name</source>
<translation>Nombre del componente</translation>
</message>
<message>
+ <source>Action</source>
+ <translation>Acción</translation>
+ </message>
+ <message>
<source>Installed Version</source>
<translation>Versión instalada</translation>
</message>
@@ -611,6 +810,10 @@
<translation>Nueva versión</translation>
</message>
<message>
+ <source>Release Date</source>
+ <translation>Fecha de versión</translation>
+ </message>
+ <message>
<source>Size</source>
<translation>Tamaño</translation>
</message>
@@ -624,7 +827,7 @@
</message>
<message>
<source>Def&amp;ault</source>
- <translation>P&amp;redeterminado</translation>
+ <translation>Predetermin&amp;ado</translation>
</message>
<message>
<source>Alt+R</source>
@@ -651,11 +854,23 @@
</message>
<message>
<source>&amp;Deselect All</source>
- <translation>&amp;Deseleccionar todo</translation>
+ <translation>Anular selección de to&amp;do</translation>
+ </message>
+ <message>
+ <source>To install new compressed repository, browse the repositories from your computer</source>
+ <translation>Para instalar el nuevo repositorio comprimido, examine los repositorios de su equipo</translation>
+ </message>
+ <message>
+ <source>&amp;Browse QBSP files</source>
+ <translation>&amp;Examinar archivos QBSP</translation>
</message>
<message>
<source>This component will occupy approximately %1 on your hard disk drive.</source>
- <translation>Este componente ocupará aproximadamente %1 de tu disco duro.</translation>
+ <translation>Este componente ocupará aproximadamente %1 en el disco duro.</translation>
+ </message>
+ <message>
+ <source>Open File</source>
+ <translation>Abrir archivo</translation>
</message>
<message>
<source>Select Components</source>
@@ -663,193 +878,188 @@
</message>
<message>
<source>Please select the components you want to update.</source>
- <translation>Por favor, selecciona los componentes que quieres actualizar.</translation>
+ <translation>Seleccione los componentes que desea actualizar.</translation>
</message>
<message>
<source>Please select the components you want to install.</source>
- <translation>Por favor, selecciona los componentes que quieres instalar.</translation>
+ <translation>Seleccione los componentes que desea instalar.</translation>
</message>
<message>
<source>Please select the components you want to uninstall.</source>
- <translation>Por favor, selecciona los componentes que quieres desinstalar.</translation>
+ <translation>Seleccione los componentes que desea desinstalar.</translation>
</message>
<message>
- <source>Select the components to install. Deselect installed components to uninstall them.</source>
- <translation>Selecciona los componentes para instalarlos. Deselecciona los componentes instalados para desinstalarlos.</translation>
+ <source>Select the components to install. Deselect installed components to uninstall them. Any components already installed will not be updated.</source>
+ <translation>Seleccione los componentes que desea instalar. Anule la selección de los componentes instalados para desinstalarlos. No se actualizarán los componentes ya instalados.</translation>
</message>
</context>
<context>
<name>QInstaller::ConsumeOutputOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
- </message>
- <message>
- <source>at least 2</source>
- <translation>por lo menos 2</translation>
+ <source>&lt;to be saved installer key name&gt; &lt;executable&gt; [argument1] [argument2] [...]</source>
+ <translation>&lt;to be saved installer key name&gt; &lt;executable&gt; [argument1] [argument2] [...]</translation>
</message>
<message>
<source>Needed installer object in %1 operation is empty.</source>
- <translation>Se necesita el objeto del instalador en %1 la operación está vacía.</translation>
+ <translation>El objeto de instalador necesario en la operación %1 está vacío.</translation>
</message>
<message>
- <source>Can not save the output of %1 to an empty installer key value.</source>
- <translation>No se puede guardar la salida de %1 en un valor vacío de la clave del instalador.</translation>
+ <source>Cannot save the output of &quot;%1&quot; to an empty installer key value.</source>
+ <translation>No se puede guardar la salida de &quot;%1&quot; en un valor de clave de instalador vacío.</translation>
</message>
<message>
- <source>File &apos;%1&apos; does not exist or is not an executable binary.</source>
- <translation>El archivo &apos;%1&apos; no existe o no es un binario ejecutable.</translation>
+ <source>File &quot;%1&quot; does not exist or is not an executable binary.</source>
+ <translation>El archivo &quot;%1&quot; no existe o no es un binario ejecutable.</translation>
</message>
<message>
- <source>Running &apos;%1&apos; resulted in a crash.</source>
- <translation>&apos;%1&apos; se ha cerrado de forma inesperada.</translation>
+ <source>Running &quot;%1&quot; resulted in a crash.</source>
+ <translation>Se ha producido un error al ejecutar &quot;%1&quot;.</translation>
</message>
</context>
<context>
<name>QInstaller::CopyDirectoryOperation</name>
<message>
- <source>2 or 3</source>
- <translation>2 ó 3</translation>
+ <source>&lt;source&gt; &lt;target&gt; [&quot;forceOverwrite&quot;]</source>
+ <translation>&lt;source&gt; &lt;target&gt; [&quot;forceOverwrite&quot;]</translation>
+ </message>
+ <message>
+ <source>Invalid argument in %1: Third argument needs to be forceOverwrite, if specified.</source>
+ <translation>Argumento no válido en %1: el tercer argumento debe ser forceOverwrite, si se ha especificado.</translation>
+ </message>
+ <message>
+ <source>Invalid argument in %1: Directory &quot;%2&quot; is invalid.</source>
+ <translation>Argumento no válido en %1: el directorio &quot;%2&quot; no es válido.</translation>
</message>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
+ <source>Cannot create directory &quot;%1&quot;.</source>
+ <translation>No se puede crear el directorio &quot;%1&quot;.</translation>
</message>
<message>
- <source> (&lt;source&gt; &lt;target&gt; [forceOverwrite])</source>
- <translation> (&lt;source&gt; &lt;target&gt; [forceOverwrite])</translation>
+ <source>Failed to overwrite &quot;%1&quot;.</source>
+ <translation>Error al sobrescribir &quot;%1&quot;.</translation>
</message>
<message>
- <source>Invalid argument in %0: Third argument needs to be forceOverwrite, if specified</source>
- <translation>Argumento no válido en %0: si el tercer argumento está definido, tiene que ser forceOverwrite</translation>
+ <source>Cannot copy file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>No se puede copiar el archivo &quot;%1&quot; a &quot;%2&quot;: %3</translation>
</message>
<message>
- <source>Invalid arguments in %0: Directories are invalid: %1 %2</source>
- <translation>Argumentos no válidos en %0: directorios no válidos: %1 %2</translation>
+ <source>Cannot remove file &quot;%1&quot;.</source>
+ <translation>No se puede eliminar el archivo &quot;%1&quot;.</translation>
</message>
+</context>
+<context>
+ <name>QInstaller::CopyFileTask</name>
<message>
- <source>Cannot create %0</source>
- <translation>No se puede crear %0</translation>
+ <source>Invalid task item count.</source>
+ <translation>Recuento de elementos de tarea no válido.</translation>
</message>
<message>
- <source>Failed to overwrite %1</source>
- <translation>Fallo al sobrescribir %1</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>No se puede abrir el archivo &quot;%1&quot; para la lectura: %2</translation>
</message>
<message>
- <source>Cannot copy %0 to %1, error was: %3</source>
- <translation>No se puede copiar %0 a %1, error: %3</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>No se puede abrir el archivo &apos;%1&apos; para la escritura: %2</translation>
</message>
<message>
- <source>Cannot remove %0</source>
- <translation>No se puede eliminar %0</translation>
+ <source>Writing to file &quot;%1&quot; failed: %2</source>
+ <translation>Error al escribir en el archivo &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>QInstaller::CreateDesktopEntryOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation>exactamente 2</translation>
+ <source>Cannot backup file &quot;%1&quot;: %2</source>
+ <translation>No se puede crear una copia de seguridad del archivo &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Failed to overwrite %1</source>
- <translation>Fallo al sobrescribir %1</translation>
+ <source>Failed to overwrite file &quot;%1&quot;.</source>
+ <translation>Error al sobrescribir el archivo &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot write Desktop Entry at %1</source>
- <translation>No se puede escribir la entrada de escritorio en %1</translation>
+ <source>Cannot write desktop entry to &quot;%1&quot;.</source>
+ <translation>No se puede escribir la entrada de escritorio en %1.</translation>
</message>
</context>
<context>
<name>QInstaller::CreateLinkOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
+ <source>Cannot create link from &quot;%1&quot; to &quot;%2&quot;.</source>
+ <translation>No se puede crear el vínculo entre &quot;%1&quot; y &quot;%2&quot;.</translation>
</message>
<message>
- <source>exactly 2</source>
- <translation>exactamente 2</translation>
+ <source>Cannot remove link from &quot;%1&quot; to &quot;%2&quot;.</source>
+ <translation>No se puede quitar el vínculo entre &quot;%1&quot; y &quot;%2&quot;.</translation>
</message>
</context>
<context>
<name>QInstaller::CreateLocalRepositoryOperation</name>
<message>
- <source>Cannot set file permissions %1!</source>
- <translation>¡No se pueden dar los permisos %1!</translation>
- </message>
- <message>
- <source>Cannot move file %1 to %2. Error: %3</source>
- <translation>No se puede mover el archivo %1 a %2. Error: %3</translation>
+ <source>Cannot set permissions for file &quot;%1&quot;.</source>
+ <translation>No se pueden establecer permisos para el archivo &quot;%1&quot;.</translation>
</message>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
+ <source>Cannot remove file &quot;%1&quot;: %2</source>
+ <translation>No se puede eliminar el archivo &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>exactly 2</source>
- <translation>exactamente 2</translation>
+ <source>Cannot move file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>No se puede mover el archivo &quot;%1&quot; a &quot;%2&quot;: %3</translation>
</message>
<message>
- <source>Installer needs to be an offline version: %1.</source>
- <translation>El instalador tiene que ser la versión sin conexión: %1.</translation>
+ <source>Installer at &quot;%1&quot; needs to be an offline one.</source>
+ <translation>El instalador de &quot;%1&quot; debe ser sin conexión.</translation>
</message>
<message>
- <source>Cannot open file: %1</source>
- <translation>No se puede abrir el archivo: %1</translation>
+ <source>Cannot open file &quot;%1&quot; for reading.</source>
+ <translation>No se puede abrir el archivo &quot;%1&quot; para la lectura.</translation>
</message>
<message>
- <source>Cannot read: %1. Error: %2</source>
- <translation>No se puede leer: %1. Error: %2</translation>
+ <source>Cannot read file &quot;%1&quot;: %2</source>
+ <translation>No se puede leer el archivo &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot open file: %1. Error: %2</source>
- <translation>No se puede leer el archivo %1. Error: %2</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>No se puede abrir el archivo &quot;%1&quot; para la lectura: %2</translation>
</message>
<message>
- <source>Cannot create target dir: %1.</source>
- <translation>No se puede crear el directorio de destino: %1.</translation>
+ <source>Cannot create target directory: &quot;%1&quot;.</source>
+ <translation>No se puede crear el directorio de destino: &quot;%1&quot;.</translation>
</message>
<message>
<source>Unknown exception caught: %1.</source>
- <translation>Excepción desconocida capturada: %1.</translation>
+ <translation>Se ha producido una excepción desconocida: %1.</translation>
</message>
<message>
- <source>Removing file: %0</source>
- <translation>Eliminando archivo: %0</translation>
+ <source>Removing file &quot;%1&quot;.</source>
+ <translation>Eliminando el archivo &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot remove %0.</source>
- <translation>No se puede eliminar %0.</translation>
+ <source>Cannot remove file &quot;%1&quot;.</source>
+ <translation>No se puede eliminar el archivo &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot remove directory %1: %2</source>
- <translation>No se puede eliminar el directorio %1: %2</translation>
+ <source>Cannot remove directory &quot;%1&quot;: %2</source>
+ <translation>No se puede eliminar el directorio &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>QInstaller::CreateShortcutOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
+ <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;target&gt; &lt;link location&gt; [target arguments] [&quot;workingDirectory=...&quot;] [&quot;iconPath=...&quot;] [&quot;iconId=...&quot;] [&quot;description=...&quot;]</translation>
</message>
<message>
- <source>2 or 3</source>
- <translation>2 ó 3</translation>
+ <source>Cannot create directory &quot;%1&quot;: %2</source>
+ <translation>No se puede crear el directorio &quot;%1&quot;: %2</translation>
</message>
<message>
- <source> (optional: &apos;workingDirectory=...&apos;)</source>
- <translation> (opcional: &apos;workingDirectory=...&apos;)</translation>
+ <source>Failed to overwrite &quot;%1&quot;: %2</source>
+ <translation>Error al sobrescribir &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot create folder %1: %2.</source>
- <translation>No se puede crear la carpeta %1: %2.</translation>
- </message>
- <message>
- <source>Cannot create link %1: %2</source>
- <translation>No se puede crear el enlace %1: %2</translation>
+ <source>Cannot create link &quot;%1&quot;: %2</source>
+ <translation>No se puede crear el vínculo &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
@@ -860,7 +1070,7 @@
</message>
<message>
<source>Downloading hash signature failed.</source>
- <translation>La descarga de la firma del hash ha fallado.</translation>
+ <translation>Error al descargar la firma del hash.</translation>
</message>
<message>
<source>Download Error</source>
@@ -868,266 +1078,292 @@
</message>
<message>
<source>Hash verification while downloading failed. This is a temporary error, please retry.</source>
- <translation>La verificación del hash ha fallado al descargar. Es un error temporal,por favor inténtalo de nuevo.</translation>
+ <translation>Error de verificación del hash durante la descarga. Es un error temporal, vuelva a intentarlo.</translation>
</message>
<message>
<source>Cannot verify Hash</source>
<translation>No se puede verificar el hash</translation>
</message>
<message>
- <source>Cannot download archive: %1 : %2</source>
+ <source>Cannot download archive %1: %2</source>
<translation>No se puede descargar el archivo %1: %2</translation>
</message>
<message>
<source>Cannot fetch archives: %1
Error while loading %2</source>
- <translation>No se pueden traer los archivos: %1
-Error al cargar %2</translation>
- </message>
- <message>
- <source>Downloading archive hash for component: %1</source>
- <translation>Descargando el hash del archivo para el componente: %1</translation>
+ <translation>No se pueden obtener los archivos: %1
+Error al descargar %2</translation>
</message>
<message>
- <source>Downloading archive for component: %1</source>
- <translation>Descargando archivo para el componente: %1</translation>
+ <source>Downloading archive &quot;%1&quot; for component %2.</source>
+ <translation>Descargando el archivo &quot;%1&quot; para el componente %2.</translation>
</message>
<message>
- <source>Scheme not supported: %1 (%2)</source>
- <translation>Esquema no admitido: %1 (%2)</translation>
+ <source>Scheme %1 not supported (URL: %2).</source>
+ <translation>Esquema %1 no admitido (URL: %2).</translation>
</message>
<message>
- <source>Cannot find component for: %1.</source>
- <translation>No se puede localizar el componente para: %1.</translation>
+ <source>Cannot find component for %1.</source>
+ <translation>No se puede encontrar el componente para %1.</translation>
</message>
</context>
<context>
- <name>QInstaller::ElevatedExecuteOperation</name>
+ <name>QInstaller::Downloader</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
+ <source>Target file &quot;%1&quot; already exists but is not a file.</source>
+ <translation>El archivo de destino &quot;%1&quot; ya existe, pero no es un archivo.</translation>
</message>
<message>
- <source>at least 1</source>
- <translation>por lo menos 1</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <extracomment>%2 is a sentence describing the error</extracomment>
+ <translation>No se puede abrir el archivo &apos;%1&apos; para la escritura: %2</translation>
</message>
<message>
- <source>Execution failed: Cannot start detached: &quot;%1&quot;</source>
- <translation>La ejecución ha fallado: no se puede iniciar separada: &quot;%1&quot;</translation>
+ <source>File &quot;%1&quot; not open for writing: %2</source>
+ <extracomment>%2 is a sentence describing the error.</extracomment>
+ <translation>No se pudo abrir el archivo &quot;%1&quot; para la escritura: %2</translation>
</message>
<message>
- <source>Execution failed: Cannot start: &quot;%1&quot;(%2)</source>
- <translation>La ejecución ha fallado: no se puede iniciar: &quot;%1&quot;(%2)</translation>
+ <source>Writing to file &quot;%1&quot; failed: %2</source>
+ <extracomment>%2 is a sentence describing the error.</extracomment>
+ <translation>Error al escribir en el archivo &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Execution failed(Crash): &quot;%1&quot;</source>
- <translation>La ejecución ha fallado (cuelgue): &quot;%1&quot;</translation>
+ <source>Redirect loop detected for &quot;%1&quot;.</source>
+ <translation>Se ha detectado un bucle de redirección para &quot;%1&quot;.</translation>
</message>
<message>
- <source>Execution failed(Unexpected exit code: %1): &quot;%2&quot;</source>
- <translation>La ejecución ha fallado (código de salida inesperado: %1): &quot;%2&quot;</translation>
+ <source>Checksum mismatch detected for &quot;%1&quot;.</source>
+ <translation>Discrepancia de suma de comprobación detectada para &quot;%1&quot;.</translation>
</message>
-</context>
-<context>
- <name>QInstaller::EnvironmentVariableOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
+ <source>Network error while downloading &apos;%1&apos;: %2.</source>
+ <translation>Error de red durante la descarga de &apos;%1&apos;: %2.</translation>
</message>
<message>
- <source>2 or 3</source>
- <translation>2 ó 3</translation>
+ <source>Unknown network error while downloading &quot;%1&quot;.</source>
+ <extracomment>%1 is a sentence describing the error</extracomment>
+ <translation>Error de red desconocido durante la descarga de &quot;%1&quot;.</translation>
</message>
-</context>
-<context>
- <name>QInstaller::ExtractArchiveOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
+ <source>Network transfers canceled.</source>
+ <translation>Transferencias de red canceladas.</translation>
</message>
<message>
- <source>exactly 2</source>
- <translation>exactamente 2</translation>
+ <source>Pause and resume not supported by network transfers.</source>
+ <translation>La pausa y la reanudación no son compatibles con las transferencias de red.</translation>
+ </message>
+ <message>
+ <source>Invalid source URL &quot;%1&quot;: %2</source>
+ <extracomment>%2 is a sentence describing the error</extracomment>
+ <translation>URL de origen &quot;%1&quot; no válida: %2</translation>
</message>
</context>
<context>
- <name>QInstaller::ExtractArchiveOperation::Runnable</name>
+ <name>QInstaller::ElevatedExecuteOperation</name>
+ <message>
+ <source>Cannot start detached: &quot;%1&quot;</source>
+ <translation>No se puede iniciar aislado: &quot;%1&quot;</translation>
+ </message>
<message>
- <source>Cannot open %1 for reading: %2.</source>
- <translation>No se puede abrir el archivo %1 en modo lectura: %2.</translation>
+ <source>Cannot start: &quot;%1&quot;: %2</source>
+ <translation>No se puede iniciar: &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Error while extracting &apos;%1&apos;: %2</source>
- <translation>Error al extraer &apos;%1&apos;: %2</translation>
+ <source>Program crashed: &quot;%1&quot;</source>
+ <translation>El programa ha dejado de funcionar: &quot;%1&quot;</translation>
</message>
<message>
- <source>Unknown exception caught while extracting %1.</source>
- <translation>Excepción desconocida capturada al extraer %1.</translation>
+ <source>Execution failed (Unexpected exit code: %1): &quot;%2&quot;</source>
+ <translation>Error de ejecución (código de error no esperado: %1): &quot;%2&quot;</translation>
</message>
</context>
<context>
- <name>QInstaller::FinishedPage</name>
+ <name>QInstaller::ExtractArchiveOperation::Runnable</name>
<message>
- <source>Completing the %1 Wizard</source>
- <translation>Completando el asistente de %1</translation>
+ <source>Cannot open archive &quot;%1&quot; for reading: %2</source>
+ <translation>No se puede abrir el archivo &quot;%1&quot; para la lectura: %2</translation>
</message>
<message>
- <source>Click Done to exit the %1 Wizard.</source>
- <translation>Haz clic en hecho para salir del asistente de %1.</translation>
+ <source>Error while extracting archive &quot;%1&quot;: %2</source>
+ <translation>Error al extraer el archivo &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Click Finish to exit the %1 Wizard.</source>
- <translation>Haz clic en terminar para salir del asistente de %1.</translation>
+ <source>Unknown exception caught while extracting &quot;%1&quot;.</source>
+ <translation>Se ha producido una excepción desconocida al extraer &quot;%1&quot;.</translation>
</message>
+</context>
+<context>
+ <name>QInstaller::FakeStopProcessForUpdateOperation</name>
<message>
- <source>Restart</source>
- <translation>Reiniciar</translation>
+ <source>Cannot get package manager core.</source>
+ <translation>No se puede obtener el componente básico del administrador de paquetes.</translation>
</message>
<message>
- <source>Run %1 now.</source>
- <translation>Ejecutar %1 ahora.</translation>
+ <source>This process should be stopped before continuing: %1</source>
+ <translation>Este proceso se debe detener antes de continuar: %1</translation>
</message>
<message>
- <source>The %1 Wizard failed.</source>
- <translation>El asistente de %1 ha fallado.</translation>
+ <source>These processes should be stopped before continuing: %1</source>
+ <translation>Estos procesos se deben detener antes de continuar: %1</translation>
</message>
</context>
<context>
- <name>QInstaller::GetRepositoryMetaInfoJob</name>
+ <name>QInstaller::FileTaskObserver</name>
<message>
- <source>Empty repository URL.</source>
- <translation>URL del repositorio vacía.</translation>
+ <source>%1 of %2</source>
+ <translation>%1 de %2</translation>
</message>
<message>
- <source>Retrieving component meta information...</source>
- <translation>Recuperando metadatos del componente...</translation>
+ <source>%1 received.</source>
+ <translation>%1 recibido.</translation>
</message>
<message>
- <source>Invalid repository URL: %1</source>
- <translation>URL del repositorio no válida: %1</translation>
+ <source>(%1/sec)</source>
+ <translation>(%1/seg)</translation>
</message>
- <message>
- <source>URL scheme not supported: %1 (%2)</source>
- <translation>Esquema de URL no admitido: %1 (%2)</translation>
+ <message numerus="yes">
+ <source>%n day(s), </source>
+ <translation>
+ <numerusform>%n día(s), </numerusform>
+ </translation>
</message>
- <message>
- <source>Cannot move Updates.xml to target location. Error: %1</source>
- <translation>No se puede mover Updates.xml a la ubicación de destino. Error: %1</translation>
+ <message numerus="yes">
+ <source>%n hour(s), </source>
+ <translation>
+ <numerusform>%n hora(s), </numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%n minute(s)</source>
+ <translation>
+ <numerusform>%n minuto(s)</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%n second(s)</source>
+ <translation>
+ <numerusform>%n segundo(s)</numerusform>
+ </translation>
</message>
<message>
- <source>Cannot open Updates.xml for reading. Error: %1</source>
- <translation>No se puede abrir Updates.xml en modo lectura. Error: %1</translation>
+ <source> - %1%2%3%4 remaining.</source>
+ <translation> - %1%2%3%4 restante.</translation>
</message>
<message>
- <source>Cannot fetch a valid version of Updates.xml from repository: %1. Error: %2</source>
- <translation>No se puede traer una versión válida de Updates.xml del repositorio: %1. Error: %2</translation>
+ <source> - unknown time remaining.</source>
+ <translation> - tiempo restante desconocido.</translation>
</message>
+</context>
+<context>
+ <name>QInstaller::FinishedPage</name>
<message>
- <source>Download Error</source>
- <translation>Error de descarga</translation>
+ <source>Completing the %1 Wizard</source>
+ <translation>Completando el Asistente de %1</translation>
</message>
<message>
- <source>Parsing component meta information...</source>
- <translation>Analizando los metadatos del componente...</translation>
+ <source>Click %1 to exit the %2 Wizard.</source>
+ <translation>Haga clic en %1 para salir del asistente de %2.</translation>
</message>
<message>
- <source>Repository updates received.</source>
- <translation>Actualizaciones del repositorio obtenidas.</translation>
+ <source>Restart</source>
+ <translation>Reiniciar</translation>
</message>
<message>
- <source>Finished updating component meta information.</source>
- <translation>Actualización de los metadatos del componente finalizada.</translation>
+ <source>Run %1 now.</source>
+ <translation>Ejecute %1 ahora.</translation>
</message>
<message>
- <source>Cannot fetch Updates.xml from repository: %1. Error: %2</source>
- <translation>No se puede traer Updates.xml del repositorio: %1. Error: %2</translation>
+ <source>The %1 Wizard failed.</source>
+ <translation>Error del Asistente de %1.</translation>
</message>
+</context>
+<context>
+ <name>QInstaller::GlobalSettingsOperation</name>
<message>
- <source>Retrieving component information from remote repository...</source>
- <translation>Recuperando información del componente del repositorio remoto...</translation>
+ <source>Settings are not writable.</source>
+ <translation>No se puede escribir en la configuración.</translation>
</message>
<message>
- <source>Cannot open meta info archive: %1. Error: %2</source>
- <translation>No se puede abrir el archivo de metadatos %1. Error: %2</translation>
+ <source>Failed to write settings.</source>
+ <translation>Error al escribir en la configuración.</translation>
</message>
+</context>
+<context>
+ <name>QInstaller::InstallIconsOperation</name>
<message>
- <source>The hash of one component does not match the expected one.</source>
- <translation>El hash de un componente no coincide con el esperado.</translation>
+ <source>&lt;source path&gt; [vendor prefix]</source>
+ <translation>&lt;source path&gt; [vendor prefix]</translation>
</message>
<message>
- <source>Bad hash.</source>
- <translation>Hash erróneo.</translation>
+ <source>Invalid Argument: source directory must not be empty.</source>
+ <translation>Argumento no válido: el directorio de origen no debe estar vacío.</translation>
</message>
<message>
- <source>Cannot download meta information for component: %1. Error: %2</source>
- <translation>No se pueden descargar los metadatos del componente: %1. Error: %2</translation>
+ <source>Cannot backup file &quot;%1&quot;: %2</source>
+ <translation>No se puede crear una copia de seguridad del archivo &quot;%1&quot;: %2</translation>
</message>
-</context>
-<context>
- <name>QInstaller::GetRepositoryMetaInfoJob::ZipRunnable</name>
<message>
- <source>Error while extracting &apos;%1&apos;: %2</source>
- <translation>Error al extraer &apos;%1&apos;: %2</translation>
+ <source>Failed to overwrite &quot;%1&quot;: %2</source>
+ <translation>Error al sobrescribir &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Unknown exception caught while extracting %1.</source>
- <translation>Excepción desconocida capturada al extraer %1.</translation>
+ <source>Failed to copy file &quot;%1&quot;: %2</source>
+ <translation>Error al copiar el archivo &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot open %1 for reading. Error: %2</source>
- <translation>No se puede abrir %1 en modo lectura. Error: %2</translation>
+ <source>Cannot create directory &quot;%1&quot;: %2</source>
+ <translation>No se puede crear el directorio &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
- <name>QInstaller::GlobalSettingsOperation</name>
+ <name>QInstaller::IntroductionPage</name>
<message>
- <source>Settings are not writable</source>
- <translation>No se puede escribir en la configuración</translation>
+ <source>Setup - %1</source>
+ <translation>Programa de instalación - %1</translation>
</message>
<message>
- <source>Failed to write settings</source>
- <translation>Fallo al escribir la configuración</translation>
+ <source>Welcome to the %1 Setup Wizard.</source>
+ <translation>Bienvenido al Asistente de instalación de %1.</translation>
</message>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
+ <source>Add or remove components</source>
+ <translation>Agregar o quitar componentes</translation>
</message>
<message>
- <source>3 or 4</source>
- <translation>3 ó 4</translation>
+ <source>Update components</source>
+ <translation>Actualizar componentes</translation>
</message>
-</context>
-<context>
- <name>QInstaller::InstallIconsOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
+ <source>Remove all components</source>
+ <translation>Quitar todos los componentes</translation>
</message>
<message>
- <source>1 or 2</source>
- <translation>1 ó 2</translation>
+ <source>Retrieving information from remote installation sources...</source>
+ <translation>Recuperando información de fuentes de instalación remotas...</translation>
</message>
<message>
- <source> (Sourcepath, [Vendorprefix])</source>
- <translation> (Sourcepath, [Vendorprefix])</translation>
+ <source>At least one valid and enabled repository required for this action to succeed.</source>
+ <translation>Se requiere al menos un repositorio válido y habilitado para que esta acción se realice correctamente.</translation>
</message>
-</context>
-<context>
- <name>QInstaller::IntroductionPage</name>
<message>
- <source>Setup - %1</source>
- <translation>Instalación - %1</translation>
+ <source>No updates available.</source>
+ <translation>No hay actualizaciones disponibles.</translation>
</message>
<message>
- <source>Welcome to the %1 Setup Wizard.</source>
- <translation>Bienvenido al asistente de instalación de %1.</translation>
+ <source> Only local package management available.</source>
+ <translation> Solo está disponible la administración de paquetes locales.</translation>
+ </message>
+ <message>
+ <source>Quit</source>
+ <translation>Salir</translation>
</message>
</context>
<context>
<name>QInstaller::LicenseAgreementPage</name>
<message>
<source>License Agreement</source>
- <translation>Acuerdo de licencia</translation>
+ <translation>Contrato de licencia</translation>
</message>
<message>
<source>Alt+A</source>
@@ -1135,8 +1371,13 @@ Error al cargar %2</translation>
<translation>Alt+A</translation>
</message>
<message>
+ <source>Alt+D</source>
+ <comment>do not agree license</comment>
+ <translation>Alt+D</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>Por favor, lee el siguiente acuerdo de licencia. Tienes que aceptar los términos de este acuerdo para poder continuar con la instalación.</translation>
+ <translation>Lea el siguiente contrato de licencia. Debe aceptar los términos contenidos en este contrato antes de continuar con la instalación.</translation>
</message>
<message>
<source>I accept the license.</source>
@@ -1148,7 +1389,7 @@ Error al cargar %2</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>Por favor, lee el siguiente acuerdo de licencia. Tienes que aceptar los términos de este acuerdo para poder continuar con la instalación.</translation>
+ <translation>Lea los siguientes contratos de licencia. Debe aceptar los términos contenidos en estos contratos antes de continuar con la instalación.</translation>
</message>
<message>
<source>I accept the licenses.</source>
@@ -1158,70 +1399,105 @@ Error al cargar %2</translation>
<source>I do not accept the licenses.</source>
<translation>No acepto las licencias.</translation>
</message>
- <message>
- <source>Alt+D</source>
- <comment>do not agree license</comment>
- <translation>Alt+D</translation>
- </message>
</context>
<context>
<name>QInstaller::LicenseOperation</name>
<message>
<source>No license files found to copy.</source>
- <translation>No se han localizado los archivos de licencia para copiar.</translation>
+ <translation>No se han encontrado archivos de licencia para copiar.</translation>
</message>
<message>
<source>Needed installer object in %1 operation is empty.</source>
- <translation>Se necesita el objeto del instalador en %1 la operación está vacía.</translation>
+ <translation>El objeto de instalador necesario en la operación %1 está vacío.</translation>
</message>
<message>
- <source>Can not write license file: %1.</source>
- <translation>No se puede escribir el archivo de licencia: %1.</translation>
+ <source>Can not write license file &quot;%1&quot;.</source>
+ <translation>No se puede escribir en el archivo de licencia &quot;%1&quot;.</translation>
</message>
<message>
<source>No license files found to delete.</source>
- <translation>No se han localizado archivos de licencia para eliminar.</translation>
+ <translation>No se han encontrado archivos de licencia para eliminar.</translation>
</message>
</context>
<context>
<name>QInstaller::LineReplaceOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>No se puede abrir el archivo &quot;%1&quot; para la lectura: %2</translation>
</message>
<message>
- <source>exactly 3</source>
- <translation>exactamente 3</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>No se puede abrir el archivo &apos;%1&apos; para la escritura: %2</translation>
</message>
</context>
<context>
- <name>QInstaller::MacReplaceInstallNamesOperation</name>
+ <name>QInstaller::MetadataJob</name>
+ <message>
+ <source>Missing package manager core engine.</source>
+ <translation>Falta el motor de componente básico del administrador de paquetes.</translation>
+ </message>
+ <message>
+ <source>Preparing meta information download...</source>
+ <translation>Preparando la descarga de la información de metadatos...</translation>
+ </message>
+ <message>
+ <source>Unpacking compressed repositories. This may take a while...</source>
+ <translation>Desempaquetando los repositorios comprimidos. Esta operación puede tardar...</translation>
+ </message>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
+ <source>Meta data download canceled.</source>
+ <translation>Descarga de metadatos cancelada.</translation>
</message>
<message>
- <source>at least 3</source>
- <translation>por lo menos 3</translation>
+ <source>Unknown exception during extracting.</source>
+ <translation>Se ha producido una excepción durante la extracción.</translation>
</message>
<message>
- <source>One of the given arguments is empty. Argument1=%1; Argument2=%2, Argument3=%3</source>
- <translation>Uno de los argumentos dados está vacío. Argumento1=%1; Argumento2=%2, Argumento3=%3</translation>
+ <source>Missing proxy credentials.</source>
+ <translation>Faltan las credenciales del proxy.</translation>
</message>
<message>
- <source>Can&apos;t invoke otool. Is Xcode installed?</source>
- <translation>No se puede invocar otool. ¿Está Xcode instalado?</translation>
+ <source>Authentication failed.</source>
+ <translation>Error de autenticación.</translation>
</message>
<message>
- <source>Can&apos;t start process %0.</source>
- <translation>No se puede iniciar el proceso %0.</translation>
+ <source>Unknown exception during download.</source>
+ <translation>Se ha producido una excepción desconocida durante la descarga.</translation>
+ </message>
+ <message>
+ <source>Failure to fetch repositories.</source>
+ <translation>Error al recuperar los repositorios.</translation>
+ </message>
+ <message>
+ <source>Extracting meta information...</source>
+ <translation>Extrayendo la información de metadatos...</translation>
+ </message>
+ <message>
+ <source>Retrieving meta information from remote repository... %1/%2 </source>
+ <translation>Recuperando información de metadatos del repositorio remoto... %1/%2 </translation>
+ </message>
+ <message>
+ <source>Retrieving meta information from remote repository... </source>
+ <translation>Recuperando información de metadatos del repositorio remoto... </translation>
+ </message>
+ <message>
+ <source>Error while extracting archive &quot;%1&quot;: %2</source>
+ <translation>Error al extraer el archivo &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Unknown exception caught while extracting archive &quot;%1&quot;.</source>
+ <translation>Se ha producido una excepción desconocida al extraer el archivo &quot;%1&quot;.</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>No se puede abrir el archivo &quot;%1&quot; para la lectura: %2</translation>
</message>
</context>
<context>
<name>QInstaller::PackageManagerCore</name>
<message>
- <source>Error writing Uninstaller</source>
- <translation>Error al escribir el desinstalador</translation>
+ <source>Error writing Maintenance Tool</source>
+ <translation>Error al escribir la herramienta de mantenimiento</translation>
</message>
<message>
<source>
@@ -1230,16 +1506,12 @@ Downloading packages...</source>
Descargando paquetes...</translation>
</message>
<message>
- <source>Installation canceled by user</source>
- <translation>Instalación cancelada por el usuario</translation>
+ <source>Installation canceled by user.</source>
+ <translation>Instalación cancelada por el usuario.</translation>
</message>
<message>
<source>All downloads finished.</source>
- <translation>Todas las descargas han terminado.</translation>
- </message>
- <message>
- <source>Error</source>
- <translation>Error</translation>
+ <translation>Se han completado todas las descargas.</translation>
</message>
<message>
<source>Cancelling the Installer</source>
@@ -1250,8 +1522,8 @@ Descargando paquetes...</translation>
<translation>Error de autenticación</translation>
</message>
<message>
- <source>Some components could not be removed completely because admin rights could not be acquired: %1.</source>
- <translation>Algunos componentes no se han podido desinstalar completamente por falta de permisos de administrador: %1.</translation>
+ <source>Some components could not be removed completely because administrative rights could not be acquired: %1.</source>
+ <translation>Algunos componentes no se pueden eliminar por completo porque no se pueden adquirir derechos administrativos: %1.</translation>
</message>
<message>
<source>Unknown error.</source>
@@ -1259,46 +1531,54 @@ Descargando paquetes...</translation>
</message>
<message>
<source>Some components could not be removed completely because an unknown error happened.</source>
- <translation>Algunos componentes no se han podido desinstalar completamente porque se ha producido un error desconocido.</translation>
+ <translation>Algunos componentes no se han podido eliminar por completo porque se ha producido un error desconocido.</translation>
</message>
<message>
- <source>Application not running in Package Manager mode!</source>
- <translation>¡La aplicación no se está ejecutando en modo gestión de paquetes!</translation>
+ <source>Application not running in Package Manager mode.</source>
+ <translation>La aplicación no se está ejecutando en el modo de administrador de paquetes.</translation>
</message>
<message>
<source>No installed packages found.</source>
<translation>No se han encontrado paquetes instalados.</translation>
</message>
<message>
- <source>Application running in Uninstaller mode!</source>
- <translation>¡La aplicación se está ejecutando en modo desinstalador!</translation>
+ <source>Application running in Uninstaller mode.</source>
+ <translation>La aplicación se está ejecutando en el modo de desinstalador.</translation>
</message>
<message>
- <source>invalid</source>
- <translation>no válido</translation>
+ <source>There is an important update available, please run the updater first.</source>
+ <translation>Hay disponible una actualización importante; ejecute primero el actualizador.</translation>
</message>
-</context>
-<context>
- <name>QInstaller::PackageManagerCorePrivate</name>
<message>
- <source>Error</source>
- <translation>Error</translation>
+ <source>Cannot resolve all dependencies.</source>
+ <translation>No se pueden resolver todas las dependencias.</translation>
</message>
<message>
- <source>Component(s) added as automatic dependencies</source>
- <translation>Componente(s) añadidos como dependencias automáticas</translation>
+ <source>Components about to be removed.</source>
+ <translation>Componentes que están a punto de eliminarse.</translation>
</message>
<message>
- <source>Added as dependency for %1.</source>
- <translation>Añadido como dependencia de %1.</translation>
+ <source>Error while elevating access rights.</source>
+ <translation>Error al aumentar los derechos de acceso.</translation>
</message>
<message>
- <source>Component(s) that have resolved Dependencies</source>
- <translation>Componente(s) que tienen dependencias resueltas</translation>
+ <source>Error</source>
+ <translation>Error</translation>
</message>
<message>
- <source>Selected Component(s) without Dependencies</source>
- <translation>Componente(s) seleccionados sin dependencias</translation>
+ <source>invalid</source>
+ <translation>no válido</translation>
+ </message>
+</context>
+<context>
+ <name>QInstaller::PackageManagerCorePrivate</name>
+ <message>
+ <source>Unresolved dependencies</source>
+ <translation>Dependencias sin resolver</translation>
+ </message>
+ <message>
+ <source>Error</source>
+ <translation>Error</translation>
</message>
<message>
<source>Access error</source>
@@ -1314,13 +1594,13 @@ Descargando paquetes...</translation>
</message>
<message>
<source>Stop Processes</source>
- <translation>Parar procesos</translation>
+ <translation>Detener procesos</translation>
</message>
<message>
<source>These processes should be stopped to continue:
%1</source>
- <translation>Estos procesos se tienen que parar para poder continuar:
+ <translation>Estos procesos se deben detener para continuar:
%1</translation>
</message>
@@ -1329,36 +1609,36 @@ Descargando paquetes...</translation>
<translation>Instalación cancelada por el usuario</translation>
</message>
<message>
- <source>Writing uninstaller.</source>
- <translation>Escribiendo el desinstalador.</translation>
+ <source>Writing maintenance tool.</source>
+ <translation>Escribiendo la herramienta de mantenimiento.</translation>
</message>
<message>
- <source>Uninstaller is not a bundle</source>
- <translation>El desinstalador no es un paquete</translation>
+ <source>Failed to seek in file %1: %2</source>
+ <translation>No se puede buscar en el archivo %1: %2</translation>
</message>
<message>
- <source>Cannot write uninstaller data to %1: %2</source>
- <translation>No se pueden escribir los datos del desinstalador en %1: %2</translation>
+ <source>Maintenance tool is not a bundle</source>
+ <translation>La herramienta de mantenimiento no es un paquete</translation>
</message>
<message>
- <source>Cannot write uninstaller to %1: %2</source>
- <translation>No se pueden escribir el desinstalador en %1: %2</translation>
+ <source>Cannot remove data file &quot;%1&quot;: %2</source>
+ <translation>No se puede quitar el archivo de datos &quot;%1&quot;: %2</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>Se ha localizado un archivo de datos binarios, pero ¡sólo el instalador debería leer el recurso binario desde su propio binario!</translation>
+ <source>Cannot write maintenance tool data to %1: %2</source>
+ <translation>No se pueden escribir los datos de la herramienta de mantenimiento en %1: %2</translation>
</message>
<message>
- <source>Cannot write uninstaller binary data to %1: %2</source>
- <translation>No se pueden escribir los datos binarios del desinstalador en %1: %2</translation>
+ <source>Cannot write maintenance tool to &quot;%1&quot;: %2</source>
+ <translation>No se puede escribir la herramienta de mantenimiento en &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>ProductName should be set</source>
- <translation>Se tiene que establecer ProductName</translation>
+ <source>Cannot write maintenance tool binary data to %1: %2</source>
+ <translation>No se pueden escribir los datos binarios de la herramienta de mantenimiento en %1: %2</translation>
</message>
<message>
<source>Variable &apos;TargetDir&apos; not set.</source>
- <translation>Variable &apos;TargetDir&apos; sin establecer.</translation>
+ <translation>&apos;TargetDir&apos; no se ha definido.</translation>
</message>
<message>
<source>Preparing the installation...</source>
@@ -1373,20 +1653,20 @@ Descargando paquetes...</translation>
<translation>Creando repositorio local</translation>
</message>
<message>
- <source>Creating Uninstaller</source>
- <translation>Creando desinstalador</translation>
+ <source>Creating Maintenance Tool</source>
+ <translation>Creando herramienta de mantenimiento</translation>
</message>
<message>
<source>
Installation finished!</source>
<translation>
-¡Instalación terminada!</translation>
+Instalación completada.</translation>
</message>
<message>
<source>
Installation aborted!</source>
<translation>
-¡Instalación cancelada!</translation>
+Instalación cancelada.</translation>
</message>
<message>
<source>It is not possible to run that operation from a network location</source>
@@ -1394,37 +1674,33 @@ Installation aborted!</source>
</message>
<message>
<source>Removing deselected components...</source>
- <translation>Eliminando componentes desmarcados...</translation>
+ <translation>Eliminando componentes anulados de la selección...</translation>
</message>
<message>
<source>
Update finished!</source>
<translation>
-¡Actualización terminada!</translation>
+Actualización completada.</translation>
</message>
<message>
<source>
Update aborted!</source>
<translation>
-¡Actualización cancelada!</translation>
+Actualización cancelada.</translation>
</message>
<message>
- <source>
-Uninstallation completed successfully!</source>
- <translation>
-¡Desinstalación completada con éxito!</translation>
+ <source>Uninstallation completed successfully.</source>
+ <translation>La desinstalación se ha completado correctamente.</translation>
</message>
<message>
- <source>
-Uninstallation aborted!</source>
- <translation>
-¡Instalación cancelada!</translation>
+ <source>Uninstallation aborted.</source>
+ <translation>Desinstalación cancelada.</translation>
</message>
<message>
<source>
-Installing component %1...</source>
+Installing component %1</source>
<translation>
-Instalando componente %1...</translation>
+Instalando componente %1</translation>
</message>
<message>
<source>Installer Error</source>
@@ -1438,7 +1714,7 @@ Instalando componente %1...</translation>
</message>
<message>
<source>Cannot prepare uninstall</source>
- <translation>No se puede prepara la desinstalación</translation>
+ <translation>No se puede preparar la desinstalación</translation>
</message>
<message>
<source>Cannot start uninstall</source>
@@ -1455,67 +1731,63 @@ Instalando componente %1...</translation>
<translation>Error desconocido</translation>
</message>
<message>
- <source>Cannot retrieve remote tree: %1.</source>
- <translation>No se puede recuperar el árbol remoto: %1.</translation>
+ <source>Cannot retrieve remote tree %1.</source>
+ <translation>No se puede recuperar el árbol remoto %1.</translation>
</message>
<message>
- <source>Failure to read packages from: %1.</source>
- <translation>Error al leer los paquetes de: %1.</translation>
+ <source>Failure to read packages from %1.</source>
+ <translation>Error al leer los paquetes en %1.</translation>
</message>
<message>
<source>Cannot retrieve meta information: %1</source>
- <translation>No se pueden recuperar los metadatos: %1</translation>
+ <translation>No se puede recuperar la información de los metadatos: %1</translation>
</message>
<message>
<source>Cannot add temporary update source information.</source>
- <translation>No se puede añadir información sobre la fuente de actualizaciones temporal.</translation>
+ <translation>No se puede agregar la información de la fuente de actualización temporal.</translation>
</message>
<message>
<source>Cannot find any update source information.</source>
- <translation>No se puede localizar ninguna información sobre la fuente de actualizaciones.</translation>
+ <translation>No se puede encontrar ninguna información de fuente de actualización.</translation>
+ </message>
+ <message>
+ <source>Dependency cycle between components &quot;%1&quot; and &quot;%2&quot; detected.</source>
+ <translation>Se ha detectado un ciclo de dependencia entre componentes los &quot;%1&quot; y &quot;%2&quot;.</translation>
</message>
</context>
<context>
<name>QInstaller::PackageManagerGui</name>
<message>
<source>%1 Setup</source>
- <translation>Instalación de %1</translation>
+ <translation>Programa de instalación de %1</translation>
</message>
<message>
<source>Maintain %1</source>
<translation>Mantener %1</translation>
</message>
<message>
- <source>Question</source>
- <translation>Pregunta</translation>
+ <source>Do you want to cancel the installation process?</source>
+ <translation>¿Desea cancelar el proceso de instalación?</translation>
</message>
<message>
- <source>Do you want to abort the %1 process?</source>
- <translation>¿Quieres cancelar el proceso %1?</translation>
+ <source>Do you want to cancel the uninstallation process?</source>
+ <translation>¿Desea cancelar el proceso de desinstalación?</translation>
</message>
<message>
- <source>uninstallation</source>
- <translation>desinstalación</translation>
+ <source>Do you want to quit the installer application?</source>
+ <translation>¿Desea salir de la aplicación del instalador?</translation>
</message>
<message>
- <source>installation</source>
- <translation>instalación</translation>
+ <source>Do you want to quit the uninstaller application?</source>
+ <translation>¿Desea salir de la aplicación del desinstalador?</translation>
</message>
<message>
- <source>installer</source>
- <translation>instalador</translation>
+ <source>Do you want to quit the maintenance application?</source>
+ <translation>¿Desea salir de la aplicación de mantenimiento?</translation>
</message>
<message>
- <source>uninstaller</source>
- <translation>desinstalador</translation>
- </message>
- <message>
- <source>maintenance</source>
- <translation>mantenimiento</translation>
- </message>
- <message>
- <source>Do you want to quit the %1 application?</source>
- <translation>¿Quieres salir de la aplicación %1?</translation>
+ <source>%1 Question</source>
+ <translation>%1 pregunta</translation>
</message>
<message>
<source>Settings</source>
@@ -1529,25 +1801,25 @@ Instalando componente %1...</translation>
<source>It is not possible to install from network location.
Please copy the installer to a local drive</source>
<translation>No es posible instalar desde una ubicación de red.
-Por favor, copia el instalador a un disco local</translation>
+Copie el instalador en una unidad local.</translation>
</message>
</context>
<context>
<name>QInstaller::PerformInstallationForm</name>
<message>
<source>&amp;Show Details</source>
- <translation>&amp;Mostrar detalles</translation>
+ <translation>Mo&amp;strar detalles</translation>
</message>
<message>
<source>&amp;Hide Details</source>
- <translation>&amp;Ocultar detalles</translation>
+ <translation>O&amp;cultar detalles</translation>
</message>
</context>
<context>
<name>QInstaller::PerformInstallationPage</name>
<message>
<source>U&amp;ninstall</source>
- <translation>D&amp;esinstalar</translation>
+ <translation>Desi&amp;nstalar</translation>
</message>
<message>
<source>Uninstalling %1</source>
@@ -1555,7 +1827,7 @@ Por favor, copia el instalador a un disco local</translation>
</message>
<message>
<source>&amp;Update</source>
- <translation>&amp;Actualizar</translation>
+ <translation>Act&amp;ualizar</translation>
</message>
<message>
<source>Updating components of %1</source>
@@ -1571,86 +1843,53 @@ Por favor, copia el instalador a un disco local</translation>
</message>
</context>
<context>
- <name>QInstaller::QtPatchOperation</name>
+ <name>QInstaller::ProxyCredentialsDialog</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
+ <source>Dialog</source>
+ <translation>Cuadro de diálogo</translation>
</message>
<message>
- <source>exactly 3</source>
- <translation>exactamente 3</translation>
+ <source>The proxy %1 requires a username and password.</source>
+ <translation>El proxy %1 requiere un nombre de usuario y una contraseña.</translation>
</message>
<message>
- <source>Needed installer object in &quot;%1&quot; operation is empty.</source>
- <translation>Se necesita el objeto del instalador en &quot;%1&quot; la operación está vacía.</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>El primer argumento tiene que ser &apos;linux&apos;, &apos;mac&apos; o &apos;windows&apos;. Por el momento no se admiten otros tipos.</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>No se puede localizar el valor necesario de QmakeOutputInstallerKey(%1) en el objeto del instalador. La operación ConsumeOutput en el qmake válido se tiene que invocar antes.</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>No existe un QMake de la versión actual) de Qt (%1). Por favor, rellena un informe de fallos haciendo referencia a este diálogo en https://bugreports.qt-project.org.</translation>
+ <source>Username:</source>
+ <translation>Nombre de usuario:</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>La salida de
-&apos;%1 -query&apos;
-no es analizable. Por favor, rellena un informe de fallos haciendo referencia a este diálogo en https://bugreports.qt-project.org.
-salida: &quot;%2&quot;</translation>
+ <source>Username</source>
+ <translation>Nombre de usuario</translation>
</message>
<message>
- <source>Qt patch error: new Qt dir(%1)
-needs to be less than 255 characters.</source>
- <translation>Error del parche de Qt: el nuevo directorio de Qt (%1)
-tiene que ser de menos de 255 caracteres.</translation>
+ <source>Password:</source>
+ <translation>Contraseña:</translation>
</message>
<message>
- <source>Qt patch error: Can not open %1.(%2)</source>
- <translation>Error del parche de Qt: No se puede abrir %1.(%2)</translation>
+ <source>Password</source>
+ <translation>Contraseña</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>El instalador no ha podido obtener la ubicación no parcheada de
-%1. (tal vez sea incorrecta o se haya eliminado)
-Se ha intentado parchear los binarios de Qt, pero el resto de archivos en Qt están sin parchear.
-El resultado de ésto podría ser una versión de Qt estropeada.
-A veces ayuda reiniciar el instalador con el antivirus deshabilitado.</translation>
+ <source>Proxy Credentials</source>
+ <translation>Credenciales del Proxy</translation>
</message>
</context>
<context>
<name>QInstaller::ReadyForInstallationPage</name>
<message>
- <source>&amp;Show Details</source>
- <translation>&amp;Mostrar detalles</translation>
- </message>
- <message>
<source>U&amp;ninstall</source>
- <translation>D&amp;esinstalar</translation>
+ <translation>Desi&amp;nstalar</translation>
</message>
<message>
<source>Ready to Uninstall</source>
- <translation>Preparado para la desinstalación</translation>
+ <translation>Preparado para desinstalar</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>El instalador está preparado para empezar a eliminar %1 de tu ordenador.&lt;br&gt;&lt;font color=&quot;red&quot;&gt;El directorio del programa %2 se va a eliminar por completo&lt;/font&gt;, ¡incluyendo todo el contenido de ese directorio!</translation>
+ <translation>El programa de instalación está preparado para empezar a eliminar %1 del equipo.&lt;br&gt;&lt;font color=&quot;red&quot;&gt;El directorio del programa %2 se eliminará completamente&lt;/font&gt;, incluido todo el contenido del directorio.</translation>
</message>
<message>
<source>U&amp;pdate</source>
- <translation>&amp;Actualizar</translation>
+ <translation>Actu&amp;alizar</translation>
</message>
<message>
<source>Ready to Update Packages</source>
@@ -1658,7 +1897,7 @@ A veces ayuda reiniciar el instalador con el antivirus deshabilitado.</translati
</message>
<message>
<source>Setup is now ready to begin updating your installation.</source>
- <translation>El instalador está preparado para empezar a actualizar tu instalación.</translation>
+ <translation>El programa de instalación está preparado para empezar a actualizar la instalación.</translation>
</message>
<message>
<source>&amp;Install</source>
@@ -1666,363 +1905,188 @@ A veces ayuda reiniciar el instalador con el antivirus deshabilitado.</translati
</message>
<message>
<source>Ready to Install</source>
- <translation>Preparado para la instalación</translation>
+ <translation>Preparado para instalar</translation>
</message>
<message>
<source>Setup is now ready to begin installing %1 on your computer.</source>
- <translation>El instalador está preparado para empezar a instalar %1 en tu ordenador.</translation>
+ <translation>El programa de instalación está preparado para empezar a instalar %1 en su equipo.</translation>
</message>
<message>
- <source>Not enough disk space to store temporary files and the installation! Available space: %1, at least required %2.</source>
- <translation>¡No hay suficiente espacio en disco para almacenar archivos temporales y la instalación! Espacio disponible %1, se necesitan por lo menos %2.</translation>
+ <source>Not enough disk space to store temporary files and the installation. %1 are available, while %2 are at least required.</source>
+ <translation>No hay suficiente espacio en disco para almacenar los archivos temporales y la instalación. Se dispone de %1 y se requiere al menos un espacio de %2.</translation>
</message>
<message>
- <source>Not enough disk space to store all selected components! Available space: %1, at least required: %2.</source>
- <translation>¡No hay suficiente espacio en disco para almacenar todos los componentes seleccionados! Espacio disponible %1, se necesitan por lo menos %2.</translation>
+ <source>Not enough disk space to store all selected components! %1 are available while %2 are at least required.</source>
+ <translation>No hay suficiente espacio en disco para almacenar todos los componentes seleccionados. Se dispone de %1 y se requiere al menos un espacio de %2.</translation>
</message>
<message>
- <source>Not enough disk space to store temporary files! Available space: %1, at least required: %2.</source>
- <translation>¡No hay suficiente espacio en disco para almacenar archivos temporales! Espacio disponible %1, se necesitan por lo menos %2.</translation>
+ <source>Not enough disk space to store temporary files! %1 are available while %2 are at least required.</source>
+ <translation>No hay suficiente espacio en disco para almacenar los archivos temporales. Se dispone de %1 y se requiere al menos un espacio de %2.</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>El volumen que has seleccionado para la instalación parece ser que tiene suficiente espacio para la instalación pero después habrá menos de 1% de espacio disponible en el volumen. %1</translation>
+ <translation>El volumen que ha seleccionado para la instalación parece tener suficiente espacio para la instalación, pero después quedará menos del 1% del espacio disponible. %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>El volumen que has seleccionado para la instalación parece ser que tiene suficiente espacio para la instalación pero después quedarán menos de 100 MB disponibles. %1</translation>
- </message>
- <message>
- <source>Can not resolve all dependencies!</source>
- <translation>¡No se pueden resolver todas las dependencias!</translation>
+ <translation>El volumen que ha seleccionado para la instalación parece tener suficiente espacio para la instalación, pero después quedarán menos de 100 MB disponibles. %1</translation>
</message>
<message>
- <source>Components about to be removed.</source>
- <translation>Componentes que se van a quitar.</translation>
- </message>
- <message>
- <source>&amp;Hide Details</source>
- <translation>&amp;Ocultar detalles</translation>
- </message>
-</context>
-<context>
- <name>QInstaller::RegisterDefaultDebuggerOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, 2 expected.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, 2 esperados.</translation>
- </message>
- <message>
- <source>Needed installer object in &quot;%1&quot; operation is empty.</source>
- <translation>Se necesita el objeto del instalador en &quot;%1&quot; la operación está vacía.</translation>
- </message>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation>exactamente 2</translation>
- </message>
- <message>
- <source>There is no value set for %1 on the installer object.</source>
- <translation>No se ha asignado un valor a %1 en el objeto del instalador.</translation>
- </message>
- <message>
- <source>Can&apos;t read from tool chains xml file(%1) correctly.</source>
- <translation>No se puede leer correctamente el archivo xml de la cadena de herramientas (%1).</translation>
+ <source>Installation will use %1 of disk space.</source>
+ <translation>La instalación usará %1 de espacio de disco.</translation>
</message>
</context>
<context>
<name>QInstaller::RegisterFileTypeOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
+ <source>&lt;extension&gt; &lt;command&gt; [description [contentType [icon]]]</source>
+ <translation>&lt;extension&gt; &lt;command&gt; [description [contentType [icon]]]</translation>
</message>
<message>
- <source>2 to 5</source>
- <translation>de 2 a 5</translation>
+ <source>Registering file types is only supported on Windows.</source>
+ <translation>El registro de tipos de archivos solo se admite en Windows.</translation>
</message>
<message>
<source>Register File Type: Invalid arguments</source>
- <translation>Registro de tipo de archivo: argumentos no válidos</translation>
+ <translation>Tipo de archivo de registro: argumentos no válidos</translation>
</message>
</context>
<context>
- <name>QInstaller::RegisterQtInCreatorQNXOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
- </message>
- <message>
- <source>at least 5</source>
- <translation>por lo menos 5</translation>
- </message>
- <message>
- <source>Needed installer object in &quot;%1&quot; operation is empty.</source>
- <translation>Se necesita el objeto del instalador en &quot;%1&quot; la operación está vacía.</translation>
- </message>
- <message>
- <source>There is no value set for %1 on the installer object.</source>
- <translation>No se ha asignado un valor a %1 en el objeto del instalador.</translation>
- </message>
+ <name>QInstaller::RemoteObject</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, minimum 4 expected.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, se esperaban al menos 4.</translation>
+ <source>Cannot read all data after sending command: %1. Bytes expected: %2, Bytes received: %3. Error: %4</source>
+ <translation>No se pueden leer todos los datos después de enviar el comando: %1. Bytes esperados: %2. Bytes recibidos: %3. Error: %4</translation>
</message>
</context>
<context>
- <name>QInstaller::RegisterToolChainOperation</name>
- <message>
- <source>at least 4</source>
- <translation>por lo menos 4</translation>
- </message>
- <message>
- <source>Needed installer object in &apos;%1&apos; operation is empty.</source>
- <translation>Se necesita el objeto del instalador en &apos;%1&apos; la operación está vacía.</translation>
- </message>
- <message>
- <source>There is no value set for &apos;%1&apos; on the installer object.</source>
- <translation>No se ha asignado un valor a &apos;%1&apos; en el objeto del instalador.</translation>
- </message>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, minimum 4 expected.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, se esperaban al menos 4.</translation>
- </message>
- <message>
- <source>Needed installer object in &quot;%1&quot; operation is empty.</source>
- <translation>Se necesita el objeto del instalador en &quot;%1&quot; la operación está vacía.</translation>
- </message>
- <message>
- <source>Can&apos;t read from tool chains xml file(%1) correctly.</source>
- <translation>No se puede leer correctamente el archivo xml de la cadena de herramientas (%1).</translation>
- </message>
+ <name>QInstaller::ReplaceOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>No se puede abrir el archivo &quot;%1&quot; para la lectura: %2</translation>
</message>
<message>
- <source>Some arguments are not right in %1 operation.</source>
- <translation>Algunos argumentos no son correctos en la operación %1.</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>No se puede abrir el archivo &apos;%1&apos; para la escritura: %2</translation>
</message>
</context>
<context>
- <name>QInstaller::ReplaceOperation</name>
+ <name>QInstaller::Resource</name>
+ <message>
+ <source>Cannot open resource %1 for reading.</source>
+ <translation>No se puede abrir el recurso &quot;%1&quot; para la lectura.</translation>
+ </message>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
+ <source>Read failed after %1 bytes: %2</source>
+ <translation>Error de lectura después de %1 bytes: %2</translation>
</message>
<message>
- <source>exactly 3</source>
- <translation>exactamente 3</translation>
+ <source>Write failed after %1 bytes: %2</source>
+ <translation>Error de escritura después de %1 bytes: %2</translation>
</message>
</context>
<context>
<name>QInstaller::RestartPage</name>
<message>
<source>Completing the %1 Setup Wizard</source>
- <translation>Completando el asistente de instalación %1</translation>
+ <translation>Completando el Asistente de instalación de %1</translation>
</message>
</context>
<context>
<name>QInstaller::ScriptEngine</name>
<message>
- <source>Cannot open the requested script file at %1: %2.</source>
- <translation>No se puede abrir el archivo de script %1 solicitado: %2.</translation>
+ <source>Cannot open script file at %1: %2</source>
+ <translation>No se puede abrir el archivo de script en %1: %2</translation>
</message>
<message>
- <source>Exception while loading the component script: &apos;%1&apos;</source>
- <translation>Excepción al cargar el script de componente: &apos;%1&apos;</translation>
+ <source>Exception while loading the component script &quot;%1&quot;: %2</source>
+ <translation>Excepción al cargar el script del componente &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot load the component script inside a script context: &apos;%1&apos;</source>
- <translation>No se puede cargar el script de componente dentro de un contexto de script: &apos;%1&apos;</translation>
+ <source>Unknown error.</source>
+ <translation>Error desconocido.</translation>
</message>
<message>
- <source>Fatal error while evaluating a script.</source>
- <translation>Error fatal al evaluar un script.</translation>
+ <source>on line number: </source>
+ <translation>en la línea número: </translation>
</message>
</context>
<context>
<name>QInstaller::SelfRestartOperation</name>
<message>
- <source>Installer object needed in &apos;%1&apos; operation is empty.</source>
- <translation>Se necesita el objeto del instalador en &quot;%1&quot; la operación está vacía.</translation>
+ <source>Installer object needed in operation %1 is empty.</source>
+ <translation>El objeto de instalador necesario en la operación %1 está vacío.</translation>
</message>
<message>
<source>Self Restart: Only valid within updater or packagemanager mode.</source>
- <translation>Autoreinicio: sólo es válido en el ámbito del actualizador o del modo de gestor de paquetes.</translation>
+ <translation>Auto-reinicio: solo es válido en el modo de actualización o de administrador de paquetes.</translation>
</message>
<message>
<source>Self Restart: Invalid arguments</source>
- <translation>Autoreinicio: argumentos no válidos</translation>
+ <translation>Auto-reinicio: argumentos no válidos</translation>
</message>
</context>
<context>
- <name>QInstaller::SetDemosPathOnQtOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
- </message>
+ <name>QInstaller::ServerAuthenticationDialog</name>
<message>
- <source>exactly 2</source>
- <translation>exactamente 2</translation>
+ <source>Server Requires Authentication</source>
+ <translation>El servidor requiere autenticación</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>La salida de
-&apos;%1 -query&apos;
-no es analizable. Por favor, rellena un informe de fallos haciendo referencia a este diálogo en https://bugreports.qt-project.org.
-salida: %2</translation>
+ <source>You need to supply a username and password to access this site.</source>
+ <translation>Debe proporcionar un nombre de usuario y una contraseña para acceder a este sitio.</translation>
</message>
<message>
- <source>Qt patch error: new Qt demo path &apos;%1&apos;
-needs to be less than 255 characters.</source>
- <translation>Error del parche de Qt: la nueva ubicación de las demos de Qt &apos;%1&apos;
-tiene que ser de menos de 255 caracteres.</translation>
- </message>
-</context>
-<context>
- <name>QInstaller::SetExamplesPathOnQtOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation>exactamente 2</translation>
- </message>
- <message>
- <source>The output of
-&apos;%1 -query&apos;
-is not parseable. Please file a bugreport with this dialog at https://bugreports.qt-project.org.
-output: %2</source>
- <translation>La salida de
-&apos;%1 -query&apos;
-no es analizable. Por favor, rellena un informe de fallos haciendo referencia a este diálogo en https://bugreports.qt-project.org.
-salida: %2</translation>
- </message>
- <message>
- <source>Qt patch error: new Qt example path &apos;%1&apos;
-needs to be less than 255 characters.</source>
- <translation>Error del parche de Qt: la nueva ubicación del ejemplo de Qt &apos;%1&apos;
-tiene que ser de menos de 255 caracteres.</translation>
- </message>
-</context>
-<context>
- <name>QInstaller::SetImportsPathOnQtCoreOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation>exactamente 2</translation>
- </message>
- <message>
- <source>Qt patch error: new Qt imports path &apos;%1&apos;
-needs to be less than 255 characters.</source>
- <translation>Error del parche de Qt: la nueva ubicación de los imports de Qt &apos;%1&apos;
-tiene que ser de menos de 255 caracteres.</translation>
- </message>
-</context>
-<context>
- <name>QInstaller::SetPathOnQtCoreOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
- </message>
- <message>
- <source>exactly 3</source>
- <translation>exactamente 3</translation>
- </message>
- <message>
- <source>The second type/value needs to be one of: %1</source>
- <translation>El segundo tipo/valor tiene que ser uno de: %1</translation>
- </message>
-</context>
-<context>
- <name>QInstaller::SetPluginPathOnQtCoreOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
+ <source>Username:</source>
+ <translation>Nombre de usuario:</translation>
</message>
<message>
- <source>exactly 2</source>
- <translation>exactamente 2</translation>
+ <source>Password:</source>
+ <translation>Contraseña:</translation>
</message>
<message>
- <source>Qt patch error: new Qt plugin path &apos;%1&apos;
-needs to be less than 255 characters.</source>
- <translation>Error del parche de Qt: la nueva ubicación del complemento de Qt &apos;%1&apos;
-tiene que ser de menos de 255 caracteres.</translation>
+ <source>%1 at %2</source>
+ <translation>%1 en %2</translation>
</message>
</context>
<context>
- <name>QInstaller::SetQtCreatorValueOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
- </message>
- <message>
- <source>exactly 4</source>
- <translation>exactamente 4</translation>
- </message>
- <message>
- <source> (rootInstallPath, group, key, value)</source>
- <translation> (rootInstallPath, group, key, value)</translation>
- </message>
+ <name>QInstaller::SettingsOperation</name>
<message>
- <source>Needed installer object in &quot;%1&quot; operation is empty.</source>
- <translation>Se necesita el objeto del instalador en &quot;%1&quot; la operación está vacía.</translation>
+ <source>Missing argument(s) &quot;%1&quot; calling %2 with arguments &quot;%3&quot;.</source>
+ <translation>Faltan argumentos &quot;%1&quot; que llamen a %2 con los argumentos &quot;%3&quot;.</translation>
</message>
<message>
- <source>There is no value set for &apos;%1&apos; on the installer object.</source>
- <translation>No se ha asignado un valor a %1 en el objeto del instalador.</translation>
- </message>
- <message>
- <source>Needed installer object in &apos;%1&apos; operation is empty.</source>
- <translation>Se necesita el objeto del instalador en &quot;%1&quot; la operación está vacía.</translation>
+ <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>El argumento de método actual que llama a &quot;%1&quot; con los argumentos &quot;%2&quot; no está admitido. Utilice set, remove, add_array_value o remove_array_value.</translation>
</message>
</context>
<context>
<name>QInstaller::SimpleMoveFileOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argumentos no válidos en %0: %1 argumentos dados, %2 esperados %3.</translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation>exactamente 2</translation>
- </message>
- <message>
- <source>None of the arguments can be empty: source &apos;%1&apos;, target &apos;%2&apos;.</source>
- <translation>Ninguno de los argumentos puede estar vacío: origen &apos;%1&apos;, destino &apos;%2&apos;.</translation>
+ <source>None of the arguments can be empty: source &quot;%1&quot;, target &quot;%2&quot;.</source>
+ <translation>No puede haber ningún argumento vacío: origen &quot;%1&quot;, destino &quot;%2&quot;.</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>No se puede mover el origen &apos;%1&apos; al destino &apos;%2&apos;, porque el destino ya existe y no se puede eliminar.</translation>
+ <source>Cannot move file from &quot;%1&quot; to &quot;%2&quot;, because the target path exists and is not removable.</source>
+ <translation>No se puede mover el archivo de &quot;%1&quot; a &quot;%2&quot;, porque la ruta de destino ya existe y no se puede eliminar.</translation>
</message>
<message>
- <source>Can not move source &apos;%1&apos; to target &apos;%2&apos;: %3</source>
- <translation>No se puede mover el origen &apos;%1&apos; al destino &apos;%2&apos;: %3</translation>
+ <source>Cannot move file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>No se puede mover el archivo &quot;%1&quot; a &quot;%2&quot;: %3</translation>
</message>
<message>
- <source>Move &apos;%1&apos; to &apos;%2&apos;.</source>
- <translation>Mover &apos;%1&apos; a &apos;%2&apos;.</translation>
+ <source>Moving file &quot;%1&quot; to &quot;%2&quot;.</source>
+ <translation>Moviendo el archivo &quot;%1&quot; a &quot;%2&quot;.</translation>
</message>
</context>
<context>
<name>QInstaller::StartMenuDirectoryPage</name>
<message>
<source>Start Menu shortcuts</source>
- <translation>Accesos directos del menú de inicio</translation>
+ <translation>Accesos directos del menú de Inicio</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>Selecciona el menú de inicio en el que te gustaría crear los accesos directos del programa. También puedes introducir un nombre para crear una carpeta nueva.</translation>
+ <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>Seleccione en menú de inicio donde desee crear los accesos directos del programa. También puede introducir un nombre para crear un directorio nuevo.</translation>
</message>
</context>
<context>
@@ -2032,8 +2096,8 @@ tiene que ser de menos de 255 caracteres.</translation>
<translation>Carpeta de instalación</translation>
</message>
<message>
- <source>Please specify the folder where %1 will be installed.</source>
- <translation>Por favor, especifica la carpeta donde se instalará %1.</translation>
+ <source>Please specify the directory where %1 will be installed.</source>
+ <translation>Especifique el directorio en el que se instalará %1.</translation>
</message>
<message>
<source>Alt+R</source>
@@ -2042,430 +2106,168 @@ tiene que ser de menos de 255 caracteres.</translation>
</message>
<message>
<source>B&amp;rowse...</source>
- <translation>E&amp;xaminar...</translation>
- </message>
- <message>
- <source>Error</source>
- <translation>Error</translation>
- </message>
- <message>
- <source>The install directory cannot be empty, please specify a valid folder.</source>
- <translation>El directorio de instalación no puede estar vacío, por favor especifica una carpeta válida.</translation>
+ <translation>Examina&amp;r...</translation>
</message>
<message>
- <source>As the install directory is completely deleted on uninstall, installing in %1 is forbidden.</source>
- <translation>Como el directorio de instalación se elimina completamente en la desinstalación, se prohibe la instalación en %1.</translation>
+ <source>The directory you selected already exists and contains an installation. Choose a different target for installation.</source>
+ <translation>El directorio que ha seleccionado ya existe y contiene una instalación. Elija otro destino para la instalación.</translation>
</message>
<message>
- <source>Warning</source>
- <translation>Advertencia</translation>
+ <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>Ha seleccionado un directorio existente y no vacío para la instalación.
+Tenga en cuenta que se eliminará por completo al desinstalar esta aplicación.
+No es recomendable instalar en este directorio, ya que la instalación podría generar un error.
+¿Desea continuar?</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>Has seleccionado una carpeta que ya existe y que no está vacía para la instalación. Ten en cuenta que se eliminará completamente cuando se desinstale esta aplicación. No se recomienda realizar la instalación en esta carpeta ya que puede fallar. ¿Quieres continuar?</translation>
+ <source>You have selected an existing file or symlink, please choose a different target for installation.</source>
+ <translation>Ha seleccionado un archivo o un symlink existente. Elija un destino diferente para la instalación.</translation>
</message>
<message>
<source>Select Installation Folder</source>
- <translation>Selecciona una carpeta de instalación</translation>
- </message>
-</context>
-<context>
- <name>QInstallerCreator::Archive</name>
- <message>
- <source>Cannot create %1: %2</source>
- <translation>No se puede crear %1: %2</translation>
+ <translation>Seleccionar carpeta de instalación</translation>
</message>
<message>
- <source>Cannot open archive file %1 for reading.</source>
- <translation>No se puede abrir el archivo %1 en modo lectura.</translation>
+ <source>The installation path cannot be empty, please specify a valid directory.</source>
+ <translation>La ruta de instalación no puede estar vacía. Especifique un directorio válido.</translation>
</message>
<message>
- <source>Cannot create archive from %1: Not a file.</source>
- <translation>No se puede crear el archivo de %1: no es un archivo.</translation>
- </message>
- <message>
- <source>Error while packing directory at %1</source>
- <translation>Error al empaquetar el directorio en %1</translation>
- </message>
-</context>
-<context>
- <name>QObject</name>
- <message>
- <source>Searched whole file, no marker found</source>
- <translation>Búsqueda en todo el archivo terminada, marcador no encontrado</translation>
- </message>
- <message>
- <source>Cannot seek to %1 in file %2: %3</source>
- <translation>No se puede solicitar %1 en el archivo %2: %3</translation>
- </message>
- <message>
- <source>No marker found, stopped after %1.</source>
- <translation>No se ha encontrado ningún marcador, se ha parado después de %1.</translation>
- </message>
- <message>
- <source>No marker found, unknown exception caught.</source>
- <translation>No se ha encontrado ningún marcador, excepción desconocida capturada.</translation>
- </message>
- <message>
- <source>Cannot create zipped file for path %1: %2</source>
- <translation>No se puede crear el archivo comprimido para la ubicación %1: %2</translation>
- </message>
- <message>
- <source>Cannot seek to in-binary resource. (offset: %1, length: %2)</source>
- <translation>No se puede realizar una solicitud - recurso binario. (offset: %1, longitud: %2)</translation>
- </message>
- <message>
- <source>Cannot register in-binary resource.</source>
- <translation>No se puede registrar - recurso binario.</translation>
- </message>
- <message>
- <source>Cannot open binary %1: %2</source>
- <translation>No se puede abrir el binario %1: %2</translation>
- </message>
- <message>
- <source>Cannot seek to binary layout section.</source>
- <translation>No se puede solicitar la sección de la disposición del binario.</translation>
- </message>
- <message>
- <source>Cannot seek to metadata index.</source>
- <translation>No se puede solicitar el índice de los metadatos.</translation>
- </message>
- <message>
- <source>Cannot seek to operation list.</source>
- <translation>No se puede solicitar la lista de operaciones.</translation>
- </message>
- <message>
- <source>Cannot seek to component index information.</source>
- <translation>No se puede solicitar la información del índice del componente.</translation>
- </message>
- <message>
- <source>Cannot seek to component index.</source>
- <translation>No se puede solicitar el índice del componente.</translation>
- </message>
- <message>
- <source>Cannot open file %1 for reading: %2</source>
- <translation>No se puede abrir el archivo %1 en modo lectura: %2</translation>
- </message>
- <message>
- <source>Cannot open file %1 for writing: %2</source>
- <translation>No se puede abrir el archivo %1 en modo escritura: %2</translation>
- </message>
- <message>
- <source>Write failed after %1 bytes: %2</source>
- <translation>La escritura ha fallado después de %1 bytes: %2</translation>
- </message>
- <message>
- <source>Read failed after %1 bytes: %2</source>
- <translation>La lectura ha fallado después de %1 bytes: %2</translation>
- </message>
- <message>
- <source>Cannot remove file %1: %2</source>
- <translation>No se puede eliminar el archivo %1: %2</translation>
- </message>
- <message>
- <source>Cannot remove folder %1: %2</source>
- <translation>No se puede eliminar la carpeta %1: %2</translation>
- </message>
- <message>
- <source>Cannot create folder %1</source>
- <translation>No se puede crear la carpeta %1</translation>
- </message>
- <message>
- <source>Cannot copy file from %1 to %2: %3</source>
- <translation>No se puede copiar el archivo de %1 a %2: %3</translation>
- </message>
- <message>
- <source>Cannot move file from %1 to %2: %3</source>
- <translation>No se puede mover el archivo de %1 a %2: %3</translation>
- </message>
- <message>
- <source>Cannot create folder %1: %2</source>
- <translation>No se puede crear la carpeta %1: %2</translation>
- </message>
- <message>
- <source>Cannot open temporary file: %1</source>
- <translation>No se puede abrir el archivo temporal: %1</translation>
- </message>
- <message>
- <source>Cannot open temporary file for template %1: %2</source>
- <translation>No se puede abrir el archivo temporal para la plantilla %1: %2</translation>
- </message>
- <message>
- <source>Cannot create temporary folder for template %1: %2</source>
- <translation>No se puede crear la carpeta temporal para la plantilla %1: %2</translation>
- </message>
- <message>
- <source>Cannot create lock file %1: %2</source>
- <translation>No se puede crear el archivo de bloqueo %1: %2</translation>
- </message>
- <message>
- <source>Cannot write PID to lock file %1: %2</source>
- <translation>No se puede escribir el PID para bloquear el archivo %1: %2</translation>
- </message>
- <message>
- <source>Cannot lock lock file %1: %2</source>
- <translation>No se puede bloquear el archivo de bloqueo %1: %2</translation>
- </message>
- <message>
- <source>Cannot unlock lock file %1: %2</source>
- <translation>No se puede desbloquear el archivo de bloqueo %1: %2</translation>
- </message>
- <message>
- <source>Path exists but is not a folder: %1</source>
- <translation>La ubicación existe pero no es una carpeta: %1</translation>
- </message>
- <message>
- <source>Cannot create folder: %1</source>
- <translation>No se puede crear la carpeta: %1</translation>
- </message>
- <message>
- <source>Cannot create temporary file</source>
- <translation>No se puede crear el archivo temporal</translation>
- </message>
- <message>
- <source>Cannot retrieve property %1 for item %2</source>
- <translation>No se puede recuperar la propiedad %1 del elemento %2</translation>
- </message>
- <message>
- <source>Property %1 for item %2 not of type VT_FILETIME but %3</source>
- <translation>La propiedad %1 del elemento %2 no es del tipo VT_FILETIME pero sí de %3</translation>
- </message>
- <message>
- <source>Cannot convert file time to local time</source>
- <translation>No se puede convertir la hora del archivo a hora local</translation>
- </message>
- <message>
- <source>Cannot convert local file time to system time</source>
- <translation>No se puede convertir la hora local del archivo a hora del sistema</translation>
- </message>
- <message>
- <source>No device set for output stream</source>
- <translation>No se ha asignado un dispositivo para el flujo de salida</translation>
- </message>
- <message>
- <source>Cannot load codecs</source>
- <translation>No se pueden cargar los códecs</translation>
- </message>
- <message>
- <source>Cannot retrieve default format</source>
- <translation>No se puede recuperar el formato predeterminado</translation>
- </message>
- <message>
- <source>Cannot open archive</source>
- <translation>No se puede abrir el archivo</translation>
- </message>
- <message>
- <source>No CArc found</source>
- <translation>No se ha localizado ningún CArc</translation>
+ <source>The installation path cannot be relative, please specify an absolute path.</source>
+ <translation>La ruta de instalación no puede ser relativa. Especifique una ruta absoluta.</translation>
</message>
<message>
- <source>Cannot retrieve number of items in archive</source>
- <translation>No se puede recuperar el número de elementos en el archivo</translation>
+ <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>La ruta o el directorio de instalación contiene caracteres que no son ASCII. Esto no es compatible actualmente. Elija una ruta o un directorio de instalación diferente.</translation>
</message>
<message>
- <source>Cannot retrieve path of archive item %1</source>
- <translation>No se puede recuperar la ubicación del elemento %1 del archivo</translation>
+ <source>As the install directory is completely deleted, installing in %1 is forbidden.</source>
+ <translation>Puesto que el directorio de instalación se ha eliminado por completo, está prohibido instalar en %1.</translation>
</message>
<message>
- <source>Unknown exception caught (%1)</source>
- <translation>Excepción desconocida capturada (%1)</translation>
+ <source>The path you have entered is too long, please make sure to specify a valid path.</source>
+ <translation>La ruta que ha introducido es demasiado larga. Debe especificar una ruta válida.</translation>
</message>
<message>
- <source>Failed</source>
- <translation>Fallo</translation>
+ <source>The path you have entered is not valid, please make sure to specify a valid target.</source>
+ <translation>La ruta que ha introducido no es válida. Debe especificar un destino válido.</translation>
</message>
<message>
- <source>Cannot remove already existing symlink. %1</source>
- <translation>No se puede eliminar el enlace simbólico que ya hay. %1</translation>
+ <source>The path you have entered is not valid, please make sure to specify a valid drive.</source>
+ <translation>La ruta que ha introducido no es válida. Debe especificar una unidad válida.</translation>
</message>
<message>
- <source>Cannot open file: %1 (%2)</source>
- <translation>No se puede abrir el archivo: %1 (%2)</translation>
+ <source>The installation path must not end with &apos;.&apos;, please specify a valid directory.</source>
+ <translation>La ruta de instalación no debe terminar con &apos;.&apos;. Especifique un directorio válido.</translation>
</message>
<message>
- <source>Cannot create symlink at &apos;%1&apos;. Another one is already existing.</source>
- <translation>No se puede crear el enlace simbólico en &apos;%1&apos;. Ya hay otro.</translation>
+ <source>The installation path must not contain &quot;%1&quot;, please specify a valid directory.</source>
+ <translation>La ruta de instalación no debe contener &quot;%1&quot;. Especifique un directorio válido.</translation>
</message>
<message>
- <source>Cannot read symlink target from file &apos;%1&apos;.</source>
- <translation>No se puede leer el enlace simbólico de destino del archivo &apos;%1&apos;.</translation>
+ <source>Warning</source>
+ <translation>Advertencia</translation>
</message>
<message>
- <source>Cannot create symlink at %1. %2</source>
- <translation>No se puede crear el enlace simbólico en %1. %2</translation>
+ <source>Error</source>
+ <translation>Error</translation>
</message>
+</context>
+<context>
+ <name>QInstaller::TestRepository</name>
<message>
- <source>internal code: %1</source>
- <translation>código interno: %1</translation>
+ <source>Missing package manager core engine.</source>
+ <translation>Falta el motor de componente básico del administrador de paquetes.</translation>
</message>
<message>
- <source>not enough memory</source>
- <translation>no hay suficiente memoria</translation>
+ <source>Empty repository URL.</source>
+ <translation>La dirección URL del repositorio está vacía.</translation>
</message>
<message>
- <source>Error: %1</source>
- <translation>Error: %1</translation>
+ <source>Download canceled.</source>
+ <translation>Descarga cancelada.</translation>
</message>
<message>
- <source>Cannot create archive %1. %2</source>
- <translation>No se puede crear el archivo %1. %2</translation>
+ <source>Timeout while testing repository &quot;%1&quot;.</source>
+ <translation>Se ha obtenido un tiempo de espera durante la prueba del repositorio &quot;%1&quot;.</translation>
</message>
<message>
- <source>Error while extracting &apos;%1&apos;: %2</source>
- <translation>Error al extraer &apos;%1&apos;: %2</translation>
+ <source>Cannot parse Updates.xml: %1</source>
+ <translation>No se puede analizar Updates.xml: %1</translation>
</message>
<message>
- <source>CArc index %1 out of bounds [0, %2]</source>
- <translation>El índice %1 de CArc está fuera de los límites [0, %2]</translation>
+ <source>Cannot open Updates.xml for reading: %1</source>
+ <translation>No se puede abrir Updates.xml para la lectura: %1</translation>
</message>
<message>
- <source>Item index %1 out of bounds [0, %2]</source>
- <translation>El índice %1 del elemento está fuera de los límites [0, %2]</translation>
+ <source>Authentication failed.</source>
+ <translation>Error de autenticación.</translation>
</message>
<message>
- <source>Cannot create output file for writing: %1</source>
- <translation>No se puede crear el archivo de salida para su escritura: %1</translation>
+ <source>Unknown error while testing repository &quot;%1&quot;.</source>
+ <translation>Se ha obtenido un error desconocido durante la prueba del repositorio &quot;%1&quot;.</translation>
</message>
+</context>
+<context>
+ <name>QObject</name>
<message>
<source>Authorization required</source>
- <translation>Autorización requerida</translation>
+ <translation>Se necesita autorización</translation>
</message>
<message>
<source>Enter your password to authorize for sudo:</source>
- <translation>Introduce tu contraseña para autorizar a sudo:</translation>
+ <translation>Introduzca su contraseña para autorizar para sudo:</translation>
</message>
<message>
<source>Error acquiring admin rights</source>
- <translation>Error al adquirir permisos de administrador</translation>
- </message>
- <message>
- <source>Cannot backup file %1</source>
- <translation>No se puede hacer una copia de seguridad del archivo %1</translation>
- </message>
- <message>
- <source>Cannot delete file %1</source>
- <translation>No se puede eliminar el archivo %1</translation>
- </message>
- <message>
- <source>Cannot restore backup file into %1</source>
- <translation>No se puede restaurar la copia de seguridad del archivo como %1</translation>
- </message>
- <message>
- <source>Failed to overwrite %1: %2</source>
- <translation>Fallo al sobrescribir %1: %2</translation>
- </message>
- <message>
- <source>Registry path %1 is not writable</source>
- <translation>No se puede escribir en la ubicación %1 del registro</translation>
- </message>
- <message>
- <source>Cannot write to registry path %1</source>
- <translation>No se puede escribir en la ubicación %1 del registro</translation>
- </message>
- <message>
- <source>Invalid Argument: source folder must not be empty.</source>
- <translation>Argumento no válido: la carpeta de origen no tiene que estar vacía.</translation>
- </message>
- <message>
- <source>Cannot backup file %1: %2</source>
- <translation>No se puede hacer una copia de seguridad del archivo %1: %2</translation>
- </message>
- <message>
- <source>Failed to copy file %1: %2</source>
- <translation>Fallo al copiar el archivo %1: %2</translation>
- </message>
- <message>
- <source>Cannot create folder at %1: %2</source>
- <translation>No se puede crear la carpeta %1: %2</translation>
- </message>
- <message>
- <source>Invalid arguments: %1 arguments given, %2 to %3 expected.</source>
- <translation>Argumentos no válidos: %1 argumentos dados, de %2 a %3 esperados.</translation>
- </message>
- <message>
- <source>Invalid arguments: %1 arguments given, %2 expected.</source>
- <translation>Argumentos no válidos: %1 argumentos dados, %2 esperados.</translation>
- </message>
- <message>
- <source>Error while elevating access rights.</source>
- <translation>Error al dar permisos de acceso.</translation>
- </message>
- <message>
- <source>Failed to seek in file %1: %2</source>
- <translation>Fallo al solicitar el archivo %1: %2</translation>
- </message>
- <message>
- <source>Failed to open %1 for reading</source>
- <translation>Fallo al abrir %1 en modo lectura</translation>
- </message>
- <message>
- <source>Failed to open %1 for writing</source>
- <translation>Fallo al abrir %1 en modo escritura</translation>
- </message>
- <message>
- <source>Failed to seek in file %1. Reason: %2.</source>
- <translation>Fallo al solicitar el archivo %1. Motivo: %2.</translation>
- </message>
- <message>
- <source>Cannot create link from %1 to %2.</source>
- <translation>No se puede crear el enlace de %1 a %2.</translation>
- </message>
- <message>
- <source>Cannot remove link from %1 to %2.</source>
- <translation>No se puede eliminar el enlace de %1 a %2.</translation>
+ <translation>Error al adquirir derechos de administrador</translation>
</message>
+</context>
+<context>
+ <name>RemoteClient</name>
<message>
- <source>Authorization Error</source>
- <translation>Error de autorización</translation>
+ <source>Cannot get authorization.</source>
+ <translation>No se puede obtener la autorización.</translation>
</message>
<message>
- <source>Couldn&apos;t get authorization.</source>
- <translation>No se ha podido obtener la autorización.</translation>
+ <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>No se puede obtener una autorización que se necesita para continuar con la instalación.
+
+Inicie el programa de instalación como usuario con los derechos necesarios.
+O bien acepte la elevación de los derechos de acceso si se le pide.</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
+ <source>Cannot 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>No se ha podido obtener la autorización necesaria para continuar con la instalación.
-Cancela la instalación o bien usa la solución alternativa ejecutando
+
+as a user with the appropriate rights and then clicking OK.</source>
+ <translation>No se puede obtener una autorización que se necesita para continuar con la instalación.
+Cancele la instalación o use la solución alternativa ejecutando
+
%1
-como root y haciendo clic en OK.</translation>
- </message>
- <message>
- <source>Registering file types is only supported on Windows.</source>
- <translation>El registro de tipos de archivo sólo está soportado en Windows.</translation>
- </message>
- <message>
- <source>Failed to open &apos;%1&apos; for reading.</source>
- <translation>Fallo al abrir &apos;%1&apos; en modo lectura.</translation>
- </message>
- <message>
- <source>Failed to open &apos;%1&apos; for writing.</source>
- <translation>Fallo al abrir %1 en modo escritura.</translation>
- </message>
- <message>
- <source>Number of arguments does not match: one is required</source>
- <translation>El número de argumentos no coincide: es necesario que haya uno</translation>
- </message>
- <message>
- <source>Cannot get package manager core.</source>
- <translation>No se puede obtener el núcleo del gestor de paquetes.</translation>
- </message>
- <message>
- <source>This process should be stopped before continuing: %1</source>
- <translation>Este proceso se tiene que parar antes de continuar: %1</translation>
+
+como usuario con los derechos adecuados y, luego, haga clic en Aceptar.</translation>
</message>
+</context>
+<context>
+ <name>ResourceCollectionManager</name>
<message>
- <source>These processes should be stopped before continuing: %1</source>
- <translation>Estos procesos se tienen que parar antes de continuar: %1</translation>
+ <source>Cannot open resource %1: %2</source>
+ <translation>No se puede abrir el recurso %1: %2</translation>
</message>
</context>
<context>
<name>Settings</name>
<message>
<source>Cannot open settings file %1 for reading: %2</source>
- <translation>No se puede abrir el archivo de configuración %1 en modo lectura: %2</translation>
+ <translation>No se puede abrir el archivo de configuración %1 para la lectura: %2</translation>
</message>
</context>
<context>
@@ -2480,15 +2282,15 @@ como root y haciendo clic en OK.</translation>
</message>
<message>
<source>No proxy</source>
- <translation>Sin proxy</translation>
+ <translation>No hay proxy</translation>
</message>
<message>
<source>System proxy settings</source>
- <translation>Configuración del proxy del sistema</translation>
+ <translation>Configuración de proxy del sistema</translation>
</message>
<message>
<source>Manual proxy configuration</source>
- <translation>Configuración manual del proxy</translation>
+ <translation>Configuración de proxy manual</translation>
</message>
<message>
<source>HTTP proxy:</source>
@@ -2499,24 +2301,8 @@ como root y haciendo clic en OK.</translation>
<translation>Puerto:</translation>
</message>
<message>
- <source>HTTP proxy requires authentication</source>
- <translation>El proxy HTTP requiere autenticación</translation>
- </message>
- <message>
- <source>Username:</source>
- <translation>Nombre de usuario:</translation>
- </message>
- <message>
- <source>Password:</source>
- <translation>Contraseña:</translation>
- </message>
- <message>
<source>FTP proxy:</source>
- <translation>Proxy del FTP:</translation>
- </message>
- <message>
- <source>FTP proxy requires authentication</source>
- <translation>El proxy del FTP requiere autenticación</translation>
+ <translation>Proxy FTP:</translation>
</message>
<message>
<source>Repositories</source>
@@ -2524,11 +2310,11 @@ como root y haciendo clic en OK.</translation>
</message>
<message>
<source>Add Username and Password for authentication if needed.</source>
- <translation>Si es necesario, añade un nombre de usuario y contraseña para la autenticación.</translation>
+ <translation>Agregue el nombre de usuario y la contraseña para la autenticación si es necesario.</translation>
</message>
<message>
<source>Use temporary repositories only</source>
- <translation>Sólo usar repositorios temporales</translation>
+ <translation>Usar solo repositorios temporales</translation>
</message>
<message>
<source>Add</source>
@@ -2536,11 +2322,11 @@ como root y haciendo clic en OK.</translation>
</message>
<message>
<source>Remove</source>
- <translation>Eliminar</translation>
+ <translation>Quitar</translation>
</message>
<message>
<source>Test</source>
- <translation>Probar</translation>
+ <translation>Prueba</translation>
</message>
<message>
<source>Show Passwords</source>
@@ -2548,27 +2334,35 @@ como root y haciendo clic en OK.</translation>
</message>
<message>
<source>Check this to use repository during fetch.</source>
- <translation>Marca esto para usar el repositorio durante la obtención.</translation>
+ <translation>Active esta opción para usar el repositorio durante la obtención.</translation>
</message>
<message>
<source>Add the username to authenticate on the server.</source>
- <translation>Añade el nombre de usuario para autenticarse en el servidor.</translation>
+ <translation>Agregue el nombre de usuario para autenticar en el servidor.</translation>
</message>
<message>
<source>Add the password to authenticate on the server.</source>
- <translation>Añade la contraseña para autenticarse en el servidor.</translation>
+ <translation>Agregue la contraseña para autenticar en el servidor.</translation>
</message>
<message>
<source>The servers URL that contains a valid repository.</source>
- <translation>La URL del servidor que contiene un repositorio válido.</translation>
+ <translation>Dirección URL de los servidores que contiene un repositorio válido.</translation>
</message>
<message>
- <source>There was an error testing this repository.</source>
- <translation>Se ha producido un error al probar este repositorio.</translation>
+ <source>An error occurred while testing this repository.</source>
+ <translation>Se produjo un error al probar este repositorio.</translation>
</message>
<message>
- <source>Do you want to disable the tested repository?</source>
- <translation>¿Quieres deshabilitar el repositorio probado?</translation>
+ <source>The repository was tested successfully.</source>
+ <translation>Repositorio probado correctamente.</translation>
+ </message>
+ <message>
+ <source>Do you want to disable the repository?</source>
+ <translation>¿Desea deshabilitar el repositorio?</translation>
+ </message>
+ <message>
+ <source>Do you want to enable the repository?</source>
+ <translation>¿Desea habilitar el repositorio?</translation>
</message>
<message>
<source>Hide Passwords</source>
@@ -2576,7 +2370,7 @@ como root y haciendo clic en OK.</translation>
</message>
<message>
<source>Use</source>
- <translation>Usar</translation>
+ <translation>Utilizar</translation>
</message>
<message>
<source>Username</source>
@@ -2604,85 +2398,50 @@ como root y haciendo clic en OK.</translation>
</message>
</context>
<context>
- <name>TargetDirectoryPageImpl</name>
+ <name>UpdateOperation</name>
<message>
- <source>The installation path cannot be empty, please specify a valid folder.</source>
- <translation>La ruta de instalación no puede estar vacía. Por favor ,especifica una carpeta válida.</translation>
+ <source>Cannot write to registry path %1.</source>
+ <translation>No se puede escribir en la ruta de registro %1.</translation>
</message>
<message>
- <source>The installation path cannot be relative, please specify an absolute path.</source>
- <translation>La ruta de la instalación no puede ser relativa. Por favor ,especifica una ruta absoluta.</translation>
+ <source>Registry path %1 is not writable.</source>
+ <translation>No se puede escribir en la ruta de registro %1.</translation>
</message>
<message>
- <source>Warning</source>
- <translation>Advertencia</translation>
+ <source>exactly %1</source>
+ <translation>exactamente %1</translation>
</message>
<message>
- <source>Error</source>
- <translation>Error</translation>
+ <source>at least %1</source>
+ <translation>al menos %1</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>La ruta o el directorio de instalación contiene caracteres que no son ASCII. ¡Actualmente ésto no está soportado! Por favor, escoge una ruta o directorio de instalación diferente.</translation>
+ <source>not more than %1</source>
+ <translation>no más de %1</translation>
</message>
<message>
- <source>The path you have entered is too long, please make sure to specify a valid path.</source>
- <translation>La ruta que has introducido es demasiado larga. Por favor, asegúrate que especificas una ruta válida.</translation>
+ <source>%1 or %2</source>
+ <translation>%1 o %2</translation>
</message>
<message>
- <source>The path you have entered is not valid, please make sure to specify a valid drive.</source>
- <translation>La ruta que has introducido no es válida. Por favor, asegúrate que especificas un volúmen de disco válido.</translation>
+ <source>%1 to %2</source>
+ <translation>%1 a %2</translation>
</message>
- <message>
- <source>The installation path must not contain %1, please specify a valid folder.</source>
- <translation>La ruta de la instalación no puede contener %1. Por favor ,especifica una carpeta válida.</translation>
- </message>
- <message>
- <source>As the install directory is completely deleted installing in %1 is forbidden.</source>
- <translation>Como el directorio de instalación se elimina completamente, se prohibe la instalación en %1.</translation>
- </message>
- <message>
- <source>The folder you selected exists already and contains an installation.
-Do you want to overwrite it?</source>
- <translation>La carpeta que has seleccionado ya existe y contiene una instalación.
-¿Quieres sobrescribirla?</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>Has seleccionado una carpeta que ya existe y que no está vacía para la instalación.
-Ten en cuenta que se eliminará completamente cuando se desinstale esta aplicación.
-No se recomienda realizar la instalación en esta carpeta ya que puede fallar.
-¿Quieres continuar?</translation>
- </message>
- <message>
- <source>You have selected an existing file or symlink, please choose a different target for installation.</source>
- <translation>Has seleccionado un archivo o enlace simbólico que ya existe. Por favor, elige un destino diferente para la instalación.</translation>
- </message>
-</context>
-<context>
- <name>TestRepository</name>
- <message>
- <source>Empty repository URL.</source>
- <translation>URL del repositorio vacía.</translation>
- </message>
- <message>
- <source>URL scheme not supported: %1 (%2).</source>
- <translation>Esquema de URL no admitido: %1 (%2).</translation>
- </message>
- <message>
- <source>Cannot parse Updates.xml! Error: %1.</source>
- <translation>¡Error al analizar Updates.xml! Error: %1.</translation>
+ <message numerus="yes">
+ <source>Invalid arguments in %1: %n arguments given, %2 arguments expected.</source>
+ <translation>
+ <numerusform>Argumentos no válidos en %1: se han proporcionado %n argumentos, se esperaban %2.</numerusform>
+ </translation>
</message>
- <message>
- <source>Updates.xml could not be opened for reading!</source>
- <translation>¡No se puede abrir Updates.xml en modo lectura!</translation>
+ <message numerus="yes">
+ <source>Invalid arguments in %1: %n arguments given, %2 arguments expected in the form: %3.</source>
+ <translation>
+ <numerusform>Argumentos no válidos en %1: se han proporcionado %n argumentos, se esperaban %2 con la forma: %3.</numerusform>
+ </translation>
</message>
<message>
- <source>Updates.xml could not be found on server!</source>
- <translation>¡No se puede localizar Updates.xml en el servidor!</translation>
+ <source>Renaming file &quot;%1&quot; to &quot;%2&quot; failed: %3</source>
+ <translation>Error al cambiar el nombre de archivo de &quot;%1&quot; a &quot;%2&quot;: %3</translation>
</message>
</context>
</TS>
diff --git a/src/sdk/translations/ifw_fr.ts b/src/sdk/translations/ifw_fr.ts
index c79aa1308..22758893d 100644
--- a/src/sdk/translations/ifw_fr.ts
+++ b/src/sdk/translations/ifw_fr.ts
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.1" language="fr_FR">
+<TS version="2.1">
<context>
<name>AuthenticationRequiredException</name>
<message>
@@ -16,30 +16,30 @@
<name>BinaryContent</name>
<message>
<source>Cannot seek to %1 to read the operation data.</source>
- <translation>Impossible de rechercher dans %1 pour lire les données d&apos;exploitation.</translation>
+ <translation>Impossible de rechercher %1 pour lire les données de l’opération.</translation>
</message>
<message>
<source>Cannot seek to %1 to read the resource collection block.</source>
- <translation>Impossible de rechercher dans %1 pour lire l&apos;ensemble des ressources.</translation>
+ <translation>Impossible de rechercher %1 pour lire le bloc de collection des ressources.</translation>
</message>
<message>
- <source>Cannot open meta resource. Error: %1</source>
- <translation>Impossible d&apos;ouvrir les métadonnées des ressources. Erreur : %1</translation>
+ <source>Cannot open meta resource %1.</source>
+ <translation>Impossible d’ouvrir les méta-ressources %1.</translation>
</message>
</context>
<context>
<name>BinaryLayout</name>
<message>
<source>Cannot seek to %1 to read the embedded meta data count.</source>
- <translation>Impossible de rechercher dans %1 pour lire le nombre de métadonnées.</translation>
+ <translation>Impossible de rechercher %1 pour lire le total des métadonnées incorporées.</translation>
</message>
<message>
<source>Cannot seek to %1 to read the resource collection segment.</source>
- <translation>Impossible de rechercher dans %1 pour lire le segment de l&apos;ensemble des ressources.</translation>
+ <translation>Impossible de rechercher %1 pour lire le segment de collection des ressources.</translation>
</message>
<message>
<source>Unexpected mismatch of meta resources. Read %1, expected: %2.</source>
- <translation>Incohérence relevée sur les métadonnées. Lues %1, attendues : %2.</translation>
+ <translation>Non-concordance inattendue des méta-ressources. %1 lu, attendu : %2.</translation>
</message>
</context>
<context>
@@ -50,11 +50,11 @@
</message>
<message>
<source>You need to supply a Username and Password to access this site.</source>
- <translation>Vous devez saisir un identifiant et un mot de passe pour accéder à ce site.</translation>
+ <translation>Vous devez fournir un nom d’utilisateur et un mot de passe pour accéder au site.</translation>
</message>
<message>
<source>Username:</source>
- <translation>Identifiant :</translation>
+ <translation>Nom d&apos;utilisateur :</translation>
</message>
<message>
<source>Password:</source>
@@ -62,190 +62,166 @@
</message>
<message>
<source>%1 at %2</source>
- <translation>%1 à %2</translation>
+ <translation>%1 sur %2</translation>
</message>
</context>
<context>
<name>DirectoryGuard</name>
<message>
- <source>Path exists but is not a folder: %1</source>
- <translation>Le chemin existe mais n&apos;est pas un dossier : %1</translation>
+ <source>Path &quot;%1&quot; exists but is not a directory.</source>
+ <translation>Le chemin &quot;%1&quot; existe, mais il ne s’agit pas d’un répertoire.</translation>
</message>
<message>
- <source>Cannot create folder: %1</source>
- <translation>Impossible de créer le dossier : %1</translation>
+ <source>Cannot create directory &quot;%1&quot;.</source>
+ <translation>Impossible de créer le répertoire &quot;%1&quot;.</translation>
</message>
</context>
<context>
<name>ExtractCallbackImpl</name>
<message>
- <source>Cannot retrieve path of archive item %1</source>
- <translation>Impossible de récupérer le chemin de l&apos;élément %1</translation>
+ <source>Cannot retrieve path of archive item %1.</source>
+ <translation>Impossible d’extraire le chemin d’accès de l’élément d’archive %1.</translation>
+ </message>
+ <message>
+ <source>Cannot remove already existing symlink %1.</source>
+ <translation>Impossible de supprimer le lien symbolique %1 existant.</translation>
</message>
<message>
- <source>Cannot remove already existing symlink. %1</source>
- <translation>Impossible de supprimer le lien symbolique existant. %1</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en écriture : %2</translation>
</message>
<message>
- <source>Cannot open file: %1 (%2)</source>
- <translation>Impossible d&apos;ouvrir le fichier %1 (%2)</translation>
+ <source>Cannot create symlink at &quot;%1&quot;. Another one is already existing.</source>
+ <translation>Impossible de créer un lien symbolique dans &quot;%1&quot;. Un autre existe déjà.</translation>
</message>
<message>
- <source>Cannot create symlink at &apos;%1&apos;. Another one is already existing.</source>
- <translation>Impossible de créer le lien symbolique à &apos;%1&apos;. Un autre existe déjà.</translation>
+ <source>Cannot read symlink target from file &quot;%1&quot;.</source>
+ <translation>Impossible de lire la cible du lien symbolique à partir du fichier &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot read symlink target from file &apos;%1&apos;.</source>
- <translation>Impossible de récupérer la cible du lien symbolique du fichier &apos;%1&apos;.</translation>
+ <source>Cannot create symlink at %1: %2</source>
+ <translation>Impossible de créer un lien symbolique dans %1 : %2</translation>
+ </message>
+</context>
+<context>
+ <name>InstallerBase</name>
+ <message>
+ <source>Waiting for %1</source>
+ <translation>Attente de %1</translation>
</message>
<message>
- <source>Cannot create symlink at %1. %2</source>
- <translation>Impossible de créer le lien symbolique à %1. %2</translation>
+ <source>Another %1 instance is already running. Wait until it finishes, close it, or restart your system.</source>
+ <translation>Une autre instance de %1 est déjà en cours d’exécution. Attendez qu’elle soit terminée, fermez-la ou redémarrez votre système.</translation>
</message>
</context>
<context>
<name>InstallerCalculator</name>
<message>
<source>Components added as automatic dependencies:</source>
- <translation>Composants ajoutés comme dépendances automatiques : </translation>
+ <translation>Composants ajoutés en tant que dépendances automatiques :</translation>
</message>
<message>
- <source>Components added as dependency for &apos;%1&apos;:</source>
- <translation>Composants ajoutés comme dépendances pour %1 : </translation>
+ <source>Components added as dependency for &quot;%1&quot;:</source>
+ <translation>Composants ajoutés en tant que dépendances pour &quot;%1&quot;:</translation>
</message>
<message>
<source>Components that have resolved dependencies:</source>
- <translation>Composants ayant des dépendances résolues :</translation>
+ <translation>Composants qui ont résolu les dépendances :</translation>
</message>
<message>
<source>Selected components without dependencies:</source>
- <translation>Composants sélectionnés ne possédant pas de dépendance : </translation>
+ <translation>Composants sélectionnés sans dépendances :</translation>
</message>
<message>
- <source>Recursion detected, component &apos;%1&apos; already added with reason: &apos;%2&apos;</source>
- <translation>Récursion détectée, composant &apos;%1&apos; ajouté via le contexte : &apos;%2&apos;</translation>
+ <source>Recursion detected, component &quot;%1&quot; already added with reason: &quot;%2&quot;</source>
+ <translation>Récursion détectée, composant &quot;%1&quot; déjà ajouté avec raison : &quot;%2&quot;</translation>
</message>
<message>
- <source>Cannot find missing dependency &apos;%1&apos; for &apos;%2&apos;.</source>
- <translation>Impossible de satisfaire la dépendance &apos;%1&apos; pour &apos;%2&quot;.</translation>
+ <source>Cannot find missing dependency &quot;%1&quot; for &quot;%2&quot;.</source>
+ <translation>La dépendance manquante &quot;%1&quot; est introuvable pour &quot;%2&quot;.</translation>
</message>
</context>
<context>
<name>Job</name>
<message>
<source>Canceled</source>
- <translation>Annulé</translation>
- </message>
-</context>
-<context>
- <name>LockFile</name>
- <message>
- <source>Cannot create lock file &apos;%1&apos;: %2</source>
- <translation>Impossible de poser un fichier de verrouillage &apos;%1&apos; : %2</translation>
- </message>
- <message>
- <source>Cannot write PID to lock file &apos;%1&apos;: %2</source>
- <translation>Impossible d&apos;écrire le PID pour le verrou de fichier &apos;%1&apos; : &apos;%2&apos;</translation>
- </message>
- <message>
- <source>Cannot obtain the lock for file &apos;%1&apos;: %2</source>
- <translation>Impossible d&apos;obtenir le verrou pour le fichier &apos;%1&apos; : %2</translation>
- </message>
- <message>
- <source>Cannot release the lock for file &apos;%1&apos;: %2</source>
- <translation>Impossible de relâcher le verrou pour le fichier &apos;%1&apos; : %2</translation>
+ <translation>Abandonné</translation>
</message>
</context>
<context>
<name>KDUpdater::AppendFileOperation</name>
<message>
- <source>Cannot backup file %1: %2</source>
- <translation>Impossible de sauvegarder le fichier %1 : %2</translation>
- </message>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Arguments invalides dans %0 : %1 arguments fournis, %2 attendus %3.</translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation>exactement 2</translation>
+ <source>Cannot backup file &quot;%1&quot;: %2</source>
+ <translation>Impossible de sauvegarder le fichier &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Cannot open file &apos;%1&apos; for writing: %2</source>
- <translation>Impossible d&apos;ouvrir le fichier %1 en écriture : %2</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en écriture : %2</translation>
</message>
<message>
- <source>Cannot find backup file for %1.</source>
- <translation>Impossible de trouver la sauvegarde du fichier %1.</translation>
+ <source>Cannot find backup file for &quot;%1&quot;.</source>
+ <translation>Le fichier de sauvegarde pour &quot;%1&quot; est introuvable.</translation>
</message>
<message>
- <source>Cannot restore backup file for %1.</source>
- <translation>Impossible de charger la sauvegarde du fichier %1.</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;.</source>
+ <translation>Impossible de restaurer le fichier de sauvegarde pour &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot restore backup file for %1: %2</source>
- <translation>Impossible de restaurer la sauvegarde du fichier %1 : %2</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;: %2</source>
+ <translation>Impossible de restaurer le fichier de sauvegarde pour &quot;%1&quot; : %2</translation>
</message>
</context>
<context>
<name>KDUpdater::CopyOperation</name>
<message>
- <source>Cannot backup file %1.</source>
- <translation>Impossible de faire une sauvegarde du fichier %1.</translation>
- </message>
- <message>
- <source>Invalid arguments: %1 arguments given, 2 expected.</source>
- <translation>Arguments invalides : %1 arguments fournis, 2 attendus.</translation>
+ <source>Cannot backup file &quot;%1&quot;.</source>
+ <translation>Impossible de sauvegarder le fichier &quot;%1&quot;.</translation>
</message>
<message>
<source>Cannot copy a non-existent file: %1</source>
- <translation>Impossible de copier un fichier non-existant : %1</translation>
+ <translation>Impossible de copier un fichier qui n’existe pas : %1</translation>
</message>
<message>
- <source>Cannot remove destination file %1: %2</source>
- <translation>Impossible de supprimer le fichier de destination %1 : %2</translation>
+ <source>Cannot remove file &quot;%1&quot;: %2</source>
+ <translation>Impossible de supprimer le fichier &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Cannot copy %1 to %2: %3</source>
- <translation>Impossible de copier %1 vers %2 : %3</translation>
+ <source>Cannot copy file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Impossible de copier le fichier &quot;%1&quot; vers &quot;%2&quot; : %3</translation>
</message>
<message>
- <source>Cannot delete file %1: %2</source>
- <translation>Impossible de supprimer le fichier %1 : %2</translation>
+ <source>Cannot delete file &quot;%1&quot;: %2</source>
+ <translation>Impossible de supprimer le fichier &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Cannot restore backup file into %1: %2</source>
- <translation>Impossible de restaurer la sauvegarde du fichier vers %1 : %2</translation>
+ <source>Cannot restore backup file into &quot;%1&quot;: %2</source>
+ <translation>Impossible de restaurer le fichier de sauvegarde dans &quot;%1&quot; : %2</translation>
</message>
</context>
<context>
<name>KDUpdater::DeleteOperation</name>
<message>
- <source>Cannot create backup of %1: %2</source>
- <translation>Impossible de créer la sauvegarde de %1 : %2</translation>
- </message>
- <message>
- <source>Invalid arguments: %1 arguments given, 1 expected.</source>
- <translation>Arguments invalides : %1 arguments fournis, 1 seul attendu.</translation>
+ <source>Cannot create backup of file &quot;%1&quot;: %2</source>
+ <translation>Impossible de créer une sauvegarde du fichier &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Cannot restore backup file for %1: %2</source>
- <translation>Impossible de restaurer le fichier de sauvegarde pour %1 : %2</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;: %2</source>
+ <translation>Impossible de restaurer le fichier de sauvegarde pour &quot;%1&quot; : %2</translation>
</message>
</context>
<context>
<name>KDUpdater::FileDownloader</name>
<message>
- <source>Download canceled.</source>
- <translation>Téléchargement annulé.</translation>
+ <source>Download finished.</source>
+ <translation>Téléchargement terminé.</translation>
</message>
<message>
<source>Cryptographic hashes do not match.</source>
- <translation>Les empreintes cryptographiques ne correspondent pas.</translation>
+ <translation>Les hachages de chiffrement ne correspondent pas.</translation>
</message>
<message>
- <source>Download finished.</source>
- <translation>Téléchargement terminé.</translation>
+ <source>Download canceled.</source>
+ <translation>Téléchargement annulé.</translation>
</message>
<message>
<source>%1 of %2</source>
@@ -253,58 +229,54 @@
</message>
<message>
<source>%1 downloaded.</source>
- <translation>%1 téléchargé.</translation>
+ <translation>%1 téléchargé.</translation>
</message>
<message>
<source>(%1/sec)</source>
- <translation>(%1/s)</translation>
+ <translation>(%1/sec)</translation>
</message>
<message numerus="yes">
<source>%n day(s), </source>
<translation>
- <numerusform>%n jour, </numerusform>
- <numerusform>%n jours, </numerusform>
+ <numerusform>%n jour(s), </numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n hour(s), </source>
<translation>
- <numerusform>%n heure, </numerusform>
- <numerusform>%n heures, </numerusform>
+ <numerusform>%n heure(s), </numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n minute(s)</source>
<translation>
- <numerusform>%n minute</numerusform>
- <numerusform>%n minutes</numerusform>
+ <numerusform>%n minute(s)</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n second(s)</source>
<translation>
- <numerusform>%n seconde</numerusform>
- <numerusform>%n secondes</numerusform>
+ <numerusform>%n seconde(s)</numerusform>
</translation>
</message>
<message>
<source> - %1%2%3%4 remaining.</source>
- <translation> - %1%2%3%4 restant.</translation>
+ <translation> - %1%2%3%4 restants.</translation>
</message>
<message>
<source> - unknown time remaining.</source>
- <translation> - impossible d&apos;estimer le temps restant.</translation>
+ <translation> - temps restant inconnu.</translation>
</message>
</context>
<context>
<name>KDUpdater::HttpDownloader</name>
<message>
- <source>Cannot download %1: Writing to file &apos;%2&apos; failed: %3</source>
- <translation>Impossible de télécharger %1 : l&apos;écriture du fichier &apos;%2&apos; à échoué : %3</translation>
+ <source>Cannot download %1. Writing to file &quot;%2&quot; failed: %3</source>
+ <translation>Impossible de télécharger %1. L’écriture dans le fichier &quot;%2&quot; a échoué : %3</translation>
</message>
<message>
- <source>Cannot download %1: Cannot create %2: %3</source>
- <translation>Impossible de télécharger %1 : impossible de créer %2 : %3</translation>
+ <source>Cannot download %1. Cannot create file &quot;%2&quot;: %3</source>
+ <translation>Impossible de télécharger %1. Impossible de créer le fichier &quot;%2&quot; : %3</translation>
</message>
<message>
<source>%1 at %2</source>
@@ -312,7 +284,7 @@
</message>
<message>
<source>Authentication request canceled.</source>
- <translation>Demande d&apos;authentification annulée.</translation>
+ <translation>Demande d’authentification annulée.</translation>
</message>
<message>
<source>Secure Connection Failed</source>
@@ -320,187 +292,148 @@
</message>
<message>
<source>There was an error during connection to: %1.</source>
- <translation>Une erreur s&apos;est produite pendant la connection à : %1.</translation>
+ <translation>Une erreur s’est produite lors de la connexion à : %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>Cela pourrait être un problème avec la configuration du serveur, ou quelqu&apos;un essaie de se faire passer pour le serveur.</translation>
+ <translation>Il peut s’agir d’un problème avec la configuration du serveur ou quelqu’un peut tenter d’usurper l’identité du serveur.</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>Si vous vous êtes déjà connecté à ce serveur avec succès par le passé ou si vous faites confiance à ce serveur, l&apos;erreur peut être temporaire et vous pouvez essayer de nouveau.</translation>
+ <translation>Si vous vous êtes déjà connecté au serveur dans le passé ou si vous lui faites confiance, l’erreur peut être temporaire et vous pouvez réessayer.</translation>
</message>
<message>
<source>Try again</source>
- <translation>Essayer à nouveau</translation>
+ <translation>Réessayez</translation>
</message>
</context>
<context>
<name>KDUpdater::LocalFileDownloader</name>
<message>
- <source>Cannot open source file &apos;%1&apos; for reading.</source>
- <translation>Impossible d&apos;ouvrir le fichier source &apos;%1&apos; en lecture.</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en lecture : %2</translation>
</message>
<message>
- <source>Cannot open destination file &apos;%1&apos; for writing.</source>
- <translation>Impossible d&apos;ouvrir le fichier %1 en écriture.</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en écriture : %2</translation>
</message>
<message>
- <source>Writing to %1 failed: %2</source>
- <translation>L&apos;écriture de %1 à échouée : %2</translation>
+ <source>Writing to file &quot;%1&quot; failed: %2</source>
+ <translation>L’écriture dans le fichier &quot;%1&quot; a échoué : %2</translation>
</message>
</context>
<context>
<name>KDUpdater::MkdirOperation</name>
<message>
- <source>Invalid arguments: %1 arguments given, 1 expected.</source>
- <translation>Arguments invalides : %1 arguments fournis, 1 seul attendu.</translation>
+ <source>Cannot create directory &quot;%1&quot;: %2</source>
+ <translation>Impossible de créer le répertoire &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Cannot create folder %1: Unknown error.</source>
- <translation>Impossible de créer le dossier %1 : erreur indéterminée.</translation>
+ <source>Unknown error.</source>
+ <translation>Erreur inconnue.</translation>
</message>
<message>
- <source>Cannot remove directory %1: %2</source>
- <translation>Impossible de supprimer le dossier %1 : %2</translation>
+ <source>Cannot remove directory &quot;%1&quot;: %2</source>
+ <translation>Impossible de supprimer le répertoire &quot;%1&quot; : %2</translation>
</message>
</context>
<context>
<name>KDUpdater::MoveOperation</name>
<message>
- <source>Cannot backup file %1.</source>
- <translation>Impossible de sauvegarder le fichier %1.</translation>
- </message>
- <message>
- <source>Invalid arguments: %1 arguments given, 2 expected.</source>
- <translation>Arguments invalides : %1 arguments fournis, 2 attendus.</translation>
- </message>
- <message>
- <source>Cannot remove destination file %1: %2</source>
- <translation>Impossible de supprimer le fichier de destination %1 : %2</translation>
- </message>
- <message>
- <source>Cannot copy %1 to %2: %3</source>
- <translation>Impossible de copier %1 vers %2 : %3</translation>
- </message>
- <message>
- <source>Cannot copy %1 to %2: %3</source>
- <translation>Impossible de copier %1 vers %2 : %3</translation>
- </message>
- <message>
- <source>Cannot remove file %1.</source>
- <translation>Impossible de supprimer le fichier %1.</translation>
- </message>
- <message>
- <source>Cannot restore backup file for %1: %2</source>
- <translation></translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::PackagesInfo</name>
- <message>
- <source>%1 contains invalid content: %2</source>
- <translation>%1 contient des informations non valides : %2</translation>
+ <source>Cannot backup file &quot;%1&quot;.</source>
+ <translation>Impossible de sauvegarder le fichier &quot;%1&quot;.</translation>
</message>
<message>
- <source>The file %1 does not exist.</source>
- <translation>Le fichier %1 n&apos;existe pas.</translation>
+ <source>Cannot remove file &quot;%1&quot;: %2</source>
+ <translation>Impossible de supprimer le fichier &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Cannot open %1.</source>
- <translation>Impossible d&apos;ouvrir %1.</translation>
+ <source>Cannot copy file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Impossible de copier le fichier &quot;%1&quot; vers &quot;%2&quot; : %3</translation>
</message>
<message>
- <source>Parse error in %1 at %2, %3: %4</source>
- <translation>Erreur d&apos;analyse syntaxique dans %1 à %2, %3 : %4</translation>
+ <source>Cannot remove file &quot;%1&quot;.</source>
+ <translation>Impossible de supprimer le fichier &quot;%1&quot;.</translation>
</message>
<message>
- <source>Root element %1 unexpected, should be &apos;Packages&apos;.</source>
- <translation>Élément racine %1 inattendu, il devrait se trouver dans &apos;Packages&apos;.</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;: %2</source>
+ <translation>Impossible de restaurer le fichier de sauvegarde pour &quot;%1&quot; : %2</translation>
</message>
</context>
<context>
<name>KDUpdater::PrependFileOperation</name>
<message>
- <source>Cannot backup file %1: %2</source>
- <translation>Impossible de sauvegarder le fichier %1 : %2</translation>
+ <source>Cannot backup file &quot;%1&quot;: %2</source>
+ <translation>Impossible de sauvegarder le fichier &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Invalid arguments: %1 arguments given, 2 expected.</source>
- <translation>Arguments invalides : %1 arguments fournis, 2 attendus.</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en lecture : %2</translation>
</message>
<message>
- <source>Cannot open file %1 for reading: %2</source>
- <translation>Impossible d&apos;ouvrir le fichier %1 en lecture : %2</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en écriture : %2</translation>
</message>
<message>
- <source>Cannot open file %1 for writing: %2</source>
- <translation>Impossible d&apos;ouvrir le fichier %1 en écriture : %2</translation>
+ <source>Cannot find backup file for &quot;%1&quot;.</source>
+ <translation>Le fichier de sauvegarde pour &quot;%1&quot; est introuvable.</translation>
</message>
<message>
- <source>Cannot find backup file for %1.</source>
- <translation>Impossible de trouver la sauvegarde du fichier %1.</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;.</source>
+ <translation>Impossible de restaurer le fichier de sauvegarde pour &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot restore backup file for %1.</source>
- <translation>Impossible de restaurer le fichier de sauvegarde pour %1.</translation>
- </message>
- <message>
- <source>Cannot restore backup file for %1: %2</source>
- <translation>Impossible de restaurer le fichier de sauvegarde pour %1 : %2</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;: %2</source>
+ <translation>Impossible de restaurer le fichier de sauvegarde pour &quot;%1&quot; : %2</translation>
</message>
</context>
<context>
<name>KDUpdater::ResourceFileDownloader</name>
<message>
- <source>Cannot read resource file &quot;%1&quot;. Reason:</source>
- <translation>Impossible de lire le fichier de ressources &quot;%1&quot;. Raison : </translation>
+ <source>Cannot read resource file &quot;%1&quot;: %2</source>
+ <translation>Impossible de lire le fichier de ressources &quot;%1&quot; : %2</translation>
</message>
</context>
<context>
<name>KDUpdater::RmdirOperation</name>
<message>
- <source>Invalid arguments: %1 arguments given, 1 expected.</source>
- <translation>Arguments invalides : %1 arguments fournis, 1 seul attendu.</translation>
- </message>
- <message>
- <source>Cannot remove folder %1: The folder does not exist.</source>
- <translation>Impossible de supprimer le dossier %1 : ce dossier n&apos;existe pas.</translation>
+ <source>Cannot remove directory &quot;%1&quot;: %2</source>
+ <translation>Impossible de supprimer le répertoire &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Cannot remove folder %1: %2</source>
- <translation>Impossible de supprimer le dossier %1 : %2</translation>
+ <source>The directory does not exist.</source>
+ <translation>Le répertoire n’existe pas.</translation>
</message>
<message>
- <source>Cannot recreate directory %1: %2</source>
- <translation>Impossible de recréer le dossier %1 : %2</translation>
+ <source>Cannot recreate directory &quot;%1&quot;: %2</source>
+ <translation>Impossible de recréer le répertoire &quot;%1&quot; : %2</translation>
</message>
</context>
<context>
<name>KDUpdater::Task</name>
<message>
<source>%1 started</source>
- <translation>%1 commencée</translation>
+ <translation>%1 démarrée</translation>
</message>
<message>
<source>%1 cannot be stopped</source>
- <translation>%1 ne peut être stoppée</translation>
+ <translation>%1 ne peut pas être arrêtée</translation>
</message>
<message>
<source>Cannot stop task %1</source>
- <translation>Impossible d&apos;arrêter la tâche %1</translation>
+ <translation>Impossible d’arrêter la tâche %1</translation>
</message>
<message>
<source>%1 cannot be paused</source>
- <translation>%1 ne peut être mise en pause</translation>
+ <translation>%1 ne peut pas être interrompue</translation>
</message>
<message>
<source>Cannot pause task %1</source>
- <translation>Impossible de mettre en pause %1</translation>
+ <translation>Impossible d’interrompre la tâche %1</translation>
</message>
<message>
<source>Cannot resume task %1</source>
- <translation>Impossible de reprendre l&apos;exécution de la tâche %1</translation>
+ <translation>Impossible de reprendre la tâche %1</translation>
</message>
<message>
<source>%1 done</source>
@@ -511,26 +444,25 @@
<name>KDUpdater::UpdateFinder</name>
<message>
<source>Cannot access the package information of this application.</source>
- <translation>Impossible d&apos;accéder aux informations contenues dans ce paquet pour cette application.</translation>
+ <translation>Impossible d’accéder aux informations de paquetage de cette application.</translation>
</message>
<message>
- <source>Cannot access the update sources information of this application.</source>
- <translation>Impossible d&apos;accéder aux informations de mise à jour pour cette application.</translation>
- </message>
- <message>
- <source>Downloading Updates.xml from update sources.</source>
- <translation>Téléchargement du fichier Updates.xml à partir des sources de mises à jour.</translation>
+ <source>No package sources set for this application.</source>
+ <translation>Aucune source de paquetage définie pour cette application.</translation>
</message>
<message numerus="yes">
<source>%n update(s) found.</source>
<translation>
- <numerusform>%n mise à jour trouvée.</numerusform>
- <numerusform>%n mises à jour trouvées.</numerusform>
+ <numerusform>%n mise(s) à jour trouvée(s).</numerusform>
</translation>
</message>
<message>
- <source>Cannot download update source %1 from (&apos;%2&apos;)</source>
- <translation>Impossible de télécharger l&apos;emplacement des mises à jour pour %1 (&apos;%2&apos;)</translation>
+ <source>Downloading Updates.xml from update sources.</source>
+ <translation>Téléchargement de Updates.xml à partir des sources de mise à jour.</translation>
+ </message>
+ <message>
+ <source>Cannot download package source %1 from &quot;%2&quot;.</source>
+ <translation>Impossible de télécharger la source de paquetage %1 depuis &quot;%2&quot;.</translation>
</message>
<message>
<source>Updates.xml file(s) downloaded from update sources.</source>
@@ -538,361 +470,336 @@
</message>
<message>
<source>Computing applicable updates.</source>
- <translation>Calcul des mises à jour à appliquer.</translation>
+ <translation>Calcul des mises à jour applicables.</translation>
</message>
<message>
<source>Application updates computed.</source>
- <translation>Mises à jour de l&apos;application calculées.</translation>
+ <translation>Mises à jour de l’application calculées.</translation>
</message>
</context>
<context>
- <name>KDUpdater::UpdateSourcesInfo</name>
- <message>
- <source>%1 contains invalid content: %2</source>
- <translation>%1 contient des informations invalides : %2</translation>
- </message>
- <message>
- <source>Cannot read &quot;%1&quot;</source>
- <translation>Impossible de lire &quot;%1&quot;</translation>
- </message>
- <message>
- <source>XML Parse error in %1 at %2, %3: %4</source>
- <translation>Erreur d&apos;analyse syntaxique du XML dans %1 à %2, %3 : %4</translation>
- </message>
- <message>
- <source>Root element %1 unexpected, should be &quot;UpdateSources&quot;</source>
- <translation>Élément racine %1 inattendu, il devrait se trouver dans &quot;UpdateSources&quot;</translation>
- </message>
+ <name>KDUpdater::UpdatesInfoData</name>
<message>
- <source>Cannot save changes to &quot;%1&quot;: %2</source>
- <translation>Impossible de sauvegarder les changements dans &quot;%1&quot; : %2</translation>
+ <source>Updates.xml contains invalid content: %1</source>
+ <translation>Updates.xml renferme un contenu non valide : %1</translation>
</message>
-</context>
-<context>
- <name>KDUpdater::UpdatesInfoData</name>
<message>
<source>Cannot read &quot;%1&quot;</source>
<translation>Impossible de lire &quot;%1&quot;</translation>
</message>
<message>
<source>Parse error in %1 at %2, %3: %4</source>
- <translation>Erreur d&apos;analyse syntaxique dans %1 à %2, %3 : %4</translation>
- </message>
- <message>
- <source>Updates.xml contains invalid content: %1</source>
- <translation>Updates.xml contient des informations invalides : %1</translation>
+ <translation>Erreur d’analyse dans %1 sur %2, %3 : %4</translation>
</message>
<message>
<source>Root element %1 unexpected, should be &quot;Updates&quot;.</source>
- <translation>Élément racine %1 inattendu, &quot;Updates&quot; aurait dû être trouvé.</translation>
+ <translation>Élément racine %1 inattendu, il doit s’agir de &quot;Updates&quot;.</translation>
</message>
<message>
<source>ApplicationName element is missing.</source>
- <translation>L&apos;élément &apos;ApplicationName&apos; est manquant.</translation>
+ <translation>L’élément ApplicationName est manquant.</translation>
</message>
<message>
<source>ApplicationVersion element is missing.</source>
- <translation>L&apos;élément &apos;ApplicationVersion&apos; est manquant.</translation>
+ <translation>L’élément ApplicationVersion est manquant.</translation>
</message>
<message>
<source>PackageUpdate element without Name</source>
- <translation>L&apos;élément &apos;PackageUpdate&apos; ne possède pas l&apos;attribut &apos;Name&apos;</translation>
+ <translation>Élément PackageUpdate sans nom</translation>
</message>
<message>
<source>PackageUpdate element without Version</source>
- <translation>L&apos;élément &apos;PackageUpdate&apos; ne possède pas l&apos;attribut &apos;Version&apos;</translation>
+ <translation>Élément PackageUpdate sans version</translation>
</message>
<message>
<source>PackageUpdate element without ReleaseDate</source>
- <translation>L&apos;élément &apos;PackageUpdate&apos; ne possède pas l&apos;attribut &apos;ReleaseDate&apos;</translation>
+ <translation>Élément PackageUpdate sans date de publication</translation>
</message>
</context>
<context>
<name>Lib7z</name>
<message>
- <source>Cannot retrieve number of items in archive</source>
- <translation>Impossible de récupérer le nombre d&apos;éléments dans l&apos;archive</translation>
- </message>
- <message>
- <source>Cannot retrieve path of archive item %1</source>
- <translation>Impossible de récupérer le chemin de l&apos;élément %1</translation>
- </message>
- <message>
- <source>Unknown exception caught (%1)</source>
- <translation>Une exception de type inconnue a été attrapée (%1)</translation>
- </message>
- <message>
<source>internal code: %1</source>
<translation>code interne : %1</translation>
</message>
<message>
<source>not enough memory</source>
- <translation>pas assez de mémoire</translation>
+ <translation>mémoire insuffisante</translation>
</message>
<message>
<source>Error: %1</source>
<translation>Erreur : %1</translation>
</message>
<message>
- <source>Cannot load codecs</source>
- <translation>Impossible de charger les codecs</translation>
+ <source>Cannot retrieve property %1 for item %2.</source>
+ <translation>Impossible d’extraire la propriété %1 pour l’élément %2.</translation>
</message>
<message>
- <source>Cannot retrieve default format</source>
- <translation>Impossible de récupérer le format par défaut</translation>
+ <source>Property %1 for item %2 not of type VT_FILETIME but %3.</source>
+ <translation>La propriété %1 pour l’élément %2 n’est pas de type VT_FILETIME mais %3.</translation>
</message>
<message>
- <source>Cannot create archive %1. %2</source>
- <translation>Impossible de créer l&apos;archive %1. %2</translation>
+ <source>Cannot convert UTC file time to system time.</source>
+ <translation>Impossible de convertir l’heure du fichier UTC en heure système.</translation>
</message>
<message>
- <source>CArc index %1 out of bounds [0, %2]</source>
- <translation>Index CArc %1 hors limites [0, %2]</translation>
+ <source>Cannot load codecs.</source>
+ <translation>Impossible de charger les codecs.</translation>
</message>
<message>
- <source>Item index %1 out of bounds [0, %2]</source>
- <translation>Index de l&apos;élément %1 hors limites [0, %2]</translation>
+ <source>Cannot open archive &quot;%1&quot;.</source>
+ <translation>Impossible d’ouvrir l’archive &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot create output file for writing: %1</source>
- <translation>Impossible de créer le fichier de sortie : %1</translation>
+ <source>Cannot retrieve number of items in archive.</source>
+ <translation>Impossible d’extraire le nombre d’éléments dans l’archive.</translation>
</message>
-</context>
-<context>
- <name>Lib7z::ExtractItemJob</name>
<message>
- <source>Cannot list archive: QIODevice not set or already destroyed.</source>
- <translation>Impossible de lister l&apos;archive : QIODevice n&apos;est pas renseigné ou à déjà été détruit.</translation>
+ <source>Cannot retrieve path of archive item &quot;%1&quot;.</source>
+ <translation>Impossible d’extraire le chemin d’accès de l’élément d’archive &quot;%1&quot;.</translation>
</message>
<message>
- <source>Error while extracting &apos;%1&apos;: %2</source>
- <translation>Erreur lors de l&apos;extraction &apos;%1&apos; : %2</translation>
+ <source>Unknown exception caught (%1).</source>
+ <translation>Exception inconnue détectée (%1).</translation>
</message>
<message>
- <source>Unknown exception caught (%1)</source>
- <translation>Une exception de type inconnue a été attrapée (%1)</translation>
+ <source>Cannot create temporary file: %1</source>
+ <translation>Impossible de créer le fichier temporaire : %1</translation>
</message>
<message>
- <source>Failed</source>
- <translation>Échec</translation>
+ <source>Unsupported archive type.</source>
+ <translation>Type d’archive non pris en charge.</translation>
</message>
-</context>
-<context>
- <name>Lib7z::ListArchiveJob</name>
<message>
- <source>Cannot list archive: QIODevice already destroyed.</source>
- <translation>Impossible de lister l&apos;archive : QIODevice n&apos;est pas renseigné ou à déjà été détruit.</translation>
+ <source>Cannot create archive &quot;%1&quot;</source>
+ <translation>Impossible de créer l’archive &quot;%1&quot;.</translation>
</message>
<message>
- <source>Unknown exception caught (%1)</source>
- <translation>Une exception de type inconnue a été attrapée (%1)</translation>
+ <source>Cannot create archive &quot;%1&quot;: %2</source>
+ <translation>Impossible de créer l’archive &quot;%1&quot; : %2</translation>
+ </message>
+ <message>
+ <source>Cannot remove old archive &quot;%1&quot;: %2</source>
+ <translation>Impossible de supprimer l’ancienne archive &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Failed</source>
- <translation>Échec</translation>
+ <source>Cannot rename temporary archive &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Impossible de renommer l’archive temporaire &quot;%1&quot; en &quot;%2&quot; : %3</translation>
+ </message>
+ <message>
+ <source>Unknown exception caught (%1)</source>
+ <translation>Exception inconnue détectée (%1)</translation>
</message>
</context>
<context>
- <name>OpenArchiveInfo</name>
+ <name>LocalPackageHub</name>
<message>
- <source>Cannot load codecs</source>
- <translation>Impossible de charger les codecs</translation>
+ <source>%1 contains invalid content: %2</source>
+ <translation>%1 renferme un contenu non valide : %2</translation>
</message>
<message>
- <source>Cannot retrieve default format</source>
- <translation>Impossible de récupérer le format par défaut</translation>
+ <source>The file %1 does not exist.</source>
+ <translation>Le fichier %1 n’existe pas.</translation>
</message>
<message>
- <source>Cannot open archive</source>
- <translation>Impossible d&apos;ouvrir l&apos;archive</translation>
+ <source>Cannot open %1.</source>
+ <translation>Impossible d’ouvrir %1.</translation>
</message>
<message>
- <source>No CArc found</source>
- <translation>Aucun CArc n&apos;a été trouvé</translation>
+ <source>Parse error in %1 at %2, %3: %4</source>
+ <translation>Erreur d’analyse dans %1 sur %2, %3 : %4</translation>
+ </message>
+ <message>
+ <source>Root element %1 unexpected, should be &apos;Packages&apos;.</source>
+ <translation>Élément racine %1 inattendu, il doit s’agir de &apos;Packages&apos;.</translation>
</message>
</context>
<context>
- <name>QIODeviceSequentialOutStream</name>
+ <name>LockFile</name>
+ <message>
+ <source>Cannot create lock file &quot;%1&quot;: %2</source>
+ <translation>Impossible de créer le fichier de verrouillage &quot;%1&quot; : %2</translation>
+ </message>
<message>
- <source>No device set for output stream</source>
- <translation>Aucun dispositif n&apos;est prêt pour le flux de sortie</translation>
+ <source>Cannot write PID to lock file &quot;%1&quot;: %2</source>
+ <translation>Impossible d’écrire l’identifiant du processus dans le fichier de verrouillage &quot;%1&quot; : %2</translation>
+ </message>
+ <message>
+ <source>Cannot obtain the lock for file &quot;%1&quot;: %2</source>
+ <translation>Impossible d’obtenir le verrou du fichier &quot;%1&quot; : %2</translation>
+ </message>
+ <message>
+ <source>Cannot release the lock for file &quot;%1&quot;: %2</source>
+ <translation>Impossible de désactiver le verrou du fichier &quot;%1&quot; : %2</translation>
</message>
</context>
<context>
<name>QInstaller</name>
<message>
<source>No marker found, stopped after %1.</source>
- <translation>Aucun marqueur n&apos;a été trouvé, arrêt après %1.</translation>
+ <translation>Aucun symbole ponctuel trouvé. Arrêt après %1.</translation>
</message>
<message>
- <source>Cannot open file %1 for reading: %2</source>
- <translation>Impossible d&apos;ouvrir le fichier %1 en lecture : %2</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en lecture : %2</translation>
</message>
<message>
- <source>Cannot open file %1 for writing: %2</source>
- <translation>Impossible d&apos;ouvrir le fichier %1 en écriture : %2</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en écriture : %2</translation>
</message>
<message>
<source>Read failed after %1 bytes: %2</source>
- <translation>La lecture a échouée après %1 octets : %2</translation>
+ <translation>Échec de la lecture après %1 octets : %2</translation>
</message>
<message>
- <source>Copy failed. Error: %1</source>
- <translation>La copie a échouée. Erreur : %1</translation>
+ <source>Copy failed: %1</source>
+ <translation>Échec de la copie : %1</translation>
</message>
<message>
<source>Write failed after %1 bytes: %2</source>
- <translation>L&apos;écriture à échoué après %1 octets : %2</translation>
+ <translation>Échec de l’écriture après %1 octets : %2</translation>
</message>
<message>
<source>bytes</source>
<translation>octets</translation>
</message>
<message>
- <source>KiB</source>
- <translation>KiB</translation>
+ <source>KB</source>
+ <translation>Ko</translation>
</message>
<message>
- <source>MiB</source>
- <translation>MiB</translation>
+ <source>MB</source>
+ <translation>Mo</translation>
</message>
<message>
- <source>GiB</source>
- <translation>GiB</translation>
+ <source>GB</source>
+ <translation>Go</translation>
</message>
<message>
- <source>TiB</source>
- <translation>TiB</translation>
+ <source>TB</source>
+ <translation>To</translation>
</message>
<message>
- <source>PiB</source>
- <translation>PiB</translation>
+ <source>PB</source>
+ <translation>Po</translation>
</message>
<message>
- <source>EiB</source>
- <translation>EiB</translation>
+ <source>EB</source>
+ <translation>Eo</translation>
</message>
<message>
- <source>ZiB</source>
- <translation>ZiB</translation>
+ <source>ZB</source>
+ <translation>Zo</translation>
</message>
<message>
- <source>YiB</source>
- <translation>YiB</translation>
+ <source>YB</source>
+ <translation>Yo</translation>
</message>
<message>
- <source>Cannot remove file %1: %2</source>
- <translation>Impossible de supprimer le fichier %1 : %2</translation>
+ <source>Cannot remove file &quot;%1&quot;: %2</source>
+ <translation>Impossible de supprimer le fichier &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Cannot remove folder %1: %2</source>
- <translation>Impossible de supprimer le dossier %1 : %2</translation>
+ <source>Cannot remove directory &quot;%1&quot;: %2</source>
+ <translation>Impossible de supprimer le répertoire &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Cannot create folder %1</source>
- <translation>Impossible de créer le dossier %1</translation>
+ <source>Cannot create directory &quot;%1&quot;.</source>
+ <translation>Impossible de créer le répertoire &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot copy file from %1 to %2: %3</source>
- <translation>Impossible de copier le fichier de %1 vers %2 : %3</translation>
+ <source>Cannot copy file from &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Impossible de copier le fichier depuis &quot;%1&quot; vers &quot;%2&quot; : %3</translation>
</message>
<message>
- <source>Cannot move file from %1 to %2: %3</source>
- <translation>Impossible de déplacer le fichier de %1 vers %2 : %3</translation>
+ <source>Cannot move file from &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Impossible de déplacer le fichier depuis &quot;%1&quot; vers &quot;%2&quot; : %3</translation>
</message>
<message>
- <source>Cannot create folder %1: %2</source>
- <translation>Impossible de créer le dossier %1 : %2</translation>
+ <source>Cannot create directory &quot;%1&quot;: %2</source>
+ <translation>Impossible de créer le répertoire &quot;%1&quot; : %2</translation>
</message>
<message>
<source>Cannot open temporary file: %1</source>
- <translation>Impossible d&apos;ouvrir le fichier temporaire : %1</translation>
+ <translation>Ouvrir d’ouvrir le fichier temporaire : %1</translation>
</message>
<message>
<source>Cannot open temporary file for template %1: %2</source>
- <translation>Impossible d&apos;ouvrir le fichier temporaire pour le modèle %1 : %2</translation>
- </message>
- <message>
- <source>Cannot create temporary file</source>
- <translation>Impossible de créer le fichier temporaire</translation>
- </message>
- <message>
- <source>Cannot retrieve property %1 for item %2</source>
- <translation>Impossible de récupérer la propriété %1 pour l&apos;élément %2</translation>
- </message>
- <message>
- <source>Property %1 for item %2 not of type VT_FILETIME but %3</source>
- <translation>Propriété %1 pour l&apos;élément %2 n&apos;est pas de type VT_FILETIME mais %3</translation>
- </message>
- <message>
- <source>Cannot convert file time to local time</source>
- <translation>Impossible de convertir l&apos;heure du fichier vers l&apos;heure locale</translation>
- </message>
- <message>
- <source>Cannot convert local file time to system time</source>
- <translation>Impossible de convertir l&apos;heure du fichier vers l&apos;heure du système</translation>
+ <translation>Ouvrir d’ouvrir le fichier temporaire pour le modèle %1 : %2</translation>
</message>
<message>
<source>Corrupt installation</source>
- <translation>Installation corrompue</translation>
+ <translation>Installation endommagée</translation>
</message>
<message>
<source>Your installation seems to be corrupted. Please consider re-installing from scratch.</source>
- <translation>Votre installation semble être corrompue. Veuillez retenter une nouvelle installation.</translation>
+ <translation>Votre installation semble endommagée. Vous pouvez réinstaller entièrement le produit.</translation>
</message>
<message>
<source>The specified module could not be found.</source>
- <translation>Le module spécifié ne peut être trouvé.</translation>
+ <translation>Le module spécifié est introuvable.</translation>
</message>
</context>
<context>
<name>QInstaller::Component</name>
<message>
<source>Components cannot have children in updater mode.</source>
- <translation>Les composants ne peuvent avoir de composants fils en mode mise-à-jour.</translation>
- </message>
- <message>
- <source>Cannot open the requested translation file &apos;%1&apos;.</source>
- <translation>Impossible d&apos;ouvrir le fichier de traduction &apos;%1&apos;.</translation>
+ <translation>Les composants ne peuvent pas comporter d’enfants en mode de mise à jour.</translation>
</message>
<message>
- <source>Cannot open the requested UI file &apos;%1&apos;. Error: %2</source>
- <translation>Impossible d&apos;ouvir le fichier d&apos;IHM &apos;%1&apos;. Erreur : %2</translation>
+ <source>Cannot open the requested UI file &quot;%1&quot;: %2</source>
+ <translation>Impossible d’ouvrir le fichier d’interface utilisateur demandé &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Cannot load the requested UI file &apos;%1&apos;. Error: %2</source>
- <translation>Impossible de charger le fichier d&apos;IHM &apos;%1&apos;. Erreur : %2</translation>
- </message>
- <message>
- <source>Cannot resolve isDefault in %1</source>
- <translation>Impossible d&apos;analyser &apos;isDefault&apos; dans %1</translation>
+ <source>Cannot load the requested UI file &quot;%1&quot;: %2</source>
+ <translation>Impossible de charger le fichier d’interface utilisateur demandé &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Cannot open the requested license file &apos;%1&apos;. Error: %2</source>
- <translation>Impossible d&apos;ouvrir le fichier de licence &apos;%1&apos;. Erreur %2</translation>
+ <source>Cannot open the requested license file &quot;%1&quot;: %2</source>
+ <translation>Impossible d’ouvrir le fichier de licence demandé &quot;%1&quot; : %2</translation>
</message>
<message>
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
- <source>Error: Operation %1 does not exist</source>
- <translation>Erreur : l&apos;opération %1 n&apos;existe pas</translation>
+ <source>Error: Operation %1 does not exist.</source>
+ <translation>Erreur : l’opération %1 n’existe pas.</translation>
+ </message>
+ <message>
+ <source>Cannot resolve isDefault in %1</source>
+ <translation>Impossible de résoudre isDefault dans %1</translation>
</message>
<message>
<source>Update Info: </source>
- <translation>Informations de mises à jour : </translation>
+ <translation>Informations de mise à jour : </translation>
</message>
</context>
<context>
<name>QInstaller::ComponentModel</name>
<message>
+ <source>Component is marked for installation.</source>
+ <translation>Le composant est destiné à être installé.</translation>
+ </message>
+ <message>
+ <source>Component is marked for uninstallation.</source>
+ <translation>Le composant est destiné à être désinstallé.</translation>
+ </message>
+ <message>
+ <source>Component is installed.</source>
+ <translation>Le composant est installé.</translation>
+ </message>
+ <message>
+ <source>Component is not installed.</source>
+ <translation>Le composant n’est pas installé.</translation>
+ </message>
+ <message>
<source>Component Name</source>
<translation>Nom du composant</translation>
</message>
<message>
<source>Action</source>
- <translation>Action</translation>
+ <translation>Opération</translation>
</message>
<message>
<source>Installed Version</source>
@@ -904,55 +811,36 @@
</message>
<message>
<source>Release Date</source>
- <translation>Date de sortie</translation>
+ <translation>Date de publication</translation>
</message>
<message>
<source>Size</source>
<translation>Taille</translation>
</message>
- <message>
- <source>Component is marked for installation.</source>
- <translation>Le composant est marqué pour installation.</translation>
- </message>
- <message>
- <source>Component is marked for uninstallation.</source>
- <translation>Le composant est marqué pour désinstallation.</translation>
- </message>
- <message>
- <source>Component is installed.</source>
- <translation>Le composant est installé.</translation>
- </message>
- <message>
- <source>Component is not installed.</source>
- <translation>Le composant n&apos;est pas installé.</translation>
- </message>
</context>
<context>
<name>QInstaller::ComponentSelectionPage</name>
<message>
<source>Alt+A</source>
<comment>select default components</comment>
- <translatorcomment>Sélection des composants par défaut</translatorcomment>
<translation>Alt+A</translation>
</message>
<message>
<source>Def&amp;ault</source>
- <translation>Déf&amp;aut</translation>
+ <translation>Par déf&amp;aut</translation>
</message>
<message>
<source>Alt+R</source>
<comment>reset to already installed components</comment>
- <translatorcomment>Revenir vers la liste des composants déjà installés</translatorcomment>
<translation>Alt+R</translation>
</message>
<message>
<source>&amp;Reset</source>
- <translation>&amp;Effacer</translation>
+ <translation>&amp;Réinitialiser</translation>
</message>
<message>
<source>Alt+S</source>
<comment>select all components</comment>
- <translatorcomment>Sélectionner tous les composants</translatorcomment>
<translation>Alt+S</translation>
</message>
<message>
@@ -962,260 +850,227 @@
<message>
<source>Alt+D</source>
<comment>deselect all components</comment>
- <translatorcomment>Désélectionner tous les composants</translatorcomment>
<translation>Alt+D</translation>
</message>
<message>
<source>&amp;Deselect All</source>
- <translation>&amp;Désélectionner tout</translation>
+ <translation>&amp;Tout désélectionner</translation>
+ </message>
+ <message>
+ <source>To install new compressed repository, browse the repositories from your computer</source>
+ <translation>Pour installer un nouveau référentiel compressé, parcourez les référentiels sur votre ordinateur</translation>
+ </message>
+ <message>
+ <source>&amp;Browse QBSP files</source>
+ <translation>&amp;Parcourir les fichiers QBSP</translation>
</message>
<message>
<source>This component will occupy approximately %1 on your hard disk drive.</source>
- <translation>Ce composant va occuper environ %1 sur le disque dur.</translation>
+ <translation>Ce composant occupera environ %1 sur votre disque dur.</translation>
+ </message>
+ <message>
+ <source>Open File</source>
+ <translation>Ouvrir un fichier</translation>
</message>
<message>
<source>Select Components</source>
- <translation>Sélection des composants</translation>
+ <translation>Sélectionner des composants</translation>
</message>
<message>
<source>Please select the components you want to update.</source>
- <translation>Veuillez sélectionner les composants que souhaitez mettre à jour.</translation>
+ <translation>Sélectionnez les composants que vous souhaitez mettre à jour.</translation>
</message>
<message>
<source>Please select the components you want to install.</source>
- <translation>Veuillez sélectionner les composants que vous souhaitez installer.</translation>
+ <translation>Sélectionnez les composants que vous souhaitez installer.</translation>
</message>
<message>
<source>Please select the components you want to uninstall.</source>
- <translation>Veuillez sélectionner les composants que vous souhaitez désinstaller.</translation>
+ <translation>Sélectionnez les composants que vous souhaitez désinstaller.</translation>
</message>
<message>
- <source>Select the components to install. Deselect installed components to uninstall them.</source>
- <translation>Sélection des composants à installer. La désélection d&apos;un composant installé entraîne sa désinstallation.</translation>
+ <source>Select the components to install. Deselect installed components to uninstall them. Any components already installed will not be updated.</source>
+ <translation>Sélectionnez les composants à installer. Désélectionnez les composants installés pour les désinstaller. Les composants déjà installés ne seront pas mis à jour.</translation>
</message>
</context>
<context>
<name>QInstaller::ConsumeOutputOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Arguments invalides dans %0 : %1 arguments fournis, %2 attendus %3.</translation>
- </message>
- <message>
- <source>at least 2</source>
- <translation>au moins 2</translation>
+ <source>&lt;to be saved installer key name&gt; &lt;executable&gt; [argument1] [argument2] [...]</source>
+ <translation>&lt;Nom de clé du programme d’installation à enregistrer&gt; &lt;exécutable&gt; [argument1] [argument2] [...]</translation>
</message>
<message>
<source>Needed installer object in %1 operation is empty.</source>
- <translation>Objet installeur requis dans %1 l&apos;opération est vide.</translation>
+ <translation>L’objet du programme d’installation requis dans l’opération %1 est vide.</translation>
</message>
<message>
- <source>Can not save the output of %1 to an empty installer key value.</source>
- <translation>Impossible de sauvegarder la sortie de %1 vers un installeur vide.</translation>
+ <source>Cannot save the output of &quot;%1&quot; to an empty installer key value.</source>
+ <translation>Impossible d’enregistrer la sortie de &quot;%1&quot; dans une valeur clé du programme d’installation vide.</translation>
</message>
<message>
- <source>File &apos;%1&apos; does not exist or is not an executable binary.</source>
- <translation>Le fichier &apos;%1&apos; n&apos;existe pas ou n&apos;est pas un fichier binaire exécutable.</translation>
+ <source>File &quot;%1&quot; does not exist or is not an executable binary.</source>
+ <translation>Le fichier &quot;%1&quot; n’existe pas ou n’est pas un objet binaire exécutable.</translation>
</message>
<message>
- <source>Running &apos;%1&apos; resulted in a crash.</source>
- <translation>Le lancement de &apos;%1&apos; s&apos;est soldé par un crash.</translation>
+ <source>Running &quot;%1&quot; resulted in a crash.</source>
+ <translation>L’exécution de &quot;%1&quot; a entraîné un blocage.</translation>
</message>
</context>
<context>
<name>QInstaller::CopyDirectoryOperation</name>
<message>
- <source>2 or 3</source>
- <translation>2 ou 3</translation>
+ <source>&lt;source&gt; &lt;target&gt; [&quot;forceOverwrite&quot;]</source>
+ <translation>&lt;source&gt; &lt;cible&gt; [&quot;forceOverwrite&quot;]</translation>
</message>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Arguments invalides dans %0 : %1 arguments fournis, %2 attendus %3.</translation>
+ <source>Invalid argument in %1: Third argument needs to be forceOverwrite, if specified.</source>
+ <translation>Argument non valide dans %1 : le troisième argument doit être forceOverwrite, s’il est spécifié.</translation>
</message>
<message>
- <source> (&lt;source&gt; &lt;target&gt; [forceOverwrite])</source>
- <translation> (&lt;source&gt; &lt;cible&gt; [forceOverwrite])</translation>
+ <source>Invalid argument in %1: Directory &quot;%2&quot; is invalid.</source>
+ <translation>Argument non valide dans %1 : le répertoire &quot;%2&quot; n’est pas valide.</translation>
</message>
<message>
- <source>Invalid argument in %0: Third argument needs to be forceOverwrite, if specified</source>
- <translation>Argument invalide dans %0 : le troisième argument devrait être à &apos;forceOverwrite&apos;, si spécifié</translation>
+ <source>Cannot create directory &quot;%1&quot;.</source>
+ <translation>Impossible de créer le répertoire &quot;%1&quot;.</translation>
</message>
<message>
- <source>Invalid arguments in %0: Directories are invalid: %1 %2</source>
- <translation>Arguments invalides dans %0 : les dossier sont invalides : %1 %2</translation>
+ <source>Failed to overwrite &quot;%1&quot;.</source>
+ <translation>Échec du remplacement de &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot create %0</source>
- <translation>Impossible de créer %0</translation>
+ <source>Cannot copy file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Impossible de copier le fichier &quot;%1&quot; vers &quot;%2&quot; : %3</translation>
</message>
<message>
- <source>Failed to overwrite %1</source>
- <translation>L&apos;écrasement de %1 à échoué</translation>
- </message>
- <message>
- <source>Cannot copy %0 to %1, error was: %3</source>
- <translation>Impossible de copier %0 vers %1, l&apos;erreur rencontrée est : %3</translation>
- </message>
- <message>
- <source>Cannot remove %0</source>
- <translation>Impossible de supprimer %0</translation>
+ <source>Cannot remove file &quot;%1&quot;.</source>
+ <translation>Impossible de supprimer le fichier &quot;%1&quot;.</translation>
</message>
</context>
<context>
<name>QInstaller::CopyFileTask</name>
<message>
<source>Invalid task item count.</source>
- <translation>Nombre incorrect d&apos;éléments de la tâche.</translation>
+ <translation>Total des éléments de la tâche non valide.</translation>
</message>
<message>
- <source>Cannot open source &apos;%1&apos; for read. Error: %2.</source>
- <translation>Impossible d&apos;ouvrir le fichier source &apos;%1&apos; en lecture. Erreur : %2.</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en lecture : %2</translation>
</message>
<message>
- <source>Cannot open target &apos;%1&apos; for write. Error: %2.</source>
- <translation>Impossible d&apos;ouvrir le fichier source &apos;%1&apos; en écriture. Erreur : %2.</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en écriture : %2</translation>
</message>
<message>
- <source>Writing to target &apos;%1&apos; failed. Error: %2.</source>
- <translation>Échec de l&apos;écriture de la cible &apos;%1&apos;. Erreur : %2.</translation>
+ <source>Writing to file &quot;%1&quot; failed: %2</source>
+ <translation>L’écriture dans le fichier &quot;%1&quot; a échoué : %2</translation>
</message>
</context>
<context>
<name>QInstaller::CreateDesktopEntryOperation</name>
<message>
- <source>Cannot backup file %1: %2</source>
- <translation>Impossible de faire une sauvegarde du fichier %1 : %2</translation>
- </message>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Arguments invalides dans %0 : %1 arguments fournis, %2 attendus %3.</translation>
+ <source>Cannot backup file &quot;%1&quot;: %2</source>
+ <translation>Impossible de sauvegarder le fichier &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>exactly 2</source>
- <translation>exactement 2</translation>
+ <source>Failed to overwrite file &quot;%1&quot;.</source>
+ <translation>Échec du remplacement du fichier &quot;%1&quot;.</translation>
</message>
<message>
- <source>Failed to overwrite %1</source>
- <translation>L&apos;écrasement de %1 à échoué</translation>
- </message>
- <message>
- <source>Cannot write Desktop Entry at %1</source>
- <translation>Impossible d&apos;écrire un élément &apos;Desktop Entry&apos; vers %1</translation>
+ <source>Cannot write desktop entry to &quot;%1&quot;.</source>
+ <translation>Impossible d’écrire l’entrée bureautique dans &quot;%1&quot;.</translation>
</message>
</context>
<context>
<name>QInstaller::CreateLinkOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Arguments invalides dans %0 : %1 arguments fournis, %2 attendus %3.</translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation>exactement 2</translation>
+ <source>Cannot create link from &quot;%1&quot; to &quot;%2&quot;.</source>
+ <translation>Impossible de créer le lien depuis &quot;%1&quot; vers &quot;%2&quot;.</translation>
</message>
<message>
- <source>Cannot create link from %1 to %2.</source>
- <translation>Impossible de créer le lien symbolique de %1 vers %2.</translation>
- </message>
- <message>
- <source>Cannot remove link from %1 to %2.</source>
- <translation>Impossible de supprimer le lien de %1 vers %2.</translation>
+ <source>Cannot remove link from &quot;%1&quot; to &quot;%2&quot;.</source>
+ <translation>Impossible de supprimer le lien depuis &quot;%1&quot; vers &quot;%2&quot;.</translation>
</message>
</context>
<context>
<name>QInstaller::CreateLocalRepositoryOperation</name>
<message>
- <source>Cannot set file permissions %1!</source>
- <translation>Impossible d&apos;attribuer les autorisations du fichier %1 !</translation>
+ <source>Cannot set permissions for file &quot;%1&quot;.</source>
+ <translation>Impossible de définir les autorisations du fichier &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot remove file %1: %2</source>
- <translation>Impossible de supprimer le fichier %1 : %2</translation>
+ <source>Cannot remove file &quot;%1&quot;: %2</source>
+ <translation>Impossible de supprimer le fichier &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Cannot move file %1 to %2. Error: %3</source>
- <translation>Impossible de déplacer le fichier %1 vers %2. Erreur : %3</translation>
+ <source>Cannot move file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Impossible de déplacer le fichier &quot;%1&quot; vers &quot;%2&quot; : %3</translation>
</message>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Arguments invalides dans %0 : %1 arguments fournis, %2 attendus %3.</translation>
+ <source>Installer at &quot;%1&quot; needs to be an offline one.</source>
+ <translation>Le programme d’installation de &quot;%1&quot; doit être hors connexion.</translation>
</message>
<message>
- <source>exactly 2</source>
- <translation>exactement 2</translation>
+ <source>Cannot open file &quot;%1&quot; for reading.</source>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en lecture.</translation>
</message>
<message>
- <source>Installer needs to be an offline version: %1.</source>
- <translation>L&apos;installeur devrait être une version hors ligne : %1.</translation>
+ <source>Cannot read file &quot;%1&quot;: %2</source>
+ <translation>Impossible de lire le fichier &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Cannot open file: %1</source>
- <translation>Impossible d&apos;ouvrir le fichier %1</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en lecture : %2</translation>
</message>
<message>
- <source>Cannot read: %1. Error: %2</source>
- <translation>Impossible de lire : %1. Erreur : %2</translation>
- </message>
- <message>
- <source>Cannot open file: %1. Error: %2</source>
- <translation>Impossible d&apos;ouvrir le fichier %1. Erreur : %2</translation>
- </message>
- <message>
- <source>Cannot create target dir: %1.</source>
- <translation>Impossible de créer le dossier cible : %1.</translation>
+ <source>Cannot create target directory: &quot;%1&quot;.</source>
+ <translation>Impossible de créer le répertoire cible : &quot;%1&quot;.</translation>
</message>
<message>
<source>Unknown exception caught: %1.</source>
- <translation>Une exception de type inconnue a été attrapée : %1.</translation>
+ <translation>Exception inconnue détectée : %1.</translation>
</message>
<message>
- <source>Removing file: %0</source>
- <translation>Suppression du fichier : %0</translation>
+ <source>Removing file &quot;%1&quot;.</source>
+ <translation>Suppression du fichier &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot remove %0.</source>
- <translation>Impossible de supprimer %0.</translation>
+ <source>Cannot remove file &quot;%1&quot;.</source>
+ <translation>Impossible de supprimer le fichier &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot remove directory %1: %2</source>
- <translation>Impossible de supprimer le dossier %1 : %2</translation>
+ <source>Cannot remove directory &quot;%1&quot;: %2</source>
+ <translation>Impossible de supprimer le répertoire &quot;%1&quot; : %2</translation>
</message>
</context>
<context>
<name>QInstaller::CreateShortcutOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Arguments invalides dans %0 : %1 arguments fournis, %2 attendus %3.</translation>
+ <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;cible&gt; &lt;emplacement du lien&gt; [arguments cibles] [&quot;workingDirectory=...&quot;] [&quot;iconPath=...&quot;] [&quot;iconId=...&quot;] [&quot;description=...&quot;]</translation>
</message>
<message>
- <source>2 or 3</source>
- <translation>2 ou 3</translation>
+ <source>Cannot create directory &quot;%1&quot;: %2</source>
+ <translation>Impossible de créer le répertoire &quot;%1&quot; : %2</translation>
</message>
<message>
- <source> (optional: &apos;workingDirectory=...&apos;, &apos;iconPath=...&apos;, &apos;iconId=...&apos;)</source>
- <translation>(optionnel : &apos;workingDirectory=...&apos;, &apos;iconPath=...&apos;, &apos;iconId=...&apos;)</translation>
+ <source>Failed to overwrite &quot;%1&quot;: %2</source>
+ <translation>Échec du remplacement de &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Cannot create folder %1: %2.</source>
- <translation>Impossible de créer le dossier %1 : %2.</translation>
- </message>
- <message>
- <source>Failed to overwrite %1: %2</source>
- <translation>L&apos;écrasement de %1 à échoué : %2</translation>
- </message>
- <message>
- <source>Cannot create link %1: %2</source>
- <translation>Impossible de créer le raccourci %1 : %2</translation>
+ <source>Cannot create link &quot;%1&quot;: %2</source>
+ <translation>Impossible de créer le lien &quot;%1&quot; : %2</translation>
</message>
</context>
<context>
<name>QInstaller::DownloadArchivesJob</name>
<message>
<source>Canceled</source>
- <translation>Annulé</translation>
+ <translation>Abandonné</translation>
</message>
<message>
<source>Downloading hash signature failed.</source>
- <translation>Le téléchargement de l&apos;empreinte de hashage à échoué.</translation>
+ <translation>Le téléchargement de la signature de hachage a échoué.</translation>
</message>
<message>
<source>Download Error</source>
@@ -1223,165 +1078,134 @@
</message>
<message>
<source>Hash verification while downloading failed. This is a temporary error, please retry.</source>
- <translation>La vérification de l&apos;empreinte pendant le téléchargement à échoué. C&apos;est une erreur temporaire, veuillez réessayer.</translation>
+ <translation>La vérification du hachage lors du téléchargement a échoué. Cette erreur est temporaire, réessayez.</translation>
</message>
<message>
<source>Cannot verify Hash</source>
- <translation>Impossible de vérifier l&apos;empreinte</translation>
+ <translation>Impossible de vérifier le hachage</translation>
</message>
<message>
- <source>Cannot download archive: %1 : %2</source>
- <translation>Impossible de télécharger l&apos;archive : %1 : %2</translation>
+ <source>Cannot download archive %1: %2</source>
+ <translation>Impossible de télécharger l’archive %1 : %2</translation>
</message>
<message>
<source>Cannot fetch archives: %1
Error while loading %2</source>
- <translation>Impossible de charger les archives : %1
-Erreur pendant le chargement %2</translation>
+ <translation>Impossible de récupérer les archives : %1
+Erreur lors du chargement de %2</translation>
</message>
<message>
- <source>Downloading archive &apos;%1&apos; for component: %2</source>
- <translation>Téléchargement de l&apos;archive &apos;%1&apos; pour le composant : %2</translation>
+ <source>Downloading archive &quot;%1&quot; for component %2.</source>
+ <translation>Téléchargement de l’archive &quot;%1&quot; pour le composant %2.</translation>
</message>
<message>
- <source>Scheme not supported: %1 (%2)</source>
- <translation>Schéma non supporté : %1 (%2)</translation>
+ <source>Scheme %1 not supported (URL: %2).</source>
+ <translation>Structure %1 non prise en charge (URL : %2).</translation>
</message>
<message>
- <source>Cannot find component for: %1.</source>
- <translation>Impossible de trouver le composant pour : %1.</translation>
+ <source>Cannot find component for %1.</source>
+ <translation>Composant introuvable pour %1.</translation>
</message>
</context>
<context>
<name>QInstaller::Downloader</name>
<message>
- <source>Target &apos;%1&apos; not open for write. Error: %2.</source>
+ <source>Target file &quot;%1&quot; already exists but is not a file.</source>
+ <translation>Le fichier cible &quot;%1&quot; existe déjà, mais il ne s’agit pas d’un fichier.</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <extracomment>%2 is a sentence describing the error</extracomment>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en écriture : %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>La cible &apos;%1&apos; n&apos;est pas ouverte en écriture. Erreur : %2.</translation>
+ <translation>Fichier &quot;%1&quot; non ouvert en écriture : %2</translation>
</message>
<message>
- <source>Writing to target &apos;%1&apos; failed. Error: %2.</source>
+ <source>Writing to file &quot;%1&quot; failed: %2</source>
<extracomment>%2 is a sentence describing the error.</extracomment>
- <translation>Échec de l&apos;écriture de la cible &apos;%1&apos;. Erreur : %2.</translation>
+ <translation>L’écriture dans le fichier &quot;%1&quot; a échoué : %2</translation>
</message>
<message>
- <source>Redirect loop detected &apos;%1&apos;.</source>
- <translation>Cycle de redirection détecté &apos;%1&apos;.</translation>
+ <source>Redirect loop detected for &quot;%1&quot;.</source>
+ <translation>Boucle de redirection détectée pour &quot;%1&quot;.</translation>
</message>
<message>
- <source>Checksum mismatch detected &apos;%1&apos;.</source>
- <translation>Sommes de contrôle différentes détecté &apos;%1&apos;.</translation>
+ <source>Checksum mismatch detected for &quot;%1&quot;.</source>
+ <translation>Non-concordance des sommes de contrôle détectée pour &quot;%1&quot;.</translation>
</message>
<message>
<source>Network error while downloading &apos;%1&apos;: %2.</source>
- <extracomment>%2 is a sentence describing the error</extracomment>
- <translation>Erreur réseau pendant le téléchargement de &apos;%1&apos; : %2.</translation>
+ <translation>Erreur réseau lors du téléchargement de &apos;%1&apos; : %2.</translation>
</message>
<message>
- <source>Unknown network error while downloading: %1.</source>
+ <source>Unknown network error while downloading &quot;%1&quot;.</source>
<extracomment>%1 is a sentence describing the error</extracomment>
- <translation>Erreur réseau indéterminée pendant le téléchargement : %1.</translation>
- </message>
- <message>
- <source>Pause and resume not supported by network transfers.</source>
- <translation>La mise en pause et la reprise ne sont pas supportés lors des transferts réseaux.</translation>
+ <translation>Erreur réseau inconnue lors du téléchargement de &apos;%1&apos;.</translation>
</message>
<message>
- <source>Invalid source &apos;%1&apos;. Error: %2.</source>
- <extracomment>%2 is a sentence describing the error</extracomment>
- <translation>Source invalide &apos;%1&apos;. Erreur : %2.</translation>
+ <source>Network transfers canceled.</source>
+ <translation>Transferts réseau annulés.</translation>
</message>
<message>
- <source>Target file &apos;%1&apos; already exists but is not a file.</source>
- <translation>Le fichier cible &apos;%1&apos; existe déjà mais il n&apos;est pas de type fichier.</translation>
+ <source>Pause and resume not supported by network transfers.</source>
+ <translation>Les fonctions d’interruption et de reprise ne sont pas prises en charge par les transferts réseau.</translation>
</message>
<message>
- <source>Cannot open target &apos;%1&apos; for write. Error: %2.</source>
+ <source>Invalid source URL &quot;%1&quot;: %2</source>
<extracomment>%2 is a sentence describing the error</extracomment>
- <translation>Impossible d&apos;ouvrir le fichier cible &apos;%1&apos; en écriture. Erreur : %2.</translation>
+ <translation>URL source non valide &quot;%1&quot; : %2</translation>
</message>
</context>
<context>
<name>QInstaller::ElevatedExecuteOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Arguments invalides dans %0 : %1 arguments fournis, %2 attendus %3.</translation>
+ <source>Cannot start detached: &quot;%1&quot;</source>
+ <translation>Impossible de démarrer le mode détaché : &quot;%1&quot;</translation>
</message>
<message>
- <source>at least 1</source>
- <translation>au moins 1</translation>
+ <source>Cannot start: &quot;%1&quot;: %2</source>
+ <translation>Impossible de démarrer : &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Execution failed: Cannot start detached: &quot;%1&quot;</source>
- <translation>L&apos;exécution à échouée : impossible de démarrer en mode arrière plan : &quot;%1&quot;</translation>
+ <source>Program crashed: &quot;%1&quot;</source>
+ <translation>Blocage du programme : &quot;%1&quot;</translation>
</message>
<message>
- <source>Execution failed: Cannot start: &quot;%1&quot;(%2)</source>
- <translation>L&apos;exécution à échouée : impossible de démarrer &quot;%1&quot; (%2)</translation>
- </message>
- <message>
- <source>Execution failed(Crash): &quot;%1&quot;</source>
- <translation>L&apos;exécution à échouée (plantage) : &quot;%1&quot;</translation>
- </message>
- <message>
- <source>Execution failed(Unexpected exit code: %1): &quot;%2&quot;</source>
- <translation>L&apos;exécution à échouée (code de retour inattendu : %1) : &quot;%2&quot;</translation>
- </message>
-</context>
-<context>
- <name>QInstaller::EnvironmentVariableOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Arguments invalides dans %0 : %1 arguments fournis, %2 attendus %3.</translation>
- </message>
- <message>
- <source>2 to 4</source>
- <translation>2 sur 4</translation>
- </message>
-</context>
-<context>
- <name>QInstaller::ExtractArchiveOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Arguments invalides dans %0 : %1 arguments fournis, %2 attendus %3.</translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation>exactement 2</translation>
+ <source>Execution failed (Unexpected exit code: %1): &quot;%2&quot;</source>
+ <translation>L’exécution a échoué (code de sortie inattendu : %1) : &quot;%2&quot;</translation>
</message>
</context>
<context>
<name>QInstaller::ExtractArchiveOperation::Runnable</name>
<message>
- <source>Cannot open %1 for reading: %2.</source>
- <translation>Impossible d&apos;ouvrir %1 en lecture : %2.</translation>
+ <source>Cannot open archive &quot;%1&quot; for reading: %2</source>
+ <translation>Impossible d’ouvrir l’archive &quot;%1&quot; en lecture : %2</translation>
</message>
<message>
- <source>Error while extracting &apos;%1&apos;: %2</source>
- <translation>Erreur lors de l&apos;extraction &apos;%1&apos; : %2</translation>
+ <source>Error while extracting archive &quot;%1&quot;: %2</source>
+ <translation>Erreur lors de l’extraction de l’archive &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Unknown exception caught while extracting %1.</source>
- <translation>Une exception de type inconnue a été attrapée pendant l&apos;extraction de %1.</translation>
+ <source>Unknown exception caught while extracting &quot;%1&quot;.</source>
+ <translation>Exception inconnue détectée lors de l’extraction de &quot;%1&quot;.</translation>
</message>
</context>
<context>
<name>QInstaller::FakeStopProcessForUpdateOperation</name>
<message>
- <source>Number of arguments does not match: one is required</source>
- <translation>Le nombre d&apos;arguments ne correspond pas : un seul est requis</translation>
- </message>
- <message>
<source>Cannot get package manager core.</source>
- <translation>Impossible de récupérer le noyau du gestionnaire de paquets.</translation>
+ <translation>Impossible d’obtenir le moteur principal du gestionnaire de paquetages.</translation>
</message>
<message>
<source>This process should be stopped before continuing: %1</source>
- <translation>Le processus suivant devrait être stoppé avant de continuer : %1</translation>
+ <translation>Ce processus doit être arrêté avant de poursuivre : %1</translation>
</message>
<message>
<source>These processes should be stopped before continuing: %1</source>
- <translation>Les processus suivant devraient être stoppés avant de continuer : %1</translation>
+ <translation>Ces processus doivent être arrêtés avant de poursuivre : %1</translation>
</message>
</context>
<context>
@@ -1396,58 +1220,50 @@ Erreur pendant le chargement %2</translation>
</message>
<message>
<source>(%1/sec)</source>
- <translation>(%1/s)</translation>
+ <translation>(%1/sec)</translation>
</message>
<message numerus="yes">
<source>%n day(s), </source>
<translation>
- <numerusform>%n jour, </numerusform>
- <numerusform>%n jours, </numerusform>
+ <numerusform>%n jour(s), </numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n hour(s), </source>
<translation>
- <numerusform>%n heure, </numerusform>
- <numerusform>%n heures, </numerusform>
+ <numerusform>%n heure(s), </numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n minute(s)</source>
<translation>
- <numerusform>%n minute</numerusform>
- <numerusform>%n minutes</numerusform>
+ <numerusform>%n minute(s)</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n second(s)</source>
<translation>
- <numerusform>%n seconde</numerusform>
- <numerusform>%n secondes</numerusform>
+ <numerusform>%n seconde(s)</numerusform>
</translation>
</message>
<message>
<source> - %1%2%3%4 remaining.</source>
- <translation> - %1%2%3%4 restant.</translation>
+ <translation> - %1%2%3%4 restants.</translation>
</message>
<message>
<source> - unknown time remaining.</source>
- <translation> - impossible d&apos;estimer le temps restant.</translation>
+ <translation> - temps restant inconnu.</translation>
</message>
</context>
<context>
<name>QInstaller::FinishedPage</name>
<message>
<source>Completing the %1 Wizard</source>
- <translation>Finalisation de l&apos;Assistant de %1</translation>
- </message>
- <message>
- <source>Click Done to exit the %1 Wizard.</source>
- <translation>Cliquer sur Terminer pour quitter %1 Assistant.</translation>
+ <translation>Exécution de l’assistant de %1</translation>
</message>
<message>
- <source>Click Finish to exit the %1 Wizard.</source>
- <translation>Cliquer sur Terminer pour quitter %1 Assistant.</translation>
+ <source>Click %1 to exit the %2 Wizard.</source>
+ <translation>Cliquez sur %1 pour quitter l’assistant de %2.</translation>
</message>
<message>
<source>Restart</source>
@@ -1455,65 +1271,49 @@ Erreur pendant le chargement %2</translation>
</message>
<message>
<source>Run %1 now.</source>
- <translation>Lancer %1 maintenant.</translation>
+ <translation>Exécutez %1 maintenant.</translation>
</message>
<message>
<source>The %1 Wizard failed.</source>
- <translation>%1 Assistant à échoué.</translation>
+ <translation>L’assistant de %1 a échoué.</translation>
</message>
</context>
<context>
<name>QInstaller::GlobalSettingsOperation</name>
<message>
- <source>Settings are not writable</source>
- <translation>Les préférences ne sont pas accessibles en écriture</translation>
- </message>
- <message>
- <source>Failed to write settings</source>
- <translation>Impossible de sauvegarder les préférences</translation>
+ <source>Settings are not writable.</source>
+ <translation>Les paramètres ne sont pas accessibles en écriture.</translation>
</message>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Arguments invalides dans %0 : %1 arguments fournis, %2 attendus %3.</translation>
- </message>
- <message>
- <source>3, 4 or 5</source>
- <translation>3, 4 ou 5</translation>
+ <source>Failed to write settings.</source>
+ <translation>Échec de l’écriture des paramètres.</translation>
</message>
</context>
<context>
<name>QInstaller::InstallIconsOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Arguments invalides dans %0 : %1 arguments fournis, %2 attendus %3.</translation>
- </message>
- <message>
- <source>1 or 2</source>
- <translation>1 ou 2</translation>
- </message>
- <message>
- <source> (Sourcepath, [Vendorprefix])</source>
- <translation> (Sourcepath, [Vendorprefix])</translation>
+ <source>&lt;source path&gt; [vendor prefix]</source>
+ <translation>&lt;chemin de la source&gt; [préfixe fournisseur]</translation>
</message>
<message>
- <source>Invalid Argument: source folder must not be empty.</source>
- <translation>Argument invalide : le dossier source ne peut être vide.</translation>
+ <source>Invalid Argument: source directory must not be empty.</source>
+ <translation>Argument non valide : le répertoire source doit être renseigné.</translation>
</message>
<message>
- <source>Cannot backup file %1: %2</source>
- <translation>Impossible de faire une sauvegarde du fichier %1 : %2</translation>
+ <source>Cannot backup file &quot;%1&quot;: %2</source>
+ <translation>Impossible de sauvegarder le fichier &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Failed to overwrite %1: %2</source>
- <translation>L&apos;écrasement de %1 à échoué : %2</translation>
+ <source>Failed to overwrite &quot;%1&quot;: %2</source>
+ <translation>Échec du remplacement de &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Failed to copy file %1: %2</source>
- <translation>La copie du fichier %1 à échoué : %2</translation>
+ <source>Failed to copy file &quot;%1&quot;: %2</source>
+ <translation>Échec de la copie du fichier &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Cannot create folder at %1: %2</source>
- <translation>Impossible de créer le dossier %1 : %2</translation>
+ <source>Cannot create directory &quot;%1&quot;: %2</source>
+ <translation>Impossible de créer le répertoire &quot;%1&quot; : %2</translation>
</message>
</context>
<context>
@@ -1524,35 +1324,35 @@ Erreur pendant le chargement %2</translation>
</message>
<message>
<source>Welcome to the %1 Setup Wizard.</source>
- <translation>Bienvenue dans l&apos;Assistant d&apos;Installation de : %1.</translation>
+ <translation>Bienvenue dans l’assistant d’installation de %1</translation>
</message>
<message>
<source>Add or remove components</source>
- <translation>Ajouter ou supprimer des modules</translation>
+ <translation>Ajouter ou supprimer des composants</translation>
</message>
<message>
<source>Update components</source>
- <translation>Mettre à jour les modules</translation>
+ <translation>Mettre à jour des composants</translation>
</message>
<message>
<source>Remove all components</source>
- <translation>Supprimer tous les modules</translation>
+ <translation>Supprimer tous les composants</translation>
</message>
<message>
<source>Retrieving information from remote installation sources...</source>
- <translation>Récupération des informations nécessaires à partir d&apos;une source distante...</translation>
+ <translation>Extraction d’informations à partir des sources d’installation distantes...</translation>
</message>
<message>
<source>At least one valid and enabled repository required for this action to succeed.</source>
- <translation>Au moins un dépôt valide et actif est requis pour pouvoir continuer.</translation>
+ <translation>Au moins un référentiel valide et activé est requis pour que cette action réussisse.</translation>
</message>
<message>
<source>No updates available.</source>
- <translation>Aucune mise à jour n&apos;est disponible.</translation>
+ <translation>Aucune mise à jour disponible.</translation>
</message>
<message>
<source> Only local package management available.</source>
- <translation>La gestion des modules n&apos;est disponible qu&apos;en local.</translation>
+ <translation> Seule la gestion des paquetages locaux est disponible.</translation>
</message>
<message>
<source>Quit</source>
@@ -1563,210 +1363,220 @@ Erreur pendant le chargement %2</translation>
<name>QInstaller::LicenseAgreementPage</name>
<message>
<source>License Agreement</source>
- <translation>Contrat de Licence</translation>
+ <translation>Contrat de licence</translation>
</message>
<message>
<source>Alt+A</source>
<comment>agree license</comment>
- <translatorcomment>Accepter la licence</translatorcomment>
<translation>Alt+A</translation>
</message>
<message>
+ <source>Alt+D</source>
+ <comment>do not agree license</comment>
+ <translation>Alt+D</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>Veuillez lire le contrat de licence suivant. Vous devez en accepter les termes avant de poursuivre l&apos;installation.</translation>
+ <translation>Lisez le contrat de licence suivant. Vous devez accepter les termes contenus dans ce contrat avant de poursuivre l’installation.</translation>
</message>
<message>
<source>I accept the license.</source>
- <translation>J&apos;accepte la licence.</translation>
+ <translation>J’accepte la licence.</translation>
</message>
<message>
<source>I do not accept the license.</source>
- <translation>Je n&apos;accepte pas la licence.</translation>
+ <translation>Je n’accepte pas la licence.</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>Veuillez lire les contrats de licence suivants. Vous devez en accepter les termes avant de poursuivre l&apos;installation.</translation>
+ <translation>Lisez les contrats de licence suivants. Vous devez accepter les termes contenus dans ces contrats avant de poursuivre l’installation.</translation>
</message>
<message>
<source>I accept the licenses.</source>
- <translation>J&apos;accepte les licences.</translation>
+ <translation>J’accepte les licences.</translation>
</message>
<message>
<source>I do not accept the licenses.</source>
- <translation>Je n&apos;accepte pas les licences.</translation>
- </message>
- <message>
- <source>Alt+D</source>
- <comment>do not agree license</comment>
- <translatorcomment>Refuser les contrats de licence</translatorcomment>
- <translation>Alt+D</translation>
+ <translation>Je n’accepte pas les licences.</translation>
</message>
</context>
<context>
<name>QInstaller::LicenseOperation</name>
<message>
<source>No license files found to copy.</source>
- <translation>Aucun fichier de licence n&apos;a trouvé à la copie.</translation>
+ <translation>Aucun fichier de licence à copier.</translation>
</message>
<message>
<source>Needed installer object in %1 operation is empty.</source>
- <translation>Objet installeur requis dans %1 l&apos;opération est vide.</translation>
+ <translation>L’objet du programme d’installation requis dans l’opération %1 est vide.</translation>
</message>
<message>
- <source>Can not write license file: %1.</source>
- <translation>Impossible d&apos;écrire le fichier de licence : %1.</translation>
+ <source>Can not write license file &quot;%1&quot;.</source>
+ <translation>Impossible d’écrire le fichier de licence &quot;%1&quot;.</translation>
</message>
<message>
<source>No license files found to delete.</source>
- <translation>Aucun fichier de licence n&apos;a été trouvé à la suppression.</translation>
+ <translation>Aucun fichier de licence à supprimer.</translation>
</message>
</context>
<context>
<name>QInstaller::LineReplaceOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Arguments invalides dans %0 : %1 arguments fournis, %2 attendus %3.</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en lecture : %2</translation>
</message>
<message>
- <source>exactly 3</source>
- <translation>exactement 3</translation>
- </message>
- <message>
- <source>Failed to open &apos;%1&apos; for reading.</source>
- <translation>Impossible d&apos;ouvrir le fichier &apos;%1&apos; en lecture.</translation>
- </message>
- <message>
- <source>Failed to open &apos;%1&apos; for writing.</source>
- <translation>Impossible d&apos;ouvrir le fichier &apos;%1&apos; en écriture.</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en écriture : %2</translation>
</message>
</context>
<context>
<name>QInstaller::MetadataJob</name>
<message>
<source>Missing package manager core engine.</source>
- <translation>Le moteur du gestionnaire de paquets est absent.</translation>
+ <translation>Moteur principal du gestionnaire de paquetages manquant.</translation>
</message>
<message>
<source>Preparing meta information download...</source>
<translation>Préparation du téléchargement des métadonnées...</translation>
</message>
<message>
+ <source>Unpacking compressed repositories. This may take a while...</source>
+ <translation>Décompression des référentiels compressés. Cette opération peut prendre du temps...</translation>
+ </message>
+ <message>
<source>Meta data download canceled.</source>
<translation>Le téléchargement des métadonnées a été annulé.</translation>
</message>
<message>
+ <source>Unknown exception during extracting.</source>
+ <translation>Exception inconnue au cours de l’extraction.</translation>
+ </message>
+ <message>
<source>Missing proxy credentials.</source>
- <translation>Les identifiants du proxy sont absents.</translation>
+ <translation>Identifiants de connexion proxy manquants.</translation>
</message>
<message>
<source>Authentication failed.</source>
- <translation>L&apos;authentification a échoué.</translation>
+ <translation>L’authentification a échoué.</translation>
</message>
<message>
<source>Unknown exception during download.</source>
- <translation>Une exception non spécifiée s&apos;est produite pendant le téléchargement.</translation>
+ <translation>Exception inconnue au cours du téléchargement.</translation>
</message>
<message>
- <source>Retrieving meta information from remote repository...</source>
- <translation>Récupération des métadonnées à partir du dépôt distant...</translation>
+ <source>Failure to fetch repositories.</source>
+ <translation>Échec de la récupération des référentiels.</translation>
</message>
<message>
- <source>Failure to fetch repositories.</source>
- <translation>Échec lors de la récupération de la liste des dépôts.</translation>
+ <source>Extracting meta information...</source>
+ <translation>Extraction des métadonnées...</translation>
</message>
<message>
- <source>Unknown exception during extracting.</source>
- <translation>Une exception non spécifiée a été attrapée pendant l&apos;extraction.</translation>
+ <source>Retrieving meta information from remote repository... %1/%2 </source>
+ <translation>Extraction des métadonnées depuis le référentiel distant... %1/%2 </translation>
</message>
<message>
- <source>Extracting meta information...</source>
- <translation>Extraction des métadonnées...</translation>
+ <source>Retrieving meta information from remote repository... </source>
+ <translation>Extraction des métadonnées depuis le référentiel distant... </translation>
</message>
<message>
- <source>Error while extracting &apos;%1&apos;: %2</source>
- <translation>Erreur lors de l&apos;extraction de &apos;%1&apos; : %2</translation>
+ <source>Error while extracting archive &quot;%1&quot;: %2</source>
+ <translation>Erreur lors de l’extraction de l’archive &quot;%1&quot; : %2</translation>
</message>
<message>
- <source>Unknown exception caught while extracting %1.</source>
- <translation>Une exception non spécifiée a été attrapée pendant l&apos;extraction de %1.</translation>
+ <source>Unknown exception caught while extracting archive &quot;%1&quot;.</source>
+ <translation>Exception inconnue détectée lors de l’extraction de l’archive &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot open %1 for reading. Error: %2</source>
- <translation>Impossible d&apos;ouvrir %1 en lecture : %2</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en lecture : %2</translation>
</message>
</context>
<context>
<name>QInstaller::PackageManagerCore</name>
<message>
+ <source>Error writing Maintenance Tool</source>
+ <translation>Erreur d’écriture de l’outil de maintenance</translation>
+ </message>
+ <message>
<source>
Downloading packages...</source>
<translation>
-Téléchargement des paquets...</translation>
+Téléchargement des paquetages...</translation>
</message>
<message>
- <source>Installation canceled by user</source>
- <translation>L&apos;installation a été annulée par l&apos;utilisateur</translation>
+ <source>Installation canceled by user.</source>
+ <translation>Installation annulée par l’utilisateur.</translation>
</message>
<message>
<source>All downloads finished.</source>
<translation>Tous les téléchargements sont terminés.</translation>
</message>
<message>
- <source>Error</source>
- <translation>Erreur</translation>
- </message>
- <message>
<source>Cancelling the Installer</source>
- <translation>Annulation de l&apos;Installeur</translation>
- </message>
- <message>
- <source>Error writing Maintenance Tool</source>
- <translation>Erreur lors de l&apos;écriture de l&apos;Outil de Maintenance</translation>
+ <translation>Annulation du programme d’installation</translation>
</message>
<message>
<source>Authentication Error</source>
- <translation>Erreur d&apos;authentification</translation>
+ <translation>Erreur d’authentification</translation>
</message>
<message>
- <source>Some components could not be removed completely because admin rights could not be acquired: %1.</source>
- <translation>Certains composants n&apos;ont pu être supprimés totalement car les droits d&apos;administrateur n&apos;ont pu être obtenus : %1.</translation>
+ <source>Some components could not be removed completely because administrative rights could not be acquired: %1.</source>
+ <translation>Certains composants n’ont pas pu être supprimés entièrement car les droits d’administrateur n’ont pas pu être acquis : %1.</translation>
</message>
<message>
<source>Unknown error.</source>
- <translation>Erreur non déterminée.</translation>
+ <translation>Erreur inconnue.</translation>
</message>
<message>
<source>Some components could not be removed completely because an unknown error happened.</source>
- <translation>Certains composants n&apos;ont pu être supprimés car une erreur indéterminée s&apos;est produite.</translation>
+ <translation>Certains composants n’ont pas pu être supprimés entièrement en raison d’une erreur inconnue.</translation>
</message>
<message>
- <source>Application not running in Package Manager mode!</source>
- <translation>L&apos;application ne fonctionne pas en mode &apos;Gestion des Paquets&apos; !</translation>
+ <source>Application not running in Package Manager mode.</source>
+ <translation>L’application ne s’exécute pas en mode de gestionnaire de paquetages.</translation>
</message>
<message>
<source>No installed packages found.</source>
- <translation>Aucun paquet installé n&apos;a été localisé.</translation>
+ <translation>Aucun paquetage installé n’a été trouvé.</translation>
</message>
<message>
- <source>Application running in Uninstaller mode!</source>
- <translation>L&apos;application fonctionne en mode Désinstallation !</translation>
+ <source>Application running in Uninstaller mode.</source>
+ <translation>L’application s’exécute en mode de désinstallation.</translation>
</message>
<message>
<source>There is an important update available, please run the updater first.</source>
- <translation>Une mise à jour importante est disponible, veuillez l&apos;exécuter en premier.</translation>
+ <translation>Une mise à jour importante est disponible. Exécutez d’abord le programme de mise à jour.</translation>
+ </message>
+ <message>
+ <source>Cannot resolve all dependencies.</source>
+ <translation>Impossible de résoudre toutes les dépendances.</translation>
+ </message>
+ <message>
+ <source>Components about to be removed.</source>
+ <translation>Les composants vont être supprimés.</translation>
</message>
<message>
<source>Error while elevating access rights.</source>
- <translation>Erreur lors de l&apos;élévation des privilèges.</translation>
+ <translation>Erreur lors de l’élévation des droits d’accès.</translation>
+ </message>
+ <message>
+ <source>Error</source>
+ <translation>Erreur</translation>
</message>
<message>
<source>invalid</source>
- <translation>invalide</translation>
+ <translation>non valide</translation>
</message>
</context>
<context>
<name>QInstaller::PackageManagerCorePrivate</name>
<message>
+ <source>Unresolved dependencies</source>
+ <translation>Dépendances non résolues</translation>
+ </message>
+ <message>
<source>Error</source>
<translation>Erreur</translation>
</message>
@@ -1776,11 +1586,11 @@ Téléchargement des paquets...</translation>
</message>
<message>
<source>Format error</source>
- <translation>Erreur de formatage</translation>
+ <translation>Erreur de format</translation>
</message>
<message>
<source>Cannot write installer configuration to %1: %2</source>
- <translation>Impossible d&apos;écrire la configuration de l&apos;installeur vers %1 : %2</translation>
+ <translation>Impossible d’écrire la configuration du programme d’installation dans %1 : %2</translation>
</message>
<message>
<source>Stop Processes</source>
@@ -1790,29 +1600,61 @@ Téléchargement des paquets...</translation>
<source>These processes should be stopped to continue:
%1</source>
- <translation>Les processus suivants devraient être arrêter pour continuer :
+ <translation>Ces processus doivent être arrêtés pour poursuivre :
%1</translation>
</message>
<message>
<source>Installation canceled by user</source>
- <translation>L&apos;installation a été annulée par l&apos;utilisateur</translation>
+ <translation>Installation annulée par l’utilisateur</translation>
+ </message>
+ <message>
+ <source>Writing maintenance tool.</source>
+ <translation>Écriture de l’outil de maintenance.</translation>
+ </message>
+ <message>
+ <source>Failed to seek in file %1: %2</source>
+ <translation>Échec de la recherche dans le fichier %1 : %2</translation>
+ </message>
+ <message>
+ <source>Maintenance tool is not a bundle</source>
+ <translation>L’outil de maintenance n’est pas un groupe</translation>
+ </message>
+ <message>
+ <source>Cannot remove data file &quot;%1&quot;: %2</source>
+ <translation>Impossible de supprimer le fichier de données &quot;%1&quot; : %2</translation>
+ </message>
+ <message>
+ <source>Cannot write maintenance tool data to %1: %2</source>
+ <translation>Impossible d’écrire les données de l’outil de maintenance dans %1 : %2</translation>
+ </message>
+ <message>
+ <source>Cannot write maintenance tool to &quot;%1&quot;: %2</source>
+ <translation>Impossible d’écrire l’outil de maintenance dans %1 : %2</translation>
+ </message>
+ <message>
+ <source>Cannot write maintenance tool binary data to %1: %2</source>
+ <translation>Impossible d’écrire les données binaires de l’outil de maintenance dans %1 : %2</translation>
</message>
<message>
<source>Variable &apos;TargetDir&apos; not set.</source>
- <translation>La variable &apos;TargetDir&apos; n&apos;est pas renseignée.</translation>
+ <translation>Variable &apos;TargetDir&apos; non définie.</translation>
</message>
<message>
<source>Preparing the installation...</source>
- <translation>Préparation de l&apos;installation...</translation>
+ <translation>Préparation de l’installation...</translation>
</message>
<message>
<source>It is not possible to install from network location</source>
- <translation>Il n&apos;est pas possible de procéder à l&apos;installation à partir d&apos;un emplacement réseau</translation>
+ <translation>Installation impossible à partir d’une localisation de réseau</translation>
</message>
<message>
<source>Creating local repository</source>
- <translation>Création du dépôt en local</translation>
+ <translation>Création d’un référentiel local</translation>
+ </message>
+ <message>
+ <source>Creating Maintenance Tool</source>
+ <translation>Création d’un outil de maintenance</translation>
</message>
<message>
<source>
@@ -1828,11 +1670,11 @@ Installation annulée !</translation>
</message>
<message>
<source>It is not possible to run that operation from a network location</source>
- <translation>Il n&apos;est pas possible d&apos;effectuer cette opération à partir d&apos;un emplacement réseau</translation>
+ <translation>Impossible d’exécuter cette opération à partir d’une localisation de réseau</translation>
</message>
<message>
<source>Removing deselected components...</source>
- <translation>Suppression des éléments désélectionnés...</translation>
+ <translation>Suppression des composants désélectionnés...</translation>
</message>
<message>
<source>
@@ -1847,63 +1689,27 @@ Update aborted!</source>
Mise à jour annulée !</translation>
</message>
<message>
- <source>Unresolved dependencies</source>
- <translation>Impossible de résoudre les dépendances</translation>
- </message>
- <message>
- <source>Writing maintenance tool.</source>
- <translation>Écriture de l&apos;Outil de Maintenance.</translation>
- </message>
- <message>
- <source>Failed to seek in file %1: %2</source>
- <translation>Impossible de rechercher dans le fichier %1 : %2</translation>
- </message>
- <message>
- <source>Maintenance tool is not a bundle</source>
- <translation>L&apos;Outil de Maintenance n&apos;est pas un Bundle</translation>
- </message>
- <message>
- <source>Cannot write maintenance tool data to %1: %2</source>
- <translation>Impossible d&apos;écrire les données de l&apos;Outil de Maintenance vers %1 : %2</translation>
- </message>
- <message>
- <source>Cannot remove data file &apos;%1&apos;: %2</source>
- <translation>Impossible de supprimer le fichier &apos;%1&apos; : %2</translation>
- </message>
- <message>
- <source>Cannot write maintenance tool to %1: %2</source>
- <translation>Impossible d&apos;écrire l&apos;Outil de Maintenance vers %1 : %2</translation>
- </message>
- <message>
- <source>Cannot write maintenance tool binary data to %1: %2</source>
- <translation>Impossible d&apos;écrire les données de l&apos;Outil de Maintenance vers %1 : %2</translation>
- </message>
- <message>
- <source>Creating Maintenance Tool</source>
- <translation>Création de l&apos;Outil de Maintenance</translation>
- </message>
- <message>
<source>Uninstallation completed successfully.</source>
- <translation>La désinstallation s&apos;est terminée avec succès.</translation>
+ <translation>La désinstallation a réussi.</translation>
</message>
<message>
<source>Uninstallation aborted.</source>
- <translation>La désinstallation a été annulée.</translation>
+ <translation>Désinstallation abandonnée.</translation>
</message>
<message>
<source>
-Installing component %1...</source>
+Installing component %1</source>
<translation>
-Installation du composant %1...</translation>
+Installation du composant %1</translation>
</message>
<message>
<source>Installer Error</source>
- <translation>Erreur dans l&apos;Installeur</translation>
+ <translation>Erreur du programme d’installation</translation>
</message>
<message>
<source>Error during installation process (%1):
%2</source>
- <translation>Erreur pendant le processus d&apos;installation (%1) :
+ <translation>Une erreur s’est produite au cours de l’installation (%1) :
%2</translation>
</message>
<message>
@@ -1917,75 +1723,75 @@ Installation du composant %1...</translation>
<message>
<source>Error during uninstallation process:
%1</source>
- <translation>Erreur pendant le processus de désinstallation :
+ <translation>Une erreur s’est produite au cours de la désinstallation :
%1</translation>
</message>
<message>
<source>Unknown error</source>
- <translation>Erreur non déterminée</translation>
+ <translation>Erreur inconnue</translation>
</message>
<message>
- <source>Cannot retrieve remote tree: %1.</source>
- <translation>Impossible de récupérer l&apos;arborescence distante : %1.</translation>
+ <source>Cannot retrieve remote tree %1.</source>
+ <translation>Impossible d’extraire l’arborescence distante %1.</translation>
</message>
<message>
- <source>Failure to read packages from: %1.</source>
- <translation>Impossible de lire les paquets à partir de : %1.</translation>
+ <source>Failure to read packages from %1.</source>
+ <translation>Échec de la lecture des paquetages depuis %1.</translation>
</message>
<message>
<source>Cannot retrieve meta information: %1</source>
- <translation>Impossible de récupérer les métadonnées : %1</translation>
+ <translation>Impossible d’extraire les métadonnées : %1</translation>
</message>
<message>
<source>Cannot add temporary update source information.</source>
- <translation>Impossible d&apos;ajouter des information de source de mise à jour temporaire.</translation>
+ <translation>Impossible d’ajouter des informations sur la source de mise à jour temporaire.</translation>
</message>
<message>
<source>Cannot find any update source information.</source>
- <translation>Impossible de trouver des informations de source de mise à jour.</translation>
+ <translation>Informations introuvables sur la source de mise à jour.</translation>
</message>
<message>
- <source>Dependency cycle between components detected: &apos;%1&apos; and &apos;%2&apos;.</source>
- <translation>Dépendance cyclique détectée pour les modules suivants : &apos;%1&apos; et &apos;%2&apos;.</translation>
+ <source>Dependency cycle between components &quot;%1&quot; and &quot;%2&quot; detected.</source>
+ <translation>Cycle de dépendance entre les composants &quot;%1&quot; et &quot;%2&quot; détecté.</translation>
</message>
</context>
<context>
<name>QInstaller::PackageManagerGui</name>
<message>
<source>%1 Setup</source>
- <translation>%1 Installateur</translation>
+ <translation>Installation de %1</translation>
</message>
<message>
<source>Maintain %1</source>
- <translation>Maintenir %1</translation>
+ <translation>Gérer %1</translation>
</message>
<message>
<source>Do you want to cancel the installation process?</source>
- <translation>Êtes-vous sûr de vouloir annuler cette installation ?</translation>
+ <translation>Voulez-vous annuler l’installation ?</translation>
</message>
<message>
<source>Do you want to cancel the uninstallation process?</source>
- <translation>Êtes-vous sûr de vouloir annuler cette désinstallation ?</translation>
+ <translation>Voulez-vous annuler la désinstallation ?</translation>
</message>
<message>
<source>Do you want to quit the installer application?</source>
- <translation>Êtes-vous sûr de vouloir quitter cet assistant d&apos;installation ?</translation>
+ <translation>Voulez-vous quitter le programme d’installation ?</translation>
</message>
<message>
<source>Do you want to quit the uninstaller application?</source>
- <translation>Êtes-vous sûr de vouloir quitter cet assistant de désinstallation ?</translation>
+ <translation>Voulez-vous quitter le programme de désinstallation ?</translation>
</message>
<message>
<source>Do you want to quit the maintenance application?</source>
- <translation>Êtes-vous sûr de vouloir quitter cet outil de maintenance ?</translation>
+ <translation>Voulez-vous quitter l’application de maintenance ?</translation>
</message>
<message>
- <source>Question</source>
- <translation>Question</translation>
+ <source>%1 Question</source>
+ <translation>Question %1</translation>
</message>
<message>
<source>Settings</source>
- <translation>Paramètres</translation>
+ <translation>Réglages</translation>
</message>
<message>
<source>Error</source>
@@ -1994,26 +1800,26 @@ Installation du composant %1...</translation>
<message>
<source>It is not possible to install from network location.
Please copy the installer to a local drive</source>
- <translation>Il n&apos;est possible de procéder à l&apos;installation à partir d&apos;un emplacement réseau.
-Veuillez copier cet installateur sur un disque local</translation>
+ <translation>Installation impossible à partir d’une localisation de réseau.
+Copiez le programme d’installation sur un disque local</translation>
</message>
</context>
<context>
<name>QInstaller::PerformInstallationForm</name>
<message>
<source>&amp;Show Details</source>
- <translation>&amp;Voir le détail</translation>
+ <translation>&amp;Afficher les détails</translation>
</message>
<message>
<source>&amp;Hide Details</source>
- <translation>&amp;Masquer le détail</translation>
+ <translation>&amp;Masquer les détails</translation>
</message>
</context>
<context>
<name>QInstaller::PerformInstallationPage</name>
<message>
<source>U&amp;ninstall</source>
- <translation>&amp;Désinstaller</translation>
+ <translation>Dés&amp;installer</translation>
</message>
<message>
<source>Uninstalling %1</source>
@@ -2021,15 +1827,15 @@ Veuillez copier cet installateur sur un disque local</translation>
</message>
<message>
<source>&amp;Update</source>
- <translation>&amp;Mise à jour</translation>
+ <translation>&amp;Mettre à jour</translation>
</message>
<message>
<source>Updating components of %1</source>
- <translation>Mise à jour du composant %1</translation>
+ <translation>Mise à jour des composants de %1</translation>
</message>
<message>
<source>&amp;Install</source>
- <translation>&amp;Installation</translation>
+ <translation>{&amp;Tahoma8}&amp;Installer</translation>
</message>
<message>
<source>Installing %1</source>
@@ -2040,19 +1846,19 @@ Veuillez copier cet installateur sur un disque local</translation>
<name>QInstaller::ProxyCredentialsDialog</name>
<message>
<source>Dialog</source>
- <translation>Dialog</translation>
+ <translation>Boîte de dialogue</translation>
</message>
<message>
<source>The proxy %1 requires a username and password.</source>
- <translation>Le proxy %1 requiert une authentification par identifiant et mot de passe.</translation>
+ <translation>Le proxy %1 requiert un nom d’utilisateur et un mot de passe.</translation>
</message>
<message>
<source>Username:</source>
- <translation>Identifiant :</translation>
+ <translation>Nom d&apos;utilisateur :</translation>
</message>
<message>
<source>Username</source>
- <translation>Identifiant</translation>
+ <translation>Nom d&apos;utilisateur</translation>
</message>
<message>
<source>Password:</source>
@@ -2062,191 +1868,176 @@ Veuillez copier cet installateur sur un disque local</translation>
<source>Password</source>
<translation>Mot de passe</translation>
</message>
+ <message>
+ <source>Proxy Credentials</source>
+ <translation>Informations d&apos;authentification proxy</translation>
+ </message>
</context>
<context>
<name>QInstaller::ReadyForInstallationPage</name>
<message>
<source>U&amp;ninstall</source>
- <translation>&amp;Désinstaller</translation>
+ <translation>Dés&amp;installer</translation>
</message>
<message>
<source>Ready to Uninstall</source>
- <translation>Prêt à désinstaller</translation>
+ <translation>Prêt pour la désinstallation</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>L&apos;installateur est maintenant prêt à supprimer %1 de votre ordinateur. &lt;br&gt;&lt;font color=&quot;red&quot;&gt;Le répertoire du programme %2 va être complètement supprimé&lt;/font&gt;, en incluant tout le contenu de ce dossier !</translation>
+ <translation>Le programme d’installation est maintenant prêt à supprimer %1 de votre ordinateur.&lt;br&gt;&lt;font color=&quot;red&quot;&gt;Le répertoire du programme %2 va être entièrement supprimé&lt;/font&gt;, y compris tout son contenu !</translation>
</message>
<message>
<source>U&amp;pdate</source>
- <translation>&amp;Mise à jour</translation>
+ <translation>M&amp;ettre à jour</translation>
</message>
<message>
<source>Ready to Update Packages</source>
- <translation>Prêt à mettre à jour les paquets</translation>
+ <translation>Prêt à mettre à jour les paquetages</translation>
</message>
<message>
<source>Setup is now ready to begin updating your installation.</source>
- <translation>L&apos;installateur est prêt à mettre à jour votre installation.</translation>
+ <translation>Le programme d’installation est maintenant prêt à mettre à jour votre installation.</translation>
</message>
<message>
<source>&amp;Install</source>
- <translation>&amp;Installation</translation>
+ <translation>{&amp;Tahoma8}&amp;Installer</translation>
</message>
<message>
<source>Ready to Install</source>
- <translation>Prêt à installer</translation>
+ <translation>Prêt pour l’installation</translation>
</message>
<message>
<source>Setup is now ready to begin installing %1 on your computer.</source>
- <translation>L&apos;installateur est maintenant prêt à effectuer la copie de %1 sur votre ordinateur.</translation>
+ <translation>Le programme d’installation est maintenant prêt à installer %1 sur votre ordinateur.</translation>
</message>
<message>
- <source>Not enough disk space to store temporary files and the installation! Available space: %1, at least required %2.</source>
- <translation>Il n&apos;y a pas assez d&apos;espace disque pour stocker les fichiers temporaires ainsi que le programme ! Espace disponible : %1, nécessite au moins %2.</translation>
+ <source>Not enough disk space to store temporary files and the installation. %1 are available, while %2 are at least required.</source>
+ <translation>L’espace disque est insuffisant pour stocker les fichiers temporaires et l’installation. %1 sont disponibles, alors qu’au moins %2 sont nécessaires.</translation>
</message>
<message>
- <source>Not enough disk space to store all selected components! Available space: %1, at least required: %2.</source>
- <translation>Il n&apos;y a pas assez d&apos;espace disque pour stocker tous les composants sélectionnés ! Espace disponible : %1, nécessite au moins %2.</translation>
+ <source>Not enough disk space to store all selected components! %1 are available while %2 are at least required.</source>
+ <translation>L’espace disque est insuffisant pour stocker tous les composants sélectionnés ! %1 sont disponibles, alors qu’au moins %2 sont nécessaires.</translation>
</message>
<message>
- <source>Not enough disk space to store temporary files! Available space: %1, at least required: %2.</source>
- <translation>Il n&apos;y a pas assez d&apos;espace disque pour stocker les fichiers temporaires ! Espace disponible : %1, nécessite au moins %2.</translation>
+ <source>Not enough disk space to store temporary files! %1 are available while %2 are at least required.</source>
+ <translation>L’espace disque est insuffisant pour stocker les fichiers temporaires ! %1 sont disponibles, alors qu’au moins %2 sont nécessaires.</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>Le volume que vous avez sélectionné pour l&apos;installation semble avoir assez d&apos;espace disponible, mais disposera de moins 1% d&apos;espace libre ensuite. %1</translation>
+ <translation>Le volume sélectionné pour l’installation semble avoir un espace suffisant, mais il restera ensuite moins de 1% de l’espace du volume. %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>Le volume que vous avez sélectionné pour l&apos;installation semble avoir assez d&apos;espace disponible, mais disposera de moins de 100 Mo d&apos;espace libre ensuite. %1</translation>
+ <translation>Le volume sélectionné pour l’installation semble avoir un espace suffisant, mais il restera ensuite moins de 100 Mo. %1</translation>
</message>
<message>
<source>Installation will use %1 of disk space.</source>
- <translation>L&apos;installation va occuper %1 d&apos;espace disque.</translation>
- </message>
- <message>
- <source>Cannot resolve all dependencies.</source>
- <translation>Impossible de résoudre les dépendances.</translation>
- </message>
- <message>
- <source>Components about to be removed.</source>
- <translation>Composants sur le point d&apos;être supprimés.</translation>
+ <translation>L’installation va utiliser %1 de l’espace disque.</translation>
</message>
</context>
<context>
<name>QInstaller::RegisterFileTypeOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Arguments invalides dans %0 : %1 arguments fournis, %2 attendus %3.</translation>
- </message>
- <message>
- <source>2 to 5</source>
- <translation>2 sur 5</translation>
+ <source>&lt;extension&gt; &lt;command&gt; [description [contentType [icon]]]</source>
+ <translation>&lt;extension&gt; &lt;commande&gt; [description [contentType [icon]]]</translation>
</message>
<message>
<source>Registering file types is only supported on Windows.</source>
- <translation>L&apos;association d&apos;une ou plusieurs extensions n&apos;est supporté que sous Windows.</translation>
+ <translation>L’inscription des types de fichiers est uniquement prise en charge sur Windows.</translation>
</message>
<message>
<source>Register File Type: Invalid arguments</source>
- <translation>Engistrement des exensions par défaut : arguments invalides</translation>
+ <translation>Inscrire le type de fichier : arguments non valides</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>Impossible de lire les données après envoi de la commande : %1. Octets attendus : %2, reçus : %3. Erreur : %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>Impossible de lire les données après envoi de la commande : %1. Octets attendus : %2, reçus : %3. Erreur : %4</translation>
+ <translation>Impossible de lire toutes les données après l’envoi de la commande : %1. Octets attendus : %2, octets reçus : %3. Erreur : %4</translation>
</message>
</context>
<context>
<name>QInstaller::ReplaceOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Arguments invalides dans %0 : %1 arguments fournis, %2 attendus %3.</translation>
- </message>
- <message>
- <source>exactly 3</source>
- <translation>exactement 3</translation>
- </message>
- <message>
- <source>Failed to open %1 for reading</source>
- <translation>Impossible d&apos;ouvrir le fichier %1 en lecture</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en lecture : %2</translation>
</message>
<message>
- <source>Failed to open %1 for writing</source>
- <translation>Impossible d&apos;ouvrir le fichier %1 en écriture</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Impossible d’ouvrir le fichier &quot;%1&quot; en écriture : %2</translation>
</message>
</context>
<context>
<name>QInstaller::Resource</name>
<message>
- <source>Cannot open Resource &apos;%1&apos; read-only.</source>
- <translation>Le fichier de ressource &apos;%1&apos; ne peut être ouvert en lecture seule.</translation>
+ <source>Cannot open resource %1 for reading.</source>
+ <translation>Impossible d’ouvrir la ressource %1 en lecture.</translation>
</message>
<message>
<source>Read failed after %1 bytes: %2</source>
- <translation>La lecture a échouée après %1 octets : %2</translation>
+ <translation>Échec de la lecture après %1 octets : %2</translation>
</message>
<message>
<source>Write failed after %1 bytes: %2</source>
- <translation>L&apos;écriture à échoué après %1 octets : %2</translation>
+ <translation>Échec de l’écriture après %1 octets : %2</translation>
</message>
</context>
<context>
<name>QInstaller::RestartPage</name>
<message>
<source>Completing the %1 Setup Wizard</source>
- <translation>Finalisation de l&apos;Assistant d&apos;installation de %1</translation>
+ <translation>Exécution de l’assistant d’installation de %1</translation>
</message>
</context>
<context>
<name>QInstaller::ScriptEngine</name>
<message>
- <source>Cannot open the requested script file at %1: %2.</source>
- <translation>Impossible d&apos;ouvrir le fichier de script requis à %1 : %2.</translation>
+ <source>Cannot open script file at %1: %2</source>
+ <translation>Ouvrir d’ouvrir le fichier de script dans %1 : %2</translation>
+ </message>
+ <message>
+ <source>Exception while loading the component script &quot;%1&quot;: %2</source>
+ <translation>Exception lors du chargement du script du composant &quot;%1&quot; : %2</translation>
+ </message>
+ <message>
+ <source>Unknown error.</source>
+ <translation>Erreur inconnue.</translation>
</message>
<message>
- <source>Exception while loading the component script &apos;%1&apos;. (%2)</source>
- <translation>Exception levée pendant le chargement du composant de script : &apos;%1&apos; (%2)</translation>
+ <source>on line number: </source>
+ <translation>sur le numéro de ligne : </translation>
</message>
</context>
<context>
<name>QInstaller::SelfRestartOperation</name>
<message>
- <source>Installer object needed in &apos;%1&apos; operation is empty.</source>
- <translation>Objet installeur requis dans &apos;%1&apos; l&apos;opération est vide.</translation>
+ <source>Installer object needed in operation %1 is empty.</source>
+ <translation>L’objet du programme d’installation requis dans l’opération %1 est vide.</translation>
</message>
<message>
<source>Self Restart: Only valid within updater or packagemanager mode.</source>
- <translation>Rechargement automatique : valide uniquement dans les modes Mise à jour ou Gestionnaire de paquets.</translation>
+ <translation>Redémarrage automatique : valide uniquement en mode de mise à jour ou de gestionnaire de paquetages.</translation>
</message>
<message>
<source>Self Restart: Invalid arguments</source>
- <translation>Rechargement automatique : arguments invalides</translation>
+ <translation>Redémarrage automatique : arguments non valides</translation>
</message>
</context>
<context>
<name>QInstaller::ServerAuthenticationDialog</name>
<message>
<source>Server Requires Authentication</source>
- <translation>Le serveur requiert une authentification</translation>
+ <translation>Le serveur doit être authentifié</translation>
</message>
<message>
<source>You need to supply a username and password to access this site.</source>
- <translation>Vous devez saisir un identifiant et un mot de passe pour accéder à ce site.</translation>
+ <translation>Vous devez fournir un nom d’utilisateur et un mot de passe pour accéder au site.</translation>
</message>
<message>
<source>Username:</source>
- <translation>Identifiant :</translation>
+ <translation>Nom d&apos;utilisateur :</translation>
</message>
<message>
<source>Password:</source>
@@ -2254,192 +2045,201 @@ Veuillez copier cet installateur sur un disque local</translation>
</message>
<message>
<source>%1 at %2</source>
- <translation>%1 à %2</translation>
+ <translation>%1 sur %2</translation>
</message>
</context>
<context>
<name>QInstaller::SettingsOperation</name>
<message>
- <source>Missing argument(s) &apos;%1&apos; calling &apos;%2&apos; with arguments &apos;%3&apos;.</source>
- <translation>Argument(s) manquant(s) : &apos;%1&apos; appelle &apos;%2&apos; avec les arguments &apos;%3&apos;.</translation>
+ <source>Missing argument(s) &quot;%1&quot; calling %2 with arguments &quot;%3&quot;.</source>
+ <translation>Argument(s) manquant(s) &quot;%1&quot;, appel de %2 avec les arguments &quot;%3&quot;.</translation>
</message>
<message>
- <source>Current method argument calling &apos;%1&apos; with arguments &apos;%2&apos; is not supported. Please use set, remove, add_array_value or remove_array_value.</source>
- <translation>Méthode actuelle appelant &apos;%1&apos; avec les arguments &apos;%2&apos; n&apos;est pas supporté. Veuillez utiliser &apos;set&apos;, &apos;remove&apos;, &apos;add_array_value&apos; ou &apos;remove_array_value&apos;.</translation>
+ <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>L’argument de la méthode actuelle qui appelle &quot;%1&quot; avec les arguments &quot;%2&quot; n’est pas pris en charge. Utilisez la propriété set, remove, add_array_value ou remove_array_value.</translation>
</message>
</context>
<context>
<name>QInstaller::SimpleMoveFileOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Arguments invalides dans %0 : %1 arguments fournis, %2 attendus %3.</translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation>exactement 2</translation>
+ <source>None of the arguments can be empty: source &quot;%1&quot;, target &quot;%2&quot;.</source>
+ <translation>Aucun des arguments ne peut être vide : source &quot;%1&quot;, cible &quot;%2&quot;.</translation>
</message>
<message>
- <source>None of the arguments can be empty: source &apos;%1&apos;, target &apos;%2&apos;.</source>
- <translation>Aucun des arguments fournis ne peut être vide : source &apos;%1&apos;, destination &apos;%2&apos;.</translation>
+ <source>Cannot move file from &quot;%1&quot; to &quot;%2&quot;, because the target path exists and is not removable.</source>
+ <translation>Impossible de déplacer le fichier de &quot;%1&quot; vers &quot;%2&quot; car le chemin cible existe et ne peut pas être supprimé.</translation>
</message>
<message>
- <source>Cannot move source &apos;%1&apos; to target &apos;%2&apos;, because target exists and is not removable.</source>
- <translation>Impossible de déplacer la source &apos;%1&apos; vers la cible &apos;%2&apos;, car la destination existe et ne peut être supprimée.</translation>
+ <source>Cannot move file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Impossible de déplacer le fichier &quot;%1&quot; vers &quot;%2&quot; : %3</translation>
</message>
<message>
- <source>Cannot move source &apos;%1&apos; to target &apos;%2&apos;: %3</source>
- <translation>Impossible de déplacer la source &apos;%1&apos; vers la cible &apos;%2&apos; : %3</translation>
- </message>
- <message>
- <source>Move &apos;%1&apos; to &apos;%2&apos;.</source>
- <translation>Déplacement de &apos;%1&apos; vers &apos;%2&apos;.</translation>
+ <source>Moving file &quot;%1&quot; to &quot;%2&quot;.</source>
+ <translation>Déplacement du fichier &quot;%1&quot; vers &quot;%2&quot;</translation>
</message>
</context>
<context>
<name>QInstaller::StartMenuDirectoryPage</name>
<message>
<source>Start Menu shortcuts</source>
- <translation>Raccourcis du Menu Démarrer</translation>
+ <translation>Raccourcis du menu Démarrer</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>Sélectionnez l&apos;endroit dans le Menu Démarrer où vous souhaitez placer un raccourci. Vous pouvez également saisir un nom ou créer un nouveau dossier.</translation>
+ <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>Sélectionnez le menu Démarrer dans lequel créer les raccourcis du programme. Vous pouvez également saisir un nom pour créer un nouveau répertoire.</translation>
</message>
</context>
<context>
<name>QInstaller::TargetDirectoryPage</name>
<message>
<source>Installation Folder</source>
- <translation>Dossier d&apos;installation</translation>
+ <translation>Dossier d’installation</translation>
</message>
<message>
- <source>Please specify the folder where %1 will be installed.</source>
- <translation>Veuillez indiquer le dossier où %1 sera installé.</translation>
+ <source>Please specify the directory where %1 will be installed.</source>
+ <translation>Spécifiez le répertoire dans lequel %1 va être installé.</translation>
</message>
<message>
<source>Alt+R</source>
<comment>browse file system to choose a file</comment>
- <translatorcomment>Naviguer dans l&apos;explorateur de fichier pour sélectionner un fichier</translatorcomment>
<translation>Alt+R</translation>
</message>
<message>
<source>B&amp;rowse...</source>
- <translation>&amp;Parcourir...</translation>
+ <translation>P&amp;arcourir...</translation>
</message>
<message>
- <source>The folder you selected already exists and contains an installation. Choose a different target for installation.</source>
- <translation>Le dossier que vous avez sélectionné existe déjà et contient une installation précédente.Veuillez choisir une cible différente pour l&apos;installation.</translation>
+ <source>The directory you selected already exists and contains an installation. Choose a different target for installation.</source>
+ <translation>Le répertoire sélectionné existe déjà et contient une installation. Choisissez une autre cible pour l’installation.</translation>
</message>
<message>
- <source>You have selected an existing, non-empty folder for installation.
+ <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 folder as installation might fail.
+It is not advisable to install into this directory as installation might fail.
Do you want to continue?</source>
- <translation>Vous avez sélectionné un dossier existant et non-vide pour cette installation.
-Veuillez prendre note qu&apos;il sera complètement supprimé lors de la désinstallation de cette application.
-Il est déconseillé d&apos;installer dans ce dossier dans le cas où l&apos;installation échouerait.
-Êtes-vous sûr de vouloir continuer ?</translation>
+ <translation>Vous avez sélectionné un répertoire existant et non vide pour l’installation.
+Notez qu’il va être entièrement effacé lors de la désinstallation de l’application.
+Il n’est pas conseillé d’effectuer l’installation dans ce répertoire car elle risque d’échouer.
+Souhaitez-vous continuer ?</translation>
</message>
<message>
<source>You have selected an existing file or symlink, please choose a different target for installation.</source>
- <translation>Vous avez sélectionné un fichier ou lien symbolique existant, veuillez choisir une cible différente pour l&apos;installation.</translation>
+ <translation>Vous avez sélectionné un fichier ou lien symbolique existant. Choisissez une autre cible pour l’installation.</translation>
</message>
<message>
- <source>The installation path cannot be empty, please specify a valid folder.</source>
- <translation>Le chemin d&apos;installation ne peut être vide, veuillez indiquer un dossier valide.</translation>
+ <source>Select Installation Folder</source>
+ <translation>Sélectionner le dossier d’installation</translation>
+ </message>
+ <message>
+ <source>The installation path cannot be empty, please specify a valid directory.</source>
+ <translation>Le chemin d’installation ne peut pas être vide. Spécifiez un répertoire valide.</translation>
</message>
<message>
<source>The installation path cannot be relative, please specify an absolute path.</source>
- <translation>Le chemin d&apos;installation ne peut être relatif, veuillez indiquer un chemin absolu.</translation>
+ <translation>Le chemin d’installation ne peut pas être relatif. Spécifiez un chemin absolu.</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>Le chemin ou le dossier d&apos;installation contient des caractères non ASCII. Ceci n&apos;est pas supporté à l&apos;heure actuelle ! Veuillez choisir un chemin différent ou un autre dossier d&apos;installation.</translation>
+ <translation>Le chemin d’accès ou le répertoire d’installation contient des caractères autres qu’ASCII. Cette opération n’est actuellement pas prise en charge ! Choisissez un autre chemin d’accès ou répertoire d’installation.</translation>
</message>
<message>
<source>As the install directory is completely deleted, installing in %1 is forbidden.</source>
- <translation>Étant donné que le dossier d&apos;installation est complement supprimé, il est interdit d&apos;installer dans %1.</translation>
+ <translation>Comme le répertoire d’installation est entièrement supprimé, l’installation de %1 est interdite.</translation>
</message>
<message>
<source>The path you have entered is too long, please make sure to specify a valid path.</source>
- <translation>Le chemin que vous avez entré est trop long, veuillez vous assurer d&apos;entrer un chemin valide.</translation>
+ <translation>Le chemin d’accès que vous avez saisi est trop long. Spécifiez un chemin valide.</translation>
</message>
<message>
<source>The path you have entered is not valid, please make sure to specify a valid target.</source>
- <translation>Le chemin que vous avez entré est incorrect, veuillez vous assurer de choisir une cible valide.</translation>
+ <translation>Le chemin d’accès que vous avez saisi n’est pas valide. Spécifiez une cible valide.</translation>
</message>
<message>
<source>The path you have entered is not valid, please make sure to specify a valid drive.</source>
- <translation>Le chemin que vous avez entré est incorrect, veuillez vous assurer de choisir un lecteur valide.</translation>
- </message>
- <message>
- <source>The installation path must not end with &apos;.&apos;, please specify a valid folder.</source>
- <translation>Le chemin d&apos;installation ne peut pas contenir &apos;.&apos;, veuillez entrer un dossier valide.</translation>
+ <translation>Le chemin d’accès que vous avez saisi n’est pas valide. Spécifiez un disque valide.</translation>
</message>
<message>
- <source>The installation path must not contain &apos;%1&apos;, please specify a valid folder.</source>
- <translation>Le chemin d&apos;installation ne peut pas contenir %1, veuillez entrer un dossier valide.</translation>
+ <source>The installation path must not end with &apos;.&apos;, please specify a valid directory.</source>
+ <translation>Le chemin d’installation ne doit pas se terminer par &apos;.&apos;. Spécifiez un répertoire valide.</translation>
</message>
<message>
- <source>Error</source>
- <translation>Erreur</translation>
+ <source>The installation path must not contain &quot;%1&quot;, please specify a valid directory.</source>
+ <translation>Le chemin d’installation ne doit pas contenir &quot;%1&quot;. Spécifiez un répertoire valide.</translation>
</message>
<message>
<source>Warning</source>
- <translation>Attention</translation>
+ <translation>Avertissement</translation>
</message>
<message>
- <source>Select Installation Folder</source>
- <translation>Sélectionnez le dossier d&apos;installation</translation>
+ <source>Error</source>
+ <translation>Erreur</translation>
</message>
</context>
<context>
<name>QInstaller::TestRepository</name>
<message>
+ <source>Missing package manager core engine.</source>
+ <translation>Moteur principal du gestionnaire de paquetages manquant.</translation>
+ </message>
+ <message>
<source>Empty repository URL.</source>
- <translation>L&apos;URL du dépôt est vide.</translation>
+ <translation>URL du référentiel vide.</translation>
+ </message>
+ <message>
+ <source>Download canceled.</source>
+ <translation>Téléchargement annulé.</translation>
</message>
<message>
- <source>URL scheme not supported: %1 (%2).</source>
- <translation>Format d&apos;URL non supporté : %1 (%2).</translation>
+ <source>Timeout while testing repository &quot;%1&quot;.</source>
+ <translation>Expiration lors du test du référentiel &quot;%1&quot;.</translation>
</message>
<message>
- <source>Got a timeout while testing: &apos;%1&apos;</source>
- <translation>Délai d&apos;attente dépassé pendant le test de : &apos;%1&apos;</translation>
+ <source>Cannot parse Updates.xml: %1</source>
+ <translation>Impossible d’analyser Updates.xml : %1</translation>
</message>
<message>
- <source>Cannot parse Updates.xml! Error: %1.</source>
- <translation>Impossible d&apos;analyser &apos;Updates.xml&apos;. Erreur : %1.</translation>
+ <source>Cannot open Updates.xml for reading: %1</source>
+ <translation>Impossible d’ouvrir Updates.xml en lecture : %1</translation>
</message>
<message>
- <source>Updates.xml could not be opened for reading!</source>
- <translation>Impossible d&apos;ouvrir &apos;Updates.xml&apos; en lecture !</translation>
+ <source>Authentication failed.</source>
+ <translation>L’authentification a échoué.</translation>
</message>
<message>
- <source>Updates.xml could not be found on server!</source>
- <translation>Impossible d&apos;ouvrir &apos;Updates.xml&apos; sur le serveur !</translation>
+ <source>Unknown error while testing repository &quot;%1&quot;.</source>
+ <translation>Erreur inconnue lors du test du référentiel &quot;%1&quot;.</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<source>Authorization required</source>
- <translation>Authentification requise</translation>
+ <translation>Autorisation requise</translation>
</message>
<message>
<source>Enter your password to authorize for sudo:</source>
- <translation>Entrez votre mot de passe pour authentifier &apos;sudo&apos; :</translation>
+ <translation>Saisissez votre mot de passe pour autoriser sudo :</translation>
</message>
<message>
<source>Error acquiring admin rights</source>
- <translation>Erreur lors de l&apos;acquisition des droits admin</translation>
+ <translation>Erreur d’acquisition des droits d’administrateur</translation>
</message>
</context>
<context>
<name>RemoteClient</name>
<message>
<source>Cannot get authorization.</source>
- <translation>Impossible d&apos;obtenir les autorisations nécessaires.</translation>
+ <translation>Impossible d’obtenir l’autorisation.</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>Impossible d’obtenir l’autorisation requise pour poursuivre l’installation.
+
+Démarrez le programme d’installation en tant qu’utilisateur doté des droits appropriés.
+Ou acceptez l’élévation des droits d’accès si un message vous y invite.</translation>
</message>
<message>
<source>Cannot get authorization that is needed for continuing the installation.
@@ -2447,34 +2247,34 @@ Il est déconseillé d&apos;installer dans ce dossier dans le cas où l&apos;ins
%1
-as root and then clicking OK.</source>
- <translation>Impossible d&apos;obtenir les autorisations nécessaires pour continuer cette installation.
-Vous avez la possibilité d&apos;annuler cette installation ou de trouver une solution de repli en lançant
+as a user with the appropriate rights and then clicking OK.</source>
+ <translation>Impossible d’obtenir l’autorisation requise pour poursuivre l’installation.
+Annulez l’installation ou utilisez la solution de secours en exécutant
%1
-en tant que root et en cliquant sur OK.</translation>
+en tant qu’utilisateur doté des droits appropriés, puis cliquez sur OK.</translation>
</message>
</context>
<context>
<name>ResourceCollectionManager</name>
<message>
<source>Cannot open resource %1: %2</source>
- <translation>Impossible d&apos;ouvrir la ressource %1 : %2</translation>
+ <translation>Impossible d’ouvrir la ressource %1 : %2</translation>
</message>
</context>
<context>
<name>Settings</name>
<message>
<source>Cannot open settings file %1 for reading: %2</source>
- <translation>Impossible d&apos;ouvrir le fichier de préférences %1 en lecture : %2</translation>
+ <translation>Impossible d’ouvrir le fichier de paramètres %1 en lecture : %2</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<source>Settings</source>
- <translation>Paramètres</translation>
+ <translation>Réglages</translation>
</message>
<message>
<source>Network</source>
@@ -2482,15 +2282,15 @@ en tant que root et en cliquant sur OK.</translation>
</message>
<message>
<source>No proxy</source>
- <translation>Pas de serveur mandataire</translation>
+ <translation>Aucun proxy</translation>
</message>
<message>
<source>System proxy settings</source>
- <translation>Paramètres du serveur mandataire système</translation>
+ <translation>Paramètres proxy du système</translation>
</message>
<message>
<source>Manual proxy configuration</source>
- <translation>Configuration manuelle du serveur mandataire</translation>
+ <translation>Configuration manuelle du proxy</translation>
</message>
<message>
<source>HTTP proxy:</source>
@@ -2506,15 +2306,15 @@ en tant que root et en cliquant sur OK.</translation>
</message>
<message>
<source>Repositories</source>
- <translation>Dépôts</translation>
+ <translation>Référentiels</translation>
</message>
<message>
<source>Add Username and Password for authentication if needed.</source>
- <translation>Si nécessaire, ajouter l&apos;identifiant et le mot de passe pour l&apos;authentification.</translation>
+ <translation>Ajoutez un nom d’utilisateur et un mot de passe pour l’authentification si cela est nécessaire.</translation>
</message>
<message>
<source>Use temporary repositories only</source>
- <translation>Utiliser des dépôts temporaires uniquement</translation>
+ <translation>Utiliser des référentiels temporaires uniquement</translation>
</message>
<message>
<source>Add</source>
@@ -2522,39 +2322,47 @@ en tant que root et en cliquant sur OK.</translation>
</message>
<message>
<source>Remove</source>
- <translation>Supprimer</translation>
+ <translation>Retirer</translation>
</message>
<message>
<source>Test</source>
- <translation>Test</translation>
+ <translation>Tester</translation>
</message>
<message>
<source>Show Passwords</source>
- <translation>Montrer les mots de passe</translation>
+ <translation>Afficher les mots de passe</translation>
</message>
<message>
<source>Check this to use repository during fetch.</source>
- <translation>Cocher pour utiliser les dépôts pendant la récupération.</translation>
+ <translation>Cochez cette case pour utiliser le référentiel au cours de l’extraction.</translation>
</message>
<message>
<source>Add the username to authenticate on the server.</source>
- <translation>Ajouter l&apos;identifiant pour l&apos;authentification sur le serveur.</translation>
+ <translation>Ajoutez le nom d’utilisateur à authentifier sur le serveur.</translation>
</message>
<message>
<source>Add the password to authenticate on the server.</source>
- <translation>Ajouter le mot de passe pour l&apos;authentification sur le serveur.</translation>
+ <translation>Ajoutez le mot de passe à authentifier sur le serveur.</translation>
</message>
<message>
<source>The servers URL that contains a valid repository.</source>
- <translation>Liste des URL des serveurs contenant des dépôts valides.</translation>
+ <translation>L’URL des serveurs qui contient un référentiel valide.</translation>
+ </message>
+ <message>
+ <source>An error occurred while testing this repository.</source>
+ <translation>Une erreur s’est produite pendant le test du référentiel.</translation>
+ </message>
+ <message>
+ <source>The repository was tested successfully.</source>
+ <translation>Le test du référentiel a réussi.</translation>
</message>
<message>
- <source>There was an error testing this repository.</source>
- <translation>Une erreur s&apos;est produite pendant le test de ce dépôt.</translation>
+ <source>Do you want to disable the repository?</source>
+ <translation>Voulez-vous désactiver le référentiel ?</translation>
</message>
<message>
- <source>Do you want to disable the tested repository?</source>
- <translation>Êtes-vous sûr de vouloir désactiver le dépôt testé ?</translation>
+ <source>Do you want to enable the repository?</source>
+ <translation>Voulez-vous activer le référentiel ?</translation>
</message>
<message>
<source>Hide Passwords</source>
@@ -2562,11 +2370,11 @@ en tant que root et en cliquant sur OK.</translation>
</message>
<message>
<source>Use</source>
- <translation>Utiliser</translation>
+ <translation>Utilisation</translation>
</message>
<message>
<source>Username</source>
- <translation>Identifiant</translation>
+ <translation>Nom d&apos;utilisateur</translation>
</message>
<message>
<source>Password</source>
@@ -2574,34 +2382,66 @@ en tant que root et en cliquant sur OK.</translation>
</message>
<message>
<source>Repository</source>
- <translation>Dépôt</translation>
+ <translation>Référentiel</translation>
</message>
<message>
<source>Default repositories</source>
- <translation>Dépôts par défaut</translation>
+ <translation>Référentiels par défaut</translation>
</message>
<message>
<source>Temporary repositories</source>
- <translation>Dépôts temporaires</translation>
+ <translation>Référentiels temporaires</translation>
</message>
<message>
<source>User defined repositories</source>
- <translation>Dépôts définis par l&apos;utilisateur</translation>
+ <translation>Référentiels définis par l’utilisateur</translation>
</message>
</context>
<context>
<name>UpdateOperation</name>
<message>
- <source>Registry path %1 is not writable</source>
- <translation>Le chemin du registre %1 n&apos;est pas accessible en écriture</translation>
+ <source>Cannot write to registry path %1.</source>
+ <translation>Impossible d’écrire dans le chemin de registre %1.</translation>
+ </message>
+ <message>
+ <source>Registry path %1 is not writable.</source>
+ <translation>Le chemin de registre %1 n’est pas accessible en écriture.</translation>
+ </message>
+ <message>
+ <source>exactly %1</source>
+ <translation>exactement %1</translation>
+ </message>
+ <message>
+ <source>at least %1</source>
+ <translation>au moins %1</translation>
</message>
<message>
- <source>Cannot write to registry path %1</source>
- <translation>Impossible d&apos;écrire dans le registre le chemin %1</translation>
+ <source>not more than %1</source>
+ <translation>pas plus de %1</translation>
+ </message>
+ <message>
+ <source>%1 or %2</source>
+ <translation>%1 ou %2</translation>
+ </message>
+ <message>
+ <source>%1 to %2</source>
+ <translation>%1 vers %2</translation>
+ </message>
+ <message numerus="yes">
+ <source>Invalid arguments in %1: %n arguments given, %2 arguments expected.</source>
+ <translation>
+ <numerusform>Arguments non valides dans %1 : %n arguments fournis, %2 arguments attendus.</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>Invalid arguments in %1: %n arguments given, %2 arguments expected in the form: %3.</source>
+ <translation>
+ <numerusform>Arguments non valides dans %1 : %n arguments fournis, %2 arguments attendus dans le formulaire : %3.</numerusform>
+ </translation>
</message>
<message>
- <source>Renaming %1 into %2 failed with %3.</source>
- <translation>Échec du renommage de %1 vers %2, raison : %3.</translation>
+ <source>Renaming file &quot;%1&quot; to &quot;%2&quot; failed: %3</source>
+ <translation>Le changement de nom du fichier &quot;%1&quot; en &quot;%2&quot; a échoué : %3</translation>
</message>
</context>
</TS>
diff --git a/src/sdk/translations/ifw_it.ts b/src/sdk/translations/ifw_it.ts
index 7deb5f548..a35a2c7eb 100644
--- a/src/sdk/translations/ifw_it.ts
+++ b/src/sdk/translations/ifw_it.ts
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.1" language="it_IT">
+<TS version="2.1">
<context>
<name>AuthenticationRequiredException</name>
<message>
@@ -16,41 +16,41 @@
<name>BinaryContent</name>
<message>
<source>Cannot seek to %1 to read the operation data.</source>
- <translation>Impossibile spostarsi alla posizione %1 per leggere i dati di funzionamento.</translation>
+ <translation>Impossibile cercare in %1 per leggere i dati dell&apos;operazione.</translation>
</message>
<message>
<source>Cannot seek to %1 to read the resource collection block.</source>
- <translation>Impossibile spostarsi alla posizione %1 per leggere il blocco con le risorse.</translation>
+ <translation>Impossibile cercare in %1 per leggere il blocco raccolta risorse.</translation>
</message>
<message>
- <source>Cannot open meta resource. Error: %1</source>
- <translation>Impossibile aprire i meta pacchetti.Errore: %1</translation>
+ <source>Cannot open meta resource %1.</source>
+ <translation>Impossibile aprire risorsa metadati %1.</translation>
</message>
</context>
<context>
<name>BinaryLayout</name>
<message>
<source>Cannot seek to %1 to read the embedded meta data count.</source>
- <translation>Impossibile eseguire il seek a %1 per leggere il conteggio dei meta dati embedded.</translation>
+ <translation>Impossibile cercare in %1 per leggere il conteggio metadati incorporato.</translation>
</message>
<message>
<source>Cannot seek to %1 to read the resource collection segment.</source>
- <translation></translation>
+ <translation>Impossibile cercare in %1 per leggere il segmento raccolta risorse.</translation>
</message>
<message>
<source>Unexpected mismatch of meta resources. Read %1, expected: %2.</source>
- <translation>Non corrispondenza dei meta dati. Letti %1, aspettati: %2.</translation>
+ <translation>Imprevista incongruenza delle risorse metadati. Letto %1, previsto: %2.</translation>
</message>
</context>
<context>
<name>Dialog</name>
<message>
<source>Http authentication required</source>
- <translation>Richiesta autentificazione HTTP</translation>
+ <translation>Richiesta autenticazione http</translation>
</message>
<message>
<source>You need to supply a Username and Password to access this site.</source>
- <translation>E&apos; necessario fornire un nome utente e una password per accedere a questo sito.</translation>
+ <translation>È necessario fornire un nome utente e una password per accedere a questo sito.</translation>
</message>
<message>
<source>Username:</source>
@@ -58,7 +58,7 @@
</message>
<message>
<source>Password:</source>
- <translation></translation>
+ <translation>Password:</translation>
</message>
<message>
<source>%1 at %2</source>
@@ -68,39 +68,50 @@
<context>
<name>DirectoryGuard</name>
<message>
- <source>Path exists but is not a folder: %1</source>
- <translation>Il percorso esiste ma non è una cartella: %1</translation>
+ <source>Path &quot;%1&quot; exists but is not a directory.</source>
+ <translation>Il percorso &quot;%1&quot; esiste ma non è una directory.</translation>
</message>
<message>
- <source>Cannot create folder: %1</source>
- <translation>Impossibile creare la cartella: %1</translation>
+ <source>Cannot create directory &quot;%1&quot;.</source>
+ <translation>Impossibile creare la directory &quot;%1&quot;.</translation>
</message>
</context>
<context>
<name>ExtractCallbackImpl</name>
<message>
- <source>Cannot retrieve path of archive item %1</source>
- <translation>Impossibile recuperare il path dell&apos;elemento dell&apos;archivio %1</translation>
+ <source>Cannot retrieve path of archive item %1.</source>
+ <translation>Impossibile recuperare il percorso dell&apos;elemento dell’archivio %1.</translation>
</message>
<message>
- <source>Cannot remove already existing symlink. %1</source>
- <translation>Impossibile rimuovere il collegamento già esistente. %1</translation>
+ <source>Cannot remove already existing symlink %1.</source>
+ <translation>Impossibile rimuovere collegamento simbolico già esistente %1.</translation>
</message>
<message>
- <source>Cannot open file: %1 (%2)</source>
- <translation>Impossibile aprire il file: %1 (%2)</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la scrittura: %2</translation>
</message>
<message>
- <source>Cannot create symlink at &apos;%1&apos;. Another one is already existing.</source>
- <translation>Impossibile creare il collegamento a &apos;%1&apos;. Un altro collegamento è già esistente.</translation>
+ <source>Cannot create symlink at &quot;%1&quot;. Another one is already existing.</source>
+ <translation>Impossibile creare collegamento simbolico in &quot;%1&quot;. Un altro è già presente.</translation>
</message>
<message>
- <source>Cannot read symlink target from file &apos;%1&apos;.</source>
- <translation>Impossibile leggere dal file %1 puntato dal collegamento.</translation>
+ <source>Cannot read symlink target from file &quot;%1&quot;.</source>
+ <translation>Impossibile leggere la destinazione del collegamento simbolico dal file &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot create symlink at %1. %2</source>
- <translation>Impossibile creare il collegamento a %1. %2</translation>
+ <source>Cannot create symlink at %1: %2</source>
+ <translation>Impossibile creare collegamento simbolico in %1: %2</translation>
+ </message>
+</context>
+<context>
+ <name>InstallerBase</name>
+ <message>
+ <source>Waiting for %1</source>
+ <translation>In attesa di %1</translation>
+ </message>
+ <message>
+ <source>Another %1 instance is already running. Wait until it finishes, close it, or restart your system.</source>
+ <translation>Un&apos;altra istanza di %1 è già in esecuzione. Attendere fino al termine, chiuderla o riavviare il sistema.</translation>
</message>
</context>
<context>
@@ -110,24 +121,24 @@
<translation>Componenti aggiunti come dipendenze automatiche:</translation>
</message>
<message>
- <source>Components added as dependency for &apos;%1&apos;:</source>
- <translation>Componenti aggiunti come dipendenza per &apos;%1&apos;:</translation>
+ <source>Components added as dependency for &quot;%1&quot;:</source>
+ <translation>Componenti aggiunti come dipendenza per &quot;%1&quot;:</translation>
</message>
<message>
<source>Components that have resolved dependencies:</source>
- <translation>Componenti che hanno le dipendenze risolte:</translation>
+ <translation>Componenti che hanno dipendenza risolte:</translation>
</message>
<message>
<source>Selected components without dependencies:</source>
<translation>Componenti selezionati senza dipendenze:</translation>
</message>
<message>
- <source>Recursion detected, component &apos;%1&apos; already added with reason: &apos;%2&apos;</source>
- <translation>Rilevata ricorsione, componente &apos;%1&apos; già aggiunto per questo motivo: &apos;%2&apos;</translation>
+ <source>Recursion detected, component &quot;%1&quot; already added with reason: &quot;%2&quot;</source>
+ <translation>Rilevata ricorsione, componente &quot;%1&quot; già aggiunto con motivo: &quot;%2&quot;</translation>
</message>
<message>
- <source>Cannot find missing dependency &apos;%1&apos; for &apos;%2&apos;.</source>
- <translation>Impossibile trovare la dipendenza mancante &apos;%1&apos; per &apos;%2&apos;.</translation>
+ <source>Cannot find missing dependency &quot;%1&quot; for &quot;%2&quot;.</source>
+ <translation>Impossibile trovare la dipendenza mancante &quot;%1&quot; per &quot;%2&quot;.</translation>
</message>
</context>
<context>
@@ -138,114 +149,79 @@
</message>
</context>
<context>
- <name>LockFile</name>
- <message>
- <source>Cannot create lock file &apos;%1&apos;: %2</source>
- <translation>Impossibile creare il file &apos;%1&apos;: %2</translation>
- </message>
- <message>
- <source>Cannot write PID to lock file &apos;%1&apos;: %2</source>
- <translation>Impossibile scrivere il PID nel file lockkato &apos;%1&apos;: %2</translation>
- </message>
- <message>
- <source>Cannot obtain the lock for file &apos;%1&apos;: %2</source>
- <translation>Impossibile ottenere il lock del file &apos;%1&apos;: %2</translation>
- </message>
- <message>
- <source>Cannot release the lock for file &apos;%1&apos;: %2</source>
- <translation>Impossibile rilasciare il lock del file &apos;%1&apos;: %2</translation>
- </message>
-</context>
-<context>
<name>KDUpdater::AppendFileOperation</name>
<message>
- <source>Cannot backup file %1: %2</source>
- <translation>Impossibile eseguire il backup di %1: %2</translation>
+ <source>Cannot backup file &quot;%1&quot;: %2</source>
+ <translation>Impossibile eseguire il backup del file &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argomenti invalidi in %0: forniti %1, %2 richiesti %3.</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la scrittura: %2</translation>
</message>
<message>
- <source>exactly 2</source>
- <translation>esattamente 2</translation>
+ <source>Cannot find backup file for &quot;%1&quot;.</source>
+ <translation>Impossibile trovare il file di backup per &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot open file &apos;%1&apos; for writing: %2</source>
- <translation>Impossibile aprire il file %1 in scrittura: %2</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;.</source>
+ <translation>Impossibile ripristinare il file di backup per &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot find backup file for %1.</source>
- <translation>Impossibile trovare il file di backup per %1.</translation>
- </message>
- <message>
- <source>Cannot restore backup file for %1.</source>
- <translation>Impossibile ripristinare il file di backup per %1.</translation>
- </message>
- <message>
- <source>Cannot restore backup file for %1: %2</source>
- <translation>Impossibile ripristinare il file di backup per %1: %2</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;: %2</source>
+ <translation>Impossibile ripristinare il file di backup per &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>KDUpdater::CopyOperation</name>
<message>
- <source>Cannot backup file %1.</source>
- <translation>Impossibile eseguire il backup del file %1.</translation>
- </message>
- <message>
- <source>Invalid arguments: %1 arguments given, 2 expected.</source>
- <translation>Argomenti invalidi: argomenti forniti %1, richiesti 2.</translation>
+ <source>Cannot backup file &quot;%1&quot;.</source>
+ <translation>Impossibile eseguire il backup del file &quot;%1&quot;.</translation>
</message>
<message>
<source>Cannot copy a non-existent file: %1</source>
<translation>Impossibile copiare un file non esistente: %1</translation>
</message>
<message>
- <source>Cannot remove destination file %1: %2</source>
- <translation>Impossibile rimuovere il file di destinazione %1: %2</translation>
+ <source>Cannot remove file &quot;%1&quot;: %2</source>
+ <translation>Impossibile rimuovere il file &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot copy %1 to %2: %3</source>
- <translation>Impossibile copiare %1 in %2: %3</translation>
+ <source>Cannot copy file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Impossibile copiare il file da &quot;%1&quot; a &quot;%2&quot;: %3</translation>
</message>
<message>
- <source>Cannot delete file %1: %2</source>
- <translation>Impossibile eliminare il file %1: %2</translation>
+ <source>Cannot delete file &quot;%1&quot;: %2</source>
+ <translation>Impossibile eliminare il file &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot restore backup file into %1: %2</source>
- <translation>Impossibile ripristinare il file di backup in %1: %2</translation>
+ <source>Cannot restore backup file into &quot;%1&quot;: %2</source>
+ <translation>Impossibile ripristinare il file di backup in &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>KDUpdater::DeleteOperation</name>
<message>
- <source>Cannot create backup of %1: %2</source>
- <translation>Impossibile creare il backup di %1: %2</translation>
+ <source>Cannot create backup of file &quot;%1&quot;: %2</source>
+ <translation>Impossibile creare il backup del file &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Invalid arguments: %1 arguments given, 1 expected.</source>
- <translation>Argomenti invalidi: argomenti forniti %1, richiesti 1.</translation>
- </message>
- <message>
- <source>Cannot restore backup file for %1: %2</source>
- <translation>Impossibile ripristinare il file di backup %1: %2</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;: %2</source>
+ <translation>Impossibile ripristinare il file di backup per &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>KDUpdater::FileDownloader</name>
<message>
- <source>Download canceled.</source>
- <translation>Download annullato.</translation>
+ <source>Download finished.</source>
+ <translation>Download completato.</translation>
</message>
<message>
<source>Cryptographic hashes do not match.</source>
- <translation>Cryptographic hashes non corrispondono.</translation>
+ <translation>Gli hash di crittografia non corrispondono.</translation>
</message>
<message>
- <source>Download finished.</source>
- <translation>Download finito.</translation>
+ <source>Download canceled.</source>
+ <translation>Download annullato.</translation>
</message>
<message>
<source>%1 of %2</source>
@@ -253,43 +229,39 @@
</message>
<message>
<source>%1 downloaded.</source>
- <translation>%1 scaricati.</translation>
+ <translation>%1 scaricato.</translation>
</message>
<message>
<source>(%1/sec)</source>
- <translation></translation>
+ <translation>(%1/sec)</translation>
</message>
<message numerus="yes">
<source>%n day(s), </source>
<translation>
- <numerusform>%n giorni, </numerusform>
- <numerusform></numerusform>
+ <numerusform>%n giorno/i, </numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n hour(s), </source>
<translation>
- <numerusform>%n ore, </numerusform>
- <numerusform></numerusform>
+ <numerusform>%n ora/e, </numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n minute(s)</source>
<translation>
- <numerusform>%n muniti</numerusform>
- <numerusform></numerusform>
+ <numerusform>%n minuto/i</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n second(s)</source>
<translation>
- <numerusform>%n secondi</numerusform>
- <numerusform></numerusform>
+ <numerusform>%n secondo/i</numerusform>
</translation>
</message>
<message>
<source> - %1%2%3%4 remaining.</source>
- <translation>- rimanenti %1%2%3%4.</translation>
+ <translation> - %1%2%3%4 rimanente.</translation>
</message>
<message>
<source> - unknown time remaining.</source>
@@ -299,12 +271,12 @@
<context>
<name>KDUpdater::HttpDownloader</name>
<message>
- <source>Cannot download %1: Writing to file &apos;%2&apos; failed: %3</source>
- <translation>Impossibile scaricare %1: Scrittura nel file &apos;%2&apos; fallita: %3</translation>
+ <source>Cannot download %1. Writing to file &quot;%2&quot; failed: %3</source>
+ <translation>Impossibile scaricare %1. Scrittura nel file &quot;%2&quot; non riuscita: %3</translation>
</message>
<message>
- <source>Cannot download %1: Cannot create %2: %3</source>
- <translation>Impossibile scaricare %1: Impossibile creare %2: %3</translation>
+ <source>Cannot download %1. Cannot create file &quot;%2&quot;: %3</source>
+ <translation>Impossibile scaricare %1. Impossibile creare il file &quot;%2&quot;: %3</translation>
</message>
<message>
<source>%1 at %2</source>
@@ -316,179 +288,140 @@
</message>
<message>
<source>Secure Connection Failed</source>
- <translation>Connessione sicura non riuscita</translation>
+ <translation>Connessione protetta non riuscita</translation>
</message>
<message>
<source>There was an error during connection to: %1.</source>
- <translation>Si è verificato un errore durante la connessione a: %1.</translation>
+ <translation>Errore durante la connessione a: %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>Questo potrebbe essere un problema con la configurazione del server, o qualcuno prova a spacciarsi per il server.</translation>
+ <translation>Il problema verificatosi potrebbe essere relativo alla configurazione del server o a qualcuno che sta tentando di impersonare il server.</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>Se tu hai avuto una connessione con questo server nel passato o ti fidi del server, l&apos;errore potrebbe essere temporaneo e puoi provare ancora.</translation>
+ <translation>Se la connessione al server è stata già stabilita in passato o se si considera il server attendibile, l&apos;errore può essere temporaneo ed è possibile riprovare.</translation>
</message>
<message>
<source>Try again</source>
- <translation>Prova ancora</translation>
+ <translation>Riprova</translation>
</message>
</context>
<context>
<name>KDUpdater::LocalFileDownloader</name>
<message>
- <source>Cannot open source file &apos;%1&apos; for reading.</source>
- <translation>Impossibile aprire il file sorgente &apos;%1&apos; in lettura.</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la lettura: %2</translation>
</message>
<message>
- <source>Cannot open destination file &apos;%1&apos; for writing.</source>
- <translation>Impossibile aprire il file di destinazione &apos;%1&apos; in scrittura.</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la scrittura: %2</translation>
</message>
<message>
- <source>Writing to %1 failed: %2</source>
- <translation>Scrittura in %1 fallita: %2</translation>
+ <source>Writing to file &quot;%1&quot; failed: %2</source>
+ <translation>Scrittura nel file &quot;%1&quot; non riuscita: %2</translation>
</message>
</context>
<context>
<name>KDUpdater::MkdirOperation</name>
<message>
- <source>Invalid arguments: %1 arguments given, 1 expected.</source>
- <translation>Argomenti invalidi: argomenti forniti %1, richiesti 1.</translation>
+ <source>Cannot create directory &quot;%1&quot;: %2</source>
+ <translation>Impossibile creare la directory &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot create folder %1: Unknown error.</source>
- <translation>Impossibile creare la cartella %1: Errore sconosciuto.</translation>
+ <source>Unknown error.</source>
+ <translation>Errore sconosciuto.</translation>
</message>
<message>
- <source>Cannot remove directory %1: %2</source>
- <translation>Impossibile rimuovere la cartella %1: %2</translation>
+ <source>Cannot remove directory &quot;%1&quot;: %2</source>
+ <translation>Impossibile rimuovere la directory &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>KDUpdater::MoveOperation</name>
<message>
- <source>Cannot backup file %1.</source>
- <translation>Impossibile eseguire il backup del file %1.</translation>
- </message>
- <message>
- <source>Invalid arguments: %1 arguments given, 2 expected.</source>
- <translation>Argomenti invalidi: argomenti forniti %1, richiesti 2.</translation>
- </message>
- <message>
- <source>Cannot remove destination file %1: %2</source>
- <translation>Impossibile rimuovere il file di destinazione %1: %2</translation>
- </message>
- <message>
- <source>Cannot copy %1 to %2: %3</source>
- <translation>Impossibile copiare %1 in %2: %3</translation>
+ <source>Cannot backup file &quot;%1&quot;.</source>
+ <translation>Impossibile eseguire il backup del file &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot copy %1 to %2: %3</source>
- <translation>Impossibile copiare %1 in %2: %3</translation>
- </message>
- <message>
- <source>Cannot remove file %1.</source>
- <translation>Impossibile rimuovere il file %1.</translation>
- </message>
- <message>
- <source>Cannot restore backup file for %1: %2</source>
- <translation>Impossibile ripristinare il file di backup %1: %2</translation>
- </message>
-</context>
-<context>
- <name>KDUpdater::PackagesInfo</name>
- <message>
- <source>%1 contains invalid content: %2</source>
- <translation>%1 contiene dati invalidi: %2</translation>
- </message>
- <message>
- <source>The file %1 does not exist.</source>
- <translation>Il file %1 non esiste.</translation>
+ <source>Cannot remove file &quot;%1&quot;: %2</source>
+ <translation>Impossibile rimuovere il file &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot open %1.</source>
- <translation>Impossibile aprire %1.</translation>
+ <source>Cannot copy file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Impossibile copiare il file da &quot;%1&quot; a &quot;%2&quot;: %3</translation>
</message>
<message>
- <source>Parse error in %1 at %2, %3: %4</source>
- <translation>Errore durante il parse in %1 a %2, %3: %4</translation>
+ <source>Cannot remove file &quot;%1&quot;.</source>
+ <translation>Impossibile rimuovere il file &quot;%1&quot;.</translation>
</message>
<message>
- <source>Root element %1 unexpected, should be &apos;Packages&apos;.</source>
- <translation>Elemento di root %1 inaspettato, dovrebbe essere &apos;Packages&apos;.</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;: %2</source>
+ <translation>Impossibile ripristinare il file di backup per &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>KDUpdater::PrependFileOperation</name>
<message>
- <source>Cannot backup file %1: %2</source>
- <translation>Impossibile eseguire il backup di %1: %2</translation>
- </message>
- <message>
- <source>Invalid arguments: %1 arguments given, 2 expected.</source>
- <translation>Argomenti invalidi: argomenti forniti %1, richiesti 2.</translation>
+ <source>Cannot backup file &quot;%1&quot;: %2</source>
+ <translation>Impossibile eseguire il backup del file &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot open file %1 for reading: %2</source>
- <translation>Impossibile aprire %1 in lettura: %2</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la lettura: %2</translation>
</message>
<message>
- <source>Cannot open file %1 for writing: %2</source>
- <translation>Impossibile aprire il file %1 in scrittura: %2</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la scrittura: %2</translation>
</message>
<message>
- <source>Cannot find backup file for %1.</source>
- <translation>Impossibile trovare il file di backup per %1.</translation>
+ <source>Cannot find backup file for &quot;%1&quot;.</source>
+ <translation>Impossibile trovare il file di backup per &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot restore backup file for %1.</source>
- <translation>Impossibile ripristinare il file di backup per %1.</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;.</source>
+ <translation>Impossibile ripristinare il file di backup per &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot restore backup file for %1: %2</source>
- <translation>Impossibile ripristinare il file di backup per %1: %2</translation>
+ <source>Cannot restore backup file for &quot;%1&quot;: %2</source>
+ <translation>Impossibile ripristinare il file di backup per &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>KDUpdater::ResourceFileDownloader</name>
<message>
- <source>Cannot read resource file &quot;%1&quot;. Reason:</source>
- <translation>Impossibile leggere il file di risorse &quot;%1&quot;. Motivo:</translation>
+ <source>Cannot read resource file &quot;%1&quot;: %2</source>
+ <translation>Impossibile leggere il file di risorse &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>KDUpdater::RmdirOperation</name>
<message>
- <source>Invalid arguments: %1 arguments given, 1 expected.</source>
- <translation>Argomenti invalidi: argomenti forniti %1, richiesti 1.</translation>
+ <source>Cannot remove directory &quot;%1&quot;: %2</source>
+ <translation>Impossibile rimuovere la directory &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot remove folder %1: The folder does not exist.</source>
- <translation>Impossibile rimuovere la cartella %1: La cartella non esiste.</translation>
+ <source>The directory does not exist.</source>
+ <translation>La directory non esiste.</translation>
</message>
<message>
- <source>Cannot remove folder %1: %2</source>
- <translation>Impossibile rimuovere la cartella %1: %2</translation>
- </message>
- <message>
- <source>Cannot recreate directory %1: %2</source>
- <translation>Impossibile ricreare la cartella %1: %2</translation>
+ <source>Cannot recreate directory &quot;%1&quot;: %2</source>
+ <translation>Impossibile ricreare la directory &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>KDUpdater::Task</name>
<message>
<source>%1 started</source>
- <translation>%1 iniziato</translation>
+ <translation>%1 avviato</translation>
</message>
<message>
<source>%1 cannot be stopped</source>
- <translation>%1 non può essere fermato</translation>
+ <translation>%1 non può essere arrestato</translation>
</message>
<message>
<source>Cannot stop task %1</source>
- <translation>Impossibile fermare il task %1</translation>
+ <translation>Impossibile arrestare l&apos;attività %1</translation>
</message>
<message>
<source>%1 cannot be paused</source>
@@ -496,132 +429,96 @@
</message>
<message>
<source>Cannot pause task %1</source>
- <translation>Impossibile mettere in pausa il task %1</translation>
+ <translation>Impossibile sospendere l&apos;attività %1</translation>
</message>
<message>
<source>Cannot resume task %1</source>
- <translation>Impossibile ripristinare il task %1</translation>
+ <translation>Impossibile riprendere l&apos;attività %1</translation>
</message>
<message>
<source>%1 done</source>
- <translation>%1 fatto</translation>
+ <translation>%1 completato</translation>
</message>
</context>
<context>
<name>KDUpdater::UpdateFinder</name>
<message>
<source>Cannot access the package information of this application.</source>
- <translation>Impossibile accedere alle informazioni del pacchetto si questa applicazione.</translation>
- </message>
- <message>
- <source>Cannot access the update sources information of this application.</source>
- <translation>Impossibile accedere alle informazioni degli aggiornamenti di questa applicazione.</translation>
+ <translation>Impossibile accedere alle informazioni sul pacchetto di questa applicazione.</translation>
</message>
<message>
- <source>Downloading Updates.xml from update sources.</source>
- <translation>Downloading Updates.xml in corso.</translation>
+ <source>No package sources set for this application.</source>
+ <translation>Nessuna origine pacchetto impostata per questa applicazione.</translation>
</message>
<message numerus="yes">
<source>%n update(s) found.</source>
<translation>
- <numerusform>%n aggiornamento(i) trovati.</numerusform>
- <numerusform></numerusform>
+ <numerusform>%n aggiornamento/i trovato/i.</numerusform>
</translation>
</message>
<message>
- <source>Cannot download update source %1 from (&apos;%2&apos;)</source>
- <translation>Impossibile scaricare l&apos;aggiornamento %1 da (&apos;%2&apos;)</translation>
+ <source>Downloading Updates.xml from update sources.</source>
+ <translation>Download di Updates.xml dalle origini di aggiornamento.</translation>
+ </message>
+ <message>
+ <source>Cannot download package source %1 from &quot;%2&quot;.</source>
+ <translation>Impossibile scaricare origine pacchetto %1 da &quot;%2&quot;.</translation>
</message>
<message>
<source>Updates.xml file(s) downloaded from update sources.</source>
- <translation>File Updates.xml scaricato dagli aggiornamenti.</translation>
+ <translation>File Updates.xml scaricati dalle origini di aggiornamento.</translation>
</message>
<message>
<source>Computing applicable updates.</source>
- <translation>Calcolo aggiornamenti applicabili.</translation>
+ <translation>Calcolo degli aggiornamenti applicabili.</translation>
</message>
<message>
<source>Application updates computed.</source>
- <translation>Aggiornamenti dell&apos;applicazione calcolati.</translation>
+ <translation>Aggiornamenti applicazione calcolati.</translation>
</message>
</context>
<context>
- <name>KDUpdater::UpdateSourcesInfo</name>
- <message>
- <source>%1 contains invalid content: %2</source>
- <translation>%1 contiene dati invalidi: %2</translation>
- </message>
- <message>
- <source>Cannot read &quot;%1&quot;</source>
- <translation>Impossibile leggere &quot;%1&quot;</translation>
- </message>
- <message>
- <source>XML Parse error in %1 at %2, %3: %4</source>
- <translation>Errore durante il parse del file %1 in %2, %3: %4</translation>
- </message>
- <message>
- <source>Root element %1 unexpected, should be &quot;UpdateSources&quot;</source>
- <translation>Elemento di Root %1 inaspettato, dovrebbe essere &quot;UpdateSources&quot;</translation>
- </message>
+ <name>KDUpdater::UpdatesInfoData</name>
<message>
- <source>Cannot save changes to &quot;%1&quot;: %2</source>
- <translation>Impossibile salvare i cambiamenti in &quot;%1&quot;: %2</translation>
+ <source>Updates.xml contains invalid content: %1</source>
+ <translation>Updates.xml contiene contenuto non valido: %1</translation>
</message>
-</context>
-<context>
- <name>KDUpdater::UpdatesInfoData</name>
<message>
<source>Cannot read &quot;%1&quot;</source>
<translation>Impossibile leggere &quot;%1&quot;</translation>
</message>
<message>
<source>Parse error in %1 at %2, %3: %4</source>
- <translation>Errore durante il parse in %1 a %2, %3: %4</translation>
- </message>
- <message>
- <source>Updates.xml contains invalid content: %1</source>
- <translation>Updates.xml contiene dati invalidi: %1</translation>
+ <translation>Errore di analisi in %1 a %2, %3: %4</translation>
</message>
<message>
<source>Root element %1 unexpected, should be &quot;Updates&quot;.</source>
- <translation>Elemento di root %1 inaspettato, dovrebbe essere &quot;Updates&quot;.</translation>
+ <translation>Elemento radice %1 imprevisto, dovrebbe essere &quot;Updates&quot;.</translation>
</message>
<message>
<source>ApplicationName element is missing.</source>
- <translation>L&apos;elemento ApplicationName è mancante.</translation>
+ <translation>Elemento ApplicationName mancante.</translation>
</message>
<message>
<source>ApplicationVersion element is missing.</source>
- <translation>L&apos;elemento ApplicationVersion è mancante.</translation>
+ <translation>Elemento ApplicationVersion mancante.</translation>
</message>
<message>
<source>PackageUpdate element without Name</source>
- <translation>L&apos;elemento PackageUpdate è senza nome</translation>
+ <translation>Elemento PackageUpdate senza Name</translation>
</message>
<message>
<source>PackageUpdate element without Version</source>
- <translation>L&apos;elemento PackageUpdate è senza versione</translation>
+ <translation>Elemento PackageUpdate senza Version</translation>
</message>
<message>
<source>PackageUpdate element without ReleaseDate</source>
- <translation>L&apos;elemento PackageUpdate è senza data di relascio</translation>
+ <translation>Elemento PackageUpdate senza ReleaseDate</translation>
</message>
</context>
<context>
<name>Lib7z</name>
<message>
- <source>Cannot retrieve number of items in archive</source>
- <translation>Impossibile recuperare il numero di oggetti in archivio</translation>
- </message>
- <message>
- <source>Cannot retrieve path of archive item %1</source>
- <translation>Impossibile recuperare il path dell&apos;oggetto in archivio %1</translation>
- </message>
- <message>
- <source>Unknown exception caught (%1)</source>
- <translation>Trovata un eccezzione sconosciuta (%1)</translation>
- </message>
- <message>
<source>internal code: %1</source>
<translation>codice interno: %1</translation>
</message>
@@ -634,175 +531,193 @@
<translation>Errore: %1</translation>
</message>
<message>
- <source>Cannot load codecs</source>
- <translation>Impossibile caricare i codec</translation>
+ <source>Cannot retrieve property %1 for item %2.</source>
+ <translation>Impossibile recuperare la proprietà %1 per l&apos;elemento %2.</translation>
</message>
<message>
- <source>Cannot retrieve default format</source>
- <translation>Impossibile recuperare il formato di default</translation>
+ <source>Property %1 for item %2 not of type VT_FILETIME but %3.</source>
+ <translation>La proprietà %1 per l&apos;elemento %2 non è di tipo VT_FILETIME ma %3.</translation>
</message>
<message>
- <source>Cannot create archive %1. %2</source>
- <translation>Impossibile creare l&apos;archivio %1. %2</translation>
+ <source>Cannot convert UTC file time to system time.</source>
+ <translation>Impossibile convertire l&apos;ora del file UTC nell&apos;ora di sistema.</translation>
</message>
<message>
- <source>CArc index %1 out of bounds [0, %2]</source>
- <translation>L&apos;indice CArc %1 è fuori dai limiti [0, %2]</translation>
+ <source>Cannot load codecs.</source>
+ <translation>Impossibile caricare i codec.</translation>
</message>
<message>
- <source>Item index %1 out of bounds [0, %2]</source>
- <translation>L&apos;indice dell&apos;oggetto %1 è fuori dai limiti [0, %2]</translation>
+ <source>Cannot open archive &quot;%1&quot;.</source>
+ <translation>Impossibile aprire l&apos;archivio &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot create output file for writing: %1</source>
- <translation>Impossibile creare il file di output aperto in scrittura: %1</translation>
+ <source>Cannot retrieve number of items in archive.</source>
+ <translation>Impossibile recuperare il numero di elementi nell&apos;archivio.</translation>
</message>
-</context>
-<context>
- <name>Lib7z::ExtractItemJob</name>
<message>
- <source>Cannot list archive: QIODevice not set or already destroyed.</source>
- <translation>Impossibile accedere al contenuto dell&apos;archivio: QIODevice non configurato o già distrutto.</translation>
+ <source>Cannot retrieve path of archive item &quot;%1&quot;.</source>
+ <translation>Impossibile recuperare il percorso dell&apos;elemento dell’archivio &quot;%1&quot;.</translation>
</message>
<message>
- <source>Error while extracting &apos;%1&apos;: %2</source>
- <translation>Errore durante l&apos;estrazione &apos;%1&apos;: %2</translation>
+ <source>Unknown exception caught (%1).</source>
+ <translation>Rilevata eccezione sconosciuta (%1).</translation>
</message>
<message>
- <source>Unknown exception caught (%1)</source>
- <translation>Trovata un eccezzione sconosciuta (%1)</translation>
+ <source>Cannot create temporary file: %1</source>
+ <translation>Impossibile creare file temporaneo: %1</translation>
</message>
<message>
- <source>Failed</source>
- <translation>Fallito</translation>
+ <source>Unsupported archive type.</source>
+ <translation>Tipo di archivio non supportato.</translation>
</message>
-</context>
-<context>
- <name>Lib7z::ListArchiveJob</name>
<message>
- <source>Cannot list archive: QIODevice already destroyed.</source>
- <translation>Impossibile accedere all&apos;archivio: QIODevice già distrutto.</translation>
+ <source>Cannot create archive &quot;%1&quot;</source>
+ <translation>Impossibile creare l&apos;archivio &quot;%1&quot;</translation>
</message>
<message>
- <source>Unknown exception caught (%1)</source>
- <translation>Trovata un eccezzione sconosciuta (%1)</translation>
+ <source>Cannot create archive &quot;%1&quot;: %2</source>
+ <translation>Impossibile creare l&apos;archivio &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot remove old archive &quot;%1&quot;: %2</source>
+ <translation>Impossibile rimuovere il vecchio archivio &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot rename temporary archive &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Impossibile rinominare l&apos;archivio temporaneo &quot;%1&quot; &quot;%2&quot;: %3</translation>
</message>
<message>
- <source>Failed</source>
- <translation></translation>
+ <source>Unknown exception caught (%1)</source>
+ <translation>Rilevata eccezione sconosciuta (%1)</translation>
</message>
</context>
<context>
- <name>OpenArchiveInfo</name>
+ <name>LocalPackageHub</name>
<message>
- <source>Cannot load codecs</source>
- <translation>Impossibile caricare i codec</translation>
+ <source>%1 contains invalid content: %2</source>
+ <translation>%1 contiene contenuto non valido: %2</translation>
</message>
<message>
- <source>Cannot retrieve default format</source>
- <translation>Impossibile recuperare il formato di default</translation>
+ <source>The file %1 does not exist.</source>
+ <translation>Il file %1 non esiste.</translation>
</message>
<message>
- <source>Cannot open archive</source>
- <translation>Impossibile aprire l&apos;archivio</translation>
+ <source>Cannot open %1.</source>
+ <translation>Impossibile aprire %1.</translation>
</message>
<message>
- <source>No CArc found</source>
- <translation>Nessun CArc trovato</translation>
+ <source>Parse error in %1 at %2, %3: %4</source>
+ <translation>Errore di analisi in %1 a %2, %3: %4</translation>
+ </message>
+ <message>
+ <source>Root element %1 unexpected, should be &apos;Packages&apos;.</source>
+ <translation>Elemento radice %1 imprevisto, dovrebbe essere &apos;Packages&apos;.</translation>
</message>
</context>
<context>
- <name>QIODeviceSequentialOutStream</name>
+ <name>LockFile</name>
+ <message>
+ <source>Cannot create lock file &quot;%1&quot;: %2</source>
+ <translation>Impossibile creare il file di blocco &quot;%1&quot;: %2</translation>
+ </message>
<message>
- <source>No device set for output stream</source>
- <translation>Nessun dispositivo settato per lo stream di output</translation>
+ <source>Cannot write PID to lock file &quot;%1&quot;: %2</source>
+ <translation>Impossibile scrivere PID nel file di blocco &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot obtain the lock for file &quot;%1&quot;: %2</source>
+ <translation>Impossibile ottenere il blocco per il file &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot release the lock for file &quot;%1&quot;: %2</source>
+ <translation>Impossibile rilasciare il blocco per il file &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>QInstaller</name>
<message>
<source>No marker found, stopped after %1.</source>
- <translation>Nessun marker trovato, stoppato dopo %1.</translation>
+ <translation>Nessun marcatore trovato, operazione interrotta dopo %1.</translation>
</message>
<message>
- <source>Cannot open file %1 for reading: %2</source>
- <translation>Impossibile aprire il file %1 in lettura: %2</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la lettura: %2</translation>
</message>
<message>
- <source>Cannot open file %1 for writing: %2</source>
- <translation>Impossibile aprire il file %1 in scrittura: %2</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la scrittura: %2</translation>
</message>
<message>
<source>Read failed after %1 bytes: %2</source>
- <translation>Lettura fallita dopo %1 bytes: %2</translation>
+ <translation>Lettura non riuscita dopo %1 byte: %2</translation>
</message>
<message>
- <source>Copy failed. Error: %1</source>
- <translation>Copia fallita. Errore: %1</translation>
+ <source>Copy failed: %1</source>
+ <translation>Copia non riuscita: %1</translation>
</message>
<message>
<source>Write failed after %1 bytes: %2</source>
- <translation>Scrittura fallita dopo %1 bytes: %2</translation>
+ <translation>Scrittura non riuscita dopo %1 byte: %2</translation>
</message>
<message>
<source>bytes</source>
- <translation></translation>
+ <translation>byte</translation>
</message>
<message>
- <source>KiB</source>
- <translation></translation>
+ <source>KB</source>
+ <translation>KB</translation>
</message>
<message>
- <source>MiB</source>
- <translation></translation>
+ <source>MB</source>
+ <translation>MB</translation>
</message>
<message>
- <source>GiB</source>
- <translation></translation>
+ <source>GB</source>
+ <translation>GB</translation>
</message>
<message>
- <source>TiB</source>
- <translation></translation>
+ <source>TB</source>
+ <translation>TB</translation>
</message>
<message>
- <source>PiB</source>
- <translation></translation>
+ <source>PB</source>
+ <translation>PB</translation>
</message>
<message>
- <source>EiB</source>
- <translation></translation>
+ <source>EB</source>
+ <translation>EB</translation>
</message>
<message>
- <source>ZiB</source>
- <translation></translation>
+ <source>ZB</source>
+ <translation>ZB</translation>
</message>
<message>
- <source>YiB</source>
- <translation></translation>
+ <source>YB</source>
+ <translation>YB</translation>
</message>
<message>
- <source>Cannot remove file %1: %2</source>
- <translation>Impossibile rimuovere il file %1: %2</translation>
+ <source>Cannot remove file &quot;%1&quot;: %2</source>
+ <translation>Impossibile rimuovere il file &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot remove folder %1: %2</source>
- <translation>Impossibile rimuovere la cartella %1: %2</translation>
+ <source>Cannot remove directory &quot;%1&quot;: %2</source>
+ <translation>Impossibile rimuovere la directory &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot create folder %1</source>
- <translation>Impossibile creare la cartella %1</translation>
+ <source>Cannot create directory &quot;%1&quot;.</source>
+ <translation>Impossibile creare la directory &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot copy file from %1 to %2: %3</source>
- <translation>Impossibile copiare il file da %1 a %2: %3</translation>
+ <source>Cannot copy file from &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Impossibile copiare il file da &quot;%1&quot; a &quot;%2&quot;: %3</translation>
</message>
<message>
- <source>Cannot move file from %1 to %2: %3</source>
- <translation>Impossibile muovere il file da %1 a %2: %3</translation>
+ <source>Cannot move file from &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Impossibile spostare il file da &quot;%1&quot; a &quot;%2&quot;: %3</translation>
</message>
<message>
- <source>Cannot create folder %1: %2</source>
- <translation>Impossibile creare la cartella %1: %2</translation>
+ <source>Cannot create directory &quot;%1&quot;: %2</source>
+ <translation>Impossibile creare la directory &quot;%1&quot;: %2</translation>
</message>
<message>
<source>Cannot open temporary file: %1</source>
@@ -810,121 +725,97 @@
</message>
<message>
<source>Cannot open temporary file for template %1: %2</source>
- <translation>Impossibile aprire il file temporaneo per template %1: %2</translation>
- </message>
- <message>
- <source>Cannot create temporary file</source>
- <translation>Impossibile creare il file temporaneo</translation>
- </message>
- <message>
- <source>Cannot retrieve property %1 for item %2</source>
- <translation>Impossibile recuperare la proprietà %1 per l&apos;oggetto %2</translation>
- </message>
- <message>
- <source>Property %1 for item %2 not of type VT_FILETIME but %3</source>
- <translation>La propietà %1 per l&apos;oggetto %2 non è di tipo VT_FILETIME ma %3</translation>
- </message>
- <message>
- <source>Cannot convert file time to local time</source>
- <translation>Impossibile convertire l&apos;orario del file in ora locale</translation>
- </message>
- <message>
- <source>Cannot convert local file time to system time</source>
- <translation>Impossible convertire l&apos;ora del file in orario di sistema</translation>
+ <translation>Impossibile aprire il file temporaneo per il modello %1: %2</translation>
</message>
<message>
<source>Corrupt installation</source>
- <translation>Installazione corrotta</translation>
+ <translation>Installazione danneggiata</translation>
</message>
<message>
<source>Your installation seems to be corrupted. Please consider re-installing from scratch.</source>
- <translation>L&apos;installazione potrebbe esserre corrotta. Ti consigliamo di re-installare da zero.</translation>
+ <translation>L&apos;installazione sembra danneggiata. Provare a reinstallare da zero.</translation>
</message>
<message>
<source>The specified module could not be found.</source>
- <translation>Il modulo specificato non è stato trovato.</translation>
+ <translation>Impossibile trovare il modulo specificato.</translation>
</message>
</context>
<context>
<name>QInstaller::Component</name>
<message>
<source>Components cannot have children in updater mode.</source>
- <translation>Componenti non possono avere figli nella modalità di aggiornamento.</translation>
- </message>
- <message>
- <source>Cannot open the requested translation file &apos;%1&apos;.</source>
- <translation>Impossibile aprire il file di traduzioni richiesto &apos;%1&apos;.</translation>
+ <translation>I componenti non possono avere figli in modalità updater.</translation>
</message>
<message>
- <source>Cannot open the requested UI file &apos;%1&apos;. Error: %2</source>
- <translation>Impossibile aprire il file UI &apos;%1&apos;. Errore: %2</translation>
+ <source>Cannot open the requested UI file &quot;%1&quot;: %2</source>
+ <translation>Impossibile aprire il file di interfaccia utente richiesto &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot load the requested UI file &apos;%1&apos;. Error: %2</source>
- <translation>Impossibile caricare il file UI &apos;%1&apos;. Errore: %2</translation>
- </message>
- <message>
- <source>Cannot resolve isDefault in %1</source>
- <translation>Impossibile risolvere isDefault in %1</translation>
+ <source>Cannot load the requested UI file &quot;%1&quot;: %2</source>
+ <translation>Impossibile caricare il file di interfaccia utente richiesto &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot open the requested license file &apos;%1&apos;. Error: %2</source>
- <translation>Impossibile aprire il file di licenza richiesto &apos;%1&apos;. Errore: %2</translation>
+ <source>Cannot open the requested license file &quot;%1&quot;: %2</source>
+ <translation>Impossibile aprire il file di licenza richiesto &quot;%1&quot;: %2</translation>
</message>
<message>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
- <source>Error: Operation %1 does not exist</source>
- <translation>Errore: L&apos;operazione %1 non esiste</translation>
+ <source>Error: Operation %1 does not exist.</source>
+ <translation>Errore: l&apos;operazione %1 non esiste.</translation>
+ </message>
+ <message>
+ <source>Cannot resolve isDefault in %1</source>
+ <translation>Impossibile risolvere isDefault in %1</translation>
</message>
<message>
<source>Update Info: </source>
- <translation>Informazioni di aggiornamento: </translation>
+ <translation>Informazioni aggiornamento: </translation>
</message>
</context>
<context>
<name>QInstaller::ComponentModel</name>
<message>
- <source>Component Name</source>
- <translation>Nome Componente</translation>
+ <source>Component is marked for installation.</source>
+ <translation>Il componente è contrassegnato per l&apos;installazione.</translation>
</message>
<message>
- <source>Action</source>
- <translation>Azione</translation>
+ <source>Component is marked for uninstallation.</source>
+ <translation>Il componente è contrassegnato per la disinstallazione.</translation>
</message>
<message>
- <source>Installed Version</source>
- <translation>Versione Installata</translation>
+ <source>Component is installed.</source>
+ <translation>Il componente è installato.</translation>
</message>
<message>
- <source>New Version</source>
- <translation>Nuova Versione</translation>
+ <source>Component is not installed.</source>
+ <translation>Il componente non è installato.</translation>
</message>
<message>
- <source>Release Date</source>
- <translation>Data Di Rilascio</translation>
+ <source>Component Name</source>
+ <translation>Nome componente</translation>
</message>
<message>
- <source>Size</source>
- <translation>Dimensione</translation>
+ <source>Action</source>
+ <translation>Azione</translation>
</message>
<message>
- <source>Component is marked for installation.</source>
- <translation>Il componente è segnato per l&apos;installazione.</translation>
+ <source>Installed Version</source>
+ <translation>Versione installata</translation>
</message>
<message>
- <source>Component is marked for uninstallation.</source>
- <translation>Il componente è segnato per la disinstallazione.</translation>
+ <source>New Version</source>
+ <translation>Nuova versione</translation>
</message>
<message>
- <source>Component is installed.</source>
- <translation>Il componente è installato.</translation>
+ <source>Release Date</source>
+ <translation>Data di pubblicazione</translation>
</message>
<message>
- <source>Component is not installed.</source>
- <translation>Il componente non è installato.</translation>
+ <source>Size</source>
+ <translation>Dimensioni</translation>
</message>
</context>
<context>
@@ -932,275 +823,243 @@
<message>
<source>Alt+A</source>
<comment>select default components</comment>
- <translation></translation>
+ <translation>Alt+A</translation>
</message>
<message>
<source>Def&amp;ault</source>
- <translation></translation>
+ <translation>&amp;Predefinito</translation>
</message>
<message>
<source>Alt+R</source>
<comment>reset to already installed components</comment>
- <translation></translation>
+ <translation>Alt+F</translation>
</message>
<message>
<source>&amp;Reset</source>
- <translation></translation>
+ <translation>&amp;Reimposta</translation>
</message>
<message>
<source>Alt+S</source>
<comment>select all components</comment>
- <translation></translation>
+ <translation>Alt+S</translation>
</message>
<message>
<source>&amp;Select All</source>
- <translation></translation>
+ <translation>&amp;Seleziona tutto</translation>
</message>
<message>
<source>Alt+D</source>
<comment>deselect all components</comment>
- <translation></translation>
+ <translation>Alt+D</translation>
</message>
<message>
<source>&amp;Deselect All</source>
- <translation></translation>
+ <translation>&amp;Deseleziona tutto</translation>
+ </message>
+ <message>
+ <source>To install new compressed repository, browse the repositories from your computer</source>
+ <translation>Per installare un nuovo repository compresso, sfogliare i repository nel computer</translation>
+ </message>
+ <message>
+ <source>&amp;Browse QBSP files</source>
+ <translation>&amp;Sfoglia file QBSP</translation>
</message>
<message>
<source>This component will occupy approximately %1 on your hard disk drive.</source>
- <translation>Questo componete occuperà circa %1 sul tuo hard disk.</translation>
+ <translation>Questo componente occuperà circa %1 sul disco rigido.</translation>
+ </message>
+ <message>
+ <source>Open File</source>
+ <translation>Apri file</translation>
</message>
<message>
<source>Select Components</source>
- <translation>Componenti selezionati</translation>
+ <translation>Seleziona componenti</translation>
</message>
<message>
<source>Please select the components you want to update.</source>
- <translation>Selezionare i componenti che vuoi aggiornare.</translation>
+ <translation>Selezionare i componenti che si desidera aggiornare.</translation>
</message>
<message>
<source>Please select the components you want to install.</source>
- <translation>Selezionare i componenti che vuoi installare.</translation>
+ <translation>Selezionare i componenti che si desidera installare.</translation>
</message>
<message>
<source>Please select the components you want to uninstall.</source>
- <translation>Selezionare i componenti che vuoi disinstallare.</translation>
+ <translation>Selezionare i componenti che si desidera disinstallare.</translation>
</message>
<message>
- <source>Select the components to install. Deselect installed components to uninstall them.</source>
- <translation>Selezionare i componenti da installare. Deselezionare i componenti installati per disinstallarli.</translation>
+ <source>Select the components to install. Deselect installed components to uninstall them. Any components already installed will not be updated.</source>
+ <translation>Selezionare i componenti da installare. Deselezionare i componenti installati per disinstallarli. I componenti già installati non verranno aggiornati.</translation>
</message>
</context>
<context>
<name>QInstaller::ConsumeOutputOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argomenti invalidi in %0: forniti %1, %2 richiesti %3.</translation>
- </message>
- <message>
- <source>at least 2</source>
- <translation>almeno 2</translation>
+ <source>&lt;to be saved installer key name&gt; &lt;executable&gt; [argument1] [argument2] [...]</source>
+ <translation>&lt;to be saved installer key name&gt; &lt;executable&gt; [argument1] [argument2] [...]</translation>
</message>
<message>
<source>Needed installer object in %1 operation is empty.</source>
- <translation>Oggetto installer necessario in %1 l&apos;operazione è vuota.</translation>
+ <translation>L&apos;oggetto programma di installazione necessario nell&apos;operazione %1 è vuoto.</translation>
</message>
<message>
- <source>Can not save the output of %1 to an empty installer key value.</source>
- <translation type="unfinished"></translation>
+ <source>Cannot save the output of &quot;%1&quot; to an empty installer key value.</source>
+ <translation>Impossibile salvare l&apos;output di &quot;%1” in un valore chiave del programma di installazione vuoto.</translation>
</message>
<message>
- <source>File &apos;%1&apos; does not exist or is not an executable binary.</source>
- <translation>Il file &apos;%1&apos; non esiste o non è un eseguibile.</translation>
+ <source>File &quot;%1&quot; does not exist or is not an executable binary.</source>
+ <translation>Il file &quot;%1&quot; non esiste o non è un file binario eseguibile.</translation>
</message>
<message>
- <source>Running &apos;%1&apos; resulted in a crash.</source>
- <translation type="unfinished"></translation>
+ <source>Running &quot;%1&quot; resulted in a crash.</source>
+ <translation>L&apos;esecuzione di &quot;%1&quot; ha causato un arresto anomalo.</translation>
</message>
</context>
<context>
<name>QInstaller::CopyDirectoryOperation</name>
<message>
- <source>2 or 3</source>
- <translation>2 o 3</translation>
+ <source>&lt;source&gt; &lt;target&gt; [&quot;forceOverwrite&quot;]</source>
+ <translation>&lt;source&gt; &lt;target&gt; [&quot;forceOverwrite&quot;]</translation>
</message>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argomenti invalidi in %0: forniti %1, %2 richiesti %3.</translation>
+ <source>Invalid argument in %1: Third argument needs to be forceOverwrite, if specified.</source>
+ <translation>Argomento non valido in %1: il terzo argomento deve essere forceOverwrite, se specificato.</translation>
</message>
<message>
- <source> (&lt;source&gt; &lt;target&gt; [forceOverwrite])</source>
- <translation></translation>
+ <source>Invalid argument in %1: Directory &quot;%2&quot; is invalid.</source>
+ <translation>Argomento non valido in %1: la directory &quot;%2&quot; non è valida.</translation>
</message>
<message>
- <source>Invalid argument in %0: Third argument needs to be forceOverwrite, if specified</source>
- <translation>Parametro invalido in %0; Terzo parametro deve essere forceOverwrite, se specificato</translation>
+ <source>Cannot create directory &quot;%1&quot;.</source>
+ <translation>Impossibile creare la directory &quot;%1&quot;.</translation>
</message>
<message>
- <source>Invalid arguments in %0: Directories are invalid: %1 %2</source>
- <translation>Argomenti invalidi in %0: Le cartelle sono invalide: %1 %2</translation>
+ <source>Failed to overwrite &quot;%1&quot;.</source>
+ <translation>Impossibile sovrascrivere &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot create %0</source>
- <translation>Impossibile creare %0</translation>
+ <source>Cannot copy file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Impossibile copiare il file da &quot;%1&quot; a &quot;%2&quot;: %3</translation>
</message>
<message>
- <source>Failed to overwrite %1</source>
- <translation>Impossibile sovrascrivere %1</translation>
- </message>
- <message>
- <source>Cannot copy %0 to %1, error was: %3</source>
- <translation>Impossibile copiare il file da %0 a %1, errore: %3</translation>
- </message>
- <message>
- <source>Cannot remove %0</source>
- <translation>Impossibile rimuovere %0</translation>
+ <source>Cannot remove file &quot;%1&quot;.</source>
+ <translation>Impossibile rimuovere il file &quot;%1&quot;.</translation>
</message>
</context>
<context>
<name>QInstaller::CopyFileTask</name>
<message>
<source>Invalid task item count.</source>
- <translation type="unfinished"></translation>
+ <translation>Conteggio elementi attività non valido.</translation>
</message>
<message>
- <source>Cannot open source &apos;%1&apos; for read. Error: %2.</source>
- <translation>Impossibile aprire il file sorgente &apos;%1&apos; in lettura. Errore: %2.</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la lettura: %2</translation>
</message>
<message>
- <source>Cannot open target &apos;%1&apos; for write. Error: %2.</source>
- <translation>Impossibile aprire il file di destinazione &apos;%1&apos; in scrittura. Errore: %2.</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la scrittura: %2</translation>
</message>
<message>
- <source>Writing to target &apos;%1&apos; failed. Error: %2.</source>
- <translation>Scrittura nel target &apos;%1&apos; fallita. Errore: %2.</translation>
+ <source>Writing to file &quot;%1&quot; failed: %2</source>
+ <translation>Scrittura nel file &quot;%1&quot; non riuscita: %2</translation>
</message>
</context>
<context>
<name>QInstaller::CreateDesktopEntryOperation</name>
<message>
- <source>Cannot backup file %1: %2</source>
- <translation>Impossibile eseguire il backup del file %1: %2</translation>
- </message>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argomenti invalidi in %0: forniti %1, %2 richiesti %3.</translation>
+ <source>Cannot backup file &quot;%1&quot;: %2</source>
+ <translation>Impossibile eseguire il backup del file &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>exactly 2</source>
- <translation>esattamente 2</translation>
+ <source>Failed to overwrite file &quot;%1&quot;.</source>
+ <translation>Impossibile sovrascrivere il file &quot;%1&quot;.</translation>
</message>
<message>
- <source>Failed to overwrite %1</source>
- <translation>Impossibile sovrascrivere %1</translation>
- </message>
- <message>
- <source>Cannot write Desktop Entry at %1</source>
- <translation></translation>
+ <source>Cannot write desktop entry to &quot;%1&quot;.</source>
+ <translation>Impossibile scrivere la voce desktop su &quot;%1&quot;.</translation>
</message>
</context>
<context>
<name>QInstaller::CreateLinkOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argomenti invalidi in %0: forniti %1, %2 richiesti %3.</translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation>esattamente 2</translation>
+ <source>Cannot create link from &quot;%1&quot; to &quot;%2&quot;.</source>
+ <translation>Impossibile creare collegamento da &quot;%1&quot; a &quot;%2&quot;.</translation>
</message>
<message>
- <source>Cannot create link from %1 to %2.</source>
- <translation>Impossibile creare il link per %1 a %2.</translation>
- </message>
- <message>
- <source>Cannot remove link from %1 to %2.</source>
- <translation>Impossibile rimuovere il link per %1 a %2.</translation>
+ <source>Cannot remove link from &quot;%1&quot; to &quot;%2&quot;.</source>
+ <translation>Impossibile rimuovere collegamento da &quot;%1&quot; a &quot;%2&quot;.</translation>
</message>
</context>
<context>
<name>QInstaller::CreateLocalRepositoryOperation</name>
<message>
- <source>Cannot set file permissions %1!</source>
- <translation>Impossibile settare i permessi del file %1!</translation>
+ <source>Cannot set permissions for file &quot;%1&quot;.</source>
+ <translation>Impossibile impostare le autorizzazioni file &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot remove file %1: %2</source>
- <translation>Impossibile rimuovere il file %1: %2</translation>
+ <source>Cannot remove file &quot;%1&quot;: %2</source>
+ <translation>Impossibile rimuovere il file &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot move file %1 to %2. Error: %3</source>
- <translation>Impossibile muovere il file da %1 a %2: Errore %3</translation>
+ <source>Cannot move file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Impossibile spostare il file da &quot;%1&quot; a &quot;%2&quot;: %3</translation>
</message>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argomenti invalidi in %0: forniti %1, %2 richiesti %3.</translation>
+ <source>Installer at &quot;%1&quot; needs to be an offline one.</source>
+ <translation>Il programma di installazione su &quot;%1” deve essere in versione offline.</translation>
</message>
<message>
- <source>exactly 2</source>
- <translation>esattamente 2</translation>
+ <source>Cannot open file &quot;%1&quot; for reading.</source>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la lettura.</translation>
</message>
<message>
- <source>Installer needs to be an offline version: %1.</source>
- <translation>Installer deve essere una versione offline: %1.</translation>
+ <source>Cannot read file &quot;%1&quot;: %2</source>
+ <translation>Impossibile leggere il file &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot open file: %1</source>
- <translation>Impossibile aprire il file: %1</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la lettura: %2</translation>
</message>
<message>
- <source>Cannot read: %1. Error: %2</source>
- <translation>Impossibile leggere: %1. Errore: %2</translation>
- </message>
- <message>
- <source>Cannot open file: %1. Error: %2</source>
- <translation>Impossibile aprire il file: %1. Errore %2</translation>
- </message>
- <message>
- <source>Cannot create target dir: %1.</source>
- <translation>Impossibile creare la cartella di destinazione: %1.</translation>
+ <source>Cannot create target directory: &quot;%1&quot;.</source>
+ <translation>Impossibile creare la directory di destinazione: &quot;%1&quot;.</translation>
</message>
<message>
<source>Unknown exception caught: %1.</source>
- <translation>Trovata un eccezzione sconosciuta (%1).</translation>
+ <translation>Rilevata eccezione sconosciuta: %1.</translation>
</message>
<message>
- <source>Removing file: %0</source>
- <translation>Rimozione file: %0</translation>
+ <source>Removing file &quot;%1&quot;.</source>
+ <translation>Rimozione file &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot remove %0.</source>
- <translation>Impossibile rimuovere %0.</translation>
+ <source>Cannot remove file &quot;%1&quot;.</source>
+ <translation>Impossibile rimuovere il file &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot remove directory %1: %2</source>
- <translation>Impossibile rimuovere la cartella %1: %2</translation>
+ <source>Cannot remove directory &quot;%1&quot;: %2</source>
+ <translation>Impossibile rimuovere la directory &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>QInstaller::CreateShortcutOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argomenti invalidi in %0: forniti %1, %2 richiesti %3.</translation>
+ <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;target&gt; &lt;link location&gt; [target arguments] [&quot;workingDirectory=...&quot;] [&quot;iconPath=...&quot;] [&quot;iconId=...&quot;] [&quot;description=...&quot;]</translation>
</message>
<message>
- <source>2 or 3</source>
- <translation>2 o 3</translation>
+ <source>Cannot create directory &quot;%1&quot;: %2</source>
+ <translation>Impossibile creare la directory &quot;%1&quot;: %2</translation>
</message>
<message>
- <source> (optional: &apos;workingDirectory=...&apos;, &apos;iconPath=...&apos;, &apos;iconId=...&apos;)</source>
- <translation> (opzionale: &apos;workingDirectory=...&apos;, &apos;iconPath=...&apos;, &apos;iconId=...&apos;)</translation>
+ <source>Failed to overwrite &quot;%1&quot;: %2</source>
+ <translation>Impossibile sovrascrivere &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot create folder %1: %2.</source>
- <translation>Impossibile creare la cartella %1: %2.</translation>
- </message>
- <message>
- <source>Failed to overwrite %1: %2</source>
- <translation>Impossibile sovrascrivere %1: %2</translation>
- </message>
- <message>
- <source>Cannot create link %1: %2</source>
- <translation>Impossibile creare il link %1: %2</translation>
+ <source>Cannot create link &quot;%1&quot;: %2</source>
+ <translation>Impossibile creare il collegamento &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
@@ -1211,173 +1070,142 @@
</message>
<message>
<source>Downloading hash signature failed.</source>
- <translation>Scaricamento firma hash fallito.</translation>
+ <translation>Download firma hash non riuscito.</translation>
</message>
<message>
<source>Download Error</source>
- <translation></translation>
+ <translation>Errore download</translation>
</message>
<message>
<source>Hash verification while downloading failed. This is a temporary error, please retry.</source>
- <translation>Verifica Hash durante il download fallita. Questo è un errore temporaneo, riprovare.</translation>
+ <translation>Verifica hash durante il download non riuscita. Errore temporaneo, riprovare.</translation>
</message>
<message>
<source>Cannot verify Hash</source>
- <translation>Impossibile verificare l&apos;hash</translation>
+ <translation>Impossibile verificare hash</translation>
</message>
<message>
- <source>Cannot download archive: %1 : %2</source>
- <translation>Impossibile scaricare l&apos;archivio %1. %2</translation>
+ <source>Cannot download archive %1: %2</source>
+ <translation>Impossibile scaricare l&apos;archivio %1: %2</translation>
</message>
<message>
<source>Cannot fetch archives: %1
Error while loading %2</source>
- <translation>Impossibile eseguire il fetch dell&apos;archivio: %1
-Errore durante lo scaricamento %2</translation>
+ <translation>Impossibile recuperare gli archivi: %1
+Errore durante il caricamento di %2</translation>
</message>
<message>
- <source>Downloading archive &apos;%1&apos; for component: %2</source>
- <translation>Scaricamento archivio &apos;%1&apos; per componente: %2</translation>
+ <source>Downloading archive &quot;%1&quot; for component %2.</source>
+ <translation>Download archivio &quot;%1&quot; per il componente %2.</translation>
</message>
<message>
- <source>Scheme not supported: %1 (%2)</source>
- <translation>Schema non supportato: %1 (%2)</translation>
+ <source>Scheme %1 not supported (URL: %2).</source>
+ <translation>Schema %1 non supportato (URL: %2).</translation>
</message>
<message>
- <source>Cannot find component for: %1.</source>
- <translation>Impossibile trovare il componente per : %1.</translation>
+ <source>Cannot find component for %1.</source>
+ <translation>Impossibile trovare il componente per %1.</translation>
</message>
</context>
<context>
<name>QInstaller::Downloader</name>
<message>
- <source>Target &apos;%1&apos; not open for write. Error: %2.</source>
+ <source>Target file &quot;%1&quot; already exists but is not a file.</source>
+ <translation>Il file di destinazione &quot;%1&quot; esiste già ma non è un file.</translation>
+ </message>
+ <message>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <extracomment>%2 is a sentence describing the error</extracomment>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la scrittura: %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>Target &apos;%1&apos; non aperto in scrittura. Errore: %2.</translation>
+ <translation>File &quot;%1&quot; non aperto per la scrittura: %2</translation>
</message>
<message>
- <source>Writing to target &apos;%1&apos; failed. Error: %2.</source>
+ <source>Writing to file &quot;%1&quot; failed: %2</source>
<extracomment>%2 is a sentence describing the error.</extracomment>
- <translation>Scrittura nel target &apos;%1&apos; fallita. Errore: %2.</translation>
+ <translation>Scrittura nel file &quot;%1&quot; non riuscita: %2</translation>
</message>
<message>
- <source>Redirect loop detected &apos;%1&apos;.</source>
- <translation>Rilevato loop di reindirizzamento &apos;%1&apos;.</translation>
+ <source>Redirect loop detected for &quot;%1&quot;.</source>
+ <translation>Rilevato ciclo di reindirizzamento per &quot;%1&quot;.</translation>
</message>
<message>
- <source>Checksum mismatch detected &apos;%1&apos;.</source>
- <translation>Rilevato checksum non corrispondente &apos;%1&apos;.</translation>
+ <source>Checksum mismatch detected for &quot;%1&quot;.</source>
+ <translation>Rilevata mancata corrispondenza checksum per &quot;%1&quot;.</translation>
</message>
<message>
<source>Network error while downloading &apos;%1&apos;: %2.</source>
- <extracomment>%2 is a sentence describing the error</extracomment>
- <translation>Errore di rete durante lo scaricamento di &apos;%1&apos;: %2.</translation>
+ <translation>Errore di rete durante il download di &apos;%1&apos;: %2.</translation>
</message>
<message>
- <source>Unknown network error while downloading: %1.</source>
+ <source>Unknown network error while downloading &quot;%1&quot;.</source>
<extracomment>%1 is a sentence describing the error</extracomment>
- <translation>Errore di rete sconosciuto durante lo scaricamento: %1.</translation>
- </message>
- <message>
- <source>Pause and resume not supported by network transfers.</source>
- <translation>Sospensione e ripristino non sono supportati dal trasferimento di rete.</translation>
+ <translation>Errore di rete sconosciuto durante il download di &quot;%1&quot;.</translation>
</message>
<message>
- <source>Invalid source &apos;%1&apos;. Error: %2.</source>
- <extracomment>%2 is a sentence describing the error</extracomment>
- <translation>Sorgente invalida &apos;%1&apos;. Errore: %2.</translation>
+ <source>Network transfers canceled.</source>
+ <translation>Trasferimenti rete annullati.</translation>
</message>
<message>
- <source>Target file &apos;%1&apos; already exists but is not a file.</source>
- <translation>Il file di destinazione &apos;%1&apos; è gia esistente ma non è un file.</translation>
+ <source>Pause and resume not supported by network transfers.</source>
+ <translation>I trasferimenti rete non supportano le operazioni di pausa e ripresa.</translation>
</message>
<message>
- <source>Cannot open target &apos;%1&apos; for write. Error: %2.</source>
+ <source>Invalid source URL &quot;%1&quot;: %2</source>
<extracomment>%2 is a sentence describing the error</extracomment>
- <translation>Impossibile aprire il file di destinazione &apos;%1&apos; in scrittura. Errore: %2.</translation>
+ <translation>URL di origine non valido &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>QInstaller::ElevatedExecuteOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argomenti invalidi in %0: forniti %1, %2 richiesti %3.</translation>
+ <source>Cannot start detached: &quot;%1&quot;</source>
+ <translation>Impossibile avvio scollegato: &quot;%1&quot;</translation>
</message>
<message>
- <source>at least 1</source>
- <translation>almeno 1</translation>
+ <source>Cannot start: &quot;%1&quot;: %2</source>
+ <translation>Impossibile avviare: &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Execution failed: Cannot start detached: &quot;%1&quot;</source>
- <translation>Esecuzione fallita:Impossibile iniziare: &quot;%1&quot;</translation>
+ <source>Program crashed: &quot;%1&quot;</source>
+ <translation>Arresto del programma: &quot;%1&quot;</translation>
</message>
<message>
- <source>Execution failed: Cannot start: &quot;%1&quot;(%2)</source>
- <translation>Esecuzione fallita:Impossibile iniziare: &quot;%1&quot;(%2)</translation>
- </message>
- <message>
- <source>Execution failed(Crash): &quot;%1&quot;</source>
- <translation>Esecuzione fallita(Crash): &quot;%1&quot;</translation>
- </message>
- <message>
- <source>Execution failed(Unexpected exit code: %1): &quot;%2&quot;</source>
- <translation>Esecuzione fallita(Codice di uscita inaspettato: %1): &quot;%2&quot;</translation>
- </message>
-</context>
-<context>
- <name>QInstaller::EnvironmentVariableOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argomenti invalidi in %0: forniti %1, %2 richiesti %3.</translation>
- </message>
- <message>
- <source>2 to 4</source>
- <translation>da 2 a 4</translation>
- </message>
-</context>
-<context>
- <name>QInstaller::ExtractArchiveOperation</name>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argomenti invalidi in %0: forniti %1, %2 richiesti %3.</translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation>esattamente 2</translation>
+ <source>Execution failed (Unexpected exit code: %1): &quot;%2&quot;</source>
+ <translation>Esecuzione non riuscita (codice di uscita imprevisto: %1): &quot;%2&quot;</translation>
</message>
</context>
<context>
<name>QInstaller::ExtractArchiveOperation::Runnable</name>
<message>
- <source>Cannot open %1 for reading: %2.</source>
- <translation>Impossibile aprire %1 in lettura: %2.</translation>
+ <source>Cannot open archive &quot;%1&quot; for reading: %2</source>
+ <translation>Impossibile aprire l’archivio &quot;%1&quot; per la lettura: %2</translation>
</message>
<message>
- <source>Error while extracting &apos;%1&apos;: %2</source>
- <translation>Errore durante l&apos;estrazione &apos;%1&apos;: %2</translation>
+ <source>Error while extracting archive &quot;%1&quot;: %2</source>
+ <translation>Errore durante l&apos;estrazione dell&apos;archivio &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Unknown exception caught while extracting %1.</source>
- <translation>Eccezzione sconosciuta durante l&apos;estrazione %1.</translation>
+ <source>Unknown exception caught while extracting &quot;%1&quot;.</source>
+ <translation>Rilevata eccezione sconosciuta durante l&apos;estrazione di &quot;%1&quot;.</translation>
</message>
</context>
<context>
<name>QInstaller::FakeStopProcessForUpdateOperation</name>
<message>
- <source>Number of arguments does not match: one is required</source>
- <translation>Il numero di argomenti non corrisponde: solo uno è richiesto</translation>
- </message>
- <message>
<source>Cannot get package manager core.</source>
- <translation>Impossibile prendere il cuore del gestore pacchetti.</translation>
+ <translation>Impossibile ottenere core di gestione pacchetti.</translation>
</message>
<message>
<source>This process should be stopped before continuing: %1</source>
- <translation>Questo processo dovrebbe essere fermato prima di continuare: %1</translation>
+ <translation>Questo processo deve essere arrestato prima di continuare: %1</translation>
</message>
<message>
<source>These processes should be stopped before continuing: %1</source>
- <translation>Questi processi dovrebbe essere fermato prima di continuare: %1</translation>
+ <translation>Questi processi devono essere arrestati prima di continuare: %1</translation>
</message>
</context>
<context>
@@ -1388,43 +1216,39 @@ Errore durante lo scaricamento %2</translation>
</message>
<message>
<source>%1 received.</source>
- <translation>ricevuti %1.</translation>
+ <translation>%1 ricevuto.</translation>
</message>
<message>
<source>(%1/sec)</source>
- <translation></translation>
+ <translation>(%1/sec)</translation>
</message>
<message numerus="yes">
<source>%n day(s), </source>
<translation>
- <numerusform>%n giorni, </numerusform>
- <numerusform></numerusform>
+ <numerusform>%n giorno/i, </numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n hour(s), </source>
<translation>
- <numerusform>%n ore, </numerusform>
- <numerusform></numerusform>
+ <numerusform>%n ora/e, </numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n minute(s)</source>
<translation>
- <numerusform>%n muniti</numerusform>
- <numerusform></numerusform>
+ <numerusform>%n minuto/i</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n second(s)</source>
<translation>
- <numerusform>%n secondi</numerusform>
- <numerusform></numerusform>
+ <numerusform>%n secondo/i</numerusform>
</translation>
</message>
<message>
<source> - %1%2%3%4 remaining.</source>
- <translation>- rimanenti %1%2%3%4.</translation>
+ <translation> - %1%2%3%4 rimanente.</translation>
</message>
<message>
<source> - unknown time remaining.</source>
@@ -1435,112 +1259,92 @@ Errore durante lo scaricamento %2</translation>
<name>QInstaller::FinishedPage</name>
<message>
<source>Completing the %1 Wizard</source>
- <translation>Completata la procedura guidata per %1</translation>
- </message>
- <message>
- <source>Click Done to exit the %1 Wizard.</source>
- <translation>Clicca Fatto per uscire dalla procedura guidata di %1.</translation>
+ <translation>Completamento della procedura guidata %1</translation>
</message>
<message>
- <source>Click Finish to exit the %1 Wizard.</source>
- <translation>Clicca Finito per uscire dalla procedura guidata di %1.</translation>
+ <source>Click %1 to exit the %2 Wizard.</source>
+ <translation>Fare clic su %1 per uscire dalla procedura guidata %2.</translation>
</message>
<message>
<source>Restart</source>
- <translation>Riavvio</translation>
+ <translation>Riavvia</translation>
</message>
<message>
<source>Run %1 now.</source>
- <translation>Inizia %1 ora.</translation>
+ <translation>Eseguire %1 ora.</translation>
</message>
<message>
<source>The %1 Wizard failed.</source>
- <translation>La procedura guidata di %1 è fallita.</translation>
+ <translation>Procedura guidata %1 non riuscita.</translation>
</message>
</context>
<context>
<name>QInstaller::GlobalSettingsOperation</name>
<message>
- <source>Settings are not writable</source>
- <translation>Le impostazioni non sono scrivibili</translation>
+ <source>Settings are not writable.</source>
+ <translation>Le impostazioni non sono scrivibili.</translation>
</message>
<message>
- <source>Failed to write settings</source>
- <translation>Fallita la scrittura della configurazione</translation>
- </message>
- <message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argomenti invalidi in %0: forniti %1, %2 richiesti %3.</translation>
- </message>
- <message>
- <source>3, 4 or 5</source>
- <translation>3,4 o 5</translation>
+ <source>Failed to write settings.</source>
+ <translation>Impossibile scrivere le impostazioni.</translation>
</message>
</context>
<context>
<name>QInstaller::InstallIconsOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argomenti invalidi in %0: forniti %1, %2 richiesti %3.</translation>
- </message>
- <message>
- <source>1 or 2</source>
- <translation>1 o 2</translation>
+ <source>&lt;source path&gt; [vendor prefix]</source>
+ <translation>&lt;source path&gt; [vendor prefix]</translation>
</message>
<message>
- <source> (Sourcepath, [Vendorprefix])</source>
- <translation></translation>
+ <source>Invalid Argument: source directory must not be empty.</source>
+ <translation>Argomento non valido: la directory di origine non deve essere vuota.</translation>
</message>
<message>
- <source>Invalid Argument: source folder must not be empty.</source>
- <translation>Argomenti invalidi: la cartella sorgente non deve essere vuota.</translation>
+ <source>Cannot backup file &quot;%1&quot;: %2</source>
+ <translation>Impossibile eseguire il backup del file &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Cannot backup file %1: %2</source>
- <translation>Impossibile eseguire il backup del file %1: %2</translation>
+ <source>Failed to overwrite &quot;%1&quot;: %2</source>
+ <translation>Impossibile sovrascrivere &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Failed to overwrite %1: %2</source>
- <translation>Impossibile sovrascrivere %1: %2</translation>
+ <source>Failed to copy file &quot;%1&quot;: %2</source>
+ <translation>Impossibile copiare il file &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Failed to copy file %1: %2</source>
- <translation>Impossibile copiare %1: %2</translation>
- </message>
- <message>
- <source>Cannot create folder at %1: %2</source>
- <translation>Impossibile creare la cartella %1: %2</translation>
+ <source>Cannot create directory &quot;%1&quot;: %2</source>
+ <translation>Impossibile creare la directory &quot;%1&quot;: %2</translation>
</message>
</context>
<context>
<name>QInstaller::IntroductionPage</name>
<message>
<source>Setup - %1</source>
- <translation type="unfinished"></translation>
+ <translation>Installazione - %1</translation>
</message>
<message>
<source>Welcome to the %1 Setup Wizard.</source>
- <translation type="unfinished"></translation>
+ <translation>Installazione guidata di %1.</translation>
</message>
<message>
<source>Add or remove components</source>
- <translation>Aggiungere o rimuovere componenti</translation>
+ <translation>Aggiungi o rimuovi componenti</translation>
</message>
<message>
<source>Update components</source>
- <translation>Aggiornamento componenti</translation>
+ <translation>Aggiorna componenti</translation>
</message>
<message>
<source>Remove all components</source>
- <translation>Rimozione di tutti i componenti</translation>
+ <translation>Rimuovi tutti i componenti</translation>
</message>
<message>
<source>Retrieving information from remote installation sources...</source>
- <translation type="unfinished"></translation>
+ <translation>Recupero informazioni dalle origini di installazione remote in corso...</translation>
</message>
<message>
<source>At least one valid and enabled repository required for this action to succeed.</source>
- <translation type="unfinished"></translation>
+ <translation>Richiesto almeno un repository valido e abilitato per il completamento di questa azione.</translation>
</message>
<message>
<source>No updates available.</source>
@@ -1548,11 +1352,11 @@ Errore durante lo scaricamento %2</translation>
</message>
<message>
<source> Only local package management available.</source>
- <translation type="unfinished"></translation>
+ <translation> Disponibile solo gestione pacchetto locale.</translation>
</message>
<message>
<source>Quit</source>
- <translation>Uscita</translation>
+ <translation>Esci</translation>
</message>
</context>
<context>
@@ -1564,11 +1368,16 @@ Errore durante lo scaricamento %2</translation>
<message>
<source>Alt+A</source>
<comment>agree license</comment>
- <translation></translation>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <source>Alt+D</source>
+ <comment>do not agree license</comment>
+ <translation>Alt+D</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>Leggere il seguente contratto di licenza. E&apos; necessario accettare i termini contenuti in questo contratto prima di continuare con l&apos;installazione.</translation>
+ <translation>Leggere il seguente contratto di licenza. È necessario accettare i termini contenuti in questo contratto prima di continuare l&apos;installazione.</translation>
</message>
<message>
<source>I accept the license.</source>
@@ -1580,7 +1389,7 @@ Errore durante lo scaricamento %2</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>Leggere il seguente contratto di licenza. E&apos; necessario accettare i termini contenuti in questo contratto prima di continuare con l&apos;installazione.</translation>
+ <translation>Leggere i seguenti contratti di licenza. È necessario accettare i termini contenuti in questi contratti prima di continuare l&apos;installazione.</translation>
</message>
<message>
<source>I accept the licenses.</source>
@@ -1590,140 +1399,131 @@ Errore durante lo scaricamento %2</translation>
<source>I do not accept the licenses.</source>
<translation>Non accetto le licenze.</translation>
</message>
- <message>
- <source>Alt+D</source>
- <comment>do not agree license</comment>
- <translation></translation>
- </message>
</context>
<context>
<name>QInstaller::LicenseOperation</name>
<message>
<source>No license files found to copy.</source>
- <translation>Nessun file di licenza trovato da copiare.</translation>
+ <translation>Nessun file di licenza da copiare trovato.</translation>
</message>
<message>
<source>Needed installer object in %1 operation is empty.</source>
- <translation>Oggetto installer necessario in %1 l&apos;operazione è vuota.</translation>
+ <translation>L&apos;oggetto programma di installazione necessario nell&apos;operazione %1 è vuoto.</translation>
</message>
<message>
- <source>Can not write license file: %1.</source>
- <translation>Impossibile scrivere il file di licenza: %1.</translation>
+ <source>Can not write license file &quot;%1&quot;.</source>
+ <translation>Impossibile scrivere il file di licenza &quot;%1&quot;.</translation>
</message>
<message>
<source>No license files found to delete.</source>
- <translation>Nessun file di licenza trovato da eliminare.</translation>
+ <translation>Nessun file di licenza da eliminare trovato.</translation>
</message>
</context>
<context>
<name>QInstaller::LineReplaceOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argomenti invalidi in %0: forniti %1, %2 richiesti %3.</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la lettura: %2</translation>
</message>
<message>
- <source>exactly 3</source>
- <translation>esattamente 3</translation>
- </message>
- <message>
- <source>Failed to open &apos;%1&apos; for reading.</source>
- <translation>Fallita l&apos;apertura del file %1 in lettura.</translation>
- </message>
- <message>
- <source>Failed to open &apos;%1&apos; for writing.</source>
- <translation>Fallita l&apos;apertura del file %1 in scrittura.</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la scrittura: %2</translation>
</message>
</context>
<context>
<name>QInstaller::MetadataJob</name>
<message>
<source>Missing package manager core engine.</source>
- <translation>Manca il motore per la gestione dei pacchetti.</translation>
+ <translation>Motore core di gestione pacchetti mancante.</translation>
</message>
<message>
<source>Preparing meta information download...</source>
- <translation>Preparazione scaricamento metadati...</translation>
+ <translation>Preparazione del download delle informazioni sui metadati...</translation>
+ </message>
+ <message>
+ <source>Unpacking compressed repositories. This may take a while...</source>
+ <translation>Decompressione repository compressi. Potrebbe volerci qualche momento...</translation>
</message>
<message>
<source>Meta data download canceled.</source>
- <translation>Scaricamento dei meta dati annullato.</translation>
+ <translation>Download dei metadati annullato.</translation>
+ </message>
+ <message>
+ <source>Unknown exception during extracting.</source>
+ <translation>Eccezione sconosciuta durante l&apos;estrazione.</translation>
</message>
<message>
<source>Missing proxy credentials.</source>
- <translation>Le credenziali del proxy sono mancanti.</translation>
+ <translation>Credenziali proxy mancanti.</translation>
</message>
<message>
<source>Authentication failed.</source>
- <translation>Autentificazione fallita.</translation>
+ <translation>Autenticazione non riuscita.</translation>
</message>
<message>
<source>Unknown exception during download.</source>
- <translation>Eccezzione sconosciuta durante download.</translation>
+ <translation>Eccezione sconosciuta durante il download.</translation>
</message>
<message>
- <source>Retrieving meta information from remote repository...</source>
- <translation>Recupero metadati da repository remoto...</translation>
+ <source>Failure to fetch repositories.</source>
+ <translation>Impossibile recuperare repository.</translation>
</message>
<message>
- <source>Failure to fetch repositories.</source>
- <translation>Fallito il fetch del repository.</translation>
+ <source>Extracting meta information...</source>
+ <translation>Estrazione informazioni sui metadati in corso...</translation>
</message>
<message>
- <source>Unknown exception during extracting.</source>
- <translation>Eccezzione sconosciuta durante l&apos;estrazione.</translation>
+ <source>Retrieving meta information from remote repository... %1/%2 </source>
+ <translation>Recupero delle informazioni sui metadati dal repository remoto in corso... %1/%2 </translation>
</message>
<message>
- <source>Extracting meta information...</source>
- <translation>Estrazione metadati ...</translation>
+ <source>Retrieving meta information from remote repository... </source>
+ <translation>Recupero delle informazioni sui metadati dal repository remoto in corso... </translation>
</message>
<message>
- <source>Error while extracting &apos;%1&apos;: %2</source>
- <translation>Errore durante l&apos;estrazione di &apos;%1&apos;: %2</translation>
+ <source>Error while extracting archive &quot;%1&quot;: %2</source>
+ <translation>Errore durante l&apos;estrazione dell&apos;archivio &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Unknown exception caught while extracting %1.</source>
- <translation>Eccezzione sconosciuta durante l&apos;estrazione %1.</translation>
+ <source>Unknown exception caught while extracting archive &quot;%1&quot;.</source>
+ <translation>Rilevata eccezione sconosciuta durante l&apos;estrazione dell&apos;archivio &quot;%1&quot;.</translation>
</message>
<message>
- <source>Cannot open %1 for reading. Error: %2</source>
- <translation>Impossibile aprire %1 in lettura. Errore: %2</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la lettura: %2</translation>
</message>
</context>
<context>
<name>QInstaller::PackageManagerCore</name>
<message>
+ <source>Error writing Maintenance Tool</source>
+ <translation>Errore durante la scrittura dello strumento di manutenzione</translation>
+ </message>
+ <message>
<source>
Downloading packages...</source>
<translation>
-Scaricamento pacchetti...</translation>
+Download pacchetti in corso...</translation>
</message>
<message>
- <source>Installation canceled by user</source>
- <translation>Installazione cancellata dall&apos;utente</translation>
+ <source>Installation canceled by user.</source>
+ <translation>Installazione annullata dall&apos;utente.</translation>
</message>
<message>
<source>All downloads finished.</source>
- <translation>Tutti i downloads sono finiti.</translation>
- </message>
- <message>
- <source>Error</source>
- <translation>Errore</translation>
+ <translation>Completati tutti i download.</translation>
</message>
<message>
<source>Cancelling the Installer</source>
<translation>Annullamento del programma di installazione</translation>
</message>
<message>
- <source>Error writing Maintenance Tool</source>
- <translation>Errore di scrittura Maintenance Tool</translation>
- </message>
- <message>
<source>Authentication Error</source>
- <translation>Errore di autentificazione</translation>
+ <translation>Errore di autenticazione</translation>
</message>
<message>
- <source>Some components could not be removed completely because admin rights could not be acquired: %1.</source>
- <translation>Alcuni componenti non sono stati rimossi completamente perchè i diritti di amministratore non sono stati acquisiti: %1.</translation>
+ <source>Some components could not be removed completely because administrative rights could not be acquired: %1.</source>
+ <translation>Alcuni componenti non possono essere rimossi completamente poiché non è possibile acquisire diritti di amministrazione: %1.</translation>
</message>
<message>
<source>Unknown error.</source>
@@ -1731,36 +1531,52 @@ Scaricamento pacchetti...</translation>
</message>
<message>
<source>Some components could not be removed completely because an unknown error happened.</source>
- <translation>Alcuni componenti non sono stati rimossi completamente perchè si è presentato un errore sconosciuto.</translation>
+ <translation>Alcuni componenti non possono essere rimossi completamente a causa di un errore sconosciuto.</translation>
</message>
<message>
- <source>Application not running in Package Manager mode!</source>
- <translation>Applicazione non in esecuzione in modalità Package Manager!</translation>
+ <source>Application not running in Package Manager mode.</source>
+ <translation>L&apos;applicazione non è in esecuzione in modalità Gestione pacchetti.</translation>
</message>
<message>
<source>No installed packages found.</source>
- <translation>Nessun pacchetto di installazione trovato.</translation>
+ <translation>Nessun pacchetto installato trovato.</translation>
</message>
<message>
- <source>Application running in Uninstaller mode!</source>
- <translation>Applicazione avviata in modalità di disinstallazione!</translation>
+ <source>Application running in Uninstaller mode.</source>
+ <translation>L&apos;applicazione è in esecuzione in modalità Programma di disinstallazione.</translation>
</message>
<message>
<source>There is an important update available, please run the updater first.</source>
- <translation>E&apos; disponibile un aggiornamento importante, eseguire l&apos;aggiornamento prima.</translation>
+ <translation>È disponibile un aggiornamento importante, eseguire innanzitutto l&apos;updater.</translation>
+ </message>
+ <message>
+ <source>Cannot resolve all dependencies.</source>
+ <translation>Impossibile risolvere tutte le dipendenze.</translation>
+ </message>
+ <message>
+ <source>Components about to be removed.</source>
+ <translation>Componenti che si sta per rimuovere.</translation>
</message>
<message>
<source>Error while elevating access rights.</source>
<translation>Errore durante l&apos;elevazione dei diritti di accesso.</translation>
</message>
<message>
+ <source>Error</source>
+ <translation>Errore</translation>
+ </message>
+ <message>
<source>invalid</source>
- <translation>invalido</translation>
+ <translation>non valido</translation>
</message>
</context>
<context>
<name>QInstaller::PackageManagerCorePrivate</name>
<message>
+ <source>Unresolved dependencies</source>
+ <translation>Dipendenze non risolte</translation>
+ </message>
+ <message>
<source>Error</source>
<translation>Errore</translation>
</message>
@@ -1774,23 +1590,51 @@ Scaricamento pacchetti...</translation>
</message>
<message>
<source>Cannot write installer configuration to %1: %2</source>
- <translation>Impossibile scrivere la configurazione dell&apos;installer in %1: %2</translation>
+ <translation>Impossibile scrivere la configurazione del programma di installazione in %1: %2</translation>
</message>
<message>
<source>Stop Processes</source>
- <translation>Stop Processi</translation>
+ <translation>Arresta processi</translation>
</message>
<message>
<source>These processes should be stopped to continue:
%1</source>
- <translation>Questi processi debbono essere fermati per continuare:
+ <translation>Questi processi devono essere arrestati per continuare:
%1</translation>
</message>
<message>
<source>Installation canceled by user</source>
- <translation>Installazione fermata dall&apos;utente</translation>
+ <translation>Installazione annullata dall&apos;utente</translation>
+ </message>
+ <message>
+ <source>Writing maintenance tool.</source>
+ <translation>Scrittura dello strumento di manutenzione.</translation>
+ </message>
+ <message>
+ <source>Failed to seek in file %1: %2</source>
+ <translation>Impossibile cercare nel file %1: %2</translation>
+ </message>
+ <message>
+ <source>Maintenance tool is not a bundle</source>
+ <translation>Lo strumento di manutenzione non è un bundle</translation>
+ </message>
+ <message>
+ <source>Cannot remove data file &quot;%1&quot;: %2</source>
+ <translation>Impossibile rimuovere il file di dati &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot write maintenance tool data to %1: %2</source>
+ <translation>Impossibile scrivere i dati dello strumento di manutenzione in %1: %2</translation>
+ </message>
+ <message>
+ <source>Cannot write maintenance tool to &quot;%1&quot;: %2</source>
+ <translation>Impossibile scrivere lo strumento di manutenzione in &quot;%1&quot;: %2</translation>
+ </message>
+ <message>
+ <source>Cannot write maintenance tool binary data to %1: %2</source>
+ <translation>Impossibile scrivere i dati binari dello strumento di manutenzione in %1: %2</translation>
</message>
<message>
<source>Variable &apos;TargetDir&apos; not set.</source>
@@ -1798,86 +1642,55 @@ Scaricamento pacchetti...</translation>
</message>
<message>
<source>Preparing the installation...</source>
- <translation>Preparazione dell&apos;installazione...</translation>
+ <translation>Preparazione dell&apos;installazione in corso...</translation>
</message>
<message>
<source>It is not possible to install from network location</source>
- <translation>Impossibile installare dal percorso di rete</translation>
+ <translation>Impossibile installare dalla posizione di rete</translation>
</message>
<message>
<source>Creating local repository</source>
<translation>Creazione repository locale</translation>
</message>
<message>
+ <source>Creating Maintenance Tool</source>
+ <translation>Creazione strumento di manutenzione</translation>
+ </message>
+ <message>
<source>
Installation finished!</source>
<translation>
-Installazione finita!</translation>
+Installazione completata.</translation>
</message>
<message>
<source>
Installation aborted!</source>
<translation>
-Installazione interrotta!</translation>
+Installazione annullata.</translation>
</message>
<message>
<source>It is not possible to run that operation from a network location</source>
- <translation>Impossibile eseguire l&apos;operazione dal percorso di rete</translation>
+ <translation>Impossibile eseguire l&apos;operazione da una posizione di rete</translation>
</message>
<message>
<source>Removing deselected components...</source>
- <translation>Rimozione componenti deselezionati...</translation>
+ <translation>Rimozione dei componenti deselezionati in corso...</translation>
</message>
<message>
<source>
Update finished!</source>
<translation>
-Aggiornamento finito!</translation>
+Aggiornamento completato.</translation>
</message>
<message>
<source>
Update aborted!</source>
- <translation>Aggiornamento interrotto!</translation>
- </message>
- <message>
- <source>Unresolved dependencies</source>
- <translation>Dipendenze non risolte</translation>
- </message>
- <message>
- <source>Writing maintenance tool.</source>
- <translation>Scrittura tool di mantenimento.</translation>
- </message>
- <message>
- <source>Failed to seek in file %1: %2</source>
- <translation>Fallito lo spostamento nel file %1: %2</translation>
- </message>
- <message>
- <source>Maintenance tool is not a bundle</source>
- <translation></translation>
- </message>
- <message>
- <source>Cannot write maintenance tool data to %1: %2</source>
- <translation>Impossibile scrivere i dati del tool di mantenimento in %1: %2</translation>
- </message>
- <message>
- <source>Cannot remove data file &apos;%1&apos;: %2</source>
- <translation>Impossibile rimuovere i dati del file &apos;%1&apos;: %2</translation>
- </message>
- <message>
- <source>Cannot write maintenance tool to %1: %2</source>
- <translation>Impossibile scrivere il tool di mantenimento in %1: %2</translation>
- </message>
- <message>
- <source>Cannot write maintenance tool binary data to %1: %2</source>
- <translation>Impossibile scrivere i dati del tool di mantenimento in %1: %2</translation>
- </message>
- <message>
- <source>Creating Maintenance Tool</source>
- <translation>Creazione tool di mantenimento</translation>
+ <translation>
+Aggiornamento annullato.</translation>
</message>
<message>
<source>Uninstallation completed successfully.</source>
- <translation>Disinstallazione completata con successo.</translation>
+ <translation>Disinstallazione completata.</translation>
</message>
<message>
<source>Uninstallation aborted.</source>
@@ -1885,18 +1698,18 @@ Update aborted!</source>
</message>
<message>
<source>
-Installing component %1...</source>
+Installing component %1</source>
<translation>
-Installazione componenti %1...</translation>
+Installazione componente %1</translation>
</message>
<message>
<source>Installer Error</source>
- <translation>Errore Installer</translation>
+ <translation>Errore del programma di installazione</translation>
</message>
<message>
<source>Error during installation process (%1):
%2</source>
- <translation>Errore durante il processo di installazione (%1)
+ <translation>Errore durante il processo di installazione (%1):
%2</translation>
</message>
<message>
@@ -1905,7 +1718,7 @@ Installazione componenti %1...</translation>
</message>
<message>
<source>Cannot start uninstall</source>
- <translation>Impossibile iniziare la disinstallazione</translation>
+ <translation>Impossibile avviare la disinstallazione</translation>
</message>
<message>
<source>Error during uninstallation process:
@@ -1918,67 +1731,67 @@ Installazione componenti %1...</translation>
<translation>Errore sconosciuto</translation>
</message>
<message>
- <source>Cannot retrieve remote tree: %1.</source>
- <translation></translation>
+ <source>Cannot retrieve remote tree %1.</source>
+ <translation>Impossibile recuperare l&apos;albero remoto %1.</translation>
</message>
<message>
- <source>Failure to read packages from: %1.</source>
- <translation>Fallita la lettura del pacchetto da: %1.</translation>
+ <source>Failure to read packages from %1.</source>
+ <translation>Impossibile leggere pacchetti da %1.</translation>
</message>
<message>
<source>Cannot retrieve meta information: %1</source>
- <translation>Impossibile recuperare i meta dati: %1</translation>
+ <translation>Impossibile recuperare le meta informazioni: %1</translation>
</message>
<message>
<source>Cannot add temporary update source information.</source>
- <translation></translation>
+ <translation>Impossibile aggiungere informazioni sull&apos;origine di aggiornamento temporanea.</translation>
</message>
<message>
<source>Cannot find any update source information.</source>
- <translation>Impossibile trovare le informazioni per l&apos;aggiornamento.</translation>
+ <translation>Impossibile trovare informazioni sull&apos;origine di aggiornamento.</translation>
</message>
<message>
- <source>Dependency cycle between components detected: &apos;%1&apos; and &apos;%2&apos;.</source>
- <translation>Rilevato ciclo di dipendenza tra i componenti: &apos;%1&apos; e &apos;%2&apos;.</translation>
+ <source>Dependency cycle between components &quot;%1&quot; and &quot;%2&quot; detected.</source>
+ <translation>Rilevato ciclo di dipendenza tra i componenti &quot;%1&quot; e &quot;%2&quot;</translation>
</message>
</context>
<context>
<name>QInstaller::PackageManagerGui</name>
<message>
<source>%1 Setup</source>
- <translation>Configurazione di %1</translation>
+ <translation>Installazione di %1</translation>
</message>
<message>
<source>Maintain %1</source>
- <translation>Mantenimento di %1</translation>
+ <translation>Manutenzione %1</translation>
</message>
<message>
<source>Do you want to cancel the installation process?</source>
- <translation>Vuoi annullare il processo di installazione?</translation>
+ <translation>Annullare il processo di installazione?</translation>
</message>
<message>
<source>Do you want to cancel the uninstallation process?</source>
- <translation>Vuoi annullare il processo di disinstallazione?</translation>
+ <translation>Annullare il processo di disinstallazione?</translation>
</message>
<message>
<source>Do you want to quit the installer application?</source>
- <translation>Vuoi uscire dall&apos;applicazione di installazione?</translation>
+ <translation>Uscire dal programma di installazione?</translation>
</message>
<message>
<source>Do you want to quit the uninstaller application?</source>
- <translation>Vuoi uscire dall&apos;applicazione di disinstallazione?</translation>
+ <translation>Uscire dal programma di disinstallazione?</translation>
</message>
<message>
<source>Do you want to quit the maintenance application?</source>
- <translation>Vuoi uscire dall&apos;applicazione di mantenimento?</translation>
+ <translation>Uscire dall&apos;applicazione di manutenzione?</translation>
</message>
<message>
- <source>Question</source>
- <translation>Domanda</translation>
+ <source>%1 Question</source>
+ <translation>%1 Domanda</translation>
</message>
<message>
<source>Settings</source>
- <translation>Configurazioni</translation>
+ <translation>Impostazioni</translation>
</message>
<message>
<source>Error</source>
@@ -1987,19 +1800,19 @@ Installazione componenti %1...</translation>
<message>
<source>It is not possible to install from network location.
Please copy the installer to a local drive</source>
- <translation>E&apos; impossibile installare dal percorso di rete.
-Copiare l&apos;installer in locale</translation>
+ <translation>Impossibile effettuare la disinstallazione da una posizione di rete.
+Copiare il programma di installazione in un&apos;unità locale</translation>
</message>
</context>
<context>
<name>QInstaller::PerformInstallationForm</name>
<message>
<source>&amp;Show Details</source>
- <translation>&amp;Mostra Dettagli</translation>
+ <translation>&amp;Mostra dettagli</translation>
</message>
<message>
<source>&amp;Hide Details</source>
- <translation>&amp;Nascondi Dettagli</translation>
+ <translation>&amp;Nascondi dettagli</translation>
</message>
</context>
<context>
@@ -2010,11 +1823,11 @@ Copiare l&apos;installer in locale</translation>
</message>
<message>
<source>Uninstalling %1</source>
- <translation>Disinstallazione %1</translation>
+ <translation>Disinstallazione di %1</translation>
</message>
<message>
<source>&amp;Update</source>
- <translation></translation>
+ <translation>&amp;Aggiorna</translation>
</message>
<message>
<source>Updating components of %1</source>
@@ -2033,7 +1846,7 @@ Copiare l&apos;installer in locale</translation>
<name>QInstaller::ProxyCredentialsDialog</name>
<message>
<source>Dialog</source>
- <translation>Finestra</translation>
+ <translation>Finestra di dialogo</translation>
</message>
<message>
<source>The proxy %1 requires a username and password.</source>
@@ -2049,11 +1862,15 @@ Copiare l&apos;installer in locale</translation>
</message>
<message>
<source>Password:</source>
- <translation></translation>
+ <translation>Password:</translation>
</message>
<message>
<source>Password</source>
- <translation></translation>
+ <translation>Password</translation>
+ </message>
+ <message>
+ <source>Proxy Credentials</source>
+ <translation>Credenziali proxy</translation>
</message>
</context>
<context>
@@ -2064,23 +1881,23 @@ Copiare l&apos;installer in locale</translation>
</message>
<message>
<source>Ready to Uninstall</source>
- <translation>Pronto per la disinstallazione</translation>
+ <translation>Pronto alla disinstallazione</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>Il programma adesso è pronto per iniziare a rimuovere %1 dal tuo computer.&lt;br&gt;&lt;font color=&quot;red&quot;&gt;La cartella del programma %2 sarà completamente cancellata&lt;/font&gt; incluso tutto il suo contenuto!</translation>
+ <translation>Si è ora pronti per iniziare la rimozione di %1 dal computer.&lt;br&gt;&lt;font color=&quot;red&quot;&gt;La directory del programma %2 verrà eliminata completamente&lt;/font&gt;, incluso tutto il contenuto di tale directory!</translation>
</message>
<message>
<source>U&amp;pdate</source>
- <translation></translation>
+ <translation>A&amp;ggiorna</translation>
</message>
<message>
<source>Ready to Update Packages</source>
- <translation>Pronto per aggiornare i pacchetti</translation>
+ <translation>Pronto all&apos;aggiornamento dei pacchetti</translation>
</message>
<message>
<source>Setup is now ready to begin updating your installation.</source>
- <translation>Il programma adesso è pronto per iniziare l&apos;aggiornamento dell&apos;installazione.</translation>
+ <translation>Si è ora pronti per iniziare l&apos;installazione.</translation>
</message>
<message>
<source>&amp;Install</source>
@@ -2088,143 +1905,124 @@ Copiare l&apos;installer in locale</translation>
</message>
<message>
<source>Ready to Install</source>
- <translation>Pronto per l&apos;installazione</translation>
+ <translation>Pronto all&apos;installazione</translation>
</message>
<message>
<source>Setup is now ready to begin installing %1 on your computer.</source>
- <translation>Il programma adesso è pronto per iniziare l&apos;installazione di %1 sul tuo computer.</translation>
+ <translation>Si è ora pronti per iniziare l&apos;installazione di %1 nel computer.</translation>
</message>
<message>
- <source>Not enough disk space to store temporary files and the installation! Available space: %1, at least required %2.</source>
- <translation>Spazio su disco insufficiente per creare i file temporanei e per l&apos;installazione! Spazio disponibile: %1, minimo necessario %2.</translation>
+ <source>Not enough disk space to store temporary files and the installation. %1 are available, while %2 are at least required.</source>
+ <translation>Spazio su disco insufficiente per memorizzare i file temporanei e l&apos;installazione. Spazio disponibile %1, spazio minimo richiesto %2.</translation>
</message>
<message>
- <source>Not enough disk space to store all selected components! Available space: %1, at least required: %2.</source>
- <translation>Spazio su disco insufficiente per installare tutti i pacchetti selezionati! Spazio disponibile: %1, minimo necessario %2.</translation>
+ <source>Not enough disk space to store all selected components! %1 are available while %2 are at least required.</source>
+ <translation>Spazio su disco insufficiente per memorizzare tutti i componenti selezionati! Spazio disponibile %1, spazio minimo richiesto %2.</translation>
</message>
<message>
- <source>Not enough disk space to store temporary files! Available space: %1, at least required: %2.</source>
- <translation>Spazio su disco insufficiente per archiviare i file temporanei! Spazio disponibile: %1, minimo necessario %2.</translation>
+ <source>Not enough disk space to store temporary files! %1 are available while %2 are at least required.</source>
+ <translation>Spazio su disco insufficiente per memorizzare i file temporanei! Spazio disponibile %1, spazio minimo richiesto %2.</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>Il volume che hai selezionato per l&apos;installazione ha spazio sufficiente, ma dopo ci sarà meno dell 1% di spazio disponibile sul volume. %1</translation>
+ <translation>Lo spazio per l&apos;installazione del volume selezionato per l&apos;installazione pare sufficiente, tuttavia successivamente resterà meno dell&apos;1% del volume di spazio disponibile. %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>Il volume che hai selezionato per l&apos;installazione ha spazio sufficiente, ma dopo ci saranno meno di 100 MB disponibili. %1</translation>
+ <translation>Lo spazio per l&apos;installazione del volume selezionato per l&apos;installazione pare sufficiente, tuttavia successivamente resteranno meno di 100 MB disponibili. %1. %1</translation>
</message>
<message>
<source>Installation will use %1 of disk space.</source>
- <translation>L&apos;installazione userà %1 di spazio sul disco.</translation>
- </message>
- <message>
- <source>Cannot resolve all dependencies.</source>
- <translation>Impossibile risolvere tutte le dipendenze.</translation>
- </message>
- <message>
- <source>Components about to be removed.</source>
- <translation>Compenenti da rimuovere.</translation>
+ <translation>L&apos;installazione utilizzerà %1 di spazio su disco.</translation>
</message>
</context>
<context>
<name>QInstaller::RegisterFileTypeOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argomenti invalidi in %0: forniti %1, %2 richiesti %3.</translation>
- </message>
- <message>
- <source>2 to 5</source>
- <translation>da 2 a 5</translation>
+ <source>&lt;extension&gt; &lt;command&gt; [description [contentType [icon]]]</source>
+ <translation>&lt;extension&gt; &lt;command&gt; [description [contentType [icon]]]</translation>
</message>
<message>
<source>Registering file types is only supported on Windows.</source>
- <translation>File di tipo registro sono supportati solo su WINDOWS.</translation>
+ <translation>La registrazione dei tipi di file è supportata solo in Windows.</translation>
</message>
<message>
<source>Register File Type: Invalid arguments</source>
- <translation>Tipi di file di registro: Argomenti invalidi</translation>
+ <translation>Tipo di file di registro: argomenti non validi</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>Impossibile leggere tutti i dati dopo l&apos;invio del comando: %1. Bytes aspettati: %2, Bytes ricevuti: %3. Errori: %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 type="vanished">Impossibile leggere tutti i dati dopo l&apos;invio del comando: %1. Bytes aspettati: %2, Bytes ricevuti: %3. Errori: %4</translation>
+ <translation>Impossibile leggere tutti i dati dopo l&apos;invio del comando: %1. Byte previsti: %2; Byte ricevuti: %3. Errore: %4</translation>
</message>
</context>
<context>
<name>QInstaller::ReplaceOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argomenti invalidi in %0: forniti %1, %2 richiesti %3.</translation>
+ <source>Cannot open file &quot;%1&quot; for reading: %2</source>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la lettura: %2</translation>
</message>
<message>
- <source>exactly 3</source>
- <translation>esattamente 3</translation>
- </message>
- <message>
- <source>Failed to open %1 for reading</source>
- <translation>Fallita l&apos;apertura del file %1 in lettura</translation>
- </message>
- <message>
- <source>Failed to open %1 for writing</source>
- <translation>Fallita l&apos;apertura del file %1 in scrittura</translation>
+ <source>Cannot open file &quot;%1&quot; for writing: %2</source>
+ <translation>Impossibile aprire il file &quot;%1&quot; per la scrittura: %2</translation>
</message>
</context>
<context>
<name>QInstaller::Resource</name>
<message>
- <source>Cannot open Resource &apos;%1&apos; read-only.</source>
- <translation>Impossibile aprire la Risorsa &apos;%1&apos; in sola lettura.</translation>
+ <source>Cannot open resource %1 for reading.</source>
+ <translation>Impossibile aprire la risorsa %1 per la lettura.</translation>
</message>
<message>
<source>Read failed after %1 bytes: %2</source>
- <translation>Lettura fallita dopo %1 bytes: %2</translation>
+ <translation>Lettura non riuscita dopo %1 byte: %2</translation>
</message>
<message>
<source>Write failed after %1 bytes: %2</source>
- <translation>Scrittura fallita dopo %1 bytes: %2</translation>
+ <translation>Scrittura non riuscita dopo %1 byte: %2</translation>
</message>
</context>
<context>
<name>QInstaller::RestartPage</name>
<message>
<source>Completing the %1 Setup Wizard</source>
- <translation>Completamento dell&apos;installazione guidata del %1</translation>
+ <translation>Completamento dell&apos;installazione guidata di %1</translation>
</message>
</context>
<context>
<name>QInstaller::ScriptEngine</name>
<message>
- <source>Cannot open the requested script file at %1: %2.</source>
- <translation>Impossibile aprire lo script %1: %2.</translation>
+ <source>Cannot open script file at %1: %2</source>
+ <translation>Impossibile aprire il file di script in %1: %2</translation>
+ </message>
+ <message>
+ <source>Exception while loading the component script &quot;%1&quot;: %2</source>
+ <translation>Eccezione durante il caricamento dello script del componente &quot;%1&quot;: %2</translation>
</message>
<message>
- <source>Exception while loading the component script &apos;%1&apos;. (%2)</source>
- <translation>Si è verificata un eccezzione durante il caricamento dei componenti dello script &apos;%1&apos;. (%2)</translation>
+ <source>Unknown error.</source>
+ <translation>Errore sconosciuto.</translation>
+ </message>
+ <message>
+ <source>on line number: </source>
+ <translation>Numero online: </translation>
</message>
</context>
<context>
<name>QInstaller::SelfRestartOperation</name>
<message>
- <source>Installer object needed in &apos;%1&apos; operation is empty.</source>
- <translation>Oggetto installer necessario in %1 l&apos;operazione è vuota.</translation>
+ <source>Installer object needed in operation %1 is empty.</source>
+ <translation>L&apos;oggetto programma di installazione necessario nell&apos;operazione %1 è vuoto.</translation>
</message>
<message>
<source>Self Restart: Only valid within updater or packagemanager mode.</source>
- <translation>Auto riavvio: Valido solo con aggiornamento o in modalità packagemanager.</translation>
+ <translation>Riavvio automatico: valido solo in modalità aggiornamento o gestione pacchetti.</translation>
</message>
<message>
<source>Self Restart: Invalid arguments</source>
- <translation>Riavvio automatico: Argomenti invalidi</translation>
+ <translation>Riavvio automatico: argomenti non validi</translation>
</message>
</context>
<context>
@@ -2235,7 +2033,7 @@ Copiare l&apos;installer in locale</translation>
</message>
<message>
<source>You need to supply a username and password to access this site.</source>
- <translation>E&apos; necessario fornire un nome utente e una password per accedere a questo sito.</translation>
+ <translation>È necessario fornire un nome utente e una password per accedere a questo sito.</translation>
</message>
<message>
<source>Username:</source>
@@ -2243,7 +2041,7 @@ Copiare l&apos;installer in locale</translation>
</message>
<message>
<source>Password:</source>
- <translation></translation>
+ <translation>Password:</translation>
</message>
<message>
<source>%1 at %2</source>
@@ -2253,50 +2051,42 @@ Copiare l&apos;installer in locale</translation>
<context>
<name>QInstaller::SettingsOperation</name>
<message>
- <source>Missing argument(s) &apos;%1&apos; calling &apos;%2&apos; with arguments &apos;%3&apos;.</source>
- <translation>Argomenti mancanti &apos;%1&apos; con chiamata &apos;%2&apos; con argomenti &apos;%3&apos;.</translation>
+ <source>Missing argument(s) &quot;%1&quot; calling %2 with arguments &quot;%3&quot;.</source>
+ <translation>Argomento(i) mancante(i) &quot;%1&quot; richiamando %2 con argomenti &quot;%3&quot;.</translation>
</message>
<message>
- <source>Current method argument calling &apos;%1&apos; with arguments &apos;%2&apos; is not supported. Please use set, remove, add_array_value or remove_array_value.</source>
- <translation>Il corrente metodo di chiamata argomenti &apos;%1&apos; con argomenti &apos;%2&apos; non è supportato. Perfavore usare imposta, rimuovere, add_array_value o remove_array_value.</translation>
+ <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>La chiamata all’argomento metodo corrente &quot;%1&quot; con argomenti &quot;%2&quot; non è supportata. Utilizzare set, remove, add_array_value o remove_array_value.</translation>
</message>
</context>
<context>
<name>QInstaller::SimpleMoveFileOperation</name>
<message>
- <source>Invalid arguments in %0: %1 arguments given, %2 expected%3.</source>
- <translation>Argomenti invalidi in %0: forniti %1, %2 richiesti %3.</translation>
- </message>
- <message>
- <source>exactly 2</source>
- <translation>esattamente 2</translation>
+ <source>None of the arguments can be empty: source &quot;%1&quot;, target &quot;%2&quot;.</source>
+ <translation>Nessuno degli argomenti può essere vuoto: origine &quot;%1&quot;, destinazione &quot;%2&quot;.</translation>
</message>
<message>
- <source>None of the arguments can be empty: source &apos;%1&apos;, target &apos;%2&apos;.</source>
- <translation>Nessuno degli argomenti può essere vuoto: sorgente &apos;%1&apos;, destinazione &apos;%2&apos;.</translation>
+ <source>Cannot move file from &quot;%1&quot; to &quot;%2&quot;, because the target path exists and is not removable.</source>
+ <translation>Impossibile spostare il file da &quot;%1&quot; a &quot;%2&quot;, poiché la destinazione esiste e non è rimovibile.</translation>
</message>
<message>
- <source>Cannot move source &apos;%1&apos; to target &apos;%2&apos;, because target exists and is not removable.</source>
- <translation>Impossibile muovere &apos;%1&apos; in &apos;%2&apos;, perchè il target esiste e non è eliminabile.</translation>
+ <source>Cannot move file &quot;%1&quot; to &quot;%2&quot;: %3</source>
+ <translation>Impossibile spostare il file da &quot;%1&quot; a &quot;%2&quot;: %3</translation>
</message>
<message>
- <source>Cannot move source &apos;%1&apos; to target &apos;%2&apos;: %3</source>
- <translation>Impossibile muovere il file da %1 a %2: %3</translation>
- </message>
- <message>
- <source>Move &apos;%1&apos; to &apos;%2&apos;.</source>
- <translation>Muovi &apos;%1&apos; in &apos;%2&apos;.</translation>
+ <source>Moving file &quot;%1&quot; to &quot;%2&quot;.</source>
+ <translation>Spostamento del file &quot;%1&quot; su &quot;%2&quot;.</translation>
</message>
</context>
<context>
<name>QInstaller::StartMenuDirectoryPage</name>
<message>
<source>Start Menu shortcuts</source>
- <translation>Collegamento al menu di Avvio</translation>
+ <translation>Collegamenti del menu 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 folder.</source>
- <translation>Selezionare la voce del menu di avvio in cui si desidera creare il collegamento al programma. È anche possibile inserire un nome per creare una nuova cartella.</translation>
+ <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>Selezionare il menu Start in cui si desidera creare i collegamenti del programma. È anche possibile immettere un nome per creare una nuova directory.</translation>
</message>
</context>
<context>
@@ -2306,39 +2096,43 @@ Copiare l&apos;installer in locale</translation>
<translation>Cartella di installazione</translation>
</message>
<message>
- <source>Please specify the folder where %1 will be installed.</source>
- <translation>Specificare la cartella dove %1 sarà installato.</translation>
+ <source>Please specify the directory where %1 will be installed.</source>
+ <translation>Specificare la directory in cui %1 verrà installato.</translation>
</message>
<message>
<source>Alt+R</source>
<comment>browse file system to choose a file</comment>
- <translation></translation>
+ <translation>Alt+F</translation>
</message>
<message>
<source>B&amp;rowse...</source>
- <translation></translation>
+ <translation>S&amp;foglia...</translation>
</message>
<message>
- <source>The folder you selected already exists and contains an installation. Choose a different target for installation.</source>
- <translation>La cartella selezionata è già esistente e contiene già un installazione. Scegliere una cartella diversa per l&apos;installazione.</translation>
+ <source>The directory you selected already exists and contains an installation. Choose a different target for installation.</source>
+ <translation>La directory selezionata esiste già e contiene un&apos;installazione. Scegliere una destinazione diversa per l&apos;installazione.</translation>
</message>
<message>
- <source>You have selected an existing, non-empty folder for installation.
+ <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 folder as installation might fail.
+It is not advisable to install into this directory as installation might fail.
Do you want to continue?</source>
- <translation>Hai selezionato una cartella esistente e non vuota per l&apos;installazione.
-Ricordati che sarà tutto cancellato durante la disinstallazione di questo programma.
-Non è consigliabile installare in questa cartella, l&apos;installazione potrebbe fallire.
-Vuoi continuare?</translation>
+ <translation>Si è selezionata una directory esistente non vuota per l&apos;installazione.
+Notare che verrà eliminata completamente in caso di disinstallazione di questa applicazione.
+Non è consigliabile eseguire l&apos;installazione in questa directory poiché l&apos;installazione potrebbe avere esito negativo.
+Continuare?</translation>
</message>
<message>
<source>You have selected an existing file or symlink, please choose a different target for installation.</source>
- <translation>Hai selezionato un file o collegamento esistente, scegliere una cartella diversa per l&apos;installazione.</translation>
+ <translation>Si è selezionato un file o un collegamento simbolico esistente, scegliere una destinazione diversa per l&apos;installazione.</translation>
</message>
<message>
- <source>The installation path cannot be empty, please specify a valid folder.</source>
- <translation>Il percorso di installazione non può essere vuoto, specificare una cartella valida.</translation>
+ <source>Select Installation Folder</source>
+ <translation>Seleziona cartella di installazione</translation>
+ </message>
+ <message>
+ <source>The installation path cannot be empty, please specify a valid directory.</source>
+ <translation>Il percorso di installazione non può essere vuoto, specificare una directory valida.</translation>
</message>
<message>
<source>The installation path cannot be relative, please specify an absolute path.</source>
@@ -2346,92 +2140,106 @@ Vuoi continuare?</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>Il percorso o la cartella di installazione contengono caratteri non ASCII. Questo al momento non è supportato! Scegliere un percorso o una cartella differenti.</translation>
+ <translation>Il percorso o la directory di installazione contengono caratteri non ASCII. Questo non è al momento supportato. Scegliere un percorso diverso o una directory di installazione diversa.</translation>
</message>
<message>
<source>As the install directory is completely deleted, installing in %1 is forbidden.</source>
- <translation>Installare in %1 è vietato.</translation>
+ <translation>Dal momento che la directory di installazione viene eliminata completamente, l&apos;installazione in %1 non è consentita.</translation>
</message>
<message>
<source>The path you have entered is too long, please make sure to specify a valid path.</source>
- <translation>Il percorso inserito è troppo lungo, assicurarsi di inserire un percorso valido.</translation>
+ <translation>Il percorso immesso è troppo lungo, assicurarsi di specificare un percorso valido.</translation>
</message>
<message>
<source>The path you have entered is not valid, please make sure to specify a valid target.</source>
- <translation>Il percorso inserito non è valido, assicurarsi di inserire una destinazione valida.</translation>
+ <translation>Il percorso immesso non è valido, assicurarsi di specificare una destinazione valida.</translation>
</message>
<message>
<source>The path you have entered is not valid, please make sure to specify a valid drive.</source>
- <translation>Il percorso inserito non è valido, assicurarsi di inserire un drive valido.</translation>
+ <translation>Il percorso immesso non è valido, assicurarsi di specificare un&apos;unità valida.</translation>
</message>
<message>
- <source>The installation path must not end with &apos;.&apos;, please specify a valid folder.</source>
- <translation>Il percorso di installazione non può finire con &apos;.&apos;, specificare una cartella valida.</translation>
+ <source>The installation path must not end with &apos;.&apos;, please specify a valid directory.</source>
+ <translation>Il percorso di installazione non deve terminare con &apos;.&apos;, specificare una directory valida.</translation>
</message>
<message>
- <source>The installation path must not contain &apos;%1&apos;, please specify a valid folder.</source>
- <translation>Il percorso di installazione non può contenere &apos;%1&apos;, specificare una cartella valida.</translation>
- </message>
- <message>
- <source>Error</source>
- <translation>Errore</translation>
+ <source>The installation path must not contain &quot;%1&quot;, please specify a valid directory.</source>
+ <translation>Il percorso di installazione non deve contenere &quot;%1&quot;, specificare una directory valida.</translation>
</message>
<message>
<source>Warning</source>
- <translation></translation>
+ <translation>Avviso</translation>
</message>
<message>
- <source>Select Installation Folder</source>
- <translation>Selezionare la cartella di installazione</translation>
+ <source>Error</source>
+ <translation>Errore</translation>
</message>
</context>
<context>
<name>QInstaller::TestRepository</name>
<message>
+ <source>Missing package manager core engine.</source>
+ <translation>Motore core di gestione pacchetti mancante.</translation>
+ </message>
+ <message>
<source>Empty repository URL.</source>
<translation>URL repository vuoto.</translation>
</message>
<message>
- <source>URL scheme not supported: %1 (%2).</source>
- <translation>Schema URL non supportato: %1 (%2).</translation>
+ <source>Download canceled.</source>
+ <translation>Download annullato.</translation>
+ </message>
+ <message>
+ <source>Timeout while testing repository &quot;%1&quot;.</source>
+ <translation>Timeout durante il test del repository &quot;%1&quot;.</translation>
</message>
<message>
- <source>Got a timeout while testing: &apos;%1&apos;</source>
- <translation>E&apos; scaduto un timeout durante il test: &apos;%1&apos;</translation>
+ <source>Cannot parse Updates.xml: %1</source>
+ <translation>Impossibile analizzare Updates.xml: %1</translation>
</message>
<message>
- <source>Cannot parse Updates.xml! Error: %1.</source>
- <translation>Impossibile analizzare Updates.xml! Errore: %1.</translation>
+ <source>Cannot open Updates.xml for reading: %1</source>
+ <translation>Impossibile aprire Updates.xml per la lettura: %1</translation>
</message>
<message>
- <source>Updates.xml could not be opened for reading!</source>
- <translation>Impossibile aprire Update.xml in lettura!</translation>
+ <source>Authentication failed.</source>
+ <translation>Autenticazione non riuscita.</translation>
</message>
<message>
- <source>Updates.xml could not be found on server!</source>
- <translation>Impossibile trovare Update.xml sul server!</translation>
+ <source>Unknown error while testing repository &quot;%1&quot;.</source>
+ <translation>Errore sconosciuto durante il test del repository &quot;%1&quot;.</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<source>Authorization required</source>
- <translation>Richiesta autorizzazione</translation>
+ <translation>Necessaria autorizzazione</translation>
</message>
<message>
<source>Enter your password to authorize for sudo:</source>
- <translation>Inserisci la tua password di autorizzazione per sudo:</translation>
+ <translation>Immettere la password per autorizzare sudo:</translation>
</message>
<message>
<source>Error acquiring admin rights</source>
- <translation>Errore durante l&apos;acquisizione dei diritti di amministratore</translation>
+ <translation>Errore durante l&apos;acquisizione di diritti di amministrazione</translation>
</message>
</context>
<context>
<name>RemoteClient</name>
<message>
<source>Cannot get authorization.</source>
- <translation>Impossibile ottenere l&apos;autorizzazione.</translation>
+ <translation>Impossibile ottenere l’autorizzazione.</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>Impossibile ottenere l&apos;autorizzazione necessaria per continuare l&apos;installazione.
+
+Avviare il programma di installazione come utente con i diritti appropriati.
+O accettare l&apos;elevazione dei diritti di accesso, ove richiesto.</translation>
</message>
<message>
<source>Cannot get authorization that is needed for continuing the installation.
@@ -2439,13 +2247,13 @@ Vuoi continuare?</translation>
%1
-as root and then clicking OK.</source>
+as a user with the appropriate rights and then clicking OK.</source>
<translation>Impossibile ottenere l&apos;autorizzazione necessaria per continuare l&apos;installazione.
-Interrompere l&apos;installazione o eseguire
+Annullare l&apos;installazione o utilizzare la soluzione di fallback eseguendo
%1
-come root e premere ok.</translation>
+come utente con i diritti appropriati, quindi fare clic su OK.</translation>
</message>
</context>
<context>
@@ -2459,18 +2267,18 @@ come root e premere ok.</translation>
<name>Settings</name>
<message>
<source>Cannot open settings file %1 for reading: %2</source>
- <translation>Impossibile aprire il file di configurazione %1 in lettura: %2</translation>
+ <translation>Impossibile aprire il file di impostazioni %1 per la lettura: %2</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<source>Settings</source>
- <translation>Configurazione</translation>
+ <translation>Impostazioni</translation>
</message>
<message>
<source>Network</source>
- <translation></translation>
+ <translation>Rete</translation>
</message>
<message>
<source>No proxy</source>
@@ -2478,11 +2286,11 @@ come root e premere ok.</translation>
</message>
<message>
<source>System proxy settings</source>
- <translation>Configurazione proxy di sistema</translation>
+ <translation>Impostazioni proxy di sistema</translation>
</message>
<message>
<source>Manual proxy configuration</source>
- <translation>Configurazione proxy manuale</translation>
+ <translation>Configurazione manuale proxy</translation>
</message>
<message>
<source>HTTP proxy:</source>
@@ -2502,11 +2310,11 @@ come root e premere ok.</translation>
</message>
<message>
<source>Add Username and Password for authentication if needed.</source>
- <translation>Aggiungi il nome utente e la password per l&apos;autorizzazione se necessario.</translation>
+ <translation>Aggiungere nome utente e password per l&apos;autenticazione, se necessario.</translation>
</message>
<message>
<source>Use temporary repositories only</source>
- <translation>Usa solo repository temporanei</translation>
+ <translation>Utilizza solo repository temporanei</translation>
</message>
<message>
<source>Add</source>
@@ -2518,43 +2326,51 @@ come root e premere ok.</translation>
</message>
<message>