diff --git a/INSTALL.md b/INSTALL.md index 7cb0abe5..cecb7aae 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -129,7 +129,10 @@ deploy-path = "/newroot/"; # ending slash is important ``` If you use nginx as a reverse proxy, you can simply replace `location /` with `location /newroot/` to achieve the same result. ## Reverse proxy settings -_LMS_ is shipped with an embedded web server, but it is recommended to deploy behind a reverse proxy. You have to set the _behind-reverse-proxy_ option to _true_ in the `lms.conf` configuration file. +_LMS_ is shipped with an embedded web server, but it is recommended to deploy behind a reverse proxy. You have to set the `behind-reverse-proxy` option to _true_ in the `lms.conf` configuration file and to adjust the trusted proxy list in `trusted-proxies` option. + +__Note__: when running in a docker environment, you have to trust the docker gateway IP (which is `172.17.0.1` by default) + Here is an example to make _LMS_ properly work on _myserver.org_ using _nginx_: ``` server { @@ -147,10 +150,9 @@ server { keepalive_timeout 10m; location / { - - proxy_set_header Client-IP $remote_addr; proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://localhost:5082/; diff --git a/README.md b/README.md index b82baa57..00820499 100644 --- a/README.md +++ b/README.md @@ -43,15 +43,15 @@ _LMS_ primarily relies on tags to organize your music collection but also suppor ### Filtering It is possible to apply global filters on your collection using `genre`, `mood`, `grouping`, `language`, and by music library. More tags, including custom ones, can be added in the database administration settings. -__Note__: You can use the `lms-metadata` tool to get an idea of the tags parsed by _LMS_ using [TagLib](https://github.com/taglib/taglib). +__Note__: You can use the `lms-metadata` tool to get an idea of the tags parsed by _LMS_. ### Multiple artists -_LMS_ works best when using the default Picard settings, where the `artist` tag contains a single display-friendly value, and the `artists` tag holds the actual artist names. This ensures a cleaner, more organized representation of artist names, when multiple artists are involved. +_LMS_ works best when using the default [Picard](https://picard.musicbrainz.org/) settings, where the `artist` tag contains a single display-friendly value, and the `artists` tag holds the actual artist names. This ensures a cleaner, more organized representation of artist names, when multiple artists are involved. ### Multiple album artists While LMS can manage multiple album artists using the `albumartist` tag, it works better when using the custom `albumartists` and `albumartistssort` tags, similar to how it handles regular artist tags. -__Note__: if you use [Picard](https://picard.musicbrainz.org/), add the following script to include these tags: +__Note__: if you use Picard, add the following script to include these tags: ``` $setmulti(albumartists,%_albumartists%) $setmulti(albumartistssort,%_albumartists_sort%) diff --git a/approot/artist.xml b/approot/artist.xml index ddd340d9..6119ca39 100644 --- a/approot/artist.xml +++ b/approot/artist.xml @@ -29,7 +29,7 @@ ${} ${}

${tr:Lms.Explore.Artist.similar-artists}

