diff --git a/html/locales/de.json b/html/locales/de.json index cbdcc017..33752852 100644 --- a/html/locales/de.json +++ b/html/locales/de.json @@ -102,7 +102,7 @@ "desc": "Einen Ordner samt Inhalt (und allen Unterordnern) hochladen" }, "search": { - "placeholder": "Dateien suchen.." + "placeholder": "Dateien suchen..." }, "upload": { "title": "Upload", @@ -111,12 +111,12 @@ "selectFile": "Wähle eine Datei zum Hochladen!", "success": "Upload erfolgreich ({{elapsed}}, {{speed}} KB/s)", "error": "Upload fehlgeschlagen", - "timeCalc": "Verbleibende Zeit wird berechnet..", + "timeCalc": "Verbleibende Zeit wird berechnet...", "minutes_one": "Minute", "minutes_other": "Minuten", "seconds": "Sekunden", "fewSec": "wenige", - "progress": "{{percent}}% ({{speed}} KB/s), {{remaining.value}} {{remaining.unit}} verbleibend.." + "progress": "{{percent}}% ({{speed}} KB/s), {{remaining.value}} {{remaining.unit}} verbleibend..." }, "rfid": { "title": "RFID-Zuweisungen", @@ -250,6 +250,7 @@ }, "general": { "language": "Sprache", + "loadingLanguage": "Sprache wird geladen ...", "volume": { "title": "Lautstärke", "restart": "Nach dem Einschalten", @@ -263,6 +264,21 @@ "gainHighPass": "Höhen (in dB)", "info": "Die Frequenzen sind laut Bibliothek (ESP32-audioI2S) 500 Hz LowShelf, 3000 Hz PeakEQ und 6000 Hz HighShelf." }, + "options": { + "title": "Optionen", + "playMono": "Mono-Wiedergabe", + "playMonoExp": "Wenn zwei Lautsprecher verbaut sind, kann Stereo abgespielt werden. Mehr Infos hier.", + "savePlayPosShutdown": "Abspielposition beim Ausschalten merken", + "savePlayPosShutdownExp": "Beim Ausschalten der Box wird für Hörbücher die Abspielposition gespeichert. Mehr Infos hier unter SAVE_PLAYPOS_BEFORE_SHUTDOWN.", + "savePlayPosRfidChange": "Abspielposition bei RFID-Tag Wechsel merken", + "savePlayPosRfidChangeExp": "Beim Wechsel zu einem neuen RFID-Tag wird für Hörbücher die Abspielposition gespeichert. Betrifft keine Modifikations-Tags. Mehr Infos hier unter SAVE_PLAYPOS_WHEN_RFID_CHANGE.", + "pauseOnMinVolume": "Pause bei minimaler Lautstärke", + "pauseOnMinVolumeExp": "Die Wiedergabe wird pausiert, wenn die Lautstärke das Minimum erreicht. Mehr Infos hier.", + "recoverVolBoot": "Letzte Lautstärke bei Neustart verwenden", + "recoverVolBootExp": "Die Box erinnert sich über einen Neustart hinweg, welche Lautstärke zuletzt verwendet wurde und stellt diese automatisch wieder ein.", + "volumeCurve" : "Feinere Abstufungen bei niedriger Lautstärke", + "volumeCurveExp" : "Verwendung von logarithmischer Lautstärkeberechnung. Kann helfen, wenn im unteren Lautstärkebereich die Abstufungen zu grob sind." + }, "neopixel": { "title": "Neopixel (Helligkeit)", "restart": "Nach dem Einschalten", diff --git a/html/locales/en.json b/html/locales/en.json index 16c291ee..a51e7dfa 100644 --- a/html/locales/en.json +++ b/html/locales/en.json @@ -15,7 +15,7 @@ "infos": "Infos", "darkmode": "Dark Mode", "restartinfo": "ESPuino is being restarted...
Page reloads automatically after restart finished.", - "shutdowninfo": "ESPuino is now switched off...
Page reloads automatically when the ESPuino is switched on again..", + "shutdowninfo": "ESPuino is now switched off...
Page reloads automatically when the ESPuino is switched on again.", "toast": { "rfidDetect": "RFID tag {{rfidId}} detected.", "success": "Action performed successfully.", @@ -102,7 +102,7 @@ "desc": "Upload directory with all files and subdirectories" }, "search": { - "placeholder": "Search files.." + "placeholder": "Search files..." }, "upload": { "title": "Upload", @@ -111,12 +111,12 @@ "selectFile": "Please select files to upload!", "success": "Upload successful ({{elapsed}}, {{speed}} KB/s)", "error": "Upload error", - "timeCalc": "Remaining time is being calculated..", + "timeCalc": "Remaining time is being calculated...", "minutes_one": "minute", "minutes_other": "minutes", "seconds": "seconds", "fewSec": "few", - "progress": "{{percent}}% ({{speed}} KB/s), {{remaining.value}} {{remaining.unit}} remaining.." + "progress": "{{percent}}% ({{speed}} KB/s), {{remaining.value}} {{remaining.unit}} remaining..." }, "rfid": { "title": "RFID Assignments", @@ -250,6 +250,7 @@ }, "general": { "language": "Language", + "loadingLanguage": "Loading language ...", "volume": { "title": "Volume", "restart": "After restart", @@ -263,6 +264,21 @@ "gainHighPass": "Highs (in dB)", "info": "According to the library (ESP32-audioI2S), the frequencies are 500 Hz LowShelf, 3000 Hz PeakEQ and 6000 Hz HighShelf." }, + "options": { + "title": "Options", + "playMono": "Mono Playback", + "playMonoExp": "If two speakers are installed, stereo can be played. More infos here.", + "savePlayPosShutdown": "Remember playback position at shutdown", + "savePlayPosShutdownExp": "When the box is switched off, the playback position for audio books is saved. More infos here under SAVE_PLAYPOS_BEFORE_SHUTDOWN.", + "savePlayPosRfidChange": "Remember playback position at RFID tag change", + "savePlayPosRfidChangeExp": "When switching to a new RFID tag, the playback position is saved for audio books. Does not affect modification tags. More infos here under SAVE_PLAYPOS_WHEN_RFID_CHANGE.", + "pauseOnMinVolume": "Pause at minimum volume", + "pauseOnMinVolumeExp": "Playback is paused when the volume reaches the minimum level. More infos here", + "recoverVolBoot": "Use last volume at restart", + "recoverVolBootExp": "After a restart, the speaker remembers which volume was last used and automatically adjusts it again.", + "volumeCurve": "Finer gradations at low volume", + "volumeCurveExp": "Use of logarithmic volume calculation. Can help if the gradations in the lower volume range are too coarse." + }, "neopixel": { "title": "Neopixel (brightness)", "restart": "After restart", diff --git a/html/locales/fr.json b/html/locales/fr.json index 8bafdfd3..d9def9d5 100644 --- a/html/locales/fr.json +++ b/html/locales/fr.json @@ -102,7 +102,7 @@ "desc": "Télécharger un répertoire avec tous les fichiers et sous-répertoires" }, "search": { - "placeholder": "Rechercher des fichiers.." + "placeholder": "Rechercher des fichiers..." }, "upload": { "title": "Télécharger", @@ -111,12 +111,12 @@ "selectFile": "Veuillez sélectionner les fichiers à télécharger!", "success": "Téléchargement réussi ({{elapsed}}, {{speed}} Ko/s)", "error": "Erreur de téléchargement", - "timeCalc": "Le temps restant est calculé..", + "timeCalc": "Le temps restant est calculé...", "minutes_one": "minute", "minutes_other": "minutes", "seconds": "secondes", "fewSec": "quelques", - "progress": "{{percent}}% ({{speed}} Ko/s), {{remaining.value}} {{remaining.unit}} restant.." + "progress": "{{percent}}% ({{speed}} Ko/s), {{remaining.value}} {{remaining.unit}} restant..." }, "rfid": { "title": "Assignations RFID", @@ -250,6 +250,7 @@ }, "general": { "language": "Langue", + "loadingLanguage": "Chargement de la traduction ...", "volume": { "title": "Volume", "restart": "Après le redémarrage", @@ -263,6 +264,21 @@ "gainHighPass": "Aigus (en dB)", "info": "Les fréquences sont, selon la bibliothèque (ESP32-audioI2S), 500 Hz LowShelf, 3000 Hz PeakEQ et 6000 Hz HighShelf." }, + "options": { + "title": "Options", + "playMono": "Lecture mono", + "playMonoExp": "Si deux haut-parleurs sont installés, la stéréo peut être jouée. Plus d'infos ici.", + "savePlayPosShutdown": "Mémoriser la position de lecture à l'extinction", + "savePlayPosShutdownExp": "Lorsque la boîte est éteinte, la position de lecture est enregistrée pour les livres audio. Plus d'informations ici sous SAVE_PLAYPOS_BEFORE_SHUTDOWN.", + "savePlayPosRfidChange": "Mémoriser la position de lecture au changement de tag RFID", + "savePlayPosRfidChangeExp": "Lors du passage à une nouvelle balise RFID, la position de lecture est enregistrée pour les livres audio. Plus d'informations ici sous SAVE_PLAYPOS_WHEN_RFID_CHANGE.", + "pauseOnMinVolume": "Pause au volume minimal", + "pauseOnMinVolumeExp": "La lecture est mise en pause lorsque le volume atteint le minimum.Plus d'infos ici.", + "recoverVolBoot": "Utiliser le dernier volume au redémarrage", + "recoverVolBootExp": "Le boîtier se souvient, après un redémarrage, du dernier volume utilisé et le rétablit automatiquement.", + "volumeCurve": "Des nuances plus fines à faible volume", + "volumeCurveExp": "Utilisation du calcul logarithmique du volume. Peut aider si les nuances sont trop grossières dans la plage de volume inférieure." + }, "neopixel": { "title": "Neopixel (luminosité)", "restart": "Après le redémarrage", diff --git a/html/management.html b/html/management.html index cc0c10e7..4bddfcb1 100644 --- a/html/management.html +++ b/html/management.html @@ -18,13 +18,10 @@ - - @@ -36,17 +33,9 @@ min-width: 310px; } - .nav-logo { - margin-right: 5px; - } - - .header-nav-element { - margin-right: 10px; - } - - .header-nav-restart { - margin-right: 40px - } + .nav-logo { + margin-right: 5px; + } .jstree-default .jstree-search { font-style: italic; @@ -61,32 +50,9 @@ overflow-y: scroll; } - .filetree-size { - height: 200px; - } - - .slider-container { - width: 100%; - display: flex; - } - - .slider-container-inner { - width: 100%; - padding-top: 10px; - padding-left: 20px; - padding-right: 20px; - float: left; - } - - .slider.slider-horizontal { - width: 100%; - } - - .slider-handle { - height: 30px; - width: 30px; - top: -5px; - } + .filetree-size { + height: 200px; + } legend.scheduler-border { width: inherit; @@ -96,19 +62,10 @@ border-bottom: none; } - .icon-pos { - top: 0.3em; - position: relative; - } - - .link-body-emphasis:focus, - .link-body-emphasis:hover { - color: orange !important; - } - - .fa-sync:hover { - color: #666666; - } + .icon-pos { + top: 0.3em; + position: relative; + } .filetree-container { position: relative; @@ -195,17 +152,10 @@ text-align: center; } - .container-fluid { - padding-right: 0; - padding-left: 5px; - } - - #navbar-heading { - width: calc(100vw - 150px) !important; - /* Cut off title if it is too long for the screen */ - overflow: hidden; - display: inline-block; - } + .container-fluid { + padding-right: 0; + padding-left: 5px; + } /* Overwrite some Bootstrap styles (remove border around disabled buttons) */ .btn.disabled { @@ -218,14 +168,24 @@ opacity: var(--bs-btn-disabled-opacity); } - .vakata-context { - /* Make sure the jstree context menu is most top */ - z-index: 99999; - } + .vakata-context { + /* Make sure the jstree context menu is most top */ + z-index: 99999; + } + + #splash { + z-index: 3000; + } +
+
+
+ Loading language ... +
+
-