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": {
"label": "Schwarze Ecken",
"description": "Schwarze Ecken anstelle der Leisten-Hintergrundfarbe verwenden."
"description": "Schwarze Ecken anstelle der Statusleisten-Hintergrundfarbe verwenden."
},
"radius": {
"label": "Bildschirmecken-Radius",
@@ -192,35 +192,35 @@
}
},
"bar": {
"title": "Leiste",
"title": "Statusleiste",
"appearance": {
"section": {
"label": "Erscheinungsbild",
"description": "Erscheinungsbild und Position der Leiste anpassen."
"description": "Erscheinungsbild und Position der Statusleiste anpassen."
},
"position": {
"label": "Leistenposition",
"description": "Wählen Sie, wo die Leiste auf dem Bildschirm platziert werden soll."
"label": "Statusleistenposition",
"description": "Wählen Sie, wo die Statusleiste auf dem Bildschirm platziert werden soll."
},
"density": {
"label": "Leistendichte",
"description": "Innenabstand der Leiste für kompaktes oder geräumiges Aussehen anpassen."
"label": "Statusleistendichte",
"description": "Innenabstand der Statusleiste für kompaktes oder geräumiges Aussehen anpassen."
},
"background-opacity": {
"label": "Hintergrund-Transparenz",
"description": "Hintergrund-Transparenz der Leiste anpassen."
"description": "Hintergrund-Transparenz der Statusleiste anpassen."
},
"show-capsule": {
"label": "Kapsel anzeigen",
"description": "Widget-Hintergründe anzeigen."
},
"floating": {
"label": "Schwebende Leiste",
"description": "Leiste als schwebende 'Pille' anzeigen. Hinweis: Dies verschiebt die Bildschirmecken an die Ränder."
"label": "Schwebende Statusleiste",
"description": "Statusleiste als schwebende 'Pille' anzeigen. Hinweis: Dies verschiebt die Bildschirmecken an die Ränder."
},
"margins": {
"label": "Ränder",
"description": "Ränder um die schwebende Leiste anpassen.",
"description": "Ränder um die schwebende Statusleiste anpassen.",
"vertical": "Vertikal",
"horizontal": "Horizontal"
}
@@ -234,7 +234,7 @@
"monitors": {
"section": {
"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": {
"placeholder": "Platzhalter"
},
"file-picker": {
"select-folder": "Ordner auswählen",
"select-file": "Datei auswählen"
},
"datetime-tokens": {
"common": {
"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."
},
"horizontal-bar": {
"label": "Horizontale Leiste",
"label": "Horizontale Statusleiste",
"description": "Tipp: Verwenden Sie \\n, um einen Zeilenumbruch zu erstellen."
},
"vertical-bar": {
"label": "Vertikale Leiste",
"label": "Vertikale Statusleiste",
"description": "Verwenden Sie ein Leerzeichen, um jeden Teil in eine neue Zeile zu trennen."
},
"preview": "Vorschau"
@@ -886,7 +890,25 @@
"description": "Ausgewähltes Hintergrundbild auf alle Monitore gleichzeitig anwenden."
},
"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": {
"panel": {
@@ -1004,6 +1026,30 @@
"test": "Test"
},
"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": {
"on-hover": "Beim Darüberfahren",
"always-show": "Immer anzeigen",
@@ -1067,6 +1113,8 @@
"title": "Sitzungsmenü",
"click-again": "Erneut klicken für sofortige Ausführung",
"action-in-seconds": "{action} in {seconds} Sekunden...",
"lock-subtitle": "Sitzung sperren",
"end-subtitle": "Sitzung beenden",
"lock": "Sperren",
"suspend": "Ruhezustand",
"reboot": "Neu starten",
@@ -1107,6 +1155,17 @@
"unknown-version": "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": {
"secure-terminal": "SICHERES TERMINAL",
"unlock-command": "sudo unlock-session",
+39 -13
View File
@@ -13,9 +13,7 @@ RowLayout {
property string label: ""
property string description: ""
property ListModel model: {
}
property var model
property string currentKey: ""
property string placeholder: ""
@@ -26,11 +24,31 @@ RowLayout {
spacing: Style.marginL * scaling
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) {
for (var i = 0; i < root.model.count; i++) {
if (root.model.get(i).key === key) {
for (var i = 0; i < itemCount(); i++) {
var item = getItem(i)
if (item && item.key === key)
return i
}
}
return -1
}
@@ -48,7 +66,9 @@ RowLayout {
model: model
currentIndex: findIndexByKey(currentKey)
onActivated: {
root.selected(model.get(combo.currentIndex).key)
var item = getItem(combo.currentIndex)
if (item && item.key !== undefined)
root.selected(item.key)
}
background: Rectangle {
@@ -72,8 +92,8 @@ RowLayout {
font.pointSize: Style.fontSizeM * scaling
verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight
color: (combo.currentIndex >= 0 && combo.currentIndex < root.model.count) ? Color.mOnSurface : Color.mOnSurfaceVariant
text: (combo.currentIndex >= 0 && combo.currentIndex < root.model.count) ? root.model.get(combo.currentIndex).name : root.placeholder
color: (combo.currentIndex >= 0 && combo.currentIndex < itemCount()) ? Color.mOnSurface : Color.mOnSurfaceVariant
text: (combo.currentIndex >= 0 && combo.currentIndex < itemCount()) ? (getItem(combo.currentIndex) ? getItem(combo.currentIndex).name : root.placeholder) : root.placeholder
}
indicator: NIcon {
@@ -115,9 +135,12 @@ RowLayout {
}
onClicked: {
root.selected(root.model.get(index).key)
combo.currentIndex = index
combo.popup.close()
var item = root.getItem(index)
if (item && item.key !== undefined) {
root.selected(item.key)
combo.currentIndex = index
combo.popup.close()
}
}
background: Rectangle {
@@ -132,7 +155,10 @@ RowLayout {
}
contentItem: NText {
text: name
text: (function () {
var item = root.getItem(index)
return item && item.name ? item.name : ""
})()
font.pointSize: Style.fontSizeM * scaling
color: highlighted ? Color.mOnTertiary : Color.mOnSurface
verticalAlignment: Text.AlignVCenter