- ${similar-artists class="d-grid gap-3"} + ${similar-artists class="row row-cols-2 row-cols-md-3 row-cols-lg-4 row-cols-xl-6 gx-2 gy-4"} ${
} diff --git a/approot/artists.xml b/approot/artists.xml index 12938860..a9f78e6d 100644 --- a/approot/artists.xml +++ b/approot/artists.xml @@ -14,11 +14,18 @@ - ${name class="text-decoration-none link-secondary"} +
+
+
+ ${image class="shadow-sm"} +
+ ${name class="d-block text-center text-truncate text-decoration-none link-secondary"} +
+
- ${elements class="d-grid gap-3"} + ${elements class="row row-cols-2 row-cols-md-3 row-cols-lg-4 row-cols-xl-6 gx-2 gy-4"} ${loading-indicator} diff --git a/approot/images/unknown-artist.jpg b/approot/images/unknown-artist.jpg deleted file mode 100755 index 8c3285ef..00000000 Binary files a/approot/images/unknown-artist.jpg and /dev/null differ diff --git a/approot/images/unknown-artist.svg b/approot/images/unknown-artist.svg new file mode 100644 index 00000000..107866e9 --- /dev/null +++ b/approot/images/unknown-artist.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/approot/messages.xml b/approot/messages.xml index 2cfb7606..1a7e401c 100644 --- a/approot/messages.xml +++ b/approot/messages.xml @@ -110,6 +110,7 @@ Scheduled on {1} Scanning: step {1}/{2} Associating artist images: {1}%... +Associating release images: {1}%... Checking for duplicate files... {1} files Checking for removed files... {1}% Compacting database... @@ -276,18 +277,24 @@ Play History +Method to sort artist's albums Audio These audio settings are local to your browser! Internal ListenBrainz ListenBrainz API token Change password +Release Date (Ascending) +Release Date (Descending) Default transcoding output bitrate Default transcoding output format Cannot save using a demo account! Enable transcoding by default Feedback Settings +Album Name +Original Release Date (Ascending) +Original Release Date (Descending) Bad password Old password must be filled in ReplayGain mode @@ -305,6 +312,7 @@ Album artists Track artists Subsonic API +User Interface Transcoding Transcoding output bitrate Transcoding output format diff --git a/approot/messages_fr.xml b/approot/messages_fr.xml index 1f216c86..5e3cdef5 100644 --- a/approot/messages_fr.xml +++ b/approot/messages_fr.xml @@ -110,6 +110,7 @@ Planifié le {1} En cours de scan : étape {1}/{2} Association des images des artistes: {1}%... +Association des images des albums: {1}%... Vérification des fichiers dupliqués... {1} fichiers Vérification des fichiers supprimés... {1}% Compactage de la base de données... @@ -276,18 +277,24 @@ Historique de lecture +Méthode pour trier les albums de l'artiste Audio Ces paramètres audio sont locaux à votre navigateur ! Interne ListenBrainz Jeton d'API ListenBrainz Changement de mot de passe +Date de sortie (Croissant) +Date de sortie (Décroissant) Bitrate par défaut du transcodage Format par défaut du transcodage Impossible de sauvegarder en utilisant un compte de démo ! Activer par défaut le transcodage Feedback Paramètres +Nom de l'album +Date de sortie originale (Croissant) +Date de sortie originale (Décroissant) Mauvais mot de passe L'ancien mot de passe doit être renseigné Mode ReplayGain @@ -305,6 +312,7 @@ Tous les artistes d'album Tous les artistes de piste API Subsonic +Interface utilisateur Transcodage Bitrate du transcodage Format du transcodage diff --git a/approot/messages_it.xml b/approot/messages_it.xml index a1daeb59..e5755c71 100644 --- a/approot/messages_it.xml +++ b/approot/messages_it.xml @@ -110,6 +110,7 @@ Pianificato il {1} Scansione: passo {1}/{2} Associando immagini degli artisti: {1}%... +Associando immagini degli album: {1}%... Controllo duplicati... {1} files Controllo file... {1}% Compattazione del database... @@ -276,18 +277,24 @@ Storico riproduzione +Metodo per ordinare gli album dell'artista Audio Queste impostazioni sono salvate localmente su questo dispositivo! Interno ListenBrainz Token API ListenBrainz Cambia password +Data di uscita (Crescente) +Data di uscita (Decrescente) Bitrate di default per la transcodifica Formato di default per la transcodifica Non posso salvare le impostazioni utilizzando l'account demo! Abilita transcodifica di default Feedback Impostazioni +Nome dell'album +Data di uscita originale (Crescente) +Data di uscita originale (Decrescente) Password errata Devi inserire la password attuale Modalità ReplayGain @@ -305,6 +312,7 @@ Artisti album Artisti tracce Subsonic API +Interfaccia utente Transcodifica Bitrate transcodifica Formato di transcodifica diff --git a/approot/messages_pl.xml b/approot/messages_pl.xml index a28bcb89..01343f09 100644 --- a/approot/messages_pl.xml +++ b/approot/messages_pl.xml @@ -119,6 +119,7 @@ Zaplanowano na {1} Skanowanie: krok {1}/{2} Kojarzenie obrazów artystów: {1}%... +Kojarzenie obrazów albumów: {1}%... Sprawdzanie duplikatów... {1} plik Sprawdzanie duplikatów... {1} pliki @@ -302,18 +303,24 @@ Historia odtwarzania +Metoda sortowania albumów artysty Dźwięk Te ustawienia dotyczą wyłącznie tej przeglądarki! Wewnętrzny ListenBrainz ListenBrainz API token Zmień hasło +Data wydania (Rosnąco) +Data wydania (Malejąco) Domyślna przepływność transkodowania Domyślny format wyjściowy transkodowania Nie można zapisywać na koncie demonstracyjnym! Aktywuj domyślnie transkodowanie Feedback Ustawienia +Nazwa albumu +Oryginalna data wydania (Rosnąco) +Oryginalna data wydania (Malejąco) Błędne hasło Należy podać stare hasło Tryb ReplayGain @@ -331,6 +338,7 @@ Artyści z albumów Artyści ze ścieżek Subsonic API +Interfejs użytkownika Transkodowanie Przepływność transkodowania Format wyjściowy transkodowania diff --git a/approot/messages_zh.xml b/approot/messages_zh.xml index 97f1b500..efb8dd4f 100644 --- a/approot/messages_zh.xml +++ b/approot/messages_zh.xml @@ -80,6 +80,7 @@ + 更新周期 更新开始时间 每周 @@ -110,9 +111,10 @@ 计划于 {1} 扫描中: 阶段 {1}/{2} -检查文件中... {1}% +检查文件中... {1}% + 检索文件中: {1} 文件 从 AcousticBrainz 获取音轨特征: {1}/{2} 音轨 ({3}%)... @@ -276,6 +278,7 @@ 播放历史 + 音频 这些音频设置仅保存在您的本地浏览器! @@ -284,10 +287,15 @@ 更改密码 + + 使用演示账号时不能保存! 设置 + + + 无效密码 必须填写旧密码 ReplayGain 模式 @@ -305,6 +313,7 @@ 专辑歌手 音轨歌手 Subsonic 应用程序接口 + 转码 转码比特率 转码格式 diff --git a/approot/settings.xml b/approot/settings.xml index ae63455f..1ee166e7 100644 --- a/approot/settings.xml +++ b/approot/settings.xml @@ -5,10 +5,21 @@
- ${tr:Lms.Settings.audio} -
- ${tr:Lms.Settings.audio-settings-are-local} + ${tr:Lms.Settings.user-interface} +
+ + ${artist-release-sort-method class="form-control"} +
+ ${artist-release-sort-method-info} +
+ ${tr:Lms.Settings.audio} + +