Autoformatting + translations

This commit is contained in:
ItsLemmy
2025-11-20 21:38:00 -05:00
parent 63940703f8
commit 088431b20d
20 changed files with 201 additions and 218 deletions

View File

@@ -396,29 +396,28 @@
}
},
"changelog": {
"error": {
"rate-limit": "GitHub-Limit erreicht. Bitte versuche es in ein paar Minuten erneut."
},
"panel": {
"title": "Was ist neu in {version}",
"buttons": {
"discord": "Unserem Discord beitreten",
"dismiss": "Ok"
},
"empty": "Es sind noch keine Versionshinweise verfügbar.",
"highlight-title": "Highlights",
"section": {
"released": "Veröffentlicht am {date}",
"version": "Version {version}"
},
"subtitle": {
"fresh": "Danke, dass du Noctalia installiert hast! Das ist in diesem Build enthalten.",
"updated": "Aktualisiert von {previousVersion}"
},
"title": "Was ist neu in {version}",
"version": {
"new-user": "Neuinstallation"
},
"highlight-title": "Highlights",
"empty": "Es sind noch keine Versionshinweise verfügbar.",
"section": {
"version": "Version {version}",
"released": "Veröffentlicht am {date}"
},
"buttons": {
"discord": "Unserem Discord beitreten",
"feedback": "Feedback senden",
"dismiss": "Ok"
}
},
"error": {
"rate-limit": "GitHub-Limit erreicht. Bitte versuche es in ein paar Minuten erneut."
}
},
"clock": {

View File

@@ -396,28 +396,28 @@
}
},
"changelog": {
"error": {
"rate-limit": "GitHub rate limit exceeded. Please try again in a few minutes."
},
"panel": {
"title": "What's new in {version}",
"buttons": {
"discord": "Join our Discord",
"dismiss": "Ok"
},
"empty": "Release notes are not available yet.",
"highlight-title": "Highlights",
"section": {
"released": "Released on {date}",
"version": "Version {version}"
},
"subtitle": {
"fresh": "Thanks for installing Noctalia! Here is whats included in this build.",
"updated": "Updated from {previousVersion}"
},
"title": "What's new in {version}",
"version": {
"new-user": "Fresh install"
},
"highlight-title": "Highlights",
"empty": "Release notes are not available yet.",
"section": {
"version": "Version {version}",
"released": "Released on {date}"
},
"buttons": {
"discord": "Join our Discord",
"dismiss": "Ok"
}
},
"error": {
"rate-limit": "GitHub rate limit exceeded. Please try again in a few minutes."
}
},
"clock": {

View File

@@ -396,29 +396,28 @@
}
},
"changelog": {
"error": {
"rate-limit": "Se alcanzó el límite de GitHub. Inténtalo de nuevo en unos minutos."
},
"panel": {
"title": "Novedades en {version}",
"buttons": {
"discord": "Únete a nuestro Discord",
"dismiss": "Ok"
},
"empty": "Las notas de la versión aún no están disponibles.",
"highlight-title": "Cambios destacados",
"section": {
"released": "Publicado el {date}",
"version": "Versión {version}"
},
"subtitle": {
"fresh": "Gracias por instalar Noctalia. Esto es lo que incluye esta compilación.",
"updated": "Actualizado desde {previousVersion}"
},
"title": "Novedades en {version}",
"version": {
"new-user": "Instalación nueva"
},
"highlight-title": "Cambios destacados",
"empty": "Las notas de la versión aún no están disponibles.",
"section": {
"version": "Versión {version}",
"released": "Publicado el {date}"
},
"buttons": {
"discord": "Únete a nuestro Discord",
"feedback": "Enviar comentarios",
"dismiss": "Ok"
}
},
"error": {
"rate-limit": "Se alcanzó el límite de GitHub. Inténtalo de nuevo en unos minutos."
}
},
"clock": {

View File

@@ -396,29 +396,28 @@
}
},
"changelog": {
"error": {
"rate-limit": "Limite de GitHub atteinte. Réessayez dans quelques minutes."
},
"panel": {
"title": "Quoi de neuf dans {version}",
"buttons": {
"discord": "Rejoindre notre Discord",
"dismiss": "Ok"
},
"empty": "Les notes de version ne sont pas encore disponibles.",
"highlight-title": "Points importants",
"section": {
"released": "Publié le {date}",
"version": "Version {version}"
},
"subtitle": {
"fresh": "Merci davoir installé Noctalia ! Voici ce que contient cette version.",
"updated": "Mise à jour depuis {previousVersion}"
},
"title": "Quoi de neuf dans {version}",
"version": {
"new-user": "Nouvelle installation"
},
"highlight-title": "Points importants",
"empty": "Les notes de version ne sont pas encore disponibles.",
"section": {
"version": "Version {version}",
"released": "Publié le {date}"
},
"buttons": {
"discord": "Rejoindre notre Discord",
"feedback": "Envoyer un retour",
"dismiss": "Ok"
}
},
"error": {
"rate-limit": "Limite de GitHub atteinte. Réessayez dans quelques minutes."
}
},
"clock": {

View File

@@ -396,29 +396,28 @@
}
},
"changelog": {
"error": {
"rate-limit": "GitHub-limiet bereikt. Probeer het over enkele minuten opnieuw."
},
"panel": {
"title": "Wat is er nieuw in {version}",
"buttons": {
"discord": "Word lid van onze Discord",
"dismiss": "Ok"
},
"empty": "Er zijn nog geen release-opmerkingen beschikbaar.",
"highlight-title": "Hoogtepunten",
"section": {
"released": "Uitgebracht op {date}",
"version": "Versie {version}"
},
"subtitle": {
"fresh": "Bedankt voor het installeren van Noctalia! Dit zit er in deze build.",
"updated": "Bijgewerkt vanaf {previousVersion}"
},
"title": "Wat is er nieuw in {version}",
"version": {
"new-user": "Nieuwe installatie"
},
"highlight-title": "Hoogtepunten",
"empty": "Er zijn nog geen release-opmerkingen beschikbaar.",
"section": {
"version": "Versie {version}",
"released": "Uitgebracht op {date}"
},
"buttons": {
"discord": "Word lid van onze Discord",
"feedback": "Feedback verzenden",
"dismiss": "Ok"
}
},
"error": {
"rate-limit": "GitHub-limiet bereikt. Probeer het over enkele minuten opnieuw."
}
},
"clock": {

View File

@@ -396,29 +396,28 @@
}
},
"changelog": {
"error": {
"rate-limit": "Limite do GitHub atingido. Tente novamente em alguns minutos."
},
"panel": {
"title": "Novidades na {version}",
"buttons": {
"discord": "Entre no nosso Discord",
"dismiss": "Ok"
},
"empty": "As notas da versão ainda não estão disponíveis.",
"highlight-title": "Destaques",
"section": {
"released": "Lançado em {date}",
"version": "Versão {version}"
},
"subtitle": {
"fresh": "Obrigado por instalar o Noctalia! Veja o que está incluído nesta compilação.",
"updated": "Atualizado a partir da {previousVersion}"
},
"title": "Novidades na {version}",
"version": {
"new-user": "Nova instalação"
},
"highlight-title": "Destaques",
"empty": "As notas da versão ainda não estão disponíveis.",
"section": {
"version": "Versão {version}",
"released": "Lançado em {date}"
},
"buttons": {
"discord": "Entre no nosso Discord",
"feedback": "Enviar feedback",
"dismiss": "Ok"
}
},
"error": {
"rate-limit": "Limite do GitHub atingido. Tente novamente em alguns minutos."
}
},
"clock": {

View File

@@ -396,29 +396,28 @@
}
},
"changelog": {
"error": {
"rate-limit": "Превышен лимит GitHub. Попробуйте снова через несколько минут."
},
"panel": {
"title": "Что нового в {version}",
"buttons": {
"discord": "Присоединиться к нашему Discord",
"dismiss": "Ок"
},
"empty": "Примечания к выпуску пока недоступны.",
"highlight-title": "Основные изменения",
"section": {
"released": "Выпущено {date}",
"version": "Версия {version}"
},
"subtitle": {
"fresh": "Спасибо за установку Noctalia! Вот что входит в этот билд.",
"updated": "Обновлено с {previousVersion}"
},
"title": "Что нового в {version}",
"version": {
"new-user": "Новая установка"
},
"highlight-title": "Основные изменения",
"empty": "Примечания к выпуску пока недоступны.",
"section": {
"version": "Версия {version}",
"released": "Выпущено {date}"
},
"buttons": {
"discord": "Присоединиться к нашему Discord",
"feedback": "Отправить отзыв",
"dismiss": "Ок"
}
},
"error": {
"rate-limit": "Превышен лимит GitHub. Попробуйте снова через несколько минут."
}
},
"clock": {

View File

@@ -396,29 +396,28 @@
}
},
"changelog": {
"error": {
"rate-limit": "GitHub sınırına ulaşıldı. Lütfen birkaç dakika sonra tekrar dene."
},
"panel": {
"title": "{version} sürümünde neler yeni",
"buttons": {
"discord": "Discord sunucumuza katıl",
"dismiss": "Tamam"
},
"empty": "Sürüm notları henüz hazır değil.",
"highlight-title": "Öne çıkanlar",
"section": {
"released": "{date} tarihinde yayımlandı",
"version": "Sürüm {version}"
},
"subtitle": {
"fresh": "Noctaliayı kurduğun için teşekkürler! Bu sürümde gelenler bunlar.",
"updated": "{previousVersion} sürümünden güncellendi"
},
"title": "{version} sürümünde neler yeni",
"version": {
"new-user": "Yeni kurulum"
},
"highlight-title": "Öne çıkanlar",
"empty": "Sürüm notları henüz hazır değil.",
"section": {
"version": "Sürüm {version}",
"released": "{date} tarihinde yayımlandı"
},
"buttons": {
"discord": "Discord sunucumuza katıl",
"feedback": "Geri bildirim gönder",
"dismiss": "Tamam"
}
},
"error": {
"rate-limit": "GitHub sınırına ulaşıldı. Lütfen birkaç dakika sonra tekrar dene."
}
},
"clock": {

View File

@@ -396,29 +396,28 @@
}
},
"changelog": {
"error": {
"rate-limit": "Перевищено ліміт GitHub. Спробуйте ще раз за кілька хвилин."
},
"panel": {
"title": "Що нового у {version}",
"buttons": {
"discord": "Приєднатися до нашого Discord",
"dismiss": "Ок"
},
"empty": "Примітки до релізу ще недоступні.",
"highlight-title": "Основні зміни",
"section": {
"released": "Випущено {date}",
"version": "Версія {version}"
},
"subtitle": {
"fresh": "Дякуємо, що встановили Noctalia! Ось що містить цей білд.",
"updated": "Оновлено з {previousVersion}"
},
"title": "Що нового у {version}",
"version": {
"new-user": "Нове встановлення"
},
"highlight-title": "Основні зміни",
"empty": "Примітки до релізу ще недоступні.",
"section": {
"version": "Версія {version}",
"released": "Випущено {date}"
},
"buttons": {
"discord": "Приєднатися до нашого Discord",
"feedback": "Надіслати відгук",
"dismiss": "Ок"
}
},
"error": {
"rate-limit": "Перевищено ліміт GitHub. Спробуйте ще раз за кілька хвилин."
}
},
"clock": {

View File

@@ -396,29 +396,28 @@
}
},
"changelog": {
"error": {
"rate-limit": "已达到 GitHub 速率限制,请稍后再试。"
},
"panel": {
"title": "{version} 有哪些更新",
"buttons": {
"discord": "加入我们的 Discord",
"dismiss": "确定"
},
"empty": "暂时没有可用的发行说明。",
"highlight-title": "重点更新",
"section": {
"released": "{date} 发布",
"version": "版本 {version}"
},
"subtitle": {
"fresh": "感谢安装 Noctalia以下是本次构建包含的内容。",
"updated": "已从 {previousVersion} 更新"
},
"title": "{version} 有哪些更新",
"version": {
"new-user": "全新安装"
},
"highlight-title": "重点更新",
"empty": "暂时没有可用的发行说明。",
"section": {
"version": "版本 {version}",
"released": "{date} 发布"
},
"buttons": {
"discord": "加入我们的 Discord",
"feedback": "发送反馈",
"dismiss": "确定"
}
},
"error": {
"rate-limit": "已达到 GitHub 速率限制,请稍后再试。"
}
},
"clock": {

View File

@@ -828,4 +828,4 @@ Singleton {
const widgetAfter = JSON.stringify(widget);
return (widgetAfter !== widgetBefore);
}
}
}

