aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/static/locales
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-08-24 14:33:20 +0200
committerChristophe Besson <cbesson@gmail.com>2026-08-24 14:33:20 +0200
commit0b0da86f1f9d6f0b1a27b5e1e1658c42de9f356a (patch)
treeba8daf5dcf050d44b7b0e766babbfda8fadac59f /packages/meshbay-hub/src/meshbay_hub/static/locales
parent6af05abf410bbd038ce7fa6915a659defc509071 (diff)
downloadmeshbay-0b0da86f1f9d6f0b1a27b5e1e1658c42de9f356a.tar.gz
feat(node,hub): season-specific overviews, manual TMDB match correction, and wizard polish
Two operator-facing fixes for a real 3-season show whose automatic TMDB match was wrong at the show level: per-season overview/air_date tabs in the detail modal (falling back to the show-level text when a season's own is empty), and a "Fix match…" search-and-correct affordance that re-resolves every file sharing the corrected show's display_title. New signed op OP_TMDB_OVERRIDE and two read-only pairs (season_meta_req/resp, tmdb_search_req/resp), MNP_VERSION 0.5 -> 0.6. Also: the create-group wizard gets a spinning indexing indicator and an app-selection step, group settings default the TMDB language to the operator's own locale (never as a global default), and a file renamed mid-session now re-triggers title parsing instead of being silently skipped by the enrichment dedup guard. Fixes two bugs found during this work: the search overlay's z-index lost to the base video-overlay class and rendered invisibly, and season_meta's own empty overview didn't fall back to the show-level one. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LAmyXtc6dAADsH23ydXQpY
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales')
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/de.js7
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/en.js7
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/es.js7
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js7
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/it.js7
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js7
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js7
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js7
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js7
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js7
10 files changed, 70 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 6634cfb..7f05441 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
@@ -169,6 +169,12 @@ export default {
one: '{n} Episode',
other: '{n} Episoden',
},
+ 'video.fix_match': 'Übereinstimmung korrigieren…',
+ 'video.search_title': 'TMDB-Übereinstimmung korrigieren',
+ 'video.search_placeholder': 'TMDB durchsuchen…',
+ 'video.search_button': 'Suchen',
+ 'video.search_no_results': 'Keine Treffer gefunden.',
+ 'video.search_apply_hint': 'Gilt für alle Dateien, die derzeit unter diesem Titel gruppiert sind.',
// LAN-Cast
'cast.start': 'Auf Gerät übertragen',
@@ -620,6 +626,7 @@ export default {
'wizard.setting_up': 'Ihre Gruppe wird eingerichtet…',
'wizard.step_create_hub': 'Gruppe auf dem Hub erstellen',
'wizard.step_attach': 'An Node anbinden',
+ 'wizard.step_apps': 'Anwendungen auswählen',
'wizard.step_add_roots': 'Verzeichnisse hinzufügen',
'wizard.step_gek': 'Verschlüsselungsschlüssel initialisieren',
'wizard.step_pair': 'Kopplung einrichten',
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 ebdb3e2..7f31bb5 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
@@ -167,6 +167,12 @@ export default {
one: '{n} episode',
other: '{n} episodes',
},
+ 'video.fix_match': 'Fix match…',
+ 'video.search_title': 'Correct the TMDB match',
+ 'video.search_placeholder': 'Search TMDB…',
+ 'video.search_button': 'Search',
+ 'video.search_no_results': 'No matches found.',
+ 'video.search_apply_hint': 'Applies to every file currently grouped under this title.',
// LAN cast
'cast.start': 'Cast to device',
@@ -374,6 +380,7 @@ export default {
'wizard.setting_up': 'Setting up your group...',
'wizard.step_create_hub': 'Creating group on hub',
'wizard.step_attach': 'Attaching to node',
+ 'wizard.step_apps': 'Choosing applications',
'wizard.step_add_roots': 'Adding directories',
'wizard.step_gek': 'Initializing encryption key',
'wizard.step_pair': 'Setting up pairing',
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 d028279..d7f0f1e 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
@@ -167,6 +167,12 @@ export default {
one: '{n} episodio',
other: '{n} episodios',
},
+ 'video.fix_match': 'Corregir coincidencia…',
+ 'video.search_title': 'Corregir la coincidencia de TMDB',
+ 'video.search_placeholder': 'Buscar en TMDB…',
+ 'video.search_button': 'Buscar',
+ 'video.search_no_results': 'No se encontraron coincidencias.',
+ 'video.search_apply_hint': 'Se aplica a todos los archivos agrupados actualmente bajo este título.',
// LAN cast
'cast.start': 'Enviar a dispositivo',
@@ -615,6 +621,7 @@ export default {
'wizard.setting_up': 'Configurando su grupo…',
'wizard.step_create_hub': 'Creando grupo en el hub',
'wizard.step_attach': 'Conectando al node',
+ 'wizard.step_apps': 'Eligiendo aplicaciones',
'wizard.step_add_roots': 'Añadiendo directorios',
'wizard.step_gek': 'Inicializando clave de cifrado',
'wizard.step_pair': 'Configurando emparejamiento',
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 621650d..2befdb9 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
@@ -168,6 +168,12 @@ export default {
one: '{n} épisode',
other: '{n} épisodes',
},
+ 'video.fix_match': 'Corriger la correspondance…',
+ 'video.search_title': 'Corriger la correspondance TMDB',
+ 'video.search_placeholder': 'Rechercher sur TMDB…',
+ 'video.search_button': 'Rechercher',
+ 'video.search_no_results': 'Aucune correspondance trouvée.',
+ 'video.search_apply_hint': 'S’applique à tous les fichiers actuellement regroupés sous ce titre.',
// LAN cast
'cast.start': 'Diffuser sur un appareil',
@@ -631,6 +637,7 @@ export default {
'wizard.setting_up': 'Configuration de votre groupe…',
'wizard.step_create_hub': 'Création du groupe sur le hub',
'wizard.step_attach': 'Rattachement au node',
+ 'wizard.step_apps': 'Choix des applications',
'wizard.step_add_roots': 'Ajout des répertoires',
'wizard.step_gek': 'Initialisation de la clé de chiffrement',
'wizard.step_pair': 'Mise en place de l\'appariement',
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 71fb9ba..bdfda75 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
@@ -168,6 +168,12 @@ export default {
one: '{n} episodio',
other: '{n} episodi',
},
+ 'video.fix_match': 'Correggi corrispondenza…',
+ 'video.search_title': 'Correggi la corrispondenza TMDB',
+ 'video.search_placeholder': 'Cerca su TMDB…',
+ 'video.search_button': 'Cerca',
+ 'video.search_no_results': 'Nessuna corrispondenza trovata.',
+ 'video.search_apply_hint': 'Si applica a tutti i file attualmente raggruppati sotto questo titolo.',
// LAN cast
'cast.start': 'Trasmetti al dispositivo',
@@ -629,6 +635,7 @@ export default {
'wizard.setting_up': 'Configurazione del gruppo…',
'wizard.step_create_hub': 'Creazione del gruppo sul hub',
'wizard.step_attach': 'Collegamento al node',
+ 'wizard.step_apps': 'Scelta delle applicazioni',
'wizard.step_add_roots': 'Aggiunta delle directory',
'wizard.step_gek': 'Inizializzazione della chiave di cifratura',
'wizard.step_pair': 'Configurazione del pairing',
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 3336705..f00a0ec 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
@@ -165,6 +165,12 @@ export default {
one: '{n}話',
other: '{n}話',
},
+ 'video.fix_match': '一致を修正…',
+ 'video.search_title': 'TMDBの一致を修正',
+ 'video.search_placeholder': 'TMDBを検索…',
+ 'video.search_button': '検索',
+ 'video.search_no_results': '一致する結果が見つかりません。',
+ 'video.search_apply_hint': '現在このタイトルでグループ化されているすべてのファイルに適用されます。',
// LAN cast
'cast.start': 'デバイスにキャスト',
@@ -613,6 +619,7 @@ export default {
'wizard.setting_up': 'グループをセットアップ中…',
'wizard.step_create_hub': 'hub 上にグループを作成中',
'wizard.step_attach': 'node に接続中',
+ 'wizard.step_apps': 'アプリを選択中',
'wizard.step_add_roots': 'ディレクトリを追加中',
'wizard.step_gek': '暗号化鍵を初期化中',
'wizard.step_pair': 'ペアリングをセットアップ中',
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 28be024..d9ed12e 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
@@ -169,6 +169,12 @@ export default {
one: '{n} aflevering',
other: '{n} afleveringen',
},
+ 'video.fix_match': 'Overeenkomst corrigeren…',
+ 'video.search_title': 'TMDB-overeenkomst corrigeren',
+ 'video.search_placeholder': 'Zoeken in TMDB…',
+ 'video.search_button': 'Zoeken',
+ 'video.search_no_results': 'Geen overeenkomsten gevonden.',
+ 'video.search_apply_hint': 'Geldt voor alle bestanden die momenteel onder deze titel zijn gegroepeerd.',
// LAN cast
'cast.start': 'Naar apparaat casten',
@@ -631,6 +637,7 @@ export default {
'wizard.setting_up': 'Uw groep wordt ingesteld…',
'wizard.step_create_hub': 'Groep aanmaken op hub',
'wizard.step_attach': 'Koppelen aan node',
+ 'wizard.step_apps': 'Apps kiezen',
'wizard.step_add_roots': 'Mappen toevoegen',
'wizard.step_gek': 'Versleutelingssleutel initialiseren',
'wizard.step_pair': 'Koppeling instellen',
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 d4eb325..cbd27b1 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
@@ -176,6 +176,12 @@ export default {
many: '{n} odcinków',
other: '{n} odcinka',
},
+ 'video.fix_match': 'Popraw dopasowanie…',
+ 'video.search_title': 'Popraw dopasowanie TMDB',
+ 'video.search_placeholder': 'Szukaj w TMDB…',
+ 'video.search_button': 'Szukaj',
+ 'video.search_no_results': 'Nie znaleziono dopasowań.',
+ 'video.search_apply_hint': 'Dotyczy wszystkich plików obecnie zgrupowanych pod tym tytułem.',
// LAN cast
'cast.start': 'Przesyłaj na urządzenie',
@@ -654,6 +660,7 @@ export default {
'wizard.setting_up': 'Konfigurowanie grupy…',
'wizard.step_create_hub': 'Tworzenie grupy na hub',
'wizard.step_attach': 'Podłączanie do node',
+ 'wizard.step_apps': 'Wybieranie aplikacji',
'wizard.step_add_roots': 'Dodawanie katalogów',
'wizard.step_gek': 'Inicjalizacja klucza szyfrowania',
'wizard.step_pair': 'Konfigurowanie parowania',
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 bba07a2..e7bf45c 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
@@ -169,6 +169,12 @@ export default {
one: '{n} episódio',
other: '{n} episódios',
},
+ 'video.fix_match': 'Corrigir correspondência…',
+ 'video.search_title': 'Corrigir a correspondência do TMDB',
+ 'video.search_placeholder': 'Pesquisar no TMDB…',
+ 'video.search_button': 'Pesquisar',
+ 'video.search_no_results': 'Nenhuma correspondência encontrada.',
+ 'video.search_apply_hint': 'Aplica-se a todos os arquivos atualmente agrupados sob este título.',
// LAN cast
'cast.start': 'Transmitir para dispositivo',
@@ -616,6 +622,7 @@ export default {
'wizard.setting_up': 'Configurando seu grupo…',
'wizard.step_create_hub': 'Criando grupo no hub',
'wizard.step_attach': 'Anexando ao node',
+ 'wizard.step_apps': 'Escolhendo aplicativos',
'wizard.step_add_roots': 'Adicionando diretórios',
'wizard.step_gek': 'Inicializando chave de criptografia',
'wizard.step_pair': 'Configurando pareamento',
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 c9199c4..33a0e25 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
@@ -162,6 +162,12 @@ export default {
one: '{n} 集',
other: '{n} 集',
},
+ 'video.fix_match': '修正匹配…',
+ 'video.search_title': '更正 TMDB 匹配',
+ 'video.search_placeholder': '搜索 TMDB…',
+ 'video.search_button': '搜索',
+ 'video.search_no_results': '未找到匹配项。',
+ 'video.search_apply_hint': '将应用于当前归类在此标题下的所有文件。',
// LAN cast
'cast.start': '投射到设备',
@@ -600,6 +606,7 @@ export default {
'wizard.setting_up': '正在设置您的群组…',
'wizard.step_create_hub': '在 hub 上创建群组',
'wizard.step_attach': '关联到 node',
+ 'wizard.step_apps': '选择应用',
'wizard.step_add_roots': '添加目录',
'wizard.step_gek': '初始化加密密钥',
'wizard.step_pair': '设置配对',