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
+18 -18
View File
@@ -21,13 +21,13 @@ Dialog {
// Ширины колонок в одном месте: их повторяют и шапка, и делегат.
readonly property var columns: [
{ key: "name", title: qsTr("Название"), width: 250, align: Text.AlignLeft },
{ key: "minecraftVersion", title: qsTr("Версия"), width: 90, align: Text.AlignLeft },
{ key: "loaderLabel", title: qsTr("Загрузчик"), width: 150, align: Text.AlignLeft },
{ key: "modCount", title: qsTr("Модов"), width: 70, align: Text.AlignRight },
{ key: "seasonStart", title: qsTr("Начало"), width: 110, align: Text.AlignLeft },
{ key: "seasonEnd", title: qsTr("Конец"), width: 110, align: Text.AlignLeft },
{ key: "status", title: qsTr("Статус"), width: 140, align: Text.AlignLeft }
{ key: "name", title: Loc.t.common.header.name, width: 250, align: Text.AlignLeft },
{ key: "minecraftVersion", title: Loc.t.common.header.version, width: 90, align: Text.AlignLeft },
{ key: "loaderLabel", title: Loc.t.common.header.loader, width: 150, align: Text.AlignLeft },
{ key: "modCount", title: Loc.t.seasonal.header.mods, width: 70, align: Text.AlignRight },
{ key: "seasonStart", title: Loc.t.seasonal.header.start, width: 110, align: Text.AlignLeft },
{ key: "seasonEnd", title: Loc.t.seasonal.header.end, width: 110, align: Text.AlignLeft },
{ key: "status", title: Loc.t.common.header.status, width: 140, align: Text.AlignLeft }
]
modal: true
@@ -86,7 +86,7 @@ Dialog {
implicitHeight: 52
Text {
anchors.centerIn: parent
text: qsTr("Сезонные сборки")
text: Loc.t.common.title.seasonalBuilds
color: "#ffffff"
font.pixelSize: 17
font.bold: true
@@ -151,9 +151,9 @@ Dialog {
color: seasons.backend.seasonalCatalogError === "" ? "#888888" : "#cc6666"
font.pixelSize: 13
text: seasons.backend.seasonalCatalogLoading
? qsTr("Загрузка списка сборок…")
? Loc.t.seasonal.progress.loadingCatalog
: (seasons.backend.seasonalCatalogError === ""
? qsTr("Сборок пока нет")
? Loc.t.seasonal.status.catalogEmptyYet
: seasons.backend.seasonalCatalogError)
}
@@ -268,16 +268,16 @@ Dialog {
font.pixelSize: 11
text: {
if (!seasons.selectedEntry)
return qsTr("Выберите сборку в списке")
return Loc.t.seasonal.hint.pickBuild
const entry = seasons.selectedEntry
var line = qsTr("Ревизия %1").arg(entry.revision)
var line = Loc.t.seasonal.status.revision.arg(entry.revision)
const size = seasons.formatMb(entry.sizeBytes)
if (size !== "")
line += qsTr(" · %1 МБ").arg(size)
line += Loc.t.seasonal.status.sizeSuffix.arg(size)
if (entry.serverUrl !== "")
line += " · " + entry.serverUrl
if (entry.updateAvailable)
line += qsTr(" · установлена ревизия %1").arg(entry.installedRevision)
line += Loc.t.seasonal.status.installedRevisionSuffix.arg(entry.installedRevision)
return line
}
}
@@ -296,8 +296,8 @@ Dialog {
height: 36
enabled: !seasons.backend.seasonalCatalogLoading
contentItem: Text {
text: seasons.backend.seasonalCatalogLoading ? qsTr("Обновление…")
: qsTr("Обновить список")
text: seasons.backend.seasonalCatalogLoading ? Loc.t.common.status.updating
: Loc.t.common.button.refreshList
color: refreshButton.enabled ? "#ffffff" : "#888888"
font.pixelSize: 13
horizontalAlignment: Text.AlignHCenter
@@ -319,8 +319,8 @@ Dialog {
enabled: seasons.selectedEntry !== null && !seasons.backend.busy
contentItem: Text {
text: seasons.selectedEntry && seasons.selectedEntry.updateAvailable
? qsTr("Обновить")
: qsTr("Установить")
? Loc.t.common.button.update
: Loc.t.common.button.install
color: installButton.enabled ? "#ffffff" : "#888888"
font.pixelSize: 13
font.bold: true