aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/static/locales
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-08-24 22:44:27 +0200
committerChristophe Besson <cbesson@gmail.com>2026-08-24 22:44:27 +0200
commitdf7eb105dda550989dccd3ba2bf22a50e919b19b (patch)
treeafc5de8f43d8fe188a5fdb41ffc504c211e07ccc /packages/meshbay-hub/src/meshbay_hub/static/locales
parent665fb2004e55b72ea483aa50fea81f6a6fd9c322 (diff)
downloadmeshbay-df7eb105dda550989dccd3ba2bf22a50e919b19b.tar.gz
feat(hub): audio_root wiring, mutually-exclusive players, Settings rework
Five related pieces of polish against the Music app and Settings, all from the same conversation: - Music app now requires audio_root, same as Videos requires video_root: an empty-state message until one is set, and grouping filtered to only what's under it (underAudioRoot, mirroring video-app.js's underVideoRoot). Wires the new audio_root/audio_root_ack pair through transport.js and group-page.js state the same way video_root already flows. - Starting one player now stops the other — opening a film closes the music queue, starting a track closes the video modal. Both used to run at once, found live. - Group Settings reworked: every section but a bare form (invite, pair-operator, approve-device) is now collapsible (CollapsibleSection); the uploads on/off button is a real toggle switch (ToggleSwitch, reused for TMDB/MusicBrainz's enabled switches too, each now with an icon + status badge in its header instead of a plain checkbox row); and shared directories, the Videos root picker, and the new Music root picker are merged into one "Directories" section (RootFolderRow) instead of three separate ones scattered down the page — the root pickers only show once their app is actually enabled.
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales')
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/de.js9
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/en.js9
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/es.js9
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js9
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/it.js9
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js9
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js9
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js9
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js9
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js9
10 files changed, 90 insertions, 0 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
index b05c8b1..83b5c1f 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
@@ -162,6 +162,7 @@ export default {
'video.mode_flat': 'Flache Liste',
'video.empty': 'Keine Videos gefunden.',
'video.no_root_configured': 'Für diese Gruppe ist noch kein Videos-Stammordner festgelegt — ein Operator kann in den Einstellungen einen auswählen.',
+ 'music.no_root_configured': 'Für diese Gruppe ist noch kein Musik-Stammordner festgelegt — ein Operator kann in den Einstellungen einen auswählen.',
'video.director': 'Regie',
'video.specials': 'Specials',
'video.season_n': 'Staffel {n}',
@@ -645,6 +646,14 @@ export default {
'settings_node.video_root_save': 'Speichern',
'settings_node.video_root_change_confirm': 'Das Ändern des Videos-Stammordners ersetzt, was jedes Mitglied im Videos-Tab sieht. Fortfahren?',
+ 'settings_node.audio_root_title': 'Musik-Stammordner',
+ 'settings_node.audio_root_hint': 'Welcher Ordner (oder Unterordner) als Einstiegspunkt der Musik-App für diese Gruppe dient. In Musik wird nichts angezeigt, und es werden keine Tag-/Cover-Daten gelesen, bis einer ausgewählt wurde.',
+ 'settings_node.audio_root_none': '— keiner ausgewählt —',
+ 'settings_node.audio_root_save': 'Speichern',
+ 'settings_node.audio_root_change_confirm': 'Das Ändern des Musik-Stammordners ersetzt, was jedes Mitglied im Musik-Tab sieht. Fortfahren?',
+ 'settings_node.directories_title': 'Verzeichnisse',
+ 'settings_node.directories_hint': 'Freigegebene Ordner und welchen davon die Videos- und Musik-Apps als eigenen Einstiegspunkt nutzen.',
+
// Create-group wizard
'wizard.title': 'Gruppe erstellen',
'wizard.detecting': 'Lokaler Node wird erkannt…',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
index db7d048..1101eb2 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
@@ -160,6 +160,7 @@ export default {
'video.mode_flat': 'Flat list',
'video.empty': 'No videos found.',
'video.no_root_configured': 'No Videos root folder is set for this group yet — an operator can choose one in Settings.',
+ 'music.no_root_configured': 'No Music root folder is set for this group yet — an operator can choose one in Settings.',
'video.director': 'Director',
'video.specials': 'Specials',
'video.season_n': 'Season {n}',
@@ -470,6 +471,14 @@ export default {
'settings_node.video_root_save': 'Save',
'settings_node.video_root_change_confirm': 'Changing the Videos root replaces what every member sees in the Videos tab. Continue?',
+ 'settings_node.audio_root_title': 'Music root folder',
+ 'settings_node.audio_root_hint': 'Which folder (or subfolder) the Music app treats as its entry point for this group. Nothing shows in Music, and no tag/cover reading runs, until one is chosen.',
+ 'settings_node.audio_root_none': '— none chosen —',
+ 'settings_node.audio_root_save': 'Save',
+ 'settings_node.audio_root_change_confirm': 'Changing the Music root replaces what every member sees in the Music tab. Continue?',
+ 'settings_node.directories_title': 'Directories',
+ 'settings_node.directories_hint': 'Shared folders, and which of them the Videos and Music apps use as their own entry point.',
+
// Members
'members.col_role': 'Role',
'members.group_role': 'Group role',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
index 8f29908..d9fd76f 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
@@ -160,6 +160,7 @@ export default {
'video.mode_flat': 'Lista plana',
'video.empty': 'No se encontraron vídeos.',
'video.no_root_configured': 'Aún no se ha definido una carpeta raíz de Vídeos para este grupo — un operador puede elegir una en Configuración.',
+ 'music.no_root_configured': 'Aún no se ha definido una carpeta raíz de Música para este grupo — un operador puede elegir una en Configuración.',
'video.director': 'Director',
'video.specials': 'Especiales',
'video.season_n': 'Temporada {n}',
@@ -640,6 +641,14 @@ export default {
'settings_node.video_root_save': 'Guardar',
'settings_node.video_root_change_confirm': 'Cambiar la raíz de Vídeos reemplaza lo que ve cada miembro en la pestaña Vídeos. ¿Continuar?',
+ 'settings_node.audio_root_title': 'Carpeta raíz de Música',
+ 'settings_node.audio_root_hint': 'Qué carpeta (o subcarpeta) trata la app Música como su punto de entrada para este grupo. No se muestra nada en Música, ni se leen etiquetas o carátulas, hasta que se elija una.',
+ 'settings_node.audio_root_none': '— ninguna elegida —',
+ 'settings_node.audio_root_save': 'Guardar',
+ 'settings_node.audio_root_change_confirm': 'Cambiar la raíz de Música reemplaza lo que ve cada miembro en la pestaña Música. ¿Continuar?',
+ 'settings_node.directories_title': 'Directorios',
+ 'settings_node.directories_hint': 'Carpetas compartidas, y cuál de ellas usan las apps de Vídeos y Música como su propio punto de entrada.',
+
// Create group wizard
'wizard.title': 'Crear grupo',
'wizard.detecting': 'Detectando node local…',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
index 5d83517..7e0b13f 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
@@ -161,6 +161,7 @@ export default {
'video.mode_flat': 'Liste à plat',
'video.empty': 'Aucune vidéo trouvée.',
'video.no_root_configured': "Aucun dossier racine des Vidéos n'est encore défini pour ce groupe — un opérateur peut en choisir un dans les Paramètres.",
+ 'music.no_root_configured': 'Aucun dossier racine de Musique n\'est encore défini pour ce groupe — un opérateur peut en choisir un dans les Paramètres.',
'video.director': 'Réalisateur',
'video.specials': 'Bonus',
'video.season_n': 'Saison {n}',
@@ -656,6 +657,14 @@ export default {
'settings_node.video_root_save': 'Enregistrer',
'settings_node.video_root_change_confirm': "Changer la racine des Vidéos remplace ce que chaque membre voit dans l'onglet Vidéos. Continuer ?",
+ 'settings_node.audio_root_title': 'Dossier racine de la Musique',
+ 'settings_node.audio_root_hint': 'Quel dossier (ou sous-dossier) sert de point d\'entrée à l\'application Musique pour ce groupe. Rien ne s\'affiche dans Musique, et aucune lecture de tags/pochettes n\'est effectuée, tant qu\'aucun n\'est choisi.',
+ 'settings_node.audio_root_none': '— aucun choisi —',
+ 'settings_node.audio_root_save': 'Enregistrer',
+ 'settings_node.audio_root_change_confirm': 'Changer la racine de la Musique remplace ce que chaque membre voit dans l\'onglet Musique. Continuer ?',
+ 'settings_node.directories_title': 'Répertoires',
+ 'settings_node.directories_hint': 'Dossiers partagés, et lequel d\'entre eux les applications Vidéos et Musique utilisent comme leur propre point d\'entrée.',
+
// Create group wizard
'wizard.title': 'Créer un groupe',
'wizard.detecting': 'Détection du node local…',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
index fb88cbe..7d2fada 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
@@ -161,6 +161,7 @@ export default {
'video.mode_flat': 'Elenco semplice',
'video.empty': 'Nessun video trovato.',
'video.no_root_configured': 'Per questo gruppo non è ancora impostata una cartella radice di Video — un operatore può sceglierne una nelle Impostazioni.',
+ 'music.no_root_configured': 'Per questo gruppo non è ancora impostata una cartella radice di Musica — un operatore può sceglierne una nelle Impostazioni.',
'video.director': 'Regista',
'video.specials': 'Speciali',
'video.season_n': 'Stagione {n}',
@@ -654,6 +655,14 @@ export default {
'settings_node.video_root_save': 'Salva',
'settings_node.video_root_change_confirm': 'Cambiare la radice di Video sostituisce ciò che ogni membro vede nella scheda Video. Continuare?',
+ 'settings_node.audio_root_title': 'Cartella radice di Musica',
+ 'settings_node.audio_root_hint': 'Quale cartella (o sottocartella) l\'app Musica considera come punto di ingresso per questo gruppo. In Musica non viene mostrato nulla, e non viene letto alcun tag/copertina, finché non ne viene scelta una.',
+ 'settings_node.audio_root_none': '— nessuna scelta —',
+ 'settings_node.audio_root_save': 'Salva',
+ 'settings_node.audio_root_change_confirm': 'Cambiare la radice di Musica sostituisce ciò che ogni membro vede nella scheda Musica. Continuare?',
+ 'settings_node.directories_title': 'Directory',
+ 'settings_node.directories_hint': 'Cartelle condivise, e quale di esse le app Video e Musica usano come proprio punto di ingresso.',
+
// Create-group wizard
'wizard.title': 'Crea gruppo',
'wizard.detecting': 'Rilevamento del node locale…',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
index 84e9eb5..38fb19b 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
@@ -158,6 +158,7 @@ export default {
'video.mode_flat': 'フラット表示',
'video.empty': '動画が見つかりません。',
'video.no_root_configured': 'このグループにはまだ動画のルートフォルダが設定されていません — 操作者が設定画面で選択できます。',
+ 'music.no_root_configured': 'このグループにはまだ音楽のルートフォルダが設定されていません — 操作者が設定画面で選択できます。',
'video.director': '監督',
'video.specials': '特別編',
'video.season_n': 'シーズン{n}',
@@ -638,6 +639,14 @@ export default {
'settings_node.video_root_save': '保存',
'settings_node.video_root_change_confirm': '動画のルートフォルダを変更すると、全メンバーの動画タブの表示内容が変わります。続行しますか?',
+ 'settings_node.audio_root_title': '音楽のルートフォルダ',
+ 'settings_node.audio_root_hint': 'このグループで音楽アプリの起点とするフォルダ(またはサブフォルダ)です。選択されるまで、音楽には何も表示されず、タグ・カバー情報の読み込みも行われません。',
+ 'settings_node.audio_root_none': '— 未選択 —',
+ 'settings_node.audio_root_save': '保存',
+ 'settings_node.audio_root_change_confirm': '音楽のルートフォルダを変更すると、全メンバーの音楽タブの表示内容が変わります。続行しますか?',
+ 'settings_node.directories_title': 'ディレクトリ',
+ 'settings_node.directories_hint': '共有フォルダと、動画アプリ・音楽アプリがそれぞれの起点として使用するフォルダです。',
+
// Wizard
'wizard.title': 'グループを作成',
'wizard.detecting': 'ローカル node を検出中…',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
index 06097e6..fdfcb89 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
@@ -162,6 +162,7 @@ export default {
'video.mode_flat': 'Platte lijst',
'video.empty': "Geen video's gevonden.",
'video.no_root_configured': "Er is nog geen hoofdmap voor Video's ingesteld voor deze groep — een operator kan er een kiezen bij Instellingen.",
+ 'music.no_root_configured': 'Er is nog geen hoofdmap voor Muziek ingesteld voor deze groep — een operator kan er een kiezen bij Instellingen.',
'video.director': 'Regisseur',
'video.specials': "Extra's",
'video.season_n': 'Seizoen {n}',
@@ -656,6 +657,14 @@ export default {
'settings_node.video_root_save': 'Opslaan',
'settings_node.video_root_change_confirm': "Het wijzigen van de hoofdmap voor Video's vervangt wat elk lid ziet in het tabblad Video's. Doorgaan?",
+ 'settings_node.audio_root_title': 'Hoofdmap voor Muziek',
+ 'settings_node.audio_root_hint': 'Welke map (of submap) de Muziek-app als startpunt gebruikt voor deze groep. Er wordt niets getoond in Muziek, en er worden geen tags/covers gelezen, totdat er een gekozen is.',
+ 'settings_node.audio_root_none': '— geen gekozen —',
+ 'settings_node.audio_root_save': 'Opslaan',
+ 'settings_node.audio_root_change_confirm': 'Het wijzigen van de hoofdmap voor Muziek vervangt wat elk lid ziet in het tabblad Muziek. Doorgaan?',
+ 'settings_node.directories_title': 'Mappen',
+ 'settings_node.directories_hint': 'Gedeelde mappen, en welke daarvan de Video\'s- en Muziek-apps als eigen startpunt gebruiken.',
+
// Create group wizard
'wizard.title': 'Groep aanmaken',
'wizard.detecting': 'Lokale node wordt gedetecteerd…',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
index e24fd1e..8e7f636 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
@@ -167,6 +167,7 @@ export default {
'video.mode_flat': 'Lista płaska',
'video.empty': 'Nie znaleziono żadnych filmów.',
'video.no_root_configured': 'Dla tej grupy nie wybrano jeszcze katalogu głównego Wideo — operator może go wybrać w Ustawieniach.',
+ 'music.no_root_configured': 'Dla tej grupy nie wybrano jeszcze katalogu głównego Muzyki — operator może go wybrać w Ustawieniach.',
'video.director': 'Reżyser',
'video.specials': 'Dodatki',
'video.season_n': 'Sezon {n}',
@@ -681,6 +682,14 @@ export default {
'settings_node.video_root_save': 'Zapisz',
'settings_node.video_root_change_confirm': 'Zmiana katalogu głównego Wideo zastępuje to, co widzi każdy członek w karcie Wideo. Kontynuować?',
+ 'settings_node.audio_root_title': 'Katalog główny Muzyki',
+ 'settings_node.audio_root_hint': 'Który katalog (lub podkatalog) aplikacja Muzyka traktuje jako punkt wejścia dla tej grupy. W Muzyce nic się nie wyświetla i nie są odczytywane żadne tagi/okładki, dopóki nie zostanie wybrany.',
+ 'settings_node.audio_root_none': '— nie wybrano —',
+ 'settings_node.audio_root_save': 'Zapisz',
+ 'settings_node.audio_root_change_confirm': 'Zmiana katalogu głównego Muzyki zastępuje to, co widzi każdy członek w karcie Muzyka. Kontynuować?',
+ 'settings_node.directories_title': 'Katalogi',
+ 'settings_node.directories_hint': 'Katalogi udostępnione oraz to, który z nich aplikacje Wideo i Muzyka traktują jako własny punkt wejścia.',
+
// Create-group wizard
'wizard.title': 'Utwórz grupę',
'wizard.detecting': 'Wykrywanie lokalnego node…',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
index 1a3069a..97786f4 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
@@ -162,6 +162,7 @@ export default {
'video.mode_flat': 'Lista simples',
'video.empty': 'Nenhum vídeo encontrado.',
'video.no_root_configured': 'Ainda não há uma pasta raiz de Vídeos definida para este grupo — um operador pode escolher uma em Configurações.',
+ 'music.no_root_configured': 'Ainda não há uma pasta raiz de Música definida para este grupo — um operador pode escolher uma em Configurações.',
'video.director': 'Diretor',
'video.specials': 'Especiais',
'video.season_n': 'Temporada {n}',
@@ -641,6 +642,14 @@ export default {
'settings_node.video_root_save': 'Salvar',
'settings_node.video_root_change_confirm': 'Alterar a raiz de Vídeos substitui o que cada membro vê na aba Vídeos. Continuar?',
+ 'settings_node.audio_root_title': 'Pasta raiz de Música',
+ 'settings_node.audio_root_hint': 'Qual pasta (ou subpasta) o app Música trata como ponto de entrada para este grupo. Nada é exibido em Música, e nenhuma leitura de tags/capas é feita, até que uma seja escolhida.',
+ 'settings_node.audio_root_none': '— nenhuma escolhida —',
+ 'settings_node.audio_root_save': 'Salvar',
+ 'settings_node.audio_root_change_confirm': 'Alterar a raiz de Música substitui o que cada membro vê na aba Música. Continuar?',
+ 'settings_node.directories_title': 'Diretórios',
+ 'settings_node.directories_hint': 'Pastas compartilhadas, e qual delas os apps Vídeos e Música tratam como seu próprio ponto de entrada.',
+
// Create group wizard
'wizard.title': 'Criar grupo',
'wizard.detecting': 'Detectando node local…',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
index 236747e..a26062d 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
@@ -155,6 +155,7 @@ export default {
'video.mode_flat': '平铺列表',
'video.empty': '未找到视频。',
'video.no_root_configured': '此群组尚未设置视频根目录 — 操作员可以在设置中选择一个。',
+ 'music.no_root_configured': '此群组尚未设置音乐根目录 — 操作员可以在设置中选择一个。',
'video.director': '导演',
'video.specials': '特别篇',
'video.season_n': '第 {n} 季',
@@ -624,6 +625,14 @@ export default {
'settings_node.video_root_save': '保存',
'settings_node.video_root_change_confirm': '更改视频根目录会替换每位成员在"视频"标签页中看到的内容。是否继续?',
+ 'settings_node.audio_root_title': '音乐根目录',
+ 'settings_node.audio_root_hint': '该文件夹(或子文件夹)将作为此群组“音乐”应用的入口。在选择之前,“音乐”中不会显示任何内容,也不会读取任何标签/封面信息。',
+ 'settings_node.audio_root_none': '— 未选择 —',
+ 'settings_node.audio_root_save': '保存',
+ 'settings_node.audio_root_change_confirm': '更改音乐根目录会替换每位成员在“音乐”标签页中看到的内容。是否继续?',
+ 'settings_node.directories_title': '目录',
+ 'settings_node.directories_hint': '共享文件夹,以及“视频”和“音乐”应用各自使用哪个作为入口。',
+
// Create group wizard
'wizard.title': '创建群组',
'wizard.detecting': '正在检测本地 node…',