iobroker.autodoc 0.9.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +126 -0
  3. package/admin/autodoc.png +0 -0
  4. package/admin/i18n/de.json +244 -0
  5. package/admin/i18n/en.json +241 -0
  6. package/admin/i18n/es.json +229 -0
  7. package/admin/i18n/fr.json +235 -0
  8. package/admin/i18n/it.json +229 -0
  9. package/admin/i18n/nl.json +229 -0
  10. package/admin/i18n/pl.json +229 -0
  11. package/admin/i18n/pt.json +229 -0
  12. package/admin/i18n/ru.json +229 -0
  13. package/admin/i18n/uk.json +229 -0
  14. package/admin/i18n/zh-cn.json +229 -0
  15. package/admin/jsonConfig.json +1490 -0
  16. package/io-package.json +253 -0
  17. package/lib/adapter-config.d.ts +19 -0
  18. package/lib/aiEnhancer.js +2114 -0
  19. package/lib/autoHostTopologyMermaid.js +195 -0
  20. package/lib/dependencyAnalyzer.js +83 -0
  21. package/lib/diagnosisSnapshot.js +32 -0
  22. package/lib/discovery.js +953 -0
  23. package/lib/docTemplateConfig.js +422 -0
  24. package/lib/documentModel.js +640 -0
  25. package/lib/forumCard.js +70 -0
  26. package/lib/guestHelpContent.js +93 -0
  27. package/lib/guestScriptPrivacy.js +14 -0
  28. package/lib/hostDisplay.js +19 -0
  29. package/lib/htmlRenderer.js +4108 -0
  30. package/lib/htmlThemePresets.js +79 -0
  31. package/lib/htmlToPdf.js +99 -0
  32. package/lib/i18n.js +1309 -0
  33. package/lib/markdownRenderer.js +2025 -0
  34. package/lib/mermaidAutodocPalette.js +165 -0
  35. package/lib/mermaidServerSvg.js +252 -0
  36. package/lib/notifier.js +124 -0
  37. package/lib/quickStartGuide.js +180 -0
  38. package/lib/roleMapper.js +90 -0
  39. package/lib/scriptGroups.js +78 -0
  40. package/lib/versionTracker.js +312 -0
  41. package/main.js +1368 -0
  42. package/package.json +88 -0
