diff --git a/INSTALL.md b/INSTALL.md
index cecb7aae..115ddc3c 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -8,10 +8,11 @@
+ [Upgrade](#upgrade)
- [Deployment](#deployment)
* [Configuration](#configuration)
- * [Authentication backend](#authentication-backend)
+ * [Authentication backends](#authentication-backends)
* [Deploy on non root path](#deploy-on-non-root-path)
* [Reverse proxy settings](#reverse-proxy-settings)
- [Run](#run)
+- [First launch](#first-launch)
# Installation
## Docker
_Docker_ images are available, please see detailed instructions on https://hub.docker.com/r/epoupon/lms.
@@ -100,7 +101,7 @@ __Note__: don't forget to give the _lms_ user read access to the music directory
_LMS_ uses a configuration file, installed by default in `/etc/lms.conf`. It is recommended to edit this file and change relevant settings (listen address, listen port, working directory, Subsonic API activation, deployment path, ...).
All other settings are set using the web interface (user management, scan settings, transcode settings, ...).
If a setting is not present in the configuration file, a hardcoded default value is used (the same as in the [default configuration file](conf/lms.conf))
-## Authentication backend
+## Authentication backends
You can define which authentication backend to be used thanks to the `authentication-backend` option:
* `internal` (default): _LMS_ uses an internal database to store users and their associated passwords (salted and hashed using [Bcrypt](https://en.wikipedia.org/wiki/Bcrypt)). Only the admin user can create, edit or remove other users.
* `PAM`: the user/password authentication request is forwarded to PAM (see the default [PAM configuration file](conf/pam/lms) provided).
@@ -170,3 +171,10 @@ Log traces can be accessed using journactl:
journalctl -u lms.service
```
To connect to _LMS_, just open your favorite browser and go to `http://localhost:5082`
+# First launch
+At the first launch, a setup assistant will guide you through creating the administrator account (username and password). Once this information is saved, you can refresh the page to access the _LMS_ login screen.
+__Note__: If you are using `PAM` or `http-header` authentication, this setup assistant will not appear (see [Authentication backends](#authentication-backends)).
+
+Once logged in as an administrator, you will need to define your libraries—that is, select the music folders you want to scan. Then, check that the scan settings meet your needs (scan frequency, tag delimiters, etc.).
+
+You can now initiate the initial scan to import your music into _LMS_.
\ No newline at end of file
diff --git a/SUBSONIC.md b/SUBSONIC.md
index cc3a6d6f..a4bcefb6 100644
--- a/SUBSONIC.md
+++ b/SUBSONIC.md
@@ -51,3 +51,4 @@ The following extra fields are implemented:
## Supported extensions
* [Transcode offset](https://opensubsonic.netlify.app/docs/extensions/transcodeoffset/)
+* [Song Lyrics](https://opensubsonic.netlify.app/docs/extensions/songlyrics/)
diff --git a/approot/messages.xml b/approot/messages.xml
index 1a7e401c..e34e36cf 100644
--- a/approot/messages.xml
+++ b/approot/messages.xml
@@ -34,6 +34,13 @@
User
+
+.
+,
+MM/dd/yyyy
+HH:mm:ss
+MM/dd/yyyy HH:mm:ss
+
Artist not found
Error occured!
@@ -89,6 +96,7 @@
Cannot get track duration
Cannot parse audio file
Cannot parse image file
+Cannot parse lyrics file
Cannot read file
Compact the database. Caution: this may take a while and will block the whole application during the compact step!
@@ -98,7 +106,7 @@
Get report
Last scan
Not available
-Scanned {1} files in {2} on {3} ({4} errors, {5} duplicates)
+{1} files were scanned in {2} at {4} on {3} (UTC) - {5} errors, {6} duplicates
No audio track
Duplicated file hash
Duplicated track MBID
@@ -107,9 +115,10 @@
Scanner
Status
Not scheduled
-Scheduled on {1}
+Scheduled at {2} on {1} (UTC)
Scanning: step {1}/{2}
Associating artist images: {1}%...
+Associating external lyrics: {1}%...
Associating release images: {1}%...
Checking for duplicate files... {1} files
Checking for removed files... {1}%
@@ -182,6 +191,7 @@
Star
Starred
Track information
+Lyrics
Playlists
Tracks
Type
diff --git a/approot/messages_en-US.xml b/approot/messages_en-US.xml
new file mode 100644
index 00000000..77611a53
--- /dev/null
+++ b/approot/messages_en-US.xml
@@ -0,0 +1,12 @@
+
+
+
+
+.
+,
+MM/dd/yyyy
+hh:mm:ss a
+MM/dd/yyyy hh:mm:ss a
+
+
\ No newline at end of file
diff --git a/approot/messages_fr.xml b/approot/messages_fr.xml
index 5e3cdef5..99291866 100644
--- a/approot/messages_fr.xml
+++ b/approot/messages_fr.xml
@@ -34,6 +34,13 @@
Utilisateur
+
+,
+
+dd/MM/yyyy
+HH:mm:ss
+dd/MM/yyyy HH:mm:ss
+
Cet artiste n'existe pas
Une erreur est survenue!
@@ -89,6 +96,7 @@
Impossible de récupérer la durée de la piste
Impossible d'analyser le fichier audio
Impossible d'analyser le fichier image
+Impossible d'analyser le fichier de paroles
Impossible de lire le fichier
Compacter la base de données. Attention : cette opération peut prendre du temps et va vérouiller l'application pendant toute l'étape de compactage!
@@ -98,7 +106,7 @@
Rapport
Dernier scan
Non disponible
-{1} fichiers scannés en {2} le {3} ({4} erreurs, {5} duplicatas)
+{1} fichiers analysés en {2} à {4} le {3} (UTC) - {5} erreurs, {6} duplicatas
Pas de piste audio
Hash dupliqué
Track MBID dupliqué
@@ -107,9 +115,10 @@
Scanner
Statut
Non planifié
-Planifié le {1}
+Planifié à {2} le {1} (UTC)
En cours de scan : étape {1}/{2}
Association des images des artistes: {1}%...
+Association des paroles externes: {1}%...
Association des images des albums: {1}%...
Vérification des fichiers dupliqués... {1} fichiers
Vérification des fichiers supprimés... {1}%
@@ -182,6 +191,7 @@
Ajouter aux favoris
Favoris
Informations sur la piste
+Paroles
Playlists
Pistes
Type
@@ -328,6 +338,36 @@
Paramètres sauvegardés !
+moins d'une seconde
+
+ une second
+ {1} secondes
+
+
+ une minute
+ {1} minutes
+
+
+ une houre
+ {1} houres
+
+
+ un jour
+ {1} jours
+
+
+ une semaine
+ {1} semaines
+
+
+ un mois
+ {1} mois
+
+
+ une année
+ {1} années
+
+
Oui
Non
Ce champ ne peut pas être vide
diff --git a/approot/messages_it.xml b/approot/messages_it.xml
index e5755c71..749ca015 100644
--- a/approot/messages_it.xml
+++ b/approot/messages_it.xml
@@ -34,6 +34,13 @@
Utente
+
+,
+.
+dd/MM/yyyy
+HH:mm:ss
+dd/MM/yyyy HH:mm:ss
+
Artista non trovato
C'è stato un errore!
@@ -89,6 +96,7 @@
Non sono stato in grado di determinare la durata della traccia
Impossibile analizzare il file audio
Impossibile analizzare il file immagine
+Impossibile analizzare il file dei testi
Non in grado di leggere il file
Compatta il database. Attenzione: ciò potrebbe richiedere del tempo e bloccherà l'intera applicazione durante il passaggio di compattazione!
@@ -98,7 +106,7 @@
Scarica un resoconto
Ultima scansione
Non disponibile
-Scansionati {1} files in {2} su {3} ({4} errori, {5} duplicati)
+{1} file scansionati in {2} alle {3} il {4} (UTC) - {5} errori, {6} duplicati
Nessuna traccia audio
Hash doppio
Track MBID doppio
@@ -107,9 +115,10 @@
Scanner
Stato
Non pianificato
-Pianificato il {1}
+Programmato alle {2} del {1} (UTC)
Scansione: passo {1}/{2}
Associando immagini degli artisti: {1}%...
+Associazione dei testi esterni: {1}%...
Associando immagini degli album: {1}%...
Controllo duplicati... {1} files
Controllo file... {1}%
@@ -182,6 +191,7 @@
Aggiungi ai preferiti
Preferiti
Informazioni sulla traccia
+Testo
Playlist
Tracce
Tipo
@@ -328,6 +338,36 @@
Nuove impostazioni salvate!
+meno di un secondo
+
+ un secondo
+ {1} secondi
+
+
+ un minuto
+ {1} minuti
+
+
+ un'ora
+ {1} ore
+
+
+ un giorno
+ {1} giorni
+
+
+ una settimana
+ {1} settimane
+
+
+ un mese
+ {1} mesi
+
+
+ un anno
+ {1} anni
+
+
Si
No
Questo campo non può essere vuoto
diff --git a/approot/messages_pl.xml b/approot/messages_pl.xml
index 01343f09..ae9bf9c4 100644
--- a/approot/messages_pl.xml
+++ b/approot/messages_pl.xml
@@ -35,6 +35,13 @@
Użytkownik
+
+,
+
+dd.MM.yyyy
+HH:mm:ss
+dd.MM.yyyy HH:mm:ss
+
Artysta nie odnaleziony
Wystąpił błąd!
@@ -90,6 +97,7 @@
Nie udało się ustalić długości ścieżki
Nie można przeanalizować pliku audio
Nie można przeanalizować pliku obrazu
+Nie można przetworzyć pliku z tekstem
Nie udało się odczytać pliku
Sprasuj bazę danych. Uwaga: może to trochę zająć, a cała aplikacja będzie w tym czasie zablokowana!