View File

@@ -144,10 +144,10 @@ Item {
forceClose: displayMode === "alwaysHide"
tooltipText: I18n.tr("tooltips.microphone-volume-at", {
"volume": (() => {
const maxVolume = Settings.data.audio.volumeOverdrive ? 1.5 : 1.0;
const displayVolume = Math.min(maxVolume, AudioService.inputVolume);
return Math.round(displayVolume * 100);
})()
const maxVolume = Settings.data.audio.volumeOverdrive ? 1.5 : 1.0;
const displayVolume = Math.min(maxVolume, AudioService.inputVolume);
return Math.round(displayVolume * 100);
})()
})
onWheel: function (delta) {

View File

@@ -127,10 +127,10 @@ Item {
forceClose: displayMode === "alwaysHide"
tooltipText: I18n.tr("tooltips.volume-at", {
"volume": (() => {
const maxVolume = Settings.data.audio.volumeOverdrive ? 1.5 : 1.0;
const displayVolume = Math.min(maxVolume, AudioService.volume);
return Math.round(displayVolume * 100);
})()
const maxVolume = Settings.data.audio.volumeOverdrive ? 1.5 : 1.0;
const displayVolume = Math.min(maxVolume, AudioService.volume);
return Math.round(displayVolume * 100);
})()
})
onWheel: function (delta) {

View File

@@ -602,12 +602,7 @@ Loader {
}
// Calculate maximum width needed
property real maxTextWidth: Math.max(
logoutText.implicitWidth,
Math.max(suspendText.implicitWidth,
Math.max(hibernateText.implicitWidth,
Math.max(rebootText.implicitWidth,
shutdownText.implicitWidth))))
property real maxTextWidth: Math.max(logoutText.implicitWidth, Math.max(suspendText.implicitWidth, Math.max(hibernateText.implicitWidth, Math.max(rebootText.implicitWidth, shutdownText.implicitWidth))))
property real minButtonWidth: maxTextWidth + iconSize + spacing + padding
}
@@ -615,9 +610,7 @@ Loader {
// Button row needs: margins + 5 buttons + 4 spacings + margins
// Plus ColumnLayout margins (14 on each side = 28 total)
// Add extra buffer to ensure password input has proper padding
property real minButtonRowWidth: buttonRowTextMeasurer.minButtonWidth > 0
? (5 * buttonRowTextMeasurer.minButtonWidth) + 40 + (2 * Style.marginM) + 28 + (2 * Style.marginM)
: 750
property real minButtonRowWidth: buttonRowTextMeasurer.minButtonWidth > 0 ? (5 * buttonRowTextMeasurer.minButtonWidth) + 40 + (2 * Style.marginM) + 28 + (2 * Style.marginM) : 750
width: Math.max(750, minButtonRowWidth)
ColumnLayout {

View File

@@ -21,8 +21,8 @@ SmartPanel {
readonly property bool hasPreviousVersion: previousVersion && previousVersion.length > 0
readonly property var releaseHighlights: UpdateService.releaseHighlights || []
readonly property string subtitleText: hasPreviousVersion ? I18n.tr("changelog.panel.subtitle.updated", {
"previousVersion": previousVersion
}) : I18n.tr("changelog.panel.subtitle.fresh")
"previousVersion": previousVersion
}) : I18n.tr("changelog.panel.subtitle.fresh")
panelContent: Rectangle {
color: Color.mSurfaceVariant
@@ -51,8 +51,8 @@ SmartPanel {
NText {
text: I18n.tr("changelog.panel.title", {
"version": currentVersion || UpdateService.currentVersion
})
"version": currentVersion || UpdateService.currentVersion
})
pointSize: Style.fontSizeXL
font.weight: Style.fontWeightBold
color: Color.mPrimary
@@ -149,8 +149,8 @@ SmartPanel {
NText {
text: I18n.tr("changelog.panel.section.version", {
"version": modelData.version || I18n.tr("system.unknown-version")
})
"version": modelData.version || I18n.tr("system.unknown-version")
})
font.weight: Style.fontWeightBold
color: Color.mOnSurface
}
@@ -158,8 +158,8 @@ SmartPanel {
NText {
visible: modelData.date && modelData.date.length > 0
text: I18n.tr("changelog.panel.section.released", {
"date": root.formatReleaseDate(modelData.date)
})
"date": root.formatReleaseDate(modelData.date)
})
color: Color.mOnSurfaceVariant
pointSize: Style.fontSizeXS
}
@@ -262,4 +262,3 @@ SmartPanel {
}
}
}

