From 428730357516e2ce90cddb2e6181b60d6df73da8 Mon Sep 17 00:00:00 2001 From: Bruno Charest Date: Fri, 19 Jun 2026 08:58:03 -0400 Subject: [PATCH] i18n: English translations for all 72 remaining help section keys - Palette, Shortcuts, Sharing, Webhooks, Backups, Security, Tips - All auto-generated help.desc_* keys now have proper EN text - 0 placeholder [EN] keys remaining - en.json: 1162 keys, all translated --- frontend/locales/en.json | 160 +++++++++++++++++++-------------------- 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/frontend/locales/en.json b/frontend/locales/en.json index a15e505..2709483 100644 --- a/frontend/locales/en.json +++ b/frontend/locales/en.json @@ -1073,95 +1073,95 @@ "help.desc_b5f89b3b": "ObsiGate integrates an AI assistant directly into the text editor. To activate it, configure at least one AI provider in the .env 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: Saved or Saving….", - "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_555e0305": "Pour changer de provider par défaut : AI_DEFAULT_PROVIDER=openrouter", + "help.desc_13d90039": "ObsiGate generates a shareable, read-only link.", + "help.desc_a9c2c520": "Webhooks automatically notify external services when files or directories change. Configure a URL to receive HTTP POST requests.", + "help.desc_39e97b2f": "Note: the file_modified event is reserved for future use and is not currently emitted.", + "help.desc_56760d7f": "Each webhook receives a POST with a JSON body containing the event type, vault, path, and a timestamp.", + "help.desc_c1f72521": "Edit config.yaml to customize behavior", + "help.desc_3db2812f": "X-ObsiGate-Signature: sha256=9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08 Pour vérifier côté récepteur : calculez HMAC-SHA256(corps_brut, secret) et comparez. Le header X-ObsiGate-Event contient aussi le type d'événement pour un routage rapide.", + "help.desc_b6169f2e": "Each webhook receives a POST with event details", + "help.desc_3da1896a": "Each webhook receives a POST with event details", + "help.desc_6d68fbc9": "Create markdown file: Create a new .md file", + "help.desc_fc9391f3": "ObsiGate sends an HTTP POST to your webhook URL with event details.", + "help.desc_eebf177f": "ObsiGate v1.7.0 - Porte d'entrée web pour vos vaults Obsidian", + "help.desc_188bc423": "Pour plus d'informations, consultez le dépôt du projet.", "help.desc_f53badcd": "Add your API key in .env:", "help.desc_ba4578ae": "Restart the container:", "help.desc_e0525213": "Inline completion (Ctrl+J). 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_11cf9e8a": "Éditer ▾ — Menu de modification du texte sélectionné : 🪄 Improve writing : Améliore la qualité, la clarté et le flux du texte", + "help.desc_a6cb3b26": "🔤 Fix spelling & grammar : Corrige les fautes d'orthographe et de grammaire", + "help.desc_5a53de53": "📏 Make shorter : Rend le texte plus concis tout en préservant l'information", + "help.desc_e36f3eaa": "📐 Make longer : Ajoute des détails, exemples ou explications", "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_47e1e10f": "Générer ▾ — Génère du contenu à partir de la sélection : ℹ️ Explain this : Explique le texte sélectionné de façon claire", "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_f2d4e369": "✏️ Continue writing : Continue l'écriture à partir du texte", + "help.desc_aec0ad2c": "💬 Réécrire — Réécrit le texte selon vos instructions personnalisées. Une boîte de dialogue vous demande votre instruction.", + "help.desc_d9e8ab0b": "🧰 Boîte ▾ — Outils de conversion : 📋 Convert to list : Transforme le texte en liste Markdown", "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" + "help.desc_7ff2fa21": "Pendant une requête AI, un toast ⏳ AI: traitement en cours... s'affiche", + "help.desc_a13f7f2c": "Une fois terminé, AI: texte traité ✓ confirme le succès", + "help.desc_32e3d66d": "En cas d'erreur de clé API : AI: clé API invalide", + "help.desc_7e86626c": "ObsiGate generates a shareable, read-only link. Anyone with the link can view the file content.", + "help.desc_985d759b": "Token unique : 64 caractères hexadécimaux, impossible à deviner", + "help.desc_ec5f7a26": "Edit config.yaml to customize behavior", + "help.desc_071da87a": "Lecture seule : La vue publique n'affiche que le contenu sans édition", + "help.desc_2c220763": "Edit config.yaml to customize behavior", + "help.desc_cfe362a7": "Export PDF : Téléchargement du document partagé en PDF via/s/{token}/pdf", + "help.desc_2349271d": "Automatisation CI/CD : Déclencher un build quand une note de procédure est mise à jour", + "help.desc_d915c72b": "Synchronisation : Copier les nouveaux fichiers vers un autre système (SharePoint, Google Drive)", + "help.desc_cc8e35ba": "Notifications : Alerter un canal Slack/Discord quand un document est créé", + "help.desc_660051b0": "Audit externe : Logger toutes les modifications dans une base de données externe", + "help.desc_89a8f5de": "Example: publish a blog post when a file is marked publish: true.", + "help.desc_a601f22e": "Each webhook receives a POST with event details", + "help.desc_c992f2e5": "Remplissez : Nom (descriptif), URL (endpoint cible), Secret (optionnel)", + "help.desc_f58da6e1": "Cliquez Ajouter", + "help.desc_6bc48f59": "Each webhook receives a POST with event details", + "help.desc_7819b56f": "Each webhook receives a POST with event details", + "help.desc_7b45490b": "Each webhook receives a POST with event details", + "help.desc_85effb89": "Each webhook receives a POST with event details", + "help.desc_dc4d7186": "Each webhook receives a POST with event details", + "help.desc_d3a71d97": "file_modified n'est pas encore dispatché (réservé pour version future)", + "help.desc_7671e56a": "Avant écriture : Sauvegarde du contenu original dans .obsigate-backup/", + "help.desc_e7e3157a": "Timestamp : Chaque backup est horodaté", + "help.desc_a69804cd": "Répertoire dédié : .obsigate-backup/ dans le répertoire de la vault", + "help.desc_a974f7a6": "Journal : Fichier data/audit.log au format JSON lines", + "help.desc_3c4711b8": "Edit config.yaml to customize behavior", + "help.desc_68c2b170": "Rotation : Rotation automatique à 10 Mo", + "help.desc_7708f226": "ObsiGate uses JWT tokens signed with a secret key defined in the .env file.", + "help.desc_b54c21ef": "Contrôle d'accès par vault : Chaque utilisateur voit uniquement ses vaults", + "help.desc_f952db17": "Refresh tokens : Cookies HttpOnly avec rotation automatique", + "help.desc_1577912b": "Rate limiting : 10 tentatives / 15 min par IP + verrouillage compte", + "help.desc_d646b709": "Compte admin : Créé automatiquement au premier démarrage", + "help.desc_bc08f215": "ObsiGate uses JWT tokens signed with a secret key defined in the .env file.", + "help.desc_7f1d0512": "Path traversal : Validation des chemins contre les attaques ../", + "help.desc_9d0e39d0": "Headers CSP : Content-Security-Policy, X-Frame-Options, XSS-Protection", + "help.desc_1f11691c": "Atomic writes : Écriture via fichier temporaire + renommage atomique", + "help.desc_723ed8db": "Non-root Docker : Conteneur tourne avec UID 1000", + "help.desc_625112fd": "Sélectionnez un contexte : Choisissez un vault pour réduire le bruit", + "help.desc_9186a3a3": "Explorez l'arborescence : Naviguez dans les dossiers", + "help.desc_93902d18": "Utilisez les tags : Filtrez par tags pour affiner", + "help.desc_cdf7bb46": "Recherchez intelligemment : Combinez opérateurs et texte libre", + "help.desc_5396ed9e": "Profitez de l'historique : Réutilisez vos recherches fréquentes", + "help.desc_1a04ae18": "Use the sidebar to navigate between vaults and folders.", + "help.desc_0f9a1e5b": "Use the sidebar to navigate between vaults and folders.", + "help.desc_6902f20d": "Favorisez les opérateurs : tag: et vault: accélèrent la recherche", + "help.desc_664b1d09": "Use the sidebar to navigate between vaults and folders.", + "help.desc_58d2326f": "Use the sidebar to navigate between vaults and folders.", + "help.desc_698d92ec": "Gestion de l'espace : Réduisez les sections Vaults/Tags selon vos besoins", + "help.desc_e6129268": "Use the sidebar to navigate between vaults and folders.", + "help.desc_5374685a": "Mobile-friendly : Utilisez le bouton hamburger sur mobile", + "help.desc_443b76b5": "Wikilinks : Naviguez entre notes comme dans Obsidian", + "help.desc_0739c6a9": "Images : Support complet des syntaxes Obsidian", + "help.desc_87b348c3": "Recherche multi-critères : tag:docker tag:linux vault:IT nginx", + "help.desc_40c92863": "Exploration par tags : Cliquez sur un tag dans une note pour voir toutes les notes similaires", + "help.desc_26f81732": "Édition rapide : Ouvrez l'éditeur, modifiez, sauvegardez", + "help.desc_99c6f0ec": "Share files with a read-only link", + "help.desc_ecf302ae": "Multi-fenêtres : Ouvrez plusieurs notes dans des onglets séparés" }