diff --git a/_all_li.py b/_all_li.py
new file mode 100644
index 0000000..21cc68a
--- /dev/null
+++ b/_all_li.py
@@ -0,0 +1,168 @@
+"""Wrap ALL
French descriptions after in data-i18n spans across entire help guide."""
+import re, json, hashlib
+
+with open('frontend/index.html', 'r', encoding='utf-8') as f:
+ html = f.read()
+
+with open('frontend/locales/fr.json', 'r', encoding='utf-8') as f: fr = json.load(f)
+with open('frontend/locales/en.json', 'r', encoding='utf-8') as f: en = json.load(f)
+
+# Find help body boundaries
+start = html.find('id="help-modal"')
+depth = 0
+pos = start
+while pos < len(html):
+ no = html.find('', pos+1)
+ if nc == -1: break
+ if no != -1 and no < nc: depth += 1; pos = no
+ else:
+ if depth == 0: end = nc + 6; break
+ depth -= 1; pos = nc
+
+help_body = html[start:end]
+count = 0
+
+# ── Find ALL patterns:
TERM FOLLOWED_BY FRENCH_TEXT ──
+# Pattern 1: TERM : French text\n
+# Pattern 2: TERM\n : French text\n
+# Pattern 3: TERM (context) : French text\n
+
+# First, find all blocks and extract + trailing text
+li_pattern = re.compile(
+ r'(\s*(]*>[^<]+)\s*'
+ r'(:?\s*(?:\([^)]+\)\s*:?\s*)?' # optional (context) :
+ r')([^<]{3,300})' # French description (until next <)
+ , re.DOTALL)
+
+translations = {}
+to_fix = []
+
+for m in re.finditer(r'\s*(]*>[^<]+)\s*(:?\s*(?:\([^)]+\)\s*:?\s*)?)([^<]{3,300})', help_body):
+ strong_tag = m.group(1)
+ connector = m.group(2) # e.g. " : " or " (desktop) : " or just " "
+ desc = m.group(3).strip()
+
+ # Skip if already wrapped in span
+ full_match = m.group(0)
+ if '{connector}{desc}'
+ if old in html:
+ html = html.replace(old, new)
+ count += 1
+
+print(f"Applied {count} fixes")
+
+# ── Translate all new keys ──
+en_translations = {
+ 'Recherche globale avec autocomplétion': 'Global search with autocomplete',
+ 'Affiche le contexte actif (All, vault1, etc.)': 'Shows the active context (All, vault1, etc.)',
+ 'Accès aux paramètres, thème, aide': 'Access to settings, theme, help',
+ 'Arborescence des fichiers et dossiers': 'File and folder tree',
+ 'Nuage de tags cliquables': 'Clickable tag cloud',
+ 'Barre de recherche pour filtrer fichiers/tags': 'Search bar to filter files/tags',
+ 'Dropdown pour changer de vault': 'Dropdown to change vault',
+ 'Glissez le bord droit pour ajuster la largeur': 'Drag the right edge to adjust width',
+ "Cliquez sur l'icône sidebar dans le header": 'Click the sidebar icon in the header',
+ 'Chemin du fichier (cliquable pour repositionner la sidebar)': 'File path (clickable to reposition sidebar)',
+ 'Métadonnées du fichier': 'File metadata',
+ 'Copier, Source, Télécharger, Éditer, Ouvrir dans nouvelle fenêtre': 'Copy, Source, Download, Edit, Open in new window',
+ 'Markdown avec wikilinks et images': 'Markdown with wikilinks and images',
+ 'Affiche/masque la sidebar': 'Show/hide the sidebar',
+ 'Masque la sidebar pour plus d\'espace': 'Hide the sidebar for more space',
+ "Retour à l'accueil": 'Return to home',
+ 'Recherche globale avec autocomplétion': 'Global search with autocomplete',
+ 'Complète automatiquement le texte là où se trouve le curseur': 'Automatically completes text where the cursor is',
+ "Améliore la qualité, la clarté et le flux du texte": 'Improves quality, clarity and flow of the text',
+ "Corrige les fautes d'orthographe et de grammaire": 'Fixes spelling and grammar errors',
+ "Rend le texte plus concis tout en préservant l'information": 'Makes text more concise while preserving information',
+ 'Ajoute des détails, exemples ou explications': 'Adds details, examples or explanations',
+ 'Simplifie le langage, évite le jargon': 'Simplifies language, avoids jargon',
+ "Réécrit le texte selon vos instructions personnalisées": 'Rewrites the text according to your custom instructions',
+ 'Explique le texte sélectionné de façon claire': 'Clearly explains the selected text',
+ 'Résume le texte de façon concise': 'Concisely summarizes the text',
+ "Continue l'écriture à partir du texte": 'Continues writing from the text',
+ 'Ton formel et professionnel': 'Formal and professional tone',
+ 'Ton décontracté et conversationnel': 'Casual and conversational tone',
+ 'Traduit le texte sélectionné vers une autre langue': 'Translates the selected text to another language',
+ 'Génère du contenu à partir de la sélection': 'Generates content from the selection',
+ 'Fichiers (carrés) et dossiers (cercles) avec icônes': 'Files (squares) and folders (circles) with icons',
+ 'Molette pour zoomer, cliquer-glisser pour se déplacer': 'Scroll wheel to zoom, click-drag to move',
+ 'Votre choix est sauvegardé en localStorage': 'Your choice is saved in localStorage',
+ "Dans la barre d'outils (le cas échéant)": 'In the toolbar (when available)',
+ "Les blocs de code s'adaptent au thème": 'Code blocks adapt to the theme',
+ 'Les 50 dernières recherches (localStorage)': 'The 50 most recent searches (localStorage)',
+ 'Restent ouverts jusqu\'à fermeture manuelle': 'Stay open until manually closed',
+ 'Les tags s\'adaptent au vault sélectionné': 'Tags adapt to the selected vault',
+ 'Stats index, mémoire, moteur de recherche': 'Index stats, memory, search engine',
+ 'Délai debounce, résultats par page, timeout': 'Debounce delay, results per page, timeout',
+ 'Workers, boosts TF-IDF, expansions préfixe': 'Workers, TF-IDF boosts, prefix expansions',
+ 'Patterns pour masquer les tags template': 'Patterns to hide template tags',
+ 'Forcer un rescan des vaults': 'Force a vault rescan',
+ '↑/↓ pour naviguer, Enter pour sélectionner': '↑/↓ to navigate, Enter to select',
+ 'Chaque type de fichier a son icône (markdown, code, etc.)': 'Each file type has its icon (markdown, code, etc.)',
+ 'Un onglet temporaire (italique) est remplacé': 'A temporary tab (italic) is replaced',
+ 'L\'onglet "Récent" dans la sidebar liste vos': 'The "Recent" tab in the sidebar lists your',
+ 'Ouvre le fichier dans un onglet temporaire (aperçu,': 'Opens the file in a temporary tab (preview,',
+ 'Complétion, réécriture, traduction (voir': 'Completion, rewrite, translation (see',
+ 'Résultats classés par pertinence TF-IDF': 'Results ranked by TF-IDF relevance',
+ 'Auto-save silencieux après 2s d\'inactivité': 'Silent auto-save after 2s of inactivity',
+ 'Contrôle la profondeur d\'exploration (0-3)': 'Controls exploration depth (0-3)',
+ "N'affiche que les nœuds avec un tag spécifique": 'Only shows nodes with a specific tag',
+ 'Métadonnées du nœud (tags, liens, chemin)': 'Node metadata (tags, links, path)',
+ 'Aperçu du contenu de la note sans naviguer': 'Preview of note content without navigating',
+ 'Navigation facilitée dans les fichiers longs': 'Easier navigation in long files',
+ 'Bouton "×" pour réinitialiser le filtre': '"×" button to reset the filter',
+ 'Sélection rapide en haut de l\'onglet Vault': 'Quick select at the top of the Vault tab',
+ 'Affichage horizontal avec le nom du fichier': 'Horizontal display with the file name',
+}
+
+for k, v in fr.items():
+ if k.startswith('help.desc_') and en.get(k) == v:
+ if v in en_translations:
+ en[k] = en_translations[v]
+
+# Also try to match substrings
+for k, v in fr.items():
+ if k.startswith('help.desc_') and en.get(k) == v:
+ for fr_t, en_t in en_translations.items():
+ if fr_t in v and len(fr_t) > 15:
+ en[k] = v.replace(fr_t, en_t)
+ break
+
+with open('frontend/index.html', 'w', encoding='utf-8') as f: f.write(html)
+with open('frontend/locales/fr.json', 'w', encoding='utf-8') as f: json.dump(fr, f, ensure_ascii=False, indent=2)
+with open('frontend/locales/en.json', 'w', encoding='utf-8') as f: json.dump(en, f, ensure_ascii=False, indent=2)
+
+total = len(re.findall(r'data-i18n(?:-[a-z]+)?="', html))
+print(f'Total tags: {total}, Keys: {len(fr)}')
+still_fr = sum(1 for k in en if k.startswith('help.desc_') and en[k] == fr.get(k, ''))
+print(f'Untranslated help.desc: {still_fr}')
diff --git a/frontend/index.html b/frontend/index.html
index 264ce35..455d2ed 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -2839,9 +2839,8 @@
sur le nom du fichier
- Icônes : Chaque type de
- fichier a son icône (markdown, code, etc.)
-
+ Icônes : Chaque type de
+ fichier a son icône (markdown, code, etc.)
Filtrage de la sidebar
@@ -2859,9 +2858,8 @@
"Aa" pour respecter la casse
- Effacer : Bouton "×" pour
- réinitialiser le filtre
-
+ Effacer : Bouton "×" pour
+ réinitialiser le filtre
Résultats groupés :
Affichage par vault avec chemins complets
@@ -2898,9 +2896,8 @@
"Vault" dans le menu Options
- Sidebar dropdown :
- Sélection rapide en haut de l'onglet Vaults
-
+ Sidebar dropdown :
+ Sélection rapide en haut de l'onglet Vaults
Tous les vaults : Vue
globale de tous vos contenus
@@ -2922,19 +2919,17 @@
Ouverture d'onglets
-
- Simple clic : Ouvre le
+ Simple clic : Ouvre le
fichier dans un onglet temporaire (aperçu,
- italique)
-
+ italique)
Double clic : Ouvre le
fichier dans un onglet persistant
- Navigation récente :
+ Navigation récente :
L'onglet "Récent" dans la sidebar liste vos
- derniers fichiers
-
+ derniers fichiers
Navigation entre onglets
@@ -2947,9 +2942,8 @@
Ctrl+Tab : Onglet suivant
- Ctrl+Shift+Tab : Onglet
- précédent
-
+ Ctrl+Shift+Tab : Onglet
+ précédent
Ctrl+W : Fermer l'onglet
actif
@@ -2963,23 +2957,19 @@
Fonctionnalités
-
- Barre d'onglets : Affichage
+ Barre d'onglets : Affichage
horizontal avec le nom du fichier et son
- icône
-
+ icône
- Onglet actif : Surligné en
- couleur d'accentuation
-
+ Onglet actif : Surligné en
+ couleur d'accentuation
- Prévisualisation : Un
+ Prévisualisation : Un
onglet temporaire (italique) est remplacé
- par le prochain clic
-
+ par le prochain clic
- Onglets persistants :
- Restent ouverts jusqu'à fermeture manuelle
-
+ Onglets persistants :
+ Restent ouverts jusqu'à fermeture manuelle
@@ -2997,17 +2987,15 @@
Titre, contenu, tags, chemins
- Scoring intelligent :
- Résultats classés par pertinence TF-IDF
-
+ Scoring intelligent :
+ Résultats classés par pertinence TF-IDF
Snippets surlignés :
Extraits avec termes en surbrillance
- Pagination : Navigation par
- pages de 50 résultats
-
+ Pagination : Navigation par
+ pages de 50 résultats
Opérateurs avancés
@@ -3064,9 +3052,8 @@
-
- Historique : Les 50
- dernières recherches (localStorage)
-
+ Historique : Les 50
+ dernières recherches (localStorage)
-
Fichiers : Suggestions de
titres de fichiers
@@ -3076,9 +3063,8 @@
avec compteurs
-
- Navigation clavier : ↑/↓
- pour naviguer, Enter pour sélectionner
-
+ Navigation clavier : ↑/↓
+ pour naviguer, Enter pour sélectionner
Chips de filtres actifs
@@ -3096,9 +3082,8 @@
"×" pour retirer un filtre
- Couleurs : Chaque type
- d'opérateur a sa couleur
-
+ Couleurs : Chaque type
+ d'opérateur a sa couleur
Facettes et tri
@@ -3108,21 +3093,18 @@
-
- Facettes tags : Compteurs
- par tag dans les résultats
-
+ Facettes tags : Compteurs
+ par tag dans les résultats
-
Facettes vaults : Compteurs
par vault
-
- Tri par pertinence : Score
- TF-IDF (défaut)
-
+ Tri par pertinence : Score
+ TF-IDF (défaut)
-
- Tri par date : Dernière
- modification
-
+ Tri par date : Dernière
+ modification
@@ -3140,17 +3122,15 @@
des frontmatters YAML et inline (#tag)
- Cliquable : Cliquez pour
- filtrer les résultats
-
+ Cliquable : Cliquez pour
+ filtrer les résultats
Filtrage : Utilisez la
barre de filtrage pour chercher un tag
- Contexte vault : Les tags
- s'adaptent au vault sélectionné
-
+ Contexte vault : Les tags
+ s'adaptent au vault sélectionné
Tags inline vs frontmatter
@@ -3167,9 +3147,8 @@
markdown
- Fusion automatique : Les
- deux types sont combinés
-
+ Fusion automatique : Les
+ deux types sont combinés
Filtrage de tags template
@@ -3184,13 +3163,11 @@
#{{ ... }}
- Regex générée : Aperçu de
- la regex appliquée
-
+ Regex générée : Aperçu de
+ la regex appliquée
- Ajout/Suppression : Gérez
- vos patterns de filtrage
-
+ Ajout/Suppression : Gérez
+ vos patterns de filtrage
@@ -3231,13 +3208,11 @@
markdown brut
- Télécharger : Télécharge le
- fichier
-
+ Télécharger : Télécharge le
+ fichier
- Éditer : Ouvre l'éditeur
- CodeMirror
-
+ Éditer : Ouvre l'éditeur
+ CodeMirror
Ouvrir dans nouvelle fenêtre
- Numéros de ligne :
- Navigation facilitée dans les fichiers longs
-
+ Numéros de ligne :
+ Navigation facilitée dans les fichiers longs
Find in page : Ctrl+F pour
chercher dans le fichier (casse, regex, mot
entier)
- Sauvegarde automatique :
+ Sauvegarde automatique :
Auto-save silencieux après 2s d'inactivité,
- flash vert de confirmation
-
+ flash vert de confirmation
Bouton ✓ : Sauvegarde
manuelle
@@ -3342,9 +3315,9 @@
fichier
- Barre d'outils AI :
+ Barre d'outils AI :
Complétion, réécriture, traduction (voir
- section 🤖 IA)
+ section🤖 IA)
@@ -3366,25 +3339,21 @@
Graphique
- Bouton dédié : Dans la
- barre d'outils (le cas échéant)
-
+ Bouton dédié : Dans la
+ barre d'outils (le cas échéant)
Interaction
Redimensionnement de la sidebar
@@ -3486,9 +3448,8 @@
500px
- Persistance : La largeur
- est sauvegardée
-
+ Persistance : La largeur
+ est sauvegardée
Configuration avancée
@@ -3498,21 +3459,18 @@
-
- Paramètres de recherche :
- Délai debounce, résultats par page, timeout
-
+ Paramètres de recherche :
+ Délai debounce, résultats par page, timeout
-
- Paramètres backend :
- Workers, boosts TF-IDF, expansions préfixe
-
+ Paramètres backend :
+ Workers, boosts TF-IDF, expansions préfixe
-
Filtrage de tags : Patterns
pour masquer les tags template
-
- Diagnostics : Stats index,
- mémoire, moteur de recherche
-
+ Diagnostics : Stats index,
+ mémoire, moteur de recherche
-
Réindexation : Forcer un
rescan des vaults
@@ -3745,15 +3703,14 @@
-
- ✦ AI — Complétion inline
- (Ctrl+J). Complète
+ ✦ AI — Complétion inline
+ (Ctrl+J). Complète
automatiquement le texte là où se trouve le
curseur.
-
- Éditer ▾ — Menu de
- modification du texte sélectionné :
-
+ Éditer ▾ — Menu de
+ modification du texte sélectionné :
-
🪄
Improve writing :
@@ -3801,9 +3758,8 @@
-
- Traduire ▾ — Traduit le
- texte sélectionné vers une autre langue :
-
+ Traduire ▾ — Traduit le
+ texte sélectionné vers une autre langue :
-
🇬🇧 English · 🇨🇳 Chinese · 🇯🇵
Japanese · 🇩🇪 German · 🇫🇷 French ·
@@ -3812,9 +3768,8 @@
-
- Générer ▾ — Génère du
- contenu à partir de la sélection :
-
+ Générer ▾ — Génère du
+ contenu à partir de la sélection :
-
ℹ️ Explain this :
Explique le texte sélectionné de
@@ -3833,11 +3788,10 @@
-
- 💬 Réécrire — Réécrit le
+ 💬 Réécrire — Réécrit le
texte selon vos instructions personnalisées.
Une boîte de dialogue vous demande votre
- instruction.
-
+ instruction.
-
🧰 Boîte ▾ — Outils de
conversion :
@@ -3937,31 +3891,25 @@
-
- Bouton Partager : Dans les
- actions du fichier, génère un lien unique
-
+ Bouton Partager : Dans les
+ actions du fichier, génère un lien unique
-
- Token unique : 64
+ Token unique : 64
caractères hexadécimaux, impossible à
- deviner
-
+ deviner
-
- Expiration configurable :
- Durée de vie en heures
-
+ Expiration configurable :
+ Durée de vie en heures
-
- Lecture seule : La vue
+ Lecture seule : La vue
publique n'affiche que le contenu sans
- édition
-
+ édition
-
- Gestion des liens : Liste
- et révocation dans les Configurations
-
+ Gestion des liens : Liste
+ et révocation dans les Configurations
-
- Export PDF : Téléchargement
- du document partagé en PDF via
-
/s/{token}/pdf
+ Export PDF : Téléchargement
+ du document partagé en PDF via/s/{token}/pdf
@@ -3984,29 +3932,24 @@
Cas d'usage
-
- Automatisation CI/CD :
+ Automatisation CI/CD :
Déclencher un build quand une note de
- procédure est mise à jour
-
+ procédure est mise à jour
-
- Synchronisation : Copier
+ Synchronisation : Copier
les nouveaux fichiers vers un autre système
- (SharePoint, Google Drive)
-
+ (SharePoint, Google Drive)
-
- Notifications : Alerter un
+ Notifications : Alerter un
canal Slack/Discord quand un document est
- créé
-
+ créé
-
- Audit externe : Logger
+ Audit externe : Logger
toutes les modifications dans une base de
- données externe
-
+ données externe
-
- Déploiement : Publier un
- article de blog quand un fichier est marqué
-
publish: true
+ Déploiement : Publier un
+ article de blog quand un fichier est marquépublish: true
@@ -4439,9 +4382,8 @@ curl -X POST https://votre-serveur.com/webhook \
.obsigate-backup/
- Timestamp : Chaque backup
- est horodaté
-
+ Timestamp : Chaque backup
+ est horodaté
Répertoire dédié :
.obsigate-backup/ dans le
@@ -4461,14 +4403,12 @@ curl -X POST https://votre-serveur.com/webhook \
lines
- Événements tracés :
+ Événements tracés :
Écritures, suppressions, changements de
- configuration
-
+ configuration
- Rotation : Rotation
- automatique à 10 Mo
-
+ Rotation : Rotation
+ automatique à 10 Mo
@@ -4479,9 +4419,8 @@ curl -X POST https://votre-serveur.com/webhook \
Authentification
-
- JWT + Argon2id : Tokens JWT
- avec mots de passe hachés Argon2id
-
+ JWT + Argon2id : Tokens JWT
+ avec mots de passe hachés Argon2id
-
Contrôle d'accès par vault
: Chaque utilisateur voit uniquement ses
@@ -4497,18 +4436,16 @@ curl -X POST https://votre-serveur.com/webhook \
compte
-
- Compte admin : Créé
- automatiquement au premier démarrage
-
+ Compte admin : Créé
+ automatiquement au premier démarrage
Protection
-
- Secret redactor : Masque
+ Secret redactor : Masque
JWT, clés API, tokens GitHub dans les
- aperçus
-
+ aperçus
-
Path traversal : Validation
des chemins contre les attaques
@@ -4520,9 +4457,8 @@ curl -X POST https://votre-serveur.com/webhook \
XSS-Protection
-
- Atomic writes : Écriture
- via fichier temporaire + renommage atomique
-
+ Atomic writes : Écriture
+ via fichier temporaire + renommage atomique
-
Non-root Docker : Conteneur
tourne avec UID 1000
@@ -4536,9 +4472,8 @@ curl -X POST https://votre-serveur.com/webhook \
Workflow recommandé
-
- Sélectionnez un contexte :
- Choisissez un vault pour réduire le bruit
-
+ Sélectionnez un contexte :
+ Choisissez un vault pour réduire le bruit
-
Explorez l'arborescence :
Naviguez dans les dossiers
@@ -4548,13 +4483,11 @@ curl -X POST https://votre-serveur.com/webhook \
par tags pour affiner
-
- Recherchez intelligemment :
- Combinez opérateurs et texte libre
-
+ Recherchez intelligemment :
+ Combinez opérateurs et texte libre
-
- Profitez de l'historique :
- Réutilisez vos recherches fréquentes
-
+ Profitez de l'historique :
+ Réutilisez vos recherches fréquentes
Optimisations
@@ -4589,10 +4522,9 @@ curl -X POST https://votre-serveur.com/webhook \
sidebar
-
- Gestion de l'espace :
+ Gestion de l'espace :
Réduisez les sections Vaults/Tags selon vos
- besoins
-
+ besoins
-
Confort de lecture :
Ajustez la largeur de la sidebar
@@ -4626,17 +4558,14 @@ curl -X POST https://votre-serveur.com/webhook \
toutes les notes similaires
-
- Édition rapide : Ouvrez
- l'éditeur, modifiez, sauvegardez
-
+ Édition rapide : Ouvrez
+ l'éditeur, modifiez, sauvegardez
-
- Export : Téléchargez des
- fichiers pour backup ou partage
-
+ Export : Téléchargez des
+ fichiers pour backup ou partage
-
- Multi-fenêtres : Ouvrez
- plusieurs notes dans des onglets séparés
-
+ Multi-fenêtres : Ouvrez
+ plusieurs notes dans des onglets séparés
diff --git a/frontend/locales/en.json b/frontend/locales/en.json
index aeb7802..3116aa0 100644
--- a/frontend/locales/en.json
+++ b/frontend/locales/en.json
@@ -829,5 +829,78 @@
"help.686f8313": "💡 Tips and best practices",
"help.fe388b67": "Optimizations",
"help.2a92203f": "Tips and tricks",
- "help.desc_menu_options": ": Access to settings, theme, help"
+ "help.desc_menu_options": ": Access to settings, theme, help",
+ "help.desc_fdeaf803": ": Chaque type de\n fichier a son icône (markdown, code, etc.)",
+ "help.desc_a4a4e21b": ": Bouton \"×\" pour\n réinitialiser le filtre",
+ "help.desc_085ec31f": ":\n Quick select at the top of the Vault tabs",
+ "help.desc_e3fce7a3": ": Ouvre le\n fichier dans un onglet temporaire (aperçu,\n italique)",
+ "help.desc_d186a19e": ":\n L'onglet \"Récent\" dans la sidebar liste vos\n derniers fichiers",
+ "help.desc_e5246734": ": Onglet\n précédent",
+ "help.desc_170a6982": ": Affichage\n horizontal avec le nom du fichier et son\n icône",
+ "help.desc_6b649b1e": ": Surligné en\n couleur d'accentuation",
+ "help.desc_ef1531ce": ": Un\n onglet temporaire (italique) est remplacé\n par le prochain clic",
+ "help.desc_5ab8c78d": ":\n Stay open until manually closed",
+ "help.desc_00b9572b": ":\n Results ranked by TF-IDF relevance",
+ "help.desc_53bfaeca": ": Navigation par\n pages de 50 résultats",
+ "help.desc_4de7e318": ": Les 50\n dernières recherches (localStorage)",
+ "help.desc_6b8fc728": ": ↑/↓\n pour naviguer, Enter pour sélectionner",
+ "help.desc_6ebebdfd": ": Chaque type\n d'opérateur a sa couleur",
+ "help.desc_cf5ccd40": ": Compteurs\n par tag dans les résultats",
+ "help.desc_9fec424d": ": Score\n TF-IDF (défaut)",
+ "help.desc_42a81347": ": Dernière\n modification",
+ "help.desc_6caffeed": ": Cliquez pour\n filtrer les résultats",
+ "help.desc_6a5ddef2": ": Les tags\n s'adaptent au vault sélectionné",
+ "help.desc_828db5da": ": Les\n deux types sont combinés",
+ "help.desc_b9c94994": ": Aperçu de\n la regex appliquée",
+ "help.desc_ef3f8158": ": Gérez\n vos patterns de filtrage",
+ "help.desc_a52fc3b1": ": Télécharge le\n fichier",
+ "help.desc_995a711f": ": Ouvre l'éditeur\n CodeMirror",
+ "help.desc_9f78b3ec": ":\n Easier navigation in long files",
+ "help.desc_065f53ee": ":\n Silent auto-save after 2s of inactivity,\n flash vert de confirmation",
+ "help.desc_c8532869": ":\n Completion, rewrite, translation (voir\n section",
+ "help.desc_e23c94dd": ": Dans la\n barre d'outils (le cas échéant)",
+ "help.desc_f0adf67a": ": Molette pour\n zoomer, cliquer-glisser pour se déplacer",
+ "help.desc_9edeaa11": ":\n Controls exploration depth (0-3)",
+ "help.desc_89bd3c4c": ": N'affiche\n que les nœuds avec un tag spécifique",
+ "help.desc_a9db82b5": ": Centre la vue\n sur un nœud spécifique",
+ "help.desc_ab2c4150": ": Fichiers (carrés)\n et dossiers (cercles) avec icônes",
+ "help.desc_8717768b": ":\n Node metadata (tags, links, path)",
+ "help.desc_a579cf4d": ": Aperçu du\n contenu de la note sans naviguer",
+ "help.desc_beed5686": ": Cliquez sur\n \"Thème\" dans le menu",
+ "help.desc_e5b67e3d": ": Votre choix\n est sauvegardé en localStorage",
+ "help.desc_d5c977ac": ": Les blocs de\n code s'adaptent au thème",
+ "help.desc_6a80241e": ": La largeur\n est sauvegardée",
+ "help.desc_6b88a375": ":\n Debounce delay, results per page, timeout",
+ "help.desc_5d0fbb81": ":\n Workers, TF-IDF boosts, prefix expansions",
+ "help.desc_6ae5342c": ": Stats index,\n mémoire, moteur de recherche",
+ "help.desc_3ace259e": "— Complétion inline\n (",
+ "help.desc_a0ec890a": "— Menu de\n modification du texte sélectionné :",
+ "help.desc_1c130d89": "— Traduit le\n texte sélectionné vers une autre langue :",
+ "help.desc_991307d6": "— Génère du\n contenu à partir de la sélection :",
+ "help.desc_c63f02cc": "— Réécrit le\n texte selon vos instructions personnalisées.\n Une boîte de dialogue vous demande votre\n instruction.",
+ "help.desc_d66e911c": ": Dans les\n actions du fichier, génère un lien unique",
+ "help.desc_04493800": ": 64\n caractères hexadécimaux, impossible à\n deviner",
+ "help.desc_858681a1": ":\n Durée de vie en heures",
+ "help.desc_e47d2328": ": La vue\n publique n'affiche que le contenu sans\n édition",
+ "help.desc_5e9a7fd9": ": Liste\n et révocation dans les Configurations",
+ "help.desc_e93517a5": ": Téléchargement\n du document partagé en PDF via",
+ "help.desc_1ba39cc4": ":\n Déclencher un build quand une note de\n procédure est mise à jour",
+ "help.desc_d9cdaa89": ": Copier\n les nouveaux fichiers vers un autre système\n (SharePoint, Google Drive)",
+ "help.desc_6f7c5889": ": Alerter un\n canal Slack/Discord quand un document est\n créé",
+ "help.desc_599f3242": ": Logger\n toutes les modifications dans une base de\n données externe",
+ "help.desc_2f2c16b5": ": Publier un\n article de blog quand un fichier est marqué",
+ "help.desc_31e7253b": ": Chaque backup\n est horodaté",
+ "help.desc_9f321d1e": ":\n Écritures, suppressions, changements de\n configuration",
+ "help.desc_19cf5730": ": Rotation\n automatique à 10 Mo",
+ "help.desc_8f0bffe3": ": Tokens JWT\n avec mots de passe hachés Argon2id",
+ "help.desc_5fc28b7d": ": Créé\n automatiquement au premier démarrage",
+ "help.desc_9846fc07": ": Masque\n JWT, clés API, tokens GitHub dans les\n aperçus",
+ "help.desc_752789ab": ": Écriture\n via fichier temporaire + renommage atomique",
+ "help.desc_39979e71": ":\n Choisissez un vault pour réduire le bruit",
+ "help.desc_ae213f54": ":\n Combinez opérateurs et texte libre",
+ "help.desc_71eeb16a": ":\n Réutilisez vos recherches fréquentes",
+ "help.desc_287be69c": ":\n Réduisez les sections Vaults/Tags selon vos\n besoins",
+ "help.desc_cb6f0bfd": ": Ouvrez\n l'éditeur, modifiez, sauvegardez",
+ "help.desc_f9083ce5": ": Téléchargez des\n fichiers pour backup ou partage",
+ "help.desc_9cb5974c": ": Ouvrez\n plusieurs notes dans des onglets séparés"
}
\ No newline at end of file
diff --git a/frontend/locales/fr.json b/frontend/locales/fr.json
index 7b2c438..07d7ae8 100644
--- a/frontend/locales/fr.json
+++ b/frontend/locales/fr.json
@@ -829,5 +829,78 @@
"help.686f8313": "💡 Astuces et bonnes pratiques",
"help.fe388b67": "Optimisations",
"help.2a92203f": "Trucs et astuces",
- "help.desc_menu_options": ": Accès aux\n paramètres, thème, aide"
+ "help.desc_menu_options": ": Accès aux\n paramètres, thème, aide",
+ "help.desc_fdeaf803": ": Chaque type de\n fichier a son icône (markdown, code, etc.)",
+ "help.desc_a4a4e21b": ": Bouton \"×\" pour\n réinitialiser le filtre",
+ "help.desc_085ec31f": ":\n Sélection rapide en haut de l'onglet Vaults",
+ "help.desc_e3fce7a3": ": Ouvre le\n fichier dans un onglet temporaire (aperçu,\n italique)",
+ "help.desc_d186a19e": ":\n L'onglet \"Récent\" dans la sidebar liste vos\n derniers fichiers",
+ "help.desc_e5246734": ": Onglet\n précédent",
+ "help.desc_170a6982": ": Affichage\n horizontal avec le nom du fichier et son\n icône",
+ "help.desc_6b649b1e": ": Surligné en\n couleur d'accentuation",
+ "help.desc_ef1531ce": ": Un\n onglet temporaire (italique) est remplacé\n par le prochain clic",
+ "help.desc_5ab8c78d": ":\n Restent ouverts jusqu'à fermeture manuelle",
+ "help.desc_00b9572b": ":\n Résultats classés par pertinence TF-IDF",
+ "help.desc_53bfaeca": ": Navigation par\n pages de 50 résultats",
+ "help.desc_4de7e318": ": Les 50\n dernières recherches (localStorage)",
+ "help.desc_6b8fc728": ": ↑/↓\n pour naviguer, Enter pour sélectionner",
+ "help.desc_6ebebdfd": ": Chaque type\n d'opérateur a sa couleur",
+ "help.desc_cf5ccd40": ": Compteurs\n par tag dans les résultats",
+ "help.desc_9fec424d": ": Score\n TF-IDF (défaut)",
+ "help.desc_42a81347": ": Dernière\n modification",
+ "help.desc_6caffeed": ": Cliquez pour\n filtrer les résultats",
+ "help.desc_6a5ddef2": ": Les tags\n s'adaptent au vault sélectionné",
+ "help.desc_828db5da": ": Les\n deux types sont combinés",
+ "help.desc_b9c94994": ": Aperçu de\n la regex appliquée",
+ "help.desc_ef3f8158": ": Gérez\n vos patterns de filtrage",
+ "help.desc_a52fc3b1": ": Télécharge le\n fichier",
+ "help.desc_995a711f": ": Ouvre l'éditeur\n CodeMirror",
+ "help.desc_9f78b3ec": ":\n Navigation facilitée dans les fichiers longs",
+ "help.desc_065f53ee": ":\n Auto-save silencieux après 2s d'inactivité,\n flash vert de confirmation",
+ "help.desc_c8532869": ":\n Complétion, réécriture, traduction (voir\n section",
+ "help.desc_e23c94dd": ": Dans la\n barre d'outils (le cas échéant)",
+ "help.desc_f0adf67a": ": Molette pour\n zoomer, cliquer-glisser pour se déplacer",
+ "help.desc_9edeaa11": ":\n Contrôle la profondeur d'exploration (0-3)",
+ "help.desc_89bd3c4c": ": N'affiche\n que les nœuds avec un tag spécifique",
+ "help.desc_a9db82b5": ": Centre la vue\n sur un nœud spécifique",
+ "help.desc_ab2c4150": ": Fichiers (carrés)\n et dossiers (cercles) avec icônes",
+ "help.desc_8717768b": ":\n Métadonnées du nœud (tags, liens, chemin)",
+ "help.desc_a579cf4d": ": Aperçu du\n contenu de la note sans naviguer",
+ "help.desc_beed5686": ": Cliquez sur\n \"Thème\" dans le menu",
+ "help.desc_e5b67e3d": ": Votre choix\n est sauvegardé en localStorage",
+ "help.desc_d5c977ac": ": Les blocs de\n code s'adaptent au thème",
+ "help.desc_6a80241e": ": La largeur\n est sauvegardée",
+ "help.desc_6b88a375": ":\n Délai debounce, résultats par page, timeout",
+ "help.desc_5d0fbb81": ":\n Workers, boosts TF-IDF, expansions préfixe",
+ "help.desc_6ae5342c": ": Stats index,\n mémoire, moteur de recherche",
+ "help.desc_3ace259e": "— Complétion inline\n (",
+ "help.desc_a0ec890a": "— Menu de\n modification du texte sélectionné :",
+ "help.desc_1c130d89": "— Traduit le\n texte sélectionné vers une autre langue :",
+ "help.desc_991307d6": "— Génère du\n contenu à partir de la sélection :",
+ "help.desc_c63f02cc": "— Réécrit le\n texte selon vos instructions personnalisées.\n Une boîte de dialogue vous demande votre\n instruction.",
+ "help.desc_d66e911c": ": Dans les\n actions du fichier, génère un lien unique",
+ "help.desc_04493800": ": 64\n caractères hexadécimaux, impossible à\n deviner",
+ "help.desc_858681a1": ":\n Durée de vie en heures",
+ "help.desc_e47d2328": ": La vue\n publique n'affiche que le contenu sans\n édition",
+ "help.desc_5e9a7fd9": ": Liste\n et révocation dans les Configurations",
+ "help.desc_e93517a5": ": Téléchargement\n du document partagé en PDF via",
+ "help.desc_1ba39cc4": ":\n Déclencher un build quand une note de\n procédure est mise à jour",
+ "help.desc_d9cdaa89": ": Copier\n les nouveaux fichiers vers un autre système\n (SharePoint, Google Drive)",
+ "help.desc_6f7c5889": ": Alerter un\n canal Slack/Discord quand un document est\n créé",
+ "help.desc_599f3242": ": Logger\n toutes les modifications dans une base de\n données externe",
+ "help.desc_2f2c16b5": ": Publier un\n article de blog quand un fichier est marqué",
+ "help.desc_31e7253b": ": Chaque backup\n est horodaté",
+ "help.desc_9f321d1e": ":\n Écritures, suppressions, changements de\n configuration",
+ "help.desc_19cf5730": ": Rotation\n automatique à 10 Mo",
+ "help.desc_8f0bffe3": ": Tokens JWT\n avec mots de passe hachés Argon2id",
+ "help.desc_5fc28b7d": ": Créé\n automatiquement au premier démarrage",
+ "help.desc_9846fc07": ": Masque\n JWT, clés API, tokens GitHub dans les\n aperçus",
+ "help.desc_752789ab": ": Écriture\n via fichier temporaire + renommage atomique",
+ "help.desc_39979e71": ":\n Choisissez un vault pour réduire le bruit",
+ "help.desc_ae213f54": ":\n Combinez opérateurs et texte libre",
+ "help.desc_71eeb16a": ":\n Réutilisez vos recherches fréquentes",
+ "help.desc_287be69c": ":\n Réduisez les sections Vaults/Tags selon vos\n besoins",
+ "help.desc_cb6f0bfd": ": Ouvrez\n l'éditeur, modifiez, sauvegardez",
+ "help.desc_f9083ce5": ": Téléchargez des\n fichiers pour backup ou partage",
+ "help.desc_9cb5974c": ": Ouvrez\n plusieurs notes dans des onglets séparés"
}
\ No newline at end of file