forked from feedc0de/evcharger-app
Implement led page
This commit is contained in:
1 parent
9461e79131
commit
b60d3ea63e
10 files changed
+1910
-11
No files matched your search
@@ -121,6 +121,7 @@ qt_add_qml_module(evcharger-app
|
||||
qml/KwhLimitPage.qml
|
||||
qml/LanguageSelector.qml
|
||||
qml/LedPage.qml
|
||||
qml/LedRingPreview.qml
|
||||
qml/LicensesPage.qml
|
||||
qml/LoadBalancingPage.qml
|
||||
qml/LogicModeButton.qml
|
||||
|
||||
@@ -2878,10 +2878,218 @@
|
||||
<context>
|
||||
<name>LedPage</name>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="6"/>
|
||||
<location filename="../qml/LedPage.qml" line="16"/>
|
||||
<source>LED</source>
|
||||
<translation>LED</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="23"/>
|
||||
<location filename="../qml/LedPage.qml" line="60"/>
|
||||
<location filename="../qml/LedPage.qml" line="72"/>
|
||||
<location filename="../qml/LedPage.qml" line="85"/>
|
||||
<source>Ready</source>
|
||||
<translation>Klar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="24"/>
|
||||
<source>Color shown while the charger is ready and no car is connected.</source>
|
||||
<translation>Farve, der vises, når laderen er klar, og ingen bil er tilsluttet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="31"/>
|
||||
<location filename="../qml/LedPage.qml" line="62"/>
|
||||
<location filename="../qml/LedPage.qml" line="73"/>
|
||||
<location filename="../qml/LedPage.qml" line="86"/>
|
||||
<source>Waiting for car</source>
|
||||
<translation>Venter på bil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="32"/>
|
||||
<source>Color shown while the charger is waiting for the vehicle.</source>
|
||||
<translation>Farve, der vises, mens laderen venter på køretøjet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="39"/>
|
||||
<location filename="../qml/LedPage.qml" line="64"/>
|
||||
<location filename="../qml/LedPage.qml" line="74"/>
|
||||
<location filename="../qml/LedPage.qml" line="88"/>
|
||||
<source>Charging</source>
|
||||
<translation>Oplader</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="40"/>
|
||||
<source>Color of the rotating tails while the vehicle is charging.</source>
|
||||
<translation>Farven på de roterende lyshaler, mens køretøjet oplades.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="47"/>
|
||||
<location filename="../qml/LedPage.qml" line="66"/>
|
||||
<location filename="../qml/LedPage.qml" line="75"/>
|
||||
<location filename="../qml/LedPage.qml" line="89"/>
|
||||
<source>Finished</source>
|
||||
<translation>Fuldført</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="48"/>
|
||||
<source>Color shown when charging has finished.</source>
|
||||
<translation>Farve, der vises, når opladningen er fuldført.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="58"/>
|
||||
<source>Live device</source>
|
||||
<translation>Direkte fra enheden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="76"/>
|
||||
<source>Live LED ring</source>
|
||||
<translation>LED-ring i realtid</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="83"/>
|
||||
<source>No animation data</source>
|
||||
<translation>Ingen animationsdata</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="87"/>
|
||||
<source>Waiting for authorization</source>
|
||||
<translation>Venter på godkendelse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="90"/>
|
||||
<source>Rainbow</source>
|
||||
<translation>Regnbue</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="91"/>
|
||||
<source>Pulsating</source>
|
||||
<translation>Pulserende</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="92"/>
|
||||
<source>Firmware update</source>
|
||||
<translation>Firmwareopdatering</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="93"/>
|
||||
<source>Firmware update finished</source>
|
||||
<translation>Firmwareopdateringen er fuldført</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="94"/>
|
||||
<source>Firmware update failed</source>
|
||||
<translation>Firmwareopdateringen mislykkedes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="102"/>
|
||||
<source>Configured preview</source>
|
||||
<translation>Konfigureret forhåndsvisning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="192"/>
|
||||
<source>Adjust how the LED ring communicates charging states and preview the result before using it on the charger.</source>
|
||||
<translation>Juster, hvordan LED-ringen viser opladningstilstande, og forhåndsvis resultatet, før du bruger det på laderen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="198"/>
|
||||
<source>LED ring preview</source>
|
||||
<translation>Forhåndsvisning af LED-ring</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="207"/>
|
||||
<source>Preview</source>
|
||||
<translation>Forhåndsvisning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="250"/>
|
||||
<source>The live preview follows the animation reported by the charger. Select another state to preview its configured color; the charging preview includes the rotating tails.</source>
|
||||
<translation>Forhåndsvisningen i realtid følger den animation, som laderen rapporterer. Vælg en anden tilstand for at forhåndsvise dens konfigurerede farve; opladningsforhåndsvisningen indeholder de roterende lyshaler.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="259"/>
|
||||
<source>Brightness</source>
|
||||
<translation>Lysstyrke</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="264"/>
|
||||
<source>LED brightness</source>
|
||||
<translation>LED-lysstyrke</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="268"/>
|
||||
<location filename="../qml/LedPage.qml" line="276"/>
|
||||
<source>%1%</source>
|
||||
<translation>%1%</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="293"/>
|
||||
<source>Lower brightness is less distracting at night. Set it to zero to turn the ring off completely.</source>
|
||||
<translation>Lavere lysstyrke er mindre forstyrrende om natten. Indstil den til nul for at slukke ringen helt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="302"/>
|
||||
<source>Status colors</source>
|
||||
<translation>Statusfarver</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="308"/>
|
||||
<source>Tap a charging state to choose the color used by the LED ring.</source>
|
||||
<translation>Tryk på en opladningstilstand for at vælge den farve, LED-ringen bruger.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="377"/>
|
||||
<source>Energy saving</source>
|
||||
<translation>Energibesparelse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="383"/>
|
||||
<source>Energy saving on</source>
|
||||
<translation>Energibesparelse til</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="383"/>
|
||||
<source>Energy saving off</source>
|
||||
<translation>Energibesparelse fra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="389"/>
|
||||
<source>Energy saving turns off status lighting when it is not needed. Charging and important warnings remain visible.</source>
|
||||
<translation>Energibesparelse slukker statusbelysningen, når den ikke er nødvendig. Opladning og vigtige advarsler forbliver synlige.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="397"/>
|
||||
<source>Keep mode indicators on</source>
|
||||
<translation>Behold tilstandsindikatorerne tændt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="403"/>
|
||||
<source>Keep the small charging-mode indicators visible while the LED ring is saving energy.</source>
|
||||
<translation>Behold de små opladningstilstandsindikatorer synlige, mens LED-ringen sparer energi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="410"/>
|
||||
<source>Service diagnostics</source>
|
||||
<translation>Servicediagnostik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="416"/>
|
||||
<source>These service options can replace normal status animations. Leave them off unless you are diagnosing the LED hardware.</source>
|
||||
<translation>Disse serviceindstillinger kan erstatte normale statusanimationer. Lad dem være slået fra, medmindre du diagnosticerer LED-hardwaren.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="424"/>
|
||||
<source>Factory LED test</source>
|
||||
<translation>Fabrikkens LED-test</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="430"/>
|
||||
<source>LED diagnostics</source>
|
||||
<translation>LED-diagnostik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="435"/>
|
||||
<source>Choose color for %1</source>
|
||||
<translation>Vælg farve til %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LicensesPage</name>
|
||||
|
||||
@@ -3053,10 +3053,218 @@
|
||||
<context>
|
||||
<name>LedPage</name>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="6"/>
|
||||
<location filename="../qml/LedPage.qml" line="16"/>
|
||||
<source>LED</source>
|
||||
<translation>LED</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="23"/>
|
||||
<location filename="../qml/LedPage.qml" line="60"/>
|
||||
<location filename="../qml/LedPage.qml" line="72"/>
|
||||
<location filename="../qml/LedPage.qml" line="85"/>
|
||||
<source>Ready</source>
|
||||
<translation>Bereit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="24"/>
|
||||
<source>Color shown while the charger is ready and no car is connected.</source>
|
||||
<translation>Farbe, die angezeigt wird, wenn der Charger bereit und kein Auto verbunden ist.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="31"/>
|
||||
<location filename="../qml/LedPage.qml" line="62"/>
|
||||
<location filename="../qml/LedPage.qml" line="73"/>
|
||||
<location filename="../qml/LedPage.qml" line="86"/>
|
||||
<source>Waiting for car</source>
|
||||
<translation>Warte auf Auto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="32"/>
|
||||
<source>Color shown while the charger is waiting for the vehicle.</source>
|
||||
<translation>Farbe, die angezeigt wird, während der Charger auf das Fahrzeug wartet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="39"/>
|
||||
<location filename="../qml/LedPage.qml" line="64"/>
|
||||
<location filename="../qml/LedPage.qml" line="74"/>
|
||||
<location filename="../qml/LedPage.qml" line="88"/>
|
||||
<source>Charging</source>
|
||||
<translation>Lädt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="40"/>
|
||||
<source>Color of the rotating tails while the vehicle is charging.</source>
|
||||
<translation>Farbe der rotierenden Schweife, während das Fahrzeug lädt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="47"/>
|
||||
<location filename="../qml/LedPage.qml" line="66"/>
|
||||
<location filename="../qml/LedPage.qml" line="75"/>
|
||||
<location filename="../qml/LedPage.qml" line="89"/>
|
||||
<source>Finished</source>
|
||||
<translation>Beendet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="48"/>
|
||||
<source>Color shown when charging has finished.</source>
|
||||
<translation>Farbe, die nach Abschluss des Ladevorgangs angezeigt wird.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="58"/>
|
||||
<source>Live device</source>
|
||||
<translation>Live-Gerät</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="76"/>
|
||||
<source>Live LED ring</source>
|
||||
<translation>Live-LED-Ring</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="83"/>
|
||||
<source>No animation data</source>
|
||||
<translation>Keine Animationsdaten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="87"/>
|
||||
<source>Waiting for authorization</source>
|
||||
<translation>Warte auf Autorisierung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="90"/>
|
||||
<source>Rainbow</source>
|
||||
<translation>Regenbogen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="91"/>
|
||||
<source>Pulsating</source>
|
||||
<translation>Pulsierend</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="92"/>
|
||||
<source>Firmware update</source>
|
||||
<translation>Firmware-Update</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="93"/>
|
||||
<source>Firmware update finished</source>
|
||||
<translation>Firmware-Update abgeschlossen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="94"/>
|
||||
<source>Firmware update failed</source>
|
||||
<translation>Firmware-Update fehlgeschlagen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="102"/>
|
||||
<source>Configured preview</source>
|
||||
<translation>Konfigurierte Vorschau</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="192"/>
|
||||
<source>Adjust how the LED ring communicates charging states and preview the result before using it on the charger.</source>
|
||||
<translation>Passe an, wie der LED-Ring Ladezustände anzeigt, und prüfe das Ergebnis in der Vorschau, bevor du es am Charger verwendest.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="198"/>
|
||||
<source>LED ring preview</source>
|
||||
<translation>LED-Ring-Vorschau</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="207"/>
|
||||
<source>Preview</source>
|
||||
<translation>Vorschau</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="250"/>
|
||||
<source>The live preview follows the animation reported by the charger. Select another state to preview its configured color; the charging preview includes the rotating tails.</source>
|
||||
<translation>Die Live-Vorschau folgt der vom Charger gemeldeten Animation. Wähle einen anderen Zustand, um dessen konfigurierte Farbe zu prüfen; die Ladevorschau enthält die rotierenden Schweife.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="259"/>
|
||||
<source>Brightness</source>
|
||||
<translation>Helligkeit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="264"/>
|
||||
<source>LED brightness</source>
|
||||
<translation>LED-Helligkeit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="268"/>
|
||||
<location filename="../qml/LedPage.qml" line="276"/>
|
||||
<source>%1%</source>
|
||||
<translation>%1%</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="293"/>
|
||||
<source>Lower brightness is less distracting at night. Set it to zero to turn the ring off completely.</source>
|
||||
<translation>Geringere Helligkeit stört nachts weniger. Stelle sie auf null, um den Ring vollständig auszuschalten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="302"/>
|
||||
<source>Status colors</source>
|
||||
<translation>Statusfarben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="308"/>
|
||||
<source>Tap a charging state to choose the color used by the LED ring.</source>
|
||||
<translation>Tippe auf einen Ladezustand, um die vom LED-Ring verwendete Farbe auszuwählen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="377"/>
|
||||
<source>Energy saving</source>
|
||||
<translation>Energiesparen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="383"/>
|
||||
<source>Energy saving on</source>
|
||||
<translation>Energiesparen ein</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="383"/>
|
||||
<source>Energy saving off</source>
|
||||
<translation>Energiesparen aus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="389"/>
|
||||
<source>Energy saving turns off status lighting when it is not needed. Charging and important warnings remain visible.</source>
|
||||
<translation>Beim Energiesparen wird die Statusbeleuchtung ausgeschaltet, wenn sie nicht benötigt wird. Laden und wichtige Warnungen bleiben sichtbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="397"/>
|
||||
<source>Keep mode indicators on</source>
|
||||
<translation>Modusanzeigen eingeschaltet lassen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="403"/>
|
||||
<source>Keep the small charging-mode indicators visible while the LED ring is saving energy.</source>
|
||||
<translation>Lasse die kleinen Lademodus-Anzeigen sichtbar, während der LED-Ring Energie spart.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="410"/>
|
||||
<source>Service diagnostics</source>
|
||||
<translation>Servicediagnose</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="416"/>
|
||||
<source>These service options can replace normal status animations. Leave them off unless you are diagnosing the LED hardware.</source>
|
||||
<translation>Diese Serviceoptionen können normale Statusanimationen ersetzen. Lasse sie ausgeschaltet, sofern du nicht die LED-Hardware diagnostizierst.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="424"/>
|
||||
<source>Factory LED test</source>
|
||||
<translation>Werkseitiger LED-Test</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="430"/>
|
||||
<source>LED diagnostics</source>
|
||||
<translation>LED-Diagnose</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="435"/>
|
||||
<source>Choose color for %1</source>
|
||||
<translation>Farbe für %1 wählen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LicensesPage</name>
|
||||
@@ -3382,7 +3590,7 @@
|
||||
<message>
|
||||
<location filename="../qml/OcppPage.qml" line="134"/>
|
||||
<source>Charging</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">Lädt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/OcppPage.qml" line="135"/>
|
||||
@@ -4771,7 +4979,7 @@
|
||||
<message>
|
||||
<location filename="../qml/WiFiPage.qml" line="141"/>
|
||||
<source>Finished</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">Beendet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/WiFiPage.qml" line="142"/>
|
||||
|
||||
@@ -2878,10 +2878,218 @@
|
||||
<context>
|
||||
<name>LedPage</name>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="6"/>
|
||||
<location filename="../qml/LedPage.qml" line="16"/>
|
||||
<source>LED</source>
|
||||
<translation>LED</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="23"/>
|
||||
<location filename="../qml/LedPage.qml" line="60"/>
|
||||
<location filename="../qml/LedPage.qml" line="72"/>
|
||||
<location filename="../qml/LedPage.qml" line="85"/>
|
||||
<source>Ready</source>
|
||||
<translation>Valmiina</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="24"/>
|
||||
<source>Color shown while the charger is ready and no car is connected.</source>
|
||||
<translation>Väri, joka näytetään, kun laturi on valmiina eikä autoa ole yhdistetty.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="31"/>
|
||||
<location filename="../qml/LedPage.qml" line="62"/>
|
||||
<location filename="../qml/LedPage.qml" line="73"/>
|
||||
<location filename="../qml/LedPage.qml" line="86"/>
|
||||
<source>Waiting for car</source>
|
||||
<translation>Odottaa autoa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="32"/>
|
||||
<source>Color shown while the charger is waiting for the vehicle.</source>
|
||||
<translation>Väri, joka näytetään, kun laturi odottaa ajoneuvoa.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="39"/>
|
||||
<location filename="../qml/LedPage.qml" line="64"/>
|
||||
<location filename="../qml/LedPage.qml" line="74"/>
|
||||
<location filename="../qml/LedPage.qml" line="88"/>
|
||||
<source>Charging</source>
|
||||
<translation>Lataus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="40"/>
|
||||
<source>Color of the rotating tails while the vehicle is charging.</source>
|
||||
<translation>Pyörivien valovanojen väri ajoneuvon latauksen aikana.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="47"/>
|
||||
<location filename="../qml/LedPage.qml" line="66"/>
|
||||
<location filename="../qml/LedPage.qml" line="75"/>
|
||||
<location filename="../qml/LedPage.qml" line="89"/>
|
||||
<source>Finished</source>
|
||||
<translation>Lataus valmis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="48"/>
|
||||
<source>Color shown when charging has finished.</source>
|
||||
<translation>Väri, joka näytetään latauksen valmistuttua.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="58"/>
|
||||
<source>Live device</source>
|
||||
<translation>Laite reaaliajassa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="76"/>
|
||||
<source>Live LED ring</source>
|
||||
<translation>Reaaliaikainen LED-rengas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="83"/>
|
||||
<source>No animation data</source>
|
||||
<translation>Ei animaatiotietoja</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="87"/>
|
||||
<source>Waiting for authorization</source>
|
||||
<translation>Odotetaan valtuutusta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="90"/>
|
||||
<source>Rainbow</source>
|
||||
<translation>Sateenkaari</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="91"/>
|
||||
<source>Pulsating</source>
|
||||
<translation>Sykkivä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="92"/>
|
||||
<source>Firmware update</source>
|
||||
<translation>Laiteohjelmistopäivitys</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="93"/>
|
||||
<source>Firmware update finished</source>
|
||||
<translation>Laiteohjelmistopäivitys valmis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="94"/>
|
||||
<source>Firmware update failed</source>
|
||||
<translation>Laiteohjelmistopäivitys epäonnistui</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="102"/>
|
||||
<source>Configured preview</source>
|
||||
<translation>Määritetty esikatselu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="192"/>
|
||||
<source>Adjust how the LED ring communicates charging states and preview the result before using it on the charger.</source>
|
||||
<translation>Säädä, miten LED-rengas ilmaisee lataustilat, ja esikatsele tulos ennen sen käyttämistä laturissa.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="198"/>
|
||||
<source>LED ring preview</source>
|
||||
<translation>LED-renkaan esikatselu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="207"/>
|
||||
<source>Preview</source>
|
||||
<translation>Esikatselu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="250"/>
|
||||
<source>The live preview follows the animation reported by the charger. Select another state to preview its configured color; the charging preview includes the rotating tails.</source>
|
||||
<translation>Reaaliaikainen esikatselu seuraa laturin ilmoittamaa animaatiota. Valitse toinen tila nähdäksesi sen määritetyn värin; latauksen esikatselu sisältää pyörivät valovanat.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="259"/>
|
||||
<source>Brightness</source>
|
||||
<translation>Kirkkaus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="264"/>
|
||||
<source>LED brightness</source>
|
||||
<translation>LED-kirkkaus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="268"/>
|
||||
<location filename="../qml/LedPage.qml" line="276"/>
|
||||
<source>%1%</source>
|
||||
<translation>%1%</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="293"/>
|
||||
<source>Lower brightness is less distracting at night. Set it to zero to turn the ring off completely.</source>
|
||||
<translation>Pienempi kirkkaus häiritsee vähemmän yöllä. Aseta arvoksi nolla sammuttaaksesi renkaan kokonaan.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="302"/>
|
||||
<source>Status colors</source>
|
||||
<translation>Tilavärit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="308"/>
|
||||
<source>Tap a charging state to choose the color used by the LED ring.</source>
|
||||
<translation>Valitse LED-renkaan käyttämä väri napauttamalla lataustilaa.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="377"/>
|
||||
<source>Energy saving</source>
|
||||
<translation>Energiansäästö</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="383"/>
|
||||
<source>Energy saving on</source>
|
||||
<translation>Energiansäästö käytössä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="383"/>
|
||||
<source>Energy saving off</source>
|
||||
<translation>Energiansäästö pois käytöstä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="389"/>
|
||||
<source>Energy saving turns off status lighting when it is not needed. Charging and important warnings remain visible.</source>
|
||||
<translation>Energiansäästö sammuttaa tilavalot, kun niitä ei tarvita. Lataus ja tärkeät varoitukset pysyvät näkyvissä.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="397"/>
|
||||
<source>Keep mode indicators on</source>
|
||||
<translation>Pidä tilan merkkivalot päällä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="403"/>
|
||||
<source>Keep the small charging-mode indicators visible while the LED ring is saving energy.</source>
|
||||
<translation>Pidä pienet lataustilan merkkivalot näkyvissä, kun LED-rengas säästää energiaa.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="410"/>
|
||||
<source>Service diagnostics</source>
|
||||
<translation>Huoltodiagnostiikka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="416"/>
|
||||
<source>These service options can replace normal status animations. Leave them off unless you are diagnosing the LED hardware.</source>
|
||||
<translation>Nämä huoltoasetukset voivat korvata normaalit tila-animaatiot. Jätä ne pois käytöstä, ellet diagnosoi LED-laitteistoa.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="424"/>
|
||||
<source>Factory LED test</source>
|
||||
<translation>Tehtaan LED-testi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="430"/>
|
||||
<source>LED diagnostics</source>
|
||||
<translation>LED-diagnostiikka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="435"/>
|
||||
<source>Choose color for %1</source>
|
||||
<translation>Valitse kohteen %1 väri</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LicensesPage</name>
|
||||
|
||||
@@ -2878,10 +2878,218 @@
|
||||
<context>
|
||||
<name>LedPage</name>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="6"/>
|
||||
<location filename="../qml/LedPage.qml" line="16"/>
|
||||
<source>LED</source>
|
||||
<translation>LED</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="23"/>
|
||||
<location filename="../qml/LedPage.qml" line="60"/>
|
||||
<location filename="../qml/LedPage.qml" line="72"/>
|
||||
<location filename="../qml/LedPage.qml" line="85"/>
|
||||
<source>Ready</source>
|
||||
<translation>Klar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="24"/>
|
||||
<source>Color shown while the charger is ready and no car is connected.</source>
|
||||
<translation>Farge som vises når laderen er klar og ingen bil er tilkoblet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="31"/>
|
||||
<location filename="../qml/LedPage.qml" line="62"/>
|
||||
<location filename="../qml/LedPage.qml" line="73"/>
|
||||
<location filename="../qml/LedPage.qml" line="86"/>
|
||||
<source>Waiting for car</source>
|
||||
<translation>Venter på bil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="32"/>
|
||||
<source>Color shown while the charger is waiting for the vehicle.</source>
|
||||
<translation>Farge som vises mens laderen venter på kjøretøyet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="39"/>
|
||||
<location filename="../qml/LedPage.qml" line="64"/>
|
||||
<location filename="../qml/LedPage.qml" line="74"/>
|
||||
<location filename="../qml/LedPage.qml" line="88"/>
|
||||
<source>Charging</source>
|
||||
<translation>Lader</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="40"/>
|
||||
<source>Color of the rotating tails while the vehicle is charging.</source>
|
||||
<translation>Fargen på de roterende lyshalene mens kjøretøyet lades.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="47"/>
|
||||
<location filename="../qml/LedPage.qml" line="66"/>
|
||||
<location filename="../qml/LedPage.qml" line="75"/>
|
||||
<location filename="../qml/LedPage.qml" line="89"/>
|
||||
<source>Finished</source>
|
||||
<translation>Fullført</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="48"/>
|
||||
<source>Color shown when charging has finished.</source>
|
||||
<translation>Farge som vises når ladingen er fullført.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="58"/>
|
||||
<source>Live device</source>
|
||||
<translation>Direkte fra enheten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="76"/>
|
||||
<source>Live LED ring</source>
|
||||
<translation>LED-ring i sanntid</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="83"/>
|
||||
<source>No animation data</source>
|
||||
<translation>Ingen animasjonsdata</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="87"/>
|
||||
<source>Waiting for authorization</source>
|
||||
<translation>Venter på godkjenning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="90"/>
|
||||
<source>Rainbow</source>
|
||||
<translation>Regnbue</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="91"/>
|
||||
<source>Pulsating</source>
|
||||
<translation>Pulserende</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="92"/>
|
||||
<source>Firmware update</source>
|
||||
<translation>Fastvareoppdatering</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="93"/>
|
||||
<source>Firmware update finished</source>
|
||||
<translation>Fastvareoppdateringen er fullført</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="94"/>
|
||||
<source>Firmware update failed</source>
|
||||
<translation>Fastvareoppdateringen mislyktes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="102"/>
|
||||
<source>Configured preview</source>
|
||||
<translation>Konfigurert forhåndsvisning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="192"/>
|
||||
<source>Adjust how the LED ring communicates charging states and preview the result before using it on the charger.</source>
|
||||
<translation>Juster hvordan LED-ringen viser ladestatus, og forhåndsvis resultatet før du bruker det på laderen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="198"/>
|
||||
<source>LED ring preview</source>
|
||||
<translation>Forhåndsvisning av LED-ring</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="207"/>
|
||||
<source>Preview</source>
|
||||
<translation>Forhåndsvisning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="250"/>
|
||||
<source>The live preview follows the animation reported by the charger. Select another state to preview its configured color; the charging preview includes the rotating tails.</source>
|
||||
<translation>Forhåndsvisningen i sanntid følger animasjonen som laderen rapporterer. Velg en annen tilstand for å forhåndsvise den konfigurerte fargen; ladeforhåndsvisningen inkluderer de roterende lyshalene.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="259"/>
|
||||
<source>Brightness</source>
|
||||
<translation>Lysstyrke</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="264"/>
|
||||
<source>LED brightness</source>
|
||||
<translation>LED-lysstyrke</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="268"/>
|
||||
<location filename="../qml/LedPage.qml" line="276"/>
|
||||
<source>%1%</source>
|
||||
<translation>%1%</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="293"/>
|
||||
<source>Lower brightness is less distracting at night. Set it to zero to turn the ring off completely.</source>
|
||||
<translation>Lavere lysstyrke er mindre forstyrrende om natten. Sett den til null for å slå av ringen helt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="302"/>
|
||||
<source>Status colors</source>
|
||||
<translation>Statusfarger</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="308"/>
|
||||
<source>Tap a charging state to choose the color used by the LED ring.</source>
|
||||
<translation>Trykk på en ladestatus for å velge fargen som LED-ringen bruker.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="377"/>
|
||||
<source>Energy saving</source>
|
||||
<translation>Energisparing</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="383"/>
|
||||
<source>Energy saving on</source>
|
||||
<translation>Energisparing på</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="383"/>
|
||||
<source>Energy saving off</source>
|
||||
<translation>Energisparing av</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="389"/>
|
||||
<source>Energy saving turns off status lighting when it is not needed. Charging and important warnings remain visible.</source>
|
||||
<translation>Energisparing slår av statusbelysningen når den ikke trengs. Lading og viktige advarsler forblir synlige.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="397"/>
|
||||
<source>Keep mode indicators on</source>
|
||||
<translation>Behold modusindikatorene på</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="403"/>
|
||||
<source>Keep the small charging-mode indicators visible while the LED ring is saving energy.</source>
|
||||
<translation>Behold de små lademodusindikatorene synlige mens LED-ringen sparer energi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="410"/>
|
||||
<source>Service diagnostics</source>
|
||||
<translation>Servicediagnostikk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="416"/>
|
||||
<source>These service options can replace normal status animations. Leave them off unless you are diagnosing the LED hardware.</source>
|
||||
<translation>Disse servicealternativene kan erstatte normale statusanimasjoner. La dem være av med mindre du feilsøker LED-maskinvaren.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="424"/>
|
||||
<source>Factory LED test</source>
|
||||
<translation>LED-test fra fabrikk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="430"/>
|
||||
<source>LED diagnostics</source>
|
||||
<translation>LED-diagnostikk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="435"/>
|
||||
<source>Choose color for %1</source>
|
||||
<translation>Velg farge for %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LicensesPage</name>
|
||||
|
||||
@@ -2878,10 +2878,218 @@
|
||||
<context>
|
||||
<name>LedPage</name>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="6"/>
|
||||
<location filename="../qml/LedPage.qml" line="16"/>
|
||||
<source>LED</source>
|
||||
<translation>LED</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="23"/>
|
||||
<location filename="../qml/LedPage.qml" line="60"/>
|
||||
<location filename="../qml/LedPage.qml" line="72"/>
|
||||
<location filename="../qml/LedPage.qml" line="85"/>
|
||||
<source>Ready</source>
|
||||
<translation>Klar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="24"/>
|
||||
<source>Color shown while the charger is ready and no car is connected.</source>
|
||||
<translation>Färg som visas när laddaren är klar och ingen bil är ansluten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="31"/>
|
||||
<location filename="../qml/LedPage.qml" line="62"/>
|
||||
<location filename="../qml/LedPage.qml" line="73"/>
|
||||
<location filename="../qml/LedPage.qml" line="86"/>
|
||||
<source>Waiting for car</source>
|
||||
<translation>Väntar på bil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="32"/>
|
||||
<source>Color shown while the charger is waiting for the vehicle.</source>
|
||||
<translation>Färg som visas medan laddaren väntar på fordonet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="39"/>
|
||||
<location filename="../qml/LedPage.qml" line="64"/>
|
||||
<location filename="../qml/LedPage.qml" line="74"/>
|
||||
<location filename="../qml/LedPage.qml" line="88"/>
|
||||
<source>Charging</source>
|
||||
<translation>Laddar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="40"/>
|
||||
<source>Color of the rotating tails while the vehicle is charging.</source>
|
||||
<translation>Färgen på de roterande ljussvansarna medan fordonet laddas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="47"/>
|
||||
<location filename="../qml/LedPage.qml" line="66"/>
|
||||
<location filename="../qml/LedPage.qml" line="75"/>
|
||||
<location filename="../qml/LedPage.qml" line="89"/>
|
||||
<source>Finished</source>
|
||||
<translation>Slutförd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="48"/>
|
||||
<source>Color shown when charging has finished.</source>
|
||||
<translation>Färg som visas när laddningen är slutförd.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="58"/>
|
||||
<source>Live device</source>
|
||||
<translation>Aktuell enhet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="76"/>
|
||||
<source>Live LED ring</source>
|
||||
<translation>LED-ring i realtid</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="83"/>
|
||||
<source>No animation data</source>
|
||||
<translation>Inga animationsdata</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="87"/>
|
||||
<source>Waiting for authorization</source>
|
||||
<translation>Väntar på auktorisering</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="90"/>
|
||||
<source>Rainbow</source>
|
||||
<translation>Regnbåge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="91"/>
|
||||
<source>Pulsating</source>
|
||||
<translation>Pulserande</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="92"/>
|
||||
<source>Firmware update</source>
|
||||
<translation>Firmwareuppdatering</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="93"/>
|
||||
<source>Firmware update finished</source>
|
||||
<translation>Firmwareuppdateringen är slutförd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="94"/>
|
||||
<source>Firmware update failed</source>
|
||||
<translation>Firmwareuppdateringen misslyckades</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="102"/>
|
||||
<source>Configured preview</source>
|
||||
<translation>Konfigurerad förhandsvisning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="192"/>
|
||||
<source>Adjust how the LED ring communicates charging states and preview the result before using it on the charger.</source>
|
||||
<translation>Anpassa hur LED-ringen visar laddningsstatus och förhandsgranska resultatet innan du använder det på laddaren.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="198"/>
|
||||
<source>LED ring preview</source>
|
||||
<translation>Förhandsvisning av LED-ring</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="207"/>
|
||||
<source>Preview</source>
|
||||
<translation>Förhandsvisning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="250"/>
|
||||
<source>The live preview follows the animation reported by the charger. Select another state to preview its configured color; the charging preview includes the rotating tails.</source>
|
||||
<translation>Förhandsvisningen i realtid följer animationen som laddaren rapporterar. Välj ett annat tillstånd för att förhandsgranska dess konfigurerade färg; laddningsförhandsvisningen innehåller de roterande ljussvansarna.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="259"/>
|
||||
<source>Brightness</source>
|
||||
<translation>Ljusstyrka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="264"/>
|
||||
<source>LED brightness</source>
|
||||
<translation>LED-ljusstyrka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="268"/>
|
||||
<location filename="../qml/LedPage.qml" line="276"/>
|
||||
<source>%1%</source>
|
||||
<translation>%1%</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="293"/>
|
||||
<source>Lower brightness is less distracting at night. Set it to zero to turn the ring off completely.</source>
|
||||
<translation>Lägre ljusstyrka stör mindre på natten. Ställ in den på noll för att stänga av ringen helt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="302"/>
|
||||
<source>Status colors</source>
|
||||
<translation>Statusfärger</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="308"/>
|
||||
<source>Tap a charging state to choose the color used by the LED ring.</source>
|
||||
<translation>Tryck på ett laddningstillstånd för att välja färgen som LED-ringen använder.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="377"/>
|
||||
<source>Energy saving</source>
|
||||
<translation>Energisparläge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="383"/>
|
||||
<source>Energy saving on</source>
|
||||
<translation>Energisparläge på</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="383"/>
|
||||
<source>Energy saving off</source>
|
||||
<translation>Energisparläge av</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="389"/>
|
||||
<source>Energy saving turns off status lighting when it is not needed. Charging and important warnings remain visible.</source>
|
||||
<translation>Energisparläget stänger av statusbelysningen när den inte behövs. Laddning och viktiga varningar förblir synliga.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="397"/>
|
||||
<source>Keep mode indicators on</source>
|
||||
<translation>Behåll lägesindikatorerna tända</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="403"/>
|
||||
<source>Keep the small charging-mode indicators visible while the LED ring is saving energy.</source>
|
||||
<translation>Behåll de små laddningslägesindikatorerna synliga medan LED-ringen sparar energi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="410"/>
|
||||
<source>Service diagnostics</source>
|
||||
<translation>Servicediagnostik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="416"/>
|
||||
<source>These service options can replace normal status animations. Leave them off unless you are diagnosing the LED hardware.</source>
|
||||
<translation>Dessa servicealternativ kan ersätta normala statusanimationer. Låt dem vara avstängda om du inte felsöker LED-maskinvaran.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="424"/>
|
||||
<source>Factory LED test</source>
|
||||
<translation>LED-test från fabrik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="430"/>
|
||||
<source>LED diagnostics</source>
|
||||
<translation>LED-diagnostik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="435"/>
|
||||
<source>Choose color for %1</source>
|
||||
<translation>Välj färg för %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LicensesPage</name>
|
||||
|
||||
@@ -2878,10 +2878,218 @@
|
||||
<context>
|
||||
<name>LedPage</name>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="6"/>
|
||||
<location filename="../qml/LedPage.qml" line="16"/>
|
||||
<source>LED</source>
|
||||
<translation>LED</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="23"/>
|
||||
<location filename="../qml/LedPage.qml" line="60"/>
|
||||
<location filename="../qml/LedPage.qml" line="72"/>
|
||||
<location filename="../qml/LedPage.qml" line="85"/>
|
||||
<source>Ready</source>
|
||||
<translation>Hazır</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="24"/>
|
||||
<source>Color shown while the charger is ready and no car is connected.</source>
|
||||
<translation>Şarj cihazı hazırken ve hiçbir araç bağlı değilken gösterilen renk.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="31"/>
|
||||
<location filename="../qml/LedPage.qml" line="62"/>
|
||||
<location filename="../qml/LedPage.qml" line="73"/>
|
||||
<location filename="../qml/LedPage.qml" line="86"/>
|
||||
<source>Waiting for car</source>
|
||||
<translation>Araç bekleniyor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="32"/>
|
||||
<source>Color shown while the charger is waiting for the vehicle.</source>
|
||||
<translation>Şarj cihazı aracı beklerken gösterilen renk.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="39"/>
|
||||
<location filename="../qml/LedPage.qml" line="64"/>
|
||||
<location filename="../qml/LedPage.qml" line="74"/>
|
||||
<location filename="../qml/LedPage.qml" line="88"/>
|
||||
<source>Charging</source>
|
||||
<translation>Şarj ediliyor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="40"/>
|
||||
<source>Color of the rotating tails while the vehicle is charging.</source>
|
||||
<translation>Araç şarj olurken dönen ışık kuyruklarının rengi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="47"/>
|
||||
<location filename="../qml/LedPage.qml" line="66"/>
|
||||
<location filename="../qml/LedPage.qml" line="75"/>
|
||||
<location filename="../qml/LedPage.qml" line="89"/>
|
||||
<source>Finished</source>
|
||||
<translation>Tamamlandı</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="48"/>
|
||||
<source>Color shown when charging has finished.</source>
|
||||
<translation>Şarj tamamlandığında gösterilen renk.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="58"/>
|
||||
<source>Live device</source>
|
||||
<translation>Canlı cihaz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="76"/>
|
||||
<source>Live LED ring</source>
|
||||
<translation>Canlı LED halkası</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="83"/>
|
||||
<source>No animation data</source>
|
||||
<translation>Animasyon verisi yok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="87"/>
|
||||
<source>Waiting for authorization</source>
|
||||
<translation>Yetkilendirme bekleniyor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="90"/>
|
||||
<source>Rainbow</source>
|
||||
<translation>Gökkuşağı</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="91"/>
|
||||
<source>Pulsating</source>
|
||||
<translation>Nabız efekti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="92"/>
|
||||
<source>Firmware update</source>
|
||||
<translation>Donanım yazılımı güncellemesi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="93"/>
|
||||
<source>Firmware update finished</source>
|
||||
<translation>Donanım yazılımı güncellemesi tamamlandı</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="94"/>
|
||||
<source>Firmware update failed</source>
|
||||
<translation>Donanım yazılımı güncellemesi başarısız</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="102"/>
|
||||
<source>Configured preview</source>
|
||||
<translation>Yapılandırılmış önizleme</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="192"/>
|
||||
<source>Adjust how the LED ring communicates charging states and preview the result before using it on the charger.</source>
|
||||
<translation>LED halkasının şarj durumlarını nasıl gösterdiğini ayarlayın ve şarj cihazında kullanmadan önce sonucu önizleyin.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="198"/>
|
||||
<source>LED ring preview</source>
|
||||
<translation>LED halkası önizlemesi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="207"/>
|
||||
<source>Preview</source>
|
||||
<translation>Önizleme</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="250"/>
|
||||
<source>The live preview follows the animation reported by the charger. Select another state to preview its configured color; the charging preview includes the rotating tails.</source>
|
||||
<translation>Canlı önizleme, şarj cihazının bildirdiği animasyonu izler. Yapılandırılmış rengini önizlemek için başka bir durum seçin; şarj önizlemesi dönen ışık kuyruklarını içerir.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="259"/>
|
||||
<source>Brightness</source>
|
||||
<translation>Parlaklık</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="264"/>
|
||||
<source>LED brightness</source>
|
||||
<translation>LED parlaklığı</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="268"/>
|
||||
<location filename="../qml/LedPage.qml" line="276"/>
|
||||
<source>%1%</source>
|
||||
<translation>%1%</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="293"/>
|
||||
<source>Lower brightness is less distracting at night. Set it to zero to turn the ring off completely.</source>
|
||||
<translation>Düşük parlaklık geceleri daha az rahatsız eder. Halkayı tamamen kapatmak için sıfıra ayarlayın.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="302"/>
|
||||
<source>Status colors</source>
|
||||
<translation>Durum renkleri</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="308"/>
|
||||
<source>Tap a charging state to choose the color used by the LED ring.</source>
|
||||
<translation>LED halkasının kullanacağı rengi seçmek için bir şarj durumuna dokunun.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="377"/>
|
||||
<source>Energy saving</source>
|
||||
<translation>Enerji tasarrufu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="383"/>
|
||||
<source>Energy saving on</source>
|
||||
<translation>Enerji tasarrufu açık</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="383"/>
|
||||
<source>Energy saving off</source>
|
||||
<translation>Enerji tasarrufu kapalı</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="389"/>
|
||||
<source>Energy saving turns off status lighting when it is not needed. Charging and important warnings remain visible.</source>
|
||||
<translation>Enerji tasarrufu, gerekmediğinde durum aydınlatmasını kapatır. Şarj ve önemli uyarılar görünür kalır.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="397"/>
|
||||
<source>Keep mode indicators on</source>
|
||||
<translation>Mod göstergelerini açık tut</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="403"/>
|
||||
<source>Keep the small charging-mode indicators visible while the LED ring is saving energy.</source>
|
||||
<translation>LED halkası enerji tasarrufu yaparken küçük şarj modu göstergelerini görünür tutun.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="410"/>
|
||||
<source>Service diagnostics</source>
|
||||
<translation>Servis tanılama</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="416"/>
|
||||
<source>These service options can replace normal status animations. Leave them off unless you are diagnosing the LED hardware.</source>
|
||||
<translation>Bu servis seçenekleri normal durum animasyonlarının yerini alabilir. LED donanımını tanılamıyorsanız bunları kapalı bırakın.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="424"/>
|
||||
<source>Factory LED test</source>
|
||||
<translation>Fabrika LED testi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="430"/>
|
||||
<source>LED diagnostics</source>
|
||||
<translation>LED tanılama</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/LedPage.qml" line="435"/>
|
||||
<source>Choose color for %1</source>
|
||||
<translation>%1 için renk seçin</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LicensesPage</name>
|
||||
|
||||
@@ -1,13 +1,438 @@
|
||||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Dialogs
|
||||
import QtQuick.Layouts
|
||||
import EVChargerApp
|
||||
|
||||
NavigationPage {
|
||||
id: page
|
||||
|
||||
property string selectedColorKey: "cid"
|
||||
property string selectedColorName
|
||||
property string previewMode: "live"
|
||||
|
||||
title: qsTr("LED")
|
||||
|
||||
Text {
|
||||
text: "TODO"
|
||||
function colorOptions() {
|
||||
const result = []
|
||||
if (idleColor.exists) {
|
||||
result.push({
|
||||
key: "cid",
|
||||
title: qsTr("Ready"),
|
||||
description: qsTr("Color shown while the charger is ready and no car is connected."),
|
||||
value: idleColor.value
|
||||
})
|
||||
}
|
||||
if (waitingColor.exists) {
|
||||
result.push({
|
||||
key: "cwc",
|
||||
title: qsTr("Waiting for car"),
|
||||
description: qsTr("Color shown while the charger is waiting for the vehicle."),
|
||||
value: waitingColor.value
|
||||
})
|
||||
}
|
||||
if (chargingColor.exists) {
|
||||
result.push({
|
||||
key: "cch",
|
||||
title: qsTr("Charging"),
|
||||
description: qsTr("Color of the rotating tails while the vehicle is charging."),
|
||||
value: chargingColor.value
|
||||
})
|
||||
}
|
||||
if (finishedColor.exists) {
|
||||
result.push({
|
||||
key: "cfi",
|
||||
title: qsTr("Finished"),
|
||||
description: qsTr("Color shown when charging has finished."),
|
||||
value: finishedColor.value
|
||||
})
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
Layout.fillHeight: true
|
||||
function previewOptions() {
|
||||
const result = []
|
||||
if (liveAnimation.exists)
|
||||
result.push({text: qsTr("Live device"), value: "live"})
|
||||
if (idleColor.exists)
|
||||
result.push({text: qsTr("Ready"), value: "idle"})
|
||||
if (waitingColor.exists)
|
||||
result.push({text: qsTr("Waiting for car"), value: "waiting"})
|
||||
if (chargingColor.exists)
|
||||
result.push({text: qsTr("Charging"), value: "charging"})
|
||||
if (finishedColor.exists)
|
||||
result.push({text: qsTr("Finished"), value: "finished"})
|
||||
return result
|
||||
}
|
||||
|
||||
function previewTitle() {
|
||||
switch (previewMode) {
|
||||
case "idle": return qsTr("Ready")
|
||||
case "waiting": return qsTr("Waiting for car")
|
||||
case "charging": return qsTr("Charging")
|
||||
case "finished": return qsTr("Finished")
|
||||
default: return qsTr("Live LED ring")
|
||||
}
|
||||
}
|
||||
|
||||
function animationName() {
|
||||
const data = liveAnimation.value
|
||||
if (data === null || data === undefined || !data.name)
|
||||
return qsTr("No animation data")
|
||||
switch (String(data.name)) {
|
||||
case "Ready": return qsTr("Ready")
|
||||
case "WaitCar": return qsTr("Waiting for car")
|
||||
case "WaitAuth": return qsTr("Waiting for authorization")
|
||||
case "Charging": return qsTr("Charging")
|
||||
case "Finished": return qsTr("Finished")
|
||||
case "Rainbow": return qsTr("Rainbow")
|
||||
case "Pulsate": return qsTr("Pulsating")
|
||||
case "OtaProgress": return qsTr("Firmware update")
|
||||
case "OtaFinished": return qsTr("Firmware update finished")
|
||||
case "OtaFailed": return qsTr("Firmware update failed")
|
||||
default:
|
||||
return String(data.name).replace(/([a-z])([A-Z])/g, "$1 $2")
|
||||
}
|
||||
}
|
||||
|
||||
function previewDetail() {
|
||||
if (previewMode !== "live")
|
||||
return qsTr("Configured preview")
|
||||
return animationName()
|
||||
}
|
||||
|
||||
function normalizeColor(value) {
|
||||
const text = String(value)
|
||||
return text.length === 9 ? "#" + text.substring(3) : text
|
||||
}
|
||||
|
||||
function editColor(option) {
|
||||
selectedColorKey = option.key
|
||||
selectedColorName = option.title
|
||||
colorDialog.selectedColor = option.value || "#000000"
|
||||
colorDialog.open()
|
||||
}
|
||||
|
||||
ApiKeyValueHelper {
|
||||
id: liveAnimation
|
||||
deviceConnection: theDeviceConnection
|
||||
apiKey: "led"
|
||||
}
|
||||
|
||||
ApiKeyValueHelper {
|
||||
id: ledCount
|
||||
deviceConnection: theDeviceConnection
|
||||
apiKey: "nld"
|
||||
}
|
||||
|
||||
ApiKeyValueHelper {
|
||||
id: brightness
|
||||
deviceConnection: theDeviceConnection
|
||||
apiKey: "lbr"
|
||||
}
|
||||
|
||||
ApiKeyValueHelper {
|
||||
id: idleColor
|
||||
deviceConnection: theDeviceConnection
|
||||
apiKey: "cid"
|
||||
}
|
||||
|
||||
ApiKeyValueHelper {
|
||||
id: waitingColor
|
||||
deviceConnection: theDeviceConnection
|
||||
apiKey: "cwc"
|
||||
}
|
||||
|
||||
ApiKeyValueHelper {
|
||||
id: chargingColor
|
||||
deviceConnection: theDeviceConnection
|
||||
apiKey: "cch"
|
||||
}
|
||||
|
||||
ApiKeyValueHelper {
|
||||
id: finishedColor
|
||||
deviceConnection: theDeviceConnection
|
||||
apiKey: "cfi"
|
||||
}
|
||||
|
||||
ApiKeyValueHelper {
|
||||
id: energySaving
|
||||
deviceConnection: theDeviceConnection
|
||||
apiKey: "lse"
|
||||
}
|
||||
|
||||
ApiKeyValueHelper {
|
||||
id: modeLedsWhileSaving
|
||||
deviceConnection: theDeviceConnection
|
||||
apiKey: "mws"
|
||||
}
|
||||
|
||||
ApiKeyValueHelper {
|
||||
id: factoryDebug
|
||||
deviceConnection: theDeviceConnection
|
||||
apiKey: "fldb"
|
||||
}
|
||||
|
||||
ApiKeyValueHelper {
|
||||
id: ledDebug
|
||||
deviceConnection: theDeviceConnection
|
||||
apiKey: "ldb"
|
||||
}
|
||||
|
||||
SetValueHelper {
|
||||
id: colorSetter
|
||||
deviceConnection: theDeviceConnection
|
||||
apiKey: page.selectedColorKey
|
||||
}
|
||||
|
||||
Text {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Adjust how the LED ring communicates charging states and preview the result before using it on the charger.")
|
||||
wrapMode: Text.Wrap
|
||||
color: "#5f6368"
|
||||
}
|
||||
|
||||
SettingsSectionLabel {
|
||||
text: qsTr("LED ring preview")
|
||||
}
|
||||
|
||||
SettingsCard {
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
|
||||
SettingsLabel {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Preview")
|
||||
}
|
||||
|
||||
ComboBox {
|
||||
id: previewSelector
|
||||
model: previewOptions()
|
||||
textRole: "text"
|
||||
valueRole: "value"
|
||||
onActivated: page.previewMode = currentValue
|
||||
|
||||
function selectCurrentMode() {
|
||||
const index = indexOfValue(page.previewMode)
|
||||
if (index >= 0)
|
||||
currentIndex = index
|
||||
else if (count > 0) {
|
||||
currentIndex = 0
|
||||
page.previewMode = currentValue
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: selectCurrentMode()
|
||||
onModelChanged: Qt.callLater(selectCurrentMode)
|
||||
}
|
||||
}
|
||||
|
||||
LedRingPreview {
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
Layout.preferredWidth: Math.min(280, page.width - 50)
|
||||
Layout.preferredHeight: width
|
||||
animationData: liveAnimation.value
|
||||
previewMode: page.previewMode
|
||||
configuredLedCount: ledCount.exists ? Number(ledCount.value) : 32
|
||||
configuredBrightness: brightness.exists ? Number(brightness.value) : 255
|
||||
idleColor: idleColor.value || "#0000ff"
|
||||
waitingColor: waitingColor.value || "#ffff00"
|
||||
chargingColor: chargingColor.value || "#00ffff"
|
||||
finishedColor: finishedColor.value || "#00ff00"
|
||||
statusText: previewTitle()
|
||||
detailText: previewDetail()
|
||||
}
|
||||
|
||||
Text {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("The live preview follows the animation reported by the charger. Select another state to preview its configured color; the charging preview includes the rotating tails.")
|
||||
wrapMode: Text.Wrap
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
color: "#5f6368"
|
||||
}
|
||||
}
|
||||
|
||||
SettingsSectionLabel {
|
||||
visible: brightness.exists
|
||||
text: qsTr("Brightness")
|
||||
}
|
||||
|
||||
EditValueItem {
|
||||
apiKey: "lbr"
|
||||
text: qsTr("LED brightness")
|
||||
visible: exists
|
||||
valueText: value === null || value === undefined
|
||||
? "—"
|
||||
: qsTr("%1%").arg(Math.round(Number(value) / 255 * 100))
|
||||
fullWidth: true
|
||||
|
||||
editableItem: ColumnLayout {
|
||||
property alias value: brightnessSlider.value
|
||||
|
||||
Label {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("%1%").arg(Math.round(brightnessSlider.value / 255 * 100))
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
font.bold: true
|
||||
}
|
||||
|
||||
Slider {
|
||||
id: brightnessSlider
|
||||
Layout.minimumWidth: 250
|
||||
Layout.fillWidth: true
|
||||
from: 0
|
||||
to: 255
|
||||
stepSize: 1
|
||||
snapMode: Slider.SnapAlways
|
||||
}
|
||||
|
||||
Text {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Lower brightness is less distracting at night. Set it to zero to turn the ring off completely.")
|
||||
wrapMode: Text.Wrap
|
||||
color: "#5f6368"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SettingsSectionLabel {
|
||||
visible: colorOptions().length > 0
|
||||
text: qsTr("Status colors")
|
||||
}
|
||||
|
||||
Text {
|
||||
Layout.fillWidth: true
|
||||
visible: colorOptions().length > 0
|
||||
text: qsTr("Tap a charging state to choose the color used by the LED ring.")
|
||||
wrapMode: Text.Wrap
|
||||
color: "#5f6368"
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: colorOptions()
|
||||
|
||||
delegate: WhiteItemDelegate {
|
||||
id: colorItem
|
||||
required property var modelData
|
||||
|
||||
Layout.fillWidth: true
|
||||
implicitHeight: colorContent.implicitHeight + 20
|
||||
onClicked: editColor(modelData)
|
||||
|
||||
contentItem: RowLayout {
|
||||
id: colorContent
|
||||
|
||||
Rectangle {
|
||||
Layout.preferredWidth: 34
|
||||
Layout.preferredHeight: 34
|
||||
radius: 17
|
||||
color: colorItem.modelData.value || "#000000"
|
||||
border.color: "#5f6368"
|
||||
border.width: 1
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
spacing: 2
|
||||
|
||||
SettingsLabel {
|
||||
Layout.fillWidth: true
|
||||
text: colorItem.modelData.title
|
||||
}
|
||||
|
||||
Text {
|
||||
Layout.fillWidth: true
|
||||
text: colorItem.modelData.description
|
||||
wrapMode: Text.Wrap
|
||||
color: "#5f6368"
|
||||
}
|
||||
}
|
||||
|
||||
Text {
|
||||
text: normalizeColor(colorItem.modelData.value).toUpperCase()
|
||||
color: "#5f6368"
|
||||
}
|
||||
|
||||
Text {
|
||||
text: ">"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BusyIndicator {
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
visible: colorSetter.pending
|
||||
}
|
||||
|
||||
RequestStatusText {
|
||||
Layout.fillWidth: true
|
||||
request: colorSetter
|
||||
}
|
||||
|
||||
SettingsSectionLabel {
|
||||
visible: energySaving.exists || modeLedsWhileSaving.exists
|
||||
text: qsTr("Energy saving")
|
||||
}
|
||||
|
||||
GeneralOnOffSwitch {
|
||||
apiKey: "lse"
|
||||
visible: exists
|
||||
text: checked ? qsTr("Energy saving on") : qsTr("Energy saving off")
|
||||
}
|
||||
|
||||
Text {
|
||||
Layout.fillWidth: true
|
||||
visible: energySaving.exists
|
||||
text: qsTr("Energy saving turns off status lighting when it is not needed. Charging and important warnings remain visible.")
|
||||
wrapMode: Text.Wrap
|
||||
color: "#5f6368"
|
||||
}
|
||||
|
||||
GeneralOnOffSwitch {
|
||||
apiKey: "mws"
|
||||
visible: exists
|
||||
text: qsTr("Keep mode indicators on")
|
||||
}
|
||||
|
||||
Text {
|
||||
Layout.fillWidth: true
|
||||
visible: modeLedsWhileSaving.exists
|
||||
text: qsTr("Keep the small charging-mode indicators visible while the LED ring is saving energy.")
|
||||
wrapMode: Text.Wrap
|
||||
color: "#5f6368"
|
||||
}
|
||||
|
||||
SettingsSectionLabel {
|
||||
visible: factoryDebug.exists || ledDebug.exists
|
||||
text: qsTr("Service diagnostics")
|
||||
}
|
||||
|
||||
Text {
|
||||
Layout.fillWidth: true
|
||||
visible: factoryDebug.exists || ledDebug.exists
|
||||
text: qsTr("These service options can replace normal status animations. Leave them off unless you are diagnosing the LED hardware.")
|
||||
wrapMode: Text.Wrap
|
||||
color: "#5f6368"
|
||||
}
|
||||
|
||||
GeneralOnOffSwitch {
|
||||
apiKey: "fldb"
|
||||
visible: exists
|
||||
text: qsTr("Factory LED test")
|
||||
}
|
||||
|
||||
GeneralOnOffSwitch {
|
||||
apiKey: "ldb"
|
||||
visible: exists
|
||||
text: qsTr("LED diagnostics")
|
||||
}
|
||||
|
||||
ColorDialog {
|
||||
id: colorDialog
|
||||
title: qsTr("Choose color for %1").arg(page.selectedColorName)
|
||||
onAccepted: colorSetter.setValue(page.normalizeColor(selectedColor))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,224 @@
|
||||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick
|
||||
|
||||
Item {
|
||||
id: preview
|
||||
|
||||
property var animationData: null
|
||||
property string previewMode: "live"
|
||||
property color idleColor: "#0000ff"
|
||||
property color waitingColor: "#ffff00"
|
||||
property color chargingColor: "#00ffff"
|
||||
property color finishedColor: "#00ff00"
|
||||
property int configuredLedCount: 32
|
||||
property int configuredBrightness: 255
|
||||
property string statusText
|
||||
property string detailText
|
||||
property double animationTime: Date.now()
|
||||
|
||||
readonly property int actualLedCount: Math.max(1, Math.min(128, Number(configuredLedCount) || 32))
|
||||
readonly property real ringDiameter: Math.min(width, height)
|
||||
readonly property real ringRadius: ringDiameter * 0.39
|
||||
readonly property real ledDiameter: Math.max(5, Math.min(14, ringDiameter * 1.55 / actualLedCount))
|
||||
|
||||
implicitWidth: 260
|
||||
implicitHeight: 260
|
||||
|
||||
function normalizeIndex(index) {
|
||||
let result = Math.floor(Number(index) || 0) % actualLedCount
|
||||
if (result < 0)
|
||||
result += actualLedCount
|
||||
return result
|
||||
}
|
||||
|
||||
function colorComponents(value) {
|
||||
let text = String(value || "#000000")
|
||||
if (text.length === 9)
|
||||
text = "#" + text.substring(3)
|
||||
if (!/^#[0-9a-fA-F]{6}$/.test(text))
|
||||
text = "#000000"
|
||||
return [
|
||||
parseInt(text.substring(1, 3), 16) / 255,
|
||||
parseInt(text.substring(3, 5), 16) / 255,
|
||||
parseInt(text.substring(5, 7), 16) / 255
|
||||
]
|
||||
}
|
||||
|
||||
function mixColor(first, second, amount) {
|
||||
const left = colorComponents(first)
|
||||
const right = colorComponents(second)
|
||||
const factor = Math.max(0, Math.min(1, amount))
|
||||
return Qt.rgba(left[0] + (right[0] - left[0]) * factor,
|
||||
left[1] + (right[1] - left[1]) * factor,
|
||||
left[2] + (right[2] - left[2]) * factor,
|
||||
1)
|
||||
}
|
||||
|
||||
function scaleColor(value, intensity) {
|
||||
const rgb = colorComponents(value)
|
||||
const brightness = Math.max(0, Math.min(1, configuredBrightness / 255))
|
||||
* Math.max(0, Math.min(1, intensity))
|
||||
return Qt.rgba(rgb[0] * brightness, rgb[1] * brightness, rgb[2] * brightness, 1)
|
||||
}
|
||||
|
||||
function durationMilliseconds(value) {
|
||||
const text = String(value || "")
|
||||
if (text.endsWith("ms"))
|
||||
return Math.max(1, Number(text.substring(0, text.length - 2)) || 1)
|
||||
if (text.endsWith("s"))
|
||||
return Math.max(1, (Number(text.substring(0, text.length - 1)) || 1) * 1000)
|
||||
return Math.max(1, Number(text) || 1000)
|
||||
}
|
||||
|
||||
function rangePosition(index, from, to) {
|
||||
const start = normalizeIndex(from)
|
||||
const end = normalizeIndex(to)
|
||||
let current = start
|
||||
for (let offset = 0; offset < actualLedCount; ++offset) {
|
||||
if (current === index)
|
||||
return offset
|
||||
if (current === end)
|
||||
break
|
||||
current = (current + 1) % actualLedCount
|
||||
}
|
||||
return -1
|
||||
}
|
||||
|
||||
function repeatingColor(colors, position) {
|
||||
if (colors === null || colors === undefined || colors.length < 1)
|
||||
return "#000000"
|
||||
return colors[position % colors.length]
|
||||
}
|
||||
|
||||
function renderCommandColor(index, data) {
|
||||
let result = "#000000"
|
||||
const ranges = data && data.ranges ? data.ranges : []
|
||||
for (let rangeIndex = 0; rangeIndex < ranges.length; ++rangeIndex) {
|
||||
const range = ranges[rangeIndex]
|
||||
const position = rangePosition(index, range.from, range.to)
|
||||
if (position < 0)
|
||||
continue
|
||||
|
||||
if (range.blink !== null && range.blink !== undefined) {
|
||||
const duration = durationMilliseconds(range.blink)
|
||||
const secondColor = Math.floor(animationTime / (duration / 2)) % 2 === 1
|
||||
result = repeatingColor(secondColor ? range.colors1 : range.colors0, position)
|
||||
} else if (range.fade !== null && range.fade !== undefined) {
|
||||
const duration = durationMilliseconds(range.fade)
|
||||
const progress = (animationTime % duration) / duration
|
||||
const amount = (1 - Math.cos(progress * Math.PI * 2)) / 2
|
||||
result = mixColor(repeatingColor(range.colors0, position),
|
||||
repeatingColor(range.colors1, position), amount)
|
||||
} else {
|
||||
result = repeatingColor(range.colors, position)
|
||||
}
|
||||
}
|
||||
return scaleColor(result, 1)
|
||||
}
|
||||
|
||||
function tailColor(index, data) {
|
||||
const count = Math.max(1, Math.min(3, Number(data.count) || 1))
|
||||
const speed = Math.max(1, Number(data.speed) || 20)
|
||||
const ampere = Math.max(0, Math.min(32, 35 - speed))
|
||||
const tailLength = Math.max(0.1, Math.min(0.94, (ampere + 3) / 35))
|
||||
const rotation = (animationTime / (speed * 256)) % 1
|
||||
let distance = ((index / actualLedCount) * count - rotation * count) % 1
|
||||
if (distance < 0)
|
||||
distance += 1
|
||||
const intensity = distance <= tailLength ? 1 - distance / tailLength : 0
|
||||
return scaleColor(chargingColor, Math.pow(intensity, 1.45))
|
||||
}
|
||||
|
||||
function effectiveAnimation() {
|
||||
switch (previewMode) {
|
||||
case "idle": return {subtype: "solid", color: idleColor}
|
||||
case "waiting": return {subtype: "solid", color: waitingColor}
|
||||
case "charging": return {subtype: "schweif", count: 3, speed: 14}
|
||||
case "finished": return {subtype: "solid", color: finishedColor}
|
||||
default: return animationData || {subtype: "solid", color: "#303030"}
|
||||
}
|
||||
}
|
||||
|
||||
function ledColor(index) {
|
||||
const data = effectiveAnimation()
|
||||
switch (data.subtype) {
|
||||
case "solid":
|
||||
return scaleColor(data.color, 1)
|
||||
case "rainbow":
|
||||
return scaleColor(Qt.hsva(index / actualLedCount, 0.94, 1, 1), 1)
|
||||
case "schweif":
|
||||
return tailColor(index, data)
|
||||
case "colors":
|
||||
return scaleColor(repeatingColor(data.colors, index), 1)
|
||||
case "renderCmds":
|
||||
return renderCommandColor(index, data)
|
||||
default:
|
||||
return scaleColor("#303030", 1)
|
||||
}
|
||||
}
|
||||
|
||||
Timer {
|
||||
interval: 40
|
||||
repeat: true
|
||||
running: preview.visible
|
||||
onTriggered: preview.animationTime = Date.now()
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
anchors.centerIn: parent
|
||||
width: preview.ringDiameter * 0.64
|
||||
height: width
|
||||
radius: width / 2
|
||||
color: "#202124"
|
||||
border.color: "#44474a"
|
||||
border.width: 2
|
||||
|
||||
Column {
|
||||
anchors.centerIn: parent
|
||||
width: parent.width * 0.78
|
||||
spacing: 3
|
||||
|
||||
Text {
|
||||
width: parent.width
|
||||
text: preview.statusText
|
||||
color: "white"
|
||||
font.bold: true
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
wrapMode: Text.Wrap
|
||||
}
|
||||
|
||||
Text {
|
||||
width: parent.width
|
||||
text: preview.detailText
|
||||
visible: text.length > 0
|
||||
color: "#bdc1c6"
|
||||
font.pixelSize: 12
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
wrapMode: Text.Wrap
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: preview.actualLedCount
|
||||
|
||||
delegate: Rectangle {
|
||||
required property int index
|
||||
readonly property real angle: index / preview.actualLedCount * Math.PI * 2
|
||||
|
||||
x: preview.width / 2 + Math.sin(angle) * preview.ringRadius - width / 2
|
||||
y: preview.height / 2 - Math.cos(angle) * preview.ringRadius - height / 2
|
||||
width: preview.ledDiameter
|
||||
height: width
|
||||
radius: width / 2
|
||||
color: preview.ledColor(index)
|
||||
border.color: "#5f6368"
|
||||
border.width: 1
|
||||
|
||||
Behavior on color {
|
||||
ColorAnimation { duration: 35 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -56,6 +56,7 @@ EVChargerApp 1.0 IndexedEditValueItem.qml
|
||||
EVChargerApp 1.0 IndexedOnOffSwitch.qml
|
||||
EVChargerApp 1.0 KwhLimitPage.qml
|
||||
EVChargerApp 1.0 LedPage.qml
|
||||
EVChargerApp 1.0 LedRingPreview.qml
|
||||
EVChargerApp 1.0 LicensesPage.qml
|
||||
EVChargerApp 1.0 LoadBalancingPage.qml
|
||||
EVChargerApp 1.0 LogicModeButton.qml
|
||||
|
||||
Reference in new issue
Block a user