translation of all project, and new translation mechanism
This commit is contained in:
+14
-19
@@ -1,8 +1,8 @@
|
||||
#include "javaruntime.h"
|
||||
#include "localization.h"
|
||||
|
||||
#include "launcherpaths.h"
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QDir>
|
||||
#include <QDirIterator>
|
||||
#include <QFile>
|
||||
@@ -24,11 +24,6 @@ constexpr auto kExecutable = "java";
|
||||
|
||||
const QString kMetaFile = QStringLiteral("runtime.json");
|
||||
|
||||
QString translate(const char *text)
|
||||
{
|
||||
return QCoreApplication::translate("JavaRuntime", text);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
QString javaKindKey(JavaRuntimeKind kind)
|
||||
@@ -55,9 +50,9 @@ std::optional<JavaRuntimeKind> javaKindFromKey(const QString &key)
|
||||
QString javaKindTitle(JavaRuntimeKind kind)
|
||||
{
|
||||
switch (kind) {
|
||||
case JavaRuntimeKind::Mojang: return translate("Java");
|
||||
case JavaRuntimeKind::Jdk: return translate("JDK");
|
||||
case JavaRuntimeKind::Jre: return translate("JRE");
|
||||
case JavaRuntimeKind::Mojang: return Loc::text("common.java.kind.java");
|
||||
case JavaRuntimeKind::Jdk: return Loc::text("common.java.kind.jdk");
|
||||
case JavaRuntimeKind::Jre: return Loc::text("common.java.kind.jre");
|
||||
}
|
||||
return {};
|
||||
}
|
||||
@@ -159,7 +154,7 @@ bool JavaRuntimeStore::writeMeta(const InstalledJavaRuntime &runtime, QString *e
|
||||
const QString dir = dirFor(runtime.id);
|
||||
if (dir.isEmpty()) {
|
||||
if (error)
|
||||
*error = translate("недопустимый идентификатор сборки Java");
|
||||
*error = Loc::text("java.error.invalidRuntimeId");
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -174,14 +169,14 @@ bool JavaRuntimeStore::writeMeta(const InstalledJavaRuntime &runtime, QString *e
|
||||
QSaveFile file(dir + u'/' + kMetaFile);
|
||||
if (!file.open(QIODevice::WriteOnly)) {
|
||||
if (error)
|
||||
*error = translate("не удалось записать %1").arg(QDir::toNativeSeparators(file.fileName()));
|
||||
*error = Loc::text("java.error.writeFailed").arg(QDir::toNativeSeparators(file.fileName()));
|
||||
return false;
|
||||
}
|
||||
const QByteArray payload = QJsonDocument(object).toJson(QJsonDocument::Compact);
|
||||
if (file.write(payload) != payload.size() || !file.commit()) {
|
||||
file.cancelWriting();
|
||||
if (error)
|
||||
*error = translate("не удалось записать %1").arg(QDir::toNativeSeparators(file.fileName()));
|
||||
*error = Loc::text("java.error.writeFailed").arg(QDir::toNativeSeparators(file.fileName()));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -194,14 +189,14 @@ bool JavaRuntimeStore::remove(const QString &id, QString *error)
|
||||
// проверка стоит одной строки, а цена ошибки — чужая папка.
|
||||
if (dir.isEmpty() || !dir.startsWith(LauncherPaths::javaDir() + u'/')) {
|
||||
if (error)
|
||||
*error = translate("недопустимый идентификатор сборки Java");
|
||||
*error = Loc::text("java.error.invalidRuntimeId");
|
||||
return false;
|
||||
}
|
||||
if (!QDir(dir).exists())
|
||||
return true;
|
||||
if (!QDir(dir).removeRecursively()) {
|
||||
if (error)
|
||||
*error = translate("не удалось удалить %1").arg(QDir::toNativeSeparators(dir));
|
||||
*error = Loc::text("common.error.removeFailed").arg(QDir::toNativeSeparators(dir));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -257,14 +252,14 @@ int JavaRequirement::minimumFor(const QString &minecraftVersionId)
|
||||
QString JavaRequirement::coverage(int javaMajor)
|
||||
{
|
||||
if (javaMajor >= 21)
|
||||
return translate("Minecraft 1.20.5 и новее");
|
||||
return Loc::text("java.range.modern");
|
||||
if (javaMajor >= 17)
|
||||
return translate("Minecraft 1.18 — 1.20.4");
|
||||
return Loc::text("java.range.mid");
|
||||
if (javaMajor == 16)
|
||||
return translate("Minecraft 1.17 — 1.17.1");
|
||||
return Loc::text("java.range.seventeen");
|
||||
if (javaMajor >= 9)
|
||||
return translate("для Minecraft не подходит");
|
||||
return Loc::text("java.range.unsuitable");
|
||||
if (javaMajor > 0)
|
||||
return translate("Minecraft 1.16.5 и старше");
|
||||
return Loc::text("java.range.legacy");
|
||||
return {};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user