translation of all project, and new translation mechanism
This commit is contained in:
+23
-22
@@ -1,4 +1,5 @@
|
||||
#include "buildarchiveworker.h"
|
||||
#include "localization.h"
|
||||
|
||||
#include <QDir>
|
||||
#include <QDirIterator>
|
||||
@@ -102,7 +103,7 @@ void BuildArchiveWorker::archive(const QString &gameDir,
|
||||
{
|
||||
const QDir root(gameDir);
|
||||
if (!root.exists()) {
|
||||
emit finished(false, tr("Папка игры не найдена: %1").arg(QDir::toNativeSeparators(gameDir)));
|
||||
emit finished(false, Loc::text("switch.error.gameDirMissing").arg(QDir::toNativeSeparators(gameDir)));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -113,7 +114,7 @@ void BuildArchiveWorker::archive(const QString &gameDir,
|
||||
QZipWriter writer(tempZipPath);
|
||||
if (writer.status() != QZipWriter::NoError) {
|
||||
emit finished(false,
|
||||
tr("Не удалось создать архив %1")
|
||||
Loc::text("switch.error.archiveCreateFailed")
|
||||
.arg(QDir::toNativeSeparators(tempZipPath)));
|
||||
return;
|
||||
}
|
||||
@@ -126,7 +127,7 @@ void BuildArchiveWorker::archive(const QString &gameDir,
|
||||
if (canceled()) {
|
||||
writer.close();
|
||||
QFile::remove(tempZipPath);
|
||||
emit finished(false, tr("Архивация отменена"));
|
||||
emit finished(false, Loc::text("switch.status.archivingCancelled"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -138,7 +139,7 @@ void BuildArchiveWorker::archive(const QString &gameDir,
|
||||
writer.close();
|
||||
QFile::remove(tempZipPath);
|
||||
emit finished(false,
|
||||
tr("Не удалось прочитать %1: %2")
|
||||
Loc::text("common.error.readFailed")
|
||||
.arg(QDir::toNativeSeparators(relative), file.errorString()));
|
||||
return;
|
||||
}
|
||||
@@ -149,7 +150,7 @@ void BuildArchiveWorker::archive(const QString &gameDir,
|
||||
writer.close();
|
||||
QFile::remove(tempZipPath);
|
||||
emit finished(false,
|
||||
tr("Ошибка записи архива на файле %1")
|
||||
Loc::text("switch.error.archiveWriteFailed")
|
||||
.arg(QDir::toNativeSeparators(relative)));
|
||||
return;
|
||||
}
|
||||
@@ -187,7 +188,7 @@ void BuildArchiveWorker::clear(const QString &gameDir, const QStringList &keepTo
|
||||
: QFile::remove(entry.absoluteFilePath());
|
||||
if (!ok) {
|
||||
emit finished(false,
|
||||
tr("Не удалось удалить %1")
|
||||
Loc::text("switch.error.removeFailed")
|
||||
.arg(QDir::toNativeSeparators(entry.absoluteFilePath())));
|
||||
return;
|
||||
}
|
||||
@@ -202,7 +203,7 @@ void BuildArchiveWorker::restore(const QString &zipPath, const QString &gameDir)
|
||||
QZipReader reader(zipPath);
|
||||
if (!reader.isReadable()) {
|
||||
emit finished(false,
|
||||
tr("Не удалось открыть архив %1").arg(QDir::toNativeSeparators(zipPath)));
|
||||
Loc::text("switch.error.archiveOpenFailed").arg(QDir::toNativeSeparators(zipPath)));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -212,14 +213,14 @@ void BuildArchiveWorker::restore(const QString &zipPath, const QString &gameDir)
|
||||
const QDir root(gameDir);
|
||||
if (!QDir().mkpath(gameDir)) {
|
||||
emit finished(false,
|
||||
tr("Не удалось создать %1").arg(QDir::toNativeSeparators(gameDir)));
|
||||
Loc::text("common.error.createFailed").arg(QDir::toNativeSeparators(gameDir)));
|
||||
return;
|
||||
}
|
||||
|
||||
int done = 0;
|
||||
for (const QZipReader::FileInfo &entry : entries) {
|
||||
if (canceled()) {
|
||||
emit finished(false, tr("Распаковка отменена"));
|
||||
emit finished(false, Loc::text("switch.status.extractCancelled"));
|
||||
return;
|
||||
}
|
||||
if (!entry.isFile) {
|
||||
@@ -228,14 +229,14 @@ void BuildArchiveWorker::restore(const QString &zipPath, const QString &gameDir)
|
||||
}
|
||||
if (!isSafeRelativePath(entry.filePath)) {
|
||||
emit finished(false,
|
||||
tr("Архив повреждён: недопустимый путь «%1»").arg(entry.filePath));
|
||||
Loc::text("switch.error.archiveBadPath").arg(entry.filePath));
|
||||
return;
|
||||
}
|
||||
|
||||
const QString target = root.absoluteFilePath(entry.filePath);
|
||||
if (!QDir().mkpath(QFileInfo(target).absolutePath())) {
|
||||
emit finished(false,
|
||||
tr("Не удалось создать %1")
|
||||
Loc::text("common.error.createFailed")
|
||||
.arg(QDir::toNativeSeparators(QFileInfo(target).absolutePath())));
|
||||
return;
|
||||
}
|
||||
@@ -244,7 +245,7 @@ void BuildArchiveWorker::restore(const QString &zipPath, const QString &gameDir)
|
||||
const QByteArray data = reader.fileData(entry.filePath);
|
||||
if (!file.open(QIODevice::WriteOnly) || file.write(data) != data.size()) {
|
||||
emit finished(false,
|
||||
tr("Не удалось записать %1: %2")
|
||||
Loc::text("switch.error.writeFailed")
|
||||
.arg(QDir::toNativeSeparators(entry.filePath), file.errorString()));
|
||||
return;
|
||||
}
|
||||
@@ -263,7 +264,7 @@ void BuildArchiveWorker::applyPack(const QString &zipPath,
|
||||
QZipReader reader(zipPath);
|
||||
if (!reader.isReadable()) {
|
||||
emit finished(false,
|
||||
tr("Не удалось открыть архив %1").arg(QDir::toNativeSeparators(zipPath)));
|
||||
Loc::text("switch.error.archiveOpenFailed").arg(QDir::toNativeSeparators(zipPath)));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -277,12 +278,12 @@ void BuildArchiveWorker::applyPack(const QString &zipPath,
|
||||
continue;
|
||||
if (!isSafeRelativePath(entry.filePath)) {
|
||||
emit finished(false,
|
||||
tr("Архив сборки повреждён: недопустимый путь «%1»").arg(entry.filePath));
|
||||
Loc::text("switch.error.packBadPath").arg(entry.filePath));
|
||||
return;
|
||||
}
|
||||
if (forbiddenTop.contains(topSegment(entry.filePath))) {
|
||||
emit finished(false,
|
||||
tr("Архив сборки пытается изменить общие файлы лаунчера: «%1»")
|
||||
Loc::text("switch.error.packTouchesLauncher")
|
||||
.arg(entry.filePath));
|
||||
return;
|
||||
}
|
||||
@@ -291,7 +292,7 @@ void BuildArchiveWorker::applyPack(const QString &zipPath,
|
||||
|
||||
const QDir root(gameDir);
|
||||
if (!QDir().mkpath(gameDir)) {
|
||||
emit finished(false, tr("Не удалось создать %1").arg(QDir::toNativeSeparators(gameDir)));
|
||||
emit finished(false, Loc::text("common.error.createFailed").arg(QDir::toNativeSeparators(gameDir)));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -303,7 +304,7 @@ void BuildArchiveWorker::applyPack(const QString &zipPath,
|
||||
QStringList touchedDirs;
|
||||
for (const QString &relative : removeRelative) {
|
||||
if (canceled()) {
|
||||
emit finished(false, tr("Установка сборки отменена"));
|
||||
emit finished(false, Loc::text("switch.status.installCancelled"));
|
||||
return;
|
||||
}
|
||||
// Список пришёл из нашего же файла состояния, но он лежит на диске
|
||||
@@ -321,7 +322,7 @@ void BuildArchiveWorker::applyPack(const QString &zipPath,
|
||||
}
|
||||
if (QFileInfo::exists(target) && !QFile::remove(target)) {
|
||||
emit finished(false,
|
||||
tr("Не удалось удалить %1").arg(QDir::toNativeSeparators(target)));
|
||||
Loc::text("switch.error.removeFailed").arg(QDir::toNativeSeparators(target)));
|
||||
return;
|
||||
}
|
||||
const QString parent = QFileInfo(relative).path();
|
||||
@@ -334,20 +335,20 @@ void BuildArchiveWorker::applyPack(const QString &zipPath,
|
||||
// ── Раскладываем новую ревизию поверх ────────────────────────────────
|
||||
for (const QString &relative : std::as_const(applied)) {
|
||||
if (canceled()) {
|
||||
emit finished(false, tr("Установка сборки отменена"));
|
||||
emit finished(false, Loc::text("switch.status.installCancelled"));
|
||||
return;
|
||||
}
|
||||
|
||||
const QString target = root.absoluteFilePath(relative);
|
||||
if (!isInside(root, target)) {
|
||||
emit finished(false,
|
||||
tr("Архив сборки повреждён: путь «%1» ведёт за пределы папки игры")
|
||||
Loc::text("switch.error.packEscapesGameDir")
|
||||
.arg(relative));
|
||||
return;
|
||||
}
|
||||
if (!QDir().mkpath(QFileInfo(target).absolutePath())) {
|
||||
emit finished(false,
|
||||
tr("Не удалось создать %1")
|
||||
Loc::text("common.error.createFailed")
|
||||
.arg(QDir::toNativeSeparators(QFileInfo(target).absolutePath())));
|
||||
return;
|
||||
}
|
||||
@@ -359,7 +360,7 @@ void BuildArchiveWorker::applyPack(const QString &zipPath,
|
||||
if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate)
|
||||
|| file.write(data) != data.size()) {
|
||||
emit finished(false,
|
||||
tr("Не удалось записать %1: %2")
|
||||
Loc::text("switch.error.writeFailed")
|
||||
.arg(QDir::toNativeSeparators(relative), file.errorString()));
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user