View File

@@ -938,4 +938,4 @@ Popup {
}
}
}
}
}

View File

@@ -94,11 +94,11 @@ Singleton {
if (vol > maxVolume) {
root.isClampingOutput = true;
Qt.callLater(() => {
if (root.sink?.audio) {
root.sink.audio.volume = maxVolume;
}
root.isClampingOutput = false;
});
if (root.sink?.audio) {
root.sink.audio.volume = maxVolume;
}
root.isClampingOutput = false;
});
return;
}
}
@@ -131,11 +131,11 @@ Singleton {
if (vol > maxVolume) {
root.isClampingInput = true;
Qt.callLater(() => {
if (root.source?.audio) {
root.source.audio.volume = maxVolume;
}
root.isClampingInput = false;
});
if (root.source?.audio) {
root.source.audio.volume = maxVolume;
}
root.isClampingInput = false;
});
return;
}
}

View File

@@ -227,10 +227,10 @@ Singleton {
const parsed = responseText ? JSON.parse(responseText) : [];
if (Array.isArray(parsed) && parsed.length > 0) {
const mapped = parsed.map(rel => ({
"version": rel.tag_name || "",
"createdAt": rel.published_at || rel.created_at || "",
"body": rel.body || ""
})).filter(rel => rel.version !== "");
"version": rel.tag_name || "",
"createdAt": rel.published_at || rel.created_at || "",
"body": rel.body || ""
})).filter(rel => rel.version !== "");
releasesAccumulator = releasesAccumulator.concat(mapped);
if (parsed.length === perPage) {

View File

@@ -33,7 +33,7 @@ Singleton {
property string changelogLastSeenVersion: ""
property bool changelogStateLoaded: false
property bool pendingShowRequest: false
// Fix for FileView race condition
property bool saveInProgress: false
property bool pendingSave: false
@@ -108,7 +108,7 @@ Singleton {
function handleChangelogRequest() {
const fromVersion = changelogFromVersion || "";
const toVersion = changelogToVersion || "";
if (!toVersion)
return;
@@ -165,10 +165,10 @@ Singleton {
continue;
selected.push({
"version": tag,
"date": rel.createdAt || "",
"entries": entries
});
"version": tag,
"date": rel.createdAt || "",
"entries": entries
});
}
}
@@ -176,10 +176,10 @@ Singleton {
const fallback = parseReleaseNotes(GitHubService ? GitHubService.releaseNotes : "");
if (fallback.length > 0) {
selected.push({
"version": toVersion,
"date": "",
"entries": fallback
});
"version": toVersion,
"date": "",
"entries": fallback
});
fetchError = "";
}
}
@@ -412,25 +412,25 @@ Singleton {
try {
changelogStateAdapter.lastSeenVersion = changelogLastSeenVersion || "";
// Ensure cache directory exists
Quickshell.execDetached(["mkdir", "-p", Settings.cacheDir]);
// Small delay to ensure directory creation completes
Qt.callLater(() => {
try {
changelogStateFileView.writeAdapter();
saveInProgress = false;
// Check if another save was queued while we were saving
if (pendingSave) {
Qt.callLater(executeSave);
}
} catch (writeError) {
Logger.e("UpdateService", "Failed to write changelog state:", writeError);
saveInProgress = false;
}
});
try {
changelogStateFileView.writeAdapter();
saveInProgress = false;
// Check if another save was queued while we were saving
if (pendingSave) {
Qt.callLater(executeSave);
}
} catch (writeError) {
Logger.e("UpdateService", "Failed to write changelog state:", writeError);
saveInProgress = false;
}
});
} catch (error) {
Logger.e("UpdateService", "Failed to save changelog state:", error);
saveInProgress = false;
@@ -441,4 +441,4 @@ Singleton {
// Immediate save (backward compatibility)
debouncedSaveChangelogState();
}
}
}

View File

@@ -26,11 +26,11 @@ import qs.Services.Control
import qs.Services.Hardware
import qs.Services.Location
import qs.Services.Networking
import qs.Services.Noctalia
import qs.Services.Power
import qs.Services.System
import qs.Services.Theming
import qs.Services.UI
import qs.Services.Noctalia
ShellRoot {
id: shellRoot