NComboBox: fix other languages display

Translations/de: update accordingly
This commit is contained in:
Ly-sec
2025-09-24 16:02:24 +02:00
parent 5de4330199
commit 9cfe49dec3
2 changed files with 113 additions and 28 deletions
+74 -15
View File
@@ -44,7 +44,7 @@
}, },
"solid-black": { "solid-black": {
"label": "Schwarze Ecken", "label": "Schwarze Ecken",
"description": "Schwarze Ecken anstelle der Leisten-Hintergrundfarbe verwenden." "description": "Schwarze Ecken anstelle der Statusleisten-Hintergrundfarbe verwenden."
}, },
"radius": { "radius": {
"label": "Bildschirmecken-Radius", "label": "Bildschirmecken-Radius",
@@ -192,35 +192,35 @@
} }
}, },
"bar": { "bar": {
"title": "Leiste", "title": "Statusleiste",
"appearance": { "appearance": {
"section": { "section": {
"label": "Erscheinungsbild", "label": "Erscheinungsbild",
"description": "Erscheinungsbild und Position der Leiste anpassen." "description": "Erscheinungsbild und Position der Statusleiste anpassen."
}, },
"position": { "position": {
"label": "Leistenposition", "label": "Statusleistenposition",
"description": "Wählen Sie, wo die Leiste auf dem Bildschirm platziert werden soll." "description": "Wählen Sie, wo die Statusleiste auf dem Bildschirm platziert werden soll."
}, },
"density": { "density": {
"label": "Leistendichte", "label": "Statusleistendichte",
"description": "Innenabstand der Leiste für kompaktes oder geräumiges Aussehen anpassen." "description": "Innenabstand der Statusleiste für kompaktes oder geräumiges Aussehen anpassen."
}, },
"background-opacity": { "background-opacity": {
"label": "Hintergrund-Transparenz", "label": "Hintergrund-Transparenz",
"description": "Hintergrund-Transparenz der Leiste anpassen." "description": "Hintergrund-Transparenz der Statusleiste anpassen."
}, },
"show-capsule": { "show-capsule": {
"label": "Kapsel anzeigen", "label": "Kapsel anzeigen",
"description": "Widget-Hintergründe anzeigen." "description": "Widget-Hintergründe anzeigen."
}, },
"floating": { "floating": {
"label": "Schwebende Leiste", "label": "Schwebende Statusleiste",
"description": "Leiste als schwebende 'Pille' anzeigen. Hinweis: Dies verschiebt die Bildschirmecken an die Ränder." "description": "Statusleiste als schwebende 'Pille' anzeigen. Hinweis: Dies verschiebt die Bildschirmecken an die Ränder."
}, },
"margins": { "margins": {
"label": "Ränder", "label": "Ränder",
"description": "Ränder um die schwebende Leiste anpassen.", "description": "Ränder um die schwebende Statusleiste anpassen.",
"vertical": "Vertikal", "vertical": "Vertikal",
"horizontal": "Horizontal" "horizontal": "Horizontal"
} }
@@ -234,7 +234,7 @@
"monitors": { "monitors": {
"section": { "section": {
"label": "Monitor-Anzeige", "label": "Monitor-Anzeige",
"description": "Leiste auf bestimmten Monitoren anzeigen. Standard ist alle, wenn keine ausgewählt sind." "description": "Statusleiste auf bestimmten Monitoren anzeigen. Standard ist alle, wenn keine ausgewählt sind."
} }
} }
}, },
@@ -663,6 +663,10 @@
"tooltip": { "tooltip": {
"placeholder": "Platzhalter" "placeholder": "Platzhalter"
}, },
"file-picker": {
"select-folder": "Ordner auswählen",
"select-file": "Datei auswählen"
},
"datetime-tokens": { "datetime-tokens": {
"common": { "common": {
"12hour-time-minutes": "12-Stunden-Zeit mit Minuten", "12hour-time-minutes": "12-Stunden-Zeit mit Minuten",
@@ -860,11 +864,11 @@
"description": "Passen Sie die Anzeige Ihrer Uhr an, indem Sie Token aus der Liste unten hinzufügen. Um das 12-Stunden-Format zu verwenden, müssen Sie das 'AP'-Token einschließen." "description": "Passen Sie die Anzeige Ihrer Uhr an, indem Sie Token aus der Liste unten hinzufügen. Um das 12-Stunden-Format zu verwenden, müssen Sie das 'AP'-Token einschließen."
}, },
"horizontal-bar": { "horizontal-bar": {
"label": "Horizontale Leiste", "label": "Horizontale Statusleiste",
"description": "Tipp: Verwenden Sie \\n, um einen Zeilenumbruch zu erstellen." "description": "Tipp: Verwenden Sie \\n, um einen Zeilenumbruch zu erstellen."
}, },
"vertical-bar": { "vertical-bar": {
"label": "Vertikale Leiste", "label": "Vertikale Statusleiste",
"description": "Verwenden Sie ein Leerzeichen, um jeden Teil in eine neue Zeile zu trennen." "description": "Verwenden Sie ein Leerzeichen, um jeden Teil in eine neue Zeile zu trennen."
}, },
"preview": "Vorschau" "preview": "Vorschau"
@@ -886,7 +890,25 @@
"description": "Ausgewähltes Hintergrundbild auf alle Monitore gleichzeitig anwenden." "description": "Ausgewähltes Hintergrundbild auf alle Monitore gleichzeitig anwenden."
}, },
"search": "Suchen:" "search": "Suchen:"
} },
"transitions": {
"none": "Keine",
"random": "Zufällig",
"fade": "Überblenden",
"disc": "Scheibe",
"stripes": "Streifen",
"wipe": "Wischen"
},
"fill-modes": {
"center": "Zentrieren",
"crop": "Zuschneiden (Füllen)",
"fit": "Einpassen (Beibehalten)",
"stretch": "Strecken"
},
"no-match": "Keine Übereinstimmung gefunden.",
"no-wallpaper": "Kein Hintergrundbild gefunden.",
"try-different-search": "Versuchen Sie eine andere Suchanfrage.",
"configure-directory": "Konfigurieren Sie Ihr Hintergrundbild-Verzeichnis mit Bildern."
}, },
"bluetooth": { "bluetooth": {
"panel": { "panel": {
@@ -1004,6 +1026,30 @@
"test": "Test" "test": "Test"
}, },
"options": { "options": {
"bar": {
"position": {
"top": "Oben",
"bottom": "Unten",
"left": "Links",
"right": "Rechts"
},
"density": {
"compact": "Kompakt",
"default": "Standard",
"comfortable": "Bequem"
}
},
"launcher": {
"position": {
"center": "Mitte (Standard)",
"top_left": "Oben links",
"top_right": "Oben rechts",
"bottom_left": "Unten links",
"bottom_right": "Unten rechts",
"bottom_center": "Unten mittig",
"top_center": "Oben mittig"
}
},
"display-mode": { "display-mode": {
"on-hover": "Beim Darüberfahren", "on-hover": "Beim Darüberfahren",
"always-show": "Immer anzeigen", "always-show": "Immer anzeigen",
@@ -1067,6 +1113,8 @@
"title": "Sitzungsmenü", "title": "Sitzungsmenü",
"click-again": "Erneut klicken für sofortige Ausführung", "click-again": "Erneut klicken für sofortige Ausführung",
"action-in-seconds": "{action} in {seconds} Sekunden...", "action-in-seconds": "{action} in {seconds} Sekunden...",
"lock-subtitle": "Sitzung sperren",
"end-subtitle": "Sitzung beenden",
"lock": "Sperren", "lock": "Sperren",
"suspend": "Ruhezustand", "suspend": "Ruhezustand",
"reboot": "Neu starten", "reboot": "Neu starten",
@@ -1107,6 +1155,17 @@
"unknown-version": "Unbekannt", "unknown-version": "Unbekannt",
"unknown-layout": "Unbekannt" "unknown-layout": "Unbekannt"
}, },
"battery": {
"no-battery-detected": "Keine Batterie erkannt.",
"charging-rate": "Laderate: {rate} W.",
"discharging-rate": "Entladerate: {rate} W.",
"charging": "Wird geladen.",
"discharging": "Wird entladen."
},
"authentication": {
"failed": "Authentifizierung fehlgeschlagen",
"error": "Authentifizierungsfehler"
},
"lock-screen": { "lock-screen": {
"secure-terminal": "SICHERES TERMINAL", "secure-terminal": "SICHERES TERMINAL",
"unlock-command": "sudo unlock-session", "unlock-command": "sudo unlock-session",
+39 -13
View File
@@ -13,9 +13,7 @@ RowLayout {
property string label: "" property string label: ""
property string description: "" property string description: ""
property ListModel model: { property var model
}
property string currentKey: "" property string currentKey: ""
property string placeholder: "" property string placeholder: ""
@@ -26,11 +24,31 @@ RowLayout {
spacing: Style.marginL * scaling spacing: Style.marginL * scaling
Layout.fillWidth: true Layout.fillWidth: true
function itemCount() {
if (!root.model)
return 0
if (typeof root.model.count === 'number')
return root.model.count
if (Array.isArray(root.model))
return root.model.length
return 0
}
function getItem(index) {
if (!root.model)
return null
if (typeof root.model.get === 'function')
return root.model.get(index)
if (Array.isArray(root.model))
return root.model[index]
return null
}
function findIndexByKey(key) { function findIndexByKey(key) {
for (var i = 0; i < root.model.count; i++) { for (var i = 0; i < itemCount(); i++) {
if (root.model.get(i).key === key) { var item = getItem(i)
if (item && item.key === key)
return i return i
}
} }
return -1 return -1
} }
@@ -48,7 +66,9 @@ RowLayout {
model: model model: model
currentIndex: findIndexByKey(currentKey) currentIndex: findIndexByKey(currentKey)
onActivated: { onActivated: {
root.selected(model.get(combo.currentIndex).key) var item = getItem(combo.currentIndex)
if (item && item.key !== undefined)
root.selected(item.key)
} }
background: Rectangle { background: Rectangle {
@@ -72,8 +92,8 @@ RowLayout {
font.pointSize: Style.fontSizeM * scaling font.pointSize: Style.fontSizeM * scaling
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight elide: Text.ElideRight
color: (combo.currentIndex >= 0 && combo.currentIndex < root.model.count) ? Color.mOnSurface : Color.mOnSurfaceVariant color: (combo.currentIndex >= 0 && combo.currentIndex < itemCount()) ? Color.mOnSurface : Color.mOnSurfaceVariant
text: (combo.currentIndex >= 0 && combo.currentIndex < root.model.count) ? root.model.get(combo.currentIndex).name : root.placeholder text: (combo.currentIndex >= 0 && combo.currentIndex < itemCount()) ? (getItem(combo.currentIndex) ? getItem(combo.currentIndex).name : root.placeholder) : root.placeholder
} }
indicator: NIcon { indicator: NIcon {
@@ -115,9 +135,12 @@ RowLayout {
} }
onClicked: { onClicked: {
root.selected(root.model.get(index).key) var item = root.getItem(index)
combo.currentIndex = index if (item && item.key !== undefined) {
combo.popup.close() root.selected(item.key)
combo.currentIndex = index
combo.popup.close()
}
} }
background: Rectangle { background: Rectangle {
@@ -132,7 +155,10 @@ RowLayout {
} }
contentItem: NText { contentItem: NText {
text: name text: (function () {
var item = root.getItem(index)
return item && item.name ? item.name : ""
})()
font.pointSize: Style.fontSizeM * scaling font.pointSize: Style.fontSizeM * scaling
color: highlighted ? Color.mOnTertiary : Color.mOnSurface color: highlighted ? Color.mOnTertiary : Color.mOnSurface
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter