i18n: add data-i18n to all body text in help-ai through help-astuces
CI / lint (push) Failing after 20s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s

- 94 <p>, <li>, <h3>, <h4> elements now have data-i18n
- AI Editor section: 16 English translations provided
- 251 new keys total across all sections
- Remaining 80 placeholder keys in sharing/webhooks/backups/security/tips
- en.json: 1068 -> 1162, fr.json: 1068 -> 1162
This commit is contained in:
2026-06-19 08:27:47 -04:00
parent 7d3250306a
commit 0b3464aa9e
3 changed files with 284 additions and 96 deletions
+95 -1
View File
@@ -1069,5 +1069,99 @@
"webhook.trigger_create": "Creation via API or palette",
"webhook.trigger_delete": "Deletion via API or editor",
"webhook.trigger_dir_create": "Directory creation via API",
"sidebar.tab_backups": "Backups"
"sidebar.tab_backups": "Backups",
"help.desc_b5f89b3b": "ObsiGate integrates an AI assistant directly into the text editor. To activate it, configure at least one AI provider in the <code>.env</code> file (DeepSeek, OpenRouter, or Gemini).",
"help.desc_803161e5": "The toolbar contains the following buttons:",
"help.desc_19cfa369": "Documents are automatically saved after each modification. A status indicator in the editor header confirms: <strong>Saved</strong> or <strong>Saving…</strong>.",
"help.desc_555e0305": "[EN] Pour changer de provider par défaut :\n AI_DEFAULT",
"help.desc_13d90039": "[EN] ObsiGate permet de partager des documents via un\n ",
"help.desc_a9c2c520": "[EN] Les webhooks permettent à ObsiGate de\n notifier a",
"help.desc_39e97b2f": "[EN] Note : l'événement\n file_modified est réservé",
"help.desc_56760d7f": "[EN] Chaque webhook reçoit un POST avec\n Content-Type:",
"help.desc_c1f72521": "[EN] {\n \"event\": \"file_created\",\n \"timestamp\": \"2026-06-03T14:30:00.123456+00:00\",\n",
"help.desc_3db2812f": "[EN] X-ObsiGate-Signature: sha256=9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15",
"help.desc_b6169f2e": "[EN] Les webhooks se gèrent dans le modal\n Configurati",
"help.desc_3da1896a": "[EN] Les webhooks peuvent être activés/désactivés,\n mo",
"help.desc_6d68fbc9": "[EN] from flask import Flask, request\\nimport hmac, hashlib\\n\\napp = Flask(__name__)\\",
"help.desc_fc9391f3": "[EN] # Exemple avec curl + jq dans un script bash\nWEBHOOK_URL=\"https://discord.com/ap",
"help.desc_eebf177f": "[EN] ObsiGate v1.7.0 - Porte\n d'entrée web pour vos va",
"help.desc_188bc423": "[EN] Pour plus d'informations, consultez le\n dépôt du ",
"help.desc_f53badcd": "Add your API key in <code>.env</code>:",
"help.desc_ba4578ae": "Restart the container:",
"help.desc_e0525213": "Inline completion (<kbd>Ctrl+J</kbd>). Automatically completes the text where the cursor is located.",
"help.desc_11cf9e8a": "[EN] Éditer ▾ — Menu de\n modification du texte sél",
"help.desc_a6cb3b26": "[EN] 🔤\n Fix spelling & grammar\n ",
"help.desc_5a53de53": "[EN] 📏 Make shorter :\n Rend le texte plus ",
"help.desc_e36f3eaa": "[EN] 📐 Make longer :\n Ajoute des détails, ",
"help.desc_3d4e9189": "Simplifies the language for easier reading — replaces complex terms and shortens long sentences.",
"help.desc_5524e921": "Adapts the tone for a formal, business context — suitable for reports, emails, and official documents.",
"help.desc_759926ee": "Relaxed and friendly tone — ideal for informal communication or social media.",
"help.desc_7ab5be50": "Translates the selected text into the target language.",
"help.desc_47e1e10f": "[EN] Générer ▾ — Génère du\n contenu à partir de la",
"help.desc_e5cf90b2": "Creates a concise summary of the selected text — bullet points capturing the essentials.",
"help.desc_f2d4e369": "[EN] ✏️\n Continue writing :\n ",
"help.desc_aec0ad2c": "[EN] 💬 Réécrire — Réécrit le\n texte selon vos inst",
"help.desc_d9e8ab0b": "[EN] 🧰 Boîte ▾ — Outils de\n conversion :\n ",
"help.desc_13d206d4": "Transforms textual data into a readable Markdown table — ideal for comparisons and structured information.",
"help.desc_50a33a05": "Generates YAML frontmatter for the current document (title, date, tags based on content).",
"help.desc_fa126609": "Converts the document structure into an Obsidian Canvas (visual cards).",
"help.desc_7ff2fa21": "[EN] Pendant une requête AI, un toast\n ⏳ AI: trait",
"help.desc_a13f7f2c": "[EN] Une fois terminé,\n AI: texte traité ✓ confirm",
"help.desc_32e3d66d": "[EN] En cas d'erreur de clé API :\n AI: clé API inv",
"help.desc_7e86626c": "[EN] Bouton Partager : Dans les\n actions du fichie",
"help.desc_985d759b": "[EN] Token unique : 64\n caractères hexadécimaux, i",
"help.desc_ec5f7a26": "[EN] Expiration configurable :\n Durée de vie en he",
"help.desc_071da87a": "[EN] Lecture seule : La vue\n publique n'affiche qu",
"help.desc_2c220763": "[EN] Gestion des liens : Liste\n et révocation dans",
"help.desc_cfe362a7": "[EN] Export PDF : Téléchargement\n du document part",
"help.desc_2349271d": "[EN] Automatisation CI/CD :\n Déclencher un build q",
"help.desc_d915c72b": "[EN] Synchronisation : Copier\n les nouveaux fichie",
"help.desc_cc8e35ba": "[EN] Notifications : Alerter un\n canal Slack/Disco",
"help.desc_660051b0": "[EN] Audit externe : Logger\n toutes les modificati",
"help.desc_89a8f5de": "[EN] Déploiement : Publier un\n article de blog qua",
"help.desc_a601f22e": "[EN] Allez dans ⚙️ Configurations → onglet\n Webhoo",
"help.desc_c992f2e5": "[EN] Remplissez :\n Nom (descriptif),\n ",
"help.desc_f58da6e1": "[EN] Cliquez Ajouter",
"help.desc_6bc48f59": "[EN] Créez un\n Webhook Trigger dans n8n ou\n ",
"help.desc_7819b56f": "[EN] Copiez l'URL générée (ex:\n https://n8n.monser",
"help.desc_7b45490b": "[EN] Dans ObsiGate, ajoutez un webhook pointant\n v",
"help.desc_85effb89": "[EN] Timeout de 5 secondes par\n requête — les webh",
"help.desc_dc4d7186": "[EN] Les modifications détectées par le watcher\n f",
"help.desc_d3a71d97": "[EN] file_modified n'est pas encore\n dispatché (ré",
"help.desc_7671e56a": "[EN] Avant écriture : Sauvegarde\n du contenu origi",
"help.desc_e7e3157a": "[EN] Timestamp : Chaque backup\n est horodaté",
"help.desc_a69804cd": "[EN] Répertoire dédié :\n .obsigate-backup/ dans le",
"help.desc_a974f7a6": "[EN] Journal : Fichier\n data/audit.log au format J",
"help.desc_3c4711b8": "[EN] Événements tracés :\n Écritures, suppressions,",
"help.desc_68c2b170": "[EN] Rotation : Rotation\n automatique à 10 Mo",
"help.desc_7708f226": "[EN] JWT + Argon2id : Tokens JWT\n avec mots de pas",
"help.desc_b54c21ef": "[EN] Contrôle d'accès par vault\n : Chaque utilisat",
"help.desc_f952db17": "[EN] Refresh tokens : Cookies\n HttpOnly avec rotat",
"help.desc_1577912b": "[EN] Rate limiting : 10\n tentatives / 15 min par I",
"help.desc_d646b709": "[EN] Compte admin : Créé\n automatiquement au premi",
"help.desc_bc08f215": "[EN] Secret redactor : Masque\n JWT, clés API, toke",
"help.desc_7f1d0512": "[EN] Path traversal : Validation\n des chemins cont",
"help.desc_9d0e39d0": "[EN] Headers CSP :\n Content-Security-Policy, X-Fra",
"help.desc_1f11691c": "[EN] Atomic writes : Écriture\n via fichier tempora",
"help.desc_723ed8db": "[EN] Non-root Docker : Conteneur\n tourne avec UID ",
"help.desc_625112fd": "[EN] Sélectionnez un contexte :\n Choisissez un vau",
"help.desc_9186a3a3": "[EN] Explorez l'arborescence :\n Naviguez dans les ",
"help.desc_93902d18": "[EN] Utilisez les tags : Filtrez\n par tags pour af",
"help.desc_cdf7bb46": "[EN] Recherchez intelligemment :\n Combinez opérate",
"help.desc_5396ed9e": "[EN] Profitez de l'historique :\n Réutilisez vos re",
"help.desc_1a04ae18": "[EN] Masquez la sidebar : Plus\n d'espace pour le c",
"help.desc_0f9a1e5b": "[EN] Utilisez le filtrage sidebar\n : Plus rapide q",
"help.desc_6902f20d": "[EN] Favorisez les opérateurs :\n tag: et\n ",
"help.desc_664b1d09": "[EN] Breadcrumb cliquable :\n Repositionnez rapidem",
"help.desc_58d2326f": "[EN] Navigation visuelle : Le\n breadcrumb repositi",
"help.desc_698d92ec": "[EN] Gestion de l'espace :\n Réduisez les sections ",
"help.desc_e6129268": "[EN] Confort de lecture :\n Ajustez la largeur de l",
"help.desc_5374685a": "[EN] Mobile-friendly : Utilisez\n le bouton hamburg",
"help.desc_443b76b5": "[EN] Wikilinks : Naviguez entre\n notes comme dans ",
"help.desc_0739c6a9": "[EN] Images : Support complet\n des syntaxes Obsidi",
"help.desc_87b348c3": "[EN] Recherche multi-critères :\n tag:docker tag:li",
"help.desc_40c92863": "[EN] Exploration par tags :\n Cliquez sur un tag da",
"help.desc_26f81732": "[EN] Édition rapide : Ouvrez\n l'éditeur, modifiez,",
"help.desc_99c6f0ec": "[EN] Export : Téléchargez des\n fichiers pour backu",
"help.desc_ecf302ae": "[EN] Multi-fenêtres : Ouvrez\n plusieurs notes dans"
}
+95 -1
View File
@@ -1069,5 +1069,99 @@
"webhook.trigger_create": "Création via API ou palette",
"webhook.trigger_delete": "Suppression via API ou éditeur",
"webhook.trigger_dir_create": "Création de dossier via API",
"sidebar.tab_backups": "Sauvegardes"
"sidebar.tab_backups": "Sauvegardes",
"help.desc_b5f89b3b": "ObsiGate intègre un assistant IA directement\n dans l'éditeur de texte. Pour l'activer,\n configurez au moins un provider AI dans le\n fichier .env (DeepSeek, OpenRouter\n ou Gemini).",
"help.desc_803161e5": "La barre d'outils contient les boutons suivants\n :",
"help.desc_19cfa369": "L'éditeur sauvegarde automatiquement après 2\n secondes d'inactivité. Le bouton de sauvegarde\n flashe en vert brièvement pour\n confirmer.",
"help.desc_555e0305": "Pour changer de provider par défaut :\n AI_DEFAULT_PROVIDER=openrouter",
"help.desc_13d90039": "ObsiGate permet de partager des documents via un\n lien public temporaire.",
"help.desc_a9c2c520": "Les webhooks permettent à ObsiGate de\n notifier automatiquement des services\n externes\n lorsque des fichiers ou dossiers sont modifiés.\n Chaque événement déclenche un\n POST HTTP vers l'URL de votre\n choix, avec un payload JSON détaillé.",
"help.desc_39e97b2f": "Note : l'événement\n file_modified est réservé pour\n usage futur. Les modifications de contenu\n via l'éditeur ne déclenchent pas encore de\n webhook.",
"help.desc_56760d7f": "Chaque webhook reçoit un POST avec\n Content-Type: application/json :",
"help.desc_c1f72521": "{\n \"event\": \"file_created\",\n \"timestamp\": \"2026-06-03T14:30:00.123456+00:00\",\n \"data\": {\n \"vault\": \"IT\",\n \"path\": \"procedures/deploiement.md\"\n }\n}\n\n Sécurité : signature HMAC-SHA256\n \n Si vous configurez un secret, chaque requête\n inclut un header\n X-ObsiGate-Signature :",
"help.desc_3db2812f": "X-ObsiGate-Signature: sha256=9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08\n \n Pour vérifier côté récepteur : calculez\n HMAC-SHA256(corps_brut, secret) et\n comparez. Le header\n X-ObsiGate-Event contient aussi le\n type d'événement pour un routage rapide.",
"help.desc_b6169f2e": "Les webhooks se gèrent dans le modal\n Configurations (⚙️ menu\n Options), section Webhooks. Réservé aux\n administrateurs.",
"help.desc_3da1896a": "Les webhooks peuvent être activés/désactivés,\n modifiés ou supprimés à tout moment. Le\n last_fired_at indique la dernière\n exécution.",
"help.desc_6d68fbc9": "from flask import Flask, request\\nimport hmac, hashlib\\n\\napp = Flask(__name__)\\nWEBHOOK_SECRET = \"mon-secret\" # même que dans ObsiGate\\n\\[email protected](\"/webhook\", methods=[\"POST\"])\\ndef webhook():\\n # Vérifier la signature\\n signature = request.headers.get(\"X-ObsiGate-Signature\", \"\")\\n body = request.get_data()\\n expected = \"sha256=\" + hmac.new(\\n WEBHOOK_SECRET.encode(), body, hashlib.sha256\\n ).hexdigest()\\n if not hmac.compare_digest(signature, expected):\\n return \"Invalid signature\", 403\\n\\n payload = request.get_json()\\n print(f\"Événement: {payload['event']}\")\\n print(f\"Fichier: {payload['data']['vault']}/{payload['data']['path']}\")\\n return \"OK\", 200\\n\\napp.run(port=5000)\n\n n8n / Make (no-code)\n \n \n Créez un\n Webhook Trigger dans n8n ou\n Make\n \n \n Copiez l'URL générée (ex:\n https://n8n.monserveur.com/webhook/abc123)\n \n \n Dans ObsiGate, ajoutez un webhook pointant\n vers cette URL\n \n Sélectionnez les événements souhaités\n \n Le workflow se déclenche automatiquement à\n chaque événement\n \n \n\n Notification Discord\n \n Utilisez un webhook relais (n8n, Make, ou un\n script) pour transformer le payload ObsiGate en\n message Discord :",
"help.desc_fc9391f3": "# Exemple avec curl + jq dans un script bash\nWEBHOOK_URL=\"https://discord.com/api/webhooks/...\"\nOBSIGATE_SECRET=\"mon-secret\"\n\n# Lire le payload depuis stdin\nread -r payload\nevent=$(echo \"$payload\" | jq -r '.event')\npath=$(echo \"$payload\" | jq -r '.data.path')\n\ncurl -H \"Content-Type: application/json\" -d \"{\n \\\"content\\\": \\\"📝 **$event** — $path\\\"\n}\" \"$WEBHOOK_URL\"\n\n Tester avec curl\n # Simuler ce qu'ObsiGate envoie (pour tester votre endpoint)\ncurl -X POST https://votre-serveur.com/webhook \\\n -H \"Content-Type: application/json\" \\\n -H \"X-ObsiGate-Event: file_created\" \\\n -H \"X-ObsiGate-Signature: sha256=$(echo -n '{\"event\":\"file_created\",...}' | openssl dgst -sha256 -hmac 'mon-secret' | cut -d' ' -f2)\" \\\n -d '{\"event\":\"file_created\",\"timestamp\":\"2026-06-03T14:30:00Z\",\"data\":{\"vault\":\"IT\",\"path\":\"notes/test.md\"}}'\n\n Limitations actuelles\n \n \n Timeout de 5 secondes par\n requête — les webhooks sont \"fire and\n forget\" (pas de retry)\n \n \n Les modifications détectées par le watcher\n filesystem (watchdog)\n ne déclenchent pas de\n webhooks — seules les opérations via l'API\n REST sont prises en compte\n \n \n file_modified n'est pas encore\n dispatché (réservé pour version future)\n \n Pas de retry automatique en cas d'échec\n \n Pas de filtrage par vault — un webhook\n écoute toutes les vaults\n \n \n \n \n 💾 Sauvegardes et Audits\n\n Backup automatique\n \n ObsiGate crée automatiquement des sauvegardes\n avant chaque modification destructive.",
"help.desc_eebf177f": "ObsiGate v1.7.0 - Porte\n d'entrée web pour vos vaults Obsidian",
"help.desc_188bc423": "Pour plus d'informations, consultez le\n dépôt du projet.",
"help.desc_f53badcd": "Ajoutez votre clé API dans\n .env :\n DEEPSEEK_API_KEY=sk-...",
"help.desc_ba4578ae": "Redémarrez le conteneur :\n docker compose down && docker compose\n up -d --build",
"help.desc_e0525213": "✦ AI — Complétion inline\n (Ctrl+J). Complète\n automatiquement le texte là où se trouve le\n curseur.",
"help.desc_11cf9e8a": "Éditer ▾ — Menu de\n modification du texte sélectionné :\n \n 🪄\n Improve writing :\n Améliore la qualité, la clarté et le\n flux du texte",
"help.desc_a6cb3b26": "🔤\n Fix spelling & grammar\n : Corrige les fautes d'orthographe\n et de grammaire",
"help.desc_5a53de53": "📏 Make shorter :\n Rend le texte plus concis tout en\n préservant l'information",
"help.desc_e36f3eaa": "📐 Make longer :\n Ajoute des détails, exemples ou\n explications",
"help.desc_3d4e9189": "📋\n Simplify language :\n Simplifie le langage, évite le\n jargon",
"help.desc_5524e921": "Ton ▾ — Change le ton du\n texte :\n \n \n 💼 Professional :\n Ton formel et professionnel",
"help.desc_759926ee": "💬 Casual : Ton\n décontracté et conversationnel",
"help.desc_7ab5be50": "Traduire ▾ — Traduit le\n texte sélectionné vers une autre langue :\n \n 🇬🇧 English · 🇨🇳 Chinese · 🇯🇵\n Japanese · 🇩🇪 German · 🇫🇷 French ·\n 🇪🇸 Spanish",
"help.desc_47e1e10f": "Générer ▾ — Génère du\n contenu à partir de la sélection :\n \n ℹ️ Explain this :\n Explique le texte sélectionné de\n façon claire",
"help.desc_e5cf90b2": "📝 Summarize :\n Résume le texte de façon concise",
"help.desc_f2d4e369": "✏️\n Continue writing :\n Continue l'écriture à partir du\n texte",
"help.desc_aec0ad2c": "💬 Réécrire — Réécrit le\n texte selon vos instructions personnalisées.\n Une boîte de dialogue vous demande votre\n instruction.",
"help.desc_d9e8ab0b": "🧰 Boîte ▾ — Outils de\n conversion :\n \n \n 📋\n Convert to list :\n Transforme le texte en liste\n Markdown",
"help.desc_13d206d4": "📊\n Convert to table :\n Transforme en tableau Markdown",
"help.desc_50a33a05": "⚙️\n Generate frontmatter\n : Génère un bloc YAML frontmatter",
"help.desc_fa126609": "🔷\n Convert to canvas :\n Convertit en diagramme Mermaid.js",
"help.desc_7ff2fa21": "Pendant une requête AI, un toast\n ⏳ AI: traitement en cours...\n s'affiche",
"help.desc_a13f7f2c": "Une fois terminé,\n AI: texte traité ✓ confirme\n le succès",
"help.desc_32e3d66d": "En cas d'erreur de clé API :\n AI: clé API invalide",
"help.desc_7e86626c": "Bouton Partager : Dans les\n actions du fichier, génère un lien unique",
"help.desc_985d759b": "Token unique : 64\n caractères hexadécimaux, impossible à\n deviner",
"help.desc_ec5f7a26": "Expiration configurable :\n Durée de vie en heures",
"help.desc_071da87a": "Lecture seule : La vue\n publique n'affiche que le contenu sans\n édition",
"help.desc_2c220763": "Gestion des liens : Liste\n et révocation dans les Configurations",
"help.desc_cfe362a7": "Export PDF : Téléchargement\n du document partagé en PDF via/s/{token}/pdf",
"help.desc_2349271d": "Automatisation CI/CD :\n Déclencher un build quand une note de\n procédure est mise à jour",
"help.desc_d915c72b": "Synchronisation : Copier\n les nouveaux fichiers vers un autre système\n (SharePoint, Google Drive)",
"help.desc_cc8e35ba": "Notifications : Alerter un\n canal Slack/Discord quand un document est\n créé",
"help.desc_660051b0": "Audit externe : Logger\n toutes les modifications dans une base de\n données externe",
"help.desc_89a8f5de": "Déploiement : Publier un\n article de blog quand un fichier est marquépublish: true",
"help.desc_a601f22e": "Allez dans ⚙️ Configurations → onglet\n Webhooks",
"help.desc_c992f2e5": "Remplissez :\n Nom (descriptif),\n URL (endpoint cible),\n Secret (optionnel)",
"help.desc_f58da6e1": "Cliquez Ajouter",
"help.desc_6bc48f59": "Créez un\n Webhook Trigger dans n8n ou\n Make",
"help.desc_7819b56f": "Copiez l'URL générée (ex:\n https://n8n.monserveur.com/webhook/abc123)",
"help.desc_7b45490b": "Dans ObsiGate, ajoutez un webhook pointant\n vers cette URL",
"help.desc_85effb89": "Timeout de 5 secondes par\n requête — les webhooks sont \"fire and\n forget\" (pas de retry)",
"help.desc_dc4d7186": "Les modifications détectées par le watcher\n filesystem (watchdog)\n ne déclenchent pas de\n webhooks — seules les opérations via l'API\n REST sont prises en compte",
"help.desc_d3a71d97": "file_modified n'est pas encore\n dispatché (réservé pour version future)",
"help.desc_7671e56a": "Avant écriture : Sauvegarde\n du contenu original dans\n .obsigate-backup/",
"help.desc_e7e3157a": "Timestamp : Chaque backup\n est horodaté",
"help.desc_a69804cd": "Répertoire dédié :\n .obsigate-backup/ dans le\n répertoire de la vault",
"help.desc_a974f7a6": "Journal : Fichier\n data/audit.log au format JSON\n lines",
"help.desc_3c4711b8": "Événements tracés :\n Écritures, suppressions, changements de\n configuration",
"help.desc_68c2b170": "Rotation : Rotation\n automatique à 10 Mo",
"help.desc_7708f226": "JWT + Argon2id : Tokens JWT\n avec mots de passe hachés Argon2id",
"help.desc_b54c21ef": "Contrôle d'accès par vault\n : Chaque utilisateur voit uniquement ses\n vaults",
"help.desc_f952db17": "Refresh tokens : Cookies\n HttpOnly avec rotation automatique",
"help.desc_1577912b": "Rate limiting : 10\n tentatives / 15 min par IP + verrouillage\n compte",
"help.desc_d646b709": "Compte admin : Créé\n automatiquement au premier démarrage",
"help.desc_bc08f215": "Secret redactor : Masque\n JWT, clés API, tokens GitHub dans les\n aperçus",
"help.desc_7f1d0512": "Path traversal : Validation\n des chemins contre les attaques\n ../",
"help.desc_9d0e39d0": "Headers CSP :\n Content-Security-Policy, X-Frame-Options,\n XSS-Protection",
"help.desc_1f11691c": "Atomic writes : Écriture\n via fichier temporaire + renommage atomique",
"help.desc_723ed8db": "Non-root Docker : Conteneur\n tourne avec UID 1000",
"help.desc_625112fd": "Sélectionnez un contexte :\n Choisissez un vault pour réduire le bruit",
"help.desc_9186a3a3": "Explorez l'arborescence :\n Naviguez dans les dossiers",
"help.desc_93902d18": "Utilisez les tags : Filtrez\n par tags pour affiner",
"help.desc_cdf7bb46": "Recherchez intelligemment :\n Combinez opérateurs et texte libre",
"help.desc_5396ed9e": "Profitez de l'historique :\n Réutilisez vos recherches fréquentes",
"help.desc_1a04ae18": "Masquez la sidebar : Plus\n d'espace pour le contenu",
"help.desc_0f9a1e5b": "Utilisez le filtrage sidebar\n : Plus rapide que la recherche globale pour\n trouver un fichier",
"help.desc_6902f20d": "Favorisez les opérateurs :\n tag: et\n vault: accélèrent la recherche",
"help.desc_664b1d09": "Breadcrumb cliquable :\n Repositionnez rapidement la sidebar",
"help.desc_58d2326f": "Navigation visuelle : Le\n breadcrumb repositionne automatiquement la\n sidebar",
"help.desc_698d92ec": "Gestion de l'espace :\n Réduisez les sections Vaults/Tags selon vos\n besoins",
"help.desc_e6129268": "Confort de lecture :\n Ajustez la largeur de la sidebar",
"help.desc_5374685a": "Mobile-friendly : Utilisez\n le bouton hamburger sur mobile",
"help.desc_443b76b5": "Wikilinks : Naviguez entre\n notes comme dans Obsidian",
"help.desc_0739c6a9": "Images : Support complet\n des syntaxes Obsidian",
"help.desc_87b348c3": "Recherche multi-critères :\n tag:docker tag:linux vault:IT\n nginx",
"help.desc_40c92863": "Exploration par tags :\n Cliquez sur un tag dans une note pour voir\n toutes les notes similaires",
"help.desc_26f81732": "Édition rapide : Ouvrez\n l'éditeur, modifiez, sauvegardez",
"help.desc_99c6f0ec": "Export : Téléchargez des\n fichiers pour backup ou partage",
"help.desc_ecf302ae": "Multi-fenêtres : Ouvrez\n plusieurs notes dans des onglets séparés"
}