fix: translate dashboard tabs, header menu items
CI / lint (push) Failing after 19s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s

- showWelcome() dashboard: all tabs, empty states, hints → ${t()}
- Header dropdown: 7 menu items with data-i18n (Thème..Déconnexion)
- 61 new locale keys for dashboard, settings nav, help nav, about
- Total: 658 keys per language
This commit is contained in:
2026-06-18 14:47:18 -04:00
parent 1a27e95c1a
commit 31b7f4c569
4 changed files with 148 additions and 26 deletions
+13 -13
View File
@@ -526,7 +526,7 @@
></i>
</span>
<span class="menu-list-content">
<span class="menu-list-title"
<span class="menu-list-title" data-i18n="header.menu_theme"
>Thème</span
>
<span
@@ -552,10 +552,10 @@
></i>
</span>
<span class="menu-list-content">
<span class="menu-list-title"
<span class="menu-list-title" data-i18n="header.menu_admin"
>Administration</span
>
<span class="menu-list-subtitle"
<span class="menu-list-subtitle" data-i18n="header.menu_admin_desc"
>Gérer les utilisateurs</span
>
</span>
@@ -576,10 +576,10 @@
></i>
</span>
<span class="menu-list-content">
<span class="menu-list-title"
<span class="menu-list-title" data-i18n="header.menu_config"
>Configurations</span
>
<span class="menu-list-subtitle"
<span class="menu-list-subtitle" data-i18n="header.menu_config_desc"
>Paramètres de l'application</span
>
</span>
@@ -600,10 +600,10 @@
></i>
</span>
<span class="menu-list-content">
<span class="menu-list-title"
<span class="menu-list-title" data-i18n="header.menu_help"
>Guide d'utilisation</span
>
<span class="menu-list-subtitle"
<span class="menu-list-subtitle" data-i18n="header.menu_help_desc"
>Ouvrir l'aide</span
>
</span>
@@ -624,10 +624,10 @@
></i>
</span>
<span class="menu-list-content">
<span class="menu-list-title"
<span class="menu-list-title" data-i18n="header.menu_about"
>A propos</span
>
<span class="menu-list-subtitle"
<span class="menu-list-subtitle" data-i18n="header.menu_about_desc"
>Version, credits &amp; info</span
>
</span>
@@ -648,10 +648,10 @@
></i>
</span>
<span class="menu-list-content">
<span class="menu-list-title"
<span class="menu-list-title" data-i18n="header.menu_profile"
>Profil</span
>
<span class="menu-list-subtitle"
<span class="menu-list-subtitle" data-i18n="header.menu_profile_desc"
>Langue &amp; preferences</span
>
</span>
@@ -672,11 +672,11 @@
></i>
</span>
<span class="menu-list-content">
<span class="menu-list-title"
<span class="menu-list-title" data-i18n="header.menu_logout"
style="color:var(--danger)"
>Deconnexion</span
>
<span class="menu-list-subtitle"
<span class="menu-list-subtitle" data-i18n="header.menu_logout_desc"
>Quitter la session</span
>
</span>
+11 -11
View File
@@ -933,23 +933,23 @@ export function showWelcome() {
<!-- Dashboard Tabs -->
<div class="dashboard-tabs">
<button class="dashboard-tab active" data-tab="stats">
<i data-lucide="bar-chart-3" style="width:14px;height:14px"></i> Statistiques
<i data-lucide="bar-chart-3" style="width:14px;height:14px"></i> ${t('dashboard.stats')}
</button>
<button class="dashboard-tab" data-tab="bookmarks">
<i data-lucide="bookmark" style="width:14px;height:14px"></i> Bookmarks
<i data-lucide="bookmark" style="width:14px;height:14px"></i> ${t('dashboard.bookmarks')}
</button>
<button class="dashboard-tab" data-tab="recent">
<i data-lucide="clock" style="width:14px;height:14px"></i> Récents
<i data-lucide="clock" style="width:14px;height:14px"></i> ${t('dashboard.tab_recent')}
</button>
<button class="dashboard-tab" data-tab="shared">
<i data-lucide="share-2" style="width:14px;height:14px"></i> Partagés
<i data-lucide="share-2" style="width:14px;height:14px"></i> ${t('dashboard.tab_shared')}
</button>
</div>
<!-- Stats Panel -->
<div id="dashboard-panel-stats" class="dashboard-panel active">
<div id="dashboard-stats-grid" class="dashboard-stats-grid">
<div class="dashboard-stats-loading">Chargement...</div>
<div class="dashboard-stats-loading">${t('common.loading')}</div>
</div>
<div id="dashboard-conflicts-container" style="margin-top:16px"></div>
</div>
@@ -959,8 +959,8 @@ export function showWelcome() {
<div id="dashboard-bookmarks-grid" class="dashboard-recent-grid"></div>
<div id="dashboard-bookmarks-empty" class="dashboard-recent-empty">
<i data-lucide="pin"></i>
<span>Aucun bookmark</span>
<p>Épinglez des fichiers pour les retrouver ici.</p>
<span>${t('dashboard.no_bookmarks')}</span>
<p>${t('dashboard.pin_hint')}</p>
</div>
</div>
@@ -978,8 +978,8 @@ export function showWelcome() {
</div>
<div id="dashboard-recent-empty" class="dashboard-recent-empty hidden">
<i data-lucide="inbox"></i>
<span>Aucun fichier récent</span>
<p>Ouvrez un fichier pour le voir apparaître ici</p>
<span>${t('dashboard.no_recent')}</span>
<p>${t('dashboard.recent_hint')}</p>
</div>
</div>
@@ -988,8 +988,8 @@ export function showWelcome() {
<div id="dashboard-shared-grid" class="dashboard-recent-grid"></div>
<div id="dashboard-shared-empty" class="dashboard-recent-empty">
<i data-lucide="share-2"></i>
<span>Aucun document partagé</span>
<p>Partagez un document pour le voir apparaître ici</p>
<span>${t('dashboard.no_shares')}</span>
<p>${t('dashboard.shared_hint')}</p>
</div>
</div>
</div>`;
+62 -1
View File
@@ -598,5 +598,66 @@
"tree.vault_home": "Vault home",
"toc.title": "ON THIS PAGE",
"toc.hide_panel": "Hide panel",
"toc.no_headings": "No headings in this document"
"toc.no_headings": "No headings in this document",
"dashboard.tab_stats": "Statistics",
"dashboard.tab_recent": "Recent",
"dashboard.tab_shared": "Shared",
"dashboard.pin_hint": "Pin files to find them here.",
"dashboard.recent_hint": "Open a file to see it appear here",
"dashboard.shared_hint": "Share a document to see it appear here",
"dashboard.quick_help": "Quick Help",
"dashboard.ctrl_hover_tip": "Hover over a document with Ctrl for a quick preview. Click Forge in the toolbar for the advanced editor.",
"settings.search": "Search",
"settings.backend": "Backend",
"settings.sync": "Sync",
"settings.diagnostics": "Diagnostics",
"settings.ai": "AI",
"settings.profile": "Profile",
"settings.about": "About",
"settings.themes": "Themes",
"settings.search_placeholder": "Search...",
"settings.client_label": "These settings apply immediately on the client side.",
"settings.history_section": "Recent History",
"settings.backend_section": "Backend Settings",
"settings.backend_hint": "These settings are saved on the server. Some require a restart or reindexing.",
"settings.no_restart_badge": "No restart needed",
"settings.restart_badge": "Restart required",
"settings.history_count_label": "Files in history",
"settings.history_count_desc": "Between 5 and 100 files (saved on server)",
"settings.save": "Save",
"settings.reindex": "Force reindex",
"help.nav_intro": "Introduction",
"help.nav_interface": "Interface",
"help.nav_navigation": "Navigation",
"help.nav_tabs": "Tabs",
"help.nav_search": "Search",
"help.nav_tags": "Tags",
"help.nav_files": "Files",
"help.nav_editing": "Editing",
"help.nav_graph": "Graph",
"help.nav_ai": "AI Editor",
"help.nav_palette": "Palette",
"help.nav_shortcuts": "Shortcuts",
"help.nav_sharing": "Sharing",
"help.nav_webhooks": "Webhooks",
"help.nav_backups": "Backups",
"help.nav_security": "Security",
"help.nav_customization": "Customization",
"help.nav_tips": "Tips",
"help.search_placeholder": "Search help...",
"help.toc_title": "CONTENTS",
"help.welcome_title": "Welcome to ObsiGate",
"help.welcome_desc": "ObsiGate is your web gateway to your Obsidian vaults. Access, browse, and search all your notes from any device via a modern and responsive interface.",
"help.welcome_tag1": "⚡ Fast navigation",
"help.welcome_tag2": "📁 Multi-vault",
"help.welcome_tag3": "🏷️ Smart tags",
"help.welcome_tag4": "📖 Reading & editing",
"help.welcome_tag5": "🔍 TF-IDF search",
"about.subtitle": "Your Obsidian notes, simply accessible.",
"about.built_with": "BUILT WITH",
"about.last_delivery": "Last delivery",
"about.fun_quote": "\"No LLM was harmed during this development.\"",
"about.footer": "Made with ☕, 🍕 and a few accidental git push --force.",
"header.menu_theme": "Theme",
"header.menu_theme_light": "Light"
}
+62 -1
View File
@@ -598,5 +598,66 @@
"tree.vault_home": "Accueil du vault",
"toc.title": "SUR CETTE PAGE",
"toc.hide_panel": "Masquer le panneau",
"toc.no_headings": "Aucun titre dans ce document"
"toc.no_headings": "Aucun titre dans ce document",
"dashboard.tab_stats": "Statistiques",
"dashboard.tab_recent": "Récents",
"dashboard.tab_shared": "Partagés",
"dashboard.pin_hint": "Épinglez des fichiers pour les retrouver ici.",
"dashboard.recent_hint": "Ouvrez un fichier pour le voir apparaître ici",
"dashboard.shared_hint": "Partagez un document pour le voir apparaître ici",
"dashboard.quick_help": "Raccourcis & Astuces",
"dashboard.ctrl_hover_tip": "Survolez un document avec Ctrl pour un aperçu rapide. Cliquez sur Forge dans la barre d'outils pour l'éditeur avancé.",
"settings.search": "Recherche",
"settings.backend": "Backend",
"settings.sync": "Synchronisation",
"settings.diagnostics": "Diagnostics",
"settings.ai": "IA",
"settings.profile": "Profil",
"settings.about": "À propos",
"settings.themes": "Thèmes",
"settings.search_placeholder": "Rechercher...",
"settings.client_label": "Ces paramètres s'appliquent immédiatement côté client.",
"settings.history_section": "Historique récent",
"settings.backend_section": "Paramètres backend",
"settings.backend_hint": "Ces paramètres sont sauvegardés sur le serveur. Certains nécessitent un redémarrage ou une réindexation.",
"settings.no_restart_badge": "Redémarrage non requis",
"settings.restart_badge": "Redémarrage requis",
"settings.history_count_label": "Nombre de fichiers dans l'historique",
"settings.history_count_desc": "Entre 5 et 100 fichiers (sauvegarde sur le serveur)",
"settings.save": "Sauvegarder",
"settings.reindex": "Forcer réindexation",
"help.nav_intro": "Introduction",
"help.nav_interface": "Interface",
"help.nav_navigation": "Navigation",
"help.nav_tabs": "Onglets",
"help.nav_search": "Recherche",
"help.nav_tags": "Tags",
"help.nav_files": "Fichiers",
"help.nav_editing": "Édition",
"help.nav_graph": "Graphe",
"help.nav_ai": "IA Éditeur",
"help.nav_palette": "Palette",
"help.nav_shortcuts": "Raccourcis",
"help.nav_sharing": "Partage",
"help.nav_webhooks": "Webhooks",
"help.nav_backups": "Sauvegardes",
"help.nav_security": "Sécurité",
"help.nav_customization": "Personnalisation",
"help.nav_tips": "Astuces",
"help.search_placeholder": "Rechercher dans l'aide...",
"help.toc_title": "SOMMAIRE",
"help.welcome_title": "Bienvenue dans ObsiGate",
"help.welcome_desc": "ObsiGate est votre porte d'entrée web vers vos vaults Obsidian. Accédez, naviguez et recherchez dans toutes vos notes depuis n'importe quel appareil via une interface moderne et responsive.",
"help.welcome_tag1": "⚡ Navigation rapide",
"help.welcome_tag2": "📁 Multi-vault",
"help.welcome_tag3": "🏷️ Tags intelligents",
"help.welcome_tag4": "📖 Lecture et édition",
"help.welcome_tag5": "🔍 Recherche TF-IDF",
"about.subtitle": "Vos notes Obsidian, simplement accessibles.",
"about.built_with": "CONSTRUIT AVEC",
"about.last_delivery": "Dernière livraison",
"about.fun_quote": "« Aucun LLM n'a été blessé durant ce développement. »",
"about.footer": "Fait avec ☕, 🍕 et quelques git push --force accidentels.",
"header.menu_theme": "Thème",
"header.menu_theme_light": "Clair"
}