diff --git a/README.fr.md b/README.fr.md
new file mode 100644
index 0000000..bfae8eb
--- /dev/null
+++ b/README.fr.md
@@ -0,0 +1,21 @@
+---
+gitea: none
+include_toc: true
+---
+[🇬🇧 (EN)](README.md) - [🇫🇷 (FR)](README.fr.md)
+
+## Export de la configuration au format JSON
+
+> [!NOTE]
+>
+> Exporter la configuration au format JSON permet de traiter plus facilement la configuration dans un outil exterieur par exemple.\
+> **Chemin** : json\
+> *`désactivé`*\
+> **Désactivé** : si json n'est pas présent dans "[Sélection pour sortie](#step.output)"
+
+| Variable | Description | Valeur par défaut | Type |
+|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------|
+| **json.mandatory**
**Ligne de commande** :
• --json.mandatory
• --json.no-mandatory
**Variable d'environnement** : JSON.MANDATORY | Tester les variables obligatoires avant de l'afficher en JSON.
La configuration doit être valide avant d'exporter les données au format JSON. C'est mieux de valider les valeurs en début du processus. | true si "[La configuration dans l'état de sortie est dans mode lecture-écriture](#cli.read_write)" est false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `obligatoire` |
+| **json.get**
**Ligne de commande** :
--json.get
**Variable d'environnement** : JSON.GET | Récupère la valeur pour une variable ou une famille.
Par défaut toute la configuration est exporté en JSON. Il est possible de récupérer les valeurs de variables dans une famille défini ou directement la valeur d'une variable.
**Exemples** :
• family
• family.variable | | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) |
+
+
diff --git a/README.md b/README.md
index a3a5004..5a6f0eb 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,21 @@
-# rougail-output-json
+---
+gitea: none
+include_toc: true
+---
+[🇬🇧 (EN)](README.md) - [🇫🇷 (FR)](README.fr.md)
+
+## Export configuration to JSON format
+
+> [!NOTE]
+>
+> Exporting the configuration in JSON format makes it easier to process the configuration in an external tool, for example.\
+> **Path**: json\
+> *`disabled`*\
+> **Disabled**: if json is not set in "[Select for output](#step.output)"
+
+| Variable | Description | Default value | Type |
+|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------|
+| **json.mandatory**
**Command line**:
• --json.mandatory
• --json.no-mandatory
**Environment variable**: JSON.MANDATORY | Test mandatories variables before display in JSON.
The configuration must be valid before exporting the data to JSON format. It's better to validate the values at the beginning of the process. | true if "[Configuration in output step is in read_write mode](#cli.read_write)" is false | [`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` |
+| **json.get**
**Command line**:
--json.get
**Environment variable**: JSON.GET | Get value for a variable or a family.
By default, the entire configuration is exported as JSON. It is possible to retrieve variables values from a defined family or directly the value of a variable.
**Examples**:
• family
• family.variable | | [`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) |
+
diff --git a/locale/fr/LC_MESSAGES/rougail_output_json.po b/locale/fr/LC_MESSAGES/rougail_output_json.po
index a540148..ee7b4be 100644
--- a/locale/fr/LC_MESSAGES/rougail_output_json.po
+++ b/locale/fr/LC_MESSAGES/rougail_output_json.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"POT-Creation-Date: 2025-10-05 21:25+0200\n"
-"PO-Revision-Date: 2025-10-05 21:26+0200\n"
+"POT-Creation-Date: 2025-12-24 09:33+0100\n"
+"PO-Revision-Date: 2025-12-24 09:33+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
@@ -14,36 +14,74 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
-"X-Generator: Poedit 3.7\n"
+"X-Generator: Poedit 3.8\n"
-#: src/rougail/output_json/__init__.py:48
+#: src/rougail/output_json/__init__.py:50
msgid "the \"step.output\" is not set to \"{0}\""
msgstr "\"step.output\" n'est pas mis Ă \"{0}\""
-#: src/rougail/output_json/__init__.py:105
+#: src/rougail/output_json/__init__.py:111
msgid "Error in config: {0}"
msgstr "Erreur dans la configuration : {0}"
-#: src/rougail/output_json/__init__.py:115
+#: src/rougail/output_json/__init__.py:121
msgid "The following variables are mandatory but have no value:"
msgstr "Les variables suivantes sont obligatoire mais n'ont pas de valeur :"
-#: src/rougail/output_json/__init__.py:125
+#: src/rougail/output_json/__init__.py:131
msgid "The following variables are inaccessible but are empty and mandatory :"
-msgstr "Les variables suivantes sont inaccessibles mais sont vides et obligatoires :"
+msgstr ""
+"Les variables suivantes sont inaccessibles mais sont vides et obligatoires :"
#: src/rougail/output_json/config.py:29
-msgid "configuration rougail-json"
-msgstr "configuration de rougail-json"
+msgid "Export configuration to JSON format"
+msgstr "Export de la configuration au format JSON"
-#: src/rougail/output_json/config.py:37
-msgid "test mandatories variables before display in json"
-msgstr "tester les variables obligatoires avant de l'afficher en json"
+#: src/rougail/output_json/config.py:31
+msgid ""
+"Exporting the configuration in JSON format makes it easier to process the "
+"configuration in an external tool, for example."
+msgstr ""
+"Exporter la configuration au format JSON permet de traiter plus facilement "
+"la configuration dans un outil exterieur par exemple."
-#: src/rougail/output_json/config.py:48
+#: src/rougail/output_json/config.py:36
+msgid "if json is not set in \"step.output\""
+msgstr "si json n'est pas présent dans \"step.output\""
+
+#: src/rougail/output_json/config.py:39
+msgid "test mandatories variables before display in JSON"
+msgstr "tester les variables obligatoires avant de l'afficher en JSON"
+
+#: src/rougail/output_json/config.py:41
+msgid ""
+"The configuration must be valid before exporting the data to JSON format. "
+"It's better to validate the values at the beginning of the process."
+msgstr ""
+"La configuration doit être valide avant d'exporter les données au format "
+"JSON. C'est mieux de valider les valeurs en début du processus."
+
+#: src/rougail/output_json/config.py:46
+msgid "true if \"cli.read_write\" is false"
+msgstr "true si \"cli.read_write\" est false"
+
+#: src/rougail/output_json/config.py:49
msgid "get value for a variable or a family"
msgstr "récupère la valeur pour une variable ou une famille"
+#: src/rougail/output_json/config.py:51
+msgid ""
+"By default, the entire configuration is exported as JSON. It is possible to "
+"retrieve variables values from a defined family or directly the value of a "
+"variable."
+msgstr ""
+"Par défaut toute la configuration est exporté en JSON. Il est possible de "
+"récupérer les valeurs de variables dans une famille défini ou directement "
+"la valeur d'une variable."
+
+#~ msgid "configuration rougail-json"
+#~ msgstr "configuration de rougail-json"
+
#~ msgid "display variables available in read_write mode"
#~ msgstr "affiche les variables valables en mode lecture écriture"
@@ -51,7 +89,8 @@ msgstr "récupère la valeur pour une variable ou une famille"
#~ msgstr "affiche les variables valables en mode lecture seul"
#~ msgid "do not test mandatories variables before display in json"
-#~ msgstr "ne pas tester les variables obligatoires avant de l'afficher en json"
+#~ msgstr ""
+#~ "ne pas tester les variables obligatoires avant de l'afficher en json"
#~ msgid "Undocumented variable"
#~ msgstr "Variable non documentée"
diff --git a/locale/rougail_output_json.pot b/locale/rougail_output_json.pot
index 94a7131..9430595 100644
--- a/locale/rougail_output_json.pot
+++ b/locale/rougail_output_json.pot
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2025-10-05 21:26+0200\n"
+"POT-Creation-Date: 2025-12-24 09:33+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -15,31 +15,51 @@ msgstr ""
"Generated-By: pygettext.py 1.5\n"
-#: src/rougail/output_json/__init__.py:48
+#: src/rougail/output_json/__init__.py:50
msgid "the \"step.output\" is not set to \"{0}\""
msgstr ""
-#: src/rougail/output_json/__init__.py:105
+#: src/rougail/output_json/__init__.py:111
msgid "Error in config: {0}"
msgstr ""
-#: src/rougail/output_json/__init__.py:115
+#: src/rougail/output_json/__init__.py:121
msgid "The following variables are mandatory but have no value:"
msgstr ""
-#: src/rougail/output_json/__init__.py:125
+#: src/rougail/output_json/__init__.py:131
msgid "The following variables are inaccessible but are empty and mandatory :"
msgstr ""
#: src/rougail/output_json/config.py:29
-msgid "configuration rougail-json"
+msgid "Export configuration to JSON format"
msgstr ""
-#: src/rougail/output_json/config.py:37
-msgid "test mandatories variables before display in json"
+#: src/rougail/output_json/config.py:31
+msgid "Exporting the configuration in JSON format makes it easier to process the configuration in an external tool, for example."
msgstr ""
-#: src/rougail/output_json/config.py:48
+#: src/rougail/output_json/config.py:36
+msgid "if json is not set in \"step.output\""
+msgstr ""
+
+#: src/rougail/output_json/config.py:39
+msgid "test mandatories variables before display in JSON"
+msgstr ""
+
+#: src/rougail/output_json/config.py:41
+msgid "The configuration must be valid before exporting the data to JSON format. It's better to validate the values at the beginning of the process."
+msgstr ""
+
+#: src/rougail/output_json/config.py:46
+msgid "true if \"cli.read_write\" is false"
+msgstr ""
+
+#: src/rougail/output_json/config.py:49
msgid "get value for a variable or a family"
msgstr ""
+#: src/rougail/output_json/config.py:51
+msgid "By default, the entire configuration is exported as JSON. It is possible to retrieve variables values from a defined family or directly the value of a variable."
+msgstr ""
+
diff --git a/src/rougail/output_json/config.py b/src/rougail/output_json/config.py
index 281461d..9247858 100644
--- a/src/rougail/output_json/config.py
+++ b/src/rougail/output_json/config.py
@@ -26,26 +26,32 @@ def get_rougail_config(
) -> dict:
options = f"""
json:
- description: {_('configuration rougail-json')}
+ description: {_('Export configuration to JSON format')}
+ help: |-
+ {_('Exporting the configuration in JSON format makes it easier to process the configuration in an external tool, for example.')}
disabled:
- jinja: |
- {{% if step.output is propertyerror or step.output != 'json' %}}
- disabled
- {{% endif %}}
+ jinja: |-
+ {{{{ step.output is propertyerror or step.output != 'json' }}}}
+ return_type: boolean
+ description: {_('if json is not set in "step.output"')}
mandatory:
- description: {_('test mandatories variables before display in json')}
+ description: {_('test mandatories variables before display in JSON')}
+ help: |-
+ {_("The configuration must be valid before exporting the data to JSON format. It's better to validate the values at the beginning of the process.")}
type: boolean
default:
jinja: |-
- {{% if cli.read_write is defined and cli.read_write %}}
- false
- {{% else %}}
- true
- {{% endif %}}
+ {{{{ cli.read_write is not defined or not cli.read_write }}}}
+ description: {_('true if "cli.read_write" is false')}
get:
description: {_('get value for a variable or a family')}
+ help: |-
+ {_('By default, the entire configuration is exported as JSON. It is possible to retrieve variables values from a defined family or directly the value of a variable.')}
+ examples:
+ - family
+ - family.variable
mandatory: false
"""
return {
diff --git a/src/rougail/output_json/locale/fr/LC_MESSAGES/rougail_output_json.mo b/src/rougail/output_json/locale/fr/LC_MESSAGES/rougail_output_json.mo
index bdd8690..5c87dbf 100644
Binary files a/src/rougail/output_json/locale/fr/LC_MESSAGES/rougail_output_json.mo and b/src/rougail/output_json/locale/fr/LC_MESSAGES/rougail_output_json.mo differ