17. [Optionnel ] Dictionnaire dynamique des messages console (Requis si application de l'article précédent)

Module Optionnel (Dictionnaire) : Après avoir créé les raccourcis de macros en français, ce second volet aborde la francisation des notifications émises par Klipper dans la console. En centralisant les textes dans le fichier ZEW-Dictionary_FR.cfg, vous séparez le code fonctionnel des chaînes de caractères. Une méthode élégante pour maintenir et traduire vos scripts sans altérer la logique des macros.

1. Structure du dictionnaire ZEW-Dictionary_FR.cfg

Créez le fichier suivant : ~/printer_data/config/Languages/ZEW-Dictionary_FR.cfg.

Ce fichier contient une macro factice _ZEW_DICT_FR dont les variables hébergent les messages d'avertissement et d'état transmis à la console :

#############################################################################
#############################################################################
#  ZEW-Neptune4Max V1.0 | COMPOSANT D'INTERFACE PERSONNALISÉ
#  -------------------------------------------------------------------------
#  MODULE     : DICTIONNAIRE DE TRADUCTION FRANÇAISE (ZEW-Dictionary_FR.cfg)
#  FONCTION   : Stockage des messages dynamiques de la Console
#  CONÇU PAR  : Frédéric IMBERT
#  VERSION    : 1.0.0 (2026-05-05)
#  STATUT     : PRODUCTION / STABLE
#############################################################################

[gcode_macro _ZEW_DICT_FR]
# --- Variable d'identification ZEW ---
variable_zew_prefix: "<b>ZEW-N4Max:</b>"

# --- Messages de la Console (Screws Tune) ---
variable_zew_screws_start: "🔩 Initialisation du réglage des vis. Nettoyage du maillage actif..."
variable_zew_screws_heat:  "🌡️ Chauffage du plateau cible : 60°C. Stabilisation en cours..."
variable_zew_screws_home:  "🎯 Température atteinte. Prise des origines (Homing)..."
variable_zew_screws_calc:  "📊 Analyse de la planéité aux points de vis..."

2. Adaptation de la macro et intégration du nappage linguistique

La macro francisée d'aide au réglage des vis REGLER_VIS_PLATEAU (présente dans votre fichier d'interface) a été spécialement adaptée pour consommer ces variables. Plutôt que d'écrire les messages directement en dur dans le code G-code, elle interroge le dictionnaire factice :

[gcode_macro REGLER_VIS_PLATEAU]
description: 🔩 Aide au réglage manuel des vis (Screws Tilt Adjust)
gcode:
    {% set txt = printer["gcode_macro _ZEW_DICT_FR"] %}
    
    RESPOND MSG="{txt.zew_prefix} {txt.zew_screws_start}"
    BED_MESH_CLEAR
    
    RESPOND MSG="{txt.zew_prefix} {txt.zew_screws_heat}"
    SET_BED_TEMPERATURE TARGET=60
    BED_TEMPERATURE_WAIT MINIMUM=58
    
    RESPOND MSG="{txt.zew_prefix} {txt.zew_screws_home}"
    CG28
    
    RESPOND MSG="{txt.zew_prefix} {txt.zew_screws_calc}"
    SCREWS_TILT_CALCULATE

Pour créer de nouvelles macros tirant parti de ce dictionnaire, voici comment se décompose cette mécanique :

  • Chargement du pointeur Jinja2 : La ligne {% set txt = printer["gcode_macro _ZEW_DICT_FR"] %} crée un objet local txt qui stocke l'intégralité des clés définies dans la macro factice _ZEW_DICT_FR.
  • Concaténation du préfixe unifié : L'expression {txt.zew_prefix} réinjecte dynamiquement l'entête visuelle (ex: <b>ZEW-N4Max:</b>) pour maintenir une identité visuelle cohérente sur toutes vos notifications.
  • Appel dynamique de la variable : L'instruction RESPOND MSG="{txt.zew_prefix} {txt.zew_screws_start}" extrait le texte traduit correspondant sans altérer la séquence fonctionnelle (BED_MESH_CLEAR, CG28, etc.).

Règle d'or pour vos futures macros

Si vous développez de nouvelles procédures complexes (ex: changement de buse, purge avancee, nettoyage), déclarez systématiquement vos chaînes de texte sous forme de variables variable_zew_nomdemacro_etape dans le fichier ZEW-Dictionary_FR.cfg. Il vous suffira de dupliquer ce fichier en d'autres langues pour adapter instantanément l'intégralité de la console.

3. Déclaration dans l'architecture printer.cfg

Pour finaliser l'installation du bloc de langues, déclarez le dictionnaire juste au-dessus du fichier d'interface dans votre printer.cfg :

# --- INTELLIGENCE (Macros) ---
[include Macros/Macros.cfg]
[include Macros/Helpers.cfg]
[include Macros/Filament.cfg]

# --- LANGUAGES (Optionnel Mainsail) ---
[include Languages/ZEW-Dictionary_FR.cfg] # Dictionnaire de variables dynamiques
[include Languages/ZEW-Interface_FR.cfg] # Wrappers de macros en Français

# --- DEBUG & DIAGNOSTIC ---
#[include Debug/Klipper_Debug.cfg]
Choix utilisateur pour les Cookies
Nous utilisons des cookies afin de vous proposer les meilleurs services possibles. Si vous déclinez l'utilisation de ces cookies, le site web pourrait ne pas fonctionner correctement.
Tout accepter
Tout décliner
Analytique
Outils utilisés pour analyser les données de navigation et mesurer l'efficacité du site internet afin de comprendre son fonctionnement.
Google Analytics
Accepter
Décliner
Publicité
Si vous acceptez, les annonces présentes sur la page seront adaptées à vos préférences.
Publicité Google
Accepter
Décliner
Sauvegarder