translation of all project, and new translation mechanism

This commit is contained in:
2026-09-03 09:18:48 +03:00
parent 00e7c957e4
commit 01af372ef2
32 changed files with 2813 additions and 537 deletions
+28 -28
View File
@@ -87,14 +87,14 @@ Dialog {
const problems = buildsDialog.backend.checkInstallation(buildsDialog.editIndex)
bdStatus.ok = problems.length === 0
bdStatus.text = problems.length === 0
? qsTr("Всё на месте, сборку можно запускать")
: qsTr("Не хватает файлов (%1): %2").arg(problems.length).arg(problems[0])
? Loc.t.build.status.ready
: Loc.t.build.error.missingFiles.arg(problems.length).arg(problems[0])
}
function newBuildName() {
const taken = buildsDialog.backend.customBuildNames
for (var n = 1; ; ++n) {
const candidate = qsTr("Сборка %1").arg(n)
const candidate = Loc.t.build.title.numbered.arg(n)
if (taken.indexOf(candidate) === -1)
return candidate
}
@@ -128,7 +128,7 @@ Dialog {
implicitHeight: 52
Text {
anchors.centerIn: parent
text: qsTr("Удалить сборку?")
text: Loc.t.build.title.removeConfirm
color: "#ffffff"
font.pixelSize: 17
font.bold: true
@@ -152,7 +152,7 @@ Dialog {
wrapMode: Text.Wrap
color: "#ffffff"
font.pixelSize: 13
text: qsTr("Сборка «%1» будет удалена без возможности восстановления.")
text: Loc.t.build.hint.removeIrreversible
.arg(removeConfirm.buildName)
}
@@ -163,7 +163,7 @@ Dialog {
wrapMode: Text.Wrap
color: "#cc6666"
font.pixelSize: 12
text: qsTr("Вместе с ней удалится её архив: моды, конфиги и миры этой сборки восстановить будет нельзя.")
text: Loc.t.build.warning.archiveGoesToo
}
Text {
@@ -173,7 +173,7 @@ Dialog {
wrapMode: Text.Wrap
color: "#cc6666"
font.pixelSize: 12
text: qsTr("Сборка сейчас активна: содержимое .minecraft принадлежит ей и будет очищено, а на его место развернётся следующая сборка.")
text: Loc.t.build.warning.removingActive
}
Text {
@@ -183,7 +183,7 @@ Dialog {
wrapMode: Text.Wrap
color: "#888888"
font.pixelSize: 12
text: qsTr("Это последняя сборка. Содержимое .minecraft останется на месте.")
text: Loc.t.build.hint.removingLast
}
}
@@ -200,7 +200,7 @@ Dialog {
spacing: 12
Button {
text: qsTr("Отмена")
text: Loc.t.common.button.cancel
width: 130; height: 36
contentItem: Text {
text: parent.text
@@ -216,7 +216,7 @@ Dialog {
}
Button {
text: qsTr("Удалить")
text: Loc.t.common.button.remove
width: 130; height: 36
contentItem: Text {
text: parent.text
@@ -271,7 +271,7 @@ Dialog {
implicitHeight: 52
Text {
anchors.centerIn: parent
text: qsTr("Пользовательские сборки")
text: Loc.t.common.title.customBuilds
color: "#ffffff"
font.pixelSize: 17
font.bold: true
@@ -330,7 +330,7 @@ Dialog {
anchors.rightMargin: 8
anchors.verticalCenter: parent.verticalCenter
visible: buildRow.index === buildsDialog.backend.activeBuildIndex
text: qsTr("активна")
text: Loc.t.build.label.active
color: "#91B315"
font.pixelSize: 10
}
@@ -380,7 +380,7 @@ Dialog {
Text {
anchors.centerIn: parent
text: qsTr("+ Новая сборка")
text: Loc.t.build.button.new
color: "#91B315"
font.pixelSize: 12
}
@@ -425,21 +425,21 @@ Dialog {
LabelledField {
id: bdName
width: parent.width
label: qsTr("Название сборки")
placeholder: qsTr("как её видно в списке")
label: Loc.t.build.label.name
placeholder: Loc.t.build.placeholder.name
onEditingFinished: buildsDialog.commit({"name": bdName.text.trim()})
}
LabelledField {
id: bdServer
width: parent.width
label: qsTr("Адрес сервера")
placeholder: qsTr("host:port (необязательно)")
label: Loc.t.build.label.serverAddress
placeholder: Loc.t.build.placeholder.serverAddress
onEditingFinished: buildsDialog.commit({"serverUrl": bdServer.text.trim()})
}
Text {
text: qsTr("Версия Minecraft")
text: Loc.t.common.label.minecraftVersion
color: "#aaaaaa"
font.pixelSize: 11
}
@@ -464,7 +464,7 @@ Dialog {
verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight
color: bdMinecraft.selectedId === "" ? "#666666" : "#ffffff"
text: bdMinecraft.selectedId === "" ? qsTr("Выберите версию")
text: bdMinecraft.selectedId === "" ? Loc.t.build.button.pickVersion
: bdMinecraft.selectedId
}
@@ -472,7 +472,7 @@ Dialog {
anchors.right: parent.right
anchors.rightMargin: 12
anchors.verticalCenter: parent.verticalCenter
text: qsTr("Выбрать…")
text: Loc.t.common.button.choose
color: "#91B315"
font.pixelSize: 12
}
@@ -489,7 +489,7 @@ Dialog {
}
Text {
text: qsTr("Модлоадер")
text: Loc.t.build.label.modLoader
color: "#aaaaaa"
font.pixelSize: 11
}
@@ -541,7 +541,7 @@ Dialog {
width: parent.width
backend: buildsDialog.backend
loaderKey: "forge"
title: qsTr("Minecraft Forge")
title: Loc.t.loader.name.forge
gameVersion: bdMinecraft.selectedId
onUserChecked: loaderPanel.keepOnly(bdForge)
onChanged: loaderPanel.commitSelection()
@@ -551,7 +551,7 @@ Dialog {
width: parent.width
backend: buildsDialog.backend
loaderKey: "fabric"
title: qsTr("Fabric Loader")
title: Loc.t.loader.name.fabric
gameVersion: bdMinecraft.selectedId
onUserChecked: loaderPanel.keepOnly(bdFabric)
onChanged: loaderPanel.commitSelection()
@@ -561,7 +561,7 @@ Dialog {
width: parent.width
backend: buildsDialog.backend
loaderKey: "neoforge"
title: qsTr("NeoForge")
title: Loc.t.loader.name.neoforge
gameVersion: bdMinecraft.selectedId
onUserChecked: loaderPanel.keepOnly(bdNeoForge)
onChanged: loaderPanel.commitSelection()
@@ -571,7 +571,7 @@ Dialog {
width: parent.width
backend: buildsDialog.backend
loaderKey: "quilt"
title: qsTr("Quilt Loader")
title: Loc.t.loader.name.quilt
gameVersion: bdMinecraft.selectedId
onUserChecked: loaderPanel.keepOnly(bdQuilt)
onChanged: loaderPanel.commitSelection()
@@ -604,7 +604,7 @@ Dialog {
spacing: 12
Button {
text: qsTr("Установить")
text: Loc.t.common.button.install
width: 140; height: 36
enabled: buildsDialog.editIndex >= 0 && !buildsDialog.backend.busy
opacity: enabled ? 1.0 : 0.45
@@ -622,7 +622,7 @@ Dialog {
}
Button {
text: qsTr("Сделать активной")
text: Loc.t.build.button.makeActive
width: 170; height: 36
enabled: buildsDialog.editIndex >= 0
&& buildsDialog.editIndex !== buildsDialog.backend.activeBuildIndex
@@ -642,7 +642,7 @@ Dialog {
}
Button {
text: qsTr("Закрыть")
text: Loc.t.common.button.close
width: 120; height: 36
enabled: !buildsDialog.backend.switching
opacity: enabled ? 1.0 : 0.45