@@ -0,0 +1,235 @@
1
+ {
2
+ "autodoc adapter settings": "Paramètres d'adaptateur pour autodoc",
3
+ "Project name": "Nom du projet",
4
+ "Name of the ioBroker project or installation": "Nom du projet ou de l'installation ioBroker",
5
+ "Target system": "Système cible",
6
+ "Usually ioBroker": "Généralement ioBroker",
7
+ "Documentation profile": "Profil de documentation",
8
+ "Target audience for the generated documentation": "Public cible pour la documentation générée",
9
+ "Documentation language": "Langue de la documentation",
10
+ "Language for the generated documentation": "Langue de la documentation générée",
11
+ "Project description": "Description du projet",
12
+ "Short description of what should be documented": "Courte description de ce qui doit être documenté",
13
+ "Additional notes": "Notes supplémentaires",
14
+ "Optional notes, devices, adapters or special requirements": "Notes optionnelles, appareils, adaptateurs ou exigences particulières",
15
+ "Generate documentation on adapter start": "Générer la documentation au démarrage de l'adaptateur",
16
+ "If enabled, documentation is queued each time the adapter starts (runs in the background; the instance can show green before it finishes). If disabled, a run still happens once after an update when the built-in HTML renderer version no longer matches info.templateVersion. Check the log for \"Documentation generated via startup\" and state info.lastTrigger.": "Si activé, la génération est lancée à chaque démarrage (en arrière-plan ; l’instance peut déjà être verte avant la fin). Si désactivé, une exécution a encore lieu une fois après mise à jour lorsque la version du moteur HTML intégré ne correspond plus à info.templateVersion. Vérifiez le journal pour « Documentation generated via startup » et l’état info.lastTrigger.",
17
+ "Generate documentation on adapter changes": "Générer la documentation lors des modifications d'adaptateur",
18
+ "If enabled, documentation is regenerated automatically when adapters are installed, removed, or enabled/disabled (30 second debounce)": "Si activé, la documentation est régénérée automatiquement lorsque des adaptateurs sont installés, supprimés ou activés/désactivés (délai de 30 secondes)",
19
+ "Read live state values (opt-in)": "Lire les valeurs d'état en direct (opt-in)",
20
+ "If enabled, current values for key states (temperature, door/window, alarm) are read and shown in Onboarding profile": "Si activé, les valeurs actuelles des états clés (température, porte/fenêtre, alarme) sont lues et affichées dans le profil Onboarding",
21
+ "Scheduled interval (hours)": "Intervalle planifié (heures)",
22
+ "Optional timer: regenerate every X hours, independent of start and adapter-change options above. 0 = no scheduled runs (events and start still work).": "Optionnel : régénérer toutes les X heures, indépendamment du démarrage et des changements d’adaptateur ci-dessus. 0 = pas de planification horaire (démarrage et événements restent actifs).",
23
+ "Only document enabled instances": "Documenter uniquement les instances activées",
24
+ "If enabled, only active adapter instances are included in the documentation": "Si activé, seules les instances d'adaptateur actives sont incluses dans la documentation",
25
+ "Hide instance details in markdown": "Masquer les détails des instances dans le markdown",
26
+ "If enabled, the markdown output contains only summary information without the full instance list": "Si activé, la sortie markdown ne contient que des informations résumées sans la liste complète des instances",
27
+ "Maximum documented instances": "Nombre maximum d'instances documentées",
28
+ "Limits how many adapter instances are included in the generated documentation, 0 means unlimited": "Limite le nombre d'instances d'adaptateur incluses dans la documentation générée, 0 = illimité",
29
+ "ioBroker base URL (optional)": "URL de base ioBroker (optionnel)",
30
+ "Used for the info.htmlUrl state. Include port, e.g. 192.168.1.100:8081 or http://myserver:8082. Protocol is optional. Leave empty for auto-detection (may fail in Docker).": "Utilisé pour l'état info.htmlUrl. Inclure le port, ex. 192.168.1.100:8081. Laisser vide pour la détection automatique.",
31
+ "Maximum stored documentation files": "Nombre maximum de fichiers de documentation stockés",
32
+ "How many timestamped file sets to keep (per type: .md, .html, .json). Oldest are deleted automatically. 0 = use default (3).": "Nombre de jeux de fichiers horodatés à conserver (par type). Les plus anciens sont supprimés automatiquement. 0 = défaut (3).",
33
+ "Documentation states storage": "Stockage des états de documentation",
34
+ "Documentation states storage help": "Complet : markdown, HTML et JSON dupliqués dans les états de l’adaptateur (comportement classique, base d’objets / Redis plus lourde). Métadonnées seulement : export complet uniquement sous Fichiers (autodoc-latest.*) ; les états contiennent un court texte de renvoi — réduit la taille de la base. Les scripts qui lisent documentation.* comme texte intégral doivent utiliser /files/ ou les URLs HTTP. Les actions de téléchargement écrivent toujours autodoc.md / .json / .html à partir des derniers fichiers. Dans les deux modes, l’état **`documentation.exportHashes`** enregistre des empreintes **SHA-256 (hex)** des derniers exports MD / HTML admin / JSON pour détecter les changements. **Après un export PDF réussi** (`puppeteer` optionnel), le même état inclut aussi les empreintes **`autodoc-admin.pdf`**, **`autodoc-user.pdf`** et **`autodoc-onboarding.pdf`** lorsque ces fichiers sont écrits.",
35
+ "Doc states mode full": "Complet (dans les états — base plus lourde)",
36
+ "Doc states mode metadata": "Métadonnées seulement (contenu dans /files uniquement)",
37
+ "Manual context (JSON)": "Contexte manuel (JSON)",
38
+ "Additional manual information to include in documentation (description, contact, notes)": "Informations manuelles supplémentaires à inclure dans la documentation",
39
+ "Basic settings": "Paramètres de base",
40
+ "Documentation & layout": "Documentation & mise en page",
41
+ "Admin tab orientation AI": "Optionnel : connecter une IA pour de courts textes d’appoint dans les exports. Laissez le fournisseur sur Désactivé si vous n’en voulez pas. Ollama reste local ; les fournisseurs cloud envoient des données vers Internet — voir l’avertissement confidentialité ci‑dessous.",
42
+ "Admin tab orientation basic": "Onglet « Paramètres de base » : langue, régénération, valeurs live optionnelles, Générer maintenant / dernier run / carte forum. Les onglets « Ma documentation », « Avancé » et « Export HTML & sections supplémentaires » contiennent contenus et filtres. Notifications et IA en fin sont optionnels.",
43
+ "Admin tab orientation documentation": "Cet onglet : textes à lire. « Avancé » : filtres, détail Markdown, limites, URL de base pour liens/QR, stockage des exports, copie fichier optionnelle, **PDF après génération** optionnel, score configuration. « Export HTML… » : couleur/thème, chapitres affichés et ordre, blocs Markdown personnalisés ; **raccourci PDF** (case à cocher sous **Avancé**). Les **indices de contexte IA** (prompt seulement, jamais dans l’export) sont sous **Documentation IA** dès qu’un fournisseur est activé.",
44
+ "Admin tab orientation notify": "Optionnel : envoyer un message (ex. Telegram, e‑mail) après chaque génération. Ignorez cet onglet si vous n’en avez pas besoin.",
45
+ "Basic section profile": "Profil et langue",
46
+ "Basic section triggers": "Quand régénérer",
47
+ "Basic section discovery": "Valeurs en direct dans la doc",
48
+ "Basic section manual": "Lancer maintenant & état",
49
+ "Manual section project": "Projet, contact & remarques",
50
+ "Doc section appearance": "Apparence, thème & logo",
51
+ "Doc section expert styling": "Optionnel : police & CSS",
52
+ "Advanced styling open hint": "Ces champs sont **optionnels** : police ou **CSS** en plus du **thème** et **schéma de couleurs** ci-dessus. Laissez vide pour garder l’apparence par défaut. Une erreur de syntaxe CSS peut casser la mise en page. **Chapitres visibles** et **chapitres Markdown** sont dans les blocs **plus haut** sur cet onglet — **pas ici**.",
53
+ "Doc section chapters": "Chapitres visibles (par profil)",
54
+ "Notify section": "Après chaque génération",
55
+ "AI section provider": "Fournisseur, modèle & connexion",
56
+ "AI section tuning": "Température d’échantillonnage (optionnel)",
57
+ "AI section scripts": "Scripts JavaScript (IA optionnelle)",
58
+ "My documentation": "Ma documentation",
59
+ "Advanced": "Avancé",
60
+ "Advanced section content": "Contenu et limites",
61
+ "Advanced section states": "Stockage des états & URL publique",
62
+ "Advanced section filesystem": "Optionnel : copie sur disque",
63
+ "Advanced setup score intro": "Le **score de mise en place documentaire** (ci‑dessous) apparaît dans la documentation Admin générée. Une ligne optionnelle vérifie que l’**URL de base ioBroker** ci‑dessus n’est pas vide — utile pour les QR codes et signets. Désactivez des lignes ou modifiez les seuils si cela ne correspond pas à votre installation.",
64
+ "Advanced section maintenance score": "Score de mise en place documentaire",
65
+ "Maintenance score include description check": "Inclure la longueur de la description du projet",
66
+ "Maintenance score description check help": "Si activé, le **score de mise en place documentaire** dans l’export Admin compte cette ligne : « Ma documentation » — texte au moins aussi long que ci‑dessous. Désactivez si vous gardez volontairement une description courte.",
67
+ "Maintenance score include base URL check": "Inclure l’URL de base ioBroker",
68
+ "Maintenance score base URL check help": "Si activé, le score exige une **URL de base** non vide dans le champ ci‑dessus (QR, signets, liens de dépannage).",
69
+ "Maintenance score include unassigned check": "Inclure les instances sans pièce",
70
+ "Maintenance score unassigned check help": "Si activé, le score échoue lorsque le nombre d’instances actives sans pièce est **≥** au seuil ci‑dessous. Souvent voulu — augmentez le seuil ou désactivez.",
71
+ "Maintenance score min description length": "Longueur minimale de la description (caractères)",
72
+ "Maintenance score min description length help": "Caractères (trim). Défaut **40** ; l’adaptateur limite à **5–2000**.",
73
+ "Maintenance score unassigned warn at": "Instances sans pièce — avertir à partir de (nombre)",
74
+ "Maintenance score unassigned warn at help": "Le test échoue si le nombre est **≥** cette valeur. D\u00e9faut **30** ; plage **1-500** dans l'adaptateur. Plus bas = plus strict. Conseil : les installations typiques ont 15-20 adaptateurs infrastructure (admin, backitup, discovery…) sans pi\u00e8ce - gardez le seuil au-dessus de ce nombre.",
75
+ "Admin export scripts hint": "Dans l’export HTML/Markdown du profil Admin, les scripts JavaScript sont listés par dossier ioBroker (dossier Global en premier, avec un bref rappel). C’est la même arborescence que dans le moteur de scripts — pas un réglage AutoDoc séparé.",
76
+ "AI documentation": "Documentation IA",
77
+ "Manual documentation hint": "Ces champs sont affichés dans tous les profils. Utilisez « Aide & urgences », « Routines (vos mots) » et « Comment la maison fonctionne (mode d’emploi) » pour les invités et la famille en langage courant — rien n’est inventé automatiquement. **Diagramme Mermaid** (facultatif) : schéma rédigé par vous-même ; **topologie des hôtes automatique** (instances par hôte ioBroker, nœuds plafonnés). Masquez le diagramme **manuel** avec l’id **`mermaid`**, le diagramme **auto** avec **`mermaidAuto`**. Dans **l’HTML**, les schémas peuvent être **intégrés en SVG** à la génération si **`@mermaid-js/mermaid-cli`** est installé sur l’hôte (voir l’aide de chaque champ) ; sinon le navigateur charge Mermaid depuis le réseau. Les notes par adaptateur et par pièce rendent la doc plus lisible. Dans l’export Admin HTML/Markdown, les scripts JS sont regroupés par dossier ioBroker ; sous « Scripts globaux », un bref rappel sur l’ordre d’exécution.",
78
+ "Guest & family (plain language)": "Invités & famille (langage simple)",
79
+ "Help & emergencies (guests/family)": "Aide & urgences (invités/famille)",
80
+ "Who to call, what to try if something fails, where the fuse box is — your words only; nothing is invented automatically.": "Qui appeler, que faire en cas de panne, où est le tableau électrique — vos mots seulement ; rien n’est inventé automatiquement.",
81
+ "Routines & automations (your words)": "Routines & automatisation (vos mots)",
82
+ "Describe in everyday language what often runs by itself (lights, heating, blinds). Shown near the script list; complements technical script names.": "Décrivez en langage courant ce qui tourne souvent tout seul (lumières, chauffage, volets). Affiché près de la liste des scripts ; complète les noms techniques.",
83
+ "How we run this home (your playbook)": "Comment la maison fonctionne (votre mode d’emploi)",
84
+ "Step-by-step or bullet notes only you maintain: typical order of doing things, what must be done, what guests or family must not change (your words; nothing is invented automatically). Shown as its own section in family and guest docs.": "Étapes ou puces que vous seuls tenez à jour : ordre habituel, ce qu’il faut faire, ce que les invités ou la famille ne doit pas modifier (vos mots ; rien n’est inventé automatiquement). Affiché comme chapitre séparé dans les docs famille et invités.",
85
+ "Mermaid diagram (optional)": "Diagramme Mermaid (optionnel)",
86
+ "Optional Mermaid diagram you write yourself (flowchart, sequence, …). **HTML exports:** With `@mermaid-js/mermaid-cli` installed on the ioBroker host (optional npm dependency), diagrams are rendered to **embedded SVG during generation** — works in offline `file://` copies without network. Without the CLI the export uses `<pre class=\"mermaid\">` and loads **Mermaid 10.9.1** from jsDelivr when you open the page in a browser (**online**). **Markdown** always emits a ```mermaid source fence (not pre-rendered). Hide your manual diagram in User/Onboarding with chapter id **`mermaid`** (**`mermaidAuto`** is only for the optional auto-host diagram below). Very long input is truncated. Tip: `flowchart LR` uses horizontal page width; `flowchart TB` (default) stacks top-to-bottom.": "Schéma Mermaid rédigé par vous (organigramme, séquence, …). **Export HTML :** si **`@mermaid-js/mermaid-cli`** est installé sur l’hôte ioBroker (dépendance npm optionnelle), les diagrammes sont convertis en **SVG intégré lors de la génération** — pratique hors ligne avec des copies **`file://`** sans réseau. Sans la CLI l’export reste sous **`<pre class=\"mermaid\">`** et **Mermaid 10.9.1** est chargé depuis jsDelivr dans le navigateur (**en ligne**). **Markdown :** bloc source **```mermaid** uniquement (pas de prérendu). Masquez le diagramme **manuel** avec l’id **`mermaid`** (User/Onboarding) (**`mermaidAuto`** pour le diagramme automatique optionnel ci-dessous). Saisie longue tronquée. Conseil : **`flowchart LR`** utilise la largeur ; **`flowchart TB`** empile.",
87
+ "Auto host topology diagram (Mermaid)": "Diagramme de topologie des hôtes (automatique, Mermaid)",
88
+ "When enabled, adds a second Mermaid diagram in HTML: adapter instances grouped by ioBroker host (helps in multihost setups). Instance node count is capped (next setting); not a full wiring graph. In User/Onboarding hide lists, use **`mermaidAuto`** to hide **only** this auto diagram (**`mermaid`** hides your manual diagram above). Same HTML embedding as manual Mermaid: embedded SVG when the CLI runs on the host, otherwise `<pre>` + jsDelivr in the browser.": "Si cette option est activée, ajoute un second diagramme Mermaid dans **l’HTML** : instances groupées par hôte ioBroker (utile en multihost). Nombre d’instances plafonné (réglage suivant) ; pas un schéma de câblage complet. Dans les listes de masquage User/Onboarding, utilisez **`mermaidAuto`** pour **uniquement** ce diagramme auto (**`mermaid`** masque votre diagramme manuel ci-dessus). Même logique SVG/navigateur que le Mermaid manuel : SVG embarqué si la CLI tourne sur l’hôte, sinon `<pre>` + jsDelivr.",
89
+ "Max instances in auto topology diagram": "Nombre max. d’instances dans le diagramme auto",
90
+ "Maximum adapter **instance** nodes in the auto-generated diagram (8–200, default 40). Hosts are still shown; instances are chosen round-robin across hosts when there are more than this limit.": "Nombre maximal de nœuds **instance** dans le diagramme auto (8–80, défaut 40). Les hôtes restent affichés ; au-delà, choix des instances en tourniquet entre hôtes.",
91
+ "Troubleshooting — quick lines (optional)": "Dépannage — lignes courtes (optionnel)",
92
+ "Troubleshooting quick lines hint": "Courtes lignes pour invités et famille (Wi‑Fi, courant, eau, autre). Affichées dans **Aide & urgences** avec des **liens favoris** vers cette doc (mêmes URL que les QR — **URL de base** requise dans Avancé). Tout est optionnel ; rien n’est inventé.",
93
+ "Quick: Wi-Fi / network": "Court : Wi‑Fi / réseau",
94
+ "One line, e.g. guest Wi-Fi name or where a repeater is — optional.": "Une ligne, p. ex. Wi‑Fi invités ou répéteur — optionnel.",
95
+ "Quick: power / fuses": "Court : courant / disjoncteurs",
96
+ "One line, e.g. where the electrical panel is — optional.": "Une ligne, p. ex. emplacement du tableau électrique — optionnel.",
97
+ "Quick: water shutoff": "Court : coupure d’eau",
98
+ "One line, e.g. where to turn off main water — optional.": "Une ligne, p. ex. vanne principale — optionnel.",
99
+ "Quick: other": "Court : autre",
100
+ "One more short line (alarm code location, key box, etc.) — optional.": "Encore une ligne courte (alarme, boîte à clés, …) — optionnel.",
101
+ "Contact person": "Personne de contact",
102
+ "Name or contact for this ioBroker installation": "Nom ou contact pour cette installation ioBroker",
103
+ "General notes": "Notes générales",
104
+ "General notes about this installation (e.g. special setups, known issues)": "Notes générales sur cette installation (ex. configurations spéciales, problèmes connus)",
105
+ "Per-adapter notes": "Notes par adaptateur",
106
+ "Adapter notes": "Notes d'adaptateur",
107
+ "Add a human-readable note for specific adapters (shown in all profiles)": "Ajouter une note lisible pour des adaptateurs spécifiques (affichée dans tous les profils)",
108
+ "Adapter (e.g. telegram)": "Adaptateur (ex. telegram)",
109
+ "Note": "Note",
110
+ "Per-room notes": "Notes par pièce",
111
+ "Room notes": "Notes de pièce",
112
+ "Add a human-readable note for specific rooms (shown in User and Onboarding profiles)": "Ajouter une note lisible pour des pièces spécifiques (affichée dans les profils User et Onboarding)",
113
+ "Room name": "Nom de la pièce",
114
+ "Generate now hint": "Cliquez sur le bouton pour générer la documentation immédiatement sans redémarrer l'adaptateur. Les trois profils (Admin, User, Onboarding) sont générés simultanément.",
115
+ "Generate documentation now": "Générer la documentation maintenant",
116
+ "Last generated": "Dernière génération",
117
+ "Forum system card (plaintext)": "Carte système forum (texte brut)",
118
+ "AI explain JavaScript scripts (opt-in)": "IA explique les scripts JavaScript (opt-in)",
119
+ "Sends sanitized script source to the same AI provider to add short plain-language explanations in User/Onboarding docs. Lines matching common secret patterns are redacted first; still review before enabling on production systems.": "Envoie le code source assaini au même fournisseur d’IA pour de courtes explications en langage courant dans les docs User/Onboarding. Les lignes correspondant à des motifs de secrets courants sont masquées ; vérifiez quand même avant la production.",
120
+ "Max characters of script source per KI call": "Nombre max. de caractères du script par appel IA",
121
+ "How many characters of each script (after redaction) are sent to the model; longer sources are truncated. Default 12000. Lower to speed up or fit small context; raise only if your model and timeout allow. Range 2000–100000. State info.aiScriptSourceProgress shows e.g. 5/12 while processing.": "Caractères envoyés (après masquage) par script ; troncature au-delà. Par défaut 12000. Valeur basse = plus rapide / contexte restreint ; n’augmenter que si le modèle et le délai le permettent. Plage 2000–100000. L’état info.aiScriptSourceProgress indique p. ex. 5/12 pendant le traitement.",
122
+ "Cancel script KI hint": "Pour interrompre un long passage d’IA sur les scripts : état action.cancelScriptSourceAi, bouton ci-dessous, ou sendTo avec la commande cancelScriptSourceAi. La requête en cours peut encore se terminer ; les scripts suivants ne seront pas traités. info.aiScriptSourceProgress affiche cancelled à la fin de la phase.",
123
+ "Cancel script KI (running generation)": "Annuler l’IA scripts (génération en cours)",
124
+ "Cancel script KI": "Annuler l’IA scripts",
125
+ "Stop the optional per-script KI pass? The request that is already running may still finish; further scripts will not be started. (The main user/onboarding KI calls run before this phase.)": "Arrêter le passage d’explication par script ? La requête en cours peut encore se terminer ; les suivants ne démarreront pas. (Les appels user/onboarding passent en général avant cette phase.)",
126
+ "User/Family - hide from family": "User/Famille - masquer à la famille",
127
+ "User hide hint": "Les pièces et adaptateurs listés ici ne sont pas affichés dans le profil User/Famille.",
128
+ "Hidden rooms (User/Family)": "Pièces masquées (User/Famille)",
129
+ "User hidden rooms help": "Entrer le nom exact de la pièce tel qu'il apparaît dans ioBroker",
130
+ "Hidden adapters (User/Family)": "Adaptateurs masqués (User/Famille)",
131
+ "User hidden adapters help": "Entrer le nom de l'adaptateur sans numéro d'instance (ex. backitup)",
132
+ "Onboarding - hide from guests": "Onboarding - masquer aux invités",
133
+ "Onboarding hide hint": "Les pièces et adaptateurs listés ici ne sont pas affichés dans le profil Onboarding - utile pour les pièces techniques (serveur, sauvegarde) que les invités n'ont pas besoin de voir.",
134
+ "Hidden rooms (Onboarding)": "Pièces masquées (Onboarding)",
135
+ "Onboarding hidden rooms help": "Entrer le nom exact de la pièce tel qu'il apparaît dans ioBroker (ex. Salle serveur, Sauvegarde)",
136
+ "Room name (exact)": "Nom de la pièce (exact)",
137
+ "Hidden adapters (Onboarding)": "Adaptateurs masqués (Onboarding)",
138
+ "Onboarding hidden adapters help": "Entrer le nom de l'adaptateur sans numéro d'instance (ex. backitup, simple-api)",
139
+ "Onboarding guest view — list internal JavaScript file names": "Vue invité Onboarding : afficher les noms de fichiers JavaScript",
140
+ "onboarding guest script names help": "Désactivé (défaut) : l’onboarding invité n’affiche que le nombre d’automatisations JS actives — pas de noms de fichiers internes, et pas de lignes par script au démarrage rapide (le champ **common.desc** d’ioBroker n’est pas un libellé fiable côté invité). Activé : comportement hérité — jusqu’à cinq noms dans « Ce qui s’exécute automatiquement ? » plus une ligne courte ; le démarrage rapide peut encore lister nom + **common.desc** comme auparavant. Détails complets dans le profil documentation « admin ».",
141
+ "Adapter name (e.g. backitup)": "Nom de l'adaptateur (ex. backitup)",
142
+ "Manual context (JSON, legacy)": "Contexte manuel (JSON, héritage)",
143
+ "Legacy JSON field. Use the 'My documentation' tab instead. Only needed for migration.": "Champ JSON hérité. Utiliser l'onglet 'Ma documentation' à la place. Uniquement nécessaire pour la migration.",
144
+ "Notifications": "Notifications",
145
+ "Send notification after documentation generation": "Envoyer une notification après la génération de documentation",
146
+ "If enabled, a message is sent via the configured adapter after each generation": "Si activé, un message est envoyé via l'adaptateur configuré après chaque génération",
147
+ "Messaging adapter instance": "Instance d'adaptateur de messagerie",
148
+ "Instance to send the notification through, e.g. telegram.0, pushover.0, email.0": "Instance pour envoyer la notification, ex. telegram.0, pushover.0, email.0",
149
+ "Recipient (optional)": "Destinataire (optionnel)",
150
+ "Telegram username, Pushover device, or email address - leave empty for adapter default": "Nom d'utilisateur Telegram, appareil Pushover ou adresse e-mail — laisser vide pour le défaut",
151
+ "Custom message template (optional)": "Modèle de message personnalisé (optionnel)",
152
+ "Use {project}, {summary}, {version}, {trigger} as placeholders. Leave empty for default message.": "Utiliser {project}, {summary}, {version}, {trigger} comme espaces réservés. Laisser vide pour le message par défaut.",
153
+ "AI-Enhanced Documentation": "Documentation améliorée par IA",
154
+ "AI provider": "Fournisseur IA",
155
+ "Select an AI provider for narrative summaries. Not used for admin profile (all data is already factual).": "Sélectionner un fournisseur IA pour les résumés narratifs. Non utilisé pour le profil admin.",
156
+ "Disabled": "Désactivé",
157
+ "AI privacy warning": "⚠️ Note de confidentialité : les fournisseurs cloud (Mistral, Groq, Anthropic) reçoivent les noms d’adaptateurs et de pièces, les titres de scripts JavaScript et le texte d’objectif optionnel (common.desc) s’il est renseigné. Aucun mot de passe ni adresse IP n’est transmis, mais la structure de votre maison connectée est visible par le fournisseur. Ollama fonctionne localement — aucune donnée ne quitte votre réseau.",
158
+ "AI hardware hint": "ℹ️ Matériel modeste (p. ex. Raspberry Pi) ou Ollama sur CPU seulement: les petits modèles vont plus vite, mais le texte IA peut être plus faible — c'est normal. Vous pouvez désactiver l'IA; la doc Markdown/HTML est toujours générée à partir des données ioBroker réelles. Pour un meilleur texte: faites tourner Ollama sur un PC/NAS plus rapide et indiquez son URL, ou utilisez un fournisseur cloud si la confidentialité vous convient.",
159
+ "Ollama — local, private, free (recommended)": "Ollama — local, privé, gratuit (recommandé)",
160
+ "Mistral AI — EU/GDPR, free tier": "Mistral AI — UE/RGPD, niveau gratuit",
161
+ "Groq — US, free tier (data may be used for training)": "Groq — États-Unis, niveau gratuit (données pouvant être utilisées pour l'entraînement)",
162
+ "Anthropic Claude — paid, no training on data": "Anthropic Claude — payant, pas d'entraînement sur les données",
163
+ "Ollama recommended: runs locally, no data leaves your network. Cloud providers send adapter/room/script names to external servers.": "Ollama recommandé : fonctionne localement, aucune donnée ne quitte votre réseau. Les fournisseurs cloud envoient identifiants adaptateur/pièce, titres de scripts et tout texte common.desc optionnel vers des serveurs externes.",
164
+ "AI model (optional)": "Modèle IA (optionnel)",
165
+ "Leave empty for default. Ollama: llama3.2 / gemma3. Mistral: mistral-small-latest. Groq: llama-3.3-70b-versatile. Anthropic: claude-haiku-4-5-20251001": "Laisser vide pour le défaut. Ollama: llama3.2 / gemma3. Mistral: mistral-small-latest. Groq: llama-3.3-70b-versatile. Anthropic: claude-haiku-4-5-20251001",
166
+ "API key": "Clé API",
167
+ "Mistral: console.mistral.ai | Groq: starts with gsk_... | Anthropic: starts with sk-ant-... | Ollama: leave empty": "Mistral: console.mistral.ai | Groq: commence par gsk_... | Anthropic: commence par sk-ant-... | Ollama: laisser vide",
168
+ "Ollama base URL": "URL de base Ollama",
169
+ "Only for Ollama. Default: http://localhost:11434": "Uniquement pour Ollama. Défaut: http://localhost:11434",
170
+ "AI request timeout seconds (optional)": "Délai max. requête IA en secondes (optionnel)",
171
+ "Maximum wait for one LLM HTTP request. Default 300. Each generation uses several calls (user, onboarding, sometimes a German polish pass). Increase for slow local models on CPU (e.g. 480 or 600 for llama3.1:8b on NAS). Range 30–900.": "Attente maximale par requête HTTP LLM (secondes). Défaut 300. Chaque génération fait plusieurs appels (utilisateur, onboarding, parfois relecture allemande). Augmenter pour modèles locaux lents sur CPU (ex. 480 ou 600 pour llama3.1:8b sur NAS). Plage 30–900.",
172
+ "AI temperature — user profile (optional)": "Température IA — profil utilisateur (optionnel)",
173
+ "Sampling temperature for resident-facing AI text. Leave empty for the provider default. Typical range 0–2 (Ollama, Groq, Mistral); Anthropic accepts 0–1 (values above 1 are clamped). Lower ≈ steadier wording; higher ≈ more variation — tune after testing.": "Température d'échantillonnage pour le texte IA destiné aux résidents. Laisser vide pour la valeur par défaut du fournisseur. Plage typique 0–2 (Ollama, Groq, Mistral) ; Anthropic 0–1 (valeurs > 1 limitées). Plus bas ≈ texte plus stable ; plus haut ≈ plus de variation — à ajuster après tests.",
174
+ "AI temperature — onboarding (optional)": "Température IA — onboarding (optionnel)",
175
+ "Sampling temperature for guest/onboarding AI text. Same rules as user profile. The German Sie polish pass uses a fixed low temperature and ignores this field.": "Même principe que le profil utilisateur, pour le texte invités/onboarding. La passe de relecture allemande (vouvoiement « Sie ») utilise une température basse fixe et ignore ce champ.",
176
+ "English": "Anglais",
177
+ "German": "Allemand",
178
+ "French": "Français",
179
+ "User/Family": "Utilisateur/Famille",
180
+ "Onboarding": "Onboarding",
181
+ "AI context hints": "Indices de contexte IA",
182
+ "AI context hints (owner notes)": "Indices de contexte IA (notes opérateur)",
183
+ "AI context hints hint": "Faits optionnels sur le logement pour l'IA — uniquement dans l'invite au modèle, jamais dans la documentation exportée. Exemple : « - Lumières salon éteintes à 22 h ». **Onboarding invités :** préférez un langage courant (« nous finissons l'installation »). Du jargon IT/projet (« adapter », « repository »…) peut être recopié par le modèle ; un **filtre de sécurité** remplace alors le bloc IA invités par un texte neutre — comportement voulu. Le profil **résidents** n'a pas cette contrainte.",
184
+ "AI context hints help": "Points courts vus par l'IA seulement — pas dans la doc exportée. Confidentialité : envoyé au fournisseur IA. **Profil invités :** voir l'indication détaillée ci-dessus.",
185
+ "Filesystem export path (optional)": "Filesystem export path (optional)",
186
+ "Export path hint": "Optionnel : copie supplémentaire vers un chemin disque réel hors base ioBroker. Laisser vide pour désactiver. Les trois profils HTML y sont écrits ; si l’export PDF est activé et **puppeteer** est installé dans le dossier de l’adaptateur, les **autodoc-*.pdf** y sont aussi copiés.",
187
+ "Advanced section pdf export": "Export PDF (Puppeteer / Chromium optionnel)",
188
+ "Pdf export after generation label": "Générer un PDF après chaque documentation",
189
+ "Pdf export after generation help": "**Optionnel :** après chaque génération réussie, produire **autodoc-admin.pdf**, **autodoc-user.pdf**, **autodoc-onboarding.pdf** via Chromium headless (paquet npm **`puppeteer`** requis dans le **répertoire de l’adaptateur**). Mêmes drapeaux sandbox que Mermaid CLI. Mermaid **SVG intégré** (mermaid-cli optionnel) fonctionne hors ligne ; Mermaid **jsDelivr** exige le réseau pendant l’étape PDF. Gros documents : minutes et RAM/CPU. Déclenchement manuel : état **action.exportPdf** sans régénérer toute la doc.",
190
+ "multihostDistribution": "Répartition des hôtes",
191
+ "HTML export & extra sections": "Export HTML & sections supplémentaires",
192
+ "Doc layout intro": "Personnaliser le **HTML** généré (les trois profils) : mode clair/sombre, **préréglage de couleurs** (sans CSS brut), logo et chapitres Markdown libres. **Police** et **CSS supplémentaire** sont en **bas** de cet onglet (après chapitres visibles & sections) et **optionnels**. L'**ordre** et le **masquage** **admin** s'appliquent au HTML admin et au Markdown quand le profil de documentation est **admin**. Les listes de **masquage** **utilisateur/famille** et **onboarding** (p. ex. `ownerPlaybook`) sont **plus bas** sur cet onglet et concernent ces exports HTML et le Markdown si vous choisissez ce profil. L'export Markdown inclut aussi les chapitres personnalisés.",
193
+ "Doc layout pdf hint": "**Export PDF :** réglages sous **Avancé** (sous le chemin d’export disque) : option **PDF après chaque génération**, ou déclenchement via l’état **`action.exportPdf`**. Nécessite **`puppeteer`** optionnel dans le dossier de l’adaptateur. Écrit **`autodoc-{admin,user,onboarding}.pdf`** sous **Fichiers** de l’adaptateur et les copie aussi si un chemin d’export est défini.",
194
+ "Advanced HTML styling (optional)": "Mise en forme HTML avancée (optionnel)",
195
+ "Advanced HTML styling hint": "**Optionnel / utilisateurs avertis :** une police ou du CSS personnalisé modifient le rendu du HTML exporté. Une erreur de syntaxe ou une future mise à jour d’AutoDoc peut casser la mise en page — laissez vide si vous n’êtes pas sûr.",
196
+ "HTML color scheme": "Thème couleur (HTML)",
197
+ "HTML color scheme help": "**Auto :** le visiteur bascule clair/sombre ; préférence enregistrée dans le navigateur. **Clair / Sombre :** apparence fixe ; le bouton disparaît. Sans effet sur les fichiers Markdown.",
198
+ "HTML theme preset": "Préréglage de couleurs (HTML)",
199
+ "HTML theme preset help": "Ajuste la palette de **variables CSS** intégrée (fond, texte, liens, en-têtes de tableaux, …) pour le **HTML exporté** uniquement. Préférez ce réglage au **CSS supplémentaire** pour un rendu sûr. Fonctionne avec le **thème** ci-dessus (clairs et sombres chacun adaptés).",
200
+ "HTML theme preset default": "Par défaut",
201
+ "HTML theme preset high contrast": "Contraste élevé",
202
+ "HTML theme preset warm": "Chaud",
203
+ "HTML theme preset slate": "Ardoise",
204
+ "Sidebar logo URL": "URL du logo (barre latérale)",
205
+ "Sidebar logo URL help": "Image optionnelle au-dessus de la recherche dans le HTML. **https://…** ou chemin commençant par **/** (ex. fichier sous `/files/…`). Autres schémas ignorés.",
206
+ "Font stack (CSS)": "Police (font-family CSS)",
207
+ "Font stack help": "Valeur `font-family` optionnelle, ex. `Georgia, serif`. Les caractères `< > { }` sont supprimés.",
208
+ "Extra CSS": "CSS supplémentaire",
209
+ "Extra CSS help": "Ajouté à la fin du bloc `<style>` du HTML. N'insérez pas de `</style>`. Préférez des règles ciblées ; des sélecteurs trop larges peuvent surprendre après une mise à jour.",
210
+ "Admin HTML — hide chapters": "HTML admin — masquer des chapitres",
211
+ "Admin chapter order hint": "Facultatif : ordre des chapitres du HTML **admin** (et sommaire / corps Markdown **admin**) dans le **premier** champ JSON (`[]` = ordre intégré). Les ids omis sont ajoutés après, dans l'ordre produit par défaut. **La liste complète des ids anglais valides** figure **uniquement** dans l'**aide** de ce champ (icône `?`) — pas de doublon ici.",
212
+ "Admin chapter order (JSON array)": "Ordre des chapitres admin (JSON)",
213
+ "Admin chapter order JSON help": "Tableau de chaînes, ex. `[\"system\",\"adapters\",\"manual\"]`. **Ids valides (anglais, exacts) :** `manual`, `system`, `adapters`, `rooms`, `scripts`, `schedule`, `userdata`, `aliases`, `maintenance`, `diagnosis`, `troubleshooting`, `custom`, `changelog`, `appendices`. Inconnus ignorés ; non nommés ajoutés à la fin. `[]` = ordre intégré.",
214
+ "Admin hidden chapters hint": "**Ids** de chapitres à omettre dans le HTML **admin** et le **Markdown** (profil admin), ex. `[\"diagnosis\",\"changelog\"]`. **Mêmes ids valides** que pour l'ordre ; la **liste complète** est **uniquement** dans l'aide du champ **Ordre des chapitres admin** (plus bas sur la page). Entrées invalides ignorées.",
215
+ "Hidden chapter IDs (JSON array)": "Chapitres masqués (JSON)",
216
+ "Admin hidden chapters JSON help": "Tableau JSON de chaînes, ex. `[\"userdata\"]`. **Mêmes ids valides** que l'**ordre des chapitres admin** (liste complète dans l'aide de ce champ). `[]` = tout afficher.",
217
+ "Custom Markdown sections": "Chapitres Markdown personnalisés",
218
+ "Custom sections JSON hint": "Tableau d'objets : `{ \"title\": \"Wi-Fi\", \"body\": \"**Invités** …\", \"profiles\": [\"user\",\"onboarding\"] }`. **body** en Markdown (pas de HTML brut). **profiles** facultatif — absent = les trois profils HTML. Max. 12 sections.",
219
+ "Custom sections (JSON)": "Sections personnalisées (JSON)",
220
+ "Custom sections JSON help": "Voir l'aide ci-dessus. Relancer **Générer la documentation** après modification. Parcours **démonstration** (DE, Maison d'exemple) : https://github.com/crunchip77/ioBroker.autodoc/blob/main/docs/user-guide/README.de.md",
221
+ "User/Family HTML — hide chapters": "HTML utilisateur/famille — masquer des chapitres",
222
+ "User hidden chapters hint": "Tableau JSON d'ids pour le HTML **utilisateur/famille** et le **Markdown** (profil utilisateur). Ex. `[\"scripts\"]`. Ids : `manual`, `ai`, `guestHelp`, `atAGlance` (aperçu rapide d’après la découverte ; HTML + Markdown utilisateur), `rooms`, `scripts`, `routines`, `ownerPlaybook`, `mermaid` (diagramme Mermaid sous informations manuelles), `adapters`, `custom`, `system`, `troubleshooting`.",
223
+ "User profile — hidden chapter IDs (JSON)": "Profil utilisateur — chapitres masqués (JSON)",
224
+ "User hidden chapters JSON help": "Tableau JSON de chaînes. `[]` = tout afficher.",
225
+ "Onboarding HTML — hide chapters": "HTML onboarding — masquer des chapitres",
226
+ "Onboarding hidden chapters hint": "Masquer des blocs dans l'HTML **onboarding** et le **Markdown** (profil onboarding). Ids : `welcome`, `tips`, `guestHelp`, `stats`, `ai`, `capabilities`, `mermaid` (diagramme dans l’accueil), `rooms`, `routines`, `ownerPlaybook`, `automations`, `adapters`, `custom`, `hint`, plus pour le Markdown `quickstart`, `system`, `manual`.",
227
+ "Onboarding profile — hidden chapter IDs (JSON)": "Profil onboarding — chapitres masqués (JSON)",
228
+ "Onboarding hidden chapters JSON help": "Tableau JSON de chaînes. `[]` = tout afficher.",
229
+ "User chapter order hint": "Optionnel : reordonner les chapitres du HTML **utilisateur** et du **Markdown** (profil utilisateur). Ids valides : `manual`, `ai`, `guestHelp`, `atAGlance`, `rooms`, `scripts`, `routines`, `ownerPlaybook`, `mermaid`, `adapters`, `custom`, `system`, `troubleshooting`.",
230
+ "User chapter order (JSON array)": "Ordre des chapitres utilisateur (tableau JSON)",
231
+ "User chapter order JSON help": "Tableau JSON, ex. `[\"atAGlance\",\"rooms\",\"manual\"]`. Ids : `manual`, `ai`, `guestHelp`, `atAGlance`, `rooms`, `scripts`, `routines`, `ownerPlaybook`, `mermaid`, `adapters`, `custom`, `system`, `troubleshooting`. `[]` = ordre par defaut.",
232
+ "Onboarding chapter order hint": "Optionnel : reordonner les chapitres du HTML **onboarding** et du **Markdown** (profil onboarding). Ids valides : `welcome`, `quickstart`, `tips`, `guestHelp`, `stats`, `ai`, `capabilities`, `mermaid`, `rooms`, `routines`, `ownerPlaybook`, `automations`, `adapters`, `custom`, `hint`, `system`, `manual`.",
233
+ "Onboarding chapter order (JSON array)": "Ordre des chapitres onboarding (tableau JSON)",
234
+ "Onboarding chapter order JSON help": "Tableau JSON, ex. `[\"quickstart\",\"tips\",\"rooms\"]`. Ids : `welcome`, `quickstart`, `tips`, `guestHelp`, `stats`, `ai`, `capabilities`, `mermaid`, `rooms`, `routines`, `ownerPlaybook`, `automations`, `adapters`, `custom`, `hint`, `system`, `manual`. `[]` = ordre par defaut."
235
+ }
@@ -0,0 +1,229 @@
1
+ {
2
+ "autodoc adapter settings": "Impostazioni dell'adattatore per autodoc",
3
+ "Project name": "Project name",
4
+ "Name of the ioBroker project or installation": "Name of the ioBroker project or installation",
5
+ "Target system": "Target system",
6
+ "Usually ioBroker": "Usually ioBroker",
7
+ "Documentation profile": "Documentation profile",
8
+ "Target audience for the generated documentation": "Target audience for the generated documentation",
9
+ "Documentation language": "Documentation language",
10
+ "Language for the generated documentation": "Language for the generated documentation",
11
+ "English": "English",
12
+ "German": "German",
13
+ "Target audience for Markdown export and default focus. HTML always includes all three profiles (admin, user, onboarding). AI text for User/Onboarding HTML runs whenever a KI provider is set, regardless of this selection.": "Target audience for Markdown export and default focus. HTML always includes all three profiles (admin, user, onboarding). AI text for User/Onboarding HTML runs whenever a KI provider is set, regardless of this selection.",
14
+ "Project description": "Project description",
15
+ "Short description of what should be documented": "Short description of what should be documented",
16
+ "Additional notes": "Additional notes",
17
+ "Optional notes, devices, adapters or special requirements": "Optional notes, devices, adapters or special requirements",
18
+ "Generate documentation on adapter start": "Generate documentation on adapter start",
19
+ "If enabled, documentation is queued each time the adapter starts (runs in the background; the instance can show green before it finishes). If disabled, a run still happens once after an update when the built-in HTML renderer version no longer matches info.templateVersion. Check the log for \"Documentation generated via startup\" and state info.lastTrigger.": "If enabled, documentation is queued each time the adapter starts (runs in the background; the instance can show green before it finishes). If disabled, a run still happens once after an update when the built-in HTML renderer version no longer matches info.templateVersion. Check the log for \"Documentation generated via startup\" and state info.lastTrigger.",
20
+ "Generate documentation on adapter changes": "Generate documentation on adapter changes",
21
+ "If enabled, documentation is regenerated automatically when adapters are installed, removed, or enabled/disabled (30 second debounce)": "If enabled, documentation is regenerated automatically when adapters are installed, removed, or enabled/disabled (30 second debounce)",
22
+ "Read live state values (opt-in)": "Read live state values (opt-in)",
23
+ "If enabled, current values for selected state roles are read and shown in User/Onboarding room cards and the Admin device table (badges next to device names). Includes e.g. temperature, blinds (level.blind), dimmers, lights (switch.light), outlets (switch/plug), humidity, power metrics, locks, door/window/contact, motion, alarm. Room members may be channels or devices — matching child states are found automatically. Very custom or empty roles are skipped.": "If enabled, current values for selected state roles are read and shown in User/Onboarding room cards and the Admin device table (badges next to device names). Includes e.g. temperature, blinds (level.blind), dimmers, lights (switch.light), outlets (switch/plug), humidity, power metrics, locks, door/window/contact, motion, alarm. Room members may be channels or devices — matching child states are found automatically. Very custom or empty roles are skipped.",
24
+ "Scheduled interval (hours)": "Scheduled interval (hours)",
25
+ "Optional timer: regenerate every X hours, independent of start and adapter-change options above. 0 = no scheduled runs (events and start still work).": "Optional timer: regenerate every X hours, independent of start and adapter-change options above. 0 = no scheduled runs (events and start still work).",
26
+ "Only document enabled instances": "Only document enabled instances",
27
+ "If enabled, only active adapter instances are included in the documentation": "If enabled, only active adapter instances are included in the documentation",
28
+ "Hide instance details in markdown": "Hide instance details in markdown",
29
+ "If enabled, the markdown output contains only summary information without the full instance list": "If enabled, the markdown output contains only summary information without the full instance list",
30
+ "Maximum documented instances": "Maximum documented instances",
31
+ "Limits how many adapter instances are included in the generated documentation, 0 means unlimited": "Limits how many adapter instances are included in the generated documentation, 0 means unlimited",
32
+ "ioBroker base URL (optional)": "ioBroker base URL (optional)",
33
+ "Used for the info.htmlUrl state. Include port, e.g. 192.168.1.100:8081 or http://myserver:8082. Protocol is optional. Leave empty for auto-detection (may fail in Docker).": "Used for the info.htmlUrl state. Include port, e.g. 192.168.1.100:8081 or http://myserver:8082. Protocol is optional. Leave empty for auto-detection (may fail in Docker).",
34
+ "Maximum stored documentation files": "Maximum stored documentation files",
35
+ "How many timestamped file sets to keep (per type: .md, .html, .json). Oldest are deleted automatically. 0 = use default (3).": "How many timestamped file sets to keep (per type: .md, .html, .json). Oldest are deleted automatically. 0 = use default (3).",
36
+ "Documentation states storage": "Documentation states storage",
37
+ "Documentation states storage help": "Full: duplicate markdown, HTML, and JSON in adapter states (legacy, larger object DB / Redis). Metadata only: keep full exports only under Files (autodoc-latest.*); states hold a short placeholder — reduces database size. Scripts that read documentation.* for full text must use /files/ or HTTP URLs instead. Download actions still write autodoc.md / .json / .html from the latest files. In both modes **`documentation.exportHashes`** stores **SHA-256 (hex)** digests of the latest MD / Admin HTML / JSON exports for change detection. **After a successful PDF export** (optional `puppeteer`), the same state also includes **`autodoc-admin.pdf`**, **`autodoc-user.pdf`**, and **`autodoc-onboarding.pdf`** digests when those files are written.",
38
+ "Doc states mode full": "Full (in states — larger DB)",
39
+ "Doc states mode metadata": "Metadata only (content in /files only)",
40
+ "Manual context (JSON)": "Manual context (JSON)",
41
+ "Additional manual information to include in documentation (description, contact, notes)": "Additional manual information to include in documentation (description, contact, notes)",
42
+ "Basic settings": "Basic settings",
43
+ "Documentation & layout": "Documentation & layout",
44
+ "Admin tab orientation AI": "Optional: connect an AI provider to add short explanations in exports. Leave the provider on Disabled unless you want this. Local Ollama keeps data on your network; cloud providers send metadata and text to external servers — see the privacy note below.",
45
+ "Admin tab orientation basic": "You are on Basic settings: language, when documentation regenerates, optional live values in room cards, Generate now / last run / forum card. The tabs My documentation, Advanced, and HTML export & extra sections hold readable content and filters. Notifications and AI documentation at the end are optional.",
46
+ "Admin tab orientation documentation": "This tab holds reader-facing texts. Tab Advanced is for filters, Markdown detail limits, ioBroker base URL for links/QR codes, documentation storage mode, optional file copy, and the documentation setup score. Tab HTML export & extra sections controls colors/theme, chapter visibility and order, and custom Markdown. AI-only context hints for prompts (never in exports) live on AI documentation once a provider is enabled.",
47
+ "Admin tab orientation notify": "Optional: send a message (e.g. Telegram, email) after each documentation run. Skip this tab if you do not need alerts.",
48
+ "Basic section profile": "Profile & language",
49
+ "Basic section triggers": "When to regenerate",
50
+ "Basic section discovery": "Live values in the documentation",
51
+ "Basic section manual": "Run now & status",
52
+ "Manual section project": "Project, contact & notes",
53
+ "Doc section appearance": "Look, theme & logo",
54
+ "Doc section expert styling": "Optional: custom font & CSS",
55
+ "Advanced styling open hint": "Optional expert settings: change the font or add CSS on top of the **theme preset** and **color scheme** above. Leave empty to keep the default look. A syntax error in CSS can break the layout. **Chapter visibility and custom Markdown sections** are in the blocks **above** on this tab — not part of this section.",
56
+ "Doc section chapters": "Which chapters to show (per profile)",
57
+ "Notify section": "After each documentation run",
58
+ "AI section provider": "Provider, model & connection",
59
+ "AI section tuning": "Sampling temperature (optional)",
60
+ "AI section scripts": "JavaScript scripts (optional AI pass)",
61
+ "My documentation": "My documentation",
62
+ "Advanced": "Advanced",
63
+ "Advanced section content": "What to include & limits",
64
+ "Advanced section states": "State storage & public URL",
65
+ "Advanced section filesystem": "Optional: extra copy to disk",
66
+ "Advanced setup score intro": "The **documentation setup score** (below) appears in generated Admin documentation. One optional row checks that the **ioBroker base URL** above is not empty — useful for QR codes and bookmark links. Turn individual rows off or change thresholds if they do not fit your installation.",
67
+ "Advanced section maintenance score": "Documentation setup score",
68
+ "Maintenance score include description check": "Include project description length",
69
+ "Maintenance score description check help": "When enabled, the Admin export **documentation setup score** counts this row: “My documentation” — project description must reach at least the minimum length below. Turn off if you deliberately keep a short description.",
70
+ "Maintenance score include base URL check": "Include ioBroker base URL",
71
+ "Maintenance score base URL check help": "When enabled, the setup score requires a non-empty **ioBroker base URL** above (QR codes, bookmark links, troubleshooting bookmarks).",
72
+ "Maintenance score include unassigned check": "Include unassigned instances check",
73
+ "Maintenance score unassigned check help": "When enabled, the setup score fails when the number of enabled adapter instances not assigned to any room is **≥** the threshold below. Many setups skip rooms on purpose — raise the threshold or disable this check.",
74
+ "Maintenance score min description length": "Minimum project description length (characters)",
75
+ "Maintenance score min description length help": "Trimmed character count. Default 40; the adapter clamps to **5–2000**.",
76
+ "Maintenance score unassigned warn at": "Unassigned instances — warn from (count)",
77
+ "Maintenance score unassigned warn at help": "The check fails when the unassigned count is **≥** this value. Default **10**; the adapter clamps to **1–500**. Lower values are stricter.",
78
+ "Admin export scripts hint": "In the generated Admin HTML/Markdown, JavaScript scripts are listed by ioBroker folder (Global first, with a short reminder). This matches the Script Engine tree — not a separate AutoDoc setting.",
79
+ "AI documentation": "AI documentation",
80
+ "Manual documentation hint": "These fields are shown in all documentation profiles. Use “Help & emergencies”, “Routines (your words)”, and “How we run this home (your playbook)” for guests and family in plain language — nothing is invented automatically. Adapter and room notes make the documentation more readable for non-technical users. In the Admin HTML/Markdown export, JavaScript scripts are grouped by ioBroker folder; see the short note under “Global scripts” about execution order and sensible use.",
81
+ "Guest & family (plain language)": "Guest & family (plain language)",
82
+ "Help & emergencies (guests/family)": "Help & emergencies (guests/family)",
83
+ "Who to call, what to try if something fails, where the fuse box is — your words only; nothing is invented automatically.": "Who to call, what to try if something fails, where the fuse box is — your words only; nothing is invented automatically.",
84
+ "Routines & automations (your words)": "Routines & automations (your words)",
85
+ "Describe in everyday language what often runs by itself (lights, heating, blinds). Shown near the script list; complements technical script names.": "Describe in everyday language what often runs by itself (lights, heating, blinds). Shown near the script list; complements technical script names.",
86
+ "Troubleshooting — quick lines (optional)": "Troubleshooting — quick lines (optional)",
87
+ "Troubleshooting quick lines hint": "Short one-liners for guests and family (Wi‑Fi, power, water, other). They appear in the **Help & emergencies** block together with **bookmark links** to this documentation (same URLs as QR codes — requires **Base URL** under Advanced). All optional; nothing is invented automatically.",
88
+ "Quick: Wi-Fi / network": "Quick: Wi-Fi / network",
89
+ "One line, e.g. guest Wi-Fi name or where a repeater is — optional.": "One line, e.g. guest Wi-Fi name or where a repeater is — optional.",
90
+ "Quick: power / fuses": "Quick: power / fuses",
91
+ "One line, e.g. where the electrical panel is — optional.": "One line, e.g. where the electrical panel is — optional.",
92
+ "Quick: water shutoff": "Quick: water shutoff",
93
+ "One line, e.g. where to turn off main water — optional.": "One line, e.g. where to turn off main water — optional.",
94
+ "Quick: other": "Quick: other",
95
+ "One more short line (alarm code location, key box, etc.) — optional.": "One more short line (alarm code location, key box, etc.) — optional.",
96
+ "Contact person": "Contact person",
97
+ "Who manages this system? e.g. 'Max Mustermann, Telegram @max' - shown so guests and family know who to ask": "Who manages this system? e.g. 'Max Mustermann, Telegram @max' - shown so guests and family know who to ask",
98
+ "General notes": "General notes",
99
+ "General notes about this installation (e.g. special setups, known issues)": "General notes about this installation (e.g. special setups, known issues)",
100
+ "Per-adapter notes": "Per-adapter notes",
101
+ "Adapter notes": "Adapter notes",
102
+ "Add a human-readable note for specific adapters (shown in all profiles)": "Add a human-readable note for specific adapters (shown in all profiles)",
103
+ "Adapter (e.g. telegram)": "Adapter (e.g. telegram)",
104
+ "Note": "Note",
105
+ "Per-room notes": "Per-room notes",
106
+ "Room notes": "Room notes",
107
+ "Add a human-readable note for specific rooms (shown in User and Onboarding profiles)": "Add a human-readable note for specific rooms (shown in User and Onboarding profiles)",
108
+ "Room name": "Room name",
109
+ "Generate now hint": "Click the button below to generate the documentation immediately without restarting the adapter. All three profiles (Admin, User, Onboarding) are generated simultaneously.",
110
+ "Generate documentation now": "Generate documentation now",
111
+ "Generate documentation": "Generate documentation",
112
+ "Start documentation generation now? This may take a few seconds.": "Start documentation generation now? This may take a few seconds.",
113
+ "Generate": "Generate",
114
+ "Cancel": "Cancel",
115
+ "Last generated": "Last generated",
116
+ "Forum system card (plaintext)": "Forum system card (plaintext)",
117
+ "AI explain JavaScript scripts (opt-in)": "AI explain JavaScript scripts (opt-in)",
118
+ "Sends sanitized script source to the same AI provider to add short plain-language explanations in User/Onboarding docs. Lines matching common secret patterns are redacted first; still review before enabling on production systems.": "Sends sanitized script source to the same AI provider to add short plain-language explanations in User/Onboarding docs. Lines matching common secret patterns are redacted first; still review before enabling on production systems.",
119
+ "Max characters of script source per KI call": "Max characters of script source per KI call",
120
+ "How many characters of each script (after redaction) are sent to the model; longer sources are truncated. Default 12000. Lower to speed up or fit small context; raise only if your model and timeout allow. Range 2000–100000. State info.aiScriptSourceProgress shows e.g. 5/12 while processing.": "How many characters of each script (after redaction) are sent to the model; longer sources are truncated. Default 12000. Lower to speed up or fit small context; raise only if your model and timeout allow. Range 2000–100000. State info.aiScriptSourceProgress shows e.g. 5/12 while processing.",
121
+ "Cancel script KI hint": "Use this if a long script-AI run must be stopped: set action.cancelScriptSourceAi, use the button, or sendTo command cancelScriptSourceAi. The current KI request may still finish; further scripts are skipped. info.aiScriptSourceProgress shows cancelled when the phase ends.",
122
+ "Cancel script KI (running generation)": "Cancel script KI (running generation)",
123
+ "Cancel script KI": "Cancel script KI",
124
+ "Stop the optional per-script KI pass? The request that is already running may still finish; further scripts will not be started. (The main user/onboarding KI calls run before this phase.)": "Stop the optional per-script KI pass? The request that is already running may still finish; further scripts will not be started. (The main user/onboarding KI calls run before this phase.)",
125
+ "User/Family - hide from family": "User/Family - hide from family",
126
+ "User hide hint": "Rooms and adapters listed here are not shown in the User/Family profile.",
127
+ "Hidden rooms (User/Family)": "Hidden rooms (User/Family)",
128
+ "User hidden rooms help": "Enter the exact room name as it appears in ioBroker",
129
+ "Hidden adapters (User/Family)": "Hidden adapters (User/Family)",
130
+ "User hidden adapters help": "Enter the adapter name without instance number (e.g. backitup)",
131
+ "Onboarding - hide from guests": "Onboarding - hide from guests",
132
+ "Onboarding hide hint": "Rooms and adapters listed here are not shown in the Onboarding profile - useful for technical rooms (server, backup) that guests do not need to see.",
133
+ "Hidden rooms (Onboarding)": "Hidden rooms (Onboarding)",
134
+ "Onboarding hidden rooms help": "Enter the exact room name as it appears in ioBroker (e.g. Server room, Backup)",
135
+ "Room name (exact)": "Room name (exact)",
136
+ "Hidden adapters (Onboarding)": "Hidden adapters (Onboarding)",
137
+ "Onboarding hidden adapters help": "Enter the adapter name without instance number (e.g. backitup, simple-api)",
138
+ "Onboarding guest view — list internal JavaScript file names": "Onboarding guest view — list internal JavaScript file names",
139
+ "onboarding guest script names help": "Off (default): guest Onboarding shows only how many JavaScript automations are active — no internal script file names, and no per-script lines in Quick Start (ioBroker **common.desc** is not a reliable guest-facing “description”). On: legacy — up to five script names in “What runs automatically?” plus a short “more running” line; Quick Start may still list scripts with name + **common.desc** as today. Full detail stays in the Admin profile.",
140
+ "Adapter name (e.g. backitup)": "Adapter name (e.g. backitup)",
141
+ "Manual context (JSON, legacy)": "Manual context (JSON, legacy)",
142
+ "Legacy JSON field. Use the 'My documentation' tab instead. Only needed for migration.": "Legacy JSON field. Use the 'My documentation' tab instead. Only needed for migration.",
143
+ "French": "French",
144
+ "User/Family": "User/Family",
145
+ "Notifications": "Notifications",
146
+ "Send notification after documentation generation": "Send notification after documentation generation",
147
+ "If enabled, a message is sent via the configured adapter after each generation": "If enabled, a message is sent via the configured adapter after each generation",
148
+ "Messaging adapter instance": "Messaging adapter instance",
149
+ "Instance to send the notification through, e.g. telegram.0, pushover.0, email.0": "Instance to send the notification through, e.g. telegram.0, pushover.0, email.0",
150
+ "Recipient (optional)": "Recipient (optional)",
151
+ "Telegram username, Pushover device, or email address — leave empty for adapter default": "Telegram username, Pushover device, or email address — leave empty for adapter default",
152
+ "Custom message template (optional)": "Custom message template (optional)",
153
+ "Use {project}, {summary}, {version}, {trigger} as placeholders. Leave empty for default message.": "Use {project}, {summary}, {version}, {trigger} as placeholders. Leave empty for default message.",
154
+ "AI-Enhanced Documentation": "AI-Enhanced Documentation",
155
+ "AI provider": "AI provider",
156
+ "Select an AI provider for narrative summaries. Disabled for admin profile (all data is already factual). Not used for admin profile.": "Select an AI provider for narrative summaries. Not used for admin profile (all data is already factual).",
157
+ "Disabled": "Disabled",
158
+ "AI privacy warning": "⚠️ Privacy note: Cloud providers (Mistral, Groq, Anthropic) receive adapter names, room names, JavaScript script titles, and optional script purpose text (common.desc) when present. No passwords or IP addresses are sent, but your smart home structure is visible to the provider. Ollama runs locally — nothing leaves your network.",
159
+ "AI hardware hint": "ℹ️ Low-power hosts (e.g. Raspberry Pi) or CPU-only Ollama: small models run faster but summaries may be rougher or less reliable — that is expected. You can disable AI here; Markdown/HTML docs still generate from your real ioBroker data. For better text: run Ollama on a faster PC/NAS and set the Ollama base URL to that host, or use a cloud provider if the privacy trade-off is acceptable.",
160
+ "Ollama — local, private, free (recommended)": "Ollama — local, private, free (recommended)",
161
+ "Mistral AI — EU/GDPR, free tier": "Mistral AI — EU/GDPR, free tier",
162
+ "Groq — US, free tier (data may be used for training)": "Groq — US, free tier (data may be used for training)",
163
+ "Anthropic Claude — paid, no training on data": "Anthropic Claude — paid, no training on data",
164
+ "Ollama recommended: runs locally, no data leaves your network. Cloud providers send adapter/room/script names to external servers.": "Ollama recommended: runs locally, no data leaves your network. Cloud providers send adapter and room identifiers, script titles, and any optional common.desc text to external servers.",
165
+ "AI model (optional)": "AI model (optional)",
166
+ "Leave empty for default. Ollama: llama3.2 / gemma3. Mistral: mistral-small-latest. Groq: llama-3.3-70b-versatile. Anthropic: claude-haiku-4-5-20251001": "Leave empty for default. Ollama: llama3.2 / gemma3. Mistral: mistral-small-latest. Groq: llama-3.3-70b-versatile. Anthropic: claude-haiku-4-5-20251001",
167
+ "API key": "API key",
168
+ "Mistral: console.mistral.ai | Groq: starts with gsk_... | Anthropic: starts with sk-ant-... | Ollama: leave empty": "Mistral: console.mistral.ai | Groq: starts with gsk_... | Anthropic: starts with sk-ant-... | Ollama: leave empty",
169
+ "Ollama base URL": "Ollama base URL",
170
+ "Only for Ollama. Default: http://localhost:11434": "Only for Ollama. Default: http://localhost:11434",
171
+ "AI request timeout seconds (optional)": "AI request timeout seconds (optional)",
172
+ "Maximum wait for one LLM HTTP request. Default 300. Each generation uses several calls (user, onboarding, sometimes a German polish pass). Increase for slow local models on CPU (e.g. 480 or 600 for llama3.1:8b on NAS). Range 30–900.": "Maximum wait for one LLM HTTP request. Default 300. Each generation uses several calls (user, onboarding, sometimes a German polish pass). Increase for slow local models on CPU (e.g. 480 or 600 for llama3.1:8b on NAS). Range 30–900.",
173
+ "AI temperature — user profile (optional)": "AI temperature — user profile (optional)",
174
+ "Sampling temperature for resident-facing AI text. Leave empty for the provider default. Typical range 0–2 (Ollama, Groq, Mistral); Anthropic accepts 0–1 (values above 1 are clamped). Lower ≈ steadier wording; higher ≈ more variation — tune after testing.": "Sampling temperature for resident-facing AI text. Leave empty for the provider default. Typical range 0–2 (Ollama, Groq, Mistral); Anthropic accepts 0–1 (values above 1 are clamped). Lower ≈ steadier wording; higher ≈ more variation — tune after testing.",
175
+ "AI temperature — onboarding (optional)": "AI temperature — onboarding (optional)",
176
+ "Sampling temperature for guest/onboarding AI text. Same rules as user profile. The German Sie polish pass uses a fixed low temperature and ignores this field.": "Sampling temperature for guest/onboarding AI text. Same rules as user profile. The German Sie polish pass uses a fixed low temperature and ignores this field.",
177
+ "Filesystem export path (optional)": "Filesystem export path (optional)",
178
+ "Export path hint": "Optional: additional export to a real filesystem path outside ioBroker's database. Leave empty to disable. Examples: /mnt/nas/autodoc, D:\\Docs\\smarthome. All three profiles (admin/user/onboarding) are written as HTML files. When PDF export is enabled and **puppeteer** is installed in this adapter folder, matching **autodoc-*.pdf** files are mirrored here too. Useful for accessing the documentation when ioBroker is down, or for serving via a web server.",
179
+ "Advanced section pdf export": "PDF export (optional Puppeteer / Chromium)",
180
+ "Pdf export after generation label": "Generate PDF after each documentation run",
181
+ "Pdf export after generation help": "**Optional:** after each successful generation, create **autodoc-admin.pdf**, **autodoc-user.pdf**, **autodoc-onboarding.pdf** via headless Chromium (**npm package `puppeteer`** must be installed in **this adapter directory**, e.g. clone/tarball → `npm install puppeteer` or enable optional dependencies during install). Uses the same sandbox flags as Mermaid CLI (Docker/LXC-friendly). **Embedded Mermaid SVG** (optional @mermaid-js/mermaid-cli) prints offline; **jsDelivr** client Mermaid needs internet during the PDF step. Large documents can take minutes and use noticeable RAM/CPU. You can also trigger PDFs manually with the adapter state **action.exportPdf** (no full regeneration).",
182
+ "multihostDistribution": "Host Distribution",
183
+ "AI context hints": "AI context hints",
184
+ "AI context hints (owner notes)": "AI context hints (owner notes)",
185
+ "AI context hints hint": "Optional bullet-point facts about your home for the AI — used only in the AI prompt, never shown in the documentation. Example: '- Lights in living room auto-off at 22:00', '- Guests can control temperature via voice'. The more specific, the better the AI text quality. — **Guest onboarding:** Prefer everyday wording (e.g. \"we are still setting things up\", \"docs will be expanded\"). If you pack in IT/project jargon (\"adapter\", \"repository\", \"not in the repo\", …), the model may repeat it in guest-facing text. A **safety filter** then replaces the guest AI block with a neutral default so visitors do not read admin-style jargon. That behaviour is intentional; relaxing it would weaken guest-safe output. The **resident / family profile** is not subject to this rule.",
186
+ "AI context hints help": "Short points only the AI sees — not shown in exported documentation. Privacy: sent to the configured AI provider. — **Guest profile:** See the longer hint above: technical wording in context hints can cause the guest AI text to be discarded and replaced with neutral copy.",
187
+ "HTML export & extra sections": "HTML export & extra sections",
188
+ "Doc layout intro": "Tune generated **HTML** (all three profiles): optional forced light/dark mode, a **color preset** (no raw CSS), logo, and your own Markdown chapters. **Font** and **extra CSS** are optional expert settings at the **bottom** of this tab (after chapter visibility and custom sections). Admin **chapter order** and **hide list** apply to Admin HTML and Admin-profile Markdown. **Hide lists** for **User/Family** and **Onboarding** (e.g. `ownerPlaybook`) are **below** on this tab and affect those HTML exports and Markdown when that documentation profile is selected. Markdown also uses your custom sections.",
189
+ "Doc layout pdf hint": "**PDF export:** settings are on the **Advanced** tab (below filesystem export path): optional **PDF after each generation**, or use the **`action.exportPdf`** button state any time. Requires optional **`puppeteer`** in the adapter directory. Writes **`autodoc-{admin,user,onboarding}.pdf`** under adapter **Files** and mirrors them when a filesystem export path is set.",
190
+ "Advanced HTML styling (optional)": "Advanced HTML styling (optional)",
191
+ "Advanced HTML styling hint": "**Expert / optional:** Custom font and CSS change how exported HTML looks. Syntax mistakes or future AutoDoc updates can make the layout look wrong — leave these fields empty if you are unsure.",
192
+ "HTML color scheme": "HTML color scheme",
193
+ "Auto (viewer toggle + saved preference)": "Auto (viewer toggle + saved preference)",
194
+ "Light only": "Light only",
195
+ "Dark only": "Dark only",
196
+ "HTML color scheme help": "**Auto:** visitors can toggle light/dark; preference is stored in the browser. **Light / Dark:** fixed look; the toggle is hidden. Does not affect Markdown files.",
197
+ "HTML theme preset": "HTML color preset",
198
+ "HTML theme preset help": "Adjusts the built-in **CSS variable** palette (background, text, links, table headers, …) for **exported HTML** only. Lighter on writing custom CSS: change the preset first, use **Extra CSS** only for fine-tuning. Works with the **color scheme** above (light and dark each get a matching palette).",
199
+ "HTML theme preset default": "Default",
200
+ "HTML theme preset high contrast": "High contrast",
201
+ "HTML theme preset warm": "Warm",
202
+ "HTML theme preset slate": "Slate",
203
+ "Sidebar logo URL": "Sidebar logo URL",
204
+ "Sidebar logo URL help": "Optional image above the search box in exported HTML. Use **https://…** or a same-site path starting with **/** (e.g. a file under ioBroker `/files/…`). Other schemes are ignored.",
205
+ "Font stack (CSS)": "Font stack (CSS)",
206
+ "Font stack help": "Optional `font-family` value for body text, e.g. `Georgia, serif` or `system-ui, sans-serif`. Characters `< > { }` are stripped for safety.",
207
+ "Extra CSS": "Extra CSS",
208
+ "Extra CSS help": "Appended to the HTML `<style>` block. For branding (accent colours, spacing). You control this CSS — avoid pasting untrusted content. Do not close `</style>` inside this field. Prefer small rules; overly broad selectors can break the page after updates.",
209
+ "Admin HTML — hide chapters": "Admin HTML — hide chapters",
210
+ "Admin chapter order hint": "Optional: reorder **Admin** HTML and **Admin** Markdown. Enter **chapter ids** in the JSON field below (`[]` = built-in order). Ids you omit are appended in the default product order at the end. The **full list of valid English ids** appears **only** in that field’s help (click the `?` tooltip) — it is not repeated here.",
211
+ "Admin chapter order (JSON array)": "Admin chapter order (JSON array)",
212
+ "Admin chapter order JSON help": "JSON array of strings, e.g. `[\"system\",\"adapters\",\"manual\"]`. **Valid chapter ids (exact English):** `manual`, `system`, `adapters`, `rooms`, `scripts`, `schedule`, `userdata`, `aliases`, `maintenance`, `diagnosis`, `troubleshooting`, `custom`, `changelog`, `appendices`. Unknown ids are skipped; ids you do not name are added at the end in default order. Empty `[]` = built-in order.",
213
+ "Admin hidden chapters hint": "Chapter **ids** to omit from **Admin** HTML and from **Markdown** when the profile is Admin — e.g. `[\"diagnosis\",\"changelog\",\"custom\"]`. **Same valid English ids** as for **chapter order**; the full list is **only** in the help for **Admin chapter order** (that JSON field is **below** on this page). Invalid ids are ignored.",
214
+ "Hidden chapter IDs (JSON array)": "Hidden chapter IDs (JSON array)",
215
+ "Admin hidden chapters JSON help": "JSON array of strings, e.g. `[\"userdata\",\"aliases\"]`. **Same valid ids** as **Admin chapter order** (see that field’s help for the full list). Empty `[]` = show all chapters.",
216
+ "Custom Markdown sections": "Custom Markdown sections",
217
+ "Custom sections JSON hint": "JSON array of objects: `{ \"title\": \"Wi-Fi\", \"body\": \"**Guest** …\", \"profiles\": [\"user\",\"onboarding\"] }`. **body** is Markdown (no raw HTML). **profiles** optional — omit to show in all three HTML profiles. Max 12 sections; long text is truncated. Example uses: emergency contacts, Wi-Fi, router model.",
218
+ "Custom sections (JSON)": "Custom sections (JSON)",
219
+ "Custom sections JSON help": "See the hint above. After editing, run **Generate documentation** again. **Walkthrough** (German, fictional demo home): https://github.com/crunchip77/ioBroker.autodoc/blob/main/docs/user-guide/README.de.md",
220
+ "User/Family HTML — hide chapters": "User/Family HTML — hide chapters",
221
+ "User hidden chapters hint": "JSON array of chapter ids to hide in **User/Family** HTML and in **Markdown** when the documentation profile is User. Example: `[\"scripts\",\"adapters\"]`. Valid ids: `manual` (project description/contact/notes only), `ai`, `guestHelp`, `atAGlance` (Quick overview from discovery; User HTML + User Markdown), `rooms`, `scripts`, `routines`, `ownerPlaybook`, `adapters`, `custom`, `system`, `troubleshooting`.",
222
+ "User profile — hidden chapter IDs (JSON)": "User profile — hidden chapter IDs (JSON)",
223
+ "User hidden chapters JSON help": "JSON array of strings. Empty `[]` shows all.",
224
+ "Onboarding HTML — hide chapters": "Onboarding HTML — hide chapters",
225
+ "Onboarding hidden chapters hint": "Hide blocks in **Onboarding** HTML and matching parts of **Markdown** (profile Onboarding). Valid ids: `welcome`, `tips`, `guestHelp`, `stats`, `ai`, `capabilities`, `rooms`, `routines`, `ownerPlaybook`, `automations`, `adapters`, `custom`, `hint`, plus for Markdown also `quickstart`, `system`, `manual` (project description/contact in welcome + manual chapter subsections).",
226
+ "Onboarding profile — hidden chapter IDs (JSON)": "Onboarding profile — hidden chapter IDs (JSON)",
227
+ "Onboarding hidden chapters JSON help": "JSON array of strings. Empty `[]` shows all.",
228
+ "copyForForum": "Copy for Forum"
229
+ }